~ruther/guix-local

ref: cfc5ec77a72d4e4d04d4e93aa8dee8462baa2cf7 guix-local/guix d---------
725a138d — Maxim Cournoyer a month ago
git: Guard against git submodules lacking a path.

* guix/git.scm (update-submodules) <directory>: Remove extraneous "/" in file
name.  Only recurse when the directory exists.

Fixes: #5579
Change-Id: Ica5e5de196bd1a3d5a0a41c34162c68c0855298d
e59fd9fa — Dariqq 3 months ago
build-system: meson: Add kernel field to machine-alist.

* guix/build-system/meson.scm (make-machine-alist): Add kernel value.

Change-Id: I29b67d2ed28b693db524c798786c39e705619897
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
096ec269 — Dariqq 3 months ago
build-system: meson: Properly name cross files.

* guix/build-system/meson.scm (make-cross-file): Add triplet and file
extension to the cross file.

Change-Id: Ie8ba187687670ec483cf4555a832590ec3ee8809
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
f2673514 — Dariqq 3 months ago
build-system: meson: Change pkgconfig to pkg-config.

Meson is warning that the pkgconfig entry is deprecated.
DEPRECATION: "pkgconfig" entry is deprecated and should be replaced by "pkg-config".

* guix/build-system/meson.scm (make-binaries-alist): Replace deprecated 'pkgconfig with 'pkg-config.

Change-Id: Ic7f2ce5503661ad163c4cfe9cd307ff6175134ff
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
d4666145 — Dariqq 4 months ago
build-system: meson: Add windres compiler for mingw.

* guix/build-system/meson.scm (make-binaries-alist): Add windres when
compiling for mingw.

Change-Id: I7f1f34cd5129918f4aba0baf1d2742e0bfbbb751
Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
47cdef93 — Sergey Trofimov a month ago
import: elpa: Fix glob->regexp conversion.

* guix/import/elpa.scm (melpa-recipe->maybe-arguments)[glob->regexp]:
Treat '*' as zero or more characters.

Merges guix/guix!5408

Change-Id: I1630d17c7693a30110551e91405e1580d1e8a477
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
d7ad785c — Attila Lendvai a month ago
ssh: Add 'none' to compression for dropbear compatibility.

Without this change `guix deploy` fails the following way when connecting to a
dropbear ssh server:

guix deploy: error: failed to deploy example: SSH connection to 'example.com'
port 22 failed: kex error : no match for method compression algo
client->server: server [none], client [zlib@openssh.com,zlib]

Fixes guix/guix#5479.

* guix/ssh.scm (%compression): Add 'none' as a possible compression.

Change-Id: I4c6214035d79a4dd9a77dc1563d9614b9604a7e0
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5480
92ffbdd3 — Ludovic Courtès a month ago
ui: It’s 2026 now!

* guix/ui.scm (show-version-and-exit): Change year to 2026.

Change-Id: I7895df5c279569e1c87104dfc0dc6a1c51c553c9
e3f856a4 — Efraim Flashner a month ago
guix: lint: Check if minimal packages should be native-inputs.

* guix/lint.scm (check-inputs-should-be-native): Add minimal variants of
packages.

Change-Id: I8a05a5390092d776cb30c424b11645e650636ec0
c98323de — Efraim Flashner a month ago
guix: lint: Add another package to the minimal variant list.

* guix/lint.scm (check-inputs-should-use-a-minimal-variant): Add po4a.

Change-Id: Ibba2cfe0067690bd1c4c6768af4b6e1924758792
35fee4fd — Efraim Flashner a month ago
build-system: cargo: Use the correct guile-json when cross-compiling.

* guix/build-system/cargo.scm (cargo-cross-build): Use the defined
cargo-guile-json as the guile-json implementation.

Reported-by: Christopher Baines <mail@cbaines.net>
Change-Id: I270024c07eb8fff452b7671d7d45fbe37300f54d
ffb406eb — Rutherther 2 months ago
scripts: package: Encourage unsetting GUIX_PROFILE.

GUIX_PROFILE should typically be unset, to prevent issues when sourcing
etc/profile of other profiles. So encourage it by showing it in the hint.

Followup of 50a2d73eac1577e35b526d3fc91423b97e581aef.

* guix/scripts/package.scm (display-search-path-hint): Add unset GUIX_PROFILE
to displayed hint.

Change-Id: Ie1564750017dde8bf896c79e463067699df709eb
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
Merges: #5118
63b71a51 — Patrick Norton 2 months ago
guix: import: go: Sort inputs alphabetically.

* guix/import/go.scm: (go-module->guix-package): Sort propagated-inputs
alphabetically.

Change-Id: Ie21e7a819ba706c63f16ebf407ae0461780fa2d1
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
4aece62a — Ludovic Courtès 2 months ago
describe: Add channels to the load path right after ‘guix’.

* guix/describe.scm (append-channels-to-load-path!): Add ‘channels-scm’ and
‘channels-go’ in second position.

Fixes: guix/guix#4819
Fixes: https://issues.guix.gnu.org/74396
Reported-by: Thijs Paelman <thijs@ouroboros.rocks>
Reported-by: Tomas Volf <~@wolfsden.cz>
Change-Id: I430dd6e6e2bd9e423d47dbb310d4553f6cd7f19b
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #5074
51a14755 — Noé Lopez 2 months ago
self: Install AppArmor profile.

* guix/self.scm (apparmor-tunables): New procedure.
(miscellaneous-files): Add etc/apparmor.d/{guix,guix-daemon,tunables/guix}.

Change-Id: I8952ef4097924d62432775cc39d38098785fdcdf
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
f55793c5 — Ludovic Courtès 2 months ago
archive: Make /etc/guix/signing-key.* readable by ‘guix-daemon’.

The manual suggests running ‘guix archive --generate-key’ as root, but that
would lead to root-owned /etc/guix/signing-key.{pub,sec}, with the secret key
unreadable by the unprivileged guix-daemon.  This fixes it.

Reported in guix/guix#4844.

* guix/scripts/archive.scm (generate-key-pair)[ensure-daemon-ownership]: New
procedure.
Use it for ‘%public-key-file’, ‘%private-key-file’, and their parent
directory.

Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I7ae980bfd40078fb7ef27a193217b15f366d5d50
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4958
0ac2a0fd — Ludovic Courtès 2 months ago
authenticate: Report failure to load keys to the daemon.

Previously, when failing to load a signing key, ‘guix authenticate’ would
print a backtrace and exit with a non-zero code.  That, in turn, would lead
the guix-daemon child process to crash with:

  nix/libutil/serialise.cc:15: virtual nix::BufferedSink::~BufferedSink(): Assertion `!bufPos' failed.

This patch fixes it by reporting the error to the daemon as was intended.

* guix/scripts/authenticate.scm (guix-authenticate): Arrange to call
‘load-key-pair’ from within ‘with-reply’.
* tests/guix-authenticate.sh: Test it.

Fixes: guix/guix#4928
Reported-by: Rutherther <rutherther@ditigal.xyz>
Change-Id: I8654ad6fdfbe18c55e1e85647d0c49f408d0574a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #4961
5d6dfd89 — Ludovic Courtès 2 months ago
authenticate: Improve error replies.

* guix/scripts/authenticate.scm (guix-authenticate)[send-reply]: Wrap guard in
‘with-fluids’.  Call ‘string-trim-right’ on the message string of ‘c’.

Change-Id: I6ab5f645f2dc9d6f53bb57eabb4de1df8212892f
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
0ecfe335 — Rutherther 3 months ago
scripts: system: Do not pull checkouts for same commit.

In case a user reconfigures to the same commit, do not
update cached checkout unnecessarily.

* guix/scripts/system/reconfigure.scm (channel-relations): Return early for
matching old and new commits.

Change-Id: Ia4b7300bbce40f7d809946dd3514715b74cd17f9
Signed-off-by: Rutherther <rutherther@ditigal.xyz>
55bf53fe — Tomas Volf 2 months ago
monad-repl: Add "graft?" command.

Grafts are not always required when just exploring in the REPL, and they do
take time, so this commit adds easy way to disable them.

* guix/monad-repl.scm (build-graft): New meta command.
* doc/guix.texi (Using Guix Interactively): Document it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Next