[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
299/471: gnu: rust: Remove more bundled sources.
From: |
guix-commits |
Subject: |
299/471: gnu: rust: Remove more bundled sources. |
Date: |
Wed, 3 May 2023 09:28:33 -0400 (EDT) |
efraim pushed a commit to branch rust-team
in repository guix.
commit f50171547742d6fb8531569121d7cc8f175846c6
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Tue Mar 14 14:00:25 2023 +0200
gnu: rust: Remove more bundled sources.
* gnu/packages/rust.scm (rust)[source]: Adjust snippet to remove more
bundled sources.
[arguments]: Add a phase to set flags to use more system libraries.
[inputs]: Add curl, libgit2, libssh, xz, zlib.
---
gnu/packages/rust.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index fcb8a77a2e..34cdf04f59 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -50,6 +50,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages)
#:use-module (guix build-system cargo)
#:use-module (guix build-system copy)
@@ -707,6 +708,33 @@ safety and thread safety guarantees.")
(package
(inherit base-rust)
(outputs (cons "rustfmt" (package-outputs base-rust)))
+ ;; This is the rust we build everything with, so we make sure to
unbundle more.
+ ;; We allow other versions of the rust compiler to use bundled sources
so we
+ ;; don't have to worry about carrying old versions of some libraries.
+ (source
+ (origin
+ (inherit (package-source base-rust))
+ (snippet
+ '(begin
+ (for-each delete-file-recursively
+ '("src/llvm-project"
+ "vendor/curl-sys/curl"
+ "vendor/jemalloc-sys/jemalloc"
+ "vendor/libgit2-sys/libgit2"
+ ;"vendor/libnghttp2-sys/nghttp2"
+ "vendor/libssh2-sys/libssh2"
+ "vendor/libz-sys/src/zlib"
+ ;"vendor/libz-sys/src/zlib-ng"
+ "vendor/lzma-sys/xz-5.2"
+ ;"vendor/openssl-src"
+ "vendor/tikv-jemalloc-sys/jemalloc"))
+ ;; Remove vendored dynamically linked libraries.
+ ;; find . -not -type d -executable -exec file {} \+ | grep ELF
+ (delete-file "vendor/vte/vim10m_match")
+ (delete-file "vendor/vte/vim10m_table")
+ ;; Also remove the bundled (mostly Windows) libraries.
+ (for-each delete-file
+ (find-files "vendor" ".*\\.(a|dll|exe|lib)$"))))))
(arguments
(substitute-keyword-arguments (package-arguments base-rust)
((#:tests? _ #f)
@@ -803,6 +831,11 @@ safety and thread safety guarantees.")
((file) file))
(("fn ctrl_c_kills_everyone")
"#[ignore]\nfn ctrl_c_kills_everyone"))))
+ (add-after 'set-env 'set-more-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "LIBGIT2_SYS_USE_PKG_CONFIG" "1")
+ (setenv "LIBSSH2_SYS_USE_PKG_CONFIG" "1")
+ (setenv "OPENSSL_DIR" (assoc-ref inputs "openssl"))))
(add-after 'configure 'add-gdb-to-config
(lambda* (#:key inputs #:allow-other-keys)
(let ((gdb (assoc-ref inputs "gdb")))
@@ -847,6 +880,8 @@ safety and thread safety guarantees.")
(("prefix = \"[^\"]*\"")
(format #f "prefix = ~s" (assoc-ref outputs "rustfmt"))))
(invoke "./x.py" "install" "rustfmt")))))))
+ (inputs (modify-inputs (package-inputs base-rust)
+ (prepend curl libgit2 libssh xz zlib)))
;; Add test inputs.
(native-inputs (cons* `("gdb" ,gdb/pinned)
`("procps" ,procps)
- 325/471: gnu: rust-windows-x86-64-msvc-0.42: Update to 0.42.2., (continued)
- 325/471: gnu: rust-windows-x86-64-msvc-0.42: Update to 0.42.2., guix-commits, 2023/05/03
- 313/471: gnu: Add rust-pyo3-build-config-0.18., guix-commits, 2023/05/03
- 321/471: gnu: rust-windows-i686-msvc-0.42: Update to 0.42.2., guix-commits, 2023/05/03
- 322/471: gnu: rust-windows-i686-gnu-0.42: Update to 0.42.2., guix-commits, 2023/05/03
- 260/471: gnu: rust-similar-2: Update to 2.2.1., guix-commits, 2023/05/03
- 266/471: gnu: Add rust-normpath-0.3., guix-commits, 2023/05/03
- 274/471: gnu: Add rust-mock-instant-0.2., guix-commits, 2023/05/03
- 281/471: gnu: rust-derive-arbitrary-1: Update to 1.2.3., guix-commits, 2023/05/03
- 286/471: gnu: rust-ring-0.13: Remove pregenerated files., guix-commits, 2023/05/03
- 292/471: gnu: libsequoia: Use existing rust-tokio-1., guix-commits, 2023/05/03
- 299/471: gnu: rust: Remove more bundled sources.,
guix-commits <=
- 320/471: gnu: rust-uuid-macro-internal-1: Update to 1.3.0., guix-commits, 2023/05/03
- 332/471: gnu: rust-uuid-1: Update to 1.3.0., guix-commits, 2023/05/03
- 329/471: gnu: rust-typenum-1: Update to 1.16.0., guix-commits, 2023/05/03
- 335/471: gnu: rust-bytecheck-0.6: Update to 0.6.10., guix-commits, 2023/05/03
- 324/471: gnu: rust-windows-aarch64-gnullvm-0.42: Update to 0.42.2., guix-commits, 2023/05/03
- 339/471: gnu: rust-quote-1: Update to 1.0.25., guix-commits, 2023/05/03
- 346/471: gnu: Add rust-structmeta-0.1., guix-commits, 2023/05/03
- 343/471: gnu: rust-serde-1: Update to 1.0.158., guix-commits, 2023/05/03
- 347/471: gnu: Add rust-test-strategy-0.2., guix-commits, 2023/05/03
- 350/471: gnu: Add rust-windows-implement-0.46., guix-commits, 2023/05/03