diff options
author | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2020-04-23 23:10:51 +0200 |
---|---|---|
committer | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2020-05-05 13:20:45 +0200 |
commit | 5effc5bfe1f9bbe94be9ac8bd40e2f2875b08720 (patch) | |
tree | 56eee744d79ae65e4744846001cf465b5031d59e /gnu/packages | |
parent | cfb9bc26cc1d6d239e837dcb7423045c0d4fadec (diff) | |
download | guix-5effc5bfe1f9bbe94be9ac8bd40e2f2875b08720.tar.gz |
gnu: Add rust-nettle-sys-2.
* gnu/packages/crates-io.scm (rust-nettle-sys-2): New variable. * gnu/packages/patches/rust-nettle-sys-disable-vendor.patch: New file. * gnu/local.mk: Add it.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/crates-io.scm | 31 | ||||
-rw-r--r-- | gnu/packages/patches/rust-nettle-sys-disable-vendor.patch | 48 |
2 files changed, 79 insertions, 0 deletions
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index a0be3575b8..5980282399 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 nettle) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -13184,6 +13185,36 @@ types as proposed in RFC 1158.") (license (list license:asl2.0 license:expat)))) +(define-public rust-nettle-sys-2 + (package + (name "rust-nettle-sys") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "nettle-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1yq1w6dlcmg89x529i7s20j29afdhgim7qnsa7978fszzwrr6qmq")) + (patches (search-patches "rust-nettle-sys-disable-vendor.patch")))) + (build-system cargo-build-system) + (native-inputs + `(("clang" ,clang) + ("pkg-config" ,pkg-config))) + (inputs + `(("nettle", nettle))) + (arguments + `(#:skip-build? #t + #:cargo-development-inputs + (("rust-bindgen" ,rust-bindgen-0.51) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://gitlab.com/sequoia-pgp/nettle-sys") + (synopsis "Low-level Rust bindings for the Nettle cryptographic library") + (description "This package provides low-level Rust bindings for the Nettle +cryptographic library.") + (license ;; licensed under either of these, at your option + (list license:lgpl3 license:gpl2 license:gpl3)))) + (define-public rust-new-debug-unreachable-1.0 (package (name "rust-new-debug-unreachable") diff --git a/gnu/packages/patches/rust-nettle-sys-disable-vendor.patch b/gnu/packages/patches/rust-nettle-sys-disable-vendor.patch new file mode 100644 index 0000000000..ae5ef5ebe0 --- /dev/null +++ b/gnu/packages/patches/rust-nettle-sys-disable-vendor.patch @@ -0,0 +1,48 @@ +Subject: nettle-sys: 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/0c71150ad26bb66a8396dcdab055181af232ddc5 +https://sources.debian.org/src/rust-nettle-sys/2.0.4-3/debian/patches/disable-vendor.diff/ +--- a/Cargo.toml 2019-10-23 13:08:07.000000000 -0400 ++++ b/Cargo.toml 2019-10-23 14:08:46.644064014 -0400 +@@ -29,12 +29,9 @@ + version = "0.51.1" + default-features = false + +-[build-dependencies.nettle-src] +-version = "3.5.1-0" +-optional = true +- + [build-dependencies.pkg-config] + version = "0.3" + + [features] + vendored = ["nettle-src"] ++nettle-src = [] +diff --git a/build.rs b/build.rs +index 44f7af3..ede4b2f 100644 +--- a/build.rs ++++ b/build.rs +@@ -1,7 +1,5 @@ + extern crate bindgen; + extern crate pkg_config; +-#[cfg(feature = "vendored")] +-extern crate nettle_src; + + use std::env; + use std::fs; +@@ -36,14 +34,6 @@ fn main() { + println!("cargo:rerun-if-env-changed=NETTLE_STATIC"); + println!("cargo:rerun-if-env-changed={}", NETTLE_PREGENERATED_BINDINGS); + +- #[cfg(feature = "vendored")] +- { +- let artifacts = nettle_src::Build::new().build(); +- println!("cargo:vendored=1"); +- env::set_var("PKG_CONFIG_PATH", +- artifacts.lib_dir().join("pkgconfig")); +- } +- + let nettle = pkg_config::probe_library("nettle hogweed").unwrap(); + + let mode = match env::var_os("NETTLE_STATIC") { |