summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2018-07-03syscalls: Define AT_SYMLINK_NOFOLLOW et al.Ludovic Courtès
* guix/build/syscalls.scm (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR) (AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, AT_EMPTY_PATH): New variables. * tests/syscalls.scm ("utime with AT_SYMLINK_NOFOLLOW"): New test.
2018-06-19build-system/waf: Use invoke.Ricardo Wurmus
* guix/build/waf-build-system.scm (call-waf): Use "invoke" and unconditionally return #t.
2018-06-18compile: Work around non-thread-safe module autoloading.Ludovic Courtès
* guix/build/compile.scm <top level>: Set 'try-module-autoload' when running on Guile < 2.2.4.
2018-06-14database: Add 'register-items'.Ludovic Courtès
* guix/build/store-copy.scm (store-info): Export. * guix/store/database.scm (register-items): New procedure. (register-path): Implement in terms of 'register-items'. * gnu/build/install.scm (register-closure): Use 'register-items' instead of 'for-each' and 'register-path'.
2018-06-14store-copy: 'read-reference-graph' returns a list of records.Ludovic Courtès
The previous implementation of 'read-reference-graph' was good enough for many use cases, but it discarded the graph structure, which is useful information in some cases. * guix/build/store-copy.scm (<store-info>): New record type. (read-reference-graph): Rewrite to return a list of <store-info>. (closure-size, populate-store): Adjust accordingly. * gnu/services/base.scm (references-file): Adjust accordingly. * gnu/system/vm.scm (system-docker-image): Likewise. * guix/scripts/pack.scm (squashfs-image, docker-image): Likewise. * tests/gexp.scm ("gexp->derivation #:references-graphs"): Likewise.
2018-05-31build-system/r: Use invoke.Ricardo Wurmus
* guix/build/r-build-system.scm (invoke-r): Use invoke. (pipe-to-r): Raise invoke-error on non-zero return value. (check): Unconditionally return #t.
2018-05-21Merge branch 'master' into core-updatesMark H Weaver
2018-05-17union: Do not warn about harmless collisions.Ludovic Courtès
Until now we'd get pointless messages like: warning: collision encountered: /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache /gnu/store/…-inkscape-0.92.3/share/icons/hicolor/icon-theme.cache warning: choosing /gnu/store/…-gtk-icon-themes/share/icons/hicolor/icon-theme.cache * guix/build/union.scm (%harmless-collisions): New variable. (warn-about-collision): Honor it.
2018-05-17Merge branch 'master' into core-updatesMark H Weaver
2018-05-10profiles: Optionally use relative file names for symlink targets.Ludovic Courtès
* guix/build/union.scm (symlink-relative): New procedure. * guix/build/profiles.scm: Re-export it. (build-profile): Add #:symlink and pass it to 'union-build'. * guix/profiles.scm (profile-derivation): Add #:relative-symlinks?. Pass #:symlink to 'build-profile'. * tests/profiles.scm ("profile-derivation relative symlinks, one entry") ("profile-derivation relative symlinks, two entries"): New tests.
2018-05-10union: Add 'relative-file-name'.Ludovic Courtès
* guix/build/union.scm (%not-slash): New variable. (relative-file-name): New procedure. * tests/union.scm (test-relative-file-name): New macro and tests.
2018-05-10build-system: android-ndk: Let upstream install header files.Danny Milosavljevic
* guix/build/android-ndk-build-system.scm (install): Don't install header files ourselves.
2018-05-10build-system: android-ndk: Support unit tests.Danny Milosavljevic
* guix/build-system/android-ndk.scm (android-ndk-build): Add googletest. * guix/build/android-ndk-build-system.scm (check): Check whether tests are enabled. Run root-level tests as well.
2018-05-09build: Add the Android NDK build-system.Danny Milosavljevic
* guix/build-system/android-ndk.scm: New file. * guix/build/android-ndk-build-system.scm: New file. * Makefile.am: Add them.
2018-05-06guix: ant-build-system: End "configure" phase with #t.Danny Milosavljevic
* guix/build/ant-build-system.scm (configure): End with #t.
2018-05-06guix: ant-build-system: Create INDEX.LIST.Danny Milosavljevic
Fixes <https://bugs.gnu.org/31374>. * guix/build/ant-build-system.scm (generate-jar-indices): New procedure. (%standard-phases)[generate-jar-indices]: New phase.
2018-05-06Merge branch 'master' into core-updatesMarius Bakke
2018-05-03build: emacs-utils: Fail when byte compilation fails.Maxim Cournoyer
Byte compilation failures were ignored prior to this change. * guix/build/emacs-utils.scm (emacs-byte-compile-directory): Fail when there are compilation errors. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-05-01compile: Exit when an exception is thrown.Ludovic Courtès
Previously we could end up with only a subset of the modules built. Fixes <https://bugs.gnu.org/31329>. * guix/build/compile.scm (call/exit-on-exception): New procedure. (exit-on-exception): New macro. (compile-files): Use it.
2018-04-25Merge branch 'master' into stagingMarius Bakke
2018-04-21Merge branch 'master' into core-updatesMark H Weaver
2018-04-20build-system: emacs: Add improved check phase.Maxim Cournoyer
* guix/build-system/emacs.scm (emacs-build): Add #:test-command keyword argument. Remove #:configure-flags and #:test-target keyword arguments. * guix/build/emacs-build-system.scm (check): New procedure. (%standard-phases): Register check phase after the build phase. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-04-20build-system: emacs: Replace system* with invoke.Maxim Cournoyer
* guix/build/emacs-utils.scm: Use (guix build utils) for invoke. (emacs-batch-eval, emacs-batch-edit-file): Replace system* with invoke. * guix/build/emacs-build-system.scm (make-autoloads): No need to return #t explicitly since emacs-generate-autoloads now uses invoke. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-04-20build-system: emacs: Search all inputs for Emacs Lisp directories.Maxim Cournoyer
* guix/build/emacs-build-system.scm (set-emacs-load-path): Include Emacs Lisp directories from all inputs. Also, add the unpacked source directory to EMACSLOADPATH. (emacs-inputs, emacs-inputs-directories, emacs-input->el-directory, emacs-inputs-el-directories): Remove. (%standard-phases): Move set-emacs-load-path phase to after unpack phase. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2018-04-16Merge branch 'master' into stagingMarius Bakke
2018-04-15build-system/meson: Don't override LDFLAGS if already set.Marius Bakke
* guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours. (cherry picked from commit 611c27db2aec8c2f72bc0c1e5c7d126dc95b39b2)
2018-04-10Merge branch 'master' into core-updatesMark H Weaver
2018-04-08union: Allow callers to choose the collision resolution policy.Ludovic Courtès
* guix/build/union.scm (warn-about-collision): New procedure. (union-build): Add #:resolve-collision. [resolve-collisions]: Call it. * tests/union.scm ("union-build collision first & last"): New test.
2018-04-02build-system/meson: Don't override LDFLAGS if already set.Marius Bakke
* guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours.
2018-03-31union: Slightly improve messages for file collisions.Ludovic Courtès
* guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message.
2018-03-29ld-wrapper: Allow linking with non-store libraries by default.Ludovic Courtès
This was suggested on several occasions, notably <https://bugs.gnu.org/24544>. * gnu/packages/ld-wrapper.in (%allow-impurities?): Default to #t and parse the value of 'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'. * guix/build/gnu-build-system.scm (set-paths): Set 'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'.
2018-03-29gremlin: Fix typo in export list.Ludovic Courtès
* guix/build/gremlin.scm: Really export 'elf-dynamic-info-soname'.
2018-03-20Merge branch 'master' into core-updatesMark H Weaver
2018-03-20build-system/gnu: Fix typo.Ludovic Courtès
* guix/build/gnu-build-system.scm (dump-file-contents): Fix typo in 'string-pad' argument.
2018-03-20build-system/gnu: Dump test suite logs upon 'check' failure.Ludovic Courtès
Suggested by Mark H Weaver <mhw@netris.org>. * guix/build/gnu-build-system.scm (dump-file-contents): New procedure. (%test-suite-log-regexp): New variable. (check): Add #:test-suite-log-regexp. Catch 'invoke-error?' and call 'dump-file-contents' upon error.
2018-03-18build-system/python: Fix deletion of .egg-info dirs created by tests.Mark H Weaver
* guix/build/python-build-system.scm (check): Use 'string=?' to compare strings, not 'eqv?'.
2018-03-18build-system/python: Return #t from all phases.Mark H Weaver
* guix/build/python-build-system.scm (build, install, wrap): Return #t. (check): Return #t and remove vestigial plumbing.
2018-03-16build-system/gnu: Tolerate errors during the 'strip' phase.Mark H Weaver
This is a followup to commit 9a87649c863e1ff8b073b356875eb05eecedbcf7. * guix/build/gnu-build-system.scm (strip)[strip-dir]: If an invoke error occurs, issue a warning and continue to the next file. This restores the tolerance of stripping errors prior to commit 9a87649.
2018-03-16utils: invoke: Raise exceptions using SRFI-34 and SRFI-35.Mark H Weaver
* guix/build/utils.scm (&invoke-error): New condition type. (invoke-error?, invoke-error-program, invoke-error-arguments) (invoke-error-exit-status, invoke-error-term-signal) (invoke-error-stop-signal): New exported procedures. (invoke): Raise exceptions using SRFI-34 and SRFI-35. * guix/ui.scm (call-with-error-handling): Add a guard clause for &invoke-error conditions.
2018-03-16gnu-build: Issue a warning unless every phase returns #t.Mark H Weaver
* guix/build/gnu-build-system.scm (gnu-build): Issue a warning if a phase returns a value other than #t.
2018-03-16build-system/gnu: Return a boolean from all phase procedures.Mark H Weaver
* guix/build/gnu-build-system.scm (patch-source-shebangs) (patch-generated-file-shebangs, strip): Return #t. (validate-runpath): Raise an exception if validation fails. Never return #f.
2018-03-16build: emacs-utils: Use invoke instead of system*.Mark H Weaver
* guix/build/emacs-utils.scm (emacs-batch-eval) (emacs-batch-edit-file): Use invoke.
2018-03-16hg-download: Use invoke instead of system*.Mark H Weaver
* guix/build/hg.scm (hg-fetch): Use invoke and remove vestigial plumbing.
2018-03-16svn-download: Use invoke instead of system*.Mark H Weaver
* guix/build/svn.scm (svn-fetch): Use invoke and remove vestigial plumbing.
2018-03-16cvs-download: Use invoke instead of system*.Mark H Weaver
* guix/build/cvs.scm (cvs-fetch): Use invoke and remove vestigial plumbing.
2018-03-16build-system/scons: Use invoke instead of system*.Mark H Weaver
* guix/build/scons-build-system.scm (build, check, install): Use invoke.
2018-03-16build-system/texlive: Use invoke instead of system*.Mark H Weaver
* guix/build/texlive-build-system.scm (compile-with-latex): Use invoke.
2018-03-16build-system/python: Use invoke instead of system*.Mark H Weaver
* guix/build/python-build-system.scm (call-setuppy): Use invoke.
2018-03-16build-system/perl: Use invoke instead of system*.Mark H Weaver
* guix/build/perl-build-system.scm (configure, build, check, install): Use invoke.
2018-03-16build-system/cmake: Use invoke instead of system*.Mark H Weaver
* guix/build/cmake-build-system.scm (configure): Use invoke.