summaryrefslogtreecommitdiff
path: root/guix/packages.scm
AgeCommit message (Expand)Author
2020-03-29packages: 'package->bag' keys cache by replacement....* guix/packages.scm (package->bag): When GRAFT? is true, use PACKAGE's replacement as the cache key. Remove GRAFT? from the list of secondary cache keys. Ludovic Courtès
2020-03-29packages: Change 'guile-for-grafts' back to 2.0....This reverts 2b6fe60599d52b449bbf531cfdc4dbf18a14eb2c, due to reports of segfaults of Guile 3.0.2 during grafting. * guix/packages.scm (guile-for-grafts): Change back to GUILE-2.0. Ludovic Courtès
2020-03-27packages: Use Guile 3.0 for grafts....* guix/packages.scm (guile-2.0): Rename to... (guile-for-grafts): ... this, and adjust callers. Refer to 'guile-3.0' instead of 'guile-2.0'. Ludovic Courtès
2020-03-22packages: 'package-field-location' handles missing source properties....This is a followup to f2b24f01f42c1bad3ddffd140194de1aec38a5f8. * guix/packages.scm (package-field-location): Check whether 'source-properties->location' returns #f. This fixes the case where 'source-properties' returns the empty list. Ludovic Courtès
2020-03-20packages: 'package-field-location' preserves the original file name....Fixes <https://bugs.gnu.org/39425>. Reported by Alex ter Weele <alex.ter.weele@gmail.com>. * guix/packages.scm (package-field-location): Remove 'with-fluids' for '%file-port-name-canonicalization'. Change the 'file' field of the resulting location to FILE. Ludovic Courtès
2019-12-19guix: Fix %hurd-systems list....* guix/packages.scm (%hurd-systems): Replace i585-gnu with i586-gnu. Efraim Flashner
2019-10-20packages: Add "aarch64-linux" to '%hydra-supported-systems'....* guix/packages.scm (%hydra-supported-systems): Keep "aarch64-linux". Ludovic Courtès
2019-09-17Merge branch 'master' into core-updatesLudovic Courtès
2019-09-10packages: 'package-field-location' really catches 'system-error....This had been wrong since forever (i.e., 2013). * guix/packages.scm (package-field-location): Catch 'system-error, not 'system. Ludovic Courtès
2019-09-06packages: 'supported-package?' binds '%current-system' for graph traversal....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. Ludovic Courtès
2019-08-29Merge branch 'master' into core-updatesMark H Weaver
2019-08-26packages: Apply target triplet in bag-transitive-host-inputs....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. David Thompson
2019-06-20packages: Retain version in file name when repacking source checkouts....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. Marius Bakke
2019-06-17packages: 'patch-and-repack' no longer uses #:deprecation-warnings....* guix/packages.scm (patch-and-repack): Remove #:deprecation-warnings argument passed to 'gexp->derivation'. Ludovic Courtès
2019-06-17gexp: Remove #:pre-load-modules? parameter....* 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?. Ludovic Courtès
2019-05-01Merge branch 'master' into core-updatesMarius Bakke
2019-04-04gexp: 'compiled-modules' loads modules before compiling them....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'. Ludovic Courtès
2019-03-30packages: Remove 'maintainers' field....This field was never used and doesn't match the way we collectively maintain packages. * guix/packages.scm (<package>)[maintainers]: Remove. Ludovic Courtès
2019-03-30packages: Remove 'self-native-input?' field....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?'. Ludovic Courtès
2019-03-30packages: Define 'this-package' and 'this-origin'....* 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. Ludovic Courtès
2019-03-26packages: Adjust to new calling convention for "thunked" fields....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. Ludovic Courtès
2019-03-23Merge branch 'staging' into core-updatesMarius Bakke
2019-03-17packages: Add 'package-input-rewriting/spec'....* 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. Ludovic Courtès
2019-03-14Merge branch 'staging' into core-updatesMarius Bakke
2019-03-12Revert "packages: 'package-input-rewriting' can take a promise."...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 Ludovic Courtès
2019-03-10packages: 'patch-and-repack' specifies a 'type' property for the derivation....* guix/packages.scm (patch-and-repack): Pass #:properties to 'gexp->derivation'. Ludovic Courtès
2019-01-28packages: 'package-input-rewriting' can take a promise....* 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'. Ludovic Courtès
2019-01-25packages: Add 'package-closure'....* guix/packages.scm (package-closure): New procedure. * tests/packages.scm ("package-closure"): New test. Ludovic Courtès
2018-12-19packages: Turn 'cache!' into a single-value-return cache....* guix/packages.scm (cache!): Assume THUNK returns a single value. (cached): Likewise. Ludovic Courtès
2018-07-26gexp: Remove backward compatibility hack for 'imported-files'....* 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. Ludovic Courtès
2018-07-26packages: 'patch-and-repack' compresses tarballs again....* 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. Ludovic Courtès
2018-07-24Merge branch 'master' into core-updatesMarius Bakke
2018-07-22Revert "packages: Enable threaded compression of source tarballs."...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. Marius Bakke
2018-07-19gexp: 'imported-files' no longer creates a derivation by default....* 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. Ludovic Courtès
2018-07-03Revert "packages: Optimize 'package-transitive-supported-systems'."...This reverts commit 24420f5ffabfbdbe913a5765e5c00e17de18fb4c. This broke 'package-transitive-supported-systems', which would return the union of supported systems instead of the intersection. Ludovic Courtès
2018-07-03packages: Optimize 'package-transitive-supported-systems'....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. Ludovic Courtès
2018-06-09packages: Add 'package-patched-vulnerabilities'....* 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. Ludovic Courtès
2018-05-17Merge branch 'master' into core-updatesMark H Weaver
2018-05-08guix: Separate the package name and version with "@", not "-"....* 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>. Chris Marusich
2018-03-16packages: Issue a warning unless the snippet returns #t....* guix/packages.scm (patch-and-repack): Issue a warning if the snippet returns a value other than #t. Mark H Weaver
2018-03-16packages: Update copyright notice....This is a followup to commit 5003aeaf2560d6ddebcf980a94785fba77e00f34. * guix/packages.scm: Update copyright notice for Mark H Weaver. Mark H Weaver
2018-03-16packages: patch-and-repack: Fix snippet handling....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). Mark H Weaver
2018-03-16packages: patch-and-repack: Use invoke instead of system*....* guix/packages.scm (patch-and-repack): Use invoke and remove vestigial plumbing. Mark H Weaver
2018-01-19Merge branch 'master' into core-updatesMark H Weaver
2018-01-20packages: 'package-mapping' maps replacement....* guix/packages.scm (package-mapping): Apply PROC to 'replacement' as well. Ludovic Courtès
2018-01-18gnu: commencement: Memoize 'linux-libre-headers-boot0'....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. Ludovic Courtès
2017-12-07Merge branch 'master' into core-updatesMarius Bakke
2017-12-06Revert "packages: 'package-grafts' trims native inputs."...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>. Ludovic Courtès
2017-12-05Merge branch 'master' into core-updatesMarius Bakke
2017-12-05packages: 'package-grafts' trims native inputs....'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. Ludovic Courtès