aboutsummaryrefslogtreecommitdiff
path: root/guix/build-system
Commit message (Collapse)AuthorAge
...
| * 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.
| * build: qt: Add qtbase argument and wrap Qt environment variables exactly.Maxim Cournoyer2022-07-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/qt.scm (default-qtbase): New variable. (lower) <#:qtbase>: Add argument... [build-inputs]: ... and propagate it here. (qt-build): Add qtbase argument. (qt-cross-build): Likewise. * guix/build/qt-utils.scm (%default-qt-major-version): New variable. (variables-for-wrapping): Add qt-major-version argument, and use it to format the various path prefixes. Wrap QT environment variables exactly. (wrap-qt-program*): Add qt-major-version argument, and pass it to variables-for-wrapping. (wrap-qt-program): Add qt-major-version argument, and pass it to wrap-qt-program*. (wrap-all-qt-programs): Add qtbase argument, and extract the major version from it, passing it to wrap-qt-program*.
* | build-system/mozilla: Fix typo in the cross-compilation case.Ludovic Courtès2022-07-19
| | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/56633>. Reported by Marius Bakke <marius@gnu.org>. * guix/build-system/mozilla.scm (lower-mozilla): Pass NAME as the first argument to LOWER when TARGET is true.
* | Merge branch 'master' into core-updatesMarius Bakke2022-06-27
|\|
| * build-system/dub: Use the gold linker.(2022-06-19
| | | | | | | | | | | | | | | | | | * guix/build-system/dub.scm (default-ld-gold-wrapper): New procedure. (lower): Add a LD-GOLD-WRAPPER to the keyword arguments, and to the resulting bag's… [build-inputs]: …build inputs. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
* | Merge branch master into core-updatesLudovic Courtès2022-06-22
|\|
| * import: Add hex.pm importer.Hartmut Goebel2022-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | hex.pm is a package repository for Erlang and Elixir. * guix/scripts/import.scm (importers): Add "hexpm". * guix/scripts/import/hexpm.scm, guix/import/hexpm.scm, guix/hexpm-download.scm: New files. * guix/import/utils.scm (source-spec->object): Add "hexpm-fetch" to list of fetch methods. * guix/upstream.scm (package-update/hexpm-fetch): New function. (%method-updates) Add it. * Makefile.am: Add them.
| * build-system: Add 'rebar-build-system'.Hartmut Goebel2022-06-15
| | | | | | | | | | | | * guix/build-system/rebar.scm, guix/build/rebar-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Update rebar-build-system section.
* | Merge branch 'master' into core-updatesLudovic Courtès2022-06-08
|\|
| * guix: Upgrade to Bioconductor 3.15.Ricardo Wurmus2022-05-28
| | | | | | | | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.15. * guix/import/cran.scm (%bioconductor-version): Same.
| * build-system: linux-module: Directly use-module (guix platform).Josselin Poiret2022-05-25
| | | | | | | | | | | | | | * guix/build-system/linux-module.scm (system->arch): Remove module-ref shenanigans. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| * linux: Remove system->linux-architecture procedure.Mathieu Othacehe2022-05-22
| | | | | | | | | | | | | | | | | | | | * gnu/packages/linux.scm (system->linux-architecture): Remove it. (make-linux-libre-headers*, make-linux-libre*): Adapt them. * guix/build-system/linux-module.scm (system->arch): Adapt it. * gnu/packages/instrumentation.scm (uftrace): Ditto. * gnu/packages/cross-base.scm (cross-kernel-headers): Ditto. * gnu/packages/bioinformatics.scm (ncbi-vdb): Ditto. * doc/guix.texi (Porting to a new platform): Update it.
| * gnu: elm: Support 'elm reactor'.Philip McGrath2022-05-22
| | | | | | | | | | | | | | | | | | | | | | * gnu/packages/elm.scm (elm): Rename to ... (elm-sans-reactor): ... this new variable. [synopsis, description]: Tweak. (elm): New variable. * guix/build-system/elm.scm (default-elm): Use elm-sans-reactor. * doc/guix.texi (Build Systems)[elm-build-system]: Update accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * build-system/elm: Add implicit Elm inputs.Philip McGrath2022-05-22
| | | | | | | | | | | | | | | | * guix/build-system/elm.scm (default-elm-core): New variable. (default-elm-json): Likewise (lower): Use them as implicit inputs when applicable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * guix: Add elm-build-system.Philip McGrath2022-05-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/patches/elm-offline-package-registry.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/elm.scm (elm): Use it. * guix/build-system/elm.scm, guix/build/elm-build-system.scm, tests/elm.scm: New files. * Makefile.scm (MODULES, SCM_TESTS): Add them. * doc/guix.texi (Build Systems): Document 'elm-build-system'. * doc/contributing.texi (Elm Packages): New section. Document naming conventions and utilities. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | build-system: font: Move unpack utilities to build-inputs.Arun Isaac2022-05-16
| | | | | | | | | | * guix/build-system/font.scm (lower): Move tar, gzip, bzip2, unzip and xz from host-inputs to build-inputs.
* | Merge branch 'staging' into core-updates.Maxim Cournoyer2022-03-21
|\|