aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Expand)AuthorAge
* union: 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ès2017-11-21
* compile: Put an upper bound on the number of workers.•••* guix/build/compile.scm (compile-files): Don't use more than 8 workers. Ludovic Courtès2017-11-20
* Add 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ès2017-11-20
* build-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 Wurmus2017-11-18
* build-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 Famulari2017-11-17
* download: 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ès2017-11-16
* download: 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ès2017-11-14
* grafts: Clarify the status of the workaround for <http://bugs.gnu.org/24659>.•••* guix/build/graft.scm (mkdir-p*): Annotate. Leo Famulari2017-11-14
* download: 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ès2017-11-11
* download: 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ès2017-11-10
* compile: 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ès2017-11-07
* build-system/go: Fix installation path of executable files.•••* guix/build/go-build-system.scm (setup-environment): Set GOBIN correctly. Leo Famulari2017-10-26
* build-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 Famulari2017-10-24
* build-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 Famulari2017-10-24
* pull: Hide compilation warnings.•••* guix/build/pull.scm (build-guix): Bind 'current-warning-port' to a void port. Ludovic Courtès2017-10-23
* pull: 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ès2017-10-23
* discovery: 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ès2017-10-22
* build: 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ès2017-10-22
* download: 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ès2017-10-19
* Add (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ès2017-10-19
* download: 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ès2017-10-19
* download: 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ès2017-10-19
* emacs-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 Baines2017-10-15
* emacs-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 Baines2017-10-15
* build: 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 Famulari2017-10-12
* syscalls: clone: Define syscall-id for aarch64.•••* guix/build/syscalls.scm (clone): Define syscall-id for aarch64 machines. Eric Bavier2017-10-09
* pull: Honor 'parallel-job-count'.•••* guix/build/pull.scm (build-guix): Use 'n-par-for-each' and honor 'parallel-job-count'. Ludovic Courtès2017-10-07
* guix: 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 Lepiller2017-10-03
* guix: 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 Lepiller2017-10-03
* download: 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-20
* build-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 Mikkelsen2017-09-16
* Handle 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-Rice2017-09-05
* build: Fix helpful output for emacs-build-system install phase.•••Detecting when no files were installed was broken when switching to use cond. Test with (not (null? ...)) to fix this. * guix/build/emacs-build-system.scm (install): Fix detecting when no files were installed. Christopher Baines2017-09-03
* build: emacs-build-system: Make the install phase more helpful.•••Modify the install phase to detect when nothing has been installed, and error if this happens. This is preferable to continuing, and allowing the next phase to fail. Also, when nothing can be found to be installed, print out each file that was considered, along with the regular expressions that were used to include and exclude it. * gnu/build/emacs-build-system.scm (install-file?): Add additional error checking and logging. Christopher Baines2017-09-01
* Merge branch 'core-updates'Marius Bakke2017-08-26
|\
| * Merge branch 'master' into core-updatesMark H Weaver2017-08-06
| |\
| * \ Merge branch 'master' into core-updatesLeo Famulari2017-07-23
| |\ \
| * | | syscalls: Delay resolution of "scm_set_automatic_finalization_enabled".•••* guix/build/syscalls.scm (%set-automatic-finalization-enabled?!) [guile-2.2]: Wrap in 'delay'. Ludovic Courtès2017-07-18
| * | | Merge branch 'master' into core-updatesLeo Famulari2017-07-10
| |\ \ \
| * \ \ \ Merge branch 'master' into core-updatesLudovic Courtès2017-06-30
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into core-updatesMark H Weaver2017-06-18
| |\ \ \ \ \
| * | | | | | build-system/gnu: Work around 'time-monotonic' bug in Guile 2.2.2.•••Fixes <http://bugs.gnu.org/27303>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/gnu-build-system.scm (time-monotonic) [guile-2.2]: Define. Ludovic Courtès2017-06-11
| * | | | | | Merge branch 'master' into core-updatesMarius Bakke2017-06-10
| |\ \ \ \ \ \
| * \ \ \ \ \ \ Merge branch 'master' into core-updates••• Conflicts: gnu/packages/image.scm (incorporated libtiff graft) Marius Bakke2017-06-03
| |\ \ \ \ \ \ \
| * | | | | | | | utils: Add helper for invoking programs.•••* guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Danny Milosavljevic2017-06-01
| * | | | | | | | build-system/gnu: 'compress-documentation' phase handles double symlinks.•••The compress-documentation phase was breaking recursive symbolic links used for manuals, which was made visible by the `find-files' call in the recently added `manual-database' profile hook. See <http://bugs.gnu.org/26771>. * guix/build/gnu-build-system.scm (compress-documentation) [points-to-symbolic-link?]: New procedure. [maybe-compress-directory]: Use `points-to-symbolic-link?' to filter out symbolic links that shouldn't be retargetted, and re-order the calls to `retarget-symlink' and `documentation-compressor'. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Maxim Cournoyer2017-05-30
| * | | | | | | | build-system/cmake: Add support for cross compilation.•••Fixes <https://bugs.gnu.org/26897>. * guix/build-system/gnu.scm: Export standard-cross-packages. * guix/build-system/cmake.scm (cmake-cross-build): New procedure. (lower): Add support for cross-builds. * guix/build/cmake-build-system.scm (configure): Handle "target" argument. Ricardo Wurmus2017-05-30
| * | | | | | | | Merge branch 'master' into core-updatesMark H Weaver2017-05-27
| |\ \ \ \ \ \ \ \
| * | | | | | | | | utils: Re-export 'delete'.•••* guix/build/utils.scm: Reexport 'delete' binding. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Sergei Trofimovich2017-05-26
* | | | | | | | | | graft: Correctly replace references near the end of the scan buffer.•••Fixes <http://bugs.gnu.org/28212>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/graft.scm (replace-store-references): When I >= END, check whether WRITTEN > END and call 'get-bytevector-n!' when it is. * tests/grafts.scm (buffer-size): New variable. ("replace-store-references, <http://bugs.gnu.org/28212>"): New test. Ludovic Courtès2017-08-24
| |_|_|_|_|_|_|_|/ |/| | | | | | | |