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.
This commit is contained in:
Hartmut Goebel 2020-04-23 23:10:51 +02:00
parent cfb9bc26cc
commit 5effc5bfe1
No known key found for this signature in database
GPG key ID: 634A8DFFD3F631DF
3 changed files with 80 additions and 0 deletions

View file

@ -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-sys-disable-vendor.patch \
%D%/packages/patches/rust-reproducible-builds.patch \
%D%/packages/patches/rust-openssl-sys-no-vendor.patch \
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \

View file

@ -38,6 +38,7 @@ (define-module (gnu packages crates-io)
#: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 @@ (define-public rust-netlib-src-0.7
(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")

View file

@ -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") {