(use-modules (gnu packages crates-io) ((guix licenses) #:prefix license:) (guix build-system cargo) (guix packages) (guix download) (guix git-download)) (define-public rust-spin-0.9 (package (name "rust-spin") (version "0.9.0") (source (origin (method url-fetch) (uri (crate-uri "spin" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0y2406b02rkn1p1mfcb9vn6mxy1nb222k2gfq5b2lcw1rfcbyyxq")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-lock-api" ,rust-lock-api-0.4)))) (home-page "https://github.com/mvdnes/spin-rs.git") (synopsis "Spin-based synchronization primitives") (description "Spin-based synchronization primitives") (license license:expat))) (define-public rust-notify-5 (package (name "rust-notify") (version "5.0.0-pre.6") (source (origin (method url-fetch) (uri (crate-uri "notify" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1hzlm8lscdbrd2gsniikqv4cv0g0w10yfpp61b0bkv9l6jwq5zg5")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-anymap" ,rust-anymap-0.12) ("rust-bitflags" ,rust-bitflags-1) ("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5) ("rust-filetime" ,rust-filetime-0.2) ("rust-fsevent" ,rust-fsevent-2) ("rust-fsevent-sys" ,rust-fsevent-sys-3) ("rust-inotify" ,rust-inotify-0.9) ("rust-libc" ,rust-libc-0.2) ("rust-mio" ,rust-mio-0.7) ("rust-serde" ,rust-serde-1) ("rust-walkdir" ,rust-walkdir-2) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))) (home-page "https://github.com/notify-rs/notify") (synopsis "Cross-platform filesystem notification library") (description "Cross-platform filesystem notification library") (license license:cc0))) (define-public rust-nix-0.20 (package (name "rust-nix") (version "0.20.0") (source (origin (method url-fetch) (uri (crate-uri "nix" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "12n1syfd967hblrcrrqk63a4s1h4hsybfqwblh71rihvv8cli6zs")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-cc" ,rust-cc-1) ("rust-cfg-if" ,rust-cfg-if-1) ("rust-libc" ,rust-libc-0.2)) #:cargo-development-inputs (("rust-bytes" ,rust-bytes-0.4) ;; TODO update to 0.5 ("rust-caps" ,rust-caps-0.3) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-rand" ,rust-rand-0.6) ("rust-semver" ,rust-semver-0.9) ("rust-sysctl" ,rust-sysctl-0.1) ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://github.com/nix-rust/nix") (synopsis "Rust friendly bindings to *nix APIs") (description "Rust friendly bindings to *nix APIs") (license license:expat))) (define-public rust-byte-string-1 (package (name "rust-byte-string") (version "1.0.0") (source (origin (method url-fetch) (uri (crate-uri "byte-string" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1vdll2i5gdx98d3wqbrq8c2l61jqqhzlri7d3hskm35a0mxdxahi")))) (build-system cargo-build-system) (home-page "https://github.com/FraGag/byte_string") (synopsis "Wrapper types for outputting byte strings (b\"Hello\") using the Debug ({:?}) format.") (description "Wrapper types for outputting byte strings (b\"Hello\") using the Debug ({:?}) format.") (license (list license:expat license:asl2.0)))) (define-public rust-bloomfilter-1 (package (name "rust-bloomfilter") (version "1.0.5") (source (origin (method url-fetch) (uri (crate-uri "bloomfilter" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1d352wzl3pwpwxixjh8b8v4sqaglgkzp0rfv1q068c8piddfizqw")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs ;; TODO update to 0.6 (("rust-bit-vec" ,rust-bit-vec-0.5) ("rust-rand" ,rust-rand-0.8) ("rust-siphasher" ,rust-siphasher-0.3)))) (home-page "https://github.com/jedisct1/rust-bloom-filter") (synopsis "Bloom filter implementation") (description "Bloom filter implementation") (license license:isc))) (define-public rust-shadowsocks-crypto-0.2 (package (name "rust-shadowsocks-crypto") (version "0.2.0") (source (origin (method url-fetch) (uri (crate-uri "shadowsocks-crypto" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0l42dagy8gkwasr5ras4yiy1h9dp6f461pichqmzf7wsl97m1axx")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-crypto2" ,rust-crypto2-0.1) ("rust-rand" ,rust-rand-0.8) ("rust-ring" ,rust-ring-0.16)) #:cargo-development-inputs (("rust-hex" ,rust-hex-0.4)))) (home-page "https://github.com/shadowsocks/shadowsocks-crypto") (synopsis "Shadowsocks Crypto") (description "Shadowsocks Crypto") (license license:expat))) (define-public rust-shadowsocks-1 (package (name "rust-shadowsocks") (version "1.10.0") (source (origin (method url-fetch) (uri (crate-uri "shadowsocks" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1gsah34zrznl3b4za6f09vqzmzsw57nlwil3351hcfvqm8mazw8c")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-arc-swap" ,rust-arc-swap-1) ("rust-async-trait" ,rust-async-trait-0.1) ("rust-base64" ,rust-base64-0.13) ("rust-bloomfilter" ,rust-bloomfilter-1) ("rust-byte-string" ,rust-byte-string-1) ("rust-bytes" ,rust-bytes-1) ("rust-cfg-if" ,rust-cfg-if-1) ("rust-futures" ,rust-futures-0.3) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-mio" ,rust-mio-0.7) ("rust-nix" ,rust-nix-0.20) ("rust-notify" ,rust-notify-5) ("rust-pin-project" ,rust-pin-project-1) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7) ("rust-shadowsocks-crypto" ,rust-shadowsocks-crypto-0.2) ;; TODO update rust-socket2-0.3 to 0.4 ("rust-socket2" rust-socket2-0.3 #;,rust-socket2-0.4) ("rust-spin" ,rust-spin-0.9) ("rust-thiserror" ,rust-thiserror-1) ("rust-tokio" ,rust-tokio-1) ("rust-trust-dns-resolver" ,rust-trust-dns-resolver-0.20) ("rust-url" ,rust-url-2) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs (("rust-env-logger" ,rust-env-logger-0.8)))) (home-page "https://github.com/shadowsocks/shadowsocks-rust") (synopsis "shadowsocks is a fast tunnel proxy that helps you bypass firewalls.") (description "shadowsocks is a fast tunnel proxy that helps you bypass firewalls.") (license license:expat))) rust-shadowsocks-1