summaryrefslogtreecommitdiff
path: root/guix/build-system
AgeCommit message (Collapse)Author
2021-01-14build-system/texlive: Allow specifying SVN references with a single component.Maxim Cournoyer
This is the case for macros (formats), for which the TeX Directory Structure specifies to be located at the root of the source tree directly. * guix/build-system/texlive.scm (texlive-ref): Make the ID parameter optional. Update doc.
2021-01-13Merge branch 'staging' into 'core-updates'.Maxim Cournoyer
Conflicts: gnu/local.mk gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/gl.scm gnu/packages/glib.scm gnu/packages/guile.scm gnu/packages/node.scm gnu/packages/openldap.scm gnu/packages/package-management.scm gnu/packages/python-xyz.scm gnu/packages/python.scm gnu/packages/tls.scm gnu/packages/vpn.scm gnu/packages/xorg.scm
2020-12-23guix: Quote list of bootstrap scripts.Ricardo Wurmus
This is a follow-up to commit 9cfc93be30c516fd6fa32915c61c06e03f23a011. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Quote the list of default bootstrap scripts.
2020-12-23build-system/gnu: Allow overriding of bootstrap scripts.Ricardo Wurmus
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept bootstrap-scripts keyword argument and pass it to gnu-build. (%bootstrap-scripts): New variable. * guix/build/gnu-build-system.scm (%bootstrap-scripts): Remove variable. (bootstrap): Remove default value for bootstrap-scripts argument.
2020-12-09import: cran: Update the Bioconductor version to 3.12.Roel Janssen
* guix/import/cran.scm (%bioconductor-version): Set to 3.12. * guix/build-system/r.scm (bioconductor-uri): Update to 3.12.
2020-12-03build-system: Add chicken-build-system.raingloom
* guix/build-system/chicken.scm: New file. * guix/build/chicken-build-system.scm: New file. * Makefile.am: Add them. * doc/guix.texi: Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-12-01build-system/gnu: Add 'make-dynamic-linker-cache' phase.Ludovic Courtès
* guix/build/gnu-build-system.scm (make-dynamic-linker-cache): New procedure. (%standard-phases): Add it. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Add #:make-dynamic-linker-cache? and honor it.
2020-11-29Merge remote-tracking branch 'origin/master' into core-updatesChristopher Baines
2020-11-11Merge branch 'master' into stagingMarius Bakke
2020-11-10guix: ocaml: Add package-with-ocaml4.09.Julien Lepiller
* guix/build-system/ocaml.scm (package-with-ocaml4.09) (strip-ocaml4.09-variant): New variables. * gnu/packages/ocaml.scm (ocaml4.09-result, ocaml4.09-csexp) (ocaml4.09-dune-configurator, ocaml4.09-dune): New variables.
2020-10-19Merge branch 'staging'Maxim Cournoyer
Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/gdb.scm gnu/packages/llvm.scm gnu/packages/package-management.scm gnu/packages/tls.scm
2020-10-19build-system/haskell: Disable parallel builds.zimoun
Fixes <https://bugs.gnu.org/43843>. * guix/build-system/haskell.scm (haskell-build): Turn off PARALLEL-BUILD? by default. Signed-off-by: Marius Bakke <marius@gnu.org>
2020-10-16build: Fix docstring typos.Tobias Geerinckx-Rice
* gnu/build/image.scm (estimate-partition-size): Fix typo in docstring. * guix/build/copy-build-system.scm (install): Likewise. * guix/build/lisp-utils.scm (generate-executable): Likewise. * guix/build/maven/pom.scm (find-parent, fix-pom-dependencies): Likewise. * guix/build-system/cargo.scm (expand-crate-sources): Likewise.
2020-10-05Merge branch 'master' into stagingGuillaume Le Vaillant
2020-09-19build-system/gnu: strip with --strip-unneeded [v2]Jakub Kądziołka
[Accidentally pushed patch v1, this commit contains the rest of the changes. Revised commit message follows.] Apart from debug information, one can also strip some symbols. This can be a significant difference, the closure of gcc-toolchain@7 got reduced by 15 MB in my tests. As per [1], --strip-debug is included in --strip-unneeded, and the debug files created also contain a copy of the information removed by --strip-unneeded. Linux From Scratch suggests that this option shouldn't be used on static libraries [2], however other sources [3] indicate otherwise. Building a toolchain with this patch succeeds, and the result works fine for 'gcc -static hello-world.c'. [1]: https://stackoverflow.com/a/52555093 [2]: http://www.linuxfromscratch.org/lfs/view/9.1/chapter05/stripping.html [3]: https://www.technovelty.org/linux/stripping-shared-libraries.html * guix/build/gnu-build-system.scm (strip): Use --strip-unneeded. * guix/build-system/gnu.scm (static-package, gnu-build, gnu-cross-build): Likewise.
2020-09-15build-system: asdf: Read all .asd files if no #:asd-files specified.Guillaume Le Vaillant
* guix/build-system/asdf.scm (asdf-build): Remove the 'files' variable. * guix/build/asd-build-system.scm (find-asd-files): New variable. (build, check): Use it.
2020-09-14build-system: linux-module: Delete some huge items that we probably don't need.Danny Milosavljevic
* guix/build-system/linux-module.scm (make-linux-module-builder): Delete some huge items that we probably don't need.
2020-09-12build-system: asdf: Switch from bundles to regular compilation.Guillaume Le Vaillant
* gnu/packages/lisp.scm (sbcl, ecl)[native-search-paths]: Add 'XDG_CONFIG_DIRS'. * guix/build-system/asdf.scm (asdf-build): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. * guix/build/asdf-build-system.scm (%object-prefix, %lisp-source-install-prefix): Update variables. (install): Update variable. (main-system-name): New variable. (copy-source): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (configure): New variable. (build, check): Replace 'asd-file' and 'asd-system-name' keywords by 'asd-files' and 'asd-systems'. (create-asd-file, symlink-asd-files): Remove variables. (create-asdf-configuration): New variable. (cleanup-files): Update variable. (%standard-phases): Remove 'create-asd-file' and 'symlink-asd-files' phases. Add 'configure' and 'create-asdf-configuration' phases. * guix/build/lisp-utils.scm (%bundle-install-prefix, normalize-dependency, inputs->asd-file-map, asdf-load-all, compile-system): Remove variables. (compile-systems): New variable. (system-dependencies, compiled-system, generate-system-definition): Remove variable. (test-system): Replace 'asd-file' parameter by 'asd-files'. (generate-executable-for-system): Update variable. (generate-dependency-links, make-asd-file, bundle-asd-file): Remove variables. (make-asdf-configuration): New variable. (build-program, build-image): Set 'XDG_CONFIG_DIRS'. (generate-executable): Update variable.
2020-08-13build-system/haskell: Add 'extra-directories' keyword.Timothy Sample
See <https://bugs.gnu.org/39309>. * guix/build-system/haskell.scm (lower): Include the transitive propagated inputs of 'extra-directories' inputs. (haskell-build): Add the 'extra-directories' keyword and pass it through to the builder. * guix/build/haskell-build-system.scm (configure): Use it to select which inputs get passed via 'extra-include-dirs' and 'extra-lib-dirs' to Cabal. * gnu/packages/haskell-xyz.scm (ghc-alsa-core, ghc-hmatrix, ghc-hmatrix-gsl, ghc-hslua, ghc-iwlib, ghc-libyaml, ghc-ncurses, ghc-openglraw, ghc-x11, ghc-x11-xft, ghc-zlib): Set 'extra-directories'. * gnu/packages/haskell-crypto.scm (ghc-digest, ghc-hsopenssl): Likewise.
2020-08-12build-system/haskell: Add default output "static".Ricardo Wurmus
* guix/build-system/haskell.scm (lower): Add OUTPUTS keyword and add the "static" output in the common case. (haskell-build): Set the default value for the OUTPUTS keyword to include the "static" output. * guix/build/haskell-build-system.scm (install): Move static libraries to the "static" output if it exists.
2020-08-12build-system/haskell: Support parallel builds.Ricardo Wurmus
* guix/build-system/haskell.scm (haskell-build): Add keyword PARALLEL-BUILD? and pass it on to the builder. * guix/build/haskell-build-system.scm (build): Accept keyword PARALLEL-BUILD? and pass the number of parallel jobs to GHC.
2020-08-09build-system/emacs: Allow usage of #:parallel-tests? keyMorgan Smith
* guix/build-system/emacs.scm (emacs-build): Pass parallel-tests? to builder. Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net>
2020-07-17build-system/maven: Make default-maven-plugins a procedure.Christopher Baines
This allows compiling the module without the (gnu packages maven) module being available. * guix/build-system/maven.scm (%default-maven-plugins): Rename to default-maven-plugins, and convert to a procedure. * doc/guix.texi (maven-build-system): Update.
2020-07-17guix: Add maven-build-system.Julien Lepiller
* guix/build-system/maven.scm: New file. * guix/build/maven-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document the maven build system.
2020-07-17guix: java-utils: Add Maven-related phases.Julien Lepiller
* guix/build/maven/java.scm: New file. * guix/build/maven/plugin.scm: New file. * guix/build/maven/pom.scm: New file. * Makefile.am (MODULES): Add them. * guix/build-system/ant.scm (%ant-build-system-modules): Add them to the build side. * guix/build/java-utils.scm (generate-plugin.xml, install-pom-file) (install-from-pom): New procedures.
2020-06-30build-system/r: bioconductor-uri: Fix archive URL.zimoun
* guix/build-system/r.scm (bioconductor-uri): Fix archive URL. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2020-06-20build-system/gnu: Cross builds properly handle #:allowed-references & co.Ludovic Courtès
Fixes <https://bugs.gnu.org/41775>. * guix/build-system/gnu.scm (gnu-cross-build)[canonicalize-reference]: Pass TARGET and SYSTEM to 'package-cross-derivation'.
2020-06-17build-system/gnu: Simplify 'dist-package'.Ludovic Courtès
* guix/build-system/gnu.scm (dist-package): Use default keyword arguments in 'substitute-keyword-arguments'.
2020-06-17build-system/gnu: Adjust 'dist-package' to current 'autoconf-wrapper' API.Ludovic Courtès
This is a followup to 464f5447396fcec9b43f7eab71d5d42b522a157f. * guix/build-system/gnu.scm (dist-package): Do not call 'autoconf-wrapper'.
2020-06-16build-system: cmake: Add substitutable keyword.Efraim Flashner
* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Add substitutable keyword.
2020-06-13Merge branch 'staging'Marius Bakke
2020-06-13guix: Update to Bioconductor 3.11.Ricardo Wurmus
* guix/build-system/r.scm (bioconductor-uri): Use new URL. * guix/import/cran.scm (%bioconductor-version): Update to 3.11.
2020-06-06Merge branch 'master' into stagingMarius Bakke
2020-06-02build-system: linux-module: Allow passing #:make-flags argument.Danny Milosavljevic
* guix/build-system/linux-module.scm (linux-module-build): Add #:make-flags. (linux-module-build-cross): Add #:make-flags. * guix/build/linux-module-build-system.scm (install): Pass make-flags. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-05-26Merge branch 'master' into stagingMarius Bakke
2020-05-26Merge branch 'master' into stagingMarius Bakke
2020-05-21build: asdf-build-system: Use SBCL source in CL packages.Pierre Neidhardt
* guix/build/asdf-build-system.scm (copy-files-to-output): Don't attempt to reset timestamps on files without write access. (install): When parent SBCL package is in the inputs, use its source. This way we get possibly patched sources in CL packages as well (e.g. for FFI). This is also useful for sources that generate files on load-op, like cl-unicode. * guix/build-system/asdf.scm (package-with-build-system): Forward the SBCL parent as a native input so that it can be used in the above install phase.
2020-05-18build-system/guile: Expose #:scheme-file-regexp.Alex Sassmannshausen
* guix/build-system/guile.scm (%scheme-file-regexp): New variable. (guile-build): Accept #:scheme-file-regexp and pass it on to builder.
2020-04-29Merge branch 'master' into stagingJakub Kądziołka
2020-04-08build-system/go: Allow providing additional build flagsJakub Kądziołka
* guix/build-system/go.scm (build-flags): New argument. * guix/build/go-build-system.scm (build): Use apply to pass the additional arguments to invoke.
2020-03-30Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/guile.scm gnu/packages/linux.scm gnu/packages/package-management.scm gnu/packages/pulseaudio.scm gnu/packages/web.scm
2020-03-29build-system/gnu: Optimize the package graph.Ludovic Courtès
With this change, the output of: guix graph -e '(@@ (gnu packages commencement) coreutils-final)' |grep 'label = ' | wc -l drops from 76 nodes to 68 nodes, and the "add-data-to-store-cache" hit rate for: guix build libreoffice -d --no-grafts drops from 3.9% to 2.6%. * guix/build-system/gnu.scm (package-with-explicit-inputs*)[cut?]: Adjust condition to exclude packages with build systems other than GNU-BUILD-SYSTEM, such as 'ld-wrapper-boot3'.
2020-03-29Merge branch 'master' into stagingJakub Kądziołka
2020-03-27Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/icu4c.scm gnu/packages/man.scm gnu/packages/python-xyz.scm guix/scripts/environment.scm guix/scripts/pack.scm guix/scripts/package.scm guix/scripts/pull.scm guix/store.scm
2020-03-23cargo-build-system: Accept a #:features argumentJakub Kądziołka
* guix/build/cargo-build-system.scm (build, install): Pass the features to cargo. (check): Remove indirection layer for consistency with build and install. * guix/build-system/cargo.scm (cargo-build): New argument; pass it into the builder. * gnu/packages/rust-apps.scm (ripgrep): Use the new argument instead of a custom phase.
2020-03-22build-system: linux-module: Fix cross compilation.Mathieu Othacehe
* guix/build-system/linux-module.scm (default-kmod, default-gcc): Delete procedures. (system->arch): New procedure. (make-linux-module-builder)[native-inputs]: Move linux... [inputs]: ...to here. (linux-module-build-cross): New procedure. (linux-module-build): Add TARGET. Pass TARGET and ARCH to build side. (lower): Allow cross-compilation. Move "linux" and "linux-module-builder" to host-inputs. Add target-inputs. Call linux-module-build-cross if TARGET is set, linux-module-build otherwise. * guix/build/linux-module-build-system.scm (configure): Add ARCH argument. (linux-module-build): Adjust comment. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2020-03-18Merge branch 'master' into core-updatesMarius Bakke
2020-03-17build-system: linux-module: Break some long lines.Mathieu Othacehe
* gnu/build/linux-modules.scm (make-linux-module-builder, lower): Break some long commentary lines.
2020-03-04Merge branch 'master' into core-updatesMarius Bakke
2020-02-24build-system: Fix copy-build-system default install plan.Pierre Neidhardt
* guix/build-system/copy.scm (copy-build): Set install-plan default value to copy everything from source to the output.