Age | Commit message (Expand) | Author |
2023-11-28 | build: cargo: Use correct config file for cargo config....* guix/build/cargo-build-system.scm (configure): Use .cargo/config as
the config file. Add a note.
Change-Id: Ice006c11184d4c8e1bdb765c3998b06ad299e55b
| Efraim Flashner |
2023-11-28 | build/cargo-build-system: Enable cross-compiling....* guix/build-system/cargo.scm (default-rust): Accept an argument.
(default-rust-sysroot, cargo-cross-build): New procedures.
(lower): Accept a rust-sysroot.
[private-kewords]: Add rust-sysroot. Remove target if cross-compiling.
[bag]: Allow cross-compiling. In host-inputs only have inputs when
cross-compiling, move crate sources to here, remove standard-packages.
In build-inputs add the inputs when not cross-compiling, add the
standard-cross-packages when cross-compiling, add the standard-packages
to here. Add target-inputs with the standard-cross-packages and
rust-sysroot when cross-compiling.
* guix/build/cargo-build-system.scm (configure): Accept target argument.
When cross-compiling set some environment variables. Adjust the
.config/cargo.toml to have configure options for cross-compiling.
Change-Id: I388d1e1f48943e45ff01f55af8efc0746f383b4a
| Efraim Flashner |
2023-11-28 | build: cargo-build-system: Pack crates reproducibly....This fixes reproducibility in rust crates from the package phase, again,
see <https://issues.guix.gnu.org/50015>.
Reported by: Christopher Baines (in person).
* guix/build/cargo-build-system.scm (package): When repacking the crate
tarball use standard reproducibility flags.
Change-Id: Ifb1440a023226bf0718e99ce9f95ef981e510cbc
| Efraim Flashner |
2023-10-18 | build: cargo-build-system: Find more pregenerated files....* guix/build/cargo-build-system.scm (check-for-pregenerated-files): Also
search for MacOS dynamic libraries.
| Efraim Flashner |
2023-10-18 | build: cargo-build-system: Strip enough prefix in package....* guix/build/cargo-build-system.scm (package): When using the source as
the packaged crate also strip the 'rust-' prefix.
| Efraim Flashner |
2023-10-18 | build: cargo-build-system: Reset timestamps in crates....This fixes reproducibility in rust crates from the package phase,
see <https://issues.guix.gnu.org/50015>.
* guix/build/cargo-build-system.scm (package): After running 'cargo
package' on the source unpack the tarball, reset the timestamps and
repack it.
| Efraim Flashner |
2023-10-18 | build: cargo-build-system: Check for pregenerated files....* guix/build/cargo-build-system.scm (check-for-pregenerated-files): New
procedure.
(%standard-phases): Add 'check-for-pregenerated-files phase between
'unpack and 'unpack-rust-crates.
| Efraim Flashner |
2023-05-07 | 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.
| Efraim Flashner |
2023-05-07 | build: cargo-build-system: Don't try to package when skipping build....* guix/build/cargo-build-system.scm (package): If the package isn't
going to be built then use the source instead.
| Efraim Flashner |
2022-10-20 | build-system/cargo: Unpack crates less verbosely....* guix/build/cargo-build-system.scm (configure): Print the crate being
unpacked but don't print the contents of each crate.
| Efraim Flashner |
2021-03-15 | build-system/cargo: Don't clobber packaged crates while building....This fixes an issue where two packages share a common dependent.
* guix/build/cargo-build-system.scm (unpack-rust-crates): Only copy rust
crates into the target directory if there isn't one already there with
the same name.
| Efraim Flashner |
2021-03-14 | build-system/cargo: Propagate crates across builds....* guix/build-system/cargo.scm (cargo-build): Add cargo-package-flags,
install-source flags.
* guix/build/cargo-build-system.scm (unpack-rust-crates, package): New
procedures.
(install): Also install crate sources.
(%standard-phases): Add new phases.
* doc/guix.texi (Packaging-guidelines)[Rust Crates]: Adjust to changes
in the cargo-build-system.
| Efraim Flashner |
2020-12-31 | build-system/cargo: Use argument "--no-track" in "cargo install"....* guix/build/cargo-build-system(install):
Add argument "--no-track" in "cargo install".
Remove stale hack.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Zhu Zihao |
2020-11-22 | Merge branch 'master' into staging | Marius Bakke |
2020-11-22 | build-system/cargo: Set gettext environment variable when available....* guix/build/cargo-build-system.scm (configure): When gettext is
available in the build environment set the GETTEXT_SYSTEM variable.
* gnu/packages/crates-io.scm (rust-gettext-rs-0.5, rust-gettext-rs-0.4,
rust-gettext-sys-0.19)[arguments]: Remove phase to help find system gettext.
| Efraim Flashner |
2020-11-22 | build-system/cargo: Set libclang environment variable when available....* guix/build/cargo-build-system.scm (configure): When clang is available
in the build environment set the LIBCLANG_PATH variable.
* gnu/packages/crates-graphics.scm (rust-aom-sys-0.1,
uust-dav1d-sys-0.3),
* gnu/packages/crates-io.scm (rust-bindgen-0.55, rust-bindgen-0.54,
rust-bindgen-0.53, rust-bindgen-0.52, rust-cexpr-0.4, rust-cexpr-0.3,
rust-cexpr-0.2, rust-clang-sys-1, rust-clang-sys-0.29,
rust-clang-sys-0.26, rust-clang-sys-0.22, rust-clang-sys-0.11,
rust-libpijul-0.12, rust-nettle-7, rust-nettle-sys-2,
rust-sequoia-openpgp-0.9)[arguments]: Remove phases which set an
environment variable to find clang.
[inputs]: Rename instances of libclang with clang.
| Efraim Flashner |
2020-11-22 | build-system/cargo: Set openssl environment variable when available....* guix/build/cargo-build-system.scm (configure): When openssl is
available set the OPENSSL_DIR variable to discover its location.
* gnu/packages/crates-io.scm (rust-curl-sys-0.4, rust-libgit2-sys-0.10,
rust-libpijul-0.12, rust-libssh2-sys-0.2, rust-native-tls-0.2,
rust-openssl-sys-0.9, rust-openssl-0.7, rust-trust-dns-rustls-0.6),
* gnu/packages/rust-apps.scm (tokei, exa)[arguments]: Remove redundant
setenv for openssl.
| Efraim Flashner |
2020-11-20 | build-system/cargo: Do not pass --features to Cargo unless specified....Fixes <https://bugs.gnu.org/44692>.
* guix/build/cargo-build-system.scm (build): Default to the empty list for
FEATURES. Check whether the list is empty when building the Cargo arguments.
| Marius Bakke |
2020-10-06 | build-system/cargo: Don't install .crates.toml file....Fixes <https://issues.guix.gnu.org/43810>.
* guix/build/cargo-build-system.scm (install): Remove installed
.crates.toml file.
| Efraim Flashner |
2020-03-23 | cargo-build-system: Accept a #:features argument...* guix/build/cargo-build-system.scm (build, install): Pass the features
to cargo.
(check): Remove indirection layer for consistency with build and
install.
* guix/build-system/cargo.scm (cargo-build): New argument; pass it into
the builder.
* gnu/packages/rust-apps.scm (ripgrep): Use the new argument instead of
a custom phase.
| Jakub Kądziołka |
2020-01-27 | build: cargo-build-system: Add pkg-config environment variables....* guix/build/cargo-build-system.scm (configure): Add environment
variables to use system libgit2 and libssh2.
* gnu/packages/crates-io.scm (rust-libgit2-sys-0.10,
rust-libssh2-sys-0.2)[arguments]: Remove LIBGIT2 and LIBSSH2 environment
variable settings.
* gnu/packages/rust-apps.scm (tokei)[arguments]: Same.
| Efraim Flashner |
2020-01-27 | build: cargo-build-system: Allow patched crates....* guix/build/cargo-build-system.scm (crate-src?): Don't check for a
gzipped tarball, just make sure it's not a directory.
| Efraim Flashner |
2019-10-08 | Merge branch 'master' into staging | Marius Bakke |
2019-09-13 | build-system/cargo: Remove unused function....* guix/build/cargo-build-system.scm (touch): Remove it.
| Efraim Flashner |
2019-09-13 | build-system/cargo: Use 'strip-store-file-name'....This is a follow-up to f58b2f38e4dfdbb8473fb2816d44fae6ad9cbc79.
* guix/build/cargo-build-system.scm (configure): Use bespoke
'strip-store-file-name' function.
| Efraim Flashner |
2019-09-12 | build: cargo-build-system: Strip store hash from vendor-dir....* guix/build/cargo-build-system.scm (configure): When copying the
sources into the vendor-dir strip off the hash before the package name.
| Efraim Flashner |
2019-09-02 | build/cargo-build-system: Use invoke....* guix/build/cargo-build-system.scm (crate-src?, build, check,
install): Use 'invoke'.
| Efraim Flashner |
2019-08-28 | build/cargo-build-system: Remove 'update-cargo-lock phase....* guix/build/cargo-build-system.scm (update-cargo-lock): Remove
procedure.
(configure): Delete Cargo.lock file if it exists.
(%standard-phases): Remove 'update-cargo-lock.
* doc/guix.texi (Build System)[cargo-build-system]: Remove references to
the 'update-cargo-lock phase.
| Efraim Flashner |
2019-08-12 | build/cargo-build-system: Move generate-all-checksums to cargo-utils....* guix/build/cargo-build-system.scm (generate-all-checksums): Move
procedure ...
* guix/build/cargo-utils.scm: ... to here.
| Efraim Flashner |
2019-08-04 | build/cargo-build-system: Patch cargo checksums....* guix/build/cargo-build-system.scm (generate-all-checksums): New
procedure.
(update-cargo-lock, patch-cargo-checksums): New phases.
(%standard-phases): Add 'update=cargo-lock after 'configure and
'patch-cargo-checksums after 'patch-generated-file-shebangs.
* doc/guix.texi (Build System)[cargo-build-system]: Mention how
Cargo.lock files are handled.
| Efraim Flashner |
2019-07-16 | build/cargo-build-system: Use bundled json instead of guile-json....* guix/build/cargo-build-system.scm: Use (gnu build json) instead
of (json parser).
* guix/build-system/cargo.scm: Import (gnu build json) instead of
(json parser).
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Robert Vollmert |
2019-07-16 | build/cargo-build-system: Set CARGO_HOME early....* guix/build/cargo-build-system.scm (configure): Set CARGO_HOME.
(install): No longer set CARGO_HOME.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Robert Vollmert |
2019-06-11 | build-system/cargo: Don't copy source as an output....* guix/build-system/cargo.scm: (cargo-build)[build-expression->derivation]:
Don't add "src" output.
* guix/build/cargo-build-system.scm: (install-source): Delete it.
(%standard-phases): Delete 'install-source.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
| Ivan Petkov |
2019-06-11 | build-system/cargo: Use sources from package sources....* guix/build/cargo-build-system.scm (crate-src?): New procedure.
(configure): Use the new procedure to expand crate tarballs in the vendor
directory.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
| Ivan Petkov |
2019-05-10 | build/cargo-utils: Remove "src-name" parameter....* gnu/packages/gnuzilla.scm (icecat)[arguments]<#:phases>
[patch-cargo-checksums]: Delete "null-file" variable.
* gnu/packages/rust.scm (%cargo-reference-project-file): Delete variable.
* gnu/packages/rust.scm (rust-1.19): Remove reference to
"%cargo-reference-project-file".
* guix/build/cargo-utils.scm (generate-checksums): Remove "src-name"
parameter.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Ivan Petkov |
2019-04-09 | build-system/cargo: refactor phases to successfully build...* guix/build-system/cargo.scm (%cargo-build-system-modules):
Add (json parser).
(cargo-build):
[vendor-dir]: Define flag and pass it to builder code.
[cargo-test-flags]: Likewise.
[skip-build?]: Likewise.
* guix/build/cargo-build/system.scm (#:use-module): use (json parser).
(package-name->crate-name): Delete it.
(manifest-targets): Add it.
(has-executable-target?): Add it.
(configure): Add #:vendor-dir name and use it.
Don't touch Cargo.toml.
Don't symlink to duplicate inputs.
Remove useless registry line from cargo config.
Define RUSTFLAGS to lift lint restrictions.
(build): Add #:skip-build? flag and use it.
(check): Likewise.
Add #:cargo-test-flags and pass it to cargo.
(install): Factor source logic to install-source.
Define #:skip-build? flag and use it.
Only install if executable targets are present.
(install-source): Copy entire crate directory not just src.
[generate-checksums] pass dummy file for unused second argument.
(%standard-phases): Add install-source phase.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
| Ivan Petkov |
2019-03-01 | gnu: rust: Factor out "cargo-utils" from "cargo-build-system"....* guix/build/cargo-utils.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/cargo.scm (%cargo-utils-modules): New variable.
(%cargo-build-system-modules): Use it.
* guix/build/cargo-build-system.scm (file-sha256, generate-checksums): Move
from here...
* guix/build/cargo-utils.scm: ...to here.
* gnu/packages/rust.scm (rust-1.19.0)[arguments]<#:imported-modules>: Use
%cargo-utils-modules.
<#:phases>[patch-cargo-checksums]: Use (guix build cargo-utils).
* gnu/packages/gnuzilla.scm (icecat):
[arguments]<#:imported-modules>: Use %cargo-utils-modules.
<#phases>[patch-cargo-checksums]: import (guix build cargo-utils).
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Ivan Petkov |
2018-03-11 | build-system/gnu: Add 'bootstrap' phase....This factorizes what has become a widespread idiom.
* guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable.
(bootstrap): New procedure.
(%standard-phases): Add it after 'unpack'.
* guix/build/ant-build-system.scm (%standard-phases): Delete 'bootstrap.
* guix/build/asdf-build-system.scm (%standard-phases/source)
(%standard-phases): Likewise.
* guix/build/cargo-build-system.scm (%standard-phases): Likewise.
* guix/build/cmake-build-system.scm (%standard-phases): Likewise.
* guix/build/dub-build-system.scm (%standard-phases): Likewise.
* guix/build/emacs-build-system.scm (%standard-phases): Likewise.
* guix/build/font-build-system.scm (%standard-phases): Likewise.
* guix/build/go-build-system.scm (%standard-phases): Likewise.
* guix/build/haskell-build-system.scm (%standard-phases): Likewise.
* guix/build/minify-build-system.scm (%standard-phases): Likewise.
* guix/build/ocaml-build-system.scm (%standard-phases): Likewise.
* guix/build/perl-build-system.scm (%standard-phases): Likewise.
* guix/build/python-build-system.scm (%standard-phases): Likewise.
* guix/build/r-build-system.scm (%standard-phases): Likewise.
* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
* guix/build/scons-build-system.scm (%standard-phases): Likewise.
* guix/build/texlive-build-system.scm (%standard-phases): Likewise.
* guix/build/waf-build-system.scm (%standard-phases): Likewise.
* gnu/packages/audio.scm (faad2)[arguments]: Replace 'bootstrap.
(soundtouch, cuetools, bluez-alsa): Remove 'arguments'.
(cava)[arguments]: Replace 'bootstrap.
* gnu/packages/backup.scm (rdup): Remove 'bootstrap.
* gnu/packages/bioinformatics.scm (seek)[arguments]: Replace
'bootstrap.
* gnu/packages/bioinformatics.scm (htslib-for-sambamba): Remove
'arguments'.
* gnu/packages/ci.scm (hydra, cuirass): Remove 'bootstrap'.
* gnu/packages/crypto.scm (libb2): Remove #:phases.
* gnu/packages/databases.scm (guile-wiredtiger): Likewise.
* gnu/packages/debug.scm (stress-make): Remove 'bootstrap'.
* gnu/packages/documentation.scm (asciidoc): Likewise.
* gnu/packages/fontutils.scm (libuninameslist): Remove 'arguments'.
* gnu/packages/ftp.scm (weex): Remove 'arguments'.
* gnu/packages/game-development.scm (ois): Remove 'arguments'.
* gnu/packages/games.scm (pioneer): Remove 'bootstrap.
* gnu/packages/gnome.scm (vte-ng, byzanz): Replace 'bootstrap.
(arc-theme): Remove 'arguments'.
(faba-icon-theme): Remove 'bootstrap.
(arc-icon-theme): Remove 'arguments'.
* gnu/packages/gnunet.scm (guile-gnunet): Likewise.
* gnu/packages/gtk.scm (guile-rsvg): Likewise.
* gnu/packages/guile.scm (mcron2): Remove 'bootstrap.
(guile-bash): Remove #:phases.
(guile-git): Remove 'bootstrap.
(guile-syntax-highlight): Remove 'arguments'.
(guile-sjson): Likewise.
* gnu/packages/java.scm (classpath-devel): Remove 'bootstrap.
* gnu/packages/kodi.scm (libdvdnav/kodi)
(libdvdread/kodi, libdvdcss/kodi): Likewise.
* gnu/packages/libreoffice.scm (hunspell): Remove 'arguments'.
* gnu/packages/libusb.scm (hidapi): Likewise.
* gnu/packages/linux.scm (bridge-utils): Rename 'bootstrap' to
'patch-stuff'; move it before 'bootstrap', without autoreconf
invocation.
(eudev): Rename 'bootstrap' to 'patch-file-names', without 'autogen.sh'
invocation; move it before 'bootstrap.
(gpm): Replace 'bootstrap'.
(f2fs-tools): Remove 'arguments'.
(rng-tools): Remove #:phases.
* gnu/packages/messaging.scm (hexchat): Rename 'bootstrap' to
'copy-intltool-makefile'; remove "autoreconf" invocation and move before
'bootstrap'.
(libmesode): Remove 'arguments'.
(libstrophe): Likewise.
* gnu/packages/microcom.scm (microcom): Likewise.
* gnu/packages/networking.scm (libnet): Remove 'bootstrap.
* gnu/packages/onc-rpc.scm (libnsl): Remove 'arguments'.
* gnu/packages/package-management.scm (guix): Replace 'bootstrap.
* gnu/packages/sawfish.scm (librep): Remove 'arguments'.
* gnu/packages/version-control.scm (findnewest): Likewise.
* gnu/packages/video.scm (liba52, handbrake, motion): Replace
'bootstrap.
* gnu/packages/web.scm (fcgiwrap): Remove #:phases.
(tidy): Replace 'bootstrap.
(gumbo-parser): Remove #:phases.
* gnu/packages/wget.scm (wget2): Replace 'bootstrap.
* gnu/packages/wm.scm (i3lock-color): Remove #:phases.
* gnu/packages/xdisorg.scm (xclip): Likewise.
* gnu/packages/xml.scm (libxls): Replace 'bootstrap'.
* gnu/packages/xorg.scm (xf86-video-freedreno)
(xf86-video-intel): Remove #:phases.
* gnu/packages/zile.scm (zile-on-guile): Replace 'bootstrap.
| Ludovic Courtès |
2017-04-14 | build-system/cargo: Remove store reference....* guix/build/cargo-build-system.scm (generate-checksums): Remove store
reference from comment. This comment was matching
assert-no-store-file-names regexp in Makefile.am.
Also, edit procedure docstring to precise that DIR-NAME is a store
directory.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Mathieu Othacehe |
2017-03-17 | build/cargo-build-system: Make cargo-build-system install working packages....* guix/build/cargo-build-system.scm (configure): Remove proprietary
dependencies. Add rust dependencies and configure Cargo to find them.
(build): Also build libraries, not just applications.
(file-sha256): New variable.
(generate-checksums): New variable. Export it.
(touch): New variable.
(install): Generate checksums so Cargo accepts the package.
| Danny Milosavljevic |
2017-01-01 | build-system: cargo: Handle Cargo.lock file not present....* guix/build-system/cargo.scm (cargo-build): Add src output.
(private-keywords): Add #:outputs.
* guix/build/cargo-build-system.scm (configure): Use /share/rust-source
when replacing inputs.
(build, check): Don't do anything when there isn't a Cargo.lock file
present.
(install): Install sources to src output. When a Cargo.lock file is
present use cargo install to install binaries to out.
* guix/import/crate.scm (make-crate-sexp): Importer uses the src output
for crate inputs by default.
* guix/import/utils.scm (package-names->package-inputs, maybe-inputs,
maybe-native-inputs): Take an optional output argument.
* tests/crate.scm (crate->guix-package test): Update.
Problem reported by Francisco Gómez García <espectalll@kydara.com>.
| David Craven |
2017-01-01 | build-system: cargo: Make Cargo.toml writeable....* guix/build/cargo-build-system.scm (configure): Make sure Cargo.toml
is writeable before attempting modification.
Problem reported by Danny Milosavljevic <dannym@scratchpost.org>.
| David Craven |
2016-12-14 | build-system: Add cargo build system....* guix/build-system/cargo.scm: New file.
* guix/build/cargo-build-system.scm: New file.
* Makefile.am (MODULES): Add files.
| David Craven |