gnu: rust-1.67: Fix building on powerpc64le-linux.

* gnu/packages/rust.scm (rust-1.67)[source]: Adjust snippet to fix
building rustix on all architectures.

Change-Id: I3bfd30d541574daae6223066c57c2d311e436075
This commit is contained in:
Efraim Flashner 2024-01-16 20:46:55 +02:00
parent aa4f4811c6
commit b3b273ff89
No known key found for this signature in database
GPG key ID: 41AAE7DCCA3D8351

View file

@ -715,6 +715,31 @@ (define-public rust-1.67
rust-1.66 "1.67.1" "0vpzv6rm3w1wbni17ryvcw83k5klhghklylfdza3nnp8blz3sj26")))
(package
(inherit base-rust)
(source
(origin
(inherit (package-source base-rust))
(snippet
'(begin
(for-each delete-file-recursively
'("src/llvm-project"
"vendor/openssl-src/openssl"
"vendor/tikv-jemalloc-sys/jemalloc"))
;; Adjust rustix to always build with cc.
(substitute* '("Cargo.lock"
"src/bootstrap/Cargo.lock")
(("\"errno\",") "\"cc\",\n \"errno\","))
;; Add a dependency on the the 'cc' feature of rustix.
(substitute* "vendor/fd-lock/Cargo.toml"
(("\"fs\"") "\"fs\", \"cc\""))
(substitute* "vendor/is-terminal/Cargo.toml"
(("\"termios\"") "\"termios\", \"cc\""))
;; 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)$"))))))
(inputs (modify-inputs (package-inputs base-rust)
(replace "llvm" llvm-15))))))