Commit Graph

302 Commits

Author SHA1 Message Date
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
Efraim Flashner
bb108d7efd
gnu: rust-analyzer: Move to rust.scm.
* gnu/packages/rust-apps.scm (rust-analyzer): Move ...
* gnu/packages/rust.scm (rust-analyzer): ... to here.

Change-Id: I24db3731370f6e798b919409a32abec4a115c913
2023-11-28 07:59:07 +02:00
Efraim Flashner
845091073d
gnu: Remove rust-src-1.64.
* gnu/packages/rust.scm (rust-src-1.64): Remove variable.

Change-Id: I88f7ebed18e478f3982cad3c8586cff64dada1bb
2023-11-28 07:59:00 +02:00
Efraim Flashner
2c6b585f05
gnu: rust: Update to 1.73.0.
* gnu/packages/rust.scm (rust): Update to 1.73.0.
[arguments]: Add phase to skip some tests using cargo publish.

Change-Id: I3b0539ce036805f606bfbc1a1bba98a95d4a22fe
2023-11-28 07:58:06 +02:00
Herman Rimm
54e88d8da5
gnu: Add rust-1.73.
* gnu/packages/rust.scm (rust-1.73): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Change-Id: I97ab62112cd9386427d3cf8f9f6e1700492966b1
2023-10-23 09:29:37 +03:00
Efraim Flashner
d45992833b
gnu: Add rust-1.72.
* gnu/packages/rust.scm (rust-1.72): New variable.
2023-10-18 11:36:31 +03:00
Efraim Flashner
519995f36f
gnu: Add rust-1.71.
* gnu/packages/rust.scm (rust-1.71): New variable.
2023-10-18 11:36:31 +03:00
Efraim Flashner
322b124936
gnu: rust: Fix test failures on some architectures.
* gnu/packages/rust.scm (rust)[arguments]: Adjust custom phase
'patch-process-tests to enable tests to pass on all architectures.
2023-10-18 11:36:06 +03:00
Efraim Flashner
020aca2a1f
gnu: rust: Wrap rust-analyzer with rust source.
* gnu/packages/rust.scm (rust)[outputs]: Add rust-src output.
[arguments]: Add a phase to install the rust sources and a phase to wrap
the rust-analyzer binary with the path to the rust sources.
2023-10-18 11:35:53 +03:00
Efraim Flashner
df93d8a9f8
gnu: rust: Build more tools.
* gnu/packages/rust.scm (rust)[outputs]: Rename 'rustfmt' output to
'tools'.
[arguments]: Adjust 'build, 'check and 'install phases to also provide
clippy and rust-analyzer.
2023-10-18 11:35:40 +03:00
Efraim Flashner
14d87c3827
gnu: rust: Update to 1.70.0.
* gnu/packages/rust.scm (rust): Update to 1.70.0.
[arguments]: Remove 'patch-cargo-env-shebang phase. Adjust custom phases
'disable-tests-requiring-git, disable-tests-requiring-mercurial,
'patch-command-uid-gid-test for changes in the source.  Simplify custom
phases 'disable-tests-broken-on-aarch64, 'patch-process-tests,
'patch-command-exec-tests, 'disable-interrupt-tests.
2023-10-18 11:35:40 +03:00
Fries
839f16dbee
gnu: rust: Add make-ignore-test-list function.
A little helper function to make creating a list to ignore tests easier.

* gnu/packages/rust.scm (make-ignore-test-list): New function.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-10-18 11:35:39 +03:00
Fries
299a223835
gnu: Add rust-1.70.
* gnu/packages/rust.scm (rust-1.70): New variable.
* gnu/packages/patches/rust-1.70-fix-rustix-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register file.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-10-18 11:35:39 +03:00
Fries
fb04d0139e
gnu: Add rust-1.69.
* gnu/packages/rust.scm (rust-1.69): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-10-18 11:35:39 +03:00
Christopher Baines
54fd990973
gnu: rust-1.55: Remove i586-gnu from supported-systems.
* gnu/packages/rust.scm (rust-1.55)[supported-systems]: Remove i586-gnu.
2023-09-16 09:20:52 +01:00
Distopico
a4514556df
gnu: rust-analyzer: Fix build of version 2022-01-10.
* gnu/packages/rust-apps.scm (rust-analyzer): Update dependency
rust-notify-5-pre.13.

This fixes the build of `rust-analyzer@2022-01-10`, which required a pinned
version of `rust-notify` (`rust-notify-5-pre.13`) to compile and
rust >= 1.64.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-09-09 15:54:38 +02:00
Efraim Flashner
6ac2ed146c
gnu: rust: Update to 1.68.2.
* gnu/packages/rust.scm (rust): Update to 1.68.2.
[arguments]: Adjust 'skip-shebang-tests phase to moved files. Add
'adjust-rpath-values phase to link to shared libraries.
2023-08-14 19:37:26 +03:00
Efraim Flashner
3f00f46ada
Revert "gnu: rust-bootstrap: Remove aarch64 as a supported architecture."
This reverts commit c56d57110d.

rust-bootstrap *IS* supported on aarch64-linux, and the build farm will
catch up eventually.
2023-05-09 16:54:29 +03:00