summaryrefslogtreecommitdiff
path: root/guix
Commit message (Collapse)AuthorAge
* build: glib-or-gtk-build-system: Add gtk 4.0 support.Mathieu Othacehe2021-10-02
| | | | | * guix/build/glib-or-gtk-build-system.scm (gtk-module-directories): Add gtk 4.0 support.
* style: Really honor '--input-simplification=always'.Ludovic Courtès2021-09-30
| | | | | * guix/scripts/style.scm (simplify-package-inputs): Use (const #t) when POLICY is 'always.
* packages: Use 'guile-for-grafts' for grafting.Ludovic Courtès2021-09-27
| | | | | | | | | | The call to 'guile-for-grafts' had been inadvertently replaced by a call to 'default-guile' in commit 9e5812ac59b01ff011ec0c5b0f437dfe85d6fcc7. Unfortunately Guile 3.0.7 still occasionally segfaults while grafting so we still need 2.0 here. * guix/packages.scm (package->derivation, package->cross-derivation): Use 'guile-for-grafts' instead of 'default-guile'.
* union: Do not warn about "ld.so.cache" collisions.Ludovic Courtès2021-09-25
| | | | | | This is a followup to f85efa86e7690d9181946351631e02b1c20958c9. * guix/build/union.scm (%harmless-collisions): Add "ld.so.cache".
* gexp: Leave grafting as is when lowering allowed/disallowed references.Ludovic Courtès2021-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/50676>. Reported by Mathieu Othacehe <othacehe@gnu.org>. Commit a779363b6aa581e88eda21f9f35530962d54ac25 was partially incorrect: references passed to #:allowed-references or #:references-graphs *can* be lowered as references to grafted elements. This is for example the case when doing: (computed-file "partition.img" exp #:options `(#:references-graphs ,inputs)) Here INPUTS must be lowered as a reference to suitably grafted elements. Failing to do that, the reference graph will not match the actual INPUTS. However, when building a package, those references must indeed refer only to ungrafted packages. This commit preserves that by having build systems pass #:graft? #f. * guix/gexp.scm (lower-reference-graphs, lower-references): Remove uses of 'without-grafting'. This reverts a779363b6aa581e88eda21f9f35530962d54ac25. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Pass #:graft? #f. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build) (glib-or-gtk-cross-build): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise. * guix/build-system/meson.scm (meson-build, meson-cross-build): Likewise. * guix/build-system/trivial.scm (trivial-build, trivial-cross-build): Likewise. * tests/gexp.scm ("lower-object, computed-file + grafts"): New test. * tests/packages.scm ("trivial with #:allowed-references + grafts"): New test.
* base32: Work around (ash x N) miscompilation at '-O1' and below.Ludovic Courtès2021-09-21
| | | | | | | Fixes <https://issues.guix.gnu.org/50696>. Reported by Marius Bakke <marius@gnu.org>. * guix/base32.scm (bit-field): Introduce 'minus-start' syntax and use it.
* build-system/glib-or-gtk: Support cross-compilaton.Maxime Devos2021-09-20
| | | | | | | * guix/build-system/glib-or-gtk.scm (lower): Add 'implicit-cross-inputs?' argument. Generate a bag when cross-compiling. (glib-or-gtk-cross-build): New procedure.
* build-system/meson: Allow 'configure-flags' to be a G-exp.Maxime Devos2021-09-20
| | | | | | * guix/build-system/meson.scm (meson-build, meson-cross-build): Only call 'sexp->gexp' on 'configure-flags' when 'configure-flags' is a pair.
* Merge branch 'master' into core-updates-frozenMarius Bakke2021-09-17
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/packages/bioinformatics.scm gnu/packages/chez.scm gnu/packages/docbook.scm gnu/packages/ebook.scm gnu/packages/gnome.scm gnu/packages/linux.scm gnu/packages/networking.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/tex.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/dune.scm guix/build-system/go.scm guix/build-system/linux-module.scm guix/packages.scm
| * store: 'map/accumulate-builds' processes the whole list in case of cutoff.Ludovic Courtès2021-09-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/50264>. Reported by Lars-Dominik Braun <lars@6xq.net>. This fixes a regression introduced in fa81971cbae85b39183ccf8f51e8d96ac88fb4ac whereby 'map/accumulate-builds' would return REST (the tail of LST) without applying PROC on it. The effect would be that 'lower-inputs' in (guix gexp) would dismiss those elements, leading to derivations with correct builders but only a subset of the inputs they should have had. * guix/store.scm (map/accumulate-builds): Add #:cutoff parameter and remove 'accumulation-cutoff' variable. Call PROC on the elements of REST. * tests/store.scm ("map/accumulate-builds cutoff"): New test.
| * import: cabal: Treat identifier names correctly.Xinglu Chen2021-09-15
| | | | | | | | | | | | | | | | | | | | | | | | * guix/import/cabal.scm (is-id): Accept the location as an argument. Don’t check if the identifier name is a reserved keyword unless it is the first word on the line. (lex-word): Adjust accordingly. * tests/hackage ("hackage->guix-package tests flag executable"): Expect it to pass. Fixes: <https://issues.guix.gnu.org/25138> Signed-off-by: Lars-Dominik Braun <lars@6xq.net>
| * build-system: linux-module: Support source-directory.Liliana Marie Prikler2021-09-14
| | | | | | | | | | | | | | | | | | | | As with guile-build-system, the module to be build need not necessarily live at the root of the build tree. * guix/build/linux-module-build-system.scm (build, install): Add source-directory argument and append it to "M" variable when invoking make. * guix/build-system/linux-module.scm (linux-module-build): Add source-directory argument.
| * scripts: import: Increase column width for pretty-printer.Xinglu Chen2021-09-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the max column width for the pretty-printer was 50, which caused generated package definitions to include unnecessary newlines, e.g., (home-page "https://gitlab.com/ttyperacer/terminal-typeracer") instead of (home-page "https://gitlab.com/ttyperacer/terminal-typeracer") * guix/scripts/import.scm (guix-import): Set max expression width to 80 when pretty-printing. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * download: Disarchive mirrors can be URL-returning procedures.Ludovic Courtès2021-09-14
| | | | | | | | | | | | | | | | | | | | As discussed at <https://issues.guix.gnu.org/47336#16>. * guix/build/download.scm (url-fetch)[disarchive-uris]: Accept MIRROR as a procedure. * guix/download.scm (%disarchive-mirrors): Add comment. This change can only be made once a 'guix perform-download' that understands procedures is widely deployed.
| * download: Remove obsolete workaround.Ludovic Courtès2021-09-14
| | | | | | | | | | * guix/download.scm (%content-addressed-mirrors): Use (guix base16) unconditionally.
| * build/go: Support cross compiling.Efraim Flashner2021-09-13
| | | | | | | | | | | | | | | | | | | | * guix/build-system/go.scm (go-target): New procedure. (go-build): Add goarch, goos keywords. Adjust bag depending if doing a native or cross compile. (go-cross-build): New procedure. * guix/build/go-build-system.scm (setup-go-environment): Accept goarch, goos keywords. Set go environment variables based on target architecture. * doc/guix.texi (Build Systems): Mention new go-build-system keywords.
| * packages: Add 'package-definition-location'.Ludovic Courtès2021-09-13
| | | | | | | | | | | | | | | | | | | | Suggested by Maxime Devos <maximedevos@telenet.be>. * guix/packages.scm (current-definition-location): New syntax parameter. (define-public*): New macro. (<package>)[definition-location]: New field. (package-definition-location): New procedure. * tests/packages.scm ("package-definition-location"): New test.
| * packages: Store 'location' field as a literal vector.Ludovic Courtès2021-09-13
| | | | | | | | | | | | | | | | | | | | This is slightly more efficient than storing an alist in terms of .go file size (< 1% smaller) and load time. * guix/packages.scm (current-location-vector): New macro. (sanitize-location): New procedure. (<package>)[location]: Change 'default' and add 'sanitize'. (package-location): New procedure.
| * import: elpa: Don't hardcode default branch to 'master'.Xinglu Chen2021-09-10
| | | | | | | | | | | | | | | | | | | | Otherwise, remotes without a branch named 'master' will cause an error when importing. * guix/import/elpa (git-repository->origin): Fallback to HEAD instead of the 'master' branch. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * swh: 'swh-download' reports revision lookup failures.Ludovic Courtès2021-09-10
| | | | | | | | * guix/swh.scm (swh-download): Log lookup failures.
| * swh: Adjust to new vault API.Ludovic Courtès2021-09-10
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously the path to query the vault or request cooking of a directory was /api/1/vault/directory/ID. It is now deprecated in favor if /api/1/vault/flat/SWHID. This commit adjusts code accordingly and also prepares for 'git-bare' support. * guix/swh.scm (vault-url): New procedure. (query-vault, request-cooking): Make 'kind' optional, and add #:archive-type. Use 'vault-url'. (vault-fetch): Make 'kind' optional and add #:archive-type. Adjust 'query-vault' and 'request-cooking' calls accordingly.
| * lint: archival: Warn about non-origin sources.Ludovic Courtès2021-09-10
| | | | | | | | * guix/lint.scm (check-archival): Warn about non-origin sources.
| * base32: Provide an open-coded 'bit-field'.Ludovic Courtès2021-09-10
| | | | | | | | | | | | This improves the throughput of 'bytevector->base32-string' a bit. * guix/base32.scm (bit-field): New macro.
| * base16: Reduce GC pressure in bytevector->base16-string.Maxime Devos2021-09-10
| | | | | | | | | | | | | | | | | | This makes bytevector->base16-string two times faster. * guix/base16.scm (bytevector->base16-string): Use utf8->string and iteration instead of string-concatenate and named let. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * swh: Adjust <vault-reply> to latest API changes.Ludovic Courtès2021-09-09
| | | | | | | | | | | | | | | | | | | | Fixes uses of 'swh-download' as reported at <https://lists.gnu.org/archive/html/guix-devel/2021-09/msg00115.html>. Reported by zimoun. * guix/swh.scm (<vault-reply>)[object-id, object-type]: Remove. These two fields are no longer provided in JSON replies. [swhid]: New field.
| * transformations: Git tags and 'git describe' style IDs are used as version.Marius Bakke2021-09-08
| | | | | | | | | | | | | | | | | | | | * guix/transformations.scm (commit->version-string): New procedure. Use git tags and 'git describe' style identifiers directly. (transform-package-source-commit): Adjust accordingly. * tests/transformations.scm ("options->transformation, with-commit, version transformation"): New test. * doc/guix.texi (Package Transformation Options): Mention the 'git describe' style.
| * git: 'resolve-reference' handles 'git describe'-style commit IDs.Marius Bakke2021-09-08
| | | | | | | | | | | | * guix/git.scm (resolve-reference): Rewrite tag-or-commit case to recognize 'git describe' style identifiers and resolve them as commits. * doc/guix.texi (origin Reference): Mention it.
| * guix: dune-build-system: Put dune into a reproducible release mode.pukkamustard2021-09-08
| | | | | | | | | | | | | | | | | | * guix/build/dune-build-system.scm (build,check): Replace the profile parameter with the appropriate release flags. * guix/build-system/dune.scm: Remove the profile parameter. * doc/guix.texi: Remove paragraph on profile parameter. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| * import: go: Fix import when import path redirects.Sarah Morgensen2021-09-07
| | | | | | | | | | | | | | * guix/import/go.scm (fetch-module-meta-data): If no meta entries have a matching import prefix, return the first entry instead of #f. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * import: elpa: Support NonGNU ELPA.Xinglu Chen2021-09-07
| | | | | | | | | | | | | | * guix/import/elpa.scm (elpa-url): Add NonGNU ELPA URL. * doc/guix.texi (Invoking guix import): Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * system: Add hint for action typo.zimoun2021-09-07
| | | | | | | | | | | | | | * guix/scripts/system.scm (actions): New variable. (define-command): Add hint for action typo. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * import: Add hint for importer typo.zimoun2021-09-07
| | | | | | | | | | | | * guix/scripts/import.scm (define-command): Add hint. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-09-07
|\|
| * swh: Add 'lookup-snapshot-branch'.Ludovic Courtès2021-09-06
| | | | | | | | | | * guix/swh.scm (<snapshot>)[id]: New field. (snapshot-url, lookup-snapshot-branch): New procedures.
| * swh: <revisions> accept null 'date' fields.Ludovic Courtès2021-09-06
| | | | | | | | | | * guix/swh.scm (maybe-null): New procedure. (<revision>)[date]: Use it.
| * swh: Export <snapshot> accessors.Ludovic Courtès2021-09-06
| | | | | | | | * guix/swh.scm: Export <snapshot> accessors.
| * weather: Don't look for exported package replacements twice.Christopher Baines2021-09-03
| | | | | | | | | | * guix/scripts/weather.scm (all-packages): Delete duplicates, so that exported replacements aren't included twice.
| * publish: Simplify 'narinfo-string'.Ludovic Courtès2021-09-03
| | | | | | | | | | | | | | | | This is a followup to 222f4661ed11b225f458cbe495a296f233129bec, which was intended to improve performance of 'narinfo-string'. * guix/scripts/publish.scm (narinfo-string): Remove 'catch' and 'read-derivation-from-file' call when rendering "Deriver".
| * import: go: Improve error handling.zimoun2021-09-01
| | | | | | | | | | | | | | | | | | | | * guix/import/go.scm (go-module->guix-package*): Handle errors, remove memoize. (go-module-recursive-import): Remove 'guard', add memoize. * guix/scripts/import/go.scm (guix-import-go): Adjust. * tests/go.scm: Adjust. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * import: utils: Skip not found packages.Sarah Morgensen2021-09-01
| | | | | | | | | | | | | | | | * guix/import/utils.scm (recursive-import): Skip packages when the package returned by 'repo->guix-package' is false. * tests/import-utils.scm: New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * import: go: Return false for package not found.Sarah Morgensen2021-09-01
| | | | | | | | | | | | | | * guix/import/go.scm (go-module-recursive-import): Explicitly return false when packages are not found. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * publish: Do not render the narinfo "System" field.Mathieu Othacehe2021-08-31
| | | | | | | | | | | | | | This has been discussed here: https://issues.guix.gnu.org/50040. * guix/scripts/publish.scm (narinfo-string): Do not render the "System" field that is expensive to compute and currently unused.
| * build-system: chicken: Add 'egg-uri' procedure.Xinglu Chen2021-08-30
| | | | | | | | | | | | | | | | | | | | | | | | Once Chicken 6 gets released, we can just adjust the URL in the ‘egg-uri’ procedure, instead of having to change the URL for all the Chicken packages. Making things a little more future-proof. * guix/build-system/chicken.scm (egg-uri): New procedure. * guix/import/egg.scm (egg-source-url): Adjust accordingly. (egg->guix-package): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * gnu: bootloader: Support multiple targets.Maxim Cournoyer2021-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/40997>. * gnu/bootloader.scm (<bootloader-configuration>): New 'targets' field. (%bootloader-configuration-target): New procedure. (bootloader-configuration-target): Add deprecation warning. (bootloader-configuration-targets): New procedure. * guix/scripts/system.scm (install): Access targets via bootloader-configuration-targets. (perform-action)[bootloader-target]: Remove unused argument and update doc. Access targets via bootloader-configuration-targets and fix indentation. (process-action): Access targets via bootloader-configuration-targets. Do not provide the unused BOOTLOADER-TARGET argument when applying `perform-action'. * guix/scripts/system/reconfigure.scm (install-bootloader-program): Rename DEVICE argument to DEVICES. Adjust doc and comment. Apply `installer' and `disk-installer' for every DEVICES. (install-bootloader): Access targets via bootloader-configuration-targets and rename variable from DEVICE to DEVICES. * gnu/tests/install.scm: Adjust accordingly. * tests/guix-system.sh: Likewise. * gnu/tests/reconfigure.scm (run-install-bootloader-test): Adjust the DEVICES argument so that it is a list. * doc/guix.texi: Update doc.
| * ci: Add jobs history support.Mathieu Othacehe2021-08-22
| | | | | | | | | | | | * guix/ci.scm (history?, history-evaluation, history-checkouts, history-jobs, jobs-history): New procedures. (<history>): New record.
| * guix: opam: More flexibility in the importer.Alice BRENON2021-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * guix/scripts/import/opam.scm: Pass all instances of --repo as a list to the importer. * guix/import/opam.scm (opam-fetch): Stop expecting "expanded" repositories and call get-opam-repository instead to keep values "symbolic" as long as possible and factorize. (get-opam-repository): Use the same repository source as CLI opam does (i.e. HTTP-served index.tar.gz instead of git repositories). (find-latest-version): Be more flexible on the repositories structure instead of expecting packages/PACKAGE-NAME/PACKAGE-NAME.VERSION/. * tests/opam.scm: Update the call to opam->guix-package since repo is now expected to be a list and remove the mocked get-opam-repository deprecated by the support for local folders by the actual implementation. * doc/guix.texi: Document the new semantics and valid arguments for the --repo option. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| * guix: dune-build-system: Add a profile parameter.pukkamustard2021-08-20
| | | | | | | | | | | | | | | | | | * guix/build-system/dune.scm: Add a profile parameter. * guix/build/dune-build-system.scm (build): Use it. * doc/guix.texi: Document it. * gnu/packages/ocaml.scm: Remove profile being set from build flags. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| * gnu: minetest: move to minetest.scm.Leo Prikler2021-08-20
| | | | | | | | | | | | * gnu/packages/games.scm (minetest, minetest-data): Move from here... * gnu/packages/minetest.scm (minetest, minetest-data): ... to here. * guix/build-system/minetest.scm (default-minetest): Adjust accordingly.
| * guix: Add ContentDB importer.Maxime Devos2021-08-20
| | | | | | | | | | | | | | | | | | | | | | * guix/import/contentdb.scm: New file. * guix/scripts/import/contentdb.scm: New file. * tests/contentdb.scm: New file. * Makefile.am (MODULES, SCM_TESTS): Register them. * po/guix/POTFILES.in: Likewise. * doc/guix.texi (Invoking guix import): Document it. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
| * import/utils: Recognise GPL-3.0-or-later and friends.Maxime Devos2021-08-20
| | | | | | | | | | | | | | * guix/import/utils.scm (spdx-string->license): Recognise GPL-N-only and GPL-N-or-later. Likewise for LGPL and AGPL. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>