summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* lint: Report patches that cannot be found.Ludovic Courtès2015-04-10
| | | | | * guix/scripts/lint.scm (check-patch-file-names): Wrap body in 'guard'. * tests/lint.scm ("patches: not found"): New test.
* lint: Rename 'check-patches' to 'check-patch-file-names'.Ludovic Courtès2015-04-10
| | | | | | | * 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.
* Merge branch 'master' into core-updatesLudovic Courtès2015-04-09
|\
| * http-client: Add workaround for HTTP pipelining on Guile <= 2.0.9.Ludovic Courtès2015-04-08
| | | | | | | | | | | | | | 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.
| * profiles: Generate GHC's package database cache.Federico Beffa2015-04-08
| | | | | | | | | | | | | | | | | | | | * 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.
| * build-system/haskell: Update configure flags, 'haddock' and %standard-phases.Federico Beffa2015-04-08
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
| * import: Add hackage importer.Federico Beffa2015-04-08
| | | | | | | | | | * guix/import/hackage.scm: New file. * tests/hackage.scm: New file.
| * import: Add hackage importer.Federico Beffa2015-04-08
| | | | | | | | | | | | | | * 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.
* | Merge branch 'master' into core-updates宋文武2015-04-08
|\|
| * guix package: Avoid 'exit' calls in 'delete-matching-generations'.Ludovic Courtès2015-04-06
| | | | | | | | | | | | * guix/scripts/package.scm (delete-matching-generations): Remove call to 'exit' when PATTERN is "0". Call 'leave' instead of 'exit' when (null-list? number).
| * guix package: Never remove the current generation and warn about it.Ludovic Courtès2015-04-06
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * guix package: Move generation deletion to its own procedure.Ludovic Courtès2015-04-06
| | | | | | | | | | | | | | * guix/scripts/package.scm (delete-matching-generations): New procedure, with code formerly found... (guix-package)[process-actions]: ... here. Use it. Remove 'current-generation-number'.
| * scripts: Add 'publish' command.David Thompson2015-04-04
| | | | | | | | | | | | | | | | | | * 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.
| * store: Add query-path-info operation.David Thompson2015-04-04
| | | | | | | | | | | | | | | | * 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.
| * build-system: Add haskell-build-system.Federico Beffa2015-04-04
| | | | | | | | | | | | * guix/build-system/haskell.scm: New file. * guix/build/haskell-build-system.scm: New file. * doc/guix.texi: Add section on 'haskell-build-system'.
| * build-system/glib-or-gtk: Wrap libexec programs.Andy Wingo2015-04-03
| | | | | | | | | | | | | | * 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>
| * ui: Recognize 'guix help'.Ludovic Courtès2015-04-03
| | | | | | | | | | | | Suggested by Andy Wingo. * guix/ui.scm (guix-main): Add "help" case.
* | gnu: Emit a warning when a package module cannot be loaded.Ludovic Courtès2015-04-07
| | | | | | | | | | | | * 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.
* | ui: Add 'report-load-error'.Ludovic Courtès2015-04-07
| | | | | | | | | | | | * 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.
* | utils: 'find-files' does not follow symlinks by default.Ludovic Courtès2015-04-06
| | | | | | | | | | | | | | | | 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'.
* | build-system/gnu: Add docstring to 'delete-info-dir-file'.Federico Beffa2015-04-06
| | | | | | | | * guix/build/gnu-build-system.scm (delete-info-dir-file): Add docstring.
* | build-system/gnu: Add 'delete-info-dir-file' phase.Federico Beffa2015-04-06
| | | | | | | | | | * guix/build/gnu-build-system.scm (delete-info-dir-file): New procedure. (%standard-phases): Use it.
* | gremlin: Ignore non-store file names in RUNPATH and warn about them.Ludovic Courtès2015-04-05
| | | | | | | | | | | | | | | | | | * 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.
* | build-system/gnu: Add 'validate-runpath' phase.Ludovic Courtès2015-04-01
| | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | utils: Make the second 'find-files' argument optional.Ludovic Courtès2015-04-01
| | | | | | | | * guix/build/utils.scm (find-files): Make 'pred' optional.
* | build-system: Factorize the list of modules imported on the build side.Ludovic Courtès2015-04-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | gremlin: Guard against invalid ELF segments.Ludovic Courtès2015-04-01
| | | | | | | | | | | | | | | | * 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.
* | gremlin: Add libnsl to libc's library list.Ludovic Courtès2015-04-01
| | | | | | | | * guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".
* | utils: 'find-files' takes an arbitrary predicate as its second argument.Ludovic Courtès2015-03-31
| | | | | | | | | | | | | | * guix/build/utils.scm (file-name-predicate): New procedure. (find-files): Rename second parameter to 'pred'. When 'pred' is not a procedure, call 'file-name-predicate'. Use PRED instead of 'regexp-exec' in the leaf procedure.
* | utils: 'modify-phases' no longer introduces quotes.Ludovic Courtès2015-03-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suggested by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>. * guix/build/utils.scm (%modify-phases): Remove quotes. * guix/build/cmake-build-system.scm (%standard-phases): Adjust accordingly. * guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise. * guix/build/gnu-dist.scm (%dist-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise. * gnu/packages/bash.scm, gnu/packages/code.scm, gnu/packages/gl.scm, gnu/packages/gnome.scm, gnu/packages/graphics.scm, gnu/packages/image.scm, gnu/packages/key-mon.scm, gnu/packages/ocr.scm, gnu/packages/plotutils.scm, gnu/packages/search.scm, gnu/packages/video.scm: Likewise.
* | Merge branch 'master' into core-updatesLudovic Courtès2015-03-31
|\|
| * Add (guix build gremlin).Ludovic Courtès2015-03-31
| | | | | | | | | | | | * guix/build/gremlin.scm, tests/gremlin.scm: New files. * Makefile.am (MODULES): Add guix/build/gremlin.scm. (SCM_TESTS): Add tests/gremlin.scm.
| * elf: Add missing argument in 'elf-segment'.Ludovic Courtès2015-03-30
| | | | | | | | * guix/elf.scm (elf-segment): Add missing argument N.
| * gexp: Slightly simplify 'lower-inputs'.Ludovic Courtès2015-03-29
| | | | | | | | | | * guix/gexp.scm (lower-inputs): Simplify first case by removing the 'input' binding.
| * gexp: Add 'local-file'.Ludovic Courtès2015-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/gexp.scm (<local-file>): New record type. (local-file): New procedure. (local-file-compiler): New compiler. (gexp->sexp) <struct? thing>: Handle the case where 'lower' returns a file name. (text-file*): Update docstring.local-file doc * tests/gexp.scm ("one local file", "gexp->derivation, local-file"): New tests. * doc/guix.texi (G-Expressions): Mention local files early. Document 'local-file'. Update 'text-file*' documentation.
* | Merge branch 'master' into core-updatesLudovic Courtès2015-03-25
|\|
| * substitute: Rename cache directory from "substitute-binary" to "substitute".Ludovic Courtès2015-03-25
| | | | | | | | | | | | | | * guix/scripts/substitute.scm (%narinfo-cache-directory): Change "substitute-binary" to "substitute". * tests/store.scm ("substitute query"): Likewise. * tests/substitute.scm (call-with-narinfo): Likewise.
| * Rename 'guix substitute-binary' to 'guix substitute'.Ludovic Courtès2015-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/substitute-binary.scm: Rename to... * guix/scripts/substitute.scm: ... this. Adjust module name, entry point, comments, and help string accordingly. * nix/scripts/substitute-binary.in: Rename to... * nix/scripts/substitute.in: ... this. * pre-inst-env.in (NIX_SUBSTITUTERS): Adjust accordingly. * tests/substitute-binary.scm: Rename to... * tests/substitute.scm: ... this. Adjust references to (guix scripts substitute) accordingly. * guix/ui.scm (show-guix-help)[internal?]: Change "substitute-binary" to "substitute". * Makefile.am (MODULES, SCM_TESTS): Adjust to file renames. * daemon.am (nodist_pkglibexec_SCRIPTS): Likewise. * config-daemon.ac: Likewise. * guix/tests.scm (call-with-derivation-narinfo): Adjust comments and docstring.
| * derivations: 'substitution-oracle' now ignores sub-trees that are valid.Ludovic Courtès2015-03-25
| | | | | | | | | | | | | | | | | | | | | | Before that, "guix build qt", when only qt itself is missing, would lead 'substitution-oracle' to call 'substitutable-paths' with 318 items. Now, this is down to 6 items, because it doesn't ask about prerequisites that are already valid. * guix/derivations.scm (substitution-oracle)[valid-input?, dependencies]: New procedures. Use 'dependencies' and remove call to 'remove'.
| * derivations: Add a 'cut?' parameter to 'derivation-prerequisites'.Ludovic Courtès2015-03-25
| | | | | | | | | | | | | | * guix/derivations.scm (valid-derivation-input?): New procedure. (derivation-prerequisites): Add 'cut?' parameter and honor it. * tests/derivations.scm ("derivation-prerequisites and derivation-input-is-valid?"): New test.
| * derivations: Don't invoke the substituter when an item is already in store.Ludovic Courtès2015-03-24
| | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/20188>. Reported by Mark H Weaver <mhw@netris.org>. * guix/derivations.scm (substitution-oracle): Add 'valid?' procedure. Remove 'valid?' items from PATHS.
| * substitute-binary: Remove thread-safe 'regexp-exec' wrapper.Ludovic Courtès2015-03-23
| | | | | | | | * guix/scripts/substitute-binary.scm: Remove 'regexp-exec' setting.
| * substitute-binary: Pipeline HTTP requests instead of using threads.Ludovic Courtès2015-03-23
| | | | | | | | | | | | | | | | | | | | | | * guix/scripts/substitute-binary.scm (fetch-narinfo, %lookup-threads, n-par-map*): Remove. (narinfo-cache-file, cached-narinfo, cache-narinfo!, narinfo-request, http-multiple-get, read-to-eof, fetch-narinfos, lookup-narinfos, narinfo-from-file): New procedures. (lookup-narinfo): Rewrite in terms of 'lookup-narinfos'. (guix-substitute-binary): Use 'lookup-narinfos' instead of 'lookup-narinfo'.
| * substitute-binary: Allow callers to specify the size of a narinfo.Ludovic Courtès2015-03-23
| | | | | | | | | | * guix/scripts/substitute-binary.scm (read-narinfo): Add #:size parameter and honor it.
| * store: Default to a non-empty list of substituters.Ludovic Courtès2015-03-22
| | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/20163>. Reported by Mark H Weaver <mhw@netris.org>. * guix/store.scm (%default-substitute-urls): New variable. (set-build-options): Change default value of #:substitute-urls to %DEFAULT-SUBSTITUTE-URLS.
| * gexp: Fix handling of nativeness in nested gexps.Ludovic Courtès2015-03-22
| | | | | | | | | | | | | | | | * guix/gexp.scm (gexp-inputs): Remove 'references' parameter; add #:native? and honor it. [add-reference-inputs]: Distinguish between native gexp inputs, and non-native gexp inputs. Honor 'native?' field of list inputs. * tests/gexp.scm ("ungexp + ungexp-native, nested"): New test.
| * gexp: Ignore nested gexps in macro expansion.Ludovic Courtès2015-03-22
| | | | | | | | | | | | | | | | | | | | | | Before that, the 'references' and 'natives' or the outer gexp in an expression like #~#+#~#$coreutils would include those of the inner gexp. * guix/gexp.scm (gexp)[collect-escapes]: Ignore everything below 'ungexp-native' or 'ungexp-native-splicing'. [collect-native-escapes]: Ignore everything below 'ungexp' or 'ungexp-splicing'.
| * gexp: Allow <gexp-input> objects in #:allowed-references.Ludovic Courtès2015-03-22
| | | | | | | | | | | | * guix/gexp.scm (lower-references): Add <gexp-input> case. * tests/gexp.scm ("gexp->derivation #:allowed-references, specific output"): New test.
| * gexp: Add identity compiler for derivations.Ludovic Courtès2015-03-22
| | | | | | | | | | | | | | * guix/gexp.scm (derivation-compiler): New procedure. (lower-inputs): Remove 'derivation?' case. (gexp-inputs)[add-reference-inputs]: Likewise. (gexp->sexp)[reference->sexp]: Likewise.
| * guix package: '-s' sorts packages by name, then by version.Ludovic Courtès2015-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | Before that it would sort them by name only, so the order in which two packages with the same name but a different version would appear was non-deterministic. Reported by Tomáš Čech <sleep_walker@gnu.org>. * guix/scripts/package.scm (find-packages-by-description)[version<?]: New variable. Change the 2nd argument to 'sort' to use 'string-compare' and resort to 'version<?' when P1 and P2 have the same name.