~ruther/guix-local

e8dba8af — John Kehayias 2 years ago
gnu: xorg-server-xwayland: Update to 23.2.5 [security fixes].

Fixes CVE-2024-31080, CVE-2024-31081, and CVE-2024-31083.  See the X.Org
Security Advisory, <https://lists.x.org/archives/xorg/2024-April/061615.html>,
for details.

* gnu/packages/xorg.scm (xorg-server-xwayland): Update to 23.2.5.

Change-Id: I8d6b8f65bb6d06374a1ea925b5ff2a399a3efeac
c9cd16c6 — Christopher Baines 2 years ago
store: database: Rename a couple of procedures.

These names should be more descriptive.

* guix/store/database.scm (path-id): Rename to select-valid-path-id.
(sqlite-register): Rename to register-valid-path.
(register-items): Update accordingly.

Change-Id: I6d4a14d4cde9d71ab34d6ffdbfbfde51b2c0e1db
c6cc9aeb — Christopher Baines 2 years ago
store: database: Refactor sqlite-register.

The update-or-insert procedure name was unhelpfully generic, and these changes
should improve the code readability.

* guix/store/database.scm (update-or-insert): Remove procedure and inline
functionality in to sqlite-register.

Change-Id: Ifab0cdb7972d095460cc1f79b8b2f0e9b958059c
511d68c7 — Christopher Baines 2 years ago
store: database: Stop finalizing prepared statements.

Especially since we're asking for these to be cached.

Management of prepared statements isn't trivial, since you don't want to keep
them forever as this can lead to poor query performance, but I don't think
that finalizing them immediately is the right solution.

Change-Id: I61706b4d09d771835bb8f074b8f6a6ee871f5e2d

* guix/store/database.scm (sqlite-step-and-reset): New procedure.
(last-insert-row, path-id, update-or-insert, add-references): Don't finalize
prepared statements.

Change-Id: I2a2c6deb43935d67df9e43000a5105343d72b3e6
cdd4a0c3 — Christopher Baines 2 years ago
store: database: Inline SQL to where it's used.

This makes the code easier to read, as you don't have to keep jumping between
the two places.

* guix/store/database.scm (path-id-sql, update-sql, insert-sql,
add-reference-sql): Remove variables.
(path-id, update-or-insert, add-references): Include SQL.

Change-Id: I53b4ab973be8d0cd10a0f35ba25972f1c9680353
b914fb9b — Christopher Baines 2 years ago
store: database: Remove with-statement and associated code.

I think using dynamic-wind to finalize all statements is the wrong
approach. Firstly it would be good to allow reseting statements rather than
finalizing them. Then for the problem of handling errors, the approach I've
settled on in the build coordinator is to close the database connection, since
that'll trigger guile-sqlite3 to finalize all the cached statements.

This reverts commit 5d6e2255286e591def122ec2f4a3cbda497fea21.

* .dir-locals.el (scheme-mode): Remove with-statement.
* guix/store/database.scm (call-with-statement): Remove procedure.
(with-statement): Remove syntax rule.
(call-with-transaction, last-insert-row-id, path-id, update-or-insert,
add-references): Don't use with-statement.

Change-Id: I2fd976b3f12ec8105cc56350933a953cf53647e8
22fa92cf — Christopher Baines 2 years ago
store: database: Remove call-with-savepoint and associated code.

While care does need to be taken with making updates or inserts to the
ValidPaths table, I think that trying to ensure this within update-or-insert
is the wrong approach. Instead, when working with the store database, only one
connection should be used to make changes to the database and those changes
should happen in transactions that ideally begin immediately.

This reverts commit 37545de4a3bf59611c184b31506fe9a16abe4c8b.

* .dir-locals.el (scheme-mode): Remove entries for call-with-savepoint and
call-with-retrying-savepoint.
* guix/store/database.scm (call-with-savepoint, call-with-retrying-savepoint):
Remove procedures.
(update-or-insert): Remove use of call-with-savepoint.

Change-Id: I2f986e8623d8235a90c40d5f219c1292c1ab157b
ecbab97f — Christopher Baines 2 years ago
scripts: substitute: Replace some leave calls with raise.

These calls happen inside of with-error-handling, so the effect should be the
same, but this opens up the possibility of using this code in a program that
doesn't want to exit when one of these error conditions is met.

Change-Id: I15d963615d85d419559fa0f4333fa4dc1dfbfd3b

* guix/scripts/substitute.scm (download-nar, process-substitution): Use raise
formatted-message rather than leave.

Change-Id: Idd0880206b69e3903e19e0536b87d65a52c200d5
dcf0cca8 — Christopher Baines 2 years ago
scripts: substitute: Allow not using with-timeout in download-nar.

I don't think the approach of using SIGALARM here for the timeout will work
well in all cases (e.g. when using Guile Fibers), so make it possible to avoid
this.

* guix/scripts/substitute.scm (download-nar): Pass the fetch timeout in as an
option.

Change-Id: I8cbe6cdfa10cdaa7d41974cbea56a95f5efecfe6
d9276a46 — Christopher Baines 2 years ago
scripts: substitute: Remove side effect warning from network-error?.

Instead, display the warning from process-substitution and
process-substitution/fallback in the relevant places.

I'm looking at this because I want to make the substitute code less tied to
the script and usable in the Guile guix-daemon.

* guix/scripts/substitute.scm (network-error?): Move warning to…
(process-substitution/fallback, process-substitution): here.

Change-Id: I082b482c0e6ec7e02a8d437ba22dcefca5c40787
ac19e038 — Christopher Baines 2 years ago
Switch order of the default substitute servers.

The aim here is to improve the user experience.  There's anecdotal evidence
that the network performance for bordeaux is better compared to ci at least
for some users, and I don't know of any issues with rate limiting or access
restriction for bordeaux compared to ci.  It also has IPv6 support.

Additionally, bordeaux generally had more substitutes than ci, particularly
for aarch64-linux and armhf-linux.  This change will offer a very slight
speedup for those substitutes that only bordeaux has.

Bordeaux has been a default substitute server for nearly 3 years now and I
think this change is overdue.  I'm also hopeful that we'll be able to build on
the testing regarding mirrors for bordeaux, and that'll allow potentially
improving the hosting setup (through providing more redundancy) and further
improving substitute fetching for users who currently have issues with
substitute access.

* config-daemon.ac: Switch substitute urls order.
* doc/guix.texi: Ditto.
* etc/guix-install.sh: Ditto.
* gnu/installer/newt/network.scm (wait-service-online): Ditto.
* guix/store.scm (%default-substitute-urls): Ditto.

Change-Id: I4f6d93ae1fc8b03d80b47b18b5749a51f1fde17b
Signed-off-by: Christopher Baines <mail@cbaines.net>
d439deae — Christopher Baines 2 years ago
gnu: sonata: Add gvfs as an input.

I'm getting the following error and this change resolves it:

  /gnu/store/rw6n86c008xqdbjs3nk4i7ggf6srdpgs-python-wrapper-3.10.7/bin/python:
  symbol lookup error:
  /run/current-system/profile/lib/gio/modules/libgvfsdbus.so: undefined
  symbol: g_task_set_static_name

Change-Id: I6f74a5a867ba7c3b3d7b233916af0e75d9e5501f
Signed-off-by: Christopher Baines <mail@cbaines.net>
df64d48e — Janneke Nieuwenhuizen 2 years ago
maint: Fix help2man for guix subcommands with `make V=2'.

* doc/local.mk ($(srcdir)/%D%/guix-%.1): Use AM_V_HELP2MAN and cater for
make's `@' silencing at the start of the command.

Change-Id: Id80c48f0d7697167fea64700a7fe140003732d28
1dbe492b — Liliana Marie Prikler 2 years ago
gnu: emacs-magit: Fix generation of autoloads.

* gnu/packages/emacs-xyz.scm (emacs-magit)[#:phases]: Replace ‘make-autoloads’
like the others.

Fixes: Magit autoloads are missing <https://bugs.gnu.org/70121>
Change-Id: Iec1d89b167211889743ed1e7e64a9f866ea4c2eb
Signed-off-by: Clément Lassieur <clement@lassieur.org>
f26b42f6 — Maxim Cournoyer 2 years ago
gnu: qt-creator: Fix patch-perfparser phase.

This is a follow-up to f83bdd7e00 ("gnu: qt-creator: Patch file names of
demangling libraries.")

* gnu/packages/qt.scm (qt-creator)
[phases] <patch-perfparser>: Adjust demangler.cpp file name.

Change-Id: I72c517636bf866b57daa5d56dd8db643b0669a88
1a237ebc — Maxim Cournoyer 2 years ago
gnu: Add hotspot.

* gnu/packages/linux.scm (hotspot): New variable.

Change-Id: Id6a0baae459bccf78c80d17f884f3fa7344ff1ac
98bc6d70 — Maxim Cournoyer 2 years ago
gnu: Add kddockwidgets-1.

* gnu/packages/qt.scm (kddockwidgets-1): New variable.

Change-Id: Id766646155e02d412ea87932a79aae95a943ff9b
9d4e274e — Maxim Cournoyer 2 years ago
gnu: Add kddockwidgets.

* gnu/packages/qt.scm (kddockwidgets): New variable.

Change-Id: I0598b16da4f027f9c42584f30a49fcbba2f5a78e
f83bdd7e — Maxim Cournoyer 2 years ago
gnu: qt-creator: Patch file names of demangling libraries.

* gnu/packages/qt.scm (qt-creator)
[phases] {patch-perfparser}: New phase.

Change-Id: I65f84158af05ae866680b21e2e9b8e24a2b71bc2
4a8f265b — Maxim Cournoyer 2 years ago
gnu: cqfd: Update to 5.5.0.

* gnu/packages/docker.scm (cqfd): Update to 5.5.0.

Change-Id: Ib8ba9ee06744869efc1489beb4e2d56fe0cc06e0
Next