Commit graph

627 commits

Author SHA1 Message Date
Nicolas Graves
4557e8f581
build-system/pyproject: Export default-sanity-check.py.
There is currently no convenient way to inject our sanity-check.py
script in the inputs of a project that extends another build-system
with pyproject components.  Thus we usually don't run sanity-check for
such cases (it's only python build and install).

This patch improves a bit this issue by exposing our script.  Since it
doesn't change derivations, this doesn't lead to rebuilds and can be
merged in master.

* guix/build-system/pyproject.scm
  (sanity-check.py): Replace variable by...
  (default-sanity-check.py): Add exported procedure replacing and
  extending former sanity-check.py.
  (lower)[sanity-check.py]: Add and use argument.

Change-Id: I422d3d2d53b59548099d381feae9b956f5e2e07a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-08 12:09:34 +01:00
jgart
4aff859183
guix: asdf: Add asdf-build-system/clasp.
* guix/build-system/asdf.scm (asdf-build-system/clasp): New variable.
[native-search-paths]: Add search paths.

Change-Id: I3631fa0d55112fd6440d2b500dddc4d04ead78e6
Signed-off-by: jgart <jgart@dismail.de>
2025-06-25 15:23:16 -04:00
Morgan Smith
00025ab4ac
guix: emacs-build-system: Add #:lisp-directory.
* guix/build-system/emacs.scm (emacs-build): Add #:lisp-directory.
* guix/build/emacs-build-system.scm (unpack): Change into lisp-directory
after unpacking.

Change-Id: I3991af7188de72b29b1c6985ffe7185216cedb35
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-06-15 16:56:50 +02:00
Liliana Marie Prikler
d1ac3f1947
build-system: emacs: Guess test framework.
* guix/build/emacs-build-system (check-command): New variable.
(check): Use it.
* guix/build-system/emacs.scm (emacs-build)[test-command]: Set to #f.
2025-06-15 16:56:45 +02:00
Liliana Marie Prikler
3455034376
build-system: emacs: Enable tests when not cross-compiling.
This is a first effort towards making emacs-build-system more suitable for
cross-compilation.

* guix/build-system/emacs.scm (emacs-build)[#:tests?]: Enable when not
cross-compiling.
* gnu/packages/emacs-xyz.scm (emacs-ac-php, emacs-chatgpt-shell)
(emacs-inspector, emacs-tree-inspector, emacs-pug-mode, emacs-llama)
(emacs-magit, emacs-ezf, emacs-speed-type, emacs-graphql)
(emacs-fb2-reader, emacs-ample-regexps, emacs-rescript-mode)
(emacs-relative-buffers, emacs-emms, emacs-aio, emacs-async)
(emacs-latex-extra, emacs-auto-themer, emacs-bm, emacs-varuga)
(emacs-ellama, emacs-org-fc, emacs-go-mode, emacs-dash, emacs-undo-fu-session)
(emacs-s, emacs-lemon, emacs-fringe-helper, emacs-git-link)
(emacs-explain-pause-mode, emacs-zig-mode, emacs-calc-currency)
(emacs-string-inflection, emacs-ob-go, emacs-robot-log, emacs-rspec)
(emacs-sqlite3-api, emacs-shx, emacs-el-job, emacs-elisp-demos)
(emacs-sudo-edit, emacs-subed, emacs-deferred, emacs-company-lsp, emacs-jack)
(emacs-elquery, emacs-cov, emacs-god-mode, emacs-org-pomodoro)
(emacs-eglot-tempel, emacs-dumbparens, emacs-perspective, emacs-realgud)
(emacs-hydra, emacs-avy, emacs-lispy, emacs-clojure-mode, emacs-qt-pro-mode)
(emacs-sphinx-doc, emacs-julia-mode, emacs-js2-mode, emacs-nodejs-repl)
(emacs-projectile, emacs-skeletor, emacs-elfeed, emacs-elfeed-org)
(emacs-mocker, emacs-find-file-in-project, emacs-pyvenv, emacs-elpy)
(emacs-rainbow-delimiters, emacs-visual-fill-column, emacs-visual-replace)
(emacs-wucuo, emacs-yaml, emacs-yari, emacs-wgrep, emacs-islisp-mode)
(emacs-lua-mode, emacs-evil-collection, emacs-evil-owl, emacs-evil-exchange)
(emacs-evil-lion, emacs-evil-expat), emacs-monky, emacs-org, emacs-ht)
(emacs-yasnippet, emacs-memoize, emacs-use-package, emacs-xmlgen)
(emacs-cc-mode, emacs-php-mode, emacs-evil-surround, emacs-org-transclusion)
(emacs-json-reformat, emacs-display-wttr, emacs-git-messenger)
(emacs-enh-ruby-mode, emacs-browse-at-remote, emacs-tiny, emacs-unidecode)
(emacs-circe, emacs-evil-quickscope, emacs-groovy-modes, emacs-kotlin-mode_)
(emacs-kv, emacs-auth-source-pass, emacs-emacsql, emacs-org-recur)
(emacs-org-super-agenda, emacs-ts, emacs-circadian, emacs-eldev, emacs-citar)
(emacs-loop, emacs-elisp-refs, emacs-esup, emacs-macrostep, emacs-parent-mode)
(emacs-helpful, emacs-suggest, emacs-auto-yasnippet)
(emacs-git-auto-commit-mode, emacs-devil, emacs-devil-multiedit)
(emacs-go-translate, emacs-langtool, emacs-helm-company, emacs-picpocket)
(emacs-srht, emacs-github-review, emacs-deadgrep, emacs-adoc-mode)
(emacs-racer, emacs-sesman, emacs-buttercup, emacs-cort, emacs-annalist)
(emacs-general, emacs-libmpdel, emacs-navigel, emacs-eat, emacs-detached)
(emacs-repology, emacs-bfuture, emacs-undo-propose-el, emacs-tco-el)
(emacs-vdiff, emacs-exwm-firefox, emacs-rjsx-mode, emacs-dash-docs)
(emacs-casual-lib, emacs-evil-numbers, emacs-evil-traces, emacs-ox-tufte)
(emacs-org-jira, emacs-systemd-mode, emacs-doom-themes, emacs-exiftool)
(emacs-qrencode, emacs-org-journal, emacs-weblorg, emacs-execline)
(emacs-webpaste, emacs-keystore-mode, emacs-ein, emacs-straight-el)
(emacs-vundo, emacs-org-cliplink, emacs-x509-mode)[arguments]:
Remove #:tests?.
(emacs-f, emacs-shut-up, emacs-ansi, emacs-commander)
(emacs-ert-runner)[arguments]: Add #:tests? #f.
(emacs-with-editor, emacs-tablist, emacs-pkg-info, emacs-el-x, emacs-helm)
(emacs-xelb, emacs-repo): Likewise.
2025-06-15 16:56:45 +02:00
Morgan Smith
cea0ecb60b
build-system/emacs: Provide allowed and disallowed references.
* guix/build-system/emacs.scm (emacs-build): Pass #:allowed-references and

Change-Id: Ib9a35a7b2115365b96675fb7ca3914b0ae7e67c7
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-06-15 16:56:45 +02:00
Hilton Chain
14e0c9817d
build-system: zig: Expose #:zig-build-target.
* guix/build-system/zig.scm (zig-build, zig-cross-build)[#:zig-build-target]:
Expose.

Change-Id: Iedb75eced4ebc512251348246459653d5e4b9cd2
2025-05-26 10:41:03 +08:00
Ricardo Wurmus
3071ef9397
guix: Update to Bioconductor 3.21.
* guix/build-system/r.scm (bioconductor-uri): Update version in URI to 3.21.
* guix/import/cran.scm (%bioconductor-version): Update to 3.21.

Change-Id: I216576d42d013a00310cc2230e89567ffb1487a2
2025-05-12 08:53:55 +02:00
Maxim Cournoyer
f87204b2b2
build/cmake: Add #:implicit-inputs? and #:implicit-cross-inputs? arguments.
* guix/build-system/cmake.scm (lower) <#:implicit-inputs?>
<#:implicit-cross-inputs?>: New arguments.

Change-Id: I1f077f78f5836ce325827e7ef8d58ba554a8ed4f
Reviewed-by: Greg Hogan <code@greghogan.com>
2025-05-02 09:53:54 +09:00
Nicolas Graves
ac026164be
build-system: android-ndk: Improve style.
Like in other build-systems, make proper procedures to resolve the
build-system build-inputs bindings.

* guix/build-system/android-ndk.scm (default-android-build,
default-android-googletest): Add procedures.
(lower): Use them.

Signed-off-by: Christopher Baines <mail@cbaines.net>
2025-04-28 07:55:06 +01:00
Nicolas Graves
97a25bb484
build-system: ruby: Improve ruby-cross-build style.
* guix/build-system/ruby.scm
(ruby-cross-build): Use with-imported-modules around the
ruby-cross-build builder gexp.

Change-Id: I1051124f034f2082ccef531e9bcf37913d5a9449
Signed-off-by: Christopher Baines <mail@cbaines.net>
2025-04-28 07:55:06 +01:00
Nicolas Graves
9092b1f59b
build-system: waf: Improve waf-build style.
* guix/build-system/waf.scm
(waf-build): Use with-imported-modules around the waf-build builder gexp.

Change-Id: Id242046eb4bfef90dba60d7c3b1b68597ddf502e
Signed-off-by: Christopher Baines <mail@cbaines.net>
2025-04-28 07:55:06 +01:00
Nicolas Graves
4c4e29cebb
build-system: glib-or-gtk: Improve glib-or-gtk-cross-build style.
* guix/build-system/glib-or-gtk.scm
(glib-or-gtk-cross-build): Use with-imported-modules around the
glib-or-gtk-cross-build builder gexp.

Change-Id: I8eaa032ffc0a3f8dbf02c96a4ecee85475c32111
Signed-off-by: Christopher Baines <mail@cbaines.net>
2025-04-28 07:55:06 +01:00
Nicolas Graves
aa7b1abf2c
build-system: gnu: Improve gnu-cross-build style.
* guix/build-system/gnu.scm
(gnu-cross-build): Use with-imported-modules around the
gnu-cross-build builder gexp.

Change-Id: I47246571b1d84a82a67a8c289fd5ad4b5a3b5aeb
Signed-off-by: Christopher Baines <mail@cbaines.net>
2025-04-28 07:55:06 +01:00
Nicolas Graves
1f25dff3e1
build-system/tree-sitter: Add guile-json extension.
* guix/build-system/tree-sitter.scm (default-guile-json): New variable.
(tree-sitter-cross-build, tree-sitter-build): Use guile-json extension.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
Change-Id: Ib6124d7bde26e6c6711905a651858e9d99a61a1f
2025-04-13 14:19:43 +02:00
Nicolas Graves
7cc5ddf763
build-system/node: Add guile-json extension.
* guix/build-system/node.scm (default-guile-json): New variable.
(node-build): Use guile-json extension.

Signed-off-by: Jelle Licht <jlicht@fsfe.org>
Change-Id: I68eb291410fc4943395c876ba702360b4cd7be4f
2025-04-13 14:19:43 +02:00
Daniel Khodabakhsh
86caf257e7
build-system/node: Switch to (json).
Replace (guix build json) with (json) in node-build-system

* guix/build/node-build-system.scm
(jsobject-ref, jsobject-update, jsobject-union, newest,
unkeyed->keyed): Remove unused functions.
(with-atomic-json-file-replacement): Switch to (json) module.  Move
file argument as a second optional argument.
(alist-update): Switch to (json) module.  Remove optional default
argument.
(patch-dependencies, delete-dependencies, build): Switch to (json)
module.  Arguments are unchanged.

* guix/build-system/node.scm (%node-build-system-modules): Switch
to (json) module.

* gnu/packages/node-xyz.scm (node-acorn, node-addon-api,
node-serialport-bindings, node-sqlite3): Adapt package custom
<#:phases> to the replacement.

Change-Id: I9fd5152a98b6a241d414e9a94ab179c9cabcfb85
Signed-off-by: Jelle Licht <jlicht@fsfe.org>
2025-04-13 14:19:34 +02:00
Christopher Baines
0807035449
build-system: go: Support parallel options for cross builds.
Since these options were added for normal builds, those packages that used
these options couldn't be cross built.  Supporting these options in
go-cross-build restores this functionality.

* guix/build-system/go.scm (go-cross-build): Support the #:parallel-build? and
 #:parallel-tests? keyword arguments.

Change-Id: I9768c9562246b61c2ea875a3d5a42809924f3a7d
2025-03-25 18:20:53 +00:00
Christopher Baines
15615db61b
build-system: asdf: Don't search and replace inputs when unnecessary.
If the new-name matches the original name, just use the original package.
This avoids situations where there are several packages matching the name and
the behaviour will be inconsistent, occasionally picking different packages.

Since there are multiple glibc packages currently, I'm seeing this behaviour
with cl-posix-mqueue and ecl-cl-posix-mqueue, occasionally they'll use the
hurd glibc variant.

* guix/build-system/asdf.scm (package-with-build-system): Use the original
input packages unless the new-name differs.

Change-Id: I08a1f3ad1290689b5497d31950ada4dc0bfa3a3a
2025-03-03 14:13:52 +00:00
Tomas Volf
93d49dcd1c
build: glib-or-gtk: Export %glib-or-gtk-build-system-default-modules.
The list of modules used by default was not public, so users of this build
system had to pick between copy&pasting the list, or using
%glib-or-gtk-build-system-modules.  The former is sub-optimal, since it is
hard to keep it in sync.  The latter is just wrong and leads to basically
fall-backing to gnu-build-system.

The solution is to export the default list giving the users option to use it
directly.

* guix/build-system/glib-or-gtk.scm
(%glib-or-gtk-build-system-default-modules): Renamed from %default-modules.
(define-module): Export it.
(glib-or-gtk-build), (glib-or-gtk-cross-build): Use it.

Change-Id: I331b2a3f0bdc3ce14eb9f2f80605e7873369168d
Signed-off-by: Andreas Enge <andreas@enge.fr>
2025-02-17 13:17:48 +01:00
Maxim Cournoyer
58f5c9ad82
build/guile: Disable parallel build for now.
Following discussions in bug #74204.

* guix/build-system/guile.scm (guile-build): Add a #:parallel-build? flag,
defaulting to #f for now.
(guile-cross-build): Likewise.
* guix/build/guile-build-system.scm (build): Honor it.

Change-Id: Ibf12ac098e9dcea83da7b9685796e501df606c6c
2025-02-13 00:07:21 +09:00
Sharlatan Hellseher
75437dbb76
Merge remote-tracking branch 'origin/go-team'
Change-Id: I3672a7dc248a41b1a83e4c488523f62cf1806710
2025-01-26 20:55:06 +00:00
Zheng Junjie
137e7eb683
build-system: go: Add loongarch64 support.
* guix/build-system/go.scm (go-target): Add loongarch64 case.

Change-Id: I5186e9d8c93f3524341119dcb478168676d6a66d
2025-01-25 11:55:58 +08:00
Zheng Junjie
0514dc658c
build-system: meson: Add loongarch64 support.
* guix/build-system/meson.scm (make-machine-alist): Add loongarch64 case.

Change-Id: Ib5a28b678d41550a9798494785c91c3f3a9f533c
2025-01-25 11:55:47 +08:00
Sharlatan Hellseher
c149fc769c
build-system/go: Add skip-build? option key.
Golang project's root may miss any .go files which makes build phase to
fail with error similar to:

    no Go files in /tmp/<...>/src/golang.org/x/mod

This change implements a SKIP-BUILD? key parameter which is, by default,
set to #f to invoke build procedure. It is taken from cargo-build-system

* guix/build-system/go.scm (go-build, go-cross-build): Add "skip-build?"
key parameter.
* guix/build/go-build-system.scm (build): Add "skip-build?" key
parameter and implement logic.

Change-Id: I3f41414868a7329cbe99324106427cdae4884d94
2025-01-21 23:41:52 +00:00
Sharlatan Hellseher
1e4a22c4d7
build-system/go: Add test-subdirs option key.
Golang projects may contain subdirectories with test files, which can't
be reached by providing just IMPORT-PATH to the test runner.  This
change implements a TEST-SUBDIRS key parameter which is by default set
to "import-path/..." to run all available tests in the project, and may
be limited to particular subdirs list.

* guix/build-system/go.scm (go-build, go-cross-build): Add "test-subdirs"
key parameter.
* guix/build/go-build-system.scm (check): Add "test-subdirs" key
parameter and adjust test invokation accordingly.

Change-Id: Ibc107deea060f0d71e6f4e1e37c81d3b7c9992f5
2025-01-21 23:41:52 +00:00
Dariqq
ad672d80d7
build-system: cmake: Rework cross compilation.
Move the extra configure flags for cross building out from the build side code and instead
prepend them to the configure-flags.

Use new procedure cmake-system-name-for-target to add support for hurd and
bare-metal targets.

* guix/build/cmake-build-system.scm (configure): Move cross build flags from
here ...
* guix/build-system/cmake.scm (cmake-cross-build): ... to here.
(cmake-system-name-for-target): New procedure.

Change-Id: Ic68acc246e543491ed147e53d47cec5de46b82cb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-01-14 14:11:42 +01:00
Maxim Cournoyer
1997c01437
build/cargo.scm: Remove '--release' from default cargo-test-flags.
The default behavior for 'cargo test' is to build in debug mode, and many test
suites expect support for things provided in this mode such as debug
assertions (see for example:
<https://github.com/google/zerocopy/issues/2143>).

* guix/build-system/cargo.scm (cargo-build): Remove '--release' from
 #:cargo-test-flags.
* guix/build/cargo-build-system.scm (check): Likewise.

Change-Id: I8a659c25bd33bc1bdfd88e440bd00bad09a5fc01
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:15:09 +02:00
Maxim Cournoyer
9947252442
build/cargo: Honor #:parallel-build? and #:parallel-tests? arguments.
* guix/build-system/cargo.scm (cargo-build): Add #:parallel-build? and
 #:parallel-tests? arguments.
(cargo-cross-build): Likewise.
* guix/build/cargo-build-system.scm (build): Honor them.
(check): Likewise.

Change-Id: Idbee7aa3a6a7cd0fc222082837390b83cc8e8c07
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:14:58 +02:00
Herman Rimm
3988966904
build-system: cargo: Accept unlabeled #:cargo-inputs.
* guix/build-system/cargo.scm (crate-closure): Match unlabeled inputs.

Change-Id: Iae421281fa08d09ddd1e5d2da2864f0093d97cd1
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-01-06 12:14:57 +02:00
Efraim Flashner
937fd724f1
build-system: cargo: Use platform-rust-target.
* guix/build-system/cargo.scm (cargo-triplet): New procedure.
(cargo-build, cargo-cross-build): Add cargo-target.
(lower): Add cargo-target as private keyword.
* guix/build/cargo-build-system.scm (configure): Use cargo-target to set
CARGO_BUILD_TARGET.

Change-Id: I476fa195dce0e9d20d59dda7dd15f050a56a15cb
2025-01-06 12:14:09 +02:00
Hilton Chain
bdff1941e5
gnu: zig: Default to zig-0.13.
* guix/build-system/zig.scm (#:parallel-build?,#:parallel-tests?):
New arguments.
* guix/build/zig-build-system.scm (zig-arguments): New procedure.
(bulid): Use it and honor #:parallel-build?.
(check): Use it and honor #:parallel-tests?.
* gnu/packages/zig.scm (zig): Define as zig-0.13.
* gnu/packages/ncdu.scm (ncdu)[arguments]<#:zig>: Unset.
<#:zig-release-type>: Set to "safe".
<#:zig-build-flags>: Add "-Dpie".
* gnu/packages/zig-xyz.scm (river)[arguments]<#:zig>: Use zig-0.10.
(zig-zls)[arguments]<#:zig>: Use zig-0.10.
<#:zig-release-type>: Set to "safe".

Change-Id: I1f0087ff39ea9fecb2ad911019d0525f1e6285f6
2024-12-31 10:56:34 +08:00
Hilton Chain
5ce59e0413
build-system: zig: Support Zig package manager.
* guix/build-system/zig.scm (zig-build,zig-cross-build)
[#:install-source?,#:skip-build?]: New arguments.
[#:tests?]: Honor #:skip-build?.
* guix/build/zig-build-system.scm (zig-source-install-path)
(zig-input-install-path,unpack-dependencies): New procedures.
(%standard-phases): Add 'unpack-dependencies.
(build,install): Honor #:skip-build?.
* doc/guix.texi (Build Systems)[zig-build-system]: Update documentation.
* gnu/packages/zig.scm (zig-0.9)[native-search-paths]: Add
GUIX_ZIG_PACKAGE_PATH.
Use search paths defined in (guix search-paths).
(add-build.zig.zon,rename-zig-dependencies): New procedures.
* gnu/packages/ncdu.scm (ncdu)[arguments]: Don't install source.
* gnu/packages/zig-xyz.scm (river,tigerbeetle,zig-zls)[arguments]: Likewise.
2024-12-31 10:56:34 +08:00
Hilton Chain
3ef8c9307c
gnu: zig: Build reproducibly.
* guix/build/zig-utils.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/build-system/zig.scm (%zig-build-system-modules): Add it.
(zig-build,zig-cross-build): Add #:zig-build-target.
* guix/build/zig-build-system.scm (zig-target): Move to (guix build zig-utils).
(configure): Move to (guix build zig-utils) as zig-configure.
(build): Replace target with zig-build-target.
(%standard-phases): Adjust accordingly.
* gnu/packages/zig.scm (zig-0.9)[arguments]<#:imported-modules,#:modules>: Add
zig-build-system modules.
<#:configure-flags>: Set ZIG_TARGET_TRIPLE for native builds too.
Move applicable flags from zig-0.10 here.
<#:phases>: Apply 'zig-configure.
Unset ZIG_LIBC in 'check.
Remove 'set-cache-dir.
(zig-0.10)[arguments]<#:configure-flags>: Adjust accordingly.
(zig-0.10.0-610)[arguments]<#:configure-flags>: Remove ZIG_TARGET_TRIPLE.
2024-12-31 10:56:34 +08:00
Lars-Dominik Braun
e6dd1f411d
guix: pyproject-build-system: Default configure-flags to empty dictionary.
PEP 517 specifies it should be a dictionary and thus meson-python cannot
handle an empty list.

Fixes: <https://issues.guix.gnu.org/62781>

* guix/build-system/pyproject.scm (lower): Change default of configure-flags.
* gnu/packages/build-tools.scm (meson-python)[arguments]: Remove #:build-backend,
which was a workaround for this bug.
[native-inputs]: Remove python-p~a-build and python-wheel, which are
not required when using the default build system.

Change-Id: I240ced5c88cf55cbee0d6005d7657bfb6b653b12
2024-12-13 20:15:42 +00:00
Lars-Dominik Braun
efbce9a69a
build-system/pyproject: Use TOML parser.
More reliable than regular expressions.

* guix/build-system/pyproject.scm (%pyproject-build-system-modules): Add (guix build toml).
(pyproject-build): Add argument #:backend-path.
* guix/build/pyproject-build-system.scm (build): Add support for
auto-detected and override backend-path.
* gnu/packages/python-build.scm (python-tomli)[arguments]: Remove
'add-self-to-path, because it is not necessary any more.
(python-poetry-core): Same.
(python-hatchling): Same.
(python-pdm-backend): Same.
2024-12-13 20:15:42 +00:00
Lars-Dominik Braun
fdc0fefd46
build-system/pyproject: Use python-sans-pip-wrapper as default-python.
Also adds python-setuptools and python-wheel to relevant packages,
either to native-inputs or to propagated inputs if the pkg_resources
Python module is loaded at runtime.

* guix/build-system/pyproject.scm (default-python): Default to
python-sans-pip-wrapper.

Change-Id: I2d986c2225114f54459dd6bb360913106e52cdf4
2024-12-13 20:15:41 +00:00
Ludovic Courtès
3addff87c1
build-system/cargo: Simplify ‘crate-closure’.
* guix/build-system/cargo.scm (crate-closure): Remove ‘first?’.

Change-Id: Ica1a661eb422a882ae3a1a54819b2dd7d68449de
2024-12-12 23:23:34 +01:00
Ricardo Wurmus
0f18c1e3fa
r-build-system: Fail the build on test errors.
* guix/build-system/r.scm (r-build): Accept optional TEST-TYPES argument and
pass it to the build phases.
* guix/build/r-build-system.scm (check): Exit R with the return value of
tools:::testInstalledPackage; stop the test suite on the first error; respect
TEST-TYPES argument; dump logs on test failure.

Change-Id: Ia83407ceb2ef2a92cfa02f3a3d661f54cf8c8b40
2024-12-03 16:58:06 +01:00
Ricardo Wurmus
d72df9bebb
guix: Update to Bioconductor 3.20.
* guix/build-system/r.scm (bioconductor-uri): Update URL.
* guix/import/cran.scm (%bioconductor-version): Update.

Change-Id: I66a02957991bcfe15dcf56806244e56222c3f1c3
2024-12-03 16:57:22 +01:00
Maxim Cournoyer
1880e94321
build/meson: Enable parallel tests by default.
* guix/build-system/meson.scm (meson-build) <#:parallel-tests?>: Set default
value of argument to #t.

Fixes: https://issues.guix.gnu.org/73135
Change-Id: I0d2c00c610778534a4558c446bf71955581697a1
2024-11-27 12:42:55 +01:00
Efraim Flashner
922d017081
build/go: Replace symlinks with a copy of the file.
* guix/build/go-build-system.scm (fix-embed-files): New procedure.
(%standard-phases): Add 'fix-embed-files after 'unpack.
* guix/build-system/go.scm (#:embed-files): New key parameter.
* doc/guix.texi: (go-build-system): Document a new key.

Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Change-Id: I27bc46fa1a3f4675ff73b6cba4ef5c3d177c22b1
2024-11-09 21:33:51 +00:00
Sharlatan Hellseher
68fdb70d2d
guix: Add copyright records.
* guix/build-system/go.scm: Add missing copyright record to the header
for Christina O'Donnell <cdo@mutix.org>.
* guix/import/go.scm: Likewise.

Change-Id: If8b6b5dd31126b9209da5b6c0ad1d479c653bbe6
2024-11-09 21:33:50 +00:00
Christina O'Donnell
18a77fb3f8
build-system/go: Add subdir parameter to go-version->git-ref.
This implements logic to handle cases where Go can have multiple modules
at different versions within a single repository.  It distinguishes their
releases by using tags along with their subdirectories.  See
https://go.dev/ref/mod#vcs-version.

* guix/build-system/go.scm (go-version->git-ref): Add <#:subdir> keyword
parameter and extend condition checks.

Change-Id: I68bc9e785e49877bb0b756de8458308549f4c957
Co-authored-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2024-11-09 21:33:40 +00:00
Troy Figiel
56cc37bfb2
build-system/go: Allow providing additional test flags.
By allowing the use of test flags, we can more precisely skip failing tests
(for go version >=1.20), disable the vetting stage or select a subset of tests
(e.g. if an upstream flag is provided to skip tests which require a network
connection).  At the moment, the only way around these test failures is to
remove the test file completely or patch the code ourselves.

* guix/build-system/go.scm (go-build): Add test-flags variable.
(go-cross-build): Add test-flags variable.
* guix/build/go-build-system.scm (check): Pass the additional test flags to the invoke call.
* doc/guix.texi (go-build-system): Document <#:test-flags> parameter.

Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Change-Id: I4015870fbbc15503cb405fe9ef6032953a5ff17f
2024-11-09 21:33:39 +00:00
Zheng Junjie
9b66aaa7cc
build-system: linux-module: Fix cross-compiling.
* guix/build-system/linux-module.scm (linux-module-build-cross):
Remove %build-host-inputs's quote.

Change-Id: I58fbd5ad51a60115acb5852df133b88549f1bdcb
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-09-19 12:50:19 +02:00
Jan Wielkiewicz
ef428cf721
gnu: minetest: Update to 5.9.0.
The Minetest engine and the "Minetest Game" have been decoupled upstream
in Minetest 5.9.0:

https://dev.minetest.net/Changelog#Minetest_Game

* gnu/packages/minetest.scm (minetest): Update to 5.9.0.
[arguments]: Adjust #:configure-flags and #:phases to account for the
removal of the Minetest Game from the Minetest codebase.
[native-search-paths, synopsis, description]: Likewise.
[inputs]: Remove IRRLICHT-FOR-MINETEST.
(minetest-data): Update to 0.0.0-0.88ecab3.  Rename to MINETEST-GAME and
deprecate MINETEST-DATA.
[synopsis, description]: Adjust to account for the decoupling of the game from
the engine.
* gnu/packages/games.scm (irrlicht-for-minetest): Remove variable.
* guix/build-system/minetest.scm (default-minetest-game): New variable.
(%default-modules): Use it.

Change-Id: I0117bd33a2ce5eb1c79fdb29878682081f61dd4e
Signed-off-by: Leo Famulari <leo@famulari.name>
2024-09-10 21:56:44 -04:00
Nicolas Goaziou
9faca7c25b
gnu: Remove artefacts from previous TeX Live packaging.
* guix/build-system/texlive.scm (%texlive-tag):
(%texlive-revision):
(texlive-origin):
(texlive-ref): Remove variables.

Change-Id: Ic9b2fed76fc1dd1ff02fc567c3d88a941927452b
2024-08-31 10:45:33 +02:00
Nicolas Goaziou
15f8f1c99a
gnu: Factorize URLs relative to TeX Live.
* guix/build-system/texlive.scm (%texlive-repository):
(texlive-packages-repository): New variables.
* guix/import/texlive.scm (texlive-repository-location):
(texlive-repository): Remove variables.
(version->revision):
(latest-texlive-tag):
(tlpdb):
(texlive->svn-multi-reference): Use new variables.
* gnu/packages/tex.scm (texlive-source):
(texlive-scripts): Use new variables.

Change-Id: Ibbb21f9869d7fcb5aa66f7d9dd2070d0d5d8682a
2024-08-31 10:45:33 +02:00
Dariqq
2205468108
build-system/meson: Add #:out-of-source? argument to build system.
Meson currently supports only out-of-source builds.  Add the argument
out-of-source? with default to #t such that the install-license-files phase
searches for the license files in the source directory.

* guix/build-system/meson.scm (meson-build): Add out-of-source? argument.
(meson-cross-build): Likewise.

Change-Id: Ib59d9d93b34fd567f05f5f9a10293f6ab924e399
Signed-off-by: Christopher Baines <mail@cbaines.net>
2024-08-31 10:45:19 +02:00