summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2017-03-26union: Add create-all-directories? parameter to 'union-build'.Huang Ying
* 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>
2017-03-22Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-03-21download: Handle username and password properties for FTP URIs.Roel Janssen
* guix/build/download.scm (ftp-fetch): Process username and password from a URI.
2017-03-19Merge branch 'master' into core-updatesMark H Weaver
2017-03-18http-client: Avoid name clash with 'open-connection-for-uri' in 2.2.0.Ludovic Courtès
* guix/build/download.scm (open-connection-for-uri): Add note about same-named binding in Guile 2.2.0. * guix/http-client.scm: Use 'guix:open-connection-for-uri' for the procedure coming from (guix build download). * guix/scripts/lint.scm: Likewise. * guix/scripts/substitute.scm: Likewise.
2017-03-18build: Require Guile >= 2.0.9.Ludovic Courtès
* configure.ac: Bump requirement to 2.0.9. * doc/guix.texi (Requirements): Adjust accordingly. * README (Requirements): Likewise. * build-aux/download.scm: Remove workaround for <http://bugs.gnu.org/13095>. * guix/build/download.scm: Likewise. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/http-client.scm: Remove workaround for <http://bugs.gnu.org/13095>. (http-fetch)[post-2.0.7?]: Remove. Remove conditional code for not POST-2.0.7?. * guix/serialization.scm (read-latin1-string): Remove mention of 2.0.9. * tests/nar.scm: Use (ice-9 control). (let/ec): Remove.
2017-03-17build/cargo-build-system: Make cargo-build-system install working packages.Danny Milosavljevic
* guix/build/cargo-build-system.scm (configure): Remove proprietary dependencies. Add rust dependencies and configure Cargo to find them. (build): Also build libraries, not just applications. (file-sha256): New variable. (generate-checksums): New variable. Export it. (touch): New variable. (install): Generate checksums so Cargo accepts the package.
2017-03-15Merge branch 'master' into core-updatesMarius Bakke
2017-03-15syscalls: Adjust 'clone' to Guile 2.2.Ludovic Courtès
Before that, something like: (call-with-container (lambda () (match (primitive-fork) …))) would hang in 'primitive-fork' as the child process (the one started in the container) would try to pthread_join the finalization thread in 'stop_finalization_thread' in libguile, not knowing that this thread is nonexistent. * guix/build/syscalls.scm (%set-automatic-finalization-enabled?!): New procedure. (without-automatic-finalization): New macro. (clone): Wrap PROC call in 'without-automatic-finalization'.
2017-03-13Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-03-13download: Export '%x509-certificate-directory'.Ludovic Courtès
* guix/build/download.scm (%x509-certificate-directory): Export, as expected by (guix scripts pull) since commit 7e81d699de7a2c924a048175516fe1ac3820d8e6.
2017-03-12syscalls: Adjust 'define-bits' to macro literal semantics of 2.2.Ludovic Courtès
* guix/build/syscalls.scm (define-bits): Do not define NAMES... as top-level variables since that prevents literal matches in 2.2. Instead, determine constant values at expansion time.
2017-03-09Merge branch 'master' into core-updatesLudovic Courtès
2017-02-27guix: build: make-bootstrap: Copy "falloc.h" to the new system.Manolis Ragkousis
In glibc-2.25 a dependency on "linux/falloc.h" was added. This also reverts commit 8f8f250bdca917b3ce38aa0902f01b19081859a4 which is no longer needed. This commit was not compatible with the glibc version Hurd is using. See <https://lists.gnu.org/archive/html/guix-devel/2017-02/msg01046.html> * guix/build/make-bootstrap.scm (make-stripped-libc): Copy "falloc.h" to the new system. * gnu/packages/patches/glibc-bootstrap-system.patch: Remove part that touches fcntl-linux.h. Problem reported by Andreas Enge <andreas@enge.fr>.
2017-02-27Merge branch 'master' into python-testsMarius Bakke
2017-02-20Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner
2017-02-14build: dub-build-system: Don't use "dub run" at all.Danny Milosavljevic
It doesn't make sense to run non-test executables (which is what "dub run" would do). The "check" function already invokes "dub test" and that's enough. * guix/build/dub-build-system.scm (build): Remove "dub run" invocation.
2017-02-13Merge branch 'master' into python-testsMarius Bakke
2017-02-10Merge branch 'master' into core-updatesLudovic Courtès
2017-02-10gnu: Add dub-build-system.Danny Milosavljevic
* guix/build-system/dub.scm: New file. * guix/build/dub-build-system.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi: Add section for dub-build-system.
2017-02-02Merge branch 'master' into core-updatesLeo Famulari
2017-02-02build: r-build-system: Use deterministic built date.Ricardo Wurmus
Fixes <http://bugs.gnu.org/25598>. * guix/build/r-build-system.scm (install): Pass "--built-timestamp" option to make build deterministic.
2017-01-26utils: Add helper method to make files writable.Marius Bakke
* gnu/build/activation.scm (make-file-writable): Move this to ... * guix/build/utils.scm (make-file-writable): ... here. Export it. * guix/build/gnu-build-system.scm (strip): Use it.
2017-01-26build-system/gnu: Add 'reset-gzip-timestamps' phase.Ludovic Courtès
* guix/build/gnu-build-system.scm (reset-gzip-timestamps): New procedure. (%standard-phases): Add it.
2017-01-26utils: Add 'gzip-file?' and 'reset-gzip-timestamp'.Ludovic Courtès
* guix/build/utils.scm (%gzip-magic-bytes): New variable. (gzip-file?, reset-gzip-timestamp): New procedures.
2017-01-26bournish: Extend 'rm' command.Ricardo Wurmus
* guix/build/bournish.scm (rm-command): New procedure. (%commands): Use it. * tests/bournish.scm: Add tests for "rm" and "rm -r".
2017-01-26build-system/gnu: 'strip' phase now skips symlinks.Ludovic Courtès
This avoids a situation where the "debug" output would contain separate (and different) .debug files for "libfoo.so" and "libfoo.so.0.0", even though "libfoo.so" is actually a symlink to "libfoo.so.0.0". * guix/build/gnu-build-system.scm (strip): Remove 'file-exists?' call in 'for-each' lambda. Pass a predicate to 'find-files' to restrict the result to regular files.
2017-01-25Merge branch 'master' into core-updatesLeo Famulari
2017-01-24syscalls: Export 'read-utmpx'.Ludovic Courtès
* guix/build/syscalls.scm (read-utmpx-from-port): New procedure. * tests/syscalls.scm ("read-utmpx, EOF") ("read-utmpx"): New tests.
2017-01-23Merge branch 'master' into core-updatesLudovic Courtès
2017-01-23search-paths: Allow specs with #f as their separator.Ludovic Courtès
This adds support for single-entry search paths. Fixes <http://bugs.gnu.org/25422>. Reported by Leo Famulari <leo@famulari.name>. * guix/search-paths.scm (<search-path-specification>)[separator]: Document as string or #f. (evaluate-search-paths): Add case for SEPARATOR as #f. (environment-variable-definition): Handle SEPARATOR being #f. * guix/build/utils.scm (list->search-path-as-string): Add case for SEPARATOR as #f. (search-path-as-string->list): Likewise. * guix/build/profiles.scm (abstract-profile): Likewise. * tests/search-paths.scm: New file. * Makefile.am (SCM_TESTS): Add it. * tests/packages.scm ("--search-paths with single-item search path"): New test. * gnu/packages/version-control.scm (git)[native-search-paths](separator): New field.
2017-01-19syscalls: Add utmpx procedures and data structure.Ludovic Courtès
* guix/build/syscalls.scm (<utmpx-entry>): New record type. (%utmpx): New C struct. (login-type): New bits. (setutxent, endutxent, getutxent, utmpx-entries): New procedures.
2017-01-19syscalls: Extract 'bytes->string'.Ludovic Courtès
* guix/build/syscalls.scm (bytes->string): New procedure. (bytevector->string-list): Use it.
2017-01-13Merge branch 'master' into python-testsLeo Famulari
2017-01-06Merge branch 'master' into core-updatesLeo Famulari
2017-01-04gnu: Add ocaml-build-system.Julien Lepiller
* guix/build/ocaml-build-system.scm: New file. * guix/build-system/ocaml.scm: New file. * Makefile.am (MODULES): Add them. * gnu/packages/ocaml.scm (ocaml)[native-search-paths]: Adjuste OCAMLPATH. Signed-off-by: David Craven <david@craven.ch>
2017-01-03guix: build: make-bootstrap: Copy libpthread_nonshared.a to the new system.Manolis Ragkousis
* guix/build/make-bootstrap.scm (%libc-object-files-rx): Update regexp.
2017-01-01syscalls: 'terminal-columns' swallows ENOSYS.Ludovic Courtès
* guix/build/syscalls.scm (terminal-columns): Catch ENOSYS.
2017-01-01build-system: cargo: Handle Cargo.lock file not present.David Craven
* guix/build-system/cargo.scm (cargo-build): Add src output. (private-keywords): Add #:outputs. * guix/build/cargo-build-system.scm (configure): Use /share/rust-source when replacing inputs. (build, check): Don't do anything when there isn't a Cargo.lock file present. (install): Install sources to src output. When a Cargo.lock file is present use cargo install to install binaries to out. * guix/import/crate.scm (make-crate-sexp): Importer uses the src output for crate inputs by default. * guix/import/utils.scm (package-names->package-inputs, maybe-inputs, maybe-native-inputs): Take an optional output argument. * tests/crate.scm (crate->guix-package test): Update. Problem reported by Francisco Gómez García <espectalll@kydara.com>.
2017-01-01build-system: cargo: Make Cargo.toml writeable.David Craven
* guix/build/cargo-build-system.scm (configure): Make sure Cargo.toml is writeable before attempting modification. Problem reported by Danny Milosavljevic <dannym@scratchpost.org>.
2016-12-16download: Protect against dangling symlinks in $SSL_CERT_DIR.Ludovic Courtès
Reported by Christopher Baines <mail@cbaines.net> in <https://bugs.gnu.org/25213>. * guix/build/download.scm (make-credendials-with-ca-trust-files): Check whether FILE exists before calling 'set-certificate-credentials-x509-trust-file!'.
2016-12-14build-system: Add cargo build system.David Craven
* guix/build-system/cargo.scm: New file. * guix/build/cargo-build-system.scm: New file. * Makefile.am (MODULES): Add files.
2016-12-13build-system/python: Make sure 'check' returns failures.Marius Bakke
* guix/build/python-build-system.scm (check): Wrap 'call-setuppy' in 'if' so that it actually fails when the tests fail. Print informational message when skipped.
2016-12-09Merge remote-tracking branch 'origin/master' into stagingLudovic Courtès
2016-12-07gnu: make-bootstrap: Produce the correct %glibc-bootstrap-tarball for Hurd ↵Manolis Ragkousis
systems. * gnu/packages/make-bootstrap.scm (%glibc-bootstrap-tarball): Make it a procedure. (%glibc-stripped): Make it a procedure and move the kernel specific part from here to ... * guix/build/make-bootstrap.scm (make-stripped-libc): ... here. New file. * Makefile.am (MODULES): Add it.
2016-11-30Merge branch 'master' into stagingMarius Bakke
2016-11-29Merge branch 'master' into python-build-systemHartmut Goebel
2016-11-28build-system/perl: Don't create non-deterministic 'perllocal.pod' files.Marius Bakke
* guix/build/perl-build-system.scm (configure): Add "NO_PERLLOCAL=1" to Makefile.PL arguments.
2016-11-28pull: Set '%nix-instantiate' to a sensible value.Ludovic Courtès
Reported by ng0 <ng0@libertad.pw>. Fixes <http://bugs.gnu.org/25053>. * guix/build/pull.scm (build-guix): Replace "@NIX_INSTANTIATE@" in guix/config.scm with "nix-instantiate".
2016-11-26build-system/gnu: Make libraries writable before stripping.Marius Bakke
* guix/build/gnu-build-system.scm (strip)[strip-dir]: Change mode of files before running strip-command.