summaryrefslogtreecommitdiff
path: root/guix/build-system
Commit message (Collapse)AuthorAge
...
| * 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
|\|
| * Revert "gnu: Add %final-inputs-riscv64."Efraim Flashner2022-03-16
| | | | | | | | | | | | This reverts commit 0444be868903356a37fc8ffd3cdf820ca038f3e6. This is no longer necessary after the gcc STARTFILE_PREFIX_SPEC commit.
| * build-system/ocaml: Use standard packages as "build inputs".Ludovic Courtès2022-03-14
| | | | | | | | | | | | | | | | | | | | Conceptually, "standard packages" (GCC, Coreutils, etc.) are "build inputs". In the absence of cross-compilation support, this change has no effect, except for things like '--tune' that expect the compiler to be among the build inputs. * guix/build-system/ocaml.scm (lower): Move (standard-packages) from 'host-inputs' to 'build-inputs'.
| * build-system/meson: Add more cross-compilation targets.Efraim Flashner2022-03-07
| | | | | | | | | | | | * guix/build-system/meson.scm (make-machine-alist): Add riscv64-linux option for cpu_family. Add riscv64-linux and powerpc-linux options for endian.
| * build: julia: Add 'julia-package-dependencies' as keyword.Efraim Flashner2022-02-24
| | | | | | | | | | | | | | | | | | | | | | * guix/build-system/julia.scm (link-depot): Accept julia-package-dependencies keyword and use it for 'julia-create-package-toml' function. (julia-create-package-toml): Use pattern matching. (julia-build): Add 'julia-pacakge-dependencies'. * guix/build/julia-build-system.scm (julia-build): Add '#:julia-package-dependencies' keyword. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| * build-system/texlive: Be explicit about #:guile-for-build.Ludovic Courtès2022-02-11
| | | | | | | | | | | | | | | | This ensures package derivations are not a function of the value of (%guile-for-build). * guix/build-system/texlive.scm (texlive-build): Explicitly pass #:guile-for-build to 'gexp->derivation'.
| * gnu: Add %final-inputs-riscv64.Efraim Flashner2022-01-27
| | | | | | | | | | | | * gnu/packages/commencement.scm (%final-inputs-riscv64): New variable. * guix/build-system/gnu.scm (standard-inputs): Use %final-inputs-riscv64 when targeting riscv64-linux.
* | Merge branch 'staging' into core-updates.Maxim Cournoyer2022-01-25
|\| | | | | | | | | | | | | | | | | | | With "conflicts" resolved in (mostly in favor of master/staging): gnu/packages/admin.scm gnu/packages/gnuzilla.scm gnu/packages/gtk.scm gnu/packages/kerberos.scm gnu/packages/linux.scm guix/lint.scm
| * build-system/clojure: Support compiling Java.Reily Siegel2022-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build/clojure-build-system.scm (compile-java): New variable. (build): Copy classes compiled from Java and optionally Java sources to the final jar. (%standard-phases): Add compile-java phase before build. * guix/build/clojure-utils.scm (%java-source-dirs): New variable. (%java-compile-dir): New variable. * guix/build-system/clojure.scm (clojure-build): Include %java-source-dirs and %java-compile-dir. (builder): Include %java-source-dirs and %java-compile-dir. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * build-system/linux-module: Use G-expressions.Tobias Geerinckx-Rice2022-01-16
| | | | | | | | | | * guix/build-system/linux-module.scm (make-linux-module-builder) [arguments]: Rewrite as G-expressions.
| * build-system: clojure: Allow clojure-build-system to pass source to ant.Reily Siegel2022-01-12
| | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/52598>. * guix/build-system/clojure.scm (lower): Remove #:source from private keywords, preventing an error in ant-build-system. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
| * build-system: Pass #:make-dynamic-linker-cache? #f when cross-compiling.Ludovic Courtès2022-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/52898>. Reported by Maxime Devos <maximedevos@telenet.be>. This is a followup to 1209447ad3f471d12e9408dd478b3cfcd7b7a07e. * guix/build-system/cmake.scm (cmake-cross-build)[builder]: Pass #:make-dynamic-linker-cache? #f. * guix/build-system/go.scm (go-cross-build)[builder]: Ditto. * guix/build-system/guile.scm (guile-cross-build)[builder]: Ditto. * guix/build-system/qt.scm (qt-cross-build)[builder]: Ditto.
| * guix: node-build-system: Add implicit libuv input.Philip McGrath2022-01-09
| | | | | | | | | | | | | | | | * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
| * build-system/go: Add pre-built standard library as implicit input.Sarah Morgensen2021-12-24
| | | | | | | | | | | | | | | | * gnu/packages/golang.scm (make-go-std): New procedure. * guix/build-system/go.scm (make-go-std): New procedure. (lower): Use it. Add pre-built standard library to inputs. Signed-off-by: Leo Famulari <leo@famulari.name>
| * build-system/go: Add #:substitutable? argument.Sarah Morgensen2021-12-24
| | | | | | | | | | | | | | * guix/build-system/go.scm (go-build): Add 'substitutable?' argument. (go-cross-build): Likewise. Signed-off-by: Leo Famulari <leo@famulari.name>
| * build-system/meson: Define build variables when cross-compiling.Ludovic Courtès2021-12-20
| | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/52574>. Reported by L p R n d n <guix@lprndn.info>. * guix/build-system/meson.scm (meson-cross-build)[builder]: Define '%build-host-inputs', '%build-target-inputs', '%build-inputs', and '%outputs'.
* | Merge branch 'master' into core-updatesEfraim Flashner2021-12-19
|\|
| * build-system/linux-module: Wrap with build variables.Tobias Geerinckx-Rice2021-12-15
| | | | | | | | | | | | | | | | * guix/build-system/linux-module.scm (linux-module-build): Wrap the builder gexp WITH-BUILD-VARIABLES to restore %build-inputs after commit 7d873f194ca69d6096d28d7a224ab78e83e34fe1 removed all old certainties. Reported by lfam in #guix.
| * Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus2021-12-05
| |\
| | * build-system: haskell: Add ‘hackage-uri’ procedure.Xinglu Chen2021-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system/haskell (hackage-uri): New procedure. * guix/import/hackage.scm (hackage-module->sexp, latest-release): Use it. * tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision, match-ghc-foo-import): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * | build: julia-build-system: Add support for parallel tests.zimoun2021-11-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests are defined by the script 'test/runtests.jl' from packages and the parallelism depends on the implementation of this script. Therefore, 'julia' is launched using local worker processes accordingly with 'parallel?'. * guix/build/julia-build-system.scm (check): Set the JULIA_CPU_THREADS environment variable and invoke julia with the '--procs' option. * guix/build-system/julia.scm (julia-build)[parallel-tests?]: New argument. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>