aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* Merge branch 'master' into core-updatesMarius Bakke2017-06-03
|\ | | | | | | | | | | Conflicts: gnu/packages/image.scm (incorporated libtiff graft)
| * syscalls: Provide 'free-disk-space'.Ludovic Courtès2017-06-02
| | | | | | | | | | | | * guix/build/syscalls.scm (free-disk-space): New procedure. * guix/scripts/gc.scm (guix-gc)[ensure-free-space]: Use it instead of 'statfs'.
| * build: font: Support font collection files.Alex Griffin2017-05-31
| | | | | | | | | | | | | | * guix/build/font-build-system.scm (install): Support TrueType Collection (TTC) and OpenType Collection (OTC) files. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| * download: Work around GnuTLS bug with UTF-8 certificate file names.Ludovic Courtès2017-05-30
| | | | | | | | | | | | | | | | | | | | 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!'.
| * syscalls: Add 'thread-name' and 'set-thread-name'.Ludovic Courtès2017-05-28
| | | | | | | | | | | | | | * 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.
| * build-system: Add 'font-build-system'.Arun Isaac2017-05-28
| | | | | | | | | | | | | | | | * 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'.
* | utils: Add helper for invoking programs.Danny Milosavljevic2017-06-01
| | | | | | | | | | | | * guix/build/utils.scm (invoke): New variable. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* | build-system/gnu: 'compress-documentation' phase handles double symlinks.Maxim Cournoyer2017-05-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | build-system/cmake: Add support for cross compilation.Ricardo Wurmus2017-05-30
| | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' into core-updatesMark H Weaver2017-05-27
|\|
| * pull: Catch '&missing-dependency-error' raised by 'source-module-closure'.Ludovic Courtès2017-05-25
| | | | | | | | | | | | | | | | | | 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.
* | utils: Re-export 'delete'.Sergei Trofimovich2017-05-26
|/ | | | | | * guix/build/utils.scm: Reexport 'delete' binding. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* build-system: emacs: Install only a subset of files.Arun Isaac2017-05-23
| | | | | | | * 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.
* build: emacs: Fix `store-file->elisp-source-file'.Arun Isaac2017-05-23
| | | | | | | | 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.
* union: Gracefully handle dangling symlinks in the input.Ludovic Courtès2017-05-18
| | | | | | | | | | | | 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.
* build-system/asdf: Handle tests defined in external systems.Andy Patterson2017-05-16
| | | | | | | | | | | * 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.
* build-system/asdf: Retain references to source files for binary outputs.Andy Patterson2017-05-16
| | | | | | | | | | | | | | | | | 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.
* build-system/asdf: Simplify the use of lisp-eval-program.Andy Patterson2017-05-16
| | | | | | | | | | | | | | | | | | 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.
* build-system/asdf: Handle unusually-named systems.Andy Patterson2017-05-16
| | | | | | | | | | * 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.
* build-system/asdf: Always pre-load the system's definition file.Andy Patterson2017-05-16
| | | | | | | | | * 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.
* build-system/asdf: Pass the system name as an argument to the builder.Andy Patterson2017-05-16
| | | | | | | | | | * 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.
* build-system/asdf: Parameterize the lisp type and implementation globally.Andy Patterson2017-05-16
| | | | | | | | | | | | * 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.
* build-system/asdf: Make #:lisp a package argument.Andy Patterson2017-05-16
| | | | | | | | | | | * guix/build-system/asdf.scm (lower): Change argument name to `lisp-type'. (asdf-build): Change argument name to `lisp-type'. Remove `lisp' as an argument to the returned procedure. Change the argument passed to build phases to `lisp-type'. * guix/build/asdf-build-system.scm (copy-source, build, check) (create-asd-file, symlink-asd-files, cleanup-files, strip): Respect `lisp-type` argument. * gnu/packages/lisp.scm (sbcl-stumpwm, sbcl-stumpwm+slynk): Likewise.
* build-system/asdf: Keep ecl's generated archive files.Andy Patterson2017-05-16
| | | | | | This may be necessary to produce programs or images with ecl. * guix/build/asdf-build-system.scm (cleanup-files): Don't delete .a files.
* build-system/asdf: Use asdf to determine dependencies.Andy Patterson2017-05-16
| | | | | | | | | | | | This removes the need for conventions to determine which inputs are run-time dependencies, and also the need to specify "special" dependencies. * guix/build/lisp-utils.scm (patch-asd-file, lisp-dependencies) (wrap-perform-method): Remove them. (inputs->asd-file-map, system-dependencies, generate-system-definition) (generate-dependency-links, make-asd-file): New procedures. (lisp-eval-program): Add an error if no lisp matches. (compile-system): Don't use asdf's in-built asd-file generator.
* build-system/asdf: Make it possible to use "lib" as the build output.Andy Patterson2017-05-16
| | | | | | | | | * guix/build/asdf-build-system.scm (library-output): New procedure. (copy-source, build, check, patch-asd-files, symlink-asd-files) (cleanup-files): Use it. (copy-files-to-output): Rework to take an output instead of an outputs and string pair. (install, copy-source): Use the new method.
* build-system/asdf: Rename %install-prefix to %source-install-prefix.Andy Patterson2017-05-16
| | | | | | | | * guix/build/lisp-utils.scm (%install-prefix): Rename to %source-install-prefix. (build-install-prefix): Use it. * guix/build/asdf-build-system.scm (source-install-prefix) (%system-install-prefix, source-directory, copy-source): Likewise.
* bournish: 'ls' adjusts the column width depending on the entries.Ludovic Courtès2017-05-13
| | | | | | * guix/build/bournish.scm (display-tabulated): Remove #:columns and #:column-width parameters. Add #:terminal-width and #:column-gap. Compute COLUMN-WIDTH and COLUMNS.
* bournish: 'ls' lists directory contents.Ludovic Courtès2017-05-13
| | | | | | | Suggested by Ricardo Wurmus. * guix/build/bournish.scm (ls-command-implementation): When FILE is a directory, list its contents rather than FILE itself.
* guix: Add java-utils.Hartmut Goebel2017-05-10
| | | | | | | | * guix/build/java-utils.scm: New file. * guix/build-system/ant.scm: Use it. * Makefile.am (MODULES): Add it. Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
* ant-build-system: Add default "check" target.Ricardo Wurmus2017-05-10
| | | | | | | | * guix/build-system/ant.scm (ant-build): Change default test target to "check"; add "test-dir" argument. * guix/build/ant-build-system.scm (default-build.xml): Add "test-dir" argument; add ant targets "compile-tests" and "check". (configure): Add "test-dir" argument; pass it to "default-build.xml".
* ant-build-system: Allow specifying source directory.Hartmut Goebel2017-05-10
| | | | | | | | | | | * guix/build-system/ant.scm (ant-build), guix/build/ant-build-system.scm (default-build.xml): Add parameter source-dir. * guix/build/ant-build-system.scm (configure): Pass source-dir on to default-build.xml. * doc/guix.texi (Build Systems): Document it. Co-authored-by: Ricardo Wurmus <rekado@elephly.net>
* pull: Build package modules without optimizations on Guile 2.2.Ludovic Courtès2017-05-09
| | | | | | | | * guix/build/pull.scm (%default-optimizations) (%lightweight-optimizations): New variables. (optimization-options): New procedure. Taken from build-aux/compile-all.scm. (build-guix): Pass it to 'compile-file'.
* pull: Build with the matching Guile major version.Ludovic Courtès2017-05-09
| | | | | | | | | | | | | | | | | | Previously, 'guix pull' would always build with Guile 2.0. Now it builds with the Guile that matches (effective-version). * build-aux/build-self.scm (false-if-wrong-guile) (package-for-current-guile): New procedures. (guile-json, guile-ssh): Use it. (guile-for-build): New procedure. (build): Use (effective-version) instead of the hard-coded "/2.0". Add (guix modules) closure to #:modules argument. Pass \#:guile-for-build argument to 'gexp->derivation'. * guix/build/pull.scm (depends-on-guile-ssh?, all-scheme-files): New procedures. (build-guix): Show the output of (version). Use the above procedures. Filter out files that match 'depends-on-guile-ssh?' when (ssh session) is missing.
* download: Continue handshake upon TLS warning alerts.Ludovic Courtès2017-05-02
| | | | | | | | | | This allows us to download from site such as <https://fusionforge.int-evry.fr> where the server does not recognize the server name passed via the 'server_name' extension. * guix/build/download.scm (tls-wrap): Catch 'gnutls-error' around 'handshake'. Upon ERROR/WARNING-ALERT-RECEIVED, print a message and call 'handshake'.
* cache: Work around 'time-monotonic' bug in Guile 2.2.2.Ludovic Courtès2017-04-22
| | | | | | | * guix/cache.scm (time-monotonic) [guile-2.2]: New variable. * tests/cache.scm (time-monotonic) [guile-2.2]: Likewise. * guix/build/download.scm (time-monotonic) [guile-2.2]: Adjust comment: it's a 2.2.2 bug.
* download: Work around Guile 2.2 bug with 'time-monotonic' objects.Ludovic Courtès2017-04-22
| | | | * guix/build/download.scm (time-monotonic) [guile-2.2]: New variable.
* build-system/cargo: Remove store reference.Mathieu Othacehe2017-04-14
| | | | | | | | | | * guix/build/cargo-build-system.scm (generate-checksums): Remove store reference from comment. This comment was matching assert-no-store-file-names regexp in Makefile.am. Also, edit procedure docstring to precise that DIR-NAME is a store directory. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* syscalls: Add load-linux-module.Mathieu Othacehe2017-04-11
| | | | | | | * guix/build/syscalls.scm (load-linux-module): New procedure. Reimplemented from guile-linux-syscalls.patch. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* syscalls: Use define-as-needed for network-interface syscalls.Mathieu Othacehe2017-04-11
| | | | | | | | | | * guix/build/syscalls.scm (network-interface-flags): Use define-as-needed macro and remove from export list. (set-network-interface-flags): Ditto. (set-network-interface-address): Ditto. (IFF_UP, IFF_BROADCAST and IFF_LOOPBACK): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* syscalls: Use define-as-needed for mount and umount.Mathieu Othacehe2017-04-11
| | | | | | | | * guix/build/syscalls.scm (mount): Use define-as-needed macro and remove from export list. (umount): Ditto. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* syscalls: Add reboot.Mathieu Othacehe2017-04-11
| | | | | | | | | * guix/build/syscalls.scm (define-as-needed): New macro. (reboot): New procedure. Reimplemented from guile-linux-syscalls.patch. (RB_AUTOBOOT, ..., RB_KEXEC): New flags copied from static Guile patch. Co-Authored-By: Ludovic Courtès <ludo@gnu.org> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* syscalls: Allow mount and umount use from static Guile.Mathieu Othacehe2017-04-07
| | | | | | | | | | * guix/build/syscalls.scm (mount): Use Guile core mount if called from static Guile, otherwise use FFI based mount implementation. (umount): Ditto. This allows to use (guix build syscalls) from a module independently of calling context. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* profiles: Slightly improve the instructions in 'etc/profile'.Ludovic Courtès2017-04-07
| | | | | * guix/build/profiles.scm (build-etc/profile): Fix typo in comment. Add backslash in the generated shell comment.
* Merge branch 'master' into core-updatesMarius Bakke2017-03-30
|\ | | | | | | Most conflicts are from 6fd52309b8f52c9bb59fccffac53e029ce94b698.
| * download: Properly parse ftp:// URLs that lack user info.Ludovic Courtès2017-03-28
| | | | | | | | | | | | | | | | | | | | | | Fixes a regression introduced in a4f542341511f33ece18d16b68118214da8143ec. Reported by Hartmut Goebel. * guix/build/download.scm (ftp-fetch): Account for the case where 'uri-userinfo' returns #f. Remove the case where it returns "" since that cannot happen.
* | Merge branch 'master' into core-updatesLeo Famulari2017-03-27
|\|
| * union: Add create-all-directories? parameter to 'union-build'.Huang Ying2017-03-26
| | | | | | | | | | | | | | | | * guix/build/union.scm (union-build): Add create-all-directories? keyword parameter. * tests/union.scm ("union-build #:create-all-directories? #t"): New test. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-03-22
|\|
| * download: Handle username and password properties for FTP URIs.Roel Janssen2017-03-21
| | | | | | | | * guix/build/download.scm (ftp-fetch): Process username and password from a URI.