summaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* build-system: emacs: Add improved check phase.Maxim Cournoyer2018-04-20
| | | | | | | | | * 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>
* build-system: emacs: Replace system* with invoke.Maxim Cournoyer2018-04-20
| | | | | | | | | * 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>
* build-system: emacs: Search all inputs for Emacs Lisp directories.Maxim Cournoyer2018-04-20
| | | | | | | | | | | * 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>
* union: Allow callers to choose the collision resolution policy.Ludovic Courtès2018-04-08
| | | | | | | * 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.
* union: Slightly improve messages for file collisions.Ludovic Courtès2018-03-31
| | | | | * guix/build/union.scm (union-build): Indent file names upon collision. Remove "arbitrarily" from the message.
* build-system/meson: Add the output directory to RUNPATH.Marius Bakke2018-03-12
| | | | * guix/build/meson-build-system.scm (configure): Set LDFLAGS before invoking meson.
* git-download: Fetch only the required commit, if possible.Danny Milosavljevic2018-03-04
| | | | * guix/build/git.scm (git-fetch): Fetch only the required commit, if possible.
* build: Require Guile >= 2.0.13.Ludovic Courtès2018-02-26
| | | | | | | | | | | | | | | | | | * 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.
* Merge branch 'master' into core-updatesMark H Weaver2018-02-16
|\
| * union: Wrap collisions with newlines.Oleg Pykhalov2018-02-15
| | | | | | | | * guix/build/union.scm (union-build): Wrap collisions with newlines.
* | Merge branch 'master' into core-updatesMark H Weaver2018-02-09
|\|
| * emacs-build-system: Do not patch files containing NULs.Maxim Cournoyer2018-02-05
| | | | | | | | | | | | | | | | | | | | 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>
| * emacs-build-system: Reinstate the check phase.Maxim Cournoyer2018-02-05
| | | | | | | | | | | | | | | | | | * 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>
| * emacs-build-system: Add set-emacs-load-path phase.Maxim Cournoyer2018-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'master' into core-updatesMarius Bakke2018-02-01
|\|
| * download: Fix return value of the url-fetch procedure.Maxim Cournoyer2018-01-28
| | | | | | | | | | | | | | | | | | 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>
* | Merge branch 'master' into core-updatesMark H Weaver2018-01-26
|\|
| * build-system/dub: Fix typo.Tobias Geerinckx-Rice2018-01-26
| | | | | | | | * guix/build/dub-build-system.scm (grep, grep*): Correct ‘occurence’.
* | Merge branch 'master' into core-updatesMark H Weaver2018-01-19
|\|
| * gnu: Consistently Write ‘file system(s)’.Tobias Geerinckx-Rice2018-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * ruby-build-system: Fix build error.Danny Milosavljevic2018-01-15
| | | | | | | | | | | | * gnu/build/ruby-build-system.scm: Import (ice-9 rdelim). Follow-up to d9df4bf055f2bef8c2c428db34c5fa056bdeba73.
| * ruby-build-system: Add a new wrap phase.Christopher Baines2018-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * ruby-build-system: Add wrap-ruby-program.Christopher Baines2018-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * guix: build: ruby-build-system: Install to the vendor directoryChristopher Baines2018-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-12-31
|\|
| * build: dub-build-system: Make builds reproducible.Danny Milosavljevic2017-12-31
| | | | | | | | | | * guix/build/dub-build-system.scm (build): Make reproducible. (check): Make reproducible.
* | guix: cmake-build-system: Install libraries to /lib.Efraim Flashner2017-12-19
| | | | | | | | | | * guix/build/cmake-build-system.scm (configure): Add flag to always install libraries in /lib.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-19
|\|
| * guix: ant-build-system: Do not compress jars.Ricardo Wurmus2017-12-15
| | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/29700>. * guix/build/ant-build-system.scm (strip-jar-timestamps): Do not compress jar when repacking.
| * utils: Fix cond-expand for Guile 2.0.Eric Bavier2017-12-10
| | | | | | | | * guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-07
|\|
| * syscalls: Define 'input-flags' for 'tcgetattr' and friends.Ludovic Courtès2017-12-06
| | | | | | | | * guix/build/syscalls.scm (input-flags): New macro.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-05
|\|
| * build-system: Add scons-build-system.Arun Isaac2017-11-30
| | | | | | | | | | | | | | * 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.
| * union: Parametrize the symlink procedure .Ludovic Courtès2017-11-21
| | | | | | | | | | * guix/gexp.scm (directory-union): Add #:hard-links and honor it. * guix/build/union.scm (union-build): Add #:symlink parameter.
| * compile: Put an upper bound on the number of workers.Ludovic Courtès2017-11-20
| | | | | | | | * guix/build/compile.scm (compile-files): Don't use more than 8 workers.
| * Add semicolon in commands that set GUIX_PROFILE.Ludovic Courtès2017-11-20
| | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' into core-updatesMarius Bakke2017-11-19
|\|
| * build-system: texlive: Only make a union of directories.Ricardo Wurmus2017-11-18
| | | | | | | | | | * guix/build/texlive-build-system.scm (configure): Filter the input directories to ensure that source tarballs are excluded.
| * build-system/go: Don't let Go executables refer to the Go compiler.Leo Famulari2017-11-17
| | | | | | | | | | | | | | * guix/build/go-build-system.scm (remove-store-reference, remove-go-references): New procedures. (%standard-phases): Add 'remove-go-references' phase. * guix/build-system/go.scm (go-build): Add allow-go-reference? key.
| * download: Improve efficiency of 'write-request' over TLS.Ludovic Courtès2017-11-16
| | | | | | | | | | | | | | | | This is another instance of <https://bugs.gnu.org/22966>. The Microsoft-IIS/7.5 server at static.nvd.nist.gov would sometimes hang when receiving our requests byte by byte. * guix/build/download.scm (tls-wrap) [!guile-2.0]: Add 'setvbuf' call.
| * download: Pass the timeout to 'ftp-retr'.Ludovic Courtès2017-11-14
| | | | | | | | | | | | | | | | | | | | This ensures the timeout applies when connecting to the port returned by PASV. * guix/ftp-client.scm (ftp-list): Add #:timeout parameter. Use 'connect*' instead of 'connect' and pass TIMEOUT. (ftp-retr): Likewise. * guix/build/download.scm (ftp-fetch): Pass TIMEOUT to 'ftp-retr'.
| * grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.Leo Famulari2017-11-14
| | | | | | | | * guix/build/graft.scm (mkdir-p*): Annotate.
| * download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès2017-11-11
| | | | | | | | | | | | | | | | Reported by Mark H Weaver <mhw@netris.org> at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00190.html>. * guix/build/download.scm (guile-2.2) [write-request-line]: Backport Guile commit 6ad28ae3bc6a6d9e95ab7d70510d12c97673a143.
| * download: Work around bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès2017-11-10
| | | | | | | | | | | | | | | | Reported by Konrad Hinsen <konrad.hinsen@fastmail.net> at <https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00070.html>. * guix/build/download.scm (write-request-line) [guile-2.2]: New procedure.
| * compile: Fix VPATH builds.Ludovic Courtès2017-11-07
| | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/29091>. Reported by Eric Bavier <bavier@cray.com>. * guix/build/compile.scm (relative-file): New procedure. (load-files): Use it before calling 'file-name->module-name'. (compile-files): Likewise before calling 'scm->go'. * guix/build/pull.scm (build-guix): Remove 'with-directory-excursion' and file name hack from ce33c3af76b0e5c68cc42dddf2b9c4b017386fd8. Pass OUT to 'all-scheme-files'.
* | build-system/gnu: Add 'install-license-files' phase.Ludovic Courtès2017-11-08
| | | | | | | | | | | | | | | | | | | | | | Suggested by Dave Love <fx@gnu.org>. * guix/build-system/gnu.scm (%license-file-regexp): New variable. (gnu-build): Add #:license-file-regexp and use it. (gnu-cross-build): Likewise. * guix/build/gnu-build-system.scm (%license-file-regexp): New variable. (install-license-files): New procedure. (%standard-phases): Add it.
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-11-01
|\|
| * build-system/go: Fix installation path of executable files.Leo Famulari2017-10-26
| | | | | | | | * guix/build/go-build-system.scm (setup-environment): Set GOBIN correctly.
* | Merge branch 'master' into core-updatesMarius Bakke2017-10-24
|\|