summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
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-07build-system/meson: Use 'strip-runpath' instead of PatchELF.Ludovic Courtès
* guix/build/meson-build-system.scm (fix-runpath): Call 'strip-runpath' instead of invoking 'patchelf'.
2018-05-07gremlin: Add 'strip-runpath'.Ludovic Courtès
* guix/build/gremlin.scm (strip-runpath): New procedure. * tests/gremlin.scm (c-compiler): New variable. ("strip-runpath"): New test.
2018-05-07gremlin: Preserve offset info for dynamic entries.Ludovic Courtès
* guix/build/gremlin.scm (<dynamic-entry>): New record type. (raw-dynamic-entries): Return a list of <dynamic-entry>. (dynamic-entries): Adjust accordingly and return a list of <dynamic-entry>. (elf-dynamic-info)[matching-entry]: New procedure. Use it.
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.
2018-03-16build-system/glib-or-gtk: Use invoke instead of system*.Mark H Weaver
* guix/build/glib-or-gtk-build-system.scm (compile-glib-schemas): Use invoke and remove vestigial plumbing.
2018-03-16build-system/gnu: Use invoke instead of system*.Mark H Weaver
* guix/build/gnu-build-system.scm (unpack, configure, build, check, install) (strip, compress-documentation): Use invoke and remove vestigial plumbing.
2018-03-16gnu-dist: Use invoke instead of system*.Mark H Weaver
* guix/build/gnu-dist.scm (autoreconf, build): Use invoke and remove vestigial plumbing.
2018-03-15guix: python-build-system: Make bytecode compilation deterministic.Ricardo Wurmus
* guix/build/python-build-system.scm (enable-bytecode-determinism): New procedure. (%standard-phases): Add "enable-bytecode-determinism" phase.
2018-03-14Merge branch 'master' into core-updatesRicardo Wurmus
2018-03-12build-system/meson: Add the output directory to RUNPATH.Marius Bakke
* guix/build/meson-build-system.scm (configure): Set LDFLAGS before invoking meson.
2018-03-11build-system/gnu: Add 'bootstrap' phase.Ludovic Courtès
This factorizes what has become a widespread idiom. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): New procedure. (%standard-phases): Add it after 'unpack'. * guix/build/ant-build-system.scm (%standard-phases): Delete 'bootstrap. * guix/build/asdf-build-system.scm (%standard-phases/source) (%standard-phases): Likewise. * guix/build/cargo-build-system.scm (%standard-phases): Likewise. * guix/build/cmake-build-system.scm (%standard-phases): Likewise. * guix/build/dub-build-system.scm (%standard-phases): Likewise. * guix/build/emacs-build-system.scm (%standard-phases): Likewise. * guix/build/font-build-system.scm (%standard-phases): Likewise. * guix/build/go-build-system.scm (%standard-phases): Likewise. * guix/build/haskell-build-system.scm (%standard-phases): Likewise. * guix/build/minify-build-system.scm (%standard-phases): Likewise. * guix/build/ocaml-build-system.scm (%standard-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/r-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/scons-build-system.scm (%standard-phases): Likewise. * guix/build/texlive-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise. * gnu/packages/audio.scm (faad2)[arguments]: Replace 'bootstrap. (soundtouch, cuetools, bluez-alsa): Remove 'arguments'. (cava)[arguments]: Replace 'bootstrap. * gnu/packages/backup.scm (rdup): Remove 'bootstrap. * gnu/packages/bioinformatics.scm (seek)[arguments]: Replace 'bootstrap. * gnu/packages/bioinformatics.scm (htslib-for-sambamba): Remove 'arguments'. * gnu/packages/ci.scm (hydra, cuirass): Remove 'bootstrap'. * gnu/packages/crypto.scm (libb2): Remove #:phases. * gnu/packages/databases.scm (guile-wiredtiger): Likewise. * gnu/packages/debug.scm (stress-make): Remove 'bootstrap'. * gnu/packages/documentation.scm (asciidoc): Likewise. * gnu/packages/fontutils.scm (libuninameslist): Remove 'arguments'. * gnu/packages/ftp.scm (weex): Remove 'arguments'. * gnu/packages/game-development.scm (ois): Remove 'arguments'. * gnu/packages/games.scm (pioneer): Remove 'bootstrap. * gnu/packages/gnome.scm (vte-ng, byzanz): Replace 'bootstrap. (arc-theme): Remove 'arguments'. (faba-icon-theme): Remove 'bootstrap. (arc-icon-theme): Remove 'arguments'. * gnu/packages/gnunet.scm (guile-gnunet): Likewise. * gnu/packages/gtk.scm (guile-rsvg): Likewise. * gnu/packages/guile.scm (mcron2): Remove 'bootstrap. (guile-bash): Remove #:phases. (guile-git): Remove 'bootstrap. (guile-syntax-highlight): Remove 'arguments'. (guile-sjson): Likewise. * gnu/packages/java.scm (classpath-devel): Remove 'bootstrap. * gnu/packages/kodi.scm (libdvdnav/kodi) (libdvdread/kodi, libdvdcss/kodi): Likewise. * gnu/packages/libreoffice.scm (hunspell): Remove 'arguments'. * gnu/packages/libusb.scm (hidapi): Likewise. * gnu/packages/linux.scm (bridge-utils): Rename 'bootstrap' to 'patch-stuff'; move it before 'bootstrap', without autoreconf invocation. (eudev): Rename 'bootstrap' to 'patch-file-names', without 'autogen.sh' invocation; move it before 'bootstrap. (gpm): Replace 'bootstrap'. (f2fs-tools): Remove 'arguments'. (rng-tools): Remove #:phases. * gnu/packages/messaging.scm (hexchat): Rename 'bootstrap' to 'copy-intltool-makefile'; remove "autoreconf" invocation and move before 'bootstrap'. (libmesode): Remove 'arguments'. (libstrophe): Likewise. * gnu/packages/microcom.scm (microcom): Likewise. * gnu/packages/networking.scm (libnet): Remove 'bootstrap. * gnu/packages/onc-rpc.scm (libnsl): Remove 'arguments'. * gnu/packages/package-management.scm (guix): Replace 'bootstrap. * gnu/packages/sawfish.scm (librep): Remove 'arguments'. * gnu/packages/version-control.scm (findnewest): Likewise. * gnu/packages/video.scm (liba52, handbrake, motion): Replace 'bootstrap. * gnu/packages/web.scm (fcgiwrap): Remove #:phases. (tidy): Replace 'bootstrap. (gumbo-parser): Remove #:phases. * gnu/packages/wget.scm (wget2): Replace 'bootstrap. * gnu/packages/wm.scm (i3lock-color): Remove #:phases. * gnu/packages/xdisorg.scm (xclip): Likewise. * gnu/packages/xml.scm (libxls): Replace 'bootstrap'. * gnu/packages/xorg.scm (xf86-video-freedreno) (xf86-video-intel): Remove #:phases. * gnu/packages/zile.scm (zile-on-guile): Replace 'bootstrap.
2018-03-11utils: Add 'false-if-file-not-found'.Ludovic Courtès
* guix/build/utils.scm (false-if-file-not-found): New macro.
2018-03-04git-download: Fetch only the required commit, if possible.Danny Milosavljevic
* guix/build/git.scm (git-fetch): Fetch only the required commit, if possible.