aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Expand)AuthorAge
* 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
| |_|_|_|_|_|_|_|/ |/| | | | | | | |
* | | | | | | | | build: Add minify build system.•••* guix/build-system/minify.scm: New file. * guix/build/minify-build-system: New file. * Makefile.am (MODULES): Add new files. * doc/guix.texi (Build Systems): Document minify-build-system. Ricardo Wurmus2017-08-04
| |_|_|_|_|_|_|/ |/| | | | | | |
* | | | | | | | syscalls: Add network-interface-running?•••* guix/build/syscalls.scm (network-interface-running?): New variable. Export it. * tests/syscalls.scm: Add test. Co-authored-by: John Darrington <jmd@gnu.org> Danny Milosavljevic2017-07-12
| |_|_|_|_|_|/ |/| | | | | |
* | | | | | | syscalls: Adjust 'dirent64' struct for GNU/Hurd.•••Reported by rennes@openmailbox.org. * guix/build/syscalls.scm (file-type->symbol): New procedure. (%struct-dirent-header): Rename to... (%struct-dirent-header/linux): ... this. Rename introduced bindings as well. (%struct-dirent-header/hurd): New C struct. (define-generic-identifier): New macro. (read-dirent-header, %struct-dirent-header, sizeof-dirent-header): Define in terms of 'define-generic-identifier'. Ludovic Courtès2017-07-10
* | | | | | | build-system: texlive: Build union in configure phase.•••This allows us to use texmf.cnf instead of having to set all required environment variables manually. * guix/build/texlive-build-system.scm (configure): New procedure. (build): Simplify. (%standard-phases): Add configure phase. * guix/build-system/texlive.scm (texlive-build): Include (guix build union) in modules. (%texlive-build-system-modules): Likewise. Ricardo Wurmus2017-07-09
* | | | | | | build-system: texlive: Only build packages in the current directory.•••* guix/build/texlive-build-system.scm (build): Use scandir instead of find-files. Ricardo Wurmus2017-07-09
| |_|_|_|_|/ |/| | | | |
* | | | | | vm: Estimate the disk size by default.•••* gnu/build/vm.scm (estimated-partition-size): New procedure. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Change #:disk-image-size default to 'guess. [builder]: When DISK-IMAGE-SIZE is 'guess, use 'estimated-partition-size' and compute and estimate of the image size. (qemu-image): Likewise. * guix/build/store-copy.scm (file-size, closure-size): New procedures. * guix/scripts/system.scm (%default-options): Change 'image-size' to 'guess. * doc/guix.texi (Building the Installation Image): Remove '--image-size' flag from example. (Invoking guix system): Document the image size estimate. Ludovic Courtès2017-06-30
| |_|_|_|/ |/| | | |
* | | | | syscalls: 'opendir*' error message shows the file name.•••* guix/build/syscalls.scm (opendir*): Add NAME to the 'system-error' message. Ludovic Courtès2017-06-18
* | | | | syscalls: Add 'scandir*'.•••* guix/build/syscalls.scm (%struct-dirent-header): New C struct. (string->pointer/utf-8, pointer->string/utf-8): New procedures. (opendir*, closedir*, readdir*, scandir*): New procedures. * tests/syscalls.scm ("scandir*, ENOENT") ("scandir*, ASCII file names", "scandir*, UTF-8 file names") ("scandir*, properties): New tests. Ludovic Courtès2017-06-16
* | | | | build-system: Add 'texlive-build-system'.•••* guix/build-system/texlive.scm: New file. * guix/build/texlive-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document it. * gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables. (texlife-ref): Remove procedure. Ricardo Wurmus2017-06-15
| |_|_|/ |/| | |
* | | | build-system: emacs: Factorize include/exclude default arguments.•••The `install' phase of the emacs-build-system contained default arguments duplicated from the host side `emacs-build' procedure. This change factorizes them so that: 1. They are not duplicated. 2. They can be reused and extended easily when defining emacs packages. * guix/build/emacs-build-system.scm (%default-include, %default-exclude): New variables. (install): Use %default-include and %default-exclude as default arguments. * guix/build-system/emacs.scm: Use and re-export %default-include, %default-exclude from (guix build emacs-build-system). (emacs-build): Use %default-include and %default-exclude as default arguments. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net> Maxim Cournoyer2017-06-08
| |_|/ |/| |
* | | syscalls: Provide 'free-disk-space'.•••* guix/build/syscalls.scm (free-disk-space): New procedure. * guix/scripts/gc.scm (guix-gc)[ensure-free-space]: Use it instead of 'statfs'. Ludovic Courtès2017-06-02
* | | build: font: Support font collection files.•••* guix/build/font-build-system.scm (install): Support TrueType Collection (TTC) and OpenType Collection (OTC) files. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org> Alex Griffin2017-05-31
* | | download: Work around GnuTLS bug with UTF-8 certificate file names.•••Reported by Mark H Weaver <mhw@netris.org> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26948#17>. * guix/build/download.scm (set-certificate-credentials-x509-trust-file!*): New procedure. (make-credendials-with-ca-trust-files): Use it instead of 'set-certificate-credentials-x509-trust-file!'. Ludovic Courtès2017-05-30
* | | syscalls: Add 'thread-name' and 'set-thread-name'.•••* guix/build/syscalls.scm (PR_SET_NAME, PR_GET_NAME) (%max-thread-name-length): New variables. (%prctl, set-thread-name, thread-name): New procedures. * tests/syscalls.scm ("set-thread-name"): New test. Ludovic Courtès2017-05-28
* | | build-system: Add 'font-build-system'.•••* Makefile.am (MODULES): Add 'guix/build-system/font.scm' and 'guix/build/font-build-system.scm'. * guix/build-system/font.scm: New file. * guix/build/font-build-system.scm: New file. * doc/guix.texi (Build Systems): Add 'font-build-system'. Arun Isaac2017-05-28
| |/ |/|
* | pull: Catch '&missing-dependency-error' raised by 'source-module-closure'.•••Fixes <http://bugs.gnu.org/26987>. Reported by Mathieu Othacehe <m.othacehe@gmail.com>. * guix/build/pull.scm (depends-on-guile-ssh?): Remove. (has-all-its-dependencies?): New procedure. (build-guix): Use it to filter source files. Ludovic Courtès2017-05-25
|/
* build-system: emacs: Install only a subset of files.•••* guix/build/emacs-build-system.scm (install): Install files matching #:include while excluding files matching #:exclude. * guix/build-system/emacs.scm (emacs-build): Add keyword arguments #:include and #:exclude. Arun Isaac2017-05-23
* build: emacs: Fix `store-file->elisp-source-file'.•••This prevents a ".el.el" extension for source files with no version number in their file name. * guix/build/emacs-build-system.scm (store-file->elisp-source-file): Remove ".el" extension from file name before splitting to name and version. Arun Isaac2017-05-23
* union: Gracefully handle dangling symlinks in the input.•••Fixes <http://bugs.gnu.org/26949>. Reported by Pjotr Prins <pjotr.public12@thebird.nl>. * guix/build/union.scm (file-is-directory?): Return #f when FILE does not exist or is a dangling symlink. (file=?): Pass #f as a second argument to 'stat'; return #f when both ST1 or ST2 is #f. * tests/profiles.scm (test-equalm): New macro. ("union vs. dangling symlink"): New test. Ludovic Courtès2017-05-18
* build-system/asdf: Handle tests defined in external systems.•••* guix/build-system/asdf.scm (asdf-build): Add a #:test-asd-file argument. [builder]: Pass it to the build system. (package-with-build-system)[transform]: Strip it from source systems' arguments. * guix/build/asdf-build-system.scm (check): Pass the fully qualified path to it on to the test-system procedure. * guix/build/lisp-utils.scm (test-system): Load the file, or otherwise one of the often used names for it, before running the tests. Adjust the docstring accordingly. Andy Patterson2017-05-16
* build-system/asdf: Retain references to source files for binary outputs.•••In support of long-running programs in which the users would like to be able to jump to the source of a definition of any of the dependencies (itself included) of the program. * guix/build/asdf-build-system.scm (library-outputs): Move from here ... * guix/build/lisp-utils.scm (library-outputs): ... to here. (build-program): Accept dependency-prefixes argument, to allow the caller to specify references which should be retained. Default to the library's output. (build-image): Likewise. (generate-executable): Likewise. * gnu/packages/lisp.scm (sbcl-stumpwm+slynk, sbcl-slynk, sbcl-stumpwm): Adjust accordingly to the new interface. (sbcl-stumpwm+slynk)[native-inputs]: Move to ... [inputs]: ... here. Andy Patterson2017-05-16
* build-system/asdf: Simplify the use of lisp-eval-program.•••Accept a list of statements, each run within its own `--eval' argument. This allows statements to use reader package namespacing after a package has been loaded. * guix/build/lisp-utils.scm (spread-statements): New procedure. (lisp-invoke): Rename to ... (lisp-invocation): ... this. Use spread-statements. Change interface to accept list of statements instead of a single statement. (asdf-load-all-systems): Simplify returned statements. (compile-system): Simplify the program passed to `lisp-eval-program'. (test-system): Likewise. (generate-executable-for-system): Likewise. Accept the full symbol describing the asdf operation to use. (generate-executable): Document the change. (build-program, build-image): Use the new interface. Andy Patterson2017-05-16
* build-system/asdf: Handle unusually-named systems.•••* guix/build/lisp-utils.scm (valid-char-set): New variable. (normalize-string): New procedure. (compiled-system): Truncate the name of a system which contains slashes. (generate-system-definition, make-asd-file): Use `normalize-string' to alter the names of the created system and its dependencies. * guix/build/asdf-build-system.scm (create-asd-file): Normalize the name of the asd file being created. Andy Patterson2017-05-16
* build-system/asdf: Always pre-load the system's definition file.•••* guix/build-system/asdf.scm (asdf-build)[builder]: Pass a default `#:asd-file' argument to the build procedure, using the system's name. * guix/build/asdf-build-system.scm (build, check): Adjust to assume that `asd-file' will always be a string. * guix/build/lisp-utils.scm (compile-system, system-dependencies) (test-system): Likewise. Andy Patterson2017-05-16
* build-system/asdf: Pass the system name as an argument to the builder.•••* guix/build-system/asdf.scm (asdf-build): Use the user-defined system name, or calculate it from the package's full name. [builder]: Pass the value along to the build procedure. (package-with-build-system): Remove #:asd-system-name from source packages' arguments. * guix/build/asdf-build-system.scm: Adjust accordingly. * guix/build/lisp-utils.scm (remove-lisp-from-name): Delete variable. Andy Patterson2017-05-16
* build-system/asdf: Parameterize the lisp type and implementation globally.•••* guix/build-system/asdf.scm (asdf-build)[builder]: Parameterize %lisp-type and %lisp before invoking the build procedure. Don't pass #:lisp-type as an argument to said procedure. * guix/build/asdf-build-system.scm: Adjust accordingly. (source-install-prefix): Rename to %lisp-source-install-prefix. * guix/build/lisp-utils.scm: Adjust accordingly. (%lisp-type): New parameter. (bundle-install-prefix): Rename to %bundle-install-prefix. * gnu/packages/lisp.scm: Adjust accordingly. Andy Patterson2017-05-16