diff options
author | Jakub Kądziołka <kuba@kadziolka.net> | 2020-06-22 02:56:22 +0200 |
---|---|---|
committer | Jakub Kądziołka <kuba@kadziolka.net> | 2020-06-22 02:56:22 +0200 |
commit | 43bc7855113bd725d464dd9eaa1e54e78edfaab1 (patch) | |
tree | 2655f85e9946ececdb4fb052c2f3e31375c41e0f /gnu/packages | |
parent | 0c4e39c0b025fb23a2e5df46434fc96112bb6d6c (diff) | |
parent | f8a28b6c6d4fe7642b7df35e8518e3c0174ede74 (diff) |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/packages')
74 files changed, 3167 insertions, 895 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index d34864505a..de2f6534f8 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1364,7 +1364,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.0") + (version "1.9.1") (source (origin (method url-fetch) (uri @@ -1374,7 +1374,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "0p7r3cl16pjwbc48ff1gbhjw51lngrghvwblxz5lxpyzqlwi88xb")) + "1zxd6hxwhxqrm876wsn9bfajbfc4hc6l9ivzj5rjg80hzv71ch99")) (modules '((guix build utils))) (snippet '(begin @@ -3472,7 +3472,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.1.01-1") + (version "3.1.03-1") (source (origin (method git-fetch) @@ -3481,7 +3481,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "0r204w0r06ibdr4dck7yw2nmvj7xq68bjr7xwwiy7liqdml0n0yc")))) + (base32 "0539hvlq021wxhbwzdp7qliiq1jgw60mxlwrwx0z2x8qi1zqdzg6")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a9f34599bc..74ef7111c3 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2344,7 +2344,29 @@ background file post-processing.") (file-name (git-file-name name version)) (sha256 (base32 - "02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp")))) + "02v911w2kdbg3kfl593lb2ig4sjbfxzv20a0vbcymhfzpvp1x6xp")) + (modules '((guix build utils) + (ice-9 ftw))) + (snippet + ;; The build system doesn't allow us to unbundle the following + ;; libraries. hidapi is also heavily patched and upstream not + ;; actively maintained. + '(let ((keep-dirs '("nova-simd" "nova-tt" "hidapi" + "TLSF-2.4.6" "oscpack_1_1_0" "." ".."))) + (with-directory-excursion "./external_libraries" + (for-each + delete-file-recursively + (scandir "." + (lambda (x) + (and (eq? (stat:type (stat x)) 'directory) + (not (member (basename x) keep-dirs))))))) + ;; To find the Guix provided ableton-link library. + (substitute* "lang/CMakeLists.txt" + (("include\\(\\.\\./external_libraries/link/\ +AbletonLinkConfig\\.cmake\\)") + "find_package(AbletonLink NAMES AbletonLink ableton-link \ +link REQUIRED)")) + #t)))) (build-system cmake-build-system) (outputs '("out" ;core language @@ -2355,44 +2377,16 @@ background file post-processing.") "-DFORTIFY=ON" "-DLIBSCSYNTH=ON" "-DSC_EL=off") ;scel is packaged individually as ;emacs-scel - #:modules ((guix build utils) - (guix build cmake-build-system) - (ice-9 ftw)) #:phases (modify-phases %standard-phases - (add-after 'unpack 'rm-bundled-libs + ;; HOME must be defined otherwise supercollider throws a "ERROR: + ;; Primitive '_FileMkDir' failed." error when generating the doc. + ;; The graphical tests also hang without it. + (add-after 'unpack 'set-home-directory (lambda _ - ;; The build system doesn't allow us to unbundle the following - ;; libraries. hidapi is also heavily patched. - (let ((keep-dirs '("nova-simd" "nova-tt" "hidapi" "TLSF-2.4.6" - "oscpack_1_1_0" "." ".."))) - (with-directory-excursion "./external_libraries" - (for-each - delete-file-recursively - (scandir "." - (lambda (x) - (and (eq? (stat:type (stat x)) 'directory) - (not (member (basename x) keep-dirs)))))))) - (substitute* "lang/CMakeLists.txt" - (("include\\(\\.\\./external_libraries/link/AbletonLinkConfig\\.cmake\\)") - "find_package(AbletonLink NAMES AbletonLink ableton-link link REQUIRED)")) - #t)) - ;; Some tests are broken (see: - ;; https://github.com/supercollider/supercollider/issues/3555 and - ;; https://github.com/supercollider/supercollider/issues/1736 - (add-after 'rm-bundled-libs 'disable-broken-tests - (lambda _ - (substitute* "testsuite/server/supernova/CMakeLists.txt" - (("server_test.cpp") - "") - (("perf_counter_test.cpp") - "")) - (substitute* "testsuite/CMakeLists.txt" - (("add_subdirectory\\(sclang\\)") - "")) - (delete-file "testsuite/sclang/CMakeLists.txt") + (setenv "HOME" (getcwd)) #t)) - (add-after 'disable-broken-tests 'patch-scclass-dir + (add-after 'unpack 'patch-scclass-dir (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (scclass-dir @@ -2404,6 +2398,11 @@ background file post-processing.") "\\(DirName::Resource\\) / CLASS_LIB_DIR_NAME")) (string-append "Path(\"" scclass-dir "\")"))) #t))) + (add-before 'build 'prepare-x + (lambda _ + (system "Xvfb &") + (setenv "DISPLAY" ":0") + #t)) (add-before 'install 'install-ide (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -2416,7 +2415,8 @@ background file post-processing.") (native-inputs `(("ableton-link" ,ableton-link) ("pkg-config" ,pkg-config) - ("qttools" ,qttools))) + ("qttools" ,qttools) + ("xorg-server" ,xorg-server-for-tests))) (inputs `(("jack" ,jack-1) ("libsndfile" ,libsndfile) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 4b5f94b277..e2c4408edd 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -357,10 +357,7 @@ used to apply commands with arbitrarily long arguments.") (list (string-append "XFAIL_TESTS=tests/misc/env-S.pl" " tests/misc/kill.sh" " tests/misc/nice.sh" - " tests/misc/shred-passes.sh" " tests/split/fail.sh" - " tests/split/l-chunk.sh" - " tests/dd/stats.sh" " test-fdutimensat" " test-futimens" " test-linkat" @@ -380,7 +377,15 @@ used to apply commands with arbitrarily long arguments.") (("/bin/sh") (which "sh"))) (substitute* (find-files "tests" "\\.sh$") (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t))))) + #t)) + ,@(if (hurd-target?) + `((add-after 'unpack 'remove-tests + (lambda _ + (substitute* "Makefile.in" + ;; this test hangs + (("^ *tests/misc/timeout-group.sh.*") "")) + #t))) + '())))) (synopsis "Core GNU utilities (file, text, shell)") (description "GNU Coreutils package includes all of the basic command-line tools that diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f60a918d75..95f8b16db3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -7813,13 +7813,13 @@ coding changes and predict coding outcomes.") (define-public r-limma (package (name "r-limma") - (version "3.44.1") + (version "3.44.3") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "0l6f6lz1rghj8c5s14ljbnmsrwz27fi6a7g42n15n3d3msvflw36")))) + "09fnqxx4rzq5n447aqg2l6y0idfwgz2jxz99sifxsr2q8afzbcj6")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") diff --git a/gnu/packages/bison.scm b/gnu/packages/bison.scm index b622ca1973..2ffdf47655 100644 --- a/gnu/packages/bison.scm +++ b/gnu/packages/bison.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2015, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,6 +65,17 @@ grammar. It is versatile enough to have many applications, from parsers for simple tools through complex programming languages.") (license gpl3+))) +(define-public bison-3.6 + (package + (inherit bison) + (version "3.6.3") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/bison/bison-" version ".tar.xz")) + (sha256 + (base32 "0gdpnjh6ra9xa9vj6hzjdf0c04x4pjyy8vssm3qdb7fya4v7knq6")))))) + (define-public bison-3.0 (package (inherit bison) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 8b041cb3f5..52160b9025 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -42,7 +42,6 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) - #:use-module (gnu packages file) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -50,7 +49,6 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages libevent) - #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) #:use-module (gnu packages nettle) #:use-module (gnu packages ncurses) @@ -104,12 +102,9 @@ '("applications" "icons" "pixmaps"))) #t))))) (inputs - `(("inotify-tools" ,inotify-tools) - ("libevent" ,libevent) + `(("libevent" ,libevent) ("curl" ,curl) - ("cyrus-sasl" ,cyrus-sasl) ("openssl" ,openssl) - ("file" ,file) ("zlib" ,zlib) ("gtk+" ,gtk+))) (native-inputs @@ -131,7 +126,7 @@ DHT, µTP, PEX and Magnet Links.") ;; or any future license endorsed by Mnemosyne LLC. ;; ;; A few files files carry an MIT/X11 license header. - (license l:gpl3+))) + (license (list l:gpl2 l:gpl3)))) (define-public libtorrent (package diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 9ff32b22f9..11aee07378 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,12 +37,16 @@ #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages package-management) + #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sqlite) #:use-module (gnu packages ninja) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -276,6 +281,80 @@ other lower-level build files.") scripted definition of a software project and outputs @file{Makefile}s or other lower-level build files."))) +(define-public tup + (package + (name "tup") + (version "0.7.9") + (source (origin + (method url-fetch) + (uri (string-append "http://gittup.org/tup/releases/tup-v" + version ".tar.gz")) + (sha256 + (base32 + "0gnd2598xqgwihdkfkx7qn0q6p4n7npam1fy83mp7s04zwj99syc")) + (patches (search-patches "tup-unbundle-dependencies.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; NOTE: Tup uses a slightly modified Lua, so it cannot be + ;; unbundled. See: src/lula/tup-lua.patch + (delete-file-recursively "src/pcre") + (delete-file-recursively "src/sqlite3") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; There is a bootstrap script, but it doesn't do what you think - it + ;; builds tup. + (delete 'bootstrap) + (replace 'configure + (lambda _ + (substitute* "src/tup/link.sh" + (("`git describe`") ,version)) + (with-output-to-file "tup.config" + (lambda _ + (format #t "CONFIG_TUP_USE_SYSTEM_SQLITE=y~%"))) + #t)) + (delete 'check) + (replace 'build + (lambda _ + ;; Based on bootstrap-nofuse.sh, but with a detour to patch-shebang. + (invoke "./build.sh") + (invoke "./build/tup" "init") + (invoke "./build/tup" "generate" "--verbose" "build-nofuse.sh") + (patch-shebang "build-nofuse.sh") + (invoke "./build-nofuse.sh"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((outdir (assoc-ref outputs "out")) + (ftdetect (string-append outdir + "/share/vim/vimfiles/ftdetect"))) + (install-file "tup" (string-append outdir "/bin")) + (install-file "tup.1" (string-append outdir "/share/man/man1")) + (install-file "contrib/syntax/tup.vim" + (string-append outdir "/share/vim/vimfiles/syntax")) + (mkdir-p ftdetect) + (with-output-to-file (string-append ftdetect "/tup.vim") + (lambda _ + (display "au BufNewFile,BufRead Tupfile,*.tup setf tup"))) + #t)))))) + (inputs + `(("fuse" ,fuse) + ("pcre" ,pcre) + ("pcre" ,pcre "bin") ; pcre-config + ("sqlite" ,sqlite))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://gittup.org/tup/") + (synopsis "Fast build system that's hard to get wrong") + (description "Tup is a generic build system based on a directed acyclic +graphs of commands to be executed. Tup instruments your build to detect the +exact dependencies of the commands, allowing you to take advantage of ideal +parallelism during incremental builds, and detecting any situations where +a build worked by accident.") + (license license:gpl2))) + (define-public osc (package (name "osc") diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 67236f86de..ac8dd26af0 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,9 +39,11 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix gexp) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages acl) #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages flex) @@ -242,6 +245,54 @@ extra-robust data verification, synchronization, error handling and scratch reconstruction capability.") (license gpl2))) ; libraries under lgpl2.1 +(define-public cdrdao + (package + (name "cdrdao") + (version "1.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cdrdao/cdrdao.git") + (commit + (string-append "rel_" (string-replace-substring version "." "_"))))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gcl8ibyylamy2d1piq3749nw3xrlp12r0spzp2gmni57b8a6b7j")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list + ;; GCDMaster depends on obsolete libgnomeuimm, see + ;; <https://github.com/cdrdao/cdrdao/issues/3>. + "--without-gcdmaster" + ;; Use the native SCSI interface. + "--without-scglib") + #:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'fix-configure.ac + (lambda _ + ;; Remove reference to missing macro. + (substitute* "configure.ac" (("^AM_GCONF_SOURCE_2.*") "")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("ao" ,ao) + ("lame" ,lame) + ("libmad" ,libmad) + ("libvorbis" ,libvorbis))) + (home-page "http://cdrdao.sourceforge.net") + (synopsis "Read and write CDs in disk-at-once mode") + (description "cdrdao records audio or data CDs in disk-at-once (DAO) mode, +based on a textual description of the contents. This mode writes the complete +disc – lead-in, one or more tracks, and lead-out – in a single step and is +commonly used with audio CDs. @code{cdrdao} can also handle the bin/cue +format, commonly used for VCDs or disks with subchannel data.") + (license gpl2+))) + (define-public cdrtools (package (name "cdrtools") diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 317136e38f..262396be84 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -47,8 +47,8 @@ #:use-module (guix build-system gnu)) (define-public cuirass - (let ((commit "2280ae18eb25aa7034636c58bf288c9bd5a8fa3b") - (revision "31")) + (let ((commit "3db603c1913fe14d260a44b05575a2ead3866b47") + (revision "32")) (package (name "cuirass") (version (git-version "0.0.1" revision commit)) @@ -60,7 +60,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1gbmpwgiwy740d936b052gfivzw52pgrny7j7lbl56wi9wnawkc9")))) + "1q69lgngsvpvcy6ww2a75wndjzymay5xaqmbj78znqmn7ck3fv44")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/convmv.scm b/gnu/packages/convmv.scm new file mode 100644 index 0000000000..2a9a4ec68c --- /dev/null +++ b/gnu/packages/convmv.scm @@ -0,0 +1,60 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages convmv) + #:use-module (gnu packages) + #:use-module (gnu packages perl) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public convmv + (package + (name "convmv") + (version "2.05") + (source (origin + (method url-fetch) + (uri (string-append "https://www.j3e.de/linux/convmv/convmv-" + version ".tar.gz")) + (sha256 + (base32 + "19hwv197p7c23f43vvav5bs19z9b72jzca2npkjsxgprwj5ardjk")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure) + (add-before 'check 'unpack-testsuite + (lambda _ + (invoke "tar" "xf" "testsuite.tar") + (patch-shebang "suite/dotests.sh") + (patch-shebang "suite/parsable_tester.pl") + #t))))) + (inputs + `(("perl" ,perl))) + (synopsis "Convert filenames between character sets") + (description + "convmv is a file renamer, that converts between different encodings, +e.g. from ISO-8859-1 to UTF-8. It is particularly usefuls for files with +names, that display incorrectly.") + (license (list gpl2 gpl3)) + (home-page "https://www.j3e.de/"))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index bc391d9afd..f3c90b073e 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2131,14 +2131,14 @@ validation and filtering on the values, making options invisible or private.") (define-public r-circlize (package (name "r-circlize") - (version "0.4.9") + (version "0.4.10") (source (origin (method url-fetch) (uri (cran-uri "circlize" version)) (sha256 (base32 - "14944vn0n5d095mpjyag4fz8vy04m6wxb6mmyygi8q813akikm3h")))) + "1xb1jq3mg4kw1513zv1i09vhn7rj7f8vp0bnms2qml74s47wxsgk")))) (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace) @@ -3839,18 +3839,20 @@ structure.") (define-public r-vioplot (package (name "r-vioplot") - (version "0.3.4") + (version "0.3.5") (source (origin (method url-fetch) (uri (cran-uri "vioplot" version)) (sha256 (base32 - "1fsklymilspzz5fzlj7666x09aglaw0v4x0yfjjzy4vr5qpjc529")))) + "0aiy615kn9lpr2cs757g3pklg81n01yhqh0wrwv111fn3cy86r0v")))) (build-system r-build-system) (propagated-inputs `(("r-sm" ,r-sm) ("r-zoo" ,r-zoo))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://wsopuppenkiste.wiso.uni-goettingen.de/~dadler") (synopsis "Violin plot") (description @@ -6634,23 +6636,106 @@ be added or removed. When working with Word documents, a cursor can be used to help insert or delete content at a specific location in the document.") (license license:gpl3))) +(define-public r-profilemodel + (package + (name "r-profilemodel") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "profileModel" version)) + (sha256 + (base32 + "0yq8hy43h62hlz8bbf9ila4a3xcwizi1if27b78xc5y857ncwad8")))) + (properties `((upstream-name . "profileModel"))) + (build-system r-build-system) + (home-page "https://github.com/ikosmidis/profileModel") + (synopsis "Profiling inference functions for various model classes") + (description + "This package provides tools that can be used to calculate, evaluate, +plot and use for inference the profiles of *arbitrary* inference functions for +arbitrary @code{glm}-like fitted models with linear predictors. More information +on the methods that are implemented can be found in Kosmidis (2008) +@url{https://www.r-project.org/doc/Rnews/Rnews_2008-2.pdf}.") + (license license:gpl2+))) + +(define-public r-brglm + (package + (name "r-brglm") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "brglm" version)) + (sha256 + (base32 + "0c9ngscc6zlfm90fqyggnj04qfkhp5qgf5q3wnfpxwyc8cm47by2")))) + (properties `((upstream-name . "brglm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-profilemodel" ,r-profilemodel))) + (home-page "https://github.com/ikosmidis/brglm") + (synopsis "Bias reduction in binomial-response generalized linear models") + (description + "Fit generalized linear models with binomial responses using either an +adjusted-score approach to bias reduction or maximum penalized likelihood +where penalization is by Jeffreys invariant prior. These procedures return +estimates with improved frequentist properties (bias, mean squared error) that +are always finite even in cases where the maximum likelihood estimates are +infinite (data separation). Fitting takes place by fitting generalized linear +models on iteratively updated pseudo-data. The interface is essentially the +same as @code{glm}. More flexibility is provided by the fact that custom +pseudo-data representations can be specified and used for model fitting. +Functions are provided for the construction of confidence intervals for the +reduced-bias estimates.") + (license license:gpl2+))) + +(define-public r-entropy + (package + (name "r-entropy") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "entropy" version)) + (sha256 + (base32 + "10vg4818q5g54pv2nn9x5i7pvky5nsv96syy47pz2mgqp1273cpd")))) + (properties `((upstream-name . "entropy"))) + (build-system r-build-system) + (home-page "https://www.strimmerlab.org/software/entropy/") + (synopsis "Estimation of entropy, mutual information and related quantities") + (description + "This package implements various estimators of entropy, such as the +shrinkage estimator by Hausser and Strimmer, the maximum likelihood and the +Millow-Madow estimator, various Bayesian estimators, and the Chao-Shen +estimator. It also offers an R interface to the NSB estimator. Furthermore, +it provides functions for estimating Kullback-Leibler divergence, chi-squared, +mutual information, and chi-squared statistic of independence. In addition +there are functions for discretizing continuous random variables.") + (license license:gpl3+))) + (define-public r-abn (package (name "r-abn") - (version "2.2") + (version "2.2.1") (source (origin (method url-fetch) (uri (cran-uri "abn" version)) (sha256 (base32 - "19w6bdjyp4zwqs6p0flry4qxqynf9rh8ykdrfrp61wrdf7kysw0d")))) + "11nbg6dwvbj0ac7qvr203vzjnw5zc1a8cibb9l6rzzr7yfg16xzc")))) (build-system r-build-system) (inputs `(("gsl" ,gsl))) (propagated-inputs - `(("r-lme4" ,r-lme4) + `(("r-boot" ,r-boot) + ("r-brglm" ,r-brglm) + ("r-entropy" ,r-entropy) + ("r-lme4" ,r-lme4) ("r-mass" ,r-mass) + ("r-moments" ,r-moments) ("r-nnet" ,r-nnet) ("r-rcpp" ,r-rcpp) ("r-rcpparmadillo" ,r-rcpparmadillo) @@ -8922,14 +9007,14 @@ ROPE percentage and pd).") (define-public r-performance (package (name "r-performance") - (version "0.4.6") + (version "0.4.7") (source (origin (method url-fetch) (uri (cran-uri "performance" version)) (sha256 (base32 - "08i9ngvga06abs2k50gvkh6iwl4r77bkmmchsqjibsy09wdvd8xj")))) + "0gw165wm2a0vjsvyll8z9k6qd156z3jf4priy1r745v63x4mnb5k")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -11769,14 +11854,14 @@ dynamical correlation and dynamical covariance.") (define-public r-genenet (package (name "r-genenet") - (version "1.2.14") + (version "1.2.15") (source (origin (method url-fetch) (uri (cran-uri "GeneNet" version)) (sha256 (base32 - "0cdhrj15rz0w0pyw3r8mikrzsdh95y5i1c0pa3cn0c2bjnjx3x3n")))) + "11ba6ahsk3x9alvcw8bai2bpg84ki1m8nadrjjdhjg65svhw8njm")))) (properties `((upstream-name . "GeneNet"))) (build-system r-build-system) (propagated-inputs @@ -15839,14 +15924,14 @@ the current document.") (define-public r-xgboost (package (name "r-xgboost") - (version "1.0.0.2") + (version "1.1.1.1") (source (origin (method url-fetch) (uri (cran-uri "xgboost" version)) (sha256 (base32 - "1ld2w51c5fy3bl0kvjn1iplffc4lmin9s9zz5xx7xsm44d6j6kzd")))) + "13njhcxljhbcs37ni6r5174fk8kx9b5p7rlw1an1ak3w92jn56cq")))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 30e00b3f48..8ab88fa243 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages glib) @@ -49,6 +50,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -149,10 +151,10 @@ Rust, using gimli.") ("rust-memmap" ,rust-memmap-0.7) ("rust-rustc-test" ,rust-rustc-test-0.3)))))) -(define-public rust-adler32-1.0 +(define-public rust-adler32-1 (package (name "rust-adler32") - (version "1.0.4") + (version "1.1.0") (source (origin (method url-fetch) @@ -161,12 +163,15 @@ Rust, using gimli.") (string-append name "-" version ".crate")) (sha256 (base32 - "1hnan4fgmnidgn2k84hh2i67c3wp2c5iwd5hs61yi7gwwx1p6bjx")))) + "0bgks405vz823bphgwhj4l9h6vpfh900s0phfk4qqijyh9xhfysn")))) (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)) #:cargo-development-inputs - (("rust-rand" ,rust-rand-0.4)))) + (("rust-bencher" ,rust-bencher-0.1) + ("rust-rand" ,rust-rand-0.4)))) (home-page "https://github.com/remram44/adler32-rs") (synopsis "Implementation of the Adler32 rolling hash algorithm") (description @@ -4619,31 +4624,42 @@ Transparency logs for use with sct crate.") (origin (method url-fetch) (uri (crate-uri "curl-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y")))) + "02542zmvl3fpdqf7ai4cqnamm4albx9j645dkjx5qr1myq8ax42y")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "curl") #t)))) (build-system cargo-build-system) - ;(arguments - ; `(#:phases - ; (modify-phases %standard-phases - ; (add-after 'unpack 'find-openssl - ; (lambda* (#:key inputs #:allow-other-keys) - ; (let ((openssl (assoc-ref inputs "openssl"))) - ; (setenv "OPENSSL_DIR" openssl)) - ; #t))))) - ;(native-inputs - ; `(("pkg-config" ,pkg-config))) - ;(inputs - ; `(("curl" ,curl) - ; ("nghttp2" ,nghttp2) - ; ("openssl" ,openssl) - ; ("zlib" ,zlib))) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-libnghttp2-sys" ,rust-libnghttp2-sys-0.1) + ("rust-libz-sys" ,rust-libz-sys-1.0) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-cc" ,rust-cc-1.0) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-vcpkg" ,rust-vcpkg-0.2)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-openssl + (lambda* (#:key inputs #:allow-other-keys) + (let ((openssl (assoc-ref inputs "openssl"))) + (setenv "OPENSSL_DIR" openssl)) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("nghttp2" ,nghttp2) + ("openssl" ,openssl) + ("zlib" ,zlib))) (home-page "https://github.com/alexcrichton/curl-rust") (synopsis "Native bindings to the libcurl library") (description "This package provides native bindings to the @code{libcurl} library.") - (properties '((hidden? . #t))) (license license:expat))) (define-public rust-custom-derive-0.1 @@ -4835,7 +4851,7 @@ and arithmetic.") (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-adler32" ,rust-adler32-1.0) + (("rust-adler32" ,rust-adler32-1) ("rust-byteorder" ,rust-byteorder-1.3) ("rust-gzip-header" ,rust-gzip-header-0.3) ("rust-flate2" ,rust-flate2-1.0)))) @@ -10325,7 +10341,7 @@ renamed to indexmap.") "1zxjdn8iwa0ssxrnjmywm3r1v284wryvzrf8vkc7nyf5ijbjknqw")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1.0)))) + `(#:cargo-inputs (("rust-adler32" ,rust-adler32-1)))) (home-page "https://github.com/PistonDevelopers/inflate.git") (synopsis "DEFLATE decoding") (description "This package provides DEFLATE decoding.") @@ -11178,8 +11194,43 @@ requires non-const function calls to be computed.") "This package provides a library providing a lazily filled Cell struct.") (license (list license:expat license:asl2.0)))) +(define-public rust-lexical-core-0.7 + (package + (name "rust-lexical-core") + (version "0.7.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "lexical-core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05i6b69ay8xbxw88vx89vglb7xm5n8ky82hax7d5a7z60bdccrfv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-dtoa" ,rust-dtoa-0.4) + ("rust-ryu" ,rust-ryu-1.0) + ("rust-static-assertions" ,rust-static-assertions-1)) + #:cargo-development-inputs + (("rust-approx" ,rust-approx-0.3) + ("rust-proptest" ,rust-proptest-0.9) + ("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page + "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core") + (synopsis + "Lexical, to- and from-string conversion routines") + (description + "Lexical, to- and from-string conversion routines.") + (license (list license:expat license:asl2.0)))) + (define-public rust-lexical-core-0.4 (package + (inherit rust-lexical-core-0.7) (name "rust-lexical-core") (version "0.4.2") (source @@ -11191,7 +11242,6 @@ requires non-const function calls to be computed.") (sha256 (base32 "1gr5y3ykghd3wjc00l3iizkj1dxylyhwi6fj6yn2qg06nzx771iz")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -11204,14 +11254,7 @@ requires non-const function calls to be computed.") (("rust-approx" ,rust-approx-0.3) ("rust-proptest" ,rust-proptest-0.9) ("rust-quickcheck" ,rust-quickcheck-0.8) - ("rust-rustc-version" ,rust-rustc-version-0.2)))) - (home-page - "https://github.com/Alexhuszagh/rust-lexical/tree/master/lexical-core") - (synopsis - "Lexical, to- and from-string conversion routines") - (description - "Lexical, to- and from-string conversion routines.") - (license (list license:asl2.0 license:expat)))) + ("rust-rustc-version" ,rust-rustc-version-0.2)))))) (define-public rust-libc-0.2 (package @@ -11334,12 +11377,22 @@ macros on libc without stdlib.") (origin (method url-fetch) (uri (crate-uri "libgit2-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28")))) - (arguments '()) - (properties '((hidden? . #t))))) + "1wcvg2qqra2aviasvqcscl8gb2rnjnd6h998wy5dlmf2bnriqi28")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "libgit2") #t)))) + (arguments + `(#:cargo-inputs + (("rust-curl-sys" ,rust-curl-sys-0.4) + ("rust-libc" ,rust-libc-0.2) + ("rust-libssh2-sys" ,rust-libssh2-sys-0.2) + ("rust-libz-sys" ,rust-libz-sys-1.0) + ("rust-openssl-sys" ,rust-openssl-sys-0.9) + ("rust-cc" ,rust-cc-1.0) + ("rust-pkg-config" ,rust-pkg-config-0.3)))))) (define-public rust-libloading-0.5 (package @@ -11438,18 +11491,25 @@ functions and static variables these libraries contain.") (origin (method url-fetch) (uri (crate-uri "libnghttp2-sys" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982")))) + "0qr4lyh7righx9n22c7amlcpk906rn1jnb2zd6gdfpa3yi24s982")) + (modules '((guix build utils))) + (snippet + '(begin (delete-file-recursively "nghttp2") #t)))) (build-system cargo-build-system) - ;(inputs - ; `(("nghttp2" ,nghttp2))) + (arguments + `(#:skip-build? #t ; Uses unstable features + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-cc" ,rust-cc-1.0)))) + (inputs + `(("nghttp2" ,nghttp2))) (home-page "https://github.com/alexcrichton/nghttp2-rs") (synopsis "FFI bindings for libnghttp2 (nghttp2)") (description "This package provides FFI bindings for libnghttp2 (nghttp2).") - (properties '((hidden? . #t))) (license (list license:asl2.0 license:expat)))) @@ -12639,7 +12699,7 @@ for Rust structs.") (build-system cargo-build-system) (arguments `(#:skip-build? #t - #:cargo-inputs (("rust-adler32" ,rust-adler32-1.0)))) + #:cargo-inputs (("rust-adler32" ,rust-adler32-1)))) (home-page "https://github.com/Frommi/miniz_oxide/tree/master/miniz_oxide") (synopsis "Pure rust replacement for the miniz DEFLATE/zlib encoder/decoder") (description @@ -13421,10 +13481,10 @@ implementation (which is unstable / requires nightly).") (license (list license:asl2.0 license:expat)))) -(define-public rust-nom-4.2 +(define-public rust-nom-5 (package (name "rust-nom") - (version "4.2.3") + (version "5.1.2") (source (origin (method url-fetch) @@ -13433,18 +13493,30 @@ implementation (which is unstable / requires nightly).") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1mkvby8b4m61p4g1px0pwr58yfkphyp1jcfbp4qfp7l6iqdaklia")))) + "1br74rwdp3c2ddga03bphnf355spn4mzwf1slg0a30zd4qnjdd7z")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t + `(#:tests? #f ; Tests require example directory, not included in tarball. #:cargo-inputs (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lexical-core" ,rust-lexical-core-0.7) ("rust-memchr" ,rust-memchr-2.2) ("rust-regex" ,rust-regex-1.1) - ("rust-version-check" ,rust-version-check-0.1)) + ("rust-version-check" ,rust-version-check-0.9)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.2) - ("rust-jemallocator" ,rust-jemallocator-0.1)))) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-jemallocator" ,rust-jemallocator-0.1)) + #:phases + (modify-phases %standard-phases + (add-after 'configure 'override-jemalloc + (lambda* (#:key inputs #:allow-other-keys) + (let ((jemalloc (assoc-ref inputs "jemalloc"))) + (setenv "JEMALLOC_OVERRIDE" + (string-append jemalloc "/lib/libjemalloc_pic.a"))) + #t))))) + (native-inputs + `(("jemalloc" ,jemalloc))) (home-page "https://github.com/Geal/nom") (synopsis "Byte-oriented, zero-copy, parser combinators library") @@ -13453,6 +13525,31 @@ implementation (which is unstable / requires nightly).") combinators library.") (license license:expat))) +(define-public rust-nom-4.2 + (package + (inherit rust-nom-5) + (name "rust-nom") + (version "4.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "nom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mkvby8b4m61p4g1px0pwr58yfkphyp1jcfbp4qfp7l6iqdaklia")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memchr" ,rust-memchr-2.2) + ("rust-regex" ,rust-regex-1.1) + ("rust-version-check" ,rust-version-check-0.1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.2) + ("rust-jemallocator" ,rust-jemallocator-0.1)))))) + (define-public rust-nom-3 (package (inherit rust-nom-4.2) @@ -21861,10 +21958,10 @@ deeply recursive algorithms that may accidentally blow the stack.") "StackVec: vector-like facade for stack-allocated arrays.") (license (list license:asl2.0 license:expat)))) -(define-public rust-static-assertions-0.3 +(define-public rust-static-assertions-1 (package (name "rust-static-assertions") - (version "0.3.4") + (version "1.1.0") (source (origin (method url-fetch) @@ -21872,7 +21969,7 @@ deeply recursive algorithms that may accidentally blow the stack.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz")))) + "0gsl6xmw10gvn3zs1rv99laj5ig7ylffnh71f9l34js4nr4r7sx2")))) (build-system cargo-build-system) (home-page "https://github.com/nvzqz/static-assertions-rs") (synopsis "Compile-time assertions for rust") @@ -21881,6 +21978,20 @@ deeply recursive algorithms that may accidentally blow the stack.") are met.") (license (list license:expat license:asl2.0)))) +(define-public rust-static-assertions-0.3 + (package + (inherit rust-static-assertions-1) + (name "rust-static-assertions") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "static-assertions" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 + "1lw33i89888yb3x29c6dv4mrkg3534n0rlg3r7qzh4p58xmv6gkz")))))) + (define-public rust-stb-truetype-0.3 (package (name "rust-stb-truetype") diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index d83211ede2..8bfe96079c 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -415,14 +415,14 @@ should only be used as part of the Guix cups-pk-helper service.") (define-public hplip (package (name "hplip") - (version "3.20.5") + (version "3.20.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "0nj79r61fzddwwzf8kcc0qkp4y9qx46v15iarz6h6y3v91wbsjq0")) + "0rmk7i28mb0q66i5l9d0fq2j23dkhz5gx5g2xvi16ga0dnprcilp")) (modules '((guix build utils))) (patches (search-patches "hplip-remove-imageprocessor.patch")) (snippet @@ -681,14 +681,14 @@ printer/driver specific, but spooler-independent PPD file.") (define-public foo2zjs (package (name "foo2zjs") - (version "20200426") + (version "20200610") (source (origin (method url-fetch) ;; XXX: This is an unversioned URL! (uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz") (sha256 (base32 - "0wwh29ddd59q18r1jpi3166lgnwr8zn9lry82vahc2g96l97isp7")))) + "11ddx6wf8b5ksl4fqw6fnyz9m3y470lryyrskkya2bsch2bvj9lg")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index bab4b4d128..e2eb0f396d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1147,7 +1147,7 @@ including field and record folding."))) (define-public rocksdb (package (name "rocksdb") - (version "6.10.1") + (version "6.10.2") (source (origin (method git-fetch) (uri (git-reference @@ -1156,7 +1156,7 @@ including field and record folding."))) (file-name (git-file-name name version)) (sha256 (base32 - "0rp8q73dx5f1nkcf2qp6fljm4dpj281y6cqckqgv976kvwvqdgz1")) + "1f2wqb6px812ijcivq3rsknqgkv01wblc6sd8wavhrw8qljgr3s1")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index f6f402b315..f5387f8501 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -72,7 +72,7 @@ (define-public diffoscope (package (name "diffoscope") - (version "146") + (version "148") (source (origin (method git-fetch) (uri (git-reference @@ -81,7 +81,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "07kd3vshf4wlm0mv3mp6ljbxjq80mcg52w5ks6si1gnpzfbfz07p")))) + "0siv5z8iqgkzl51dmv69ifqids6hqmiir00yyl1aaqbginrwyhyv")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -92,12 +92,6 @@ (lambda _ (substitute* "setup.py" (("'python-magic',") "")))) - ;; Patch in support for known tools - (add-after 'unpack 'add-known-tools - (lambda _ - (substitute* "diffoscope/external_tools.py" - (("'debian': 'openssl'") - "'debian': 'openssl', 'guix': 'openssl'")))) ;; This test is broken because our `file` package has a ;; bug in berkeley-db file type detection. (add-after 'unpack 'remove-berkeley-test diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 7ff0501ab2..e4cc4a111b 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -119,7 +119,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.16.3") + (version "9.16.4") (source (origin (method url-fetch) (uri (string-append @@ -127,7 +127,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.xz")) (sha256 (base32 - "0zjgaspnx0p0rp83h4yj595s25da7fjis94z9frhv3azvq9nbb17")))) + "02ip1xvmnqla3p5k2rmfrksrw4q9iqbrhyg3mamvrj5a7n6hh8km")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index fe0b26e788..2c7f920011 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,8 +35,50 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system python)) +(define-public docbook-xml-5 + (package + (name "docbook-xml") + (version "5.0.1") + (source (origin + (method url-fetch) + (uri (string-append "https://www.docbook.org/xml/" version + "/docbook-" version ".zip")) + (sha256 + (base32 + "1iz3hq1lqgnshvlz4j9gvh4jy1ml74qf90vqf2ikbq0h4i2xzybs")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((unzip + (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (source (assoc-ref %build-inputs "source")) + (out (assoc-ref %outputs "out")) + (dtd (string-append out "/xml/dtd/docbook"))) + (invoke unzip source) + (mkdir-p dtd) + (copy-recursively (string-append "docbook-" ,version) dtd) + (with-directory-excursion dtd + (substitute* (string-append out "/xml/dtd/docbook/catalog.xml") + (("uri=\"") + (string-append + "uri=\"file://" dtd "/"))) + #t))))) + (native-inputs `(("unzip" ,unzip))) + (home-page "https://docbook.org") + (synopsis "DocBook XML DTDs for document authoring") + (description + "DocBook is general purpose XML and SGML document type particularly well +suited to books and papers about computer hardware and software (though it is +by no means limited to these applications.) This package provides XML DTDs.") + (license (x11-style "" "See file headers.")))) + (define-public docbook-xml (package + (inherit docbook-xml-5) (name "docbook-xml") (version "4.5") (source (origin @@ -45,7 +88,6 @@ (sha256 (base32 "1d671lcjckjri28xfbf6dq7y3xnkppa910w1jin8rjc35dx06kjf")))) - (build-system trivial-build-system) (arguments '(#:builder (begin (use-modules (guix build utils)) @@ -60,19 +102,11 @@ (with-directory-excursion dtd (invoke unzip source)) (substitute* (string-append out "/xml/dtd/docbook/catalog.xml") - (("uri=\"") - (string-append + (("uri=\"") + (string-append "uri=\"file://" dtd "/"))) #t)) - #:modules ((guix build utils)))) - (native-inputs `(("unzip" ,unzip))) - (home-page "https://docbook.org") - (synopsis "DocBook XML DTDs for document authoring") - (description - "DocBook is general purpose XML and SGML document type particularly well -suited to books and papers about computer hardware and software (though it is -by no means limited to these applications.) This package provides XML DTDs.") - (license (x11-style "" "See file headers.")))) + #:modules ((guix build utils)))))) (define-public docbook-xml-4.4 (package (inherit docbook-xml) diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm index da00fdf932..bc27a7a504 100644 --- a/gnu/packages/efi.scm +++ b/gnu/packages/efi.scm @@ -64,7 +64,7 @@ environment presented by Intel's EFI.") (define-public sbsigntools (package (name "sbsigntools") - (version "0.9.3") + (version "0.9.4") (source (origin (method git-fetch) @@ -75,7 +75,7 @@ environment presented by Intel's EFI.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "0gc3xmp73xl7z4nkwz4qy960rdflmx7k4ksgyblcnia9smvsir6y")))) + (base32 "1y76wy65y6k10mjl2dm5hb5ms475alr4s080xzj8y833x01xvf3m")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index af379902a1..866a5c8ced 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -40,7 +40,7 @@ ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> -;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018, 2019, 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019, 2020 Dimakakos Dimos <bendersteed@teknik.io> ;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com> @@ -96,6 +96,7 @@ #:use-module (guix packages) #:use-module (guix cvs-download) #:use-module (guix download) + #:use-module (guix bzr-download) #:use-module (guix git-download) #:use-module (guix hg-download) #:use-module (guix build-system gnu) @@ -249,6 +250,79 @@ using geiser.") (license license:bsd-3) (home-page "https://github.com/xiaohanyu/ac-geiser")))) +(define-public emacs-hyperbole + (package + (name "emacs-hyperbole") + (version "7.0.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "hyperbole-" version ".tar")) + (sha256 + (base32 "08gi4v76s53nfmn3s0qcxc3zii0pspjfd6ry7jq1kgm3z34x8hab")) + (patches + (search-patches "emacs-hyperbole-toggle-messaging.patch")))) + (build-system emacs-build-system) + (arguments + `(#:include '("DEMO" + "DEMO-ROLO.otl" + "HY-ABOUT" + "\\.el$" + "\\.info$" + "\\.kotl$") + #:phases + (modify-phases %standard-phases + ;; Fix build issues about missing "domainname" and "hpmap:dir-user" + ;; parent dir. + (add-after 'unpack 'fix-build + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "hypb.el" + (("/bin/domainname") + (string-append (assoc-ref inputs "inetutils") + "/bin/dnsdomainname"))) + (substitute* "hyperbole.el" + (("\\(hyperb:check-dir-user\\)") "")) + #t))))) + (inputs + `(("inetutils" ,inetutils))) + (home-page "https://www.gnu.org/software/hyperbole/") + (synopsis "The Everyday Hypertextual Information Manager") + (description + "GNU Hyperbole, or just Hyperbole, is an easy-to-use, yet powerful and +programmable hypertextual information management system implemented as a GNU +Emacs package. It offers rapid views and interlinking of all kinds of textual +information, utilizing Emacs for editing. It can dramatically increase your +productivity and greatly reduce the number of keyboard/mouse keys you'll need +to work efficiently. Hyperbole lets you: + +@itemize +@item Quickly create hyperlink buttons either from the keyboard or by dragging +between a source and destination window with a mouse button depressed. Later, +activate buttons by pressing/clicking on them or by giving the name of the +button. +@item Activate many kinds of \"implicit buttons\" recognized by context within +text buffers, e.g. URLs, grep output lines, and git commits. A single key or +mouse button automatically does the right thing in dozens of contexts; just +press and go. +@item Build outlines with multi-level numbered outline nodes, e.g. 1.4.8.6, +that all renumber automatically as any node or tree is moved in the outline. +Each node also has a permanent hyperlink anchor that you can reference from +any other node. +@item Manage all your contacts quickly with hierarchical categories and embed +hyperlinks within each entry. Or create an archive of documents with +hierarchical entries and use the same search mechanism to quickly find any +matching entry. +@item Use single keys to easily manage your Emacs windows or frames and +quickly retrieve saved window and frame configurations. +@item Search for things in your current buffers, in a directory tree or across +major web search engines with the touch of a few keys. +@end itemize + +The common thread in all these features is making retrieval, management and +display of information fast and easy. That is Hyperbole's purpose.") + (license license:gpl3+))) + (define-public emacs-paredit (package (name "emacs-paredit") @@ -398,10 +472,10 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (define-public emacs-magit ;; There hasn't been an official release since 2018-11-16. - (let ((commit "d05545ec2fd7edf915eaf1b9c15c785bb08975cc")) + (let ((commit "0746bf1bacfe896d3917ccc19c7fb9d95c18b1e9")) (package (name "emacs-magit") - (version (git-version "2.90.1" "4" commit)) + (version (git-version "2.90.1" "5" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -410,7 +484,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (file-name (git-file-name name version)) (sha256 (base32 - "11aqyy4r9hrdi9nlypd70hn8384b6q89c7xavgv8c5q7f2g5z9qg")))) + "1sgdygr81s2qxq2ahf998hl89qrb0r2wbgnsiz3hdda1431p0wzg")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs-no-x ;module support is required @@ -1188,14 +1262,14 @@ optional minor mode which can apply this command automatically on save.") (define-public emacs-relint (package (name "emacs-relint") - (version "1.17") + (version "1.18") (source (origin (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/relint-" version ".tar")) + (uri (string-append "https://elpa.gnu.org/packages/" + "relint-" version ".tar")) (sha256 - (base32 "1nv13dqdhf72c1jgk1ml4k6jqb8wsyphcx2vhsyhig5198lg4kd7")))) + (base32 "0zfislsksrkn6qs0w26yaff5xr7xqy2x235dcdpz8s2v35b6dhci")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xr" ,emacs-xr))) (home-page "https://github.com/mattiase/relint") @@ -1404,44 +1478,21 @@ incrementally confined in Isearch manner.") (define-public emacs-emms (package (name "emacs-emms") - (version "5.4") + (version "5.42") (source (origin (method url-fetch) - (uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz")) + (uri (string-append "https://elpa.gnu.org/packages/" + "emms-" version ".tar")) (sha256 - (base32 "1nd7sb6pva7qb1ki6w0zhd6zvqzd7742kaqi0f3v4as5jh09l6nr")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "Makefile" - (("/usr/bin/install-info") - ;; No need to use 'install-info' since it would create a - ;; useless 'dir' file. - "true") - (("^INFODIR=.*") - ;; Install Info files to $out/share/info, not $out/info. - "INFODIR := $(PREFIX)/share/info\n") - (("/site-lisp/emms") - ;; Install directly in share/emacs/site-lisp, not in a - ;; sub-directory. - "/site-lisp") - (("^all: (.*)\n" _ rest) - ;; Build 'emms-print-metadata'. - (string-append "all: " rest " emms-print-metadata\n"))) - #t)))) - (build-system gnu-build-system) + (base32 "1khx1fvllrs6w9kxk12mp1hj309c90mc7lkq1vvlqlr7vd6zmnpj")))) + (build-system emacs-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (guix build emacs-utils) - (ice-9 ftw)) - #:imported-modules (,@%gnu-build-system-modules - (guix build emacs-utils)) - - #:phases + `(#:phases (modify-phases %standard-phases - (replace 'configure + (add-after 'unpack 'set-external-programs + ;; Specify the absolute file names of the various programs + ;; so that everything works out-of-the-box. (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (flac (assoc-ref inputs "flac")) @@ -1451,94 +1502,56 @@ incrementally confined in Isearch manner.") (mp3info (assoc-ref inputs "mp3info")) (mutagen (assoc-ref inputs "mutagen")) (opus (assoc-ref inputs "opus-tools"))) - ;; Specify the installation directory. - (substitute* "Makefile" - (("PREFIX=.*$") - (string-append "PREFIX := " out "\n"))) - - (setenv "SHELL" (which "sh")) - (setenv "CC" "gcc") - - ;; Specify the absolute file names of the various - ;; programs so that everything works out-of-the-box. - (with-directory-excursion "lisp" - (emacs-substitute-variables - "emms-player-mpg321-remote.el" - ("emms-player-mpg321-remote-command" - (string-append mpg321 "/bin/mpg321"))) - (substitute* "emms-player-simple.el" - (("\"ogg123\"") - (string-append "\"" vorbis "/bin/ogg123\""))) - (substitute* "emms-player-simple.el" - (("\"mpg321\"") - (string-append "\"" mpg321 "/bin/mpg321\""))) - (emacs-substitute-variables "emms-info-ogginfo.el" - ("emms-info-ogginfo-program-name" - (string-append vorbis "/bin/ogginfo"))) - (emacs-substitute-variables "emms-info-opusinfo.el" - ("emms-info-opusinfo-program-name" - (string-append opus "/bin/opusinfo"))) - (emacs-substitute-variables "emms-info-libtag.el" - ("emms-info-libtag-program-name" - (string-append out "/bin/emms-print-metadata"))) - (emacs-substitute-variables "emms-info-mp3info.el" - ("emms-info-mp3info-program-name" - (string-append mp3info "/bin/mp3info"))) - (emacs-substitute-variables "emms-info-metaflac.el" - ("emms-info-metaflac-program-name" - (string-append flac "/bin/metaflac"))) - (emacs-substitute-variables "emms-source-file.el" - ("emms-source-file-gnu-find" (which "find"))) - (substitute* "emms-volume-amixer.el" - (("\"amixer\"") - (string-append "\"" alsa "/bin/amixer\""))) - (substitute* "emms-tag-editor.el" - (("\"mid3v2\"") - (string-append "\"" mutagen "/bin/mid3v2\""))) - #t)))) - (add-before 'install 'pre-install - (lambda* (#:key outputs #:allow-other-keys) - ;; The 'install' rule expects the target directories to exist. - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man1 (string-append out "/share/man/man1"))) - (mkdir-p bin) - (mkdir-p man1) - - ;; Ensure that files are not rejected by gzip - (let ((early-1980 315619200)) ; 1980-01-02 UTC - (ftw "." (lambda (file stat flag) - (unless (<= early-1980 (stat:mtime stat)) - (utime file early-1980 early-1980)) - #t))) - #t))) - (add-after 'install 'post-install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (symlink "emms-auto.el" - (string-append out "/share/emacs/site-lisp/" - "emms-autoloads.el"))) - #t))) - #:tests? #f)) - (native-inputs `(("emacs" ,emacs-minimal) ;for (guix build emacs-utils) - ("texinfo" ,texinfo))) - (inputs `(("alsa-utils" ,alsa-utils) - ("flac" ,flac) ;for metaflac - ("vorbis-tools" ,vorbis-tools) - ("mpg321" ,mpg321) - ("taglib" ,taglib) - ("mp3info" ,mp3info) - ("mutagen" ,python-mutagen) - ("opus-tools" ,opus-tools))) - (properties '((upstream-name . "emms"))) - (synopsis "Emacs Multimedia System") + (emacs-substitute-variables "emms-player-mpg321-remote.el" + ("emms-player-mpg321-remote-command" + (string-append mpg321 "/bin/mpg321"))) + (substitute* "emms-player-simple.el" + (("\"ogg123\"") + (string-append "\"" vorbis "/bin/ogg123\""))) + (substitute* "emms-player-simple.el" + (("\"mpg321\"") + (string-append "\"" mpg321 "/bin/mpg321\""))) + (emacs-substitute-variables "emms-info-ogginfo.el" + ("emms-info-ogginfo-program-name" + (string-append vorbis "/bin/ogginfo"))) + (emacs-substitute-variables "emms-info-opusinfo.el" + ("emms-info-opusinfo-program-name" + (string-append opus "/bin/opusinfo"))) + (emacs-substitute-variables "emms-info-libtag.el" + ("emms-info-libtag-program-name" + (string-append out "/bin/emms-print-metadata"))) + (emacs-substitute-variables "emms-info-mp3info.el" + ("emms-info-mp3info-program-name" + (string-append mp3info "/bin/mp3info"))) + (emacs-substitute-variables "emms-info-metaflac.el" + ("emms-info-metaflac-program-name" + (string-append flac "/bin/metaflac"))) + (emacs-substitute-variables "emms-source-file.el" + ("emms-source-file-gnu-find" (which "find"))) + (substitute* "emms-volume-amixer.el" + (("\"amixer\"") + (string-append "\"" alsa "/bin/amixer\""))) + (substitute* "emms-tag-editor.el" + (("\"mid3v2\"") + (string-append "\"" mutagen "/bin/mid3v2\""))) + #t)))))) + (inputs + `(("alsa-utils" ,alsa-utils) + ("flac" ,flac) ;for metaflac + ("vorbis-tools" ,vorbis-tools) + ("mpg321" ,mpg321) + ("taglib" ,taglib) + ("mp3info" ,mp3info) + ("mutagen" ,python-mutagen) + ("opus-tools" ,opus-tools))) + (home-page "https://www.gnu.org/software/emms/") + (synopsis "The Emacs Multimedia System") (description "EMMS is the Emacs Multimedia System. It is a small front-end which can control one of the supported external players. Thus, it supports whatever formats are supported by your music player. It also supports tagging and playlist management, all behind a clean and light user interface.") - (home-page "https://www.gnu.org/software/emms/") (license license:gpl3+))) (define-public emacs-emms-mode-line-cycle @@ -3289,6 +3302,32 @@ appropriate console.") IRC bouncer with ERC.") (license license:expat))) +(define-public emacs-erc-status-sidebar + (let ((commit "ea4189a1dbfe60117359c36e681ad7c389e2968c") + (revision "1")) + (package + (name "emacs-erc-status-sidebar") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/drewbarbs/erc-status-sidebar.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hwlhzgx03z8891sblz56zdp8zj0izh72kxykgcnz5rrkyc3vfi3")))) + (build-system emacs-build-system) + (propagated-inputs `(("emacs-seq" ,emacs-seq))) + (home-page "https://github.com/drewbarbs/erc-status-sidebar") + (synopsis "Hexchat-like activity overview for ERC channels") + (description + "This package provides a Hexchat-like status bar for joined channels in +ERC, an Emacs client for IRC (Internet Relay Chat). It relies on the +@code{erc-track} module, and displays all the same information +@code{erc-track} does in the mode line, but in an alternative format.") + (license license:expat)))) + (define-public emacs-shut-up (package (name "emacs-shut-up") @@ -3912,6 +3951,31 @@ provides an easy way to find synonyms and antonyms for a given word (to avoid repetitions for example).") (license license:gpl3+))) +(define-public emacs-flycheck-guile + (package + (name "emacs-flycheck-guile") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/flatwhatson/flycheck-guile") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "163pnsh6r6bral1jg0vqri54g6hygws21vis0zci4114yb3fhkm1")))) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-geiser" ,emacs-geiser))) + (build-system emacs-build-system) + (home-page "https://github.com/flatwhatson/flycheck-guile") + (synopsis "GNU Guile support for Flycheck") + (description + "This package provides a Flycheck checker for GNU Guile using @code{guild +compile}.") + (license license:gpl3+))) + (define-public emacs-flycheck-rust (package (name "emacs-flycheck-rust") @@ -3989,6 +4053,62 @@ respective @code{*Help*} buffers.") completion of relevant keywords.") (license license:expat))) +(define-public emacs-dvc + (let ((revision "591") ;no tags or official releases + (guix-revision "1")) + (package + (name "emacs-dvc") + (version (string-append "0.0.0-" guix-revision "." revision)) + (source + (origin + (method bzr-fetch) + (uri (bzr-reference + (url "lp:dvc") + (revision revision))) + (sha256 + (base32 + "03pqn493w70wcpgaxvqnfgynxghw114l9pyiv3r414d84vzhan6h")) + (file-name (string-append name "-" version "-checkout")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-lispdir=" (assoc-ref %outputs "out") + "/share/emacs/site-lisp/")) + #:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-home + ;; Something in dvc-bookmarks.el attempts to write config files in + ;; $HOME during the autoload generation. + (lambda _ (setenv "HOME" (getenv "TMPDIR")) #t)) + (add-before 'build 'fix-texinfo + ;; See https://bugs.launchpad.net/dvc/+bug/1264383. + (lambda _ + (substitute* "texinfo/dvc-intro.texinfo" + (("@itemx update ``to''") + "@item update ``to''") + (("@itemx brief") + "@item brief") + (("@itemx full") + "@item full") + (("@itemx drop") + "@item drop") + (("@itemx left file") + "@item left file")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) ;for aclocal + ("emacs" ,emacs-minimal) + ("texinfo" ,texinfo))) + (home-page "http://xsteve.at/prg/emacs_dvc/index.html") + (synopsis "Emacs front-end for various distributed version control systems.") + (description "DVC is a legacy Emacs front-end for a number of +distributed version control systems. It currently supports GNU Arch, GNU +Bazaar, git, Mercurial, and Monotone. It also provides some integration with +Gnus, e.g., for applying patches received by email.") + (license license:gpl2+)))) + (define-public emacs-sudo-edit (let ((commit "cc3d478937b1accd38742bfceba92af02ee9357d") (revision "6")) @@ -4073,14 +4193,14 @@ source code using IPython.") (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.23") - (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/debbugs-" - version ".tar")) - (sha256 - (base32 - "0mcz97b3sddrc68wi8dz95b2rq7ky88pr2i1ghyhy28as16chmz5")))) + (version "0.24") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/debbugs-" + version ".tar")) + (sha256 + (base32 "1b8qwdvf3jvw0chrdgbymb2ci9ms45mf90nrljxx7jql2lsr3x63")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -5109,31 +5229,28 @@ linting of manifests and integration with Puppet Debugger.") (license license:gpl3+)))) (define-public emacs-god-mode - (let ((commit "6cf0807b6555eb6fcf8387a4e3b667071ef38964") - (revision "1")) - (package - (name "emacs-god-mode") - (version (string-append "20151005.925." - revision "-" (string-take commit 9))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/chrisdone/god-mode.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1am415k4xxcva6y3vbvyvknzc6bma49pq3p85zmpjsdmsp18qdix")))) - (build-system emacs-build-system) - (home-page "https://github.com/chrisdone/god-mode") - (synopsis "Minor mode for entering commands without modifier keys") - (description - "This package provides a global minor mode for entering Emacs commands + (package + (name "emacs-god-mode") + (version "2.17.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chrisdone/god-mode.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d2nrj35fzhnycchi0b7m5mbk5fyq7bgpbkkvc5xzqafclrsnapi")))) + (build-system emacs-build-system) + (home-page "https://github.com/chrisdone/god-mode") + (synopsis "Minor mode for entering commands without modifier keys") + (description + "This package provides a global minor mode for entering Emacs commands without modifier keys. It's similar to Vim's separation of commands and insertion mode. When enabled all keys are implicitly prefixed with @samp{C-} (among other helpful shortcuts).") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-jinja2-mode (package @@ -7397,7 +7514,7 @@ indentation guides in Emacs: (define-public emacs-elpy (package (name "emacs-elpy") - (version "1.32.0") + (version "1.34.0") (source (origin (method git-fetch) (uri (git-reference @@ -7406,12 +7523,23 @@ indentation guides in Emacs: (file-name (git-file-name name version)) (sha256 (base32 - "0f00mdnzx6xqwni86rgvaa6sfkwyh62xfbwz8qsar15j0j6vc2dj")))) + "1x1z298axbh4xalssnq9nkf2z1sdgmx839vb01xz18kr9lfavx1x")))) (build-system emacs-build-system) (arguments `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include) #:phases (modify-phases %standard-phases + ;; The following tests fail when building with Emacs 27 (see: + ;; https://github.com/jorgenschaefer/elpy/issues/1812). + (add-after 'unpack 'disable-problematic-tests + (lambda _ + (substitute* "test/elpy-company-backend-test.el" + (("elpy-company-backend-should-add-shell-candidates.*" all) + (string-append all " (skip-unless nil)\n"))) + (substitute* "test/elpy-folding-fold-comments-test.el" + (("elpy-fold-at-point-should-fold-and-unfold-comments.*" all) + (string-append all " (skip-unless nil)\n"))) + #t)) ;; The default environment of the RPC uses Virtualenv to install ;; Python dependencies from PyPI. We don't want/need this in Guix. (add-before 'check 'do-not-use-virtualenv @@ -9456,48 +9584,26 @@ been adapted to work with mu4e.") (uri (git-reference (url "https://github.com/joaotavora/yasnippet.git") (commit version))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name name version)) (sha256 - (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv")) - (modules '((guix build utils))) - (snippet - '(begin - ;; YASnippet expects a "snippets" subdirectory in the same - ;; directory as yasnippet.el, but we don't install it because it's - ;; a git submodule pointing to an external repository. Adjust - ;; `yas-snippet-dirs' to prevent warnings about a missing - ;; directory. - (substitute* "yasnippet.el" - (("^ +'yas-installed-snippets-dir\\)\\)\n") - "))\n")) - #t)))) + (base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv")))) (build-system emacs-build-system) (arguments `(#:tests? #t #:test-command '("emacs" "--batch" "-l" "yasnippet-tests.el" "-f" "ert-run-tests-batch-and-exit") - ;; FIXME: one failing test. #:phases (modify-phases %standard-phases - (add-before 'check 'make-tests-writable - (lambda _ - (make-file-writable "yasnippet-tests.el") - #t)) - (add-before 'check 'delete-rebinding-test + ;; Set HOME, otherwise test-rebindings fails. + (add-before 'check 'set-home (lambda _ - (emacs-batch-edit-file "yasnippet-tests.el" - `(progn (goto-char (point-min)) - (re-search-forward "ert-deftest test-rebindings") - (beginning-of-line) - (kill-sexp) - (basic-save-buffer))) + (setenv "HOME" (getcwd)) #t))))) (home-page "https://github.com/joaotavora/yasnippet") (synopsis "Yet another snippet extension for Emacs") - (description - "YASnippet is a template system for Emacs. It allows you to type an -abbreviation and automatically expand it into function templates.") + (description "YASnippet is a template system for Emacs. It allows you to +type an abbreviation and automatically expand it into function templates.") (license license:gpl3+))) (define-public emacs-yasnippet-snippets @@ -10015,26 +10121,17 @@ performance-oriented and tidy.") (define-public emacs-leaf (package (name "emacs-leaf") - (version "3.5.0") + (version "4.2.5") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/conao3/leaf.el.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "leaf-" version ".tar")) (sha256 - (base32 - "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d")))) + (base32 "0y78mp4c2gcwp7dc87wlx3r4hfmap14vvx8gkjc9nkf99qavpnkw")))) (build-system emacs-build-system) (home-page "https://github.com/conao3/leaf.el") - (arguments - `(#:tests? #t - #:test-command '("emacs" "--batch" - "-l" "leaf-tests.el" - "-f" "cort-test-run"))) - (synopsis - "Simplify your init.el configuration, extended use-package") + (synopsis "Simplify your init.el configuration, extended use-package") (description "This package provides macros that allows you to declaratively configure settings typical of an Elisp package with various keywords. The syntax is @@ -14524,7 +14621,7 @@ documentation.") (define-public emacs-hy-mode (package (name "emacs-hy-mode") - (version "1.0.3") + (version "1.0.4") (source (origin (method git-fetch) @@ -14533,7 +14630,7 @@ documentation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1jxximiznz7fw9ys5k6plw85zrbzvxidql7py1fdi425fdp4058z")))) + (base32 "0gihxlmfminadaqdr8d2zccd7wwygl3m0gfzxsk5izi7f8hl4w7f")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -14672,12 +14769,11 @@ scientific publication. Org Ref is also useful for research documents and notes.") (license license:gpl3+)))) -;; This project is unmaintained. Please use emacs-org-re-reveal instead. (define-public emacs-org-reveal - (let ((commit "9210413202a360a559a51e8275faa42be68cf44b")) + (let ((commit "84039bb499290926511b04749882ecb5eda45a0c")) (package (name "emacs-org-reveal") - (version (git-version "0.1" "3" commit)) + (version (git-version "20200607" "1" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -14686,7 +14782,7 @@ notes.") (file-name (git-file-name name version)) (sha256 (base32 - "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza")))) + "1fx3xmnkpfljrdmy0dsyq79k93ky57gcqm1ad9qbzykk7qjvmmi8")))) (build-system emacs-build-system) (home-page "https://github.com/yjwen/org-reveal") (synopsis "Org and Reveal.js powered HTML presentation tool") @@ -16936,11 +17032,11 @@ accept and reject GitHub pull requests.") (license license:gpl3+)))) (define-public emacs-deadgrep - (let ((commit "3fc7ca1f58e190f0c80da455a0e40187e673020e") - (revision "2")) + (let ((commit "7e50e71c6ff4e17dded43e0836dae4e5ec020fcf") + (revision "1")) (package (name "emacs-deadgrep") - (version (git-version "0.8" revision commit)) + (version (git-version "0.10" revision commit)) (source (origin (method git-fetch) @@ -16950,9 +17046,9 @@ accept and reject GitHub pull requests.") (file-name (git-file-name name version)) (sha256 (base32 - "016gwqxd9aqzjw3hqv3vdf8cs6la8r65g6azg5rlmjqwfx3vsaha")))) + "1vjhrq02l8gvdn2haygzq7277hnhjchs9xrfpcnh76gqip200gx4")))) (build-system emacs-build-system) - (inputs + (propagated-inputs `(("emacs-dash" ,emacs-dash) ("emacs-s" ,emacs-s) ("emacs-spinner" ,emacs-spinner))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 59240f17c4..ab5b662915 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -44,7 +44,9 @@ #:use-module (gnu packages boost) #:use-module (gnu packages backup) #:use-module (gnu packages cdrom) + #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages fonts) @@ -88,7 +90,8 @@ #:use-module (gnu packages web) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix build-system python)) (define-public desmume (package @@ -414,7 +417,7 @@ V2.") (define-public mgba (package (name "mgba") - (version "0.8.1") + (version "0.8.2") (source (origin (method git-fetch) @@ -423,7 +426,7 @@ V2.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1if82mfaak3696w5d5yshynpzywrxgvg3ifdfi2rwlpvq1gpd429")) + (base32 "0dlwhn3hrpaqnl5hjs53y8j2i16idxrg3gy688gcwrc9z1a6bkn2")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -1622,3 +1625,156 @@ derived from Gens. Project goals include clean source code, combined features from various forks of Gens, and improved platform portability.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:gpl2+))) + +(define-public bsnes + (package + (name "bsnes") + (version "115") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bsnes-emu/bsnes") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j054x38fwai61vj36sc04r3zkzay5acq2cgd9zqv5hs51s36g5b")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "-C" "bsnes" + (string-append "prefix=" (assoc-ref %outputs "out"))) + #:tests? #f ; No tests. + #:phases (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ao" ,ao) + ("cairo" ,cairo) + ("eudev" ,eudev) + ("gtksourceview-2" ,gtksourceview-2) + ("libxrandr" ,libxrandr) + ("libxv" ,libxv) + ("openal" ,openal) + ("pulseaudio" ,pulseaudio) + ("sdl2" ,sdl2))) + (home-page "https://bsnes.dev/") + (synopsis "Emulator for the Super Nintendo / Super Famicom systems") + (description + "bsnes is a Super Nintendo / Super Famicom emulator that focuses on +performance, features, and ease of use.") + (license license:gpl3))) + +;; python-pwntools requires a -rc release of unicorn +(define-public unicorn + (let ((unless-x86 + (lambda (code) + (if (member (%current-system) '("x86_64-linux" "i686-linux")) + '() + code)))) + (package + (name "unicorn") + (version "1.0.2-rc4") + ;; NOTE: unicorn ships a bundled QEMU, but with a lot of custom modifications. + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/unicorn-engine/unicorn") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17nyccgk7hpc4hab24yn57f1xnmr7kq4px98zbp2bkwcrxny8gwy")))) + (outputs '("out" "python")) + ;; The main library is not written in Python, but the build process has + ;; little in common with any defined build system, so we might as well + ;; build on top of python-build-system and make use of all + ;; the Python-specific phases that can be reused. + (build-system python-build-system) + (arguments + `(#:modules ((srfi srfi-26) + (guix build python-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'install-bindings-to-python-output + (lambda* (#:key outputs #:allow-other-keys) + ;; python-build-system will build the bindings and install them to + ;; the "out" output, so change the build-internal names of the + ;; outputs. + ;; + ;; TODO: remove this once #40469 lands, through the core-updates + ;; holding zone, on master. + (set-car! (assoc "out" outputs) "lib") + (set-car! (assoc "python" outputs) "out") + #t)) + (add-before 'build 'build-library + (lambda* (#:key inputs #:allow-other-keys) + (invoke "make" + "-j" (number->string (parallel-job-count)) + "UNICORN_STATIC=no" + "CC=gcc"))) + (add-after 'build-library 'install-library + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "install" + "UNICORN_STATIC=no" + (string-append + "PREFIX=" + (assoc-ref outputs "lib"))))) + (add-before 'build 'prepare-bindings + (lambda* (#:key outputs #:allow-other-keys) + (chdir "bindings/python") + ;; Set this environment variable so that the Python bindings + ;; don't build their own copy of the shared object, but use + ;; a dummy value such that the bindings test suite uses the + ;; same mechanism for loading the library as any other user. + (setenv "LIBUNICORN_PATH" "1") + (substitute* "unicorn/unicorn.py" + (("_path_list = \\[.*") + (string-append + "_path_list = [\"" + (assoc-ref outputs "lib") + ;; eat the rest of the list + "/lib\"] + 0*["))) + #t)) + (add-before 'check 'check-library + (lambda* (#:key outputs #:allow-other-keys) + (for-each + (lambda (suite) + (with-directory-excursion + (string-append "../../tests/" suite) + (invoke "make" "test" "CC=gcc" + ,@(unless-x86 + '("AS=i686-unknown-linux-gnu-as" + "OBJCOPY=i686-unknown-linux-gnu-objcopy"))))) + '("unit" "regress")) + #t)) + (add-after 'install 'install-samples + (lambda* (#:key outputs #:allow-other-keys) + (let* ((python-samples (find-files "." "sample_.*")) + (c-samples (find-files "../../samples" ".*\\.c")) + (python-docdir + (string-append (assoc-ref outputs "out") + "/share/doc/unicorn/samples")) + (c-docdir + (string-append (assoc-ref outputs "lib") + "/share/doc/unicorn/samples"))) + (for-each (cut install-file <> c-docdir) c-samples) + (for-each (cut install-file <> python-docdir) python-samples) + #t)))))) + (native-inputs + ;; NOTE: cross-binutils needs to be wrapped with unless-x86, as otherwise + ;; the linker provided by the package will be used, circumventing the ld-wrapper. + `(,@(unless-x86 + `(("assembler-for-tests" ,(cross-binutils "i686-unknown-linux-gnu")))) + ("cmocka" ,cmocka) + ("hexdump-for-tests" ,util-linux))) + (home-page "http://www.unicorn-engine.org") + (synopsis "Unicorn CPU emulator framework") + (description + "Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator +framework based on QEMU.") + (license license:gpl2+)))) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index fe3c87edd5..f2d32e663f 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> +;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,6 +55,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bdw-gc) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) @@ -61,6 +63,7 @@ #:use-module (gnu packages commencement) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages dejagnu) #:use-module (gnu packages digest) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) @@ -85,8 +88,10 @@ #:use-module (gnu packages imagemagick) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) ;FIXME: for pcb + #:use-module (gnu packages lisp) #:use-module (gnu packages m4) #:use-module (gnu packages maths) + #:use-module (gnu packages man) #:use-module (gnu packages multiprecision) #:use-module (gnu packages mpi) #:use-module (gnu packages ncurses) @@ -103,6 +108,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages tex) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) #:use-module (gnu packages openkinect) @@ -1027,15 +1033,14 @@ the 'showing the effect of'-style of operation.") (define-public volk (package (name "volk") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) (uri (string-append "https://www.libvolk.org/releases/volk-" version ".tar.gz")) (sha256 - (base32 - "1wz5nhmw6np8ka30pgy1qnima3rk2ksln4klfhrj7wah3fian0k9")))) + (base32 "1pjxz3piwy49njj5y2zk437prwkv9lfs5g48577jj3kcsg766vi3")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1058,16 +1063,16 @@ the 'showing the effect of'-style of operation.") (,(string-append python "/bin:"))))) #t))))) (inputs - `(("boost" ,boost))) - (native-inputs - `(("python" ,python-wrapper) + `(("boost" ,boost) + ("python" ,python-wrapper) ("python-mako" ,python-mako))) (home-page "https://www.libvolk.org/") (synopsis "Vector-Optimized Library of Kernels") (description - "@code{volk} contains procedures with machine-specific optimizations -for mathematical functions. It also provides an machine-independent -interface to select the best such procedures to use on a given system.") + "@acronym{VOLK, Vector-Optimized Library of Kernels} contains procedures +with machine-specific optimizations for mathematical functions. It also +provides a machine-independent interface to select the best such procedures to +use on a given system.") (license license:gpl3+))) (define-public minicom @@ -2624,7 +2629,7 @@ export filters.") (define-public meshlab (package (name "meshlab") - (version "2020.05") + (version "2020.06") (source (origin (method git-fetch) (uri (git-reference @@ -2633,7 +2638,7 @@ export filters.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m")))) + (base32 "1cgx24wxh2ah5pff51rcrk6x8qcdjpkxcdak7s4cfzmxvjlshydd")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) @@ -2677,3 +2682,65 @@ proper, a versatile program with a graphical user interface, and meshlabserver, a program that can perform mesh processing tasks in batch mode, without a GUI.") (license license:gpl3+))) + +(define-public poke + ;; Upstream has yet to tag any releases. + (let ((commit "d33317a46e3b7c48130a471a48cbfea1abab70d8") + (revision "0")) + (package + (name "poke") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.savannah.gnu.org/poke.git") + (commit commit) + (recursive? #t))) + (sha256 + (base32 "1dd0r1x123bqi78lrsk58rvg9c9wka0kywdyzn7g3i4hkh54xb7d")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + ;; The GUI, which we elide, requires tcl and tk. + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ;; Requires bison 3.6+ but we currently only have 3.5. + ;; Bison 3.6 will be available in the next core update. + ("bison-3.6" ,bison-3.6) + ("clisp" ,clisp) + ("dejagnu" ,dejagnu) + ("flex" ,flex) + ("gettext" ,gettext-minimal) + ("help2man" ,help2man) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("python-2" ,python-2) + ("python-3" ,python-3) + ("texinfo" ,texinfo))) + ;; FIXME: Enable NBD support by adding `libnbd' (currently unpackaged). + ;; FIXME: A "hyperlinks-capable" `libtexststyle' needed for the hserver. + (inputs `(("json-c" ,json-c) + ("libgc" ,libgc) + ("readline" ,readline))) + (arguments + ;; To build the GUI, add the `--enable-gui' configure flag. + ;; To enable the "hyperlink server", add the `--enable-hserver' flag. + `(#:configure-flags '("--enable-mi") + #:phases (modify-phases %standard-phases + ;; This is a non-trivial bootstrap that needs many of the + ;; native-inputs and thus must run after `patch-shebangs'. + (delete 'bootstrap) + (add-after 'patch-source-shebangs 'bootstrap + (lambda _ + (invoke "./bootstrap" "--no-git" + "--no-bootstrap-sync" + "--gnulib-srcdir=gnulib") + #t))))) + (home-page "http://jemarch.net/poke.html") + (synopsis "Interactive, extensible editor for binary data") + (description "GNU poke is an interactive, extensible editor for binary + data. Not limited to editing basic entities such as bits and bytes, it + provides a full-fledged procedural, interactive programming language designed + to describe data structures and to operate on them.") + (license license:gpl3+)))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 40f1191416..02e1b0e220 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -70,7 +70,7 @@ (define-public efl (package (name "efl") - (version "1.24.2") + (version "1.24.3") (source (origin (method url-fetch) (uri (string-append @@ -78,7 +78,7 @@ version ".tar.xz")) (sha256 (base32 - "0w3srvigg4kfi7xq76c7y4hnq5yr2gxrrsvlyj1g2wc1igz1vyg1")))) + "0ajwc8lmay5ai7nsrp778g393h0p4h98p4c22gic2w61fgkcd5fy")))) (build-system meson-build-system) (native-inputs `(("check" ,check) @@ -152,11 +152,6 @@ ; (assoc-ref %build-inputs "hyphen") ; "/share/hyphen") "-Dnetwork-backend=connman" - ,@(match (%current-system) - ("armhf-linux" - '("-opengl=es-egl")) - (_ - '("-Dopengl=full"))) ;; for wayland "-Dwl=true" "-Ddrm=true") diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 4ed0f9a037..5a913441e9 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -35,6 +35,7 @@ ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2020 Simen Endsjø <simendsjo@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +64,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system trivial) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) @@ -1170,7 +1172,7 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.") (package (name "font-iosevka") ;; When updating, also update the hash of the Iosevka variant(s) below. - (version "2.3.3") + (version "3.1.1") (source (origin (method url-fetch/zipbomb) @@ -1178,7 +1180,7 @@ typeface, by mimicking Comic Sans while fixing its most obvious shortcomings.") "/releases/download/v" version "/ttc-iosevka-" version ".zip")) (sha256 - (base32 "0jkv5rkg5hi0avhwyhcjiqzjslp6zjj77f09vxx2gj9l93byz731")))) + (base32 "1xnkfr11rdjnin2fvgkp9vxxigfbfdncr0wy6n78mlm3p1pqwfrm")))) (build-system font-build-system) (home-page "https://be5invis.github.io/Iosevka/") (synopsis "Coders' typeface, built from code") @@ -1201,7 +1203,7 @@ programming. Iosevka is completely generated from its source code.") "/releases/download/v" version "/ttc-iosevka-slab-" version ".zip")) (sha256 - (base32 "1rkmgi08kknc1fg54zpa6w92m3b3v7pc8cpwygz22kgd2h0mdrr8")))))) + (base32 "1n3lh015mvsdbyygpg3p3yqjpqdn1fdvjh1bhi2ggjanhifjsgzh")))))) (define-public font-iosevka-term (package @@ -1213,10 +1215,10 @@ programming. Iosevka is completely generated from its source code.") (method url-fetch/zipbomb) (uri (string-append "https://github.com/be5invis/Iosevka" "/releases/download/v" version - "/02-iosevka-term-" version ".zip")) + "/ttf-iosevka-term-" version ".zip")) (sha256 (base32 - "1mxlb3qf64nykjd0x4gjfvib3k5kyv9ssv9iyzxxgk2z80bydz00")))) + "1mwzwpdppmcf03fgb5q6ksj0kk93wwaz2isk24wj1cm66r8psxk0")))) (arguments `(#:phases (modify-phases %standard-phases @@ -1235,10 +1237,10 @@ programming. Iosevka is completely generated from its source code.") (method url-fetch/zipbomb) (uri (string-append "https://github.com/be5invis/Iosevka" "/releases/download/v" version - "/06-iosevka-term-slab-" version ".zip")) + "/ttf-iosevka-term-slab-" version ".zip")) (sha256 (base32 - "1gc16hih157qy6vpa8f88psq0fnksiigi3msqazc75zsm3z4kzqj")))) + "0fiwxkf2gv38ia695wh8cvnb58sqs3fixjd33q1pp9cps94wzjpg")))) (arguments `(#:phases (modify-phases %standard-phases @@ -1247,10 +1249,52 @@ programming. Iosevka is completely generated from its source code.") (for-each make-file-writable (find-files "." ".*")) #t))))))) +(define-public font-iosevka-aile + (package + (inherit font-iosevka) + (name "font-iosevka-aile") + (version (package-version font-iosevka)) + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://github.com/be5invis/Iosevka" + "/releases/download/v" version + "/ttc-iosevka-aile-" version ".zip")) + (sha256 + (base32 "15kz8ahlynnb79s2d367a1fallc4l3j3957yj43qrymayagkh8sv")))))) + +(define-public font-iosevka-etoile + (package + (inherit font-iosevka) + (name "font-iosevka-etoile") + (version (package-version font-iosevka)) + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://github.com/be5invis/Iosevka" + "/releases/download/v" version + "/ttc-iosevka-etoile-" version ".zip")) + (sha256 + (base32 "0q9299mc595m251v9zj9b0zparl2qq8dwx090l0jkfpr2az9xr8q")))))) + +(define-public font-iosevka-sparkle + (package + (inherit font-iosevka) + (name "font-iosevka-sparkle") + (version (package-version font-iosevka)) + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://github.com/be5invis/Iosevka" + "/releases/download/v" version + "/ttc-iosevka-sparkle-" version ".zip")) + (sha256 + (base32 "0nhvcnvl11iqmsxsyrxlbnwy9z1vdhqv6p3g7fig9ra6n5j9k5kn")))))) + (define-public font-sarasa-gothic (package (name "font-sarasa-gothic") - (version "0.12.6") + (version "0.12.7") (source (origin (method url-fetch) @@ -1258,7 +1302,7 @@ programming. Iosevka is completely generated from its source code.") "/releases/download/v" version "/sarasa-gothic-ttc-" version ".7z")) (sha256 - (base32 "1g6k9d5lajchbhsh3g12fk5cgilyy6yw09fals9vc1f9wsqvac86")))) + (base32 "09v65k00g8m953s6riz9xjzb2jgr6v5pdhcllalzzl7c1cn2xl3k")))) (build-system font-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -1795,3 +1839,61 @@ characteristic so that they sit smoothly with the Tamil glyphs.") to write people's name, or for formal business situations where it is necessary to have a detailed and proper character style.") (license license:ipa))) + +(define-public font-fontna-yasashisa-antique + (package + (name "font-fontna-yasashisa-antique") + (version "0") + (source (origin + (method url-fetch) + (uri (string-append "http://flop.sakura.ne.jp/font/fontna-op/" + "YasashisaAntiqueFont.zip")) + (sha256 + (base32 + "1hl2qk3lzmh9h2vv5647vhlslkn3vqbq9rqgp4wzybajafx8c6nj")))) + (build-system font-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; encoding issues cause many phases to fail + (add-after 'unpack 'fix-encoding + (lambda _ + ;; This directory, TrueType(サポート外), is not properly encoded, + ;; which makes rename-file fail. Instead, use shell globbing to + ;; select and rename the directory. + (invoke "sh" "-c" "mv TrueType* TrueType") + #t))))) + (native-inputs + `(("bash" ,bash-minimal) + ("coreutils" ,coreutils))) + (home-page "http://www.fontna.com/blog/1122/") + (synopsis "Mix font of gothic kanji and minchou kana") + (description "Antique is a font that is popular to write manga bubbles, +dictionary headwords and picture books. This font reduces the thickness +differences in characters compared to other antique fonts.") + (license (list license:ipa + (license:non-copyleft "mplus-TESTFLIGHT-057/LICENSE_E"))))) + +(define-public font-mplus-testflight + (package + (name "font-mplus-testflight") + (version "063a") + (source (origin + (method url-fetch) + (uri (string-append "https://osdn.net/frs/redir.php?" + "m=gigenet&f=mplus-fonts%2F62344%2Fmplus-TESTFLIGHT-" + version ".tar.xz")) + (file-name (string-append name "-" version ".tar.xz")) + (sha256 + (base32 + "0yfx9i77638yrgclnwwl4af79ri3vifi1nslwi6mgzva9cxrgss4")))) + (build-system font-build-system) + (home-page "https://mplus-fonts.osdn.jp/index.html") + (synopsis "Japanese font collection") + (description "M+ is a collection of Japanese fonts with all Latin glyph +sets, with Basic Latin, Latin-1 Supplement, Latin Extended-A, and IPA +Extensions. In addition to European letters used in many Western European +languages, it contains Japanese characters, including Kana glyphs and more +than 5,300 Kanji glyphs, as well major international phonetic symbols, +operators and special symbols.") + (license (license:non-copyleft "file:///LICENSE_E")))) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index b899c2fe6c..9ef92a11f2 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com> @@ -1495,7 +1495,7 @@ of use.") (define-public openmw (package (name "openmw") - (version "0.45.0") + (version "0.46.0") (source (origin (method url-fetch) @@ -1504,7 +1504,7 @@ of use.") "openmw-" version ".tar.gz")) (sha256 (base32 - "0r0wgvv1faan8z8lbply8lks4hcnppifjrcz04l5zvq6yiqzjg5n")))) + "0n7x39kwhwmi6ly9hd7yc6dhlrmmdmx30ahc46kmlzzn2n7mm8q7")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No test target @@ -1743,20 +1743,25 @@ a 2D editor view.") (define-public guile-chickadee (package (name "guile-chickadee") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append "https://files.dthompson.us/chickadee/" "chickadee-" version ".tar.gz")) (sha256 (base32 - "1fdicsgls5cp0yffcm5vjmav67gv9bxhz1s3jvdvinspxb485x7l")))) + "0y3s0p4zyghys48sayfhcbmxmflh8hwawnx5an2jlb3x84yr0dsx")))) (build-system gnu-build-system) + (arguments + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) (propagated-inputs `(("guile-opengl" ,guile-opengl) ("guile-sdl2" ,guile-sdl2))) (inputs - `(("guile" ,guile-2.2))) + `(("guile" ,guile-2.2) + ("libvorbis" ,libvorbis) + ("mpg123" ,mpg123) + ("openal" ,openal))) (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) @@ -1779,20 +1784,23 @@ that parenthetically inclined game developers need to make 2D (and eventually (package (inherit guile-chickadee) (name "guile3.0-chickadee") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append "https://files.dthompson.us/chickadee/" "chickadee-" version ".tar.gz")) (sha256 (base32 - "1fdicsgls5cp0yffcm5vjmav67gv9bxhz1s3jvdvinspxb485x7l")))) + "0y3s0p4zyghys48sayfhcbmxmflh8hwawnx5an2jlb3x84yr0dsx")))) (build-system gnu-build-system) (propagated-inputs `(("guile-opengl" ,guile3.0-opengl) ("guile-sdl2" ,guile3.0-sdl2))) (inputs - `(("guile" ,guile-3.0))) + `(("guile" ,guile-3.0) + ("libvorbis" ,libvorbis) + ("mpg123" ,mpg123) + ("openal" ,openal))) (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 32d7d8d478..27cbf33fb9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -146,6 +146,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) + #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) @@ -176,14 +177,15 @@ #:use-module (gnu packages messaging) #:use-module (gnu packages networking) #:use-module (guix build-system copy) + #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system meson) - #:use-module (guix build-system scons) + #:use-module (guix build-system perl) #:use-module (guix build-system python) - #:use-module (guix build-system cmake) #:use-module (guix build-system qt) + #:use-module (guix build-system scons) #:use-module (guix build-system trivial) #:use-module ((srfi srfi-1) #:hide (zip)) #:use-module (srfi srfi-26)) @@ -515,7 +517,7 @@ want what you have.") (define-public corsix-th (package (name "corsix-th") - (version "0.63") + (version "0.64") (source (origin (method git-fetch) @@ -524,7 +526,7 @@ want what you have.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1rkyk8g55xny276s0hr5k8mq6f4nzz56d3k2mp09dzfymrqb8hgi")))) + (base32 "0chh9cv2kdc39sr0x8hclcyzd8dz2y6grgagqzkvr7j570wa5cqh")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1011,6 +1013,45 @@ does not include game data.") (license (list license:agpl3 license:zlib)))) ; ext/tinyfiledialogs +(define-public augustus + (package + (inherit julius) + (name "augustus") + (version (package-version julius)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Keriew/augustus") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ii0w0iwa9zv5bbqfcps5mxifd796m6fw4gvjf09pkm3yjgqc0ag")) + ;; Remove unused bundled libraries. + (modules '((guix build utils))) + (snippet + '(begin + (with-directory-excursion "ext" + (for-each delete-file-recursively '("dirent" "png" "SDL2" "zlib"))) + #t)))) + (arguments + ;; No tests. See https://github.com/Keriew/augustus/issues/82. + `(#:tests? #f)) + (home-page "https://github.com/Keriew/augustus") + (synopsis "Re-implementation of Caesar III game engine with gameplay changes") + (description + "Fork of Julius, an engine for the a city-building real-time strategy +game Caesar III. Gameplay enhancements include: + +@itemize +@item roadblocks; +@item market special orders; +@item global labour pool; +@item partial warehouse storage; +@item increased game limits; +@item zoom controls. +@end itemize\n"))) + (define-public meandmyshadow (package (name "meandmyshadow") @@ -1733,6 +1774,118 @@ can be explored and changed freely.") license:gpl3+ license:silofl1.1)))) +(define-public seahorse-adventures + (package + (name "seahorse-adventures") + (version "1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dulsi/seahorse-adventures.git") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rnvk06npaqcpjz5z6xcmssz61i32s422lydp49vrnf3j2g4yimd")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + ;; Remove non-free (non-commercial) font. + (snippet + `(begin + (for-each delete-file (find-files "data/fonts" ".")) + #t)))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (delete 'build) ;pure Python + (replace 'install ;no install script + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share")) + (applications (string-append share "/applications")) + (data (string-append share "/seahorse-adventures"))) + ;; Install data. + (for-each (lambda (f) + (chmod f #o555) + (install-file f data)) + '("leveledit.py" "run_game.py" "tileedit.py")) + (for-each (lambda (dir) + (let ((target (string-append data "/" dir))) + (mkdir-p target) + (copy-recursively dir target))) + '("data" "lib")) + ;; Create executable. + (mkdir-p bin) + (let ((executable (string-append bin "/seahorse-adventures"))) + (call-with-output-file executable + (lambda (p) + (format p + "#!~a~@ + export PYTHONPATH=~a:~a~@ + exec -a \"~a\" ~a \"$@\"~%" + (which "bash") data (getenv "PYTHONPATH") + (which "python3") + (string-append data "/run_game.py")))) + (chmod executable #o555)) + ;; Add desktop file. + (mkdir-p applications) + (make-desktop-entry-file + (string-append applications "/seahorse-adventures.desktop") + #:name "Seahorse Adventures" + #:comment + '((#f "Help Barbie the seahorse float on bubbles to the moon")) + #:exec ,name + #:icon ,name + #:categories '("Game" "ActionGame") + #:keywords '("game" "retro" "platform")) + ;; Add icons. + (for-each + (lambda (size) + (let ((dir (string-append share "/icons/hicolor/" + size "x" size "/apps"))) + (mkdir-p dir) + (copy-file + (string-append "icon" size ".png") + (string-append dir "/searhorse-adventures.png")))) + '("32" "64" "128"))) + #t)) + (add-after 'install 'unbundle-fonts + ;; Unbundle Bitstream Vera font and replace deleted one. + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (data (string-append out "/share/seahorse-adventures")) + (vera (string-append (assoc-ref inputs "font-bitstream-vera") + "/share/fonts/truetype/Vera.ttf"))) + (let ((themes-dir (string-append data "/data/themes/"))) + (for-each + (lambda (theme) + (let ((target (string-append themes-dir theme "/Vera.ttf"))) + (delete-file target) + (symlink vera target))) + '("default" "gray"))) + (symlink vera (string-append data "/data/fonts/04B_20__.TTF")) + (substitute* (string-append data "/lib/main.py") + (("f_scale = 0.35") "f_scale = 0.47"))) + #t))))) + (inputs + `(("font-bitstream-vera" ,font-bitstream-vera) + ("python-pygame" ,python-pygame))) + (home-page "http://www.imitationpickles.org/barbie/") + (synopsis "Help Barbie the seahorse float on bubbles to the moon") + (description + "Barbie Seahorse Adventures is a retro style platform arcade game. +You are Barbie the seahorse who travels through the jungle, up to the +volcano until you float on bubbles to the moon. On the way to your +final destination you will encounter various enemies, servants of the +evil overlord who has stolen the galaxy crystal. Avoid getting hit +and defeat them with your bubbles!") + ;; GPL2+ is for code, CC0 is for art. + (license (list license:gpl2+ license:cc0)))) + (define-public superstarfighter (package (name "superstarfighter") @@ -2970,7 +3123,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.12") + (version "1.14.13") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -2979,7 +3132,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "027bc1363hdgahw7dvd22fvvqd132byxnljfbq6lvlr5ci01q8mk")))) + "1pmqj4rah0256qi9w394ksb9apid723i5f5agkg6x1lahb1ac91q")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no check target @@ -5225,7 +5378,7 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.24.0") + (version "0.25.0") (source (origin (method url-fetch) @@ -5238,8 +5391,18 @@ fish. The whole game is accompanied by quiet, comforting music.") (string-append "http://crawl.develz.org/release/stone_soup-" version "-nodeps.tar.xz"))) (sha256 - (base32 "0kdq6s12myxfdg75ma9x3ys2nd0xwb3xm2ynlmhg4628va0pnixr")) - (patches (search-patches "crawl-upgrade-saves.patch")))) + (base32 "0rn1wjxdqw33caiwisfypm1j8cid3c9pz01ahicl17144zs29z3d")) + (patches (search-patches "crawl-upgrade-saves.patch")) + ;; The 0.25.0 -nodeps.tar.xz was built from an OSX machine; normally + ;; apparently it's built from a Debian machine before the Debian + ;; packages are made. These ._* files are binary and have the string + ;; "Mac OS X" in them... removing these seems to result in compilation + ;; again. + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file (find-files "." "^\\._")) + #t)))) (build-system gnu-build-system) (inputs `(("lua51" ,lua-5.1) @@ -6842,6 +7005,104 @@ when packaged in Blorb container files or optionally from individual files.") (home-page "http://frotz.sourceforge.net") (license license:gpl2+)))) +(define-public frozen-bubble + ;; Last official release is very outdated (2010). Use latest commit (2017). + (let ((commit "d6a029110ad6ab9e4960052e175addc98807fb7e") + (revision "1")) + (package + (name "frozen-bubble") + (version (git-version "2.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kthakore/frozen-bubble.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rfrcym5lf4qac2qdklikb1ywijyxypq298azzxahy461dadl6cx")))) + (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Build process needs to create files in the "server" + ;; directory. + (add-after 'unpack 'fix-permissions + (lambda _ + (for-each make-file-writable + (find-files "server" "." #:directories? #t)))) + ;; By default, build stops at warnings. + (add-after 'unpack 'prevent-build-error + (lambda _ + (substitute* "inc/My/Builder.pm" + (("-Werror") "")) + #t)) + (add-after 'install 'install-desktop-file-and-icons + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share")) + (hicolor (string-append share "/icons/hicolor"))) + ;; Create desktop entry. + (make-desktop-entry-file + (string-append share "/applications/" ,name ".desktop") + #:name "Frozen Bubble" + #:comment "Frozen Bubble arcade game" + #:exec ,name + #:icon ,name + #:categories '("Game" "ArcadeGame")) + ;; Add icons. + (with-directory-excursion "share/icons" + (for-each + (lambda (size) + (let* ((dim (string-append size "x" size)) + (dir (string-append hicolor "/" dim "/apps"))) + (mkdir-p dir) + (copy-file + (string-append "frozen-bubble-icon-" dim ".png") + (string-append dir "/frozen-bubble.png")))) + '("16" "32" "48" "64")))) + #t)) + (add-after 'install 'wrap-perl-libs + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (perl5lib (getenv "PERL5LIB"))) + (for-each (lambda (prog) + (wrap-program (string-append out "/" prog) + `("PERL5LIB" ":" prefix + (,(string-append perl5lib ":" out + "/lib/perl5/site_perl"))))) + (find-files "bin" "."))) + #t))))) + (native-inputs + `(("perl-alien-sdl" ,perl-alien-sdl) + ("perl-capture-tiny" ,perl-capture-tiny) + ("perl-locale-maketext-lexicon" ,perl-locale-maketext-lexicon) + ("perl-module-build" ,perl-module-build) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("perl-compress-bzip2" ,perl-compress-bzip2) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-file-slurp" ,perl-file-slurp) + ("perl-file-which" ,perl-file-which) + ("perl-ipc-system-simple" ,perl-ipc-system-simple) + ("perl-sdl" ,perl-sdl) + ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-pango sdl-ttf))))) + (home-page "http://frozen-bubble.org/") + (synopsis "Puzzle with bubbles") + (description + "Frozen-Bubble is a clone of the popular Puzzle Bobble game, in which +you attempt to shoot bubbles into groups of the same color to cause them to +pop. + +Players compete as penguins and must use the arrow keys to aim a colored +bubble at groups of bubbles. The objective is to clear all the bubbles off +the screen before a bubble passes below a line at the bottom. + +It features 100 single-player levels, a two-player mode, music and striking +graphics. A level editor is also included to allow players to create and play +their own levels.") + (license license:gpl2)))) + (define-public libmanette (package (name "libmanette") @@ -10273,43 +10534,54 @@ This package is part of the KDE games module.") (define-public xmoto (package (name "xmoto") - (version "0.5.11") + (version "0.6.1") (source (origin - (method url-fetch) - (uri (string-append - "http://download.tuxfamily.org/xmoto/xmoto/" version "/" - "xmoto-" version "-src.tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/xmoto/xmoto.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "1ci6r8zd0l7z28cy92ddf9dmqbdqwinz2y1cny34c61b57wsd155")) - (patches - (search-patches - "xmoto-remove-glext.patch" ;fixes licensing issue - "xmoto-reproducible.patch" - "xmoto-utf8.patch")) - ;; Unbundle ODE. - (modules '((guix build utils))) + (base32 "00f5ha79lfa2iiaz66wl0hl5dapa1l15qdr7m7knzi0ll7j6z66n")) + (modules '((guix build utils) + (ice-9 ftw) + (srfi srfi-1))) + ;; XXX: Remove some bundled libraries. Guix provides Chipmunk, but + ;; it appears to be incompatible with the (older) one bundled. (snippet `(begin - (delete-file-recursively "src/ode") + (let ((keep '("chipmunk" "glad" "md5sum"))) + (with-directory-excursion "vendor" + (for-each delete-file-recursively + (lset-difference string=? + (scandir ".") + (cons* "." ".." keep)))) + (substitute* "src/CMakeLists.txt" + (("add_subdirectory\\(.*?/vendor/(.+?)\".*" line library) + (if (member library keep) line "")))) #t)))) - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments - ;; XXX: First flag prevents a build error with GCC7+. The second - ;; flag works around missing text in game. Both are fixed - ;; upstream. Remove once xmoto 0.5.12+ is released. - `(#:make-flags '("CXXFLAGS=-fpermissive -D_GLIBCXX_USE_CXX11_ABI=0") + `(#:tests? #f ;no test #:phases (modify-phases %standard-phases - (add-after 'install 'install-desktop-file + (add-after 'unpack 'fix-hard-coded-directory (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (apps (string-append out "/share/applications")) - (pixmaps (string-append out "/share/pixmaps"))) - (install-file "extra/xmoto.desktop" apps) - (install-file "extra/xmoto.xpm" pixmaps) - #t))) - (add-after 'install-desktop-file 'install-fonts + (substitute* "src/common/VFileIO.cpp" + (("/usr/share") + (string-append (assoc-ref outputs "out") "/share"))) + #t)) + (add-before 'build 'set-SDL + ;; Set correct environment for SDL. + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append + (assoc-ref inputs "sdl") "/include/SDL:" + (or (getenv "CPATH") ""))) + #t)) + (add-after 'install 'unbundle-fonts + ;; Unbundle DejaVuSans TTF files. (lambda* (#:key outputs inputs #:allow-other-keys) (let ((font-dir (string-append (assoc-ref inputs "font-dejavu") "/share/fonts/truetype/")) @@ -10321,38 +10593,34 @@ This package is part of the KDE games module.") (delete-file target) (symlink font target))) '("DejaVuSans.ttf" "DejaVuSansMono.ttf")) - #t))) - (add-after 'install-fonts 'install-man-page - (lambda* (#:key outputs #:allow-other-keys) - (install-file "xmoto.6" - (string-append (assoc-ref outputs "out") - "/share/man/man6")) - #t))))) + #t)))))) (native-inputs - `(("gettext" ,gettext-minimal))) + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) (inputs - `(("curl" ,curl) + `(("bzip2" ,bzip2) + ("curl" ,curl) ("font-dejavu" ,font-dejavu) ("glu" ,glu) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libxdg-basedir" ,libxdg-basedir) ("libxml2" ,libxml2) - ("lua" ,lua-5.2) + ("lua" ,lua-5.1) ("ode" ,ode) ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-net sdl-ttf))) ("sqlite" ,sqlite) ("zlib" ,zlib))) (home-page "https://xmoto.tuxfamily.org/") (synopsis "2D motocross platform game") - (description "X-Moto is a challenging 2D motocross platform game, where -physics play an all important role in the gameplay. You need to control your -bike to its limit, if you want to have a chance finishing the more difficult -challenges.") + (description + "X-Moto is a challenging 2D motocross platform game, where +physics play an all important role in the gameplay. You need to +control your bike to its limit, if you want to have a chance finishing +the more difficult challenges.") (license (list license:gpl2+ ;whole project - license:bsd-4 ;src/bzip - license:bsd-3 ;src/md5sum - license:lgpl2.1+ ;src/iqsort.h + license:bsd-3 ;vendor/md5sum + license:lgpl2.1+ license:expat)))) (define-public eboard diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 21838ff0cd..53be103495 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -419,7 +419,7 @@ currently focused application in the top panel of the GNOME shell.") (define-public gnome-shell-extension-dash-to-panel (package (name "gnome-shell-extension-dash-to-panel") - (version "26") + (version "37") (source (origin (method git-fetch) (uri (git-reference @@ -427,7 +427,7 @@ currently focused application in the top panel of the GNOME shell.") (commit (string-append "v" version)))) (sha256 (base32 - "1phfx2pblygpcvsppsqqqflm7qnz46mqkw29hj0nv2dn69hf4xbc")) + "0c8p8cmwjh6rpj7jwj1lccpdv5l0bazwywg8hpwgnqy9f4rxmrz3")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -555,8 +555,8 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (define-public papirus-icon-theme (let ((version "0.0.0") ;; The package does not use semver - (revision "1") - (tag "20200430")) + (revision "2") + (tag "20200602")) (package (name "papirus-icon-theme") (version (git-version version revision tag)) @@ -568,7 +568,7 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (commit tag))) (sha256 (base32 - "19dfiifc7cjwy0nb1hgzryzaijszsyix303xsgk5xbmhpwrv92hq")) + "0yv19kl8jr2jmh9018b1qmnq68alw84vrmb35jm462qd3qzzdgah")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 098abc8f49..e71af00bf8 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -43,7 +43,7 @@ ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2019, 2020 Raghav Gururajan <raghavgururajan@disroot.org> -;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> +;;; Copyright © 2019, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2019, 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> @@ -2174,8 +2174,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r")))) (build-system glib-or-gtk-build-system) (arguments - `(#:tests? #f ; needs X, GL, and software rendering - #:phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) @@ -2185,18 +2184,27 @@ API add-ons to make GTK+ widgets OpenGL-capable.") "/xml/xsl/docbook-xsl-" ,(package-version docbook-xsl) "/manpages/docbook.xsl"))) + #t)) + (add-before 'check 'pre-check + (lambda _ + (setenv "HOME" "/tmp") + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") #t))))) (inputs `(("gtk+" ,gtk+) ("libxml2" ,libxml2))) (native-inputs - `(("intltool" ,intltool) + `(("hicolor-icon-theme" ,hicolor-icon-theme) + ("intltool" ,intltool) ("itstool" ,itstool) ("libxslt" ,libxslt) ;for xsltproc ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) ("python" ,python-2) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server-for-tests))) (home-page "https://glade.gnome.org") (synopsis "GTK+ rapid application development tool") (description "Glade is a rapid application development (RAD) tool to @@ -10424,3 +10432,37 @@ communicating using the GVariant serialization format instead of JSON when both peers support it. You might want that when communicating on a single host to avoid parser overhead and memory-allocator fragmentation.") (license license:lgpl2.1+))) + +(define-public feedbackd + (package + (name "feedbackd") + (version "0.0.0+git20200527") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://source.puri.sm/Librem5/feedbackd.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wbkzxnqjydfgjvp7vz4ghczcz740zcb1yn90cb6gb5md4n6qx2y")))) + (build-system meson-build-system) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("dbus" ,dbus) + ("gsound" ,gsound) + ("json-glib" ,json-glib) + ("libgudev" ,libgudev))) + (propagated-inputs + `(("glib" ,glib))) ; in Requires of libfeedback-0.0.pc + (synopsis "Haptic/visual/audio feedback via DBus") + (description "Feedbackd provides a DBus daemon to act on events to provide +haptic, visual and audio feedback. It offers the libfeedbackd library and +GObject introspection bindings.") + (home-page "https://source.puri.sm/Librem5/feedbackd") + (license (list license:lgpl2.1+ ; libfeedbackd + license:lgpl3+)))) ; the rest diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 1b7ea9246c..f2ab3a1c27 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -1,11 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in> -;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2018, 2019 Nikita <nikita@n0.is> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> @@ -180,13 +180,13 @@ authentication and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.69.1") + (version "7.70.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gnunet/gnurl-" version ".tar.gz")) (sha256 (base32 - "0x8m26y3klndis6a28j8i0b7ab04d38q3rmlvgaqa65bjhlfdrp0")))) + "0px9la8v4bj1dzxb95fx3yxk0rcjqjrxpj733ga27cza45wwzkqa")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.8 MiB of man3 pages @@ -245,7 +245,7 @@ supports HTTP, HTTPS and GnuTLS.") "See COPYING in the distribution.")) (properties '((ftp-server . "ftp.gnu.org") (ftp-directory . "/gnunet"))) - (home-page "https://gnunet.org/gnurl"))) + (home-page "https://gnunet.org/en/gnurl.html"))) (define-public gnunet (package diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 0a8edcb1e4..3bffe12577 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -648,6 +648,12 @@ from forcing GEXP-PROMISE." "-p1" "--input" #+makeicecat-patch) (invoke "patch" "--force" "--no-backup-if-mismatch" "-p1" "--input" #+gnuzilla-fixes-patch) + + ;; Remove the bundled tortm-browser-button extension, + ;; which doesn't seem to be working properly. + (delete-file-recursively + "data/extensions/tortm-browser-button@jeremybenthum") + (patch-shebang "makeicecat") (substitute* "makeicecat" (("^FFMAJOR=(.*)" all ffmajor) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index a631ad4285..a3b1c6c643 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -811,6 +811,33 @@ time.") (home-page "https://godoc.org/golang.org/x/time/rate") (license license:bsd-3)))) +(define-public go-golang-org-x-oauth2 + (let ((commit "0f29369cfe4552d0e4bcddc57cc75f4d7e672a33") + (revision "1")) + (package + (name "go-golang-org-x-oauth2") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/oauth2") + (commit commit))) + (file-name (string-append "go.googlesource.com-oauth2-" + version "-checkout")) + (sha256 + (base32 + "06jwpvx0x2gjn2y959drbcir5kd7vg87k0r1216abk6rrdzzrzi2")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/oauth2")) + (propagated-inputs + `(("go-golang-org-x-net" ,go-golang-org-x-net))) + (home-page "https://go.googlesource.com/oauth2") + (synopsis "Client implementation of the OAuth 2.0 spec") + (description "This package contains a client implementation for OAuth 2.0 + spec in Go.") + (license license:bsd-3)))) + (define-public go-github-com-burntsushi-toml (package (name "go-github-com-burntsushi-toml") @@ -1813,6 +1840,31 @@ terminal.") makes it possible to handle ANSI color escapes on Windows.") (license license:expat)))) +(define-public go-github-com-mattn-go-pointer + (let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67") + (revision "1")) + (package + (name "go-github-com-mattn-go-pointer") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-pointer") + (commit commit))) + (sha256 + (base32 + "09w7hcyc0zz2g23vld6jbcmq4ar27xakp1ldjvh549i5izf2anhz")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/mattn/go-pointer")) + (home-page "https://github.com/mattn/go-pointer") + (synopsis "Utility for cgo") + (description + "This package allows for a cgo argument to be passed a Go pointer.") + (license license:expat)))) + (define-public go-github-com-mgutz-ansi (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992") (revision "0")) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 44d78c036b..0d768b8a0e 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -405,9 +405,11 @@ exception-handling library.") (base32 "195rs0kdbs8w62irha1nwy83bccz04wglmk578qrj1mky7fc4rjv")) (patches - ;; Patch submitted to upstream (see: - ;; https://gitlab.com/inkscape/lib2geom/merge_requests/17). - (search-patches "lib2geom-enable-assertions.patch")) + ;; Patches submitted to upstream (see: + ;; https://gitlab.com/inkscape/lib2geom/merge_requests/17, + ;; https://gitlab.com/inkscape/lib2geom/-/merge_requests/32). + (search-patches "lib2geom-enable-assertions.patch" + "lib2geom-fix-tests.patch")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 0942e7cf74..8386f9522e 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1396,7 +1396,7 @@ PostgreSQL.") (define-public guile-config (package (name "guile-config") - (version "0.4.1") + (version "0.4.2") (source (origin (method git-fetch) @@ -1405,7 +1405,7 @@ PostgreSQL.") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "1c59ch96d5p4c7si8qp55fdc15375klf2hyh29y3ap8ahqx9pxqj")))) + "09028ylbddjdp3d67zdjz3pnsjqz6zs2bfck5rr3dfaa0qjap40n")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 34d348c344..a8f5019687 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -308,6 +308,19 @@ without requiring the source code to be rewritten.") (files '("lib/guile/3.0/site-ccache" "share/guile/site/3.0"))))))) +(define-public guile-3.0.3 + ;; TODO: Make this 'guile-3.0' on the next rebuild cycle. + (package + (inherit guile-3.0) + (version "3.0.3") + (source (origin + (inherit (package-source guile-3.0)) + (uri (string-append "mirror://gnu/guile/guile-" + version ".tar.xz")) + (sha256 + (base32 + "0fz6fgx7ran6nn0l978jmpckjc9knk4g3bddr75n0daqqmhjs95k")))))) + (define-public guile-next (deprecated-package "guile-next" guile-3.0)) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 3089c17145..f8bee424c3 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -341,14 +341,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20200522") + (version "8.20200617") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "1v71k5k9mcj1nq4pb8apx99rgw2rmckr6yshhvjl1dr6j70d67x8")))) + (base32 "1vgpqbscvxm03ibxy6cjnp9vd1wpsr3gkajp4z3m9nnkmjz5r4q4")))) (build-system haskell-build-system) (arguments `(#:configure-flags @@ -762,6 +762,58 @@ advanced user's otherwise working script to fail under future circumstances. @end enumerate") (license license:gpl3+))) +(define-public shelltestrunner + (package + (name "shelltestrunner") + (version "1.9") + (source (origin + (method url-fetch) + (uri (string-append "mirror://hackage/package/shelltestrunner-" + version "/shelltestrunner-" version ".tar.gz")) + (sha256 + (base32 + "1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b")))) + (build-system haskell-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs tests? parallel-tests? #:allow-other-keys) + ;; This test is inspired by the Makefile in the upstream + ;; repository, which is missing in the Hackage release tarball + ;; along with some of the tests. The Makefile would not work + ;; anyway as it ties into the 'stack' build tool. + (let* ((out (assoc-ref outputs "out")) + (shelltest (string-append out "/bin/shelltest")) + (numjobs (if parallel-tests? + (number->string (parallel-job-count)) + "1"))) + (if tests? + (invoke shelltest (string-append "-j" numjobs) + "tests/examples") + (format #t "test suite not run~%")) + #t)))))) + (inputs + `(("ghc-diff" ,ghc-diff) + ("ghc-cmdargs" ,ghc-cmdargs) + ("ghc-filemanip" ,ghc-filemanip) + ("ghc-hunit" ,ghc-hunit) + ("ghc-pretty-show" ,ghc-pretty-show) + ("ghc-regex-tdfa" ,ghc-regex-tdfa) + ("ghc-safe" ,ghc-safe) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-test-framework" ,ghc-test-framework) + ("ghc-test-framework-hunit" ,ghc-test-framework-hunit))) + (home-page "https://github.com/simonmichael/shelltestrunner") + (synopsis "Test CLI programs") + (description + "shelltestrunner (executable: @command{shelltest}) is a command-line tool +for testing command-line programs, or general shell commands. It reads simple +test specifications defining a command to run, some input, and the expected +output, stderr, and exit status.") + (license license:gpl3+))) + (define-public stylish-haskell (package (name "stylish-haskell") diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index 4689025432..0c79ece194 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> ;;; Copyright © 2019 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@gmail.com> +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,6 +94,27 @@ for screen-scraping.") (description "HTTP cookie parsing and rendering library for Haskell.") (license license:bsd-3))) +(define-public ghc-curl + (package + (name "ghc-curl") + (version "1.3.8") + (source (origin + (method url-fetch) + (uri (string-append "mirror://hackage/package/curl/curl-" + version ".tar.gz")) + (sha256 + (base32 + "0vj4hpaa30jz7c702xpsfvqaqdxz28zslsqnsfx6bf6dpwvck1wh")))) + (build-system haskell-build-system) + (inputs + `(("curl" ,curl))) + (home-page "https://hackage.haskell.org/package/curl") + (synopsis "Haskell bindings for libcurl") + (description + "@code{libcurl} is a versatile client-side URL transfer library. +This package provides a Haskell binding to libcurl.") + (license license:bsd-3))) + (define-public ghc-httpd-shed (package (name "ghc-httpd-shed") diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 815af82500..0508916ead 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -9812,6 +9812,29 @@ the ideal templating system.") replace the standard one provided by GHC.") (license license:expat))) +(define-public ghc-psqueue + (package + (name "ghc-psqueue") + (version "1.1.0.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://hackage/package/PSQueue-" + version "/PSQueue-" version ".tar.gz")) + (sha256 + (base32 + "1cik7sw10sacsijmfhghzy54gm1qcyxw14shlp86lx8z89kcnkza")))) + (build-system haskell-build-system) + (home-page "https://hackage.haskell.org/package/PSQueue") + (synopsis "Priority search queue") + (description + "A @dfn{priority search queue} efficiently supports the operations of +both a search tree and a priority queue. A @code{Binding} is a product of +a key and a priority. Bindings can be inserted, deleted, modified and queried +in logarithmic time, and the binding with the least priority can be retrieved +in constant time. A queue can be built from a list of bindings, sorted by +keys, in linear time.") + (license license:bsd-3))) + (define-public ghc-psqueues (package (name "ghc-psqueues") @@ -10249,6 +10272,29 @@ This is not good for Unicode users. This modified regex-compat uses regex-tdfa this problem.") (license license:bsd-3))) +(define-public ghc-regex-pcre + (package + (name "ghc-regex-pcre") + (version "0.94.4") + (source (origin + (method url-fetch) + (uri (string-append "https://hackage.haskell.org/package/" + "regex-pcre/regex-pcre-" version ".tar.gz")) + (sha256 + (base32 + "1h16w994g9s62iwkdqa7bar2n9cfixmkzz2rm8svm960qr57valf")))) + (build-system haskell-build-system) + (inputs + `(("ghc-regex-base" ,ghc-regex-base) + ("pcre" ,pcre))) + (home-page "https://hackage.haskell.org/package/regex-pcre") + (synopsis "Enhancement of the builtin Text.Regex library") + (description + "This package is an enhancement of the @code{Text.Regex} library. +It wraps the @code{PCRE} C library providing Perl-compatible regular +expressions.") + (license license:bsd-3))) + (define-public ghc-regex-pcre-builtin (package (name "ghc-regex-pcre-builtin") diff --git a/gnu/packages/inkscape.scm b/gnu/packages/inkscape.scm index b0707d6eff..85b0ba9fcf 100644 --- a/gnu/packages/inkscape.scm +++ b/gnu/packages/inkscape.scm @@ -213,6 +213,11 @@ endif()~%~%" (arguments `(#:tests? #t #:test-target "check" ;otherwise some test binaries are missing + #:imported-modules (,@%cmake-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-icon-cache-generator @@ -240,7 +245,11 @@ endif()~%~%" ;; as the "share/inkscape/ui/units.xml" file. (delete 'check) (add-after 'install 'check - (assoc-ref %standard-phases 'check))))) + (assoc-ref %standard-phases 'check)) + (add-after 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (inputs `(("aspell" ,aspell) ("autotrace" ,autotrace) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index 7ef7108c1f..15f174f8b6 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -212,7 +213,7 @@ written in Go.") (define-public go-ipfs (package (name "go-ipfs") - (version "0.4.23") + (version "0.5.1") (source (origin (method url-fetch/tarbomb) @@ -220,7 +221,7 @@ written in Go.") "https://dist.ipfs.io/go-ipfs/v" version "/go-ipfs-source.tar.gz")) (sha256 - (base32 "191ir4h6c76xcnbwx9fj8j2lzzqyp10inmqd8sa393b5y0jmhi5a")) + (base32 "0lpilycjbc1g9adp4d5kryfprixj18hg3235fnivakmv7fy2akkm")) (file-name (string-append name "-" version "-source")))) (build-system go-build-system) (arguments diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 548a3ca049..81e4205acf 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages guile) #:use-module (gnu packages lua) + #:use-module (gnu packages lxqt) #:use-module (gnu packages ncurses) #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) @@ -77,6 +78,7 @@ (sha256 (base32 "0mg8jydc70vlylppzich26q4s40kr78r3ysfyjwisfvlg2byxvs8")) + (patches (search-patches "quassel-qt-514-compat.patch")) (modules '((guix build utils))) ;; We don't want to install the bundled scripts. (snippet @@ -111,6 +113,7 @@ ("qttools" ,qttools))) (inputs `(("inxi" ,inxi-minimal) + ("libdbusmenu-qt" ,libdbusmenu-qt) ("qca" ,qca) ("qtbase" ,qtbase) ("qtmultimedia" ,qtmultimedia) diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 938251a532..dd1355010e 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; ;;; This file is part of GNU Guix. ;;; @@ -287,21 +288,48 @@ This package is part of the KDE multimedia module.") (define-public k3b (package (name "k3b") - (version "20.04.1") + (version "20.04.2") (source (origin (method url-fetch) (uri (string-append "mirror://kde/stable/release-service/" version "/src/k3b-" version ".tar.xz")) (sha256 - (base32 "0r01ninrrmqk7pl5jg0g51fcky1ammw0yyq572wyhibw7q8y7ly7")))) + (base32 "15wm987hz6rfs9ds9l1gbs6gdsardj1ywvk6zmpvj2i2190y4b3q")))) (build-system qt-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-absolute-library-paths + (lambda _ + ;; Set absolute paths for dlopened libraries. We can’t use k3b’s + ;; runpath as they are loaded by the Qt library. + (let ((libcdio-paranoia (assoc-ref %build-inputs "libcdio-paranoia")) + (libdvdcss (assoc-ref %build-inputs "libdvdcss"))) + (substitute* "libk3b/tools/k3bcdparanoialib.cpp" + (("\"(cdio_cdda|cdio_paranoia)\"" _ library) + (string-append "\"" libcdio-paranoia "/lib/" library "\""))) + (substitute* "libk3b/tools/k3blibdvdcss.cpp" + (("\"(dvdcss)\"" _ library) + (string-append "\"" libdvdcss "/lib/" library "\"")))) + #t)) + (add-after 'qt-wrap 'wrap-path + (lambda _ + ;; Set paths to backend programs. + (wrap-program (string-append (assoc-ref %outputs "out") "/bin/k3b") + `("PATH" ":" prefix + ,(map (lambda (input) + (string-append (assoc-ref %build-inputs input) "/bin")) + '("cdrdao" "dvd+rw-tools" "libburn" "sox")))) + #t))))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config) ("kdoctools" ,kdoctools))) (inputs - `(("ffmpeg" ,ffmpeg) + `(("cdrdao" ,cdrdao) + ("dvd+rw-tools" ,dvd+rw-tools) + ("ffmpeg" ,ffmpeg) ("flac" ,flac) ("karchive" ,karchive) ("kcmutils" ,kcmutils) @@ -319,6 +347,9 @@ This package is part of the KDE multimedia module.") ("kwidgetsaddons" ,kwidgetsaddons) ("kxmlgui" ,kxmlgui) ("lame" ,lame) + ("libburn" ,libburn) + ("libcdio-paranoia" ,libcdio-paranoia) + ("libdvdcss" ,libdvdcss) ("libdvdread" ,libdvdread) ;; TODO: LibFuzzer ("libiconv" ,libiconv) @@ -334,13 +365,17 @@ This package is part of the KDE multimedia module.") ("qtwebkit" ,qtwebkit) ("shared-mime-info" ,shared-mime-info) ("solid" ,solid) + ("sox" ,sox) ("taglib" ,taglib))) (home-page "https://kde.org/applications/multimedia/org.kde.k3b") (synopsis "Sophisticated CD/DVD burning application") (description "K3b is CD-writing software which intends to be feature-rich and provide an easily usable interface. Features include burning audio CDs from .WAV and .MP3 audio files, configuring external programs and configuring -devices.") +devices. + +The @code{udisks-service} should be enabled for @command{k3b} to discover the +available CD drives.") (license ;; GPL for programs, FDL for documentation (list license:gpl2+ license:fdl1.2+)))) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index c81a4bc487..742172a969 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -269,7 +269,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (define-public kodi (package (name "kodi") - (version "18.7") + (version "18.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -278,7 +278,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (file-name (git-file-name name version)) (sha256 (base32 - "082cpih84j7v29w55qhj0rdia7hdjpwi81qywiwawd4vlyimpv2h")) + "1ypn29yhy49mz9x4xqh2zfdrsbfwm1b4canvh9zvy9c1irjwf419")) (patches (search-patches "kodi-skip-test-449.patch" "kodi-increase-test-timeout.patch" "kodi-set-libcurl-ssl-parameters.patch")) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm index f96fff2fc4..14da150ced 100644 --- a/gnu/packages/linphone.scm +++ b/gnu/packages/linphone.scm @@ -512,14 +512,6 @@ and video calls or instant messaging capabilities to an application.") `(#:tests? #f ; No test target #:phases (modify-phases %standard-phases - (add-after 'set-paths 'set-qt-rcc-source-date-override - (lambda _ - ;; This fixes a reproducibility problem where the Qt Resource - ;; Compiler (RCC) includes timestamp of its source files - ;; (see: https://reproducible-builds.org/docs/ - ;; deterministic-build-systems/#cmake-notes). - (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t)) (add-after 'unpack 'fix-cmake-error (lambda _ ;; This is fixed in commit efed2fd8 of the master branch. diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f2b35e33c5..95847165fd 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -371,18 +371,18 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (sha256 hash))) -(define-public linux-libre-5.7-version "5.7.2") +(define-public linux-libre-5.7-version "5.7.4") (define-public linux-libre-5.7-pristine-source (let ((version linux-libre-5.7-version) - (hash (base32 "02brxm78n0kg4mh48acvjsr7mpvaqd279ycyaixaflid1s1awrb0"))) + (hash (base32 "06mm0bmjw54aypfhhbm9aaz5bmgymvygfak587iwv901635gb95w"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.7))) -(define-public linux-libre-5.4-version "5.4.46") +(define-public linux-libre-5.4-version "5.4.47") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "13hvnfdcbcb9a21zizq8d90mc8maxz03zmzsj6iqsjd2y7r4y1rh"))) + (hash (base32 "0v4d86yci4lq82nb1fgf0g3j0348v6q6m77czpm4b3cs7lwrs2wp"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) @@ -395,26 +395,26 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.184") +(define-public linux-libre-4.14-version "4.14.185") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0h6r06c1d7amkfglsr66ic89p0zxpmk7jkq1ylcbknmkiwkixx9g"))) + (hash (base32 "1iixxwidp53s2i2br58wbx5s69f2jcllb116z73pv7fmd06b2czk"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.227") +(define-public linux-libre-4.9-version "4.9.228") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0pqc0wld4s4zjas95xm54mrkk00l9zkc59b6i9gq4km126s8bi1q"))) + (hash (base32 "0d7w2zzs79ywxzfrh4bmk5lw318qbkcb8mcsyyh3cc25qqlz9gwg"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.227") +(define-public linux-libre-4.4-version "4.4.228") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "196x57w740firg8zchypq4vq6a83ymmwn9amqrscym9zr0pcgm40"))) + (hash (base32 "0y1xc5lk8j3p5maarksmh18wy921rgcngzsih7q1a82rah1fsjxr"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 025d1bc9ef..c89ad4aef9 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5719,22 +5719,7 @@ offered, one SAX-like, the other similar to StAX.") (install-file "catalog.dtd" (string-append (assoc-ref outputs "out") - "/lib/" (%lisp-type))))) - (add-after 'create-asd 'remove-component - ;; XXX: The original .asd has no components, but our build system - ;; creates an entry nonetheless. We need to remove it for the - ;; generated .asd to load properly. See trivia.trivial for a - ;; similar problem. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (asd (string-append out "/lib/sbcl/cxml.asd"))) - (substitute* asd - ((" :components -") - "")) - (substitute* asd - ((" *\\(\\(:compiled-file \"cxml--system\"\\)\\)") - "")))))))))) + "/lib/" (%lisp-type)))))))))) (define-public cl-cxml (sbcl-package->cl-source-package sbcl-cxml)) @@ -6136,7 +6121,6 @@ This package uses fare-quasiquote with named-readtable."))) (define-public cl-fare-quasiquote-readtable (sbcl-package->cl-source-package sbcl-fare-quasiquote-readtable)) -;; TODO: Add support for component-less system in asdf-build-system/sbcl. (define-public sbcl-fare-quasiquote-extras (package (inherit sbcl-fare-quasiquote) @@ -6156,22 +6140,7 @@ This package uses fare-quasiquote with named-readtable."))) (install-file "fare-quasiquote-extras.asd" lib) (make-file-writable (string-append lib "/fare-quasiquote-extras.asd")) - #t))) - (add-after 'create-asd-file 'fix-asd-file - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/" (%lisp-type))) - (asd (string-append lib "/fare-quasiquote-extras.asd"))) - (substitute* asd - ((":class") - "") - (("asdf/bundle:prebuilt-system") - "") - ((":components") - "") - (("\\(\\(:compiled-file \"fare-quasiquote-extras--system\"\\)\\)") - ""))) - #t))))) + #t)))))) (description "This library combines @code{fare-quasiquote-readtable} and @code{fare-quasiquote-optima}."))) @@ -6247,32 +6216,6 @@ with extensible optimizer interface."))) (name "sbcl-trivia.trivial") (inputs `(("trivia.level2" ,sbcl-trivia.level2))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'create-asd-file - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/" (%lisp-type))) - (level2 (assoc-ref inputs "trivia.level2"))) - (mkdir-p lib) - (install-file "trivia.trivial.asd" lib) - ;; XXX: This .asd does not have any component and the build - ;; system fails to work in this case. We should update the - ;; build system to handle component-less .asd. - ;; TODO: How do we append to file in Guile? It seems that - ;; (open-file ... "a") gets a "Permission denied". - (substitute* (string-append lib "/trivia.trivial.asd") - (("\"\\)") - (string-append "\") - -(progn (asdf/source-registry:ensure-source-registry) - (setf (gethash - \"trivia.level2\" - asdf/source-registry:*source-registry*) - #p\"" - level2 - "/share/common-lisp/sbcl-bundle-systems/trivia.level2.asd\"))"))))))))) (description "Trivia is a pattern matching compiler that is compatible with Optima, another pattern matching library for Common Lisp. It is meant to be faster and more extensible than Optima. @@ -6350,24 +6293,7 @@ This system contains the CFFI foreign slot access extension."))) ("trivia.cffi" ,sbcl-trivia.cffi) ("optima" ,sbcl-optima))) (arguments - `(#:test-asd-file "trivia.test.asd" - #:phases - (modify-phases %standard-phases - (add-after 'create-asd 'remove-component - ;; XXX: The original .asd has no components, but our build system - ;; creates an entry nonetheless. We need to remove it for the - ;; generated .asd to load properly. See trivia.trivial for a - ;; similar problem. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd"))) - (substitute* asd - ((" :components -") - "")) - (substitute* asd - ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)") - "")))))))) + `(#:test-asd-file "trivia.test.asd")) (description "Trivia is a pattern matching compiler that is compatible with Optima, another pattern matching library for Common Lisp. It is meant to be faster and more extensible than Optima."))) @@ -12018,3 +11944,180 @@ tables.") (define-public cl-rdkafka (sbcl-package->cl-source-package sbcl-cl-rdkafka)) + +(define-public sbcl-acclimation + (let ((commit "4d51150902568fcd59335f4cc4cfa022df6116a5")) + (package + (name "sbcl-acclimation") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/robert-strandh/Acclimation") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aw7rarjl8ai57h0jxnp9hr3dka7qrs55mmbl1p6rhd6xj8mp9wq")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/robert-strandh/Acclimation") + (synopsis "Internationalization library for Common Lisp") + (description "This project is meant to provide tools for +internationalizing Common Lisp programs. + +One important aspect of internationalization is of course the language used in +error messages, documentation strings, etc. But with this project we provide +tools for all other aspects of internationalization as well, including dates, +weight, temperature, names of physical quantitites, etc.") + (license license:bsd-2)))) + +(define-public cl-acclimation + (sbcl-package->cl-source-package sbcl-acclimation)) + +(define-public sbcl-clump-2-3-tree + (let ((commit "1ea4dbac1cb86713acff9ae58727dd187d21048a")) + (package + (name "sbcl-clump-2-3-tree") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/robert-strandh/Clump") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1639msyagsswj85gc0wd90jgh8588j3qg5q70by9s2brf2q6w4lh")))) + (arguments + '(#:asd-file "2-3-tree/clump-2-3-tree.asd" + #:asd-system-name "clump-2-3-tree")) + (inputs + `(("acclimation" ,sbcl-acclimation))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/robert-strandh/Clump") + (synopsis "Implementation of 2-3 trees for Common Lisp") + (description "The purpose of this library is to provide a collection of +implementations of trees. + +In contrast to existing libraries such as cl-containers, it does not impose a +particular use for the trees. Instead, it aims for a stratified design, +allowing client code to choose between different levels of abstraction. + +As a consequence of this policy, low-level interfaces are provided where +the concrete representation is exposed, but also high level interfaces +where the trees can be used as search trees or as trees that represent +sequences of objects.") + (license license:bsd-2)))) + +(define-public sbcl-clump-binary-tree + (package + (inherit sbcl-clump-2-3-tree) + (name "sbcl-clump-binary-tree") + (arguments + '(#:asd-file "Binary-tree/clump-binary-tree.asd" + #:asd-system-name "clump-binary-tree")) + (synopsis "Implementation of binary trees for Common Lisp"))) + +(define-public sbcl-clump + (package + (inherit sbcl-clump-2-3-tree) + (name "sbcl-clump") + (arguments + '(#:asd-file "clump.asd" + #:asd-system-name "clump")) + (inputs + `(("clump-2-3-tree" ,sbcl-clump-2-3-tree) + ("clump-binary-tree" ,sbcl-clump-binary-tree))) + (synopsis "Collection of tree implementations for Common Lisp"))) + +(define-public cl-clump + (sbcl-package->cl-source-package sbcl-clump)) + +(define-public sbcl-cluffer-base + (let ((commit "4aad29c276a58a593064e79972ee4d77cae0af4a")) + (package + (name "sbcl-cluffer-base") + (version (git-version "0.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/robert-strandh/cluffer") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bcg13g7qb3dr8z50aihdjqa6miz5ivlc9wsj2csgv1km1mak2kj")))) + (arguments + '(#:asd-file "Base/cluffer-base.asd" + #:asd-system-name "cluffer-base")) + (inputs + `(("acclimation" ,sbcl-acclimation))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/robert-strandh/cluffer") + (synopsis "Common Lisp library providing a protocol for text-editor buffers") + (description "Cluffer is a library for representing the buffer of a text +editor. As such, it defines a set of CLOS protocols for client code to +interact with the buffer contents in various ways, and it supplies different +implementations of those protocols for different purposes.") + (license license:bsd-2)))) + +(define-public sbcl-cluffer-standard-line + (package + (inherit sbcl-cluffer-base) + (name "sbcl-cluffer-standard-line") + (arguments + '(#:asd-file "Standard-line/cluffer-standard-line.asd" + #:asd-system-name "cluffer-standard-line")) + (inputs + `(("cluffer-base" ,sbcl-cluffer-base))))) + +(define-public sbcl-cluffer-standard-buffer + (package + (inherit sbcl-cluffer-base) + (name "sbcl-cluffer-standard-buffer") + (arguments + '(#:asd-file "Standard-buffer/cluffer-standard-buffer.asd" + #:asd-system-name "cluffer-standard-buffer")) + (inputs + `(("cluffer-base" ,sbcl-cluffer-base) + ("clump" ,sbcl-clump))))) + +(define-public sbcl-cluffer-simple-line + (package + (inherit sbcl-cluffer-base) + (name "sbcl-cluffer-simple-line") + (arguments + '(#:asd-file "Simple-line/cluffer-simple-line.asd" + #:asd-system-name "cluffer-simple-line")) + (inputs + `(("cluffer-base" ,sbcl-cluffer-base))))) + +(define-public sbcl-cluffer-simple-buffer + (package + (inherit sbcl-cluffer-base) + (name "sbcl-cluffer-simple-buffer") + (arguments + '(#:asd-file "Simple-buffer/cluffer-simple-buffer.asd" + #:asd-system-name "cluffer-simple-buffer")) + (inputs + `(("cluffer-base" ,sbcl-cluffer-base))))) + +(define-public sbcl-cluffer + (package + (inherit sbcl-cluffer-base) + (name "sbcl-cluffer") + (arguments + '(#:asd-file "cluffer.asd" + #:asd-system-name "cluffer")) + (inputs + `(("cluffer-base" ,sbcl-cluffer-base) + ("cluffer-standard-line" ,sbcl-cluffer-standard-line) + ("cluffer-standard-buffer" ,sbcl-cluffer-standard-buffer) + ("cluffer-simple-line" ,sbcl-cluffer-simple-line) + ("cluffer-simple-buffer" ,sbcl-cluffer-simple-buffer))))) + +(define-public cl-cluffer + (sbcl-package->cl-source-package sbcl-cluffer)) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 0e11da41ca..cc69aa3ec1 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1817,8 +1817,7 @@ advanced research.") "1k8szlpm19rcwcxdny9qdm3gmaqq8akb4xlvrzyz8c2d679aak6l")))) (build-system python-build-system) (propagated-inputs - `(("ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit - python-ipython)) + `(("ipython" ,python-ipython) ("numpy" ,python-numpy) ("pandas" ,python-pandas) ("scipy" ,python-scipy))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index ec1233f83b..87388747e4 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org> ;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -146,6 +147,44 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match)) +(define-public anubis + (package + (name "anubis") + ;; This 4.2.90 alpha release adds support for Guile 3 and has fixes for + ;; other issues. + (version "4.2.90") + (source + (origin + (method url-fetch) + (uri (string-append "https://alpha.gnu.org/gnu/anubis/anubis-" + version ".tar.gz")) + (sha256 + (base32 + "0dvm6acl32dv8bixx9z50gzwfp6kj4kxnn1j3dcwjlp7sasjp41s")))) + (build-system gnu-build-system) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("gettext" ,gettext-minimal) + ("m4" ,m4))) ;for the test suite + (inputs + `(("gdbm" ,gdbm) + ("gnutls" ,gnutls) + ("gpgme" ,gpgme) + ("gsasl" ,gsasl) + ("guile" ,guile-3.0) + ("libgcrypt" ,libgcrypt) ;gnutls support depends on libgcrypt + ("libgpg-error" ,libgpg-error))) + (outputs '("out" "debug")) + (synopsis "SMTP message submission daemon") + (description "Anubis is a daemon that sits between the Mail User +Agent (MUA) and the Mail Transfer Agent (MTA). When a mail is sent by a user +in the MUA, it is first passed to Anubis, which performs additional processing +to the message before passing it on for delivery by the MTA. Anubis may, for +example, modify the message headers or body, or encrypt or sign the message.") + (home-page "https://www.gnu.org/software/anubis/manual/") + (license gpl3+))) + (define-public mailutils (package (name "mailutils") @@ -382,7 +421,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.14.2") + (version "1.14.4") (source (origin (method url-fetch) (uri (list @@ -392,7 +431,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "0cdcls0x6f2w99hkjz48hxhnx86w3bnyxzibchdc9yspih770bz2")) + "1hykkq3m7kqic5r7vzg45xaww7415fv5i2d03slzykqb47w5d3na")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 8b548b5d8e..864fa8dc18 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> +;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -264,7 +265,16 @@ desktop and the mate-about program.") name "-" version ".tar.xz")) (sha256 (base32 - "094mnlczxq9crjj8z7dzs1zmwscdkbp54l3qjaf4a4bhd8lihv8d")))) + "094mnlczxq9crjj8z7dzs1zmwscdkbp54l3qjaf4a4bhd8lihv8d")) + (modules '((guix build utils))) + ;; This is fixed by commit ea13e065 upstream. Remove this once 1.25.0 + ;; is out. + (snippet + '(begin + (substitute* "data/Locations.xml.in" + (("Godthab") + "Nuuk")) + #t)))) (build-system gnu-build-system) (arguments '(#:configure-flags diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c20e48cb6d..a03c620574 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> +;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +61,7 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages enchant) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) @@ -569,7 +571,7 @@ compromised.") (version "1.8.1") (source (origin (method url-fetch) - (uri (string-append "http://znc.in/releases/archive/znc-" + (uri (string-append "https://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 @@ -603,7 +605,7 @@ compromised.") ("perl" ,perl) ("python" ,python) ("zlib" ,zlib))) - (home-page "https://znc.in") + (home-page "https://wiki.znc.in/ZNC") (synopsis "IRC network bouncer") (description "ZNC is an @dfn{IRC network bouncer} or @dfn{BNC}. It can detach the client from the actual IRC server, and also from selected channels. @@ -2186,4 +2188,84 @@ support for high performance Telegram Bot creation.") (home-page "https://core.telegram.org/tdlib") (license license:boost1.0)))) +(define-public purple-mm-sms + (package + (name "purple-mm-sms") + (version "0.1.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://source.puri.sm/Librem5/purple-mm-sms.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1daf7zl8bhhm1szkgxflpqql69f2w9i9nlgf1n4p1nynxifz1bim")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + ;; Fix hardcoded paths + (list (string-append "PREFIX=" out) + (string-append "PLUGIN_DIR_PURPLE=" out "/lib/purple-2") + (string-append "DATA_ROOT_DIR_PURPLE=" out "/share"))) + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("modem-manager" ,modem-manager) + ("pidgin" ,pidgin))) + (synopsis "Libpurple plugin for SMS via ModemManager") + (description "Plugin for libpurple to allow sending SMS using ModemManager.") + (home-page "https://source.puri.sm/Librem5/purple-mm-sms") + (license license:gpl2+))) + +(define-public chatty + (package + (name "chatty") + (version "0.1.10") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://source.puri.sm/Librem5/chatty.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0czvqwjzsb0rvmgrmbh97m1b35rnwl41j7q32z4fcqb7bschibql")))) + (build-system meson-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-updating-desktop-database + (lambda _ + (substitute* "meson.build" + (("meson.add_install_script.*") "")) + #t))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("feedbackd" ,feedbackd) + ("folks" ,folks) + ("libgcrypt" ,libgcrypt) + ("libgee" ,libgee) + ("libhandy" ,libhandy) + ("pidgin" ,pidgin) + ("purple-mm-sms" ,purple-mm-sms) + ("sqlite" ,sqlite))) + (propagated-inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("evolution-data-server" ,evolution-data-server))) + (synopsis "Mobile client for XMPP and SMS messaging") + (description "Chatty is a chat program for XMPP and SMS. It works on mobile +as well as on desktop platforms. It's based on libpurple and ModemManager.") + (home-page "https://source.puri.sm/Librem5/chatty") + (license license:gpl3+))) + ;;; messaging.scm ends here diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 49f784f529..b5d275b660 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -503,7 +503,7 @@ settings (aliasing, linear interpolation and cubic interpolation).") (define-public hydrogen (package (name "hydrogen") - (version "1.0.0-beta2") + (version "1.0.0-rc1") (source (origin (method git-fetch) @@ -512,7 +512,7 @@ settings (aliasing, linear interpolation and cubic interpolation).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1s3jrdyjpm92flw9mkkxchnj0wz8nn1y1kifii8ws252iiqjya4a")))) + (base32 "1ibbdzyk30nj83jrq7py78hwpjgy0lq7ji6gi2pdp1pqzz1mqp0v")))) (build-system cmake-build-system) (arguments `(#:test-target "tests" diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 75017c060c..1e6f70e1ff 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +64,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) @@ -85,6 +87,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) + #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages flex) #:use-module (gnu packages freedesktop) @@ -297,6 +300,34 @@ specification, which provides IPv6 Internet connectivity to IPv6 enabled hosts residing in IPv4-only networks, even when they are behind a NAT device.") (license license:gpl2+))) +(define-public ndisc6 + (package + (name "ndisc6") + (version "1.0.4") + (source (origin + (method url-fetch) + (uri (string-append "https://www.remlab.net/files/ndisc6/ndisc6-" + version ".tar.bz2")) + (sha256 + (base32 + "07swyar1hl83zxmd7fqwb2q0c0slvrswkcfp3nz5lknrk15dmcdb")))) + (build-system gnu-build-system) + (home-page "https://www.remlab.net/ndisc6/") + (synopsis "IPv6 diagnostic tools") + (description + "NDisc6 is a collection of tools for IPv6 networking diagnostics. +It includes the following programs: + +@itemize +@item @command{ndisc6}: ICMPv6 Neighbor Discovery tool. +@item @command{rdisc6}: ICMPv6 Router Discovery tool. +@item @command{tcptraceroute6}: IPv6 traceroute over TCP. +@item @command{traceroute6}: IPv6 traceroute over UDP. +@item @command{rdnssd}: Recursive DNS Servers discovery daemon. +@end itemize") + ;; The user can choose version 2 or 3 of the GPL, not later versions. + (license (list license:gpl2 license:gpl3)))) + (define-public socat (package (name "socat") @@ -653,6 +684,76 @@ interfaces, with a simple and efficient view on the command line. It is intended as a substitute for the PPPStatus and EthStatus projects.") (license license:gpl2+))) +(define-public iputils + (package + (name "iputils") + (version "20190709") + (home-page "https://github.com/iputils/iputils") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "s" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "iputils-libcap-compat.patch")) + (sha256 + (base32 + "04bp4af15adp79ipxmiakfp0ij6hx5qam266flzbr94pr8z8l693")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags '("-DBUILD_RARPD=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-docbook-url + (lambda* (#:key inputs #:allow-other-keys) + (let* ((docbook-xsl (assoc-ref inputs "docbook-xsl")) + (uri (string-append docbook-xsl "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl)))) + (for-each + (lambda (file) + (substitute* file + (("http://docbook\\.sourceforge\\.net/release/xsl-ns/current") + uri))) + (cons "doc/meson.build" + (find-files "doc" "\\.xsl$"))) + #t)))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml" ,docbook-xml-5) + ("libxml2" ,libxml2) ;for XML_CATALOG_FILES + ("xsltproc" ,libxslt))) + (inputs + `(("libcap" ,libcap) + ("libidn2" ,libidn2) + ("openssl" ,openssl))) + (synopsis "Collection of network utilities") + (description + "This package contains a variety of tools for dealing with network +configuration, troubleshooting, or servers. Utilities included are: + +@itemize @bullet +@item @command{arping}: Ping hosts using the @dfn{Adress Resolution Protocol}. +@item @command{clockdiff}: Compute time difference between network hosts +using ICMP TSTAMP messages. +@item @command{ninfod}: Daemon that responds to IPv6 Node Information Queries. +@item @command{ping}: Use ICMP ECHO messages to measure round-trip delays +and packet loss across network paths. +@item @command{rarpd}: Answer RARP requests from clients. +@item @command{rdisc}: Populate network routing tables with information from +the ICMP router discovery protocol. +@item @command{tftpd}: Trivial file transfer protocol server. +@item @command{tracepath}: Trace network path to an IPv4 or IPv6 address and +discover MTU along the way. +@end itemize") + ;; The various utilities are covered by different licenses, see LICENSE + ;; for details. + (license (list license:gpl2+ ;arping, rarpd, tracepath + license:bsd-3 ;clockdiff, ninfod, ping, tftpd + (license:non-copyleft + "https://spdx.org/licenses/Rdisc.html" + "Sun Microsystems license, see rdisc.c for details"))))) + (define-public nload (package (name "nload") @@ -3187,3 +3288,49 @@ CDP. The goal of LLDP is to provide an inter-vendor compatible mechanism to deliver Link-Layer notifications to adjacent network devices. @code{lldpd} is an implementation of LLDP. It also supports some proprietary protocols.") (license license:isc))) + +(define-public hashcash + (package + (name "hashcash") + (version "1.22") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.hashcash.org/source/hashcash-" + version ".tgz")) + (sha256 + (base32 + "15kqaimwb2y8wvzpn73021bvay9mz1gqqfc40gk4hj6f84nz34h1")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "CC=" ,(cc-for-target))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + ;; No tests available. + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((outdir (assoc-ref outputs "out")) + (bindir (string-append outdir "/bin")) + (mandir (string-append outdir "/share/man/man1")) + (docdir (string-append outdir "/share/doc/hashcash-" ,version))) + ;; Install manually, as we don't need the `sha1' binary + (install-file "hashcash" bindir) + (install-file "hashcash.1" mandir) + (install-file "README" docdir) + (install-file "LICENSE" docdir) + (install-file "CHANGELOG" docdir) + #t)))))) + (home-page "https://www.hashcash.org/") + (synopsis "Denial-of-service countermeasure") + (description "Hashcash is a proof-of-work algorithm, which has been used +as a denial-of-service countermeasure technique in a number of systems. + +A hashcash stamp constitutes a proof-of-work which takes a parametrizable +amount of work to compute for the sender. The recipient can verify received +hashcash stamps efficiently. + +This package contains a command-line tool for computing and verifying hashcash +stamps.") + (license license:public-domain))) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c1e6657dff..2cd7886011 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -118,8 +118,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.1.0") - (commit "141b5c162048f5cb52e8c90ff7c16a2e98babcfb") - (revision 10)) + (commit "c00564192a9924ab2218c243342963aba89d67d1") + (revision 12)) (package (name "guix") @@ -135,7 +135,7 @@ (commit commit))) (sha256 (base32 - "1j3vag994kj05b09a7w4lyas991a19hbbslcm9xvn5k2ilf4qskz")) + "008ywpdkc5f2jh25x6rr9glzvq4a6qih7v73w5dbxscpddx5c5g2")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -542,15 +542,30 @@ out) and returning a package that uses that as its 'source'." (define-public nix (package (name "nix") - (version "2.3.5") + (version "2.3.6") (source (origin (method url-fetch) (uri (string-append "http://nixos.org/releases/nix/nix-" version "/nix-" version ".tar.xz")) (sha256 (base32 - "1hbqsrp1ii2sfq8x2mahjrl2182qck76n8blrl1jfz3xq99m6i15")))) + "128xf2as0y7hr28x575pbf9lkjpxr9hsxknbavv4p7ywr4lhbs85")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--sysconfdir=/etc") + #:phases + (modify-phases %standard-phases + (replace 'install + ;; Don't try & fail to create subdirectories in /etc, but keep them + ;; in the output as examples. + (lambda* (#:key (make-flags '()) outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (etc (string-append out "/etc"))) + (apply invoke "make" "install" + (string-append "sysconfdir=" etc) + (string-append "profiledir=" etc "/profile.d") + make-flags))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) ("brotli" ,brotli) diff --git a/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch b/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch new file mode 100644 index 0000000000..ab66e1b389 --- /dev/null +++ b/gnu/packages/patches/emacs-hyperbole-toggle-messaging.patch @@ -0,0 +1,86 @@ +From 6d5c587ec719e3309077c7d637b03b13db65c047 Mon Sep 17 00:00:00 2001 +From: Joseph LaFreniere <joseph@lafreniere.xyz> +Date: Fri, 12 Jul 2019 12:43:46 -0500 +Subject: [PATCH] Move definition of hyperbole-toggle-messaging to hsettings + +--- + hsettings.el | 25 +++++++++++++++++++++++++ + hyperbole.el | 26 -------------------------- + 2 files changed, 25 insertions(+), 26 deletions(-) + +diff --git a/hsettings.el b/hsettings.el +index 6cdd1b8..9632067 100644 +--- a/hsettings.el ++++ b/hsettings.el +@@ -163,6 +163,31 @@ package to display search results." + search-term))) + (user-error "(Hyperbole): Invalid web search service `%s'" service-name)))) + ++;;;###autoload ++(defun hyperbole-toggle-messaging (&optional arg) ++ "Toggle Hyperbole support for explicit buttons in mail and news buffers. ++Toggles the boolean variable `inhibit-hyperbole-messaging’ and either ++adds hooks (nil value) or removes them (t value). ++ ++With optional prefix ARG > 0, enables support. If ARG <= 0, ++disables/inhibits support." ++ (interactive "P") ++ (setq inhibit-hyperbole-messaging (if (null arg) ++ (not inhibit-hyperbole-messaging) ++ (<= (prefix-numeric-value arg) 0))) ++ (if inhibit-hyperbole-messaging ++ (var:remove-all) ++ (var:append-all) ++ ;; Add any hooks that were skipped when inhibit-hyperbole-messaging ++ ;; was nil. ++ (cond ((boundp 'hyperbole-loading)) ++ ((not after-init-time) ++ (add-hook 'after-init-hook (lambda () (load "hyperbole")))) ++ (t (load "hyperbole")))) ++ (if (called-interactively-p 'interactive) ++ (message "Hyperbole messaging button support is %s" ++ (if inhibit-hyperbole-messaging "disabled" "enabled")))) ++ + (defcustom inhibit-hyperbole-messaging t + "*Determines whether Hyperbole supports explicit buttons in mail and news buffers. + The default of t means disable such support (work remains to +diff --git a/hyperbole.el b/hyperbole.el +index 4aa427d..872dbaf 100644 +--- a/hyperbole.el ++++ b/hyperbole.el +@@ -121,32 +121,6 @@ + t))) + (error "(Hyperbole): Startup failure: `hyperb:dir' must be manually added to `load-path' to fix."))) + +-;; This must be defined before the defcustom `inhbit-hyperbole-messaging'. +-;;;###autoload +-(defun hyperbole-toggle-messaging (&optional arg) +- "Toggle Hyperbole support for explicit buttons in mail and news buffers. +-Toggles the boolean variable `inhibit-hyperbole-messaging’ and either +-adds hooks (nil value) or removes them (t value). +- +-With optional prefix ARG > 0, enables support. If ARG <= 0, +-disables/inhibits support." +- (interactive "P") +- (setq inhibit-hyperbole-messaging (if (null arg) +- (not inhibit-hyperbole-messaging) +- (<= (prefix-numeric-value arg) 0))) +- (if inhibit-hyperbole-messaging +- (var:remove-all) +- (var:append-all) +- ;; Add any hooks that were skipped when inhibit-hyperbole-messaging +- ;; was nil. +- (cond ((boundp 'hyperbole-loading)) +- ((not after-init-time) +- (add-hook 'after-init-hook (lambda () (load "hyperbole")))) +- (t (load "hyperbole")))) +- (if (called-interactively-p 'interactive) +- (message "Hyperbole messaging button support is %s" +- (if inhibit-hyperbole-messaging "disabled" "enabled")))) +- + (defgroup hyperbole-koutliner nil + "Hyperbole multi-level autonumbered outliner customizations." + :group 'hyperbole) +-- +2.22.0 + diff --git a/gnu/packages/patches/ffmpeg-prefer-dav1d.patch b/gnu/packages/patches/ffmpeg-prefer-dav1d.patch deleted file mode 100644 index 95e3712a7f..0000000000 --- a/gnu/packages/patches/ffmpeg-prefer-dav1d.patch +++ /dev/null @@ -1,43 +0,0 @@ -When decoding AV1 files, prefer dav1d over libaom for performance -reasons. - -Patch copied from upstream source repository: - -<https://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commitdiff;h=dc0806dd25882f41f6085c8356712f95fded56c7> - -From dc0806dd25882f41f6085c8356712f95fded56c7 Mon Sep 17 00:00:00 2001 -From: James Almer <jamrial@gmail.com> -Date: Sun, 15 Sep 2019 11:29:56 -0300 -Subject: [PATCH] avcodec/allcodecs: make libdav1d the preferred AV1 decoder - -It's considerably faster than libaom in most systems. - -Reviewed-by: BBB -Signed-off-by: James Almer <jamrial@gmail.com> ---- - libavcodec/allcodecs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c -index 5130fca026..d5dfba1877 100644 ---- a/libavcodec/allcodecs.c -+++ b/libavcodec/allcodecs.c -@@ -680,7 +680,6 @@ extern AVCodec ff_pcm_mulaw_at_encoder; - extern AVCodec ff_pcm_mulaw_at_decoder; - extern AVCodec ff_qdmc_at_decoder; - extern AVCodec ff_qdm2_at_decoder; --extern AVCodec ff_libaom_av1_decoder; - extern AVCodec ff_libaom_av1_encoder; - extern AVCodec ff_libaribb24_decoder; - extern AVCodec ff_libcelt_decoder; -@@ -738,6 +737,7 @@ extern AVCodec ff_idf_decoder; - /* external libraries, that shouldn't be used by default if one of the - * above is available */ - extern AVCodec ff_h263_v4l2m2m_encoder; -+extern AVCodec ff_libaom_av1_decoder; - extern AVCodec ff_libopenh264_encoder; - extern AVCodec ff_libopenh264_decoder; - extern AVCodec ff_h264_amf_encoder; --- -2.20.1 - diff --git a/gnu/packages/patches/iputils-libcap-compat.patch b/gnu/packages/patches/iputils-libcap-compat.patch new file mode 100644 index 0000000000..dc6da310ce --- /dev/null +++ b/gnu/packages/patches/iputils-libcap-compat.patch @@ -0,0 +1,37 @@ +Fix name clash with libcap 2.29. + +Taken from upstream: +https://github.com/iputils/iputils/commit/18f9a84e0e702841d6cc4d5f593de4fbd1348e83 + +diff --git a/ninfod/ninfod.c b/ninfod/ninfod.c +--- a/ninfod/ninfod.c ++++ b/ninfod/ninfod.c +@@ -455,7 +455,7 @@ static void do_daemonize(void) + /* --------- */ + #ifdef HAVE_LIBCAP + static const cap_value_t cap_net_raw = CAP_NET_RAW; +-static const cap_value_t cap_setuid = CAP_SETUID; ++static const cap_value_t cap_setuserid = CAP_SETUID; + static cap_flag_value_t cap_ok; + #else + static uid_t euid; +@@ -487,7 +487,7 @@ static void limit_capabilities(void) + + cap_get_flag(cap_cur_p, CAP_SETUID, CAP_PERMITTED, &cap_ok); + if (cap_ok != CAP_CLEAR) +- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET); ++ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET); + + if (cap_set_proc(cap_p) < 0) { + DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno)); +@@ -520,8 +520,8 @@ static void drop_capabilities(void) + + /* setuid / setuid */ + if (cap_ok != CAP_CLEAR) { +- cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuid, CAP_SET); +- cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuid, CAP_SET); ++ cap_set_flag(cap_p, CAP_PERMITTED, 1, &cap_setuserid, CAP_SET); ++ cap_set_flag(cap_p, CAP_EFFECTIVE, 1, &cap_setuserid, CAP_SET); + + if (cap_set_proc(cap_p) < 0) { + DEBUG(LOG_ERR, "cap_set_proc: %s\n", strerror(errno)); diff --git a/gnu/packages/patches/lib2geom-fix-tests.patch b/gnu/packages/patches/lib2geom-fix-tests.patch new file mode 100644 index 0000000000..9118658e49 --- /dev/null +++ b/gnu/packages/patches/lib2geom-fix-tests.patch @@ -0,0 +1,172 @@ +From 488edbf84e918e0353e7a8f438abbf6eeca3767e Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Wed, 17 Jun 2020 23:20:53 -0400 +Subject: [PATCH] tests: Fix tests on non-x86_64 platforms. + +On platform other than x86_64 such as aarch64-linux or i686-linux, +some double comparison would fail. + +See <http://issues.guix.gnu.org/41827>. + +* tests/bezier-test.cpp: (Casteljau): Replace EXPECT_EQ by +EXPECT_near. +(Subdivide): Replace EXPECT_EQ by EXPECT_DOUBLE_EQ. +(Portion): Replace EXPECT_EQ by EXPECT_near. +* tests/ellipse-test.cpp (BezierIntersection): Lower error tolerance +from 6e-13 to 6e-12. +* tests/line-test.cpp (Reflection): Replace EXPECT_FLOAT_EQ BY +EXPECT_near. +(Coefficients): Skip test. +* tests/parallelogram-test.cpp (area): Replace EXPECT_EQ by +EXPECT_DOUBLE_EQ. +--- + tests/bezier-test.cpp | 31 +++++++++++++++++-------------- + tests/ellipse-test.cpp | 2 +- + tests/line-test.cpp | 11 +++++++---- + tests/parallelogram-test.cpp | 8 ++++---- + 4 files changed, 29 insertions(+), 23 deletions(-) + +diff --git a/tests/bezier-test.cpp b/tests/bezier-test.cpp +index 4054a65..46209f4 100644 +--- a/tests/bezier-test.cpp ++++ b/tests/bezier-test.cpp +@@ -152,11 +152,13 @@ TEST_F(BezierTest, Casteljau) { + EXPECT_vector_equal(right2, right); + + double vnone = casteljau_subdivision<double>(t, &wiggle[0], NULL, NULL, wiggle.order()); +- EXPECT_EQ(vnone, vok); ++ EXPECT_near(vnone, vok, 1e-12); + } + } + + TEST_F(BezierTest, Portion) { ++ constexpr Coord eps{1e-12}; ++ + for (unsigned i = 0; i < 10000; ++i) { + double from = g_random_double_range(0, 1); + double to = g_random_double_range(0, 1); +@@ -165,8 +167,8 @@ TEST_F(BezierTest, Portion) { + Bezier result = portion(input, from, to); + + // the endpoints must correspond exactly +- EXPECT_EQ(result.at0(), input.valueAt(from)); +- EXPECT_EQ(result.at1(), input.valueAt(to)); ++ EXPECT_near(result.at0(), input.valueAt(from), eps); ++ EXPECT_near(result.at1(), input.valueAt(to), eps); + } + } + } +@@ -181,16 +183,16 @@ TEST_F(BezierTest, Subdivide) { + + // the endpoints must correspond exactly + // moreover, the subdivision point must be exactly equal to valueAt(t) +- EXPECT_EQ(result.first.at0(), input.at0()); +- EXPECT_EQ(result.first.at1(), result.second.at0()); +- EXPECT_EQ(result.second.at0(), input.valueAt(t)); +- EXPECT_EQ(result.second.at1(), input.at1()); ++ EXPECT_DOUBLE_EQ(result.first.at0(), input.at0()); ++ EXPECT_DOUBLE_EQ(result.first.at1(), result.second.at0()); ++ EXPECT_DOUBLE_EQ(result.second.at0(), input.valueAt(t)); ++ EXPECT_DOUBLE_EQ(result.second.at1(), input.at1()); + + // ditto for valueAt +- EXPECT_EQ(result.first.valueAt(0), input.valueAt(0)); +- EXPECT_EQ(result.first.valueAt(1), result.second.valueAt(0)); +- EXPECT_EQ(result.second.valueAt(0), input.valueAt(t)); +- EXPECT_EQ(result.second.valueAt(1), input.valueAt(1)); ++ EXPECT_DOUBLE_EQ(result.first.valueAt(0), input.valueAt(0)); ++ EXPECT_DOUBLE_EQ(result.first.valueAt(1), result.second.valueAt(0)); ++ EXPECT_DOUBLE_EQ(result.second.valueAt(0), input.valueAt(t)); ++ EXPECT_DOUBLE_EQ(result.second.valueAt(1), input.valueAt(1)); + + if (result.first.at1() != result.second.at0()) { + errors.push_back(std::pair<Bezier,double>(input, t)); +@@ -271,9 +273,10 @@ TEST_F(BezierTest, Deflate) { + EXPECT_FLOAT_EQ(0, b.at0()); + b = b.deflate(); + const double rootposition = (0.5-0.25) / (1-0.25); +- EXPECT_FLOAT_EQ(0, b.valueAt(rootposition)); ++ constexpr Coord eps{1e-12}; ++ EXPECT_near(0.0, b.valueAt(rootposition), eps); + b = b.subdivide(rootposition).second; +- EXPECT_FLOAT_EQ(0, b.at0()); ++ EXPECT_near(0.0, b.at0(), eps); + } + + TEST_F(BezierTest, Roots) { +@@ -364,7 +367,7 @@ TEST_F(BezierTest, Operators) { + for(int i = 0; i <= 16; i++) { + double t = i/16.0; + double b = B.valueAt(t); +- EXPECT_FLOAT_EQ(b*b, product.valueAt(t)); ++ EXPECT_near(b*b, product.valueAt(t), 1e-12); + } + } + } +diff --git a/tests/ellipse-test.cpp b/tests/ellipse-test.cpp +index 561c285..d6e65d8 100644 +--- a/tests/ellipse-test.cpp ++++ b/tests/ellipse-test.cpp +@@ -199,7 +199,7 @@ TEST(EllipseTest, BezierIntersection) { + std::vector<ShapeIntersection> xs = e.intersect(b); + + EXPECT_EQ(xs.size(), 2ul); +- EXPECT_intersections_valid(e, b, xs, 6e-13); ++ EXPECT_intersections_valid(e, b, xs, 6e-12); + } + + TEST(EllipseTest, Coefficients) { +diff --git a/tests/line-test.cpp b/tests/line-test.cpp +index 99546dd..2399130 100644 +--- a/tests/line-test.cpp ++++ b/tests/line-test.cpp +@@ -91,10 +91,12 @@ TEST(LineTest, Reflection) { + + Point testra = pa * reflecta; + Point testrb = pb * reflectb; +- EXPECT_FLOAT_EQ(testra[X], ra[X]); +- EXPECT_FLOAT_EQ(testra[Y], ra[Y]); +- EXPECT_FLOAT_EQ(testrb[X], rb[X]); +- EXPECT_FLOAT_EQ(testrb[Y], rb[Y]); ++ ++ constexpr Coord eps{1e-12}; ++ EXPECT_near(testra[X], ra[X], eps); ++ EXPECT_near(testra[Y], ra[Y], eps); ++ EXPECT_near(testrb[X], rb[X], eps); ++ EXPECT_near(testrb[Y], rb[Y], eps); + } + + TEST(LineTest, RotationToZero) { +@@ -115,6 +117,7 @@ TEST(LineTest, RotationToZero) { + } + + TEST(LineTest, Coefficients) { ++ GTEST_SKIP() << "This test fails on i686-linux and aarch64-linux"; + std::vector<Line> lines; + lines.push_back(Line(Point(1e9,1e9), Point(1,1))); + //the case below will never work without normalizing the line +diff --git a/tests/parallelogram-test.cpp b/tests/parallelogram-test.cpp +index 8109ead..70ccea1 100644 +--- a/tests/parallelogram-test.cpp ++++ b/tests/parallelogram-test.cpp +@@ -106,13 +106,13 @@ TEST(ParallelogramTest, area) + { + Rect r(2, 4, 7, 8); + Parallelogram p(r); +- EXPECT_EQ(p.area(), r.area()); ++ EXPECT_DOUBLE_EQ(p.area(), r.area()); + p *= Rotate(M_PI / 4.0); // 45° +- EXPECT_EQ(p.area(), r.area()); ++ EXPECT_DOUBLE_EQ(p.area(), r.area()); + p *= HShear(2); +- EXPECT_EQ(p.area(), r.area()); ++ EXPECT_DOUBLE_EQ(p.area(), r.area()); + p *= Scale(2); +- EXPECT_EQ(p.area(), r.area() * 4); ++ EXPECT_DOUBLE_EQ(p.area(), r.area() * 4); + } + + class ParallelogramTest +-- +2.26.2 + diff --git a/gnu/packages/patches/lib2geom-link-tests-against-glib.patch b/gnu/packages/patches/lib2geom-link-tests-against-glib.patch deleted file mode 100644 index 2b4f7ca6bf..0000000000 --- a/gnu/packages/patches/lib2geom-link-tests-against-glib.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f95925afef451755fc1449e57fbfdc2e7277f4b4 Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer <maxim.cournoyer@gmail.com> -Date: Sat, 11 Jan 2020 00:44:55 -0500 -Subject: [PATCH 1/3] tests: Link against GLib. - -This resolves an error about not finding <glib.h> when linking the -tests that make use of GLib. - -* src/tests/CMakeLists.txt[2GEOM_GTESTS_SRC]: Add the glib library to -the link target libraries. ---- - src/tests/CMakeLists.txt | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt -index 5ddf7f9c..626cfd87 100644 ---- a/src/tests/CMakeLists.txt -+++ b/src/tests/CMakeLists.txt -@@ -32,8 +32,10 @@ sbasis-test - - foreach(source ${2GEOM_GTESTS_SRC}) - add_executable(${source} ${source}.cpp) -- target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS}) -- target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES} ${GTK3_LIBRARIES}) -+ target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} -+ ${GTK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS}) -+ target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES} -+ ${GTK3_LIBRARIES} ${GLIB_LIBRARIES}) - add_test(NAME ${source} COMMAND ${source}) - endforeach() - --- -2.24.1 - diff --git a/gnu/packages/patches/lib2geom-use-system-googletest.patch b/gnu/packages/patches/lib2geom-use-system-googletest.patch deleted file mode 100644 index 16cce1799f..0000000000 --- a/gnu/packages/patches/lib2geom-use-system-googletest.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 6693b9c8ff1ae1ec02c9002c0a8f5f416f0c88f0 Mon Sep 17 00:00:00 2001 -From: Maxim Cournoyer <maxim.cournoyer@gmail.com> -Date: Sun, 12 Jan 2020 23:23:33 -0500 -Subject: [PATCH 3/3] build: Prefer googletest from the system. - -Fixes issue #4. - -The build system now look for a system installed googletest or falls -back to the bundled copy of googletest otherwise. - -* CMakeLists.txt: Add call to find_package(GTest). -(include_directories): Remove "src/googletest/googletest/include" from -arg. -* src/CMakeLists.txt[NOT GTEST_FOUND]: Define the gtest and gtest_main -libraries when GTEST_FOUND is false. Globally include the googletest -headers here. Define aliases for the gtest and gtest_main libraries -that match those defined by the FindGTest module. -* src/tests/CMakeLists.txt: Replace references to gtest_main and gtest -by GTest::Main and GTest::GTest, respectively. ---- - CMakeLists.txt | 3 ++- - src/CMakeLists.txt | 15 +++++++++++---- - src/tests/CMakeLists.txt | 6 +++--- - 3 files changed, 16 insertions(+), 8 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bfeb8f03..96fbd58c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -25,13 +25,14 @@ find_package(DoubleConversion REQUIRED) - find_package(PkgConfig REQUIRED) - find_package(Cython) - find_package(Threads) -+find_package(GTest) - pkg_check_modules(GTK3 gtk+-3.0) - pkg_check_modules(GLIB glib-2.0) - pkg_check_modules(CAIRO cairo) - pkg_check_modules(GSL gsl) - - # Add global include and link directories --include_directories(src src/googletest/googletest/include ${CMAKE_CURRENT_BINARY_DIR}) -+include_directories(src ${CMAKE_CURRENT_BINARY_DIR}) - link_directories(${CMAKE_CURRENT_SOURCE_DIR}/src/2geom) - - check_cxx_source_compiles("#include <math.h>\nint main() { double a=0.5,b=0.5,c=0.5; sincos(a, &b, &c); return 0; }" HAVE_SINCOS) -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index eefb3ac5..941dc4c7 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -1,7 +1,14 @@ --add_library(gtest SHARED googletest/googletest/src/gtest-all.cc) --target_include_directories(gtest PRIVATE googletest/googletest) --target_link_libraries(gtest Threads::Threads) --add_library(gtest_main STATIC googletest/googletest/src/gtest_main.cc) -+if(NOT GTEST_FOUND) -+ message("No system googletest library: using bundled copy.") -+ add_library(gtest SHARED googletest/googletest/src/gtest-all.cc) -+ add_library(gtest_main STATIC googletest/googletest/src/gtest_main.cc) -+ target_include_directories(gtest PRIVATE googletest/googletest) -+ target_link_libraries(gtest Threads::Threads) -+ include_directories(SYSTEM googletest/googletest/include) -+ # Aliases to share the same nomenclature with FindGTest. -+ add_library(GTest::GTest ALIAS gtest) -+ add_library(GTest::Main ALIAS gtest_main) -+endif() - - add_subdirectory(2geom) - add_subdirectory(tests) -diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt -index 626cfd87..3538f8cf 100644 ---- a/src/tests/CMakeLists.txt -+++ b/src/tests/CMakeLists.txt -@@ -34,15 +34,15 @@ foreach(source ${2GEOM_GTESTS_SRC}) - add_executable(${source} ${source}.cpp) - target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} - ${GTK3_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS}) -- target_link_libraries(${source} 2geom gtest_main gtest ${GSL_LIBRARIES} -- ${GTK3_LIBRARIES} ${GLIB_LIBRARIES}) -+ target_link_libraries(${source} 2geom GTest::Main GTest::GTest -+ ${GSL_LIBRARIES} ${GTK3_LIBRARIES} ${GLIB_LIBRARIES}) - add_test(NAME ${source} COMMAND ${source}) - endforeach() - - foreach(source ${2GEOM_TESTS_SRC}) - add_executable(${source} ${source}.cpp) - target_include_directories(${source} PRIVATE ${GSL_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS}) -- target_link_libraries(${source} 2geom gtest ${GSL_LIBRARIES} ${GTK3_LIBRARIES}) -+ target_link_libraries(${source} 2geom GTest::GTest ${GSL_LIBRARIES} ${GTK3_LIBRARIES}) - add_test(NAME ${source} COMMAND ${source}) - endforeach(source) - --- -2.24.1 - diff --git a/gnu/packages/patches/python-memcached-syntax-warnings.patch b/gnu/packages/patches/python-memcached-syntax-warnings.patch new file mode 100644 index 0000000000..f8690677c0 --- /dev/null +++ b/gnu/packages/patches/python-memcached-syntax-warnings.patch @@ -0,0 +1,24 @@ +Problem reported upstream: +https://github.com/linsomniac/python-memcached/issues/176 + +--- + memcache.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/memcache.py b/memcache.py +index 05b6657..b935681 100644 +--- a/memcache.py ++++ b/memcache.py +@@ -1300,8 +1300,8 @@ class Client(threading.local): + key = key[1] + if key is None: + raise Client.MemcachedKeyNoneError("Key is None") +- if key is '': +- if key_extra_len is 0: ++ if key == '': ++ if key_extra_len == 0: + raise Client.MemcachedKeyNoneError("Key is empty") + + # key is empty but there is some other component to key +-- +2.26.2 diff --git a/gnu/packages/patches/quassel-qt-514-compat.patch b/gnu/packages/patches/quassel-qt-514-compat.patch new file mode 100644 index 0000000000..7a0c42e8aa --- /dev/null +++ b/gnu/packages/patches/quassel-qt-514-compat.patch @@ -0,0 +1,130 @@ +https://github.com/quassel/quassel/commit/579e559a6322209df7cd51c34801fecff5fe734b.patch + +Based on the above patch, with some changes due to how the code has changed +in the time since 0.13.1 was released. + +https://git.archlinux.org/svntogit/community.git/plain/trunk/quassel-0.13.1-qt5.14.patch?h=packages/quassel + +From 579e559a6322209df7cd51c34801fecff5fe734b Mon Sep 17 00:00:00 2001 +From: Manuel Nickschas <sputnick@quassel-irc.org> +Date: Tue, 7 Jan 2020 18:34:54 +0100 +Subject: [PATCH] common: Disable enum type stream operators for Qt >= 5.14 + +Starting from version 5.14, Qt provides stream operators for enum +types, which collide with the ones we ship in types.h. Disable +Quassel's stream operators when compiling against Qt 5.14 or later. + +Add a unit test that ensures that enum serialization honors the width +of the underlying type. +--- + src/common/types.h | 2 + + tests/common/CMakeLists.txt | 2 + + tests/common/typestest.cpp | 79 +++++++++++++++++++++++++++++++++++++ + 3 files changed, 83 insertions(+) + create mode 100644 tests/common/typestest.cpp + +diff --git a/src/common/types.h b/src/common/types.h +index d3742b788..e2a9aab5e 100644 +--- a/src/common/types.h ++++ b/src/common/types.h +@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress) + typedef QList<MsgId> MsgIdList; + typedef QList<BufferId> BufferIdList; + ++#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0) + /** + * Catch-all stream serialization operator for enum types. + * +@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) { + value = static_cast<T>(v); + return in; + } ++#endif + + // Exceptions + +diff --git a/tests/common/typestest.cpp b/tests/common/typestest.cpp +new file mode 100644 +index 000000000..04031c299 +--- /dev/null ++++ b/tests/common/typestest.cpp +@@ -0,0 +1,79 @@ ++/*************************************************************************** ++ * Copyright (C) 2005-2020 by the Quassel Project * ++ * devel@quassel-irc.org * ++ * * ++ * This program is free software; you can redistribute it and/or modify * ++ * it under the terms of the GNU General Public License as published by * ++ * the Free Software Foundation; either version 2 of the License, or * ++ * (at your option) version 3. * ++ * * ++ * This program is distributed in the hope that it will be useful, * ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of * ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * ++ * GNU General Public License for more details. * ++ * * ++ * You should have received a copy of the GNU General Public License * ++ * along with this program; if not, write to the * ++ * Free Software Foundation, Inc., * ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ++ ***************************************************************************/ ++ ++#include <cstdint> ++ ++#include <QByteArray> ++#include <QDataStream> ++#include <QObject> ++ ++#include "testglobal.h" ++#include "types.h" ++ ++using namespace ::testing; ++ ++class EnumHolder ++{ ++ Q_GADGET ++ ++public: ++ enum class Enum16 : uint16_t {}; ++ enum class Enum32 : uint32_t {}; ++ ++ enum class EnumQt16 : uint16_t {}; ++ Q_ENUM(EnumQt16) ++ enum class EnumQt32 : uint32_t {}; ++ Q_ENUM(EnumQt32) ++}; ++ ++// Verify that enums are (de)serialized as their underlying type ++TEST(TypesTest, enumSerialization) ++{ ++ QByteArray data; ++ QDataStream out(&data, QIODevice::WriteOnly); ++ ++ // Serialize ++ out << EnumHolder::Enum16(0xabcd); ++ ASSERT_THAT(data.size(), Eq(2)); ++ out << EnumHolder::Enum32(0x123456); ++ ASSERT_THAT(data.size(), Eq(6)); ++ out << EnumHolder::EnumQt16(0x4321); ++ ASSERT_THAT(data.size(), Eq(8)); ++ out << EnumHolder::Enum32(0xfedcba); ++ ASSERT_THAT(data.size(), Eq(12)); ++ ASSERT_THAT(out.status(), Eq(QDataStream::Status::Ok)); ++ ++ // Deserialize ++ QDataStream in(data); ++ EnumHolder::Enum16 enum16; ++ EnumHolder::Enum32 enum32; ++ EnumHolder::EnumQt16 enumQt16; ++ EnumHolder::EnumQt32 enumQt32; ++ in >> enum16 >> enum32 >> enumQt16 >> enumQt32; ++ ASSERT_THAT(in.status(), Eq(QDataStream::Status::Ok)); ++ EXPECT_TRUE(in.atEnd()); ++ ++ EXPECT_THAT((int)enum16, Eq(0xabcd)); ++ EXPECT_THAT((int)enum32, Eq(0x123456)); ++ EXPECT_THAT((int)enumQt16, Eq(0x4321)); ++ EXPECT_THAT((int)enumQt32, Eq(0xfedcba)); ++} ++ ++#include "typestest.moc" diff --git a/gnu/packages/patches/tup-unbundle-dependencies.patch b/gnu/packages/patches/tup-unbundle-dependencies.patch new file mode 100644 index 0000000000..6409522bd3 --- /dev/null +++ b/gnu/packages/patches/tup-unbundle-dependencies.patch @@ -0,0 +1,66 @@ +Allow building tup after removing some bundled sources from the source +tree. + +diff --git a/build.sh b/build.sh +index 2937116d..eab650f7 100755 +--- a/build.sh ++++ b/build.sh +@@ -16,7 +16,7 @@ else + echo "Error: invalid TUP_SERVER \"$server\"" 1>&2 + exit 1 + fi +-LDFLAGS="$LDFLAGS -lm" ++LDFLAGS="$LDFLAGS -lm -lsqlite3 `pcre-config --libs`" + : ${CC:=gcc} + case "$os" in + Linux) +@@ -65,17 +65,15 @@ mkdir luabuiltin + + CFLAGS="$CFLAGS -DTUP_SERVER=\"$server\"" + CFLAGS="$CFLAGS -DHAVE_CONFIG_H" ++CFLAGS="$CFLAGS `pcre-config --cflags`" + +-for i in ../src/tup/*.c ../src/tup/tup/main.c ../src/tup/monitor/null.c ../src/tup/flock/fcntl.c ../src/inih/ini.c ../src/pcre/*.c $plat_files; do ++for i in ../src/tup/*.c ../src/tup/tup/main.c ../src/tup/monitor/null.c ../src/tup/flock/fcntl.c ../src/inih/ini.c $plat_files; do + echo " bootstrap CC $CFLAGS $i" + # Put -I. first so we find our new luabuiltin.h file, not one built + # by a previous 'tup upd'. +- $CC $CFLAGS -c $i -I. -I../src -I../src/pcre $plat_cflags ++ $CC $CFLAGS -c $i -I. -I../src $plat_cflags + done + +-echo " bootstrap CC $CFLAGS ../src/sqlite3/sqlite3.c" +-$CC $CFLAGS -c ../src/sqlite3/sqlite3.c -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION $plat_cflags +- + echo " bootstrap LD tup $LDFLAGS" + echo "const char *tup_version(void) {return \"$label\";}" | $CC -x c -c - -o tup_version.o + $CC *.o -o tup -lpthread $plat_ldflags $LDFLAGS +diff --git a/src/tup/db.c b/src/tup/db.c +index 55ee3edd..9bdf7a80 100644 +--- a/src/tup/db.c ++++ b/src/tup/db.c +@@ -46,7 +46,7 @@ + #include <errno.h> + #include <ctype.h> + #include <sys/stat.h> +-#include "sqlite3/sqlite3.h" ++#include <sqlite3.h> + + #define DB_VERSION 17 + #define PARSER_VERSION 12 +diff --git a/src/tup/tupid.h b/src/tup/tupid.h +index 7b36ae46..19aed438 100644 +--- a/src/tup/tupid.h ++++ b/src/tup/tupid.h +@@ -21,7 +21,7 @@ + #ifndef tup_tupid_h + #define tup_tupid_h + +-#include "sqlite3/sqlite3.h" ++#include <sqlite3.h> + + typedef sqlite3_int64 tupid_t; + +-- +2.26.2 + diff --git a/gnu/packages/patches/xmoto-remove-glext.patch b/gnu/packages/patches/xmoto-remove-glext.patch deleted file mode 100644 index ad0c848d1d..0000000000 --- a/gnu/packages/patches/xmoto-remove-glext.patch +++ /dev/null @@ -1,23 +0,0 @@ -Description: Allow building without upstream-supplied glext.h -Author: Stephen Kitt <steve@sk2.org> -Bug: http://todo.xmoto.tuxfamily.org/index.php?do=details&task_id=803 - ---- xmoto-0.5.9+dfsg.orig/src/include/xm_OpenGL.h -+++ xmoto-0.5.9+dfsg/src/include/xm_OpenGL.h -@@ -1,7 +1,6 @@ - #ifdef ENABLE_OPENGL - /* Pull in OpenGL headers */ - /* following scissored from SDL_opengl.h */ --#define __glext_h_ /* Don't let gl.h include glext.h */ - #ifdef HAVE_APPLE_OPENGL_FRAMEWORK - #include <OpenGL/gl.h> /* Header File For The OpenGL Library */ - #include <OpenGL/glu.h> /* Header File For The GLU Library */ -@@ -12,8 +11,5 @@ - #include <GL/gl.h> /* Header File For The OpenGL Library */ - #include <GL/glu.h> /* Header File For The GLU Library */ - #endif --#undef __glext_h_ -- --#include "../glext.h" - - #endif diff --git a/gnu/packages/patches/xmoto-reproducible.patch b/gnu/packages/patches/xmoto-reproducible.patch deleted file mode 100644 index 606f4ec714..0000000000 --- a/gnu/packages/patches/xmoto-reproducible.patch +++ /dev/null @@ -1,24 +0,0 @@ -Description: Avoid __DATE__ and __TIME__ to build reproducibly -Author: Stephen Kitt <skitt@debian.org> - ---- a/src/GameInit.cpp -+++ b/src/GameInit.cpp -@@ -248,7 +248,6 @@ - Logger::setActiv(XMSession::instance()->noLog() == false); /* apply log activ mode */ - - LogInfo(std::string("X-Moto " + XMBuild::getVersionString(true)).c_str()); -- LogInfo("compiled at "__DATE__" "__TIME__); - if(SwapEndian::bigendien) { - LogInfo("Systeme is bigendien"); - } else { ---- a/src/states/StateOptions.cpp -+++ b/src/states/StateOptions.cpp -@@ -1233,8 +1233,6 @@ - int p=25; - makeWindowOptions_infos_line(v_window, "Version", "X-Moto " + XMBuild::getVersionString(true), p); - p+=20; -- makeWindowOptions_infos_line(v_window, "Compilation date", __DATE__ " " __TIME__, p); -- p+=20; - makeWindowOptions_infos_line(v_window, "User data directory", XMFS::getUserDir(FDT_DATA), p); - p+=20; - makeWindowOptions_infos_line(v_window, "User config directory", XMFS::getUserDir(FDT_CONFIG), p); diff --git a/gnu/packages/patches/xmoto-utf8.patch b/gnu/packages/patches/xmoto-utf8.patch deleted file mode 100644 index e5d0dfb2a4..0000000000 --- a/gnu/packages/patches/xmoto-utf8.patch +++ /dev/null @@ -1,16 +0,0 @@ -Description: Build with g++'s new utf8.h -Author: Stephen Kitt <skitt@debian.org> - ---- a/src/helpers/utf8.h -+++ b/src/helpers/utf8.h -@@ -18,8 +18,8 @@ - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - =============================================================================*/ - --#ifndef __UTF8_H__ --#define __UTF8_H__ -+#ifndef __XMOTO_UTF8_H__ -+#define __XMOTO_UTF8_H__ - - #include <vector> - #include <string> diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 42839f4409..41c6da67d4 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -57,9 +57,13 @@ #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages databases) + #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gd) + #:use-module (gnu packages gl) + #:use-module (gnu packages gtk) #:use-module (gnu packages hurd) + #:use-module (gnu packages image) #:use-module (gnu packages less) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl-check) @@ -67,7 +71,9 @@ #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) + #:use-module (gnu packages sdl) #:use-module (gnu packages textutils) + #:use-module (gnu packages video) #:use-module (gnu packages web)) ;;; @@ -321,6 +327,63 @@ explicitly alias the class to another name or, if you prefer, you can do so implicitly.") (license (package-license perl)))) +(define-public perl-alien-sdl + (package + (name "perl-alien-sdl") + (version "1.446") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FR/FROGGS/" + "Alien-SDL-" version ".tar.gz")) + (sha256 + (base32 "0ajipk43syhlmw0zinbj1i6r46vdlkr06wkx7ivqjgf6qffjran9")))) + (build-system perl-build-system) + (arguments + `(#:module-build-flags + ;; XXX: For some reason, `sdl-config' reports stand-alone SDL + ;; directory, not SDL-union provided as an input to the + ;; package. We force the latter with "--prefix=" option. + (list (let ((sdl (assoc-ref %build-inputs "sdl"))) + (string-append "--with-sdl-config=" sdl "/bin/sdl-config" + " --prefix=" sdl))) + #:phases + (modify-phases %standard-phases + ;; Fix "unrecognized option: --with-sdl-config" during build. + ;; Reported upstream as + ;; <https://github.com/PerlGameDev/SDL/issues/261>. See also + ;; <https://github.com/PerlGameDev/SDL/issues/272>. + (add-after 'unpack 'fix-build.pl + (lambda _ + (substitute* "Build.PL" + (("use Getopt::Long;") "") + (("GetOptions\\( \"travis\" => \\\\\\$travis \\);") "")) + #t))))) + (native-inputs + `(("perl-archive-extract" ,perl-archive-extract) + ("perl-archive-zip" ,perl-archive-zip) + ("perl-capture-tiny" ,perl-capture-tiny) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-file-which" ,perl-file-which) + ("perl-module-build" ,perl-module-build) + ("perl-text-patch" ,perl-text-patch))) + (inputs + `(("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("pango" ,pango) + ("sdl" ,(sdl-union + (list sdl sdl-gfx sdl-image sdl-mixer sdl-net sdl-ttf + sdl-pango))) + ("zlib" ,zlib))) + (home-page "https://metacpan.org/release/Alien-SDL") + (synopsis "Get, build and use SDL libraries") + (description + "Alien::SDL can be used to detect and get configuration settings from an +installed SDL and related libraries. Based on your platform it offers the +possibility to download and install prebuilt binaries or to build SDL & co.@: +from source codes.") + (license license:perl-license))) + (define-public perl-any-moose (package (name "perl-any-moose") @@ -2850,14 +2913,14 @@ Date::Calc.") (define-public perl-date-manip (package (name "perl-date-manip") - (version "6.78") + (version "6.82") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/S/SB/SBECK/" "Date-Manip-" version ".tar.gz")) (sha256 - (base32 "1faxj6gafrqir9hvy9r8q57s93n57b412s04qycrks7r0520hdnb")))) + (base32 "0ak72kpydwhq2z03mhdfwm3ganddzb8gawzh6crpsjvb9kwvr5ps")))) (build-system perl-build-system) (arguments ;; Tests would require tzdata for timezone information, but tzdata is in @@ -4808,15 +4871,14 @@ back to a full directory scan if none of these are available.") (define-public perl-getopt-long (package (name "perl-getopt-long") - (version "2.49.1") + (version "2.51") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/J/JV/JV/" - "Getopt-Long-v" (substring version 1) ".tar.gz")) + "Getopt-Long-" version ".tar.gz")) (sha256 - (base32 - "0bw8gbhj8s5gmkqvs3m7pk9arqhgqssrby4yimh29ah9alix9ylq")))) + (base32 "0r659i6rkz8zkfgdccbn29zmd4bk9lcdc4y20ng6w2glqaa3pd10")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Getopt-Long") (synopsis "Module to handle parsing command line options") @@ -9676,14 +9738,14 @@ can combine fields into a CSV string and parse a CSV string into fields.") (define-public perl-text-csv-xs (package (name "perl-text-csv-xs") - (version "1.39") + (version "1.43") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HM/HMBRAND/" "Text-CSV_XS-" version ".tgz")) (sha256 - (base32 "1gcy1bxym6f7qsxivkl3c5p94r1bjhf9csy1x38a1gk8mx744kma")))) + (base32 "1frh8awr5ipry21x4403wdkbglpl707n69smksg8sf79ia75756d")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Text-CSV_XS") (synopsis "Routines for manipulating CSV files") @@ -10704,14 +10766,14 @@ neither visible nor modifiable from Perl space).") (define-public perl-yaml (package (name "perl-yaml") - (version "1.29") + (version "1.30") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/T/TI/TINITA/" "YAML-" version ".tar.gz")) (sha256 - (base32 "0gl5ssvrdajlbc85cy6z873n9cwlssk5q8z97a31vyiikhw5fp4w")))) + (base32 "1kbrfksjg4k4vmx1i337m5n69m00m0m5bgsh61c15bzzrgbacc2h")))) (build-system perl-build-system) (native-inputs `(("perl-test-yaml" ,perl-test-yaml))) @@ -10956,6 +11018,46 @@ really be high enough to warrant the use of a keyword, and the size so small such that being individual extensions would be wasteful.") (license (package-license perl)))) +(define-public perl-sdl + (package + (name "perl-sdl") + (version "2.548") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/F/FR/FROGGS/" + "SDL-" version ".tar.gz")) + (sha256 + (base32 "1dagpmcpjnwvd4g6mmnc312rqpd4qcwx21rpi2j7084wz8mijai5")))) + (build-system perl-build-system) + (native-inputs + `(("perl-alien-sdl" ,perl-alien-sdl) + ("perl-capture-tiny" ,perl-capture-tiny) + ("perl-file-sharedir" ,perl-file-sharedir) + ("perl-module-build" ,perl-module-build) + ("perl-test-most" ,perl-test-most) + ("perl-tie-simple" ,perl-tie-simple))) + (inputs + `(("freeglut" ,freeglut) + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libsmpeg" ,libsmpeg) + ("libtiff" ,libtiff) + ("mesa" ,mesa) + ("sdl" ,(sdl-union + (list sdl sdl-gfx sdl-image sdl-mixer sdl-pango sdl-ttf))))) + (propagated-inputs + `(("perl-file-sharedir" ,perl-file-sharedir) + ("perl-tie-simple" ,perl-tie-simple))) + (home-page "https://metacpan.org/release/SDL") + (synopsis "SDL bindings to Perl") + (description + "SDL Perl is a package of Perl modules that provide both functional and +object oriented interfaces to the Simple DirectMedia Layer for Perl5. This +package takes some liberties with the SDL API, and attempts to adhere to the +spirit of both the SDL and Perl.") + (license license:lgpl2.1))) + (define-public perl-shell-command (package (name "perl-shell-command") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 7e0a738d51..e95dec21c2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -6450,7 +6450,7 @@ callback signature using a prototype function.") (propagated-inputs `(("python-backcall" ,python-backcall) ("python-pyzmq" ,python-pyzmq) - ("python-prompt-toolkit" ,python-prompt-toolkit) + ("python-prompt-toolkit" ,python-prompt-toolkit-2) ("python-terminado" ,python-terminado) ("python-matplotlib" ,python-matplotlib) ("python-numpy" ,python-numpy) @@ -9004,8 +9004,7 @@ interactive computing.") "1ismyaxbv9d56yqqqb8xl58hg0iq0bbyy014a53y1g3hfbc8g7q7")))) (build-system python-build-system) (propagated-inputs - `(("python-ipykernel" - ,(prompt-toolkit-2-instead-of-prompt-toolkit python-ipykernel)) + `(("python-ipykernel" ,python-ipykernel) ("python-notebook" ,python-notebook))) (native-inputs `(("python-certifi" ,python-certifi) @@ -9032,8 +9031,7 @@ notebooks.") "15sww2mvnkqlvx55gwa82v05062a8j1xpncnqna4k9sl53hgcig9")))) (build-system python-build-system) (propagated-inputs - `(("python-ipython" ,(prompt-toolkit-2-instead-of-prompt-toolkit - python-ipython)) + `(("python-ipython" ,python-ipython) ("python-traitlets" ,python-traitlets) ("python-widgetsnbextension" ,python-widgetsnbextension))) (native-inputs @@ -9063,8 +9061,7 @@ in the data.") "06s3kr5vx0l1y1b7fxb04dmrppscl7q69sl9yyfr0d057d1ssvkg")))) (build-system python-build-system) (propagated-inputs - `(("python-ipykernel" ,(prompt-toolkit-2-instead-of-prompt-toolkit - python-ipykernel)) + `(("python-ipykernel" ,python-ipykernel) ("python-jupyter-client" ,python-jupyter-client) ("python-prompt-toolkit" ,python-prompt-toolkit-2) ("python-pygments" ,python-pygments))) @@ -11782,7 +11779,8 @@ running in.") (uri (pypi-uri "python-memcached" version)) (sha256 (base32 - "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2")))) + "0kvyapavbirk2x3n1jx4yb9nyigrj1s3x15nm3qhpvhkpqvqdqm2")) + (patches (search-patches "python-memcached-syntax-warnings.patch")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six))) (home-page @@ -11886,7 +11884,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (define-public poetry (package (name "poetry") - (version "1.0.5") + (version "1.0.9") ;; Poetry can only be built from source with Poetry. (source (origin @@ -11894,7 +11892,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (uri (pypi-uri "poetry" version)) (sha256 (base32 - "02h387k0xssvv78yy82pcpknpq4w5ym2in1zl8cg9r5wljl5w6cf")))) + "1avp0db1a4hf6lz3wrzhpdvj4rpmzr4in3myrd3lp5j66nc5ck0a")))) (build-system python-build-system) (arguments `(#:tests? #f ;; Pypi does not have tests. @@ -11905,8 +11903,7 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") (substitute* "setup.py" ;; poetry won't update version as 21.0.0 relies on python > 3.6 (("keyring>=20.0.1,<21.0.0") "keyring>=21.0.0,<22.0.0") - (("pyrsistent>=0.14.2,<0.15.0") "pyrsistent>=0.14.2,<0.16.0") - (("importlib-metadata>=1.1.3,<1.2.0") "importlib-metadata>=1.1.3,<1.5.0")) + (("pyrsistent>=0.14.2,<0.15.0") "pyrsistent>=0.14.2,<0.17.0")) #t))))) (propagated-inputs `(("python-cachecontrol" ,python-cachecontrol) @@ -11914,9 +11911,9 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.") ("python-cleo" ,python-cleo) ("python-clikit" ,python-clikit) ("python-html5lib" ,python-html5lib) - ("python-importlib-metadata" ,python-importlib-metadata) ;; python < 3.8 ("python-jsonschema" ,python-jsonschema) ("python-keyring" ,python-keyring) + ("python-msgpack-transitional" ,python-msgpack-transitional) ("python-pexpect" ,python-pexpect) ("python-pkginfo" ,python-pkginfo) ("python-pyparsing" ,python-pyparsing) @@ -12192,10 +12189,6 @@ characters, mouse support, and auto suggestions.") ("python-six" ,python-six) ("python-pygments" ,python-pygments))))) -(define-public prompt-toolkit-2-instead-of-prompt-toolkit - (package-input-rewriting/spec - `(("python-prompt-toolkit" . ,(const python-prompt-toolkit-2))))) - (define-public python2-prompt-toolkit (package-with-python2 python-prompt-toolkit-2)) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index d18af8f75c..a607ad1bae 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -1070,3 +1070,41 @@ their position, altitude, speed, etc.") from devices on the 433 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz ISM bands.") (home-page "https://github.com/merbanan/rtl_433") (license license:gpl2+))) + +(define-public multimon-ng + (package + (name "multimon-ng") + (version "1.1.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/EliasOenal/multimon-ng.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1973xfyvzl1viz19zr83cgqlx5laxbjrca35rqabn6dlb6xb5xk8")))) + (build-system cmake-build-system) + (inputs + `(("libx11" ,libx11) + ("pulseaudio" ,pulseaudio))) + (arguments + '(#:tests? #f)) ; No test suite + (home-page "https://github.com/EliasOenal/multimon-ng") + (synopsis "Decoder for digital radio transmission modes") + (description "Multimon-ng can decode several digital radio transmission +modes: +@itemize +@item POCSAG512, POCSAG1200, POCSAG2400 +@item FLEX +@item EAS +@item UFSK1200, CLIPFSK, AFSK1200, AFSK2400, AFSK2400_2, AFSK2400_3 +@item HAPN4800 +@item FSK9600 +@item DTMF +@item ZVEI1, ZVEI2, ZVEI3, DZVEI, PZVEI +@item EEA, EIA, CCIR +@item MORSE CW +@item X10 +@end itemize") + (license license:gpl2+))) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 6d91727809..e4e452fec5 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -620,26 +620,17 @@ sound and device input (keyboards, joysticks, mice, etc.).") (define-public guile-sdl2 (package (name "guile-sdl2") - (version "0.4.0") + (version "0.5.0") (source (origin (method url-fetch) (uri (string-append "https://files.dthompson.us/guile-sdl2/" "guile-sdl2-" version ".tar.gz")) (sha256 (base32 - "0zcxwgyadwpbhq6h5mv2569c3kalgra26zc186y9fqiyyzmh1v9s")))) + "118x0cg7fzbsyrfhy5f9ab7dqp9czgia0ycgzp6sn3nlsdrcnr4m")))) (build-system gnu-build-system) (arguments - '(#:make-flags '("GUILE_AUTO_COMPILE=0") - #:configure-flags - (list (string-append "--with-libsdl2-prefix=" - (assoc-ref %build-inputs "sdl2")) - (string-append "--with-libsdl2-image-prefix=" - (assoc-ref %build-inputs "sdl2-image")) - (string-append "--with-libsdl2-ttf-prefix=" - (assoc-ref %build-inputs "sdl2-ttf")) - (string-append "--with-libsdl2-mixer-prefix=" - (assoc-ref %build-inputs "sdl2-mixer"))))) + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) (native-inputs `(("guile" ,guile-2.2) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 8f251bb850..109baacc30 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -803,14 +803,14 @@ Shell (pdksh).") (package (name "oil") ;; https://www.oilshell.org/blog/2020/04/release-0.8.pre4.html#comment-on-version-numbering - (version "0.8.pre5") + (version "0.8.pre6") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "02llxx10izxpv1y32qn8k6r0y7al01rzxjirc8h6x8nd9kiaqknl")))) + (base32 "11nfwn5b1w74hv78065jg2zm45mqzi59381b0f649j7n3g7yp3iq")))) (build-system gnu-build-system) (arguments `(#:strip-binaries? #f ; strip breaks the binary @@ -827,7 +827,7 @@ Shell (pdksh).") (replace 'check ;; The tests are not distributed in the tarballs but upstream ;; recommends running this smoke test. - ;; https://github.com/oilshell/oil/blob/release/0.8.pre5/INSTALL.txt#L38-L48 + ;; https://github.com/oilshell/oil/blob/release/0.8.pre6/INSTALL.txt#L38-L48 (lambda _ (let* ((oil "_bin/oil.ovm")) (invoke/quiet oil "osh" "-c" "echo hi") diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 482eea9178..9e613cd63a 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5902,3 +5902,24 @@ Java package that provides routines for various statistical distributions.") Emacs. It is designed to support editing of scripts and interaction with various statistical analysis programs such as R, Julia, and JAGS.") (license license:gpl2+))) + +(define-public r-boruta + (package + (name "r-boruta") + (version "7.0.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "Boruta" version)) + (sha256 + (base32 + "0y2w4wb45kfnzrxcrdsiwgal9fsnlr3wad1sqdc70qv8gp921xbg")))) + (properties `((upstream-name . "Boruta"))) + (build-system r-build-system) + (propagated-inputs `(("r-ranger" ,r-ranger))) + (home-page "https://gitlab.com/mbq/Boruta/") + (synopsis + "Wrapper Algorithm for All Relevant Feature Selection") + (description + "An all relevant feature selection wrapper algorithm. It finds relevant features by comparing original attributes' importance with importance achievable at random, estimated using their permuted copies (shadows).") + (license license:gpl2+))) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ec401416ce..37f62c95bf 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -182,9 +182,9 @@ living in the same process.") "0jvca1qahn9lrwv6f5kfs95icirc15b2a8x9fzczyj996ipg3b5z")))) (build-system gnu-build-system) (arguments - `(,@(if (hurd-target?) '(#:tests? #f) '()) - ; Ensure we don't keep a reference to this buggy software. - #:disallowed-references (,net-tools) + `(#:tests? ,(not (hurd-target?)) + ;; Ensure we don't keep a reference to net-tools. + #:disallowed-references ,(if (hurd-target?) '() (list net-tools)) #:configure-flags (list ;; GnuTLS doesn't consult any environment variables to specify diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 2f2623b0e6..19ab5cf374 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,8 +142,28 @@ rejects UDP traffic from the application you're using.") ;; $out/etc/privoxy. #:configure-flags (list (string-append "--sysconfdir=" (assoc-ref %outputs "out") - "/etc/privoxy")) - #:tests? #f)) + "/etc/privoxy") + "--localstatedir=/var") + #:tests? #f ; no test suite + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-default-logging + (lambda _ + (with-fluids ((%default-port-encoding "ISO-8859-1")) + ;; Do not create /var/run nor /var/log/privoxy/logfile. + (substitute* "GNUmakefile.in" + (("(logfile \\|\\| exit )1" _ match) + (string-append match "0")) + (("(\\$\\(DESTDIR\\)\\$\\(SHARE_DEST\\)) \\\\" _ match) + match) + ((".*\\$\\(LOG_DEST\\) \\$\\(DESTDIR\\)\\$\\(PID_DEST\\).*") + "")) + ;; Disable logging in the default configuration to allow for + ;; non-root users using it as is. + (substitute* "config" + (("^logdir") "#logdir") + (("^logfile") "#logfile"))) + #t))))) (inputs `(("w3m" ,w3m) ("pcre" ,pcre) diff --git a/gnu/packages/toys.scm b/gnu/packages/toys.scm index 7f22646d8c..f643e06974 100644 --- a/gnu/packages/toys.scm +++ b/gnu/packages/toys.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com> -;;; Copyright © 2019 Timotej Lazar <timotej.lazar@araneo.si> +;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -167,7 +167,7 @@ The GNU project hosts a similar collection of filters, the GNU talkfilters.") (define-public xsnow (package (name "xsnow") - (version "2.0.15") + (version "2.0.22") (source (origin (method url-fetch) @@ -175,7 +175,7 @@ The GNU project hosts a similar collection of filters, the GNU talkfilters.") "https://www.ratrabbit.nl/ratrabbit/system/files/xsnow/xsnow-" version ".tar.gz")) (sha256 - (base32 "086s42frbz9bk550414v908yrax4iwwlvlxv4zwp39cyp7wgws03")))) + (base32 "1880643fal6l7bskqbm4zfbr2s719698mkx4pchrxkjpb240sj0z")))) (build-system gnu-build-system) (arguments '(#:phases diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 16136b7662..4bd2dca909 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -121,11 +121,13 @@ #:use-module (gnu packages iso-codes) #:use-module (gnu packages libidn) #:use-module (gnu packages libreoffice) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages m4) #:use-module (gnu packages man) #:use-module (gnu packages markup) + #:use-module (gnu packages maths) #:use-module (gnu packages mp3) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) @@ -935,16 +937,14 @@ operate properly.") (define-public ffmpeg (package (name "ffmpeg") - (version "4.2.3") + (version "4.3") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) - ;; See <https://issues.guix.gnu.org/issue/39719> - (patches (search-patches "ffmpeg-prefer-dav1d.patch")) (sha256 (base32 - "0cddkb5sma9dzy8i59sfls19rhjlq40zn9mh3x666dqkxl5ckxlx")))) + "0pbrsv5v96yd8qzb9bk4kw7qk4xqpi03rsd5xfbwnjzlhijd02hx")))) (build-system gnu-build-system) (inputs `(("dav1d" ,dav1d) @@ -971,6 +971,7 @@ operate properly.") ("mesa" ,mesa) ("openal" ,openal) ("pulseaudio" ,pulseaudio) + ("rav1e" ,rav1e) ("sdl" ,sdl2) ("soxr" ,soxr) ("speex" ,speex) @@ -1052,6 +1053,7 @@ operate properly.") "--enable-libmp3lame" "--enable-libopus" "--enable-libpulse" + "--enable-librav1e" "--enable-libsoxr" "--enable-libspeex" "--enable-libtheora" @@ -1130,10 +1132,10 @@ audio/video codec library.") (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) - `(delete "--enable-libdav1d" (delete "--enable-libaom" - ,flags))))) - (inputs (alist-delete "dav1d" (alist-delete "libaom" - (package-inputs ffmpeg)))))) + `(delete "--enable-libdav1d" (delete "--enable-libaom" (delete "--enable-librav1e" + ,flags)))))) + (inputs (alist-delete "dav1d" (alist-delete "libaom" (alist-delete "rav1e" + (package-inputs ffmpeg))))))) (define-public ffmpeg-for-stepmania (hidden-package @@ -1197,7 +1199,7 @@ videoformats depend on the configuration flags of ffmpeg.") (define-public vlc (package (name "vlc") - (version "3.0.10") + (version "3.0.11") (source (origin (method url-fetch) (uri (string-append @@ -1206,7 +1208,7 @@ videoformats depend on the configuration flags of ffmpeg.") "/vlc-" version ".tar.xz")) (sha256 (base32 - "0cackl1084hcmg4myf3kvjvd6sjxmzn0c0qkmanz6brvgzyanrm9")))) + "06a9hfl60f6l0fs5c9ma5s8np8kscm4ala6m2pdfji9lyfna351y")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) @@ -1218,10 +1220,6 @@ videoformats depend on the configuration flags of ffmpeg.") (inputs `(("alsa-lib" ,alsa-lib) ("avahi" ,avahi) - ;; XXX Try removing dav1d here and testing AV1 playback when FFmpeg 4.3 - ;; is released. - ;; <https://issues.guix.gnu.org/issue/39719> - ("dav1d" ,dav1d) ("dbus" ,dbus) ("eudev" ,eudev) ("flac" ,flac) @@ -2771,7 +2769,7 @@ supported players in addition to this package.") (define-public handbrake (package (name "handbrake") - (version "1.3.2") + (version "1.3.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/HandBrake/HandBrake/" @@ -2779,7 +2777,7 @@ supported players in addition to this package.") "HandBrake-" version "-source.tar.bz2")) (sha256 (base32 - "0w7jxjrccvxp7g15dv0spildg5apmqp4gwbcqmg58va2gylynvzc")) + "11bzhyp052bmng5119x74xvdj5632smx6qsk537ygda8bzckg2i1")) (modules '((guix build utils))) (snippet ;; Remove "contrib" and source not necessary for @@ -4097,3 +4095,42 @@ can also directly record to WebM or MP4 if you prefer.") wlroots-based compositors. More specifically, those that support @code{wlr-screencopy-v1} and @code{xdg-output}.") (license license:expat))) + +(define-public guvcview + (package + (name "guvcview") + (version "2.0.6") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/guvcview/source/guvcview-" + "src-" version ".tar.gz")) + (sha256 + (base32 + "11byyfpkcik7wvf2qic77zjamfr2rhji97dpj1gy2fg1bvpiqf4m")))) + (build-system gnu-build-system) + (arguments + ;; There are no tests and "make check" would fail on an intltool error. + '(#:tests? #f)) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("gtk+" ,gtk+) + ("eudev" ,eudev) + ("libusb" ,libusb) + ("v4l-utils" ,v4l-utils) ;libv4l2 + ("ffmpeg" ,ffmpeg) ;libavcodec, libavutil + ("sdl2" ,sdl2) + ("gsl" ,gsl) + ("portaudio" ,portaudio) + ("alsa-lib" ,alsa-lib))) + (home-page "http://guvcview.sourceforge.net/") + (synopsis "Control your webcam and capture videos and images") + (description + "GTK+ UVC Viewer (guvcview) is a graphical application to control a +webcam accessible with Video4Linux (V4L2) and to capture videos and images. +It provides control over precise settings of the webcam such as exposure, +brightness, contrast, and frame rate.") + + ;; 'COPYING' is GPLv3 but source headers say GPLv2+. + (license license:gpl2+))) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 615ac788ed..61cbedef5c 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -694,14 +694,14 @@ tiled on several screens.") (define-public xmobar (package (name "xmobar") - (version "0.33") + (version "0.34") (source (origin (method url-fetch) (uri (string-append "mirror://hackage/package/xmobar/" "xmobar-" version ".tar.gz")) (sha256 (base32 - "1hr3qqykc5givcpcwrr9f2y920jmiinmxm5mcy6qgpgymgwqb618")))) + "0x09xbz7y9ay0046j1xpr9jjk5jqivqi06vm3q6mhcrgc4y922rx")))) (build-system haskell-build-system) (native-inputs `(("ghc-hspec" ,ghc-hspec) |