581 Commits

Author SHA1 Message Date
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
Maxim Cournoyer
8da07d2e9e
build-systems: cmake: Add support for #:allowed-references.
Also actually honor #:disallowed-references when cross-compiling.

* guix/build-system/cmake.scm (cmake-build): Add #:allowed-references keyword,
and pass it to gexp->derivation.
(cmake-cross-build): Likewise.  Also pass disallowed-references to
gexp->derivation which had apparently been forgotten.

Change-Id: I1e9861295359b090bd5407c5f76afddf890e36bf
2024-08-31 10:44:41 +02:00
Maxime Devos
7c7ca0b625
guix: build-system: qt: Support #:disallowed-references.
* guix/build-system/qt.scm
(qt-build): Support #:allowed-references and #:disallowed-references.
(qt-cross-build): Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: Ia2c36152bc3500a4e73b204b0a006f3bb9405d58
2024-08-31 10:44:41 +02:00
Maxim Cournoyer
f9b04997f2
build-system: pyproject: Add allowed/disallowed keyword arguments.
* gnu/build-system/pyproject.scm (pyproject-build) Add ALLOWED-REFERENCES and
DISALLOWED-REFERENCES keywords.

Change-Id: I404cbd8409332705b023c7a3b0b8fafbfaefe28b
2024-08-31 10:44:40 +02:00
Maxime Devos
725960c9ba
build-system: python: Add allowed/disallowed keyword arguments.
* gnu/build-system/python.scm (python-build) Add ALLOWED-REFERENCES and
DISALLOWED-REFERENCES keywords.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Change-Id: I80bfe8e23b8475a8ca277cddd4275f1e757db8c3
2024-08-31 10:44:40 +02:00
Sarah Morgensen
969fb0b2be
build-system/go: Honor #:parallel-tests?.
guix/build/go-build-system.scm (build): Honor #:parallel-tests?.
guix/build-system/go.scm (go-build): Add PARALLEL-TESTS? parameter.
[builder]: Use it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-08-31 10:44:36 +02:00
Sarah Morgensen
92046a65fa
build-system/go: Honor #:parallel-build?.
guix/build/go-build-system.scm (build): Honor #:parallel-build?.
guix/build-system/go.scm (go-build): Add PARALLEL-BUILD? parameter.
[builder]: Use it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2024-08-31 10:44:36 +02:00
Simon South
3ee1e8028e
build-system/font: Add #:license-file-regexp argument.
* guix/build-system/font.scm (font-build): Add #:license-file-regexp argument
and honour it.
* guix/build/font-build-system.scm (%license-file-regexp): New variable,
duplicated from (gnu build gnu-build-system).
2024-08-31 10:44:31 +02:00
Ludovic Courtès
724c1a120a
build-system/gnu: ‘package-with-extra-configure-variable’ uses gexps.
This is required in cases where P uses gexps.

* guix/build-system/gnu.scm (package-with-extra-configure-variable): Use
gexps.

Change-Id: If5cbabc946cfcaf39c040a79f9495760639d44e2
2024-08-31 10:44:22 +02:00
Ludovic Courtès
6b995da47a
build-system/mix: Remove #:glibc-utf8-locales parameter.
* guix/build-system/mix.scm (default-glibc-utf8-locales): Remove.
(lower): Remove #:glibc-utf8-locales and its use.

Change-Id: Ibc8e00fb19e7c3404999e53855660ea11b9825af
2024-08-31 10:44:21 +02:00
Ludovic Courtès
e360a0da34
build-system/gnu: Make ‘%gnu-build-system-modules’ alias public.
This is a followup to a004c80cc04f535d1a74f72edea86173bc32d297, which
had no effect.

* guix/build-system/gnu.scm (%gnu-build-system-modules): Make public.

Change-Id: I2ac44060e530bc9abfe0ee3abbb586853a30ead2
2024-08-31 10:44:21 +02:00
Maxim Cournoyer
905256af76
build: agda-build-system: Do not rely on "locales" being present.
A "locales" package is no longer included in the 'standard-packages'
collection, per commit de9d6d12 (gnu: commencement: Remove
‘glibc-utf8-locales’ from ‘%final-inputs’."), which is made because glibc now
embeds a C.UTF8 locale.

* guix/build-system/agda.scm (lower): Remove "locales" implicit input.
* guix/build/agda-build-system.scm (set-locpath): Do not fail when a locales
package is not available.

Change-Id: If14e074e457c625960d70fcaf46c7e829d5d58d1
2024-08-31 10:44:19 +02:00
Maxim Cournoyer
2301a580e5
build: guile-build-system: Remove "locales" implicit input.
This error was introduced by the removal of "locales" from the
standard-packages in commit de9d6d12 (gnu: commencement: Remove
‘glibc-utf8-locales’ from ‘%final-inputs’."), which is made because glibc now
embeds a C.UTF8 locale.

* guix/build-system/guile.scm (lower): Remove the "locales" implicit input.

Change-Id: Id28a95757309aba6a6be89b2c8a6e08847e35f58
2024-08-31 10:44:19 +02:00
Ludovic Courtès
f6a77c1ab2
build-system/gnu: Turn PID 1 into an “init”-style process by default.
Fixes <https://issues.guix.gnu.org/30948>.

* guix/build/gnu-build-system.scm (separate-from-pid1): New procedure.
(%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build): Add #:separate-from-pid1? and
honor it.
(gnu-cross-build): Likewise.

Reported-by: Carlo Zancanaro <carlo@zancanaro.id.au>
Change-Id: I6f3bc8d8186d1a571f983a38d5e3fd178ffa2678
2024-08-31 10:42:49 +02:00
Ludovic Courtès
5b3e996d29
build-system/gnu: Change default locale to C.UTF-8.
This is a followup to 1cebc334a77030c0c94955981652f4df7608c9e3.

* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): #:locale now
defaults to "C.UTF-8".
* guix/build/gnu-build-system.scm (install-locale): Likewise.
* gnu/packages/linux.scm (util-linux)[arguments]: In ‘pre-check’ phase,
remove ‘invalid-multibyte’ modification so the test runs under C.UTF-8.

Change-Id: I9a4bfe564bcd8bbd0d57ba04568eb6b8020bd051
2024-08-31 10:42:48 +02:00
Ludovic Courtès
28dbfdb38f
build-system/gnu: Introduce ‘%gnu-build-system-modules’ deprecated alias.
This is a followup to 9e4ce281dbd92e3c52b831824ebb1f77023c960c.

* guix/build-system/gnu.scm (%gnu-build-system-modules): New deprecated
alias.

Change-Id: Ia40c9920b2927ac00660647ab1a475e2a6d5b787
2024-08-31 10:42:47 +02:00
Maxim Cournoyer
f59df1aa3c
build-systems: gnu: Export %default-gnu-imported-modules and %default-gnu-modules.
Until now users would have to cargo cult or inspect the private
%default-modules variable of (guix build-systems gnu) to discover which
modules to include when extending the used modules via the #:modules argument.

The renaming was automated via the command:

  $ git grep -l %gnu-build-system-modules
    | xargs sed 's/%gnu-build-system-modules/%default-gnu-imported-modules/' -i

* guix/build-system/gnu.scm (%gnu-build-system-modules): Rename to...
(%default-gnu-imported-modules): ... this.
(%default-modules): Rename to...
(%default-gnu-modules): ... this.  Export.
(dist-package, gnu-build, gnu-cross-build): Adjust accordingly.

Change-Id: Idef307fff13cb76f3182d782b26e1cd3a5c757ee
2024-08-31 10:42:16 +02:00
Ludovic Courtès
9db34c41ac
build-system/meson: #:test-options can be a gexp.
* guix/build-system/meson.scm (meson-build, meson-cross-build): Accept
gexps for #:test-options.

Change-Id: I9cfec616f067a5c9928f65892e370f90f23f4352
2024-07-26 19:21:33 +02:00
Christopher Baines
32eda73966
build-system: go: Properly handle when a target is unsupported.
* guix/build-system/go.scm (go-target): Properly handle when a target is
unsupported.

Change-Id: Ibc0becb8eb0a712d21116112c44e2bbbb707ddf4
2024-07-15 22:34:24 +01:00
Christopher Baines
e661121e39
build-system: meson: Use a more specific exception.
This is handled by (guix ui).

* guix/build-system/meson.scm (make-machine-alist): Use a more specific
exception.

Change-Id: I842ba63739fdefe04460e938c7bc8aa54ea57b96
2024-07-15 22:34:24 +01:00
Maxim Cournoyer
d37614bed1
build-system: qt: Fix default parallel-tests? value to #t.
There is no reason to have this diverge from the underlying cmake build
system.

* guix/build-system/qt.scm (qt-build) <#:parallel-tests?>: Default to #t.

Change-Id: I65db3d6c6727bd24549af4a44940e7362064aed6
2024-06-24 08:51:41 -04:00
Ricardo Wurmus
53555dac1c
guix: Update Bioconductor version to 3.19.
* guix/build-system/r.scm (bioconductor-uri): Use 3.19 URL.
* guix/import/cran.scm (%bioconductor-version): Set to 3.19.

Change-Id: I7a2c4dfcdb2c4cdfef581f823d87e73acc163549
2024-05-08 12:53:14 +02:00
Ludovic Courtès
d6a3818761
build-system/channel: Add support for additional channels.
Until now, ‘channel-build-system’ would assume a single channel, the
‘guix’ channel.  This change lets users specify additional channels
using the #:channels parameter.

* guix/build-system/channel.scm (build-channels): Add #:channels and
honor it.
(channel-build-system): In ‘lower’, add #:channels and honor it.
* doc/guix.texi (Build Systems): Document it.

Change-Id: I36c1d19cbeee02a4d1144de089b78df0390774a0
2024-04-05 18:21:23 +02:00
Christopher Baines
4cc7302e7d
build-system: perl: Accept Gexps for #:module-build-flags.
Matching the change in 2d40e6f7ab04ec367a9a7fc1af3daa507fb60d3c otherwise the
cross build derivations are broken, as was the case for emacs-pde.

* guix/build-system/perl.scm (perl-cross-build) [module-build-flags]: Accept
gexps.

Change-Id: I2dc85bc50bc077581e3abfc5baaedc6487118192
2024-02-10 10:33:18 +00:00
Maxim Cournoyer
2d40e6f7ab
build: perl: Accept Gexps for #:module-build-flags.
* guix/build-system/perl.scm (perl-build) [module-build-flags]: Accept gexps.

Change-Id: If1daa4d9a8cf97824b75f2113f4d7d83256463ce
2024-01-18 22:10:58 -05:00
Ekaitz Zarraga
4cafd86f77
build-system/zig: Add cross-compilation support.
* guix/build/zig-build-system.scm (zig-cross-build): New function
(lower): Add cross-compilation support
* guix/build-system/zig.scm (build): Add --target flag with target input
(check): Disable with cross compilation

Change-Id: I5f42ff897bfe00c92c6576900221a15ef210d669
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2024-01-07 16:56:00 +01:00
Ludovic Courtès
6454788a5c
build-system/composer: Do not import host-side Guile-JSON modules.
Importing host-side (json …) modules would make builds dependent on the
Guile-JSON version currently installed by the user.  Use
‘with-extensions’ instead.

* guix/build-system/composer.scm (%composer-build-system-modules):
Remove (json …) modules.
(composer-build)[guile-json]: New variable.
[builder]: Wrap body in ‘with-extensions’.

Change-Id: Ibe565572d60481b31292d73c6fa23d42aa3ceecb
2023-12-18 23:16:57 +01:00
Nicolas Graves
9dab758791
build-system: Add ‘composer-build-system’.
* guix/build-system/composer.scm: New file.
* guix/build/composer-build-system.scm: New file.
* gnu/packages/aux-files/findclass.php: New file.
* Makefile.am: Add them.
* doc/guix.texi (Build Systems): Document it.

Co-authored-by: Julien Lepiller <julien@lepiller.eu>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Change-Id: Ie6a05b42ff04d3ad774a0a20278a77e4820bb8f6
2023-12-18 23:16:55 +01:00
Pierre-Henry Fröhring
e0e6d659b5
build-system: Add mix-build-system.
* guix/build-system/mix.scm: New file.
* guix/build/mix-build-system.scm: New file.

Change-Id: I8066d00f7ada4a384621bf541e679bc512e93435
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2023-12-17 22:22:30 +01:00
Ludovic Courtès
8662741531
build-system/zig: Do not import (guix build syscalls).
* guix/build-system/zig.scm (%zig-build-system-modules): Remove (guix
build syscalls), which is unused.

Change-Id: Ie91c46c68787e0a8ffa3cbde2c5fd2294b82ed15
2023-12-14 23:12:23 +01:00
Efraim Flashner
c9e1a72cc2
Merge branch 'rust-team'
Change-Id: Iee33d7b9067d2180fd4b2e28d81716a251a53a01
2023-12-13 09:28:20 +02:00
Efraim Flashner
e604972d9c
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
2023-11-28 07:59:43 +02:00
Efraim Flashner
25b9d6c149
build-system/vim: Add missing keywords.
* guix/build-system/vim.scm (vim-build): Add missing build-system flags.

Change-Id: Ie0094bb0579987e8432750f883eb56bae8ccd845
2023-11-26 09:51:29 +02:00
Skyler Ferris
13bc0633e7
build-system/meson: Add #:substitutable? argument to build system.
This implemented the same as in gnu-build-system. The gexp->derivation
calls did not need to be modified because they already
passed #:substitutable?, which did not cause an error due to the
procedure exported by the (guix store) module with the same name.

* guix/build-system/meson.scm (meson-build, meson-cross-build): Add
  #:substitutable? argument

Change-Id: I2d56c8130f785a2d6af456ef9f9bfc1b10dc2a50
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-11-25 16:29:26 +01:00
Skyler Ferris
c43077076f
build-system/guile: Add #:substitutable? argument to build system.
This is implemented the same as in gnu-build-system.

* guix/build-system/guile.scm (guile-build, guile-cross-build): Add
  #:substitutable? argument

Change-Id: I04babb81ff1f322833f7ff22cd7580c048b26102
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-11-25 16:29:26 +01:00
Christopher Baines
98ae807643
build-system: clojure: Use the standard error regarding cross builds.
Rather than raising an error in the build system.

* guix/build-system/clojure.scm (lower): Return #f for cross builds, rather
than calling error.

Change-Id: Id97c8f5140f55fe2c52ccb0db36fd993922c6a7e
2023-11-20 14:53:59 +00:00
Jean-Pierre De Jesus DIAZ
06587003b8
guix: meson-build-system: Disable PIC for AVR.
* guix/build-system/meson.scm (make-built-in-options-alist): New procedure.
(make-cross-file): Add 'built-in options' section to cross file.

Change-Id: Ifff7f6fb1eb8b0e8ddd04881d22acb863c9e85b2
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-12-11 13:37:20 +02:00
Jean-Pierre De Jesus DIAZ
119edc3c9b
guix: meson-build-system: Support AVR.
* guix/build-system/meson.scm (make-machine-alist): Add cases for avr
for system, cpu_family and cpu.

Change-Id: Ie47d666099c4c48edd36812f035625dccc4a3900
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-12-11 13:36:52 +02:00
Jean-Pierre De Jesus DIAZ
b40a44430f
guix: gnu-build-system: Handle missing libc.
* guix/build-system/gnu.scm (standard-cross-packages): Handle the case
  when `cross-libc` returns #f.

Change-Id: I85ee5456f10ff141d521a5f2d91267cd612c5616
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-12-11 11:53:54 +02:00
Julien Lepiller
00ec39a4e4
guix: ant: Optionally build with java modules.
Modules were introduced in Java 9 and are not supported by the default
icedtea compiler, so this feature is disabled by default.

* guix/build-system/ant.scm (ant-build): Add use-java-modules?
parameter.
* guix/build/ant-build-system.scm (default-build.xml)
(configure): Use it.

Change-Id: I3b99238e4cd262332fa5c818be1af5477c7374fd
2023-11-09 19:08:42 +01:00
Jonathan Scoresby
8882ec71dd
build-system: Add vim-build-system.
* guix/build-system/vim.scm,
* guix/build/vim-build-system.scm: New modules.
* Makefile.am (MODULES): Register new files.
* doc/guix.texi: Document it.

Co-authored-by: Efraim Flashner <efraim@flashner.co.il>
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2023-11-08 12:03:05 +02:00
Ricardo Wurmus
7a14f9365a
guix: Upgrade to Bioconductor 3.18.
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to
3.18.
* guix/import/cran.scm (%bioconductor-version): Same.

Change-Id: Ic3fc2e6ab6b5f6f6e55662f81baee67391158c5b
2023-11-03 22:49:10 +01:00
Efraim Flashner
84fbfa82af
build-system/go: Use gccgo when go isn't supported.
* guix/build-system/go.scm (default-gccgo): New variable.
(lower): Only use default-go when it is supported.

Change-Id: I30564d97703344df582accaf741f4fcd159b6be1
2023-10-28 22:02:32 +03:00
Ludovic Courtès
48c1a74b24
build-system/dub: Remove dependency on (guix build syscalls).
The (guix build syscalls) module was unused.

* guix/build-system/dub.scm (%dub-build-system-modules): Remove (guix
build syscalls).
2023-10-23 11:56:54 +02:00
Ludovic Courtès
4b5e31dc5e
build-system/android-ndk: Remove dependency on (guix build syscalls).
The (guix build syscalls) module was unused.

* guix/build-system/android-ndk.scm (%android-ndk-build-system-modules):
Remove (guix build syscalls).
2023-10-23 11:56:54 +02:00
Ludovic Courtès
542c906f16
build-system/ant: Remove dependency on (guix build syscalls).
The module has been unused since
a6343af22161b21ddbc4143a2b6a60d1ee860eb0.

* guix/build-system/ant.scm (%ant-build-system-modules): Remove (guix
build syscalls).
2023-10-23 11:56:54 +02:00
Ekaitz Zarraga
e011961f99
build-system: Add zig-build-system.
* guix/build-system/zig.scm: New file.
* guix/build/zig-build-system.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi: Document it.
* etc/snippets/yas/scheme-mode/guix-package (build-system): Add
  zig-build-system.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2023-10-21 00:27:25 +02:00