summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2017-12-31Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-12-31build: dub-build-system: Make builds reproducible.Danny Milosavljevic
* guix/build/dub-build-system.scm (build): Make reproducible. (check): Make reproducible.
2017-12-19guix: cmake-build-system: Install libraries to /lib.Efraim Flashner
* guix/build/cmake-build-system.scm (configure): Add flag to always install libraries in /lib.
2017-12-19Merge branch 'master' into core-updatesMarius Bakke
2017-12-15guix: ant-build-system: Do not compress jars.Ricardo Wurmus
Fixes <https://bugs.gnu.org/29700>. * guix/build/ant-build-system.scm (strip-jar-timestamps): Do not compress jar when repacking.
2017-12-10utils: Fix cond-expand for Guile 2.0.Eric Bavier
* guix/build/download.scm (tls-wrap): Use 'guile-2.2' feature instead.
2017-12-07Merge branch 'master' into core-updatesMarius Bakke
2017-12-06syscalls: Define 'input-flags' for 'tcgetattr' and friends.Ludovic Courtès
* guix/build/syscalls.scm (input-flags): New macro.
2017-12-05Merge branch 'master' into core-updatesMarius Bakke
2017-11-30build-system: Add scons-build-system.Arun Isaac
* 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.
2017-11-21union: Parametrize the symlink procedure .Ludovic Courtès
* guix/gexp.scm (directory-union): Add #:hard-links and honor it. * guix/build/union.scm (union-build): Add #:symlink parameter.
2017-11-20compile: Put an upper bound on the number of workers.Ludovic Courtès
* guix/build/compile.scm (compile-files): Don't use more than 8 workers.
2017-11-20Add semicolon in commands that set GUIX_PROFILE.Ludovic Courtès
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.
2017-11-19Merge branch 'master' into core-updatesMarius Bakke
2017-11-18build-system: texlive: Only make a union of directories.Ricardo Wurmus
* guix/build/texlive-build-system.scm (configure): Filter the input directories to ensure that source tarballs are excluded.
2017-11-17build-system/go: Don't let Go executables refer to the Go compiler.Leo Famulari
* 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.
2017-11-16download: Improve efficiency of 'write-request' over TLS.Ludovic Courtès
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.
2017-11-14download: Pass the timeout to 'ftp-retr'.Ludovic Courtès
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'.
2017-11-14grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.Leo Famulari
* guix/build/graft.scm (mkdir-p*): Annotate.
2017-11-11download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès
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.
2017-11-10download: Work around bogus HTTP handling in Guile 2.2 <= 2.2.2.Ludovic Courtès
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.
2017-11-08build-system/gnu: Add 'install-license-files' phase.Ludovic Courtès
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.
2017-11-07compile: Fix VPATH builds.Ludovic Courtès
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'.
2017-11-01Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-10-26build-system/go: Fix installation path of executable files.Leo Famulari
* guix/build/go-build-system.scm (setup-environment): Set GOBIN correctly.
2017-10-24Merge branch 'master' into core-updatesMarius Bakke
2017-10-24build-system/go: Parameterize installing the source code.Leo Famulari
* guix/build-system/go.scm (go-build): Add install-source? key. * guix/build/go-build-system.scm (install-source): Check if install-source? is true.
2017-10-24build-system/go: Strip the Go binaries with the native tool.Leo Famulari
* guix/build/go-build-system.scm (build): Tell the Go linker to strip some symbol tables and debugging information.
2017-10-23pull: Hide compilation warnings.Ludovic Courtès
* guix/build/pull.scm (build-guix): Bind 'current-warning-port' to a void port.
2017-10-23pull: Add (guix build compile) to the mix.Ludovic Courtès
Fixes <https://bugs.gnu.org/28956>. Reported by Leo Famulari <leo@famulari.name>. * build-aux/build-self.scm (build): Add (guix build compile) to #:modules. * guix/build/pull.scm (build-guix): Wrap 'compile-files' call in 'with-directory-excursion'. Strip "./" from FILES when passing it to 'compile-files'.
2017-10-22discovery: Move 'file-name->module-name' to (guix modules).Ludovic Courtès
* guix/discovery.scm (file-name->module-name): Move to... * guix/modules.scm (file-name->module-name): ... here. * guix/build/compile.scm: Use (guix modules) instead of (guix discovery).
2017-10-22build: Factorize module compilation in (guix build compile).Ludovic Courtès
* guix/build/compile.scm: New file. * Makefile.am (MODULES): Add it. * build-aux/compile-all.scm: Use it. (warnings, file->module, load-module-file) (%default-optimizations, %lightweight-optimizations) (optimization-options, compile-file*): Remove. <top level>: Use 'compile-files'. * guix/build/pull.scm (%default-optimizations) (%lightweight-optimizations, optimization-options): Remove. (build-guix): Rewrite as a call to 'compile-files'. * guix/discovery.scm (file-name->module-name): Export.
2017-10-22Merge branch 'master' into core-updatesMarius Bakke
2017-10-19download: Download a nar when a VCS checkout fails.Ludovic Courtès
Fixes <https://bugs.gnu.org/28709>. * guix/build/download-nar.scm: New file. * Makefile.am (MODULES): Add it. * guix/cvs-download.scm (cvs-fetch)[zlib, config.scm, modules]: New variables. [build]: Use MODULES. Add call to 'download-nar'. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise.
2017-10-19Add (guix progress).Ludovic Courtès
Among other things, this removes (guix utils), (guix ui), (guix config), etc. from the closure of (guix build download), as was the case since 798648515b77507c242752457b4dc17c155bad6e. * guix/utils.scm (<progress-reporter>, call-with-progress-reporter): Move to... * guix/progress.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/build/download.scm (current-terminal-columns) (nearest-exact-integer, duration->seconds, seconds->string) (byte-count->string, progress-bar, string-pad-middle) (rate-limited, progress-reporter/file, dump-port*) (time-monotonic): Move to progress.scm. * guix/scripts/download.scm: Adjust accordingly. * guix/scripts/substitute.scm: Likewise.
2017-10-19download: Make 'http-fetch' public.Ludovic Courtès
* guix/build/download.scm (http-fetch): Remove 'file' parameter. Change to return an input port and the content-length. Make public. (url-fetch): Adjust accordingly.
2017-10-19download: Remove old-Guile leftovers.Ludovic Courtès
This is a followup to 36626c556ed75219bce196ac93d148f6b9af984c. * guix/build/download.scm (http-fetch): Rename 'port-or-bv' to 'port'. Assume (port? port) is always true, and remove other branch.
2017-10-16Merge 'master' into core-updatesThomas Danckaert
2017-10-15emacs-build-system: Change how patch-el-files substitutes commands.Christopher Baines
Previously the regex would match from /bin/ to a closing quote. However, this is greedy, so will match up until the last ". This causes problems when there are several quotes on the same line, for example: org-effectiveness.el: 196: (call-process "/bin/bash" nil t nil "-c" strplot) Therefore, change . to \S so that it doesn't include whitespace characters. Changing to a lazy quantifier would be an option, if that were supported. * guix/build/emacs-build-system.scm (patch-el-files): Change the regular expression used.
2017-10-15emacs-build-system: Handle missing programs when patching.Christopher Baines
Previously the string-append here would error, which isn't useful as it doesn't tell you which command couldn't be found. To make the error actionable, catch it earlier, and explicitly error. * guix/build/emacs-build-system.scm (patch-el-files): Handle (which cmd) returning #f.
2017-10-12build: Add the Go build system.Leo Famulari
* guix/build-system/go.scm, guix/build/go-build-system.scm: New files. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document the go-build-system.
2017-10-10Merge branch 'master' into core-updatesMarius Bakke
2017-10-09syscalls: clone: Define syscall-id for aarch64.Eric Bavier
* guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines.
2017-10-07pull: Honor 'parallel-job-count'.Ludovic Courtès
* guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor 'parallel-job-count'.
2017-10-03guix: ant-build-system: Add #:test-include and #:test-exclude arguments.Julien Lepiller
* guix/build-system/ant.scm: Add #:test-include and #:test-exclude arguments. * guix/build/ant-build-system.scm: Generate test list from arguments. * doc/guix.texi (Build Systems): Document it.
2017-10-03guix: ant-build-system: Add main-class support.Julien Lepiller
* guix/build-system/ant.scm: New #:main-class argument * guix/build/ant-build-system.scm: Generate a manifest file with additional properties. * doc/guix.texi (Build Systems): Document it.
2017-10-01Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-09-20download: Don't report the progress too fast.宋文武
* guix/utils.scm (<progress-reporter>): New record type. (call-with-progress-reporter): New procedure. * guix/build/download.scm (dump-port*, rate-limited, progress-reporter/file): New procedures. (ftp-fetch, http-fetch): Use 'dump-port*'. (progress-proc): Remove procedure. * guix/scripts/substitute.scm (progress-report-port): Rewrite in terms of <progress-reporter>. (process-substitution): Adjust accordingly.
2017-09-16build-system: Add 'meson-build-system'.Peter Mikkelsen
* Makefile.am (MODULES): Add 'guix/build-system/meson.scm' and 'guix/build/meson-build-system.scm'. * guix/build-system/meson.scm: New file. * guix/build/meson-build-system.scm: New file. * doc/guix.texi (Build Systems): Add 'meson-build-system'. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2017-09-05Handle the same HTTP redirects everywhere.Tobias Geerinckx-Rice
* guix/build/download.scm (http-fetch): Complete the hard-coded list of HTTP redirection status codes. * guix/http-client.scm (http-fetch): Likewise. * guix/scripts/lint.scm (probe-uri): Likewise.