aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Expand)AuthorAge
* Merge branch 'master' into core-updatesMark H Weaver2018-04-10
|\
| * union: Allow callers to choose the collision resolution policy.•••* 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. Ludovic Courtès2018-04-08
| * union: Slightly improve messages for file collisions.•••* guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message. Ludovic Courtès2018-03-31
* | build-system/meson: Don't override LDFLAGS if already set.•••* guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours. Marius Bakke2018-04-02
* | ld-wrapper: Allow linking with non-store libraries by default.•••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'. Ludovic Courtès2018-03-29
* | gremlin: Fix typo in export list.•••* guix/build/gremlin.scm: Really export 'elf-dynamic-info-soname'. Ludovic Courtès2018-03-29
* | Merge branch 'master' into core-updatesMark H Weaver2018-03-20
|\|
| * build-system/meson: Add the output directory to RUNPATH.•••* guix/build/meson-build-system.scm (configure): Set LDFLAGS before invoking meson. Marius Bakke2018-03-12
* | build-system/gnu: Fix typo.•••* guix/build/gnu-build-system.scm (dump-file-contents): Fix typo in 'string-pad' argument. Ludovic Courtès2018-03-20
* | build-system/gnu: Dump test suite logs upon 'check' failure.•••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. Ludovic Courtès2018-03-20
* | build-system/python: Fix deletion of .egg-info dirs created by tests.•••* guix/build/python-build-system.scm (check): Use 'string=?' to compare strings, not 'eqv?'. Mark H Weaver2018-03-18
* | build-system/python: Return #t from all phases.•••* guix/build/python-build-system.scm (build, install, wrap): Return #t. (check): Return #t and remove vestigial plumbing. Mark H Weaver2018-03-18
* | build-system/gnu: Tolerate errors during the 'strip' phase.•••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. Mark H Weaver2018-03-16
* | utils: invoke: Raise exceptions using SRFI-34 and SRFI-35.•••* 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. Mark H Weaver2018-03-16
* | gnu-build: Issue a warning unless every phase returns #t.•••* guix/build/gnu-build-system.scm (gnu-build): Issue a warning if a phase returns a value other than #t. Mark H Weaver2018-03-16
* | build-system/gnu: Return a boolean from all phase procedures.•••* 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. Mark H Weaver2018-03-16
* | build: emacs-utils: Use invoke instead of system*.•••* guix/build/emacs-utils.scm (emacs-batch-eval) (emacs-batch-edit-file): Use invoke. Mark H Weaver2018-03-16
* | hg-download: Use invoke instead of system*.•••* guix/build/hg.scm (hg-fetch): Use invoke and remove vestigial plumbing. Mark H Weaver2018-03-16
* | svn-download: Use invoke instead of system*.•••* guix/build/svn.scm (svn-fetch): Use invoke and remove vestigial plumbing. Mark H Weaver2018-03-16
* | cvs-download: Use invoke instead of system*.•••* guix/build/cvs.scm (cvs-fetch): Use invoke and remove vestigial plumbing. Mark H Weaver2018-03-16
* | build-system/scons: Use invoke instead of system*.•••* guix/build/scons-build-system.scm (build, check, install): Use invoke. Mark H Weaver2018-03-16
* | build-system/texlive: Use invoke instead of system*.•••* guix/build/texlive-build-system.scm (compile-with-latex): Use invoke. Mark H Weaver2018-03-16
* | build-system/python: Use invoke instead of system*.•••* guix/build/python-build-system.scm (call-setuppy): Use invoke. Mark H Weaver2018-03-16
* | build-system/perl: Use invoke instead of system*.•••* guix/build/perl-build-system.scm (configure, build, check, install): Use invoke. Mark H Weaver2018-03-16
* | build-system/cmake: Use invoke instead of system*.•••* guix/build/cmake-build-system.scm (configure): Use invoke. Mark H Weaver2018-03-16
* | build-system/glib-or-gtk: Use invoke instead of system*.•••* guix/build/glib-or-gtk-build-system.scm (compile-glib-schemas): Use invoke and remove vestigial plumbing. Mark H Weaver2018-03-16
* | build-system/gnu: Use invoke instead of system*.•••* guix/build/gnu-build-system.scm (unpack, configure, build, check, install) (strip, compress-documentation): Use invoke and remove vestigial plumbing. Mark H Weaver2018-03-16
* | gnu-dist: Use invoke instead of system*.•••* guix/build/gnu-dist.scm (autoreconf, build): Use invoke and remove vestigial plumbing. Mark H Weaver2018-03-16
* | guix: python-build-system: Make bytecode compilation deterministic.•••* guix/build/python-build-system.scm (enable-bytecode-determinism): New procedure. (%standard-phases): Add "enable-bytecode-determinism" phase. Ricardo Wurmus2018-03-15
* | Merge branch 'master' into core-updatesRicardo Wurmus2018-03-14
|\|
| * git-download: Fetch only the required commit, if possible.•••* guix/build/git.scm (git-fetch): Fetch only the required commit, if possible. Danny Milosavljevic2018-03-04
| * build: Require Guile >= 2.0.13.•••* README, configure.ac, doc/guix.texi (Requirements): Increase minimum Guile version from 2.0.9 to 2.0.13. * config-daemon.ac: Remove use of 'GUIX_CHECK_UNBUFFERED_CBIP'. * m4/guix.m4 (GUIX_CHECK_UNBUFFERED_CBIP): Remove. * guix/build/download.scm (current-http-proxy): Remove. * guix/build/syscalls.scm (%libc-errno-pointer, errno): Remove. (syscall->procedure): Use #:return-errno unconditionally. * guix/hash.scm (open-sha256-input-port)[unbuffered]: Remove outdated comment. * guix/http-client.scm (when-guile<=2.0.5-or-otherwise-broken): Remove. <top level>: Remove 'when-guile<=2.0.5-or-otherwise-broken' block. * guix/scripts/substitute.scm (fetch): Remove 'guile-version>?' conditional. * tests/hash.scm (supports-unbuffered-cbip?): Remove. <top level>: Remove 'test-skip' call. Ludovic Courtès2018-02-26
* | build-system/gnu: Add 'bootstrap' phase.•••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. Ludovic Courtès2018-03-11
* | utils: Add 'false-if-file-not-found'.•••* guix/build/utils.scm (false-if-file-not-found): New macro. Ludovic Courtès2018-03-11
|/
* Merge branch 'master' into core-updatesMark H Weaver2018-02-16
|\
| * union: Wrap collisions with newlines.•••* guix/build/union.scm (union-build): Wrap collisions with newlines. Oleg Pykhalov2018-02-15
* | Merge branch 'master' into core-updatesMark H Weaver2018-02-09
|\|
| * emacs-build-system: Do not patch files containing NULs.•••This is a temporary workaround for <https://bugs.gnu.org/30116>, where 'substitute*' throws on files containing NUL characters. * guix/build/emacs-build-system.scm (patch-el-files): Filter out elisp files that contain NUL characters. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer2018-02-05
| * emacs-build-system: Reinstate the check phase.•••* guix/build/emacs-build-system.scm (%standard-phases): Reinstate the check phase from the gnu-build-system. * guix/build-system/emacs.scm (emacs-build)[tests?]: But do not enable it by default. [parallel-tests?]: Add argument. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer2018-02-05
| * emacs-build-system: Add set-emacs-load-path phase.•••This generalizes the mechanism by which the Emacs dependencies are made visible, so that any build phase can make use of them. * guix/build/emacs-build-system.scm (%legacy-install-suffix): New variable. (%install-suffix): Redefine in terms of %legacy-install-suffix. (set-emacs-load-path): Add new phase used for dependency resolution. (build): Remove ad-hoc dependency discovery mechanism. (emacs-input->el-directory): Add new procedure. (emacs-inputs-el-directories): Use it. (package-name-version->elpa-name-version): Fix typo. (%standard-phases): Include the new `set-emacs-load-path' phase. Refactor to make the ordering of the phases clearer. * guix/build/emacs-utils.scm (emacs-byte-compile-directory): Remove the optional `dependency-dirs' argument, which is now obsoleted by the `set-emacs-load-path' phase. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer2018-02-05
* | Merge branch 'master' into core-updatesMarius Bakke2018-02-01
|\|
| * download: Fix return value of the url-fetch procedure.•••Fixes <https://bugs.gnu.org/30270>. Regression was introduced by commit 347fa4aebf. * guix/build/download.scm (url-fetch): Return `file' instead of #t upon success. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer2018-01-28
* | Merge branch 'master' into core-updatesMark H Weaver2018-01-26
|\|
| * build-system/dub: Fix typo.•••* guix/build/dub-build-system.scm (grep, grep*): Correct ‘occurence’. Tobias Geerinckx-Rice2018-01-26
* | Merge branch 'master' into core-updatesMark H Weaver2018-01-19
|\|
| * gnu: Consistently Write ‘file system(s)’.•••It is the GNU way. * doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’. * gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): Likewise. * gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise. * gnu/packages/check.scm (python-testpath)[description]: Likewise. * gnu/packages/disk.scm (pydf)[description]: Likewise. * gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise. (glusterfs)[description]: Likewise. * gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap) (ghc-system-fileio)[synopsis]: Likewise. (ghc-fsnotify)[description]: Likewise. * gnu/packages/linux.scm (proot)[description]: Likewise. (jmtpfs)[synopsis, description]: Likewise. * gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise. * gnu/packages/storage.scm (ceph)[description]: Likewise. * gnu/packages/sync.scm (lsyncd)[description]: Likewise. * gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise. (go-github-com-zillode-notify)[description]: Likewise. * gnu/services/nfs.scm (pipefs-service-type): Likewise. * guix/scripts/system.scm (perform-action): Likewise. Tobias Geerinckx-Rice2018-01-19
| * ruby-build-system: Fix build error.•••* gnu/build/ruby-build-system.scm: Import (ice-9 rdelim). Follow-up to d9df4bf055f2bef8c2c428db34c5fa056bdeba73. Danny Milosavljevic2018-01-15
| * ruby-build-system: Add a new wrap phase.•••Wrap files in bin/ and sbin/ with the location of the gem itself and the location of any other gems in use (GEM_PATH). This ensures that the bin files will run with the right environment when executed. It does however mean that native-inputs will also get wrapped up in any binaries, which is not good, as it increases the size of the closure, and risks this code being used at runtime. * guix/build/ruby-build-system.scm (wrap): New procedure. (%standard-phases): Add the wrap phase. Christopher Baines2018-01-14
| * ruby-build-system: Add wrap-ruby-program.•••A modified copy of wrap-program from (guix build utils). The wrap-program procedure doesn't work well for Ruby scripts, as it breaks using the -S flag with ruby to execute the script, as when -S is passed to ruby, it expects the script on the PATH to use ruby in the shebang, and not bash. Therefore, to wrap the program, but keep the shebang as ruby, wrap it with a ruby script instead. wrap-ruby-program uses .real/foo rather than .foo-real, as this might be neater. This procedure also includes a call to Gem.clear_paths to make it possible to set the GEM_PATH through this method, and for it to take effect. * gnu/build/ruby-build-system.scm (wrap-ruby-program): New procedure. Christopher Baines2018-01-14
| * guix: build: ruby-build-system: Install to the vendor directory•••* guix/build/ruby-build-system.scm (install): Install gems to the vendor directory, rather than the GEM_HOME. The vendor directory does not include the version of ruby used to install the gem in the path, which makes it easier to add it to the GEM_PATH for all versions of ruby to use. (gem-home): Remove procedure. * gnu/packages/ruby.scm (ruby, ruby-2.1)[native-search-paths]: Switch to lib/ruby/vendor_ruby. (ruby-1.8)[native-search-paths]: Remove native-search-paths. (gem-directory): Remove procedure. (ruby-ansi, ruby-ae)[arguments]: Remove use of gem-directory. (ruby-metaclass, ruby-instantiator, ruby-introspection, ruby-mocha, ruby-nokogiri, ruby-minitest-tu-shim, ruby-redcloth)[arguments]: Remove use of gem-home. (ruby-git, ruby-httpclient)[arguments]: Remove use of GEM_HOME. * gnu/packages/databases.scm (es-dump-restore)[arguments]: Remove use of GEM_HOME. Christopher Baines2018-01-14