1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-09 06:30:36 +02:00
Commit Graph

319 Commits

Author SHA1 Message Date
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 02d21712be1eb31a917313662b924763e81affb3.

* 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
Efraim Flashner
3c30b715f0 gnu: make-rust-sysroot: Remove unneeded input.
* gnu/packages/rust.scm (make-rust-sysroot/implementation)[inputs]: When
building targeting mingw32 don't add libunwind.

Change-Id: I4623bf3c034c488d7f836f64ea0d7924899ce6ad
2024-02-20 13:57:41 +02:00
Efraim Flashner
f9a12c1e02 gnu: rust-1.55: Build with fewer packages.
* gnu/packages/rust.scm (rust-1.55)[inputs]: Remove libssh2, curl.
[native-inputs]: Remove cmake-minimal, which.
(rust)[inputs]: Add curl.

Change-Id: Icf2355e0f84a50ea44bb057c6d6ccd89eead0191
2024-02-20 13:57:41 +02:00
Efraim Flashner
64694083d5 gnu: rust-bootstrap: Build with fewer packages.
Use more of the bundled libraries so we have fewer dependencies causing
rebuilds in the future.

* gnu/packages/rust.scm (rust-bootstrap)[inputs]: Remove curl.
[native-inputs]: Remove bison, flex.

Change-Id: Ibc743a48536e1474b9ef343962e27d8128e6a20f
2024-02-20 13:57:41 +02:00
Efraim Flashner
3bc167f42e gnu: rust: Update to 1.75.0.
* gnu/packages/rust.scm (rust-1.75): New variable.
(rust): Update to 1.75.0.
[arguments]: Adjust substitutions in custom phases for changes in source
code.

Change-Id: I0065d09a297e227e58998455bb90d18304fd6729
2024-02-20 13:57:01 +02:00
Efraim Flashner
1151cd6cf0 gnu: rust-1.55: Build without jemalloc.
* gnu/packages/rust.scm (rust-1.55)[arguments]: Remove references to
jemalloc in custom 'configure phase and set rust to build without
jemalloc.
[inputs]: Remove jemalloc.

Change-Id: I388688111c897b15feb6ccee3374219b82f64169
2024-02-20 13:56:20 +02:00
Efraim Flashner
3a076fc06e gnu: rust: Use platform-rust-target.
* gnu/packages/rust.scm (nix-system->gnu-triplet-for-rust): Remove
procedure.
(rust-bootstrap)[arguments]: Adjust make-flags, custom 'install phase
to use platform-rust-target.
(rust-1.55)[arguments]: Adjust custom 'configure and 'install phases to
use platform-rust-target.
(make-rust-sysroot)[arguments]: Adjust custom 'configure phase to use
platform-rust-target.

Change-Id: I102d44231c1411ea14ca75170f4884304d11bee1
2024-02-20 13:56:20 +02:00
Efraim Flashner
4bf325381f gnu: rust: Update to 1.74.1.
* gnu/packages/rust.scm (rust-1.74): New variable.
(rust): Inherit from rust-1.74.
[arguments]: Don't inherit #:tests.

Change-Id: I9724ccbc93bbfd4e1bdf1d6a20dfa7a4d0ea3a5e
2024-02-20 13:56:20 +02:00
Efraim Flashner
072a9c60ab gnu: rust: Move remove-uninstall-script to rust.
* gnu/packages/rust.scm (rust)[arguments]: Add 'remove-uninstall-script
phase.
(make-rust-sysroot)[arguments]: Remove 'remove-uninstall-script phase.

Change-Id: I45bcaaa89003693b490b914efbfa34236a8f4db6
2024-02-20 13:56:17 +02:00
Ludovic Courtès
db43edaa0a gnu: Make intermediate packages public but hidden.
This makes those packages visible to (gnu ci), giving them first class
in the eyes of Cuirass and similar tools, in turn ensuring substitutes
are available (this was discovered by running ‘guix weather -c 10’).

* gnu/packages/rust.scm (rust-bootstrap, rust-1.55)
(rust-1.56, rust-1.57, rust-1.58, rust-1.59, rust-1.60)
(rust-1.61, rust-1.62, rust-1.63, rust-1.64, rust-1.65)
(rust-1.66, rust-1.67, rust-1.68, rust-1.69, rust-1.70)
(rust-1.71, rust-1.72, rust-1.73): Make variable public and add
‘hidden?’ property.
(rust): Remove ‘hidden?’ property.
* gnu/packages/java.scm (java-hamcrest-parent-pom)
(java-org-ow2-parent-pom-1.3, java-asm-bootstrap): Make variable public
and add ‘hidden?’ property.
* gnu/packages/ocaml.scm (dune-bootstrap)
(ocaml4.09-dune-bootstrap, ocaml5.0-dune-bootstrap): Likewise.

Change-Id: I32b0ea639a4f1c39466875acdbc9cbadf75c7668
2024-01-14 23:00:02 +01:00
Christopher Baines
d162bd0e72 packages: rust: Memoize make-rust-sysroot results.
To ensure that it just returns a single package record for some given
arguments, as this helps to avoid poor performance of the store connection
object cache.

Performance with computing the cross derivations is important for the data
service, as it's currently very slow to process revisions.

* gnu/packages/rust.scm (make-rust-sysroot): Move code to
make-rust-sysroot/implementation.
(make-rust-sysroot/implementation): New variable.

Change-Id: Ibb30c7398328c87c032bb8828635a34ada935167
2024-01-12 12:06:57 +00:00
Efraim Flashner
5f812344d2 gnu: rust-1.64: Don't make package public.
* gnu/packages/rust.scm (rust-1.64): Use define, not define-public.

Change-Id: I475e8b1028a716f1d04a4aea5da4d6e7ca2a87d7
2023-12-13 10:08:43 +02:00
Efraim Flashner
2700ed8ee6 gnu: rust: Add triplets for Windows.
* gnu/packages/rust.scm (nix-system->gnu-triplet-for-rust): Add entries
for i686-mingw and x86_64-mingw.

Change-Id: I13615c1548d96863bc32620269d82975e4599c08
2023-11-28 07:59:43 +02:00
Efraim Flashner
f284ca9a1b gnu: rust: Add triplet for the Hurd.
* gnu/packages/rust.scm (nix-system->gnu-triplet-for-rust): Add entries
for i586-pc, i686-pc.

Change-Id: I0b7bdc3c0445430b5f4ea79d8e052b6ef276f11b
2023-11-28 07:59:43 +02:00
Efraim Flashner
584bd0bb3d gnu: Add make-rust-sysroot.
* gnu/packages/rust.scm (make-rust-sysroot): New procedure.

Change-Id: I5ce4b7a3aab0a9e8d254159e2fbc6cf6b3442c32
2023-11-28 07:59:43 +02:00
Efraim Flashner
273bd81188 gnu: rust: Allow using custom rust-src for rust-analyzer.
* gnu/packages/rust.scm (rust)[arguments]: Rewrite 'wrap-rust-analyzer
phase to allow using a custom RUST_SRC_PATH.

Change-Id: Id811bc8d09c0f955ece9c9e6267a0ae96e61f105
2023-11-28 07:59:22 +02:00