diff --git a/doc/build.scm b/doc/build.scm index e171b539e6..8d5b58962a 100644 --- a/doc/build.scm +++ b/doc/build.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -410,6 +410,11 @@ (define (language->texi-file-name language) (setvbuf (current-output-port) 'line) (setvbuf (current-error-port) 'line) + ;; 'makeinfo' looks for "htmlxref.cnf" in the current directory, so + ;; copy it right here. + (copy-file (string-append #$manual-source "/htmlxref.cnf") + "htmlxref.cnf") + (for-each (lambda (language) (let* ((texi (language->texi-file-name language)) (opts `("--html" diff --git a/doc/htmlxref.cnf b/doc/htmlxref.cnf index 8daa4a5c19..960f0f08fe 100644 --- a/doc/htmlxref.cnf +++ b/doc/htmlxref.cnf @@ -1,9 +1,9 @@ # htmlxref.cnf - reference file for free Texinfo manuals on the web. # Modified by Ludovic Courtès for the GNU Guix manual. -htmlxrefversion=2019-05-04.20; # UTC +htmlxrefversion=2020-01-11.22; # UTC -# Copyright 2010, 2011, 2012, 2013, 2014, 2015, 2019 Free Software Foundation, Inc. +# Copyright 2010, 2011, 2012, 2013, 2014, 2015, 2019, 2020 Free Software Foundation, Inc. # # Copying and distribution of this file, with or without modification, # are permitted in any medium without royalty provided the copyright @@ -68,12 +68,12 @@ autogen node ${GS}/autoconf/manual/html_node/ automake mono ${GS}/automake/manual/automake.html automake node ${GS}/automake/manual/html_node/ -avl node http://www.stanford.edu/~blp/avl/libavl.html/ +avl node http://adtinfo.org/libavl.html/ bash mono ${GS}/bash/manual/bash.html bash node ${GS}/bash/manual/html_node/ -BINUTILS = http://sourceware.org/binutils/docs +BINUTILS = https://sourceware.org/binutils/docs binutils node ${BINUTILS}/binutils/ as node ${BINUTILS}/as/ bfd node ${BINUTILS}/bfd/ @@ -110,13 +110,15 @@ cpio node ${GS}/cpio/manual/html_node/ cssc node ${GS}/cssc/manual/ -#cvs cannot be handled here; see http://ximbiot.com/cvs/manual. +CVS = ${GS}/trans-coord/manual +cvs mono ${CVS}/cvs/cvs.html +cvs node ${CVS}/cvs/html_node/ ddd mono ${GS}/ddd/manual/html_mono/ddd.html ddrescue mono ${GS}/ddrescue/manual/ddrescue_manual.html -DICO = http://puszcza.gnu.org.ua/software/dico/manual +DICO = https://puszcza.gnu.org.ua/software/dico/manual dico mono ${DICO}/dico.html dico chapter ${DICO}/html_chapter/ dico section ${DICO}/html_section/ @@ -167,6 +169,9 @@ emacs node ${EMACS}/html_node/emacs/ eshell mono ${EMACS}/html_mono/eshell.html eshell node ${EMACS}/html_node/eshell/ # + eww mono ${EMACS}/html_mono/eww.html + eww node ${EMACS}/html_node/eww/ + # flymake mono ${EMACS}/html_mono/flymake.html flymake node ${EMACS}/html_node/flymake/ # @@ -234,8 +239,7 @@ find node ${GS}/findutils/manual/html_node/find_html findutils mono ${GS}/findutils/manual/html_mono/find.html findutils node ${GS}/findutils/manual/html_node/find_html -FLEX = http://flex.sourceforge.net -flex node ${FLEX}/manual/ +flex node https://westes.github.io/flex/manual/ gama mono ${GS}/gama/manual/gama.html gama node ${GS}/gama/manual/html_node/ @@ -249,7 +253,7 @@ gawk node ${GAWK}/html_node/ gcal mono ${GS}/gcal/manual/gcal.html gcal node ${GS}/gcal/manual/html_node/ -GCC = http://gcc.gnu.org/onlinedocs +GCC = https://gcc.gnu.org/onlinedocs gcc node ${GCC}/gcc/ cpp node ${GCC}/cpp/ gcj node ${GCC}/gcj/ @@ -265,7 +269,7 @@ gcc node ${GCC}/gcc/ gnat-style node ${GCC}/gnat-style/ libiberty node ${GCC}/libiberty/ -GDB = http://sourceware.org/gdb/current/onlinedocs +GDB = https://sourceware.org/gdb/current/onlinedocs gdb node ${GDB}/gdb/ stabs node ${GDB}/stabs/ @@ -282,13 +286,13 @@ geiser chapter http://geiser.nongnu.org/ gettext mono ${GS}/gettext/manual/gettext.html gettext node ${GS}/gettext/manual/html_node/ -gforth node http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/ +gforth node https://www.complang.tuwien.ac.at/forth/gforth/Docs-html/ global mono ${GS}/global/manual/global.html gmediaserver node ${GS}/gmediaserver/manual/ -gmp node http://www.gmplib.org/manual/ +gmp node https://www.gmplib.org/manual/ gnu-arch node ${GS}/gnu-arch/tutorial/ @@ -311,7 +315,7 @@ gnun node ${GNUN}/gnun/html_node/ web-trans mono ${GNUN}/web-trans/web-trans.html web-trans node ${GNUN}/web-trans/html_node/ -GNUPG = http://www.gnupg.org/documentation/manuals +GNUPG = https://www.gnupg.org/documentation/manuals gnupg node ${GNUPG}/gnupg/ dirmngr node ${GNUPG}/dirmngr/ gcrypt node ${GNUPG}/gcrypt/ @@ -399,6 +403,10 @@ guix.es mono ${GS}/guix/manual/es/guix.html guix.es node ${GS}/guix/manual/es/html_node/ guix.fr mono ${GS}/guix/manual/fr/guix.html guix.fr node ${GS}/guix/manual/fr/html_node/ +guix.ru mono ${GS}/guix/manual/ru/guix.html +guix.ru node ${GS}/guix/manual/ru/html_node/ +guix.zh_CN mono ${GS}/guix/manual/zh-cn/guix.html +guix.zh_CN node ${GS}/guix/manual/zh-cn/html_node/ guix mono ${GS}/guix/manual/en/guix.html guix node ${GS}/guix/manual/en/html_node/ @@ -499,6 +507,9 @@ METAEXCHANGE = http://ftp.gwdg.de/pub/gnu2/iwfmdh/doc/texinfo iwf_mh node ${METAEXCHANGE}/iwf_mh.html scantest node ${METAEXCHANGE}/scantest.html +mes mono ${GS}/mes/manual/mes.html +mes node ${GS}/mes/manual/html_node/ + MIT_SCHEME = ${GS}/mit-scheme/documentation mit-scheme-ref node ${MIT_SCHEME}/mit-scheme-ref/ mit-scheme-user node ${MIT_SCHEME}/mit-scheme-user/ @@ -515,9 +526,9 @@ mpfr mono http://www.mpfr.org/mpfr-current/mpfr.html mtools mono ${GS}/mtools/manual/mtools.html -myserver node http://www.myserverproject.net/documentation/ +myserver mono http://www.myserverproject.net/doc.php -nano mono http://www.nano-editor.org/dist/latest/nano.html +nano mono https://www.nano-editor.org/dist/latest/nano.html nettle chapter http://www.lysator.liu.se/~nisse/nettle/nettle.html @@ -550,7 +561,7 @@ pspp node ${GS}/pspp/manual/html_node/ pyconfigure mono ${GS}/pyconfigure/manual/pyconfigure.html pyconfigure node ${GS}/pyconfigure/manual/html_node/ -R = http://cran.r-project.org/doc/manuals +R = https://cran.r-project.org/doc/manuals R-intro mono ${R}/R-intro.html R-lang mono ${R}/R-lang.html R-exts mono ${R}/R-exts.html @@ -656,7 +667,7 @@ xboard node ${GS}/xboard/manual/html_node/ # emacs-page # Free TeX-related Texinfo manuals on tug.org. -T = http://tug.org/texinfohtml +T = https://tug.org/texinfohtml dvipng mono ${T}/dvipng.html dvips mono ${T}/dvips.html diff --git a/gnu/installer/newt/final.scm b/gnu/installer/newt/final.scm index e375282613..061bcd3f78 100644 --- a/gnu/installer/newt/final.scm +++ b/gnu/installer/newt/final.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe -;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +36,7 @@ (define* (strip-prefix file #:optional (prefix (%installer-target-dir))) (string-drop file (string-length prefix)) file)) -(define (run-config-display-page) +(define* (run-config-display-page #:key locale) (let ((width (%configuration-file-width)) (height (nearest-exact-integer (/ (screen-rows) 2)))) @@ -50,6 +50,8 @@ (define (run-config-display-page) (strip-prefix (%installer-configuration-file))) #:title (G_ "Configuration file") #:file (%installer-configuration-file) + #:edit-button? #t + #:editor-locale locale #:info-textbox-width width #:file-textbox-width width #:file-textbox-height height @@ -95,7 +97,7 @@ (define (run-final-page result prev-steps) (with-mounted-partitions user-partitions (configuration->file configuration) - (run-config-display-page) + (run-config-display-page #:locale locale) (run-install-shell locale #:users users)))) (if install-ok? (run-install-success-page) diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm index 630efde9cc..bff5fae4e6 100644 --- a/gnu/installer/newt/page.scm +++ b/gnu/installer/newt/page.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Mathieu Othacehe -;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019, 2020 Ludovic Courtès ;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -541,6 +541,17 @@ (define (fill-checkbox-tree checkbox-tree items) (lambda () (destroy-form-and-pop form)))))) +(define* (edit-file file #:key locale) + "Spawn an editor for FILE." + (clear-screen) + (newt-suspend) + ;; Use Nano because it syntax-highlights Scheme by default. + ;; TODO: Add a menu to choose an editor? + (run-shell-command (string-append "/run/current-system/profile/bin/nano " + file) + #:locale locale) + (newt-resume)) + (define* (run-file-textbox-page #:key info-text title @@ -549,6 +560,8 @@ (define* (run-file-textbox-page #:key (file-textbox-width 50) (file-textbox-height 30) (exit-button? #t) + (edit-button? #f) + (editor-locale #f) (ok-button-callback-procedure (const #t)) (exit-button-callback-procedure @@ -557,7 +570,6 @@ (define* (run-file-textbox-page #:key (make-reflowed-textbox -1 -1 info-text info-textbox-width #:flags FLAG-BORDER)) - (file-text (read-all file)) (file-textbox (make-textbox -1 -1 file-textbox-width @@ -565,6 +577,8 @@ (define* (run-file-textbox-page #:key (logior FLAG-SCROLL FLAG-BORDER))) (ok-button (make-button -1 -1 (G_ "OK"))) (exit-button (make-button -1 -1 (G_ "Exit"))) + (edit-button (and edit-button? + (make-button -1 -1 (G_ "Edit")))) (grid (vertically-stacked-grid GRID-ELEMENT-COMPONENT info-textbox GRID-ELEMENT-COMPONENT file-textbox @@ -572,32 +586,42 @@ (define* (run-file-textbox-page #:key (apply horizontal-stacked-grid GRID-ELEMENT-COMPONENT ok-button - `(,@(if exit-button? + `(,@(if edit-button? + (list GRID-ELEMENT-COMPONENT edit-button) + '()) + ,@(if exit-button? (list GRID-ELEMENT-COMPONENT exit-button) '()))))) (form (make-form))) - (set-textbox-text file-textbox - (receive (_w _h text) - (reflow-text file-text - file-textbox-width - 0 0) - text)) - (add-form-to-grid grid form #t) - (make-wrapped-grid-window grid title) + (let loop () + (set-textbox-text file-textbox + (receive (_w _h text) + (reflow-text (read-all file) + file-textbox-width + 0 0) + text)) - (receive (exit-reason argument) - (run-form form) - (dynamic-wind - (const #t) - (lambda () - (case exit-reason - ((exit-component) - (cond - ((components=? argument ok-button) - (ok-button-callback-procedure)) - ((and exit-button? - (components=? argument exit-button)) - (exit-button-callback-procedure)))))) - (lambda () - (destroy-form-and-pop form)))))) + (add-form-to-grid grid form #t) + (make-wrapped-grid-window grid title) + + (receive (exit-reason argument) + (run-form form) + (dynamic-wind + (const #t) + (lambda () + (case exit-reason + ((exit-component) + (cond + ((components=? argument ok-button) + (ok-button-callback-procedure)) + ((and exit-button? + (components=? argument exit-button)) + (exit-button-callback-procedure)) + ((and edit-button? + (components=? argument edit-button)) + (edit-file file)))))) + (lambda () + (if (components=? argument edit-button) + (loop) + (destroy-form-and-pop form)))))))) diff --git a/gnu/local.mk b/gnu/local.mk index 4677c42979..62ea29cdbb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1030,6 +1030,7 @@ dist_patch_DATA = \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/jfsutils-add-sysmacros.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \ + %D%/packages/patches/jsoncpp-fix-inverted-case.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \ %D%/packages/patches/libvirt-create-machine-cgroup.patch \ @@ -1381,6 +1382,7 @@ dist_patch_DATA = \ %D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \ %D%/packages/patches/sooperlooper-build-with-wx-30.patch \ %D%/packages/patches/soundconverter-remove-gconf-dependency.patch \ + %D%/packages/patches/spice-fix-test-armhf.patch \ %D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/supercollider-boost-1.70-build-fix.patch \ %D%/packages/patches/superlu-dist-awpm-grid.patch \ @@ -1455,9 +1457,6 @@ dist_patch_DATA = \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ - %D%/packages/patches/wavpack-CVE-2018-6767.patch \ - %D%/packages/patches/wavpack-CVE-2018-7253.patch \ - %D%/packages/patches/wavpack-CVE-2018-7254.patch \ %D%/packages/patches/weasyprint-library-paths.patch \ %D%/packages/patches/webkitgtk-icu-65.patch \ %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index cf06732e18..2b0e68fdc4 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -332,7 +332,7 @@ (define-public ardour (define-public audacity (package (name "audacity") - (version "2.3.2") + (version "2.3.3") (source (origin (method git-fetch) @@ -342,7 +342,7 @@ (define-public audacity (file-name (git-file-name name version)) (sha256 (base32 - "08w96124vv8k4myd4vifq73ningq6404x889wvg2sk016kc4dfv1")) + "0707fsnrl4vjalsi21w4blwgz024qhd0w8rdd5j5vpxf5lyk2rbk")) (patches (search-patches "audacity-build-with-system-portaudio.patch")) (modules '((guix build utils))) (snippet @@ -351,7 +351,7 @@ (define-public audacity (for-each (lambda (dir) (delete-file-recursively (string-append "lib-src/" dir))) - '("expat" "ffmpeg" "libflac" "libid3tag" "libmad" "libogg" + '("expat" "ffmpeg" "lame" "libflac" "libid3tag" "libmad" "libogg" "libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2" "portaudio-v19" "portmidi" "soundtouch" "twolame" ;; FIXME: these libraries have not been packaged yet: @@ -451,7 +451,8 @@ (define-public audacity (lambda* (#:key inputs #:allow-other-keys) (substitute* '("src/NoteTrack.cpp" "src/AudioIO.cpp" - "src/AudioIO.h") + "src/AudioIO.h" + "src/AudioIOBase.cpp") (("../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h") (("../lib-src/portmidi/porttime/porttime.h") "porttime.h")) (substitute* "src/prefs/MidiIOPrefs.cpp" @@ -2574,6 +2575,7 @@ (define-public timidity++ ("flac" ,flac) ("jack" ,jack-1) ("libogg" ,libogg) + ("libvorbis" ,libvorbis) ("speex" ,speex) ("ncurses" ,ncurses) ("freepats" ,freepats))) @@ -2673,18 +2675,17 @@ (define-public libsbsms (define-public wavpack (package (name "wavpack") - (version "5.1.0") + (version "5.2.0") (source (origin (method url-fetch) (uri (string-append "http://www.wavpack.com/" - name "-" version ".tar.bz2")) - (patches (search-patches "wavpack-CVE-2018-6767.patch" - "wavpack-CVE-2018-7253.patch" - "wavpack-CVE-2018-7254.patch")) + "wavpack-" version ".tar.xz")) (sha256 (base32 - "0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r")))) + "1qvpvfx30kvrkw7y1g6r8xj109wszg1z0qmkfm17wf3flb7v3rbp")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (home-page "http://www.wavpack.com/") (synopsis "Hybrid lossless audio codec") (description diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index f47260121b..18be845eec 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -76,7 +76,7 @@ (define certdata2pem (define-public nss-certs (package (name "nss-certs") - (version "3.46.1") + (version "3.48") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -87,7 +87,7 @@ (define-public nss-certs "nss-" version ".tar.gz"))) (sha256 (base32 - "0l9ns44rlkp1bpblplspfbqmyhb8rhvc89y56kqh725rgpny1xrv")))) + "1b7qs1q7jqhw9dvkdznanzhc5dyq4bwx0biywszy3qx4hqm8571z")))) (build-system gnu-build-system) (outputs '("out")) (native-inputs diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index dd0d266c8e..d12b1c8ea5 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -99,6 +99,19 @@ (define-public check source code editors and IDEs.") (license license:lgpl2.1+))) +;; Some packages require this older version. Removed once no longer needed. +(define-public check-0.12 + (package/inherit + check + (version "0.12.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/libcheck/check/releases" + "/download/" version "/check-" version ".tar.gz")) + (sha256 + (base32 + "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6")))))) + (define-public cunit (package (name "cunit") diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index 6f6b5a3948..3330f91dfc 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -73,17 +73,11 @@ (define-public chez-scheme (commit (string-append "v" version)))) (sha256 (base32 "1hagrqdp649n2g0wq2a9gfnz7mjcjakkw7ziplbj3db412bb7kx5")) - (file-name (git-file-name name version)) - (modules '((guix build utils))) - (snippet - ;; Fix compilation with glibc >= 2.26, which removed xlocale.h. - '(begin - (substitute* "c/expeditor.c" - (("xlocale\\.h") "locale.h")) - #t)))) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) + ("libuuid" ,util-linux) ("libx11" ,libx11) ("xorg-rgb" ,xorg-rgb) ("nanopass" ,nanopass) @@ -94,8 +88,7 @@ (define-public chez-scheme `(("texlive" ,(texlive-union (list texlive-latex-oberdiek texlive-generic-epsf))) ("ghostscript" ,ghostscript) - ("netpbm" ,netpbm) - ("util-linux" ,util-linux))) + ("netpbm" ,netpbm))) (native-search-paths (list (search-path-specification (variable "CHEZSCHEMELIBDIRS") diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 556e98afc1..e24b6dea7d 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -31,6 +31,7 @@ (define-module (gnu packages cmake) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) + #:use-module (guix deprecation) #:use-module (guix build-system gnu) #:use-module (guix build-system emacs) #:use-module (gnu packages) @@ -163,7 +164,18 @@ (define-public cmake-minimal (native-search-paths (list (search-path-specification (variable "CMAKE_PREFIX_PATH") - (files '(""))))) + (files '(""))) + ;; "cmake-curl-certificates.patch" changes CMake to honor 'SSL_CERT_DIR' + ;; and 'SSL_CERT_FILE', hence these search path entries. + (search-path-specification + (variable "SSL_CERT_DIR") + (separator #f) ;single entry + (files '("etc/ssl/certs"))) + (search-path-specification + (variable "SSL_CERT_FILE") + (file-type 'regular) + (separator #f) ;single entry + (files '("etc/ssl/certs/ca-certificates.crt"))))) (home-page "https://cmake.org/") (synopsis "Cross-platform build system") (description diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 1fe21fc7d0..201f500666 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -34,7 +34,7 @@ (define-module (gnu packages crates-io) (define-public rust-adler32-1.0 (package (name "rust-adler32") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) @@ -42,15 +42,18 @@ (define-public rust-adler32-1.0 (file-name (string-append name "-" version ".crate")) (sha256 - (base32 - "0p7fxlnks9l7p7rwfqi7aqgnk2bps5zc0rjiw00mdw19nnbjjlky")))) + (base32 + "1hnan4fgmnidgn2k84hh2i67c3wp2c5iwd5hs61yi7gwwx1p6bjx")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-development-inputs + (("rust-rand" ,rust-rand-0.4)))) (home-page "https://github.com/remram44/adler32-rs") (synopsis "Implementation of the Adler32 rolling hash algorithm") (description "This library is an implementation of the Adler32 rolling hash algorithm in the Rust programming language.") - (properties '((hidden? . #t))) (license (list license:bsd-3 license:zlib)))) @@ -183,12 +186,12 @@ (define-public rust-antidote-1.0 (base32 "19g2sw2qa2ibnh4x7j1snk46593jgx6y7rnvva496ynq61af5z9l")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/sfackler/rust-antidote") (synopsis "Poison-free Mutex and RwLock types") (description - "These types expose identical APIs to the standard library @code{Mutex} and + "These types expose identical APIs to the standard library @code{Mutex} and @code{RwLock} except that they do not return @code{PoisonError}s.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -320,11 +323,15 @@ (define-public rust-atty-0.2 (base32 "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/softprops/atty") - (synopsis "A simple interface for querying atty") + (synopsis "Simple interface for querying atty") (description "This package provides a simple interface for querying atty.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-autocfg-0.1 @@ -340,13 +347,13 @@ (define-public rust-autocfg-0.1 (base32 "1chwgimpx5z7xbag7krr9d8asxfqbh683qhgl9kn3hxk2l0djj8x")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/cuviper/autocfg") (synopsis "Automatic cfg for Rust compiler features") (description "Rust library for build scripts to automatically configure code based on compiler support. Code snippets are dynamically tested to see if the @code{rustc} will accept them, rather than hard-coding specific version support.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -392,7 +399,7 @@ (define-public rust-backtrace-0.3 (define-public rust-backtrace-sys-0.1 (package (name "rust-backtrace-sys") - (version "0.1.31") + (version "0.1.32") (source (origin (method url-fetch) @@ -400,13 +407,20 @@ (define-public rust-backtrace-sys-0.1 (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0as2pk77br4br04daywhivpi1ixxb8y2c7f726kj849dxys31a42")))) + "14c406z8bdmms8a5l8cv79jfkz1mk10qk5p97izf4vai53qparax")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc-1.0)))) (home-page "https://github.com/rust-lang/backtrace-rs") (synopsis "Bindings to the libbacktrace gcc library") (description "This package provides bindings to the libbacktrace gcc library.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -440,7 +454,7 @@ (define-public rust-base64-0.10 (define-public rust-base-x-0.2 (package (name "rust-base-x") - (version "0.2.5") + (version "0.2.6") (source (origin (method url-fetch) @@ -448,12 +462,17 @@ (define-public rust-base-x-0.2 (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0hv4y5cdhv6bk0ghk2434clw8v4mmk5cc9lsh6qrpri92zlfmx3n")))) + "1hfy0wv7j5ynd73yk1vyr32pqa77rp15lkrc54f8ky9c6hcbc80v")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-json" ,rust-json-0.11) + ("rust-rand" ,rust-rand-0.3)))) (home-page "https://github.com/OrKoN/base-x-rs") (synopsis "Encode/decode any base") (description "This library provides for encoding and decoding any base.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-bencher-0.1 @@ -469,13 +488,13 @@ (define-public rust-bencher-0.1 (base32 "1x8p2xblgqssay8cdykp5pkfc0np0jk5bs5cx4f5av097aav9zbx")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/bluss/bencher/") (synopsis "Port of the libtest benchmark runner to Rust stable") (description "This package provides a port of the libtest (unstable Rust) benchmark runner to Rust stable releases. Supports running benchmarks and filtering based on the name. Benchmark execution works exactly the same way and no more (caveat: black_box is still missing!).") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -638,7 +657,7 @@ (define-public rust-bit-vec-0.5 (define-public rust-bitflags-1 (package (name "rust-bitflags") - (version "1.1.0") + (version "1.2.1") (source (origin (method url-fetch) @@ -646,13 +665,13 @@ (define-public rust-bitflags-1 (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1zc1qb1hwsnl2d8rhzicsv9kqd5b2hwbrscrcfw5as4sfr35659x")))) + "14qnd5nq8p2almk79m4m8ydqhd413yaxsyjp5xd19g3mikzf47fg")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/bitflags/bitflags") (synopsis "Macro to generate structures which behave like bitflags") (description "This package provides a macro to generate structures which behave like a set of bitflags.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -1156,12 +1175,16 @@ (define-public rust-cfg-if-0.1 (base32 "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) (home-page "https://github.com/alexcrichton/cfg-if") (synopsis "Define an item depending on parameters") (description "This package provides a macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an @code{if-else} chain, the first matching branch is the item that gets emitted.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -1331,11 +1354,14 @@ (define-public rust-cloudabi-0.0 (base32 "0kxcg83jlihy0phnd2g8c2c303px3l2p3pkjz357ll6llnd5pz6x")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1)))) (home-page "https://nuxi.nl/cloudabi/") (synopsis "Low level interface to CloudABI") (description "Low level interface to CloudABI. Contains all syscalls and related types.") - (properties '((hidden? . #t))) (license license:bsd-2))) (define-public rust-cmake-0.1 @@ -1366,7 +1392,7 @@ (define-public rust-cmake-0.1 (define-public rust-compiler-builtins-0.1 (package (name "rust-compiler-builtins") - (version "0.1.19") + (version "0.1.23") (source (origin (method url-fetch) @@ -1374,15 +1400,20 @@ (define-public rust-compiler-builtins-0.1 (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1fpabpmg8paj4r5a37vmidh1jx1b7a6ilxm4s3xsxczx27ybjcjf")))) + "0m8rfikg08av2plyp32drjfsv7i10nf2kwzajjjkvl13yhj9s5fn")))) (build-system cargo-build-system) - (home-page "https://github.com/rust-lang-nursery/compiler-builtins") + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)) + #:cargo-development-inputs + (("rust-cc" ,rust-cc-1.0)))) + (home-page "https://github.com/rust-lang/compiler-builtins") (synopsis "Compiler intrinsics used by the Rust compiler") (description "This package provides compiler intrinsics used by the Rust compiler. This package is primarily useful when building the @code{core} crate yourself and you need compiler-rt intrinsics.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -1486,7 +1517,7 @@ (define-public rust-console-error-panic-hook-0.1 (define-public rust-constant-time-eq-0.1 (package (name "rust-constant-time-eq") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) @@ -1494,15 +1525,15 @@ (define-public rust-constant-time-eq-0.1 (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "083icpr9xb72rrdxw3p4068dcspn6ai22jy7rhl2a8grfz448nlr")))) + "1g3vp04qzmk6cpzrd19yci6a95m7ap6wy7wkwgiy2pjklklrfl14")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/cesarb/constant_time_eq") (synopsis "Compares two equal-sized byte strings in constant time") (description "This package compares two equal-sized byte strings in constant time. It is inspired by the Linux kernel's @code{crypto_memneq}.") - (properties '((hidden? . #t))) (license license:cc0))) (define-public rust-core-arch-0.1 @@ -1544,11 +1575,11 @@ (define-public rust-core-foundation-sys-0.6 (base32 "0fzsw1j9g1x598yhwklg59l15hwzc0pyvs01w9fg2kin4598mjp7")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/servo/core-foundation-rs") (synopsis "Bindings to Core Foundation for OS X") (description "Bindings to Core Foundation for OS X.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -1986,18 +2017,18 @@ (define-public rust-data-encoding-2.1 (base32 "15xd6afhsjl08285piwczrafmckpp8i29padj8v12xhahshprx7l")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/ia0/data-encoding") (synopsis "Efficient and customizable data-encoding functions") (description "This library provides encodings for many different common cases, including hexadecimal, base32, and base64.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-defmac-0.2 (package (name "rust-defmac") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) @@ -2005,12 +2036,12 @@ (define-public rust-defmac-0.2 (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "01ff3jdmcc5waffkwllndnx5hsn414r7x1rq4ib73n7awsyzxkxv")))) + "14cqfvc0f1pkd6gdhjxa2wv3iibqprc0n203ims8lvg96752ynfm")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/bluss/defmac") (synopsis "Macro to define lambda-like macros inline") (description "A macro to define lambda-like macros inline.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -2197,6 +2228,11 @@ (define-public rust-dirs-1.0 (base32 "02vigc566z5i6n9wr2x8sch39qp4arn89xhhrh18fhpm3jfc0ygn")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/soc/dirs-rs") (synopsis "Abstractions for standard locations for various platforms") (description @@ -2205,7 +2241,6 @@ (define-public rust-dirs-1.0 data on Linux, Windows, macOS and Redox by leveraging the mechanisms defined by the XDG base/user directory specifications on Linux, the Known Folder API on Windows, and the Standard Directory guidelines on macOS.") - (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) (define-public rust-discard-1.0 @@ -2221,12 +2256,12 @@ (define-public rust-discard-1.0 (base32 "1h67ni5bxvg95s91wgicily4ix7lcw7cq0a5gy9njrybaibhyb91")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/Pauan/rust-discard") (synopsis "Allow for intentionally leaking memory") (description "There are situations where you need to intentionally leak some memory but not other memory. This package provides a discard trait which allows for intentionally leaking memory") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-doc-comment-0.3 @@ -2242,11 +2277,11 @@ (define-public rust-doc-comment-0.3 (base32 "15rsqxgarfpb1yim9sbp9yfgj7p2dq6v51c6bq1a62paii9ylgcj")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/GuillaumeGomez/doc-comment") (synopsis "Macro to generate doc comments") (description "This package provides a way to generate doc comments from macros.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-docopt-1.1 @@ -2288,11 +2323,11 @@ (define-public rust-dtoa-0.4 (base32 "0phbm7i0dpn44gzi07683zxaicjap5064w62pidci4fhhciv8mza")))) (build-system cargo-build-system) + (arguments '(#:skip-build? #t)) (home-page "https://github.com/dtolnay/dtoa") (synopsis "Fast functions for printing floating-point primitives") (description "This crate provides fast functions for printing floating-point primitives to an @code{io::Write}.") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 2785f386fe..a0f675c1dc 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Nicolas Goaziou -;;; Copyright © 2018 Nicolò Balzarotti +;;; Copyright © 2018, 2020 Nicolò Balzarotti ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2019 Pierre Neidhardt ;;; Copyright © 2019 Tanguy Le Carrour @@ -1046,3 +1046,30 @@ (define-public minisign signatures include trusted comments in addition to untrusted comments. Trusted comments are signed, thus verified, before being displayed.") (license license:isc))) + +(define-public libolm + (package + (name "libolm") + (version "3.1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.matrix.org/git/olm") + (commit version))) + (sha256 + (base32 + "06s7rw4a9vn35wzz7chxn54mp0sjgbpv2bzz9lq0g4hnzw33cjbi")) + (file-name (git-file-name name version)))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "ctest" "build/tests")))))) + (build-system cmake-build-system) + (synopsis "Implementation of the olm and megolm cryptographic ratchets") + (description "The libolm library implements the Double Ratchet +cryptographic ratchet. It is written in C and C++11, and exposed as a C +API.") + (home-page "https://matrix.org/docs/projects/other/olm/") + (license license:asl2.0))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index ca15c77026..5d770f46e5 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -992,27 +992,27 @@ (define-public postgresql-11 (package (inherit postgresql) (name "postgresql") - (version "11.5") + (version "11.6") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "106ikalvrilihlvhq7xj7snq98hgbgq6qsgjrd252wgw1c327pvz")))))) + "0w1iq488kpzfgfnlw4k32lz5by695mpnkq461jrgsr99z5zlz4j9")))))) (define-public postgresql-9.6 (package (inherit postgresql) (name "postgresql") - (version "9.6.15") + (version "9.6.16") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "02hp69h2p02asfblkaahblzdz2zmawd2r11h6237y5j7yadgxn9w")))))) + "1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w")))))) (define-public python-pymysql (package @@ -1858,14 +1858,14 @@ (define-public unqlite (define-public redis (package (name "redis") - (version "4.0.10") + (version "5.0.7") (source (origin (method url-fetch) (uri (string-append "http://download.redis.io/releases/redis-" version".tar.gz")) (sha256 (base32 - "194cydhv3hf4v95ifvjvsqrs4jn3ffrkg5lvxj5d3y04lwsp9dhx")))) + "0ax8sf3vw0yadr41kzc04917scrg5wir1d94zmbz00b8pzm79nv1")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; tests related to master/slave and replication fail diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index d2e1afdbce..8a17e8ddbb 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -582,12 +582,12 @@ (define-public volume-key (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("util-linux" ,util-linux) ("swig" ,swig) ("python" ,python-3))) ; used to generate the Python bindings (inputs `(("cryptsetup" ,cryptsetup) ("nss" ,nss) + ("libblkid" ,util-linux) ("lvm2" ,lvm2) ; for "-ldevmapper" ("glib" ,glib) ("gpgme" ,gpgme))) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 292a494a1d..b434139df8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -20419,8 +20419,8 @@ (define-public emacs-telega ;; This package has versions newer than indicated on MELPA. ;; Get the current version from `telega-version` in telega.el. ;; or by running M-x telega-version. - (let ((commit "9bfb637b2e71f5f293debd35abd627a064faf8ef") - (revision "2") + (let ((commit "4497a3c19d9806eb9edfe13d326d6d9cbb895f64") + (revision "3") (version "0.5.4")) (package (name "emacs-telega") @@ -20433,7 +20433,7 @@ (define-public emacs-telega (commit commit))) (sha256 (base32 - "06v8i3862n5kf2lnxii8vp9g8cq5ql51kr8yxh7l1wccsidri67a")) + "1g0gbbgs8rbcip6kqjxdmnsjlq0ixgknb0qcda7siaha9gd7fjh2")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -21005,3 +21005,30 @@ (define-public emacs-helm-clojuredocs pattern guessed from thing under current cursor position. @end itemize\n") (license license:gpl3+)))) + +(define-public emacs-metal-mercury-mode + (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8") + (revision "1") + (version "0.0.0")) + (package + (name "emacs-metal-mercury-mode") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ahungry/metal-mercury-mode.git") + (commit commit))) + (sha256 + (base32 + "0iil5k3rgifz2vqwsy12rbv5rzyvidq4sgwazsb2hzys8xynmfn5")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash))) + (synopsis "Major mode for editing Mercury files") + (description + "Major mode for editing Mercury files. This is a rewrite of the original +mercury-mode provided by Emacs as a wrapper around prolog-mode.") + (home-page "https://github.com/ahungry/metal-mercury-mode") + (license license:gpl3+)))) diff --git a/gnu/packages/entr.scm b/gnu/packages/entr.scm index d0111452df..cacb5ab7f5 100644 --- a/gnu/packages/entr.scm +++ b/gnu/packages/entr.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 Ludovic Courtès ;;; Copyright © 2019 Ricardo Wurmus ;;; Copyright © 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages entr) + #:use-module (gnu packages ncurses) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -52,11 +54,13 @@ (define-public entr (invoke "./configure")))) (add-before 'build 'remove-fhs-file-names (lambda _ - ;; Use the tools available in $PATH. (substitute* "entr.c" - (("/bin/cat") "cat") - (("/usr/bin/clear") "clear")) + (("/bin/sh") (which "sh")) + (("/bin/cat") (which "cat")) + (("/usr/bin/clear") (which "clear"))) #t))))) + ;; ncurses provides the `clear' binary + (inputs `(("ncurses" ,ncurses))) (home-page "http://entrproject.org/") (synopsis "Run arbitrary commands when files change") (description diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 7066685dee..ed221439b4 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2018 Stefan Stefanović ;;; Copyright © 2019 Reza Alizadeh Majd ;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,6 +48,7 @@ (define-module (gnu packages freedesktop) #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) @@ -55,6 +57,7 @@ (define-module (gnu packages freedesktop) #:use-module (gnu packages disk) #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) + #:use-module (gnu packages gawk) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -107,12 +110,19 @@ (define-public xdg-utils ("libxslt" ,libxslt) ("w3m" ,w3m) ("xmlto" ,xmlto))) - (propagated-inputs - `(("perl-file-mimeinfo" ,perl-file-mimeinfo) ; for mimeopen fallback + (inputs + `(("awk" ,gawk) + ("coreutils" ,coreutils) + ("grep" ,grep) + ("inetutils" ,inetutils) ; xdg-screensaver uses `hostname' + ("perl-file-mimeinfo" ,perl-file-mimeinfo) ; for mimeopen fallback + ("sed" ,sed) ("xprop" ,xprop) ; for Xfce detecting ("xset" ,xset))) ; for xdg-screensaver (arguments `(#:tests? #f ; no check target + #:modules ((srfi srfi-26) + ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-hardcoded-paths @@ -144,6 +154,21 @@ (define-public xdg-utils "/manpages/docbook.xsl man"))) (setenv "STYLESHEET" (string-append xsldoc "/html/docbook.xsl")) + #t))) + (add-after 'install 'wrap-executables + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion (string-append out "/bin") + (let ((path-ext + (map (cute string-append <> "/bin") + (cons out + (map (cute assoc-ref inputs <>) + '("awk" "coreutils" "grep" "inetutils" + "perl-file-mimeinfo" "sed" "xprop" + "xset")))))) + (for-each (cute wrap-program <> + `("PATH" ":" prefix ,path-ext)) + (find-files ".")))) #t)))))) (home-page "https://www.freedesktop.org/wiki/Software/xdg-utils/") (synopsis "Freedesktop.org scripts for desktop integration") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9129a9eede..0d917d13aa 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -43,7 +43,7 @@ ;;; Copyright © 2019 Jesse Gibbons ;;; Copyright © 2019 Dan Frumin ;;; Copyright © 2019 Guillaume Le Vaillant -;;; Copyright © 2019 Timotej Lazar +;;; Copyright © 2019, 2020 Timotej Lazar ;;; Copyright © 2019 Josh Holland ;;; Copyright © 2017, 2019 Hartmut Goebel ;;; @@ -739,6 +739,34 @@ (define-public golly @end enumerate") (license license:gpl2+))) +(define-public julius + (package + (name "julius") + (version "1.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bvschaik/julius.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kgyzfjii4dhpy2h05977alwdmxyxb4jxznnrhlgb21m0ybncmvp")))) + (build-system cmake-build-system) + (inputs + `(("sdl2" ,sdl2) + ("sdl2-mixer" ,sdl2-mixer))) + (home-page "https://github.com/bvschaik/julius") + (synopsis "Re-implementation of Caesar III game engine") + (description + "Engine for Caesar III, a city-building real-time strategy game. +Julius includes some UI enhancements while preserving the logic (including +bugs) of the original game, so that saved games are compatible. This package +does not include game data.") + (license (list license:agpl3 + license:expat ; ext/dirent + license:zlib)))) ; ext/tinyfiledialogs + (define-public meandmyshadow (package (name "meandmyshadow") @@ -3800,16 +3828,16 @@ (define-public supertux (define-public tintin++ (package (name "tintin++") - (version "2.01.7") + (version "2.02.00") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/tintin/TinTin++ Source Code/" - (version-major+minor version) + (string-drop-right version 1) "/tintin-" version ".tar.gz")) (sha256 (base32 - "033n84pyxml3n3gd4dq0497n9w331bnrr1gppwipz9ashmq8jz7v")))) + "02qmbhzhh2sdy5b37v54gihs9k4bxmlz3j96gyx7icvx2grkbg5i")))) (inputs `(("gnutls" ,gnutls) ("pcre" ,pcre) @@ -3825,14 +3853,14 @@ (define-public tintin++ (chdir "src") #t))))) (build-system gnu-build-system) - (home-page "http://tintin.sourceforge.net/") + (home-page "https://tintin.mudhalla.net/") (synopsis "MUD client") (description "TinTin++ is a MUD client which supports MCCP (Mud Client Compression Protocol), MMCP (Mud Master Chat Protocol), xterm 256 colors, most TELNET options used by MUDs, as well as those required to login via telnet on Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") - (license license:gpl2+))) + (license license:gpl3+))) (define-public laby (package diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 32cdc2b53a..e837cdfb32 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2018, 2019 Arun Isaac ;;; Copyright © 2018 Joshua Sierles, Nextjournal ;;; Copyright © 2018, 2019 Julien Lepiller -;;; Copyright © 2019 Guillaume Le Vaillant +;;; Copyright © 2019, 2020 Guillaume Le Vaillant ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2019 Wiktor Żelazny ;;; Copyright © 2019 Hartmut Goebel @@ -36,6 +36,7 @@ (define-module (gnu packages geo) #:use-module (guix build-system go) #:use-module (guix build-system meson) #:use-module (guix build-system python) + #:use-module (guix build-system qt) #:use-module (guix build-system scons) #:use-module (guix build-system r) #:use-module (guix download) @@ -1336,3 +1337,125 @@ (define-public python-geoip2 (description "Provides an API for the GeoIP2 web services and databases. The API also works with MaxMind’s free GeoLite2 databases.") (license license:asl2.0))) + +(define-public routino + (package + (name "routino") + (version "3.3.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.routino.org/download/routino-" + version ".tgz")) + (sha256 + (base32 + "1ccx3s99j8syxc1gqkzsaqkmyf44l7h3adildnc5iq2md7bp8wab")))) + (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) + (inputs + `(("bzip2" ,bzip2) + ("xz" ,xz) + ("zlib" ,zlib))) + (arguments + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.conf" + (("prefix=/usr/local") + (string-append "prefix=" (assoc-ref outputs "out"))) + (("LDFLAGS_LDSO=-Wl,-R\\.") + "LDFLAGS_LDSO=-Wl,-R$(libdir)") + (("#CFLAGS\\+=-DUSE_XZ") + "CFLAGS+=-DUSE_XZ") + (("#LDFLAGS\\+=-llzma") + "LDFLAGS+=-llzma")) + #t))))) + (synopsis "Routing application for OpenStreetMap data") + (description + "Routino is an application for finding a route between two points +using the dataset of topographical information collected by +@url{https://www.OpenStreetMap.org}.") + (home-page "https://www.routino.org/") + (license license:agpl3+))) + +(define-public qmapshack + (package + (name "qmapshack") + (version "1.14.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Maproom/qmapshack.git") + (commit (string-append "V_" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07c2hrq9sn456w7l3gdr599rmjfv2k6mh159zza7p1py8r7ywksa")))) + (build-system qt-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (inputs + `(("gdal" ,gdal) + ("libjpeg-turbo" ,libjpeg-turbo) + ("proj" ,proj) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtlocation" ,qtlocation) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("quazip" ,quazip) + ("routino" ,routino) + ("sqlite" ,sqlite) ; See wrap phase + ("zlib" ,zlib))) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-cmake-modules + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("find_package\\(Qt5PrintSupport REQUIRED\\)" all) + (string-append all "\nfind_package(Qt5Positioning REQUIRED)"))) + (substitute* "cmake/Modules/FindROUTINO.cmake" + (("/usr/local") + (assoc-ref inputs "routino"))) + ;; The following fixes are included as patches in the sources + ;; of QMapShack, but they are not applied by default, for + ;; some reason... + (invoke "patch" "-p1" "-i" "FindPROJ4.patch") + (invoke "patch" "-p1" "-i" "FindQuaZip5.patch") + #t)) + (add-after 'install 'wrap + ;; The program fails to run with the error: + ;; undefined symbol: sqlite3_column_table_name16 + ;; Forcing the program to use sqlite-with-column-metadata instead + ;; of sqlite using LD_LIBRARY_PATH solves the problem. + ;; + ;; The program also fails to find the QtWebEngineProcess program, + ;; so we set QTWEBENGINEPROCESS_PATH to help it. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (qtwebengineprocess (string-append + (assoc-ref inputs "qtwebengine") + "/lib/qt5/libexec/QtWebEngineProcess")) + (sqlite-lib (string-append (assoc-ref inputs "sqlite") + "/lib"))) + (for-each (lambda (program) + (wrap-program program + `("LD_LIBRARY_PATH" ":" prefix (,sqlite-lib)) + `("QTWEBENGINEPROCESS_PATH" = + (,qtwebengineprocess)))) + (find-files bin ".*"))) + #t))))) + (synopsis "GPS mapping application") + (description + "QMapShack can be used to plan your next outdoor trip or to visualize and +archive all the GPS recordings of your past trips. It is the successor of the +QLandkarte GT application.") + (home-page "https://github.com/Maproom/qmapshack/wiki") + (license license:gpl3+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 57c18997e4..ac566b8647 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver ;;; Copyright © 2015 David Thompson -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner ;;; Copyright © 2016, 2017, 2018 Rene Saavedra ;;; Copyright © 2016 Jochem Raat ;;; Copyright © 2016, 2017, 2019 Kei Kebreau @@ -298,7 +298,7 @@ (define-public gnome-color-manager it easy to manage, install and generate color profiles in the GNOME desktop.") (home-page "https://gitlab.gnome.org/GNOME/gnome-color-manager") - (license license:gpl2))) + (license license:gpl2+))) (define-public gnome-online-miners (package @@ -333,7 +333,132 @@ (define-public gnome-online-miners go through your online content and index them locally in Tracker. It has miners for Facebook, Flickr, Google, ownCloud and SkyDrive.") (home-page "https://wiki.gnome.org/Projects/GnomeOnlineMiners") - (license license:gpl2))) + (license license:gpl2+))) + +(define-public gssdp + (package + (name "gssdp") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "195hi10vrsvh6i927mm6rm1ld5sxah3h5sr3bsjm90vb8lxrxfya")))) + (build-system meson-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("gtk+" ,gtk+) + ("libsoup" ,libsoup))) + (synopsis "GObject-based API over @acronym{SSDP, Simple Service Discovery +Protocol} for GNOME") + (description "This package provides a library to handle resource discovery +and announcement over @acronym{SSDP, Simple Service Discovery Protocol} and +a debugging tool, @command{gssdp-device-sniffer}.") + (home-page "https://gitlab.gnome.org/GNOME/gssdp") + (license license:lgpl2.0+))) + +(define-public gupnp + (package + (name "gupnp") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "12cr3isww4zl0d4himpd2fhl2wmy3jh8sbxp4snp51sw7savv04s")))) + (build-system meson-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("gssdp" ,gssdp) + ("gtk+" ,gtk+) + ("libsoup" ,libsoup))) + (synopsis "PnP API for GNOME") + (description "This package provides GUPnP, an object-oriented framework +for creating UPnP devices and control points, written in C using +@code{GObject} and @code{libsoup}.") + (home-page "https://gitlab.gnome.org/GNOME/gupnp") + (license license:lgpl2.0+))) + +(define-public gupnp-dlna + (package + (name "gupnp-dlna") + (version "0.10.5") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj")))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("libxml" ,libxml2) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("gstreamer" ,gstreamer) + ("gupnp" ,gupnp))) + (propagated-inputs + `(("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good))) + (synopsis "GUPnP DLNA for GNOME") + (description "This package provides a small utility library to +support DLNA-related tasks such as media profile guessing, transcoding to a +given profile, etc. DLNA is a subset of UPnP A/V.") + (home-page "https://gitlab.gnome.org/GNOME/gupnp-dlna") + (license license:lgpl2.0+))) + +(define-public gupnp-av + (package + (name "gupnp-av") + (version "0.12.11") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1p3grslwqm9bc8rmpn4l48d7v9s84nina4r9xbd932dbj8acz7b8")))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("libxml" ,libxml2) + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+) + ("gupnp" ,gupnp))) + (synopsis "GUPnP A/V for GNOME") + (description "This package provides a small library for handling +and implementation of UPnP A/V profiles.") + (home-page "https://gitlab.gnome.org/GNOME/gupnp-av") + (license license:lgpl2.0+))) (define-public libmediaart (package @@ -364,6 +489,99 @@ (define-public libmediaart (home-page "https://gitlab.gnome.org/GNOME/libmediaart") (license license:lgpl2.1+))) +(define-public gnome-initial-setup + (package + (name "gnome-initial-setup") + (version "3.32.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/gnome-initial-setup/" + (version-major+minor version) + "/gnome-initial-setup-" version ".tar.xz")) + (sha256 + (base32 + "1gwhp7dalyc8zsb2pa66cmpdrj2d6drbq5p331sq6zp8ds10k9ry")))) + (build-system meson-build-system) + (arguments + '(#:configure-flags '(;; Enable camera support for user selfie. + "-Dcheese=auto" + "-Dsystemd=false"))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("accountsservice" ,accountsservice) + ;("adwaita-icon-theme" ,adwaita-icon-theme) + ("gdm" ,gdm) + ("geoclue" ,geoclue) + ("gnome-desktop" ,gnome-desktop) + ("gnome-getting-started-docs" ,gnome-getting-started-docs) + ("gnome-online-accounts" ,gnome-online-accounts) + ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") + ("gstreamer" ,gstreamer) + ("ibus" ,ibus) + ("json-glib" ,json-glib) + ("krb5" ,mit-krb5) + ("libgweather" ,libgweather) + ("libsecret" ,libsecret) + ("network-manager" ,network-manager) + ("network-manager-applet" ,network-manager-applet) + ("packagekit" ,packagekit) + ("polkit" ,polkit) + ("pwquality" ,libpwquality) + ("rest" ,rest) + ("upower" ,upower) + ("webkitgtk" ,webkitgtk))) + (synopsis "Initial setup wizard for GNOME desktop") + (description "This package provides a set-up wizard when a +user logs into GNOME for the first time. It typically provides a +tour of all gnome components and allows the user to set them up.") + (home-page "https://gitlab.gnome.org/GNOME/gnome-initial-setup") + (license license:gpl2))) + +(define-public gnome-user-share + (package + (name "gnome-user-share") + (version "3.33.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0lf790pyamdyj7180ils8vizjl8brxcg7jsm1iavfp9ay4wa8mz7")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:configure-flags + `("-Dsystemd=false" + ;; Enable nautilus extension for file sharing. + "-Dnautilus_extension=true"))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("glib" ,glib) + ("gnome-bluetooth" ,gnome-bluetooth) + ("gtk+" ,gtk+) + ("libcanberra" ,libcanberra) + ("libnotify" ,libnotify) + ("nautilus" ,nautilus))) ; For nautilus extension. + (synopsis "File sharing for GNOME desktop") + (description "GNOME User Share is a small package that binds together +various free software projects to bring easy to use user-level file +sharing to the masses.") + (home-page "https://gitlab.gnome.org/GNOME/gnome-user-share") + (license license:gpl2+))) + (define-public gnome-menus (package (name "gnome-menus") @@ -385,7 +603,7 @@ (define-public gnome-menus (description "GNOME Menus contains the libgnome-menu library, the layout configuration files for the GNOME menu, as well as a simple menu editor.") (home-page "https://gitlab.gnome.org/GNOME/gnome-menus") - (license license:gpl2))) + (license license:lgpl2.0+))) (define-public deja-dup (package @@ -1144,7 +1362,7 @@ (define-public evince "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w")))) (build-system glib-or-gtk-build-system) (arguments - `(#:configure-flags '("--disable-nautilus") + `(#:configure-flags '("--disable-nautilus" "--enable-introspection") #:phases (modify-phases %standard-phases (add-before 'install 'skip-gtk-update-icon-cache @@ -1188,6 +1406,7 @@ (define-public evince `(("itstool" ,itstool) ("intltool" ,intltool) ("glib" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) ("xmllint" ,libxml2))) (home-page @@ -1813,77 +2032,76 @@ (define librsvg-next-source (lambda (crate) (delete-file-recursively (string-append "vendor/" (car crate))) (invoke "tar" "xvf" (cdr crate) "-C" "vendor")) - '( -;; aho-corasick 0.7 + '(;("aho-corasick" . #+(package-source rust-aho-corasick-0.7)) ;; alga 0.9 -;; approx 0.3 -;; arrayvec 0.4 + ("approx" . #+(package-source rust-approx-0.3)) + ("arrayvec" . #+(package-source rust-arrayvec-0.4)) ("atty" . #+(package-source rust-atty-0.2)) ("autocfg" . #+(package-source rust-autocfg-0.1)) ("bitflags" . #+(package-source rust-bitflags-1)) ;; block 0.1 -;; bstr 0.2 -;; byteorder 1.3 + ("bstr" . #+(package-source rust-bstr-0.2)) + ("byteorder" . #+(package-source rust-byteorder-1.3)) ;; cairo-rs 0.7 ;; cairo-sys-rs 0.9 -;; cast 0.2 + ("cast" . #+(package-source rust-cast-0.2)) ("cfg-if" . #+(package-source rust-cfg-if-0.1)) ("clap" . #+(package-source rust-clap-2)) - ;("cloudabi" . #+(package-source rust-cloudabi-0.0)) -;; criterion 0.2 -;; criterion-plot 0.3 -;; crossbeam-deque 0.7 -;; crossbeam-epoch 0.7 -;; crossbeam-queue 0.1 -;; crossbeam-utils 0.6 + ("cloudabi" . #+(package-source rust-cloudabi-0.0)) + ("criterion" . #+(package-source rust-criterion-0.2)) + ("criterion-plot" . #+(package-source rust-criterion-plot-0.3)) + ("crossbeam-deque" . #+(package-source rust-crossbeam-deque-0.7)) + ;("crossbeam-epoch" . #+(package-source rust-crossbeam-epoch-0.7)) + ("crossbeam-queue" . #+(package-source rust-crossbeam-queue-0.1)) + ("crossbeam-utils" . #+(package-source rust-crossbeam-utils-0.6)) ;; cssparser 0.25 ;; cssparser-macros 0.3 -;; csv 1.1 -;; csv-core 0.1 + ("csv" . #+(package-source rust-csv-1.1)) + ("csv-core" . #+(package-source rust-csv-core-0.1)) ;; data-url 0.1 ;; downcast-rs 1.0 ("dtoa" . #+(package-source rust-dtoa-0.4)) ;; dtoa-short 0.3 -;; either 1.5 -;; encoding 0.2 -;; encoding-index-japanese 1.20141219.5 -;; encoding-index-korean 1.20141219.5 -;; encoding-index-simpchinese 1.20141219.5 -;; encoding-index-singlebyte 1.20141219.5 -;; encoding-index-tradchinese 1.20141219.5 -;; encoding_index_tests 0.1 + ("either" . #+(package-source rust-either-1.5)) + ("encoding" . #+(package-source rust-encoding-0.2)) + ("encoding-index-japanese" . #+(package-source rust-encoding-index-japanese-1.20141219)) + ("encoding-index-korean" . #+(package-source rust-encoding-index-korean-1.20141219)) + ("encoding-index-simpchinese" . #+(package-source rust-encoding-index-simpchinese-1.20141219)) + ("encoding-index-singlebyte" . #+(package-source rust-encoding-index-singlebyte-1.20141219)) + ("encoding-index-tradchinese" . #+(package-source rust-encoding-index-tradchinese-1.20141219)) + ("encoding_index_tests" . #+(package-source rust-encoding-index-tests-0.1)) ;; float-cmp 0.5 ;; fragile 0.3 - ;("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1)) -;; futf 0.1 + ("fuchsia-cprng" . #+(package-source rust-fuchsia-cprng-0.1)) + ("futf" . #+(package-source rust-futf-0.1)) ;; gdk-pixbuf 0.7 ;; gdk-pixbuf-sys 0.9 -;; generic-array 0.12 + ("generic-array" . #+(package-source rust-generic-array-0.12)) ;; gio 0.7 ;; gio-sys 0.9 ;; glib 0.8 ;; glib-sys 0.9 ;; gobject-sys 0.9 ;; idna 0.2 -;; itertools 0.8 + ("itertools" . #+(package-source rust-itertools-0.8)) ("itoa" . #+(package-source rust-itoa-0.4)) - ;("language-tags" . #+(package-source rust-language-tags-0.2)) + ("language-tags" . #+(package-source rust-language-tags-0.2)) ("lazy_static" . #+(package-source rust-lazy-static-1.3)) ("libc" . #+(package-source rust-libc-0.2)) ;; libm 0.1 ;; locale_config 0.3 ("log" . #+(package-source rust-log-0.4)) -;; mac 0.1 + ("mac" . #+(package-source rust-mac-0.1)) ;; malloc_buf 0.0 ;; markup5ever 0.9 - ;("matches" . #+(package-source rust-matches-0.1)) + ("matches" . #+(package-source rust-matches-0.1)) ;; matrixmultiply 0.2 -;; memchr 2.2 + ;("memchr" . #+(package-source rust-memchr-2.2)) ;; memoffset 0.5 ;; nalgebra 0.18 -;; new_debug_unreachable 1.0 + ("new_debug_unreachable" . #+(package-source rust-new-debug-unreachable-1.0)) ("nodrop" . #+(package-source rust-nodrop-0.1)) -;; num-complex 0.2 + ("num-complex" . #+(package-source rust-num-complex-0.2)) ("num-integer" . #+(package-source rust-num-integer-0.1)) ;; num-rational 0.2 ("num-traits" . #+(package-source rust-num-traits-0.2)) @@ -1896,16 +2114,16 @@ (define librsvg-next-source ;; pangocairo 0.8 ;; pangocairo-sys 0.10 ("percent-encoding" . #+(package-source rust-percent-encoding-2.1)) -;; phf 0.7.24 -;; phf_codegen 0.7.24 -;; phf_generator 0.7.24 -;; phf_shared 0.7.24 - ;("pkg-config" . #+(package-source rust-pkg-config-0.3)) -;; precomputed-hash 0.1 + ("phf" . #+(package-source rust-phf-0.7)) + ("phf_codegen" . #+(package-source rust-phf-codegen-0.7)) + ("phf_generator" . #+(package-source rust-phf-generator-0.7)) + ("phf_shared" . #+(package-source rust-phf-shared-0.7)) + ("pkg-config" . #+(package-source rust-pkg-config-0.3)) + ("precomputed-hash" . #+(package-source rust-precomputed-hash-0.1)) ("proc-macro2" . #+(package-source rust-proc-macro2-1.0)) ;; procedural-masquerade 0.1 ("quote" . #+(package-source rust-quote-1.0)) - ;("rand" . #+(package-source rust-rand-0.6)) + ("rand" . #+(package-source rust-rand-0.6)) ("rand_chacha" . #+(package-source rust-rand-chacha-0.1)) ("rand_core-0.3.1" . #+(package-source rust-rand-core-0.3)) ("rand_core" . #+(package-source rust-rand-core-0.4)) @@ -1916,45 +2134,45 @@ (define librsvg-next-source ("rand_pcg" . #+(package-source rust-rand-pcg-0.1)) ("rand_xorshift" . #+(package-source rust-rand-xorshift-0.1)) ;; rand_xoshiro 0.1 - ;("rawpointer" . #+(package-source rust-rawpointer-0.1)) +;; rawpointer 0.2 ;; rayon 1.2 ;; rayon-core 1.6 ;; rctree 0.3 ("rdrand" . #+(package-source rust-rdrand-0.4)) ;; regex 1.3 -;; regex-automata 0.1 + ("regex-automata" . #+(package-source rust-regex-automata-0.1)) ;("regex-syntax" . #+(package-source rust-regex-syntax-0.6)) -;; rustc_version 0.2 + ("rustc_version" . #+(package-source rust-rustc-version-0.2)) ("ryu" . #+(package-source rust-ryu-1.0)) ("same-file" . #+(package-source rust-same-file-1.0)) ("scopeguard" . #+(package-source rust-scopeguard-1.0)) -;; semver 0.9 - ;("semver-parser" . #+(package-source rust-semver-parser-0.7)) + ("semver" . #+(package-source rust-semver-0.9)) + ("semver-parser" . #+(package-source rust-semver-parser-0.7)) ("serde" . #+(package-source rust-serde-1.0)) ("serde_derive" . #+(package-source rust-serde-derive-1.0)) ("serde_json" . #+(package-source rust-serde-json-1.0)) -;; siphasher 0.2 -;; smallvec 0.6 -;; string_cache 0.7 -;; string_cache_codegen 0.4 -;; string_cache_shared 0.3 + ("siphasher" . #+(package-source rust-siphasher-0.2)) + ("smallvec" . #+(package-source rust-smallvec-0.6)) + ("string_cache" . #+(package-source rust-string-cache-0.7)) + ;("string_cache_codegen" . #+(package-source rust-string-cache-codegen-0.4)) + ("string_cache_shared" . #+(package-source rust-string-cache-shared-0.3)) ("syn" . #+(package-source rust-syn-1.0)) -;; tendril 0.4 + ("tendril" . #+(package-source rust-tendril-0.4)) ("textwrap" . #+(package-source rust-textwrap-0.11)) - ;("thread_local" . #+(package-source rust-thread-local-0.3)) -;; tinytemplate 1.0 - ;("typenum" . #+(package-source rust-typenum-1.10)) -;; unicode-bidi 0.3 -;; unicode-normalization 0.1 + ("thread_local" . #+(package-source rust-thread-local-0.3)) + ("tinytemplate" . #+(package-source rust-tinytemplate-1.0)) + ("typenum" . #+(package-source rust-typenum-1.10)) + ("unicode-bidi" . #+(package-source rust-unicode-bidi-0.3)) + ("unicode-normalization" . #+(package-source rust-unicode-normalization-0.1)) ("unicode-width" . #+(package-source rust-unicode-width-0.1)) ("unicode-xid" . #+(package-source rust-unicode-xid-0.2)) ;; url 2.1 -;; utf-8 0.7 + ("utf-8" . #+(package-source rust-utf-8-0.7)) ("walkdir" . #+(package-source rust-walkdir-2.2)) ("winapi" . #+(package-source rust-winapi-0.3)) - ;("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4)) + ("winapi-i686-pc-windows-gnu" . #+(package-source rust-winapi-i686-pc-windows-gnu-0.4)) ("winapi-util" . #+(package-source rust-winapi-util-0.1)) - ;("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4)) + ("winapi-x86_64-pc-windows-gnu" . #+(package-source rust-winapi-x86-64-pc-windows-gnu-0.4)) ;; xml-rs 0.8 ))) (format #t "Replacing vendored crates in the tarball and repacking ...~%") @@ -4475,7 +4693,7 @@ (define-public grilo (define-public grilo-plugins (package (name "grilo-plugins") - (version "0.3.3") + (version "0.3.10") (source (origin (method url-fetch) @@ -4484,44 +4702,41 @@ (define-public grilo-plugins name "-" version ".tar.xz")) (sha256 (base32 - "172vr1y98d2mzlmg5akjn4ibrcj3gh22cwnb3cv9rvvzhj3yhrpy")))) - (build-system gnu-build-system) + "0jldaixc4kzycn5v8ixkjld1n0z3dp0l1p3vchgdwpvdvc7kcfw0")))) + (build-system meson-build-system) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal - ("intltool" ,intltool) + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") ("itstool" ,itstool) ("pkg-config" ,pkg-config))) + ;; TODO: ahavi, gstreamer (inputs `(("grilo" ,grilo) - ("glib" ,glib) - ("libxml2" ,libxml2) - ("sqlite" ,sqlite) + ;("gmime" ,gmime) ; unused + ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") ("gom" ,gom) - ;; XXX TODO: Add oauth - ;; XXX TODO: Add goa - ;; XXX TODO: Add gdata (e.g. needed for youtube plugin) - ;; XXX TODO: Add lua (needs help finding it) + ;("gssdp" ,gssdp) ; unused + ;("gupnp" ,gupnp) ; unused + ;("gupnp-av" ,gupnp-av) ; unused ("json-glib" ,json-glib) ("avahi" ,avahi) - ("gmime" ,gmime) + ("libgdata" ,libgdata) + ("libmediaart" ,libmediaart) + ;("librest" ,rest) ; unused ("libsoup" ,libsoup) - ("libarchive" ,libarchive) - ("totem-pl-parser" ,totem-pl-parser))) + ("totam-pl-parser" ,totem-pl-parser) + ("tracker" ,tracker))) ; unused because it's too old (arguments - `(#:make-flags (list (string-append "GRL_PLUGINS_DIR=" - %output - "/lib/grilo-" - ,(version-major+minor version))) - ;; XXX FIXME: Try to get the test suite working. It appears to require - ;; a working system dbus. Inside the build container, all tests fail - ;; with: "assertion failed: (source)". Outside of the build container, - ;; most tests succeed. - #:tests? #f)) + `(#:glib-or-gtk? #t + ;;Disable lua-factory as it needs missing dependencies + #:configure-flags '("-Denable-lua-factory=no"))) (home-page "https://live.gnome.org/Grilo") (synopsis "Plugins for the Grilo media discovery library") (description "Grilo is a framework focused on making media discovery and browsing easy -for application developers.") +for application developers. This package provides plugins for common media +discovery protocols.") (license license:lgpl2.1+))) (define-public totem @@ -7389,6 +7604,68 @@ (define-public gnome-default-applications (license license:gpl3+) (home-page #f))) +(define-public libgovirt + (package + (name "libgovirt") + (version "0.3.6") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "19pb71pag3vsi83kbv8h08kimwym4hpw36kjl6a5ik5nk50mc8sg")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("glib-networking" ,glib-networking) ; GIO plugin--for the tests + ("librest" ,rest))) + (synopsis "GoVirt Library") + (description "GoVirt is a GObject wrapper for the oVirt REST API.") + (home-page "https://gitlab.gnome.org/GNOME/libgovirt") + (license license:gpl2+))) + +(define-public gnome-weather + (package + (name "gnome-weather") + (version "3.34.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1g63xzs17i36if923b36k9fwbk0nqa5vz6zh1k6q2axrzhhpx1i4")))) + (build-system meson-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `( ;("adwaita-icon-theme" ,adwaita-icon-theme) + ("appstream-glib" ,appstream-glib) + ("geoclue" ,geoclue) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gjs" ,gjs) + ("gnome-desktop" ,gnome-desktop) + ("libgweather" ,libgweather))) + (synopsis "Weather monitoring for GNOME desktop") + (description "GNOME Weather is a small application that allows you to +monitor the current weather conditions for your city, or anywhere in the +world.") + (home-page "https://wiki.gnome.org/Apps/Weather") + (license license:gpl2+))) + (define-public gnome (package (name "gnome") diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 0d3b1e8339..6809623ce7 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -330,13 +330,13 @@ (define-public python2-pydot (define-public dot2tex (package (name "dot2tex") - (version "2.9.0") + (version "2.11.3") (source (origin (method url-fetch) (uri (pypi-uri "dot2tex" version)) (sha256 (base32 - "0jhdwp0wv2h0xb7j2s5xiv7i8yaqgfpwwqcyrjvaxkfwsynm8gkx")))) + "1kp77wiv7b5qib82i3y3sn9r49rym43aaqm5aw1bwnzfbbq2m6i9")))) (build-system python-build-system) (arguments `(#:python ,python-2)) diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 323e3ccfee..63b4179bc6 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2018 Leo Famulari ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2018 Tobias Geerinckx-Rice -;;; Copyright © 2019 Marius Bakke +;;; Copyright © 2019, 2020 Marius Bakke ;;; ;;; This file is part of GNU Guix. ;;; @@ -168,7 +168,14 @@ (define-public gst-plugins-base (propagated-inputs `(("glib" ,glib) ;required by gstreamer-sdp-1.0.pc ("gstreamer" ,gstreamer) ;required by gstreamer-plugins-base-1.0.pc - ("orc" ,orc))) ;required by gstreamer-audio-1.0.pc + + ;; XXX: Do not enable Orc optimizations on ARM systems because + ;; it leads to two test failures. + ;; https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/683 + ,@(if (string-prefix? "arm" (or (%current-target-system) + (%current-system))) + '() + `(("orc" ,orc))))) ;required by gstreamer-audio-1.0.pc (inputs `(("cdparanoia" ,cdparanoia) ("pango" ,pango) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 37dc923ab5..b136449f7e 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1360,6 +1360,16 @@ (define-public perl-gtk2 `(("gtk+" ,gtk+-2))) (propagated-inputs `(("perl-pango" ,perl-pango))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'remove-broken-test + ;; See https://gitlab.gnome.org/GNOME/perl-gtk2/issues/3. + (lambda _ + (substitute* "t/GdkPixbuf.t" + (("tests => 112") "tests => 111") + (("ok \\(defined \\$pixbuf, \"Don't crash on partial pixmap data\"\\);") + "# ok (defined $pixbuf, \"Don't crash on partial pixmap data\");"))))))) (home-page "https://metacpan.org/release/Gtk2") (synopsis "Perl interface to the 2.x series of the Gimp Toolkit library") (description "Perl bindings to the 2.x series of the Gtk+ widget set. diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 80ff00b23b..dadbce8bab 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -643,6 +643,12 @@ (define-public guile-colorized "Guile-colorized provides you with a colorized REPL for GNU Guile.") (license license:gpl3+))) +(define-public guile3.0-colorized + (package + (inherit guile-colorized) + (name "guile3.0-colorized") + (native-inputs `(("guile" ,guile-next))))) + (define-public guile-pfds (package (name "guile-pfds") @@ -777,6 +783,12 @@ (define-public guile-simple-zmq messaging library.") (license license:gpl3+)))) +(define-public guile3.0-simple-zmq + (package + (inherit guile-simple-zmq) + (name "guile3.0-simple-zmq") + (native-inputs `(("guile" ,guile-next))))) + (define-public jupyter-guile-kernel (let ((commit "a7db9245a886e104138474df46c3e88b95cff629") (revision "1")) @@ -984,7 +996,20 @@ (define-public guile-newt (file-name (git-file-name name version)) (sha256 (base32 - "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")))) + "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure.ac" + (("^GUILE_PKG.*") + "GUILE_PKG([3.0 2.2 2.0])\n")) + + ;; Remove "guile.m4" since it contains an obsolete version + ;; of 'GUILE_PKG' that doesn't work with development + ;; versions such as 2.9. + (delete-file "m4/guile.m4") + #t)))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1004,6 +1029,13 @@ (define-public guile-newt (home-page "https://gitlab.com/mothacehe/guile-newt") (license license:gpl3+))) +(define-public guile3.0-newt + (package + (inherit guile-newt) + (name "guile3.0-newt") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-newt)))))) + (define-public guile-mastodon (package (name "guile-mastodon") @@ -1045,7 +1077,20 @@ (define-public guile-parted (file-name (git-file-name name version)) (sha256 (base32 - "01qmv6xnbbq3wih0dl9bscvca2d7zx7bjiqf35y6dkaqsp8nvdxf")))) + "01qmv6xnbbq3wih0dl9bscvca2d7zx7bjiqf35y6dkaqsp8nvdxf")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Allow builds with Guile 3.0. + (substitute* "configure.ac" + (("^GUILE_PKG.*") + "GUILE_PKG([3.0 2.2 2.0])\n")) + + ;; Remove "guile.m4" since it contains an obsolete version + ;; of 'GUILE_PKG' that doesn't work with development + ;; versions such as 2.9. + (delete-file "m4/guile.m4") + #t)))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1067,6 +1112,15 @@ (define-public guile-parted (home-page "https://gitlab.com/mothacehe/guile-parted") (license license:gpl3+))) +(define-public guile3.0-parted + (package + (inherit guile-parted) + (name "guile3.0-parted") + (inputs `(("guile" ,guile-next) + ,@(alist-delete "guile" (package-inputs guile-parted)))) + (propagated-inputs + `(("guile-bytestructures" ,guile3.0-bytestructures))))) + (define-public guile-xosd (package (name "guile-xosd") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 7b6009770d..803885ab7e 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2014 Cyril Roelandt ;;; Copyright © 2014, 2016, 2018 David Thompson ;;; Copyright © 2014, 2017, 2018 Mark H Weaver @@ -277,14 +277,14 @@ (define-public guile-next (package (inherit guile-2.2) (name "guile-next") - (version "2.9.8") + (version "2.9.9") (source (origin (inherit (package-source guile-2.2)) (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-" version ".tar.xz")) (sha256 (base32 - "09icv9ymdb7hchn34c32s7x8ycilqj74mirmi4b3bm5zp1izd32a")))) + "0s99zzdzj29fb42q5fwn7vqg9k7y9ppq9vkv4p39zr93z8694wdz")))) (native-search-paths (list (search-path-specification (variable "GUILE_LOAD_PATH") @@ -296,9 +296,9 @@ (define-public guile-next (properties '((ftp-server . "alpha.gnu.org") (upstream-name . "guile"))))) -(define (make-guile-readline guile) +(define* (make-guile-readline guile #:optional (name "guile-readline")) (package - (name "guile-readline") + (name name) (version (package-version guile)) (source (package-source guile)) (build-system gnu-build-system) @@ -355,6 +355,9 @@ (define (make-guile-readline guile) (define-public guile-readline (make-guile-readline guile-2.2)) +(define-public guile3.0-readline + (make-guile-readline guile-next "guile3.0-readline")) + (define (guile-variant-package-name prefix) (lambda (name) "Return NAME with PREFIX instead of \"guile-\", when applicable." @@ -449,9 +452,7 @@ (define-public guile-json-1 ;; Deprecate the 'guile-json' alias to force the use 'guile-json-1' or ;; 'guile-json-3'. In the future, we may reuse 'guile-json' as an alias for ;; 'guile-json-3'. -(define-deprecated guile-json - guile-json-1 - guile-json-1) +(define-deprecated guile-json guile-json-1) (export guile-json) (define-public guile2.0-json @@ -589,8 +590,16 @@ (define-public guile-bytestructures "0q0habjiy3h9cigb7q1br9kz6z212dn2ab31f6dgd3rrmsfn5rvb")))) (build-system gnu-build-system) (arguments - '(#:make-flags - '("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings + `(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings + + #:phases (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (package ,(package-full-name this-package "-")) + (doc (string-append out "/share/doc/" package))) + (install-file "README.md" doc) + #t)))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 1620cb1b2e..bb5c25014e 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2019 Nicolas Goaziou ;;; Copyright © 2018, 2019 Hartmut Goebel -;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -297,7 +297,7 @@ (define-public kdevelop-pg-qt (license license:lgpl2.0+))) ;; kdevplatform was merged into kdevelop as of 5.2.x -(define-deprecated kdevplatform kdevelop kdevelop) +(define-deprecated kdevplatform kdevelop) (define-public krita (package diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 83736fcc1f..7e2d04e53e 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -357,42 +357,42 @@ (define (%upstream-linux-source version hash) "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.4-version "5.4.10") +(define-public linux-libre-5.4-version "5.4.11") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1p9f0h9fl1xy13dag1x7j2ic8kdv0zsp42c8baxn7cz3llc04g7j"))) + (hash (base32 "0b6pamnhyzf4n6sl8lxcnllrn41xmbldipfca23j1n71spjkdgb2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.94") +(define-public linux-libre-4.19-version "4.19.95") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0rvlz94mjl7ygpmhz0yn2whx9dq9fmy0w1472bj16hkwbaki0an6"))) + (hash (base32 "1c2g5wcf4zgy5q51qrf0s4hf3pr1j8gi8gn27w8cafn1xqrcmvaa"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.163") +(define-public linux-libre-4.14-version "4.14.164") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0jdh54rqdsb3b908v2q4xjn8y45b7rdnwgab0s4qf5alznfcqagb"))) + (hash (base32 "0jzbgpxlfy64q7zaqix87k8ci1fr9lkx1xr9m5zjniziydhi00x2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.208") +(define-public linux-libre-4.9-version "4.9.209") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0njjw1i8dilihn1hz62zra4b9y05fb3r2k2sqlkd0wfn86c1rbdp"))) + (hash (base32 "1qarm90l1r4y68v5swhf81z6v6gspa8sw9jab3fxrz8mz6zdan02"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.208") +(define-public linux-libre-4.4-version "4.4.209") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "03jj91z5dc0ybpjy9w6aanb3k53gcj7gsjc32h3ldf72hlmgz6aq"))) + (hash (base32 "0m94795grq3sbj7jlmwc0ncq3vap9lf1z00sdiys17kjs3bcfbnh"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -927,7 +927,7 @@ (define-public acpi-call-linux-module (define-public vhba-module (package (name "vhba-module") - (version "20190831") + (version "20200106") (source (origin (method url-fetch) (uri (string-append @@ -935,7 +935,7 @@ (define-public vhba-module version ".tar.bz2")) (sha256 (base32 - "1ybbk6l06n0y11n5wnfmvdz0baizmq55l458ywimghdyz0n7g0ws")))) + "10rlvsfj0fw6n0qmwcnvhimqnsnhi7n55lyl7fq1pkwggf5218sr")))) (build-system linux-module-build-system) (arguments ;; TODO: No tests? @@ -6030,10 +6030,10 @@ (define-public xfsprogs (lambda _ (invoke "make" "install-dev")))))) (native-inputs - `(("gettext" ,gettext-minimal) - ("util-linux" ,util-linux))) + `(("gettext" ,gettext-minimal))) (inputs - `(("python" ,python-wrapper))) + `(("libuuid" ,util-linux) + ("python" ,python-wrapper))) (home-page "https://xfs.wiki.kernel.org/") (synopsis "XFS file system tools") (description "This package provides commands to create and check XFS diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 54746de9f2..2a1babde79 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -3376,6 +3376,19 @@ (define-public sbcl-trivial-backtrace (build-system asdf-build-system/sbcl) (inputs `(("sbcl-lift" ,sbcl-lift))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'check 'delete-test-results + (lambda* (#:key outputs #:allow-other-keys) + (let ((test-results (string-append (assoc-ref outputs "out") + "/share/common-lisp/" + (%lisp-type) "-source" + "/trivial-backtrace" + "/test-results"))) + (when (file-exists? test-results) + (delete-file-recursively test-results))) + #t))))) (home-page "https://common-lisp.net/project/trivial-backtrace/") (synopsis "Portable simple API to work with backtraces in Common Lisp") (description @@ -9155,3 +9168,35 @@ (define-public sbcl-cl-ana (define-public cl-ana (sbcl-package->cl-source-package sbcl-cl-ana)) + +(define-public sbcl-archive + (let ((commit "631271c091ed02994bec3980cb288a2cf32c7cdc") + (revision "1")) + (package + (name "sbcl-archive") + (version (git-version "0.9" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sharplispers/archive.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pvsc9fmybx7rxd0kmzq4shi6hszdpwdc1sfy7jwyfxf8n3hnv4p")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cl-fad" ,sbcl-cl-fad) + ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) + (synopsis "Common Lisp library for tar and cpio archives") + (description + "This is a Common Lisp library to read and write disk-based file +archives such as those generated by the tar and cpio programs on Unix.") + (home-page "https://github.com/sharplispers/archive") + (license license:bsd-3)))) + +(define-public cl-archive + (sbcl-package->cl-source-package sbcl-archive)) + +(define-public ecl-archive + (sbcl-package->ecl-package sbcl-archive)) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 4ec1ad482f..cbb1112d9f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Thomas Danckaert -;;; Copyright © 2017, 2018, 2019 Paul Garlick +;;; Copyright © 2017, 2018, 2019, 2020 Paul Garlick ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017 Theodoros Foradis @@ -1993,14 +1993,14 @@ (define-public petsc-complex-openmpi (define-public python-petsc4py (package (name "python-petsc4py") - (version "3.10.1") + (version "3.11.0") (source (origin (method url-fetch) (uri (pypi-uri "petsc4py" version)) (sha256 (base32 - "094hcnran0r2z1wlvmjswsz3ski1m9kqrl5l0ax8jjhnk55x0flh")))) + "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q")))) (build-system python-build-system) (arguments `(#:phases @@ -2163,14 +2163,14 @@ (define-public slepc-complex-openmpi (define-public python-slepc4py (package (name "python-slepc4py") - (version "3.10.0") + (version "3.11.0") (source (origin (method url-fetch) (uri (pypi-uri "slepc4py" version)) (sha256 (base32 - "0x049dyc8frgh79fvvavf4vlbqp4mgm61nsaivzdav4316vvlv1j")))) + "1ksp08kxf4wg408b9nn39z3qfhy643j22d4rfbl30vzxk2rxh4lq")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 989c708ab8..323e32ae61 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -173,16 +173,17 @@ (define-public libsignal-protocol-c (define-public bitlbee (package (name "bitlbee") - (version "3.5.1") + (version "3.6") (source (origin (method url-fetch) (uri (string-append "https://get.bitlbee.org/src/bitlbee-" version ".tar.gz")) (sha256 - (base32 "0sgsn0fv41rga46mih3fyv65cvfa6rvki8x92dn7bczbi7yxfdln")))) + (base32 "0zhhcbcr59sx9h4maf8zamzv2waya7sbsl7w74gbyilvy93dw5cz")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("check" ,check))) + ;; Note: Change to 'check' for versions > 3.6. + ("check" ,check-0.12))) (inputs `(("glib" ,glib) ("libotr" ,libotr) ("gnutls" ,gnutls) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 55641d8fa1..00e0d12eab 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -159,8 +159,7 @@ (define-public hwloc-2 "-1")) #t)))))))) -(define-deprecated hwloc-2.0 'hwloc-2 - hwloc-2) +(define-deprecated hwloc-2.0 hwloc-2) (define-public hwloc ;; The latest stable series of hwloc. diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index be243d1c67..2583191f33 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2978,7 +2978,7 @@ (define-public milkytracker (define-public schismtracker (package (name "schismtracker") - (version "20190614") + (version "20190805") (source (origin (method git-fetch) (uri (git-reference @@ -2987,7 +2987,7 @@ (define-public schismtracker (file-name (git-file-name name version)) (sha256 (base32 - "0cg0q5bkn8a06v03vmj69xyhi4xxpl729k4008q4hiakh9gy2x49")) + "0qqps20vvn3rgpg8174bjrrm38gqcci2z5z4c1r1vhbccclahgsd")) (modules '((guix build utils))) (snippet ;; Remove use of __DATE__ and __TIME__ for reproducibility. @@ -3838,7 +3838,8 @@ (define-public lmms ("libsndfile1" ,libsndfile) ("libxft" ,libxft) ("freetype2" ,freetype) - ("fftw3f" ,fftwf))) + ("fftw3f" ,fftwf) + ("jack" ,jack-1))) (home-page "https://lmms.io/") (synopsis "Music composition tool") (description "LMMS is a digital audio workstation. It includes tools for sequencing diff --git a/gnu/packages/patches/audacity-build-with-system-portaudio.patch b/gnu/packages/patches/audacity-build-with-system-portaudio.patch index 3b73a6c930..05325a1493 100644 --- a/gnu/packages/patches/audacity-build-with-system-portaudio.patch +++ b/gnu/packages/patches/audacity-build-with-system-portaudio.patch @@ -1,6 +1,8 @@ Downloaded from here: https://sourceforge.net/p/audacity/mailman/message/36106562/ +Modified for use on later versions of audacity. + >From 5f9482a191359f2c477763a36d2c865c5f186602 Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Tue, 7 Nov 2017 13:06:33 +0100 @@ -31,16 +33,16 @@ over the code where it's used. 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp -index a78bd1cab..d5481838d 100644 +index 48715869c..bb4bf472c 100644 --- a/src/AudioIO.cpp +++ b/src/AudioIO.cpp -@@ -452,8 +452,23 @@ writing audio. +@@ -480,9 +480,22 @@ time warp info and AudioIOListener and whether the playback is looped. #define ROUND(x) (int) ((x)+0.5) //#include - #include "../lib-src/portmidi/pm_common/portmidi.h" + // #include "../lib-src/portmidi/pm_common/portmidi.h" - #include "../lib-src/portaudio-v19/src/common/pa_util.h" #include "NoteTrack.h" -+ + #endif +PaTime PaUtil_GetTime( void ) +{ +#ifdef HAVE_MACH_ABSOLUTE_TIME @@ -55,10 +57,6 @@ index a78bd1cab..d5481838d 100644 + return (PaTime) tv.tv_usec * 1e-6 + tv.tv_sec; +#endif +} -+ - #endif #ifdef EXPERIMENTAL_AUTOMATED_INPUT_LEVEL_ADJUSTMENT --- -2.15.0 - + #define LOWER_BOUND 0.0 diff --git a/gnu/packages/patches/jsoncpp-fix-inverted-case.patch b/gnu/packages/patches/jsoncpp-fix-inverted-case.patch new file mode 100644 index 0000000000..e4897de1b8 --- /dev/null +++ b/gnu/packages/patches/jsoncpp-fix-inverted-case.patch @@ -0,0 +1,22 @@ +This patch fixes a bug and related test failure on platforms where 'char' +is unsigned. + +Taken from upstream: +https://github.com/open-source-parsers/jsoncpp/commit/f11611c8785082ead760494cba06196f14a06dcb + +diff --git a/src/lib_json/json_writer.cpp b/src/lib_json/json_writer.cpp +index 8e06cca2..56195dc1 100644 +--- a/src/lib_json/json_writer.cpp ++++ b/src/lib_json/json_writer.cpp +@@ -178,8 +178,9 @@ static bool isAnyCharRequiredQuoting(char const* s, size_t n) { + + char const* const end = s + n; + for (char const* cur = s; cur < end; ++cur) { +- if (*cur == '\\' || *cur == '\"' || *cur < ' ' || +- static_cast(*cur) < 0x80) ++ if (*cur == '\\' || *cur == '\"' || ++ static_cast(*cur) < ' ' || ++ static_cast(*cur) >= 0x80) + return true; + } + return false; diff --git a/gnu/packages/patches/spice-fix-test-armhf.patch b/gnu/packages/patches/spice-fix-test-armhf.patch new file mode 100644 index 0000000000..5c51bd6ede --- /dev/null +++ b/gnu/packages/patches/spice-fix-test-armhf.patch @@ -0,0 +1,19 @@ +Fix test failure on armhf and ppc64el: +https://gitlab.freedesktop.org/spice/spice-server/issues/31 + +Taken from upstream: +https://gitlab.freedesktop.org/spice/spice/commit/19f9f454e0777d851f26d14df0c7984267c57015 + +diff --git a/server/tests/test-qxl-parsing.c b/server/tests/test-qxl-parsing.c +index 60ca8f88c62441e02577ced21e4f60a08ad4171a..234bdabc9ce619d0799b5136f1d72357b0b2f490 100644 +--- a/server/tests/test-qxl-parsing.c ++++ b/server/tests/test-qxl-parsing.c +@@ -96,7 +96,7 @@ static void test_memslot_invalid_slot_id(void) + RedMemSlotInfo mem_info; + init_meminfo(&mem_info); + +- memslot_get_virt(&mem_info, 1 << mem_info.memslot_id_shift, 16, 0); ++ memslot_get_virt(&mem_info, UINT64_C(1) << mem_info.memslot_id_shift, 16, 0); + } + + static void test_memslot_invalid_addresses(void) diff --git a/gnu/packages/patches/wavpack-CVE-2018-6767.patch b/gnu/packages/patches/wavpack-CVE-2018-6767.patch deleted file mode 100644 index f49a8f0fd6..0000000000 --- a/gnu/packages/patches/wavpack-CVE-2018-6767.patch +++ /dev/null @@ -1,119 +0,0 @@ -Fix CVE-2018-6767: -https://nvd.nist.gov/vuln/detail/CVE-2018-6767 -https://security-tracker.debian.org/tracker/CVE-2018-6767 - -Patch copied from upstream source repository: -https://github.com/dbry/WavPack/commit/d5bf76b5a88d044a1be1d5656698e3ba737167e5 - -From d5bf76b5a88d044a1be1d5656698e3ba737167e5 Mon Sep 17 00:00:00 2001 -From: David Bryant -Date: Sun, 4 Feb 2018 11:28:15 -0800 -Subject: [PATCH] issue #27, do not overwrite stack on corrupt RF64 file - ---- - cli/riff.c | 39 ++++++++++++++++++++++++++++++++------- - 1 file changed, 32 insertions(+), 7 deletions(-) - -diff --git a/cli/riff.c b/cli/riff.c -index 8b1af45..de98c1e 100644 ---- a/cli/riff.c -+++ b/cli/riff.c -@@ -42,6 +42,7 @@ typedef struct { - - #pragma pack(pop) - -+#define CS64ChunkFormat "4D" - #define DS64ChunkFormat "DDDL" - - #define WAVPACK_NO_ERROR 0 -@@ -101,13 +102,13 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack - - if (!strncmp (chunk_header.ckID, "ds64", 4)) { - if (chunk_header.ckSize < sizeof (DS64Chunk) || -- !DoReadFile (infile, &ds64_chunk, chunk_header.ckSize, &bcount) || -- bcount != chunk_header.ckSize) { -+ !DoReadFile (infile, &ds64_chunk, sizeof (DS64Chunk), &bcount) || -+ bcount != sizeof (DS64Chunk)) { - error_line ("%s is not a valid .WAV file!", infilename); - return WAVPACK_SOFT_ERROR; - } - else if (!(config->qmode & QMODE_NO_STORE_WRAPPER) && -- !WavpackAddWrapper (wpc, &ds64_chunk, chunk_header.ckSize)) { -+ !WavpackAddWrapper (wpc, &ds64_chunk, sizeof (DS64Chunk))) { - error_line ("%s", WavpackGetErrorMessage (wpc)); - return WAVPACK_SOFT_ERROR; - } -@@ -315,10 +316,11 @@ int ParseRiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack - - int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, int qmode) - { -- int do_rf64 = 0, write_junk = 1; -+ int do_rf64 = 0, write_junk = 1, table_length = 0; - ChunkHeader ds64hdr, datahdr, fmthdr; - RiffChunkHeader riffhdr; - DS64Chunk ds64_chunk; -+ CS64Chunk cs64_chunk; - JunkChunk junkchunk; - WaveHeader wavhdr; - uint32_t bcount; -@@ -380,6 +382,7 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, - strncpy (riffhdr.formType, "WAVE", sizeof (riffhdr.formType)); - total_riff_bytes = sizeof (riffhdr) + wavhdrsize + sizeof (datahdr) + ((total_data_bytes + 1) & ~(int64_t)1); - if (do_rf64) total_riff_bytes += sizeof (ds64hdr) + sizeof (ds64_chunk); -+ total_riff_bytes += table_length * sizeof (CS64Chunk); - if (write_junk) total_riff_bytes += sizeof (junkchunk); - strncpy (fmthdr.ckID, "fmt ", sizeof (fmthdr.ckID)); - strncpy (datahdr.ckID, "data", sizeof (datahdr.ckID)); -@@ -394,11 +397,12 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, - - if (do_rf64) { - strncpy (ds64hdr.ckID, "ds64", sizeof (ds64hdr.ckID)); -- ds64hdr.ckSize = sizeof (ds64_chunk); -+ ds64hdr.ckSize = sizeof (ds64_chunk) + (table_length * sizeof (CS64Chunk)); - CLEAR (ds64_chunk); - ds64_chunk.riffSize64 = total_riff_bytes; - ds64_chunk.dataSize64 = total_data_bytes; - ds64_chunk.sampleCount64 = total_samples; -+ ds64_chunk.tableLength = table_length; - riffhdr.ckSize = (uint32_t) -1; - datahdr.ckSize = (uint32_t) -1; - WavpackNativeToLittleEndian (&ds64hdr, ChunkHeaderFormat); -@@ -409,6 +413,14 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, - datahdr.ckSize = (uint32_t) total_data_bytes; - } - -+ // this "table" is just a dummy placeholder for testing (normally not written) -+ -+ if (table_length) { -+ strncpy (cs64_chunk.ckID, "dmmy", sizeof (cs64_chunk.ckID)); -+ cs64_chunk.chunkSize64 = 12345678; -+ WavpackNativeToLittleEndian (&cs64_chunk, CS64ChunkFormat); -+ } -+ - // write the RIFF chunks up to just before the data starts - - WavpackNativeToLittleEndian (&riffhdr, ChunkHeaderFormat); -@@ -418,8 +430,21 @@ int WriteRiffHeader (FILE *outfile, WavpackContext *wpc, int64_t total_samples, - - if (!DoWriteFile (outfile, &riffhdr, sizeof (riffhdr), &bcount) || bcount != sizeof (riffhdr) || - (do_rf64 && (!DoWriteFile (outfile, &ds64hdr, sizeof (ds64hdr), &bcount) || bcount != sizeof (ds64hdr))) || -- (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk))) || -- (write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) || -+ (do_rf64 && (!DoWriteFile (outfile, &ds64_chunk, sizeof (ds64_chunk), &bcount) || bcount != sizeof (ds64_chunk)))) { -+ error_line ("can't write .WAV data, disk probably full!"); -+ return FALSE; -+ } -+ -+ // again, this is normally not written except for testing -+ -+ while (table_length--) -+ if (!DoWriteFile (outfile, &cs64_chunk, sizeof (cs64_chunk), &bcount) || bcount != sizeof (cs64_chunk)) { -+ error_line ("can't write .WAV data, disk probably full!"); -+ return FALSE; -+ } -+ -+ -+ if ((write_junk && (!DoWriteFile (outfile, &junkchunk, sizeof (junkchunk), &bcount) || bcount != sizeof (junkchunk))) || - !DoWriteFile (outfile, &fmthdr, sizeof (fmthdr), &bcount) || bcount != sizeof (fmthdr) || - !DoWriteFile (outfile, &wavhdr, wavhdrsize, &bcount) || bcount != wavhdrsize || - !DoWriteFile (outfile, &datahdr, sizeof (datahdr), &bcount) || bcount != sizeof (datahdr)) { diff --git a/gnu/packages/patches/wavpack-CVE-2018-7253.patch b/gnu/packages/patches/wavpack-CVE-2018-7253.patch deleted file mode 100644 index 651755afd0..0000000000 --- a/gnu/packages/patches/wavpack-CVE-2018-7253.patch +++ /dev/null @@ -1,29 +0,0 @@ -Fix CVE-2018-7253: -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7253 - -Copied from upstream: -https://github.com/dbry/WavPack/commit/36a24c7881427d2e1e4dc1cef58f19eee0d13aec - -diff --git a/cli/dsdiff.c b/cli/dsdiff.c -index 410dc1c..c016df9 100644 ---- a/cli/dsdiff.c -+++ b/cli/dsdiff.c -@@ -153,7 +153,17 @@ int ParseDsdiffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpa - error_line ("dsdiff file version = 0x%08x", version); - } - else if (!strncmp (dff_chunk_header.ckID, "PROP", 4)) { -- char *prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize); -+ char *prop_chunk; -+ -+ if (dff_chunk_header.ckDataSize < 4 || dff_chunk_header.ckDataSize > 1024) { -+ error_line ("%s is not a valid .DFF file!", infilename); -+ return WAVPACK_SOFT_ERROR; -+ } -+ -+ if (debug_logging_mode) -+ error_line ("got PROP chunk of %d bytes total", (int) dff_chunk_header.ckDataSize); -+ -+ prop_chunk = malloc ((size_t) dff_chunk_header.ckDataSize); - - if (!DoReadFile (infile, prop_chunk, (uint32_t) dff_chunk_header.ckDataSize, &bcount) || - bcount != dff_chunk_header.ckDataSize) { diff --git a/gnu/packages/patches/wavpack-CVE-2018-7254.patch b/gnu/packages/patches/wavpack-CVE-2018-7254.patch deleted file mode 100644 index 61db296ec8..0000000000 --- a/gnu/packages/patches/wavpack-CVE-2018-7254.patch +++ /dev/null @@ -1,62 +0,0 @@ -Fix CVE-2018-7254: -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7254 - -Copied from upstream: -https://github.com/dbry/WavPack/commit/8e3fe45a7bac31d9a3b558ae0079e2d92a04799e - -diff --git a/cli/caff.c b/cli/caff.c -index ae57c4b..6248a71 100644 ---- a/cli/caff.c -+++ b/cli/caff.c -@@ -89,8 +89,8 @@ typedef struct - - #define CAFChannelDescriptionFormat "LLLLL" - --static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21 }; --static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16 }; -+static const char TMH_full [] = { 1,2,3,13,9,10,5,6,12,14,15,16,17,9,4,18,7,8,19,20,21,0 }; -+static const char TMH_std [] = { 1,2,3,11,8,9,5,6,10,12,13,14,15,7,4,16,0 }; - - static struct { - uint32_t mChannelLayoutTag; // Core Audio layout, 100 - 146 in high word, num channels in low word -@@ -274,10 +274,19 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack - } - } - else if (!strncmp (caf_chunk_header.mChunkType, "chan", 4)) { -- CAFChannelLayout *caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize); -+ CAFChannelLayout *caf_channel_layout; - -- if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || -- !DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) || -+ if (caf_chunk_header.mChunkSize < sizeof (CAFChannelLayout) || caf_chunk_header.mChunkSize > 1024) { -+ error_line ("this .CAF file has an invalid 'chan' chunk!"); -+ return WAVPACK_SOFT_ERROR; -+ } -+ -+ if (debug_logging_mode) -+ error_line ("'chan' chunk is %d bytes", (int) caf_chunk_header.mChunkSize); -+ -+ caf_channel_layout = malloc ((size_t) caf_chunk_header.mChunkSize); -+ -+ if (!DoReadFile (infile, caf_channel_layout, (uint32_t) caf_chunk_header.mChunkSize, &bcount) || - bcount != caf_chunk_header.mChunkSize) { - error_line ("%s is not a valid .CAF file!", infilename); - free (caf_channel_layout); -@@ -495,8 +504,15 @@ int ParseCaffHeaderConfig (FILE *infile, char *infilename, char *fourcc, Wavpack - } - else { // just copy unknown chunks to output file - -- int bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize; -- char *buff = malloc (bytes_to_copy); -+ uint32_t bytes_to_copy = (uint32_t) caf_chunk_header.mChunkSize; -+ char *buff; -+ -+ if (caf_chunk_header.mChunkSize < 0 || caf_chunk_header.mChunkSize > 1048576) { -+ error_line ("%s is not a valid .CAF file!", infilename); -+ return WAVPACK_SOFT_ERROR; -+ } -+ -+ buff = malloc (bytes_to_copy); - - if (debug_logging_mode) - error_line ("extra unknown chunk \"%c%c%c%c\" of %d bytes", diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm index 7f6a2e8e6a..6346c54f22 100644 --- a/gnu/packages/popt.scm +++ b/gnu/packages/popt.scm @@ -62,8 +62,13 @@ (define-public popt (version "1.16") (source (origin (method url-fetch) - (uri (string-append "http://rpm5.org/files/popt/popt-" - version ".tar.gz")) + ;; The rpm5.org domain does not resolve since 2019-06-13, so we + ;; borrow Debians infrastructure for the source download. + (uri (list (string-append "https://deb.debian.org/debian/pool/main" + "/p/popt/popt_" version ".orig.tar.gz") + ;; Keep the old URL around in case it reappears. + (string-append "http://rpm5.org/files/popt/popt-" + version ".tar.gz"))) (sha256 (base32 "1j2c61nn2n351nhj4d25mnf3vpiddcykq005w2h6kw79dwlysa77")))) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 44a4eab50b..f35540686c 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -49,6 +49,7 @@ (define-module (gnu packages python-crypto) #:use-module (gnu packages multiprecision) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages time) @@ -310,21 +311,39 @@ (define-public python2-pycrypto (define-public python-keyring (package (name "python-keyring") - (version "8.7") + (version "21.0.0") (source (origin (method url-fetch) (uri (pypi-uri "keyring" version)) (sha256 (base32 - "0482rmi2x6p78wl2kz8qzyq21xz1sbbfwnv5x7dggar4vkwxhzfx")))) + "1k0w3yh3fz0qp0cvkxdiinq9jzbrnc6bd88qpjz34x3cgcr94psz")) + (modules '((guix build utils))) + (snippet + ;; https://github.com/jaraco/keyring/issues/414 + '(begin (substitute* "tests/test_packaging.py" + (("ep, =") "(ep,) =")) #t)))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + ;; Not clear why this test fails. + (delete-file "tests/test_packaging.py") + (substitute* "pytest.ini" + (("--black ") "")) + (invoke "pytest")))))) (native-inputs `(("python-pytest" ,python-pytest) - ("python-pytest-runner" ,python-pytest-runner) + ("python-pytest-checkdocs" ,python-pytest-checkdocs) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-flake8" ,python-pytest-flake8) ("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs - `(("python-pycrypto" ,python-pycrypto))) + `(("python-importlib-metadata" ,python-importlib-metadata) + ("python-secretstorage" ,python-secretstorage))) (home-page "https://github.com/jaraco/keyring") (synopsis "Store and access your passwords safely") (description @@ -332,10 +351,31 @@ (define-public python-keyring service from python. It can be used in any application that needs safe password storage.") ;; "MIT" and PSF dual license + (properties `((python2-variant . ,(delay python2-keyring)))) (license license:x11))) (define-public python2-keyring - (package-with-python2 python-keyring)) + (let ((keyring (package-with-python2 + (strip-python2-variant python-keyring)))) + (package + (inherit keyring) + (name "python2-keyring") + (version "8.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "keyring" version)) + (sha256 + (base32 + "0482rmi2x6p78wl2kz8qzyq21xz1sbbfwnv5x7dggar4vkwxhzfx")))) + (arguments + `(#:python ,python-2)) + (native-inputs + `(("python2-pytest" ,python2-pytest) + ("python2-pytest-runner" ,python2-pytest-runner) + ("python2-setuptools-scm" ,python2-setuptools-scm))) + (propagated-inputs + `(("python2-pycrypto" ,python2-pycrypto)))))) (define-public python-certifi (package @@ -1139,3 +1179,54 @@ (define-public python-mcuboot-imgtool package provides a tool to securely sign firmware images for booting by MCUboot.") (license license:expat))) + +(define-public python-secretstorage + (package + (name "python-secretstorage") + (version "3.1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "SecretStorage" version)) + (sha256 + (base32 + "1xmzr0j3066s220bss4nkgqbiwb5k4kkp2rkpqlqwjb5kfc8mnhm")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; Tests require a running dbus service. + (propagated-inputs + `(("python-cryptography" ,python-cryptography) + ("python-jeepney" ,python-jeepney))) + (home-page "https://github.com/mitya57/secretstorage") + (synopsis "Python bindings to FreeDesktop.org Secret Service API") + (description + "@code{python-secretstorage} provides a way for securely storing passwords +and other secrets. It uses D-Bus Secret Service API that is supported by GNOME +Keyring (since version 2.30) and KSecretsService. SecretStorage supports most +of the functions provided by Secret Service, including creating and deleting +items and collections, editing items, locking and unlocking collections +(asynchronous unlocking is also supported).") + (license license:bsd-3))) + +(define-public python-jeepney + (package + (name "python-jeepney") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jeepney" version)) + (sha256 + (base32 + "1fz9lb5fl831sijg2j0sbki698j2z6awbblas7mz3gp9jz2xi9hb")))) + (build-system python-build-system) + (native-inputs + `(("python-testpath" ,python-testpath) + ("python-tornado" ,python-tornado) + ("python-pytest" ,python-pytest))) + (home-page "https://gitlab.com/takluyver/jeepney") + (synopsis "Low-level, pure Python DBus protocol wrapper") + (description + "This is a low-level, pure Python DBus protocol client. It has an +I/O-free core, and integration modules for different event loops.") + (license license:expat))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index daa57888bb..7c52a2e506 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8249,36 +8249,22 @@ (define-public python-contextlib2 provides utilities for common tasks involving decorators and context managers. It also contains additional features that are not part of the standard library.") + (properties `((python2-variant . ,(delay python2-contextlib2)))) (license license:psfl))) (define-public python2-contextlib2 - (package - (name "python2-contextlib2") - (version "0.5.5") - (source - (origin - (method url-fetch) - (uri (pypi-uri "contextlib2" version)) - (sha256 - (base32 - "0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ (invoke "python" "test_contextlib2.py" "-v")))))) - (native-inputs - `(("python2-unittest2" ,python2-unittest2))) - (home-page "http://contextlib2.readthedocs.org/") - (synopsis "Tools for decorators and context managers") - (description "This module is primarily a backport of the Python -3.2 contextlib to earlier Python versions. Like contextlib, it -provides utilities for common tasks involving decorators and context -managers. It also contains additional features that are not part of -the standard library.") - (license license:psfl))) + (let ((base (package-with-python2 + (strip-python2-variant python-contextlib2)))) + (package + (inherit base) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (replace 'check + (lambda _ (invoke "python" "test_contextlib2.py" "-v"))))))) + (native-inputs + `(("python2-unittest2" ,python2-unittest2)))))) (define-public python-texttable (package @@ -10314,25 +10300,24 @@ (define-public python2-pykafka (package-with-python2 python-pykafka)) (define-public python-wcwidth - (package - (name "python-wcwidth") - (version "0.1.7") - (source - (origin - (method url-fetch) - (uri (pypi-uri "wcwidth" version)) - (sha256 - (base32 - "0pn6dflzm609m4r3i8ik5ni9ijjbb5fa3vg1n7hn6vkd49r77wrx")))) - (build-system python-build-system) - (home-page "https://github.com/jquast/wcwidth") - (synopsis "Measure number of terminal column cells of wide-character codes") - (description "Wcwidth measures the number of terminal column cells of + (package + (name "python-wcwidth") + (version "0.1.8") + (source (origin + (method url-fetch) + (uri (pypi-uri "wcwidth" version)) + (sha256 + (base32 + "1a1pzds3xzfylm5mnc5f6c1p8kiig0daqjc9gygd9rc3cj53x2zj")))) + (build-system python-build-system) + (home-page "https://github.com/jquast/wcwidth") + (synopsis "Measure number of terminal column cells of wide-character codes") + (description "Wcwidth measures the number of terminal column cells of wide-character codes. It is useful for those implementing a terminal emulator, or programs that carefully produce output to be interpreted by one. It is a Python implementation of the @code{wcwidth} and @code{wcswidth} C functions specified in POSIX.1-2001 and POSIX.1-2008.") - (license license:expat))) + (license license:expat))) (define-public python2-wcwidth (package-with-python2 python-wcwidth)) @@ -13075,14 +13060,14 @@ (define-public python2-translate-toolkit (define-public python-packaging (package (name "python-packaging") - (version "19.2") + (version "20.0") (source (origin (method url-fetch) (uri (pypi-uri "packaging" version)) (sha256 (base32 - "0izwlz9h0bw171a1chr311g2y7n657zjaf4mq4rgm8pp9lbj9f98")))) + "1y2ip3a4ykkpgnwgn85j6hkspcl0cg3mzms97f40mk57vwqq67gy")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index d35dfb6a0b..8fa9a91ef0 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2015 Sou Bunnbu -;;; Copyright © 2015, 2018, 2019 Ludovic Courtès +;;; Copyright © 2015, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2016, 2017 ng0 ;;; Copyright © 2016 Thomas Danckaert @@ -588,7 +588,7 @@ (define-public qtbase ;; qt used to refer to the monolithic Qt 5.x package -(define-deprecated qt qtbase qtbase) +(define-deprecated qt qtbase) (define-public qtsvg diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm index fad995bc88..7be18cb8e3 100644 --- a/gnu/packages/rsync.scm +++ b/gnu/packages/rsync.scm @@ -41,7 +41,7 @@ (define-public rsync (version "3.1.3") (source (origin (method url-fetch) - (uri (string-append "http://rsync.samba.org/ftp/rsync/src/rsync-" + (uri (string-append "https://rsync.samba.org/ftp/rsync/src/rsync-" version ".tar.gz")) (sha256 (base32 @@ -57,7 +57,7 @@ (define-public rsync by sending only the differences between the source files and the existing files in the destination.") (license license:gpl3+) - (home-page "http://rsync.samba.org/"))) + (home-page "https://rsync.samba.org/"))) (define-public librsync (package diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index cf80237f11..72cc70e3c4 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -290,6 +290,7 @@ (define-public jsoncpp (method git-fetch) (uri (git-reference (url home-page) (commit version))) (file-name (git-file-name name version)) + (patches (search-patches "jsoncpp-fix-inverted-case.patch")) (sha256 (base32 "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg")))) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index edc6135fbd..a57e0151ca 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -197,6 +197,7 @@ (define-public spice (uri (string-append "https://www.spice-space.org/download/releases/" "spice-server/spice-" version ".tar.bz2")) + (patches (search-patches "spice-fix-test-armhf.patch")) (sha256 (base32 "19r999py9v9c7md2bb8ysj809ag1hh6djl1ik8jcgx065s4b60xj")))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index e3c4353b2e..7bf0bcd941 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017, 2018 ng0 -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2017 Vasile Dumitrascu ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 André @@ -151,14 +151,14 @@ (define-public git (name "git") ;; XXX When updating Git, check if the special 'git-source' input to cgit ;; needs to be updated as well. - (version "2.24.1") + (version "2.25.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "0ql5z31vgl7b785gwrf00m129mg7zi9pa65n12ij3mpxx3f28gvj")))) + "1l58v42aazj0x9276gk8r9mwyl9pgp9w99aakz4xfhzv7wd2jq60")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -171,7 +171,7 @@ (define-public git version ".tar.xz")) (sha256 (base32 - "1yzy5jikkv67ynp576j926kg8zdldh8j4b57l0ixcnjdcyr4lc17")))) + "1gf8b1k6i4dlwskwq7dd2vz9bzc3m1qnknj9daq2vp39vmxpg5nk")))) ;; For subtree documentation. ("asciidoc" ,asciidoc) ("docbook-xsl" ,docbook-xsl) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index ec31489d48..a26eeb20cc 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -524,7 +524,7 @@ (define (%mysql-activation config) (for-each (lambda (sql) (call-with-input-file - (string-append #$mysql "/share/mysql/" sql) + (string-append #$mysql:lib "/share/mysql/" sql) (lambda (in) (dump-port in p)))) '("mysql_system_tables.sql" "mysql_performance_tables.sql" diff --git a/gnu/system.scm b/gnu/system.scm index 7033671526..01baa248a2 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -574,7 +574,6 @@ (define %base-packages iw wireless-tools iproute - net-tools ; XXX: remove when Inetutils suffices man-db info-reader ;the standalone Info reader (no Perl) diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index 1be2b3c5f0..f3f4b49bcf 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -79,6 +79,15 @@ (define (copy-files-to-output out name) (let ((source (getcwd)) (target (source-directory out name)) (system-path (string-append out %system-install-prefix))) + ;; SBCL keeps the modification time of the source file in the compiled + ;; file, and the source files might just have been patched by a custom + ;; phase. Therefore we reset the modification time of all the source + ;; files before compiling. + (for-each (lambda (file) + (let ((s (lstat file))) + (unless (eq? (stat:type s) 'symlink) + (utime file 0 0 0 0)))) + (find-files source #:directories? #t)) (copy-recursively source target #:keep-mtime? #t) (mkdir-p system-path) (for-each diff --git a/guix/deprecation.scm b/guix/deprecation.scm index 468b2e9b7b..04d4d4a337 100644 --- a/guix/deprecation.scm +++ b/guix/deprecation.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Ludovic Courtès +;;; Copyright © 2019, 2020 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,6 +44,7 @@ (define-syntax define-deprecated "Define a deprecated variable or procedure, along these lines: (define-deprecated foo bar 42) + (define-deprecated old new) (define-deprecated (baz x y) qux (qux y x)) This will write a deprecation warning to GUIX-WARNING-PORT." @@ -73,7 +74,10 @@ (define-syntax variable #'(real args (... ...))) (id (identifier? #'id) - #'real)))))))))) + #'real))))))) + ((_ variable alias) + (identifier? #'alias) + #'(define-deprecated variable alias alias))))) (define-syntax-rule (define-deprecated/alias deprecated replacement) "Define as an alias a deprecated variable, procedure, or macro, along diff --git a/guix/lint.scm b/guix/lint.scm index ed2f06bc64..d2f24c61f8 100644 --- a/guix/lint.scm +++ b/guix/lint.scm @@ -300,6 +300,7 @@ (define (check-inputs-should-be-native package) "gobject-introspection" "googletest-source" "groff" + "gtk-doc" "help2man" "intltool" "itstool" diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc index 29b75aa875..77d7fa2dc7 100644 --- a/nix/libstore/gc.cc +++ b/nix/libstore/gc.cc @@ -392,7 +392,14 @@ bool LocalStore::isActiveTempFile(const GCState & state, void LocalStore::deleteGarbage(GCState & state, const Path & path) { unsigned long long bytesFreed; - deletePath(path, bytesFreed); + + /* When deduplication is on, store items always have at least two links: + the one at PATH, and one in /gnu/store/.links. In that case, increase + bytesFreed when PATH has two or fewer links. */ + size_t linkThreshold = + (settings.autoOptimiseStore && isStorePath(path)) ? 2 : 1; + + deletePath(path, bytesFreed, linkThreshold); state.results.bytesFreed += bytesFreed; } @@ -419,13 +426,14 @@ void LocalStore::deletePathRecursive(GCState & state, const Path & path) } if (state.options.maxFreed != ULLONG_MAX) { - double fraction = state.results.bytesFreed + size - / state.options.maxFreed; + auto freed = state.results.bytesFreed + state.bytesInvalidated; + double fraction = ((double) freed) / (double) state.options.maxFreed; unsigned int percentage = (fraction > 1. ? 1. : fraction) * 100.; printMsg(lvlInfo, format("[%1%%%] deleting '%2%'") % percentage % path); } else { - size_t total = (state.results.bytesFreed + size) / (1024 * 1024); - printMsg(lvlInfo, format("[%1% MiB] deleting '%2%'") % total % path); + auto freed = state.results.bytesFreed + state.bytesInvalidated; + freed /= 1024ULL * 1024ULL; + printMsg(lvlInfo, format("[%1% MiB] deleting '%2%'") % freed % path); } state.results.paths.insert(path); diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc index faba3789df..fb2dfad1f7 100644 --- a/nix/libutil/util.cc +++ b/nix/libutil/util.cc @@ -305,7 +305,7 @@ void writeLine(int fd, string s) } -static void _deletePath(const Path & path, unsigned long long & bytesFreed) +static void _deletePath(const Path & path, unsigned long long & bytesFreed, size_t linkThreshold) { checkInterrupt(); @@ -324,7 +324,7 @@ static void _deletePath(const Path & path, unsigned long long & bytesFreed) struct stat st = lstat(path); #endif - if (!S_ISDIR(st.st_mode) && st.st_nlink == 1) + if (!S_ISDIR(st.st_mode) && st.st_nlink <= linkThreshold) bytesFreed += st.st_size; if (S_ISDIR(st.st_mode)) { @@ -335,7 +335,7 @@ static void _deletePath(const Path & path, unsigned long long & bytesFreed) } for (auto & i : readDirectory(path)) - _deletePath(path + "/" + i.name, bytesFreed); + _deletePath(path + "/" + i.name, bytesFreed, linkThreshold); } #undef st_mode #undef st_size @@ -353,12 +353,12 @@ void deletePath(const Path & path) } -void deletePath(const Path & path, unsigned long long & bytesFreed) +void deletePath(const Path & path, unsigned long long & bytesFreed, size_t linkThreshold) { startNest(nest, lvlDebug, format("recursively deleting path `%1%'") % path); bytesFreed = 0; - _deletePath(path, bytesFreed); + _deletePath(path, bytesFreed, linkThreshold); } diff --git a/nix/libutil/util.hh b/nix/libutil/util.hh index 6a6e07c478..9e3c14bdd4 100644 --- a/nix/libutil/util.hh +++ b/nix/libutil/util.hh @@ -94,10 +94,12 @@ void writeLine(int fd, string s); /* Delete a path; i.e., in the case of a directory, it is deleted recursively. Don't use this at home, kids. The second variant - returns the number of bytes and blocks freed. */ + returns the number of bytes and blocks freed, and 'linkThreshold' denotes + the number of links under which a file is accounted for in 'bytesFreed'. */ void deletePath(const Path & path); -void deletePath(const Path & path, unsigned long long & bytesFreed); +void deletePath(const Path & path, unsigned long long & bytesFreed, + size_t linkThreshold = 1); /* Create a temporary directory. */ Path createTempDir(const Path & tmpRoot = "", const Path & prefix = "nix",