Age | Commit message (Expand) | Author |
2013-03-22 | store: Really disable file name canonicalization for derivation inputs....* guix/store.scm (write-contents)[call-with-binary-input-file]: Set
%FILE-PORT-NAME-CANONICALIZATION to #f.
* gnu/packages.scm (search-patch, search-bootstrap-binary): Leave
%FILE-PORT-NAME-CANONICALIZATION unchanged. This reverts 9776ebb.
| Ludovic Courtès |
2013-03-22 | store: Use `sendfile' when available....* guix/store.scm (write-contents)[call-with-binary-input-file]: New
procedure.
Use `sendfile' instead of `dump' when available. Add `size'
parameter.
(write-file): Update caller.
| Ludovic Courtès |
2013-03-18 | guix package: Report packages to be removed/installed....* guix/scripts/package.scm (guix-package)[process-actions](show-what-to-remove/install):
New procedure.
Call it before `show-what-to-build'.
| Ludovic Courtès |
2013-03-16 | derivations: Optimize `build-expression->derivation'....This reduces the execution time of
"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 6%, from
1.15s to 1.08s.
* guix/derivations.scm (build-expression->derivation): Write the builder
as UTF-8.
| Ludovic Courtès |
2013-03-16 | derivations: Optimize `write-derivation'....This reduces the execution time of
"guix build -e '(@ (gnu packages emacs) emacs)' -d" by 25%, from
1.54 s. to 1.15s.
* guix/derivations.scm (write-sequence, write-list, write-tuple): New
procedures.
(write-derivation)[list->string, write-list]: Remove.
[write-string-list, write-output, write-input, write-env-var]: New helpers.
Rewrite in terms of these new helpers.
| Ludovic Courtès |
2013-03-16 | guix package: Gracefully handle `official-gnu-packages' failure....* guix/gnu-maintenance.scm (http-fetch): Error out when DATA is #f.
* guix/scripts/package.scm (check-package-freshness): Wrap
`gnu-package?' call in `false-if-exception'.
Reported by Cyril Roelandt <tipecaml@gmail.com>.
| Ludovic Courtès |
2013-03-07 | ui: Gracefully report failures to connect to the daemon....* guix/store.scm (&nix-connection-error): New condition type.
(open-connection): Translate `system-error' during the `connect' call
into `&nix-connection-error'.
* guix/ui.scm (call-with-error-handling): Add case for `nix-connection-error?'.
* guix/scripts/package.scm (guix-package): Move `open-connection' call
within `with-error-handling'.
* guix/scripts/pull.scm (guix-pull): Likewise.
* guix/scripts/download.scm (guix-download): Move body within
`with-error-handling'.
| Ludovic Courtès |
2013-03-07 | packages: Remove the default value for `license'....* guix/packages.scm (<package>): Remove the default value for `license'.
* gnu/packages/bootstrap.scm (package-from-tarball,
%bootstrap-glibc, %bootstrap-gcc): Initialize `license'.
* tests/packages.scm (dummy-package): Likewise.
| Ludovic Courtès |
2013-03-07 | Revert "utils: Add 'wrap-program'."...This reverts commit 02065130de33e990969fe9b7cc19b9b1c24f3ff7.
| Ludovic Courtès |
2013-03-06 | utils: Add 'wrap-program'....* guix/build/utils.scm (wrap-program): New procedure.
| Nikita Karetnikov |
2013-03-06 | licenses: Add 'x11-style'....* guix/licenses.scm (x11-style): New variable.
| Nikita Karetnikov |
2013-03-05 | gnu-maintenance: Clarify `releases'....* guix/gnu-maintenance.scm (releases): Change to use `match' and
`match-lambda'. Add `release-file' auxiliary function.
| Ludovic Courtès |
2013-03-05 | gnu-maintenance: Fix `gnu-package?' for packages lacking a `source'....* guix/gnu-maintenance.scm (gnu-package?): Support PACKAGE when its
source is #f.
| Ludovic Courtès |
2013-03-05 | guix package: Recover from freshness check transient errors....* guix/scripts/package.scm (check-package-freshness): Ignore
`getaddrinfo-error' and `ftp-error' exceptions.
| Ludovic Courtès |
2013-03-05 | guix package: Inform about new upstream versions of GNU packages....* guix/gnu-maintenance.scm (gnu-package?): New procedure.
* guix/scripts/package.scm (waiting): New macro.
(check-package-freshness): New procedure.
(guix-package)[process-actions]: Use it.
* doc/guix.texi (Invoking guix package): Mention the feature.
| Ludovic Courtès |
2013-03-05 | gnu: Add intltool....* guix/download.scm (%mirrors): Add `gnome' mirrors.
* gnu/packages/glib.scm (intltool): New variable.
| Ludovic Courtès |
2013-03-04 | Add (guix build-system perl)....* guix/build-system/perl.scm, guix/build/perl-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* guix/build-system/gnu.scm (standard-inputs): Make public.
| Ludovic Courtès |
2013-03-04 | download: Add CPAN mirrors....* guix/download.scm (%mirrors)[cpan]: New URLs.
| Ludovic Courtès |
2013-03-01 | ui: Factorize `read/eval-package-expression'....* guix/scripts/package.scm (read/eval-package-expression): Move to...
* guix/ui.scm (read/eval-package-expression): ... here.
* guix/scripts/build.scm (derivations-from-package-expressions): Use it.
| Ludovic Courtès |
2013-03-01 | guix package: Add `--install-from-expression'....* guix/scripts/package.scm (read/eval-package-expression): New
procedure.
(show-help): Add `-e'.
(%options): Likewise.
(guix-package)[process-actions]: Handle ('install . p) pairs, where P
is a package.
* tests/guix-package.sh: Add `boot_make_drv'. Use `-i $boot_make_drv'
once, and then use `-e $boot_make'.
* doc/guix.texi (Invoking guix package): Document `-e'.
| Ludovic Courtès |
2013-02-27 | guix gc: Add `--references' and `--referrers'....* guix/scripts/gc.scm (show-help): Update.
(%options): Add `--references' and `--referrers'.
(guix-gc)[symlink-target, store-directory]: New procedures.
Handle the `list-references' and `list-referrers' actions.
* tests/guix-gc.sh: Add tests for `--references'.
* doc/guix.texi (Invoking guix gc): Document `--references' and
`--referrers'.
| Ludovic Courtès |
2013-02-27 | store: Add queries for references & co....* guix/store.scm (operation-id)[query-valid-derivers]: New value.
(references, referrers, valid-derivers, query-derivation-outputs): New
procedures.
* tests/store.scm ("references", "derivers"): New tests.
| Ludovic Courtès |
2013-02-23 | download: Add X.org mirrors....* guix/download.scm (%mirrors): Add `xorg'.
| Andreas Enge |
2013-02-22 | pull: Distinguish "already up to date" from "updated"....* guix/ui.scm (show-what-to-build): Return (length req*).
* guix/scripts/pull.scm (guix-pull): Print an "already up to date"
message when there's nothing to build.
| Ludovic Courtès |
2013-02-22 | pull: Build (guix build download) first, because of the (gnutls) autoload....* guix/scripts/pull.scm (unpack): Build (guix build download) first, as
done in 855a8ad71def2ebc594ed32c57bda0ca4e13d91c.
Reported by Andreas Enge <andreas@enge.fr>.
| Ludovic Courtès |
2013-02-20 | Add "guix pull"....* guix/scripts/pull.scm: New file.
* Makefile.am (MODULES): Add it.
* doc/guix.texi (Invoking guix pull): New node.
(Invoking guix package): Add cross-ref to it.
* guix/ui.scm (config-directory): New procedure.
* scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add
$XDG_CONFIG_HOME/guix/latest to the search path.
* po/POTFILES.in: Add guix/scripts/pull.scm.
| Ludovic Courtès |
2013-02-20 | ui: Factorize `show-what-to-build'....* guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to..
* guix/ui.scm (show-what-to-build): ... here. Add a `store'
parameter'. Adjust callers.
* guix/scripts/build.scm (guix-build): Use it. Remove `req' and `req*'
variables.
| Ludovic Courtès |
2013-02-20 | ui: Add temporary file handling and atomic symlink switch....* guix/scripts/download.scm (call-with-temporary-output-file): Move to
ui.scm.
* guix/scripts/package.scm (switch-symlinks): Likewise.
* guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New
procedures.
| Ludovic Courtès |
2013-02-20 | download: Adjust to `http-get*' deprecation....* guix/build/download.scm (http-fetch): Adjust to use #:streaming? when
using Guile 2.0.8+.
| Ludovic Courtès |
2013-02-20 | derivations: Add a search path parameter for module derivations....* guix/derivations.scm (imported-modules, compiled-modules): Add a
`module-path' parameter. Use it instead of %LOAD-PATH.
| Ludovic Courtès |
2013-02-18 | store: Add the `%daemon-socket-file' parameter....* guix/store.scm (%daemon-socket-file): New variable.
(open-connection): Use it as the default value for FILE.
| Ludovic Courtès |
2013-02-17 | scripts: Remove hyphen in the command name shown by `--version'....* guix/scripts/build.scm (%options): Remove hyphen from the name passed
to `show-version-and-exit'.
* guix/scripts/download.scm (%options): Likewise.
* guix/scripts/gc.scm (%options): Likewise.
* guix/scripts/import.scm (%options): Likewise.
* guix/scripts/package.scm (%options): Likewise.
| Ludovic Courtès |
2013-02-17 | scripts: Remove initialization now redundant with `initialize-guix'....* guix/scripts/build.scm (guix-build): Remove calls to `install-locale',
`textdomain', etc., now redundant with `initialize-guix'.
* guix/scripts/download.scm (guix-download): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/ui.scm: Remove export of `install-locale' and `initialize-guix'.
(initialize-guix): Add docstring.
| Ludovic Courtès |
2013-02-16 | Replace individual scripts with master 'guix' script....* scripts/guix.in: New script.
* Makefile.am (bin_SCRIPTS): Add 'scripts/guix'. Remove 'guix-build',
'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.
(MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm',
'guix/scripts/import.scm', 'guix/scripts/package.scm', and
'guix/scripts/gc.scm'.
* configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'. Remove 'guix-build',
'guix-download', 'guix-import', 'guix-package', and 'guix-gc'.
* guix-build.in, guix-download.in, guix-gc.in, guix-import.in,
guix-package.in: Remove shell script boilerplate. Move to guix-COMMAND.in
to guix/scripts/COMMAND.scm. Rename module from (guix-COMMAND) to
(guix scripts COMMAND). Change "guix-COMMAND" to "guix COMMAND" in
usage help string.
* pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH.
Export $GUIX_UNINSTALLED.
* tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh,
tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of
"guix-COMMAND".
* doc/guix.texi: Replace all occurrences of "guix-COMMAND" with
"guix COMMAND".
* po/POTFILES.in: Update.
| Mark H Weaver |
2013-02-16 | packages: Add `package-output'....* guix/packages.scm (package-output): New procedure.
* tests/packages.scm ("package-output"): New test.
| Ludovic Courtès |
2013-02-14 | build-system/gnu: Make the strip behavior of `static-package' configurable....* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
parameter.
| Ludovic Courtès |
2013-02-12 | Add version-compare and version>? to utils.scm....* guix/utils.scm (version-compare, version>?): New exported procedures,
based on version-string>?, which was formerly in gnu-maintenance.scm.
* guix/gnu-maintenance.scm (version-string>?): Removed procedure.
(latest-release): Use 'version>?' instead of 'version-string>?'.
| Mark H Weaver |
2013-02-11 | gnu: Add tmux. licenses: add ISC....* gnu/packages/tmux.scm: New file.
* Makefile.am (MODULES): Use it.
* guix/licenses.scm: add ISC.
| Cyril Roelandt |
2013-02-10 | Re-export `%current-system' from (guix packages)....* guix/packages.scm: Re-export `%current-system'.
* gnu/packages/bdw-gc.scm, gnu/packages/gawk.scm,
gnu/packages/gperf.scm, gnu/packages/libffi.scm,
gnu/packages/libsigsegv.scm, gnu/packages/libunistring.scm,
gnu/packages/lout.scm, gnu/packages/m4.scm,
gnu/packages/multiprecision.scm, gnu/packages/ncurses.scm,
gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
gnu/packages/readline.scm, gnu/packages/recutils.scm,
gnu/packages/scheme.scm: Remove (guix utils) import.
| Ludovic Courtès |
2013-02-08 | build-system/gnu: Clarify docstring of `package-with-extra-configure-variable'....* guix/build-system/gnu.scm (package-with-extra-configure-variable): Add
"recursively" in the docstring.
| Ludovic Courtès |
2013-02-06 | union: Don't warn when colliding leaves point to the same file....* guix/build/union.scm (union-build)[resolve-collision]: Pass LEAVES
through `delete-duplicates'; warn iff the result contains more than
one item.
| Ludovic Courtès |
2013-02-06 | union: Delete duplicates when passed the same input several times....* guix/build/union.scm (union-build): Prepend "." to the result of
`union-tree', to match the expectations of `delete-duplicate-leaves'.
Don't do mkdir when SUBDIR is ".".
* tests/union.scm ("union-build"): Keep duplicates in %BOOTSTRAP-INPUTS.
| Ludovic Courtès |
2013-02-05 | licenses: Add new meta-license fsf-free....* guix/licenses.scm (fsf-free): New record with constructor.
| Andreas Enge |
2013-02-04 | store: Add substitute-related procedures....* guix/store.scm (has-substitutes?, substitutable-paths,
read-substitutable-path-list, substitutable-path-info): New
procedures.
(<substitutable>): New record type.
(read-arg): Add `substitutable-path-info'. Change `hash' pattern
variable to `base16' literal.
* tests/store.scm ("no substitutes"): New test.
| Ludovic Courtès |
2013-02-04 | store: Update to protocol 1.12....* guix/store.scm (%protocol-version): Bump.
(operation-id): Comment out `query-substitutable-path-info'.
Rename `query-valid-paths' to `query-all-valid-paths'. Add
`query-path-from-hash-part', `query-substitutable-path-infos',
`query-valid-paths', and `query-substitutable-paths'.
(set-build-options): Add `binary-caches' keyword parameter. When
using a server >= 1.12, send the list of binary caches.
(query-path-hash): Use the `store-path' type, for clarity.
| Ludovic Courtès |
2013-02-04 | store: Write string length as a 32-bit integer....* guix/store.scm (write-string): Write L as a 32-bit integer. Bug
introduced in 82c38fe64c84fc3febcc5c5aa7fe86454ccaf456 ("store:
Micro-optimize `write-string'.")
| Ludovic Courtès |
2013-02-01 | guix-package: Report `--search' matches in recutils format....* guix/ui.scm (fill-paragraph, string->recutils, package->recutils): New
procedures.
* guix-package.in (guix-package)[process-query]: Use `package->recutils'
to display package meta-data.
* tests/guix-package.sh: Adjust test.
* tests/ui.scm: New file.
* Makefile.am (TESTS): Add it.
* doc/guix.texi (Invoking guix-package): Adjust `--search'
documentation, and give an example.
| Ludovic Courtès |
2013-01-31 | store: Don't expect build logs to be UTF-8-encoded....* guix/store.scm (read-latin1-string): New procedure.
(process-stderr): Use it instead of `read-string'.
Reported by Andreas Enge <andreas@enge.fr>.
| Ludovic Courtès |
2013-01-30 | derivations: Memoize `read-derivation'....* guix/derivations.scm (read-derivation): Rename to...
(%read-derivation): ... this.
(read-derivation): New procedure.
This reduces the execution of "guix-build gdb" from 2.5s to 1.7s.
| Ludovic Courtès |
2013-01-30 | store: Slightly improve memoization hashing....* guix/store.scm (open-connection): Call `make-hash-table' with 100.
(add-text-to-store): Move TEXT first in ARGS, for better `hash'
results.
(add-to-store): Likewise, move ST first.
| Ludovic Courtès |