Commit graph

334 commits

Author SHA1 Message Date
Jean-Baptiste Note
7c43acd025
gnu: rust: Add CARGO_HTTP_CAINFO to native-search-path.
* gnu/packages/rust.scm (rust)[native-search-paths]: Add
CARGO_HTTP_CAINFO native-search-path so that Cargo honors custom
certificates (a la GIT_SSL_CAINFO).

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I3eca13d8e12cbfd680cd33e22ff6d1aea7a7e379
2025-01-06 12:19:01 +02:00
Efraim Flashner
07bdee0277
gnu: mrustc: Update to 0.11.0-1.5e01a76.
* gnu/packages/rust.scm (%mrustc-commit): Update to newest commit.
(%mrustc-source): Update to 0.11.0-1.5e01a76.  Add a patch.  Adjust the
snippet to not use vendored openssl.
(rust-bootstrap)[source]: Remove patch, remove patch-flags.  Add to the
snippet a substitution for compatibility with llvm-13.
[inputs]: Remove input labels.  Remove conditional use of clang.
[arguments]: Allow parallel building on all architectures.  Update the
make-flags.  Replace the 'unpack phase to unpack the mrustc sources.
Delete the custom 'set-mrustc-sources and 'patch-cargo-checksum phases.
Adjust the custom 'patch-makefiles phase.  Adjust the 'configure and
'build phases to no longer use clang on some architectures.
* gnu/packages/patches/mrustc-patches.patch: New file.
* gnu/packages/patches/rustc-1.54.0-src.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Update it.

Change-Id: I7e444abe4b386b1bb77f05a278ddef45152ddb3c
2025-01-06 12:15:04 +02:00
Maxim Cournoyer
283ecf51fc
gnu: rust-1.55: Use minimal variant of python-wrapper.
This should help reduce the number of times rebuilding the rust bootstrap
chain from scratch is needed when updating packages.

* gnu/packages/rust.scm (rust-1.55) [native-inputs]: Replace python-wrapper
with python-minimal-wrapper.

Change-Id: I92c88192c75353b22f374d5c301776d2bcc6b1db
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:14:58 +02:00
Efraim Flashner
d3185f33cd
gnu: rust-bootstrap: Don't use parallel-build.
* gnu/packages/rust.scm (rust-bootstrap)[arguments]: Change
parallel-build? to be false on all architectures.

Change-Id: I36aa984f9d47e01d35270423dbf44d57182854f0
2025-01-06 12:14:57 +02:00
Efraim Flashner
46abb5212e
gnu: make-rust-sysroot: Adjust for newer cross-gcc.
* gnu/packages/rust.scm (make-rust-sysroot/implementation)
[native-inputs]: Add gcc-14.

Change-Id: If9bc74bfe2e236accc39dc09e03b28dee62e332d
2024-12-05 14:09:20 +02:00
Efraim Flashner
d3c929a4bd
gnu: make-rust-sysroot: Simplify native-inputs.
* gnu/packages/rust.scm (make-rust-sysroot/implementation)
[native-inputs]: Combine the different modify-input branches into one.

Change-Id: Ia7df5d1566099f9934a76b2660f46a55547c88b9
2024-12-05 14:07:47 +02:00
Efraim Flashner
be53521d4c
gnu: make-rust-sysroot: Accept other mingw targets.
* gnu/packages/rust.scm (make-rust-sysroot/implementation)[arguments]:
Adjust the custom 'patch-for-mingw phase to generate the name of the
mingw input package based on the target architecture.
[inputs, native-inputs]: Use make-mingw-w64 to choose the mingw package
for the target.

Change-Id: I48638095a504675753e65fdb6f0286c31cebde66
2024-12-05 13:20:18 +02:00
Brennan Vincent
ff785d32e3
gnu: rust: Update to 1.82.
gnu/packages/rust.scm (rust-1.81)[source]: Add patch to fix bootstrap of
1.82 on riscv64.
gnu/packages/rust.scm (rust-1.82): New variable.
gnu/packages/rust.scm (rust): Update to 1.82.
[source]: Update snippet for newer version.
[arguments]: Disable more tests in the 'disable-tests-requiring-crates.io
phase.

Change-Id: If6ff59011edca7a230946a3ba77b51f26cd47789
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-11-28 11:05:03 +02:00
Efraim Flashner
defbf22797
gnu: make-rust-sysroot: Adjust for newer rust version.
* gnu/packages/rust.scm (make-rust-sysroot)[arguments]: Adjust
'unbundle-xz phase for changes in vendored libraries.  Delete inherited
'enable-profiling phase.

Change-Id: I27a5fc2e2a3f9ad3a32b71d1d28d984fb5bcc37e
2024-11-28 11:04:19 +02:00
Efraim Flashner
b8ad77fa1d
gnu: rust: Build with clang sources for version 17.
* gnu/packages/rust.scm (rust)[native-inputs]: Update clang-source to 17.

Change-Id: I2b63b0c311eca9d66ea91deead26cf815018e977
2024-11-28 11:04:19 +02:00
Brennan Vincent
b78c6991e4
gnu: rust: Update to 1.81.
gnu/packages/rust.scm (rust-1.81): New variable.
gnu/packages/rust.scm (rust): Update to 1.81.

Change-Id: Idb1958364225bebb9aa415419083b6ab97d7c4c7
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-11-28 11:04:19 +02:00
Brennan Vincent
89d6561de9
gnu: rust: Update to 1.80.
gnu/packages/rust.scm (rust): Update to 1.80.

Change-Id: Ife65cb52362a30df8aabd4255a3fdc3c3d60e7bb
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-11-28 11:04:18 +02:00
Brennan Vincent
31fafd2270
gnu: Add rust-1.80.
gnu/packages/rust.scm (rust-1.80): New variable.

Change-Id: Ie7dd276f7b4d606660557f3da42064b04dda1435
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-11-28 11:04:18 +02:00
Brennan Vincent
40d3ae1132
gnu: rust: Update to 1.79.
* gnu/packages/rust.scm (rust): Update to 1.79.
[source]: Adjust snippet of removed bundled sources.

Change-Id: Ic43b4c540413a0e1a08d46cca5a092badc221753
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-11-28 11:04:18 +02:00
Brennan Vincent
d3f5963b7c
gnu: rust: Update to 1.78.
* gnu/packages/rust.scm (rust): Update to 1.78.
[source]: Adjust removal of bundled source libraries.
[arguments]: Add a phase skipping tests requiring crates.io.
(rust-1.78)[source]: Add patch.
* gnu/packages/patches/rust-1.78-unwinding-fix.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Change-Id: I7bf37a9321447ac21644af0e2d023b8bc556da59
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-11-28 11:04:08 +02:00
Maxim Cournoyer
f719373583
gnu: make-rust-sysroot/implementation: Use gexps.
* gnu/packages/rust.scm (make-rust-sysroot/implementation): Use gexps.

Change-Id: Ie35ca201c2a55f00023dad02a0d1121b6f298812
2024-08-31 10:44:46 +02:00
Efraim Flashner
6c5edd3e68
gnu: rust: Fix building.
* gnu/packages/rust.scm (rust)[arguments]: Adjust 'unpack-compiler-rt
phase to correctly copy the sources into the target directory.  Adjust
'enable-profiling phase to come after an existing phase.
[native-inputs]: Add clang-runtime-source.

Change-Id: I2e05fa86c4eaf8c2f5f3562d9f7939cd881cde3f
2024-08-31 10:44:44 +02:00
Milkey Mouse
3a930659a4
gnu: rust: Add profiling support.
* gnu/packages/rust.scm (rust-1.52)
[phases] <unpack-profiler-rt, enable-profiling>: New phases.

Change-Id: Iecb4aef518e52f71ff7f539778bf0341288a3458
2024-08-31 10:44:36 +02:00
Ludovic Courtès
c48f446444
gnu: rust: Run linker under C.UTF-8 instead of en_US.UTF-8.
This is a followup to 02d21712be.

* gnu/packages/rust.scm (rust-1.55)[arguments]: In
‘set-linker-locale-to-utf8’, change to C.UTF-8.

Change-Id: I94f27123ca8ac4761fd9bae6267c3a9d122b3a1d
2024-08-31 10:44:21 +02:00
Maxime Devos
90f7b09550
gnu: rust: Add 'bash' input for 'wrap-program'.
It is required for cross-compilation.

* gnu/packages/rust.scm
(rust-bootstrap)[inputs]: Add 'bash-minimal'.
(rust-1.55)[inputs]: Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I8f0f71b236504d6a2e04c5823fbf20f926485992
2024-08-31 10:42:45 +02:00
Efraim Flashner
6736533dcb
gnu: rust: Update to 1.77.1.
* gnu/packages/rust.scm (rust-1.77): Update to 1.77.1.
[arguments]: Skip another test when building for riscv64-linux.

Change-Id: I5a38ed2a809b911be5750646c29c44fcac1f0d02
2024-07-19 00:46:42 +03:00
Efraim Flashner
4fbfb4ddde
gnu: rust: Skip another test on riscv64-linux.
* gnu/packages/rust.scm (rust)[arguments]: When building for
riscv64-linux skip another test.

Change-Id: I2ec02d2fc441b890a576972e321a576cd13a1c8e
2024-07-19 00:44:54 +03:00
Brennan Vincent
80f58e508f
gnu: rust: Update to 1.77.0.
* gnu/packages/rust.scm (rust): Base main rust package on rust-1.77.
[source]: Remove another vendored copy of zlib.

Change-Id: Ia4611b0ea153bce1de97e711af6d3f7396a6bf85
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-07-19 00:43:50 +03:00
Efraim Flashner
25421f3719
gnu: rust: Skip another test on riscv64-linux.
* gnu/packages/rust.scm (rust)[arguments]: When building for
riscv64-linux skip another test.

Change-Id: I29654d0c2f7a62a8a0e5beeea3bc899510cedc71
2024-07-19 00:42:49 +03:00
Brennan Vincent
c76176a6c6
gnu: rust: Update to 1.76.0.
* gnu/packages/rust.scm (rust): Update to 1.76.0.
[source]: Remove another copy of jemalloc.
[properties]: Update clang-compiler-cpu-architecture to 17.

Change-Id: I363d789ab22d2937eeb3846dec460ac902c44255
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-07-19 00:40:13 +03:00
Christopher Baines
67b212ff60
gnu: rust: Guard against unsupported rust targets.
As cross-libc may return #f in this case, and the config.toml file
construction will also fail if the platform rust-target is #f..

* gnu/packages/rust.scm (make-rust-sysroot/implementation): Guard against
unsupported rust targets.

Change-Id: Ia0d5c889c6f5cd3478ad985c79feb9ba1c472c29
2024-07-15 22:34:24 +01:00
Efraim Flashner
41891ea973
gnu: Add rust-1.79.
* gnu/packages/rust.scm (rust-1.79): New variable.

Change-Id: Idf54e6504eca7e8cf8a49e664e5aa6c8ff18555d
2024-06-26 12:35:26 +03:00
Efraim Flashner
0fd8c0031e
gnu: Add rust-1.78.
* gnu/packages/rust.scm (rust-1.78): New variable.

Change-Id: Iab24c4f130e208d9152448d7be5899ab8c13456f
2024-06-26 12:35:26 +03:00
Brennan Vincent
a47b695926
gnu: Add rust-1.77.0.
* gnu/packages/rust.scm (rust-1.77): New variable.

Change-Id: Ia4611b0ea153bce1de97e711af6d3f7396a6bf85
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-06-26 12:35:26 +03:00
Brennan Vincent
0d9a97d7a9
gnu: Add rust-1.76.
* gnu/packages/rust.scm (rust-1.76): New variable.

Change-Id: I97c80ffe0b1be203fd8bbfa197fa31a9f31919f6
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2024-06-26 12:35:26 +03:00
Efraim Flashner
cee74f3725
gnu: rust: Make all intermediate packages public.
* gnu/packages/rust.scm (rust-1.74, rust-1.75): Make package public.

Change-Id: Id45d6e8c6e6c42811d4cbc3ab50c61045a7c9090
2024-03-13 21:14:46 +02:00
Efraim Flashner
2f5d2c406e
gnu: rust: Add tuning information.
* gnu/packages/rust.scm (rust)[properties]: Add clang-properties
matching the input llvm package.

Change-Id: Ie2ef2387fff8aa639dcd73752bcaf3c26bbb376d
2024-03-10 12:50:13 +02:00
Efraim Flashner
8ae188574f
gnu: rust-bootstrap: Update supported-systems.
* gnu/packages/rust.scm (rust-bootstrap)[supported-systems]: Add
riscv64-linux, powerpc64le-linux.

Change-Id: I1584237c4a15ededee95a5d0e52c448f4aa0c9f3
2024-02-20 13:58:32 +02:00
Efraim Flashner
d31b86a698
gnu: rust: Update supported-systems.
* gnu/packages/rust.scm (rust-1.55)[supported-systems]: Explicitly list
systems where the final rust compiler builds successfully.

Change-Id: Icb89dd4eec1404a9d8db54029e69dae02a66f19e
2024-02-20 13:58:32 +02:00
Efraim Flashner
a65361cff1
gnu: rust: Fix building on riscv64-linux.
* gnu/packages/rust.scm (rust)[arguments]: Add a phase when building for
riscv64-linux to skip two tests.

Change-Id: I5ea605efc794efb113022432b74c81e4626e2678
2024-02-20 13:58:32 +02:00
Efraim Flashner
994fad6c52
gnu: rust-1.74: Fix build on riscv64-linux.
* gnu/packages/rust.scm (rust-1.74)[arguments]: When building for
riscv64-linux delete 'revert-riscv-pause-instruction phase.

Change-Id: I59120e8dae995fca52b192b07e265db20d9281e7
2024-02-20 13:58:26 +02:00
Efraim Flashner
f8f8bd9eba
gnu: rust-bootstrap: Fix building on riscv64-linux.
* gnu/packages/rust-bootstrap.scm [properties]: Increase timeout to 36
hours.
[inputs]: When building for riscv64 add clang-13.
[arguments]: When building for riscv64 start the build using clang and
then switch to gcc later.

Change-Id: I661934ff6862e5c8d826dd637ceeaf316b877c23
2024-02-20 13:57:42 +02:00
Efraim Flashner
6302731750
gnu: rust-1.72: Fix building on powerpc64le-linux.
* gnu/packages/rust.scm (rust-1.72)[source]: Adjust snippet to fix
building rustix on all architectures.

Change-Id: If8e6b5c4d0c29d2ee2fdfe58fa7d4d2c1585740e
2024-02-20 13:57:42 +02:00
Efraim Flashner
4e058aa7e8
gnu: rust-1.71: Fix building on powerpc64le-linux.
* gnu/packages/rust.scm (rust-1.71)[source]: Adjust snippet to fix
building rustix on all architectures.

Change-Id: I1661ebd9071b3dba92e0f871fad9ed5bcbef38ea
2024-02-20 13:57:42 +02:00
Efraim Flashner
fb295a6a12
gnu: rust-1.70: Fix building on powerpc64le-linux.
* gnu/packages/rust.scm (rust-1.70)[source]: Adjust snippet to fix
building rustix on all architectures.

Change-Id: Ic9f57e00c8602cd400db65e5b2c2499e972bef17
2024-02-20 13:57:42 +02:00
Efraim Flashner
c4f676b24e
gnu: rust-1.69: Fix building on powerpc64le-linux.
* gnu/packages/rust.scm (rust-1.69)[source]: Adjust snippet to fix
building rustix on all architectures.

Change-Id: I541767f19740b954e8c0f631bd5e77743ae3fb14
2024-02-20 13:57:42 +02:00
Efraim Flashner
b3b273ff89
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
2024-02-20 13:57:42 +02:00
Efraim Flashner
aa4f4811c6
gnu: rust-1.64: Fix building on powerpc64le-linux.
* gnu/packages/rust.scm (rust-1.64)[source]: Adjust snippet to fix
building rustix on all architectures.

Change-Id: Iaa1f1b0ac70b36b6ac8a46e6789ce14d057fde08
2024-02-20 13:57:42 +02:00
Efraim Flashner
930bba1458
gnu: rust-bootstrap: Add support for powerpc64le-linux.
* gnu/packages/rust.scm (rust-bootstrap)[inputs]: When building for
powerpc64le-linux add clang-13.
[arguments]: When building for powerpc64le-linux add a phase adjusting
the llvm output.  Adjust the 'configure phase to start the build with
clang as the C/C++ compiler and switch to GCC after building rustc.

Change-Id: Iad5c8b5bba03289595f18e242392aa7feb249888
2024-02-20 13:57:42 +02:00
Efraim Flashner
d3f4df4be9
gnu: rust: Use more system libraries.
* gnu/packages/rust.scm (rust)[source]: Adjust inherited source to also
unbundle curl, libffi, nghttp2 and zlib.
[inputs]: Add libffi, nghttp2:lib, zlib.

Change-Id: I97932b9afda507a4c655027df494a70cf8c11509
2024-02-20 13:57:41 +02:00
Efraim Flashner
f3b13d4e0e
gnu: rust: Use %gcc-search-paths.
* gnu/packages/rust.scm (rust-1.55)[native-search-paths]: Replace list
with factorized %gcc-search-paths.

Change-Id: I0052aa748d45b2302e86589e0e9bfe1ddc0c6aa3
2024-02-20 13:57:41 +02:00
Efraim Flashner
80fffdcd9c
gnu: rust-1.56: Adjust inherited package arguments.
* gnu/packages/rust.scm (rust-1.56)[arguments]: Strip inherited
validate-runpath flag from inherited arguments.

Change-Id: Iccd742f722ae3013f2ab4eac2234ea923c7af95a
2024-02-20 13:57:41 +02:00
Efraim Flashner
8a6ad1b32d
gnu: rust: Unbundle openssl.
* gnu/packages/rust.scm (rust-bootstrap)[source]: In snippet also remove
bundled openssl, jemalloc.
(rust-1.55, rust-1.61, rust-1.69, rust-1.72, rust-1.73, rust-1.74)
[source]: In snippet also remove bundled openssl.

Change-Id: I6da91820942c36be17f106b426b82d8e068b751c
2024-02-20 13:57:41 +02:00
Efraim Flashner
e825a656eb
gnu: rust-bootstrap: Clean-up code.
* gnu/packages/rust.scm (rust-bootstrap)[arguments]: Remove custom
'patch-reference-to-cc phase which didn't do any substitutions.  Join
two substitutions preventing downloading during the build.  Remove
unneeded variable in let statement.

Change-Id: Iff0262bdff3cb1257afeb83f33c40c54db02dc64
2024-02-20 13:57:41 +02:00
Efraim Flashner
4c60c6e412
gnu: mrustc: Update to 0.10.1.
* gnu/packages/rust.scm (%mrustc-commit, %mrustc-source): Update.
[snippet]: Adjust snippet to make sure to get all the '-g' flags.
(rust-bootstrap)[arguments]: Remove substitution adjusting the number of
parallel builds.  Remove unneeded substitution.
* gnu/packages/patches/rustc-1.54.0-src.patch: Refresh from upstream.

Change-Id: I6f806ee89dcb8e95e8bd2d443328844079ee533e
2024-02-20 13:57:41 +02:00