summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Expand)Author
2018-05-17union: Do not warn about harmless collisions....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. Ludovic Courtès
2018-05-10profiles: Optionally use relative file names for symlink targets....* 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. Ludovic Courtès
2018-05-10union: Add 'relative-file-name'....* guix/build/union.scm (%not-slash): New variable. (relative-file-name): New procedure. * tests/union.scm (test-relative-file-name): New macro and tests. Ludovic Courtès
2018-05-10build-system: android-ndk: Let upstream install header files....* guix/build/android-ndk-build-system.scm (install): Don't install header files ourselves. Danny Milosavljevic
2018-05-10build-system: android-ndk: Support unit tests....* 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. Danny Milosavljevic
2018-05-09build: Add the Android NDK build-system....* guix/build-system/android-ndk.scm: New file. * guix/build/android-ndk-build-system.scm: New file. * Makefile.am: Add them. Danny Milosavljevic
2018-05-03build: emacs-utils: Fail when byte compilation fails....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> Maxim Cournoyer
2018-05-01compile: Exit when an exception is thrown....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. Ludovic Courtès
2018-04-25Merge branch 'master' into stagingMarius Bakke
2018-04-20build-system: emacs: Add improved check phase....* 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> Maxim Cournoyer
2018-04-20build-system: emacs: Replace system* with invoke....* 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> Maxim Cournoyer
2018-04-20build-system: emacs: Search all inputs for Emacs Lisp directories....* 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> Maxim Cournoyer
2018-04-16Merge branch 'master' into stagingMarius Bakke
2018-04-15build-system/meson: Don't override LDFLAGS if already set....* guix/build/meson-build-system.scm (configure): Test for LDFLAGS before adding ours. (cherry picked from commit 611c27db2aec8c2f72bc0c1e5c7d126dc95b39b2) Marius Bakke
2018-04-08union: 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ès
2018-03-31union: Slightly improve messages for file collisions....* guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message. Ludovic Courtès
2018-03-12build-system/meson: Add the output directory to RUNPATH....* guix/build/meson-build-system.scm (configure): Set LDFLAGS before invoking meson. Marius Bakke
2018-03-04git-download: Fetch only the required commit, if possible....* guix/build/git.scm (git-fetch): Fetch only the required commit, if possible. Danny Milosavljevic
2018-02-26build: 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ès
2018-02-16Merge branch 'master' into core-updatesMark H Weaver
2018-02-15union: Wrap collisions with newlines....* guix/build/union.scm (union-build): Wrap collisions with newlines. Oleg Pykhalov
2018-02-09Merge branch 'master' into core-updatesMark H Weaver
2018-02-05emacs-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 Cournoyer
2018-02-05emacs-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 Cournoyer
2018-02-05emacs-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 Cournoyer
2018-02-01Merge branch 'master' into core-updatesMarius Bakke
2018-01-28download: 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 Cournoyer
2018-01-26Merge branch 'master' into core-updatesMark H Weaver
2018-01-26build-system/dub: Fix typo....* guix/build/dub-build-system.scm (grep, grep*): Correct ‘occurence’. Tobias Geerinckx-Rice
2018-01-19Merge branch 'master' into core-updatesMark H Weaver
2018-01-19gnu: 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-Rice
2018-01-15ruby-build-system: Fix build error....* gnu/build/ruby-build-system.scm: Import (ice-9 rdelim). Follow-up to d9df4bf055f2bef8c2c428db34c5fa056bdeba73. Danny Milosavljevic
2018-01-14ruby-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 Baines
2018-01-14ruby-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 Baines
2018-01-14guix: 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 Baines
2017-12-31Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-12-31build: dub-build-system: Make builds reproducible....* guix/build/dub-build-system.scm (build): Make reproducible. (check): Make reproducible. Danny Milosavljevic
2017-12-19guix: cmake-build-system: Install libraries to /lib....* guix/build/cmake-build-system.scm (configure): Add flag to always install libraries in /lib. Efraim Flashner
2017-12-19Merge branch 'master' into core-updatesMarius Bakke
2017-12-15guix: ant-build-system: Do not compress jars....Fixes <https://bugs.gnu.org/29700>. * guix/build/ant-build-system.scm (strip-jar-timestamps): Do not compress jar when repacking. Ricardo Wurmus
2017-12-10utils: Fix cond-expand for Guile 2.0....* guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead. Eric Bavier
2017-12-07Merge branch 'master' into core-updatesMarius Bakke
2017-12-06syscalls: Define 'input-flags' for 'tcgetattr' and friends....* guix/build/syscalls.scm (input-flags): New macro. Ludovic Courtès
2017-12-05Merge branch 'master' into core-updatesMarius Bakke
2017-11-30build-system: Add scons-build-system....* guix/build-system/scons.scm: New file. * guix/build/scons-build-system.scm: New file. * Makefile.am (MODULES): Register them. * doc/guix.texi (Build Systems): Add scons-build-system. Arun Isaac
2017-11-21union: Parametrize the symlink procedure ....* guix/gexp.scm (directory-union): Add #:hard-links and honor it. * guix/build/union.scm (union-build): Add #:symlink parameter. Ludovic Courtès
2017-11-20compile: Put an upper bound on the number of workers....* guix/build/compile.scm (compile-files): Don't use more than 8 workers. Ludovic Courtès
2017-11-20Add semicolon in commands that set GUIX_PROFILE....Fixes <https://bugs.gnu.org/28223>. Reported by Rosebud Uplink <Uplink.Introversion@outlook.com>. * doc/guix.texi (Binary Installation): Add missing semicolon after 'GUIX_PROFILE=' line. (Invoking guix package): Likewise. * gnu/system.scm (operating-system-etc-service)[profile]: Likewise. * guix/build/profiles.scm (build-etc/profile): Likewise. Ludovic Courtès
2017-11-19Merge branch 'master' into core-updatesMarius Bakke
2017-11-18build-system: texlive: Only make a union of directories....* guix/build/texlive-build-system.scm (configure): Filter the input directories to ensure that source tarballs are excluded. Ricardo Wurmus