aboutsummaryrefslogtreecommitdiff
path: root/guix/packages.scm
Commit message (Expand)AuthorAge
...
| * packages: 'package-grafts' applies grafts on replacement.•••Partly fixes <http://bugs.gnu.org/24418>. * guix/packages.scm (input-graft): Compute 'new' with #:graft? #t. (input-cross-graft): Likewise. * tests/packages.scm ("package-grafts, indirect grafts, cross"): Comment out. ("replacement also grafted"): New test. Ludovic Courtès2016-10-14
* | Merge branch 'master' into core-updatesLudovic Courtès2016-09-30
|\|
| * gexp: Store compilers in a hash table for O(1) lookup.•••* guix/gexp.scm (<gexp-compiler>)[predicate]: Remove. [type]: New field. (%gexp-compilers): Turn into a hash table. (register-compiler!, lookup-compiler, lookup-expander): Adjust accordingly. (define-gexp-compiler): Replace 'predicate' by 'record-type'. (derivation-compiler, local-file-compiler, plain-file-compiler) (computed-file-compiler, program-file-compiler, scheme-file-compiler) (file-append-compiler): Adjust accordingly. * guix/packages.scm (package-compiler, origin-compiler): Likewise. Ludovic Courtès2016-09-10
| * packages: Add 'package-superseded' and associated support.•••This provides a way to mark a package as superseded by another one. Upgrades replace superseded packages with their replacement. * guix/packages.scm (package-superseded, deprecated-package): New procedures. * gnu/packages.scm (%find-package): Check for 'package-superseded'. * guix/scripts/package.scm (transaction-upgrade-entry)[supersede]: New procedure. Call it when 'package-superseded' is true. * tests/guix-build.sh: Add test for a superseded package. * tests/packages.scm ("package-superseded") ("transaction-upgrade-entry, superseded package"): New tests. Ludovic Courtès2016-09-06
* | Merge branch 'master' into core-updatesLudovic Courtès2016-09-02
|\|
| * packages: Add 'package-input-rewriting'.•••* guix/packages.scm (package-input-rewriting): New procedure. * tests/packages.scm ("package-input-rewriting"): New test. * doc/guix.texi (Defining Packages): Document it. (Package Transformation Options): Add cross-reference. Ludovic Courtès2016-09-01
* | packages: Use '--no-backup-if-mismatch' for patching.•••Suggested-by: Ludovic Courtès <ludo@gnu.org> * guix/packages.scm (patch-and-repack)[build]: Use '--no-backup-if-mismatch' patch flag to avoid making *.orig files. Alex Kost2016-08-10
|/
* packages: Add 'hidden-package'.•••* 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. Ludovic Courtès2016-07-28
* packages: <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ès2016-07-12
* packages: 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ès2016-06-16
* packages: 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ès2016-06-15
* packages: '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ès2016-06-15
* packages: Recognize the '.Z' extension.•••Reported by thomasd on #guix. * guix/packages.scm (patch-and-repack)[decompression-type]: Add "Z". Ludovic Courtès2016-06-15
* packages: Cache the result of 'input-grafts'.•••This reduces the wall-clock time of guix environment gnutls --pure -E true by ~35%. * guix/packages.scm (%graft-cache): New variable. (input-graft): Use 'cached' to cache to %GRAFT-CACHE. Ludovic Courtès2016-03-08
* packages: Cache the result of 'package->bag'.•••This reduces the wall-clock time of guix environment gnutls --pure -E true by ~25%. * guix/packages.scm (%bag-cache): New variable. (package->bag): Use 'cached' to cache things to %BAG-CACHE. Ludovic Courtès2016-03-08
* packages: Generalize the 'cached' macro.•••* guix/packages.scm (cache): Rename to... (cache!): ... this. Add 'cache' parameter, and use it. (cached): Add a rule to allow the cache to be specified. Ludovic Courtès2016-03-08
* packages: The result of 'bag-grafts' does not contain duplicates.•••* guix/packages.scm (bag-grafts): Add call to 'delete-duplicates'. Ludovic Courtès2016-03-05
* grafts: Graft recursively.•••Fixes <http://bugs.gnu.org/22139>. * guix/grafts.scm (graft-derivation): Rename to... (graft-derivation/shallow): ... this. (graft-origin-file-name, item->deriver, non-self-references) (cumulative-grafts, graft-derivation): New procedures * tests/grafts.scm ("graft-derivation, grafted item is a direct dependency"): Clarify title. Use 'grafted' instead of 'graft' to refer to the grafted derivation. ("graft-derivation, grafted item is an indirect dependency") ("graft-derivation, no dependencies on grafted output"): New tests. * guix/packages.scm (input-graft): Change to take a package instead of an input. (input-cross-graft): Likewise. (fold-bag-dependencies): New procedure. (bag-grafts): Rewrite in terms of 'fold-bag-dependencies'. * tests/packages.scm ("package-derivation, indirect grafts"): Comment out. * doc/guix.texi (Security Updates): Mention run-time dependencies and recursive grafting. Ludovic Courtès2016-03-01
* grafts: 'name' parameter of 'graft-derivation' is now optional.•••* guix/grafts.scm (graft-derivation): Name 'name' a keyword parameter. * guix/packages.scm (package-derivation, package-cross-derivation): Adjust accordingly. * tests/grafts.scm ("graft-derivation"): Likewise. * tests/packages.scm ("package-derivation, indirect grafts"): Likewise. Ludovic Courtès2016-02-22
* derivations: Move grafts to (guix grafts).•••* guix/derivations.scm (<graft>, graft-derivation, %graft?) (set-grafting): Move to... * guix/grafts.scm: ... here. New file. * guix/gexp.scm, guix/packages.scm, tests/packages.scm, guix/scripts/build.scm: Use it. * Makefile.am (MODULES): Add it. (SCM_TESTS): Add tests/grafts.scm. * tests/derivations.scm ("graft-derivation"): Move to... * tests/grafts.scm: ... here. New file. Ludovic Courtès2016-02-22
* packages: Use '@' in package record printers.•••* guix/packages.scm <package>: Use '@' in record printer. * guix/import/cabal.scm <cabal-package>: Likewise * guix/import/elpa.scm <elpa-package>: Likewise. * tests/packages.scm: Adapt to it. Mathieu Lirzin2016-01-28
* packages: Add 'package-transitive-native-search-paths'.•••* guix/packages.scm (package-transitive-native-search-paths): New procedure. * tests/packages.scm ("package-transitive-native-search-paths"): New test. Ludovic Courtès2015-12-20
* packages: Use locales from the /X.Y sub-directory of the locale package.•••This is a followup to commit f2d7bbb. * guix/packages.scm (patch-and-repack)[build]: Append "/X.Y" to LOCPATH. Ludovic Courtès2015-10-04
* Use "normalized codesets" everywhere.•••In other words, change "xx_YY.UTF-8" to "xx_YY.utf8". * guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of "en_US.UTF-8". * guix/packages.scm (patch-and-repack): Likewise. * guix/build/gnu-build-system.scm (install-locale): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise. * gnu/packages/python.scm (python-ipython): Likewise. * gnu/packages/gawk.scm (gawk): Likewise. * build-aux/hydra/demo-os.scm: Likewise. * gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove 'change-locale' phase. Ludovic Courtès2015-10-04
* Merge branch 'master' into core-updatesMark H Weaver2015-09-22
|\
| * guix: packages: Add origin-actual-file-name.•••* guix/scripts/graph.scm (uri->file-name, node-full-name): Move origin file name logic to... * guix/packages.scm (origin-actual-file-name): ...here. * tests/packages.scm ("origin-actual-file-name") ("origin-actual-file-name, file-name"): New tests. Eric Bavier2015-09-14
* | Merge branch 'master' into core-updatesLudovic Courtès2015-09-13
|\|
| * guix: packages: Add transitive-input-references.•••* guix/packages.scm (transitive-input-references): New procedure. * gnu/packages/version-control.scm (package-transitive-propagated-labels*) (package-propagated-input-refs): Delete. (git)[arguments]: Adjust to transitive-input-references. Eric Bavier2015-09-10
* | packages: Build tarballs in sorted order even if tar doesn't support it.•••This is a followup to commit 92226a470ddc980e54863632e5b179bf40444bd7. * guix/packages.scm (patch-and-repack)[build]: Determine if tar supports the "--sort=name" option using a run-time test. If not supported, generate the sorted file list with 'find-files' and pass it to tar using "--files-from". Mark H Weaver2015-09-06
* | packages: Define '%hurd-systems'.•••* guix/packages.scm (%hurd-systems): New variable. Ludovic Courtès2015-09-04
* | Build tarballs with deterministic file ordering.•••* guix/packages.scm (patch-and-repack)[build], gnu/system/install.scm (self-contained-tarball)[build], gnu/packages/make-bootstrap.scm (tarball-package), gnu/packages/admin.scm (isc-dhcp), gnu/packages/video.scm (avidemux): Pass "--sort=name" to 'tar'. Mark H Weaver2015-09-03
* | packages: Add 'armhf-linux' to '%hydra-supported-systems'.•••* guix/packages.scm (%hydra-supported-systems): Do not remove 'armhf-linux' from it. It is now equal to '%supported-systems'. Mark H Weaver2015-09-02
|/
* packages: patch-and-repack: Build tarballs deterministically.•••* guix/packages.scm (patch-and-repack)[build]: When invoking 'tar' to repack the archive, pass "--mtime=@0", "--owner=root:0", and "--group=root:0". Mark H Weaver2015-07-14
* packages: Rewrite 'transitive-inputs' to be linear and remove duplicates.•••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. Ludovic Courtès2015-07-12
* Merge branch 'master' into core-updates•••Conflicts: gnu/packages/commencement.scm gnu/packages/xml.scm Mark H Weaver2015-06-14
|\
| * packages: Make 'location' field innate.•••* 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. Ludovic Courtès2015-06-11
* | Merge branch 'master' into core-updatesMark H Weaver2015-06-10
|\|
| * Move search path specifications to (guix search-paths).•••* 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. Ludovic Courtès2015-05-04
| * guix: packages: Add package-direct-sources and package-transitive-sources.•••* 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. Eric Bavier2015-05-02
| * profiles: Store search paths in manifests.•••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. Ludovic Courtès2015-05-02
* | packages: Use packages from '%final-inputs' as the default patch inputs.•••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'. Ludovic Courtès2015-05-21
* | packages: Use %store-directory.•••* guix/packages.scm (patch-and-repack): Call %store-directory instead of duplicating its code. Taylan Ulrich Bayırlı/Kammer2015-05-15
|/
* packages: Add '%hydra-supported-systems'.•••* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): Remove. * guix/packages.scm (%hydra-supported-systems): New variable. Ludovic Courtès2015-05-01
* packages: Add armhf-linux to %supported-systems.•••* guix/packages.scm (%supported-systems): Add "armhf-linux". Mark H Weaver2015-04-22
* packages: Add 'supported-package?'.•••* 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'. Ludovic Courtès2015-04-19
* packages: Refer to the native tools when handling sources and downloads.•••* 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. Ludovic Courtès2015-04-15
* packages: 'package-transitive-supported-systems' accounts for implicit inputs.•••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. Ludovic Courtès2015-04-11
* packages: Add 'bag-direct-inputs'.•••* guix/packages.scm (bag-direct-inputs): New procedure. (bag-transitive-inputs): Use it. Ludovic Courtès2015-04-11
* packages: Add zip archive support to 'patch-and-repack'.•••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. Eric Bavier2015-03-24
* packages: Make sure the patch inputs are not #f.•••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). Ludovic Courtès2015-03-21