summaryrefslogtreecommitdiff
path: root/guix/packages.scm
Commit message (Collapse)AuthorAge
* packages: Rewrite 'transitive-inputs' to be linear and remove duplicates.Ludovic Courtès2015-07-12
| | | | | | | | | | | | | | | | | | | | | | | There were two issues: 1. Use of 'delete-duplicates', which is quadratic, was a serious problem for closures with lots of propagated inputs, such as that of the 'hydra' package (several minutes for 'guix build hydra -n'!). 2. The 'delete-duplicates' call essentially had no effect since duplicate inputs typically had a different label and were thus kept. For instance, (bag-transitive-inputs (package->bag inkscape)) would return 216 items whereas (delete-duplicates (map cdr THAT)) contains only 67 items. The new implementation returns 67 items in this case. For 'hydra', we're down from 42211 items to 361, and roughly 13s for 'guix build hydra'. * guix/packages.scm (transitive-inputs): Rewrite as a breadth-first traversal. Remove duplicate propagated inputs. * tests/packages.scm ("package-transitive-inputs", "package->bag, propagated inputs"): Adjust to use simple labels for propagated inputs, without "/". ("package-transitive-inputs, no duplicates"): New test.
* Merge branch 'master' into core-updatesMark H Weaver2015-06-14
|\ | | | | | | | | | | Conflicts: gnu/packages/commencement.scm gnu/packages/xml.scm
| * packages: Make 'location' field innate.Ludovic Courtès2015-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (<package>)[location]: Add 'innate' property. * guix/build-system/gnu.scm (static-package): Remove 'loc' parameter and 'location' field. * gnu/packages/autotools.scm (autoconf-wrapper): Remove 'location' field. * gnu/packages/commencement.scm (gnu-make-boot0, diffutils-boot0, gcc-final): Likewise. * gnu/packages/cross-base.scm (cross): Likewise. * gnu/packages/emacs.scm (emacs-no-x, emacs-no-x-toolkit): Likewise. * gnu/packages/make-bootstrap.scm (tarball-package): Likewise. * gnu/packages/maths.scm (petsc-complex): Likewise.
* | Merge branch 'master' into core-updatesMark H Weaver2015-06-10
|\|
| * Move search path specifications to (guix search-paths).Ludovic Courtès2015-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (<search-path-specification>, search-path-specification->sexp, sexp->search-path-specification): Move to... * guix/search-paths.scm: ... here. New file. * Makefile.am (MODULES): Add it. * guix/build-system/cmake.scm, guix/build-system/glib-or-gtk.scm, guix/build-system/gnu.scm, guix/build-system/haskell.scm, guix/build-system/perl.scm, guix/build-system/python.scm, guix/build-system/ruby.scm, guix/build-system/waf.scm, guix/profiles.scm, guix/scripts/package.scm: Use it.
| * guix: packages: Add package-direct-sources and package-transitive-sources.Eric Bavier2015-05-02
| | | | | | | | | | | | | | | | | | | | * guix/tests.scm (dummy-origin): New syntax. * guix/packages.scm (package-direct-sources) (package-transitive-sources): New procedures. * tests/packages.scm ("package-direct-sources, no source") ("package-direct-sources, #f source") ("package-direct-sources, not input source", "package-direct-sources") ("package-transitive-sources"): Test them.
| * profiles: Store search paths in manifests.Ludovic Courtès2015-05-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Discussed in <http://bugs.gnu.org/20255>. * guix/packages.scm (sexp->search-path-specification): New variable. * guix/profiles.scm (<manifest-entry>)[search-paths]: New field. (package->manifest-entry): Initialize it. (manifest->gexp): Match it. Wrap #$deps in (propagated-inputs ...). Emit (search-paths ...). Increment version. (find-package): New procedure. (sexp->manifest)[infer-search-paths]: New procedure. Use it to initialize the 'search-paths' field for versions 0 and 1. Add case for version 2. * guix/scripts/package.scm (search-path-environment-variables)[manifest-entry->package]: Remove. Use 'manifest-entry-search-paths' instead of 'manifest-entry->package' plus 'package-native-search-paths'. * tests/profiles.scm ("profile-manifest, search-paths"): New test.
* | packages: Use packages from '%final-inputs' as the default patch inputs.Ludovic Courtès2015-05-21
| | | | | | | | | | | | | | | | Reported by Manolis Ragkousis <manolis837@gmail.com> at <http://lists.gnu.org/archive/html/guix-devel/2015-05/msg00059.html>. * guix/packages.scm (%standard-patch-inputs): Add 'canonical', and use it in 'ref'.
* | packages: Use %store-directory.Taylan Ulrich Bayırlı/Kammer2015-05-15
|/ | | | | * guix/packages.scm (patch-and-repack): Call %store-directory instead of duplicating its code.
* packages: Add '%hydra-supported-systems'.Ludovic Courtès2015-05-01
| | | | | * build-aux/hydra/gnu-system.scm (%hydra-supported-systems): Remove. * guix/packages.scm (%hydra-supported-systems): New variable.
* packages: Add armhf-linux to %supported-systems.Mark H Weaver2015-04-22
| | | | * guix/packages.scm (%supported-systems): Add "armhf-linux".
* packages: Add 'supported-package?'.Ludovic Courtès2015-04-19
| | | | | | | * 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'.
* packages: Refer to the native tools when handling sources and downloads.Ludovic Courtès2015-04-15
| | | | | | | | * 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.
* packages: 'package-transitive-supported-systems' accounts for implicit inputs.Ludovic Courtès2015-04-11
| | | | | | | | | | 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.
* packages: Add 'bag-direct-inputs'.Ludovic Courtès2015-04-11
| | | | | * guix/packages.scm (bag-direct-inputs): New procedure. (bag-transitive-inputs): Use it.
* packages: Add zip archive support to 'patch-and-repack'.Eric Bavier2015-03-24
| | | | | | | | Fixes <http://bugs.gnu.org/19830>. * guix/packages.scm (%standard-patch-inputs): Add "unzip". (patch-and-repack)[decompression-type]: Detect zip archive. [build]: Invoke "unzip" when appropriate.
* packages: Make sure the patch inputs are not #f.Ludovic Courtès2015-03-21
| | | | | | | | Fixes build issues whereby #:inputs would be #f. See <http://hydra.gnu.org/build/320333/nixlog/4/tail-reload>. * guix/packages.scm (patch-and-repack): #:input defaults to #f. [lookup-input]: When INPUTS is #f, use (%standard-patch-inputs).
* gnu: Use 'glibc-utf8-locales-final' in the default patching inputs.Ludovic Courtès2015-03-21
| | | | | | * gnu/packages/commencement.scm (glibc-utf8-locales-final): Make public. * guix/packages.scm (%standard-patch-inputs): Use GLIBC-UTF8-LOCALES-FINAL instead of GLIBC-UTF8-LOCALES.
* packages: Rewrite 'patch-and-repack' using gexps.Ludovic Courtès2015-03-18
| | | | | | | | | | | | | | | * guix/packages.scm (patch-and-repack): Remove 'store' parameter and change default value of #:inputs to (%standard-patch-inputs). [lookup-input, instantiate-patch]: New procedures. [patch-inputs]: Remove. [builder]: Rename to... [build]: ... this. Use gexps instead of sexps. (patch-and-repack*): Remove. (origin->derivation): Use 'patch-and-repack' instead of 'patch-and-repack*'. * tests/packages.scm ("package-source-derivation, snippet")[source](snippet): Remove references to '%build-inputs' and '%outputs'.
* gexp: Move the package and origin compilers to (guix packages).Ludovic Courtès2015-03-17
| | | | | | | | | | | | | From now own, (guix packages) depends on (guix gexps); it was the other way around now. This means that (guix packages) code can use gexps. * guix/gexp.scm (origin-compiler, package-compiler): Remove. (default-guile-derivation): New procedure. (gexp->derivation): Use it instead of 'default-guile' + 'package->derivation'. * guix/packages.scm (default-guile-derivation): New procedure. (package-compiler, origin-compiler): New variables. * doc/guix.texi (G-Expressions): Mention extensibility.
* packages: Move grafting parameter to (guix derivations).Ludovic Courtès2015-03-17
| | | | | * guix/packages.scm (%graft?, set-grafting): Move to... * guix/derivations.scm: ... here.
* packages: Set the port conversion strategy to 'error'.Ludovic Courtès2015-02-28
| | | | | | | | Suggested by Mark H Weaver. * guix/build/gnu-build-system.scm (gnu-build): Set %DEFAULT-PORT-CONVERSION-STRATEGY to 'error. * guix/packages.scm (patch-and-repack)[builder]: Likewise.
* packages: When possible, use a UTF-8 locale in patch-and-repack.Ludovic Courtès2015-02-27
| | | | | | * guix/packages.scm (%standard-patch-inputs): Add "locales". (patch-and-repack)[builder]: Add 'locales' variable. When it is true, call 'setenv' and 'setlocale'.
* packages: Add 'set-grafting' procedure.Ludovic Courtès2015-02-13
| | | | * guix/packages.scm (set-grafting): New procedure.
* packages: Mark the 'patches' field as delayed.Ludovic Courtès2015-01-20
| | | | | | * guix/packages.scm (<origin>)[patches]: Mark as 'delayed'. (print-origin, origin->derivation): Add call to 'force' when accessing 'patches'.
* store: Make '%store-monad' an alias for '%state-monad'.Ludovic Courtès2015-01-17
| | | | | | | | | | | | * guix/store.scm (define-alias): New macro. (%store-monad, store-return, store-bind): Define as aliases of the corresponding %STATE-MONAD part. (store-lift, text-file, interned-file): Return STORE as a second value. (run-with-store): Use 'run-with-state'. * guix/packages.scm (set-guile-for-build, package-file): Return STORE as a second value. * guix/monads.scm: Remove part of the module commentary.
* Merge branch 'core-updates'Ludovic Courtès2015-01-16
|\ | | | | | | | | Conflicts: gnu/packages/bootstrap.scm
| * packages: Add 'file-pattern' field to 'search-path-specification'.Ludovic Courtès2014-12-27
| | | | | | | | | | | | * guix/packages.scm (<search-path-specification>)[file-pattern]: New field. (search-path-specification->sexp): Honor it.
| * build-support/gnu: Add support for file patterns in search paths.Ludovic Courtès2014-12-27
| | | | | | | | | | | | | | | | | | * guix/build/utils.scm (search-path-as-list): Add #:pattern parameter and honor it. (set-path-environment-variable): Likewise, and pass it to 'search-path-as-list'. * guix/packages.scm (search-path-specification->sexp): Add PATTERN slot. * guix/build/gnu-build-system.scm (set-paths): Adjust accordingly.
| * packages: Add 'file-type' field to 'search-path-specification'.Ludovic Courtès2014-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/18033>. * guix/packages.scm (<search-path-specification>): Rename 'directories' field to 'files'. Add 'file-type'. (search-path-specification->sexp): Honor 'file-type'. * gnu/packages/autotools.scm, gnu/packages/bootstrap.scm, gnu/packages/cross-base.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/glib.scm, gnu/packages/guile.scm, gnu/packages/man.scm, gnu/packages/perl.scm, gnu/packages/pkg-config.scm, gnu/packages/python.scm, gnu/packages/ruby.scm, gnu/packages/xfce.scm: Change 'directories' to 'files'. * tests/packages.scm ("search paths"): Change 'directories' field to 'files'. * guix/scripts/environment.scm (for-each-search-path): Likewise.
| * build-system/gnu: Add support for non-directory search paths.Ludovic Courtès2014-12-27
| | | | | | | | | | | | | | | | | | | | | | | | | | Partly fixes <http://bugs.gnu.org/18033>. * guix/build/utils.scm (search-path-as-list): Rename 'sub-directories' parameter to 'files'. Add #:type parameter and honor it. (set-path-environment-variable): Likewise. Pass #:type to 'search-path-as-list'. * guix/packages.scm (search-path-specification->sexp): Add 'directory as the last item of the tuple. * guix/build/gnu-build-system.scm (set-paths): Add 'type' to search-path pattern. Pass #:type to 'set-path-environment-variable'.
| * Merge branch 'master' into core-updatesLudovic Courtès2014-12-26
| |\
| * | packages: Apply patches with "patch --force".Ludovic Courtès2014-12-26
| | | | | | | | | | | | | | | | | | | | | Fixes <http://bugs.gnu.org/19402>. Reported by Mark H Weaver <mhw@netris.org>. * guix/packages.scm (patch-and-repack): Change "--batch" to "--force".
* | | packages: Convert source derivations to monadic style.Ludovic Courtès2015-01-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (origin->derivation): Take body from 'package-source-derivation', and change it to monadic style. Expect METHOD to a monadic procedure. (package-source-derivation): Define in terms of 'origin->derivation'. * guix/download.scm (url-fetch): Remove 'store' argument. Remove 'guile-for-build' variable. Turn into a monadic procedure. * guix/git-download.scm (git-fetch): Likewise. * guix/svn-download.scm (svn-fetch): Likewise. * tests/builders.scm (url-fetch*): New procedure. Change tests to call 'url-fetch*' instead of 'url-fetch'. * tests/packages.scm ("package-source-derivation, snippet"): Remove 'store' parameter of 'fetch' and change it to use 'interned-file' instead of 'add-to-store'. * gnu/packages/bootstrap.scm (bootstrap-origin)[boot]: Remove 'store' parameter.
* | | monads: Move '%store-monad' and related procedures where they belong.Ludovic Courtès2015-01-14
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This turns (guix monads) into a generic module for monads, and moves the store monad and related monadic procedures in their corresponding module. * guix/monads.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file, package-file, package->derivation, package->cross-derivation, origin->derivation, imported-modules, compiled, modules, built-derivations, run-with-store): Move to... * guix/store.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file): ... here. (%guile-for-build): New variable. (run-with-store): Moved from monads.scm. Remove default value for #:guile-for-build. * guix/packages.scm (default-guile): Export. (set-guile-for-build): New procedure. (package-file, package->derivation, package->cross-derivation, origin->derivation): Moved from monads.scm. * guix/derivations.scm (%guile-for-build): Remove. (imported-modules): Rename to... (%imported-modules): ... this. (compiled-modules): Rename to... (%compiled-modules): ... this. (built-derivations, imported-modules, compiled-modules): New procedures. * gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm, gnu/services/dmd.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm, gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm, guix/gexp.scm, guix/git-download.scm, guix/profiles.scm, guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly. * guix/monad-repl.scm (default-guile-derivation): New procedure. (store-monad-language, run-in-store): Use it. * build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit 'set-guile-for-build' call. * guix/scripts/archive.scm (derivation-from-expression): Likewise. * guix/scripts/build.scm (options/resolve-packages): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * doc/guix.texi (The Store Monad): Adjust module names accordingly.
* | Optimize package-transitive-supported-systems.Mark H Weaver2014-12-21
|/ | | | | | * guix/packages.scm (first-value): Remove. (define-memoized/v): New macro. (package-transitive-supported-systems): Rewrite.
* packages: Use the target's system Guile when downloading patches.Ludovic Courtès2014-12-02
| | | | | * guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in 'package-source-derivation' call.
* packages: 'package-transitive-supported-systems' accounts for indirect deps.Ludovic Courtès2014-11-03
| | | | | | | | | | Reported by Andreas Enge <andreas@enge.fr>. * guix/packages.scm (first-value): New macro. (package-transitive-supported-systems): Rewrite to traverse all the DAG rooted at PACKAGE. * tests/packages.scm ("package-transitive-supported-systems"): Add 'd' and 'e', and test them.
* packages: Implement grafts.Ludovic Courtès2014-11-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions and suggestions. * guix/packages.scm (<package>)[graft]: New field. (patch-and-repack): Invoke 'package-derivation' with #:graft? #f. (package-source-derivation): Likewise. Do not use (%guile-for-build) in call to 'patch-and-repack', and we could end up using a grafted Guile. (expand-input): Likewise, also for 'package-cross-derivation' call. (package->bag): Add #:graft? parameter. Honor it. Use 'strip-append' instead of 'package-full-name'. (input-graft, input-cross-graft, bag-grafts, package-grafts): New procedures. (package-derivation, package-cross-derivation): Add #:graft? parameter and honor it. * gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add recursive call on 'graft'. * guix/build-system/gnu.scm (package-with-explicit-inputs, package-with-extra-configure-variable, static-package): Likewise. (gnu-build): Use the ungrafted Guile to avoid full rebuilds. (gnu-cross-build): Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/ruby.scm (ruby-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * tests/packages.scm ("package-derivation, direct graft", "package-cross-derivation, direct graft", "package-grafts, indirect grafts", "package-grafts, indirect grafts, cross", "package-grafts, indirect grafts, propagated inputs", "package-derivation, indirect grafts"): New tests. ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in 'parameterize'. * doc/guix.texi (Security Updates): New node. (Invoking guix build): Document --no-graft.
* packages: Add 'package-transitive-supported-systems'.Ludovic Courtès2014-10-17
| | | | | | * guix/packages.scm (package-transitive-supported-systems): New procedure. * tests/packages.scm ("package-transitive-supported-systems"): New test. * build-aux/hydra/gnu-system.scm (package->job): Use it.
* packages: Improve the package-to-derivation cache.Ludovic Courtès2014-10-17
| | | | | | * guix/packages.scm (cache): Preserve the former values associated with PACKAGE. (cached): Bind SYSTEM in 'let', to prevent double evaluation.
* packages: Gracefully print packages whose 'location' is #f.Ludovic Courtès2014-10-08
| | | | | | * guix/packages.scm (<package> printer): Check whether LOC is #f. * tests/packages.scm ("printer with location", "printer without location"): New tests.
* hydra: Honor 'package-supported-systems'.Ludovic Courtès2014-10-06
| | | | | | | | | * guix/packages.scm (%supported-systems): New variable. (<package>)[platforms]: Rename to... [supported-systems]: ... this. Change default to %SUPPORTED-SYSTEMS. * build-aux/hydra/gnu-system.scm (job-name, package->job): New procedures, formerly in 'hydra-jobs'. Honor 'package-supported-systems'. (hydra-jobs): Use them.
* build-system: Bags record their system and target.Ludovic Courtès2014-10-05
| | | | | | | | | | | | | | | | | | | | * guix/build-system.scm (<bag>)[system, target]: New fields. (make-bag): Add #:system parameter and pass it to LOWER. * gnu/packages/bootstrap.scm (make-raw-bag): Initialize 'system' field. * guix/build-system/cmake.scm (lower): Likewise. * guix/build-system/perl.scm (lower): Likewise. * guix/build-system/python.scm (lower): Likewise. * guix/build-system/ruby.scm (lower): Likewise. * guix/build-system/trivial.scm (lower): Likewise. * guix/build-system/gnu.scm (lower): Initialize 'system' and 'target' fields. * guix/packages.scm (bag->derivation, bag->cross-derivation): New procedures. (package-derivation, package-cross-derivation): Use 'bag->derivation'. * tests/packages.scm ("search paths"): Initialize 'system' and 'target' fields. ("package->bag", "package->bag, cross-compilation", "bag->derivation", "bag->derivation, cross-compilation"): New tests.
* build-system: Introduce "bags" as an intermediate representation.Ludovic Courtès2014-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/build-system.scm (<build-system>)[build, cross-build]: Remove. [lower]: New field. (<bag>): New record type. (make-bag): New procedure. * guix/packages.scm (bag-transitive-inputs, bag-transitive-build-inputs, bag-transitive-host-inputs, bag-transitive-target-inputs, package->bag): New procedures. (package-derivation): Use it; use the bag, apply its build procedure, etc. (package-cross-derivation): Likewise. * gnu/packages/bootstrap.scm (raw-build, make-raw-bag): New procedure. (%bootstrap-guile): Use them. * guix/build-system/trivial.scm (lower): New procedure. (trivial-build, trivial-cross-build): Remove 'source' parameter. Pass INPUTS as is. (trivial-build-system): Adjust accordingly. * guix/build-system/gnu.scm (%store, inputs-search-paths, standard-search-paths, expand-inputs, standard-inputs): Remove. (gnu-lower): New procedure. (gnu-build): Remove 'source' and #:implicit-inputs? parameters. Remove 'implicit-inputs' and 'implicit-search-paths' variables. Get the source from INPUT-DRVS. (gnu-cross-build): Likewise. (standard-cross-packages): Remove call to 'standard-packages'. (standard-cross-inputs, standard-cross-search-paths): Remove. (gnu-build-system): Remove 'build' and 'cross-build'; add 'lower'. * guix/build-system/cmake.scm (lower): New procedure. (cmake-build): Remove 'source' and #:cmake parameters. Use INPUTS and SEARCH-PATHS as is. Get the source from INPUTS. * guix/build-system/perl.scm: Likewise. * guix/build-system/python.scm: Likewise. * guix/build-system/ruby.scm: Likewise. * gnu/packages/cross-base.scm (cross-gcc): Change "cross-linux-headers" to "linux-headers". (cross-libc)[xlinux-headers]: Pass #:implicit-cross-inputs? #f. Likewise. In 'propagated-inputs', change "cross-linux-headers" to "linux-headers". * guix/git-download.scm (git-fetch): Use 'standard-packages' instead of 'standard-inputs'. * tests/builders.scm ("gnu-build-system"): Remove use of 'build-system-builder'. ("gnu-build"): Remove 'source' and #:implicit-inputs? arguments to 'gnu-build'. * tests/packages.scm ("search paths"): Adjust to new build system API. ("package-cross-derivation, no cross builder"): Likewise. * doc/guix.texi (Build Systems): Add paragraph on bags.
* packages: Allow use of origins as patches.Ludovic Courtès2014-09-24
| | | | | | * guix/packages.scm (patch-and-repack)[patch-inputs]: Use 'add-to-store' only if the PATCH is a file name, and 'package-source-derivation' if PATCH is an origin.
* gnu: Split (gnu packages base), adding (gnu packages commencement).Ludovic Courtès2014-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/packages/base.scm (gnu-make-boot0, diffutils-boot0, findutils-boot0, %boot0-inputs, nix-system->gnu-triplet, boot-triplet, binutils-boot0, gcc-boot0, perl-boot0, linux-libre-headers-boot0, texinfo-boot0, %boot1-inputs, glibc-final-with-bootstrap-bash, cross-gcc-wrapper, static-bash-for-glibc, glibc-final, gcc-boot0-wrapped, %boot2-inputs, binutils-final, libstdc++, gcc-final, ld-wrapper-boot3, %boot3-inputs, bash-final, %boot4-inputs, guile-final, gnu-make-final, ld-wrapper, coreutils-final, grep-final, %boot5-inputs, %final-inputs, canonical-package, gcc-toolchain, gcc-toolchain-4.8, gcc-toolchain-4.9): Move to... * gnu/packages/commencement.scm: ... here. New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * build-aux/check-final-inputs-self-contained.scm: Adjust accordingly. * gnu/packages/cross-base.scm: Likewise. * gnu/packages/make-bootstrap.scm: Likewise. * guix/build-system/cmake.scm (cmake-build): Likewise. * guix/build-system/gnu.scm (standard-packages, gnu-build, gnu-cross-build): Likewise. * guix/build-system/perl.scm (perl-build): Likewise. * guix/build-system/python.scm (python-build): Likewise. * guix/build-system/trivial.scm (guile-for-build): Likewise. * guix/download.scm (url-fetch): Likewise. * guix/gexp.scm (default-guile): Likewise. * guix/git-download.scm (git-fetch): Likewise. * guix/monads.scm (run-with-store): Likewise. * guix/packages.scm (default-guile): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/refresh.scm: Likewise. * guix/svn-download.scm (svn-fetch): Likewise. * tests/builders.scm (%bootstrap-inputs, %bootstrap-search-paths): Likewise. * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/guix-package.sh: Likewise. * gnu/services/base.scm: Use 'canonical-package' instead of xxx-final. * gnu/services/xorg.scm: Likewise. * gnu/system/vm.scm: Likewise. * guix/scripts/pull.scm (guix-pull): Likewise.
* Add comments about global memoization.Ludovic Courtès2014-07-21
| | | | | | * guix/build-system/gnu.scm (standard-inputs): Add comment about misplaced memoization. * guix/packages.scm (cache): Likewise.
* guix: refresh: Add --list-dependent option.Eric Bavier2014-07-20
| | | | | | | | | * guix/packages.scm (package-direct-inputs): New procedure. * gnu/packages.scm (vhash-refq, package-direct-dependents) (package-transitive-dependents, package-covering-dependents): New procedures. * guix/scripts/refresh.scm (%options, show-help, guix-refresh): Add --list-dependent option. * doc/guix.texi (Invoking guix refresh): Document '--list-dependent' option.
* packages: Add printer for <origin>.Ludovic Courtès2014-07-11
| | | | | * guix/packages.scm (print-origin): New procedure. (<origin>): Add it as record type printer.