Add a #:cabal-revision argument for specifying which Cabal file revision
from Hackage should be used.
* guix/build-system/haskell.scm (source-url->revision-url): New function.
(lower): Accept a cabal-revision keyword argument, convert it to an
origin record, and add it to the resulting bag's host-inputs.
(haskell-build): Pass the cabal-revision input to the builder as an
argument.
* guix/build/haskell-build-system.scm (patch-cabal-file): New phase.
(%standard-phases): Add it.
This follows up commit d5b5a15a40 which doesn't
work because %current-system etc expands before the actual build.
Fixes <https://bugs.gnu.org/31719>.
* guix/build-system/meson.scm (meson-build)[builder]: Compare against the
already existing "system" variable rather than (%current-system).
* gnu/packages/rust.scm (rust-bootstrap): Freeze bootstrap version to 1.22.1.
Reorganize bootstrap binaries to match new "rust" package structure with two
ouputs "out" with Rust compiler and "cargo" with Cargo package manager.
Replace all "system*" by "invoke".
(rust-1.23): Rename "rustc" to "rust". Update sha256 for tarball. Add cargo
related dependencies. Install "cargo" as separate "rust" output. Remove
substitutes for parts that were fixed in "rustc" source code. Install
documentation to separate "doc" output. Update configuration according to
changes in "rustc" source code. Replace all "system*" by "invoke".
(rust): Create package for 1.24.1 rust release based on rust-1.23 release.
* guix/build-system/cargo.scm (default-rust): Replace "default-cargo" and
"default-rustc" functions with "default-rust" function.
(cargo-build-system): Take only one package as "rust" source. Use "rustc" of
default output of "rust" package, use "cargo" as "cargo" output of "rust"
package.
* guix/build-system/meson.scm (lower): Remove DEFAULT-PATCHELF from inputs
on armhf.
(meson-build): Ignore the 'fix-runpath' phase when building for arm systems.
The (ice-9 popen) module should not be added to the imported-modules here,
because that depends on the Guile that is used on the host side.
* guix/build-system/minify.scm (%minify-build-system-modules): Remove import
of (ice-9 popen).
* guix/build-system/trivial.scm (lower): Add #:allowed-references and
keep it in the 'arguments' field.
(trivial-build): Add #:allowed-references. Add
'canonicalize-reference'. Pass #:allowed-references to
'build-expression->derivation'.
(trivial-cross-build): Likewise.
* tests/packages.scm ("trivial with #:allowed-references"): New test.
* guix/build/emacs-build-system.scm (%standard-phases): Reinstate the check
phase from the gnu-build-system.
* guix/build-system/emacs.scm (emacs-build)[tests?]: But do not enable it by default.
[parallel-tests?]: Add argument.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This is a followup to 614fffe427, which
broke cross-compilation to i686-w64-mingw32.
* guix/build-system/gnu.scm (standard-cross-packages): Add
"cross-libc:static" only when LIBC has a "static" output.
Fixes a regression whereby the host libc.a would be missing when
cross-compiling.
This is a followup to commit 6dff905e51.
* guix/build-system/gnu.scm (standard-cross-packages): Add the
"cross-libc:static".
Suggested by Dave Love <fx@gnu.org>.
* guix/build-system/gnu.scm (%license-file-regexp): New variable.
(gnu-build): Add #:license-file-regexp and use it.
(gnu-cross-build): Likewise.
* guix/build/gnu-build-system.scm (%license-file-regexp): New variable.
(install-license-files): New procedure.
(%standard-phases): Add it.
* guix/build-system/r.scm (bioconductor-uri): Also return the archive URL.
* guix/import/cran.scm (latest-bioconductor-release, fetch-description):
Adjust because bioconductor-uri now returns a list.
* guix/build-system/ant.scm: Add #:test-include and #:test-exclude
arguments.
* guix/build/ant-build-system.scm: Generate test list from arguments.
* doc/guix.texi (Build Systems): Document it.
* guix/build-system/ant.scm: New #:main-class argument
* guix/build/ant-build-system.scm: Generate a manifest file with
additional properties.
* doc/guix.texi (Build Systems): Document it.
This allows us to use texmf.cnf instead of having to set all required
environment variables manually.
* guix/build/texlive-build-system.scm (configure): New procedure.
(build): Simplify.
(%standard-phases): Add configure phase.
* guix/build-system/texlive.scm (texlive-build): Include (guix build union) in
modules.
(%texlive-build-system-modules): Likewise.