Age | Commit message (Expand) | Author |
2017-07-12 | substitute: Work around Guile 2.2 'time-monotonic' bug....Prior to this change, half of the cached narinfos would expire
immediately since they contained the number of nanoseconds instead of
the number of seconds as their date.
* guix/scripts/substitute.scm (time-monotonic) <guile-2.2>: Define, as a
workaround.
| Ludovic Courtès |
2017-07-12 | size: Add '--sort=KEY'....* guix/scripts/size.scm (profile-closure<?, profile-self<?): New
procedures.
(display-profile): Add #:profile<? parameter and honor it.
(show-help, %options): Add '--sort'.
(%default-options): Add 'profile<?'.
(guix-size): Pass PROFILE<? to 'display-profile*'.
* doc/guix.texi (Invoking guix size): Document '--sort'.
| Ludovic Courtès |
2017-07-12 | environment: Rationalize calls to 'set-build-options'....Before this change '--substitute-urls' would be ignored.
* guix/scripts/environment.scm (build-environment): Remove redundant
call to 'set-build-options-from-command-line*'.
(guix-environment): Move 'set-build-options-from-command-line' right
after 'with-store'.
| Ludovic Courtès |
2017-07-12 | syscalls: Add network-interface-running?...* guix/build/syscalls.scm (network-interface-running?): New variable.
Export it.
* tests/syscalls.scm: Add test.
Co-authored-by: John Darrington <jmd@gnu.org>
| Danny Milosavljevic |
2017-07-11 | store: Account for 'add-to-store' in RPC statistics....* guix/store.scm (add-to-store): Add call to 'record-operation'.
| Ludovic Courtès |
2017-07-10 | Merge branch 'master' into core-updates | Leo Famulari |
2017-07-10 | syscalls: Adjust 'dirent64' struct for GNU/Hurd....Reported by rennes@openmailbox.org.
* guix/build/syscalls.scm (file-type->symbol): New procedure.
(%struct-dirent-header): Rename to...
(%struct-dirent-header/linux): ... this. Rename introduced bindings as
well.
(%struct-dirent-header/hurd): New C struct.
(define-generic-identifier): New macro.
(read-dirent-header, %struct-dirent-header, sizeof-dirent-header):
Define in terms of 'define-generic-identifier'.
| Ludovic Courtès |
2017-07-09 | build-system: texlive: Build union in configure phase....This allows us to use texmf.cnf instead of having to set all required
environment variables manually.
* guix/build/texlive-build-system.scm (configure): New procedure.
(build): Simplify.
(%standard-phases): Add configure phase.
* guix/build-system/texlive.scm (texlive-build): Include (guix build union) in
modules.
(%texlive-build-system-modules): Likewise.
| Ricardo Wurmus |
2017-07-09 | build-system: texlive: Only build packages in the current directory....* guix/build/texlive-build-system.scm (build): Use scandir instead of
find-files.
| Ricardo Wurmus |
2017-07-03 | discovery: Recurse into directories pointed to by a symlink....Reported by Christopher Baines <mail@cbaines.net>
and Alex Kost <alezost@gmail.com>
at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00290.html>.
* guix/discovery.scm (scheme-files): When ENTRY is a symlink that
doesn't end in '.scm', call 'stat' and recurse if it points to a
directory.
* tests/discovery.scm ("scheme-modules recurses in symlinks to
directories"): New test.
| Ludovic Courtès |
2017-07-03 | copy: Default to port 22....Failing to do that, "%p" would be "0" when using "ProxyCommand"
in ~/.ssh/config.
* guix/scripts/copy.scm (send-to-remote-host): Default to port 22.
(retrieve-from-remote-host): Likewise.
| Ludovic Courtès |
2017-07-03 | packages: Mark 'replacement' as an "innate" field....Suggested by Mark H Weaver
at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00355.html>.
* guix/packages.scm (<package>)[replacement]: Mark as "innate".
* gnu/packages/base.scm (glibc-2.25-patched, glibc-2.24)
(glibc-2.23, glibc-2.22, glibc-2.21, glibc-locales): Remove
'replacement' field, which was set to #f.
* gnu/packages/commencement.scm (perl-boot0): Likewise.
* gnu/packages/fontutils.scm (graphite2/fixed): Likewise.
* gnu/packages/ghostscript.scm (ghostscript/fixed): Likewise.
* gnu/packages/gnupg.scm (libgcrypt-1.7.8): Likewise.
* gnu/packages/guile.scm (guile-2.0/fixed, guile-2.2): Likewise.
* gnu/packages/icu4c.scm (icu4c/fixed): Likewise.
* gnu/packages/image.scm (libpng-apng): Likewise.
* gnu/packages/make-bootstrap.scm (%guile-static): Likewise.
* gnu/packages/pcre.scm (pcre/fixed): Likewise.
* gnu/packages/perl.scm (perl/fixed): Likewise.
* gnu/packages/ruby.scm (ruby-2.3, ruby-2.2, ruby-2.1)
(ruby-1.8): Likewise.
* gnu/packages/tls.scm (gnutls-3.5.13, gnutls/guile-2.2): Likewise.
* gnu/packages/xml.scm (expat-2.2.1): Likewise.
| Ludovic Courtès |
2017-07-03 | profiles: xdg-desktop-database: Run the hook when GLib is referenced....This will pull the latest 'desktop-file-utils' package into the profile
closure, as the 'xdg-mime-database' hook already does.
* guix/profiles.scm (xdg-desktop-database): Run the hook when 'glib' is
referenced.
| 宋文武 |
2017-07-03 | guix system: Add "--file-system-type" option....* guix/scripts/system.scm (process-action): Pass file-system-type to ...
(perform-action): ... here. Add new keyword argument. Pass new value to ...
(system-derivation-for-action): ... here. Add new keyword argument.
Pass new value to system-disk-image.
* doc/guix.texi (disk-image): Document new option.
| Danny Milosavljevic |
2017-07-02 | ui: package->recutlis: Remove duplicated package names in dependencies....* guix/ui.scm (package->recutils): Add call to 'delete-duplicates' in
'dependencies->recutils'.
| 宋文武 |
2017-07-02 | store: 'references/substitutes' really caches its result....Until now the cache was always empty because 'for-each' was passed ITEMS
as its second argument, and ITEMS was the empty list at that point.
* guix/store.scm (references/substitutes): Add 'requested' variable.
Use it as second argument of 'for-each' in base case.
| Ludovic Courtès |
2017-07-02 | store: 'references/substitutes' save an RPC is the trivial case....* guix/store.scm (references/substitutes): Save a
'substitutable-path-info' call when MISSING is empty.
| Ludovic Courtès |
2017-07-01 | guix: git: Stop using libgit2-shutdown....* guix/git.scm (with-libgit2): Stop calling (libgit2-shutdown) to prevent
segfaults when pointer finalizers are run.
| Mathieu Othacehe |
2017-06-30 | Merge branch 'master' into core-updates | Ludovic Courtès |
2017-06-30 | vm: Estimate the disk size by default....* gnu/build/vm.scm (estimated-partition-size): New procedure.
* gnu/system/vm.scm (expression->derivation-in-linux-vm):
Change #:disk-image-size default to 'guess.
[builder]: When DISK-IMAGE-SIZE is 'guess, use
'estimated-partition-size' and compute and estimate of the image size.
(qemu-image): Likewise.
* guix/build/store-copy.scm (file-size, closure-size): New procedures.
* guix/scripts/system.scm (%default-options): Change 'image-size' to
'guess.
* doc/guix.texi (Building the Installation Image): Remove '--image-size'
flag from example.
(Invoking guix system): Document the image size estimate.
| Ludovic Courtès |
2017-06-29 | Merge branch 'master' into core-updates | Leo Famulari |
2017-06-26 | guix package: Allow '--rollback', after all....* guix/scripts/package.scm (%options): Add "rollback" as an alias for
"roll-back".
| Ludovic Courtès |
2017-06-26 | guix package: 'guix package -r PKG -u' does not upgrade PKG....Fixes <http://bugs.gnu.org/27262>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/package.scm (transaction-upgrade-entry): Check if ENTRY
matches 'manifest-transaction-removal-candidate?' and return TRANSACTION
if it does.
(process-actions): Move 'options->removable' from step 2 to step 1.
| Ludovic Courtès |
2017-06-26 | profiles: Add 'manifest-transaction-removal-candidate?'....* guix/profiles.scm (manifest-transaction-removal-candidate?): New
procedure.
* tests/profiles.scm ("manifest-transaction-removal-candidate?"): New
test.
| Ludovic Courtès |
2017-06-26 | import cran: Generate a valid 'license' field for "GPL"....Fixes <http://bugs.gnu.org/27294>.
Reported by Joshua Sierles <joshua@joshua.si>.
* guix/import/cran.scm (string->license) <"GPL">: Return a quoted list.
| Ludovic Courtès |
2017-06-26 | Merge branch 'master' into core-updates | Mark H Weaver |
2017-06-25 | guix package: Warn about packages that no longer exist....Fixes <http://bugs.gnu.org/27261>.
Reported by Mark H Weaver <mhw@netris.org>.
* guix/scripts/package.scm (transaction-upgrade-entry): Add call to
'warning' when NAME cannot be found in the package set.
| Ludovic Courtès |
2017-06-24 | refresh: Be more verbose when passed an explicit package list....* guix/scripts/refresh.scm (check-for-package-update): Use
'version-compare' instead of 'version>?'. When WARN? is true, print
something for the '=' and '<' cases.
| Ludovic Courtès |
2017-06-22 | store: Define a default port for TCP connections....* guix/store.scm (%default-guix-port): New variable.
(connect-to-daemon)[connect]: Use it when (uri-port uri) is #f.
* doc/guix.texi (The Store): Mention the default port number.
| Ludovic Courtès |
2017-06-22 | store: Pass a socket type hint to 'getaddrinfo'....* guix/store.scm (open-inet-socket): Pass hints in the 'getaddrinfo'
call.
| Ludovic Courtès |
2017-06-21 | environment: Disable profile collision checks....Reported by Efraim Flashner.
This is a followup to a654dc4bcf7c8e205bdefa1a1d5f23444dd22778.
* guix/profiles.scm (profile-derivation): Add #:allow-collisions? and
honor it.
* guix/scripts/environment.scm (inputs->profile-derivation): Pass
#:allow-collisions? #f to 'profile-derivation'.
* tests/guix-environment.sh: Test "guix environment guix".
| Ludovic Courtès |
2017-06-21 | profiles: Move 'manifest-entry-dependencies' user after definition....Reported by Efraim Flashner.
* guix/profiles.scm (manifest-transitive-entries): Move after
<manifest-entry> definition.
| Ludovic Courtès |
2017-06-21 | guix package: '--search-paths' shows search paths from propagated inputs....* guix/scripts/package.scm (process-query) <'search-paths>: Use
'manifest-transitive-entries' instead of 'manifest-entries'.
| Ludovic Courtès |
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 |