summaryrefslogtreecommitdiff
path: root/guix/build-system
Commit message (Collapse)AuthorAge
* build-system: New agda-build-system.Josselin Poiret2023-06-04
| | | | | | | * guix/build-system/agda.scm: New file. * guix/build/agda-build-system.scm: New file. * Makefile.am (MODULES): Register them. * doc/guix.texi (Build Systems): Add documentation for agda-build-system.
* build-system/haskell: Export default-haskell.Josselin Poiret2023-06-04
| | | | * guix/build-system/haskell.scm: Export default-haskell.
* build-system/cmake: Add support for the #:disallowed-references key.Leo Famulari2023-04-30
| | | | | * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Add #:disallowed-references.
* guix: Upgrade to Bioconductor 3.16.Ricardo Wurmus2023-04-29
| | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.17. * guix/import/cran.scm (%bioconductor-version): Same.
* maint: Merge sanity-check-next.py into sanity-check.py.Maxim Cournoyer2023-04-14
| | | | | | | * gnu/packages/aux-files/python/sanity-check-next.py: Rename to... * gnu/packages/aux-files/python/sanity-check.py: ... this. * guix/build-system/pyproject.scm (sanity-check.py): Adjust file name. * Makefile.am (AUX_FILES): De-register sanity-check-next.py.
* build-system/gnu: Add missing module import.Ludovic Courtès2023-04-06
| | | | | | | | | This import was removed in ae587c2ef041413bc709a555261db752068ea360 on 'master'; it was inappropriate on 'core-updates'. Reported by Christopher Baines. * guix/build-system/dune.scm: Import (guix build-system gnu).
* Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge2023-03-20
|\
| * guix: Strip #:use-module lists.Ludovic Courtès2023-03-13
| | | | | | | | | | | | | | | | | | | | | | | | This was obtained by setting up this environment: guix shell -D guix --with-input=guile@3.0.9=guile-next \ --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2 -- make -j5 then adding 'unused-module' to (@@ (guix build compiler) %warnings), building, and checking all the "unused module" warnings and removing those that were definitely unused.
| * build-system/guile: Expose #:scheme-file-regexp when cross-compilingJelle Licht2023-03-06
| | | | | | | | | | * guix/build-system/guile.scm (guile-cross-build): Accept #:scheme-file-regexp and pass it on to builder.
* | Merge remote-tracking branch 'savannah/master' into core-updatesChristopher Baines2023-03-02
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/local.mk gnu/packages/autotools.scm gnu/packages/cmake.scm gnu/packages/gnuzilla.scm gnu/packages/haskell.scm gnu/packages/pdf.scm gnu/packages/python-xyz.scm gnu/packages/samba.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/wxwidgets.scm
| * build-system: haskell: Drop default "static" output.Lars-Dominik Braun2023-02-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/haskell.scm (lower): Pass outputs to lowered bag. * guix/build/haskell-build-system.scm (install): Remove static library moving code. * gnu/packages/haskell-check.scm (ghc-hunit): Remove "static" output. * gnu/packages/haskell-crypto.scm (ghc-crypto-api-tests): Likewise. * gnu/packages/haskell-xyz.scm (ghc-case-insensitive): Likewise. (ghc-cmdargs): Likewise. (ghc-conduit): Likewise. (ghc-fgl): Likewise. (ghc-haskell-src-exts): Likewise. (ghc-lib-parser): Likewise. (ghc-mono-traversable): Likewise. (ghc-parallel): Likewise. (ghc-paths): Likewise. (ghc-profunctors): Likewise. (ghc-tf-random): Likewise. (ghc-vector): Likewise.
| * build-system: Add tree-sitter-build-system.Pierre Langlois2023-02-12
| | | | | | | | | | | | | | | | | | * guix/build-system/tree-sitter.scm: New module. * guix/build/tree-sitter-build-system.scm: Likewise. * Makefile.am (MODULES): Add them. * doc/guix.texi: Document it. Signed-off-by: Andrew Tropin <andrew@trop.in>
| * utils: Add target-little-endian?.Philip McGrath2023-02-11
| | | | | | | | | | | | | | | | * guix/utils.scm (target-little-endian?): New function. * guix/build-system/meson.scm (make-machine-alist): Use it. * gnu/packages/chez.scm (nix-system->pbarch-machine-type): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * build-system: Always pass #:graft? #f to 'gexp->derivation'.base-for-issue-61263Ludovic Courtès2023-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/60947>. Fixes a bug whereby packages referred via 'ungexp' in package arguments would be "double-grafted": 'gexp->derivation' would first replace those references by references to the grafted package, only to repeat the grafting process on the result. Build systems such as 'gnu', 'cmake', and 'pyproject' were already doing this. Only the rest of them is affected. * guix/build-system/cargo.scm (cargo-build): Pass #:graft? #f to 'gexp->derivation'. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/font.scm (font-build): Likewise. * guix/build-system/guile.scm (guile-build): Likewise. (guile-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/scons.scm (scons-build): Likewise. * guix/build-system/texlive.scm (texlive-build): Likewise. * guix/build-system/waf.scm (waf-build): Likewise.
* | build-system/gnu: 'static-package' uses gexps.Ludovic Courtès2023-02-28
| | | | | | | | * guix/build-system/gnu.scm (static-package): Use gexps.
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2023-01-30
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/guix.texi gnu/local.mk gnu/packages/admin.scm gnu/packages/base.scm gnu/packages/chromium.scm gnu/packages/compression.scm gnu/packages/databases.scm gnu/packages/diffoscope.scm gnu/packages/freedesktop.scm gnu/packages/gnome.scm gnu/packages/gnupg.scm gnu/packages/guile.scm gnu/packages/inkscape.scm gnu/packages/llvm.scm gnu/packages/openldap.scm gnu/packages/pciutils.scm gnu/packages/ruby.scm gnu/packages/samba.scm gnu/packages/sqlite.scm gnu/packages/statistics.scm gnu/packages/syndication.scm gnu/packages/tex.scm gnu/packages/tls.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/copy.scm guix/scripts/home.scm
| * build-system: copy: Add substitutable keyword.Jonathan Brielmaier2023-01-29
| | | | | | | | * guix/build-system/copy.scm (copy-build): Add substitutable keyword.
| * build-system/meson: Add mips64el cross compilation support.Mathieu Othacehe2023-01-17
| | | | | | | | * guix/build-system/meson.scm (make-machine-alist): Add it.
| * guix: ocaml: Add package-with-ocaml5.0.pukkamustard2022-12-21
| | | | | | | | | | | | | | | | | | | | * guix/build-system/ocaml.scm (package-with-ocaml5.0) (strip-ocaml5.0-variant): New variables. * gnu/packages/ocaml.scm (ocaml5.0-dune-bootstrap) (ocaml5.0-dune, ocaml5.0-dune-configurator) (ocaml5.0-csexp, ocaml5.0-result): New variables. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| * gnu: linux-libre: Move documentation to a separate package.Maxim Cournoyer2022-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/linux.scm (linux-libre-5.15-source) (linux-libre-5.10-source): Do not apply linux-libre-infodocs-target.patch. (make-linux-libre): Remove BUILD-DOC? argument, and adjust patches conditional. (make-linux-libre*): Likewise. Remove build-doc? validation. [arguments]: Move documentation related phases to the new linux-libre-documentation. [native-inputs]: Move the documentation related native inputs to linux-libre-documentation. (linux-libre-documentation): New variable. * guix/build-system/linux-module.scm (make-linux-module-builder) [arguments]: Do not delete build-doc and install-doc phases, which no longer exist for linux-libre.
| * Revert "gnu: linux-libre: Move info manual to doc output."Maxim Cournoyer2022-12-01
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 748ec628826cea3faa3679074d87fae9bc810080. It broke the linux-libre-module-builder like so: builder for `/gnu/store/293jxydym9z7ck7afmrjqhiw3xpfs4i1-linux-libre-module-builder-6.0.10.drv' failed to produce output path `/gnu/store/ghmp1q5w6r1s9364rz53jd42152wgz2v-linux-libre-module-builder-6.0.10-doc' for reasons difficult to understand.
| * gnu: linux-libre: Move info manual to doc output.Maxim Cournoyer2022-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The kernel Linux is installed in the system profile, which means the manual was not easily discoverable. Move it to the "doc" output, so that users can install the Linux documentation explicitly in their user profile without pulling the whole Linux package. * gnu/packages/linux.scm (make-linux-libre*) [outputs]: Conditionally add a "doc" output. [phases] {install-doc}: Install the info manual to the doc output, an create a "linux" symlink to it for convenience. * guix/build-system/linux-module.scm (make-linux-module-builder): Delete the "doc" output, if present.
| * build: linux-module: Do not inherit the install-doc phase.Maxim Cournoyer2022-11-29
| | | | | | | | | | | | | | | | | | | | | | This is a followup commit to aaf1f18b8044142515ff868bcbd2b72b81ced3ec, itself a followup to 82c43b276dd5e60c81ad2c040a9d945befc4bc88 (gnu: linux-libre: Enable building info doc). * guix/build-system/linux-module.scm (make-linux-module-builder) [phases]: Also delete inherited 'install-doc phase. Reported-by: John Kehayias <john.kehayias@protonmail.com>
| * build: linux-module: Do not inherit the build-doc phase.Maxim Cournoyer2022-11-29
| | | | | | | | | | | | | | | | | | | | This is a followup commit to 82c43b276dd5e60c81ad2c040a9d945befc4bc88 (gnu: linux-libre: Enable building info doc). * guix/build-system/linux-module.scm (make-linux-module-builder) [phases]: Delete inherited 'build-doc phase. Reported-by: John Kehayias <john.kehayias@protonmail.com>
| * guix: Upgrade to Bioconductor 3.16.zimoun2022-11-24
| | | | | | | | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.16. * guix/import/cran.scm (%bioconductor-version): Same.
| * gnu: Add go-github-com-creack-pty.(unmatched-parenthesis2022-11-10
| | | | | | | | | | | | | | * gnu/packages/golang.scm (go-github-com-creack-pty): New variable. * guix/build-system/go.scm (go-target): Add to exported variables. Signed-off-by: Raghav Gururajan <rg@raghavgururajan.name>
| * build-system/gnu: Turn #:phases into a gexp when cross-compiling.Ludovic Courtès2022-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we'd get this error: $ guix build --target=aarch64-linux-gnu r-minimal -d --no-grafts guix build: error: path ‘/gnu/store/[^-]+-glibc-[^-]+-static’ is not valid This is because the sexp would be passed as an input of the surrounding gexp in 'gnu-cross-build', and thus "/gnu/store/[^-]+-glibc-[^-]+-static" would be interpreted as a source file name, as in this example: scheme@(guix gexp)> #~(foo #$(list 'whatever "/gnu/store/[^-]+-glibc-[^-]+-static")) $11 = #<gexp (foo #<gexp-input (whatever "/gnu/store/[^-]+-glibc-[^-]+-static"):out>) 7f098badec30> scheme@(guix gexp)> (gexp-inputs $11) $12 = (#<gexp-input "/gnu/store/[^-]+-glibc-[^-]+-static":out>) Fixes <https://issues.guix.gnu.org/59073>. Reported by Christopher Baines <mail@cbaines.net>. * guix/build-system/gnu.scm (gnu-cross-build): When PHASES is a pair, pass it through 'sexp->gexp'.
| * build-system/linux-module: Add #:source-directory to linux-module-build-cross.Christopher Baines2022-11-07
| | | | | | | | | | | | | | | | | | | | Otherwise computing cross-compilation derivations for packages (e.g. xpadneo) using the #:source-directory argument fails with this error: Unrecognized keyword: #:source-directory * guix/build-system/linux-module.scm (linux-module-build-cross): Support #:source-directory.
| * build-system/scons: Allow using a G-exp for scons-flags.Timotej Lazar2022-11-03
| | | | | | | | | | | | | | * guix/build-system/scons.scm (scons-build): Only call sexp->gexp on scons-flags when scons-flags is a pair. Signed-off-by: Christopher Baines <mail@cbaines.net>
| * build-system/pyproject: Always run tests verbosely for supported backends.Marius Bakke2022-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/pyproject.scm (pyproject-build): Default to '() instead of #false for TEST-FLAGS. * guix/build/pyproject-build-system.scm (check): Unconditionally enable verbose test flags. * doc/guix.texi (Build Systems): Document this change. * gnu/packages/fontutils.scm (python-glyphslib)[arguments]: Remove verbosity from #:test-flags. * gnu/packages/pdf.scm (python-pydyf, weasyprint)[arguments]: Likewise. * gnu/packages/python-web.scm (python-openapi-spec-validator)[arguments]: Likewise. * gnu/packages/python-xyz.scm (python-path, python-tempora)[arguments]: Likewise.
| * build-system: Add pyproject-build-system.Lars-Dominik Braun2022-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an experimental build system based on python-build-system that implements PEP 517-compliant builds. * doc/guix.texi (Build Systems): Add pyproject-build-system section. * doc/contributing.texi (Python Modules): Mention pyproject.toml and the PYTHON-TOOLCHAIN package, as well as differences to python-build-system. * guix/build-system/pyproject.scm, guix/build/pyproject-build-system.scm, gnu/packages/aux-files/python/sanity-check-next.py, gnu/packages/python-commencement.scm: New files. * Makefile.am (MODULES): Register the new build systems. * gnu/local.mk (GNU_SYSTEM_MODULES): Add python-commencement.scm. * gnu/packages/python.scm (python-sans-pip, python-sans-pip-wrapper): New variables. Co-authored-by: Marius Bakke <marius@gnu.org>
| * build-system/python: Disable grafts.Ludovic Courtès2022-10-22
| | | | | | | | | | | | | | | | | | | | | | This is consistent with what 'gnu-build' does and makes sure origins aren't getting lowered with #:graft? #t in one case and not in the other. This is a followup to df46bef48eaa43c502fa9193371692c039b460c1 and dada5e86ed58c1869e30678c4d69582b1528ed6c. * guix/build-system/python.scm (python-build): Pass #:graft? #f.
| * build-system/qt: Disable grafts.Ludovic Courtès2022-10-17
| | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/58567>. Reported by Marius Bakke <marius@gnu.org>. This is a followup to df46bef48eaa43c502fa9193371692c039b460c1. * guix/build-system/qt.scm (qt-build, qt-cross-build): Pass #:graft? #f to 'gexp->derivation'.
* | build-system: Fix uses of #:strip-flags and #:strip-directories.Maxime Devos2022-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug introduced in ccc2658e2a111590ec25e308946e47a24d357785, reported at <https://issues.guix.gnu.org/issue/58384>. Tested with "./pre-inst-env guix build openjpeg-data". Fixes: https://issues.guix.gnu.org/issue/58384 * guix/build-system/copy.scm (copy-build): 'strip-flags' and '#:strip-directories' are G-exps, not S-exps, so don't use sexp->gexp. * guix/build-system/cmake.scm (copy-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build,glib-or-gtk-cross-build): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/meson.scm (meson-build,meson-cross-build): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | build-system: Factorize 'strip' flags and directories.Ludovic Courtès2022-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously only 'gnu-build-system' would default to "--strip-unneeded", since commit e0f31baacc6ad30096a332b69433c85f5830bb2c; most other build systems would default to "--strip-debug". This change brings consistency. * guix/build-system/gnu.scm (%strip-flags, %strip-directories): Export. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Use them. * guix/build-system/copy.scm (copy-build): Likewise. * guix/build-system/dune.scm (dune-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build) (glib-or-gtk-cross-build): Likewise. * guix/build-system/maven.scm (maven-build): Likewise. * guix/build-system/meson.scm (meson-build, meson-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/qt.scm (qt-build, qt-cross-build): Likewise.
* | Merge branch 'staging' into core-updatesMaxim Cournoyer2022-09-27
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts resolved in: gnu/local.mk gnu/packages/cran.scm gnu/packages/gnome.scm gnu/packages/gtk.scm gnu/packages/icu4c.scm gnu/packages/java.scm gnu/packages/machine-learning.scm gnu/packages/tex.scm
| * build-system/go: Respect #:imported-modules when cross-compiling.Maxime Devos2022-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, #:imported-modules was ignored, causing cross-compilation failures. This bug seems seems to have been introduced in e37dcf63dcea0817ffd74722ee5ff2d103aa2157. After this commit, there remain other cross-compilation problems, e.g. <https://issues.guix.gnu.org/51981> fixes one of them. * guix/build-system/go.scm (go-cross-build)[builder]: Wrap in with-imported-modules. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Merge branch 'staging' into core-updatesMarius Bakke2022-08-30
|\|
| * gnu: scons: Move to (gnu packages build-tools).Marius Bakke2022-08-27
| | | | | | | | | | | | | | | | | | | | * gnu/packages/python-xyz.scm (scons, scons-python2): Move from here ... * gnu/packages/build-tools.scm (scons, scons-python2): ... to here. * gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/game-development.scm, gnu/packages/gps.scm, gnu/packages/image.scm, gnu/packages/installers.scm, gnu/packages/web.scm, gnu/packages/xdisorg.scm: Adjust module imports accordingly. * guix/build-system/scons.scm (default-scons): Likewise.
* | build-system: copy: Support #:tests?.Liliana Marie Prikler2022-08-28
| | | | | | | | * guix/build-system/copy.scm (copy-build): Pass tests? to builder.
* | Merge branch 'staging' into core-updatesMarius Bakke2022-08-27
|\|
| * build-system/gnu: Fix docstring.Andrew Tropin2022-08-19
| | | | | | | | * guix/build-system/gnu.scm (dist-package): Fix docstring.
* | Merge branch 'staging' into core-updatesMarius Bakke2022-08-11
|\|
| * build-system/channel: Correctly handle store file name from (gnu ci).Ludovic Courtès2022-08-11
| | | | | | | | | | | | | | | | This is a followup to cf60a0a906440ccb007bae1243c3e0397c3a0aba. Reported by Mathieu Othacehe <othacehe@gnu.org>. * guix/build-system/channel.scm (build-channels): Add 'string?' case.
| * build-system/channel: Accept a channel or instance as the source.Ludovic Courtès2022-08-09
| | | | | | | | | | | | | | | | | | * guix/build-system/channel.scm (latest-channel-instances*): New variable. (build-channels): New procedure, with code formerly in 'channel-build-system', augmented with clauses for when SOURCE is a channel instance or a channel. * doc/guix.texi (Build Systems): Adjust accordingly.
| * build-system: Add 'channel-build-system'.Ludovic Courtès2022-08-09
| | | | | | | | | | | | | | | | * gnu/ci.scm (channel-build-system, channel-source->package): Remove. * gnu/packages/package-management.scm (channel-source->package): New procedure, moved from (gnu ci). * guix/build-system/channel.scm: New file, with code moved from (gnu ci). * doc/guix.texi (Build Systems): Document it.
| * build-system/perl: Support cross-compilation of some Perl packages.Maxime Devos2022-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/perl.scm: Add info on cross-compilation. (lower)[private-keywords]: Remove #:target when cross-compiling. (lower)[target]: Set. (host-inputs)[perl]: New entry. (host-inputs)[(standard-packages)]: Move to ... (build-inputs)[(standard-packages)]: ... here when cross-compiling. (build-inputs)[standard-cross-packages]: Add when cross-compiling. (target-inputs): New entry when cross-compiling. (build): Use perl-cross-build when cross-compiling. (perl-cross-build): New procedure. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * build-system: asdf: Add asd-operation parameter.Guillaume Le Vaillant2022-08-03
| | | | | | | | | | | | | | | | | | | | | | | | The 'asd-operation' parameter can be used to specify the ASDF operation to use in the build phase. It's default value is "load-system". * guix/build-system/asdf.scm (package-with-build-system, asdf-build): Add 'asd-operation' parameter. * guix/build/asdf-buid-system.scm (build): Add 'asd-operation' parameter and use it. * guix/build/lisp-utils.scm (compile-systems): Add 'asd-operation' parameter and use it.
| * build-system: asdf: Let ASDF locate the .asd files.Pierre Neidhardt2022-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This approach has many benefits: - It simplifies the build system. - The package definitions are easier to write. - It fixes a bug with systems that call asdf:clear-system which would cause the load to fail. See for instance test systems using Prove. * guix/build-system/asdf.scm (package-with-build-system): Remove 'asd-files' and replace 'test-asd-file' by 'asd-test-systems'. (lower): Same. * guix/build/asdf-build-system.scm (source-asd-file): Remove since ASDF does it better than us. (find-asd-files): Same. (build): Remove unused asd-files argument. (check): Remove asd-files argument and replace asd-systems by asd-test-systems. * guix/build/lisp-utils.scm (compile-systems): Call to ASDF to find the systems. (test-system): Same. Signed-off-by: Guillaume Le Vaillant <glv@posteo.net>
| * build-system: qt: Ensure a default value is provided for #:qtbase.Maxim Cournoyer2022-08-01
| | | | | | | | | | | | | | | | * guix/build-system/qt.scm (qt-build)[qtbase]: Specify a default value. Lower it using ungexp-native. (qt-cross-build): Likewise. Reported-by: Maxime Devos <maximedevos@telenet.be> and others.