summaryrefslogtreecommitdiff
path: root/guix/build-system
AgeCommit message (Collapse)Author
2024-10-11guix: pyproject-build-system: Default configure-flags to empty dictionary.Lars-Dominik Braun
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-10-11build-system/pyproject: Use TOML parser.Lars-Dominik Braun
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-10-11build-system/pyproject: Use python-sans-pip-wrapper as default-python.Lars-Dominik Braun
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-09-19build-system: linux-module: Fix cross-compiling.Zheng Junjie
* 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-10gnu: minetest: Update to 5.9.0.Jan Wielkiewicz
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-08-31gnu: Remove artefacts from previous TeX Live packaging.Nicolas Goaziou
* guix/build-system/texlive.scm (%texlive-tag): (%texlive-revision): (texlive-origin): (texlive-ref): Remove variables. Change-Id: Ic9b2fed76fc1dd1ff02fc567c3d88a941927452b
2024-08-31gnu: Factorize URLs relative to TeX Live.Nicolas Goaziou
* 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-31build-system/meson: Add #:out-of-source? argument to build system.Dariqq
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-31build-systems: cmake: Add support for #:allowed-references.Maxim Cournoyer
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-31guix: build-system: qt: Support #:disallowed-references.Maxime Devos
* 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-31build-system: pyproject: Add allowed/disallowed keyword arguments.Maxim Cournoyer
* gnu/build-system/pyproject.scm (pyproject-build) Add ALLOWED-REFERENCES and DISALLOWED-REFERENCES keywords. Change-Id: I404cbd8409332705b023c7a3b0b8fafbfaefe28b
2024-08-31build-system: python: Add allowed/disallowed keyword arguments.Maxime Devos
* 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-31build-system/go: Honor #:parallel-tests?.Sarah Morgensen
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-31build-system/go: Honor #:parallel-build?.Sarah Morgensen
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-31build-system/font: Add #:license-file-regexp argument.Simon South
* 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-31build-system/gnu: ‘package-with-extra-configure-variable’ uses gexps.Ludovic Courtès
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-31build-system/mix: Remove #:glibc-utf8-locales parameter.Ludovic Courtès
* guix/build-system/mix.scm (default-glibc-utf8-locales): Remove. (lower): Remove #:glibc-utf8-locales and its use. Change-Id: Ibc8e00fb19e7c3404999e53855660ea11b9825af
2024-08-31build-system/gnu: Make ‘%gnu-build-system-modules’ alias public.Ludovic Courtès
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-31build: agda-build-system: Do not rely on "locales" being present.Maxim Cournoyer
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-31build: guile-build-system: Remove "locales" implicit input.Maxim Cournoyer
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-31build-system/gnu: Turn PID 1 into an “init”-style process by default.Ludovic Courtès
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-31build-system/gnu: Change default locale to C.UTF-8.Ludovic Courtès
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-31build-system/gnu: Introduce ‘%gnu-build-system-modules’ deprecated alias.Ludovic Courtès
This is a followup to 9e4ce281dbd92e3c52b831824ebb1f77023c960c. * guix/build-system/gnu.scm (%gnu-build-system-modules): New deprecated alias. Change-Id: Ia40c9920b2927ac00660647ab1a475e2a6d5b787
2024-08-31build-systems: gnu: Export %default-gnu-imported-modules and ↵Maxim Cournoyer
%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-07-26build-system/meson: #:test-options can be a gexp.Ludovic Courtès
* guix/build-system/meson.scm (meson-build, meson-cross-build): Accept gexps for #:test-options. Change-Id: I9cfec616f067a5c9928f65892e370f90f23f4352
2024-07-15build-system: go: Properly handle when a target is unsupported.Christopher Baines
* guix/build-system/go.scm (go-target): Properly handle when a target is unsupported. Change-Id: Ibc0becb8eb0a712d21116112c44e2bbbb707ddf4
2024-07-15build-system: meson: Use a more specific exception.Christopher Baines
This is handled by (guix ui). * guix/build-system/meson.scm (make-machine-alist): Use a more specific exception. Change-Id: I842ba63739fdefe04460e938c7bc8aa54ea57b96
2024-06-24build-system: qt: Fix default parallel-tests? value to #t.Maxim Cournoyer
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-05-08guix: Update Bioconductor version to 3.19.Ricardo Wurmus
* 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-04-05build-system/channel: Add support for additional channels.Ludovic Courtès
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-02-10build-system: perl: Accept Gexps for #:module-build-flags.Christopher Baines
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-01-18build: perl: Accept Gexps for #:module-build-flags.Maxim Cournoyer
* guix/build-system/perl.scm (perl-build) [module-build-flags]: Accept gexps. Change-Id: If1daa4d9a8cf97824b75f2113f4d7d83256463ce
2024-01-07build-system/zig: Add cross-compilation support.Ekaitz Zarraga
* 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>
2023-12-18build-system/composer: Do not import host-side Guile-JSON modules.Ludovic Courtès
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-18build-system: Add ‘composer-build-system’.Nicolas Graves
* 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-17build-system: Add mix-build-system.Pierre-Henry Fröhring
* 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-14build-system/zig: Do not import (guix build syscalls).Ludovic Courtès
* guix/build-system/zig.scm (%zig-build-system-modules): Remove (guix build syscalls), which is unused. Change-Id: Ie91c46c68787e0a8ffa3cbde2c5fd2294b82ed15
2023-12-13Merge branch 'rust-team'Efraim Flashner
Change-Id: Iee33d7b9067d2180fd4b2e28d81716a251a53a01
2023-11-28build/cargo-build-system: Enable cross-compiling.Efraim Flashner
* 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-26build-system/vim: Add missing keywords.Efraim Flashner
* guix/build-system/vim.scm (vim-build): Add missing build-system flags. Change-Id: Ie0094bb0579987e8432750f883eb56bae8ccd845
2023-11-25build-system/meson: Add #:substitutable? argument to build system.Skyler Ferris
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-25build-system/guile: Add #:substitutable? argument to build system.Skyler Ferris
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-20build-system: clojure: Use the standard error regarding cross builds.Christopher Baines
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-12-11guix: meson-build-system: Disable PIC for AVR.Jean-Pierre De Jesus DIAZ
* 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-11guix: meson-build-system: Support AVR.Jean-Pierre De Jesus DIAZ
* 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-11guix: gnu-build-system: Handle missing libc.Jean-Pierre De Jesus DIAZ
* 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-11-09guix: ant: Optionally build with java modules.Julien Lepiller
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-08build-system: Add vim-build-system.Jonathan Scoresby
* 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-03guix: Upgrade to Bioconductor 3.18.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.18. * guix/import/cran.scm (%bioconductor-version): Same. Change-Id: Ic3fc2e6ab6b5f6f6e55662f81baee67391158c5b
2023-10-28build-system/go: Use gccgo when go isn't supported.Efraim Flashner
* guix/build-system/go.scm (default-gccgo): New variable. (lower): Only use default-go when it is supported. Change-Id: I30564d97703344df582accaf741f4fcd159b6be1