summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2016-08-09grafts: Make grafting faster.Mark H Weaver
* guix/build/graft.scm (replace-store-references): Reimplement for faster grafting. Use binary I/O instead of textual I/O. Replace 'mapping' argument (an alist) with 'replacement-table' (a vhash). (rewrite-directory): Adapt to mapping argument change in 'replace-store-references'. Remove 'with-fluids' that previously set '%default-port-encoding' to #f, since we now use binary I/O. (define-inline, hash-length): New macros. (nix-base32-char?): New variable.
2016-08-05download: Add download.kde.org to kde mirrors.David Craven
* guix/download.scm (%mirrors)[kde]: Add download.kde.org.
2016-08-04ui: Remove dependency on (gnu system file-systems).Ludovic Courtès
* guix/ui.scm (specification->file-system-mapping): Move to... * gnu/system/file-systems.scm (specification->file-system-mapping): ... here.
2016-08-04Merge branch 'core-updates'Mark H Weaver
2016-08-04Revert "Merge branch 'core-updates'"Mark H Weaver
This reverts commit 455859a50f88f625d13fc2f304111f02369b366b.
2016-08-02guix system: Fix the Shepherd error handling fix.Ludovic Courtès
This is a followup to aa1e73a996ad170fecac848f203528aeb3d2173e. * guix/scripts/system.scm (with-shepherd-error-handling): Return two values when an exception is caught.
2016-08-02guix system: Properly report Shepherd errors when upgrading services.Ludovic Courtès
Fixes regression introduced in 8bf92e3904cb656d4c2160fc8befebaf21a65492. Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/24135>. * guix/scripts/system.scm (with-shepherd-error-handling): Rename 'body' to 'mbody'. Expand to a monadic procedure that runs MBODY.
2016-08-02lint: 'inputs-should-be-native' checks for extra-cmake-modules and qttools.David Craven
* guix/scripts/lint.scm (check-inputs-should-be-native): Warn when extra-cmake-modules or qttools isn't a native-input.
2016-08-02gnu-maintenance: Add KDE updater.David Craven
* guix/gnu-maintenance.scm (kde-package?, latest-kde-release): New private functions. (%kde-updater): New public variable. * guix/scripts/refresh.scm (list-updaters): Add %kde-updater. * doc/guix.texi (Invoking guix refresh): Mention the new updater.
2016-08-02download: Add KDE mirrors.David Craven
* guix/download.scm (%mirrors)[kde]: Add kde mirrors.
2016-08-01Merge branch 'core-updates'Ludovic Courtès
2016-08-01publish: Do not compress already-compressed files.Ludovic Courtès
* guix/scripts/publish.scm (narinfo-string): Force %NO-COMPRESSION when STORE-PATH matches 'compressed-file?'. * guix/utils.scm (compressed-file?): New procedure. * tests/publish.scm ("/*.narinfo for a compressed file"): New test.
2016-07-31Merge branch 'master' into core-updatesMark H Weaver
2016-07-31download: Add mirror.hydra.gnu.org as a content-addressed mirror.Ludovic Courtès
* guix/download.scm (%content-addressed-mirrors): Add 'mirror.hydra.gnu.org'.
2016-07-31download: Pass the raw file name to content-addressed mirrors.Ludovic Courtès
* guix/build/download.scm (url-fetch)[content-addressed-uris]: Call 'strip-store-file-name' on FILE before passing it to 'make-url'.
2016-07-30emacs: Disable grafts when dry-run is enabled.Alex Kost
* emacs/guix-main.scm (process-package-actions): Set grafting according to 'dry-run?'. * guix/scripts.scm (build-package): Disable grafts when 'dry-run?' is #t. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-29Merge branch 'master' into core-updatesMark H Weaver
2016-07-29size: Fix corner case with multiple items on the command line.Ludovic Courtès
Fixes 'guix size foo bar' when 'foo' is in the local store and 'bar' isn't, which could lead to an incomplete requisite list. * guix/scripts/size.scm (requisites*): Partition ITEMS according to 'valid-path?'. Use 'substitutable-requisites' only on invalid items.
2016-07-28Merge branch 'master' into core-updatesLeo Famulari
2016-07-28Merge branch 'master' into core-updatesMark H Weaver
2016-07-28guix package: Suggest prefix search path settings.Ludovic Courtès
* guix/scripts/package.scm (build-and-use-profile): Pass #:kind 'prefix to 'display-search-paths'.
2016-07-28packages: Add 'hidden-package'.Ludovic Courtès
* guix/packages.scm (hidden-package, hidden-package?): New procedures. * gnu/packages.scm (fold-packages): Filter out 'hidden-package?'. * tests/packages.scm ("hidden-package"): New test.
2016-07-28Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2016-07-27zlib: Protect against non-empty port internal buffers.Ludovic Courtès
* guix/zlib.scm (make-gzip-input-port)[gzfile]: Error out if (drain-input port) returns a non-empty string. * guix/zlib.scm (make-gzip-output-port)[gzfile]: Call 'force-output'.
2016-07-27zlib: Clarify when 'gzread!' can return zero.Ludovic Courtès
* guix/zlib.scm (gzread!): Augment docstring to clarify when zero is returned (based on reading zlib code). (make-gzip-input-port)[read!]: Remove scary comment.
2016-07-26profiles: Output in 'package->manifest-entry' defaults to "out".Ludovic Courtès
Fixes <http://bugs.gnu.org/24029>. Reported by Dylan Jeffers <sapientech@openmailbox.org>. * guix/profiles.scm (package->manifest-entry): Change #:output to default to "out". (packages->manifest): Add 'package?' in second 'match' clause. * tests/profiles.scm ("package->manifest-entry defaults to \"out\""): New test.
2016-07-26environment: Set 'GUIX_ENVIRONMENT' to the profile.Ludovic Courtès
* guix/scripts/environment.scm (create-environment): Set 'GUIX_ENVIRONMENT' to PROFILE. * tests/guix-environment.sh: Test it. * doc/guix.texi (Invoking guix environment): Document it.
2016-07-26import: pypi: Correctly handle new-style URLs.Ludovic Courtès
Fixes <http://bugs.gnu.org/23997>. * guix/import/pypi.scm (guix-package->pypi-name): Rewrite using 'basename' and 'hyphen-package-name->name+version'. * tests/pypi.scm ("guix-package->pypi-name, old URL style") ("guix-package->pypi-name, new URL style"): New tests.
2016-07-25Merge remote-tracking branch 'origin/master' into core-updatesAndreas Enge
2016-07-25profiles: Add fonts-dir-file hook.Alex Kost
* guix/profiles.scm (fonts-dir-file): New procedure. (%default-profile-hooks): Add it.
2016-07-24lint: 'inputs-should-be-native' checks for intltool, itstool and glib:bin.David Craven
* guix/scripts/lint.scm (check-inputs-should-be-native): Warn when intltool, itstool or glib:bin isn't a native-input. * tests/lint.scm (inputs: glib:bin is probably a native input): Add test. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-07-24download: Add SourceForge load balancer.Alex Griffin
* guix/download.scm (%mirrors)[sourceforge]: Add canonical load balancer for sourceforge.net. Signed-off-by: Leo Famulari <leo@famulari.name>
2016-07-22Merge branch 'master' into core-updatesLeo Famulari
Resolved conflicts: * gnu/packages/scheme.scm: Conflict in import of (guix licenses). On master, "#:hide (openssl)" was used. On core-updates, "#:select (some licenses)" was used. The latter won the conflict. * gnu/packages/version-control.scm (git)[arguments]: Whitespace conflict in 'install-shell-completion.
2016-07-20pull: Install (guix config) module to override the user's one.Ludovic Courtès
* build-aux/build-self.scm (zlib, gzip, bzip2, xz): New variables. (build)[storedir, localstatedir, sysconfdir, sbindir]: New variables. [builder]: Pass them to 'build-guix'. * guix/build/pull.scm (build-guix): Add #:system, #:storedir, #:localstatedir, #:sysconfdir, #:sbindir, #:package-name, #:package-version, #:bug-report-address, #:home-page-url, #:libgcrypt, #:zlib, #:gzip, #:bzip2, and #:xz. Remove #:gcrypt. Instantiate all the substitution variables in (guix config). Remove code to delete OUT/guix/config.{scm,go}. * guix/config.scm.in: Add note about (guix script pull).
2016-07-20config: Export the raw installation directories.Ludovic Courtès
* guix/config.scm.in (%storedir, %localstatedir) (%sysconfdir, %sbindir): New variables. (%store-directory): Use %STOREDIR. (%state-directory): Use %LOCALSTATEDIR. (%config-directory): Use %SYSCONFDIR. (%guix-register-program): Use %SBINDIR.
2016-07-20download: Prepare to support the 'guix publish' /file URLs.Ludovic Courtès
* guix/download.scm (%content-addressed-mirrors): Add 'file' parameter to the lambda. * guix/build/download.scm (url-fetch)[content-addressed-uris]: Adjust accordingly.
2016-07-20publish: Handle '/file' URLs, for content-addressed files.Ludovic Courtès
* guix/scripts/publish.scm (render-content-addressed-file): New procedure. (http-write): Add 'application/octet-stream' case. (make-request-handler): Add /file/NAME/sha256/HASH URLs. * tests/publish.scm ("/file/NAME/sha256/HASH") ("/file/NAME/sha256/INVALID-NIX-BASE32-STRING") ("/file/NAME/sha256/INVALID-HASH"): New tests. * doc/guix.texi (Invoking guix publish): Mention the /file URLs.
2016-07-20derivations: Export 'fixed-output-path'.Ludovic Courtès
* guix/derivations.scm (fixed-output-path): Change 'output', 'hash-algo', and 'recursive?' to keyword parameters. Export. (derivation): Adjust accordingly.
2016-07-20Merge branch 'master' into core-updatesLudovic Courtès
2016-07-19publish: Keep compression disabled when zlib is missing.Ludovic Courtès
Reported by David Thompson. * guix/scripts/publish.scm (%options)[--compression]: Warn if LEVEL > 0 and zlib is missing, and return RESULT.
2016-07-19publish: Add '--compression'.Ludovic Courtès
* guix/scripts/publish.scm (show-help, %options): Add '--compression'. (<compression>): New record type. (%no-compression, %default-gzip-compression): New variables. (%default-options): Add 'compression' key. (narinfo-string): Add #:compression parameter and honor it. (render-narinfo): Likewise. (render-nar): Likewise. <top level>: Add call to 'declare-header!'. (swallow-zlib-error): New macro. (nar-response-port): New procedure. (http-write): Add call to 'force-output'. Use 'nar-response-port' instead of 'response-port'. Use 'swallow-zlib-error'. (make-request-handler): Add #:compression parameter and honor it. Add "nar/gzip" URL handler. (run-publish-server): Add #:compression parameter and honor it. (guix-publish): Honor --compression. * tests/publish.scm (http-get-port, wait-until-ready): New procedures. <top level>: Run main server with "-C0". Call 'wait-until-ready'. ("/nar/gzip/*", "/*.narinfo with compression"): New tests. * doc/guix.texi (Invoking guix publish): Document it.
2016-07-19Add (guix zlib).Ludovic Courtès
* guix/zlib.scm, tests/zlib.scm: New files. * Makefile.am (MODULES): Add guix/zlib.scm. (SCM_TESTS): Add tests/zlib.scm. * m4/guix.m4 (GUIX_LIBGCRYPT_LIBDIR): New macro. * configure.ac (LIBGCRYPT_LIBDIR): Use it. Define and substitute 'LIBZ'. * guix/config.scm.in (%libz): New variable.
2016-07-16guix gc: Display of saved space for garbage collection.Vincent Legoll
Fixes <http://bugs.gnu.org/23979>. * guix/scripts/gc.scm (guix-gc): Display freed bytes. Signed-off-by: Vincent Legoll <vincent.legoll@idgrilles.fr> Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2016-07-16build: Substitute URLs now default to "mirror.hydra.gnu.org" alone.Ludovic Courtès
* config-daemon.ac: Remove "hydra.gnu.org" from 'guix_substitute_urls'. * guix/store.scm (%default-substitute-urls): Remove "hydra.gnu.org".
2016-07-14records: Improve reporting of invalid field specifiers.Ludovic Courtès
Fixes <http://bugs.gnu.org/23969>. Reported by Vincent Legoll <vincent.legoll@gmail.com>. * guix/records.scm (report-invalid-field-specifier): New procedure. * tests/records.scm ("define-record-type* & wrong field specifier"): New test.
2016-07-14challenge: Disable grafting.Ludovic Courtès
* guix/scripts/challenge.scm (guix-challenge): Set %GRAFT? to #f.
2016-07-14substitute: Gracefully handle trailing slashes in URLs.Ludovic Courtès
Previously, using something like "--substitute-urls=http://example.org///" would lead to a 'cache-narinfo!' call with #f as its second argument. It would also do the wrong thing for URLs with a non-empty initial path component, such as "http://example.org/foo/bar". * guix/scripts/substitute.scm (fetch-narinfos)[handle-narinfo-response]: Add call to 'basename' for PATH.
2016-07-13lint: 'validate-uri' reports suspiciously small 200 responses.Ludovic Courtès
* guix/scripts/lint.scm (validate-uri): Upon 200 http-response, check the 'response-content-length' and emit a warning when it is <= 1000. * tests/lint.scm (call-with-http-server): Add 'data' parameter. (with-http-server): Likewise. (%long-string): New variable. ("home-page: 200"): Pass %LONG-STRING to 'with-http-server'. ("home-page: 404", "source: 200", "source: 404"): Likewise. ("home-page: 200 but short length"): New test. ("source: 200 but short length"): New test.
2016-07-13download: Attempt to update SourceForge mirror URLs.Ludovic Courtès
* guix/download.scm (%mirrors)[sourceforge]: End in "/project" instead of "/sourceforge". Remove a couple of dangling URLs.
2016-07-12packages: <origin> no longer has an 'imported-modules' field.Ludovic Courtès
* guix/packages.scm (<origin>)[imported-modules]: Remove. (patch-and-repack): Remove #:imported-modules. Use 'with-imported-modules'. Remove #:modules argument to 'gexp->derivation'. (origin->derivation): Adjust accordingly. * doc/guix.texi (origin Reference): Adjust accordingly.