From 521eb2ca601e933bfadf39f2a0a2d5a99ac0be45 Mon Sep 17 00:00:00 2001 From: Divya Ranjan Date: Fri, 13 Dec 2024 12:10:29 +0000 Subject: [PATCH] Update package definition for Guix (#85) --- packaging/guix/blue-recorder.scm | 1514 +++++++++--------------------- 1 file changed, 461 insertions(+), 1053 deletions(-) diff --git a/packaging/guix/blue-recorder.scm b/packaging/guix/blue-recorder.scm index e554469..2f3bf40 100644 --- a/packaging/guix/blue-recorder.scm +++ b/packaging/guix/blue-recorder.scm @@ -1,1093 +1,501 @@ -(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-module + (blue-recorder) + #:use-module + ((guix licenses) #:prefix license:) + #:use-module + (guix build-system cargo) + #:use-module + (guix download) + #:use-module + (guix git-download) + #:use-module + (guix packages) + #:use-module + (gnu packages pkg-config) + #:use-module + (gnu packages bash) + #:use-module + (gnu packages glib) + #:use-module + (gnu packages gtk) + #:use-module + (gnu packages gstreamer) + #:use-module + (gnu packages gettext) + #:use-module + (gnu packages pulseaudio) + #:use-module + (gnu packages freedesktop) + #:use-module + (gnu packages video) + #:use-module + (gnu packages base) + #:use-module + (gnu packages autotools) + #:use-module + (gnu packages llvm) + #:use-module + (gnu packages xorg) + #:use-module + (gnu packages compression) + #:use-module + (guix gexp) + #:use-module + (gnu packages crates-windows) + #:use-module + (gnu packages crates-crypto) + #:use-module + (gnu packages crates-gtk) + #:use-module + (gnu packages crates-apple) + #:use-module + (gnu packages crates-graphics) + #:use-module + (gnu packages crates-io)) -(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 +(define rust-atk-sys-0.15 (package (name "rust-atk-sys") - (version "0.10.0") + (version "0.15.1") (source - (origin - (method url-fetch) - (uri (crate-uri "atk-sys" version)) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1knzvq2jdkx1nav619jbqsx2ivzh901rsp2wl57wr50x2fpy8c7m")))) + (origin + (method url-fetch) + (uri (crate-uri "atk-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dmg7aq3f533cczkhcyyp929daqpwdz1r5w9h3dhd3k9zf4v1bjq")))) (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))) + `(#:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.15) + ("rust-gobject-sys" ,rust-gobject-sys-0.15) + ("rust-libc" ,rust-libc-0.2) + ("rust-system-deps" ,rust-system-deps-6)))) (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.") + "This package provides FFI bindings to libatk-1.") (license license:expat))) -;;unable to build rust-rand-0.7 -(define-public rust-my-rand-0.7 +(define rust-gdk-sys-0.15 (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") + (name "rust-gdk-sys") + (version "0.15.1") (source (origin (method url-fetch) - (uri (crate-uri "gettext-rs" version)) + (uri (crate-uri "gdk-sys" version)) (file-name - (string-append name "-" version ".tar.gz")) + (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "0r7kahqcjrkm83d3gzzkn83fnw2bnqj2ank5z6hsm66izalai7p4")))) + (base32 + "121s0wk24kflj7m13g578gvqj5lcgdvimrdpgwbz81lg3s6a1rrj")))) (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.") + `(#:cargo-inputs + (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20) + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15) + ("rust-gio-sys" ,rust-gio-sys-0.15) + ("rust-glib-sys" ,rust-glib-sys-0.15) + ("rust-gobject-sys" ,rust-gobject-sys-0.15) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.15) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-system-deps" ,rust-system-deps-6)))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgdk-3") + (description + "This package provides FFI bindings to libgdk-3.") (license license:expat))) -(define-public rust-gettext-sys-0.21 +(define rust-gdk4-0.4 (package - (name "rust-gettext-sys") - (version "0.21.0") + (name "rust-gdk4") + (version "0.4.8") (source (origin (method url-fetch) - (uri (crate-uri "gettext-sys" version)) + (uri (crate-uri "gdk4" version)) (file-name - (string-append name "-" version ".tar.gz")) + (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "105d5zh67yc5vyzmqxdw7hx82h606ca6rzhsfjgzjczn2s012pc8")))) + (base32 + "0xh8b3ms20xmmp2gkvrfmsljggy0s2avp2nnln2v09iwhk7vgasg")))) (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.") + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.15) + ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.15) + ("rust-gdk4-sys" ,rust-gdk4-sys-0.4) + ("rust-gio" ,rust-gio-0.15) + ("rust-glib" ,rust-glib-0.15) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango" ,rust-pango-0.15)))) + (home-page "https://gtk-rs.org/gtk4-rs") + (synopsis "Rust bindings of the GDK 4 library") + (description + "This package provides Rust bindings of the GDK 4 library.") + (license license:expat))) + + +(define rust-gdk4-sys-0.4 + (package + (name "rust-gdk4-sys") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "gdk4-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wnfv62n9dmpzg9rpy3hj1aldpkkavyans9zzymsw02w9ysdrrzg")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20) + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15) + ("rust-gio-sys" ,rust-gio-sys-0.15) + ("rust-glib-sys" ,rust-glib-sys-0.15) + ("rust-gobject-sys" ,rust-gobject-sys-0.15) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.15) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-system-deps" ,rust-system-deps-6)))) + (home-page "https://gtk-rs.org/gtk4-rs") + (synopsis "FFI bindings of GDK 4") + (description + "This package provides FFI bindings of GDK 4.") + (license license:expat))) + +(define rust-graphene-rs-0.15 + (package + (name "rust-graphene-rs") + (version "0.15.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "graphene-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0w2mz098dr8mlz18ssmlnln1x6c3byizqbc9kz4n5nzgpvxzjm3w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glib" ,rust-glib-0.15) + ("rust-graphene-sys" ,rust-graphene-sys-0.15) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://gtk-rs.org/") + (synopsis + "Rust bindings for the Graphene library") + (description + "This package provides Rust bindings for the Graphene library.") + (license license:expat))) + +(define rust-graphene-sys-0.15 + (package + (name "rust-graphene-sys") + (version "0.15.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "graphene-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12h2qcdhvzxhkc75fqkky6rz212wp2yc6mgvk9cxz8bv6g3iysgs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-glib-sys" ,rust-glib-sys-0.15) + ("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-system-deps" ,rust-system-deps-6)))) + (home-page "https://gtk-rs.org/") + (synopsis "FFI bindings to libgraphene-1.0") + (description + "This package provides FFI bindings to libgraphene-1.0.") + (license license:expat))) + +(define rust-gsk4-0.4 + (package + (name "rust-gsk4") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "gsk4" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1r0vnrgdpkavxkq67bgixcp72l4vz9dlk5nl72mb701j6c6h5s85")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.15) + ("rust-gdk4" ,rust-gdk4-0.4) + ("rust-glib" ,rust-glib-0.15) + ("rust-graphene-rs" ,rust-graphene-rs-0.15) + ("rust-gsk4-sys" ,rust-gsk4-sys-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango" ,rust-pango-0.15)))) + (home-page "https://gtk-rs.org/gtk4-rs") + (synopsis "Rust bindings of the GSK 4 library") + (description + "This package provides Rust bindings of the GSK 4 library.") + (license license:expat))) + +(define rust-gsk4-sys-0.4 + (package + (name "rust-gsk4-sys") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "gsk4-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sizv9dy5ch1nxmfmdb3xm35q10zr7fa4hw6hf650y00yv63kpbs")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20) + ("rust-gdk4-sys" ,rust-gdk4-sys-0.4) + ("rust-glib-sys" ,rust-glib-sys-0.15) + ("rust-gobject-sys" ,rust-gobject-sys-0.15) + ("rust-graphene-sys" ,rust-graphene-sys-0.15) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.15) + ("rust-system-deps" ,rust-system-deps-6)))) + (home-page "https://gtk-rs.org/gtk4-rs") + (synopsis "FFI bindings of GSK 4") + (description + "This package provides FFI bindings of GSK 4.") + (license license:expat))) + +(define rust-gtk-sys-0.15 + (package + (name "rust-gtk-sys") + (version "0.15.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "gtk-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "113wp3x7xh2zjv8i5pn3mcz77yr5zq8wm8260bv4g8nbhw2jzg6m")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-atk-sys" ,rust-atk-sys-0.15) + ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20) + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15) + ("rust-gdk-sys" ,rust-gdk-sys-0.15) + ("rust-gio-sys" ,rust-gio-sys-0.15) + ("rust-glib-sys" ,rust-glib-sys-0.15) + ("rust-gobject-sys" ,rust-gobject-sys-0.15) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.15) + ("rust-system-deps" ,rust-system-deps-6)))) + (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 rust-gtk4-0.4 + (package + (name "rust-gtk4") + (version "0.4.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "gtk4" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g5v9wwf9sgz9vx0vwfc3sxm9pm5cah3ypjy3daw6fvryapfb2jf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cairo-rs" ,rust-cairo-rs-0.15) + ("rust-field-offset" ,rust-field-offset-0.3) + ("rust-futures-channel" + ,rust-futures-channel-0.3) + ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.15) + ("rust-gdk4" ,rust-gdk4-0.4) + ("rust-gio" ,rust-gio-0.15) + ("rust-glib" ,rust-glib-0.15) + ("rust-graphene-rs" ,rust-graphene-rs-0.15) + ("rust-gsk4" ,rust-gsk4-0.4) + ("rust-gtk4-macros" ,rust-gtk4-macros-0.4) + ("rust-gtk4-sys" ,rust-gtk4-sys-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pango" ,rust-pango-0.15)))) + (home-page "https://gtk-rs.org/gtk4-rs") + (synopsis "Rust bindings of the GTK 4 library") + (description + "This package provides Rust bindings of the GTK 4 library.") + (license license:expat))) + +(define rust-gtk4-macros-0.4 + (package + (name "rust-gtk4-macros") + (version "0.4.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "gtk4-macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v42i8xpg9f84iq1d0k2sb7vh94n9v9rk7i7iq3579wi9ra0pfka")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-proc-macro-crate" + ,rust-proc-macro-crate-1) + ("rust-proc-macro-error" + ,rust-proc-macro-error-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quick-xml" ,rust-quick-xml-0.22) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://gtk-rs.org/gtk4-rs") + (synopsis "Macros helpers for GTK 4 bindings") + (description + "This package provides Macros helpers for GTK 4 bindings.") + (license license:expat))) + +(define rust-gtk4-sys-0.4 + (package + (name "rust-gtk4-sys") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "gtk4-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qqgxfbmygsl3xd3qal37cdz4ibfc0j9xxrzv9r7qjv3x9p01j2v")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.20) + ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.15) + ("rust-gdk4-sys" ,rust-gdk4-sys-0.4) + ("rust-gio-sys" ,rust-gio-sys-0.15) + ("rust-glib-sys" ,rust-glib-sys-0.15) + ("rust-gobject-sys" ,rust-gobject-sys-0.15) + ("rust-graphene-sys" ,rust-graphene-sys-0.15) + ("rust-gsk4-sys" ,rust-gsk4-sys-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-pango-sys" ,rust-pango-sys-0.15) + ("rust-system-deps" ,rust-system-deps-6)))) + (home-page "https://gtk-rs.org/gtk4-rs") + (synopsis "FFI bindings of GTK 4") + (description + "This package provides FFI bindings of GTK 4.") (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")))) + (name "blue-recorder") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xlmnxp/blue-recorder") + (commit "1cfa3bbb1b5ea845b3e4c51eba269745f0c3e271"))) + + (snippet + #~(begin (use-modules (guix build utils)) + (substitute* "Cargo.toml" + (("gdk = \\{ git =.+") + "gdk = { version = \"0.7.3\", package = \"gdk4\" }\n") + (("rust-ini =.+") + "rust-ini = \"0.18.0\"\n")))) ; We have this version in guix already + + (file-name + (git-file-name name version)) + (sha256 + (base32 + "0fz5l1z5rq8gx2vhrpfnf5l5karlqa7m8fdwx7ixlvy5klywwa5y")))) (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) + `(#:cargo-build-flags '("--release") + #:phases ,#~(modify-phases %standard-phases + (add-after 'install 'wrap-paths + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (name-version (string-append #$name "-" #$version)) + (blue-recorder (string-append bin "/blue-recorder")) + (src (string-append #$output "/share/cargo/src/")) + (po (string-append src name-version "/po/")) + (data (string-append src name-version "/data/"))) + (wrap-program blue-recorder + `("PO_DIR" prefix (,po)) + `("DATA_DIR" prefix (,data))))))) + #:cargo-inputs + (("rust-async-std" ,rust-async-std-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-dark-light" ,rust-dark-light-1) + ("rust-dirs" ,rust-dirs-4) + ("rust-filename" ,rust-filename-0.1) ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9) + ("rust-gdk4" ,rust-gdk4-0.7) ("rust-gettext-rs" ,rust-gettext-rs-0.7) - ("rust-gio" ,rust-gio-0.9) + ("rust-gio" ,rust-gio-0.15) ("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+)))) + ("rust-gstreamer" ,rust-gstreamer-0.20) + ("rust-gtk-sys" ,rust-gtk-sys-0.15) + ("rust-gtk4" ,rust-gtk4-0.4) + ("rust-regex" ,rust-regex-1) + ("rust-rust-ini" ,rust-rust-ini-0.18) + ("rust-secfmt" ,rust-secfmt-0.1) + ("rust-subprocess" ,rust-subprocess-0.2) + ("rust-tempfile" ,rust-tempfile-3) + ("rust-zbus" ,rust-zbus-3)))) + (native-inputs (list pkg-config + glib + graphene + gstreamer + gnu-gettext + libappindicator + xz)) + (inputs (list glib)) + (propagated-inputs (list ffmpeg + gtk + gtk+ + xwininfo + libappindicator + pulseaudio)) + (home-page "https://github.com/xlmnxp/blue-recorder/") + (synopsis "Simple Screen Recorder written in Rust based on Green Recorder") + (description "A simple desktop recorder for Linux systems. +Built using GTK4 and ffmpeg. It supports recording audio and video on almost all Linux +interfaces with support for Wayland display server on GNOME session.") + (license license:gpl3))) blue-recorder