summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
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-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-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-25Merge branch 'master' into python-build-systemLeo Famulari
2016-11-23Merge branch 'master' into stagingLeo Famulari
2016-11-21syscalls: Add 'add-network-route/gateway' and 'delete-network-route'.Ludovic Courtès
* guix/build/syscalls.scm (SIOCADDRT, SIOCDELRT): New variables. (%rtentry): New C struct. (RTF_UP, RTF_GATEWAY, %sockaddr-any): New variables. (add-network-route/gateway, delete-network-route): New procedures. * tests/syscalls.scm ("add-network-route/gateway") ("delete-network-route"): New tests.
2016-11-21syscalls: Add 'c-struct-field-offset'.Ludovic Courtès
* guix/build/syscalls.scm (define-c-struct-macro): New macro. (define-c-struct): Use it. (c-struct-field-offset): New macro.
2016-11-17syscalls: 'configure-network-interface' has a #:netmask parameter.Ludovic Courtès
* guix/build/syscalls.scm (configure-network-interface): Add #:netmask keyword parameter and honor it.
2016-11-16syscalls: Add bindings for SIOCGIFNETMASK and SIOCSIFNETMASK.Ludovic Courtès
* guix/build/syscalls.scm (SIOCGIFNETMASK, SIOCSIFNETMASK): New variables. (set-network-interface-netmask, network-interface-netmask): New procedures. * tests/syscalls.scm ("network-interface-netmask lo") ("set-network-interface-netmask"): New tests.
2016-11-16syscalls: Use 'define-c-struct' for 'struct ifconf'.Ludovic Courtès
* guix/build/syscalls.scm (ifconf-struct): Remove. (%ifconf-struct): New C struct. (network-interface-names): Use 'make-bytevector' and 'write-ifconf!' instead of 'make-c-struct', and 'read-ifconf' instead of 'parse-c-struct'.
2016-11-16syscalls: C struct writer correctly handles pointer fields.Ludovic Courtès
* guix/build/syscalls.scm (write-type): Add case for '*.
2016-11-15guxi: cmake-build-system: Enable output for failing test-cases.Hartmut Goebel
* guix/build/cmake-build-system.scm (cmake-build-system): Set environment variable CTEST_OUTPUT_ON_FAILURE to an non-empty value.
2016-11-15guix: python-build-system: Add background about Python installation methods.Hartmut Goebel
2016-11-15guix: python-build-system: Delete .egg-info file created in phase check.Hartmut Goebel
* guix/build/python-build-system.scm (check): Delete .egg-info dirs which did not exist prior to calling setup.py but afterwards.
2016-11-15guix: python-build-system: Add helpers for getting and setting PYTHONPATH.Hartmut Goebel
* guix/build/python-build-system.scm (add-installed-pythonpath, site-packages): New exported procedures.
2016-11-15guix: python-build-system: Add option "#:use-setuptools?" (default true).Hartmut Goebel
* guix/build-system/python.scm (python-build): New keyword argument "#:use-setuptools?", defaulting to #t. * guix/build/python-build-system.scm (call-setup-py): New positional parameter "use-setuptools?". If false, do not use the shim-wrapper for addin setuptools. (build, check): accept keyword- parameter, and pass to call-setuppy. (install): same; if "use-setuptools?" is false, do not use options "--root" and "--single-version-externally-managed" for setup.py. * doc/guix.texi (Build Systems): Document it.
2016-11-15guix: python-build-system: Import setuptools before calling `setup.py'.Marius Bakke
This is needed for packages using "distutils" instead of "setuptools" since the former does not understand the "--single-version-externally-managed" flag. Also export __file__ since it will be unset when setup.py is called from python "exec". * guix/build/python-build-system.scm (call-setuppy): extend "python setup.py" call to import setuptools, export __file__, and call setup.py from setuptools python environment. Co-Authored-By: Hartmut Goebel <h.goebel@crazy-compilers.com>
2016-11-15guix: build all Python packages with --single-version-externally-managed.Hartmut Goebel
This requires setuptools to be installed together with python, which is the case for Python 3 anyway and which we do for our build of Python 2 (see last commit). * guix/build/python-build-system.scm (install): Add "--single-version-externally-managed" and "--root=/" to params to be passed to call-setuppy. Remove thus needless manipulation of PYTHONPATH. Remove now unused argument "inputs".
2016-11-15guix: python-build-system: Fix an outdated comment.Hartmut Goebel
2016-11-13Merge branch 'core-updates'Ludovic Courtès
2016-11-07download: Verify TLS certificates unless asked not to.Ludovic Courtès
Fixes <http://bugs.gnu.org/24466>. Reported by Leo Famulari <leo@famulari.name>. * guix/build/download.scm (%x509-certificate-directory): New variable. (make-credendials-with-ca-trust-files, peer-certificate) (assert-valid-server-certificate, print-tls-certificate-error): New procedures. Add 'print-tls-certificate-error' as an exception printer for 'tls-certificate-error'. (tls-wrap): Add #:verify-certificate? parameter and honor it. (open-connection-for-uri): Likewise. (http-fetch): Likewise. (url-fetch): Likewise. * guix/download.scm (url-fetch)[builder]: Pass #:verify-certificate? #f. * guix/scripts/lint.scm (probe-uri): Add case for 'tls-certificate-error'. (validate-uri): Likewise. * doc/guix.texi (Invoking guix download): Mention 'SSL_CERT_DIR'.
2016-10-19Merge branch 'master' into core-updatesMark H Weaver
2016-10-17grafts: Remove unnecessary 'umask' call.Ludovic Courtès
This is a followup to d72267863382041b84a9712eea354882be72ef55. * guix/build/graft.scm (rewrite-directory): Remove 'umask' call.
2016-10-13Revert "guix: python-build-system: Fix an outdated comment."Mark H Weaver
This reverts commit 635a7af45d6e2105ad65d1a9531126cc232a2a50.
2016-10-13guix: python-build-system: Fix an outdated comment.Hartmut Goebel
The python-build-system uses phases the build and install, but not configure. So the old comment was plain wrong since Sept. 2013, when the build phase has been added.
2016-10-12Merge branch 'master' into core-updatesMark H Weaver
2016-10-10grafts: Always make directories #o755.Ludovic Courtès
Fixes <http://bugs.gnu.org/22954>. Reported by Albin <albin@fripost.org> and Jeffrey Serio <serio.jeffrey@gmail.com>. * guix/build/graft.scm (mkdir-p*): New procedure. (rewrite-directory): Use it instead of 'mkdir-p'.
2016-10-10bournish: Add 'reboot' command.Ludovic Courtès
Suggested by Ricardo Wurmus. * guix/build/bournish.scm (reboot-command): New procedure. (%commands): Add it.
2016-10-08build-system: Add asdf-build-system.Andy Patterson
* guix/build-system/asdf.scm: New file. * guix/build/asdf-build-system.scm: New file. * guix/build/lisp-utils.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'asdf-build-system'. Signed-off-by: 宋文武 <iyzsong@gmail.com>
2016-10-05Merge branch 'master' into core-updatesLeo Famulari
2016-10-03grafts: Allow the replacement to have a different name.Ludovic Courtès
* guix/build/graft.scm (replace-store-references): REPLACEMENT is now the full string, not just the hash. (rewrite-directory)[hash-mapping](valid-suffix?): Remove. (hash+suffix): Rename to... (hash+rest): ... this. Change to return the whole string as the second element of the list. Adjust 'match-lambda' expression accordingly; check whether the string length of the origin and replacement match. * tests/grafts.scm ("graft-derivation, grafted item uses a different name"): New test. * doc/guix.texi (Security Updates): Update sentence on the name/version restriction.
2016-10-03Merge branch 'master' into core-updatesLeo Famulari
2016-10-01build-system/gnu: Add 'patch-dot-desktop-files' phase.John Darrington
* guix/build/gnu-build-system.scm (patch-dot-desktop-files): New procedure. (%standard-phases): Add it. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-30Merge branch 'master' into core-updatesLudovic Courtès
2016-09-29build: Improve Guile 2.2 compatibility.Taylan Ulrich Bayırlı/Kammer
* build-aux/compile-all.scm (compile-file*): Ensure loading of compilation related modules before going parallel. * guix/build/pull.scm (build-guix): Ditto.
2016-09-12build-system/gnu: Do not patch symlinks in the source.Ludovic Courtès
This is a followup to 13a9feb5b64fd819eaed38a17da0284bbe2b8d9. * guix/build/gnu-build-system.scm (patch-source-shebangs): Remove call to 'remove'. Pass a second argument to 'find-files' to filter out symlinks; pass #:stat lstat. (patch-generated-file-shebangs): Likewise, and also filter out non-executable files.
2016-09-07utils: 'wrap-program' produces only one wrapper file.Ludovic Courtès
* guix/build/utils.scm (wrap-program)[wrapper-file-name] [next-wrapper-number, wrapper-target]: Remove. [wrapped-file, already-wrapped?]: New variables. [last-line]: New procedure. Use it to append to PROG when a wrapper already exists. * tests/build-utils.scm ("wrap-program, one input, multiple calls"): Adjust the list of files to delete.
2016-09-06syscalls: Use #:return-errno? when it is available.Ludovic Courtès
* guix/build/syscalls.scm (errno): Do not export. (syscall->procedure): Change to return a procedure that returns both the value and errno. Use #:return-errno? where available. (mount, umount, swapon, swapoff, mkdtemp!, fdatasync, statfs) (clone, setns, pivot-root, fcntl-flock, network-interface-names) (network-interface-flags, set-network-interface-flags) (set-network-interface-address, network-interface-address): (network-interfaces, tcgetattr, tcsetattr, terminal-window-size): Adjust accordingly using 'let-values'.
2016-09-05file-systems: Always use (guix build syscalls).Ludovic Courtès
* gnu/build/file-systems.scm: Use (guix build syscalls) unconditionally. Override the 'mount' and 'umount' bindings when (guile) provides them. (MS_RDONLY, MS_NOSUID, MS_NODEV, MS_NOEXEC, MS_REMOUNT) (MS_BIND, MS_MOVE): Remove. * guix/build/syscalls.scm (%libc-errno-pointer): Add 'false-if-exception' around 'dynamic-func'.
2016-09-03guix: ant-build-system: Fix pattern for collecting jar files.Hartmut Goebel
The former pattern included the "jar" binary. * guix/build/ant-build-system.scm (generate-classpath): Change pattern. Suggested by: Ricardo Wurmus <rekado@elephly.net>
2016-09-02Merge branch 'master' into core-updatesLudovic Courtès
2016-09-01build-system/gnu: 'strip' phase lists files in sorted order.Ludovic Courtès
This fixes a bug whereby the choice between stripping 'libfoo.so.0.1.2' and stripping 'libfoo.so' (the symlink) would be non-deterministic. * guix/build/gnu-build-system.scm (strip)[strip-dir]: Use 'find-files' instead of 'file-system-fold' so that files are picked in deterministic order.
2016-08-30build: Add wrap-qt-program.David Craven
* guix/build/qt-utils.scm (wrap-qt-program): New file. * Makefile.am (MODULES): Add it.
2016-08-29Merge branch 'master' into core-updatesLeo Famulari
2016-08-30guix: ruby-build-system: Add replace-git-ls-files.Ben Woodcroft
* guix/build/ruby-build-system.scm (replace-git-ls-files): New variable. (%standard-phases): Add it.
2016-08-30guix: ruby-build-system: Build compiled gems reproducibly.Ben Woodcroft
* guix/build/ruby-build-system.scm (log-file-deletion): New procedure. (install): Remove files containing non-reproducible elements. Print when each file is deleted.