From 8227f2f859c2c49694f149235d73e4286cfe9f31 Mon Sep 17 00:00:00 2001 From: Hartmut Goebel Date: Mon, 4 May 2020 17:11:19 +0200 Subject: gnu: Add rust-nettle-7. * gnu/packages/crates-io.scm (rust-nettle-7): New variable. * gnu/packages/patches/rust-nettle-disable-vendor.patch: New file. * gnu/local.mk: Add it. --- gnu/local.mk | 1 + gnu/packages/crates-io.scm | 44 ++++++++++++++++++++++ .../patches/rust-nettle-disable-vendor.patch | 13 +++++++ 3 files changed, 58 insertions(+) create mode 100644 gnu/packages/patches/rust-nettle-disable-vendor.patch diff --git a/gnu/local.mk b/gnu/local.mk index 84dab66235..d5cbb983fb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1431,6 +1431,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 cc047bd03d..c13b142cc8 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -36,6 +36,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) @@ -12162,6 +12163,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 + +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 = [] -- cgit v1.2.3