diff --git a/zilti/packages/rust.scm b/zilti/packages/rust.scm new file mode 100644 index 0000000..169df39 --- /dev/null +++ b/zilti/packages/rust.scm @@ -0,0 +1,532 @@ +(define-module (zilti packages rust) + #:use-module (guix) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module (guix build-system cargo) + #:use-module (guix git-download) + #:use-module (gnu packages) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages crates-io) + #:use-module (gnu packages curl) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public rust-byteorder-1 + (package + (name "rust-byteorder") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "byteorder" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0jzncxyf404mwqdbspihyzpkndfgda450l0893pz5xj685cg5l0z")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.9) + ("rust-rand" ,rust-rand-0.7)))) + (home-page "https://github.com/BurntSushi/byteorder") + (synopsis "Reading/writing numbers in big-endian and little-endian") + (description + "This library is used for reading or writing numbers in big-endian and +little-endian.") + (license (list license:expat license:unlicense)))) + +(define-public rust-serde-1 + (package + (name "rust-serde") + (version "1.0.192") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00ghhaabyrnr2cn504lckyqzh3fwr8k7pxnhhardr1djhj2a18mw")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde-derive" ,rust-serde-derive-1)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1)))) + (home-page "https://serde.rs") + (synopsis "Generic serialization/deserialization framework") + (description + "This package provides a generic serialization/deserialization framework.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-serde-json-1 + (package + (name "rust-serde-json") + (version "1.0.108") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_json" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ssj59s7lpzqh1m50kfzlnrip0p0jg9lmhn4098i33a0mhz7w71x")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-indexmap" ,rust-indexmap-2) + ("rust-itoa" ,rust-itoa-1) + ("rust-ryu" ,rust-ryu-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-automod" ,rust-automod-1) + ("rust-indoc" ,rust-indoc-2) + ("rust-ref-cast" ,rust-ref-cast-1) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-bytes" ,rust-serde-bytes-0.11) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-stacker" ,rust-serde-stacker-0.1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/serde-rs/json") + (synopsis "JSON serialization file format") + (description + "This package provides a JSON serialization file format.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-serde-derive-1 + (package + (name "rust-serde-derive") + (version "1.0.192") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hgvm47ffd748sx22z1da7mgcfjmpr60gqzkff0a9yn9przj1iyn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)) + #:cargo-development-inputs + (("rust-serde" ,rust-serde-1)))) + (home-page "https://serde.rs") + (synopsis "Macros 1.1 implementation of #[derive(Serialize, Deserialize)]") + (description + "This package provides the macros 1.1 implementation of +@code{#[derive(Serialize, Deserialize)]}.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-anstream-0.6 + (package + (name "rust-anstream") + (version "0.6.5") + (source (origin + (method url-fetch) + (uri (crate-uri "anstream" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dm1mdbs1x6y3m3pz0qlamgiskb50i4q859676kx0pz8r8pajr6n")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anstyle" ,rust-anstyle-1) + ("rust-anstyle-parse" ,rust-anstyle-parse-0.2) + ("rust-anstyle-query" ,rust-anstyle-query-1) + ("rust-anstyle-wincon" ,rust-anstyle-wincon-3) + ("rust-colorchoice" ,rust-colorchoice-1) + ("rust-is-terminal" ,rust-is-terminal-0.4) + ("rust-utf8parse" ,rust-utf8parse-0.2)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.4) + ("rust-owo-colors" ,rust-owo-colors-3) + ("rust-proptest" ,rust-proptest-1) + ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1)))) + (home-page "https://github.com/rust-cli/anstyle") + (synopsis "Library for writing colored text to a terminal") + (description + "This package provides a simple cross platform library for writing colored +text to a terminal.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-clap-4 + (package + (name "rust-clap") + (version "4.4.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "clap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wj5gb2fnqls00zfahg3490bdfc36d9cwpl80qjacb5jyrqzdbxz")))) + (build-system cargo-build-system) + (arguments + (list #:cargo-inputs + `(("rust-clap-builder" ,rust-clap-builder-4) + ("rust-clap-derive" ,rust-clap-derive-4) + ("rust-once-cell" ,rust-once-cell-1)) + #:cargo-development-inputs + `(("rust-humantime" ,rust-humantime-2) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-shlex" ,rust-shlex-1) + ("rust-snapbox" ,rust-snapbox-0.4) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-trycmd" ,rust-trycmd-0.14) + ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)))) + (home-page "https://clap.rs/") + (synopsis "Command Line Argument Parser") + (description + "This package provides a simple to use, efficient, and full-featured +Command Line Argument Parser.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-clap-builder-4 + (package + (name "rust-clap-builder") + (version "4.4.11") + (source (origin + (method url-fetch) + (uri (crate-uri "clap_builder" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fxdsmw1ilgswz3lg2hjlvsdyyz04k78scjirlbd7c9bc83ba5m2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-test-flags + (list "--release" "--" + ;; Some of the doc tests fail. + "--skip=builder::range::ValueRange::new" + "--skip=builder::value_parser::value_parser") + #:cargo-inputs + (("rust-anstream" ,rust-anstream-0.3) + ("rust-anstyle" ,rust-anstyle-1) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-clap-lex" ,rust-clap-lex-0.6) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-strsim" ,rust-strsim-0.10) + ("rust-terminal-size" ,rust-terminal-size-0.2) + ("rust-unicase" ,rust-unicase-2) + ("rust-unicode-width" ,rust-unicode-width-0.1)) + #:cargo-development-inputs + (("rust-color-print" ,rust-color-print-0.3) + ("rust-humantime" ,rust-humantime-2) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-shlex" ,rust-shlex-1) + ("rust-snapbox" ,rust-snapbox-0.4) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-trybuild" ,rust-trybuild-1) + ("rust-trycmd" ,rust-trycmd-0.14) + ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)))) + (home-page "https://github.com/clap-rs/clap") + (synopsis "Full-featured Command Line Argument Parser") + (description + "This package provides a simple to use, efficient, and full-featured +Command Line Argument Parser.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-clap-derive-4 + (package + (name "rust-clap-derive") + (version "4.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "clap_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hk4hcxl56qwqsf4hmf7c0gr19r9fbxk0ah2bgkr36pmmaph966g")))) + (build-system cargo-build-system) + (arguments + (list #:cargo-inputs + `(("rust-heck" ,rust-heck-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-2)))) + (home-page "https://clap.rs/") + (synopsis "Procedural macro crate for Clap") + (description + "This package provides the procedural macro crate for Clap.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-clap-lex-0.6 + (package + (name "rust-clap-lex") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (crate-uri "clap_lex" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1l8bragdvim7mva9flvd159dskn2bdkpl0jqrr41wnjfn8pcfbvh")))) + (build-system cargo-build-system) + (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex") + (synopsis "Command line parser for Clap") + (description + "This package provides a parser for command line options. As opposed +to a declarative parser, @code{rust-clap-lex} processes arguments as a +stream of tokens.") + ;; The user can choose either license. + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-aarch64-gnullvm-0.52 + (package + (name "rust-windows-aarch64-gnullvm") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1shmn1kbdc0bpphcxz0vlph96bxz0h1jlmh93s9agf2dbpin8xyb")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments + (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-x86-64-msvc-0.52 + (package + (name "rust-windows-x86-64-msvc") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "012wfq37f18c09ij5m6rniw7xxn5fcvrxbqd0wd8vgnl3hfn9yfz")) + (snippet + '(delete-file "lib/windows.0.52.0.lib")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-x86-64-gnu-0.52 + (package + (name "rust-windows-x86-64-gnu") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_x86_64_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1zdy4qn178sil5sdm63lm7f0kkcjg6gvdwmcprd2yjmwn8ns6vrx")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments + (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-aarch64-msvc-0.52 + (package + (name "rust-windows-aarch64-msvc") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_aarch64_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1vvmy1ypvzdvxn9yf0b8ygfl85gl2gpcyvsvqppsmlpisil07amv")) + (snippet + '(delete-file "lib/windows.0.52.0.lib")))) + (build-system cargo-build-system) + (arguments + (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description "This package provides code gen support for the windows +crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-x86-64-gnullvm-0.52 + (package + (name "rust-windows-x86-64-gnullvm") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-x86_64-gnullvm" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17lllq4l2k1lqgcnw1cccphxp9vs7inq99kjlm2lfl9zklg7wr8s")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-i686-gnu-0.52 + (package + (name "rust-windows-i686-gnu") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_gnu" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04zkglz4p3pjsns5gbz85v4s5aw102raz4spj4b0lmm33z5kg1m2")) + (snippet + '(delete-file "lib/libwindows.0.52.0.a")))) + (build-system cargo-build-system) + (arguments + (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-i686-msvc-0.52 + (package + (name "rust-windows-i686-msvc") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows_i686_msvc" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16kvmbvx0vr0zbgnaz6nsks9ycvfh5xp05bjrhq65kj623iyirgz")) + (snippet + '(delete-file "lib/windows.0.52.0.lib")))) + (build-system cargo-build-system) + (arguments + (list #:skip-build? #t)) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-targets-0.52 + (package + (name "rust-windows-targets") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-targets" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kg7a27ynzw8zz3krdgy6w5gbqcji27j1sz4p7xk2j5j8082064a")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-windows-aarch64-gnullvm" ,rust-windows-aarch64-gnullvm-0.52) + ("rust-windows-aarch64-msvc" ,rust-windows-aarch64-msvc-0.52) + ("rust-windows-i686-gnu" ,rust-windows-i686-gnu-0.52) + ("rust-windows-i686-msvc" ,rust-windows-i686-msvc-0.52) + ("rust-windows-x86-64-gnu" ,rust-windows-x86-64-gnu-0.52) + ("rust-windows-x86-64-gnullvm" ,rust-windows-x86-64-gnullvm-0.52) + ("rust-windows-x86-64-msvc" ,rust-windows-x86-64-msvc-0.52)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Code gen support for the windows crate") + (description + "This package provides code gen support for the windows crate.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-windows-sys-0.52 + (package + (name "rust-windows-sys") + (version "0.52.0") + (source (origin + (method url-fetch) + (uri (crate-uri "windows-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0gd3v4ji88490zgb6b5mq5zgbvwv7zx1ibn8v3x83rwcdbryaar8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs (("rust-windows-targets" ,rust-windows-targets-0.52)))) + (home-page "https://github.com/microsoft/windows-rs") + (synopsis "Rust for Windows") + (description "The windows crate lets you call any Windows API past, +present, and future using code generated on the fly directly from the metadata +describing the API and right into your Rust package where you can call them as +if they were just another Rust module.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-anstyle-wincon-3 + (package + (name "rust-anstyle-wincon") + (version "3.0.2") + (source (origin + (method url-fetch) + (uri (crate-uri "anstyle-wincon" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19v0fv400bmp4niqpzxnhg83vz12mmqv7l2l8vi80qcdxj0lpm8w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anstyle" ,rust-anstyle-1) + ("rust-windows-sys" ,rust-windows-sys-0.52)) + #:cargo-development-inputs + (("rust-lexopt" ,rust-lexopt-0.3)))) + (home-page "https://github.com/rust-cli/anstyle") + (synopsis "Styling legacy Windows terminals") + (description "Styling legacy Windows terminals") + (license (list license:expat license:asl2.0)))) + +(define-public rust-swaysome + (package + (name "rust-swaysome") + (version "2.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/hyask/swaysome.git") + (commit version))) + (sha256 + (base32 + "0yb5j4m9j1dvlzdqn8rq3lmqr82ph73wdkq0w38mzdzmabsvz5ak")))) + (build-system cargo-build-system) + (arguments + (list #:cargo-inputs + `(("rust-byteorder" ,rust-byteorder-1) + ("rust-clap" ,rust-clap-4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-anstream" ,rust-anstream-0.6)))) + (home-page "https://gitlab.com/hyask/swaysome") + (synopsis "An awesome way to manage your workspaces on sway.") + (description "This binary helps you configure sway to work a bit more like AwesomeWM. This means that workspaces are namespaced in what are called workspace groups, and workspace groups can be moved around the differents outputs easily.") + (license license:expat)))