summaryrefslogtreecommitdiff
path: root/guix/build-system
AgeCommit message (Expand)Author
2021-01-13Merge branch 'staging' into 'core-updates'....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 Maxim Cournoyer
2020-12-23guix: Quote list of bootstrap scripts....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. Ricardo Wurmus
2020-12-23build-system/gnu: Allow overriding of bootstrap scripts....* 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. Ricardo Wurmus
2020-12-09import: cran: Update the Bioconductor version to 3.12....* guix/import/cran.scm (%bioconductor-version): Set to 3.12. * guix/build-system/r.scm (bioconductor-uri): Update to 3.12. Roel Janssen
2020-12-03build-system: Add chicken-build-system....* 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> raingloom
2020-12-01build-system/gnu: Add 'make-dynamic-linker-cache' phase....* 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. Ludovic Courtès
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....* 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. Julien Lepiller
2020-10-19Merge branch 'staging'...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 Maxim Cournoyer
2020-10-19build-system/haskell: Disable parallel builds....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> zimoun
2020-10-16build: Fix docstring typos....* 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. Tobias Geerinckx-Rice
2020-10-05Merge branch 'master' into stagingGuillaume Le Vaillant
2020-09-19build-system/gnu: strip with --strip-unneeded [v2]...[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. Jakub Kądziołka
2020-09-15build-system: asdf: Read all .asd files if no #:asd-files specified....* 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. Guillaume Le Vaillant
2020-09-14build-system: linux-module: Delete some huge items that we probably don't need....* guix/build-system/linux-module.scm (make-linux-module-builder): Delete some huge items that we probably don't need. Danny Milosavljevic
2020-09-12build-system: asdf: Switch from bundles to regular compilation....* 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. Guillaume Le Vaillant
2020-08-13build-system/haskell: Add 'extra-directories' keyword....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. Timothy Sample
2020-08-12build-system/haskell: Add default output "static"....* 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. Ricardo Wurmus
2020-08-12build-system/haskell: Support parallel builds....* 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. Ricardo Wurmus
2020-08-09build-system/emacs: Allow usage of #:parallel-tests? key...* guix/build-system/emacs.scm (emacs-build): Pass parallel-tests? to builder. Signed-off-by: Jakub Kądziołka <kuba@kadziolka.net> Morgan Smith
2020-07-17build-system/maven: Make default-maven-plugins a procedure....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. Christopher Baines
2020-07-17guix: Add maven-build-system....* 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. Julien Lepiller
2020-07-17guix: java-utils: Add Maven-related phases....* 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. Julien Lepiller
2020-06-30build-system/r: bioconductor-uri: Fix archive URL....* guix/build-system/r.scm (bioconductor-uri): Fix archive URL. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2020-06-20build-system/gnu: Cross builds properly handle #:allowed-references & co....Fixes <https://bugs.gnu.org/41775>. * guix/build-system/gnu.scm (gnu-cross-build)[canonicalize-reference]: Pass TARGET and SYSTEM to 'package-cross-derivation'. Ludovic Courtès
2020-06-17build-system/gnu: Simplify 'dist-package'....* guix/build-system/gnu.scm (dist-package): Use default keyword arguments in 'substitute-keyword-arguments'. Ludovic Courtès
2020-06-17build-system/gnu: Adjust 'dist-package' to current 'autoconf-wrapper' API....This is a followup to 464f5447396fcec9b43f7eab71d5d42b522a157f. * guix/build-system/gnu.scm (dist-package): Do not call 'autoconf-wrapper'. Ludovic Courtès
2020-06-16build-system: cmake: Add substitutable keyword....* guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Add substitutable keyword. Efraim Flashner
2020-06-13Merge branch 'staging'Marius Bakke
2020-06-13guix: Update to Bioconductor 3.11....* guix/build-system/r.scm (bioconductor-uri): Use new URL. * guix/import/cran.scm (%bioconductor-version): Update to 3.11. Ricardo Wurmus
2020-06-06Merge branch 'master' into stagingMarius Bakke
2020-06-02build-system: linux-module: Allow passing #:make-flags argument....* 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> Danny Milosavljevic
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....* 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. Pierre Neidhardt
2020-05-18build-system/guile: Expose #:scheme-file-regexp....* guix/build-system/guile.scm (%scheme-file-regexp): New variable. (guile-build): Accept #:scheme-file-regexp and pass it on to builder. Alex Sassmannshausen
2020-04-29Merge branch 'master' into stagingJakub Kądziołka
2020-04-08build-system/go: Allow providing additional build flags...* 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. Jakub Kądziołka
2020-03-30Merge branch 'master' into core-updates... 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 Marius Bakke
2020-03-29build-system/gnu: Optimize the package graph....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'. Ludovic Courtès
2020-03-29Merge branch 'master' into stagingJakub Kądziołka
2020-03-27Merge branch 'master' into core-updates... 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 Marius Bakke
2020-03-23cargo-build-system: Accept a #:features argument...* 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. Jakub Kądziołka
2020-03-22build-system: linux-module: Fix cross compilation....* 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> Mathieu Othacehe
2020-03-18Merge branch 'master' into core-updatesMarius Bakke
2020-03-17build-system: linux-module: Break some long lines....* gnu/build/linux-modules.scm (make-linux-module-builder, lower): Break some long commentary lines. Mathieu Othacehe
2020-03-04Merge branch 'master' into core-updatesMarius Bakke
2020-02-24build-system: Fix copy-build-system default install plan....* guix/build-system/copy.scm (copy-build): Set install-plan default value to copy everything from source to the output. Pierre Neidhardt
2020-02-21build-system: Add copy-build-system....* guix/build-system/copy.scm: New file. * guix/build/copy-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'copy-build-system'. Pierre Neidhardt