summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Expand)Author
2016-11-25Merge branch 'master' into python-build-systemLeo Famulari
2016-11-21syscalls: Add 'add-network-route/gateway' and 'delete-network-route'....* 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. Ludovic Courtès
2016-11-21syscalls: Add 'c-struct-field-offset'....* guix/build/syscalls.scm (define-c-struct-macro): New macro. (define-c-struct): Use it. (c-struct-field-offset): New macro. Ludovic Courtès
2016-11-17syscalls: 'configure-network-interface' has a #:netmask parameter....* guix/build/syscalls.scm (configure-network-interface): Add #:netmask keyword parameter and honor it. Ludovic Courtès
2016-11-16syscalls: Add bindings for SIOCGIFNETMASK and SIOCSIFNETMASK....* 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. Ludovic Courtès
2016-11-16syscalls: Use 'define-c-struct' for 'struct ifconf'....* 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'. Ludovic Courtès
2016-11-16syscalls: C struct writer correctly handles pointer fields....* guix/build/syscalls.scm (write-type): Add case for '*. Ludovic Courtès
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....* guix/build/python-build-system.scm (check): Delete .egg-info dirs which did not exist prior to calling setup.py but afterwards. Hartmut Goebel
2016-11-15guix: python-build-system: Add helpers for getting and setting PYTHONPATH....* guix/build/python-build-system.scm (add-installed-pythonpath, site-packages): New exported procedures. Hartmut Goebel
2016-11-15guix: python-build-system: Add option "#:use-setuptools?" (default true)....* 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. Hartmut Goebel
2016-11-15guix: python-build-system: Import setuptools before calling `setup.py'....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> Marius Bakke
2016-11-15guix: build all Python packages with --single-version-externally-managed....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". Hartmut Goebel
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....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'. Ludovic Courtès
2016-10-19Merge branch 'master' into core-updatesMark H Weaver
2016-10-17grafts: Remove unnecessary 'umask' call....This is a followup to d72267863382041b84a9712eea354882be72ef55. * guix/build/graft.scm (rewrite-directory): Remove 'umask' call. Ludovic Courtès
2016-10-13Revert "guix: python-build-system: Fix an outdated comment."...This reverts commit 635a7af45d6e2105ad65d1a9531126cc232a2a50. Mark H Weaver
2016-10-13guix: python-build-system: Fix an outdated comment....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. Hartmut Goebel
2016-10-12Merge branch 'master' into core-updatesMark H Weaver
2016-10-10grafts: Always make directories #o755....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'. Ludovic Courtès
2016-10-10bournish: Add 'reboot' command....Suggested by Ricardo Wurmus. * guix/build/bournish.scm (reboot-command): New procedure. (%commands): Add it. Ludovic Courtès
2016-10-08build-system: Add asdf-build-system....* 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> Andy Patterson
2016-10-05Merge branch 'master' into core-updatesLeo Famulari
2016-10-03grafts: Allow the replacement to have a different name....* 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. Ludovic Courtès
2016-10-03Merge branch 'master' into core-updatesLeo Famulari
2016-10-01build-system/gnu: Add 'patch-dot-desktop-files' phase....* 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> John Darrington
2016-09-30Merge branch 'master' into core-updatesLudovic Courtès
2016-09-29build: Improve Guile 2.2 compatibility....* build-aux/compile-all.scm (compile-file*): Ensure loading of compilation related modules before going parallel. * guix/build/pull.scm (build-guix): Ditto. Taylan Ulrich Bayırlı/Kammer
2016-09-12build-system/gnu: Do not patch symlinks in the source....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. Ludovic Courtès
2016-09-07utils: 'wrap-program' produces only one wrapper file....* 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. Ludovic Courtès
2016-09-06syscalls: Use #:return-errno? when it is available....* 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'. Ludovic Courtès
2016-09-05file-systems: Always use (guix build syscalls)....* 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'. Ludovic Courtès
2016-09-03guix: ant-build-system: Fix pattern for collecting jar files....The former pattern included the "jar" binary. * guix/build/ant-build-system.scm (generate-classpath): Change pattern. Suggested by: Ricardo Wurmus <rekado@elephly.net> Hartmut Goebel
2016-09-02Merge branch 'master' into core-updatesLudovic Courtès
2016-09-01build-system/gnu: 'strip' phase lists files in sorted order....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. Ludovic Courtès
2016-08-30build: Add wrap-qt-program....* guix/build/qt-utils.scm (wrap-qt-program): New file. * Makefile.am (MODULES): Add it. David Craven
2016-08-29Merge branch 'master' into core-updatesLeo Famulari
2016-08-30guix: ruby-build-system: Add replace-git-ls-files....* guix/build/ruby-build-system.scm (replace-git-ls-files): New variable. (%standard-phases): Add it. Ben Woodcroft
2016-08-30guix: ruby-build-system: Build compiled gems reproducibly....* guix/build/ruby-build-system.scm (log-file-deletion): New procedure. (install): Remove files containing non-reproducible elements. Print when each file is deleted. Ben Woodcroft
2016-08-10utils: Fix 'modify-phases' docstring....* guix/build/utils.scm (modify-phases): Fix the documentation string. Taylan Ulrich Bayırlı/Kammer
2016-08-09grafts: Make grafting faster....* guix/build/graft.scm (replace-store-references): Reimplement for faster grafting. Use binary I/O instead of textual I/O. Replace 'mapping' argument (an alist) with 'replacement-table' (a vhash). (rewrite-directory): Adapt to mapping argument change in 'replace-store-references'. Remove 'with-fluids' that previously set '%default-port-encoding' to #f, since we now use binary I/O. (define-inline, hash-length): New macros. (nix-base32-char?): New variable. Mark H Weaver
2016-07-31download: Pass the raw file name to content-addressed mirrors....* guix/build/download.scm (url-fetch)[content-addressed-uris]: Call 'strip-store-file-name' on FILE before passing it to 'make-url'. Ludovic Courtès
2016-07-22Merge branch 'master' into core-updates...Resolved conflicts: * gnu/packages/scheme.scm: Conflict in import of (guix licenses). On master, "#:hide (openssl)" was used. On core-updates, "#:select (some licenses)" was used. The latter won the conflict. * gnu/packages/version-control.scm (git)[arguments]: Whitespace conflict in 'install-shell-completion. Leo Famulari
2016-07-20pull: Install (guix config) module to override the user's one....* build-aux/build-self.scm (zlib, gzip, bzip2, xz): New variables. (build)[storedir, localstatedir, sysconfdir, sbindir]: New variables. [builder]: Pass them to 'build-guix'. * guix/build/pull.scm (build-guix): Add #:system, #:storedir, #:localstatedir, #:sysconfdir, #:sbindir, #:package-name, #:package-version, #:bug-report-address, #:home-page-url, #:libgcrypt, #:zlib, #:gzip, #:bzip2, and #:xz. Remove #:gcrypt. Instantiate all the substitution variables in (guix config). Remove code to delete OUT/guix/config.{scm,go}. * guix/config.scm.in: Add note about (guix script pull). Ludovic Courtès
2016-07-20download: Prepare to support the 'guix publish' /file URLs....* guix/download.scm (%content-addressed-mirrors): Add 'file' parameter to the lambda. * guix/build/download.scm (url-fetch)[content-addressed-uris]: Adjust accordingly. Ludovic Courtès
2016-07-20Merge branch 'master' into core-updatesLudovic Courtès
2016-07-03guix: Support authentication when fetching from SVN....* guix/svn-download.scm (<svn-reference>): Add fields for optional credentials. (svn-fetch): Pass credentials to build-side "svn-fetch". * guix/build/svn.scm (svn-fetch): Pass optional credentials to svn command. Ricardo Wurmus
2016-06-29download: Use basic authentication when userinfo is present in URI....* guix/download.scm (url-fetch): Include (guix base64) module on the build-side. * guix/build/download.scm (http-fetch): Add "Authorization" header when userinfo is present in the URI. David Thompson