summaryrefslogtreecommitdiff
path: root/guix/packages.scm
AgeCommit message (Collapse)Author
2020-03-29packages: Change 'guile-for-grafts' back to 2.0.Ludovic Courtès
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.
2020-03-27packages: Use Guile 3.0 for grafts.Ludovic Courtès
* 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'.
2020-03-27Merge branch 'master' into core-updatesMarius Bakke
Conflicts: gnu/packages/icu4c.scm gnu/packages/man.scm gnu/packages/python-xyz.scm guix/scripts/environment.scm guix/scripts/pack.scm guix/scripts/package.scm guix/scripts/pull.scm guix/store.scm
2020-03-26gnu: bootstrap: Add support for the Hurd.Efraim Flashner
On 3342a1182b15ec031f0ec6f602fd96c1dca3d4b0 gnu: make-bootstrap: Use _IOLBF on Guile 2.0 only. Run ./pre-inst-env guix build --target=i586-pc-gnu bootstrap-tarballs --verbosity=1 Producing /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0 With guix hash -rx /gnu/store/lhca65c997pvic5cfrpm0dasniwqlg2a-bootstrap-tarballs-0 07jnq2by98f2a45k8wd2gj62iazvwfa4z7p3w3id4m1g0fdsvc3b * gnu/packages/bootstrap.scm (%bootstrap-executables): Add entries for the Hurd. (bootstrap-executable-url): Use lilypond url for the Hurd. (bootstrap-guile-url-path): Likewise. (bootstrap-guile-hash): Add entry for the Hurd. (%bootstrap-coreutils&co): Likewise. (%bootstrap-binutils): Likewise. (%bootstrap-glibc): Likewise. (%bootstrap-gcc): Likewise. * guix/packages.scm (%supported-systems): Add i586-gnu. Co-authored-by: Jan Nieuwenhuizen <janneke@gnu.org>
2020-03-22packages: 'package-field-location' handles missing source properties.Ludovic Courtès
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.
2020-03-21Merge branch 'master' into core-updatesMarius Bakke
2020-03-20packages: 'package-field-location' preserves the original file name.Ludovic Courtès
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.
2020-01-17packages: 'patch-and-repack' sets the mtime to 1, not 0.Ludovic Courtès
* guix/packages.scm (patch-and-repack)[build]: Pass "--mtime=@1" instead of "--mtime=@0".
2019-12-19guix: Fix %hurd-systems list.Efraim Flashner
* guix/packages.scm (%hurd-systems): Replace i585-gnu with i586-gnu.
2019-10-20packages: Add "aarch64-linux" to '%hydra-supported-systems'.Ludovic Courtès
* guix/packages.scm (%hydra-supported-systems): Keep "aarch64-linux".
2019-09-17Merge branch 'master' into core-updatesLudovic Courtès
2019-09-10packages: 'package-field-location' really catches 'system-error.Ludovic Courtès
This had been wrong since forever (i.e., 2013). * guix/packages.scm (package-field-location): Catch 'system-error, not 'system.
2019-09-06packages: 'supported-package?' binds '%current-system' for graph traversal.Ludovic Courtès
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.
2019-08-29Merge branch 'master' into core-updatesMark H Weaver
2019-08-26packages: Apply target triplet in bag-transitive-host-inputs.David Thompson
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.
2019-06-20packages: Retain version in file name when repacking source checkouts.Marius Bakke
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.
2019-06-17packages: 'patch-and-repack' no longer uses #:deprecation-warnings.Ludovic Courtès
* guix/packages.scm (patch-and-repack): Remove #:deprecation-warnings argument passed to 'gexp->derivation'.
2019-06-17gexp: Remove #:pre-load-modules? parameter.Ludovic Courtès
* 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?.
2019-05-01Merge branch 'master' into core-updatesMarius Bakke
2019-04-04gexp: 'compiled-modules' loads modules before compiling them.Ludovic Courtès
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'.
2019-03-30packages: Remove 'maintainers' field.Ludovic Courtès
This field was never used and doesn't match the way we collectively maintain packages. * guix/packages.scm (<package>)[maintainers]: Remove.
2019-03-30packages: Remove 'self-native-input?' field.Ludovic Courtès
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?'.
2019-03-30packages: Define 'this-package' and 'this-origin'.Ludovic Courtès
* 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.
2019-03-26packages: Adjust to new calling convention for "thunked" fields.Ludovic Courtès
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.
2019-03-23Merge branch 'staging' into core-updatesMarius Bakke
2019-03-17packages: Add 'package-input-rewriting/spec'.Ludovic Courtès
* 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.
2019-03-14Merge branch 'staging' into core-updatesMarius Bakke
2019-03-12Revert "packages: 'package-input-rewriting' can take a promise."Ludovic Courtès
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
2019-03-10packages: 'patch-and-repack' specifies a 'type' property for the derivation.Ludovic Courtès
* guix/packages.scm (patch-and-repack): Pass #:properties to 'gexp->derivation'.
2019-01-28packages: 'package-input-rewriting' can take a promise.Ludovic Courtès
* 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'.
2019-01-25packages: Add 'package-closure'.Ludovic Courtès
* guix/packages.scm (package-closure): New procedure. * tests/packages.scm ("package-closure"): New test.
2018-12-19packages: Turn 'cache!' into a single-value-return cache.Ludovic Courtès
* guix/packages.scm (cache!): Assume THUNK returns a single value. (cached): Likewise.
2018-07-26gexp: Remove backward compatibility hack for 'imported-files'.Ludovic Courtès
* 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.
2018-07-26packages: 'patch-and-repack' compresses tarballs again.Ludovic Courtès
* 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.
2018-07-24Merge branch 'master' into core-updatesMarius Bakke
2018-07-22Revert "packages: Enable threaded compression of source tarballs."Marius Bakke
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.
2018-07-19gexp: 'imported-files' no longer creates a derivation by default.Ludovic Courtès
* 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.
2018-07-03Revert "packages: Optimize 'package-transitive-supported-systems'."Ludovic Courtès
This reverts commit 24420f5ffabfbdbe913a5765e5c00e17de18fb4c. This broke 'package-transitive-supported-systems', which would return the union of supported systems instead of the intersection.
2018-07-03packages: Optimize 'package-transitive-supported-systems'.Ludovic Courtès
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.
2018-06-09packages: Add 'package-patched-vulnerabilities'.Ludovic Courtès
* 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.
2018-05-17Merge branch 'master' into core-updatesMark H Weaver
2018-05-08guix: Separate the package name and version with "@", not "-".Chris Marusich
* 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>.
2018-03-16packages: Issue a warning unless the snippet returns #t.Mark H Weaver
* guix/packages.scm (patch-and-repack): Issue a warning if the snippet returns a value other than #t.
2018-03-16packages: Update copyright notice.Mark H Weaver
This is a followup to commit 5003aeaf2560d6ddebcf980a94785fba77e00f34. * guix/packages.scm: Update copyright notice for Mark H Weaver.
2018-03-16packages: patch-and-repack: Fix snippet handling.Mark H Weaver
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).
2018-03-16packages: patch-and-repack: Use invoke instead of system*.Mark H Weaver
* guix/packages.scm (patch-and-repack): Use invoke and remove vestigial plumbing.
2018-01-19Merge branch 'master' into core-updatesMark H Weaver
2018-01-20packages: 'package-mapping' maps replacement.Ludovic Courtès
* guix/packages.scm (package-mapping): Apply PROC to 'replacement' as well.
2018-01-18gnu: commencement: Memoize 'linux-libre-headers-boot0'.Ludovic Courtès
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.
2017-12-07Merge branch 'master' into core-updatesMarius Bakke