diff options
38 files changed, 616 insertions, 325 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 360c022b95..72c3d43254 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -27951,7 +27951,7 @@ over HTTP. @deftp {Data Type} git-http-configuration Data type representing the configuration for a future @code{git-http-service-type}; can currently be used to configure Nginx -trough @code{git-http-nginx-location-configuration}. +through @code{git-http-nginx-location-configuration}. @table @asis @item @code{package} (default: @var{git}) diff --git a/etc/news.scm b/etc/news.scm index 1144ec36c8..9fabb8ff45 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -19,7 +19,8 @@ (version 0) (entry (commit "a9a2fdaabcc78e7a54d9a6bcfa4ee3de308e9a90") - (title (en "Logical Volume Manager (LVM) now supported on Guix System")) + (title (en "Logical Volume Manager (LVM) now supported on Guix System") + (de "Logical Volume Manager (LVM) wird jetzt auf Guix System unterstützt")) (body (en "On Guix System, the new @code{lvm-device-mapping} variable allows you to declare ``mapped devices'' for LVM, the Linux Logical Volume @@ -33,7 +34,21 @@ group ``vg0'' can be declared as follows: (type lvm-device-mapping)) @end lisp -See @command{info \"(guix) Mapped Devices\"} for more information."))) +See @command{info \"(guix) Mapped Devices\"} for more information.") + (de "Auf Guix System erlaubt Ihnen die neue Variable +@code{lvm-device-mapping}, „zugeordnete Geräte“ (Mapped Devices) für LVM, den +Linux Logical Volume Manager, zu deklarieren. Zum Beispiel können logische +Datenträger von LVM namens „alpha“ und „beta“ aus der +Datenträgergruppe (Volume Group) „vg0“ wie folgt deklariert werden: + +@lisp +(mapped-device + (source \"vg0\") + (target (list \"vg0-alpha\" \"vg0-beta\")) + (type lvm-device-mapping)) +@end lisp + +Siehe @command{info \"(guix.de) Zugeordnete Geräte\"} für nähere Informationen."))) (entry (commit "3b6e4e5fd05e72b8a32ff1a2d5e21464260e21e6") (title (en "List of substitute keys is now declarative on Guix System") diff --git a/gnu/local.mk b/gnu/local.mk index 7717793984..2e802680f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1409,6 +1409,7 @@ dist_patch_DATA = \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openmpi-mtl-priorities.patch \ + %D%/packages/patches/openssh-fix-ssh-copy-id.patch \ %D%/packages/patches/openssh-hurd.patch \ %D%/packages/patches/openresolv-restartcmd-guix.patch \ %D%/packages/patches/openscad-parser-boost-1.72.patch \ @@ -1507,7 +1508,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-3.8-fix-tests.patch \ %D%/packages/patches/python-CVE-2018-14647.patch \ - %D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \ %D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \ %D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index c49c311fd0..7a7408b4d7 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -184,6 +184,8 @@ language with thin bindings for other languages.") (define-public udunits (package (name "udunits") + ;; Four-part version numbers are development snapshots, not releases. See + ;; <https://github.com/Unidata/UDUNITS-2/issues/99#issuecomment-732323472>. (version "2.2.26") (source (origin (method url-fetch) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index f4b138ebb3..2f8d50451e 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> @@ -297,7 +297,7 @@ and workspaces that can be used in the compiler environment of your choice.") (package (inherit cmake-minimal) (name "cmake") - (version "3.19.0") + (version "3.19.1") ;; TODO: Move the following source field to the cmake-bootstrap package in ;; the next rebuild cycle. (source (origin @@ -307,7 +307,7 @@ and workspaces that can be used in the compiler environment of your choice.") "/cmake-" version ".tar.gz")) (sha256 (base32 - "14zlrb7awiazxc5wlvgah9rw1dm4ziczbxiyqsvp4zmaan0ninpx")) + "1fisi9rlijw9wd0yjzk1c6j7ljnb2yiq5iqnrz6m1xkflyinw9hx")) (snippet (match (origin-snippet (package-source cmake-bootstrap)) ((_ _ exp ...) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 0938bc3d46..432910d7a3 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2818,6 +2818,12 @@ exec " gcc "/bin/" program "--disable-shared" "--enable-languages=c,c++" + ,@(if (equal? "powerpc64le-linux-gnu" (boot-triplet)) + ;; On POWER9 (little endian) glibc needs the + ;; 128-bit long double type. + '("--with-long-double-128") + '()) + ;; libstdc++ cannot be built at this stage ;; ("Link tests are not allowed after ;; GCC_NO_EXECUTABLES."). diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index c1e5f2eb79..bea2d69876 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -153,6 +153,12 @@ base compiler and using LIBC (which may be either a libc package or #f.)" "--disable-decimal-float" ;would need libc "--disable-libcilkrts" + ,@(if (equal? "powerpc64le-linux-gnu" target) + ;; On POWER9 (little endian) glibc needs + ;; the 128-bit long double type. + '("--with-long-double-128") + '()) + ;; When target is any OS other than 'none' these ;; libraries will fail if there is no libc ;; present. See diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm index 605a922768..9ac17cdec8 100644 --- a/gnu/packages/djvu.scm +++ b/gnu/packages/djvu.scm @@ -50,26 +50,40 @@ (define-public djvulibre (package (name "djvulibre") - (version "3.5.27") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/djvu/DjVuLibre/" - version "/djvulibre-" version ".tar.gz")) - (sha256 - (base32 - "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6")))) + (version "3.5.28") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/djvu/DjVuLibre/" + (string-replace-substring version "." ",") + "/djvulibre-" version ".tar.gz")) + (sha256 + (base32 "0manxn1ly5n8nqamv47hz7akxi6v0rzwc9j1c3x99vngrjlr5qw2")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This bundles software (e.g., zlib) and is entirely superfluous. + (delete-file-recursively "win32") + #t)))) (build-system gnu-build-system) + (native-inputs + ;; The 3.5.28 release tarball isn't bootstrapped. + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("libjpeg-turbo" ,libjpeg-turbo) - ("libtiff" ,libtiff))) + ("libtiff" ,libtiff) + ("zlib" ,zlib))) (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'reproducible - (lambda _ - ;; Ensure there are no timestamps in .svgz files. - (substitute* "desktopfiles/Makefile.in" - (("gzip") "gzip -n")) - #t))))) + `(#:phases + (modify-phases %standard-phases + (add-after 'bootstrap 'make-reproducible + (lambda _ + ;; Ensure there are no timestamps in .svgz files. + (substitute* "desktopfiles/Makefile.am" + (("gzip") "gzip -n")) + #t))))) (home-page "http://djvu.sourceforge.net/") (synopsis "Implementation of DjVu, the document format") (description "DjVuLibre is an implementation of DjVu, @@ -295,7 +309,16 @@ and white.") ("python2-subprocess32" ,python2-subprocess32) ("python2-wxpython" ,python2-wxpython))) (arguments - `(#:python ,python-2)) + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/djvused.py" + (("djvused_path = 'djvused'") + (string-append "djvused_path = '" + (assoc-ref inputs "djvulibre") + "/bin/djvused'")))))))) (synopsis "Graphical editor for DjVu documents") (description "@code{djvusmooth} is a graphical editor for DjVu_ documents. diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 1609a631b7..b7b2113db4 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -415,7 +415,7 @@ following formats: (define-public cozy (package (name "cozy") - (version "0.7.2") + (version "0.7.6") (source (origin (method git-fetch) @@ -424,7 +424,7 @@ following formats: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0fmbddi4ga0bppwg3rm3yjmf7jgqc6zfslmavnr1pglbzkjhy9fs")))) + (base32 "1pg0djhg4p32vxfwf6bfals31zf93m56fx1x4q5jhhdwmll7xl6w")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -432,7 +432,7 @@ following formats: (modify-phases %standard-phases (add-after 'unpack 'patch-desktop-file (lambda _ - (substitute* "data/com.github.geigi.cozy.desktop.in" + (substitute* "data/com.github.geigi.cozy.desktop" (("Exec=com.github.geigi.cozy") "Exec=cozy")) #t)) (add-after 'install 'patch-executable-name @@ -477,7 +477,7 @@ following formats: ("gst-plugins-good" ,gst-plugins-good) ("gst-plugins-ugly" ,gst-plugins-ugly) ("gtk+" ,gtk+) - ("python-apsw" ,python-apsw) + ("libhandy" ,libhandy) ("python-distro" ,python-distro) ("python-gst" ,python-gst) ("python-mutagen" ,python-mutagen) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 840e596e30..24d776d893 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -611,14 +611,14 @@ Portuguese, Spanish and Italian.") (define-public fet (package (name "fet") - (version "5.47.0") + (version "5.47.1") (source (origin (method url-fetch) (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" "fet-" version ".tar.bz2")) (sha256 - (base32 "1a4mzzd6qy7hpb3yvmf922dbrqrzacz60ld8dsds78m018jf9gaj")))) + (base32 "1szp5zrynm6l14zgz04rk82rw6w8p712819b0n7lxxb1bnxqz8xv")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 907ff200e0..6865346cf0 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14540,33 +14540,31 @@ official @command{sqlite3} executable to access SQL database.") (license license:gpl3+))) (define-public emacs-closql - ;; Take a commit newer than 1.0.0 release because of Emacs upgrade to 26.3. - (let ((commit "70b98dbae53611d10a461d9b4a6f71086910dcef")) - (package - (name "emacs-closql") - (version (git-version "1.0.0" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacscollective/closql") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1wvhrihg663f61yzc7f0vha2abjdnlwbk0gjcwakdfk1bhwf5ikh")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-emacsql" ,emacs-emacsql))) - (home-page "https://github.com/emacscollective/closql") - (synopsis "Store EIEIO objects using EmacSQL") - (description - "This package stores uniform EIEIO objects in an EmacSQL + (package + (name "emacs-closql") + (version "1.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacscollective/closql") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06j0sc6dx8f34wc8i7dzkp8jwvwnrpnl8i93vpc1qw0ih0jwa2zh")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-emacsql" ,emacs-emacsql))) + (home-page "https://github.com/emacscollective/closql") + (synopsis "Store EIEIO objects using EmacSQL") + (description + "This package stores uniform EIEIO objects in an EmacSQL database. SQLite is used as backend. This library imposes some restrictions on what kind of objects can be stored; it isn't intended to store arbitrary objects. All objects have to share a common superclass and subclasses cannot add any additional instance slots.") - (license license:gpl3)))) + (license license:gpl3))) (define-public emacs-epkg (package diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4f5a67093c..6fb323deaf 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -313,6 +313,38 @@ languages.") (variable "INFOPATH") (files '("share/info")))))))) +(define-public emacs-next-pgtk + (let ((commit "3df4ca451d41a5f1036713277ef55ca9734c6fa7") + (revision "0")) + (package/inherit emacs-next + (name "emacs-next-pgtk") + (version (git-version "28.0.50" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/masm11/emacs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c677c97b9avhlzysg09cvf6bd69iz41ggppnszw8chhphk3knfc")))) + (arguments + (substitute-keyword-arguments (package-arguments emacs-next) + ((#:configure-flags flags ''()) + `(cons* "--with-pgtk" "--with-xwidgets" ,flags)))) + (propagated-inputs + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("glib-networking" ,glib-networking))) + (inputs + `(("webkitgtk" ,webkitgtk) + ,@(package-inputs emacs-next))) + (home-page "https://github.com/masm11/emacs") + (synopsis "Emacs text editor with @code{pgtk} and @code{xwidgets} support") + (description "This is an unofficial Emacs fork build with a pure-GTK +graphical toolkit to work natively on Wayland. In addition to that, xwidgets +also enabled and works without glitches even on X server.")))) + (define-public emacs-minimal ;; This is the version that you should use as an input to packages that just ;; need to byte-compile .el files. diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 7ef40f544f..a79c70d1e0 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -186,7 +186,7 @@ line client and a client based on Qt.") (define-public hledger (package (name "hledger") - (version "1.19.1") + (version "1.14.2") (source (origin (method url-fetch) @@ -196,22 +196,22 @@ line client and a client based on Qt.") ".tar.gz")) (sha256 (base32 - "0wfsyf2q1kf90mj3lxs0m5ghj153axmpkc8xfy12vkz5imnyphfm")))) + "1si9zqparkdq77yji87lhcsrf11fr3gisqwsv82cabhrhc36x6l4")))) (build-system haskell-build-system) (inputs - `(("ghc-decimal" ,ghc-decimal) - ("ghc-diff" ,ghc-diff) - ("ghc-aeson" ,ghc-aeson) - ("ghc-ansi-terminal" ,ghc-ansi-terminal) + `(("ghc-ansi-terminal" ,ghc-ansi-terminal) ("ghc-base-compat-batteries" ,ghc-base-compat-batteries) ("ghc-cmdargs" ,ghc-cmdargs) ("ghc-data-default" ,ghc-data-default) - ("ghc-extra" ,ghc-extra) + ("ghc-decimal" ,ghc-decimal) + ("ghc-diff" ,ghc-diff) + ("ghc-easytest" ,ghc-easytest) ("ghc-hashable" ,ghc-hashable) ("ghc-hledger-lib" ,ghc-hledger-lib) ("ghc-lucid" ,ghc-lucid) ("ghc-math-functions" ,ghc-math-functions) ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-mtl-compat" ,ghc-mtl-compat) ("ghc-old-time" ,ghc-old-time) ("ghc-pretty-show" ,ghc-pretty-show) ("ghc-regex-tdfa" ,ghc-regex-tdfa) @@ -219,13 +219,14 @@ line client and a client based on Qt.") ("ghc-shakespeare" ,ghc-shakespeare) ("ghc-split" ,ghc-split) ("ghc-tabular" ,ghc-tabular) - ("ghc-tasty" ,ghc-tasty) ("ghc-temporary" ,ghc-temporary) - ("ghc-timeit" ,ghc-timeit) ("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-utf8-string" ,ghc-utf8-string) ("ghc-utility-ht" ,ghc-utility-ht) ("ghc-wizards" ,ghc-wizards))) + (native-inputs + `(("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) (home-page "https://hledger.org") (synopsis "Command-line interface for the hledger accounting system") (description @@ -550,7 +551,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.1.1") + (version "4.2.2") (source (origin (method git-fetch) @@ -559,7 +560,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1fllz2s20lg4hrppzmnlgjy9mrq7gaq66l2apb3vz1avzvsjw3gm")))) + (base32 "1zk40zbf67wid2s5wg1fknb71409wg0qlvznk44q571v9risrdy7")))) (build-system python-build-system) (inputs `(("libevent" ,libevent) @@ -594,20 +595,17 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (add-after 'unpack 'create-output-directories (lambda* (#:key outputs #:allow-other-keys) ;; setup.py installs to ~/.local/share if this doesn't exist. - (mkdir-p (string-append (assoc-ref outputs "out") "/share")) - #t)) + (mkdir-p (string-append (assoc-ref outputs "out") "/share")))) (add-after 'unpack 'use-libsecp256k1-input (lambda* (#:key inputs #:allow-other-keys) - (substitute* "lib/secp256k1.py" + (substitute* "electroncash/secp256k1.py" (("library_paths = .* 'libsecp256k1.so.0'.") (string-append "library_paths = ('" (assoc-ref inputs "libsecp256k1") - "/lib/libsecp256k1.so.0'"))) - #t)) + "/lib/libsecp256k1.so.0'"))))) (add-after 'install 'wrap-qt (lambda* (#:key outputs #:allow-other-keys) - (wrap-qt-program (assoc-ref outputs "out") "electron-cash") - #t))))) + (wrap-qt-program (assoc-ref outputs "out") "electron-cash")))))) (home-page "https://electroncash.org/") (synopsis "Bitcoin Cash wallet") (description @@ -625,7 +623,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.17.1.3") + (version "0.17.1.5") (source (origin (method git-fetch) @@ -645,7 +643,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch "external/unbound")) #t)) (sha256 - (base32 "1ddkdfd8i5q509qziwcx1f6nm8axs4a1ppzv2y5lgsqpq375if6j")))) + (base32 "0yy9n2qng02j314h8fh5n0mcy6vpdks0yk4d8ifn8hj03f3g2c8b")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -735,7 +733,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.17.1.4") + (version "0.17.1.5") (source (origin (method git-fetch) @@ -744,7 +742,7 @@ the Monero command line client and daemon.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ixjfdlvwr2an2s9jaql240bk7jpq5hhm5c4hww0bicyy3fp12ng")))) + (base32 "0qlcqli0wvrjfy89mbgh1hpmk60dxgn5sws93h8lhgyfwx557iw0")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -766,8 +764,7 @@ the Monero command line client and daemon.") (list "-DARCH=default" "-DENABLE_PASS_STRENGTH_METER=ON" (string-append "-DReadline_ROOT_DIR=" - (assoc-ref %build-inputs "readline")) - "-DCMAKE_PREFIX_PATH=\"\"") + (assoc-ref %build-inputs "readline"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'extract-monero-sources @@ -776,16 +773,14 @@ the Monero command line client and daemon.") (lambda* (#:key inputs #:allow-other-keys) (invoke "tar" "-xv" "--strip-components=1" "-C" "monero" - "-f" (assoc-ref inputs "monero-source")) - #t)) + "-f" (assoc-ref inputs "monero-source")))) (add-after 'extract-monero-sources 'fix-build (lambda _ (substitute* "src/version.js.in" (("@VERSION_TAG_GUI@") ,version)) (substitute* "src/zxcvbn-c/makefile" - (("\\?=") "=")) - #t)) + (("\\?=") "=")))) (add-before 'configure 'generate-zxcvbn-c-header (lambda _ (invoke "make" "-C" "src/zxcvbn-c" "dict-src.h"))) @@ -793,8 +788,7 @@ the Monero command line client and daemon.") (lambda* (#:key outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) (mkdir-p bin) - (install-file "../build/bin/monero-wallet-gui" bin)) - #t)) + (install-file "../build/bin/monero-wallet-gui" bin)))) (add-after 'qt-wrap 'install-monerod-link ;; The monerod program must be available so that monero-wallet-gui ;; can start a Monero daemon if necessary. @@ -802,8 +796,7 @@ the Monero command line client and daemon.") (symlink (string-append (assoc-ref inputs "monero") "/bin/monerod") (string-append (assoc-ref outputs "out") - "/bin/monerod")) - #t))))) + "/bin/monerod"))))))) (home-page "https://web.getmonero.org/") (synopsis "Graphical user interface for the Monero currency") (description diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d01d4de33a..3b288cc8b8 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6529,71 +6529,67 @@ at their peak of economic growth and military prowess. license:mpl2.0 license:zlib)))) -;; There have been no official releases. (define-public open-adventure - (let* ((commit "d43854f0f6bb8e9eea7fbce80348150e7e7fc34d") - (revision "2")) - (package - (name "open-adventure") - (version (string-append "2.5-" revision "." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/esr/open-adventure") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "08bwrvf4axb1rsfd6ia1fddsky9pc1p350vjskhaakg2czc6dsk0")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags (list "CC=gcc") - #:parallel-build? #f ; not supported - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Linenoise is meant to be included, so we have to - ;; copy it into the working directory. - (let* ((linenoise (assoc-ref inputs "linenoise")) - (noisepath (string-append linenoise "/include/linenoise")) - (out (assoc-ref outputs "out"))) - (copy-recursively noisepath "linenoise")) - #t)) - (add-before 'build 'use-echo - (lambda _ - (substitute* "tests/Makefile" - (("/bin/echo") (which "echo"))) - #t)) - (add-after 'build 'build-manpage - (lambda _ - ;; This target is missing a dependency - (substitute* "Makefile" - ((".adoc.6:" line) - (string-append line " advent.adoc"))) - (invoke "make" ".adoc.6"))) - ;; There is no install target - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man (string-append out "/share/man/man6"))) - (install-file "advent" bin) - (install-file "advent.6" man)) - #t))))) - (native-inputs - `(("asciidoc" ,asciidoc) - ("linenoise" ,linenoise) - ("python" ,python) - ("python-pyyaml" ,python-pyyaml))) - (home-page "https://gitlab.com/esr/open-adventure") - (synopsis "Colossal Cave Adventure") - (description "The original Colossal Cave Adventure from 1976 was the -origin of all text adventures, dungeon-crawl (computer) games, and -computer-hosted roleplaying games. This is the last version released by + (package + (name "open-adventure") + (version "1.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/esr/open-adventure") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "123svzy7xczdklx6plbafp22yv9bcvwfibjk0jv2c9i22dfsr07f")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-before 'build 'use-echo + (lambda _ + (substitute* "tests/Makefile" + (("/bin/echo") (which "echo"))) + #t)) + (add-after 'build 'build-manpage + (lambda _ + ;; This target is missing a dependency + (substitute* "Makefile" + ((".adoc.6:" line) + (string-append line " advent.adoc"))) + (invoke "make" ".adoc.6"))) + ;; There is no install target. + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man (string-append out "/share/man/man6"))) + (install-file "advent" bin) + (install-file "advent.6" man)) + #t))))) + (native-inputs + `(("asciidoc" ,asciidoc) + ("libedit" ,libedit) + ("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("python-pyyaml" ,python-pyyaml))) + (home-page "https://gitlab.com/esr/open-adventure") + (synopsis "Colossal Cave Adventure") + (description + "The original Colossal Cave Adventure from 1976 was the origin of all +text adventures, dungeon-crawl (computer) games, and computer-hosted +roleplaying games. This is a forward port of the last version released by Crowther & Woods, its original authors, in 1995. It has been known as -\"adventure 2.5\" and \"430-point adventure\".") - (license license:bsd-2)))) +``adventure 2.5'' and ``430-point adventure''.") + (license license:bsd-2))) + +(define-public open-adventure-2.5 + (package + (inherit open-adventure) + (version "2.5") + (properties `((superseded . ,open-adventure))))) (define-public tome4 (package diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index db390fed5e..86c4b98bf1 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -57,18 +57,19 @@ (define-public igraph (package (name "igraph") - (version "0.8.2") + (version "0.8.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/igraph/igraph/releases/" "download/" version "/igraph-" version ".tar.gz")) (sha256 - (base32 "158flvl80qh1l1ikfa04p1dzh8kapsvm6q80x3ih5gwcgcg4g2ki")))) + (base32 "127q6q40kbmvd62yhbz6dlfk370qiq98s1iscyagpgbpjwb4xvyf")))) (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--with-external-glpk" + (list "--disable-static" + "--with-external-glpk" "--with-external-blas" "--with-external-lapack"))) (inputs diff --git a/gnu/packages/haskell-check.scm b/gnu/packages/haskell-check.scm index 6176b95988..df7a667623 100644 --- a/gnu/packages/haskell-check.scm +++ b/gnu/packages/haskell-check.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1035,3 +1036,29 @@ regular development cycle and regressions caught early. See the documentation in \"Test.Inspection\" or the project webpage for more examples and more information.") (license license:expat))) + +(define-public ghc-easytest + (package + (name "ghc-easytest") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/easytest/easytest-" + version ".tar.gz")) + (sha256 + (base32 + "0gdyawzlw6d15yz7ji599xjgfr0g7l1iq11ffr4aw3j6g3dc6m8i")))) + (build-system haskell-build-system) + (inputs + `(("ghc-async" ,ghc-async) + ("ghc-random" ,ghc-random) + ("ghc-call-stack" ,ghc-call-stack))) + (home-page "https://github.com/joelburget/easytest") + (synopsis "Testing library for Haskell") + (description "EasyTest is a testing toolkit, meant to replace most uses of +QuickCheck, SmallCheck, HUnit, and frameworks like Tasty, etc. Tests can be +written with ordinary Haskell code, with control flow explicit and under +programmer control.") + (license license:expat))) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index d340df4a08..1655b88cb0 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -1663,7 +1663,7 @@ very simple example of encoding CSV data: (define-public ghc-cassava-megaparsec (package (name "ghc-cassava-megaparsec") - (version "2.0.2") + (version "2.0.1") (source (origin (method url-fetch) @@ -1674,7 +1674,7 @@ very simple example of encoding CSV data: ".tar.gz")) (sha256 (base32 - "03x1462agrfdagklp8c89b8p4z2hd8nbf6d3895sz770zjkawda7")))) + "0q4skw98nzy6icmgpwqvgw0c5pqcgi25rf7nmwh2pksvv94pi3p3")))) (build-system haskell-build-system) (inputs `(("ghc-cassava" ,ghc-cassava) @@ -3551,7 +3551,7 @@ Writer monad), where list append quickly becomes too expensive.") (define-public ghc-doctest (package (name "ghc-doctest") - (version "0.16.3") + (version "0.16.2") (source (origin (method url-fetch) @@ -3561,7 +3561,7 @@ Writer monad), where list append quickly becomes too expensive.") ".tar.gz")) (sha256 (base32 - "1y1l7aa80qkib1z8lsizgg7fpfdmdwhxvi5m255a42jdkjgn5sfg")))) + "0lk4cjfzi5bx2snfzw1zi06li0gvgz3ckfh2kwa98l7nxfdl39ag")))) (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: missing test framework (inputs @@ -3573,7 +3573,6 @@ Writer monad), where list append quickly becomes too expensive.") `(("ghc-hunit" ,ghc-hunit) ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-hspec" ,ghc-hspec) - ("ghc-hspec-core" ,ghc-hspec-core) ("ghc-mockery" ,ghc-mockery) ("ghc-setenv" ,ghc-setenv) ("ghc-silently" ,ghc-silently) @@ -5867,7 +5866,7 @@ accessed or modified.") (define-public ghc-hledger-lib (package (name "ghc-hledger-lib") - (version "1.19.1") + (version "1.14.1") (source (origin (method url-fetch) @@ -5877,14 +5876,10 @@ accessed or modified.") ".tar.gz")) (sha256 (base32 - "0py11011r358nmnvwwkc8mlx6mpy36jm8sqlr4i8ihx3x0zjdgya")))) + "1w6qp01cak6spnpldm01czlm6i5a2alw47w76875l2nagrc4rfp2")))) (build-system haskell-build-system) (inputs - `(("ghc-decimal" ,ghc-decimal) - ("ghc-glob" ,ghc-glob) - ("ghc-aeson" ,ghc-aeson) - ("ghc-aeson-pretty" ,ghc-aeson-pretty) - ("ghc-ansi-terminal" ,ghc-ansi-terminal) + `(("ghc-ansi-terminal" ,ghc-ansi-terminal) ("ghc-base-compat-batteries" ,ghc-base-compat-batteries) ("ghc-blaze-markup" ,ghc-blaze-markup) ("ghc-call-stack" ,ghc-call-stack) @@ -5892,11 +5887,14 @@ accessed or modified.") ("ghc-cassava-megaparsec" ,ghc-cassava-megaparsec) ("ghc-cmdargs" ,ghc-cmdargs) ("ghc-data-default" ,ghc-data-default) + ("ghc-decimal" ,ghc-decimal) + ("ghc-easytest" ,ghc-easytest) ("ghc-extra" ,ghc-extra) - ("ghc-fgl" ,ghc-fgl) ("ghc-file-embed" ,ghc-file-embed) + ("ghc-glob" ,ghc-glob) ("ghc-hashtables" ,ghc-hashtables) ("ghc-megaparsec" ,ghc-megaparsec) + ("ghc-mtl-compat" ,ghc-mtl-compat) ("ghc-old-time" ,ghc-old-time) ("ghc-parser-combinators" ,ghc-parser-combinators) ("ghc-pretty-show" ,ghc-pretty-show) @@ -5904,14 +5902,9 @@ accessed or modified.") ("ghc-safe" ,ghc-safe) ("ghc-split" ,ghc-split) ("ghc-tabular" ,ghc-tabular) - ("ghc-tasty" ,ghc-tasty) - ("ghc-tasty-hunit" ,ghc-tasty-hunit) - ("ghc-timeit" ,ghc-timeit) ("ghc-uglymemo" ,ghc-uglymemo) - ("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-utf8-string" ,ghc-utf8-string))) - (native-inputs - `(("ghc-doctest" ,ghc-doctest))) + (native-inputs `(("ghc-doctest" ,ghc-doctest))) (home-page "https://hledger.org") (synopsis "Reusable library providing the core functionality of hledger") (description @@ -13054,7 +13047,7 @@ increasing type safety.") (define-public ghc-tabular (package (name "ghc-tabular") - (version "0.2.2.8") + (version "0.2.2.7") (source (origin (method url-fetch) @@ -13064,7 +13057,7 @@ increasing type safety.") ".tar.gz")) (sha256 (base32 - "0z936gh8n8i8qdkagyxwd9gqq13skd5fv013vdvwsibrxkm0czfb")))) + "1ysgq7rrks7f98nnvxil8xz1q27hxdgz4szbjhqwzbwd209dmy0k")))) (build-system haskell-build-system) (inputs `(("ghc-csv" ,ghc-csv) diff --git a/gnu/packages/lean.scm b/gnu/packages/lean.scm index 0cc67da874..cc593291fd 100644 --- a/gnu/packages/lean.scm +++ b/gnu/packages/lean.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Amin Bandali <bandali@gnu.org> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,7 +28,7 @@ (define-public lean (package (name "lean") - (version "3.17.1") + (version "3.23.0") (home-page "https://github.com/leanprover-community/lean") (source (origin (method git-fetch) @@ -36,7 +37,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "15yfryg98x9lvy00v1w5kg4hp921mpvlxx1ic3m08k1ls6p1gkj4")))) + "09mklc1p6ms1jayg2f89hqfmhca3h5744lli936l38ypn1d00sxx")))) (build-system cmake-build-system) (inputs `(("gmp" ,gmp))) @@ -65,7 +66,7 @@ #t))) (add-before 'configure 'chdir-to-src (lambda _ (chdir "src") #t))))) - (synopsis "The Lean theorem prover and programming language") + (synopsis "Theorem prover and programming language") (description "Lean is a theorem prover and programming language with a small trusted core based on dependent typed theory, aiming to bridge the gap between diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 337f390fc1..c403181c77 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -564,7 +564,7 @@ devices.") (define-public hidapi (package (name "hidapi") - (version "0.10.0") + (version "0.10.1") (source (origin (method git-fetch) @@ -573,7 +573,7 @@ devices.") (commit (string-append "hidapi-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1n3xn1zvxgyzb84cjpw3i5alw0gkbrps11r4ijxzyqxqym0khagr")))) + (base32 "1nr4z4b10vpbh3ss525r7spz4i43zim2ba5qzfl15dgdxshxxivb")))) (build-system gnu-build-system) (inputs `(("libusb" ,libusb) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index 777485b9ea..afa542412f 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -2,6 +2,7 @@ ;;; ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,6 +50,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system qt) #:use-module (guix build-system glib-or-gtk) @@ -192,15 +194,16 @@ tracks in one file. ") (define-public bcg729 (package (name "bcg729") - (version "1.0.4") + (version "1.1.1") (source (origin - (method url-fetch) - (uri - (string-append "https://www.linphone.org/releases/sources/" name - "/" name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "git://git.linphone.org/bcg729.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "01y34ky7ykjgfnf8a9f59hg61fqfjiprfrzshdz06w0lz4gvy3qs")))) + (base32 "1hal6b3w6f8y5r1wa0xzj8sj2jjndypaxyw62q50p63garp2h739")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index ceeb96d8ae..9da4776d3d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1092,8 +1092,8 @@ and should be used with caution, especially on untested models.") (license license:gpl3+))) ; see README.md (no licence headers) (define-public rtl8812au-aircrack-ng-linux-module - (let ((commit "df2b8dfd8cb7d9f6cfeb55abaeab8a5372011fc9") - (revision "1")) + (let ((commit "e9fbf5c051453941bbc029810b893a6c010714e6") + (revision "2")) (package (name "rtl8812au-aircrack-ng-linux-module") (version (git-version "5.6.4.2" revision commit)) @@ -1105,7 +1105,7 @@ and should be used with caution, especially on untested models.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1qcr0j8yhg8l9l0f5y55zcsk1mgf3qd46yh9xfqgg91szxa3yvca")) + (base32 "0y71q7ajwz1w38gdmxd4p05hhkqndq504nndy6vfa16fxz6pqxhn")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 84b1f1c6d3..83b66a90c8 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -491,7 +491,7 @@ operating systems.") (define-public neomutt (package (name "neomutt") - (version "20200313") + (version "20201120") (source (origin (method git-fetch) @@ -500,7 +500,7 @@ operating systems.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1k4k07l6h5krc3fx928qvdq3ssw9fxn95aj7k885xlckd2i1lnb5")))) + (base32 "0z6xavgd0zv9pqvfsdyvhhi1q3y7zxhgg24isbnn9r6mldafqwna")))) (build-system gnu-build-system) (inputs `(("cyrus-sasl" ,cyrus-sasl) @@ -523,7 +523,19 @@ operating systems.") ("docbook-xsl" ,docbook-xsl) ("docbook-xml" ,docbook-xml-4.2) ("w3m" ,w3m) - ("tcl" ,tcl))) + ("tcl" ,tcl) + + ;; Test file data for the unit tests included in the neomutt source. + ("neomutt-test-files" + ,(let ((commit "8629adab700a75c54e8e28bf05ad092503a98f75")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/neomutt/neomutt-test-files") + (commit commit))) + (file-name (git-file-name "neomutt-test-files" commit)) + (sha256 + (base32 "1ci04nqkab9mh60zzm66sd6mhsr6lya8wp92njpbvafc86vvwdlr"))))))) (arguments `(#:test-target "test" #:configure-flags @@ -574,7 +586,14 @@ operating systems.") (setenv "CONFIG_SHELL" bash) (apply invoke bash (string-append (getcwd) "/configure") - flags))))))) + flags)))) + (add-before 'check 'prepare-test-files + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "neomutt-test-files") "tests") + (with-directory-excursion "tests" + (setenv "NEOMUTT_TEST_DIR" (getcwd)) ; must be absolute + (invoke "bash" "setup.sh") + #t)))))) (home-page "https://neomutt.org/") (synopsis "Command-line mail reader based on Mutt") (description @@ -3726,7 +3745,7 @@ PGP handling, multiple servers, and secure connections.") (define-public imapfilter (package (name "imapfilter") - (version "2.6.16") + (version "2.7.4") (source (origin (method git-fetch) @@ -3735,19 +3754,19 @@ PGP handling, multiple servers, and secure connections.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0f65sg6hhv6778fxwsz4hvarbm97dsb8jj0mg7a9qs273r35pqck")))) + (base32 "0nb0ysdp91r6dr3jgx24halbf4f56g4imx9112hkbz1abzgrmxs3")))) (build-system gnu-build-system) (arguments `(#:tests? #f #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "CC=gcc") + (string-append "CC=" ,(cc-for-target))) #:phases (modify-phases %standard-phases (delete 'configure)))) ; no configure script - (native-inputs + (inputs `(("lua" ,lua) - ("pcre" ,pcre) + ("pcre2" ,pcre2) ("openssl" ,openssl))) (home-page "https://github.com/lefcha/imapfilter") (synopsis "IMAP mail filtering utility") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 5dab00140c..c84e9463cd 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1260,15 +1260,15 @@ instant messenger with audio and video chat capabilities.") (define-public qtox (package (name "qtox") - (version "1.17.2") + (version "1.17.3") (source (origin - (method url-fetch/tarbomb) + (method url-fetch) (uri (string-append "https://github.com/qTox/qTox/releases" "/download/v" version "/v" version ".tar.gz")) (sha256 (base32 - "0fmr3a0apil3rl32247qv2pqslp3knpbj5vhprdq0ixsvifrlhmh")) + "11n7si9wdpf80iwkvbspp14dh5jrwm7hxkj8vqhn5pkc48c5bh9j")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 2ffe435109..2f75c39dd8 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -159,6 +159,123 @@ #:use-module (gnu packages lua) #:use-module ((srfi srfi-1) #:select (last))) +(define-public audacious + (package + (name "audacious") + (version "4.0.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://distfiles.audacious-media-player.org/" + "audacious-" version ".tar.bz2")) + (sha256 + (base32 "028zjgz0p7ys15lk2a30m5zcv9xrx3ga50wjsh4m4zxilgkakbji")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + #:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-after 'install 'unpack-plugins + (lambda* (#:key inputs #:allow-other-keys) + (let ((plugins (assoc-ref inputs "audacious-plugins"))) + (invoke "tar" "xvf" plugins) + #t))) + (add-after 'unpack-plugins 'configure-plugins + (lambda* (#:key configure-flags outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion + (string-append "audacious-plugins-" ,version) + (substitute* "configure" + (("/bin/sh") (which "sh"))) + (apply invoke "./configure" + (append configure-flags + ;; audacious-plugins requires audacious to build. + (list (string-append "PKG_CONFIG_PATH=" + out "/lib/pkgconfig:" + (getenv "PKG_CONFIG_PATH")) + (string-append "--prefix=" out)))))))) + (add-after 'configure-plugins 'build-plugins + (lambda _ + (with-directory-excursion + (string-append "audacious-plugins-" ,version) + (invoke "make" "-j" (number->string (parallel-job-count)))))) + (add-after 'build-plugins 'install-plugins + (lambda _ + (with-directory-excursion + (string-append "audacious-plugins-" ,version) + (invoke "make" "install"))))))) + (native-inputs + `(("audacious-plugins" + ,(origin + (method url-fetch) + (uri (string-append "https://distfiles.audacious-media-player.org/" + "audacious-plugins-" version ".tar.bz2")) + (sha256 + (base32 "0ny5w1agr9jaz5w3wyyxf1ygmzmd1sivaf97lcm4z4w6529520lz")))) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for gdbus-codegen + ("pkg-config" ,pkg-config))) + (inputs + `(("dbus" ,dbus) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ;; Plugin dependencies + ("alsa-lib" ,alsa-lib) + ("curl" ,curl) + ("faad2" ,faad2) + ("ffmpeg" ,ffmpeg) + ("flac" ,flac) + ("fluidsynth" ,fluidsynth) + ("lame" ,lame) + ("libbs2b" ,libbs2b) + ("libcddb" ,libcddb) + ("libcdio-paranoia" ,libcdio-paranoia) + ("libcue" ,libcue) + ("libmodplug" ,libmodplug) + ("libnotify" ,libnotify) + ("libogg" ,libogg) + ("libsamplerate" ,libsamplerate) + ("libsndfile" ,libsndfile) + ("libvorbis" ,libvorbis) + ("libxcomposite" ,libxcomposite) + ("libxml2" ,libxml2) + ("libxrender" ,libxrender) + ("lirc" ,lirc) + ("jack" ,jack-1) + ("mesa" ,mesa) + ("mpg123" ,mpg123) + ("neon" ,neon) + ("pulseaudio" ,pulseaudio) + ("sdl2" ,sdl2) + ("soxr" ,soxr) + ("wavpack" ,wavpack))) + (home-page "https://audacious-media-player.org") + (synopsis "Modular and skinnable audio player") + (description + "Audacious is an audio player descended from XMMS. Drag and drop +folders and individual song files, search for artists and albums in +your entire music library, or create and edit your own custom +playlists. Listen to CD’s or stream music from the Internet. Tweak +the sound with the graphical equalizer or experiment with LADSPA +effects. Enjoy the modern GTK-themed interface or change things up +with Winamp Classic skins. Use the plugins included with Audacious to +fetch lyrics for your music, to set an alarm in the morning, and +more.") + ;; According to COPYING, Audacious and its plugins are licensed + ;; under the BSD 2-clause license and libguess is licensed under + ;; the BSD 3-clause license. + (license (list license:bsd-2 + license:bsd-3 + ;; Plugin licenses that aren't BSD 2- or 3-clause. + license:lgpl2.1 + license:gpl2 + license:gpl3 + license:expat + license:isc + license:lgpl2.0)))) + (define-public aria-maestosa (package (name "aria-maestosa") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 6fd789ef53..ad0b41e843 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -131,8 +131,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.2.0") - (commit "bd96e6d34e4e65dc37eaae7302033d0da287c1e2") - (revision 1)) + (commit "2c11cf1b91b07ed8c00b5525ab6a75e81f5cc289") + (revision 2)) (package (name "guix") @@ -148,7 +148,7 @@ (commit commit))) (sha256 (base32 - "0j27yw6s89rni39dmjdz3i617ddr2yi5y5hj0i2a7sw8fn215hp4")) + "0w9yrky8qx6zwh97aq6z07mxpjixxg5pp7lzw1r72j3qg3rircj2")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1015,8 +1015,8 @@ environments.") (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) (define-public guix-build-coordinator - (let ((commit "98f50831612b9d1253ae8ca2bceb547fed373f41") - (revision "5")) + (let ((commit "16f5ee0119fa0febf8b5f90926659ef990dacfa8") + (revision "6")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1027,7 +1027,7 @@ environments.") (commit commit))) (sha256 (base32 - "08xwb5phh14cxgwv4fxcd2hhpjgqxfknm9zkx9qp26zb56w2xzkz")) + "0j6iqibhixpaf5cv18ccb9v5a08hy73kw1dcbhyz4yb906x1f38v")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/patches/openssh-fix-ssh-copy-id.patch b/gnu/packages/patches/openssh-fix-ssh-copy-id.patch new file mode 100644 index 0000000000..6adba639a3 --- /dev/null +++ b/gnu/packages/patches/openssh-fix-ssh-copy-id.patch @@ -0,0 +1,38 @@ +Fix a bug where ssh-copy-id would fail with "EOF: command not found": + +https://github.com/openssh/openssh-portable/pull/206 + +Patch copied from upstream source repository: + +https://github.com/openssh/openssh-portable/commit/d9e727dcc04a52caaac87543ea1d230e9e6b5604 + +From d9e727dcc04a52caaac87543ea1d230e9e6b5604 Mon Sep 17 00:00:00 2001 +From: Oleg <Fallmay@users.noreply.github.com> +Date: Thu, 1 Oct 2020 12:09:08 +0300 +Subject: [PATCH] Fix `EOF: command not found` error in ssh-copy-id + +--- + contrib/ssh-copy-id | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/contrib/ssh-copy-id b/contrib/ssh-copy-id +index 392f64f94..a76907717 100644 +--- a/contrib/ssh-copy-id ++++ b/contrib/ssh-copy-id +@@ -247,7 +247,7 @@ installkeys_sh() { + # the -z `tail ...` checks for a trailing newline. The echo adds one if was missing + # the cat adds the keys we're getting via STDIN + # and if available restorecon is used to restore the SELinux context +- INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF) ++ INSTALLKEYS_SH=$(tr '\t\n' ' ' <<-EOF + cd; + umask 077; + mkdir -p $(dirname "${AUTH_KEY_FILE}") && +@@ -258,6 +258,7 @@ installkeys_sh() { + restorecon -F .ssh ${AUTH_KEY_FILE}; + fi + EOF ++ ) + + # to defend against quirky remote shells: use 'exec sh -c' to get POSIX; + printf "exec sh -c '%s'" "${INSTALLKEYS_SH}" diff --git a/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch deleted file mode 100644 index 6cdddefd50..0000000000 --- a/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch +++ /dev/null @@ -1,34 +0,0 @@ -Do not fail test on runtime warning like: RuntimeWarning: coroutine 'noop2' was -never awaited. This could be related to -https://github.com/aio-libs/aiohttp/commit/60f01cca36b9f9d8d35dd351384eaae2f8fd0d4b, -which does not fix this issue though. - ---- a/aiohttp/pytest_plugin.py 2019-10-09 18:52:31.000000000 +0200 -+++ b/aiohttp/pytest_plugin.py 2020-03-05 08:35:48.230396025 +0100 -@@ -120,15 +120,6 @@ - """ - with warnings.catch_warnings(record=True) as _warnings: - yield -- rw = ['{w.filename}:{w.lineno}:{w.message}'.format(w=w) -- for w in _warnings # type: ignore -- if w.category == RuntimeWarning] -- if rw: -- raise RuntimeError('{} Runtime Warning{},\n{}'.format( -- len(rw), -- '' if len(rw) == 1 else 's', -- '\n'.join(rw) -- )) - - - @contextlib.contextmanager ---- a/tests/test_pytest_plugin.py 2020-03-05 09:26:58.502284893 +0100 -+++ a/tests/test_pytest_plugin.py 2020-03-05 09:27:06.074284619 +0100 -@@ -170,7 +170,7 @@ - expected_outcomes = ( - {'failed': 0, 'passed': 2} - if IS_PYPY and bool(os.environ.get('PYTHONASYNCIODEBUG')) -- else {'failed': 1, 'passed': 1} -+ else {'failed': 0, 'passed': 2} - ) - """Under PyPy "coroutine 'foobar' was never awaited" does not happen.""" - result.assert_outcomes(**expected_outcomes) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 7abe561e0e..5a56b59548 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -60,7 +60,7 @@ (define-public php (package (name "php") - (version "7.4.12") + (version "7.4.13") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -68,7 +68,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0xkbx7ykjlkv8p1an342am4j0d633dbf5x1ggmmmy985mp72nbg8")) + "1x402vsg3zq8mbar2fwln85vmvdvmrxm8q4ma8333hms78z31bdf")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 730b247414..6b2da5f925 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -136,14 +136,14 @@ the LZ4 frame format.") (define-public python-brotli (package (name "python-brotli") - (version "1.0.7") + (version "1.0.9") (source (origin (method url-fetch) (uri (pypi-uri "Brotli" version ".zip")) (sha256 (base32 - "19x5dqxckb62n37mpnczp21rfxqvgpm0ki5ds8ac65zx8hbxqf05")))) + "0f4433s4wv9masc303kkb1s0a09x81xwr8pdvj0kyxzdl05826sd")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip))) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index dfc5d1dcf3..c0ed57e481 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -92,14 +92,13 @@ (define-public python-aiohttp (package (name "python-aiohttp") - (version "3.6.3") + (version "3.7.3") (source (origin (method url-fetch) (uri (pypi-uri "aiohttp" version)) (sha256 - (base32 "0i9n7h8n06m2d8ryqyk4fv1si1m44ibq7blbfaxq46vx7jydg339")) - (patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch")))) + (base32 "1i3p4yrfgrf1zpbgnywqmb33ps4k51wylcxykhf2cwky0spq26lw")))) (build-system python-build-system) (arguments '(#:phases @@ -112,33 +111,41 @@ " @pytest.mark.xfail\n async def test_feed_eof_no_err_brotli")) ;; make sure the timestamp of this file is > 1990, because a few ;; tests like test_static_file_if_modified_since_past_date depend on it - (invoke "touch" "-d" "2020-01-01" "tests/data.unknown_mime_type") - - ;; FIXME: These tests are failing due to deprecation warnings - ;; in Python 3.8. Remove this when updating to aiohttp >= 3.7. - ;; https://github.com/aio-libs/aiohttp/issues/4477 - ;; https://github.com/aio-libs/aiohttp/issues/4525 - (with-directory-excursion "tests" - (for-each delete-file '("test_client_session.py" - "test_multipart.py" - "test_web_middleware.py" - "test_web_protocol.py" - "test_web_urldispatcher.py"))) - #t))))) + (let ((late-90s (* 60 60 24 365 30))) + (utime "tests/data.unknown_mime_type" late-90s late-90s)) + + ;; Disable test that attempts to access httpbin.org. + (substitute* "tests/test_formdata.py" + (("async def test_mark_formdata_as_processed.*" all) + (string-append "@pytest.mark.xfail\n" all))) + + ;; Don't test the aiohttp pytest plugin to avoid a dependency loop. + (delete-file "tests/test_pytest_plugin.py") + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (setenv "PYTHONPATH" + (string-append ".:" (getenv "PYTHONPATH"))) + (if tests? + (invoke "pytest" "-vv" + ;; Disable loading the aiohttp coverage plugin + ;; to avoid a circular dependency (code coverage + ;; is not very interesting to us anyway). + "-o" "addopts=''") + (format #t "test suite not run~%"))))))) (propagated-inputs `(("python-aiodns" ,python-aiodns) ("python-async-timeout" ,python-async-timeout) - ("python-attrs" ,python-attrs) + ("python-attrs" ,python-attrs) ;note: remove for > 3.7 ("python-chardet" ,python-chardet) ("python-idna-ssl" ,python-idna-ssl) ("python-multidict" ,python-multidict) + ("python-typing-extensions" ,python-typing-extensions) ("python-yarl" ,python-yarl))) (native-inputs - `(("python-pytest-runner" ,python-pytest-runner) - ("python-pytest-xdit" ,python-pytest-xdist) - ("python-pytest-timeout" ,python-pytest-timeout) - ("python-pytest-forked" ,python-pytest-forked) + `(("python-pytest" ,python-pytest) ("python-pytest-mock" ,python-pytest-mock) + ("python-re-assert" ,python-re-assert) ("gunicorn" ,gunicorn-bootstrap) ("python-freezegun" ,python-freezegun) ("python-async-generator" ,python-async-generator))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 8db1f761af..266bf8b871 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4020,19 +4020,19 @@ Language (TOML) configuration files.") (define-public python-jsonrpc-server (package (name "python-jsonrpc-server") - (version "0.3.4") + (version "0.4.0") (source (origin (method url-fetch) (uri (pypi-uri "python-jsonrpc-server" version)) (sha256 (base32 - "0dzya99nbi4mw7q85vmyw1wfgbx5dpmysnvm0bwx5m4xbi4zafy7")))) + "1585ybn3djvx5r5zbxkzlhz2wb1d47y4wrfwaxdyq0gi87jl7ib2")))) (build-system python-build-system) (propagated-inputs `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest) - ("python-ujson" ,python-ujson-1))) + ("python-ujson" ,python-ujson))) (home-page "https://github.com/palantir/python-jsonrpc-server") (synopsis "JSON RPC 2.0 server library") @@ -4103,28 +4103,39 @@ Server (PLS).") (define-public python-language-server (package (name "python-language-server") - (version "0.34.1") + (version "0.36.1") (source (origin (method url-fetch) (uri (pypi-uri "python-language-server" version)) (sha256 (base32 - "0gfjjlj7yg2nf8wkbrshwaljkwlqja4n7s1x949f495anmkg8vxr")))) + "0ljzc50z5v08is8fis1fg2dk9sb6275jlvzxb6nij0w6ys772pf8")))) (build-system python-build-system) (propagated-inputs - `(("python-pluggy" ,python-pluggy) - ("python-jsonrpc-server" ,python-jsonrpc-server) - ("python-jedi" ,python-jedi) - ("python-yapf" ,python-yapf) - ("python-pyflakes" ,python-pyflakes) + `(("python-autopep8" ,python-autopep8) + ("python-configparser" ,python-configparser) ("python-pydocstyle" ,python-pydocstyle) + ("python-future" ,python-future) + ("python-jedi" ,python-jedi) + ("python-jsonrpc-server" ,python-jsonrpc-server) + ("python-pluggy" ,python-pluggy) ("python-pycodestyle" ,python-pycodestyle) - ("python-mccabe" ,python-mccabe) + ("python-pyflakes" ,python-pyflakes) ("python-rope" ,python-rope) - ("python-autopep8" ,python-autopep8) - ("python-flake8" ,python-flake8) - ("python-pylint" ,python-pylint))) + ("python-ujson" ,python-ujson) + ("python-yapf" ,python-yapf))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-flaky" ,python-flaky) + ("python-matplotlib" ,python-matplotlib) + ("python-mock" ,python-mock) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-pylint" ,python-pylint) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-versioneer" ,python-versioneer))) (home-page "https://github.com/palantir/python-language-server") (synopsis "Python implementation of the Language Server Protocol") (description @@ -5903,6 +5914,28 @@ a front-end for C compilers or analysis tools.") (define-public python2-pycparser (package-with-python2 python-pycparser)) +(define-public python-xlsxwriter + (package + (name "python-xlsxwriter") + (version "1.3.7") + (source + (origin + ;; There are no tests in the PyPI tarball. + (method git-fetch) + (uri (git-reference + (url "https://github.com/jmcnamara/XlsxWriter") + (commit (string-append "RELEASE_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qg40r2mwrqfmhaxnary1cfgi0dwwazp5qga7c9p2cdji2v0x5rm")))) + (build-system python-build-system) + (home-page "https://github.com/jmcnamara/XlsxWriter") + (synopsis "Python module for creating Excel XLSX files") + (description + "XlsxWriter is a Python module that can be used to write text, numbers, +formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.") + (license license:bsd-2))) + (define-public python-pywavelets (package (name "python-pywavelets") @@ -20592,14 +20625,14 @@ register custom encoders and decoders.") (define-public python-ujson (package (name "python-ujson") - (version "2.0.3") + (version "4.0.1") (source (origin (method url-fetch) (uri (pypi-uri "ujson" version)) (sha256 (base32 - "18z9gb9ggy1r464b9q1gqs078mqgrkj6dys5a47529rqk3yfybdx")) + "1lr9lbm76y3ah1463jggwg2hjcb709mpns5f752wxxbgnd0n5kr6")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "deps") #t)))) @@ -20633,28 +20666,6 @@ register custom encoders and decoders.") bindings for Python 3.") (license license:bsd-3))) -(define-public python-ujson-1 - (package - (inherit python-ujson) - (version "1.35") - (source - (origin - (method url-fetch) - (uri (pypi-uri "ujson" version)) - (sha256 - (base32 - "11jz5wi7mbgqcsz52iqhpyykiaasila4lq8cmc2d54bfa3jp6q7n")))) - (arguments - '(#:phases %standard-phases)) - (native-inputs '()) - (home-page "http://www.esn.me") - (description - "UltraJSON is an ultra fast JSON encoder and decoder written in pure C with -bindings for Python 2.5+ and 3."))) - -(define-public python2-ujson-1 - (package-with-python2 python-ujson-1)) - (define-public python-iocapture ;; The latest release is more than a year older than this commit. (let ((commit "fdc021c431d0840303908dfc3ca8769db383595c") @@ -22178,13 +22189,13 @@ dictionaries.") (define-public pyzo (package (name "pyzo") - (version "4.11.0") + (version "4.11.2") (source (origin (method url-fetch) (uri (pypi-uri "pyzo" version)) (sha256 - (base32 "0vzsk6rchavlvy7ciq1z9qh3qrj9q213v2nn491fgjq3g19glj53")))) + (base32 "1jk5f79lj09vnsdk9h01w21p9h49z2hhf8xhkx8471pjbg9vrlzr")))) (build-system python-build-system) (arguments `(#:phases @@ -23055,3 +23066,26 @@ applications with variable CPU loads).") (define-public python2-djvulibre (package-with-python2 python-djvulibre)) + +(define-public python-versioneer + (package + (name "python-versioneer") + (version "0.19") + (source + (origin + (method url-fetch) + (uri (pypi-uri "versioneer" version)) + (sha256 + (base32 + "1bmg8y78am371rd9b4clf11b8g1h7xvq8q58z03jvgdwpsdx7zm4")))) + (build-system python-build-system) + (home-page + "https://github.com/python-versioneer/python-versioneer") + (synopsis + "Version-string management for VCS-controlled trees") + (description + "@code{versioneer} is a tool for managing a recorded version number in +distutils-based python projects. The goal is to remove the tedious and +error-prone \"update the embedded version string\" step from your release +process.") + (license license:public-domain))) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index e00fb32d53..06e5620cd3 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -275,7 +275,7 @@ website for more information about Yubico and the YubiKey.") (define-public opensc (package (name "opensc") - (version "0.20.0") + (version "0.21.0") (source (origin (method url-fetch) (uri (string-append @@ -283,7 +283,7 @@ website for more information about Yubico and the YubiKey.") version "/opensc-" version ".tar.gz")) (sha256 (base32 - "0qs8pabkrpj1z52bkdsk59s2z6q5m0hfh9d5j1f68qs4lksb9x5v")))) + "0pijycjwpll9zn83dazgsh8n9ywq0z1ragjsd1sqv3abrcfvpyrb")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index a5f934854b..5b3ae21e0d 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -814,14 +814,14 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.8.4") + (version "0.8.5") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "1gcpf5l6bdjw150ds3j2iws739khxylmz67fx7k1rjfpfij2004l")))) + (base32 "02pw7x76jzfmk8fqs1k0pz7vwnkal458p93j4if0w0hg36xyx1j2")))) (build-system gnu-build-system) (arguments `(#:strip-binaries? #f ; strip breaks the binary diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index e5bcac33f2..7b363e6d2d 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -189,7 +189,8 @@ a server that supports the SSH-2 protocol.") (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" "openssh-" version ".tar.gz")) - (patches (search-patches "openssh-hurd.patch")) + (patches (search-patches "openssh-hurd.patch" + "openssh-fix-ssh-copy-id.patch")) (sha256 (base32 "091b3pxdlj47scxx6kkf4agkx8c8sdacdxx8m1dw1cby80pd40as")))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 44cf5f68b9..6dfdd9700b 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1191,7 +1191,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") (define-public libass (package (name "libass") - (version "0.14.0") + (version "0.15.0") (source (origin (method url-fetch) (uri (string-append @@ -1199,8 +1199,10 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") version "/libass-" version ".tar.xz")) (sha256 (base32 - "18iqznl4mabhj9ywfsz4kwvbsplcv1jjxq50nxssvbj8my1267w8")))) + "0cz8v6kh3f2j5rdjrra2z0h715fa16vjm7kambvqx9hak86262cz")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (native-inputs `(("pkg-config" ,pkg-config) ("nasm" ,nasm))) @@ -1208,8 +1210,7 @@ designed to encode video or images into an H.265 / HEVC encoded bitstream.") `(("freetype" ,freetype) ("fribidi" ,fribidi) ("fontconfig" ,fontconfig) - ("harfbuzz" ,harfbuzz) - ("enca" ,enca))) + ("harfbuzz" ,harfbuzz))) (home-page "https://github.com/libass/libass") (synopsis "Subtitle rendering library for the ASS/SSA format") (description "libass is a subtitle rendering library for the diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index dc2ca76a6c..039e642ce3 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1424,7 +1424,7 @@ used to validate and fix HTML data.") (define-public esbuild (package (name "esbuild") - (version "0.8.14") + (version "0.8.15") (source (origin (method git-fetch) @@ -1433,7 +1433,7 @@ used to validate and fix HTML data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hv6qgkdp5jhb3s3088xgahgddnivb6gc13gjsvjqz5clhscy81d")) + (base32 "1b8ibxx1imh7jaspi3b36kpmijc06viv49ms7fml20yc0br2qbwj")) (modules '((guix build utils))) (snippet '(begin diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 1b5be307be..0725fba54b 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -120,17 +120,28 @@ Perform the deployment specified by FILE.\n")) (info (G_ "deploying to ~a...~%") (machine-display-name machine)) - (guard (c ((message-condition? c) - (report-error (G_ "failed to deploy ~a: ~a~%") - (machine-display-name machine) - (condition-message c))) - ((deploy-error? c) - (when (deploy-error-should-roll-back c) - (info (G_ "rolling back ~a...~%") - (machine-display-name machine)) - (run-with-store store (roll-back-machine machine))) - (apply throw (deploy-error-captured-args c)))) - (run-with-store store (deploy-machine machine)) + (guard* (c + ;; On Guile 3.0, exceptions such as 'unbound-variable' are compound + ;; and include a '&message'. However, that message only contains + ;; the format string. Thus, special-case it here to avoid + ;; displaying a bare format string. + ((cond-expand + (guile-3 + ((exception-predicate &exception-with-kind-and-args) c)) + (else #f)) + (raise c)) + + ((message-condition? c) + (report-error (G_ "failed to deploy ~a: ~a~%") + (machine-display-name machine) + (condition-message c))) + ((deploy-error? c) + (when (deploy-error-should-roll-back c) + (info (G_ "rolling back ~a...~%") + (machine-display-name machine)) + (run-with-store store (roll-back-machine machine))) + (apply throw (deploy-error-captured-args c)))) + (run-with-store store (deploy-machine machine)) (info (G_ "successfully deployed ~a~%") (machine-display-name machine)))) diff --git a/guix/ui.scm b/guix/ui.scm index 4e686297e8..0c2c6a5e97 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -101,6 +101,7 @@ show-what-to-build show-what-to-build* show-manifest-transaction + guard* call-with-error-handling with-error-handling with-unbound-variable-handling |