Age | Commit message (Expand) | Author |
2016-05-06 | syscalls: Use 'define-c-struct' for 'fcntl-flock'....* guix/build/syscalls.scm (%struct-flock): Use 'define-c-struct'.
(fcntl-flock): Use 'write-flock!' and 'make-bytevector' instead of
'make-c-struct'.
| Ludovic Courtès |
2016-05-06 | utils: Move 'fcntl-flock' to (guix build syscalls)....* 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.
| Ludovic Courtès |
2016-05-03 | syscalls: Wrap TCSA* constants in 'tcsetattr-action' macro....* guix/build/syscalls.scm (tcsetattr-action): New macro.
(TCSANOW, TCSADRAIN, TCSAFLUSH): Remove.
(tcsetattr): Adjust docstring accordingly.
* tests/syscalls.scm ("tcsetattr"): Adjust accordingly.
| Ludovic Courtès |
2016-05-02 | syscalls: Add 'tcgetattr' and 'tcsetattr' bindings....* 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.
| Ludovic Courtès |
2016-05-02 | syscalls: Implement arrays in 'define-c-struct' and use it....* 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.
| Ludovic Courtès |
2016-04-30 | syscalls: 'statfs' explicitly binds 'statfs64'....* guix/build/syscalls.scm (statfs): Explicitly bind "statfs64".
| Ludovic Courtès |
2016-04-30 | syscalls: statfs: Add missing 'mount-flags' field of 'struct statfs'....* guix/build/syscalls.scm (<file-system>)[mount-flags]: New field.
[spare2]: Remove.
(%statfs): Likewise.
| Ludovic Courtès |
2016-04-25 | syscalls: 'terminal-columns' catches EINVAL on the TIOCGWINSZ ioctl....Reported by Mark H Weaver <mhw@netris.org>.
* guix/build/syscalls.scm (terminal-columns): Tolerate EINVAL.
* tests/syscalls.scm ("terminal-window-size ENOTTY"): Likewise.
| Ludovic Courtès |
2016-04-25 | syscalls: Add 'statfs'....* guix/build/syscalls.scm (<file-system>): New record type.
(fsword): New macro.
(%statfs): New C struct.
(statfs): New procedure.
| Ludovic Courtès |
2016-04-25 | syscalls: 'define-c-struct' computes the struct size....* 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'.
| Ludovic Courtès |
2016-04-25 | syscalls: Second argument of packed-struct read is now optional....* 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'.
| Ludovic Courtès |
2016-04-25 | syscalls: Move code around [NFC]....* guix/build/syscalls.scm: Move packed structure handling to the top.
| Ludovic Courtès |
2016-04-20 | substitute: Better abbreviate substitute URL in progress report....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'.
| Ludovic Courtès |
2016-04-20 | download: 'uri-abbreviation' can abbreviate the URI's basename....* guix/build/download.scm (uri-abbreviation): Use 'ellipsis' instead of
"...". Abbreviate the basename of PATH if needed.
| Ludovic Courtès |
2016-04-20 | download: Add "%COMPAT" to the priority string....Fixes <http://bugs.gnu.org/23311>.
* guix/build/download.scm (tls-wrap): Add 'set-session-priorities!' call.
| Ludovic Courtès |
2016-04-18 | syscalls: If a syscall is not available, defer the error....* 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>
| Mark H Weaver |
2016-04-16 | syscalls: 'terminal-columns' ignores non-file ports....* guix/build/syscalls.scm (terminal-columns): Call
'terminal-window-size' only when PORT is a file port.
* tests/syscalls.scm ("terminal-columns non-file port"): New test.
| Ludovic Courtès |
2016-04-15 | syscalls: Add TIOCGWINSZ bindings....* guix/build/syscalls.scm (TIOCGWINSZ): New macro.
(<window-size>): New record type.
(winsize): New C struct.
(winsize-struct): New variable.
(terminal-window-size, terminal-columns): New procedures.
| Ludovic Courtès |
2016-04-15 | download: Add 'current-terminal-columns' parameter....* guix/build/download.scm (current-terminal-columns): New variable.
(progress-proc): Use it instead of the hard-coded "80".
| Ludovic Courtès |
2016-04-15 | download: Send an ANSI erase-in-line sequence in addition to CR....Partly fixes <http://bugs.gnu.org/22536>.
Reported by Danny Milosavljevic <dannym@scratchpost.org>.
* guix/build/download.scm (progress-proc): Send an ANSI erase-in-line
sequence.
| Ludovic Courtès |
2016-04-14 | download: Follow HTTP 307 "Temporary Redirection"....Fixes <http://bugs.gnu.org/23275>.
Reported by Albin Söderqvist <albin@fripost.org>.
* guix/build/download.scm (http-fetch): Follow redirections upon 307.
This is what 'binaries.openttd.org' does.
| Alex Kost |
2016-04-01 | cvs: Disable compression....Reported by Jan Nieuwenhuizen <janneke@gnu.org>.
* guix/build/cvs.scm (cvs-fetch): Use -z0.
| Ludovic Courtès |
2016-04-01 | cvs: Allow checkouts when /tmp is a different device....* guix/build/cvs.scm (cvs-fetch): Use 'copy-recursively' instead of
'rename-file'.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Jan Nieuwenhuizen |
2016-03-31 | ant-build-system: Keep jar manifest....* guix/build/ant-build-system.scm (default-build.xml): Generate default
manifest.
(strip-jar-timestamps): Repack jar archive with zip.
| Ricardo Wurmus |
2016-03-25 | syscalls: <interface> printer correctly handles lack of sockaddr....Reported by Danny Milosavljevic <dannym@scratchpost.org>
in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=22612#16>.
* guix/build/syscalls.scm (write-interface): Check whether ADDRESS is
true.
| Ludovic Courtès |
2016-03-17 | download: Add 'close-connection'....Partially fixes <http://bugs.gnu.org/20145>.
* guix/build/download.scm (add-weak-reference): Remove.
(%tls-ports): New variable.
(register-tls-record-port): New procedure.
(tls-wrap): Use it instead of 'add-weak-reference'.
(close-connection): New procedure.
| Ludovic Courtès |
2016-03-14 | build: Add Ant build system....* guix/build-system/ant.scm: New file.
* guix/build/ant-build-system: New file.
* Makefile.am (MODULES): Add new files.
* doc/guix.texi (Build Systems): Document ant-build-system.
| Ricardo Wurmus |
2016-02-27 | grafts: Make sure files are not created world-writable....* guix/build/graft.scm (rewrite-directory): Add 'umask' call.
| Ludovic Courtès |
2016-02-08 | Add (guix build bournish) and use it in the initrd....* guix/build/bournish.scm: New file.
* Makefile.am (MODULES): Add it.
* gnu/system/linux-initrd.scm (base-initrd): Add (guix build bournish)
and use it.
| Ludovic Courtès |
2016-02-03 | syscalls: 'all-network-interface-names' accepts non-alphanumeric characters....This fixes interfaces with a dash or other characters being ignored.
Suggested by Jookia <166291@gmail.com>.
* guix/build/syscalls.scm (%interface-line): Use [[:graph:]] instead
of [[:alnum:]].
| Ludovic Courtès |
2016-01-19 | build-system/haskell: Fix package.conf parsing....* guix/build/haskell-build-system.scm (register)[conf-depends]: Properly
react to EOF while reading GHC package conf files.
| Eric Bavier |
2016-01-13 | Merge branch 'master' into core-updates | Ludovic Courtès |
2016-01-11 | ruby: Abstract out path to GEM_HOME....Previously paths to the GEM_HOME of certain Ruby packages were
hard-coded, so packages failed to build when Ruby was updated to 2.3.0.
* guix/build/ruby-build-system.scm (gem-home): New procedure.
* gnu/packages/ruby.scm (ruby-metaclass, ruby-instantiator,
ruby-introspection, ruby-mocha, ruby-minitest-tu-shim): Use it.
| Ben Woodcroft |
2016-01-06 | build: ruby: Remove cached gem after install....The .gem file stored in GEM_HOME after install is both redundant and an
archive that stores timestamped files which makes builds
non-deterministic, so delete it after 'gem install'.
* guix/build/ruby-build-system.scm (install): Remove cached gem after
install.
| Ben Woodcroft |
2016-01-05 | build: pull: Compile .scm files in one process....* guix/build/pull.scm (call-with-process, report-build-progress)
(p-for-each): Remove.
(build-guix): Load and compile files in one process.
| Taylan Ulrich Bayırlı/Kammer |
2016-01-05 | build-system/gnu: Add 'set-SOURCE-DATE-EPOCH' phase....This phase is inherited by other build systems, which ensures
'SOURCE_DATE_EPOCH' is always set in practice.
* guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): Remove.
(%standard-phases): Don't add it.
* guix/build/gnu-build-system.scm (set-SOURCE-DATE-EPOCH): New
procedure.
(%standard-phases): Add it.
(gnu-build): Remove 'setenv' call for "SOURCE_DATE_EPOCH".
| Ludovic Courtès |
2016-01-05 | git-download: Correctly implement recursive checkouts....Previously, the 'git checkout' invocation would remove sub-modules that
had been initialized by 'git clone --recursive'.
* guix/build/git.scm (git-fetch): Never use "git clone --recursive".
Invoke "git submodule update --init --recursive" after "git checkout".
Remove '.git' directories as the last step.
| Ludovic Courtès |
2016-01-01 | build-system/gnu: Use the long option name for deterministic archives....This is a followup to 3eb34c6.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Use
"--enable-deterministic-archives" instead of "-D" to work around
Binutils bug <https://sourceware.org/bugzilla/show_bug.cgi?id=17671>.
* guix/build/gnu-build-system.scm (strip): Likewise.
| Ludovic Courtès |
2015-12-18 | build-system/gnu: Always pass "-D" to strip/objcopy....* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Add "-D" to
#:strip-flags.
* guix/build/gnu-build-system.scm (strip): Likewise. Also pass "-D" to
OBJCOPY-COMMAND.
| Ludovic Courtès |
2015-12-12 | Merge branch 'master' into core-updates | Ludovic Courtès |
2015-11-29 | gnu: python: Set SOURCE_DATE_EPOCH to 1 instead of 0....* gnu/packages/python.scm (python-2)[arguments]: Set SOURCE_DATE_EPOCH
to 1 to match what the daemon does.
* guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): Likewise.
| Ludovic Courtès |
2015-11-29 | gnu: python-2: Honor 'SOURCE_DATE_EPOCH'....* gnu/packages/patches/python-2.7-source-date-epoch.patch: New file.
* gnu/packages/python.scm (python-2)[source]: Use it.
[arguments]: Set SOURCE_DATE_EPOCH in 'patch-lib-shells' phase.
* guix/build/python-build-system.scm (set-SOURCE-DATE-EPOCH): New
procedure.
(%standard-phases): Add it.
* gnu-system.am (dist_patch_DATA): Add patch.
| Ludovic Courtès |
2015-11-16 | graft: Graft files in parallel....* guix/build/graft.scm (rewrite-directory): Use 'n-par-for-each' instead
of 'for-each'.
| Ludovic Courtès |
2015-11-16 | graft: Graft files in a deterministic order....* guix/build/graft.scm (rewrite-directory)[rewrite-leaf]: Change to take
a single parameter. Add call to 'lstat'. Factorize result of
'destination'.
Use 'find-files' instead of 'file-system-fold'.
| Ludovic Courtès |
2015-11-14 | build-system/gnu: Set 'SOURCE_DATE_EPOCH'....Suggested by Ludovic Courtès <ludo@gnu.org>.
* guix/build/gnu-build-system.scm (gnu-build): Set SOURCE_DATE_EPOCH for
deterministic builds.
| Alex Kost |
2015-11-12 | download: Always use AI_ADDRCONFIG when resolving host names....* guix/build/download.scm (open-socket-for-uri): Always pass
AI_ADDRCONFIG to 'getaddrinfo' as recommended in the fine Guile
manual.
* guix/ftp-client.scm (ftp-open): Ditto.
| Ludovic Courtès |
2015-11-12 | download: Add timeout parameter for connections....* guix/build/download.scm (ensure-uri): New procedure.
(current-http-proxy): New variable.
(open-socket-for-uri): Copy from Guile commit aaea5b2, but add #:timeout
parameter and use 'connect*' instead of 'connect'.
(open-connection-for-uri): Add #:timeout parameter and pass it to
'open-socket-for-uri'.
| Ludovic Courtès |
2015-10-29 | gnu: ghc: Add GHC_PACKAGE_PATH native search path....Benefits include: 'guix environment' more useful for ghc libraries, more
useful 'guix package --search-paths' for installed ghc libraries, cleaner
package recipes: no longer need to propagate runtime package dependencies.
* guix/build/haskell-build-system.scm (configure): Unset GHC_PACKAGE_PATH
around cabal configure.
(make-ghc-package-database): Use pattern directory search.
(register): Install complete package database for the current package.
* gnu/packages/haskell.scm (ghc): Add native-search-paths field.
| Eric Bavier |
2015-10-29 | utils: Have search-path-as-list pattern search for directories....* guix/build/utils.scm (search-path-as-list)[pattern]: Check requested file
type. Check pattern against directory names.
* guix/search-paths.scm (evaluate-search-paths)[pattern]: Remove symlink hack.
| Eric Bavier |
2015-10-26 | build-system/haskell: CONFIG_SHELL env variable....For Cabal packages with "build-type: Configure", a configure shell
script is run to set up build parameters. These scripts need the
CONFIG_SHELL environment variable to be set to function properly.
* guix/build/haskell-build-system.scm (configure): Set CONFIG_SHELL if
necessary.
| Paul van der Walt |