summaryrefslogtreecommitdiff
path: root/guix/packages.scm
Commit message (Collapse)AuthorAge
* guix: Fix %hurd-systems list.Efraim Flashner2019-12-19
| | | | * guix/packages.scm (%hurd-systems): Replace i585-gnu with i586-gnu.
* packages: Add "aarch64-linux" to '%hydra-supported-systems'.Ludovic Courtès2019-10-20
| | | | * guix/packages.scm (%hydra-supported-systems): Keep "aarch64-linux".
* Merge branch 'master' into core-updatesLudovic Courtès2019-09-17
|\
| * packages: 'package-field-location' really catches 'system-error.Ludovic Courtès2019-09-10
| | | | | | | | | | | | | | This had been wrong since forever (i.e., 2013). * guix/packages.scm (package-field-location): Catch 'system-error, not 'system.
* | packages: 'supported-package?' binds '%current-system' for graph traversal.Ludovic Courtès2019-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, (supported-package? coreutils "armhf-linux") with (%current-system) = "x86_64-linux" would return false. That's because 'supported-package?' would traverse the x86_64 dependency graph, which contains 'tcc-boot0', which supports x86 only. Consequently, 'supported-package?' would match only 53 packages for "armhf-linux" when running on x86, as is the case during continuous integration. * guix/packages.scm (package-transitive-supported-systems): Add an optional 'system' parameter. Use 'mlambda' instead of 'mlambdaq' for memoization. (supported-package?): Pass 'system' to 'package-transitive-supported-systems'. * tests/packages.scm ("package-transitive-supported-systems, implicit inputs") ("package-transitive-supported-systems: reduced binary seed, implicit inputs"): Remove calls to 'invalidate-memoization!', which no longer work and were presumably introduced to work around the bug we're fixing (see commit 0db65c168fd6dec57a357735fe130c80feba5460). * tests/packages.scm ("supported-package?"): Rewrite test to use only existing system name since otherwise 'bootstrap-executable' raises an exception. ("supported-package? vs. system-dependent graph"): New test.
* | Merge branch 'master' into core-updatesMark H Weaver2019-08-29
|\|
| * packages: Apply target triplet in bag-transitive-host-inputs.David Thompson2019-08-26
| | | | | | | | | | | | | | | | Fixes a bug where propagated inputs that should be cross-compiled are instead compiled for the host system. * guix/packages.scm (bag-transitive-host-inputs): Call transitive-inputs in the context of the bag's target system triplet.
* | packages: Retain version in file name when repacking source checkouts.Marius Bakke2019-06-20
| | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/34066>. * guix/packages.scm (patch-and-repack)<tarxz-name>: If FILE-NAME is a source checkout, reuse the name without the '-checkout' part.
* | packages: 'patch-and-repack' no longer uses #:deprecation-warnings.Ludovic Courtès2019-06-17
| | | | | | | | | | * guix/packages.scm (patch-and-repack): Remove #:deprecation-warnings argument passed to 'gexp->derivation'.
* | gexp: Remove #:pre-load-modules? parameter.Ludovic Courtès2019-06-17
| | | | | | | | | | | | | | * guix/gexp.scm (gexp->derivation): Remove #:pre-load-modules?. (compiled-modules): Likewise. Inline the case correspoding to PRE-LOAD-MODULES? = #t. * guix/packages.scm (patch-and-repack): Remove #:pre-load-modules?.
* | Merge branch 'master' into core-updatesMarius Bakke2019-05-01
|\|
| * gexp: 'compiled-modules' loads modules before compiling them.Ludovic Courtès2019-04-04
| | | | | | | | | | | | | | | | | | | | | | This works around <https://bugs.gnu.org/15602> in the context of modules specified with 'with-imported-modules'. * guix/gexp.scm (gexp->derivation): Add #:pre-load-modules? parameter and pass it to 'compiled-modules'. (compiled-modules): Add #:pre-load-modules? parameter and honor it. * guix/packages.scm (patch-and-repack): Pass #:pre-load-modules? to 'gexp->derivation'.
| * packages: Remove 'maintainers' field.Ludovic Courtès2019-03-30
| | | | | | | | | | | | | | This field was never used and doesn't match the way we collectively maintain packages. * guix/packages.scm (<package>)[maintainers]: Remove.
| * packages: Remove 'self-native-input?' field.Ludovic Courtès2019-03-30
| | | | | | | | | | | | | | | | This field has become unnecessary with the addition of 'this-package'. * guix/packages.scm (<package>)[self-native-input?]: Remove. (package->bag): Adjust accordingly. * doc/guix.texi (package Reference): Remove 'self-native-input?'.
| * packages: Define 'this-package' and 'this-origin'.Ludovic Courtès2019-03-30
| | | | | | | | | | | | | | | | | | * guix/packages.scm (<origin>): Choose 'this-origin' as the 'this' identifier. (<package>): Choose 'this-package'. * gnu/packages/gnucash.scm (gnucash)[arguments]: Use 'this-package' instead of 'this-record'. * gnu/packages/version-control.scm (git)[arguments]: Likewise.
| * packages: Adjust to new calling convention for "thunked" fields.Ludovic Courtès2019-03-26
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/34995>. This is a followup to abd4d6b33dba4de228e90ad15a8efb456fcf7b6e. * guix/packages.scm (package->bag): Adjust calls to INPUTS, PROPAGATED-INPUTS, NATIVE-INPUTS, and ARGS, passing them SELF as an argument. * gnu/packages/gnucash.scm (gnucash)[arguments]: Use (package-inputs this-record) intead of (inputs). * gnu/packages/version-control.scm (git)[arguments]: Likewise.
* | Merge branch 'staging' into core-updatesMarius Bakke2019-03-23
|\|
| * packages: Add 'package-input-rewriting/spec'.Ludovic Courtès2019-03-17
| | | | | | | | | | | | | | * guix/packages.scm (package-input-rewriting/spec): New procedure. * tests/packages.scm ("package-input-rewriting/spec") ("package-input-rewriting/spec, partial match"): New tests. * doc/guix.texi (Defining Packages): Document it.
* | Merge branch 'staging' into core-updatesMarius Bakke2019-03-14
|\|
| * Revert "packages: 'package-input-rewriting' can take a promise."Ludovic Courtès2019-03-12
| | | | | | | | | | | | | | This reverts commit 7d2be1277b44de9d0528d9d3015443b40cb3b104, which turned out to be unhelpful for the problem at hand: https://lists.gnu.org/archive/html/guix-devel/2019-01/msg00486.html
* | packages: 'patch-and-repack' specifies a 'type' property for the derivation.Ludovic Courtès2019-03-10
|/ | | | * guix/packages.scm (patch-and-repack): Pass #:properties to 'gexp->derivation'.
* packages: 'package-input-rewriting' can take a promise.Ludovic Courtès2019-01-28
| | | | | | | * guix/packages.scm (package-input-rewriting): Allow REPLACEMENTS to be a promise. * gnu/packages/guile.scm (package-for-guile-2.0): Delay the first argument to 'package-input-rewriting'.
* packages: Add 'package-closure'.Ludovic Courtès2019-01-25
| | | | | * guix/packages.scm (package-closure): New procedure. * tests/packages.scm ("package-closure"): New test.
* packages: Turn 'cache!' into a single-value-return cache.Ludovic Courtès2018-12-19
| | | | | * guix/packages.scm (cache!): Assume THUNK returns a single value. (cached): Likewise.
* gexp: Remove backward compatibility hack for 'imported-files'.Ludovic Courtès2018-07-26
| | | | | | | * guix/gexp.scm (gexp->derivation): Remove #:import-creates-derivation?. (imported-files): Remove #:derivation? and adjust callers. (imported-modules), compiled-modules): Likewise. * guix/packages.scm (patch-and-repack): Adjust 'gexp->derivation' call.
* packages: 'patch-and-repack' compresses tarballs again.Ludovic Courtès2018-07-26
| | | | | | | * guix/packages.scm (patch-and-repack): Add missing "a" in "tar cvfa". Fixes a regression introduced in 3e95125e9bd0676d4a9add9105217ad3eaef3ff0 whereby we'd always create uncompressed tarballs.
* Merge branch 'master' into core-updatesMarius Bakke2018-07-24
|\
| * gexp: 'imported-files' no longer creates a derivation by default.Ludovic Courtès2018-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/gexp.scm (gexp->derivation): Add #:import-creates-derivation?. Pass #:derivation? to 'imported-modules' and 'compiled-modules'. In -L argument, check whether MODULES is a derivation. (%not-slash): New variable. (file-mapping->tree): New procedure. (imported-files): Rename to... (imported-files/derivation): ... this. (imported-files): New procedure. Rewrite in terms of 'interned-file-tree' when possible; add #:derivation? parameter. (imported-modules, compiled-modules): Add #:derivation? parameter and pass it to 'imported-files'. * guix/packages.scm (patch-and-repack): Pass #:import-creates-derivation? to 'gexp->derivation'. * tests/gexp.scm ("imported-files"): Adjust to no longer expect a derivation.
| * Revert "packages: Optimize 'package-transitive-supported-systems'."Ludovic Courtès2018-07-03
| | | | | | | | | | | | | | This reverts commit 24420f5ffabfbdbe913a5765e5c00e17de18fb4c. This broke 'package-transitive-supported-systems', which would return the union of supported systems instead of the intersection.
| * packages: Optimize 'package-transitive-supported-systems'.Ludovic Courtès2018-07-03
| | | | | | | | | | | | | | | | | | | | | | This version is 13% faster than the one above when timing: (fold-packages (lambda (p x) (package-transitive-supported-systems p)) '()) * guix/packages.scm (package-transitive-supported-systems): Make 'systems' a set instead of calling 'lset-intersection' repeatedly.
* | Revert "packages: Enable threaded compression of source tarballs."Marius Bakke2018-07-22
|/ | | | | | | Threaded compression makes tarballs non-deterministic: the result depends on the number of threads used for compressing. See <https://bugs.gnu.org/31015>. This reverts commit c8a3dea847bb9f87fa1876d0c6c3356d6226f121.
* packages: Add 'package-patched-vulnerabilities'.Ludovic Courtès2018-06-09
| | | | | | | | | | * guix/packages.scm (patch-file-name): New procedure. (%vulnerability-regexp): New variable. (package-patched-vulnerabilities): New procedure. * guix/scripts/lint.scm (patch-file-name): Remove. (check-vulnerabilities): Adjust to use 'package-patched-vulnerabilities'. * tests/packages.scm ("package-patched-vulnerabilities"): New test.
* Merge branch 'master' into core-updatesMark H Weaver2018-05-17
|\
| * guix: Separate the package name and version with "@", not "-".Chris Marusich2018-05-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/packages.scm (package-full-name): By default, use "@" to separate the package name and package version. Add an optional delimiter argument so that there is still a way to explicitly use a different delimiter. * gnu/packages/commencement.scm (gcc-boot0) <unpack-gmp&co>: Adjust accordingly. * tests/graph.scm: Adjust accordingly. * tests/profiles.scm: Adjust accordingly. * NEWS: Mention the change. Fixes: <https://bugs.gnu.org/31088>. Reported by Pierre Neidhardt <ambrevar@gmail.com>.
* | packages: Issue a warning unless the snippet returns #t.Mark H Weaver2018-03-16
| | | | | | | | | | * guix/packages.scm (patch-and-repack): Issue a warning if the snippet returns a value other than #t.
* | packages: Update copyright notice.Mark H Weaver2018-03-16
| | | | | | | | | | | | This is a followup to commit 5003aeaf2560d6ddebcf980a94785fba77e00f34. * guix/packages.scm: Update copyright notice for Mark H Weaver.
* | packages: patch-and-repack: Fix snippet handling.Mark H Weaver2018-03-16
| | | | | | | | | | | | | | | | This is a followup to commit 5003aeaf2560d6ddebcf980a94785fba77e00f34. * guix/packages.scm (patch-and-repack): For the snippet, generate a single boolean expression for 'unless', instead of the list of expressions which had previously been spliced into an 'and' form (prior to commit 5003aea).
* | packages: patch-and-repack: Use invoke instead of system*.Mark H Weaver2018-03-16
|/ | | | | * guix/packages.scm (patch-and-repack): Use invoke and remove vestigial plumbing.
* Merge branch 'master' into core-updatesMark H Weaver2018-01-19
|\
| * packages: 'package-mapping' maps replacement.Ludovic Courtès2018-01-20
| | | | | | | | * guix/packages.scm (package-mapping): Apply PROC to 'replacement' as well.
* | gnu: commencement: Memoize 'linux-libre-headers-boot0'.Ludovic Courtès2018-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://bugs.gnu.org/30155>. The effect can be seen in the package graph produced by: guix graph -e '(@@ (gnu packages commencement) static-bash-for-glibc)' This reduces the number of "duplicate" nodes in this graph, i.e., distinct package objects that correspond to the same derivation (objects that are not 'eq?' but semantically equal.) * gnu/packages/commencement.scm (linux-libre-headers-boot0): Make an 'mlambda' instead of a 'lambda'. (hurd-core-headers-boot0): Ditto.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-07
|\|
| * Revert "packages: 'package-grafts' trims native inputs."Ludovic Courtès2017-12-06
| | | | | | | | | | | | This reverts commit 91c9b5d016ac8bed127557d378c70fbc56cec0e5 following the concerns raised by Mark, Ben, and Tobias: <https://lists.gnu.org/archive/html/guix-devel/2017-12/msg00081.html>.
| * packages: 'package-grafts' trims native inputs.Ludovic Courtès2017-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'package-grafts' returns a list of potentially applicable grafts, which 'cumulative-grafts' then narrows by looking at store item references and determining the subset of the grafts that's actually applicable. Until now, 'package-grafts' would traverse native inputs and would thus return a large superset of the applicable grafts, since native inputs are not in the reference graph by definition. This patch fixes that by having 'package-grafts' ignore entirely native inputs from the dependency graph. * guix/packages.scm (fold-bag-dependencies)[bag-direct-inputs*]: Add special case for libc. * guix/packages.scm (bag-grafts)[native-grafts, target-grafts]: Remove. [grafts]: New procedure. Use it. * tests/packages.scm ("package-grafts, grafts of native inputs ignored"): New test.
| * packages: 'fold-bag-dependencies' honors nativeness in recursive calls.Ludovic Courtès2017-12-05
| | | | | | | | | | | | | | | | Previously recursive calls to 'loop' would always consider all the bag inputs rather than those corresponding to NATIVE?. * guix/packages.scm (fold-bag-dependencies)[bag-direct-inputs*]: New procedure. Use it both in the 'match' expression and in its body.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-05
|\|
| * gexp: 'compiled-modules' disables deprecation warnings by default.Ludovic Courtès2017-11-29
| | | | | | | | | | | | | | | | | | | | | | | | This avoids repeated deprecation messages, particularly while running 'guix system build' or similar. * guix/gexp.scm (gexp->derivation): Add #:deprecation-warnings. Pass it to 'compiled-modules'. (compiled-modules): Add #:deprecation-warnings and honor it. * doc/guix.texi (G-Expressions): Update 'gexp->derivation' documentation. * guix/packages.scm (patch-and-repack): Pass #:deprecation-warnings #t.
* | gnu: glibc: Don't use full version string in locale path.Marius Bakke2017-12-03
|/ | | | | | | | | | | | This is a follow-up to commit ee3ebf1a357bd4eb36a2fa1790a7b549cffb305a. Fixes <https://bugs.gnu.org/29537>. * gnu/packages/base.scm (glibc/linux)[version]: Change to 2.26.91-gaaa2eb83b8. [source](uri): Adjust accordingly. [arguments]: Use VERSION-MAJOR+MINOR for locales path. (glibc-locales, glibc-utf8-locales): Likewise. * guix/packages.scm (patch-and-repack): Likewise. * guix/profiles.scm (ca-certificate-bundle, profile-derivation): Likewise.
* packages: Use Guile 2.0 for grafting.Ludovic Courtès2017-08-24
| | | | | | | | | Works around <https://bugs.gnu.org/28211>. Reported by Marius Bakke <mbakke@fastmail.com>. * guix/packages.scm (guile-2.0): New procedure. (package-derivation, package-cross-derivation): Use it when computing the #:guile argument to 'graft-derivation'.
* Merge branch 'master' into core-updatesLeo Famulari2017-07-10
|\