aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
* database: separate transaction-handling and retry-handling.•••Previously call-with-transaction would both retry when SQLITE_BUSY errors were thrown and do what its name suggested (start and rollback/commit a transaction). This changes it to do only what its name implies, which simplifies its implementation. Retrying is provided by the new call-with-SQLITE_BUSY-retrying procedure. * guix/store/database.scm (call-with-transaction): no longer restarts, new #:restartable? argument controls whether "begin" or "begin immediate" is used. (call-with-SQLITE_BUSY-retrying, call-with-retrying-transaction, call-with-retrying-savepoint): new procedures. (register-items): use call-with-retrying-transaction to preserve old behavior. * .dir-locals.el (call-with-retrying-transaction, call-with-retrying-savepoint): add indentation information. Caleb Ristvedt2020-06-10
* database: ensure update-or-insert is run within a transaction•••update-or-insert can break if an insert occurs between when it decides whether to update or insert and when it actually performs that operation. Putting the check and the update/insert operation in the same transaction ensures that the update/insert will only succeed if no other write has occurred in the middle. * guix/store/database.scm (call-with-savepoint): new procedure. (update-or-insert): use call-with-savepoint to ensure the read and the insert/update occur within the same transaction. Caleb Ristvedt2020-06-10
* database: rewrite query procedures in terms of with-statement.•••Most of our queries would fail to finalize their statements properly if sqlite returned an error during their execution. This resolves that, and also makes them somewhat more concise as a side-effect. This also makes some small changes to improve certain queries where behavior was strange or overly verbose. * guix/store/database.scm (call-with-statement): new procedure. (with-statement): new macro. (last-insert-row-id, path-id, update-or-insert, add-references): rewrite to use with-statement. (update-or-insert): factor last-insert-row-id out of the end of both branches. (add-references): remove pointless last-insert-row-id call. * .dir-locals.el (with-statement): add indenting information. Caleb Ristvedt2020-06-10
* database: work around guile-sqlite3 bug preventing statement reset•••guile-sqlite3 provides statement caching, making it unnecessary for sqlite to keep re-preparing statements that are frequently used. Unfortunately it doesn't quite emulate the semantics of sqlite_finalize properly, because it doesn't cause a commit if the statement being finalized is the last "active" statement (see https://notabug.org/guile-sqlite3/guile-sqlite3/issues/12). We work around this by wrapping sqlite-finalize with our own version that ensures sqlite-reset is called, which does The Right Thing™. * guix/store/database.scm (sqlite-finalize): new procedure that shadows the sqlite-finalize from (sqlite3). Caleb Ristvedt2020-06-10
* gnu: fet: Update to 5.45.0.•••* gnu/packages/education.scm (fet): Update to 5.45.0. Nicolas Goaziou2020-06-10
* gnu: scintilla: Update to 4.4.3.•••* gnu/packages/text-editors.scm (scintilla): Update to 4.4.3. Nicolas Goaziou2020-06-10
* gnu: thinkfan: Update to 1.2.•••* gnu/packages/linux.scm (thinkfan): Update to 1.2. [home-page]: Switch to an up-to-date home page. Nicolas Goaziou2020-06-10
* gnu: progress: Update to 0.15.•••* gnu/packages/admin.scm (progress): Update to 0.15. Tobias Geerinckx-Rice2020-06-10
* gnu: man-pages: Update to 5.07.•••* gnu/packages/man.scm (man-pages): Update to 5.07. Tobias Geerinckx-Rice2020-06-10
* gnu: ipopt: Fix source URI.•••* gnu/packages/maths.scm (ipopt)[source]: Fix URI. Nicolas Goaziou2020-06-10
* gnu: grfcodec: Fix source URL.•••* gnu/packages/game-development.scm (grfcodec)[source]: Use HTTPS for URL. Re-indent package. Nicolas Goaziou2020-06-10
* gnu: cuirass: Update to 0.0.1-2280ae18.•••* gnu/packages/ci.scm (cuirass): Update to 0.0.1-2280ae18. Mathieu Othacehe2020-06-10
* gnu: ipopt: Use HTTPS home page URI.•••* gnu/packages/maths.scm (ipopt)[home-page]: Use HTTPS URI. Nicolas Goaziou2020-06-10
* gnu: grfcodec: Use HTTPS home page URI.•••* gnu/packages/game-development.scm (grfcodec)[home-page]: Use HTTPS URI. Nicolas Goaziou2020-06-10
* gnu: fsarchiver: Use HTTPS home page URI.•••* gnu/packages/file-systems.scm (fsarchiver)[home-page]: Use HTTPS URI. Nicolas Goaziou2020-06-10
* gnu: asciidoc: Use HTTPS home page URI.•••* gnu/packages/documentation.scm (asciidoc)[home-page]: Use HTTPS URI. Nicolas Goaziou2020-06-10
* gnu: grammalecte: Update to 1.10.0.•••* gnu/packages/dictionaries.scm (grammalecte): Update to 1.10.0. Nicolas Goaziou2020-06-10
* gnu: qtpass: Wrap binary.•••* gnu/packages/password-utils.scm (qtpass)[arguments]: Import qt-utils modules. Add phase to wrap qtpass binary. Efraim Flashner2020-06-10
* gnu: qtpass: Update to 1.3.2.•••* gnu/packages/password-utils.scm (qtpass): Update to 1.3.2. Efraim Flashner2020-06-10
* gnu: mu: Update to 1.4.10.•••* gnu/packages/mail.scm (mu): Update to 1.4.10. Tobias Geerinckx-Rice2020-06-10
* gnu: herbstluftwm: Update to 0.8.3.•••* gnu/packages/wm.scm (herbstluftwm): Update to 0.8.3. Tobias Geerinckx-Rice2020-06-10
* gnu: ethtool: Update to 5.7.•••* gnu/packages/networking.scm (ethtool): Update to 5.7. Tobias Geerinckx-Rice2020-06-10
* gnu: haproxy: Update to 2.1.6.•••* gnu/packages/networking.scm (haproxy): Update to 2.1.6. Tobias Geerinckx-Rice2020-06-10
* gnu: dlib: Update to 19.20.•••* gnu/packages/machine-learning.scm (dlib): Update to 19.20. Tobias Geerinckx-Rice2020-06-10
* gnu: pd: Update to 0.51-0.•••* gnu/packages/music.scm (pd): Update to 0.51-0. Tobias Geerinckx-Rice2020-06-10
* gnu: pd: Use HTTPS home page.•••* gnu/packages/music.scm (pd)[home-page]: Use HTTPS. Tobias Geerinckx-Rice2020-06-10
* gnu: pd: Don't hard-code Tk version.•••* gnu/packages/music.scm (pd)[arguments]: Construct the wish file name from the tk package version. Tobias Geerinckx-Rice2020-06-10
* gnu: libnumbertext: Update to 1.0.6.•••* gnu/packages/libreoffice.scm (libnumbertext): Update to 1.0.6. Tobias Geerinckx-Rice2020-06-10
* gnu: msmtp: Update to 1.8.11.•••* gnu/packages/mail.scm (msmtp): Update to 1.8.11. Tobias Geerinckx-Rice2020-06-10
* gnu: mpop: Update to 1.4.10.•••* gnu/packages/mail.scm (mpop): Update to 1.4.10. Tobias Geerinckx-Rice2020-06-10
* gnu: nvme-cli: Update to 1.11.2.•••* gnu/packages/linux.scm (nvme-cli): Update to 1.11.2. Tobias Geerinckx-Rice2020-06-10
* gnu: iptables: Update to 1.8.5.•••* gnu/packages/linux.scm (iptables): Update to 1.8.5. [source]: Add URL. [arguments]: Add an ‘install-missing-script’ phase. Tobias Geerinckx-Rice2020-06-10
* gnu: nftables: Update to 0.9.5.•••* gnu/packages/linux.scm (nftables): Update to 0.9.5. Tobias Geerinckx-Rice2020-06-10
* gnu: libnftnl: Update to 1.1.7.•••* gnu/packages/linux.scm (libnftnl): Update to 1.1.7. Tobias Geerinckx-Rice2020-06-10
* gnu: gtkspell3: Update to 3.0.10.•••* gnu/packages/gtk.scm (gtkspell3): Update to 3.0.10. [propagated-inputs]: Replace enchant-1.6 with default version 2. Tobias Geerinckx-Rice2020-06-10
* gnu: smb4k: Update to 3.0.6.•••* gnu/packages/kde-utils.scm (smb4k): Update to 3.0.6. Tobias Geerinckx-Rice2020-06-10
* gnu: mm-common: Update to 1.0.1.•••* gnu/packages/gnome.scm (mm-common): Update to 1.0.1. Tobias Geerinckx-Rice2020-06-10
* gnu: mm-common: Don't use NAME in source URI.•••* gnu/packages/gnome.scm (mm-common)[source]: Hard-code NAME. Tobias Geerinckx-Rice2020-06-10
* gnu: simple-scan: Update to 3.36.3.•••* gnu/packages/gnome.scm (simple-scan): Update to 3.36.3. Tobias Geerinckx-Rice2020-06-10
* gnu: djview: Update to 4.11.•••* gnu/packages/djvu.scm (djview): Update to 4.11. [source]: Use GIT-FETCH and add a FILE-NAME. [native-inputs]: Add autoconf, automake, and libtool. [arguments]: Add a ‘make-files-writable’ phase. Tobias Geerinckx-Rice2020-06-10
* gnu: dhall: Update to 1.32.0.•••* gnu/packages/dhall.scm (dhall): Update to 1.32.0. [inputs]: Add ghc-half. Tobias Geerinckx-Rice2020-06-09
* gnu: dhall: Disable network tests differently.•••* gnu/packages/dhall.scm (dhall)[source]: Remove patch. [arguments]: Rename ‘remove-more-tests’ phase to ‘remove-network-tests’. Identify the tests by name instead of by content. * gnu/packages/patches/dhall-remove-network-tests.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. Tobias Geerinckx-Rice2020-06-09
* gnu: rocksdb: Update to 6.10.1.•••* gnu/packages/databases.scm (rocksdb): Update to 6.10.1. Tobias Geerinckx-Rice2020-06-09
* gnu: perl-sql-abstract: Update to 1.87.•••* gnu/packages/databases.scm (perl-sql-abstract): Update to 1.87. Tobias Geerinckx-Rice2020-06-09
* gnu: rust-yaml-rust: Update to 0.4.4.•••* gnu/packages/crates-io.scm (rust-yaml-rust): Update to 0.4.4. [arguments]: Update rust-quickcheck to 0.9. Tobias Geerinckx-Rice2020-06-09
* gnu: minisign: Update to 0.9.•••* gnu/packages/crypto.scm (minisign): Update to 0.9. Tobias Geerinckx-Rice2020-06-09
* gnu: python-pylint: Update to 2.5.3.•••* gnu/packages/check.scm (python-pylint): Update to 2.5.3. Tobias Geerinckx-Rice2020-06-09
* gnu: stumpish: Remove bogus keyword.•••This follows up on commit 81b045e149daffd113208601b764fdb47cf6c14b. ‘#:tests’ is not supported by the trivial build system and broke ‘guix pull’. * gnu/packages/wm.scm (stumpish)[argument]: Remove #:tests?. Tobias Geerinckx-Rice2020-06-09
* gnu: thunar: Update to 1.8.15.•••* gnu/packages/xfce.scm (thunar): Update to 1.8.15. Tobias Geerinckx-Rice2020-06-09
* gnu: singular: Update to 4.1.3p2.•••* gnu/packages/algebra.scm (singular): Update to 4.1.3p2. Tobias Geerinckx-Rice2020-06-09