summaryrefslogtreecommitdiff
path: root/guix/build
AgeCommit message (Collapse)Author
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-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.
2016-08-10utils: Fix 'modify-phases' docstring.Taylan Ulrich Bayırlı/Kammer
* guix/build/utils.scm (modify-phases): Fix the documentation string.
2016-08-09grafts: Make grafting faster.Mark H Weaver
* 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.
2016-07-31download: Pass the raw file name to content-addressed mirrors.Ludovic Courtès
* guix/build/download.scm (url-fetch)[content-addressed-uris]: Call 'strip-store-file-name' on FILE before passing it to 'make-url'.
2016-07-22Merge branch 'master' into core-updatesLeo Famulari
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.
2016-07-20pull: Install (guix config) module to override the user's one.Ludovic Courtès
* 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).
2016-07-20download: Prepare to support the 'guix publish' /file URLs.Ludovic Courtès
* guix/download.scm (%content-addressed-mirrors): Add 'file' parameter to the lambda. * guix/build/download.scm (url-fetch)[content-addressed-uris]: Adjust accordingly.
2016-07-20Merge branch 'master' into core-updatesLudovic Courtès
2016-07-03guix: Support authentication when fetching from SVN.Ricardo Wurmus
* 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.
2016-06-29download: Use basic authentication when userinfo is present in URI.David Thompson
* 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.
2016-06-27Merge branch 'master' into core-updatesLudovic Courtès
2016-06-23bournish: Add 'wc' command.Efraim Flashner
* guix/build/bournish.scm (lines+chars, file-exists?*, wc-print) (wc-l-print, wc-c-print, wc-command, wc-command-implementation) (wc-l-command-implementation, wc-c-command-implementation): New procedures. (%commands): Add 'wc'. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-06-22build: emacs: Search for elisp in "share/emacs/site-lisp".Alex Kost
* guix/build/emacs-build-system.scm (emacs-inputs-el-directories): Add ".../share/emacs/site-lisp" directory to the returned result as elisp files can also be placed there.
2016-06-17Merge branch 'master' into core-updatesLudovic Courtès
2016-06-15guix: Add downloader for Mercurial repositories.Ricardo Wurmus
* guix/build/hg.scm: New file. * guix/hg-download.scm: New file. * Makefile.am (MODULES): Add them.
2016-06-13syscalls: Use 'syscall->procedure' everywhere.Ludovic Courtès
* guix/build/syscalls.scm (mkdtemp!, setns, %ioctl, network-interfaces): (free-ifaddrs): Use 'syscall->procedure'.
2016-06-13utils: 'with-atomic-file-output' calls 'fdatasync'.Ludovic Courtès
Suggested by Danny Milosavljevic <dannym@scratchpost.org> at <https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00456.html>. * guix/build/syscalls.scm (fdatasync): New procedure. * guix/utils.scm (with-atomic-file-output): Use it. Use 'close-port' instead of 'close'.
2016-06-07Merge branch 'master' into core-updatesLudovic Courtès