Age | Commit message (Expand) | Author |
2016-10-19 | Use (ice-9 binary-ports) instead of (rnrs io ports)....This reduces the closure of (guix ui) from 123 to 106 modules.
* guix/derivations.scm: Use (ice-9 binary-ports) instead of (rnrs io
ports).
(map-derivation)[substitute-file]: Use 'read-string' instead of
'get-string-all'.
* guix/ftp-client.scm: Likewise.
* guix/hash.scm: Likewise.
* guix/http-client.scm: Likewise.
* guix/pki.scm (ensure-acl, current-acl): Likewise.
* guix/scripts/archive.scm (authorize-key)[read-key]: Likewise.
* guix/scripts/authenticate.scm (read-canonical-sexp)
(read-hash-data): Likewise.
* guix/scripts/download.scm: Likewise.
* guix/scripts/offload.scm (register-gc-root, remove-gc-roots)
(send-files): Likewise.
* guix/scripts/publish.scm (lazy-read-file-sexp): Likewise.
* guix/scripts/refresh.scm: Likewise.
* guix/scripts/substitute.scm (check-acl-initialized): Likewise.
* guix/serialization.scm (read-maybe-utf8-string): Likewise.
* guix/scripts/hash.scm (guix-hash): Use 'force-output' instead of
'flush-output-port'.
* guix/store.scm (process-stderr): Likewise.
* guix/tests.scm: Likewise.
* guix/utils.scm: Use (ice-9 binary-ports) and autoload (rnrs io ports)
for 'make-custom-binary-input-port'.
| Ludovic Courtès |
2016-10-07 | utils: Support defaults in substitute-keyword-arguments....* guix/utils.scm (collect-default-args, expand-default-args): New
syntax.
(substitute-keyword-arguments): Allow default value declarations.
* tests/utils.scm (substitute-keyword-arguments): New test.
| Eric Bavier |
2016-10-07 | utils: Fix default-keyword-arguments....* guix/utils.scm (default-keyword-arguments): Properly test for present
keywords.
* tests/utils.scm (default-keyword-arguments): New test.
| Eric Bavier |
2016-08-01 | publish: Do not compress already-compressed files....* guix/scripts/publish.scm (narinfo-string): Force %NO-COMPRESSION when
STORE-PATH matches 'compressed-file?'.
* guix/utils.scm (compressed-file?): New procedure.
* tests/publish.scm ("/*.narinfo for a compressed file"): New test.
| Ludovic Courtès |
2016-06-25 | utils: 'cache-directory' always appends "/guix"....Fixes <http://bugs.gnu.org/23836>.
Fixes a regression introduced in f10dcbf1a92c147a2fedba6f774afa6a7013fcdf.
Reported by myglc2 <myglc2@gmail.com>.
* guix/utils.scm (cache-directory): Always append "/guix".
| Ludovic Courtès |
2016-06-22 | utils: 'cache-directory' honors 'XDG_CACHE_HOME'....* guix/utils.scm (cache-directory): Honor 'XDG_CACHE_HOME', not
'XDG_CONFIG_HOME'.
| Ludovic Courtès |
2016-06-20 | utils: 'current-source-directory' gracefully handles lack of source info....* guix/utils.scm (current-source-directory): Add case for when FILE-NAME
is #f.
| Ludovic Courtès |
2016-06-20 | utils: 'current-source-directory' resolves relative file names at run time....* guix/utils.scm (absolute-dirname): New procedure.
(current-source-directory): Emit code to use it instead of calling
'search-path'.
| Ludovic Courtès |
2016-06-16 | utils: 'current-source-directory' returns the absolute directory name....* guix/utils.scm (current-source-directory): When FILE-NAME is relative,
use 'search-path' to determine the absolute file name.
| Ludovic Courtès |
2016-06-16 | utils: 'current-source-directory' is now purely an expansion-time thing....* guix/utils.scm (extract-directory): Remove.
(current-source-directory): Rewrite as a 'syntax-case' macro.
| Ludovic Courtès |
2016-06-16 | gexp: Move 'current-source-directory' to (guix utils)....* guix/gexp.scm (extract-directory, current-source-directory): Move to...
* guix/utils.scm (extract-directory, current-source-directory):
... here. New procedures.
| Ludovic Courtès |
2016-06-13 | utils: 'with-atomic-file-output' closes the port upon exception....Previously it could have left the file descriptor open.
* guix/utils.scm (with-atomic-file-output): Call 'close-port' in handler.
| Ludovic Courtès |
2016-06-13 | utils: 'with-atomic-file-output' calls 'fdatasync'....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'.
| Ludovic Courtès |
2016-05-09 | guix: utils: Re-export 'memoize'....Suggested by Ludovic Courtès <ludo@gnu.org>.
* guix/utils.scm: Re-export 'memoize' to avoid a potential breakage of
emacs interface. See
<http://lists.gnu.org/archive/html/guix-devel/2016-05/msg00146.html>
for details.
| Alex Kost |
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-04 | utils: Move combinators to (guix combinators)....* guix/utils.scm (compile-time-value, memoize, fold2)
(fold-tree, fold-tree-leaves): Move to...
* guix/combinators: ... here. New file.
* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists")
(fold-tree tests): Move to...
* tests/combinators.scm: ... here. New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* gnu/packages.scm, gnu/packages/bootstrap.scm,
gnu/services/herd.scm, guix/build-system/gnu.scm,
guix/build-system/python.scm, guix/derivations.scm,
guix/gnu-maintenance.scm, guix/import/elpa.scm,
guix/scripts/archive.scm, guix/scripts/build.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/size.scm, guix/scripts/substitute.scm,
guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports
accordingly.
| Ludovic Courtès |
2016-05-04 | utils: Remove 'split'....This procedure was redundant with SRFI-1's 'break'.
* guix/utils.scm (split): Remove.
* tests/utils.scm ("split, element is in list")
("split, element is not in list"): Remove.
| Ludovic Courtès |
2016-04-18 | utils: 'cache-directory' gracefully deals with unset 'HOME'....Fixes <http://bugs.gnu.org/23165>.
* guix/utils.scm (cache-directory): Use 'getpwuid' when 'HOME' is unset.
| Ludovic Courtès |
2016-04-13 | utils: Add 'location->source-properties'....* guix/utils (location-source->properties): New procedure.
| 宋文武 |
2016-04-13 | utils: Add 'edit-expression'....* guix/utils.scm (edit-expression): New procedure.
* tests/utils.scm (edit-expression): New test.
| 宋文武 |
2016-03-02 | utils: Use '@' for separating package names and version numbers....This provides the ability to use numbers in package names.
Fixes <http://bugs.gnu.org/19219>.
* guix/utils.scm (package-name->name+version): New procedure.
* gnu/packages.scm (%find-package): Add a FALLBACK? keyword argument.
Use the previous method when no package is found.
(specification->package+output, specification->package): Adapt
documentation to new syntax.
* doc/guix.texi (Invoking guix package, Invoking guix import): Likewise.
* guix/ui.scm (package-specification->name+version+output): Likewise.
* guix/scripts/import/hackage.scm (show-help): Likewise.
* tests/guix-build.sh: Adapt to new syntax.
* tests/guix-lint.sh: Likewise.
* tests/guix-package.sh: Likewise.
* tests/ui.scm ("package-specification->name+version+output"): Likewise.
* tests/utils.scm ("package-name->name+version"): Likewise.
* NEWS: Mention new syntax.
| Mathieu Lirzin |
2016-01-06 | utils: Add 'ensure-keyword-arguments'....* guix/utils.scm (delkw, ensure-keyword-arguments): New procedures.
* tests/utils.scm ("ensure-keyword-arguments"): New test.
| Ludovic Courtès |
2015-11-26 | utils: Add 'canonical-newline-port'....* guix/utils.scm (canonical-newline-port): New procedure.
* tests/utils.scm ("canonical-newline-port"): New test.
| Federico Beffa |
2015-10-27 | utils: Add 'switch-symlinks', moved from (guix ui)....* guix/ui.scm (switch-symlinks): Move to...
* guix/utils.scm: ... here. New procedure.
* guix/scripts/pull.scm: Use it.
| Ludovic Courtès |
2015-10-27 | utils: Add 'readlink*'....* guix/scripts/package.scm (readlink*): Move to...
* guix/utils.scm (readlink*): ... here. New procedure.
| Ludovic Courtès |
2015-10-17 | http-client: Add 'http-fetch/cached'....* guix/utils.scm (cache-directory): New procedure.
* guix/http-client.scm (%http-cache-ttl): New variable.
(http-fetch/cached): New procedure.
| Ludovic Courtès |
2015-10-09 | utils: Add split procedure....* guix/utils.scm (split): New procedure.
* tests/utils.scm: Add tests.
| David Thompson |
2015-10-06 | utils: Remove Nixpkgs helpers....* guix/config.scm.in (%nixpkgs): Remove.
* guix/utils.scm (%nixpkgs-directory, nixpkgs-derivation,
nixpkgs-derivation*): Remove.
* test-env.in: Export 'NIXPKGS'.
* tests/derivations.scm (%coreutils): Remove use of
'nixpkgs-derivation'.
* tests/snix.scm (%nixpkgs-directory): New variable.
Adjust users accordingly.
| Ludovic Courtès |
2015-09-26 | Merge branch 'core-updates' | Ludovic Courtès |
2015-09-25 | utils: Add #:options parameter for compression output ports....* guix/utils.scm (compressed-output-port,
call-with-compressed-output-port): Add #:options parameter and honor
it.
| Ludovic Courtès |
2015-08-30 | utils: Move 'package-name->name+version' to (guix build utils)....* guix/utils.scm (package-name->name+version): Move to...
* guix/build/utils.scm (package-name->name+version): ... here. New
procedure.
* guix/build/emacs-build-system.scm (package-name->name+version):
Remove.
| Ludovic Courtès |
2015-07-07 | utils: Add call-with-temporary-directory....* guix/utils.scm (call-with-temporary-directory): New procedure.
| David Thompson |
2015-05-04 | search-paths: Add 'evaluate-search-paths', from (guix scripts package)....* guix/scripts/package.scm (with-null-error-port,
evaluate-search-paths): Move to...
* guix/search-paths.scm: ... here.
* guix/utils.scm (string-tokenize*): Move to...
* guix/search-paths.scm: ... here.
* tests/utils.scm ("string-tokenize*"): Adjust accordingly.
| Ludovic Courtès |
2015-02-09 | utils: Add 'version>=?'....* guix/utils.scm (version>?): Clarify docstring.
(version>=?): New procedure.
| Ludovic Courtès |
2015-01-07 | gnu: Add toolchain support for 'armhf-linux'....Based on preliminary work by John Darrington <john@darrington.wattle.id.au>.
* gnu/packages/cross-base.scm (xgcc-armhf): New variable.
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add armhf case.
(gcc-4.7)[pre-configure]: Add gcc/config/*/linux-eabi.h to the list
of files in which to patch GLIBC_DYNAMIC_LINKER.
* gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add armhf case.
* guix/utils.scm (gnu-triplet->nix-system, nix-system->gnu-triplet):
Add armhf cases.
| Mark H Weaver |
2015-01-07 | Move 'nix-system->gnu-triplet' to (guix utils) and export it....* gnu/packages/commencement.scm (nix-system->gnu-triplet): Move to...
* guix/utils.scm (nix-system->gnu-triplet): ... here. Fix docstring typo.
| Mark H Weaver |
2014-11-30 | guix: scripts: Add GUIX_BUILD_OPTIONS environment handling....* doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'.
* guix/scripts/archive.scm: (append args (environment-build-options)).
* guix/scripts/build.scm: Ditto.
* guix/scripts/environment.scm: Ditto.
* guix/scripts/package.scm: Ditto.
* guix/scripts/system.scm: Ditto.
* guix/ui.scm (environment-build-options): New function.
* guix/utils.scm (arguments-from-environment-variable): New function.
* tests/guix-build.sh: Add tests.
* test-env.in: Unset GUIX_BUILD_OPTIONS.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| nebuli |
2014-10-20 | gnu: Add 'version-prefix' and 'version-major+minor'; use them....The procedure version-prefix truncates a version string to a certain
number of components. version-major+minor is a special case of this,
which extracts the "major.minor" part of the string. Previously this
was handled by an expression common to several packages.
* guix/utils.scm (version-prefix, version-major+minor): New procedures
* gnu/packages/backup.scm (duplicity): Use version-major+minor.
* gnu/packages/cmake.scm (cmake): Likewise.
* gnu/packages/gnome.scm (libbonobo, libbonoboui): Likewise.
* gnu/packages/gnutls.scm (gnutls): Likewise.
* gnu/packages/mail.scm (gmime): Likewise.
* gnu/packages/mpd.scm (mpd): Likewise.
* gnu/packages/mpi.scm (openmpi): Likewise.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Ian Denhardt |
2014-10-13 | utils: Micro-optimize 'bytevector->base16-string'....This reduces run time of (package-derivation s emacs) by ~1.5%.
* guix/utils.scm (bytevector->base16-string): Traverse BV from the end
so as to use 'string-concatenate' instead of
'string-concatenate-reverse'.
| Ludovic Courtès |
2014-10-05 | utils: Add 'strip-keyword-arguments'....* guix/utils.scm (strip-keyword-arguments): New procedure.
* tests/utils.scm ("strip-keyword-arguments"): New test.
| Ludovic Courtès |
2014-09-17 | utils: Create temporary files in $TMPDIR or /tmp....Reported by Federico Beffa <beffa@ieee.org>.
* guix/utils.scm (call-with-temporary-output-file): Prepend $TMPDIR or
/tmp to TEMPLATE.
| Ludovic Courtès |
2014-07-20 | guix: utils: Add fold-tree and fold-tree-leaves....* guix/utils.scm (fold-tree, fold-tree-leaves): New functions.
* tests/utils.scm: Add tests for them.
| Eric Bavier |
2014-05-10 | Add (guix build syscalls)....* guix/build/syscalls.scm, tests/syscalls.scm: New files.
* Makefile.am (MODULES): Add guix/build/syscalls.scm.
(SCM_TESTS): Add tests/syscalls.scm.
* guix/utils.scm (%libc-errno-pointer, errno): Remove; take from (guix
build syscalls).
| Ludovic Courtès |
2014-04-14 | offload: '{send,receive}-files' wait for completion of the transfer....Fixes situations where the remote 'guix build' is invoked before the
.drv has been completely copied, as reported at
<https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00174.html>.
In some cases 'send-files' would return before the other end is done
importing the files, and so the subsequent 'guix build' invocation would
just miss the .drv file it refers to.
* guix/utils.scm (call-with-decompressed-port): Don't close PORT.
(call-with-compressed-output-port): Likewise.
* tests/utils.scm ("compressed-output-port + decompressed-port"): Adjust
accordingly.
* guix/scripts/offload.scm (send-files): Add explicit (close-pipe pipe)
call.
(retrieve-files): Likewise.
| Ludovic Courtès |
2014-04-07 | utils: Make 'errno' procedure more robust....Partially fixes <http://bugs.gnu.org/17212>.
* guix/utils.scm (errno): Move definition of 'bv' outside of the
procedure. Use 'bytevector-s32-native-ref' or
'bytevector-s64-native-ref' instead of 'bytevector-sint-ref'.
| Ludovic Courtès |
2014-03-24 | utils: Add 'call-with-decompressed-port' and 'call-with-compressed-output-port'....* guix/utils.scm (call-with-decompressed-port,
call-with-compressed-output-port): New procedures.
* tests/utils.scm ("compressed-output-port + decompressed-port"):
Rewrite to use them.
| Ludovic Courtès |
2014-03-24 | utils: Add 'filtered-output-port' and 'compressed-output-port'....* guix/utils.scm (filtered-output-port, compressed-output-port): New
procedures.
* tests/utils.scm ("compressed-output-port + decompressed-port"): New
test.
| Ludovic Courtès |
2014-03-22 | utils: Add 'decompressed-port' and 'compressed-port'....* guix/utils.scm (decompressed-port, compressed-port): New procedures.
* guix/scripts/substitute-binary.scm (decompressed-port): Remove.
(guix-substitute-binary): Pass a symbol or #f as the first argument to
'decompress-port'.
* tests/utils.scm ("compressed-port, decompressed-port, non-file"): New
test.
| Ludovic Courtès |
2014-03-22 | utils: 'filtered-port' doesn't leave dangling processes behind....* guix/utils.scm (filtered-port): Make sure the 'execl' child process
always exits, and does (primitive-_exit 1) upon execution failure.
Use 'primitive-_exit' in the 'dump-port' child process.
* tests/utils.scm ("filtered-port, does not exist"): New test.
| Ludovic Courtès |
2014-03-08 | utils: Add a non-blocking option for 'fcntl-flock'....* guix/utils.scm (F_SETLK): New variable.
(fcntl-flock): Add 'wait?' keyword parameter; honor it.
* tests/utils.scm ("fcntl-flock non-blocking"): New test.
| Ludovic Courtès |