Age | Commit message (Collapse) | Author |
|
This yields a 46% improvement in 'derivation-prerequisites' invocations
on the Emacs derivation.
* guix/derivations.scm (derivation-prerequisites): Add 'input-set'
variable, and use it in iterations.
|
|
* guix/sets.scm, tests/sets.scm: New files.sets
* Makefile.am (MODULES, SCM_TESTS): Add them.
|
|
|
|
This makes 'guix environment PACKAGE' significantly faster when
substitutes are enabled. Before that, it would lead to many invocations
of 'guix substitute-binary', one per 'derivation-prerequisites-to-build'
call. Now, all these are replaced by a single invocation.
* guix/derivations.scm (derivation-output-paths, substitution-oracle):
New procedures.
(derivation-prerequisites-to-build): Replace #:use-substitutes? with
#:substitutable?. Remove the local 'derivation-output-paths' and
'substitutable?'.
* guix/ui.scm (show-what-to-build): Add 'substitutable?'. Pass it to
'derivation-prerequisites-to-build'.
[built-or-substitutable?]: Use it instead of 'has-substitutes?'.
* tests/derivations.scm ("derivation-prerequisites-to-build and
substitutes"): Use #:substitutable? instead of #:use-substitutes?.
|
|
* guix/derivations.scm (derivation-output-names): New procedure.
(derivation-prerequisites-to-build): Use it for #:outputs.
(map-derivation): Likewise.
* tests/derivations.scm ("derivation-output-names"): New test.
|
|
* guix/build/utils.scm (patch-/usr/bin/file): New procedure.
* guix/build/gnu-build-system.scm (patch-usr-bin-file): Rewrite using
it. Patch all the files returned by 'find-files' that are executable.
* gnu/packages/gawk.scm (gawk)[arguments]: Remove use of 'substitute*'
for 'extension/configure'.
|
|
* guix/import/cpan.scm, guix/scripts/import/cpan.scm, tests/cpan.scm:
New files.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add them.
* guix/scripts/import.scm (importers): Add cpan.
* doc/guix.texi (Requirements): Mention `guix import cpan` as a user
of guile-json.
(Invoking guix import): Document new `guix import cpan` command.
|
|
* tests/pypi.scm (mock): Move this...
* guix/tests.scm: to here.
|
|
* guix/import/pypi.scm (hash-table->alist, flatten, assoc-ref*,
url-fetch, json-fetch): Pull procedures from here into...
* guix/import/utils.scm: Here and...
* guix/import/json.scm: Here. New file.
* Makefile.am (MODULE)[HAVE_GUILE_JSON]: Add it.
* guix/import/gnu.scm (file-sha256): Move from here to...
* guix/hash.scm: Here.
* tests/pypi.scm (pypi->guix-package): Update mock module reference.
|
|
* guix/import/gnu.scm (gnu->guix-package): Pass the key-download
argument on to gnu-package->sexp.
|
|
* guix/scripts/substitute-binary.scm (narinfo-signature->canonical-sexp):
Change "~a" to "~s" in error message.
(%signature-line-rx): Remove.
(narinfo-sha256): Use 'string-contains' instead of 'regexp-exec', and
'string-take' instead of 'match:substring'.
|
|
* guix/records.scm (%recutils-field-rx, %recutils-comment-rx,
%recutils-plus-rx): Remove.
(%recutils-field-charset): New variable.
(recutils->alist): Adjust to use tests (string-ref line 0) instead of
regexps.
|
|
* guix/base64.scm (define-alias): New macro.
(fxbit-field, fxarithmetic-shift, fxarithmetic-shift-left, fxand,
fxior, fxxor): New aliases.
|
|
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.
|
|
* gnu/packages/commencement.scm (nix-system->gnu-triplet): Move to...
* guix/utils.scm (nix-system->gnu-triplet): ... here. Fix docstring typo.
|
|
|
|
Fixes <http://bugs.gnu.org/19491>.
* gnu/build/linux-boot.scm (mount-root-file-system): Make /root/etc/mtab
a symlink to /proc/self/mounts.
* gnu/build/file-systems.scm (mount-file-system): Don't update /etc/mtab.
* guix/build/syscalls.scm (mount, umount): Have #:update-mtab? default to
#f.
|
|
* guix/pk-crypto.scm (bytevector->hash-data, sign): Augment docstring.
|
|
Fixes <http://bugs.gnu.org/18895>.
* guix/build/gnu-build-system.scm (patch-shebangs): Add #:inputs
parameter. Remove 'bindirs'. Add 'bin-directories',
'output-bindirs', and 'input-bindirs'. Use them instead of (getenv
"PATH") to as the argument to 'patch-shebang'.
|
|
* guix/scripts/package.scm (search-path-environment-variables): Add
local 'files' variable.
* tests/packages.scm ("--search-paths with pattern"): New test.
|
|
|
|
This reverts commits f05bdc9412135f34a1c417edc203c35cd005d0d5
and 856ae5e6c71a1283a414d33e638051f95d3cce35.
This broke all sorts of things. See <http://hydra.gnu.org/eval/102058>,
for example.
|
|
* guix/build/download.scm (uri-vicinity, maybe-expand-mirrors): New
procedures.
(url-fetch): Remove them from here.
|
|
* guix/tests.scm (dummy-package): New macro.
* tests/lint.scm (dummy-package): Remove.
* tests/packages.scm (dummy-package): Remove.
|
|
Suggested by Cyril Roelandt <tipecaml@gmail.com>.
* tests/lint.scm (%http-server-port, %http-server-socket, %local-url,
stub-http-server): New variables.
(http-write, call-with-http-server): New procedures.
(with-http-server): New macro.
("home-page: wrong home-page", "home-page: invalid URI", "home-page:
host not found", "home-page: Connection refused", "home-page: 200",
"home-page: 404"): New tests.
* guix/scripts/lint.scm (check-home-page): Export.
|
|
This is a followup to 856ae5e. See <http://hydra.gnu.org/build/180506>
for an example of build failure.
* guix/build/gnu-build-system.scm (strip): Add #:archive-strip-flags
parameter. Use it when (ar-file? path).
* guix/build-system/gnu.scm (gnu-build): Add #:archive-strip-flags
parameter and pass it down.
* gnu/packages/commencement.scm (gcc-boot0)[arguments]: Add
#:strip-flags.
* gnu/packages/base.scm (glibc)[arguments]: Likewise.
|
|
* guix/scripts/lint.scm (run-checkers): Check
whether (current-error-port) is a tty, and print the package being
checked and the checker currently running when it is.
|
|
* guix/build/download.scm (open-connection-for-uri): Export.
* guix/scripts/lint.scm (probe-uri, check-home-page): New procedures.
(%checkers): Add 'home-page' checker.
|
|
This will handle the new 'file-type' and 'file-pattern' fields correctly.
* guix/scripts/package.scm (search-path-environment-variables)[search-path-definition]:
Rewrite in terms of 'search-path-as-list'.
|
|
* guix/build/utils.scm (search-path-as-list): Make public.
* guix/scripts/environment.scm (for-each-search-path): Use it.
|
|
* guix/packages.scm (<search-path-specification>)[file-pattern]: New
field.
(search-path-specification->sexp): Honor it.
|
|
* guix/build/utils.scm (search-path-as-list): Add #:pattern parameter
and honor it.
(set-path-environment-variable): Likewise, and pass it to
'search-path-as-list'.
* guix/packages.scm (search-path-specification->sexp): Add PATTERN slot.
* guix/build/gnu-build-system.scm (set-paths): Adjust accordingly.
|
|
Fixes <http://bugs.gnu.org/18033>.
* guix/packages.scm (<search-path-specification>): Rename 'directories'
field to 'files'. Add 'file-type'.
(search-path-specification->sexp): Honor 'file-type'.
* gnu/packages/autotools.scm, gnu/packages/bootstrap.scm,
gnu/packages/cross-base.scm, gnu/packages/games.scm,
gnu/packages/gcc.scm, gnu/packages/glib.scm,
gnu/packages/guile.scm, gnu/packages/man.scm,
gnu/packages/perl.scm, gnu/packages/pkg-config.scm,
gnu/packages/python.scm, gnu/packages/ruby.scm,
gnu/packages/xfce.scm: Change 'directories' to 'files'.
* tests/packages.scm ("search paths"): Change 'directories' field to
'files'.
* guix/scripts/environment.scm (for-each-search-path): Likewise.
|
|
This saves 19% on the 'bin' directory of Coreutils, and certainly
helpful for things like Git's 'libexec' directory.
* guix/build-system/gnu.scm (gnu-build): Change default value for
#:strip-flags to '("--strip-all").
* guix/build/gnu-build-system.scm (strip): Ditto.
* gnu/packages/linux.scm (linux-libre)[arguments]: Add #:strip-flags.
|
|
Partly fixes <http://bugs.gnu.org/18033>.
* guix/build/utils.scm (search-path-as-list): Rename 'sub-directories'
parameter to 'files'. Add #:type parameter and honor it.
(set-path-environment-variable): Likewise. Pass #:type to
'search-path-as-list'.
* guix/packages.scm (search-path-specification->sexp): Add 'directory as
the last item of the tuple.
* guix/build/gnu-build-system.scm (set-paths): Add 'type' to search-path
pattern. Pass #:type to 'set-path-environment-variable'.
|
|
|
|
Fixes <http://bugs.gnu.org/19402>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/packages.scm (patch-and-repack): Change "--batch" to "--force".
|
|
Reported by Federico Beffa <beffa@ieee.org>
and Eric Bavier <ericbavier@gmail.com>.
* guix/build-system/python.scm (package-with-explicit-python): Do
nothing when P's build system is not PYTHON-BUILD-SYSTEM.
|
|
* guix/packages.scm (first-value): Remove.
(define-memoized/v): New macro.
(package-transitive-supported-systems): Rewrite.
|
|
* guix/build/syscalls.scm (sizeof*, type-size, write-type, write-types,
read-type, read-types, define-c-struct): New macros.
(SIOCSIFFLAGS, SIOCGIFADDR, SIOCSIFADDR): New variables.
(sockaddr-in, sockaddr-in6): New C structs.
(write-socket-address!, read-socket-address,
set-network-interface-flags, set-network-interface-address,
network-interface-address, configure-network-interface): New
procedures.
|
|
* guix/build/python-build-system.scm (rename-pth-file): New rename-pth-file
phase and corresponding function.
|
|
Fixes a bug whereby removing the next-to-last item in a profile would
lead to an obscure error, as shown at
<http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* guix/profiles.scm (profile-derivation)[inputs]: Use (list info-dir
"out") instead of just INFO-DIR.
|
|
|
|
Suggested by Mark H Weaver <mhw@netris.org>
in <http://bugs.gnu.org/19138>.
* guix/build/utils.scm (wrap-program): Change wrapper to use "exec -a
PROG" instead of just "exec".
|
|
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* guix/build/utils.scm (patch-makefile-SHELL): Update regexp to match
":=" assignments.
|
|
* guix/build/utils.scm (patch-makefile-SHELL)[find-shell]: Use 'which'.
|
|
#:glib-or-gtk-wrap-excluded-outputs.
Fixes <http://bugs.gnu.org/19321>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Change default
value of #:glib-or-gtk-wrap-excluded-outputs to ''().
|
|
* guix/licenses.scm (ncsa): New variable.
|
|
Fixes <http://bugs.gnu.org/19313>.
Reported by rekado <rekado@elephly.net>.
* guix/scripts/substitute-binary.scm (guix-substitute-binary)
<--substitute>: Add 'newline' call.
|
|
This would not work when /boot is a separate partition, as reported by
Nikita Karetnikov <nikita@karetnikov.org> in <http://bugs.gnu.org/19220>.
This fixes a regression introduced in 39d1f82.
* gnu/build/install.scm (install-grub): Copy GRUB.CFG instead of
symlinking it, as was the case before 39d1f82.
* gnu/build/vm.scm (register-grub.cfg-root): Add 'grub.cfg' parameter.
Make it a permanent GC root instead of an indirect GC root.
(initialize-hard-disk): Adjust accordingly.
* guix/scripts/system.scm (install-grub*): Replace use of
'add-indirect-root' by the addition of a permanent GC root in
%GC-ROOTS-DIRECTORY.
|