summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Expand)Author
2020-12-29build-systems/gnu: Add compressor file extension to symbolic links....Otherwise man and info readers are not able to read their content as they rely on the file extension to detect if compression is used. * guix/build/gnu-build-system.scm (compress-documentation) [retarget-symlink]: Append the compressor file extension to the link file name. Maxim Cournoyer
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-13utils: 'copy-recursively' keeps symlink mtime when #:keep-mtime? is true....* guix/build/utils.scm (copy-recursively): In the "leaf" procedure, call 'set-file-time' also on symlinks. Ludovic Courtès
2020-12-13utils: 'set-file-time' passes AT_SYMLINK_NOFOLLOW....* guix/build/utils.scm (AT_SYMLINK_NOFOLLOW): New variable. (set-file-time): Use it. Ludovic Courtès
2020-12-13build/python: Fix cythonize check phase....* guix/build/python-build-system.scm (ensure-no-cythonized-files): Use format when printing the warning. Efraim Flashner
2020-12-09build/python: Check for cythonized files....* guix/build/python-build-system.scm (ensure-no-cythonized-files): New procedure. (%standard-phases): Add it. Efraim Flashner
2020-12-07build-system/gnu: Remove the source directory from search paths....Fixes <https://issues.guix.gnu.org/44924>. * guix/build/gnu-build-system.scm (set-paths): Delete 'source' from 'input-directories'. 宋文武
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-12-01gremlin: Add 'file-needed/recursive'....* guix/build/gremlin.scm (file-needed/recursive): New procedure. * tests/gremlin.scm ("file-needed/recursive"): New test. Ludovic Courtès
2020-12-01gremlin: Fix typo in docstring....* guix/build/gremlin.scm (file-runpath): Fix typo. Ludovic Courtès
2020-11-29Merge remote-tracking branch 'origin/master' into core-updatesChristopher Baines
2020-11-25build-system/texlive: Phases no longer return a Boolean....* guix/build/texlive-build-system.scm (configure): Remove trailing #t. (build): Use 'for-each' instead of 'every'. (install): Remove trailing #t. Ludovic Courtès
2020-11-25build-system/minify: Phases no longer return a Boolean....* guix/build/minify-build-system.scm (minify): Use 'for-each' instead of 'every'. Call 'close-pipe' and call error when it returns non-zero. (build): Use 'for-each' instead of 'every'. (install): Remove trailing #t. Ludovic Courtès
2020-11-25build-system/gnu: Ignore the result of phase procedures....* guix/build/gnu-build-system.scm (set-SOURCE-DATE-EPOCH) (set-paths, install-locale, unpack, bootstrap) (patch-usr-bin-file, patch-source-shebangs) (patch-generated-file-shebangs, check) (patch-shebangs, strip, validate-runpath) (validate-documentation-location, reset-gzip-timestamps) (compress-documentation, delete-info-dir-file) (patch-dot-desktop-files, install-license-files): Remove trailing #t. (gnu-build): Use 'for-each' instead of 'every', ignore the result if each phase procedure, and remove warning about non #t phase results. Ludovic Courtès
2020-11-22Merge branch 'master' into stagingMarius Bakke
2020-11-22build-system/cargo: Set gettext environment variable when available....* guix/build/cargo-build-system.scm (configure): When gettext is available in the build environment set the GETTEXT_SYSTEM variable. * gnu/packages/crates-io.scm (rust-gettext-rs-0.5, rust-gettext-rs-0.4, rust-gettext-sys-0.19)[arguments]: Remove phase to help find system gettext. Efraim Flashner
2020-11-22build-system/cargo: Set libclang environment variable when available....* guix/build/cargo-build-system.scm (configure): When clang is available in the build environment set the LIBCLANG_PATH variable. * gnu/packages/crates-graphics.scm (rust-aom-sys-0.1, uust-dav1d-sys-0.3), * gnu/packages/crates-io.scm (rust-bindgen-0.55, rust-bindgen-0.54, rust-bindgen-0.53, rust-bindgen-0.52, rust-cexpr-0.4, rust-cexpr-0.3, rust-cexpr-0.2, rust-clang-sys-1, rust-clang-sys-0.29, rust-clang-sys-0.26, rust-clang-sys-0.22, rust-clang-sys-0.11, rust-libpijul-0.12, rust-nettle-7, rust-nettle-sys-2, rust-sequoia-openpgp-0.9)[arguments]: Remove phases which set an environment variable to find clang. [inputs]: Rename instances of libclang with clang. Efraim Flashner
2020-11-22build-system/cargo: Set openssl environment variable when available....* guix/build/cargo-build-system.scm (configure): When openssl is available set the OPENSSL_DIR variable to discover its location. * gnu/packages/crates-io.scm (rust-curl-sys-0.4, rust-libgit2-sys-0.10, rust-libpijul-0.12, rust-libssh2-sys-0.2, rust-native-tls-0.2, rust-openssl-sys-0.9, rust-openssl-0.7, rust-trust-dns-rustls-0.6), * gnu/packages/rust-apps.scm (tokei, exa)[arguments]: Remove redundant setenv for openssl. Efraim Flashner
2020-11-20build-system/python: Set PYTHONDONTWRITEBYTECODE....* guix/build/python-build-system.scm (enable-bytecode-determinism): Set PYTHONDONTWRITEBYTECODE. Maxim Cournoyer
2020-11-20build-system/cargo: Do not pass --features to Cargo unless specified....Fixes <https://bugs.gnu.org/44692>. * guix/build/cargo-build-system.scm (build): Default to the empty list for FEATURES. Check whether the list is empty when building the Cargo arguments. Marius Bakke
2020-11-19utils: Add #:keep-permissions? parameter to 'copy-recursively'....* guix/build/utils.scm (copy-recursively): Add #:keep-permissions? and honor it. * doc/guix.texi (Build Utilities): Adjust accordingly. Ludovic Courtès
2020-11-19utils: Add #:copy-file parameter to 'copy-recursively'....* guix/build/utils.scm (copy-recursively): Add #:copy-file and honor it. * doc/guix.texi (Build Utilities): Adjust accordingly. Ludovic Courtès
2020-11-19utils: 'copy-recursively' keeps directory mtime when #:keep-mtime? is true....Fixes <https://bugs.gnu.org/44741>. * guix/build/utils.scm (copy-recursively): Move 'set-file-time' call from 'down' to 'up'. Ludovic Courtès
2020-11-17utils: 'wrap-script' doesn't pass a non-literal string to 'format'....Reported by Vagrant Cascadian <vagrant@debian.org> in <https://bugs.gnu.org/44626>. * guix/build/utils.scm (wrap-script): Use 'display' instead of passing a non-literal string to 'format'. Ludovic Courtès
2020-11-07Merge branch 'master' into staging... Conflicts: gnu/local.mk gnu/packages/gdb.scm gnu/packages/lisp-xyz.scm gnu/packages/web-browsers.scm Marius Bakke
2020-11-06build-system/meson: Do not apply strip-runpath to the "debug" output....Because the debug files are read-only, the strip-runpath procedure would throw an exception when attempting to open them. * guix/build/meson-build-system.scm (shrink-runpath): Remove "debug" from the list of outputs to be processed. Maxim Cournoyer
2020-10-28build/maven: Fix typo....* guix/build/maven/pom: Fix spelling of "with". Vagrant Cascadian
2020-10-28build/maven: fix-pom-dependencies: Fix typo....* guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overrides". Vagrant Cascadian
2020-10-28build/maven: fix-pom-dependencies: Fix typo....* guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overridden". Vagrant Cascadian
2020-10-26build/maven-build-system: Return #t in fix-pom-files phase....* guix/build/maven-build-system.scm (fix-pom-files): Return #t. Björn Höfling
2020-10-20build-system/python: Revert changing of phase order....Commit c94a2864d4 moved the 'check' phase back into its original place before the 'install' phase, but such a change would require adapting the definition of many Python packages which have come to rely on such phase ordering. * guix/build/python-build-system.scm (%standard-phases): Move the check phase back after the install phase, and update comment. Maxim Cournoyer
2020-10-19build-system/python: Do not embed timestamps in the .pyc byte code files....Fixes <https://issues.guix.gnu.org/22129>. A previously worked around problem where running the test suite after byte compiling the sources in commit 6bbb37a545912c6bb2513ee08587ee4fe39cc330 could be broken by adding built sources to the PYTHONPATH, as is done for python-matplotlib and many others. This seems to be caused by the timestamps embedded in the sources (mtime), that can somehow change when running the tests, or by picking up the different installed source files mtimes when their location is added to the PYTHONPATH. Since Python 3.7.0, it is possible to produce .pyc byte code files that do not embed any timestamp, which solves the problem in a definitive way. This patch makes use of this new feature. * guix/build/python-build-system.scm (install): Add '--no-compile' parameter to setup.py, and instead invoke the 'compileall' module with the "--invalidation-mode=unchecked-hash" option to byte compile the source files. (%standard-phases): Revert the workaround that moved the check phase after the install phase, as it is no longer necessary. Update comment. Reported-by: Mark H Weaver <mhw@netris.org> Maxim Cournoyer
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-19Merge branch 'master' into stagingMarius Bakke
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-15build-system/go: Install license files....* guix/build/go-build-system.scm (install-license-files): New procedure. (%standard-phases): Replace inherited 'install-license-files phase. Efraim Flashner
2020-10-13Merge branch 'master' into stagingMarius Bakke
2020-10-10svn-download, hg-download: Use 'report-invoke-error'....* guix/build/hg.scm (hg-fetch): Use 'report-invoke-error' instead of 'format'. * guix/build/svn.scm (svn-fetch): Likewise. Ludovic Courtès
2020-10-08packages, scripts, utils: Enable multi-threaded xz compression....xz compression is slow; using the multi-thread mode of xz can make it more than 6 times faster, for example when compressing the large linux-libre source. * guix/build/utils.scm (%xz-parallel-args): New procedure. * guix/packages.scm (patch-and-repack): Specify the required above xz arguments by setting the XZ_DEFAULTS environment variable. * guix/scripts/pack.scm (%compressors, bootstrap-xz): Modify the commands Gexps so they do not need to be quoted. This allows lazily evaluating the arguments on the builder's side. Specify the required xz arguments. (self-contained-tarball): Do not quote the compressor command value. (docker-image): Likewise. * guix/utils.scm (decompressed-port, compressed-port) (compressed-output-port): Specify the required above xz arguments. Maxim Cournoyer
2020-10-08utils: Do not raise exceptions in delete-file-recursively....This makes it so that delete-file-recursively honors its docstring, which says it should "report but ignore errors". Fixes <https://issues.guix.gnu.org/43366>. * guix/build/utils.scm (warn-on-error): New syntax. (delete-file-recursively): Use it to catch exceptions and print warning messages. Reported-by: Fredrik Salomonsson <plattfot@gmail.com> Maxim Cournoyer
2020-10-08build: svn: Fix handle fetch errors....This fixes the revert 1ec67d5220b0ebac20263b44f4fefaf51ba8fdbb. * guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> zimoun
2020-10-06Revert "build: svn: Handle fetch errors."...This reverts commit 2fb12dd1bb725592e1561ac8f4b32fb68accb161, which causes the 'svn export' command to fail with: svn: E155000: Destination directory exists; please remove the directory or use --force to overwrite Paul Garlick
2020-10-06build: svn: Handle fetch errors....* guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> zimoun
2020-10-06build: hg: Handle fetch errors....* guix/build/hg.scm (hg-fetch): Add 'guard' to handle errors. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> zimoun
2020-10-06build-system/cargo: Don't install .crates.toml file....Fixes <https://issues.guix.gnu.org/43810>. * guix/build/cargo-build-system.scm (install): Remove installed .crates.toml file. Efraim Flashner
2020-09-23Merge branch 'staging' into wip-lispGuillaume Le Vaillant
2020-09-19utils: Add 'call-with-temporary-output-file'....* guix/utils.scm: Re-export 'call-with-temporary-output-file'. (call-with-temporary-output-file): Move to... * guix/build/utils.scm (call-with-temporary-output-file): ... here. Ludovic Courtès
2020-09-19Remove (guix build rpath)....This file was unused and is now superseded by (guix build gremlin). * guix/build/rpath.scm: Remove. * Makefile.am (MODULES): Remove it. Ludovic Courtès
2020-09-19gremlin: Add 'set-file-runpath', 'file-runpath', and 'file-needed'....* guix/build/gremlin.scm (file-dynamic-info, file-runpath, file-needed): New procedures. (&missing-runpath-error, &runpath-too-long-error): New condition types. (set-file-runpath): New procedure. * tests/gremlin.scm ("set-file-runpath + file-runpath"): New test. Ludovic Courtès
2020-09-19build-system/gnu: strip with --strip-unneeded...Apart from debug information, one can also strip some symbols. This can be a significant difference, qtbase:out consists of about 5 MB of those symbols. 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. Jakub Kądziołka