summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
2017-02-13Merge branch 'master' into python-testsMarius Bakke
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-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-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-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-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-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-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