Age | Commit message (Expand) | Author |
2015-04-05 | gremlin: Ignore non-store file names in RUNPATH and warn about them....* guix/build/gremlin.scm (validate-needed-in-runpath)[runpath]:
Add (filter absolute-file-name? ...).
Emit a warning when RUNPATH file names that do not match
'store-file-name?'. Change format of error message to begin with file
name.
* guix/build/utils.scm (store-file-name?): New procedure.
| Ludovic Courtès |
2015-04-01 | build-system/gnu: Add 'validate-runpath' phase....* guix/build/gnu-build-system.scm (every*, validate-runpath): New
procedures.
(%standard-phases): Add 'validate-runpath'.
* guix/build-system/gnu.scm (%gnu-build-system-modules): Add (guix build
gremlin) and (guix elf).
(gnu-build): Add #:validate-runpath?.
[builder]: Pass it.
(gnu-cross-build): Likewise.
* gnu/packages/base.scm (glibc)[arguments]: Add #:validate-runpath? #f.
| Ludovic Courtès |
2015-04-01 | utils: Make the second 'find-files' argument optional....* guix/build/utils.scm (find-files): Make 'pred' optional.
| Ludovic Courtès |
2015-04-01 | build-system: Factorize the list of modules imported on the build side....* guix/build-system/gnu.scm (%default-modules): Rename to...
(%gnu-build-system-modules): ... this.
(%default-modules): New variable.
(dist-package, gnu-build): Use %GNU-BUILD-SYSTEM-MODULES for
#:imported-modules.
(gnu-cross-build): Likewise, and use %DEFAULT-MODULES for #:modules.
* guix/build-system/cmake.scm (%cmake-build-system-modules): New
variable.
(cmake-build): Use it for #:imported-modules.
* guix/build-system/glib-or-gtk.scm (%default-imported-modules): Rename
to...
(%glib-or-gtk-build-system-modules): ... this. Refer to
%GNU-BUILD-SYSTEM-MODULES. Adjust uses.
* guix/build-system/perl.scm (%perl-build-system-modules): New
variable.
(perl-build): Use it for #:imported-modules.
* guix/build-system/python.scm (%python-build-system-modules): New
variable.
(python-build): Use it for #:imported-modules.
* guix/build-system/ruby.scm (%ruby-build-system-modules): New variable.
(ruby-build): Use it for #:imported-modules.
* guix/build-system/waf.scm (%waf-build-system-modules): New variable.
(waf-build): Use it for #:imported-modules.
| Ludovic Courtès |
2015-04-01 | gremlin: Guard against invalid ELF segments....* guix/build/gremlin.scm (&elf-error, &invalid-segment-size): New error
condition types.
(dynamic-link-segment): Compare SEGMENT's offset + size to ELF's total
size.
(validate-needed-in-runpath): Wrap body in 'guard' form.
| Ludovic Courtès |
2015-04-01 | gremlin: Add libnsl to libc's library list....* guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".
| Ludovic Courtès |
2015-03-31 | utils: 'find-files' takes an arbitrary predicate as its second argument....* guix/build/utils.scm (file-name-predicate): New procedure.
(find-files): Rename second parameter to 'pred'. When 'pred' is not a
procedure, call 'file-name-predicate'. Use PRED instead of
'regexp-exec' in the leaf procedure.
| Ludovic Courtès |
2015-03-31 | utils: 'modify-phases' no longer introduces quotes....Suggested by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>.
* guix/build/utils.scm (%modify-phases): Remove quotes.
* guix/build/cmake-build-system.scm (%standard-phases): Adjust
accordingly.
* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
* guix/build/gnu-dist.scm (%dist-phases): Likewise.
* guix/build/perl-build-system.scm (%standard-phases): Likewise.
* guix/build/python-build-system.scm (%standard-phases): Likewise.
* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
* guix/build/waf-build-system.scm (%standard-phases): Likewise.
* gnu/packages/bash.scm, gnu/packages/code.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/graphics.scm,
gnu/packages/image.scm, gnu/packages/key-mon.scm,
gnu/packages/ocr.scm, gnu/packages/plotutils.scm,
gnu/packages/search.scm, gnu/packages/video.scm: Likewise.
| Ludovic Courtès |
2015-03-31 | Merge branch 'master' into core-updates | Ludovic Courtès |
2015-03-31 | Add (guix build gremlin)....* guix/build/gremlin.scm, tests/gremlin.scm: New files.
* Makefile.am (MODULES): Add guix/build/gremlin.scm.
(SCM_TESTS): Add tests/gremlin.scm.
| Ludovic Courtès |
2015-03-30 | elf: Add missing argument in 'elf-segment'....* guix/elf.scm (elf-segment): Add missing argument N.
| Ludovic Courtès |
2015-03-29 | gexp: Slightly simplify 'lower-inputs'....* guix/gexp.scm (lower-inputs): Simplify first case by removing the
'input' binding.
| Ludovic Courtès |
2015-03-29 | gexp: Add 'local-file'....* guix/gexp.scm (<local-file>): New record type.
(local-file): New procedure.
(local-file-compiler): New compiler.
(gexp->sexp) <struct? thing>: Handle the case where 'lower' returns a
file name.
(text-file*): Update docstring.local-file doc
* tests/gexp.scm ("one local file", "gexp->derivation, local-file"): New
tests.
* doc/guix.texi (G-Expressions): Mention local files early. Document
'local-file'. Update 'text-file*' documentation.
| Ludovic Courtès |
2015-03-25 | Merge branch 'master' into core-updates | Ludovic Courtès |
2015-03-25 | substitute: Rename cache directory from "substitute-binary" to "substitute"....* guix/scripts/substitute.scm (%narinfo-cache-directory): Change
"substitute-binary" to "substitute".
* tests/store.scm ("substitute query"): Likewise.
* tests/substitute.scm (call-with-narinfo): Likewise.
| Ludovic Courtès |
2015-03-25 | Rename 'guix substitute-binary' to 'guix substitute'....* guix/scripts/substitute-binary.scm: Rename to...
* guix/scripts/substitute.scm: ... this. Adjust module name, entry
point, comments, and help string accordingly.
* nix/scripts/substitute-binary.in: Rename to...
* nix/scripts/substitute.in: ... this.
* pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly.
* tests/substitute-binary.scm: Rename to...
* tests/substitute.scm: ... this. Adjust references to (guix scripts
substitute) accordingly.
* guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to
"substitute".
* Makefile.am (MODULES, SCM_TESTS): Adjust to file renames.
* daemon.am (nodist_pkglibexec_SCRIPTS): Likewise.
* config-daemon.ac: Likewise.
* guix/tests.scm (call-with-derivation-narinfo): Adjust comments and
docstring.
| Ludovic Courtès |
2015-03-25 | derivations: 'substitution-oracle' now ignores sub-trees that are valid....Before that, "guix build qt", when only qt itself is missing, would lead
'substitution-oracle' to call 'substitutable-paths' with 318 items.
Now, this is down to 6 items, because it doesn't ask about prerequisites
that are already valid.
* guix/derivations.scm (substitution-oracle)[valid-input?,
dependencies]: New procedures.
Use 'dependencies' and remove call to 'remove'.
| Ludovic Courtès |
2015-03-25 | derivations: Add a 'cut?' parameter to 'derivation-prerequisites'....* guix/derivations.scm (valid-derivation-input?): New procedure.
(derivation-prerequisites): Add 'cut?' parameter and honor it.
* tests/derivations.scm ("derivation-prerequisites and
derivation-input-is-valid?"): New test.
| Ludovic Courtès |
2015-03-24 | derivations: Don't invoke the substituter when an item is already in store....Fixes <http://bugs.gnu.org/20188>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/derivations.scm (substitution-oracle): Add 'valid?' procedure.
Remove 'valid?' items from PATHS.
| Ludovic Courtès |
2015-03-24 | packages: Add zip archive support to 'patch-and-repack'....Fixes <http://bugs.gnu.org/19830>.
* guix/packages.scm (%standard-patch-inputs): Add "unzip".
(patch-and-repack)[decompression-type]: Detect zip archive.
[build]: Invoke "unzip" when appropriate.
| Eric Bavier |
2015-03-23 | substitute-binary: Remove thread-safe 'regexp-exec' wrapper....* guix/scripts/substitute-binary.scm: Remove 'regexp-exec' setting.
| Ludovic Courtès |
2015-03-23 | substitute-binary: Pipeline HTTP requests instead of using threads....* guix/scripts/substitute-binary.scm (fetch-narinfo, %lookup-threads,
n-par-map*): Remove.
(narinfo-cache-file, cached-narinfo, cache-narinfo!, narinfo-request,
http-multiple-get, read-to-eof, fetch-narinfos, lookup-narinfos,
narinfo-from-file): New procedures.
(lookup-narinfo): Rewrite in terms of 'lookup-narinfos'.
(guix-substitute-binary): Use 'lookup-narinfos' instead of
'lookup-narinfo'.
| Ludovic Courtès |
2015-03-23 | substitute-binary: Allow callers to specify the size of a narinfo....* guix/scripts/substitute-binary.scm (read-narinfo): Add #:size
parameter and honor it.
| Ludovic Courtès |
2015-03-22 | store: Default to a non-empty list of substituters....Fixes <http://bugs.gnu.org/20163>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/store.scm (%default-substitute-urls): New variable.
(set-build-options): Change default value of #:substitute-urls to
%DEFAULT-SUBSTITUTE-URLS.
| Ludovic Courtès |
2015-03-22 | gexp: Fix handling of nativeness in nested gexps....* guix/gexp.scm (gexp-inputs): Remove 'references' parameter; add
#:native? and honor it.
[add-reference-inputs]: Distinguish between native gexp inputs, and
non-native gexp inputs. Honor 'native?' field of list inputs.
* tests/gexp.scm ("ungexp + ungexp-native, nested"): New test.
| Ludovic Courtès |
2015-03-22 | gexp: Ignore nested gexps in macro expansion....Before that, the 'references' and 'natives' or the outer gexp in an
expression like #~#+#~#$coreutils would include those of the inner
gexp.
* guix/gexp.scm (gexp)[collect-escapes]: Ignore everything below
'ungexp-native' or 'ungexp-native-splicing'.
[collect-native-escapes]: Ignore everything below 'ungexp' or
'ungexp-splicing'.
| Ludovic Courtès |
2015-03-22 | gexp: Allow <gexp-input> objects in #:allowed-references....* guix/gexp.scm (lower-references): Add <gexp-input> case.
* tests/gexp.scm ("gexp->derivation #:allowed-references, specific
output"): New test.
| Ludovic Courtès |
2015-03-22 | gexp: Add identity compiler for derivations....* guix/gexp.scm (derivation-compiler): New procedure.
(lower-inputs): Remove 'derivation?' case.
(gexp-inputs)[add-reference-inputs]: Likewise.
(gexp->sexp)[reference->sexp]: Likewise.
| Ludovic Courtès |
2015-03-21 | packages: Make sure the patch inputs are not #f....Fixes build issues whereby #:inputs would be #f. See
<http://hydra.gnu.org/build/320333/nixlog/4/tail-reload>.
* guix/packages.scm (patch-and-repack): #:input defaults to #f.
[lookup-input]: When INPUTS is #f, use (%standard-patch-inputs).
| Ludovic Courtès |
2015-03-21 | gnu: Use 'glibc-utf8-locales-final' in the default patching inputs....* gnu/packages/commencement.scm (glibc-utf8-locales-final): Make public.
* guix/packages.scm (%standard-patch-inputs): Use
GLIBC-UTF8-LOCALES-FINAL instead of GLIBC-UTF8-LOCALES.
| Ludovic Courtès |
2015-03-20 | guix package: '-s' sorts packages by name, then by version....Before that it would sort them by name only, so the order in which two
packages with the same name but a different version would appear was
non-deterministic.
Reported by Tomáš Čech <sleep_walker@gnu.org>.
* guix/scripts/package.scm (find-packages-by-description)[version<?]:
New variable.
Change the 2nd argument to 'sort' to use 'string-compare' and resort
to 'version<?' when P1 and P2 have the same name.
| Ludovic Courtès |
2015-03-20 | guix package: '-s' displays different packages that have the same location....Before that, 'guix package -s foobarbaz' would display only one package
when several match but they have the same location (which is common when
using 'inherit'.)
The original rationale was given at
<http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00280.html> but
it was arguably misguided because it led to "real" packages being
hidden.
Reported by Tomáš Čech <sleep_walker@gnu.org>.
* guix/scripts/package.scm (find-packages-by-description)[same-location?]:
Remove.
Remove call to 'delete-duplicates'.
| Ludovic Courtès |
2015-03-19 | ftp-client: Switch to binary mode before using the "SIZE" command....* guix/ftp-client.scm (ftp-size): Add '%ftp-command' call.
| Ludovic Courtès |
2015-03-19 | lint: Report details about FTP errors....* guix/scripts/lint.scm (probe-uri) <'ftp>: Pass more information about
failures alongside 'ftp-response.
(validate-uri) <ftp-response>: Handle it, and adjust "not reachable"
message accordingly.
| Ludovic Courtès |
2015-03-19 | lint: Change misleading variable name....* guix/scripts/lint.scm (probe-uri) <'ftp>: Rename 'port' to 'conn'.
| Ludovic Courtès |
2015-03-18 | substitute-binary: Fix recently-introduced regression....* guix/scripts/substitute-binary.scm (%cache-url): Fix regression
introduced in 41c45e7.
| Ludovic Courtès |
2015-03-18 | packages: Rewrite 'patch-and-repack' using gexps....* guix/packages.scm (patch-and-repack): Remove 'store' parameter and
change default value of #:inputs to (%standard-patch-inputs).
[lookup-input, instantiate-patch]: New procedures.
[patch-inputs]: Remove.
[builder]: Rename to...
[build]: ... this. Use gexps instead of sexps.
(patch-and-repack*): Remove.
(origin->derivation): Use 'patch-and-repack' instead of
'patch-and-repack*'.
* tests/packages.scm ("package-source-derivation,
snippet")[source](snippet): Remove references to '%build-inputs' and
'%outputs'.
| Ludovic Courtès |
2015-03-18 | store: Remove debugging leftover....* guix/store.scm (set-build-options): Remove leftover 'pk' call from
41c45e7.
| Ludovic Courtès |
2015-03-18 | store: Add preliminary support for client-supplied substitute URLs....* guix/store.scm (set-build-options): Rename #:binary-caches to
#:substitute-urls. Actually pass it in 'pairs' under the
"substitute-urls" key.
* guix/scripts/substitute-binary.scm (%cache-url): Add comment for
"untrusted-substitute-urls".
| Ludovic Courtès |
2015-03-18 | pk-crypto: Improve documentation of 'key-type'....* guix/pk-crypto.scm (key-type): Improve docstring.
| Ludovic Courtès |
2015-03-17 | build: ruby: Set $GEM_HOME that matches Ruby's $GEM_PATH....* guix/build/ruby-build-system.scm (install): Ignore the Ruby patch version
when creating $GEM_HOME.
| David Thompson |
2015-03-17 | gexp: Move the package and origin compilers to (guix packages)....From now own, (guix packages) depends on (guix gexps); it was the other
way around now. This means that (guix packages) code can use gexps.
* guix/gexp.scm (origin-compiler, package-compiler): Remove.
(default-guile-derivation): New procedure.
(gexp->derivation): Use it instead of 'default-guile' +
'package->derivation'.
* guix/packages.scm (default-guile-derivation): New procedure.
(package-compiler, origin-compiler): New variables.
* doc/guix.texi (G-Expressions): Mention extensibility.
| Ludovic Courtès |
2015-03-17 | packages: Move grafting parameter to (guix derivations)....* guix/packages.scm (%graft?, set-grafting): Move to...
* guix/derivations.scm: ... here.
| Ludovic Courtès |
2015-03-17 | gexp: Separate "compilers" for origins and packages from the core....* guix/gexp.scm (<gexp-compiler>): New record type.
(%gexp-compilers): New variable.
(register-compiler!, lookup-compiler): New procedures.
(define-gexp-compiler): New macro.
(origin-compiler, package-compiler): New compilers.
(lower-inputs): Remove clauses for 'origin?' and 'package?'. Add
clause with 'lookup-compiler' instead.
(lower-references): Likewise.
(gexp-inputs)[add-reference-inputs]: Likewise.
(gexp->sexp)[reference->sexp]: Likewise.
| Ludovic Courtès |
2015-03-17 | gexp: Remove special meaning of forms (PACKAGE OUTPUT) in ungexp....* guix/gexp.scm (gexp-inputs)[add-reference-inputs]: Remove clause for
inputs of the form (PACKAGE OUTPUT).
(gexp->sexp)[reference->sexp]: Likewise.
* tests/gexp.scm ("input list splicing"): Change 'list' to 'gexp-input'
for glibc:debug.
("text-file*"): Likewise for %bootstrap-guile:out.
("input list splicing + gexp-input + ungexp-native-splicing"): Remove,
now redundant.
| Ludovic Courtès |
2015-03-17 | profiles: Use 'gexp-input' instead of two-element lists....* guix/profiles.scm (package->manifest-entry): Use 'gexp-input' instead
of two-element lists to denote specific package outputs.
(manifest-inputs): Likewise.
(profile-derivation)[info-dir]: Likewise.
| Ludovic Courtès |
2015-03-17 | gexp: Export 'gexp-input' constructor....* guix/gexp.scm (<gexp-input>)[gexp-input]: Rename to...
[%gexp-input]: ... this. Adjust callers accordingly.
(gexp-input): New procedure.
(gexp-inputs)[add-reference-inputs]: When the input is a list, check
whether each item is already 'gexp-input?' and to not rewrap those.
(gexp-outputs)[add-reference-output]: Likewise.
(gexp->sexp): Likewise.
* tests/gexp.scm ("input list splicing + gexp-input +
ungexp-native-splicing"): New test.
| Ludovic Courtès |
2015-03-17 | gexp: Add <gexp-input>....* guix/gexp.scm (<gexp-input>): New record type.
(gexp-inputs)[add-reference-inputs]: Adjust clauses to expect
<gexp-input> objects.
(gexp-outputs)[add-reference-output]: Likewise.
(gexp->sexp)[reference->sexp]: Likewise.
(canonicalize-reference): Remove.
(gexp)[escape->ref]: Use 'gexp-input' for all the references.
Remove use of 'canonicalize-reference'.
| Ludovic Courtès |
2015-03-17 | gexp: Rename <output-ref> to <gexp-output>....* guix/gexp.scm (<output-ref>): Rename to...
(<gexp-output>): ... this. Adjust constructor/accessor names and
users accordingly.
| Ludovic Courtès |
2015-03-17 | licenses: Add the Ms-PL....* guix/licenses.scm (ms-pl): New variable.
| Ludovic Courtès |