gnu: qtimageformats: Update to 6.6.2. * gnu/packages/qt.scm (qtimageformats): Update to 6.6.2. Change-Id: I111f67258116f1bd4e0e3029d38afaf0ed024435 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: qtsvg: Update to 6.6.2. * gnu/packages/qt.scm (qtsvg): Update to 6.6.2. Change-Id: Ibd80b03bb776cdbe2084e8be65ddd1ccc0edb6ad Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: qt5compat: Update to 6.6.2. * gnu/packages/qt.scm (qt5compat): Update to 6.6.2. Change-Id: I9bdb9fbe880cabbc39d7928340e54ba2793131db Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: qtbase: Update to 6.6.2. * gnu/packages/qt.scm (qtbase): Update to 6.6.2. [source]: Unbundle pcre2, md4c. Remove qtbase-use-TZDIR.patch. Add qtbase-find-tools-in-PATH.patch, qtbase-qmake-fix-includedir.patch, [arguments]<#:phases>: Adjust 'patch-more-paths phase, skip tst_selftests test. [inputs]: Add libb2 * gnu/packages/patches/qtbase-use-TZDIR.patch: Remove this. * gnu/packages/patches/qtbase-find-tools-in-PATH.patch: New file. * gnu/packages/patches/qtbase-qmake-fix-includedir.patch: New file. * gnu/local.mk (dist_patch_DATA): Remove qtbase-use-TZDIR.patch. Register qtbase-find-tools-in-PATH.patch, qtbase-qmake-fix-includedir.patch. Change-Id: I72af9c8f2e930bcae18f36ceca18a0a53f5c3e15 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: libarchive: Fix a potential security issue. https://github.com/libarchive/libarchive/pull/2101 * gnu/packages/backup.scm (libarchive)[replacement]: New field. (libarchive/fixed): New variable. * gnu/packages/patches/libarchive-remove-potential-backdoor.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Change-Id: I939e9b842b10d1a78125da4a4599c38d9c037079
gnu: xorg-server: Update to 21.1.12 [security fixes]. Fixes CVE-2024-31080, CVE-2024-31081, 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): Update to 21.1.12. Change-Id: I384b91344f122f02e6261e2061bc45439cb03f7c
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
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
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
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
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
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
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
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
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
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
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>
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>
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
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>