Commit graph

8122 commits

Author SHA1 Message Date
Nicolas Graves
4557e8f581
build-system/pyproject: Export default-sanity-check.py.
There is currently no convenient way to inject our sanity-check.py
script in the inputs of a project that extends another build-system
with pyproject components.  Thus we usually don't run sanity-check for
such cases (it's only python build and install).

This patch improves a bit this issue by exposing our script.  Since it
doesn't change derivations, this doesn't lead to rebuilds and can be
merged in master.

* guix/build-system/pyproject.scm
  (sanity-check.py): Replace variable by...
  (default-sanity-check.py): Add exported procedure replacing and
  extending former sanity-check.py.
  (lower)[sanity-check.py]: Add and use argument.

Change-Id: I422d3d2d53b59548099d381feae9b956f5e2e07a
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-08 12:09:34 +01:00
Zheng Junjie
9b9b1f9bf5
records: Remove unneed autoload.
This is a follow-up to 23cbbe6860

* guix/records.scm: Remove autoload target-most-positive-fixnum.

Change-Id: I0e5b38382e3152c5f44a6626e618b4c7b027595d
2025-07-01 17:46:01 +08:00
Zheng Junjie
92ea9e69ac
import: nuget: Use http-fetch.
* guix/import/nuget.scm (fetch-repo-info-from-snupkg): Use http-fetch, and
guard. Dont use mkstemp, just put-bytevector to file.

Change-Id: Ied9d64651d0ccd7875a9d80ac085cf5947c40c4c
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:49:16 +01:00
Zheng Junjie
a8c11ecf1e
import: nuget: make imported package file-name clean.
* guix/import/nuget.scm (nuget->guix-package): make imported package file-name
clean.

Change-Id: Ie5a1dc1a95dc1bf795da4d960e65f5e2bd6d6b63
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:49:02 +01:00
Zheng Junjie
388d119187
import: nuget: use maybe-inputs.
* guix/import/nuget.scm (nuget->guix-package): Use maybe-inputs.

Change-Id: I6e1d3395e6c3beb4f960345a82c547307e59293c
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:58 +01:00
Zheng Junjie
6b861d4b62
import: nuget: Use beautify-description and beautify-synopsis.
* guix/import/nuget.scm(non-empty-string-or-false): New procedure.
* guix/import/nuget.scm (nuget->guix-package): Use beautify-description and
beautify-synopsis.

Change-Id: Ie3b4b676499558af5e6742b91a40d93624f2caf9
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:51 +01:00
Zheng Junjie
d8a61d2b0b
import: nuget: use xml->sxml's namespaces keyword.
* guix/import/nuget.scm (%nuget-nuspec): New variable.
(fetch-repo-info-from-snupkg): use xml->sxml's namespaces keyword.
reindentation. Do not use square brackets.

Change-Id: Ic86a12ab6557e0a7d627864c9ec39245f9cea892
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:47 +01:00
Zheng Junjie
8b38fb8fa7
import: nuget: use json-fetch.
* guix/import/nuget.scm (nuget-find-best-version-for-range):
(nuget-fetch-catalog-entry): Use json-fetch.

Change-Id: I5223d264d363004aacfb0cf4a522813ffa485893
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:48:42 +01:00
Zheng Junjie
2e6c177149
import: nuget: use snake-case.
* guix/import/nuget.scm (nuget-name->guix-name): use snake-case.

Change-Id: I8371d2fd6b33170c61c86302117f7952123e05b5
Reviewed-by: Danny Milosavljevic <dannym@friendly-machines.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-07-01 08:47:14 +01:00
Brice Waegeneire
715b38815f
git authenticate: Create Git hooks directory.
* guix/scripts/git/authenticate.scm (install-hooks): Create Git hooks
directory if necessary.

Change-Id: Icb9b0674d42af78fe03a3c820369f8324db960b4
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-30 14:30:40 +02:00
Tomas Volf
eca2591476
import: nuget: Use (ice-9 format).
* guix/import/nuget.scm: Use (ice-9 format) module.

Change-Id: I8db23842a4e4ec0347549bd8ad12beee80904d6b
Signed-off-by: Zheng Junjie <z572@z572.online>
2025-06-28 10:16:56 +08:00
Romain GARBAGE
a9d7423644
pack: Don't export properties when SAVE-PROVENANCE is not set.
* guix/scripts/pack.scm (guix-pack): Don't export properties when SAVE-PROVENANCE is not set.

Change-Id: I956721d1238631451758057a7c9cf13e2da7c59a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-06-26 16:56:54 +02:00
Romain GARBAGE
cbe9eb7c15
profiles: Allow modification of package properties in packages->manifest.
* guix/profiles.scm (packages->manifest): Allow modification of package properties.

Change-Id: Ie666290f49ed72b74833c503e6f41b0a0404bb43
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-06-26 16:56:51 +02:00
Romain GARBAGE
6cf105ebee
profiles: Rename default-properties function and expose it.
* guix/profiles.scm: Expose default-package-properties.
(default-package-properties, package->manifest-entry):
Rename default-properties.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-26 16:34:32 +02:00
jgart
4aff859183
guix: asdf: Add asdf-build-system/clasp.
* guix/build-system/asdf.scm (asdf-build-system/clasp): New variable.
[native-search-paths]: Add search paths.

Change-Id: I3631fa0d55112fd6440d2b500dddc4d04ead78e6
Signed-off-by: jgart <jgart@dismail.de>
2025-06-25 15:23:16 -04:00
Nicolas Graves via Guix-patches via
229674573c
cve: Add cpe-vendor and lint-hidden-cpe-vendors properties.
* guix/cve.scm: Exploit cpe vendors information.
(cpe->package-name): Rename to...
(cpe->package-identifier): Renamed from cpe->package-name. Use
cpe_vendor:cpe_name in place or cpe_name.
(vulnerabily-matches?): Add helper function.
(vulnerabilities->lookup-proc): Extract cpe_name for table
hashes. Add vendor and hidden-vendor arguments. Adapt condition to
pass vulnerabilities to result in the fold.
(write-cache, fetch-vulnerabilities): Update the format version.

* guix/lint.scm (package-vulnerabilities): Use additional arguments
from vulnerabilities->lookup-proc.

* tests/cve.scm (%expected-vulnerabilities): Adapt variable to changes
in guix/cve.scm.

Signed-off-by: Zheng Junjie <z572@z572.online>
2025-06-23 12:31:09 +08:00
Ludovic Courtès
99f85246e1
git authenticate: Do nothing when invoked from the keyring branch.
Fixes <https://issues.guix.gnu.org/78283>.

* guix/scripts/git/authenticate.scm (guix-git-authenticate): Call
‘current-branch’ and do nothing if it returns the keyring branch.

Reported-by: Vagrant Cascadian <vagrant@debian.org>
Change-Id: I66c2a3f4babf68ac1df0913db6bc708ac0c7968e
2025-06-22 23:45:36 +02:00
Ludovic Courtès
0ec5cab132
git authenticate: Gracefully handle passing an annotated tag to ‘--end’.
Partly fixes <https://issues.guix.gnu.org/74583>.

Previously, passing an annotated tag to ‘--end’, as can happen when
‘guix git authenticate’ is invoked by the pre-push hook when pushing
tags, would lead to an error:

  guix git: error: Git error: the requested type does not match the type in the ODB

* guix/scripts/git/authenticate.scm (ensure-commit-id): New procedure.
(guix-git-authenticate): Use it.
* tests/guix-git-authenticate.sh: Test with $v1_2_0_annotated_tag.

Change-Id: I22e8eb665609522c80c1f0dcb9e77a46c23c0c3c
2025-06-22 23:45:36 +02:00
Ludovic Courtès
56eb949f3b
git authenticate: Upgrade pre-push hook with a fixed version.
Partly fixes <https://issues.guix.gnu.org/74583>.

* guix/scripts/git/authenticate.scm (%pre-push-hook): New variable.
(install-hooks): Use it.
(broken-pre-push-hook?, maybe-upgrade-hooks): New procedures.
(guix-git-authenticate): Call ‘maybe-upgrade-hooks’ when ‘configured?’
returns true.

Change-Id: I39d34ab66ffe0f34170c0f562e9f97f2f69c9fdc
2025-06-22 23:45:36 +02:00
Ludovic Courtès
55b38ddefc
git authenticate: Remove support for Guile-Git < 0.7.0.
Guile-Git 0.7.0 was released in May 2024.

* guix/scripts/git/authenticate.scm (record-configuration): Remove
‘module-defined?’ condition for Guile-Git < 0.7.0.
(install-hooks): Likewise.

Change-Id: I27af82068b989d6a18ff1a66453e0a8d397ed380
2025-06-22 23:45:32 +02:00
Sergey Trofimov
5007e5ab3f
gexp: Adjust <file-append>'s string representation.
gexp-compiler concatenates suffixes, but when writing the record same
suffixes are joined which produces odd-looking result:
(file-append 'file "/" "abc") => #<file-append file "/ abc">

* guix/gexp.scm (write-file-append): Concatenate suffixes without
spaces.

Change-Id: Iaa986c759f5ade84ff077c90440ff5138eebe900
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-20 17:59:03 +02:00
Lars-Dominik Braun
a5768ec093
import: stackage: Adjust API URL.
See https://github.com/commercialhaskell/stackage-server/issues/353.

* guix/import/stackage.scm (%stackage-url): Adjust to new API URL.

Change-Id: I9bc1a10154340f89dcbacf715bd5ea5a9ef90b88
2025-06-19 17:22:10 +02:00
Danny Milosavljevic
a6c8217ee7
guix: nuget importer: Add it.
* guix/import/nuget.scm: New file.
* guix/scripts/import/nuget.scm: New file.
* guix/scripts/import.scm: Add reference to it.
* gnu/packages/guile-xyz.scm (guile-semver): Update to 0.2.0.
[source]: Switch.

Change-Id: I159c5cf3b02b42435b03d989d5815d3fcf001c92
2025-06-19 11:49:42 +02:00
Esther Flashner
b8f1210b0e
status: Colorize more test output.
* guix/status.scm (colorize-log-line): Add entry for passing tests.

Change-Id: I21de0abd11902a1ca045748084e087bcd4bcf3b7
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
2025-06-19 10:51:10 +03:00
Simon Tournier
4b68cbbb8d
git: Move ‘core.autocrlf’ settings.
Follow up of b5e567bb2b.

* guix/git.scm (clone*): Move ‘core.autocrlf’ settings from here...
(update-cached-checkout): ...to here.

Change-Id: I0f91d348376f9953cfbc497148596b738705818b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-16 23:11:10 +02:00
Morgan Smith
00025ab4ac
guix: emacs-build-system: Add #:lisp-directory.
* guix/build-system/emacs.scm (emacs-build): Add #:lisp-directory.
* guix/build/emacs-build-system.scm (unpack): Change into lisp-directory
after unpacking.

Change-Id: I3991af7188de72b29b1c6985ffe7185216cedb35
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-06-15 16:56:50 +02:00
Liliana Marie Prikler
d1ac3f1947
build-system: emacs: Guess test framework.
* guix/build/emacs-build-system (check-command): New variable.
(check): Use it.
* guix/build-system/emacs.scm (emacs-build)[test-command]: Set to #f.
2025-06-15 16:56:45 +02:00
Liliana Marie Prikler
3455034376
build-system: emacs: Enable tests when not cross-compiling.
This is a first effort towards making emacs-build-system more suitable for
cross-compilation.

* guix/build-system/emacs.scm (emacs-build)[#:tests?]: Enable when not
cross-compiling.
* gnu/packages/emacs-xyz.scm (emacs-ac-php, emacs-chatgpt-shell)
(emacs-inspector, emacs-tree-inspector, emacs-pug-mode, emacs-llama)
(emacs-magit, emacs-ezf, emacs-speed-type, emacs-graphql)
(emacs-fb2-reader, emacs-ample-regexps, emacs-rescript-mode)
(emacs-relative-buffers, emacs-emms, emacs-aio, emacs-async)
(emacs-latex-extra, emacs-auto-themer, emacs-bm, emacs-varuga)
(emacs-ellama, emacs-org-fc, emacs-go-mode, emacs-dash, emacs-undo-fu-session)
(emacs-s, emacs-lemon, emacs-fringe-helper, emacs-git-link)
(emacs-explain-pause-mode, emacs-zig-mode, emacs-calc-currency)
(emacs-string-inflection, emacs-ob-go, emacs-robot-log, emacs-rspec)
(emacs-sqlite3-api, emacs-shx, emacs-el-job, emacs-elisp-demos)
(emacs-sudo-edit, emacs-subed, emacs-deferred, emacs-company-lsp, emacs-jack)
(emacs-elquery, emacs-cov, emacs-god-mode, emacs-org-pomodoro)
(emacs-eglot-tempel, emacs-dumbparens, emacs-perspective, emacs-realgud)
(emacs-hydra, emacs-avy, emacs-lispy, emacs-clojure-mode, emacs-qt-pro-mode)
(emacs-sphinx-doc, emacs-julia-mode, emacs-js2-mode, emacs-nodejs-repl)
(emacs-projectile, emacs-skeletor, emacs-elfeed, emacs-elfeed-org)
(emacs-mocker, emacs-find-file-in-project, emacs-pyvenv, emacs-elpy)
(emacs-rainbow-delimiters, emacs-visual-fill-column, emacs-visual-replace)
(emacs-wucuo, emacs-yaml, emacs-yari, emacs-wgrep, emacs-islisp-mode)
(emacs-lua-mode, emacs-evil-collection, emacs-evil-owl, emacs-evil-exchange)
(emacs-evil-lion, emacs-evil-expat), emacs-monky, emacs-org, emacs-ht)
(emacs-yasnippet, emacs-memoize, emacs-use-package, emacs-xmlgen)
(emacs-cc-mode, emacs-php-mode, emacs-evil-surround, emacs-org-transclusion)
(emacs-json-reformat, emacs-display-wttr, emacs-git-messenger)
(emacs-enh-ruby-mode, emacs-browse-at-remote, emacs-tiny, emacs-unidecode)
(emacs-circe, emacs-evil-quickscope, emacs-groovy-modes, emacs-kotlin-mode_)
(emacs-kv, emacs-auth-source-pass, emacs-emacsql, emacs-org-recur)
(emacs-org-super-agenda, emacs-ts, emacs-circadian, emacs-eldev, emacs-citar)
(emacs-loop, emacs-elisp-refs, emacs-esup, emacs-macrostep, emacs-parent-mode)
(emacs-helpful, emacs-suggest, emacs-auto-yasnippet)
(emacs-git-auto-commit-mode, emacs-devil, emacs-devil-multiedit)
(emacs-go-translate, emacs-langtool, emacs-helm-company, emacs-picpocket)
(emacs-srht, emacs-github-review, emacs-deadgrep, emacs-adoc-mode)
(emacs-racer, emacs-sesman, emacs-buttercup, emacs-cort, emacs-annalist)
(emacs-general, emacs-libmpdel, emacs-navigel, emacs-eat, emacs-detached)
(emacs-repology, emacs-bfuture, emacs-undo-propose-el, emacs-tco-el)
(emacs-vdiff, emacs-exwm-firefox, emacs-rjsx-mode, emacs-dash-docs)
(emacs-casual-lib, emacs-evil-numbers, emacs-evil-traces, emacs-ox-tufte)
(emacs-org-jira, emacs-systemd-mode, emacs-doom-themes, emacs-exiftool)
(emacs-qrencode, emacs-org-journal, emacs-weblorg, emacs-execline)
(emacs-webpaste, emacs-keystore-mode, emacs-ein, emacs-straight-el)
(emacs-vundo, emacs-org-cliplink, emacs-x509-mode)[arguments]:
Remove #:tests?.
(emacs-f, emacs-shut-up, emacs-ansi, emacs-commander)
(emacs-ert-runner)[arguments]: Add #:tests? #f.
(emacs-with-editor, emacs-tablist, emacs-pkg-info, emacs-el-x, emacs-helm)
(emacs-xelb, emacs-repo): Likewise.
2025-06-15 16:56:45 +02:00
Morgan Smith
cea0ecb60b
build-system/emacs: Provide allowed and disallowed references.
* guix/build-system/emacs.scm (emacs-build): Pass #:allowed-references and

Change-Id: Ib9a35a7b2115365b96675fb7ca3914b0ae7e67c7
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-06-15 16:56:45 +02:00
Morgan Smith
4e40362553
guix: emacs-utils: Be more verbose in build phase.
* guix/build/emacs-utils.scm (emacs-compile-directory): Display the filename
of each file before compiling.

Change-Id: I275a086ed92f7cfb2907aea9b4feb59012cc8dd5
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-06-15 16:56:44 +02:00
Rutherther
65bb0d92d8
pack: Singularity environemt sources the profile's 'etc/profile'.
Fixes #419 where the same search path is used multiple times, leading to the
last one overriding the previous one.

The solution relies on the #$profile/etc/profile file that is already verified
and in case of errors, it is just one place to repair instead of repairing at
multiple places, like in singularity-environment-file

* guix/pack.scm (singularity-environment-file): Source #$profile/etc/profile

Reported-by: Alexis Simon <alexis.simon@runbox.com>
Change-Id: Ic304fef99ad34d83e4e10cdd2b26d3b1802b5251
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-13 14:01:38 +02:00
Morgan Arnold
b5745a327e
publish: Prevent publication of non-substitutable derivation outputs.
This commit prevents Guix substitute servers from distributing binaries
which are marked non-substitutable.  This prevents substitute servers
from accidentally committing copyright violations by distributing
binaries that are non-substitutable for copyright reasons.

* guix/scripts/publish.scm (render-nar): Query the derivers of
‘store-path’ and do nothing if one of them does not match
‘substitutable-derivation?’.
* tests/publish.scm ("non-substitutable derivation"): New test.

Change-Id: Iaca81f5bdb430a12a3ad41e9b83e0bcc535af607
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Modified-by: Ludovic Courtès <ludo@gnu.org>
2025-06-06 18:41:19 +02:00
Efraim Flashner
ed69ed73c1
guix: gnu-dist: Fix distcheck.
* guix/build/gnu-dist.scm (build): Add a configure-flag during the
distcheck rebuild to use a shell we have in the build environment.

Change-Id: I3519ab498ef47728729297a70ac1dce8e1b922ee
2025-06-06 14:41:30 +03:00
Tomas Volf
5c5c5a6e58
environment: Set LANG by default.
* guix/scripts/environment.scm (launch-environment/container): Set LANG
to C.UTF-8 unless already set.

Change-Id: I2dba595c8d5f4e9b45264f8185c72779fead2ce6
Signed-off-by: Ekaitz Zarraga <ekaitz@elenq.tech>
2025-06-03 19:28:35 +02:00
Ray Miller
b48b2bcf42
pack: Include store parent directories in the Docker layer.
Fixes <https://issues.guix.gnu.org/78210>.

This patch adds the /gnu and /gnu/store directories to the Docker layer
created by ‘guix pack -f docker …’, which enables the Docker image to be
used to create an AWS Lambda function.  Without the patch, creating the
AWS Lambda function fails with this error:

  "MissingParentDirectory: Parent directory does not exist for file: gnu/store/…-info-dir/"

* guix/scripts/pack.scm (docker-image)[build]: Add store directory to
the docker layer.
* guix/docker.scm (build-docker-image): Change order of arguments to
‘tar’ so parent directories are added before their contents.

Change-Id: I2b103c59981e828c965564ccc5d2415b00a7e52e
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-06-03 15:09:54 +02:00
Nicolas Graves
ec6757d00c
scripts: environment: Export launch-environment/container.
* guix/scripts/environment.scm (launch-environment/container): Export.

Change-Id: I98d1b3e785015b34f4b434ccd931d8cf8988ee3c
Signed-off-by: Hilton Chain <hako@ultrarare.space>
2025-05-31 21:42:58 +08:00
Efraim Flashner
178a45bc72
build/go: Set correct GOOS for Windows.
* guix/build/go-build-system.scm (setup-go-environment): When building
for windows override the inherited GOOS and set it to 'windows'.

Change-Id: I310aa490bb010370112cfa00c69df2d36387c323
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
2025-05-26 16:50:02 +01:00
Hilton Chain
585929d18c
build/zig: Support specifying test target.
* guix/build/zig-build-system.scm (check): Accept #:test-target.

Change-Id: I5b8c449b1668d98b365f897a2692085b02c7ead4
2025-05-26 10:41:05 +08:00
Hilton Chain
14e0c9817d
build-system: zig: Expose #:zig-build-target.
* guix/build-system/zig.scm (zig-build, zig-cross-build)[#:zig-build-target]:
Expose.

Change-Id: Iedb75eced4ebc512251348246459653d5e4b9cd2
2025-05-26 10:41:03 +08:00
Ludovic Courtès
096dedd0bb
import: texlive: Import the given version when specified.
Fixes a regression in ‘tests/texlive.scm’ introduced in commit
f13f076968 whereby ‘texlive-tags’ would be
called unconditionally, leading to an attempt to build Subversion.

* guix/import/texlive.scm (texlive->guix-package): Honor VERSION when it
is true.

Change-Id: I05e158fe55c65f7547c7150f00a589b4f600a40a
2025-05-24 15:29:10 +02:00
Ludovic Courtès
f8527e7f20
environment: Provide a writable /run/user/$UID.
* guix/scripts/environment.scm (launch-environment/container): Add
/run/user/UID to ‘file-systems’.
* tests/guix-environment-container.sh: Test it.

Change-Id: I44c70a7554a06f40d073c25929ea7c6ded356d08
2025-05-24 12:48:05 +02:00
Ludovic Courtès
3b6e499d5e
maint: Change main repository URL to git.guix.gnu.org.
Throughout, replace “https://git.savannah.gnu.org/git/guix.git” by
“https://git.guix.gnu.org/guix.git”.

Change-Id: Ieb82464f92a806b85c79e629f952e68c39323740
2025-05-23 11:19:07 +02:00
Ludovic Courtès
5e47bafb37
describe: Recognize git.guix.gnu.org for commit hyperlinks.
* guix/scripts/describe.scm (%vcs-web-views): Add git.guix.gnu.org.

Change-Id: I47ded4618dec3073925efdfa5df87ab47643f8c4
2025-05-23 11:17:59 +02:00
Liliana Marie Prikler
9013a53705
import/elpa: Improve CLI documentation for archive flag.
* guix/import/elpa.scm (elpa-url)[elpa-archives]: Move from here…
(%elpa-archives): … to here.
* guix/scripts/import/elpa.scm (%options): Add “list-archives”.
(show-help): Adjust accordingly.

Change-Id: Ib686bd9ff5eff2d4c37b8751ec1410666d568c1f
Co-authored-by: jgart <jgart@dismail.de>
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
2025-05-22 11:18:08 +02:00
Sergey Trofimov
b989e503ac
gexp: Add symlink-to procedure.
* guix/gexp.scm (symlink-to): New procedure.
* doc/guix.texi (G-Expressions): Document it.

Change-Id: I7c1ba3a29a4e5350cb4f196185b7171c4750b6b8
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-21 08:05:27 +09:00
Sergey Trofimov
9b7213fc11
gexp: Allow file-unions with dangling symlinks.
* guix/gexp.scm (file-union): Add #:dangling-symlinks? parameter.

Change-Id: I09d44ec785fd7141b02dee2d8dc23ccc499aa933
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2025-05-21 08:05:27 +09:00
Maxim Cournoyer
271a8fc249
refresh: Allow specifying a partial version via the version specification.
* guix/scripts/refresh.scm (update-specification->update-spec): Flag the
update-spec as partial when it is prefixed with '~'.
* tests/guix-refresh.sh: Test it.  Remove extraneous 'guix refresh'
invocation.
* doc/guix.texi (Invoking guix refresh): Document it.

Change-Id: Iab4482d9367105f6ffcd2d6a49148736c93d53e4
Reviewed-by: Florian Pelz <pelzflorian@pelzflorian.de>
Reviewed-by: Ludovic Courtès <ludo@gnu.org>
2025-05-19 10:07:24 +09:00
Tomas Volf
11e88de060
environment: Make home writable.
Fixes <https://issues.guix.gnu.org/78363>.

* guix/scripts/environment.scm (launch-environment/container): Add tmpfs for
home.
* tests/guix-environment-container.sh: Add test.

Change-Id: Iadd9b838f6442a8080998ed7e07414db562068bf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-18 22:55:54 +02:00
Tomas Volf
7a888d9841
environment: Translate only file names under home directory.
* guix/scripts/environment.scm (file-name-equal-or-under?): New procedure.
(override-user-mappings, override-user-dir): Use it.

Change-Id: Iadd9b838f6442a8080998ed7e07414db562068bf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-18 22:55:54 +02:00
Tomas Volf
8654aecf74
environment: Use inherit for new mapping.
* guix/scripts/environment.scm (override-user-mappings): Use inherit.

Change-Id: Iadd9b838f6442a8080998ed7e07414db562068bf
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-05-18 22:55:54 +02:00