Commit Graph

241 Commits

Author SHA1 Message Date
Efraim Flashner
5dfab2374f
gnu: rust-1.67: Build with llvm-15.
* gnu/packages/rust.scm (rust-1.67)[inputs]: Replace llvm with llvm-15.
2023-05-07 19:29:09 +03:00
Efraim Flashner
2ed667dd92
gnu: rust-1.55: Explicitly use llvm-13.
* gnu/packages/rust.scm (rust-1.55)[inputs]: Clarify llvm is llvm-13.
2023-05-07 19:28:58 +03:00
Efraim Flashner
a280d7938e
gnu: rust-bootstrap: Explicitly use llvm-13.
* gnu/packages/rust.scm (rust-bootstrap)[inputs]: Clarify llvm is
explicitly llvm-13.
2023-05-07 19:28:58 +03:00
Efraim Flashner
f4c3f2be94
gnu: rust: Update to 1.67.
* gnu/packages/rust.scm (rust): Update to 1.67.
[arguments]: Add a phase to skip tests requiring mercurial. Extend the
custom 'patch-process-tests phase.
(rust-1.64)[arguments]: Adjust 'patch-cargo-checksums phase to patch
another file.
* guix/build/cargo-build-system.scm (package): Adjust to remove
Cargo.toml.orig file if it exists.
2023-05-07 19:28:57 +03:00
Efraim Flashner
424d2bb54b
gnu: Add rust-1.67.
* gnu/packages/rust.scm (rust-1.67): New variable.
2023-05-07 19:28:57 +03:00
Efraim Flashner
8766759041
gnu: Add rust-1.66.
* gnu/packages/rust.scm (rust-1.66): New variable.
2023-05-07 19:28:57 +03:00
Efraim Flashner
82649c6cd7
gnu: rust: Remove bundled compiled libraries.
* gnu/packages/rust.scm (rust-bootstrap)[source]: Adjust snippet to also
remove bundled pre-compiled shared libraries.
(rust-1.55): Same.
2023-05-07 19:28:56 +03:00
Efraim Flashner
8fe5ed47cb
gnu: rust: Disable support for aarch64-linux, riscv64-linux.
Support is currently broken and blocks too many other packages.

* gnu/packages/gnome.scm (librsvg-for-system): Only use librsvg on
x86_64-linux.
* gnu/packages/rust.scm (rust-bootstrap)[supported-systems]: Remove
aarch64-linux, riscv64-linux.
2023-04-29 23:22:30 +03:00
Ludovic Courtès
6b5c21e043
gnu: gdb: Distinguish between the "pinned" and the "default" version.
* gnu/packages/gdb.scm (gdb/pinned): New variable.
* gnu/packages/rust.scm (rust)[native-inputs]: Use it instead of GDB.
2023-04-18 17:51:22 +02:00
Christopher Baines
7df09ee0ab
Merge remote-tracking branch 'savannah/master' into core-updates
Conflicts:
	gnu/local.mk
	gnu/packages/autotools.scm
	gnu/packages/cmake.scm
	gnu/packages/gnuzilla.scm
	gnu/packages/haskell.scm
	gnu/packages/pdf.scm
	gnu/packages/python-xyz.scm
	gnu/packages/samba.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/wxwidgets.scm
2023-03-02 10:55:08 +00:00
Efraim Flashner
672036c6df
gnu: Remove unneeded module imports.
* gnu/packages/abiword.scm,
* gnu/packages/ada.scm,
* gnu/packages/agda.scm,
* gnu/packages/backup.scm,
* gnu/packages/barrier.scm,
* gnu/packages/bioinformatics.scm,
* gnu/packages/bootstrap.scm,
* gnu/packages/bqn.scm,
* gnu/packages/c.scm,
* gnu/packages/chemistry.scm,
* gnu/packages/coq.scm,
* gnu/packages/cross-base.scm,
* gnu/packages/databases.scm,
* gnu/packages/emacs-xyz.scm,
* gnu/packages/enlightenment.scm,
* gnu/packages/games.scm,
* gnu/packages/geo.scm,
* gnu/packages/ghostscript.scm,
* gnu/packages/gl.scm,
* gnu/packages/golang.scm,
* gnu/packages/jami.scm,
* gnu/packages/java-maths.scm,
* gnu/packages/kde-frameworks.scm,
* gnu/packages/kde-plasma.scm,
* gnu/packages/language.scm,
* gnu/packages/libreoffice.scm,
* gnu/packages/linphone.scm,
* gnu/packages/lisp.scm,
* gnu/packages/llvm.scm,
* gnu/packages/machine-learning.scm,
* gnu/packages/minetest.scm,
* gnu/packages/monitoring.scm,
* gnu/packages/nfs.scm,
* gnu/packages/ocr.scm,
* gnu/packages/opencl.scm,
* gnu/packages/pdf.scm,
* gnu/packages/python-xyz.scm,
* gnu/packages/racket.scm,
* gnu/packages/rust.scm,
* gnu/packages/syncthing.scm,
* gnu/packages/syndication.scm,
* gnu/packages/telegram.scm,
* gnu/packages/vulkan.scm,
* gnu/packages/web-browsers.scm,
* gnu/packages/web.scm,
* gnu/packages/webkit.scm: Remove some unecessary module imports.
2023-02-16 22:41:03 +02:00
Efraim Flashner
4cf1acc7f3
Merge remote-tracking branch 'origin/master' into core-updates
Conflicts:
	doc/guix.texi
	gnu/local.mk
	gnu/packages/admin.scm
	gnu/packages/base.scm
	gnu/packages/chromium.scm
	gnu/packages/compression.scm
	gnu/packages/databases.scm
	gnu/packages/diffoscope.scm
	gnu/packages/freedesktop.scm
	gnu/packages/gnome.scm
	gnu/packages/gnupg.scm
	gnu/packages/guile.scm
	gnu/packages/inkscape.scm
	gnu/packages/llvm.scm
	gnu/packages/openldap.scm
	gnu/packages/pciutils.scm
	gnu/packages/ruby.scm
	gnu/packages/samba.scm
	gnu/packages/sqlite.scm
	gnu/packages/statistics.scm
	gnu/packages/syndication.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
	gnu/packages/xml.scm
	guix/build-system/copy.scm
	guix/scripts/home.scm
2023-01-30 12:39:40 +02:00
Efraim Flashner
36b993cd5b
gnu: rust-1.64: Fix building on riscv64-linux.
* gnu/packages/rust.scm (rust-1.64)[source]: Add patch and patch-flags.
(rust-1.65)[source]: Remove patch and reset patch-flags.
* gnu/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2022-11-29 15:11:52 +02:00
Efraim Flashner
45ae3c830f
gnu: Add rust-1.65.
* gnu/packages/rust.scm (rust-1.65): New variable.
2022-11-15 18:13:37 +02:00
Efraim Flashner
b4762e1e87
gnu: Add rust-1.64.
* gnu/packages/rust.scm (rust-1.64): New variable.
2022-11-15 18:13:37 +02:00
kiasoc5
9a27b61d37
gnu: Add rust-1.63.
* gnu/packages/rust.scm (rust-1.63): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-11-15 18:13:37 +02:00
kiasoc5
f0ccfcc0a7
gnu: Add rust-1.62.
* gnu/packages/rust.scm (rust-1.62): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-11-15 18:13:36 +02:00
kiasoc5
27237344d3
gnu: Add rust-1.61.
* gnu/packages/rust.scm (rust-1.61): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-11-15 18:13:36 +02:00
Mark H Weaver
3d6f6d3b45
gnu: rust: Disable debug info to reduce build memory requirements.
* gnu/packages/rust.scm (rust-1.55)[arguments]: In custom 'configure
phase adjust rust's config.toml to disable debug info.
2022-10-20 12:23:51 +03:00
Mark H Weaver
01be1973f4
gnu: rust-bootstrap: Disable debug info during build.
This dramatically reduces the memory required to build Rust, and also
speeds up the build.

* gnu/packages/rust.scm (mrustc)[source]: Add snippet to remove building
debug info with mrustc.
2022-10-20 12:23:51 +03:00
Efraim Flashner
bf8b03667f
gnu: mrustc: Update to 0.10.0-2.597593a.
* gnu/packages/rust.scm (mrustc): Update to 0.10.0-2.597593a.
[source]: Remove patch.
(rust-bootstrap)[arguments]: Adjust custom 'patch-makefiles phase for
changes in source.
* gnu/packages/patches/mrustc-riscv64-support.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
2022-10-20 10:08:54 +03:00
Maxim Cournoyer
4920f6e634
Merge branch 'staging' into core-updates
Conflicts resolved in:
	gnu/local.mk
	gnu/packages/cmake.scm
	gnu/packages/glib.scm
	gnu/packages/gnome.scm
	gnu/packages/gtk.scm
	gnu/packages/sdl.scm

pango-next, vala-next and librsvg-bootstrap were removed in the process.
2022-09-15 11:43:21 -04:00
Efraim Flashner
279349209e
gnu: rust-1.59: Fix building for riscv64-linux.
* gnu/packages/rust.scm (rust-1.59)[arguments]: When building for
riscv64-linux add a phase to support building with llvm < 14.
2022-09-13 11:21:18 +03:00
Marius Bakke
59c136ef61
Merge branch 'staging' into core-updates 2022-08-30 20:18:55 +02:00
Marius Bakke
d62fc2cc83
gnu: rust-bootstrap: Explicitly use OpenSSL@1.1.
* gnu/packages/rust.scm (rust-bootstrap)[inputs]: Change from OPENSSL to
OPENSSL-1.1.
2022-08-30 19:08:00 +02:00
Marius Bakke
827b4117da
Merge branch 'master' into staging 2022-08-30 18:58:57 +02:00
Maxime Devos
f60653a0ef
gnu: rust: Don't ask to run tests when cross-compiling.
* gnu/packages/rust.scm
(rust-1.57)[arguments]{#:tests?}: When cross-compiling, set to #false.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-08-30 08:57:57 +02:00
Marius Bakke
77eb3008e3
Merge branch 'staging' into core-updates 2022-08-11 23:36:10 +02:00
Jim Newsome
ed94004740
gnu: rust: Use rust-1.60.0
* gnu/packages/rust.scm (rust-1.58, rust-1.59, rust-1.60, rust):
  Add rust-1.58, rust-1.59, and rust-1.60, and update rust to
  be based on rust-1.60 instead of rust-1.57.

Signed-off-by: Marius Bakke <marius@gnu.org>
2022-08-04 12:54:06 +02:00
Jim Newsome
f9d947a38c
gnu: rust: decouple rust-1.57 and "rust"
* gnu/packages/rust.scm (rust-1.57, rust): decouple the definition of
rust-1.57, which happens to be the current latest, from the definition
of rust, which is always the latest. The latter re-enables tests and
extra components, which should always be done only on the final public
rust package, not specifically rust-1.57.

Signed-off-by: Marius Bakke <marius@gnu.org>
2022-08-04 12:54:06 +02:00
Marius Bakke
8a2b5f3f58
gnu: GCC: Fix union optimization issue.
* gnu/packages/patches/gcc-10-tree-sra-union-handling.patch: New file.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/gcc.scm (gcc-10, gcc-11)[source](patches): Add it.
* gnu/packages/rust.scm (rust-bootstrap)[native-inputs]: Remove GCC-9.
2022-07-27 17:53:49 +02:00
Efraim Flashner
05e3ff8f38
gnu: rust-1.55: Fix building on riscv64-linux.
* gnu/packages/rust.scm (rust-1.55)[source]: Adjust snippet to fix
riscv64 support in jemallocator crate.
2022-07-10 20:38:59 +03:00
Efraim Flashner
ca4bfb0f2d
gnu: rust-bootstrap: Add support for riscv64-linux.
* gnu/packages/rust.scm (%mrustc-source): Add patch.
(rust-bootstrap)[native-inputs]: On riscv64-linux add gcc@9:lib.
[supported-systems]: Add riscv64-linux. Adjust comment.
* gnu/packages/patches/mrustc-riscv64-support.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
2022-07-10 20:38:59 +03:00
Efraim Flashner
37cf96835c
gnu: rust: Add correct triplet for riscv64-linux.
* gnu/packages/rust.scm (nix-system->gnu-triplet-for-rust): Add entry
for riscv64-linux.
2022-07-05 12:52:53 +03:00
Efraim Flashner
5cf9a03b7a
gnu: rust: Bootstrap with rust-1.54.0.
* gnu/packages/rust.scm (rust-1.39): Rename to rust-bootstrap. Update to
1.54.0.
[source]: Update snippet to new version. Replace mrustc patch for 1.39.0
with patch for 1.54.0.
[inputs]: Remove libssh2. Replace llvm-9 with llvm. Add gcc-9.
[arguments]: Adjust custom 'setup-mrustc-sources to also create file
with rust version. Adjust custom 'patch-makefiles phase to changes in
mrustc's build steps. Adjust custom 'build phase to follow mrustc's
build steps for rust-1.54.
(rust-1.40): Replace post-bootstrapped rust-1.40 with 1.55.
[arguments]: Add custom 'set-linker-locale-to-utf8 phase. Adjust custom
'build phase. Remove custom 'neuter-tidy phase.
[inputs]: Replace llvm-9 with llvm.
(rust-1.41, rust-1.42, rust-1.43, rust-1.44, rust-1.45, rust-1.46,
rust-1.47, rust-1.48, rust-1.49, rust-1.50, rust-1.51, rust-1.52,
rust-1.53): Remove variables.

* gnu/packages/patches/rust-1.39.0-src.patch: Remove file.
* gnu/packages/patches/rust-1.54.0-src.patch: Add file.
* gnu/local.mk (dist_patch_DATA): Register changes.
2022-07-05 12:52:48 +03:00
Pierre Langlois
32a87714f4
gnu: mrustc: Update to 0.10.
And enable rust for aarch64-linux!

* gnu/packages/rust.scm (%mrustc-commit): Update hash.
(%mrustc-source): Update to 0.10.
(rust-1.39)[arguments]: Move and adapt the substitute* that prevent
fetching sources.  Patch /bin/sh in run_rustc/rustc_proxy.sh.
[supported-systems]: Add aarch64-linux.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2022-05-09 17:19:08 +03:00
Marius Bakke
4ed2b6ac38
gnu: LLVM: Switch to 13 as the default.
* gnu/packages/llvm.scm (llvm, clang-runtime, clang, clang-toolchain): Use
version 13.
* gnu/packages/gnuzilla.scm (mozjs-78)[native-inputs]: Change from LLVM to LLVM-9.
* gnu/packages/rust.scm (rust-1.39, rust-1.40)[inputs]: Likewise.
* gnu/packages/debug.scm (c-reduce)[inputs]: Stick with CLANG-9 and/or LLVM-9.
* gnu/packages/diffoscope.scm (diffoscope)[inputs]: Likewise.
* gnu/packages/linux.scm (bcc, bpftrace)[inputs]: Likewise.
* gnu/packages/llvm.scm (libclc, libomp)[native-inputs]: Likewise.
* gnu/packages/games.scm (hedgewars)[native-inputs]: Likewise.
* gnu/packages/graphics.scm (openshadinglanguage)[native-inputs]: Likewise.
* gnu/packages/opencl.scm (pocl)[inputs]: Likewise.
2022-02-01 23:46:04 +01:00
Z572 via Guix-patches via
d96f47f012
gnu: rust-analyzer: Make it work out of the box.
* gnu/packages/rust.scm (rust-src): New variable.
* gnu/packages/rust-apps.scm (rust-analyzer): [native-inputs]: Add rust-src.
[arguments]: <#:phases>: Add wrap-program phase.

Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>
2022-01-22 17:03:42 +01:00
Maxim Cournoyer
4cecce6960
gnu: rust: Do not generate doc.
The share/doc directory weights 527 MiB and bundles fonts.

* gnu/packages/rust.scm (rust-1.57)[phases]{enable-docs}: Delete phase.
2022-01-10 11:51:30 -05:00
Maxim Cournoyer
d90080db54
gnu: rust: Use rust-1.57.0.
* gnu/packages/rust.scm (rust-1.54): Make it a private variable.  Move
definition to...
(rust-1.57): ... here.
(rust-1.55, rust-1.56): Make private.
* gnu/packages/shells.scm (nushell)[rust]: Remove argument.
2022-01-10 11:47:03 -05:00
Maxim Cournoyer
006ee16926
gnu: rust-1.39: Update mrustc to commit c70665.
This brings us closer to a i686 native bootstrap.

* gnu/packages/rust.scm (%mrustc-commit): Update to latest commit, c70665.
2022-01-10 11:44:35 -05:00
Vagrant Cascadian
813896b222
gnu: rust-1.40: Fix spelling.
* gnu/packages/rust.scm (rust-1.40)[synopsis]: Fix spelling of "programming".
2022-01-08 16:39:37 -08:00
(unmatched parenthesis
89afe76a16
gnu: Add rust-1.57.
* gnu/packages/rust.scm (rust-1.57): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-12-27 14:15:31 +02:00
(unmatched parenthesis
eb0f2219bb
gnu: Add rust-1.56.
* gnu/packages/rust.scm (rust-1.56): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-12-27 14:15:15 +02:00
(unmatched parenthesis
ef804b0c72
gnu: Add rust-1.55.
* gnu/packages/rust.scm (rust-1.55): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2021-12-27 14:15:15 +02:00
Ludovic Courtès
e765ad091d
gnu: rust: Add 'supported-systems' field.
* gnu/packages/rust.scm (rust-1.39)[supported-systems]: New field.
(rust-1.40)[supported-systems]: Remove.
2021-11-27 23:06:18 +01:00
Maxim Cournoyer
9635119a61
gnu: Build all Rust packages using the latest rustc.
The older Rusts are made private variables; they shouldn't be used by users as
they are not tested and are only built at stage 1, which makes them unsuitable
to compile Rust applications.

* gnu/packages/crates-io.scm (rust-cargo-0.53)[arguments]: Remove #:rust
argument.
(rust-cxx-1, rust-cxx-build-1, rust-cxx-gen-0.7): Likewise.
* gnu/packages/crates-io.scm
(rust-cxx-gen-0.7, rust-cxxbridge-macro-1, rust-postgres-0.19): Likewise.
(rust-rust-decimal-1, rust-sized-chunks-0.6, rust-socket2-0.4): Likewise.
(rust-tokio-postgres-0.7, rust-im-rc-15): Likewise.
* gnu/packages/gnome.scm (librsvg): Likewise.
* gnu/packages/gnuzilla.scm (mozjs-78): Likewise.
* gnu/packages/rust-apps.scm
(hyperfine, tectonic rust-analyzer, rust-cargo-c): Likewise.
* gnu/packages/shells.scm (nushell): Likewise.
* gnu/packages/syndication.scm (newsboat): Likewise.
* gnu/packages/rust.scm: (rust-1.39, rust-1.40, rust-1.41, rust-1.42)
(rust-1.43, rust-1.44, rust-1.45, rust-1.46, rust-1.47, rust-1.48, rust-1.49)
(rust-1.50, rust-1.51, rust-1.52, rust-1.53, rust-1.54): Make variables private.
2021-11-11 12:18:10 -05:00
Maxim Cournoyer
bc4149818d
gnu: rust: Add rust 1.54 and move all non-bootstrapping logic to it.
* gnu/packages/rust.scm (rust-1.44): Do not replace LLVM version, for
simplicity.  It used to be required at this point because LLVM 7 was no longer
supported for rust-1.44, but we're now using LLVM 9.
(rust-1.46): Move all additional phases, doc output to rust-1.54.
(rust-1.53, rust-1.54): New variables.
(rust-1.54): Adjust snippet field.
(rust): Set default Rust to the latest version, 1.54.0.
[native-inputs]: Use the latest GDB.
2021-11-11 12:18:10 -05:00
Maxim Cournoyer
33133a6ed3
gnu: rust: Bootstrap rust from 1.39.0 and optimize build time.
Only stage 1 (rather than stage 2) rustc and cargo are built and the
installation phase rewritten to not invoke the build tool, which helps to
shorten the build time to about 10 minutes per Rust on a fast machine.  The
total build time should take less than 4h30, down from the current 8 hours on
a Ryzen 3900X CPU.

* gnu/packages/patches/rust-reproducible-builds.patch: Delete file.
* gnu/packages/patches/rustc-1.39.0-src.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it, and un-register
rust-reproducible-builds.patch.
* gnu/packages/rust.scm (%mrustc-commit): New variable.
(%mrustc-source): Update to latest commit.
(rust-1.29): Morph into...
(rust-1.39): ... this.
[source]: Adjust the snippet, patches and patch-flags fields.
[inputs]: Replace llvm-7 by llvm (9).
[make-flags]: Add the RUSTC_VERSION, MRUSTC_TARGET_VER and OUTDIR_SUF make
variables.  Remove the RUSTCSRC make variable.
[phases]{copy-mrustc-and-patch}: Rename to...
{setup-mrustc-sources}: ... this.  A symbolic link is created inside the
mrustc directory, pointing to the Rust 1.39.0 sources.
{patch-makefiles}: Adjust directory.  Patch date and git definitions.  Edit
out the RUSTC_SRC_DL prerequisite.  Adjust the patching of a shebang.
{patch-cargo-checksums}: Adjust.
{configure-cargo-home}: New phase.
{configure}: Create and add a 'cc' shim to PATH.
{build}: Do not invoke make in parallel mode inside the run_rustc directory.
(rust-1.30): Morph into...
(rust-1.40): ... this, integrating the changes introduced between 1.30 and
1.40.
[modules]: Properly import (guix build cargo-utils).
[phases]{add-cc-shim-to-path}: New phase.
{configure}: Increase the codegen-units value to 256.
{build}: Only build stage 1 rustc and cargo, and group the commands into one
invocation.
{install}: Manually install the stage 1 build artifacts.
{patch-cargo-checksums}: Remove the ad-hoc use-modules, no longer needed.
[source]: Adjust.
[arguments]: Set validate-runpath? to #f.
[phases]{patch-cargo-checksums}: Remove phase.
{configure}: Repatriate the jemalloc configuration changes from 1.40.
[native-inputs]: Replace the rust-1.29 inputs by rust-1.39.  Use regular
jemalloc and llvm versions.
(rust-1.41)[phases]: Add the patch-cargo-checksums phase.
(rust-1.31, rust-1.32, rust-1.33, rust-1.34, rust-1.35, rust-1.36, rust-1.37)
(rust-1.38, rust-1.39, rust-1.40):  Delete variables.
(rust-1.46)[phases]{install}: Group build, test and install commands.
(rust-1.47)[phases]{build}: Override to adjust for the relocation of the
standard library source directory.
2021-11-11 12:18:10 -05:00
Jakub Kądziołka
32111eb219
gnu: rust: Update to 1.50.
* gnu/packages/rust.scm (rust): Change to 1.50.
2021-11-11 10:31:14 -05:00