summaryrefslogtreecommitdiff
path: root/guix
AgeCommit message (Collapse)Author
2022-01-06guix hash: Extract file hashing procedures.Sarah Morgensen
* 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>
2022-01-05import: elpa: Also check NonGNU ELPA for updates.Xinglu Chen
* 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>
2022-01-05home: import: Fix handling of manifest entries with specific output.Arjan Adriaanse
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>
2022-01-05linux-container: Handle CLONE_NEWCGROUP and use it by default.Ryan Sundberg
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>
2022-01-05guix/upstream: Let changed-inputs support the new input lists.Ricardo Wurmus
* guix/upstream.scm (changed-inputs): Add match clauses for new-style input lists.
2022-01-04guix hash: Allow '--exclude-vcs' option using 'git' serializer.zimoun
* 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>
2022-01-03offload: Do not read ~/.ssh/config.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/39366>. Reported by zimoun <zimon.toutoune@gmail.com>. * guix/scripts/offload.scm (open-ssh-session): Pass #:config.
2022-01-01transformations: Add '--tune'.Ludovic Courtès
* 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'.
2022-01-01Add (guix cpu).Ludovic Courtès
* guix/cpu.scm: New file. * Makefile.am (MODULES): Add it.
2022-01-01ui: It's 2022!Leo Famulari
Happy new year! * guix/ui.scm (show-version-and-exit): Change the year to 2022.
2021-12-30utils: Fix URL in comment.Tobias Geerinckx-Rice
* guix/utils.scm (target-x86-32?): Fix Wikipedia URL.
2021-12-29substitute: Document the limited UI.Tobias Geerinckx-Rice
* guix/scripts/substitute.scm (show-help): Accept exactly one OPTION.
2021-12-25channels: Add 'branch' to 'channel->code' output.Brice Waegeneire
* guix/channels.scm (channel->code): Add 'branch' to output.
2021-12-24build-system/go: Add pre-built standard library as implicit input.Sarah Morgensen
* 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>
2021-12-24build-system/go: Initialize build cache from input packages.Sarah Morgensen
* 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>
2021-12-24build-system/go: Add #:substitutable? argument.Sarah Morgensen
* guix/build-system/go.scm (go-build): Add 'substitutable?' argument. (go-cross-build): Likewise. Signed-off-by: Leo Famulari <leo@famulari.name>
2021-12-23tests: git: Avoid ambiguous module import.Leo Famulari
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).
2021-12-23tests: gnupg: Factor out and export KEY-FINGERPRINT-VECTOR.Attila Lendvai
* guix/tests/gnupg.scm (key-fingerprint-vector): New procedure. Export it. (key-fingerprint): Use it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-23tests: Smarten up git repository testing framework.Attila Lendvai
* 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>
2021-12-23self: Add guile-lzma as a dependency.Timothy Sample
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'.
2021-12-23scripts: system: Add a missing module.Mathieu Othacehe
* guix/scripts/system.scm: Add a missing module.
2021-12-23scripts: system: Use the disk-image size argument for VM generation.Mathieu Othacehe
* guix/scripts/system.scm (system-derivation-for-action): Use the given image-size unconditionnaly when calling system-qemu-image/shared-store-script.
2021-12-23scripts: system: Pass the volatile field to VM generation.Mathieu Othacehe
* 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.
2021-12-23scripts: system: Deprecate the docker-image command.Mathieu Othacehe
* 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.
2021-12-22packages: Avoid #:re-export-and-replace to allow upgrades from 1.2.0.Ludovic Courtès
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!'
2021-12-22tests: Move keys into ./tests/keys/ and add a third ed25519 key.Attila Lendvai
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>
2021-12-20combinators: Add 'define-compile-time-procedure'.Ludovic Courtès
* guix/combinators.scm (procedure-call-location): New syntax parameter. (define-compile-time-procedure): New macro.
2021-12-20build-system/meson: Define build variables when cross-compiling.Ludovic Courtès
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'.
2021-12-19ci: Restrict substitute search to guix jobset.Andrew Whatson
* guix/ci.scm (latest-builds): Add jobset keyword. (find-latest-commit-with-substitutes): Pass jobset "guix". Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-12-18style: Gracefully handle errors such as EACCES when opening files.Ludovic Courtès
* guix/scripts/style.scm (guix-style): Wrap body in 'with-error-handling'.
2021-12-18style: Refer to source files by absolute file names.Ludovic Courtès
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.
2021-12-18import: elpa: Support ‘upstream-name’ property.Xinglu Chen
* 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>
2021-12-17lint: Adjust patch file length check.Vagrant Cascadian
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.
2021-12-17guix hash: Add git serializer.zimoun
* 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>
2021-12-17guix hash: Add 'serializer' option.zimoun
* 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>
2021-12-17guix hash: Support several files.zimoun
* 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>
2021-12-17import: Beautify descriptions when appropriate.Xinglu Chen
* guix/import/elpa.scm (elpa-package->sexp) * guix/import/gnu.scm (gnu-package->sexp) * guix/import/hackage.scm (hackage-module->sexp) * guix/import/minetest.scm (make-minetest-sexp) * guix/import/opam.scm (opam->guix-package) * guix/import/pypi.scm (make-pypi-sexp): Beautify descriptions. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-17import: utils: Wrap lines in description.Xinglu Chen
* guix/import/utils.scm (beautify-description): Use ‘fill-paragraph’; add optional ‘length’ argument. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-12-16lint: 'kdoctools' is typically used only while building.Leo Famulari
* guix/lint.scm (check-inputs-should-be-native): Add kdoctools.
2021-12-15offload: Autoload Guile-SSH.Ludovic Courtès
This halves the number of syscalls made by "guix offload" during startup and delays loading of Guile-SSH until there are actually machines to offload to. * guix/scripts/offload.scm: Remove unused module imports. Autoload many modules. (check-ssh-zlib-support): New procedure. (process-request): Call it when accepting. (guix-offload): Remove 'zlib-support?' check, now moved to 'check-ssh-zlib-support'.
2021-12-15offload: Delay call to 'read-derivation-from-file'.Ludovic Courtès
This significantly reduces the amount of work done by "guix offload" when there's no machine to offload to. * guix/scripts/offload.scm (process-request): Add call to 'read-derivation-from-file', moved from... (guix-offload): ... here.
2021-12-15build-system/linux-module: Wrap with build variables.Tobias Geerinckx-Rice
* guix/build-system/linux-module.scm (linux-module-build): Wrap the builder gexp WITH-BUILD-VARIABLES to restore %build-inputs after commit 7d873f194ca69d6096d28d7a224ab78e83e34fe1 removed all old certainties. Reported by lfam in #guix.
2021-12-14build-system: emacs: Do not rely on input labels in the 'build' phase.Maxim Cournoyer
This commit repairs the Emacs build system for packages using the new label-less "guix style". Tested with emacs-libgit. * guix/build/emacs-build-system.scm (build): Use search-input-file to locate emacs.
2021-12-14guix: Fix typo in last commit.Nicolas Goaziou
* guix/build/emacs-build-system.scm (make-autoloads): Fix typo.
2021-12-14guix: Do not assume "emacs" label in make-autoloads.Nicolas Goaziou
* guix/build/emacs-build-system.scm (make-autoloads): Look for "emacs" executable independently on the label.
2021-12-13packages: 'modify-inputs' preserves and introduces input labels if needed.Ludovic Courtès
Fixes a bug whereby, in an expression like this: (modify-inputs lst (delete ...) (prepend ...)) the 'delete' clause would have no effect because 'prepend' would pass it a label-less input list. * guix/packages.scm (inputs-sans-labels): Remove. (modify-inputs): In the 'prepend' and 'append' cases, preserve/add input labels instead of removing them.
2021-12-13Merge branch 'master' into core-updates-frozenLudovic Courtès
2021-12-12progress: Rate limit drawing in the progress-reporter/bar.Christopher Baines
This helps smooth the output in cases where the bar is updated very quickly, for example in guix weather where it's computing derivations. * guix/progress.scm (progress-reporter/bar): Wrap the drawing code with the rate-limited procedure.
2021-12-12narinfo: Do not repeat slash when building nar URLs.Ludovic Courtès
* guix/narinfo.scm (narinfo-maker): When one of URLS is relative, do not repeat trailing slash if it's already present in CACHE-URL.
2021-12-12substitutes: Build correct narinfo URLs for cache URLs without trailing slash.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/51441>. Reported by Z572 <873216071@qq.com> and Peng Mei Yu <pengmeiyu@riseup.net>. Previously, passing '--substitute-urls=https://mirror.sjtu.edu.cn/guix', without a trailing slash, would fail due to incorrectly constructed narinfo URLs. Users would have to explicitly add a trailing slash. * guix/substitutes.scm (narinfo-request): Ensure BASE has a trailing slash.