Age | Commit message (Expand) | Author |
2017-06-21 | profiles: Catch and report collisions in the profile....* guix/profiles.scm (&profile-collision-error): New error condition.
(manifest-transitive-entries, manifest-entry-lookup, lower-manifest-entry)
(check-for-collisions): New procedures.
(profile-derivation): Add call to 'check-for-collisions'.
* guix/ui.scm (call-with-error-handling): Handle '&profile-collision-error'.
* tests/profiles.scm ("collision", "collision of propagated inputs")
("no collision"): New tests.
| Ludovic Courtès |
2017-06-21 | guix package: Always upgrade packages that have propagated inputs....* guix/scripts/package.scm (transaction-upgrade-entry): Always upgrade
packages that have propagated inputs.
| Ludovic Courtès |
2017-06-21 | profiles: Manifest entries keep a reference to their parent entry....* guix/profiles.scm (<manifest-entry>)[parent]: New field.
(package->manifest-entry): Add #:parent parameter. Fill out the
'parent' field of <manifest-entry>; pass #:parent in recursive calls.
* guix/profiles.scm (sexp->manifest)[sexp->manifest-entry]: New
procedure. Use it for version 3.
* tests/profiles.scm ("manifest-entry-parent"): New procedure.
("read-manifest")[entry->sexp]: Add 'manifest-entry-parent' to the
result.
| Ludovic Courtès |
2017-06-21 | profiles: Represent propagated inputs as manifest entries....* guix/profiles.scm (package->manifest-entry): Turn DEPS into a list of
manifest entries.
(manifest->gexp)[entry->gexp]: Call 'entry->gexp' on DEPS.
Bump version to 3.
(sexp->manifest)[infer-dependency]: New procedure.
Use it for versions 1 and 2. Parse version 3.
(manifest-inputs)[entry->gexp]: New procedure.
Adjust to 'dependencies' being a list of <manifest-entry>.
* tests/profiles.scm ("packages->manifest, propagated inputs")
("read-manifest"): New fields.
| Ludovic Courtès |
2017-06-20 | gnu: Move contents of zip module into compression module....* gnu/packages/zip.scm (zip, unzip, zziplib, perl-zip): Move to...
* gnu/packages/compression.scm: ...here.
* gnu/packages/zip.scm: Delete file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Unregister deleted file.
* po/packages/POTFILES.in: Unregister deleted file.
* gnu/packages/{audio, avr, bioinformatics, busybox, cdrom, ci, compression,
docbook, documentation, fonts, fpga, game-development, games, gl, gnome,
gnuzilla, graphics, guile, haskell, image, java, kodi, ldc, libreoffice,
markup, maths, mc, monitoring, music, php, pretty-print, python, scheme,
smalltalk, statistics, synergy, tex, textutils, video, web-browsers, xml,
zip}.scm, guix/build-system/{ant, font}.scm, guix/{download, packages}.scm:
Adapt module import.
| Arun Isaac |
2017-06-20 | Merge branch 'master' into core-updates | Mark H Weaver |
2017-06-19 | store: Buffer RPC writes....For a command like:
guix build python2-numpy -n
this reduces the number of 'write' syscalls from 9.5K to 2.0K.
* guix/store.scm (<nix-server>)[buffer, flush]: New fields.
(open-connection): Adjust accordingly. Call 'buffering-output-port' to
compute the two new fields.
(write-buffered-output, buffering-output-port): New procedures.
(operation): Write to (nix-server-output-port server). Call
'write-buffered-output'.
| Ludovic Courtès |
2017-06-19 | build-system/texlive: Update to texlive-2017.1, revision 44591....* guix/build-system/texlive.scm (%texlive-tag): Change to texlive-2017.1.
(%texlive-revision): Change to 44591.
| Ricardo Wurmus |
2017-06-18 | Merge branch 'master' into core-updates | Mark H Weaver |
2017-06-18 | discovery: 'scheme-files' returns '() for a non-accessible directory....Fixes a regression introduced in
d27cc3bfaafe6b5b0831e88afb1c46311d382a0b.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/discovery.scm (scheme-files): Catch 'scandir*' system errors.
Return '() and optionally raise a warning upon 'system-error'.
* tests/discovery.scm ("scheme-modules, non-existent directory"): New
test.
| Ludovic Courtès |
2017-06-18 | syscalls: 'opendir*' error message shows the file name....* guix/build/syscalls.scm (opendir*): Add NAME to the 'system-error'
message.
| Ludovic Courtès |
2017-06-16 | store: Add an RPC counter....* guix/store.scm (%rpc-calls): New variable.
(show-rpc-profile, record-operation): New procedures.
(operation): Add call to 'record-operation'.
* guix/ui.scm (run-guix-command): Wrap COMMAND-MAIN in 'dynamic-wind'.
Run EXIT-HOOK.
| Ludovic Courtès |
2017-06-16 | discovery: Rewrite 'scheme-files' using 'scandir*'....On a command like:
guix environment --ad-hoc coreutils -- true
this reduces the number of 'stat' calls from 14.1K to 9.7K on my
setup (previously each getdents(2) call would be followed by one stat(2)
call per entry).
* guix/discovery.scm (scheme-files): Rewrite using 'scandir*'.
| Ludovic Courtès |
2017-06-16 | syscalls: Add 'scandir*'....* guix/build/syscalls.scm (%struct-dirent-header): New C struct.
(string->pointer/utf-8, pointer->string/utf-8): New procedures.
(opendir*, closedir*, readdir*, scandir*): New procedures.
* tests/syscalls.scm ("scandir*, ENOENT")
("scandir*, ASCII file names", "scandir*, UTF-8 file names")
("scandir*, properties): New tests.
| Ludovic Courtès |
2017-06-15 | ui: Remove the empty string from '%load-extensions'....* guix/ui.scm (run-guix): Set %LOAD-EXTENSIONS.
| Ludovic Courtès |
2017-06-15 | packages: Patches can be any lowerable object....* guix/packages.scm (patch-and-repack)[instantiate-patch]: Replace
'origin?' with 'struct?'.
| Ludovic Courtès |
2017-06-15 | guix: Add texlive importer....* guix/import/texlive.scm: New file.
* guix/scripts/import/texlive.scm: New file.
* Makefile.am (MODULES): Add them.
* tests/texlive.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* guix/scripts/import.scm (importers): Add texlive importer.
* doc/guix.texi (Invoking guix import): Document it.
| Ricardo Wurmus |
2017-06-15 | build-system: Add 'texlive-build-system'....* guix/build-system/texlive.scm: New file.
* guix/build/texlive-build-system.scm: New file.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document it.
* gnu/packages/tex.scm (%texlive-tag, %texlive-revision): Remove variables.
(texlife-ref): Remove procedure.
| Ricardo Wurmus |
2017-06-15 | licenses: Add common TeX and LaTeX licenses....* guix/licenses.scm (knuth, lppl, lppl1.0+, lppl1.2, lppl1.2+, lppl1.3,
lppl1.3+, lppl1.3a, lppl1.3a+, lppl1.3b, lppl1.3b+, lppl1.3c, lppl1.3c+): New
variables.
| Ricardo Wurmus |
2017-06-15 | guix: Add download-svn-to-store....* guix/svn-download.scm (download-svn-to-store): New procedure.
| Ricardo Wurmus |
2017-06-15 | import: pypi: Always use pypi.io URL with downcased package name....* guix/import/pypi.scm (make-pypi-sexp): Always use pypi.io URL with
downcased package name.
| Danny Milosavljevic |
2017-06-13 | guix package: '--search' sorts by relevance....* guix/scripts/package.scm (find-packages-by-description): Rewrite to
compute a score based on the number of regexps matched and the number of
matches for each regexp. Sort according to this score and return it as
a second value.
(process-query) <'search>: Capture the two return values of
'find-packages-by-description'. Pass #:extra-fields to
'package->recutils'.
* doc/guix.texi (Invoking guix package): Mention relevance, give an
example.
| Ludovic Courtès |
2017-06-13 | ui: 'package->recutils' takes #:extra-fields....* guix/ui.scm (package->recutils): Add #:extra-fields and honor it.
| Ludovic Courtès |
2017-06-12 | derivations: Introduce 'read-derivation-from-file'....This avoids the open/fstat/close syscalls upon a cache hit that we had
with the previous idiom:
(call-with-input-file file read-derivation)
where caching happened in 'read-derivation' itself.
* guix/derivations.scm (%read-derivation): Rename to...
(read-derivation): ... this.
(read-derivation-from-file): New procedure.
(derivation-prerequisites, substitution-oracle)
(derivation-prerequisites-to-build):
(derivation-path->output-path, derivation-path->output-paths):
(derivation-path->base16-hash, map-derivation): Use
'read-derivation-from-file' instead of (call-with-input-file …
read-derivation).
* guix/grafts.scm (item->deriver): Likewise.
* guix/scripts/build.scm (log-url, options->things-to-build): Likewise.
* guix/scripts/graph.scm (file->derivation): Remove.
(derivation-dependencies, %derivation-node-type): Use
'read-derivation-from-file' instead.
* guix/scripts/offload.scm (guix-offload): Likewise.
* guix/scripts/perform-download.scm (guix-perform-download): Likewise.
* guix/scripts/publish.scm (load-derivation): Remove.
(narinfo-string): Use 'read-derivation-from-file'.
| Ludovic Courtès |
2017-06-12 | store: Speed up 'add-to-store'....* guix/store.scm (add-to-store): Remove 'lstat' call.
| Ludovic Courtès |
2017-06-11 | build-system/gnu: Work around 'time-monotonic' bug in Guile 2.2.2....Fixes <http://bugs.gnu.org/27303>.
Reported by Leo Famulari <leo@famulari.name>.
* guix/build/gnu-build-system.scm (time-monotonic) [guile-2.2]: Define.
| Ludovic Courtès |
2017-06-11 | Merge branch 'master' into core-updates...Conflicts:
* gnu/packages/tls.scm (gnutls): Incorporated 3.5.13 graft (88e2511e217f2).
| Marius Bakke |
2017-06-10 | bootloader: Rename boot-name to bootloader-name....* gnu/system (<boot-parameters>)[boot-name]: Rename field to...
[bootloader-name]: ... this. Adjust users.
* gnu/scripts/system.scm: Adjust accordingly.
| Mathieu Othacehe |
2017-06-10 | Merge branch 'master' into core-updates | Marius Bakke |
2017-06-09 | guix: git: Add new module....* guix/git.scm: New file.
* configure.ac: Check for (guile git).
* Makefile.am: Build guix/git.scm if (guile git) is available.
| Mathieu Othacehe |
2017-06-08 | build-system: emacs: Factorize include/exclude default arguments....The `install' phase of the emacs-build-system contained default arguments
duplicated from the host side `emacs-build' procedure. This change factorizes
them so that:
1. They are not duplicated.
2. They can be reused and extended easily when defining emacs packages.
* guix/build/emacs-build-system.scm (%default-include, %default-exclude): New
variables.
(install): Use %default-include and %default-exclude as default arguments.
* guix/build-system/emacs.scm: Use and re-export %default-include,
%default-exclude from (guix build emacs-build-system).
(emacs-build): Use %default-include and %default-exclude as default arguments.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Maxim Cournoyer |
2017-06-07 | Merge branch 'master' into core-updates...This merge commit includes a fix for CVE-2017-6512 in Perl 5.26.0.
| Leo Famulari |
2017-06-07 | import: cpan: Update CPAN importer to use MetaCPAN v1 API....* guix/import/cpan.scm (module->dist-name, cpan-fetch): Use metacpan.org
URLs.
* tests/cpan.scm ("cpan->guix-package"): Adjust accordingly.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| James Richardson |
2017-06-04 | ssh: Improve error reporting when 'send-files' fails....Fixes <http://bugs.gnu.org/26972>.
* guix/ssh.scm (store-import-channel)[import]: Add 'consume-input'
procedure. Wrap body in 'catch' and 'guard'. Use 'open-remote-pipe'
with OPEN_BOTH instead of 'open-remote-output-pipe'.
(send-files): After the 'channel-send-eof' call, do (read port).
Interpret the result sexp and raise an error condition if needed.
| Ludovic Courtès |
2017-06-04 | Merge branch 'master' into core-updates | Leo Famulari |
2017-06-04 | scripts: refresh: Add -m manifest option....* guix/scripts/refresh.scm (%options): Add -m option,
(show-help): document it,
(packages-from-manifest): new procedure,
(guix-refresh): use packages from manifest if specified, otherwise
keep the previous behaviour.
* doc/guix.texi (Invoking guix refresh): document new option.
| Mathieu Othacehe |
2017-06-03 | Merge branch 'master' into core-updates... Conflicts:
gnu/packages/image.scm
(incorporated libtiff graft)
| Marius Bakke |
2017-06-03 | licenses: Add CC-BY 4.0....* guix/licenses.scm (cc-by4.0): New variable.
| Marius Bakke |
2017-06-02 | substitute: Do not display the installed size....* guix/scripts/substitute.scm (process-substitution): Do not show the
installed size in the "Downloading" message.
| Ludovic Courtès |
2017-06-02 | ui: 'show-what-to-build' warns when we don't have enough disk space....* guix/ui.scm (check-available-space): New procedure.
(show-what-to-build): Compute 'installed-size' and call
'check-available-space'.
| Ludovic Courtès |
2017-06-02 | syscalls: Provide 'free-disk-space'....* guix/build/syscalls.scm (free-disk-space): New procedure.
* guix/scripts/gc.scm (guix-gc)[ensure-free-space]: Use it instead of
'statfs'.
| Ludovic Courtès |
2017-06-02 | ui: 'show-what-to-build' displays how much will be downloaded....* guix/ui.scm (show-what-to-build)[download-size]
[display-download-size?]: New variables.
Add cases for when DISPLAY-DOWNLOAD-SIZE? is true.
| Ludovic Courtès |
2017-06-02 | derivations: 'derivation-prerequisites-to-build' returns <substitutable>....* guix/derivations.scm (derivation-prerequisites-to-build): Rename
#:substitutable? to #:substitutable-info.
[derivation-substitutable?]: Rename to...
[derivation-substitutable-info]: ... this. Return a list of <substitutable>.
Second return value is now a list of <substitutable> instead of a list
of strings.
* guix/ui.scm (show-what-to-build)[substitutable?]: Rename to...
[substitutable-info]: ... this.
Adjust to new 'derivation-prerequisites-to-build' return value type.
* tests/derivations.scm ("derivation-prerequisites-to-build and
substitutes"): Adjust.
("derivation-prerequisites-to-build and substitutes, local build"):
Likewise.
| Ludovic Courtès |
2017-06-02 | derivations: 'substitution-oracle' returns a <substitutable>....* guix/derivations.scm (substitution-oracle): Use
'substitution-path-info' instead of 'substitution-paths'. Turn SUBST
into a vhash from path to <substitutable>. Change the returned
procedure to provide a <substitutable> instead of a Boolean.
* tests/derivations.scm ("substitution-oracle and #:substitute? #f"):
Mock 'substitutable-path-info' instead of 'substitutable-paths'.
| Ludovic Courtès |
2017-06-01 | utils: Add helper for invoking programs....* guix/build/utils.scm (invoke): New variable.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Danny Milosavljevic |
2017-05-31 | build: font: Support font collection files....* guix/build/font-build-system.scm (install): Support TrueType
Collection (TTC) and OpenType Collection (OTC) files.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Alex Griffin |
2017-05-30 | build-system/gnu: 'compress-documentation' phase handles double symlinks....The compress-documentation phase was breaking recursive symbolic links used
for manuals, which was made visible by the `find-files' call in the recently
added `manual-database' profile hook. See <http://bugs.gnu.org/26771>.
* guix/build/gnu-build-system.scm (compress-documentation)
[points-to-symbolic-link?]: New procedure.
[maybe-compress-directory]: Use `points-to-symbolic-link?' to filter out
symbolic links that shouldn't be retargetted, and re-order the calls to
`retarget-symlink' and `documentation-compressor'.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Maxim Cournoyer |
2017-05-30 | git-download: Fix 'git-predicate' to use absolute paths....git ls-files will return paths relative to the repository directory. This
commit prepends the repository directory to those paths when calling lstat,
such that 'git-predicate' works if the current working directory is not the
repository directory.
* guix/git-download.scm (git-predicate): Prepend repository directory to the
file path when calling lstat.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Christopher Baines |
2017-05-30 | build-system/cmake: Add support for cross compilation....Fixes <https://bugs.gnu.org/26897>.
* guix/build-system/gnu.scm: Export standard-cross-packages.
* guix/build-system/cmake.scm (cmake-cross-build): New procedure.
(lower): Add support for cross-builds.
* guix/build/cmake-build-system.scm (configure): Handle "target" argument.
| Ricardo Wurmus |
2017-05-30 | download: Work around GnuTLS bug with UTF-8 certificate file names....Reported by Mark H Weaver <mhw@netris.org>
at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26948#17>.
* guix/build/download.scm (set-certificate-credentials-x509-trust-file!*):
New procedure.
(make-credendials-with-ca-trust-files): Use it instead of
'set-certificate-credentials-x509-trust-file!'.
| Ludovic Courtès |