summaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* union: Gracefully handle dangling symlinks in the input.Ludovic Courtès2017-05-20
| | | | | | | | | | | | 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.
* 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.
* | Merge branch 'master' into core-updatesMark H Weaver2017-03-19
|\|
| * http-client: Avoid name clash with 'open-connection-for-uri' in 2.2.0.Ludovic Courtès2017-03-18
| | | | | | | | | | | | | | | | | | * 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.
| * build: Require Guile >= 2.0.9.Ludovic Courtès2017-03-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * build/cargo-build-system: Make cargo-build-system install working packages.Danny Milosavljevic2017-03-17
| | | | | | | | | | | | | | | | | | | | * 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.
* | Merge branch 'master' into core-updatesMarius Bakke2017-03-15
|\|
| * syscalls: Adjust 'clone' to Guile 2.2.Ludovic Courtès2017-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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'.
| * download: Export '%x509-certificate-directory'.Ludovic Courtès2017-03-13
| | | | | | | | | | | | * guix/build/download.scm (%x509-certificate-directory): Export, as expected by (guix scripts pull) since commit 7e81d699de7a2c924a048175516fe1ac3820d8e6.
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-03-13
|\|
| * syscalls: Adjust 'define-bits' to macro literal semantics of 2.2.Ludovic Courtès2017-03-12
| | | | | | | | | | | | * 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.
* | Merge branch 'master' into core-updatesLudovic Courtès2017-03-09
|\|
| * Merge branch 'master' into python-testsMarius Bakke2017-02-27
| |\
| * \ Merge branch 'master' into python-testsMarius Bakke2017-02-13
| |\ \
| * \ \ Merge branch 'master' into python-testsLeo Famulari2017-01-13
| |\ \ \
| * | | | build-system/python: Make sure 'check' returns failures.Marius Bakke2016-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | | guix: build: make-bootstrap: Copy "falloc.h" to the new system.Manolis Ragkousis2017-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>.
* | | | | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-02-20
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | build: dub-build-system: Don't use "dub run" at all.Danny Milosavljevic2017-02-14
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'master' into core-updatesLudovic Courtès2017-02-10
|\| | |
| * | | gnu: Add dub-build-system.Danny Milosavljevic2017-02-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | Merge branch 'master' into core-updatesLeo Famulari2017-02-02
|\| | |
| * | | build: r-build-system: Use deterministic built date.Ricardo Wurmus2017-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/25598>. * guix/build/r-build-system.scm (install): Pass "--built-timestamp" option to make build deterministic.
| * | | bournish: Extend 'rm' command.Ricardo Wurmus2017-01-26
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/bournish.scm (rm-command): New procedure. (%commands): Use it. * tests/bournish.scm: Add tests for "rm" and "rm -r".
* | | | utils: Add helper method to make files writable.Marius Bakke2017-01-26
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | build-system/gnu: Add 'reset-gzip-timestamps' phase.Ludovic Courtès2017-01-26
| | | | | | | | | | | | | | | | | | | | | | | | * guix/build/gnu-build-system.scm (reset-gzip-timestamps): New procedure. (%standard-phases): Add it.
* | | | utils: Add 'gzip-file?' and 'reset-gzip-timestamp'.Ludovic Courtès2017-01-26
| | | | | | | | | | | | | | | | | | | | * guix/build/utils.scm (%gzip-magic-bytes): New variable. (gzip-file?, reset-gzip-timestamp): New procedures.
* | | | build-system/gnu: 'strip' phase now skips symlinks.Ludovic Courtès2017-01-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.