summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2015-05-01derivations: Add #:leaked-env-vars parameter.Ludovic Courtès
Suggested by Joshua Randall <jcrandall@alum.mit.edu> in <http://bugs.gnu.org/20402>. * guix/derivations.scm (derivation): Add #:leaked-env-vars parameter. [user+system-env-vars]: Honor it. * guix/gexp.scm (gexp->derivation): Add #:leaked-env-vars and pass it to 'raw-derivation'. * doc/guix.texi (Derivations, G-Expressions): Adjust accordingly.
2015-05-01download: Simplify 'open-connection-for-uri' to support HTTP proxies.Ludovic Courtès
Partly fixes <http://bugs.gnu.org/20402>. Reported by Joshua Randall <jcrandall@alum.mit.edu>. * guix/build/download.scm (open-connection-for-uri): Rewrite to be a small wrapper around 'open-socket-for-uri'. This procedure was initially introduced in d14ecda to work around the lack of NSS modules during bootstrap but that has become unnecessary since 0621349, which introduced a bootstrap Guile that uses static NSS modules (from commit d3b5972.) On Guile >= 2.0.10, this allows the 'http_proxy' environment variable to be used.
2015-04-22packages: Add armhf-linux to %supported-systems.Mark H Weaver
* guix/packages.scm (%supported-systems): Add "armhf-linux".
2015-04-20ui: Add 'symlink' replacement with better error reporting.Ludovic Courtès
* guix/ui.scm (symlink): New procedure.
2015-04-20gexp: Add printers for <gexp-input> and <gexp-output>.Ludovic Courtès
* guix/gexp.scm (write-gexp-input, write-gexp-output): New procedures. (<gexp-input>, <gexp-output>): Use them as printers.
2015-04-20profiles: Create a CA certificate bundle only when it would be non-empty.Ludovic Courtès
* guix/profiles.scm (ca-certificate-bundle): Create $output/etc/ssl/certs if and only if CA-FILES is non-empty.
2015-04-19import: cpan: Fix license string for Artistic license.Eric Bavier
* guix/import/cpan.scm (string->license): Remove extraneous "_0" suffix for Artistics licenses.
2015-04-19guix package: Fix 'readlink*' implementation.Ludovic Courtès
* guix/scripts/package.scm (readlink*): Fix to handle symlinks with relative targets. Taken from ld-wrapper2.in.
2015-04-19guix package: -A and -s take supported systems into account.Ludovic Courtès
* guix/scripts/package.scm (guix-package)[process-query] <list-available>: Restrict results to packages matching 'supported-package?". * guix/ui.scm (package->recutils): Print "systems:". * tests/guix-package.sh: Add tests. * doc/guix.texi (Invoking guix package): Adjust description of '--list-available' accordingly.
2015-04-19packages: Add 'supported-package?'.Ludovic Courtès
* guix/packages.scm (supported-package?): New procedure. * tests/packages.scm ("supported-package?"): New test. * build-aux/hydra/gnu-system.scm (package->job): Use it instead of 'package-transitive-supported-systems'.
2015-04-17Merge branch 'core-updates'Mark H Weaver
2015-04-17monads: Optimize 'sequence'.Ludovic Courtès
* guix/monads.scm (sequence): Rewrite as a macro. This yields a 10% improvement in wall-clock time for 'guix system build'.
2015-04-17Merge branch 'master' into core-updatesMark H Weaver
Conflicts: gnu-system.am gnu/packages/gstreamer.scm
2015-04-16refresh: Allow users to refer to specific package versions.Ludovic Courtès
* guix/scripts/refresh.scm (guix-refresh): Use 'specification->package' instead of 'find-packages-by-name'. This allows users to specify things like "qt-4.8.6". * doc/guix.texi (Invoking guix refresh): Add an example.
2015-04-16build-system/haskell: Adjust to new 'modify-phases' syntax.Ludovic Courtès
* guix/build/haskell-build-system.scm (%standard-phases): Add missing quotes, as needed since commit f8503e2.
2015-04-15profiles: Generalize "hooks" for 'profile-derivation'.Ludovic Courtès
* guix/profiles.scm (info-dir-file): Remove (null? (manifest-entries manifest)) test. (ca-certificate-bundle): Likewise. (ghc-package-cache-file): Turn 'if' into 'and', and remove second arm. (%default-profile-hooks): New variable. (profile-derivation): Remove #:info-dir?, #:ghc-package-cache?, and #:ca-certificate-bundle?. Add #:hooks. Iterate over HOOKS. Adjust 'inputs' accordingly. * guix/scripts/package.scm (guix-package): Adjust 'profile-derivation' call accordingly. * tests/packages.scm ("--search-paths with pattern"): Likewise. * tests/profiles.scm ("profile-derivation", "profile-derivation, inputs"): Likewise.
2015-04-15build-system/haskell: Refer to %GNU-BUILD-SYSTEM-MODULES.Ludovic Courtès
Fixes a regression whereby haskell-build-system was using an incomplete module list. * guix/build-system/haskell.scm (%haskell-build-system-modules): New variable. (haskell-build): Use it as the default value of #:imported-modules.
2015-04-15packages: Refer to the native tools when handling sources and downloads.Ludovic Courtès
* guix/packages.scm (patch-and-repack)[build]: Change most #$ to #+. * guix/cvs-download.scm (cvs-fetch)[build]: Likewise. * guix/download.scm (url-fetch)[builder]: Likewise. * guix/git-download.scm (git-fetch)[build]: Likewise. * guix/svn-download.scm (svn-fetch)[build]: Likewise.
2015-04-14guix package: Add '--do-not-upgrade' option.Mark H Weaver
* guix/scripts/package.scm (%options): Add the '--do-not-upgrade' option. (show-help): Document it. (options->installable): Add 'do-not-upgrade-regexps' variable. Use it in 'packages-to-upgrade'. * doc/guix.texi (Invoking guix package): Document the '--do-not-upgrade' option.
2015-04-13lint: Add a 'derivation' checker.Ludovic Courtès
* guix/scripts/lint.scm (check-derivation): New procedure. (%checkers): Add 'derivation' checker. * tests/lint.scm ("derivation: invalid arguments"): New test.
2015-04-11packages: 'package-transitive-supported-systems' accounts for implicit inputs.Ludovic Courtès
Reported by Federico Beffa. * guix/packages.scm (package-transitive-supported-systems): Use bag-direct-inputs + package->bag rather than package-direct-inputs. * tests/packages.scm ("package-transitive-supported-systems"): Add explicit 'build-system' field to each 'dummy-package' form. ("package-transitive-supported-systems, implicit inputs"): New test.
2015-04-11packages: Add 'bag-direct-inputs'.Ludovic Courtès
* guix/packages.scm (bag-direct-inputs): New procedure. (bag-transitive-inputs): Use it.
2015-04-10lint: Report patches that cannot be found.Ludovic Courtès
* guix/scripts/lint.scm (check-patch-file-names): Wrap body in 'guard'. * tests/lint.scm ("patches: not found"): New test.
2015-04-10lint: Rename 'check-patches' to 'check-patch-file-names'.Ludovic Courtès
* guix/scripts/lint.scm (check-patches): Rename to... (check-patch-file-names): ... this. Rename 'filename' to 'file'. (%checkers): Adjust accordingly. * tests/lint.scm ("patches: file names"): Likewise.
2015-04-09Merge branch 'master' into core-updatesLudovic Courtès
2015-04-08http-client: Add workaround for HTTP pipelining on Guile <= 2.0.9.Ludovic Courtès
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>. * guix/http-client.scm (make-delimited-input-port): New procedure. Install it in (web response) for Guile <= 2.0.9.
2015-04-08profiles: Generate GHC's package database cache.Federico Beffa
* guix/profiles.scm (ghc-package-cache-file): New procedure. (profile-derivation): Add 'ghc-package-cache?' keyword argument. If true (the default), add the result of 'ghc-package-cache-file' to 'inputs'. * guix/scripts/package.scm (guix-package)[process-actions]: Pass #:ghc-package-cache? to 'profile-generation'. * tests/packages.scm ("--search-paths with pattern"): Likewise. * tests/profiles.scm ("profile-derivation"): Likewise.
2015-04-08build-system/haskell: Update configure flags, 'haddock' and %standard-phases.Federico Beffa
* guix/build/haskell-build-system.scm (%standard-phases): move 'haddock phase before 'install phase. * guix/build/haskell-build-system.scm (haddock): Simplify it as the 'install phase takes care of copying files. * guix/build/haskell-build-system.scm (configure): Add '--libsubdir' flag. Fix use of '--extra-include-dirs' and '--extra-lib-dirs' flags. Use 'doc', 'bin' and 'lib' outputs if they are defined. * guix/build/haskell-build-system.scm (make-ghc-package-database, register): Aligh location of 'package.conf.d' directory with '--libsubdir' flag.
2015-04-08import: Add hackage importer.Federico Beffa
* guix/import/hackage.scm: New file. * tests/hackage.scm: New file.
2015-04-08import: Add hackage importer.Federico Beffa
* guix/scripts/import.scm (importers): Add hackage. * guix/scripts/import/hackage.scm: New file. * po/guix/POTFILES.in: Add guix/scripts/import.scm. * doc/guix.texi: Add section on 'hackage' importer.
2015-04-08Merge branch 'master' into core-updates宋文武
2015-04-07gnu: Emit a warning when a package module cannot be loaded.Ludovic Courtès
* guix/ui.scm (warn-about-load-error): New procedure. * gnu/packages.scm (package-modules): Wrap 'resolve-interface' call in 'catch #t', and call 'warn-about-load-error' in handler.
2015-04-07ui: Add 'report-load-error'.Ludovic Courtès
* guix/scripts/system.scm (read-operating-system): Replace error handling code by a call to 'report-load-error'. * guix/ui.scm (report-load-error): New procedure.
2015-04-06utils: 'find-files' does not follow symlinks by default.Ludovic Courtès
Fixes <http://bugs.gnu.org/20081>. Reported by Tomáš Čech <sleep_walker@suse.cz>. * guix/build/utils.scm (find-files): Add #:stat parameter. Pass it as last argument to 'file-system-fold'.
2015-04-06guix package: Avoid 'exit' calls in 'delete-matching-generations'.Ludovic Courtès
* guix/scripts/package.scm (delete-matching-generations): Remove call to 'exit' when PATTERN is "0". Call 'leave' instead of 'exit' when (null-list? number).
2015-04-06guix package: Never remove the current generation and warn about it.Ludovic Courtès
Fixes <http://bugs.gnu.org/19978>. Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer). * guix/scripts/package.scm (delete-matching-generations): Warn when CURRENT is in NUMBERS, and always remove it before calling 'delete-generations'. * tests/guix-package.sh: Add --switch-generation=2 invocation before --delete-generations=3 invocation. Add --delete-generations=1.. test case.
2015-04-06guix package: Move generation deletion to its own procedure.Ludovic Courtès
* guix/scripts/package.scm (delete-matching-generations): New procedure, with code formerly found... (guix-package)[process-actions]: ... here. Use it. Remove 'current-generation-number'.
2015-04-06build-system/gnu: Add docstring to 'delete-info-dir-file'.Federico Beffa
* guix/build/gnu-build-system.scm (delete-info-dir-file): Add docstring.
2015-04-06build-system/gnu: Add 'delete-info-dir-file' phase.Federico Beffa
* guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it.
2015-04-05gremlin: Ignore non-store file names in RUNPATH and warn about them.Ludovic Courtès
* 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.
2015-04-04scripts: Add 'publish' command.David Thompson
* guix/scripts/publish.scm: New file. * po/guix/POTFILES.in: Add it. * tests/publish.scm: New file. * Makefile.am (MODULES): Add script module. (SCM_TESTS): Add test module. * doc/guix.texi ("Invoking guix publish"): New node.
2015-04-04store: Add query-path-info operation.David Thompson
* guix/store.scm (<path-info>): New record type. (read-path-info): New procedure. (read-arg): Add 'path-info' syntax. (query-path-info): New variable. * tests/store.scm ("query-path-info"): New test.
2015-04-04build-system: Add haskell-build-system.Federico Beffa
* guix/build-system/haskell.scm: New file. * guix/build/haskell-build-system.scm: New file. * doc/guix.texi: Add section on 'haskell-build-system'.
2015-04-03build-system/glib-or-gtk: Wrap libexec programs.Andy Wingo
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Also wrap binaries in libexec/, such as those launched by dbus services. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2015-04-03ui: Recognize 'guix help'.Ludovic Courtès
Suggested by Andy Wingo. * guix/ui.scm (guix-main): Add "help" case.
2015-04-01build-system/gnu: Add 'validate-runpath' phase.Ludovic Courtès
* 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.
2015-04-01utils: Make the second 'find-files' argument optional.Ludovic Courtès
* guix/build/utils.scm (find-files): Make 'pred' optional.
2015-04-01build-system: Factorize the list of modules imported on the build side.Ludovic Courtès
* 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.
2015-04-01gremlin: Guard against invalid ELF segments.Ludovic Courtès
* 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.
2015-04-01gremlin: Add libnsl to libc's library list.Ludovic Courtès
* guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".