summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2016-07-16guix gc: Display of saved space for garbage collection....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> Vincent Legoll
2016-07-16build: Substitute URLs now default to "mirror.hydra.gnu.org" alone....* config-daemon.ac: Remove "hydra.gnu.org" from 'guix_substitute_urls'. * guix/store.scm (%default-substitute-urls): Remove "hydra.gnu.org". Ludovic Courtès
2016-07-14records: Improve reporting of invalid field specifiers....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. Ludovic Courtès
2016-07-14challenge: Disable grafting....* guix/scripts/challenge.scm (guix-challenge): Set %GRAFT? to #f. Ludovic Courtès
2016-07-14substitute: Gracefully handle trailing slashes in URLs....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. Ludovic Courtès
2016-07-13lint: 'validate-uri' reports suspiciously small 200 responses....* 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. Ludovic Courtès
2016-07-13download: Attempt to update SourceForge mirror URLs....* guix/download.scm (%mirrors)[sourceforge]: End in "/project" instead of "/sourceforge". Remove a couple of dangling URLs. Ludovic Courtès
2016-07-12packages: <origin> no longer has an 'imported-modules' field....* 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. Ludovic Courtès
2016-07-12gexp: Remove more uses of #:modules....* guix/scripts/system.scm (switch-to-system): Adjust comment. * tests/gexp.scm ("gexp->derivation #:references-graphs"): Use 'with-imported-modules' instead of #:modules. * tests/grafts.scm ("graft-derivation, preserve empty directories"): Likewise. Ludovic Courtès
2016-07-12gexp: 'program-file' and 'gexp->script' no longer have #:modules....* guix/gexp.scm (<program-file>)[modules]: Remove. (program-file): Remove #:modules and adjust accordingly. (program-file-compiler): Likewise. (gexp->script): Likewise. Ludovic Courtès
2016-07-12gexp: 'computed-file' no longer has a #:modules parameter....* guix/gexp.scm (<computed-file>)[modules]: Remove. (computed-file): Remove #:modules. (computed-file-compiler): Likewise. * doc/guix.texi (G-Expressions): Adjust accordingly. Ludovic Courtès
2016-07-12download: Use 'with-imported-modules'....* guix/cvs-download.scm (cvs-fetch): Use 'with-imported-modules' instead of the #:modules argument of 'gexp->derivation'. * guix/download.scm (url-fetch): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/hg-download.scm (hg-fetch): Likewise. * guix/svn-download.scm (svn-fetch): Likewise. Ludovic Courtès
2016-07-12profiles: Use 'with-imported-modules'....* guix/profiles.scm (info-dir-file): Use 'with-imported-modules' instead of the #:module argument to 'gexp->derivation'. (ghc-package-cache-file): Likewise. (ca-certificate-bundle): Likewise. (gtk-icon-themes): Likewise. (xdg-desktop-database): Likewise. (xdg-mime-database): Likewise. (profile-derivation): Likewise. Ludovic Courtès
2016-07-12gexp: 'gexp->file' emits code to set '%load-path'....* guix/gexp.scm (gexp->file): Add #:set-load-path? parameter and honor it. * gnu/system.scm (operating-system-parameters-file): Pass #:set-load-path? #f. * doc/guix.texi (G-Expressions): Adjust accordingly. Ludovic Courtès
2016-07-12gexp: Factorize load-path-setting expression....* guix/gexp.scm (load-path-expression): New procedure. (gexp->script): Use it. Ludovic Courtès
2016-07-12gexp: Add 'with-imported-modules' macro....* guix/gexp.scm (<gexp>)[modules]: New field. (gexp-modules): New procedure. (gexp->derivation): Use it and append the result to %MODULES. Update docstring to mark #:modules as deprecated. (current-imported-modules, with-imported-modules): New macros. (gexp): Pass CURRENT-IMPORTED-MODULES as second argument to 'gexp'. (gexp->script): Use and honor 'gexp-modules'; define '%modules'. * tests/gexp.scm ("gexp->derivation & with-imported-modules") ("gexp->derivation & nested with-imported-modules") ("gexp-modules & ungexp", "gexp-modules & ungexp-splicing"): New tests. ("program-file"): Use 'with-imported-modules'. Remove #:modules argument to 'program-file'. * doc/guix.texi (G-Expressions): Document 'with-imported-modules'. Mark #:modules of 'gexp->derivation' as deprecated. * emacs/guix-devel.el: Add syntax for 'with-imported-modules'. (guix-devel-keywords): Add it. * .dir-locals.el: Likewise. Ludovic Courtès
2016-07-12gexp: Keep only a single 'references' field....The distinction between native inputs and "normal" inputs can already be determined by looking at the 'native?' field of <gexp-input>. The extra 'natives' field of <gexp> added complexity for no good reason. * guix/gexp.scm (<gexp>)[natives]: Remove. (write-gexp): Remove use of 'gexp-native-references'. (gexp-inputs)[native-input?]: New procedure. Use it. (gexp->sexp)[reference->sexp]: Honor N? for input lists. Remove use of 'gexp-native-references'. (gexp)[collect-native-escapes]: Remove. Simplify. Ludovic Courtès
2016-07-03import: cpan: Use our mirrors for 'https' URLs....* guix/import/cpan.scm (fix-source-url): New procedure. (cpan-module->sexp): Use it to construct our source-url. * tests/cpan.scm: Add tests for fix-source-url. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Alex Sassmannshausen
2016-07-03guix: Support authentication when fetching from SVN....* guix/svn-download.scm (<svn-reference>): Add fields for optional credentials. (svn-fetch): Pass credentials to build-side "svn-fetch". * guix/build/svn.scm (svn-fetch): Pass optional credentials to svn command. Ricardo Wurmus
2016-07-02download: Update CPAN mirrors....* guix/download.scm (%mirrors)[cpan]: Remove enstimac.fr, which seems dead; add ibcp.fr. Ludovic Courtès
2016-06-29download: Use basic authentication when userinfo is present in URI....* guix/download.scm (url-fetch): Include (guix base64) module on the build-side. * guix/build/download.scm (http-fetch): Add "Authorization" header when userinfo is present in the URI. David Thompson
2016-06-26daemon: Rename 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'....Partly fixes <http://bugs.gnu.org/22459>. Reported by Jeff Mickey <j@codemac.net> and David Craven <david@craven.ch>. * nix/libstore/globals.cc (Settings::processEnvironment()): Change 'NIX_CONF_DIR' to 'GUIX_CONFIGURATION_DIRECTORY'. * nix/local.mk (libstore_a_CPPFLAGS): Likewise. * guix/config.scm.in (%config-directory): Likewise. * build-aux/test-env.in: Likewise. * gnu/packages/patches/hydra-automake-1.15.patch: Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org> David Craven
2016-06-25import: pypi: do not fail when 'run_requires' is missing from the metadata....* guix/import/pypi.scm (read-wheel-metadata): do not crash when 'run_requires' is missing from the metadata. Cyril Roelandt
2016-06-25guix: python-build-system: Change pypi-uri to use https://pypi.io....* guix/build-system/python.scm (pypi-uri): Use https://pypi.io. * gnu/packages/python.scm (python-twisted)[uri]: Remove https://pypi.io. 宋文武
2016-06-25utils: 'cache-directory' always appends "/guix"....Fixes <http://bugs.gnu.org/23836>. Fixes a regression introduced in f10dcbf1a92c147a2fedba6f774afa6a7013fcdf. Reported by myglc2 <myglc2@gmail.com>. * guix/utils.scm (cache-directory): Always append "/guix". Ludovic Courtès
2016-06-23bournish: Add 'wc' command....* guix/build/bournish.scm (lines+chars, file-exists?*, wc-print) (wc-l-print, wc-c-print, wc-command, wc-command-implementation) (wc-l-command-implementation, wc-c-command-implementation): New procedures. (%commands): Add 'wc'. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Efraim Flashner
2016-06-22substitute: Use ~/.cache when invoked by an unprivileged user....This is a followup to ea0c6e0507a6997f12a4f29d0445b51cf53bd81e. * guix/scripts/substitute.scm (%narinfo-cache-directory): Use 'cache-directory' when (getuid) returns non-zero. (cache-narinfo!): Remove 'catch'. Ludovic Courtès
2016-06-22utils: 'cache-directory' honors 'XDG_CACHE_HOME'....* guix/utils.scm (cache-directory): Honor 'XDG_CACHE_HOME', not 'XDG_CONFIG_HOME'. Ludovic Courtès
2016-06-22build: emacs: Search for elisp in "share/emacs/site-lisp"....* guix/build/emacs-build-system.scm (emacs-inputs-el-directories): Add ".../share/emacs/site-lisp" directory to the returned result as elisp files can also be placed there. Alex Kost
2016-06-20gexp: Use a relative file name....This is a followup to cbbbb7be0fbaa11ff75bce92f2d82131ff8db104. * guix/gexp.scm (%utils-module): Use a file name relative to this file instead of using 'search-path'. Ludovic Courtès
2016-06-20utils: 'current-source-directory' gracefully handles lack of source info....* guix/utils.scm (current-source-directory): Add case for when FILE-NAME is #f. Ludovic Courtès
2016-06-20utils: 'current-source-directory' resolves relative file names at run time....* guix/utils.scm (absolute-dirname): New procedure. (current-source-directory): Emit code to use it instead of calling 'search-path'. Ludovic Courtès
2016-06-20store: 'register-path' no longer swallows 'system-error' exceptions....* guix/store.scm (register-path): Do not catch 'system-error'. Ludovic Courtès
2016-06-16utils: 'current-source-directory' returns the absolute directory name....* guix/utils.scm (current-source-directory): When FILE-NAME is relative, use 'search-path' to determine the absolute file name. Ludovic Courtès
2016-06-16utils: 'current-source-directory' is now purely an expansion-time thing....* guix/utils.scm (extract-directory): Remove. (current-source-directory): Rewrite as a 'syntax-case' macro. Ludovic Courtès
2016-06-16packages: Disambiguate 'modules' and 'imported-modules' in <origin>....The two mistakes made here (confusion between 'modules' and 'imported-modules') were canceling each other. * guix/packages.scm (patch-and-repack): Use IMPORTED-MODULES, not MODULES, as the base of the module list passed as #:modules to 'gexp->derivation'. (origin->derivation): Pass IMPORTED-MODULES, not MODULES, as the #:imported-modules argument of 'patch-and-repack'. * gnu/packages/engineering.scm (fastcap)[source]: Add 'imported-modules' field. Ludovic Courtès
2016-06-16gexp: Add #:select? parameter to 'local-file'....* guix/gexp.scm (<local-file>)[select?]: New field. (true): New procedure. (%local-file): Add #:select? and honor it. (local-file): Likewise. * tests/gexp.scm ("local-file, #:select?"): New test. * doc/guix.texi (G-Expressions): Adjust accordingly. Ludovic Courtès
2016-06-16gexp: Move 'current-source-directory' to (guix utils)....* guix/gexp.scm (extract-directory, current-source-directory): Move to... * guix/utils.scm (extract-directory, current-source-directory): ... here. New procedures. Ludovic Courtès
2016-06-15guix: Add downloader for Mercurial repositories....* guix/build/hg.scm: New file. * guix/hg-download.scm: New file. * Makefile.am (MODULES): Add them. Ricardo Wurmus
2016-06-15store: Add #:select? parameter to 'add-to-store'....* guix/store.scm (write-arg): Remove 'file' case. (true): New procedure. (add-to-store): Add #:select? parameter and honor it. Use hand-coded stub instead of 'operation'. (interned-file): Add #:select? parameter and honor it. * doc/guix.texi (The Store Monad): Adjust 'interned-file' documentation accordingly. Ludovic Courtès
2016-06-15packages: The 'source' can be any lowerable object....* guix/packages.scm (expand-input): Use 'struct?' instead of 'origin?' when matching SOURCE. (package-source-derivation): Use 'lower-object' instead of 'origin->derivation'. * tests/packages.scm ("package-source-derivation, local-file"): New test. * doc/guix.texi (package Reference): Update 'source' documentation accordingly. Ludovic Courtès
2016-06-15packages: 'origin->derivation' expects an origin and nothing else....* guix/packages.scm (origin->derivation): Rename 'source' parameter to 'origin'. Move cases where SOURCE is a string to... (package-source-derivation): ... here. Ludovic Courtès
2016-06-15packages: Recognize the '.Z' extension....Reported by thomasd on #guix. * guix/packages.scm (patch-and-repack)[decompression-type]: Add "Z". Ludovic Courtès
2016-06-14import: pypi: read requirements from wheels....* doc/guix.tex (Invoking guix import): Mention that the pypi importer works better with "unzip". * guix/import/pypi.scm (latest-wheel-release, wheel-url->extracted-directory): New procedures. * tests/pypi.scm (("pypi->guix-package, wheels"): New test. Cyril Roelandt
2016-06-13utils: 'with-atomic-file-output' closes the port upon exception....Previously it could have left the file descriptor open. * guix/utils.scm (with-atomic-file-output): Call 'close-port' in handler. Ludovic Courtès
2016-06-13syscalls: Use 'syscall->procedure' everywhere....* guix/build/syscalls.scm (mkdtemp!, setns, %ioctl, network-interfaces): (free-ifaddrs): Use 'syscall->procedure'. Ludovic Courtès
2016-06-13utils: 'with-atomic-file-output' calls 'fdatasync'....Suggested by Danny Milosavljevic <dannym@scratchpost.org> at <https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00456.html>. * guix/build/syscalls.scm (fdatasync): New procedure. * guix/utils.scm (with-atomic-file-output): Use it. Use 'close-port' instead of 'close'. Ludovic Courtès
2016-06-12serialization: Add #:select? parameter to 'write-file'....* guix/serialization.scm (write-file): Add #:select? parameter and honor it. * tests/nar.scm ("write-file #:select? + restore-file"): New test. Ludovic Courtès
2016-06-12profiles: Make sure hook derivations fail upon error....Reported at <https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00368.html>. * guix/profiles.scm (info-dir-file)[build]: Add explicit call to 'exit'. * guix/profiles.scm (ghc-package-cache-file)[build]: Likewise. * guix/profiles.scm (xdg-desktop-database)[build]: Likewise. * guix/profiles.scm (xdg-mime-database)[build]: Likewise. Ludovic Courtès
2016-06-11profiles: manifest-lookup-package: Correctly handle package entries....* guix/profiles.scm (manifest-lookup-package): Consider the package entry in addition to its 'package-transitive-inputs'. 宋文武