Revert "gnu: rust: Remove more bundled sources."

This reverts commit 7e777d70e67cc90f019988aa2af68bbf1fe25c00.

This makes it impractical to update several libraries without a rust
rebuild. Since rust doesn't retain a reference to these libraries it
isn't clear that this is the best choice.
This commit is contained in:
Efraim Flashner 2023-03-15 22:57:51 +02:00
parent a1a17393f4
commit ebde6b712a
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351

View File

@ -50,7 +50,6 @@
#: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)
@ -712,33 +711,6 @@ 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)
@ -835,11 +807,6 @@ 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")))
@ -884,8 +851,6 @@ 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)