Age | Commit message (Collapse) | Author |
|
* 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'.
|
|
* 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'.
|
|
The former pattern included the "jar" binary.
* guix/build/ant-build-system.scm (generate-classpath): Change pattern.
Suggested by: Ricardo Wurmus <rekado@elephly.net>
|
|
* guix/build/qt-utils.scm (wrap-qt-program): New file.
* Makefile.am (MODULES): Add it.
|
|
* guix/build/ruby-build-system.scm (replace-git-ls-files): New variable.
(%standard-phases): Add it.
|
|
* guix/build/ruby-build-system.scm (log-file-deletion): New procedure.
(install): Remove files containing non-reproducible elements. Print when each
file is deleted.
|
|
* 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.
|
|
* guix/build/download.scm (url-fetch)[content-addressed-uris]: Call
'strip-store-file-name' on FILE before passing it to 'make-url'.
|
|
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.
|
|
* 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).
|
|
* guix/download.scm (%content-addressed-mirrors): Add 'file' parameter
to the lambda.
* guix/build/download.scm (url-fetch)[content-addressed-uris]: Adjust
accordingly.
|
|
|
|
* 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.
|
|
* 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.
|
|
|
|
* 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>
|
|
* 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.
|
|
|
|
* guix/build/hg.scm: New file.
* guix/hg-download.scm: New file.
* Makefile.am (MODULES): Add them.
|
|
* guix/build/syscalls.scm (mkdtemp!, setns, %ioctl, network-interfaces):
(free-ifaddrs): Use 'syscall->procedure'.
|
|
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'.
|
|
|
|
* 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.
|
|
* guix/build/bournish.scm (read-bournish): Add case for EOF.
|
|
* guix/build/emacs-build-system.scm (gnu:unpack)
(store-file->elisp-source-file, unpack): New procedures.
(%standard-phases): Use the new unpack procedure.
|
|
* 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'.
|
|
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/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.
|
|
Fixes <http://bugs.gnu.org/23581>.
* guix/build/graft.scm (exit-on-exception): New procedure.
(rewrite-directory): Use it to wrap REWRITE-LEAF.
|
|
* guix/build/union.scm (file=?): Compare the inode of ST1 and ST2.
|
|
|
|
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.
|
|
* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Add case for
'directory.
Pass #:directories? #t to 'find-files'.
|
|
* guix/build/ant-build-system.scm (unpack): New procedure.
(%standard-phases): Use it.
|
|
* guix/build/download.scm: Replace "parse-rfc-822-date" from the (web
http) module.
|
|
* 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.
|
|
|
|
* guix/build/syscalls.scm (%struct-flock): Use 'define-c-struct'.
(fcntl-flock): Use 'write-flock!' and 'make-bytevector' instead of
'make-c-struct'.
|
|
* 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.
|
|
* guix/build/syscalls.scm (tcsetattr-action): New macro.
(TCSANOW, TCSADRAIN, TCSAFLUSH): Remove.
(tcsetattr): Adjust docstring accordingly.
* tests/syscalls.scm ("tcsetattr"): Adjust accordingly.
|
|
|
|
* 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.
|
|
* 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.
|
|
* guix/build/syscalls.scm (statfs): Explicitly bind "statfs64".
|
|
* guix/build/syscalls.scm (<file-system>)[mount-flags]: New field.
[spare2]: Remove.
(%statfs): Likewise.
|
|
Reported by Mark H Weaver <mhw@netris.org>.
* guix/build/syscalls.scm (terminal-columns): Tolerate EINVAL.
* tests/syscalls.scm ("terminal-window-size ENOTTY"): Likewise.
|
|
* guix/build/syscalls.scm (<file-system>): New record type.
(fsword): New macro.
(%statfs): New C struct.
(statfs): New procedure.
|
|
* 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'.
|
|
* 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'.
|
|
* guix/build/syscalls.scm: Move packed structure handling to the top.
|