blue-recorder/packaging/guix/blue-recorder.scm
2021-07-10 05:54:44 +02:00
Ask

1094 lines
39 KiB
Scheme

{e55446996896fa419cf75456a0385df4d773dff2 true 40301 blue-recorder.scm 0xc002b38150}

(define-module (blue-recorder)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (guix build-system gnu)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-gtk)
#:use-module (guix build-system copy)
#:use-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages llvm)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages video)
#:use-module (gnu packages xorg))
(define-public rust-rust-ini-0.16
(package
(name "rust-rust-ini")
(version "0.16.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rust-ini" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0qnyp96kslw5ivcf5a7dhiwbqpb72sh8rq40m81vbkiim54z5nyw"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-ordered-multimap" ,rust-ordered-multimap-0.3))))
(home-page "https://github.com/zonyitoo/rust-ini")
(synopsis "INI configuration file parsing library in Rust")
(description
"This package is an INI configuration file parsing library in Rust.")
(license license:expat)))
(define-public rust-subprocess-0.2
(package
(name "rust-subprocess")
(version "0.2.7")
(source
(origin
(method url-fetch)
(uri (crate-uri "subprocess" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1i6kbwggg36fwspybkyn9kwsy5azhg9g22aic2lrnlm2khgq0jrk"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-libc" ,rust-libc-0.2)
("rust-winapi" ,rust-winapi-0.3))
#:cargo-development-inputs
(("rust-tempdir" ,rust-tempdir-0.3)
("rust-lazy-static" ,rust-lazy-static-1))))
(home-page "https://github.com/hniksic/rust-subprocess")
(synopsis "Execution of child processes and pipelines.")
(description
"Execution of child processes and pipelines, inspired by Python's subprocess
module, with Rust-specific extensions.")
(license (list license:asl2.0 license:expat))))
(define-public rust-enumflags2-derive-0.6
(package
(name "rust-enumflags2-derive")
(version "0.6.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "enumflags2-derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1kkcwi4n76bi1c16ms00dyk4d393gdf29kpr4k9zsn5z7m7fjvll"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-syn" ,rust-syn-1)
("rust-quote" ,rust-quote-1)
("rust-proc-macro2" ,rust-proc-macro2-1))))
(home-page "https://github.com/NieDzejkob/enumflags2")
(synopsis "Implements the classic bitflags datastructure.")
(description
"Enumflags2 implements the classic bitflags datastructure.")
(license (list license:asl2.0 license:expat))))
(define-public rust-enumflags2-0.6
(package
(name "rust-enumflags2")
(version "0.6.4")
(source
(origin
(method url-fetch)
(uri (crate-uri "enumflags2" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "182xd6cxxmadx1axnz6x73d12pzgwkc712zq2lxd4z1k48lxij43"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-enumflags2-derive" ,rust-enumflags2-derive-0.6)
("rust-serde" ,rust-serde-1))))
(home-page "https://github.com/NieDzejkob/enumflags2")
(synopsis "Implements the classic bitflags datastructure.")
(description
"Enumflags2 implements the classic bitflags datastructure.")
(license (list license:asl2.0 license:expat))))
(define-public rust-simple-logger-1
(package
(name "rust-simple-logger")
(version "1.11.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "simple-logger" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "166iy6lxkf23am37aiyn104j8wfxmz59mp4r2i51vb9y15yg2myd"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-chrono" ,rust-chrono-0.4)
("rust-colored" ,rust-colored-1)
("rust-log" ,rust-log-0.4))))
(home-page "https://github.com/borntyping/rust-simple-logger")
(synopsis "A logger that prints all messages with a readable output format.")
(description
"A logger that prints all messages with a readable output format.")
(license license:expat)))
(define-public rust-serde-xml-rs-0.4
(package
(name "rust-serde-xml-rs")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "serde-xml-rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1ykx1xkfd59gf0ijnp93xhpd457xy4zi8xv2hrr0ikvcd6h1pgzh"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-test-flags '("--release" "--" "--skip=doctype")
#:cargo-inputs
(("rust-log" ,rust-log-0.4)
("rust-serde" ,rust-serde-1)
("rust-xml-rs" ,rust-xml-rs-0.8)
("rust-thiserror" ,rust-thiserror-1))
#:cargo-development-inputs
(("rust-simple-logger" ,rust-simple-logger-1)
("rust-serde-derive" ,rust-serde-derive-1)
("rust-docmatic" ,rust-docmatic-0.1))))
(home-page "https://github.com/RReverser/serde-xml-rs")
(synopsis "Deserializer for Serde")
(description
"xml-rs based deserializer for Serde (compatible with 0.9+)")
(license license:expat)))
(define-public rust-zvariant-derive-2
(package
(name "rust-zvariant-derive")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "zvariant-derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1kba1ynzcfch41wnvyn7y53rq6h8f7k6mwhwkdqra9m2yxk7qclg"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-syn" ,rust-syn-1)
("rust-quote" ,rust-quote-1)
("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1))
#:cargo-development-inputs
(("rust-zvariant" ,rust-zvariant-2)
("rust-enumflags2" ,rust-enumflags2-0.6)
("rust-serde" ,rust-serde-1)
("rust-serde-repr" ,rust-serde-repr-0.1))))
(home-page "https://gitlab.freedesktop.org/levans/zbus")
(synopsis "A Rust API for D-Bus communication.")
(description
"A Rust API for D-Bus communication. The aim is to provide a safe and simple high- and low-level API akin to
GDBus, that doesn't depend on C libraries.")
(license license:expat)))
(define-public rust-zvariant-2
(package
(name "rust-zvariant")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "zvariant" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "19014ayd9k151zhxxm0sjqp5psjrjcmd2qb01narmmpgv5wbb2yc"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f
#:cargo-inputs
(("rust-byteorder" ,rust-byteorder-1)
("rust-serde" ,rust-serde-1)
("rust-criterion" ,rust-criterion-0.3)
("rust-enumflags2" ,rust-enumflags2-0.6)
("rust-zvariant-derive" ,rust-zvariant-derive-2))
#:cargo-development-inputs
(("rust-serde-json" ,rust-serde-json-1)
("rust-serde-repr" ,rust-serde-repr-0.1)
("rust-glib" ,rust-glib-0.10)
("rust-rand" ,rust-rand-0.7))))
(home-page "https://gitlab.freedesktop.org/levans/zbus")
(synopsis "A Rust API for D-Bus communication.")
(description
"A Rust API for D-Bus communication. The aim is to provide a safe and simple high- and low-level API akin to
GDBus, that doesn't depend on C libraries.")
(license license:expat)))
(define-public rust-ntest-0.7
(package
(name "rust-ntest")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "ntest" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0kkk30ixlvfc97gpdjfv5584qmkhgx3mnphqf6rl2sxfckzxrg5k"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-ntest-test-cases" ,rust-ntest-test-cases-0.7)
("rust-ntest-timeout" ,rust-ntest-timeout-0.7)
("rust-ntest-proc-macro-helper" ,rust-ntest-proc-macro-helper-0.7)
("rust-timebomb" ,rust-timebomb-0.1))
#:cargo-development-inputs
(("rust-ntest-test-cases" ,rust-ntest-test-cases-0.7)
("rust-ntest-timeout" ,rust-ntest-timeout-0.7)
("rust-timebomb" ,rust-timebomb-0.1))))
(home-page "https://github.com/becheran/ntest")
(synopsis "Testing framework for Rust")
(description "This package provides a testing framework for Rust which
enhances the built-in library with some useful features.")
(license license:expat)))
(define-public rust-ntest-proc-macro-helper-0.7
(package
(name "rust-ntest-proc-macro-helper")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "ntest-proc-macro-helper" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0xkyp5yc91bc3bc8441sjgdia3l6g7nclhy53nq5zw2fk3q6ww3y"))))
(build-system cargo-build-system)
(home-page "https://github.com/becheran/ntest")
(synopsis "Testing framework for Rust")
(description "This package provides a testing framework for Rust which
enhances the built-in library with some useful features.")
(license license:expat)))
(define-public rust-ntest-test-cases-0.7
(package
(name "rust-ntest-test-cases")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "ntest_test_cases" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0d1h1w33sznc1y3l0ka5xa1mpznn8qqxjv3s5qi9y2fs7091fcvz"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1))))
(home-page "https://github.com/becheran/ntest")
(synopsis "Test cases for ntest framework")
(description "This package provides test cases for ntest framework.")
(license license:expat)))
(define-public rust-ntest-timeout-0.7
(package
(name "rust-ntest-timeout")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "ntest_timeout" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"026isn882xadp9c0pcfzhiz01zj7qn31mkmgcbmy8x3gd4dqx7rr"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1)
("rust-timebomb" ,rust-timebomb-0.1))))
(home-page "https://github.com/becheran/ntest")
(synopsis "Timeout attribute for the ntest framework")
(description "This package provides a timeout attribute for the ntest
framework.")
(license license:expat)))
(define-public rust-doc-comment-0.3
(package
(name "rust-doc-comment")
(version "0.3.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "doc-comment" version))
(file-name (string-append name "-" version ".crate"))
(sha256
(base32
"043sprsf3wl926zmck1bm7gw0jq50mb76lkpk49vasfr6ax1p97y"))))
(build-system cargo-build-system)
(arguments '(#:skip-build? #t))
(home-page "https://github.com/GuillaumeGomez/doc-comment")
(synopsis "Macro to generate doc comments")
(description "This package provides a way to generate doc comments
from macros.")
(license license:expat)))
(define-public rust-zbus-macros-1
(package
(name "rust-zbus-macros")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "zbus-macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0c093vxdly5v7hy8z7i9z5l3j79ris0g3bcv6pplnf3jv8f19k47"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-syn" ,rust-syn-1)
("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1))
#:cargo-development-inputs
(("rust-zvariant" ,rust-zvariant-2)
("rust-zbus" ,rust-zbus-1)
("rust-serde" ,rust-serde-1)
("rust-trybuild" ,rust-trybuild-1))))
(home-page "https://gitlab.freedesktop.org/levans/zbus")
(synopsis "A Rust API for D-Bus communication.")
(description
"A Rust API for D-Bus communication. The aim is to provide a safe and simple high- and low-level API akin to
GDBus, that doesn't depend on C libraries.")
(license license:expat)))
(define-public rust-zbus-polkit-1
(package
(name "rust-zbus-polkit")
(version "1.0.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "zbus-polkit" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "09nvf1mgdpbj27cnwbjrj1pajmxbp11gh4j4s3k0p7iaa23ab1ns"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-zvariant" ,rust-zvariant-2)
("rust-zbus" ,rust-zbus-1)
("rust-serde-repr" ,rust-serde-repr-0.1)
("rust-enumflags2" ,rust-enumflags2-0.6))))
(home-page "https://gitlab.freedesktop.org/levans/zbus")
(synopsis "A Rust API for D-Bus communication.")
(description
"A Rust API for D-Bus communication. The aim is to provide a safe and simple high- and low-level API akin to
GDBus, that doesn't depend on C libraries.")
(license license:expat)))
(define-public rust-zbus-1
(package
(name "rust-zbus")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "zbus" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1a023ykgvavp28p5zzgxl14lj639p4vhqpypmqr4xvfs76md9d20"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #false
#:cargo-inputs
(("rust-byteorder" ,rust-byteorder-1)
("rust-nix" ,rust-nix-0.17)
("rust-serde" ,rust-serde-1)
("rust-serde-repr" ,rust-serde-repr-0.1)
("rust-serde-xml-rs" ,rust-serde-xml-rs-0.4)
("rust-zvariant" ,rust-zvariant-2)
("rust-zbus-macros" ,rust-zbus-macros-1)
("rust-enumflags2" ,rust-enumflags2-0.6)
("rust-derivative" ,rust-derivative-2)
("rust-scoped-tls" ,rust-scoped-tls-1)
("rust-fastrand" ,rust-fastrand-1)
("rust-once-cell" ,rust-once-cell-1)
("rust-async-io" ,rust-async-io-1)
("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1))
#:cargo-development-inputs
(("rust-zbus-polkit" ,rust-zbus-polkit-1)
("rust-doc-comment" ,rust-doc-comment-0.3)
("rust-ntest" ,rust-ntest-0.7))))
(home-page "https://gitlab.freedesktop.org/levans/zbus")
(synopsis "A Rust API for D-Bus communication.")
(description
"A Rust API for D-Bus communication. The aim is to provide a safe and simple high- and low-level API akin to
GDBus, that doesn't depend on C libraries.")
(license license:expat)))
(define-public rust-gtk-0.9
(package
(name "rust-gtk")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gtk" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "17gab15byxfhmzq2ax7nd6aay611l7gjxqysykjdb1m6gggnmprs"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-atk" ,rust-atk-0.9)
("rust-bitflags" ,rust-bitflags-1)
("rust-cairo-rs" ,rust-cairo-rs-0.9)
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
("rust-cc" ,rust-cc-1)
("rust-gdk" ,rust-gdk-0.13)
("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
("rust-gdk-sys" ,rust-gdk-sys-0.9)
("rust-gio" ,rust-gio-0.8)
("rust-gio-sys" ,rust-gio-sys-0.9)
("rust-glib" ,rust-glib-0.9)
("rust-glib-sys" ,rust-glib-sys-0.9)
("rust-gobject-sys" ,rust-gobject-sys-0.9)
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
("rust-gtk-sys" ,rust-gtk-sys-0.10)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-libc" ,rust-libc-0.2)
("rust-pango" ,rust-pango-0.8)
("rust-pango-sys" ,rust-pango-sys-0.9))
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(inputs
`(("atk" ,atk)
("cairo" ,cairo)
("glib" ,glib)
("gtk+" ,gtk+)
("pango" ,pango)))
(home-page "https://gtk-rs.org/")
(synopsis "Rust bindings for the GTK+ 3 library")
(description "This package provides Rust bindings for the GTK+ 3 library.")
(license license:expat)))
(define-public rust-atk-0.9
(package
(name "rust-atk")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "atk" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "09n46zp8jgxspdzhmi93cag79jjnr0ila94n8nr53g8hw88ljaw1"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-atk-sys" ,rust-atk-sys-0.10)
("rust-bitflags" ,rust-bitflags-1)
("rust-glib" ,rust-glib-0.9)
("rust-glib-sys" ,rust-glib-sys-0.9)
("rust-gobject-sys" ,rust-gobject-sys-0.9)
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
("rust-libc" ,rust-libc-0.2))
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(inputs
`(("atk" ,atk)
("glib" ,glib)))
(home-page "https://gtk-rs.org/")
(synopsis "Rust bindings for the ATK library")
(description "Rust bindings for the ATK library")
(license license:expat)))
(define-public rust-gtk-sys-0.10
(package
(name "rust-gtk-sys")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gtk-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0mq4i161kk6dwiz19ayxgm9fhx7n3r5lm9lbjiyk0qs811pxmb49"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;missing files
#:cargo-inputs
(("rust-atk-sys" ,rust-atk-sys-0.10)
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
("rust-gdk-sys" ,rust-gdk-sys-0.9)
("rust-gio-sys" ,rust-gio-sys-0.9)
("rust-glib-sys" ,rust-glib-sys-0.9)
("rust-gobject-sys" ,rust-gobject-sys-0.9)
("rust-libc" ,rust-libc-0.2)
("rust-pango-sys" ,rust-pango-sys-0.9)
("rust-pkg-config" ,rust-pkg-config-0.3))
#:cargo-development-inputs
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
`(("gtk+" ,gtk+)))
(home-page "https://gtk-rs.org/")
(synopsis "FFI bindings to libgtk-3")
(description "This package provides FFI bindings to libgtk-3.")
(license license:expat)))
(define-public rust-gtk-sys-0.10
(package
(name "rust-gtk-sys")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gtk-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0mq4i161kk6dwiz19ayxgm9fhx7n3r5lm9lbjiyk0qs811pxmb49"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;missing files
#:cargo-inputs
(("rust-atk-sys" ,rust-atk-sys-0.10)
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
("rust-gdk-sys" ,rust-gdk-sys-0.9)
("rust-gio-sys" ,rust-gio-sys-0.9)
("rust-glib-sys" ,rust-glib-sys-0.9)
("rust-gobject-sys" ,rust-gobject-sys-0.9)
("rust-libc" ,rust-libc-0.2)
("rust-pango-sys" ,rust-pango-sys-0.9)
("rust-pkg-config" ,rust-pkg-config-0.3))
#:cargo-development-inputs
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
`(("gtk+" ,gtk+)))
(home-page "https://gtk-rs.org/")
(synopsis "FFI bindings to libgtk-3")
(description "This package provides FFI bindings to libgtk-3.")
(license license:expat)))
(define-public rust-atk-sys-0.10
(package
(name "rust-atk-sys")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "atk-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1knzvq2jdkx1nav619jbqsx2ivzh901rsp2wl57wr50x2fpy8c7m"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;missing files
#:cargo-inputs
(("rust-glib-sys" ,rust-glib-sys-0.9)
("rust-gobject-sys" ,rust-gobject-sys-0.9)
("rust-libc" ,rust-libc-0.2)
("rust-pkg-config" ,rust-pkg-config-0.3))
#:cargo-development-inputs
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
`(("atk" ,atk)
("glib" ,glib)))
(home-page "https://gtk-rs.org/")
(synopsis "FFI bindings to libatk-1")
(description "FFI bindings to libatk-1")
(license license:expat)))
(define-public rust-gtk-0.9
(package
(name "rust-gtk")
(version "0.9.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gtk" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "17gab15byxfhmzq2ax7nd6aay611l7gjxqysykjdb1m6gggnmprs"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-atk" ,rust-atk-0.9)
("rust-bitflags" ,rust-bitflags-1)
("rust-cairo-rs" ,rust-cairo-rs-0.9)
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
("rust-cc" ,rust-cc-1)
("rust-gdk" ,rust-gdk-0.13)
("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
("rust-gdk-sys" ,rust-gdk-sys-0.9)
("rust-gio" ,rust-gio-0.8)
("rust-gio-sys" ,rust-gio-sys-0.9)
("rust-glib" ,rust-glib-0.9)
("rust-glib-sys" ,rust-glib-sys-0.9)
("rust-gobject-sys" ,rust-gobject-sys-0.9)
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
("rust-gtk-sys" ,rust-gtk-sys-0.10)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-libc" ,rust-libc-0.2)
("rust-pango" ,rust-pango-0.8)
("rust-pango-sys" ,rust-pango-sys-0.9))
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(inputs
`(("atk" ,atk)
("cairo" ,cairo)
("glib" ,glib)
("gtk+" ,gtk+)
("pango" ,pango)))
(home-page "https://gtk-rs.org/")
(synopsis "Rust bindings for the GTK+ 3 library")
(description "This package provides Rust bindings for the GTK+ 3 library.")
(license license:expat)))
(define-public rust-libappindicator-sys-0.5
(package
(name "rust-libappindicator-sys")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "libappindicator-sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"07b5r3wy5kq4x3zsmgbgmz2645yr5fyy1finkbsj3cbc38hbl6cp"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-gtk-sys" ,rust-gtk-sys-0.10)
("rust-bindgen" ,rust-bindgen-0.52)
("rust-pkg-config" ,rust-pkg-config-0.3))))
(home-page "https://github.com/qdot/libappindicator-sys")
(synopsis "Bindings for the libappindicator library.")
(description "Bindings for the libappindicator library. libappindicator provides
cross-distribution/window system functions for creating systray icons and menus.")
(license license:lgpl3+)))
(define-public rust-libappindicator-0.5
(package
(name "rust-libappindicator")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "libappindicator" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0dyhb5gh2srhaq8v6nrcds4qsqibkpgkh53lypxf4l1z6mbzrlsj"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-gtk" ,rust-gtk-0.9)
("rust-glib" ,rust-glib-0.10)
("rust-log" ,rust-log-0.4)
("rust-gtk-sys" ,rust-gtk-sys-0.10)
("rust-libappindicator-sys" ,rust-libappindicator-sys-0.5))))
(home-page "https://github.com/qdot/libappindicator-rs")
(synopsis "Bindings for the libappindicator library.")
(description "Bindings for the libappindicator library. libappindicator provides
cross-distribution/window system functions for creating systray icons and menus.")
(license license:lgpl3+)))
(define-public rust-dlv-list-0.2
(package
(name "rus-dlv-list")
(version "0.2.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "dlv-list" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0v42n28mx9r6vr43dsqkh5dgvb9m0wyjp7fb20m331m7p48ijf8v"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
;;unable to build rust-rand-0.7
;;(("rust-rand" ,rust-rand-0.7))))
(("rust-rand" ,rust-my-rand-0.7))))
(home-page "https://github.com/sgodwincs/dlv-list-rs")
(synopsis "Semi-doubly linked list implemented using a vector.")
(description "Semi-doubly linked list implemented using a vector.")
(license license:expat)))
(define-public rust-ordered-multimap-0.3
(package
(name "rust-ordered-multimap")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "ordered-multimap" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1194q7sb2d6chbllsn7237dhhvx04iqr3sq0ii16w1pcv5x2qrqw"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-dlv-list" ,rust-dlv-list-0.2)
("rust-hashbrown" ,rust-hashbrown-0.9)
("rust-serde" ,rust-serde-1))))
(home-page "https://github.com/sgodwincs/ordered-multimap-rs")
(synopsis "This is a multimap meaning that multiple values can be associated with a given key")
(description "Currently, this crate contains a single type ListOrderedMultimap. This is a multimap
meaning that multiple values can be associated with a given key,
but it also maintains insertion order across all keys and values.")
(license license:expat)))
;;unable to build rust-gdk-0.13 from crates-gtk.scm
(define-public rust-my-gdk-0.13
(package
(name "rust-gdk")
(version "0.13.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "gdk" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0zbb9bwg2z9vlcjj9b59qch3mfmszsrxya7syc5a39v85adq606v"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
;;unable to build rust-cairo-rs-0.9
;;("rust-cairo-rs" ,rust-cairo-rs-0.9)
("rust-cairo-rs" ,rust-my-cairo-rs-0.9)
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
("rust-gdk-sys" ,rust-gdk-sys-0.10)
("rust-gio" ,rust-gio-0.9)
("rust-gio-sys" ,rust-gio-sys-0.10)
("rust-glib" ,rust-glib-0.10)
("rust-glib-sys" ,rust-glib-sys-0.10)
("rust-gobject-sys" ,rust-gobject-sys-0.10)
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
("rust-libc" ,rust-libc-0.2)
("rust-pango" ,rust-pango-0.9))
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(inputs
`(("cairo" ,cairo)
("gdk-pixbuf" ,gdk-pixbuf)
("glib" ,glib)
("gtk+" ,gtk+)
("pango" ,pango)))
(home-page "https://gtk-rs.org/")
(synopsis "Rust bindings for the GDK 3 library")
(description "This package provides Rust bindings for the GDK 3 library.")
(license license:expat)))
;;unable to build rust-cairo-rs-0.9
(define-public rust-my-cairo-rs-0.9
(package
(name "rust-cairo-rs")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "cairo-rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1f5x6ipfpzz0ffph0pg0xfkdfcbr0jp59714zz857jp88zhg5h65"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
;;unable to build rust-cairo-sys-rs-0.10
;;("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
("rust-cairo-sys-rs" ,rust-my-cairo-sys-rs-0.10)
("rust-glib" ,rust-glib-0.10)
("rust-glib-sys" ,rust-glib-sys-0.10)
("rust-gobject-sys" ,rust-gobject-sys-0.10)
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
("rust-libc" ,rust-libc-0.2)
("rust-thiserror" ,rust-thiserror-1))
#:cargo-development-inputs
(("rust-tempfile" ,rust-tempfile-3))))
(inputs
`(("cairo" ,cairo)))
(home-page "https://gtk-rs.org/")
(synopsis "Rust bindings for the Cairo library")
(description "Rust bindings for the Cairo library")
(license license:expat)))
;;unable to build rust-cairo-sys-rs-0.10
(define-public rust-my-cairo-sys-rs-0.10
(package
(name "rust-cairo-sys-rs")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "cairo-sys-rs" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "19wch8zc11hbi724mn16hhqyff8kw5c5bsbdlzpxdwfmkadn7lif"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-glib-sys" ,rust-glib-sys-0.10)
("rust-libc" ,rust-libc-0.2)
;;unable to build rust-system-deps-1
;;("rust-system-deps" ,rust-system-deps-1)
("rust-system-deps" ,rust-my-system-deps-1)
("rust-winapi" ,rust-winapi-0.3)
("rust-x11" ,rust-x11-2))))
(inputs
`(("cairo" ,cairo)))
(home-page "https://gtk-rs.org/")
(synopsis "FFI bindings to libcairo")
(description "This package provides FFI bindings to libcairo.")
(license license:expat)))
;;unable to build rust-system-deps-1
(define-public rust-my-system-deps-1
(package
(name "rust-system-deps")
(version "1.3.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "system-deps" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "16v4ljmj8sj030mdcc1yk615vciqlyxi7csq6lxka6cs4qbwqghg"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ;source is missing some test files
#:cargo-inputs
(("rust-heck" ,rust-heck-0.3)
("rust-pkg-config" ,rust-pkg-config-0.3)
("rust-strum" ,rust-strum-0.18)
("rust-strum-macros" ,rust-strum-macros-0.18)
("rust-thiserror" ,rust-thiserror-1)
("rust-toml" ,rust-toml-0.5)
;;unable to build rust-version-compare-0.0
;;("rust-version-compare" ,rust-version-compare-0.0))
("rust-version-compare" ,rust-my-version-compare-0.0))
#:cargo-development-inputs
(("rust-itertools" ,rust-itertools-0.9))))
(home-page "https://github.com/gdesmott/system-deps")
(synopsis "Define system dependencies in @file{Cargo.toml}")
(description
"This crate lets you write system dependencies in @file{Cargo.toml}
metadata, rather than programmatically in @file{build.rs}. This makes those
dependencies declarative, so other tools can read them as well.")
(license (list license:expat license:asl2.0))))
;;unable to build rust-version-compare-0.0
(define-public rust-my-version-compare-0.0
(package
(name "rust-version-compare")
(version "0.0.10")
(source
(origin
(method url-fetch)
(uri (crate-uri "version-compare" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32 "18ack6rx18rp700h1dncljmpzchs3p2dfh76a8ds6vmfbfi5cdfn"))))
(build-system cargo-build-system)
(home-page "https://github.com/timvisee/version-compare")
(synopsis "Rust library to easily compare version numbers")
(description
"This package provides a Rust library to easily compare version
numbers, and test them against various comparison operators.")
(license license:expat)))
;;unable to build rust-rand-0.7
(define-public rust-my-rand-0.7
(package
(name "rust-rand")
(version "0.7.3")
(source
(origin
(method url-fetch)
(uri (crate-uri "rand" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"00sdaimkbz491qgi6qxkv582yivl32m2jd401kzbn94vsiwicsva"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-getrandom" ,rust-getrandom-0.1)
("rust-libc" ,rust-libc-0.2)
("rust-log" ,rust-log-0.4)
("rust-packed-simd" ,rust-packed-simd-0.3)
("rust-rand-chacha" ,rust-rand-chacha-0.2)
("rust-rand-core" ,rust-rand-core-0.5)
("rust-rand-hc" ,rust-rand-hc-0.2)
("rust-rand-pcg" ,rust-rand-pcg-0.2))
#:cargo-development-inputs
(("rust-rand-hc" ,rust-rand-hc-0.2)
("rust-rand-pcg" ,rust-rand-pcg-0.2))))
(home-page "https://crates.io/crates/rand")
(synopsis "Random number generators and other randomness functionality")
(description
"Rand provides utilities to generate random numbers, to convert them to
useful types and distributions, and some randomness-related algorithms.")
(license (list license:expat license:asl2.0))))
(define-public rust-gettext-rs-0.7
(package
(name "rust-gettext-rs")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gettext-rs" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"0r7kahqcjrkm83d3gzzkn83fnw2bnqj2ank5z6hsm66izalai7p4"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-gettext-sys" ,rust-gettext-sys-0.21)
("rust-locale-config" ,rust-locale-config-0.3))))
(inputs
`(("gettext" ,gettext-minimal)))
(home-page "https://github.com/Koka/gettext-rs")
(synopsis "GNU Gettext FFI binding for Rust")
(description "This package provides GNU Gettext FFI bindings for Rust.")
(license license:expat)))
(define-public rust-gettext-sys-0.21
(package
(name "rust-gettext-sys")
(version "0.21.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gettext-sys" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"105d5zh67yc5vyzmqxdw7hx82h606ca6rzhsfjgzjczn2s012pc8"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-cc" ,rust-cc-1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
`(("gettext" ,gettext-minimal)))
(home-page "https://github.com/Koka/gettext-rs")
(synopsis "Gettext raw FFI bindings")
(description "This package provides raw FFI bindings for GNU Gettext.")
(license license:expat)))
(define-public blue-recorder
(let ((version "1.3.2")
(commit "d67dc8882ae446feca9cc44076f0839a0aeb845c"))
(package
(name "blue-recorder")
(version (git-version version "+4commits" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/xlmnxp/blue-recorder/")
(commit commit)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"0q6af66bw6qqrr99gw09750hmd63d1d5zaalrmbk3jqf8kmyzkaa"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-chrono" ,rust-chrono-0.4)
("rust-regex" ,rust-regex-1)
("rust-libappindicator" ,rust-libappindicator-0.5)
("rust-rust-ini" ,rust-rust-ini-0.16)
("rust-subprocess" ,rust-subprocess-0.2)
;;("rust-gdk" ,rust-gdk-0.13)
;;unable to build rust-gdk-0.13 from crates-gtk.scm
("rust-gdk" ,rust-my-gdk-0.13)
("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
("rust-gettext-rs" ,rust-gettext-rs-0.7)
("rust-gio" ,rust-gio-0.9)
("rust-glib" ,rust-glib-0.10)
("rust-gtk" ,rust-gtk-0.9)
("rust-zbus" ,rust-zbus-1)
("rust-zvariant" ,rust-zvariant-2))
#:phases
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(share (string-append out "/share"))
(icons (string-append share "/icons/hicolor/scalable/apps"))
(blue-recorder "target/release/blue-recorder"))
;; Install the executable.
(install-file blue-recorder bin)
;; Install desktop file.
(install-file "data/blue-recorder.desktop"
(string-append share "/applications"))
;; Install interfaces file.
(install-file "interfaces/main.ui"
(string-append bin "/interfaces"))
;; Install icon.
(mkdir-p icons)
(copy-file "data/blue-recorder.svg"
(string-append icons "/blue-recorder.svg"))
;; Install po.
(copy-recursively "po"
(string-append bin "/po"))
;; Install data.
(copy-recursively "data"
(string-append bin "/data"))
#t))))))
(native-inputs
`(("clang" ,clang)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("ffmpeg" ,ffmpeg)
("libappindicator" ,libappindicator)
("gtk+" ,gtk+)
("xwininfo" ,xwininfo)
("pulseaudio" ,pulseaudio)))
(synopsis "A simple screen recorder for Linux desktop.")
(description "A simple desktop recorder for Linux systems. Built using Rust, GTK+ 3 and ffmpeg. It supports
recording audio and video on almost all Linux interfaces with support for Wayland display server on GNOME session.")
(home-page "https://github.com/xlmnxp/blue-recorder")
(license license:gpl3+))))
blue-recorder