From 3dbf3a7f516cb5576ce77d9545cfa56b741f279b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 22 Nov 2020 18:09:39 +0200 Subject: build-system/cargo: Set openssl environment variable when available. * guix/build/cargo-build-system.scm (configure): When openssl is available set the OPENSSL_DIR variable to discover its location. * gnu/packages/crates-io.scm (rust-curl-sys-0.4, rust-libgit2-sys-0.10, rust-libpijul-0.12, rust-libssh2-sys-0.2, rust-native-tls-0.2, rust-openssl-sys-0.9, rust-openssl-0.7, rust-trust-dns-rustls-0.6), * gnu/packages/rust-apps.scm (tokei, exa)[arguments]: Remove redundant setenv for openssl. --- guix/build/cargo-build-system.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'guix/build') diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 117c8da66c..22c5d3b530 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -122,6 +122,8 @@ (define* (configure #:key inputs (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1") (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") + (when (assoc-ref inputs "openssl") + (setenv "OPENSSL_DIR" (assoc-ref inputs "openssl"))) ;; We don't use the Cargo.lock file to determine the package versions we use ;; during building, and in any case if one is not present it is created -- cgit v1.2.3 From 73dbcc4b5fc14149e56d315b9bc855adc3d5cd19 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 22 Nov 2020 18:56:56 +0200 Subject: build-system/cargo: Set libclang environment variable when available. * guix/build/cargo-build-system.scm (configure): When clang is available in the build environment set the LIBCLANG_PATH variable. * gnu/packages/crates-graphics.scm (rust-aom-sys-0.1, uust-dav1d-sys-0.3), * gnu/packages/crates-io.scm (rust-bindgen-0.55, rust-bindgen-0.54, rust-bindgen-0.53, rust-bindgen-0.52, rust-cexpr-0.4, rust-cexpr-0.3, rust-cexpr-0.2, rust-clang-sys-1, rust-clang-sys-0.29, rust-clang-sys-0.26, rust-clang-sys-0.22, rust-clang-sys-0.11, rust-libpijul-0.12, rust-nettle-7, rust-nettle-sys-2, rust-sequoia-openpgp-0.9)[arguments]: Remove phases which set an environment variable to find clang. [inputs]: Rename instances of libclang with clang. --- gnu/packages/crates-graphics.scm | 27 ++----- gnu/packages/crates-io.scm | 159 +++++--------------------------------- guix/build/cargo-build-system.scm | 3 + 3 files changed, 27 insertions(+), 162 deletions(-) (limited to 'guix/build') diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 9193479092..11bdd4c4f4 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -183,20 +183,12 @@ (define-public rust-aom-sys-0.1 (arguments `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.53) - ("rust-metadeps" ,rust-metadeps-1.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))) + ("rust-metadeps" ,rust-metadeps-1.1)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libaom" ,libaom) - ("libclang" ,clang) + ("clang" ,clang) ("llvm" ,llvm))) (home-page "https://github.com/rust-av/aom-rs") (synopsis "FFI bindings to aom") @@ -402,19 +394,12 @@ (define-public rust-dav1d-sys-0.3 (arguments `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.54) - ("rust-metadeps" ,rust-metadeps-1.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))) + ("rust-metadeps" ,rust-metadeps-1.1)))) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs `(("dav1d" ,dav1d) - ("pkg-config" ,pkg-config) - ("libclang" ,clang) + ("clang" ,clang) ("llvm" ,llvm))) (home-page "https://github.com/rust-av/dav1d-rs") (synopsis "FFI bindings to dav1d") diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 88f606e011..875f6e91dc 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -1749,11 +1749,6 @@ (define-public rust-bindgen-0.55 (add-after 'unpack 'enable-unstable-features (lambda _ (setenv "RUSTC_BOOTSTRAP" "1") - #t)) - (add-before 'configure 'configure-clang - (lambda* (#:key inputs #:allow-other-keys) - (setenv "LIBCLANG_PATH" (string-append (assoc-ref inputs "clang") - "/lib")) #t))))) (home-page "https://rust-lang.github.io/rust-bindgen/") (synopsis "Generate Rust FFI bindings to C and C++ libraries.") @@ -1798,17 +1793,9 @@ (define-public rust-bindgen-0.54 #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) - ("rust-shlex" ,rust-shlex-0.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))) + ("rust-shlex" ,rust-shlex-0.1)))) (inputs - `(("libclang" ,clang))))) + `(("clang" ,clang))))) (define-public rust-bindgen-0.53 (package @@ -1845,15 +1832,7 @@ (define-public rust-bindgen-0.53 #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) - ("rust-shlex" ,rust-shlex-0.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + ("rust-shlex" ,rust-shlex-0.1)))))) (define-public rust-bindgen-0.52 (package @@ -1891,15 +1870,7 @@ (define-public rust-bindgen-0.52 #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) - ("rust-shlex" ,rust-shlex-0.1)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + ("rust-shlex" ,rust-shlex-0.1)))))) (define-public rust-bindgen-0.51 (package @@ -3530,17 +3501,9 @@ (define-public rust-cexpr-0.4 `(#:cargo-inputs (("rust-nom" ,rust-nom-5)) #:cargo-development-inputs - (("rust-clang-sys" ,rust-clang-sys-0.28)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))) + (("rust-clang-sys" ,rust-clang-sys-0.28)))) (inputs - `(("libclang" ,clang))) + `(("clang" ,clang))) (home-page "https://github.com/jethrogb/rust-cexpr") (synopsis "C expression parser and evaluator") (description @@ -3565,15 +3528,7 @@ (define-public rust-cexpr-0.3 `(#:cargo-inputs (("rust-nom" ,rust-nom-4.2)) #:cargo-development-inputs - (("rust-clang-sys" ,rust-clang-sys-0.28)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + (("rust-clang-sys" ,rust-clang-sys-0.28)))))) (define-public rust-cexpr-0.2 (package @@ -3594,15 +3549,7 @@ (define-public rust-cexpr-0.2 `(#:cargo-inputs (("rust-nom" ,rust-nom-3)) #:cargo-development-inputs - (("rust-clang-sys" ,rust-clang-sys-0.11)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + (("rust-clang-sys" ,rust-clang-sys-0.11)))))) (define-public rust-cfg-if-0.1 (package @@ -3705,20 +3652,12 @@ (define-public rust-clang-sys-1 "0695kfrqx7n091fzm6msbqg2q2kyhka64q08lm63f3l9d964i8cx")))) (build-system cargo-build-system) (inputs - `(("libclang" ,clang))) + `(("clang" ,clang))) (arguments `(#:cargo-inputs (("rust-glob" ,rust-glob-0.3) ("rust-libc" ,rust-libc-0.2) - ("rust-libloading" ,rust-libloading-0.6)) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'configure-clang - (lambda* (#:key inputs #:allow-other-keys) - (setenv "LIBCLANG_PATH" - (string-append (assoc-ref inputs "libclang") - "/lib")) - #t))))) + ("rust-libloading" ,rust-libloading-0.6)))) (home-page "https://github.com/KyleMayes/clang-sys") (synopsis "Rust bindings for libclang") (description "This package provides Rust bindings for libclang.") @@ -3742,15 +3681,7 @@ (define-public rust-clang-sys-0.29 `(#:cargo-inputs (("rust-glob" ,rust-glob-0.3) ("rust-libc" ,rust-libc-0.2) - ("rust-libloading" ,rust-libloading-0.5)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + ("rust-libloading" ,rust-libloading-0.5)))))) (define-public rust-clang-sys-0.28 (package @@ -3783,15 +3714,7 @@ (define-public rust-clang-sys-0.26 `(#:cargo-inputs (("rust-glob" ,rust-glob-0.2) ("rust-libc" ,rust-libc-0.2) - ("rust-libloading" ,rust-libloading-0.5)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + ("rust-libloading" ,rust-libloading-0.5)))))) (define-public rust-clang-sys-0.23 (package @@ -3828,15 +3751,7 @@ (define-public rust-clang-sys-0.22 (("rust-clippy" ,rust-clippy-0.0) ("rust-glob" ,rust-glob-0.2) ("rust-libc" ,rust-libc-0.2) - ("rust-libloading" ,rust-libloading-0.5)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + ("rust-libloading" ,rust-libloading-0.5)))))) (define-public rust-clang-sys-0.11 (package @@ -3860,15 +3775,7 @@ (define-public rust-clang-sys-0.11 ("rust-glob" ,rust-glob-0.2) ("rust-lazy-static" ,rust-lazy-static-0.2) ("rust-libc" ,rust-libc-0.2) - ("rust-libloading" ,rust-libloading-0.3)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "libclang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))))) + ("rust-libloading" ,rust-libloading-0.3)))))) (define-public rust-clap-2 (package @@ -13879,14 +13786,7 @@ (define-public rust-libpijul-0.12 ("rust-serde-derive" ,rust-serde-derive-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-tempdir" ,rust-tempdir-0.3) - ("rust-toml" ,rust-toml-0.4)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-missing-env-vars - (lambda* (#:key inputs #:allow-other-keys) - (setenv "LIBCLANG_PATH" - (string-append (assoc-ref inputs "clang") "/lib")) - #t))))) + ("rust-toml" ,rust-toml-0.4)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -16108,15 +16008,7 @@ (define-public rust-nettle-7 ("rust-thiserror" ,rust-thiserror-1)) #: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))))) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) (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 @@ -16158,15 +16050,7 @@ (define-public rust-nettle-sys-2 (arguments `(#:cargo-inputs (("rust-bindgen" ,rust-bindgen-0.51) - ("rust-pkg-config" ,rust-pkg-config-0.3)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-environmental-variable - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "clang"))) - (setenv "LIBCLANG_PATH" - (string-append clang "/lib"))) - #t))))) + ("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 @@ -24774,14 +24658,7 @@ (define-public rust-sequoia-openpgp-0.9 ("rust-sequoia-rfc2822" ,rust-sequoia-rfc2822-0.9) ("rust-time" ,rust-time-0.1)) #:cargo-development-inputs - (("rust-rpassword" ,rust-rpassword-3)) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-missing-env-vars - (lambda* (#:key inputs #:allow-other-keys) - (setenv "LIBCLANG_PATH" - (string-append (assoc-ref inputs "clang") "/lib")) - #t))))) + (("rust-rpassword" ,rust-rpassword-3)))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 22c5d3b530..8c0268906e 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -124,6 +124,9 @@ (define* (configure #:key inputs (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") (when (assoc-ref inputs "openssl") (setenv "OPENSSL_DIR" (assoc-ref inputs "openssl"))) + (when (assoc-ref inputs "clang") + (setenv "LIBCLANG_PATH" + (string-append (assoc-ref inputs "clang") "/lib"))) ;; We don't use the Cargo.lock file to determine the package versions we use ;; during building, and in any case if one is not present it is created -- cgit v1.2.3 From 1ca0c348674dd4dec2ccb5a2d79b4cfd03a631ef Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 22 Nov 2020 19:29:32 +0200 Subject: build-system/cargo: Set gettext environment variable when available. * guix/build/cargo-build-system.scm (configure): When gettext is available in the build environment set the GETTEXT_SYSTEM variable. * gnu/packages/crates-io.scm (rust-gettext-rs-0.5, rust-gettext-rs-0.4, rust-gettext-sys-0.19)[arguments]: Remove phase to help find system gettext. --- gnu/packages/crates-io.scm | 27 +++------------------------ guix/build/cargo-build-system.scm | 2 ++ 2 files changed, 5 insertions(+), 24 deletions(-) (limited to 'guix/build') diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 4ff6c97636..82e37a0f8d 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -10030,14 +10030,7 @@ (define-public rust-gettext-rs-0.5 (arguments `(#:cargo-inputs (("rust-gettext-sys" ,rust-gettext-sys-0.19) - ("rust-locale-config" ,rust-locale-config-0.3)) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'use-system-gettext - (lambda* (#:key inputs #:allow-other-keys) - (let ((gettext (assoc-ref inputs "gettext"))) - (setenv "GETTEXT_SYSTEM" gettext) - #t)))))) + ("rust-locale-config" ,rust-locale-config-0.3)))) (inputs `(("gettext" ,gettext-minimal))) (home-page "https://github.com/Koka/gettext-rs") @@ -10062,14 +10055,7 @@ (define-public rust-gettext-rs-0.4 (arguments `(#:cargo-inputs (("rust-gettext-sys" ,rust-gettext-sys-0.19) - ("rust-locale-config" ,rust-locale-config-0.2)) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'use-system-gettext - (lambda* (#:key inputs #:allow-other-keys) - (let ((gettext (assoc-ref inputs "gettext"))) - (setenv "GETTEXT_SYSTEM" gettext) - #t)))))))) + ("rust-locale-config" ,rust-locale-config-0.2)))))) (define-public rust-gettext-sys-0.19 (package @@ -10090,14 +10076,7 @@ (define-public rust-gettext-sys-0.19 (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-cc" ,rust-cc-1)) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'use-system-gettext - (lambda* (#:key inputs #:allow-other-keys) - (let ((gettext (assoc-ref inputs "gettext"))) - (setenv "GETTEXT_SYSTEM" gettext) - #t)))))) + (("rust-cc" ,rust-cc-1)))) (inputs `(("gettext" ,gettext-minimal))) (home-page "https://github.com/Koka/gettext-rs") diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 8c0268906e..a638d0eded 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -124,6 +124,8 @@ (define* (configure #:key inputs (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1") (when (assoc-ref inputs "openssl") (setenv "OPENSSL_DIR" (assoc-ref inputs "openssl"))) + (when (assoc-ref inputs "gettext") + (setenv "GETTEXT_SYSTEM" (assoc-ref inputs "gettext"))) (when (assoc-ref inputs "clang") (setenv "LIBCLANG_PATH" (string-append (assoc-ref inputs "clang") "/lib"))) -- cgit v1.2.3