diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b9217dfa53..7024c46bb5 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -322,7 +322,7 @@ engineers, musicians, soundtrack editors and composers.") (define-public audacity (package (name "audacity") - (version "2.2.2") + (version "2.3.2") (source (origin (method git-fetch) @@ -332,7 +332,7 @@ engineers, musicians, soundtrack editors and composers.") (file-name (git-file-name name version)) (sha256 (base32 - "10maxmjxbmjybj7n4m7a9bbm7g8xxw8f8vbsf7c9ih5j2gr15ihs")) + "08w96124vv8k4myd4vifq73ningq6404x889wvg2sk016kc4dfv1")) (patches (search-patches "audacity-build-with-system-portaudio.patch")) (modules '((guix build utils))) (snippet @@ -3375,14 +3375,14 @@ on the ALSA software PCM plugin.") (define-public snd (package (name "snd") - (version "19.3") + (version "19.5") (source (origin (method url-fetch) (uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/" "snd-" version ".tar.gz")) (sha256 (base32 - "16j3fqyw361wdsr1076f0p3va2y7wdzq1lvr4ijz1ajmbxdlc723")))) + "0sk6iyykwi2mm3f1g4r0iqbsrwk3zmyagp6jjqkh8njbq42cjr1y")))) (build-system glib-or-gtk-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8c140a1d24..9a30a0eaff 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -12550,7 +12550,7 @@ once. This package provides tools to perform Drop-seq analyses.") (define-public pigx-rnaseq (package (name "pigx-rnaseq") - (version "0.0.7") + (version "0.0.8") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/" @@ -12558,7 +12558,7 @@ once. This package provides tools to perform Drop-seq analyses.") "/pigx_rnaseq-" version ".tar.gz")) (sha256 (base32 - "013inbh22bjvwg2w0kx5i42k66w1zl4310ldip2ax6msgprs2ydj")))) + "19nhflzs6k5c7yhi7gkwggq237cjdd1s4b4qkj5x5fkwg0rhn33i")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; not supported diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 6bee8cb31a..dadd545287 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari ;;; Copyright © 2016 Lukas Gradl -;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016, 2017, 2019 Eric Bavier ;;; Copyright © 2017 Pierre Langlois @@ -330,14 +330,14 @@ no man page, refer to the home page for usage details.") (define-public tomb (package (name "tomb") - (version "2.5") + (version "2.6") (source (origin (method url-fetch) (uri (string-append "https://files.dyne.org/tomb/" "Tomb-" version ".tar.gz")) (sha256 (base32 - "12c6qldngaw520gvb02inzkhnxbl4k0dwmddrgnaf7xashy6j0wc")))) + "1sr3jcn96mciyn8xd0amd1jzamxxzpybakf8an7laf26gjim1dh2")))) (build-system gnu-build-system) (native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase (inputs @@ -356,7 +356,7 @@ no man page, refer to the home page for usage details.") ;; TODO: Build and install gtk and qt trays #:phases (modify-phases %standard-phases - (delete 'configure) ;no configuration to be done + (delete 'configure) ;no configuration to be done (add-after 'install 'i18n (lambda* (#:key make-flags #:allow-other-keys) (apply invoke "make" "-C" "extras/translations" diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c30a05bd82..d78025e0a9 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -433,6 +433,38 @@ these arguments. The prototypical use is for the command to call an external process, passing on the arguments as command line arguments.") (license license:gpl3+))) +(define-public emacs-minions + (package + (name "emacs-minions") + (version "0.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tarsius/minions.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q2y37zfxlbfvgdn70ikg3abp8vljna4ir9nyqlz1awmz5i1c43s")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/tarsius/minions") + (synopsis "Minor-mode menu for the mode line") + (description + "This package implements a menu that lists enabled minor-modes, as well +as commonly but not currently enabled minor-modes. It can be used to toggle +local and global minor-modes, to access mode-specific menus, and to get help +about modes. + +This menu is intended as a replacement for the incomplete yet wide list of +enabled minor-modes that is displayed in the mode line by default. To use the +menu like this, enable Minions mode. + +Alternatively the menu can be bound globally, for example: +@code{(global-set-key [S-down-mouse-3] 'minions-minor-modes-menu)}.") + (license license:gpl3+))) + (define-public emacs-treepy (package (name "emacs-treepy") diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 03a8285fc1..550354b650 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Adriano Peluso ;;; Copyright © 2018, 2019 Nicolas Goaziou ;;; Copyright © 2018 Arun Isaac +;;; Copyright © 2019 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) @@ -68,6 +70,7 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages upnp) + #:use-module (gnu packages version-control) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages gnuzilla)) @@ -428,49 +431,59 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (define-public monero ;; This package bundles easylogging++ and lmdb. - ;; The bundled easylogging++ is modified, and the changes will not be upstreamed. + ;; The bundled easylogging++ is modified, and the changes will not be + ;; upstreamed. ;; The devs deem the lmdb driver too critical a consenus component, to use ;; the system's dynamically linked library. (package (name "monero") - (version "0.12.3.0") + (version "0.14.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/monero-project/monero") - (commit (string-append "v" version)))) + (url "https://github.com/monero-project/monero.git") + (commit (string-append "v" version)) + (recursive? #t))) (file-name (git-file-name name version)) (patches (search-patches "monero-use-system-miniupnpc.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled dependencies. + (for-each + delete-file-recursively + '("external/miniupnp" "external/rapidjson" + "external/unbound")) + #t)) (sha256 (base32 - "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd")))) + "1asa197fad81jfv12qgaa7y7pdr1r1pda96m9pvivkh4v30cx0nh")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) - ("googletest" ,googletest) + ("git" ,git) ("graphviz" ,graphviz) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("qttools" ,qttools))) (inputs - `(("bind" ,isc-bind) - ("boost" ,boost) - ("zeromq" ,zeromq) + `(("boost" ,boost) ("cppzmq" ,cppzmq) ("expat" ,expat) - ("libsodium" ,libsodium) + ("hidapi" ,hidapi) ("libunwind" ,libunwind) - ("lmdb" ,lmdb) - ("miniupnpc" ,monero-miniupnpc) + ("libsodium" ,libsodium) + ("miniupnpc" ,miniupnpc) ("openssl" ,openssl) ("rapidjson" ,rapidjson) - ("unbound" ,unbound))) + ("readline" ,readline) + ("unbound" ,unbound) + ("xz" ,xz) + ("zeromq" ,zeromq))) (arguments `(#:out-of-source? #t - #:build-type "release" - #:configure-flags '("-DBUILD_TESTS=ON" - ,@(if (string=? "aarch64-linux" (%current-system)) - '("-DARCH=armv8-a") - '()) + #:configure-flags '("-DARCH=default" + "-DBUILD_TESTS=ON" "-DBUILD_GUI_DEPS=ON") #:phases (modify-phases %standard-phases @@ -479,24 +492,18 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (lambda _ (setenv "HOME" (getcwd)) #t)) - (add-after 'set-home 'fix-wallet-path-for-unit-tests - (lambda _ - (substitute* "tests/unit_tests/serialization.cpp" - (("\\.\\./\\.\\./\\.\\./\\.\\./") "../../")) - #t)) - (add-after 'fix-wallet-path-for-unit-tests 'change-log-path + (add-after 'set-home 'change-log-path (lambda _ (substitute* "contrib/epee/src/mlog.cpp" (("epee::string_tools::get_current_module_folder\\(\\)") - "\".bitmonero\"")) - (substitute* "contrib/epee/src/mlog.cpp" - (("return \\(") "return ((std::string(getenv(\"HOME\"))) / ")) + "\".bitmonero\"") + (("return \\(") + "return ((std::string(getenv(\"HOME\"))) / ")) #t)) + ;; Only try tests that don't need access to network or system (replace 'check (lambda _ - (invoke "make" "ARGS=-E 'unit_tests|libwallet_api_tests'" - "test"))) - ;; The excluded unit tests need network access + (invoke "make" "ARGS=-R 'hash|core_tests'" "test"))) (add-after 'check 'unit-tests (lambda _ (let ((excluded-unit-tests @@ -506,58 +513,69 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch "DNSResolver.IPv4Success" "DNSResolver.DNSSECSuccess" "DNSResolver.DNSSECFailure" - "DNSResolver.GetTXTRecord") + "DNSResolver.GetTXTRecord" + ;; TODO: Find why portability_wallet test fails + ;; Maybe the Boost version used to create the test + ;; wallet and the current Boost version are not + ;; completely compatible? + "Serialization.portability_wallet" + "is_hdd.linux_os_root") ":"))) (invoke "tests/unit_tests/unit_tests" (string-append "--gtest_filter=-" - excluded-unit-tests))))) - (add-after 'install 'install-blockchain-import-export - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (install-file "bin/monero-blockchain-import" bin) - (install-file "bin/monero-blockchain-export" bin))))))) + excluded-unit-tests)))))))) (home-page "https://getmonero.org/") (synopsis "Command-line interface to the Monero currency") (description - "Monero is a secure, private, untraceable currency. This package provides the -Monero command line client and daemon.") + "Monero is a secure, private, untraceable currency. This package provides +the Monero command line client and daemon.") (license license:bsd-3))) (define-public monero-gui (package (name "monero-gui") - (version "0.12.2.0") + (version "0.14.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/monero-project/monero-gui") + (url "https://github.com/monero-project/monero-gui.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl")))) + "0ilx47771faygf97wilm64xnqxgxa3b43q0g9v014npk0qj8pc31")))) (build-system gnu-build-system) (native-inputs - `(("doxygen" ,doxygen) - ("graphviz" ,graphviz) - ("pkg-config" ,pkg-config) + `(("pkg-config" ,pkg-config) ("qttools" ,qttools))) (inputs `(("boost" ,boost) + ("hidapi" ,hidapi) ("libunwind" ,libunwind) + ("libsodium" ,libsodium) ("openssl" ,openssl) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtlocation" ,qtlocation) + ("qtmultimedia" ,qtmultimedia) ("qtquickcontrols" ,qtquickcontrols) - ("readline" ,readline) + ("qtquickcontrols2",qtquickcontrols2) + ("qtsvg" ,qtsvg) + ("qtwebchannel" ,qtwebchannel) + ("qtx11extras" ,qtx11extras) + ("qtxmlpatterns" ,qtxmlpatterns) ("unbound" ,unbound))) (propagated-inputs `(("monero" ,monero))) (arguments - `(#:phases + `(#:modules ((guix build gnu-build-system) + (guix build qt-utils) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build qt-utils)) + #:phases (modify-phases %standard-phases (delete 'configure) (delete 'check) @@ -569,32 +587,45 @@ Monero command line client and daemon.") (add-after 'fix-makefile-vars 'fix-library-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "monero-wallet-gui.pro" - (("-L/usr/local/lib") "") + (("-L/usr/local/lib") + "") (("-L/usr/local/opt/openssl/lib") - (string-append "-L" - (assoc-ref inputs "openssl") - "/lib")) + (string-append "-L" (assoc-ref inputs "openssl") "/lib")) (("-L/usr/local/opt/boost/lib") - (string-append "-L" - (assoc-ref inputs "boost") - "/lib"))) + (string-append "-L" (assoc-ref inputs "boost") "/lib"))) #t)) (add-after 'fix-library-paths 'fix-monerod-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/daemon/DaemonManager.cpp" (("QApplication::applicationDirPath\\(\\) \\+ \"/monerod") - (string-append "\""(assoc-ref inputs "monero") + (string-append "\"" (assoc-ref inputs "monero") "/bin/monerod"))) #t)) (add-after 'fix-monerod-path 'fix-qt-paths (lambda* (#:key inputs #:allow-other-keys) - (let* ((qttools (assoc-ref inputs "qttools")) - (lrelease (string-append qttools "/bin/lrelease")) - (lupdate (string-append qttools "/bin/lupdate"))) - (substitute* "monero-wallet-gui.pro" - (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") lrelease) - (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") lupdate)) - #t))) + (substitute* "monero-wallet-gui.pro" + (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") + (string-append (assoc-ref inputs "qttools") "/bin/lrelease")) + (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") + (string-append (assoc-ref inputs "qttools") "/bin/lupdate"))) + #t)) + (add-after 'fix-qt-paths 'make-qt-deterministic + (lambda _ + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t)) + (add-after 'make-qt-deterministic 'fix-version + (lambda _ + (substitute* "build.sh" + (("echo .*> version.js") + "")) + (with-output-to-file "version.js" + (lambda _ + (format #t + "var GUI_VERSION = \"~a\"~@ + var GUI_MONERO_VERSION = \"~a\"~%" + ,version + ,(package-version monero)))) + #t)) (replace 'build (lambda _ (invoke "./build.sh"))) @@ -606,28 +637,18 @@ Monero command line client and daemon.") #t)) (add-before 'install 'change-dir (lambda _ - (chdir "build"))) - (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) + (chdir "build") + #t)) + (add-after 'install 'wrap-program + (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/monero-wallet-gui") - `("QT_PLUGIN_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/plugins")) - '("qtbase" "qtdeclarative"))) - `("QML2_IMPORT_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/qml")) - '("qtdeclarative" "qtgraphicaleffects" - "qtquickcontrols")))) - #t)))))) + (wrap-qt-program out "monero-wallet-gui")) + #t))))) (home-page "https://getmonero.org/") (synopsis "Graphical user interface for the Monero currency") (description - "Monero is a secure, private, untraceable currency. This package provides the -Monero GUI client.") + "Monero is a secure, private, untraceable currency. This package provides +the Monero GUI client.") (license license:bsd-3))) (define-public monero-core diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 7d2ff9a677..6db52e0be0 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -110,59 +110,73 @@ actions.") "See 'COPYING' in the distribution.")))) (define-public geeqie - (package - (name "geeqie") - (version "1.4") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/BestImageViewer/geeqie/" - "releases/download/v" version "/geeqie-" - version ".tar.xz")) - (sha256 - (base32 - "0ciygvcxb78pqg59r6p061mkbpvkgv2rv3r79j3kgv3kalb3ln2w")))) - (build-system gnu-build-system) - (arguments - `(;; Enable support for a "map" pane using GPS data. - #:configure-flags '("--enable-map") + ;; The latest release, 1.4, fails to build with Exiv2 0.27.1. The upstream + ;; repo has several fixes for that, so take a snapshot. + (let ((commit "c220ddefb1b6b11b54f7598f0d44dd0723325ed4") + (revision "1")) + (package + (name "geeqie") + (version (git-version "1.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BestImageViewer/geeqie") + (commit commit))) + (sha256 + (base32 + "07424nzrnwbksgalgg1a6ig2snd986w79kca1cfnv1q9kc7x2h3x")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `( ;; Enable support for a "map" pane using GPS data. + #:configure-flags '("--enable-map") - #:phases - (modify-phases %standard-phases - (add-before 'bootstrap 'pre-bootstrap - (lambda _ - (define (write-dummy-changelog port) - (display "See Git history for a change log.\n" port)) - ;; Create ChangeLog{,.html} to placate the makefile, which would - ;; otherwise require access to the Git repo. - (call-with-output-file "ChangeLog" - write-dummy-changelog) - (call-with-output-file "ChangeLog.html" - write-dummy-changelog) - (setenv "NOCONFIGURE" "true") - #t))))) - (inputs - `(("clutter" ,clutter) - ("libchamplain" ,libchamplain) - ("lcms" ,lcms) - ("exiv2" ,exiv2) - ("libpng" ,libpng) - ("gtk+" ,gtk+))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("glib" ,glib "bin") ; glib-gettextize - ("intltool" ,intltool) - ("pkg-config" ,pkg-config))) - (home-page "http://www.geeqie.org/") - (synopsis "Lightweight GTK+ based image viewer") - (description - "Geeqie is a lightweight GTK+ based image viewer for Unix like operating + #:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'pre-bootstrap + (lambda _ + (define (write-dummy-changelog port) + (display "See Git history for a change log.\n" port)) + ;; Create ChangeLog{,.html} to placate the makefile, which would + ;; otherwise require access to the Git repo. + (call-with-output-file "ChangeLog" + write-dummy-changelog) + (call-with-output-file "ChangeLog.html" + write-dummy-changelog) + (setenv "NOCONFIGURE" "true") + + ;; Don't try to run 'git' for the version number. + (substitute* "configure.ac" + (("m4_esyscmd_s\\([^)]+\\)") + (string-append "[" ,version "]"))) + + ;; Remove references to non-existent files. + (substitute* "po/POTFILES.in" + (("^plugins/import/.*") "")) + #t))))) + (inputs + `(("clutter" ,clutter) + ("libchamplain" ,libchamplain) + ("lcms" ,lcms) + ("exiv2" ,exiv2) + ("libpng" ,libpng) + ("gtk+" ,gtk+))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib" ,glib "bin") ; glib-gettextize + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (home-page "http://www.geeqie.org/") + (synopsis "Lightweight GTK+ based image viewer") + (description + "Geeqie is a lightweight GTK+ based image viewer for Unix like operating systems. It features: EXIF, IPTC and XMP metadata browsing and editing interoperability; easy integration with other software; geeqie works on files and directories, there is no need to import images; fast preview for many raw image formats; tools for image comparison, sorting and managing photo collection. Geeqie was initially based on GQview.") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public gpicview (package diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 3cc9396d57..39fcf61a12 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -170,7 +170,7 @@ script.") (define-public graphicsmagick (package (name "graphicsmagick") - (version "1.3.31") + (version "1.3.32") (source (origin (method url-fetch) @@ -182,7 +182,8 @@ script.") "GraphicsMagick/" (version-major+minor version) "/GraphicsMagick-" version ".tar.xz"))) (sha256 - (base32 "0y22740f25qxsqqqg26xqlfp920dm57b7hrgaqmx7azksrcvnsq9")))) + (base32 + "1qclp9i31idpcbbqswmnq2q11lmv0a7cvdb1y72xcky8sshaahmq")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 851bea05bf..622f1253d8 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -127,7 +127,7 @@ irssi, but graphical.") (define-public irssi (package (name "irssi") - (version "1.1.2") + (version "1.1.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/irssi/irssi/" @@ -135,7 +135,7 @@ irssi, but graphical.") version ".tar.xz")) (sha256 (base32 - "0clppwqhllrmqjg1dd47v9v1qiqx7cf9afm81bm1pscllf4jpk2w")))) + "0jq8zjdhdjxkjbfl4g4nfr1ninyfxffa27lm8vcyrihhhkrn65yf")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9696364d83..3da3fd9910 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -421,8 +421,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "5.1.15") -(define %linux-libre-hash "1f0hhyjsm4bl7k7w88aifvhmqmjkvkvlpd2b69y7s6csr22fk6v4") +(define %linux-libre-version "5.1.16") +(define %linux-libre-hash "055vs2g6z6wx34qvi0aw952x9q3drbj7z27s7g7pks6w730xkga8") (define %linux-libre-5.1-patches (list %boot-logo-patch @@ -439,8 +439,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-version %linux-libre-hash)) -(define %linux-libre-4.19-version "4.19.56") -(define %linux-libre-4.19-hash "1zqiic55viy065lhnkmhn33sz3bbbr2ykbm5f92yzd8lpc9zl7yx") +(define %linux-libre-4.19-version "4.19.57") +(define %linux-libre-4.19-hash "0p9b27hfbzppxgad9q2g7nvfzv0phzdsk16sqy87q3dglc8wqrqq") (define %linux-libre-4.19-patches (list %boot-logo-patch @@ -457,8 +457,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-4.19-version %linux-libre-4.19-hash)) -(define %linux-libre-4.14-version "4.14.131") -(define %linux-libre-4.14-hash "1qcf4cg83zpjirkj8l09y07x4zzskypngampvfw7zyazynwwgs1i") +(define %linux-libre-4.14-version "4.14.132") +(define %linux-libre-4.14-hash "0mvp4izw21f8w5kkk8qm8m8b7qjxbp8hshgffdlh1aik41zvcnyq") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 37e375d356..8250340467 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6035,3 +6035,60 @@ cookie headers, cookie creation, cookie jar creation and more.") (description "cl-cookie is a Common Lisp library featuring parsing of cookie headers, cookie creation, cookie jar creation and more.") (license license:bsd-2)))) + +(define-public sbcl-dexador + (let ((commit "a2714d126cc94bc7a9a6e1e3c08de455b3a66378") + (revision "1")) + (package + (name "sbcl-dexador") + (build-system asdf-build-system/sbcl) + (version (git-version "0.9.10" revision commit)) + (home-page "https://github.com/fukamachi/dexador") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nbqgn4v3l2z6m1k1bdxfnqpfrk84nxdmz7csz11zzcfs4flkv79")))) + (inputs + `(("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("babel" ,sbcl-babel) + ("usocket" ,sbcl-usocket) + ("fast-http" ,sbcl-fast-http) + ("quri" ,sbcl-quri) + ("fast-io" ,sbcl-fast-io) + ("chunga" ,sbcl-chunga) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-cookie" ,sbcl-cl-cookie) + ("trivial-mimes" ,sbcl-trivial-mimes) + ("chipz" ,sbcl-chipz) + ("cl-base64" ,sbcl-cl-base64) + ("cl-reexport" ,sbcl-cl-reexport) + ("cl+ssl" ,sbcl-cl+ssl) + ("bordeaux-threads" ,sbcl-bordeaux-threads) + ("alexandria" ,sbcl-alexandria))) + (native-inputs + `(("prove" ,sbcl-prove) + ("prove-asdf" ,sbcl-prove-asdf) + ("lack-request" ,sbcl-lack-request) + ("clack" ,sbcl-clack) + ("babel" ,sbcl-babel) + ("alexandria" ,sbcl-alexandria) + ("quri" ,sbcl-quri) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("local-time" ,sbcl-local-time))) + (arguments + ;; TODO: Circular dependency: tests depend on clack-test which depends on dexador. + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-permissions + (lambda _ (make-file-writable "t/data/test.gz") #t))))) + (synopsis "Yet another HTTP client for Common Lisp") + (description "Dexador is yet another HTTP client for Common Lisp with +neat APIs and connection-pooling. It is meant to supersede Drakma.") + (license license:expat)))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1694b7c6b1..6ab0f9358e 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2526,20 +2526,23 @@ operators and scripters.") (define-public alpine (package (name "alpine") - (version "2.21.9999") + ;; Upstream doesn't use git tags, but does ‘tag’ their releases in the + ;; commit message. Hence the lack of GIT-VERSIONing despite using a commit + ;; ID below. Don't forget to update it… + (version "2.21.99999") (source (origin - (method url-fetch) + (method git-fetch) ;; There are two versions: the plain continuation of Alpine without extra ;; patches and the version which adds extra fixes. Every distro uses ;; the patched version, and so do we to not break expectations. ;; http://alpine.freeiz.com/alpine/readme/README.patches - (uri (string-append "http://repo.or.cz/alpine.git/snapshot/" - "d3e6f3932f2af9deca8eed09e30a55e9bd524362.tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (git-reference + (url "http://repo.or.cz/alpine.git") + (commit "abeb2c25935ef8c75f1e5deef0f81276754dc975"))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0w4qyybfdxi29r2z3giq0by6aa6v6nrgibh1xgv4d1vwwq4hw35w")))) + (base32 "0rqgbw08a5lj41dkp82aq480lqkc4bnxagna7wpqffi821n8gkwz")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "CC=gcc") @@ -2555,7 +2558,8 @@ operators and scripters.") "/lib") (string-append "--with-interactive-spellcheck=" (assoc-ref %build-inputs "aspell") - "/bin/aspell")) + "/bin/aspell") + "--with-date-stamp=Thu 1 Jan 01:00:01 CET 1970") #:phases (modify-phases %standard-phases (add-after 'unpack 'make-reproducible @@ -2563,9 +2567,6 @@ operators and scripters.") ;; This removes time-dependent code to make alpine reproducible. (substitute* "pico/blddate.c" (("%02d-%s-%d") "1970-01-01")) - (substitute* (list "alpine/Makefile.in" - "web/src/alpined.d/Makefile.in") - (("`date`") "1970-01-01")) #t))))) (inputs `(("ncurses" ,ncurses) @@ -2577,7 +2578,7 @@ operators and scripters.") ("aspell" ,aspell) ("tcl" ,tcl) ("linux-pam" ,linux-pam))) - (home-page "http://repo.or.cz/alpine.git") + (home-page "https://repo.or.cz/alpine.git") (synopsis "Alternatively Licensed Program for Internet News and Email") (description "Alpine is a text-based mail and news client. Alpine includes several diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index f72256fe50..d65ac33416 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -90,7 +90,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.21.10") + (version "0.21.11") (source (origin (method url-fetch) (uri @@ -99,7 +99,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "0fx9n6qmyb4ls17j7kl58i1ivg9wfx9zm9wyfnwzw7lcwdl56sqk")))) + "1gbcg8icm0pp918jw1lx1j066m39zg9wyqjla328ic848j5zhbnk")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'... diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 08130d3c8e..66ef122354 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -4442,7 +4442,7 @@ discard bad quality ones. (define-public lpd8editor (package (name "lpd8editor") - (version "0.0.12") + (version "0.0.13") (source (origin (method git-fetch) (uri (git-reference @@ -4451,7 +4451,7 @@ discard bad quality ones. (file-name (git-file-name name version)) (sha256 (base32 - "1v3fz8h1zs7kkl80faah79pp6yqwz0j7bkv3dbmh2hp42zbfiz1q")))) + "0lsz3v493ilq2zr016m7kvymrplxd0n3pqv1pjglpq1h7sjw9764")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 10d04b1dbc..49024b26c4 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Amirouche Boubekki ;;; Copyright © 2018 Tim Gesthuizen +;;; Copyright © 2019 Jens Mølgaard ;;; ;;; This file is part of GNU Guix. ;;; @@ -562,6 +563,78 @@ one-time-password (OTP) secrets, generating OTP codes, and displaying secret key URIs using the standard otpauth:// scheme.") (license license:gpl3+))) +(define-public qtpass + (package + (name "qtpass") + (version "1.2.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/IJHack/QtPass.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vfhfyccrxq9snyvayqfzm5rqik8ny2gysyv7nipc91kvhq3bhky")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; lupdate/lrelease need to find qmake. + (setenv "QMAKE" "qmake") + ;; qmake needs to find lrelease/lupdate. + (invoke "qmake" + "QMAKE_LRELEASE=lrelease" + "QMAKE_LUPDATE=lupdate" + (string-append "PREFIX=" out))))) + (add-after 'configure 'reset-resource-timestamps + ;; Reset timestamps on localization files for a reproducible build. + (lambda _ + (with-directory-excursion "localization" + (for-each (lambda (file) + (let* ((base (basename file ".qm")) + (src (string-append base ".ts")) + (st (stat src))) + (set-file-time file st))) + (find-files "." ".*\\.qm"))) + #t)) + (add-after 'install 'install-auxilliary + ;; Install man-page, icon and .desktop file. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (applications (string-append out "/share/applications")) + (icons (string-append out "/share/icons/hicolor/scalable/apps")) + (man (string-append out "/share/man/man1"))) + (install-file "qtpass.desktop" applications) + (install-file "artwork/icon.svg" icons) + (rename-file (string-append icons "/icon.svg") + (string-append icons "/qtpass-icon.svg")) + (install-file "qtpass.1" man) + #t))) + (add-before 'check 'check-setup + ;; Make Qt render "offscreen", required for tests. + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen") + #t))))) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase) + ("qtsvg" ,qtsvg))) + (home-page "https://qtpass.org") + (synopsis "GUI for password manager password-store") + (description + "Qt-based graphical user interface for the password manager +password-store also known as pass. Can use either pass or gpg to interact +with password-store files. Features configurable password generation, +templates, clipboard handling, and per folder settings for multi-recipient +encryption.") + (license license:gpl3+))) + (define-public argon2 (package (name "argon2") diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch index 6bc825d121..c5d376d793 100644 --- a/gnu/packages/patches/monero-use-system-miniupnpc.patch +++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch @@ -1,111 +1,42 @@ -This reverts commit 1e20d705e7c64d2b17c031f345057d1e8850fafa, so that it's possible to use our own -miniupnpc, instead of a git submodule. ---- - CMakeLists.txt | 8 ++++++++ - external/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++---------- - src/p2p/net_node.inl | 13 ++++++++++--- - 3 files changed, 49 insertions(+), 13 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3b93988e..ef948885 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -430,6 +430,14 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations") - - add_subdirectory(external) - -+# Final setup for miniupnpc -+if(UPNP_STATIC OR IOS) -+ add_definitions("-DUPNP_STATIC") -+else() -+ add_definitions("-DUPNP_DYNAMIC") -+ include_directories(${UPNP_INCLUDE}) -+endif() -+ - # Final setup for libunbound - include_directories(${UNBOUND_INCLUDE}) - link_directories(${UNBOUND_LIBRARY_DIRS}) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt -index 1fc4d64c..b4f712ee 100644 +index 7553f87e..8e865c6c 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt -@@ -34,21 +34,42 @@ - # We always compile if we are building statically to reduce static dependency issues... - # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with - # others. -+if(NOT IOS) -+ find_package(Miniupnpc QUIET) -+endif() +@@ -37,19 +37,7 @@ --find_package(Miniupnpc REQUIRED) -+# If we have the correct shared version and we're not building static, use it -+if(STATIC OR IOS) -+ set(USE_SHARED_MINIUPNPC false) -+elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER) -+ set(USE_SHARED_MINIUPNPC true) -+endif() + find_package(Miniupnpc REQUIRED) -message(STATUS "Using in-tree miniupnpc") -+if(USE_SHARED_MINIUPNPC) -+ message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}") - -add_subdirectory(miniupnp/miniupnpc) -+ set(UPNP_STATIC false PARENT_SCOPE) -+ set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE) -+ set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) -+else() -+ if(STATIC) -+ message(STATUS "Using miniupnpc from local source tree for static build") -+ else() -+ message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)") -+ endif() - -set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") -if(MSVC) - set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") -elseif(NOT MSVC) - set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") -endif() -+ add_subdirectory(miniupnp/miniupnpc) -+ -+ set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") -+ if(MSVC) -+ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") -+ elseif(NOT MSVC) -+ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") -+ endif() - +-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD") +- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -D_NETBSD_SOURCE") +-endif() +- -set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) -+ set(UPNP_STATIC true PARENT_SCOPE) -+ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) -+endif() ++set(UPNP_LIBRARIES "miniupnpc" PARENT_SCOPE) find_package(Unbound) diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl -index 9b21705e..76340a22 100644 +index 74924e4f..3554dd0d 100644 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl -@@ -49,9 +49,16 @@ +@@ -49,9 +49,9 @@ #include "storages/levin_abstract_invoke2.h" #include "cryptonote_core/cryptonote_core.h" -#include -#include -#include -+// We have to look for miniupnpc headers in different places, dependent on if its compiled or external -+#ifdef UPNP_STATIC -+ #include -+ #include -+ #include -+#else -+ #include "miniupnpc.h" -+ #include "upnpcommands.h" -+ #include "upnperrors.h" -+#endif ++#include ++#include ++#include #undef MONERO_DEFAULT_LOG_CATEGORY #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p" --- -2.16.2 - diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 67e104d503..7e8de98814 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -3600,13 +3600,13 @@ color scales, and color space conversion easy. It has support for: (define-public python-pygit2 (package (name "python-pygit2") - (version "0.28.0") + (version "0.28.2") (source (origin (method url-fetch) (uri (pypi-uri "pygit2" version)) (sha256 - (base32 "0lngsaz029d4fjcwhl17pr59nh9gwl6hwfin36nph60fgsmfdg3d")))) + (base32 "11kzj5mjkspvplnpdb6bj8dcj6rgmkk986k8hjcklyg5yaxkz32d")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; tests don't run correctly in our environment diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 49e0b9fe73..481495bba0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2018 Vasile Dumitrascu ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2019 Pierre Neidhardt +;;; Copyright © 2019 Mikhail Kirillov ;;; ;;; This file is part of GNU Guix. ;;; @@ -1081,24 +1082,6 @@ code in Merb and Rails.") (home-page "https://github.com/jnunemaker/crack") (license license:expat))) -(define-public ruby-crass - (package - (name "ruby-crass") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "crass" version)) - (sha256 - (base32 - "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi")))) - (build-system ruby-build-system) - (synopsis "Pure Ruby CSS parser based on CSS Syntax Level 3") - (description - "Crass is a pure Ruby CSS parser based on the CSS Syntax Level 3 spec.") - (home-page "https://github.com/rgrove/crass/") - (license license:expat))) - (define-public ruby-cliver (package (name "ruby-cliver") @@ -8725,3 +8708,32 @@ app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server, then check out http://127.0.0.1:1080 to see the mail.") (home-page "https://mailcatcher.me") (license license:expat))) + +(define-public ruby-backport + (package + (name "ruby-backport") + (version "1.1.1") + (source + (origin + ;; The gem does not include test code, so fetch from the Git repository + (method git-fetch) + (uri (git-reference + (url "https://github.com/castwide/backport.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ii3y1wx1n48nd2mhlv0v61b2m21h7dg30if9vc2idza7k4afyw8")))) + (build-system ruby-build-system) + (arguments + `(#:test-target "spec")) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (inputs + `(("ruby-simplecov" ,ruby-simplecov))) + (synopsis "Pure Ruby library for event-driven IO") + (description + "This package provides a pure Ruby library for event-driven IO.") + (home-page "https://github.com/castwide/backport") + (license license:expat))) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 2b6d9f5b7e..995f7fab15 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1549,7 +1549,27 @@ YouTube.com and many more sites.") (string-append "os.path.join('" (assoc-ref %outputs "out") "', 'share'"))) - #t))))) + #t)) + (add-after 'install 'create-desktop-file + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (applications (string-append out "/share/applications"))) + (mkdir-p applications) + (call-with-output-file + (string-append applications "/youtube-dl-gui.desktop") + (lambda (file) + (format + file + "[Desktop Entry]~@ + Name=Youtube-dl GUI~@ + Comment=Graphical interface to download video with youtube-dl~@ + Exec=youtube-dl-gui~@ + TryExec=youtube-dl-gui~@ + Terminal=false~@ + Icon=youtube-dl-gui~@ + Type=Application~@ + Categories=AudioVideo;Audio;Video;Network~%"))) + #t)))))) (inputs `(("python2-wxpython" ,python2-wxpython) ("youtube-dl" ,youtube-dl))) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a35f124f46..a640a64d40 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -399,14 +399,14 @@ manage system or application containers.") (define-public libvirt (package (name "libvirt") - (version "5.4.0") + (version "5.5.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) (sha256 (base32 - "0ywf8m9yz2hxnic7fylzlmgy4m353r4vv5zsvp89zq5yh4h81yhw")))) + "1s1mzw4cmkcfivs1kphpgy4lpddx0w1qnjysr4ggk5558w4yy1i3")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -536,13 +536,15 @@ three libraries: (define-public python-libvirt (package (name "python-libvirt") - (version "5.3.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "libvirt-python" version)) - (sha256 - (base32 - "1zrhkz68ka4f08wwm36y3zzwfn1r65h4nw1nm9qgg8jmrfazj4sj")))) + (version "5.5.0") + (source + (origin + (method url-fetch) + ;; The latest version hosted on PyPI at 5.5.0 release time was 5.3.0. + (uri (string-append "https://libvirt.org/sources/python/libvirt-python-" + version ".tar.gz")) + (sha256 + (base32 "00x6idyw9xrrr21vrnsyw37q2sd8yh4n6pwh0l28hh9yp3nsy72n")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index fdcd4521e8..c7046b7f50 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -456,14 +456,14 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers (define-public wireguard (package (name "wireguard") - (version "0.0.20190601") + (version "0.0.20190702") (source (origin (method url-fetch) (uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/" "WireGuard-" version ".tar.xz")) (sha256 (base32 - "0s2mys78whsr0yw045a132iqx6nfy3c6hppiskbln5x04hc4ca3m")))) + "1b5s1ncwqxdgb0c6cd07x4ynnj6cpbiqp4bxqir7mm5bf6y124qs")))) (build-system gnu-build-system) (outputs '("out" ; The WireGuard userspace tools "kernel-patch")) ; A patch to build Linux with WireGuard support diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index a9b96529cf..35fa478c2d 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -379,7 +379,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.98") + (version "2.4.99") (source (origin (method url-fetch) @@ -389,7 +389,7 @@ rasterisation.") ".tar.bz2")) (sha256 (base32 - "150qdzsm2nx6dfacc75rx53anzsc6m31nhxidf5xxax3mk6fvq4b")) + "0pnsw4bmajzdbz8pk4wswdmw93shhympf2q9alhbnpfjgsf57gsd")) (patches (search-patches "libdrm-symbol-check.patch")))) (build-system meson-build-system) (arguments @@ -716,7 +716,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.") (define-public xlockmore (package (name "xlockmore") - (version "5.56") + (version "5.57") (source (origin (method url-fetch) (uri (list (string-append "http://sillycycle.com/xlock/" @@ -727,7 +727,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.") name "-" version ".tar.xz"))) (sha256 (base32 - "1dg1n79rnswhxqz36mxnl5lp8p37i9fbibnzzyrqknmvf2s8xpd0")))) + "18r8rh8fzdn9miicbpc3qbdd4mm2g1jpsbcvj29sr66pxydzkb7r")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--enable-appdefaultdir=" diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 2b4feb1c2d..93c36dac1e 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -220,7 +220,7 @@ development.") (define-public garcon (package (name "garcon") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -228,7 +228,7 @@ development.") "garcon-" version ".tar.bz2")) (sha256 (base32 - "0z64g6f2vwfjzqsrsn05nbcbs8l6y4cfdgxk4k2la3giixj0jzx8")))) + "00c4g4gmbr8710k0yv1zybnm9s2gkc1rj63zfrg9qgin66jzxcbn")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -250,7 +250,7 @@ merging features essential for loading menus modified with menu editors.") (define-public tumbler (package (name "tumbler") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -258,15 +258,15 @@ merging features essential for loading menus modified with menu editors.") "tumbler-" version ".tar.bz2")) (sha256 (base32 - "19mnwmcxdhqfqkd9433z8h2y8w49vlc7jw5p5h8j54wz7zhrgx0g")))) + "0nfld1lvrdpsjfvm08y5487km45pm1mdr928hgqm8j0shrx6jiv4")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) - ("glib:bin" ,glib "bin") ; need glib-genmarshal - ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool + ("glib:bin" ,glib "bin") ; need glib-genmarshal + ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool (propagated-inputs - `(("glib" ,glib))) ; required by tumbler-1.pc + `(("glib" ,glib))) ; required by tumbler-1.pc (inputs `(("dbus" ,dbus) ("gdk-pixbuf" ,gdk-pixbuf) @@ -596,7 +596,7 @@ like appearance, display, keyboard and mouse settings.") (define-public thunar (package (name "thunar") - (version "1.8.6") + (version "1.8.7") (source (origin (method url-fetch) (uri (string-append "http://archive.xfce.org/src/xfce/" @@ -604,7 +604,7 @@ like appearance, display, keyboard and mouse settings.") "Thunar-" version ".tar.bz2")) (sha256 (base32 - "0apg70dwkh8q89ybzhj4q2gp4yxiybwxfzpbvx0nj0rxis1gprf0")))) + "0afkp528mwwa2m18m39mvw53qgaijyynrw9wwwiyxgjiczq3l0ry")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -628,14 +628,15 @@ fast.") (define-public thunar-volman (package (name "thunar-volman") - (version "0.8.1") - (source (origin - (method url-fetch) - (uri (string-append "http://archive.xfce.org/xfce/4.12/src/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s")))) + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://archive.xfce.org/src/xfce/thunar-volman/" + (version-major+minor version) "/" + "thunar-volman-" version ".tar.bz2")) + (sha256 + (base32 "1sfmz40164rg77hclrkrgnbk8cb7f325qqi7lz2hh3wbvf8r0c19")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 1653810c0d..cb5fb79f4d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3841,7 +3841,7 @@ extension to the X11 protocol. It includes: (define-public xkeyboard-config (package (name "xkeyboard-config") - (version "2.26") + (version "2.27") (source (origin (method url-fetch) @@ -3851,7 +3851,7 @@ extension to the X11 protocol. It includes: ".tar.bz2")) (sha256 (base32 - "13h3381pfp4pv32189zkfsj2x0alr91xj6dqii76rl0c8v3ihdrr")))) + "07wh443lhwv1j0q6xnxnji7f7ahh7xphxj90fv02cdd6zv4aw3b9")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/guix/derivations.scm b/guix/derivations.scm index ebeac31877..186d7a3f8f 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -320,8 +320,7 @@ substituter many times." ;; info is not already in cache. ;; Also, skip derivations marked as non-substitutable. (append-map (lambda (input) - (let ((drv (read-derivation-from-file - (derivation-input-path input)))) + (let ((drv (derivation-input-derivation input))) (if (substitutable-derivation? drv) (derivation-input-output-paths input) '()))) @@ -652,12 +651,10 @@ list of name/path pairs of its outputs." ;;; Derivation primitive. ;;; -(define derivation-path->base16-hash - (mlambda (file) - "Return a string containing the base16 representation of the hash of the -derivation at FILE." - (bytevector->base16-string - (derivation-hash (read-derivation-from-file file))))) +(define derivation-base16-hash + (mlambdaq (drv) + "Return a string containing the base16 representation of the hash of DRV." + (bytevector->base16-string (derivation-hash drv)))) (define (derivation/masked-inputs drv) "Assuming DRV is a regular derivation (not fixed-output), replace the file @@ -666,9 +663,8 @@ name of each input with that input's hash." (($ outputs inputs sources system builder args env-vars) (let ((inputs (map (match-lambda - (($ (= derivation-file-name path) - sub-drvs) - (let ((hash (derivation-path->base16-hash path))) + (($ drv sub-drvs) + (let ((hash (derivation-base16-hash drv))) (make-derivation-input hash sub-drvs)))) inputs))) (make-derivation outputs @@ -886,8 +882,11 @@ long-running processes that know what they're doing. Use with care!" ;; Typically this is meant to be used by Cuirass and Hydra, which can clear ;; caches when they start evaluating packages for another architecture. (invalidate-memoization! derivation->bytevector) - (invalidate-memoization! derivation-path->base16-hash) - (hash-clear! %derivation-cache)) + (invalidate-memoization! derivation-base16-hash) + + ;; FIXME: Comment out to work around . + ;; (hash-clear! %derivation-cache) + ) (define derivation-properties (mlambdaq (drv) @@ -945,16 +944,14 @@ recursively." ;; in the format used in 'derivation' calls. (mlambda (input loop) (match input - (($ (= derivation-file-name path) - (sub-drvs ...)) - (match (vhash-assoc path mapping) + (($ drv (sub-drvs ...)) + (match (vhash-assoc (derivation-file-name drv) mapping) ((_ . (? derivation? replacement)) (cons replacement sub-drvs)) ((_ . replacement) (list replacement)) (#f - (let* ((drv (loop (read-derivation-from-file path)))) - (cons drv sub-drvs)))))))) + (cons (loop drv) sub-drvs))))))) (let loop ((drv drv)) (let* ((inputs (map (cut rewritten-input <> loop) diff --git a/guix/profiles.scm b/guix/profiles.scm index dfc9ba1ca0..f5c863945c 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017 Huang Ying ;;; Copyright © 2017 Maxim Cournoyer +;;; Copyright © 2019 Kyle Meyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -337,7 +338,7 @@ denoting a specific output of a package." (manifest (map (match-lambda - ((package output) + (((? package? package) output) (package->manifest-entry package output)) ((? package? package) (package->manifest-entry package)) diff --git a/guix/store.scm b/guix/store.scm index 8fa16499f8..52940ff751 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -1783,6 +1783,9 @@ the store." ;; when using 'gexp->derivation' and co. (make-parameter #f)) +(define set-store-connection-object-cache! + (record-modifier 'object-cache)) + (define* (run-with-store store mval #:key (guile-for-build (%guile-for-build)) @@ -1798,9 +1801,12 @@ connection, and return the result." (%current-target-system target)) (call-with-values (lambda () (run-with-state mval store)) - (lambda (result store) - ;; Discard the state. - result)))) + (lambda (result new-store) + ;; Copy the object cache from NEW-STORE so we don't fully discard the + ;; state. + (let ((cache (store-connection-object-cache new-store))) + (set-store-connection-object-cache! store cache) + result))))) ;;;