aboutsummaryrefslogtreecommitdiff
path: root/guix/build
Commit message (Collapse)AuthorAge
* guix: ruby-build-system: Add replace-git-ls-files.Ben Woodcroft2016-08-30
| | | | | * guix/build/ruby-build-system.scm (replace-git-ls-files): New variable. (%standard-phases): Add it.
* guix: ruby-build-system: Build compiled gems reproducibly.Ben Woodcroft2016-08-30
| | | | | | * guix/build/ruby-build-system.scm (log-file-deletion): New procedure. (install): Remove files containing non-reproducible elements. Print when each file is deleted.
* grafts: Make grafting faster.Mark H Weaver2016-08-09
| | | | | | | | | | | * 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.
* download: Pass the raw file name to content-addressed mirrors.Ludovic Courtès2016-07-31
| | | | | * guix/build/download.scm (url-fetch)[content-addressed-uris]: Call 'strip-store-file-name' on FILE before passing it to 'make-url'.
* Merge branch 'master' into core-updatesLeo Famulari2016-07-22
|\ | | | | | | | | | | | | | | | | 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.
| * pull: Install (guix config) module to override the user's one.Ludovic Courtès2016-07-20
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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).
| * download: Prepare to support the 'guix publish' /file URLs.Ludovic Courtès2016-07-20
| | | | | | | | | | | | | | * guix/download.scm (%content-addressed-mirrors): Add 'file' parameter to the lambda. * guix/build/download.scm (url-fetch)[content-addressed-uris]: Adjust accordingly.
* | Merge branch 'master' into core-updatesLudovic Courtès2016-07-20
|\|
| * guix: Support authentication when fetching from SVN.Ricardo Wurmus2016-07-03
| | | | | | | | | | | | | | | | * 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.
| * download: Use basic authentication when userinfo is present in URI.David Thompson2016-06-29
| | | | | | | | | | | | | | * 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.
| * bournish: Add 'wc' command.Efraim Flashner2016-06-23
| | | | | | | | | | | | | | | | | | * 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>
| * build: emacs: Search for elisp in "share/emacs/site-lisp".Alex Kost2016-06-22
| | | | | | | | | | | | * 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.
* | Merge branch 'master' into core-updatesLudovic Courtès2016-06-27
| |
* | Merge branch 'master' into core-updatesLudovic Courtès2016-06-17
|\|
| * guix: Add downloader for Mercurial repositories.Ricardo Wurmus2016-06-15
| | | | | | | | | | | | * guix/build/hg.scm: New file. * guix/hg-download.scm: New file. * Makefile.am (MODULES): Add them.
| * syscalls: Use 'syscall->procedure' everywhere.Ludovic Courtès2016-06-13
| | | | | | | | | | * guix/build/syscalls.scm (mkdtemp!, setns, %ioctl, network-interfaces): (free-ifaddrs): Use 'syscall->procedure'.
| * utils: 'with-atomic-file-output' calls 'fdatasync'.Ludovic Courtès2016-06-13
| | | | | | | | | | | | | | | | | | 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'.
* | Merge branch 'master' into core-updatesLudovic Courtès2016-06-07
|\|
| * bournish: Allow compilation of multiple expressions.Ludovic Courtès2016-06-06
| | | | | | | | | | | | | | * guix/build/bournish.scm (%bournish-language): Add a joiner to SCHEME. Compile only to Scheme. * tests/bournish.scm: New file. * Makefile.am (SCM_TESTS): Add it.
| * bournish: Handle EOF in the reader.Ludovic Courtès2016-06-06
| | | | | | | | * guix/build/bournish.scm (read-bournish): Add case for EOF.
| * build: emacs: Handle sources that are a single elisp file.David Thompson2016-05-30
| | | | | | | | | | | | * guix/build/emacs-build-system.scm (gnu:unpack) (store-file->elisp-source-file, unpack): New procedures. (%standard-phases): Use the new unpack procedure.
| * download: Default to a 10s connection establishment timeout.Ludovic Courtès2016-05-27
| | | | | | | | | | | | | | | | * guix/build/download.scm (ftp-fetch): Add #:timeout and pass it to 'ftp-open'. (http-fetch): Add #:timeout and pass it to 'open-connection-for-uri' and in recursive calls. (url-fetch): Add #:timeout and pass it to 'http-fetch' and 'ftp-fetch'.
| * download: Use URI objects for content-addressed mirrors.Ludovic Courtès2016-05-27
| | | | | | | | | | | | | | | | This fixes a bug whereby 'http-fetch' would be passed a string instead of a URI object. * guix/build/download.scm (url-fetch): Rename 'content-addressed-urls' to 'content-addressed-uris', and call 'string->uri'.
| * guix: ruby-build-system: Extract gemspec during 'extract-gemspec'.Ben Woodcroft2016-05-25
| | | | | | | | | | | | | | * guix/build/ruby-build-system.scm (build): Move extraction from here ... (extract-gemspec): ... to here. New variable. (first-gemspec): New variable. (%standard-phases): Add 'extract-gemspec' phase.
| * graft: Fail when one of the threads raises an exception.Ludovic Courtès2016-05-24
| | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/23581>. * guix/build/graft.scm (exit-on-exception): New procedure. (rewrite-directory): Use it to wrap REWRITE-LEAF.
| * union: Compare inode numbers in 'file=?'.Ludovic Courtès2016-05-23
| | | | | | | | * guix/build/union.scm (file=?): Compare the inode of ST1 and ST2.
* | Merge branch 'master' into core-updatesLudovic Courtès2016-05-23
|\|
| * grafts: Rename files whose name matches a graft.Ludovic Courtès2016-05-21
| | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/23132>. Reported by Mark H Weaver <mhw@netris.org>. * guix/build/graft.scm (rename-matching-files): New procedure. (rewrite-directory): Use it. * tests/grafts.scm ("graft-derivation, renaming"): New test.
| * grafts: Preserve empty directories when grafting.Ludovic Courtès2016-05-21
| | | | | | | | | | | | * guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Add case for 'directory. Pass #:directories? #t to 'find-files'.
| * ant-build-system: Add unpack phase.Ricardo Wurmus2016-05-20
| | | | | | | | | | * guix/build/ant-build-system.scm (unpack): New procedure. (%standard-phases): Use it.
| * build: Accept dates with space-padded hour field.Ricardo Wurmus2016-05-16
| | | | | | | | | | * guix/build/download.scm: Replace "parse-rfc-822-date" from the (web http) module.
| * download: Support content-addressed mirrors.Ludovic Courtès2016-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/download.scm (%content-addressed-mirrors) (%content-addressed-mirror-file): New variables. * guix/download.scm (url-fetch)[builder]: Define 'value-from-environment. Pass #:hashes and #:content-addressed-mirrors to 'url-fetch'. Define "guix download hashes" environment variable. * guix/build/download.scm (url-fetch): Add #:content-addressed-mirrors and #:hashes. [content-addressed-urls]: New variable. Use it.
* | Merge branch 'master' into core-updatesLeo Famulari2016-05-13
|\|
| * syscalls: Use 'define-c-struct' for 'fcntl-flock'.Ludovic Courtès2016-05-06
| | | | | | | | | | | | * guix/build/syscalls.scm (%struct-flock): Use 'define-c-struct'. (fcntl-flock): Use 'write-flock!' and 'make-bytevector' instead of 'make-c-struct'.
| * utils: Move 'fcntl-flock' to (guix build syscalls).Ludovic Courtès2016-05-06
| | | | | | | | | | | | | | | | | | | | | | * guix/utils.scm (%struct-flock, F_SETLKW, F_SETLK, F_xxLCK) (fcntl-flock): Move to... * guix/build/syscalls.scm: ... here. New variables. * guix/nar.scm: Adjust imports accordingly. * tests/utils.scm ("fcntl-flock wait", "fcntl-flock non-blocking"): Move to... * tests/syscalls.scm: ... here. New tests. (temp-file): New variable.
| * syscalls: Wrap TCSA* constants in 'tcsetattr-action' macro.Ludovic Courtès2016-05-03
| | | | | | | | | | | | | | * guix/build/syscalls.scm (tcsetattr-action): New macro. (TCSANOW, TCSADRAIN, TCSAFLUSH): Remove. (tcsetattr): Adjust docstring accordingly. * tests/syscalls.scm ("tcsetattr"): Adjust accordingly.
* | Merge branch 'master' into core-updatesMathieu Lirzin2016-05-02
|\|
| * syscalls: Add 'tcgetattr' and 'tcsetattr' bindings.Ludovic Courtès2016-05-02
| | | | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (bits->symbols-body, define-bits) (local-flags): New macros. (TCSANOW, TCSADRAIN, TCSAFLUSH): New variables. (<termios>): New record type. (%termios): New C structure. (tcgetattr, tcsetattr): New procedures. * tests/syscalls.scm ("tcgetattr ENOTTY", "tcgetattr") ("tcsetattr"): New tests.
| * syscalls: Implement arrays in 'define-c-struct' and use it.Ludovic Courtès2016-05-02
| | | | | | | | | | | | | | | | | | | | * guix/build/syscalls.scm (sizeof*, alignof*, write-type, read-type): Add support for (array ...) forms. * guix/build/syscalls.scm (<file-system>)[spare0, spare1]: Remove. [spare]: New field. * guix/build/syscalls.scm (%statfs)[identifier]: Change to (array int 2). [spare0, spare1]: Remove. [spare]: New field.
| * syscalls: 'statfs' explicitly binds 'statfs64'.Ludovic Courtès2016-04-30
| | | | | | | | * guix/build/syscalls.scm (statfs): Explicitly bind "statfs64".
| * syscalls: statfs: Add missing 'mount-flags' field of 'struct statfs'.Ludovic Courtès2016-04-30
| | | | | | | | | | | | * guix/build/syscalls.scm (<file-system>)[mount-flags]: New field. [spare2]: Remove. (%statfs): Likewise.
| * syscalls: 'terminal-columns' catches EINVAL on the TIOCGWINSZ ioctl.Ludovic Courtès2016-04-25
| | | | | | | | | | | | | | Reported by Mark H Weaver <mhw@netris.org>. * guix/build/syscalls.scm (terminal-columns): Tolerate EINVAL. * tests/syscalls.scm ("terminal-window-size ENOTTY"): Likewise.
| * syscalls: Add 'statfs'.Ludovic Courtès2016-04-25
| | | | | | | | | | | | | | * guix/build/syscalls.scm (<file-system>): New record type. (fsword): New macro. (%statfs): New C struct. (statfs): New procedure.
| * syscalls: 'define-c-struct' computes the struct size.Ludovic Courtès2016-04-25
| | | | | | | | | | | | | | | | * guix/build/syscalls.scm (struct-alignment, struct-size): New macros. (define-c-struct): Add 'size' parameter and honor it. (sockaddr-in, sockaddr-in6, ifaddrs, winsize): Adjust accordingly. (%struct-ifaddrs-type, %sizeof-ifaddrs, winsize-struct): Remove. (terminal-window-size): Use 'make-bytevector' instead of 'make-c-struct'.
| * syscalls: Second argument of packed-struct read is now optional.Ludovic Courtès2016-04-25
| | | | | | | | | | | | * guix/build/syscalls.scm (define-c-struct)[read]: OFFSET defaults to 0. (unfold-interface-list): Remove second argument to 'read-ifaddrs'. (terminal-window-size): Remove second argument to 'read-winsize'.
| * syscalls: Move code around [NFC].Ludovic Courtès2016-04-25
| | | | | | | | * guix/build/syscalls.scm: Move packed structure handling to the top.
| * substitute: Better abbreviate substitute URL in progress report.Ludovic Courtès2016-04-20
| | | | | | | | | | | | | | | | Suggested by Danny Milosavljevic <dannym@scratchpost.org>. * guix/build/download.scm (nar-uri-abbreviation): New procedure. * guix/scripts/substitute.scm (process-substitution): Use it instead of 'store-path-abbreviation'.
| * download: 'uri-abbreviation' can abbreviate the URI's basename.Ludovic Courtès2016-04-20
| | | | | | | | | | * guix/build/download.scm (uri-abbreviation): Use 'ellipsis' instead of "...". Abbreviate the basename of PATH if needed.
| * download: Add "%COMPAT" to the priority string.Ludovic Courtès2016-04-20
| | | | | | | | | | | | Fixes <http://bugs.gnu.org/23311>. * guix/build/download.scm (tls-wrap): Add 'set-session-priorities!' call.
| * syscalls: If a syscall is not available, defer the error.Mark H Weaver2016-04-18
| | | | | | | | | | | | | | | | * guix/build/syscalls.scm (syscall->procedure): New procedure. (mount, umount, swapon, swapoff, clone, pivot-root): Use it. (clone): Add case for nonexistent syscall id. Signed-off-by: Ludovic Courtès <ludo@gnu.org>