summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Expand)Author
2022-01-10build: julia-build-system: Create 'Project.toml' file when missing....* guix/build/julia-build-system.scm (link-depot): Create 'Project.toml' file when missing using data provided by the user. (julia-create-package-toml): Remove from export. * doc/guix.texi (Build Systems): Update julia-build-system section. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> zimoun
2022-01-10import: texlive: Update error message....We aren't downloading anything. * guix/scripts/import/texlive.scm (guix-import-texlive): Update error message. Ricardo Wurmus
2022-01-10import: texlive: Remove more specific entries with the same prefix....* guix/import/texlive.scm (files->directories): Ensure that any more specific directory is removed if a parent directory is in the list of provided locations. Ricardo Wurmus
2022-01-09import: go: Correctly report diagnostics upon version mismatch....* guix/import/go.scm (strip-v-prefix, ensure-v-prefix) (validate-version): New procedures. (go-module->guix-package): Use 'validate-version' when defining 'version*'. Remove 'else' clause in SRFI-34 guard. Ludovic Courtès
2022-01-09scripts: import: go: Wrap body in 'with-error-handling'....This ensures proper error reporting and an exception reaches the top level. * guix/scripts/import/go.scm (guix-import-go): Wrap body in 'with-error-handling'. Ludovic Courtès
2022-01-09guix: node-build-system: Add 'delete-dependencies' helper function....Many node packages currently skip the configure phase, because they lack both dependencies and a convenient way to build without all of them, e.g. for the purposes of bootstrapping. This patch adds a big hammer to flatten these nails. * guix/build/node-build-system.scm (delete-dependencies): New variable. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Philip McGrath
2022-01-09guix: node-build-system: Add avoid-node-gyp-rebuild phase....Packages with native addons currently try to write to store paths when used as dependecies. This patch adds a phase to replace that behaviour with a no-op. * guix/build/node-build-system.scm (avoid-node-gyp-rebuild): New variable. (%standard-phases): Add 'avoid-node-gyp-rebuild' after 'install'. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Philip McGrath
2022-01-09guix: node-build-system: Add JSON utilities....This commit adds several utility functions for non-destructive transformation of the JSON representation used by (guix build json), particularly for purely functional update of JSON objects. They ought to eventually be exported from their own module, but for now are kept private to allow experimentation. * guix/build/node-build-system.scm (assoc-ref*, jsobject-ref, alist-pop) (alist-update, jsobject-update*, jsobject-union): New variables. (with-atomic-json-file-replacement): New public variable. (module-name, build, patch-dependencies): Use them. Do not resort to unsafe alist primitives from Guile core. Co-authored-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Philip McGrath
2022-01-09guix: node-build-system: Add implicit libuv input....* guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Philip McGrath
2022-01-09guix: node-build-system: Add delete-lockfiles phase....Guix does not use any of these lock files to determine the package versions used during the build, so they only serve to cause problems. * guix/build/node-build-system.scm (delete-lockfiles): New variable. (%standard-phases): Add 'delete-lockfiles' after 'patch-dependencies'. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com> Philip McGrath
2022-01-06guix home, system: Use 'leave' to report missing generations....Fixes <https://issues.guix.gnu.org/50982>. Reported by Xinglu Chen <public@yoctocell.xyz>. Fixes a typo ('error' instead of 'leave') introduced in 158032bd7dcc33d17da8091b2319bf59ee9db6a1 and copied in 89e05a695574fdabd76834aba35ad125620b8b5d. * guix/scripts/system.scm (process-command): Use 'leave', not 'error'. * guix/scripts/home.scm (process-command): Likewise. Ludovic Courtès
2022-01-06upstream: Support updating and fetching 'git-fetch' origins....Updaters need to be modified to return 'git-reference' objects. This patch modifies the 'generic-git' and 'minetest' updater, but others might need to be modified as well. * guix/git.scm (git-reference->git-checkout): New procedure. * guix/upstream.scm (package-update/git-fetch): New procedure. (<upstream-source>)[urls]: Document it can be a 'git-reference'. (%method-updates): Add 'git-fetch' mapping. (update-package-source): Support 'git-reference' sources. (upstream-source-compiler/url-fetch): Split off from ... (upstream-source-compiler): ... this, and call ... (upstream-source-compiler/git-fetch): ... this new procedure if the URL field contains a 'git-reference'. * guix/import/git.scm (latest-git-tag-version): Always return two values and document that the tag is returned as well. (latest-git-release)[urls]: Use the 'git-reference' instead of the repository URL. * guix/import/minetest.scm (latest-minetest-release)[urls]: Don't wrap the 'git-reference' in a list. * tests/minetest.scm (upstream-source->sexp): Adjust to new convention. Co-authored-by: Maxime Devos <maximedevos@telenet.be> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Sarah Morgensen
2022-01-06refresh: Support non-tarball sources....* guix/scripts/refresh.scm (update-package): Use 'file-hash*' instead of 'port-sha256'. Rename TARBALL to OUTPUT. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Sarah Morgensen
2022-01-06import: Factorize file hashing....* guix/import/cran.scm (vcs-file?, file-hash): Remove procedures. (description->package): Use 'file-hash*' instead. * guix/import/elpa.scm (vcs-file?, file-hash): Remove procedures. (git-repository->origin, elpa-package->sexp): Use 'file-hash* instead'. * guix/import/go.scm (vcs-file?, file-hash): Remove procedures. (git-checkout-hash): Use 'file-hash*' instead. * guix/import/minetest.scm (file-hash): Remove procedure. (make-minetest-sexp): Use 'file-hash*' instead. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Sarah Morgensen
2022-01-06guix hash: Extract file hashing procedures....* guix/scripts/hash.scm (guix-hash)[vcs-file?] (nar-hash, default-hash): Extract hashing logic to... * guix/hash.scm (vcs-file?, file-hash*): ... these new procedures in this new file. Modified-by: Maxime Devos <maximedevos@telenet.be> Signed-off-by: Ludovic Courtès <ludo@gnu.org> Sarah Morgensen
2022-01-05import: elpa: Also check NonGNU ELPA for updates....* guix/import/elpa.scm (latest-release): Determine the repository based on the URL of the source. (package-from-gnu.org?): Rename to ... (elpa-repository): ...this; memoize. (package-from-elpa-repository?): New procedure. (%elpa-updater): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen
2022-01-05home: import: Fix handling of manifest entries with specific output....specification->package fails on manifest entries with specific outputs, resulting in an invalid home configuration. This changes the import command to use specification->package+output instead. * guix/scripts/home/import.scm (manifest+configuration-files->code): Make sure manifest entries with specific output are also handled. * tests/home-import.scm: Specify output in home environment manifest entry. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Arjan Adriaanse
2022-01-05linux-container: Handle CLONE_NEWCGROUP and use it by default....Adds low-level support for launching Linux containers with cgroup namespaces. * gnu/build/linux-container.scm (%namespaces): Add 'cgroup. (namespaces->bit-mask): Handle it. * guix/build/syscalls.scm (CLONE_NEWCGROUP): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Ryan Sundberg
2022-01-05guix/upstream: Let changed-inputs support the new input lists....* guix/upstream.scm (changed-inputs): Add match clauses for new-style input lists. Ricardo Wurmus
2022-01-04guix hash: Allow '--exclude-vcs' option using 'git' serializer....* guix/scripts/hash.scm (git-hash): Use '#:select?' with 'git-hash-directory'. * tests/guix-hash.sh: Adjust accordingly. Signed-off-by: Timothy Sample <samplet@ngyro.com> zimoun
2022-01-03offload: Do not read ~/.ssh/config....Fixes <https://issues.guix.gnu.org/39366>. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/scripts/offload.scm (open-ssh-session): Pass #:config. Ludovic Courtès
2022-01-01transformations: Add '--tune'....* guix/transformations.scm (tuning-compiler) (tuned-package, tunable-package?, package-tuning) (transform-package-tuning) (build-system-with-tuning-compiler): New procedures. (%transformations): Add 'tune'. (%transformation-options): Add "--tune". * tests/transformations.scm ("options->transformation, tune") ("options->transformations, tune, wrong micro-architecture"): New tests. * doc/guix.texi (Package Transformation Options): Document '--tune'. Ludovic Courtès
2022-01-01Add (guix cpu)....* guix/cpu.scm: New file. * Makefile.am (MODULES): Add it. Ludovic Courtès
2022-01-01ui: It's 2022!...Happy new year! * guix/ui.scm (show-version-and-exit): Change the year to 2022. Leo Famulari
2021-12-30utils: Fix URL in comment....* guix/utils.scm (target-x86-32?): Fix Wikipedia URL. Tobias Geerinckx-Rice
2021-12-29substitute: Document the limited UI....* guix/scripts/substitute.scm (show-help): Accept exactly one OPTION. Tobias Geerinckx-Rice
2021-12-25channels: Add 'branch' to 'channel->code' output....* guix/channels.scm (channel->code): Add 'branch' to output. Brice Waegeneire
2021-12-24build-system/go: Add pre-built standard library as implicit input....* gnu/packages/golang.scm (make-go-std): New procedure. * guix/build-system/go.scm (make-go-std): New procedure. (lower): Use it. Add pre-built standard library to inputs. Signed-off-by: Leo Famulari <leo@famulari.name> Sarah Morgensen
2021-12-24build-system/go: Initialize build cache from input packages....* guix/build/go-build-system.com (setup-go-environment): Set GOCACHE to a location within the build directory. Union "/var/cache/go/build" input directories to initialize the cache. Generate "trim.txt" within the cache, with the current time. Signed-off-by: Leo Famulari <leo@famulari.name> Sarah Morgensen
2021-12-24build-system/go: Add #:substitutable? argument....* guix/build-system/go.scm (go-build): Add 'substitutable?' argument. (go-cross-build): Likewise. Signed-off-by: Leo Famulari <leo@famulari.name> Sarah Morgensen
2021-12-23tests: git: Avoid ambiguous module import....Fixes this warning: WARNING: (guix tests git): `reset' imported from both (git) and (ice-9 control) This is a followup to commit 07145c8a8cef3860a6c522d81e387bd0485c83ce. * guix/tests/git.scm: Only import LET/EC from (ice-9 control). Leo Famulari
2021-12-23tests: gnupg: Factor out and export KEY-FINGERPRINT-VECTOR....* guix/tests/gnupg.scm (key-fingerprint-vector): New procedure. Export it. (key-fingerprint): Use it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Attila Lendvai
2021-12-23tests: Smarten up git repository testing framework....* guix/tests/git.scm (with-git-repository): New macro, exported. It can be used repeatedly inside a WITH-TEMPORARY-GIT-REPOSITORY. (populate-git-repository): Extend the DSL with (ADD "some-noise"), (RESET "[commit hash]"), (CHECKOUT "branch" ORPHAN). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Attila Lendvai
2021-12-23self: Add guile-lzma as a dependency....This is a follow-up to 35ce3e5de6d39d4959ecae31e8f8ce2bbb645e0a, fixing Disarchive recovery when the download script is run from a 'guix pull' profile. * guix/self.scm (specification->package): Add "guile-lzma". (compiled-guix): Add GUILE-LZMA to DEPENDENCIES in the #:dependencies argument to 'guix-command'. Timothy Sample
2021-12-23scripts: system: Add a missing module....* guix/scripts/system.scm: Add a missing module. Mathieu Othacehe
2021-12-23scripts: system: Use the disk-image size argument for VM generation....* guix/scripts/system.scm (system-derivation-for-action): Use the given image-size unconditionnaly when calling system-qemu-image/shared-store-script. Mathieu Othacehe
2021-12-23scripts: system: Pass the volatile field to VM generation....* guix/scripts/system.scm (system-derivation-for-action): Add new volatile? argument and pass it to system-qemu-image/shared-store-script. (perform-action): Add new volatile? argument and pass it to system-derivation-for-action. (process-action): Pass the volatile? argument to perform-action. Mathieu Othacehe
2021-12-23scripts: system: Deprecate the docker-image command....* guix/scripts/system.scm (system-derivation-for-action): Use the image API to generate the docker images and deprecate the docker-image command. (process-action): Ditto. * doc/guix.texi (Invoking guix system): Adapt it. Mathieu Othacehe
2021-12-22packages: Avoid #:re-export-and-replace to allow upgrades from 1.2.0....Fixes <https://issues.guix.gnu.org/52694>. Reported by Carl Dong <contact@carldong.me>. Use of #:re-export-and-replace would prevent upgrades from 1.2.0, whose 'source-module-closure' procedure did not recognize #:re-export-and-replace. * guix/packages.scm: Remove #:re-export-and-replace and add top-level call to 'module-re-export!' Ludovic Courtès
2021-12-22tests: Move keys into ./tests/keys/ and add a third ed25519 key....The third key will be used in an upcoming commit. Rename public keys to .pub. * guix/tests/gnupg.scm (%ed25519-3-public-key-file): New variable. (%ed25519-3-secret-key-file): New variable. (%ed25519-2-public-key-file): Renamed from %ed25519bis-public-key-file. (%ed25519-2-secret-key-file): Renamed from %ed25519bis-secret-key-file. * tests/keys/ed25519-3.key: New file. * tests/keys/ed25519-3.sec: New file. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Attila Lendvai
2021-12-20combinators: Add 'define-compile-time-procedure'....* guix/combinators.scm (procedure-call-location): New syntax parameter. (define-compile-time-procedure): New macro. Ludovic Courtès
2021-12-20build-system/meson: Define build variables when cross-compiling....Fixes <https://issues.guix.gnu.org/52574>. Reported by L p R n d n <guix@lprndn.info>. * guix/build-system/meson.scm (meson-cross-build)[builder]: Define '%build-host-inputs', '%build-target-inputs', '%build-inputs', and '%outputs'. Ludovic Courtès
2021-12-19ci: Restrict substitute search to guix jobset....* guix/ci.scm (latest-builds): Add jobset keyword. (find-latest-commit-with-substitutes): Pass jobset "guix". Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Andrew Whatson
2021-12-18style: Gracefully handle errors such as EACCES when opening files....* guix/scripts/style.scm (guix-style): Wrap body in 'with-error-handling'. Ludovic Courtès
2021-12-18style: Refer to source files by absolute file names....Previously, "guix style PACKAGE" would end up modifying a file looked up under the current directory since the location associated with PACKAGE is usually a relative file name. * guix/scripts/style.scm (absolute-location): New procedure. (simplify-package-inputs): Use it. Ludovic Courtès
2021-12-18import: elpa: Support ‘upstream-name’ property....* guix/import/elpa.scm: (guix-package->elpa-name): New procedure. (latest-release): Use it. * tests/elpa.scm ("guix-package->elpa-name: without 'upstream-name' property") ("guix-package->elpa-name: with 'upstream-name' property"): Test it. Signed-off-by: Ludovic Courtès <ludo@gnu.org> Xinglu Chen
2021-12-17lint: Adjust patch file length check....With the switch to "ustar" format in commit bdf5c16ac052af2ca9d5c3acc4acbc08fd9fdbea, the maximum file length has increased. * guix/lint.scm (check-patch-file-names): Adjust margin used to check for patch file lengths. Increase allowable patch file length appropriate to new tar format. Extend warning to explain that long files may break 'make dist'. * tests/lint.scm: Update tests accordingly. Vagrant Cascadian
2021-12-17guix hash: Add git serializer....* guix/scripts/hash.scm (git-hash): New procedure. (%options): Use it. * tests/guix-hash.sh: Test it. * doc/guix.texi: Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-12-17guix hash: Add 'serializer' option....* guix/scripts/hash.scm (%options): Deprecate 'recursive', add 'serializer'. (%default-options): Add 'serializer'. (nar-hash): New procedure. (default-hash): New procedure. (guix-hash)[file-hash]: Use them. (show-help): Adjust. * tests/guix-hash.scm: Adjust. * doc/guix.texi: Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun
2021-12-17guix hash: Support several files....* guix/scripts/hash.scm (guix-hash): Allow several files. [file-hash]: Catch system-error. [formatted-hash]: New procedure. * tests/guix-hash.sh: Add test. * doc/guix.texi (Invoking guix hash): Mention "one or more files". Co-authored-by: Ludovic Courtès <ludo@gnu.org> zimoun