diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/crates-io.scm | 44 | ||||
-rw-r--r-- | gnu/packages/patches/rust-nettle-disable-vendor.patch | 13 |
3 files changed, 58 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 3d9f418133..2c05360bae 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1433,6 +1433,7 @@ dist_patch_DATA = \ %D%/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch \ %D%/packages/patches/rust-bootstrap-stage0-test.patch \ %D%/packages/patches/rust-coresimd-doctest.patch \ + %D%/packages/patches/rust-nettle-disable-vendor.patch \ %D%/packages/patches/rust-nettle-sys-disable-vendor.patch \ %D%/packages/patches/rust-reproducible-builds.patch \ %D%/packages/patches/rust-openssl-sys-no-vendor.patch \ diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 5980282399..9237a282b7 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages jemalloc) #:use-module (gnu packages llvm) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages nettle) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) @@ -13185,6 +13186,49 @@ types as proposed in RFC 1158.") (license (list license:asl2.0 license:expat)))) +(define-public rust-nettle-7 + (package + (name "rust-nettle") + (version "7.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nettle" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1n6dwy9zba8853bmxzhwaashd3np0wxpx0pj43brm0hb8n2sxbxi")) + (patches (search-patches "rust-nettle-disable-vendor.patch")))) + (build-system cargo-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("clang" ,clang) + ("gmp" ,gmp) + ("nettle" ,nettle))) + (arguments + `(#:skip-build? #t ;; provides nothing, has no tests + #:cargo-inputs + (("rust-getrandom" ,rust-getrandom-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nettle-sys" ,rust-nettle-sys-2) + ("rust-thiserror" ,rust-thiserror-1.0)) + #:cargo-development-inputs + (("rust-bindgen" ,rust-bindgen-0.51) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-missing-env-vars + (lambda* (#:key inputs #:allow-other-keys) + ;; FIXME: why do we need to set this? + (setenv "LIBCLANG_PATH" + (string-append (assoc-ref inputs "clang") "/lib")) + #t))))) + (home-page "https://gitlab.com/sequoia-pgp/nettle-rs") + (synopsis "Rust bindings for the Nettle cryptographic library") + (description "This package provides Rust bindings for the Nettle +cryptographic library.") + (license (list license:lgpl3 license:gpl2 license:gpl3)))) + (define-public rust-nettle-sys-2 (package (name "rust-nettle-sys") diff --git a/gnu/packages/patches/rust-nettle-disable-vendor.patch b/gnu/packages/patches/rust-nettle-disable-vendor.patch new file mode 100644 index 0000000000..5b52821cdb --- /dev/null +++ b/gnu/packages/patches/rust-nettle-disable-vendor.patch @@ -0,0 +1,13 @@ +Subject: nettle: clear out "vendored" feature cruft from build.rs +From: Daniel Kahn Gillmor's avatarDaniel Kahn Gillmor <dkg@fifthhorseman.net> + +https://salsa.debian.org/rust-team/debcargo-conf/-/commit/b608e6beaa1d38c14fc16ad53780d94954a91900 +https://sources.debian.org/src/rust-nettle/7.0.0-1/debian/patches/disable-vendor.diff/ +--- a/Cargo.toml 1969-12-31 19:00:00.000000000 -0500 ++++ b/Cargo.toml 2019-10-23 19:12:01.076181971 -0400 +@@ -35,4 +35,4 @@ + version = "1" + + [features] +-vendored = ["nettle-sys/vendored"] ++vendored = [] |