summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Expand)Author
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
2017-11-17build-system/go: Don't let Go executables refer to the Go compiler.•••* 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. Leo Famulari
2017-11-16download: Improve efficiency of 'write-request' over TLS.•••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. Ludovic Courtès
2017-11-14download: Pass the timeout to 'ftp-retr'.•••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'. Ludovic Courtès
2017-11-14grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.•••* guix/build/graft.scm (mkdir-p*): Annotate. Leo Famulari
2017-11-11download: Work around more bogus HTTP handling in Guile 2.2 <= 2.2.2.•••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. Ludovic Courtès
2017-11-10download: Work around bogus HTTP handling in Guile 2.2 <= 2.2.2.•••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. Ludovic Courtès
2017-11-08build-system/gnu: Add 'install-license-files' phase.•••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. Ludovic Courtès
2017-11-07compile: Fix VPATH builds.•••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'. Ludovic Courtès
2017-11-01Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-10-26build-system/go: Fix installation path of executable files.•••* guix/build/go-build-system.scm (setup-environment): Set GOBIN correctly. Leo Famulari
2017-10-24Merge branch 'master' into core-updatesMarius Bakke
2017-10-24build-system/go: Parameterize installing the source code.•••* 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. Leo Famulari
2017-10-24build-system/go: Strip the Go binaries with the native tool.•••* guix/build/go-build-system.scm (build): Tell the Go linker to strip some symbol tables and debugging information. Leo Famulari
2017-10-23pull: Hide compilation warnings.•••* guix/build/pull.scm (build-guix): Bind 'current-warning-port' to a void port. Ludovic Courtès
2017-10-23pull: Add (guix build compile) to the mix.•••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'. Ludovic Courtès
2017-10-22discovery: Move 'file-name->module-name' to (guix modules).•••* 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). Ludovic Courtès
2017-10-22build: Factorize module compilation in (guix build compile).•••* 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. Ludovic Courtès
2017-10-22Merge branch 'master' into core-updatesMarius Bakke
2017-10-19download: Download a nar when a VCS checkout fails.•••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. Ludovic Courtès
2017-10-19Add (guix progress).•••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. Ludovic Courtès
2017-10-19download: Make 'http-fetch' public.•••* 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. Ludovic Courtès
2017-10-19download: Remove old-Guile leftovers.•••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. Ludovic Courtès
2017-10-16Merge 'master' into core-updatesThomas Danckaert
2017-10-15emacs-build-system: Change how patch-el-files substitutes commands.•••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. Christopher Baines
2017-10-15emacs-build-system: Handle missing programs when patching.•••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. Christopher Baines
2017-10-12build: Add the Go build system.•••* 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. Leo Famulari
2017-10-10Merge branch 'master' into core-updatesMarius Bakke
2017-10-09syscalls: clone: Define syscall-id for aarch64.•••* guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines. Eric Bavier
2017-10-07pull: Honor 'parallel-job-count'.•••* guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor 'parallel-job-count'. Ludovic Courtès
2017-10-03guix: ant-build-system: Add #:test-include and #:test-exclude arguments.•••* 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. Julien Lepiller
2017-10-03guix: ant-build-system: Add main-class support.•••* 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. Julien Lepiller
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'.•••* 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> Peter Mikkelsen
2017-09-05Handle the same HTTP redirects everywhere.•••* 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. Tobias Geerinckx-Rice