diff options
Diffstat (limited to 'gnu/packages')
232 files changed, 21620 insertions, 4249 deletions
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index b2b5111458..cb3de79713 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,53 +50,67 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages admin) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix utils) - #:use-module (guix download) - #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system emacs) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autogen) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages c) #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages cross-base) #:use-module (gnu packages crypto) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dns) + #:use-module (gnu packages elf) #:use-module (gnu packages file) - #:use-module (gnu packages ncurses) - #:use-module (gnu packages readline) - #:use-module (gnu packages libbsd) - #:use-module (gnu packages linux) - #:use-module (gnu packages lua) - #:use-module (gnu packages guile) + #:use-module (gnu packages flex) #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) + #:use-module (gnu packages groff) + #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) + #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) + #:use-module (gnu packages kerberos) + #:use-module (gnu packages libbsd) + #:use-module (gnu packages libftdi) + #:use-module (gnu packages libunwind) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages lua) + #:use-module (gnu packages man) + #:use-module (gnu packages mcrypt) + #:use-module (gnu packages mpi) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages openldap) + #:use-module (gnu packages patchutils) + #:use-module (gnu packages pciutils) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) - #:use-module (gnu packages tcl) - #:use-module (gnu packages compression) - #:use-module (gnu packages cross-base) - #:use-module (gnu packages tls) - #:use-module (gnu packages gnupg) - #:use-module (gnu packages bison) - #:use-module (gnu packages flex) - #:use-module (gnu packages gl) - #:use-module (gnu packages glib) - #:use-module (gnu packages openldap) - #:use-module (gnu packages mcrypt) - #:use-module (gnu packages patchutils) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages python) @@ -103,28 +118,61 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) #:use-module (gnu packages sphinx) + #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) - #:use-module (gnu packages groff) - #:use-module (gnu packages pciutils) - #:use-module (gnu packages libunwind) - #:use-module (gnu packages libusb) - #:use-module (gnu packages libftdi) - #:use-module (gnu packages image) - #:use-module (gnu packages xorg) + #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages man) - #:use-module (gnu packages autotools) - #:use-module (gnu packages gnome) - #:use-module (gnu packages kerberos) - #:use-module (gnu packages gtk) #:use-module (gnu packages xml) - #:use-module (gnu packages boost) - #:use-module (gnu packages elf) - #:use-module (gnu packages mpi) - #:use-module (gnu packages version-control) - #:use-module (gnu packages web)) + #:use-module (gnu packages xorg)) + +(define-public ktsuss + (package + (name "ktsuss") + (version "2.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/nomius/ktsuss.git") + (commit version))) + (sha256 + (base32 "0q9931f9hp47v1n8scli4bdg2rkjpf5jf8v7jj2gdn83aia1r2hz")) + (file-name (git-file-name name version)))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags + (list "--enable-sudo=yes") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-file-names + (lambda _ + (substitute* "configure.ac" + (("supath=`which su 2>/dev/null`") + "supath=/run/setuid-programs/su") + (("sudopath=`which sudo 2>/dev/null`") + "sudopath=/run/setuid-programs/sudo")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+-2))) + (synopsis "Graphical front end for @command{su}") + (description + "Ktsuss stands for ``Keep the @command{su} simple, stupid''. +It is a graphical version of @command{su} written in C and GTK+ 2, with +simplicity in mind.") + (home-page "https://github.com/nomius/ktsuss") + (license license:bsd-3))) (define-public aide (package @@ -197,14 +245,14 @@ and provides a \"top-like\" mode (monitoring).") (define-public shepherd (package (name "shepherd") - (version "0.7.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/shepherd/shepherd-" version ".tar.gz")) (sha256 (base32 - "07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx")))) + "02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--localstatedir=/var"))) @@ -239,6 +287,16 @@ interface and is based on GNU Guile.") (inputs `(("guile" ,guile-next))))) +(define-public guile2.0-shepherd + (package + (inherit shepherd) + (name "guile2.0-shepherd") + (native-inputs + `(("pkg-config" ,pkg-config) + ("guile" ,guile-2.0))) + (inputs + `(("guile" ,guile-2.0))))) + (define-public cloud-utils (package (name "cloud-utils") @@ -766,7 +824,7 @@ connection alive.") (define-public isc-dhcp (let* ((bind-major-version "9") (bind-minor-version "11") - (bind-patch-version "14") + (bind-patch-version "18") (bind-release-type "") ; for patch release, use "-P" (bind-release-version "") ; for patch release, e.g. "6" (bind-version (string-append bind-major-version @@ -902,7 +960,7 @@ connection alive.") "/bind-" bind-version ".tar.gz")) (sha256 (base32 - "1pv3bvm9dzyz2kqjkw15sgh0hd5fzsv274v5z6jp9c4nb5130fyr")))) + "0vws0zzb39mkphj4hhjrgfj9dzw951lc4pfa6pqg5ll5ma51mbsr")))) ;; When cross-compiling, we need the cross Coreutils and sed. ;; Otherwise just use those from %FINAL-INPUTS. @@ -1267,9 +1325,10 @@ system administrator.") ;; XXX: The 'testsudoers' test series expects user 'root' to exist, but ;; the chroot's /etc/passwd doesn't have it. Turn off the tests. #:tests? #f)) + (native-inputs + `(("groff" ,groff))) (inputs - `(("groff" ,groff) - ("linux-pam" ,linux-pam) + `(("linux-pam" ,linux-pam) ("zlib" ,zlib) ("coreutils" ,coreutils))) (home-page "https://www.sudo.ws/") @@ -1583,7 +1642,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20200214") + (version "20200326") (source (origin (method url-fetch) (uri (string-append @@ -1591,7 +1650,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "0jdasziq184l3iqyp5vhrsbi6g89n10wr0ssliiz0xi3dqwsxcqk")))) + "0y08l6djjn87jmsp5kj0myjdb48000g20xlfs0a22jzzi383h3by")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -2474,7 +2533,7 @@ throughput (in the same interval).") (define-public thefuck (package (name "thefuck") - (version "3.29") + (version "3.30") (source (origin (method git-fetch) @@ -2483,7 +2542,7 @@ throughput (in the same interval).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qhxwjjgrzpqrqjv7l2847ywpln76lyd6j8bl9gz2r6kl0fx2fqs")) + (base32 "0fnf78956pwhb9cgv1jmgypnkma5xzflkivfrkfiadbgin848yfg")) (patches (search-patches "thefuck-test-environ.patch")))) (build-system python-build-system) (arguments @@ -2505,7 +2564,8 @@ throughput (in the same interval).") ("python-pyte" ,python-pyte) ("python-six" ,python-six))) (native-inputs - `(("python-mock" ,python-mock) + `(("go" ,go) + ("python-mock" ,python-mock) ("python-pytest" ,python-pytest) ("python-pytest-mock" ,python-pytest-mock))) (home-page "https://github.com/nvbn/thefuck") @@ -2622,6 +2682,7 @@ shortcut syntax and completion options.") (uri (string-append "https://archives.eyrie.org/software/kerberos/" "pam-krb5-" version ".tar.xz")) + (patches (search-patches "pam-krb5-CVE-2020-10595.patch")) (sha256 (base32 "1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb")))) @@ -2865,7 +2926,7 @@ buffers.") ("automake" ,automake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) - (home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/") + (home-page "https://gitlab.freedesktop.org/drm/igt-gpu-tools") (synopsis "Tools for development and testing of the Intel DRM driver") (description "IGT GPU Tools is a collection of tools for development and testing of the Intel DRM driver. There are many macro-level test suites that @@ -2878,9 +2939,6 @@ Intel DRM Driver.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:expat))) -(define-public intel-gpu-tools - (deprecated-package "intel-gpu-tools" igt-gpu-tools)) - (define-public fabric (package (name "fabric") diff --git a/gnu/packages/aidc.scm b/gnu/packages/aidc.scm index b68f2137be..5648f5a9ec 100644 --- a/gnu/packages/aidc.scm +++ b/gnu/packages/aidc.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darringon <jmd@gnu.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> @@ -157,39 +157,34 @@ Python as well as GUI widgets for GTK and Qt.") (license license:lgpl2.1+))) (define-public qrcodegen-cpp - ;; Currently this project's installation mechanism only exists as a GitHub - ;; pull request, so we build from a recent commit that the proposed patch - ;; applies to. - (let ((commit "6ea933f1596d818bd21e9a6b8d2e851fb8b4bcf1") - (revision "0")) - (package - (name "qrcodegen-cpp") - (version (git-version "1.5.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nayuki/QR-Code-generator.git") - (commit commit))) - (file-name (git-file-name name version)) - (patches (search-patches "qrcodegen-cpp-make-install.patch")) - (sha256 - (base32 - "19fcwqmfk2n9p2n01dv2j4x2y2mqip0j1wbmfbxjp34rqkjwcwxm")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; no test suite - #:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (delete 'configure) ; No ./configure script - ;; Only build the C++ variant. - (add-after 'unpack 'chdir - (lambda _ - (chdir "cpp") - #t))))) - (synopsis "QR Code generator library") - (description "qrcodegen-cpp is a QR code generator library in C++. The + (package + (name "qrcodegen-cpp") + (version "1.6.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nayuki/QR-Code-generator.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "qrcodegen-cpp-make-install.patch")) + (sha256 + (base32 + "0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; No ./configure script + ;; Only build the C++ variant. + (add-after 'unpack 'chdir + (lambda _ + (chdir "cpp") + #t))))) + (synopsis "QR Code generator library") + (description "qrcodegen-cpp is a QR code generator library in C++. The project also offers Java, Javascript, Python, C, and Rust implementations.") - (home-page "https://www.nayuki.io/page/qr-code-generator-library") - (license license:expat)))) + (home-page "https://www.nayuki.io/page/qr-code-generator-library") + (license license:expat))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 8682ecd8d0..34fb9ee4fd 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -226,7 +227,7 @@ the real span of the lattice.") (define-public pari-gp (package (name "pari-gp") - (version "2.11.2") + (version "2.11.4") (source (origin (method url-fetch) (uri (string-append @@ -234,7 +235,7 @@ the real span of the lattice.") version ".tar.gz")) (sha256 (base32 - "0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa")))) + "070bjw4kg7r6lqs1hfs08n5fmjv90cpwflp3wr04hbrmyz28zj5z")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,(texlive-union @@ -268,7 +269,7 @@ PARI is also available as a C library to allow for faster computations.") (define-public gp2c (package (name "gp2c") - (version "0.0.11pl2") + (version "0.0.11pl3") (source (origin (method url-fetch) (uri (string-append @@ -276,7 +277,7 @@ PARI is also available as a C library to allow for faster computations.") version ".tar.gz")) (sha256 (base32 - "0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g")))) + "0yymbrgyjw500hqgmkj5m4nmscd7c9rs9w2c96lxgrcyab8krhrm")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (inputs `(("pari-gp" ,pari-gp))) @@ -432,9 +433,6 @@ maple, mupad and the TI89. It is available as a standalone program (graphic or text interfaces) or as a C++ library.") (license license:gpl3+))) -(define-public giac-xcas - (deprecated-package "giac-xcas" giac)) - (define-public flint (package (name "flint") @@ -561,42 +559,50 @@ these types and other mathematical functions.") (define-public ntl (package (name "ntl") - (version "9.7.0") + (version "11.4.3") (source (origin (method url-fetch) - (uri (string-append "http://shoup.net/ntl/ntl-" + (uri (string-append "https://shoup.net/ntl/ntl-" version ".tar.gz")) - (sha256 (base32 - "115frp5flyvw9wghz4zph1b3llmr5nbxk1skgsggckr81fh3gmxq")))) + (sha256 + (base32 + "1lisp3064rch3jaa2wrhy1s9kll7i3ka3d0y6lj6l3l4ckfcrhdp")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "src/libtool-origin") + #t)))) (build-system gnu-build-system) (native-inputs `(("libtool" ,libtool) ("perl" ,perl))) ; for configuration - ;; FIXME: Add optional input gf2x once available; then also add - ;; configure flag "NTL_GF2X_LIB=on". (inputs - `(("gmp" ,gmp))) + `(("gmp" ,gmp) + ("gf2x" ,gf2x))) (arguments `(#:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (chdir "src") - (system* "./configure" + (invoke "./configure" (string-append "PREFIX=" (assoc-ref outputs "out")) + (string-append "LIBTOOL=" (assoc-ref inputs "libtool") "/bin/libtool") + ;; set the library prefixes explicitly so that they get + ;; embedded in the .la file + (string-append "GMP_PREFIX=" (assoc-ref inputs "gmp")) + (string-append "GF2X_PREFIX=" (assoc-ref inputs "gf2x")) ;; Do not build especially for the build machine. "NATIVE=off" - ;; Also do not tune to the build machine. - "WIZARD=off" - "SHARED=on") - #t))))) + "NTL_GF2X_LIB=on" + "SHARED=on")))))) (synopsis "C++ library for number theory") (description "NTL is a C++ library providing data structures and algorithms for manipulating signed, arbitrary length integers, and for vectors, matrices, and polynomials over the integers and over finite fields.") (license license:gpl2+) - (home-page "http://shoup.net/ntl/"))) + (home-page "https://shoup.net/ntl/"))) (define-public singular (package @@ -1454,8 +1460,7 @@ of M4RI from F_2 to F_{2^e}.") ("automake" ,automake) ("libtool" ,libtool))) (inputs - `(("gmp" ,gmp) - ("ntl" ,ntl) + `(("ntl" ,ntl) ("pari-gp" ,pari-gp))) (synopsis "Ranks of elliptic curves and modular symbols") (description "The eclib package includes mwrank (for 2-descent on diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 0a24220e18..c775603445 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -259,7 +259,7 @@ runtime") (define-public rgbds (package (name "rgbds") - (version "0.3.9") + (version "0.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -268,7 +268,7 @@ runtime") (file-name (git-file-name name version)) (sha256 (base32 - "0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv")))) + "15680964nlsa83nqgxk7knxajn98lddz2hg6jnn8ffmnms5wdam7")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 3bb236fde9..28c010ad6a 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -3,6 +3,8 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 by Amar Singh <nly@disroot.org> +;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> +;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,22 +27,28 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (gnu packages) + #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) - #:use-module (gnu packages image) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) - #:use-module (gnu packages version-control) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages xiph) - #:use-module (gnu packages pretty-print) - #:use-module (gnu packages algebra) - #:use-module (gnu packages lua) - #:use-module (gnu packages perl) #:use-module (gnu packages gl) - #:use-module (gnu packages qt) - #:use-module (gnu packages gtk) + #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages lua) #:use-module (gnu packages maths) + #:use-module (gnu packages netpbm) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) + #:use-module (gnu packages qt) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (srfi srfi-1)) @@ -149,7 +157,7 @@ programs for the manipulation and analysis of astronomical data.") (define-public stellarium (package (name "stellarium") - (version "0.19.3") + (version "0.20.1") (source (origin (method url-fetch) @@ -157,7 +165,7 @@ programs for the manipulation and analysis of astronomical data.") "/releases/download/v" version "/stellarium-" version ".tar.gz")) (sha256 - (base32 "0p92rgclag0nkic9gk3p9vclb8xx9hv4zlgyij6cyh43s7c1avhp")))) + (base32 "034jkrdaaamvbrkfwi3qcl6h8hwfnw2nvf7a82faj55rskcpnkhm")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) @@ -289,3 +297,95 @@ Mechanics, Astrometry and Astrodynamics library.") (license (list license:lgpl2.0+ license:gpl2+)))) ; examples/transforms.c & lntest/*.c +(define-public xplanet + (package + (name "xplanet") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri + (string-append + "mirror://sourceforge/xplanet/xplanet/" + version "/xplanet-" version ".tar.gz")) + (sha256 + (base32 "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023")) + (patches + (search-patches + "xplanet-1.3.1-cxx11-eof.patch" + "xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch" + "xplanet-1.3.1-libimage_gif.c.patch" + "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("libxscrnsaver" ,libxscrnsaver) + ("libice" ,libice) + ("freetype" ,freetype) + ("pango" ,pango) + ("giflib" ,giflib) + ("libjpeg", libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("netpbm" ,netpbm) + ("zlib" ,zlib))) + (arguments + `(#:configure-flags + (let ((netpbm (assoc-ref %build-inputs "netpbm"))) + (append (list + ;; Give correct path for pnm.h header to configure script + (string-append "CPPFLAGS=-I" netpbm "/include/netpbm") + ;; no nasa jpl cspice support + "--without-cspice" ))))) + (home-page "http://xplanet.sourceforge.net/") + (synopsis "Planetary body renderer") + (description + "Xplanet renders an image of a planet into an X window or file. +All of the major planets and most satellites can be drawn and different map +projections are also supported, including azimuthal, hemisphere, Lambert, +Mercator, Mollweide, Peters, polyconic, orthographic and rectangular.") + (license license:gpl2+))) + +(define-public gpredict + (package + (name "gpredict") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/csete/gpredict/releases" + "/download/v" version + "/gpredict-" version ".tar.bz2")) + (sha256 + (base32 "0hwf97kng1zy8rxyglw04x89p0bg07zq30hgghm20yxiw2xc8ng7")))) + (build-system gnu-build-system) + (native-inputs + `(("intltool" ,intltool) + ("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("glib" ,glib) + ("goocanvas" ,goocanvas) + ("gtk+" ,gtk+))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; Remove reference to non-existent file. + (substitute* "po/POTFILES.in" + (("src/gtk-sat-tree\\.c") + "")) + #t))))) + (synopsis "Satellite tracking and orbit prediction application") + (description + "Gpredict is a real-time satellite tracking and orbit prediction +application. It can track a large number of satellites and display their +position and other data in lists, tables, maps, and polar plots (radar view). +Gpredict can also predict the time of future passes for a satellite, and +provide you with detailed information about each pass.") + (home-page "http://gpredict.oz9aec.net/index.php") + (license license:gpl2+))) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 803efb5cd1..e2e276723b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 okapi <okapi@firemail.cc> -;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> @@ -28,6 +28,8 @@ ;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> ;;; Copyright © 2019 Hartmt Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -96,7 +98,9 @@ #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) #:use-module (gnu packages telephony) + #:use-module (gnu packages linphone) #:use-module (gnu packages tls) + #:use-module (gnu packages valgrind) #:use-module (gnu packages video) #:use-module (gnu packages vim) ;xxd #:use-module (gnu packages webkit) @@ -119,6 +123,45 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) +(define-public vo-amrwbenc + (package + (name "vo-amrwbenc") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://sourceforge.net/projects/opencore-amr/files/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0klx3nkidc6b8aawchpk19n3xlrzgnc046w4gd0rdqphw28v6ljn")))) + (build-system gnu-build-system) + (synopsis "Adaptive Multi Rate Codec") + (description "VO-AMR is a library of VisualOn implementation of +Adaptive Multi Rate Narrowband and Wideband (AMR-NB and AMR-WB) speech codec.") + (home-page "https://sourceforge.net/projects/opencore-amr/") + (license license:asl2.0))) + +(define-public opencore-amr + (package + (name "opencore-amr") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri + (string-append "https://sourceforge.net/projects/opencore-amr/files/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0hfk9khz3by0119h3jdwgdfd7jgkdbzxnmh1wssvylgnsnwnq01c")))) + (build-system gnu-build-system) + (synopsis "Adaptive Multi Rate Codec") + (description "OpenCore-AMR is a library of OpenCORE Framework +implementation of Adaptive Multi Rate Narrowband and Wideband +(AMR-NB and AMR-WB) speech codec.") + (home-page "https://sourceforge.net/projects/opencore-amr/") + (license license:asl2.0))) + (define-public alsa-modular-synth (package (name "alsa-modular-synth") @@ -153,10 +196,10 @@ ("jack" ,jack-1) ("ladspa" ,ladspa) ("liblo" ,liblo) - ("qtbase" ,qtbase) - ("qttools" ,qttools))) + ("qtbase" ,qtbase))) (native-inputs `(("pkg-config" ,pkg-config) + ("qttools" ,qttools) ("gcc" ,gcc-5))) (home-page "http://alsamodular.sourceforge.net/") (synopsis "Realtime modular synthesizer and effect processor") @@ -1936,14 +1979,14 @@ significantly faster and have minimal dependencies.") (define-public lv2 (package (name "lv2") - (version "1.16.0") + (version "1.18.0") (source (origin (method url-fetch) (uri (string-append "http://lv2plug.in/spec/lv2-" version ".tar.bz2")) (sha256 (base32 - "1ppippbpdpv13ibs06b0bixnazwfhiw0d0ja6hx42jnkgdyp5hyy")))) + "0gs7401xz23q9vajqr31aa2db8dvssgyh5zrvr4ipa6wig7yb8wh")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target @@ -3342,7 +3385,7 @@ code, used in @code{libtoxcore}.") (define-public gsm (package (name "gsm") - (version "1.0.18") + (version "1.0.19") (source (origin (method url-fetch) @@ -3351,18 +3394,24 @@ code, used in @code{libtoxcore}.") "-" version ".tar.gz")) (sha256 (base32 - "041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4")))) + "1xkha9ss5g5qnfaybi8il0mcvp8knwg9plgh8404vh58d0pna0s9")))) (build-system gnu-build-system) (arguments `(#:test-target "tst" + #:make-flags (list (string-append "INSTALL_ROOT=" %output)) #:phases (modify-phases %standard-phases + (add-after 'unpack 'add-fpic-ccflag + (lambda _ + ;; The -fPIC compiler option is needed when building + ;; mediastreamer. + (substitute* "Makefile" + (("^CCFLAGS.*" all) + (string-append all "CCFLAGS += -fPIC\n"))) + #t)) (add-before 'install 'pre-install (lambda _ (let ((out (assoc-ref %outputs "out"))) - (substitute* "Makefile" - (("INSTALL_ROOT\t=") - (string-append "INSTALL_ROOT\t=\t" out))) (mkdir-p (string-append out "/inc")) (mkdir-p (string-append out "/man")) (mkdir-p (string-append out "/man/man1")) @@ -3881,7 +3930,7 @@ stream to one or more IceCast and/or ShoutCast servers.") (define-public redkite (package (name "redkite") - (version "0.6.2") + (version "0.8.0") (source (origin (method git-fetch) @@ -3891,7 +3940,7 @@ stream to one or more IceCast and/or ShoutCast servers.") (file-name (git-file-name name version)) (sha256 (base32 - "1i874izajbdhlfacwwj84qrsxf7g4y6nblzxalrkzaap9sa7d1r6")))) + "1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no tests included @@ -4159,3 +4208,37 @@ minimum.") `(("librsvg" ,librsvg) ,@(package-inputs ztoolkit))) (synopsis "ZToolkit with SVG support"))) + +(define-public codec2 + (package + (name "codec2") + (version "0.9.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/drowe67/codec2.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1jpvr7bra8srz8jvnlbmhf8andbaavq5v01qjnp2f61za93rzwba")))) + (build-system cmake-build-system) + (native-inputs + `(("bc" ,bc) + ("octave" ,octave) + ("valgrind" ,valgrind))) + (arguments + `(#:tests? #f ; TODO: Fix tests (paths, graphic toolkit, octave modules). + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-test-environment + (lambda _ + (setenv "HOME" "/tmp") + #t))))) + (synopsis "Speech codec") + (description + "Codec 2 is a speech codec designed for communications quality speech +between 700 and 3200 bit/s. The main application is low bandwidth HF/VHF +digital radio.") + (home-page "https://www.rowetel.com/?page_id=452") + (license license:lgpl2.1))) diff --git a/gnu/packages/augeas.scm b/gnu/packages/augeas.scm index fcba5bae7b..b3c4803e04 100644 --- a/gnu/packages/augeas.scm +++ b/gnu/packages/augeas.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,23 +33,23 @@ (define-public augeas (package (name "augeas") - (version "1.11.0") + (version "1.12.0") (source (origin (method url-fetch) (uri (string-append "http://download.augeas.net/augeas-" version ".tar.gz")) (sha256 (base32 - "1c507qj6dfn2dnsl27w94zs9r45xrgm07y8bqba9ry2s0psfhg1r")))) + "11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j")))) (build-system gnu-build-system) - ;; Marked as "required" in augeas.pc + ;; Marked as "required" in augeas.pc. (propagated-inputs `(("libxml2" ,libxml2))) (inputs `(("readline" ,readline))) (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "http://augeas.net/") + (home-page "https://augeas.net") (synopsis "Edit configuration files programmatically") (description "Augeas is a library and command line tool for programmatically editing diff --git a/gnu/packages/aux-files/run-in-namespace.c b/gnu/packages/aux-files/run-in-namespace.c index 551f4db88a..160f7da1c8 100644 --- a/gnu/packages/aux-files/run-in-namespace.c +++ b/gnu/packages/aux-files/run-in-namespace.c @@ -1,5 +1,5 @@ /* GNU Guix --- Functional package management for GNU - Copyright (C) 2018, 2019 Ludovic Courtès <ludo@gnu.org> + Copyright (C) 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> This file is part of GNU Guix. @@ -343,7 +343,13 @@ Please refer to the 'guix pack' documentation for more information.\n"); chdir ("/"); /* avoid EBUSY */ rm_rf (new_root); free (new_root); - exit (status); + + if (WIFEXITED (status)) + exit (WEXITSTATUS (status)); + else + /* Abnormal termination cannot really be reproduced, so exit + with 255. */ + exit (255); } } } diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 4d24dff0a3..d80359f8f1 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> @@ -91,6 +91,7 @@ ("par2cmdline" ,par2cmdline) ("python-pexpect" ,python2-pexpect) ("python-fasteners" ,python2-fasteners) + ("tzdata" ,tzdata-for-tests) ("mock" ,python2-mock))) (propagated-inputs `(("lockfile" ,python2-lockfile) @@ -99,8 +100,7 @@ `(("librsync" ,librsync-0.9) ("lftp" ,lftp) ("gnupg" ,gnupg) ; gpg executable needed - ("util-linux" ,util-linux) ; for setsid - ("tzdata" ,tzdata))) + ("util-linux" ,util-linux))) ; for setsid (arguments `(#:python ,python-2 ; setup assumes Python 2 #:test-target "test" @@ -979,15 +979,25 @@ precious backup space. (define-public burp (package (name "burp") - (version "2.3.20") + (version "2.3.24") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/burp/burp-" version "/burp-" version ".tar.bz2")) (sha256 (base32 - "0dm2y76z7pg17kfv6ahmh4mf2r3pg7mlwd69lvmjwssnd9vs1nn5")))) + "0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'extend-test-time-outs + ;; The defaults are far too low for busy boxes & spinning storage. + (lambda _ + (substitute* (find-files "utest" "\\.c$") + (("(tcase_set_timeout\\(tc_core,)[ 0-9]*(\\);.*)$" _ prefix suffix) + (string-append prefix " 3600" suffix "\n"))) + #t))))) (inputs `(("librsync" ,librsync) ("openssl" ,openssl) diff --git a/gnu/packages/batik.scm b/gnu/packages/batik.scm index cd77c9a12b..c8f4a34c72 100644 --- a/gnu/packages/batik.scm +++ b/gnu/packages/batik.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -198,7 +199,7 @@ SAC is an interface for CSS parsers.") (define-public java-xmlgraphics-commons (package (name "java-xmlgraphics-commons") - (version "2.3") + (version "2.4") (source (origin (method url-fetch) @@ -206,8 +207,7 @@ SAC is an interface for CSS parsers.") "mirror://apache/xmlgraphics/commons/source/xmlgraphics-commons-" version "-src.tar.gz")) (sha256 - (base32 - "0a432a4ca3vgnbada5cy9mlmfzmq6hi4i176drfxrp17q2d43w23")) + (base32 "0zdkngb896cr35jq1v859j2kpqyn6a87k6a893h394hgvnz7yi3v")) (modules '((guix build utils))) (snippet `(begin diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 28522e7c13..b4be8aee15 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com> ;;; @@ -493,6 +493,30 @@ annotations for the genome of the model mouse Mus musculus.") by UCSC (hg19, February 2009) and stored in Biostrings objects.") (license license:artistic2.0))) +(define-public r-bsgenome-hsapiens-ucsc-hg38 + (package + (name "r-bsgenome-hsapiens-ucsc-hg38") + (version "1.4.1") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "BSgenome.Hsapiens.UCSC.hg38" + version 'annotation)) + (sha256 + (base32 + "1ql08pvi4vv0ynvg4qs9kysw1c7s3crkgin6zxvgzqk6fray9mvi")))) + (properties + `((upstream-name . "BSgenome.Hsapiens.UCSC.hg38"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bsgenome" ,r-bsgenome))) + (home-page + "https://www.bioconductor.org/packages/BSgenome.Hsapiens.UCSC.hg38/") + (synopsis "Full genome sequences for Homo sapiens") + (description + "This package provides full genome sequences for Homo sapiens (Human) +as provided by UCSC (hg38, Dec. 2013) and stored in Biostrings objects.") + (license license:artistic2.0))) + (define-public r-ensdb-hsapiens-v75 (package (name "r-ensdb-hsapiens-v75") @@ -718,6 +742,30 @@ annotations.") "This is a manifest package for Illumina's EPIC methylation arrays.") (license license:artistic2.0))) +(define-public r-ideoviz + (package + (name "r-ideoviz") + (version "1.22.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "IdeoViz" version)) + (sha256 + (base32 + "0rsz6dawrx5qdrypxs2hgihmx3kbpdg1y73h876yxccgdlabvzil")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-iranges" ,r-iranges) + ("r-genomicranges" ,r-genomicranges) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rtracklayer" ,r-rtracklayer) + ("r-genomeinfodb" ,r-genomeinfodb))) + (home-page "https://bioconductor.org/packages/IdeoViz/") + (synopsis "Plots data along a chromosomal ideogram") + (description "This package provides functions to plot data associated with +arbitrary genomic intervals along chromosomal ideogram.") + (license license:gpl2))) + ;; This is a CRAN package, but it depends on r-bsgenome-hsapiens-ucsc-hg19 ;; from Bioconductor. (define-public r-deconstructsigs @@ -811,6 +859,32 @@ performing parallel computations on multicore machines.") Disease Ontology.") (license license:artistic2.0))) +(define-public r-pasilla + (package + (name "r-pasilla") + (version "1.14.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://bioconductor.org/packages/release/data/experiment" + "/src/contrib/pasilla_" version ".tar.gz")) + (sha256 + (base32 + "0h124i2fb2lbj2k48zzf1n7ldqa471bs26fbd9vw50299aqx28x0")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocstyle" ,r-biocstyle) + ("r-dexseq" ,r-dexseq) + ("r-knitr" ,r-knitr) + ("r-rmarkdown" ,r-rmarkdown))) + (home-page "https://www.bioconductor.org/packages/pasilla/") + (synopsis "Data package with per-exon and per-gene read counts") + (description "This package provides per-exon and per-gene read counts +computed for selected genes from RNA-seq data that were presented in the +article 'Conservation of an RNA regulatory map between Drosophila and mammals' +by Brooks et al., Genome Research 2011.") + (license license:lgpl2.1+))) + (define-public r-pfam-db (package (name "r-pfam-db") @@ -995,6 +1069,63 @@ examples' of Affymetrix data, unlike the artificial examples included in the package @code{affy}.") (license license:gpl2+))) +(define-public r-coverageview + (package + (name "r-coverageview") + (version "1.24.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "CoverageView" version)) + (sha256 + (base32 + "0s47svs7xnr9jkylq0dxidqrigihdddiprcl0951vjr4w7kmb5nf")))) + (build-system r-build-system) + (propagated-inputs + `(("r-s4vectors" ,r-s4vectors) + ("r-iranges" ,r-iranges) + ("r-genomicranges" ,r-genomicranges) + ("r-genomicalignments" ,r-genomicalignments) + ("r-rtracklayer" ,r-rtracklayer) + ("r-rsamtools" ,r-rsamtools))) + (home-page "https://bioconductor.org/packages/CoverageView/") + (synopsis "Coverage visualization package for R") + (description "This package provides a framework for the visualization of +genome coverage profiles. It can be used for ChIP-seq experiments, but it can +be also used for genome-wide nucleosome positioning experiments or other +experiment types where it is important to have a framework in order to inspect +how the coverage distributed across the genome.") + (license license:artistic2.0))) + +(define-public r-cummerbund + (package + (name "r-cummerbund") + (version "2.28.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "cummeRbund" version)) + (sha256 + (base32 + "1fjc3bcclm4gsvw4nq6cv3a1kbrldvrxbkyfb9306708si1n4dwk")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-fastcluster", r-fastcluster) + ("r-ggplot2" ,r-ggplot2) + ("r-gviz" ,r-gviz) + ("r-plyr" ,r-plyr) + ("r-reshape2" ,r-reshape2) + ("r-rsqlite" ,r-rsqlite) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors))) + (home-page "https://bioconductor.org/packages/cummeRbund/") + (synopsis "Analyze Cufflinks high-throughput sequencing data") + (description "This package allows for persistent storage, access, +exploration, and manipulation of Cufflinks high-throughput sequencing +data. In addition, provides numerous plotting functions for commonly +used visualizations.") + (license license:artistic2.0))) + (define-public r-curatedtcgadata (package (name "r-curatedtcgadata") @@ -1958,14 +2089,14 @@ experiments.") (define-public r-genomicinteractions (package (name "r-genomicinteractions") - (version "1.20.1") + (version "1.20.3") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicInteractions" version)) (sha256 (base32 - "140bp7c8p079xh5wwxmrq3a73pm6mdc9czq5w2gzjml7dgrca38a")))) + "01ps97cs29qvzy5piq2l2k0yyr56rmg5cycfiqhbbvqpjrfvy60g")))) (properties `((upstream-name . "GenomicInteractions"))) (build-system r-build-system) @@ -1986,6 +2117,8 @@ experiments.") ("r-rtracklayer" ,r-rtracklayer) ("r-s4vectors" ,r-s4vectors) ("r-stringr" ,r-stringr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/ComputationalRegulatoryGenomicsICL/GenomicInteractions/") (synopsis "R package for handling genomic interaction data") (description @@ -2311,6 +2444,8 @@ possible, parallelization is achieved using the BiocParallel framework.") ("r-tidyr" ,r-tidyr) ("r-tidyselect" ,r-tidyselect) ("r-vim" ,r-vim))) + (native-inputs + `(("r-nbconvertr" ,r-nbconvertr))) ; for vignettes (home-page "https://bioconductor.org/packages/destiny/") (synopsis "Create and plot diffusion maps") (description "This package provides tools to create and plot diffusion @@ -2529,6 +2664,41 @@ and regression inferences from RNA-sequencing data.") gene and isoform level using RNA-seq data") (license license:artistic2.0))) +(define-public r-karyoploter + (package + (name "r-karyoploter") + (version "1.12.4") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "karyoploteR" version)) + (sha256 + (base32 + "03jmfgmw35hrgn3pc5lq6pblzhfx9fp4l6dx50rp303lr7kjxp9v")))) + (build-system r-build-system) + (propagated-inputs + `(("r-regioner" ,r-regioner) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-rsamtools" ,r-rsamtools) + ("r-memoise" ,r-memoise) + ("r-rtracklayer" ,r-rtracklayer) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-s4vectors" ,r-s4vectors) + ("r-biovizbase" ,r-biovizbase) + ("r-digest" ,r-digest) + ("r-bezier" ,r-bezier) + ("r-bamsignals" ,r-bamsignals) + ("r-annotationdbi" ,r-annotationdbi) + ("r-variantannotation" ,r-variantannotation))) + (home-page "https://bioconductor.org/packages/karyoploteR/") + (synopsis "Plot customizable linear genomes displaying arbitrary data") + (description "This package creates karyotype plots of arbitrary genomes and +offers a complete set of functions to plot arbitrary data on them. It mimicks +many R base graphics functions coupling them with a coordinate change function +automatically mapping the chromosome and data coordinates into the plot +coordinates.") + (license license:artistic2.0))) + (define-public r-lpsymphony (package (name "r-lpsymphony") @@ -3330,14 +3500,14 @@ peak definition in combination with known profile characteristics.") (define-public r-varianttools (package (name "r-varianttools") - (version "1.28.0") + (version "1.28.1") (source (origin (method url-fetch) (uri (bioconductor-uri "VariantTools" version)) (sha256 (base32 - "0aafcprsqbn1xl8jqnxfl8r2d0lmzhssqpr26lam2cprh3yk0xiv")))) + "1x57shc3slcbnc807ra1nwnjr37sqjh04n2xfwd469m4hkjb0jzh")))) (properties `((upstream-name . "VariantTools"))) (build-system r-build-system) (propagated-inputs @@ -3499,8 +3669,8 @@ phenotype of interest.") (synopsis "Fast gene set enrichment analysis") (description "The package implements an algorithm for fast gene set enrichment -analysis. Using the fast algorithm allows to make more permutations and get -more fine grained p-values, which allows to use accurate stantard approaches +analysis. Using the fast algorithm makes more permutations and gets +more fine grained p-values, which allows using accurate standard approaches to multiple hypothesis correction.") (license license:expat))) @@ -3527,6 +3697,8 @@ to multiple hypothesis correction.") ("r-qvalue" ,r-qvalue) ("r-reshape2" ,r-reshape2) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://guangchuangyu.github.io/software/DOSE/") (synopsis "Disease ontology semantic and enrichment analysis") (description @@ -3781,14 +3953,14 @@ provides reporting features.") (define-public r-a4base (package (name "r-a4base") - (version "1.34.0") + (version "1.34.1") (source (origin (method url-fetch) (uri (bioconductor-uri "a4Base" version)) (sha256 (base32 - "0dgqyq4dnlcik5qqygnhxlhfr98sh6kmdcj2qllhrwyk0lmsfk01")))) + "1a0yk05ikk1hr1vpxynydrb5xb1hj4hdqlh9zd13n83ir89dss83")))) (properties `((upstream-name . "a4Base"))) (build-system r-build-system) (propagated-inputs @@ -3897,6 +4069,8 @@ further downstream analysis on its output.") `(("r-biocparallel" ,r-biocparallel) ("r-ellipse" ,r-ellipse) ("r-ggplot2" ,r-ggplot2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/bacon/") (synopsis "Controlling bias and inflation in association studies") (description @@ -3964,6 +4138,78 @@ database (e.g. JASPAR). It can also be used to visualize motifs, motif distributions, modules and filter motifs.") (license license:gpl2))) +(define-public r-motifdb + (package + (name "r-motifdb") + (version "1.28.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "MotifDb" version)) + (sha256 + (base32 "0m5apkjlvdq9yhjdyds3hivfnkbm6f059hy2bkjhalrlhd2si2jc")))) + (properties `((upstream-name . "MotifDb"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-biostrings" ,r-biostrings) + ("r-iranges" ,r-iranges) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-splitstackshape" ,r-splitstackshape))) + (home-page "https://www.bioconductor.org/packages/MotifDb/") + (synopsis "Annotated collection of protein-DNA binding sequence motifs") + (description "This package provides more than 2000 annotated position +frequency matrices from nine public sources, for multiple organisms.") + (license license:artistic2.0))) + +(define-public r-motifbreakr + (package + (name "r-motifbreakr") + (version "2.0.0") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "motifbreakR" version)) + (sha256 + (base32 "190z8gj393qdpq5wz7gph96k0l8c1j9wd0p0llscysvk5kr1hf9n")))) + (properties `((upstream-name . "motifbreakR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-grimport" ,r-grimport) + ("r-stringr" ,r-stringr) + ("r-biocgenerics" ,r-biocgenerics) + ("r-s4vectors" ,r-s4vectors) + ("r-iranges" ,r-iranges) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-biostrings" ,r-biostrings) + ("r-bsgenome" ,r-bsgenome) + ("r-rtracklayer" ,r-rtracklayer) + ("r-variantannotation" ,r-variantannotation) + ("r-biocparallel" ,r-biocparallel) + ("r-motifstack" ,r-motifstack) + ("r-gviz" ,r-gviz) + ("r-matrixstats" ,r-matrixstats) + ("r-tfmpvalue" ,r-tfmpvalue) + ("r-motifdb" ,r-motifdb))) + (home-page "https://www.bioconductor.org/packages/motifbreakR/") + (synopsis "Predicting disruptiveness of single nucleotide polymorphisms") + (description "This package allows biologists to judge in the first place +whether the sequence surrounding the polymorphism is a good match, and in +the second place how much information is gained or lost in one allele of +the polymorphism relative to another. This package gives a choice of +algorithms for interrogation of genomes with motifs from public sources: +@enumerate +@item a weighted-sum probability matrix; +@item log-probabilities; +@item weighted by relative entropy. +@end enumerate + +This package can predict effects for novel or previously described variants in +public databases, making it suitable for tasks beyond the scope of its original +design. Lastly, it can be used to interrogate any genome curated within +Bioconductor.") + (license license:gpl2+))) + (define-public r-motifstack (package (name "r-motifstack") @@ -4030,14 +4276,14 @@ position-specific scores within R and Bioconductor.") (define-public r-atacseqqc (package (name "r-atacseqqc") - (version "1.10.3") + (version "1.10.4") (source (origin (method url-fetch) (uri (bioconductor-uri "ATACseqQC" version)) (sha256 (base32 - "18zf90iksglbs13cwr4jjwsv332a19lf4bpdmy69jz8bpwrklv22")))) + "1g07ni134cyl3jd9y19afip39kxddfgpm1jjm0rhrm7jgssp24in")))) (properties `((upstream-name . "ATACseqQC"))) (build-system r-build-system) (propagated-inputs @@ -4077,14 +4323,14 @@ footprints.") (define-public r-gofuncr (package (name "r-gofuncr") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GOfuncR" version)) (sha256 (base32 - "0hmi13pz923fm95asys615rih63b1i2nvynfczr1zcsc9fzn4h35")))) + "1wk7ja6f5il8jx8v05ijzcs9pijp3b953h566ya66xp7dz5jg9rb")))) (properties `((upstream-name . "GOfuncR"))) (build-system r-build-system) (propagated-inputs @@ -4095,6 +4341,8 @@ footprints.") ("r-mapplots" ,r-mapplots) ("r-rcpp" ,r-rcpp) ("r-vioplot" ,r-vioplot))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/GOfuncR/") (synopsis "Gene ontology enrichment using FUNC") (description @@ -4267,7 +4515,7 @@ investigation using RNA-seq data.") (home-page "https://bioconductor.org/packages/AUCell/") (synopsis "Analysis of gene set activity in single-cell RNA-seq data") (description - "AUCell allows to identify cells with active gene sets (e.g. signatures, + "AUCell identifies cells with active gene sets (e.g. signatures, gene modules, etc) in single-cell RNA-seq data. AUCell uses the @dfn{Area Under the Curve} (AUC) to calculate whether a critical subset of the input gene set is enriched within the expressed genes for each cell. The @@ -5829,14 +6077,14 @@ sequential way to mimic the manual gating strategy.") (define-public r-cytoml (package (name "r-cytoml") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (bioconductor-uri "CytoML" version)) (sha256 (base32 - "0m8x18wkvis85cawv7j07pk59w76wnzy93ia99gd24j82z4h97p1")))) + "0wgi8rwb4spxzd5xvs5amfr5g82ny2nad57j3nmhnhnj1cpirjxz")))) (properties `((upstream-name . "CytoML"))) (build-system r-build-system) (inputs @@ -5866,6 +6114,8 @@ sequential way to mimic the manual gating strategy.") ("r-runit" ,r-runit) ("r-xml" ,r-xml) ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/RGLab/CytoML") (synopsis "GatingML interface for cross platform cytometry data sharing") (description @@ -5906,14 +6156,14 @@ self-organizing map clustering and minimal spanning trees.") (define-public r-mixomics (package (name "r-mixomics") - (version "6.10.8") + (version "6.10.9") (source (origin (method url-fetch) (uri (bioconductor-uri "mixOmics" version)) (sha256 (base32 - "0307vhx9ck24rxqbvq15815ssxcc226sl2la060n204b51wi9jaa")))) + "0b457yg8mwqlrn5l344w8qcj8v2ghlj1wdx1ysxbncqvqx7nvgig")))) (properties `((upstream-name . "mixOmics"))) (build-system r-build-system) (propagated-inputs @@ -5930,6 +6180,8 @@ self-organizing map clustering and minimal spanning trees.") ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-reshape2" ,r-reshape2) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "http://www.mixOmics.org") (synopsis "Multivariate methods for exploration of biological datasets") (description @@ -6354,6 +6606,44 @@ and parameters of which are trained on a set of aligned reads and a reference genome sequence.") (license license:lgpl3))) +(define-public r-snplocs-hsapiens-dbsnp144-grch37 + (package + (name "r-snplocs-hsapiens-dbsnp144-grch37") + (version "0.99.20") + (source (origin + (method url-fetch) + (uri (bioconductor-uri "SNPlocs.Hsapiens.dbSNP144.GRCh37" + version 'annotation)) + (sha256 + (base32 + "1z8kx43ki1jvj7ms7pcybakcdimfwr6zpjvspkjmma97bdz093iz")))) + (build-system r-build-system) + ;; As this package provides little more than a very large data file it + ;; doesn't make sense to build substitutes. + (arguments `(#:substitutable? #f)) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-s4vectors" ,r-s4vectors) + ("r-iranges" ,r-iranges) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-bsgenome" ,r-bsgenome) + ("r-biostrings" ,r-biostrings))) + (home-page + "https://bioconductor.org/packages/SNPlocs.Hsapiens.dbSNP144.GRCh37/") + (synopsis "SNP locations for Homo sapiens (dbSNP Build 144)") + (description "This package provides SNP locations and alleles for Homo +sapiens extracted from NCBI dbSNP Build 144. The source data files used for +this package were created by NCBI on May 29-30, 2015, and contain SNPs mapped +to reference genome GRCh37.p13. Note that the GRCh37.p13 genome is a +patched version of GRCh37. However the patch doesn't alter chromosomes 1-22, +X, Y, MT. GRCh37 itself is the same as the hg19 genome from UCSC *except* for +the mitochondrion chromosome. Therefore, the SNPs in this package can be +injected in @code{BSgenome.Hsapiens.UCSC.hg19} and they will land at the +correct position but this injection will exclude chrM (i.e. nothing will be +injected in that sequence).") + (license license:artistic2.0))) + (define-public r-reqon (package (name "r-reqon") @@ -6418,7 +6708,7 @@ parametric mixture model. The protein binding sites (clusters) are then resolved at high resolution and cluster statistics are estimated using a rigorous Bayesian framework. Post-processing of the results, data export for UCSC genome browser visualization and motif search analysis are provided. In -addition, the package allows to integrate RNA-Seq data to estimate the False +addition, the package integrates RNA-Seq data to estimate the False Discovery Rate of cluster detection. Key functions support parallel multicore computing. While wavClusteR was designed for PAR-CLIP data analysis, it can be applied to the analysis of other NGS data obtained from experimental @@ -6725,6 +7015,8 @@ using whole genome sequencing data.") `(("r-data-table" ,r-data-table) ("r-ggplot2" ,r-ggplot2) ("r-metap" ,r-metap))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/ActivePathways/") (synopsis "Multivariate pathway enrichment analysis") (description @@ -7097,6 +7389,8 @@ structures.") ("r-rjson" ,r-rjson) ("r-rsqlite" ,r-rsqlite) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/TylerBackman/bioassayR") (synopsis "Cross-target analysis of small molecule bioactivity") (description @@ -7490,14 +7784,14 @@ accessing web references for elements/sets are also available in BiocSet.") (define-public r-biocworkflowtools (package (name "r-biocworkflowtools") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocWorkflowTools" version)) (sha256 (base32 - "1v4bhnpdkmllm7aghms9b7369hkrgz7mn69wbrqg1x42pgkf30ad")))) + "0z28s572wg9qxv52dmixxz1xf1z3fyp2j7kzk0k32fp628918wr6")))) (properties `((upstream-name . "BiocWorkflowTools"))) (build-system r-build-system) @@ -7511,6 +7805,8 @@ accessing web references for elements/sets are also available in BiocSet.") ("r-rstudioapi" ,r-rstudioapi) ("r-stringr" ,r-stringr) ("r-usethis" ,r-usethis))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/BiocWorkflowTools/") (synopsis "Tools to aid the development of Bioconductor Workflow packages") (description diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index da3fe1d2c9..f90a0bf90c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016 Roel Janssen <roel@gnu.org> +;;; Copyright © 2016, 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com> @@ -16,6 +16,7 @@ ;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2333,6 +2334,62 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.") files. The code was previously part of the cutadapt tool.") (license license:expat))) +(define-public python-deeptoolsintervals + (package + (name "python-deeptoolsintervals") + (version "0.1.9") + (source (origin + (method url-fetch) + (uri (pypi-uri "deeptoolsintervals" version)) + (sha256 + (base32 + "1xnl80nblysj6dylj4683wgrfa425rkx4dp5k65hvwdns9pw753x")))) + (build-system python-build-system) + (inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/deeptools/deeptools_intervals") + (synopsis "Create GTF-based interval trees with associated meta-data") + (description + "This package provides a Python module creating/accessing GTF-based +interval trees with associated meta-data. It is primarily used by the +@code{deeptools} package.") + (license license:expat))) + +(define-public python-deeptools + (package + (name "python-deeptools") + (version "3.4.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "deepTools" version)) + (sha256 + (base32 + "1azgjniss5ff6a90nicdjkxyjwqmi3gzfn09gra42hwlz19hipxb")))) + (build-system python-build-system) + (propagated-inputs + `(("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy) + ("python-numpydoc" ,python-numpydoc) + ("python-py2bit" ,python-py2bit) + ("python-pybigwig" ,python-pybigwig) + ("python-pysam" ,python-pysam) + ("python-scipy" ,python-scipy) + ("python-deeptoolsintervals" ,python-deeptoolsintervals) + ("python-plotly" ,python-plotly))) + (home-page "https://pypi.org/project/deepTools/") + (synopsis "Useful tools for exploring deep sequencing data") + (description "This package addresses the challenge of handling large amounts +of data that are now routinely generated from DNA sequencing centers. +@code{deepTools} contains useful modules to process the mapped reads data for +multiple quality checks, creating normalized coverage files in standard bedGraph +and bigWig file formats, that allow comparison between different files. Finally, +using such normalized and standardized files, deepTools can create many +publication-ready visualizations to identify enrichments and for functional +annotations of the genome.") + ;; The file deeptools/cm.py is licensed under the BSD license. The + ;; remainder of the code is licensed under the MIT license. + (license (list license:bsd-3 license:expat)))) + (define-public cutadapt (package (name "cutadapt") @@ -2398,13 +2455,13 @@ files.") (define-public python-pybigwig (package (name "python-pybigwig") - (version "0.3.12") + (version "0.3.17") (source (origin (method url-fetch) (uri (pypi-uri "pyBigWig" version)) (sha256 (base32 - "00w4kfnm2c5l7wdwr2nj1z5djv8kzgf7h1zhsgv6njff1rwr26g0")) + "157x6v48y299zm382krf1dw08fdxg95im8lnabhp5vc94s04zxj1")) (modules '((guix build utils))) (snippet '(begin @@ -7501,13 +7558,13 @@ checks on R packages that are to be submitted to the Bioconductor repository.") (define-public r-s4vectors (package (name "r-s4vectors") - (version "0.24.3") + (version "0.24.4") (source (origin (method url-fetch) (uri (bioconductor-uri "S4Vectors" version)) (sha256 (base32 - "01f7dms4kw9ajwqlvh5s47riv748xrrs41na03byhjvn4fbdc44y")))) + "1fzs8j2d3wwfzm2fq63ywf68a4dbggyl5l098f148yn4jw7jd3bc")))) (properties `((upstream-name . "S4Vectors"))) (build-system r-build-system) @@ -7580,13 +7637,13 @@ ID and species. It is used by functions in the GenomeInfoDb package.") (define-public r-genomeinfodb (package (name "r-genomeinfodb") - (version "1.22.0") + (version "1.22.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomeInfoDb" version)) (sha256 (base32 - "07zljs2mfi8rf31g903f43v2f7767xbnflfrx9qjnmgf7bm039x0")))) + "0phadr67yb4l25x41a9wg4pjy1wbxlk14jhidhz6g5n4z6x45qbm")))) (properties `((upstream-name . "GenomeInfoDb"))) (build-system r-build-system) @@ -7596,6 +7653,8 @@ ID and species. It is used by functions in the GenomeInfoDb package.") ("r-iranges" ,r-iranges) ("r-rcurl" ,r-rcurl) ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/GenomeInfoDb") (synopsis "Utilities for manipulating chromosome identifiers") (description @@ -7808,13 +7867,13 @@ annotation data packages using SQLite data storage.") (define-public r-biomart (package (name "r-biomart") - (version "2.42.0") + (version "2.42.1") (source (origin (method url-fetch) (uri (bioconductor-uri "biomaRt" version)) (sha256 (base32 - "0difh4dsccjzhpfkvajy2adh98ym9164gd6clnsnic6qr6sk86ss")))) + "0676s8aq9xj2pdrfk28kf5j69fmssn900k4vxrp11ghwjr8z24h7")))) (properties `((upstream-name . "biomaRt"))) (build-system r-build-system) @@ -7827,6 +7886,8 @@ annotation data packages using SQLite data storage.") ("r-rappdirs" ,r-rappdirs) ("r-stringr" ,r-stringr) ("r-xml" ,r-xml))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/biomaRt") (synopsis "Interface to BioMart databases") (description @@ -7939,13 +8000,13 @@ tab-delimited (tabix) files.") (define-public r-delayedarray (package (name "r-delayedarray") - (version "0.12.2") + (version "0.12.3") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedArray" version)) (sha256 (base32 - "09lackgix5jpm16k0mz2zkibflfb4wzidbz4q32mlxmklf40037q")))) + "02i88ll2d7r83nk0wdj28akvsz3jq19g6ixpaahfy3jy5av4byv6")))) (properties `((upstream-name . "DelayedArray"))) (build-system r-build-system) @@ -7956,6 +8017,8 @@ tab-delimited (tabix) files.") ("r-iranges" ,r-iranges) ("r-matrix" ,r-matrix) ("r-matrixstats" ,r-matrixstats))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://bioconductor.org/packages/DelayedArray") (synopsis "Delayed operations on array-like objects") (description @@ -8396,7 +8459,7 @@ system. It is used to analyze experimental crosses for identifying genes contributing to variation in quantitative traits (so-called quantitative trait loci, QTLs). -Using a hidden Markov model, R/qtl allows to estimate genetic maps, to +Using a hidden Markov model, R/qtl estimates genetic maps, to identify genotyping errors, and to perform single-QTL and two-QTL, two-dimensional genome scans.") (license license:gpl3))) @@ -8527,7 +8590,7 @@ of other R packages who wish to make use of HTSlib.") (home-page "https://bioconductor.org/packages/bamsignals") (synopsis "Extract read count signals from bam files") (description - "This package allows to efficiently obtain count vectors from indexed bam + "This package efficiently obtains count vectors from indexed bam files. It counts the number of nucleotide sequence reads in given genomic ranges and it computes reads profiles and coverage profiles. It also handles paired-end data.") @@ -9095,6 +9158,46 @@ samples into a single report. It contains modules for a large number of common bioinformatics tools.") (license license:gpl3+))) +(define-public variant-tools + (package + (name "variant-tools") + (version "3.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vatlab/varianttools.git") + ;; There is no tag corresponding to version 3.1.2 + (commit "813ae4a90d25b69abc8a40f4f70441fe09015249"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12ibdmksj7icyqhks4xyvd61bygk4pjmxn618kp6vgk1af01y34g")))) + (build-system python-build-system) + (inputs + `(("boost" ,boost) + ("c-blosc" ,c-blosc) + ("gsl" ,gsl) + ("hdf5" ,hdf5) + ("hdf5-blosc" ,hdf5-blosc) + ("python-cython" ,python-cython) + ("zlib" ,zlib))) + (propagated-inputs + `(("python-numpy" ,python-numpy) + ("python-pycurl" ,python-pycurl) + ("python-pyzmq" ,python-pyzmq) + ("python-scipy" ,python-scipy) + ("python-tables" ,python-tables))) + (home-page "https://vatlab.github.io/vat-docs/") + (synopsis "Analyze genetic variants from Next-Gen sequencing studies") + (description + "Variant tools is a tool for the manipulation, annotation, +selection, simulation, and analysis of variants in the context of next-gen +sequencing analysis. Unlike some other tools used for next-gen sequencing +analysis, variant tools is project based and provides a whole set of tools to +manipulate and analyze genetic variants.") + (license license:gpl3+))) + (define-public r-chipseq (package (name "r-chipseq") @@ -9653,13 +9756,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.") (define-public r-seurat (package (name "r-seurat") - (version "3.1.4") + (version "3.1.5") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "0lhjbjhv1hnx5i3gkx41k68i8ykay3f24708h30wx9xywww9lsvi")))) + "1lbq2pqhb6ih6iqawlnzdh05zff71pwbw1cpfv2sld3pd7kz0zkm")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs @@ -9681,7 +9784,6 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.") ("r-lmtest" ,r-lmtest) ("r-mass" ,r-mass) ("r-matrix" ,r-matrix) - ("r-metap" ,r-metap) ("r-patchwork" ,r-patchwork) ("r-pbapply" ,r-pbapply) ("r-plotly" ,r-plotly) @@ -10627,14 +10729,14 @@ provided.") (define-public r-hdf5array (package (name "r-hdf5array") - (version "1.14.3") + (version "1.14.4") (source (origin (method url-fetch) (uri (bioconductor-uri "HDF5Array" version)) (sha256 (base32 - "1z153a7nxmlml72pl1saasj2il9g5ahpynkpv3mkhhsvl5kbwbh6")))) + "0ib0grhd9zbrn0dkrm4aa7qj7h0y6z1dvyx1ab3w6vczw7xghsfb")))) (properties `((upstream-name . "HDF5Array"))) (build-system r-build-system) (inputs @@ -12763,7 +12865,7 @@ expression report comparing samples in an easily configurable manner.") (define-public pigx-chipseq (package (name "pigx-chipseq") - (version "0.0.41") + (version "0.0.42") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/" @@ -12771,7 +12873,7 @@ expression report comparing samples in an easily configurable manner.") "/pigx_chipseq-" version ".tar.gz")) (sha256 (base32 - "0akbxdmsjsq5fzbwaap04hqjpsfgv1l6yrc2pwgbya1xgqvcq6vy")))) + "0xbvgqpk32a8iczhvac56cacr46rdkqb0allhhpvmj940idf72bi")))) (build-system gnu-build-system) ;; parts of the tests rely on access to the network (arguments '(#:tests? #f)) @@ -13144,7 +13246,7 @@ version does count multisplits.") (define-public minimap2 (package (name "minimap2") - (version "2.10") + (version "2.17") (source (origin (method url-fetch) @@ -13153,7 +13255,7 @@ version does count multisplits.") "minimap2-" version ".tar.bz2")) (sha256 (base32 - "080w9066irkbhbyr4nmf19pzkdd2s4v31hpzlajgq2y0drr6zcsj")))) + "0hi7i9pzxhvjj44khzzzj1lrn5gb5837arr4wgln7k1k5n4ci2mn")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are none @@ -13167,7 +13269,7 @@ version does count multisplits.") ((or (string-prefix? "armhf" system) (string-prefix? "aarch64" system)) "arm_neon=1") - (_ "sse2only=1")))) + (else "sse2only=1")))) #:phases (modify-phases %standard-phases (delete 'configure) @@ -13358,14 +13460,14 @@ in RNA-seq data.") (define-public python-scanpy (package (name "python-scanpy") - (version "1.4.5.1") + (version "1.4.6") (source (origin (method url-fetch) (uri (pypi-uri "scanpy" version)) (sha256 (base32 - "14kh1ji70xxhmri5q8sgcibsidhr6f221wxrcw8a5xvibj5da17j")))) + "0s2b6cvaigx4wzw3850qb93sjwwxbzh22kpbp498zklc5rjpbz4l")))) (build-system python-build-system) (arguments `(#:phases @@ -13375,6 +13477,7 @@ in RNA-seq data.") ;; These tests require Internet access. (delete-file-recursively "scanpy/tests/notebooks") (delete-file "scanpy/tests/test_clustering.py") + (delete-file "scanpy/tests/test_datasets.py") ;; TODO: I can't get the plotting tests to work, even with Xvfb. (delete-file "scanpy/tests/test_plotting.py") @@ -13391,8 +13494,8 @@ in RNA-seq data.") ("python-h5py" ,python-h5py) ("python-igraph" ,python-igraph) ("python-joblib" ,python-joblib) - ("python-louvain" ,python-louvain) ("python-legacy-api-wrap" ,python-legacy-api-wrap) + ("python-louvain" ,python-louvain) ("python-matplotlib" ,python-matplotlib) ("python-natsort" ,python-natsort) ("python-networkx" ,python-networkx) @@ -13405,6 +13508,7 @@ in RNA-seq data.") ("python-seaborn" ,python-seaborn) ("python-statsmodels" ,python-statsmodels) ("python-tables" ,python-tables) + ("python-tqdm" ,python-tqdm) ("python-umap-learn" ,python-umap-learn))) (native-inputs `(("python-pytest" ,python-pytest) @@ -13548,17 +13652,27 @@ allowing the insertion of arbitrary types into the tree.") (define-public python-intervaltree (package (name "python-intervaltree") - (version "2.1.0") + (version "3.0.2") (source (origin (method url-fetch) (uri (pypi-uri "intervaltree" version)) (sha256 (base32 - "02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc")))) + "0wz234g6irlm4hivs2qzmnywk0ss06ckagwh15nflkyb3p462kyb")))) (build-system python-build-system) - ;; FIXME: error when collecting tests - (arguments '(#:tests? #f)) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; pytest seems to have a check to make sure the user is testing + ;; their checked-out code and not an installed, potentially + ;; out-of-date copy. This is harmless here, since we just installed + ;; the package, so we disable the check to avoid skipping tests + ;; entirely. + (add-before 'check 'import-mismatch-error-workaround + (lambda _ + (setenv "PY_IGNORE_IMPORTMISMATCH" "1") + #t))))) (propagated-inputs `(("python-sortedcontainers" ,python-sortedcontainers))) (native-inputs @@ -13624,32 +13738,34 @@ fasta subsequences.") (define-public python-cooler (package (name "python-cooler") - (version "0.7.11") + (version "0.8.7") (source (origin (method url-fetch) (uri (pypi-uri "cooler" version)) (sha256 (base32 - "08k5nxnxa6qsbk15z5z0q01n28042k87wi4905hh95rzqib15mhx")))) + "01g6gqix9ba27sappz6nfyiwabzrlf8i5fn8kwcz8ra356cq9crp")))) (build-system python-build-system) (propagated-inputs - `(("python-biopython" ,python-biopython) + `(("python-asciitree" ,python-asciitree) + ("python-biopython" ,python-biopython) ("python-click" ,python-click) ("python-cytoolz" ,python-cytoolz) ("python-dask" ,python-dask) ("python-h5py" ,python-h5py) ("python-multiprocess" ,python-multiprocess) + ("python-numpy" ,python-numpy) ("python-pandas" ,python-pandas) ("python-pyfaidx" ,python-pyfaidx) ("python-pypairix" ,python-pypairix) ("python-pysam" ,python-pysam) - ("python-scipy" ,python-scipy))) + ("python-pyyaml" ,python-pyyaml) + ("python-scipy" ,python-scipy) + ("python-simplejson" ,python-simplejson))) (native-inputs `(("python-mock" ,python-mock) - ("python-nose" ,python-nose) - ("python-numpydoc" ,python-numpydoc) - ("python-sphinx" ,python-sphinx))) + ("python-pytest" ,python-pytest))) (home-page "https://github.com/mirnylab/cooler") (synopsis "Sparse binary format for genomic interaction matrices") (description @@ -13658,6 +13774,46 @@ storage format, called @code{cool}, used to store genomic interaction data, such as Hi-C contact matrices.") (license license:bsd-3))) +(define-public python-hicmatrix + (package + (name "python-hicmatrix") + (version "12") + (source + (origin + ;; Version 12 is not available on pypi. + (method git-fetch) + (uri (git-reference + (url "https://github.com/deeptools/HiCMatrix.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xhdyx16f3brgxgxybixdi64ki8nbbkq5vk4h9ahi11pzpjfn1pj")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* '("requirements.txt" + "setup.py") + (("cooler *=+ *0.8.5") + "cooler==0.8.*")) + #t))))) + (propagated-inputs + `(("python-cooler" ,python-cooler) + ("python-intervaltree" ,python-intervaltree) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-scipy" ,python-scipy) + ("python-tables" ,python-tables))) + (home-page "https://github.com/deeptools/HiCMatrix/") + (synopsis "HiCMatrix class for HiCExplorer and pyGenomeTracks") + (description + "This helper package implements the @code{HiCMatrix} class for +the HiCExplorer and pyGenomeTracks packages.") + (license license:gpl3+))) + (define-public python-hicexplorer (package (name "python-hicexplorer") @@ -13714,23 +13870,35 @@ genomic scores), long range contacts and the visualization of viewpoints.") (define-public python-pygenometracks (package (name "python-pygenometracks") - (version "2.0") + (version "3.3") (source (origin (method url-fetch) (uri (pypi-uri "pyGenomeTracks" version)) (sha256 (base32 - "1fws6bqsyy9kj3qiabhkqx4wd4i775gsxnhszqd3zg7w67sc1ic5")))) + "16laa0wnf4qn9fb9ych4w1vqhqwjss70v0y0f6wp4gwqfrlgac0f")))) (build-system python-build-system) + (arguments + `(#:tests? #f ; there are none + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + (("matplotlib ==3.1.1") + "matplotlib >=3.1.1")) + #t))))) (propagated-inputs - `(("python-configparser" ,python-configparser) - ("python-future" ,python-future) - ("python-hicexplorer" ,python-hicexplorer) + `(("python-future" ,python-future) + ("python-gffutils" ,python-gffutils) + ("python-hicmatrix" ,python-hicmatrix) ("python-intervaltree" ,python-intervaltree) ("python-matplotlib" ,python-matplotlib) ("python-numpy" ,python-numpy) - ("python-pybigwig" ,python-pybigwig))) + ("python-pybigwig" ,python-pybigwig) + ("python-pysam" ,python-pysam) + ("python-tqdm" ,python-tqdm))) (native-inputs `(("python-pytest" ,python-pytest))) (home-page "https://pygenometracks.readthedocs.io") diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 0f63c3d0f2..03c7fe4515 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -94,10 +94,13 @@ (string-append gui "/bin/transmission-gtk")) - ;; Move the '.desktop' file as well. + ;; Move the '.desktop' and icon files as well. (mkdir (string-append gui "/share")) - (rename-file (string-append out "/share/applications") - (string-append gui "/share/applications"))) + (for-each + (lambda (dir) + (rename-file (string-append out "/share/" dir) + (string-append gui "/share/" dir))) + '("applications" "icons" "pixmaps"))) #t))))) (inputs `(("inotify-tools" ,inotify-tools) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index cadcc937e1..666562762f 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -11,6 +11,8 @@ ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian <vagrant@debian.org> +;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -399,7 +401,7 @@ tree binary files. These are board description files used by Linux and BSD.") (define u-boot (package (name "u-boot") - (version "2020.01") + (version "2020.04") (source (origin (method url-fetch) (uri (string-append @@ -407,7 +409,7 @@ tree binary files. These are board description files used by Linux and BSD.") "u-boot-" version ".tar.bz2")) (sha256 (base32 - "1w9ml4jl15q6ixpdqzspxjnl7d3rgxd7f99ms1xv5c8869h3qida")))) + "0wjkasnz87q86hx93inspdjfjsinmxi87bcvj30c773x0fpjlwzy")))) (native-inputs `(("bc" ,bc) ("bison" ,bison) @@ -418,7 +420,7 @@ tree binary files. These are board description files used by Linux and BSD.") ("python" ,python) ("python-coverage" ,python-coverage) ("python-pytest" ,python-pytest) - ("sdl" ,sdl) + ("sdl2" ,sdl2) ("swig" ,swig))) (build-system gnu-build-system) (home-page "https://www.denx.de/wiki/U-Boot/") @@ -834,6 +836,35 @@ to Novena upstream, does not load u-boot.img from the first partition.") `(("firmware" ,arm-trusted-firmware-rk3399) ,@(package-native-inputs base)))))) +(define-public u-boot-pinebook-pro-rk3399 + (let ((base (make-u-boot-package "pinebook-pro-rk3399" "aarch64-linux-gnu"))) + (package + (inherit base) + (source (origin + (inherit (package-source u-boot)) + (patches + (search-patches "u-boot-add-boe-nv140fhmn49-display.patch" + "u-boot-gpio-keys-binding-cons.patch" + "u-boot-leds-common-binding-con.patch" + "u-boot-DT-for-Pinebook-Pro.patch" + "u-boot-support-Pinebook-Pro-laptop.patch" + "u-boot-video-rockchip-fix-build.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments base) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'set-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "BL31" (string-append (assoc-ref inputs "firmware") + "/bl31.elf")) + #t)) + ;; Phases do not succeed on the bl31 ELF. + (delete 'strip) + (delete 'validate-runpath))))) + (native-inputs + `(("firmware" ,arm-trusted-firmware-rk3399) + ,@(package-native-inputs base)))))) + (define-public vboot-utils (package (name "vboot-utils") diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 8cfd26fec0..d27c951d43 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org> -;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> @@ -103,8 +103,8 @@ generate such a compilation database.") (license license:gpl3+))) (define-public gn - (let ((commit "6e5ba2e7210823cf7ccce3eb2a23336a4e7f1349") - (revision "1666")) ;as returned by `git describe`, used below + (let ((commit "ec938ddaa276646eb8f1ab33e160c156011d8217") + (revision "1736")) ;as returned by `git describe`, used below (package (name "gn") (version (git-version "0.0" revision commit)) @@ -114,7 +114,7 @@ generate such a compilation database.") (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "157ax65sixjm0i1j89wvny48v1mbsl4pbvv5vqinjc6r0fryaf2r")) + "0j1qjwp2biw12s6npzpx4z8nvih7pyn68q6cz2k4700bk9y0d574")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -135,8 +135,10 @@ generate such a compilation database.") (call-with-output-file "out/last_commit_position.h" (lambda (port) (format port - "#define LAST_COMMIT_POSITION \"~a (~a)\"\n" - ,revision ,(string-take commit 8)) + (string-append + "#define LAST_COMMIT_POSITION_NUM ~a\n" + "#define LAST_COMMIT_POSITION \"~a (~a)\"\n") + ,revision ,revision ,(string-take commit 8)) #t)))) (replace 'build (lambda _ diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm index 05e3907da6..d807c15d68 100644 --- a/gnu/packages/calcurse.scm +++ b/gnu/packages/calcurse.scm @@ -59,7 +59,7 @@ (lambda _ (substitute* "doc/Makefile.in" (("(docdir =) .*" _ match) - (format "~a @docdir@\n" match))) + (format #f "~a @docdir@\n" match))) #t)) (add-before 'check 'check-setup (lambda* (#:key inputs #:allow-other-keys) diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index bd47800d1d..81b2b436c1 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -180,7 +180,17 @@ data units.") (uri (pypi-uri "khal" version)) (sha256 (base32 - "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")))) + "1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l")) + (patches + (list + (origin + (method url-fetch) + ;; This patch fixes an issue with python-urwid-2.1.0 + (uri "https://github.com/pimutils/khal/commit/2c5990c2de2015b251ba23617faa40ee11b8c22a.patch") + (file-name "khal-compat-urwid-2.1.0.patch") + (sha256 + (base32 + "11nd8hkjz68imwqqn0p54zmb53z2pfxmzchaviy7jc1ky5s9l663"))))))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -213,9 +223,8 @@ data units.") ("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed) ("python-sphinx" ,python-sphinx))) (inputs - `(("sqlite" ,sqlite))) - (propagated-inputs - `(("python-configobj" ,python-configobj) + `(("sqlite" ,sqlite) + ("python-configobj" ,python-configobj) ("python-dateutil" ,python-dateutil) ("python-icalendar" ,python-icalendar) ("python-tzlocal" ,python-tzlocal) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index d6127d11f9..a2f1121b1a 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> @@ -66,6 +66,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages image) #:use-module (gnu packages photo) + #:use-module (gnu packages tcl) #:use-module (gnu packages video) #:use-module (gnu packages wget) #:use-module (gnu packages xiph)) @@ -156,6 +157,7 @@ libcdio.") (package (name "xorriso") (version "1.5.2") + (outputs '("out" "gui")) (source (origin (method url-fetch) (uri (string-append "mirror://gnu/xorriso/xorriso-" @@ -172,10 +174,26 @@ libcdio.") (let* ((out (assoc-ref outputs "out")) (out-bin (string-append out "/bin"))) (install-file "frontend/grub-mkrescue-sed.sh" out-bin) + #t))) + (add-after 'install 'move-gui-to-separate-output + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui"))) + (for-each + (lambda (file) + (mkdir-p (string-append gui (dirname file))) + (rename-file (string-append out file) + (string-append gui file))) + (list "/bin/xorriso-tcltk" + "/share/info/xorriso-tcltk.info" + "/share/man/man1/xorriso-tcltk.1")) + (wrap-program (string-append gui "/bin/xorriso-tcltk") + `("PATH" ":" prefix (,(string-append out "/bin")))) #t)))))) (inputs `(("acl" ,acl) ("readline" ,readline) + ("tk" ,tk) ("zlib" ,zlib))) (home-page "https://www.gnu.org/software/xorriso/") (synopsis "Create, manipulate, burn ISO-9660 file systems") @@ -466,7 +484,7 @@ capacity is user-selectable.") ("flex" ,flex) ("python" ,python-2) ("xmlto" ,xmlto) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("docbook-xml" ,docbook-xml) ("docbook-xsl" ,docbook-xsl) ("zip" ,zip))) diff --git a/gnu/packages/cedille.scm b/gnu/packages/cedille.scm index d9cf66c501..d3dd576323 100644 --- a/gnu/packages/cedille.scm +++ b/gnu/packages/cedille.scm @@ -51,17 +51,24 @@ (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-cedille-path-el + (add-after 'unpack 'patch-cedille-paths (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "cedille-mode.el" (("/usr/share/emacs/site-lisp/cedille-mode") - (string-append out "/share/emacs/site-lisp"))) + (string-append + out "/share/emacs/site-lisp/cedille"))) + (substitute* "cedille-mode/cedille-mode-info.el" + (("\\(concat cedille-path-el \"cedille-info-main.info\"\\)") + (string-append + "\"" out "/share/info/cedille-info-main.info.gz\""))) #t))) - (add-after 'unpack 'copy-cedille-mode + (add-after 'patch-cedille-paths 'copy-cedille-mode (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (lisp (string-append out "/share/emacs/site-lisp"))) + (lisp + (string-append + out "/share/emacs/site-lisp/cedille/"))) (mkdir-p (string-append lisp "cedille-mode")) (copy-recursively "cedille-mode" @@ -104,6 +111,8 @@ (install-file "cedille" (string-append out "/bin")) (install-file "core/cedille-core" (string-append out "/bin")) + (install-file "docs/info/cedille-info-main.info" + (string-append out "/share/info")) #t)))))) (home-page "https://cedille.github.io/") (synopsis diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 1b60b99ce1..5f3073d556 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> +;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -580,14 +581,14 @@ but it works for any C/C++ project.") (define-public python-parameterized (package (name "python-parameterized") - (version "0.7.1") + (version "0.7.3") (source (origin (method url-fetch) (uri (pypi-uri "parameterized" version)) (sha256 (base32 - "1vapry9lyfb2mlpgk2wh9079hzxzq5120bsczncxxay663mdp53a")))) + "0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -1007,17 +1008,26 @@ result back.") (define-public python-pytest-timeout (package (name "python-pytest-timeout") - (version "1.3.3") + (version "1.3.4") (source (origin (method url-fetch) (uri (pypi-uri "pytest-timeout" version)) (sha256 (base32 - "1cczcjhw4xx5sjkhxlhc5c1bkr7x6fcyx12wrnvwfckshdvblc2a")))) + "13n42azbvs5slvy2n1a9nw17r4qdq10dd68nln3jp925safa3yl0")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Make the installed plugin discoverable by Pytest. + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv")))))) (propagated-inputs `(("python-pytest" ,python-pytest))) + (native-inputs + `(("python-pexpect" ,python-pexpect))) (home-page "http://bitbucket.org/pytest-dev/pytest-timeout/") (synopsis "Plugin for py.test to abort hanging tests") (description @@ -1025,6 +1035,31 @@ result back.") timeout has been exceeded.") (license license:expat))) +(define-public python-pytest-forked + (package + (name "python-pytest-forked") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-forked" version)) + (sha256 + (base32 + "000i4q7my2fq4l49n8idx2c812dql97qv6qpm2vhrrn9v6g6j18q")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pytest" ,python-pytest))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) + (home-page + "https://github.com/pytest-dev/pytest-forked") + (synopsis + "Run tests in isolated forked subprocesses") + (description + "Pytest plugin which will run each test in a subprocess and will report if +a test crashed the process.") + (license license:expat))) + (define-public python-scripttest (package (name "python-scripttest") @@ -1868,8 +1903,8 @@ possible to write plugins to add your own checks.") (synopsis "Simple extension to have parametrized unit tests") (description - "This package allows to create parametrized unit-tests that work with the standard -unittest package. A parametrized test case is automatically converted to multiple test + "This package creates parameterized unit-tests that work with the standard +unittest package. A parameterized test case is automatically converted to multiple test cases. Since they are TestCase subclasses, they work with other test suites that recognize TestCases.") (license license:bsd-2))) @@ -2509,3 +2544,25 @@ system. The code under test requires no modification to work with pyfakefs.") (define-public python2-pyfakefs (package-with-python2 python-pyfakefs)) + +(define-public python-aiounittest + (package + (name "python-aiounittest") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "aiounittest" version)) + (sha256 + (base32 + "1q4bhmi80smaa1lknvdna0sx3915naczlfna1fp435nf6cjyrjl1")))) + (build-system python-build-system) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) + (home-page + "https://github.com/kwarunek/aiounittest") + (synopsis "Test asyncio code more easily") + (description "Aiounittest is a library that helps write tests using +asynchronous code in Python (asyncio).") + (license license:expat))) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 2b3b5d7df6..855ae2df22 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -277,16 +277,16 @@ analogy is that InChI is the bar-code for chemistry and chemical structures.") ;; and Guix contains currently no free molecular viewer that ;; could be substituted. (("PREFERENCES\\['acroread_path'\\] = ''") - (format "PREFERENCES['acroread_path'] = '~a'" + (format #f "PREFERENCES['acroread_path'] = '~a'" (which "gv"))) (("PREFERENCES\\['ncdump_path'\\] = ''") - (format "PREFERENCES['ncdump_path'] = '~a'" + (format #f "PREFERENCES['ncdump_path'] = '~a'" (which "ncdump"))) (("PREFERENCES\\['ncgen_path'\\] = ''") - (format "PREFERENCES['ncgen_path'] = '~a'" + (format #f "PREFERENCES['ncgen_path'] = '~a'" (which "ncgen3"))) (("PREFERENCES\\['task_manager_path'\\] = ''") - (format "PREFERENCES['task_manager_path'] = '~a'" + (format #f "PREFERENCES['task_manager_path'] = '~a'" (which "task_manager"))) ;; Show documentation as PDF (("PREFERENCES\\['documentation_style'\\] = 'html'") diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index e90d4e7184..131943710a 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -135,8 +135,11 @@ "third_party/dawn" ;ASL2.0 "third_party/depot_tools/owners.py" ;BSD-3 "third_party/devtools-frontend" ;BSD-3 + "third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0 "third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0 "third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0 + "third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0 "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 @@ -196,7 +199,6 @@ "third_party/qcms" ;Expat "third_party/rnnoise" ;BSD-3 "third_party/s2cellid" ;ASL2.0 - "third_party/sfntly" ;ASL2.0 "third_party/skia" ;BSD-3 "third_party/skia/include/third_party/skcms" ;BSD-3 "third_party/skia/third_party/skcms" ;BSD-3 @@ -206,7 +208,6 @@ "third_party/spirv-headers" ;ASL2.0 "third_party/SPIRV-Tools" ;ASL2.0 "third_party/sqlite" ;Public domain - "third_party/ungoogled" ;BSD-3 "third_party/usb_ids" ;BSD-3 "third_party/usrsctp" ;BSD-2 "third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3 @@ -247,9 +248,9 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "80.0.3987.149") -(define %ungoogled-revision "516e2d990a50a4bbeb8c583e56333c2935e2af95") -(define %debian-revision "debian/80.0.3987.116-1") +(define %chromium-version "81.0.4044.129") +(define %ungoogled-revision "c2a89fb6b5b559c826796c811741fa8ed3e11de8") +(define %debian-revision "debian/81.0.4044.92-1") (define package-revision "0") (define %package-version (string-append %chromium-version "-" package-revision "." @@ -263,7 +264,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "07icl3hgg1wjkmz88lbpjf6ll4xyi64spki1nmsy6899jgkxvgjh")))) + "1ls663s1f74p912x42qp3zcvm17kmjiv1ij6yy1c14gdhcpmjx7z")))) (define %ungoogled-origin (origin @@ -274,7 +275,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "0nm55qq4ahw9haf5g7hmzic4mr2xjgpay7lxps7xjp7s1pda4g0q")))) + "0bbr4a2gkgm3ykdgpj8x58sd3dwam6qkifhzfs2997681g7b2v2q")))) (define %debian-origin (origin @@ -288,7 +289,7 @@ from forcing GEXP-PROMISE." (_ (string-take %debian-revision 7))))) (sha256 (base32 - "1cc5sp566dd8f2grgr770xwbxgxf58dk1w7q3s8pmv4js5h3pwq8")))) + "0srgbcqga3l75bfkv3bnmjk416189nazsximvzdx2k5n8v5k4p3m")))) ;; This is a "computed" origin that does the following: ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball. @@ -319,8 +320,7 @@ from forcing GEXP-PROMISE." (list #+(canonical-package patch) #+(canonical-package xz) #+(canonical-package tar) - #+python-2 - #+python)) + #+python-wrapper)) (copy-recursively #+ungoogled-source "/tmp/ungoogled") @@ -338,11 +338,11 @@ from forcing GEXP-PROMISE." (format #t "Ungooglifying...~%") (force-output) - (invoke "python3" "utils/prune_binaries.py" chromium-dir + (invoke "python" "utils/prune_binaries.py" chromium-dir "pruning.list") - (invoke "python3" "utils/patches.py" "apply" + (invoke "python" "utils/patches.py" "apply" chromium-dir "patches") - (invoke "python3" "utils/domain_substitution.py" "apply" "-r" + (invoke "python" "utils/domain_substitution.py" "apply" "-r" "domain_regex.list" "-f" "domain_substitution.list" "-c" "/tmp/domainscache.tar.gz" chromium-dir) @@ -390,13 +390,13 @@ from forcing GEXP-PROMISE." (format #t "Pruning third party files...~%") (force-output) - (apply invoke "python" + (apply invoke (string-append #+python-2 "/bin/python") "build/linux/unbundle/remove_bundled_libraries.py" "--do-remove" preserved-files) (format #t "Replacing GN files...~%") (force-output) - (invoke "python3" "build/linux/unbundle/replace_gn_files.py" + (invoke "python" "build/linux/unbundle/replace_gn_files.py" "--system-libraries" "ffmpeg" "flac" "fontconfig" "freetype" "harfbuzz-ng" "icu" "libdrm" "libevent" "libjpeg" "libpng" "libvpx" "libwebp" "libxml" @@ -462,7 +462,6 @@ from forcing GEXP-PROMISE." ;; directory for an exhaustive list of supported flags. ;; (Note: The 'configure' phase will do that for you.) (list "is_debug=false" - "is_cfi=false" "use_gold=false" "use_lld=false" "clang_use_chrome_plugins=false" @@ -648,8 +647,13 @@ from forcing GEXP-PROMISE." (setenv "AR" "ar") (setenv "NM" "nm") (setenv "CC" "clang") (setenv "CXX" "clang++") - ;; Do not optimize away null pointer safety checks. - (setenv "CXXFLAGS" "-fno-delete-null-pointer-checks") + (setenv "CXXFLAGS" + (string-join + '(;; Do not optimize away null pointer safety checks. + "-fno-delete-null-pointer-checks" + ;; Disable warnings about unknown warnings that require + ;; Clang plugins or newer versions. + "-Wno-unknown-warning-option"))) ;; TODO: pre-compile instead. Avoids a race condition. (setenv "PYTHONDONTWRITEBYTECODE" "1") @@ -795,7 +799,7 @@ from forcing GEXP-PROMISE." ("glib" ,glib) ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c) + ("icu4c" ,icu4c-66.1) ("jsoncpp" ,jsoncpp) ("lcms" ,lcms) ("libevent" ,libevent) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 24de11b713..817c8a96db 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. @@ -47,20 +47,20 @@ #:use-module (guix build-system gnu)) (define-public cuirass - (let ((commit "b9031db946ff89a39e1507b430f64402b0e9572a") - (revision "28")) + (let ((commit "27af1d34646f4e3fca09283cb52caa8b89cbb2b1") + (revision "29")) (package (name "cuirass") - (version (string-append "0.0.1-" revision "." (string-take commit 7))) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git") (commit commit))) - (file-name (string-append name "-" version)) + (file-name (git-file-name name version)) (sha256 (base32 - "103smfbdpgaw17xw3vc9cb3nfisrx64k71rpzn8g35f3jz7bxdcf")))) + "199fzv4d18qslcggl7lj42ib600nckp0c40x7ahnb4rgnjw8ppyi")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 42d1132fba..9da0f77879 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org> @@ -1760,20 +1760,21 @@ exec " gcc "/bin/" program (define flex-boot0 ;; This Flex is needed to build MiG as well as Linux-Libre headers. - (package - (inherit flex) - (native-inputs `(("bison" ,bison-boot0))) - (propagated-inputs - ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it - ;; appears twice in '%build-inputs', like when we were using - ;; 'package-with-explicit-inputs'. - ;; TODO: Remove this hack on the next rebuild cycle. - `(("m4" ,(package (inherit m4-boot0*))))) - (inputs (%boot0-inputs)) - (arguments - `(#:implicit-inputs? #f - #:guile ,%bootstrap-guile - #:tests? #f)))) + (let ((m4-boot0* (package (inherit m4-boot0*)))) + (package + (inherit flex) + (native-inputs `(("bison" ,bison-boot0))) + (propagated-inputs + ;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it + ;; appears twice in '%build-inputs', like when we were using + ;; 'package-with-explicit-inputs'. + ;; TODO: Remove this hack on the next rebuild cycle. + `(("m4" ,m4-boot0*))) + (inputs (%boot0-inputs)) + (arguments + `(#:implicit-inputs? #f + #:guile ,%bootstrap-guile + #:tests? #f))))) (define linux-libre-headers-boot0 (mlambda () diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 2e1fe04dde..85f802a069 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015 Jeff Mickey <j@codemac.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -26,6 +26,8 @@ ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,7 +51,10 @@ #:use-module (guix download) #:use-module (guix git-download) #: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 python) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages assembly) @@ -61,6 +66,10 @@ #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages file) + #:use-module (gnu packages gettext) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) #:use-module (gnu packages maths) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -68,6 +77,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) + #:use-module (gnu packages xml) #:use-module (ice-9 match) #:use-module ((srfi srfi-1) #:select (last))) @@ -489,7 +499,7 @@ than gzip and 15 % smaller output than bzip2.") "/share/zoneinfo")) #t))))) (native-inputs - `(("tzdata" ,tzdata))) + `(("tzdata" ,tzdata-for-tests))) (home-page "https://fragglet.github.com/lhasa/") (synopsis "LHA archive decompressor") (description "Lhasa is a replacement for the Unix LHA tool, for @@ -1851,6 +1861,17 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.") ;; We used to provide an older version under the name "brotli". (deprecated-package "brotli" google-brotli)) +(define-public python-google-brotli + (package + (inherit google-brotli) + (name "python-google-brotli") + (build-system python-build-system) + (arguments '()) + (synopsis "Python interface to google-brotli") + (description "@code{python-google-brotli} provides a Python interface to +@code{google-brotli}, an implementation of the Brotli lossless compression +algorithm."))) + (define-public ucl (package (name "ucl") @@ -2081,3 +2102,95 @@ programs that used to be the de facto UNIX standard for compressing and uncompressing files. These programs implement a fast, simple Lempel-Ziv (LZW) file compression algorithm.") (license license:gpl2+))) + +(define-public xarchiver + (package + (name "xarchiver") + (version "0.5.4.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ib/xarchiver.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("libxslt" ,libxslt) + ("pkg-config" ,pkg-config))) + (inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme + ("gtk+" ,gtk+))) + (home-page "https://github.com/ib/xarchiver") + (synopsis "Graphical front-end for archive operations") + (description "Xarchiver is a front-end to various command line archiving +tools. It uses GTK+ tool-kit and is designed to be desktop-environment +independent. Supported formats are 7z, ARJ, bzip2, gzip, LHA, lzma, lzop, +RAR, RPM, DEB, tar, and ZIP. It cannot perform functions for archives, whose +archiver is not installed.") + (license license:gpl2+))) + +(define-public tarsplitter + (package + (name "tarsplitter") + (version "2.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AQUAOSOTech/tarsplitter.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17qkg95r97kcrs17b0mcqswx99280ni47j5yx8xa7nl3bdhm6325")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/AQUAOSOTech/tarsplitter" + #:install-source? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key import-path outputs #:allow-other-keys) + (let* ((source (string-append "src/" import-path)) + (out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (with-directory-excursion source + (install-file "README.md" doc)) + #t)))))) + (home-page "https://github.com/AQUAOSOTech/tarsplitter") + (synopsis "Multithreaded tar utility") + (description + "Archive huge numbers of files, or split massive tar archives into smaller +chunks.") + (license license:expat))) + +(define-public c-blosc + (package + (name "c-blosc") + (version "1.18.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Blosc/c-blosc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70")))) + (build-system cmake-build-system) + (home-page "https://blosc.org") + (synopsis "Blocking, shuffling and lossless compression library") + (description + "Blosc is a high performance compressor optimized for binary data. It has +been designed to transmit data to the processor cache faster than the +traditional, non-compressed, direct memory fetch approach via a +@code{memcpy()} system call. Blosc is meant not only to reduce the size of +large datasets on-disk or in-memory, but also to accelerate memory-bound +computations.") + ;; Blosc itself is released under BSD-3 but it incorporates code under + ;; other non-copyleft licenses. + (license license:bsd-3))) diff --git a/gnu/packages/cook.scm b/gnu/packages/cook.scm index 16c288cc82..ba13709eda 100644 --- a/gnu/packages/cook.scm +++ b/gnu/packages/cook.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +61,13 @@ (substitute* "test/00/t0077a.sh" (("ar qc") "ar qcU")) + ;; Guix builds have LC_ALL set to "en_US.utf8", which causes + ;; `date` to use a 12-hour clock instead of 24h, which in turn + ;; makes t0217a.sh fail because of unexpected date output. + (substitute* "test/02/t0217a.sh" + (("export TZ") + "export TZ\nLC_ALL=POSIX\nexport LC_ALL")) + (setenv "SH" (which "sh")) #t))))) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index f883c2f690..13243578b1 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -132,15 +132,17 @@ It is developed using Objective Caml and Camlp5.") (define-public proof-general (package (name "proof-general") - (version "4.2") + (version "4.4") (source (origin - (method url-fetch) - (uri (string-append - "http://proofgeneral.inf.ed.ac.uk/releases/" - "ProofGeneral-" version ".tgz")) + (method git-fetch) + (uri (git-reference + (url (string-append + "https://github.com/ProofGeneral/PG")) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm")))) + "0bdfk91wf71z80mdfnl8hpinripndcjgdkz854zil6521r84nqk8")))) (build-system gnu-build-system) (native-inputs `(("which" ,which) @@ -175,10 +177,6 @@ It is developed using Objective Caml and Camlp5.") (emacs (assoc-ref inputs "host-emacs"))) (define (coq-prog name) (string-append coq "/bin/" name)) - (emacs-substitute-variables "coq/coq.el" - ("coq-prog-name" (coq-prog "coqtop")) - ("coq-compiler" (coq-prog "coqc")) - ("coq-dependency-analyzer" (coq-prog "coqdep"))) (substitute* "Makefile" (("/sbin/install-info") "install-info")) (substitute* "bin/proofgeneral" @@ -198,7 +196,7 @@ It is developed using Objective Caml and Camlp5.") (substitute* "Makefile" ((" [^ ]*\\.pdf") "")) (apply invoke "make" "install-doc" make-flags)))))) - (home-page "http://proofgeneral.inf.ed.ac.uk/") + (home-page "https://proofgeneral.github.io/ ") (synopsis "Generic front-end for proof assistants based on Emacs") (description "Proof General is a major mode to turn Emacs into an interactive proof diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index ce816a528a..2248ebfc4b 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> @@ -47,18 +47,18 @@ (define-public libzen (package (name "libzen") - (version "0.4.37") + (version "0.4.38") (source (origin (method url-fetch) ;; Warning: This source has proved unreliable 1 time at least. ;; Consider an alternate source or report upstream if this ;; happens again. (uri (string-append "https://mediaarea.net/download/source/" - name "/" version "/" - name "_" version ".tar.bz2")) + "libzen/" version "/" + "libzen_" version ".tar.bz2")) (sha256 (base32 - "1dkqbgabzpa6bd7dkqrvd35sdxrhr6qxalb88f3dw0afk65xqb0k")))) + "1nkygc17sndznpcf71fdrhwpm8z9a3hc9csqlafwswh49axhfkjr")))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -66,7 +66,7 @@ (build-system gnu-build-system) (arguments '(#:phases - ;; build scripts not in root of archive + ;; The build scripts are not at the root of the archive. (modify-phases %standard-phases (add-after 'unpack 'pre-configure (lambda _ @@ -262,7 +262,7 @@ intuitive syntax and trivial integration.") (define-public xtl (package (name "xtl") - (version "0.6.8") + (version "0.6.13") (source (origin (method git-fetch) (uri @@ -271,7 +271,7 @@ intuitive syntax and trivial integration.") (commit version))) (sha256 (base32 - "13gm8vm1b9nzvlcc632f9khnjw1xdjqj6c7k51r173y1hlk0div7")) + "0py70lm2i3sxzpgca2cic8zfn6dn18q837h76a5fchl2c0kpxm91")) (file-name (git-file-name name version)))) (native-inputs `(("googletest" ,googletest) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 759b9263f3..baf1e0c18a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org> +;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com> @@ -14,11 +14,13 @@ ;;; Copyright © 2018 Laura Lazzati <laura.lazzati.15@gmail.com> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2018 Eric Brown <brown@fastmail.com> ;;; Copyright © 2018, 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com> ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2020 Todor Kondić <tk.code@protonmail.com> +;;; Copyright © 2020 Danjela Lura <danielaluraa@gmail.com> +;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> +;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,6 +83,25 @@ #:use-module (gnu packages web) #:use-module (gnu packages xorg)) +(define-public r-bezier + (package + (name "r-bezier") + (version "1.1.2") + (source (origin + (method url-fetch) + (uri (cran-uri "bezier" version)) + (sha256 + (base32 + "1vw5128v8h973xwa1fdm9cw2jvrldj87nd55lddlp3qsz3ag4br6")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/bezier/") + (synopsis "Bezier curve and spline toolkit") + (description + "This package is a toolkit for working with Bezier curves and splines. +The package provides functions for point generation, arc length estimation, +degree elevation and curve fitting.") + (license license:gpl2+))) + (define-public r-clipr (package (name "r-clipr") @@ -100,6 +121,61 @@ the system clipboards.") (license license:gpl3))) +(define-public r-ggpmisc + (package + (name "r-ggpmisc") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (cran-uri "ggpmisc" version)) + (sha256 + (base32 + "0xc1yp0kphipq23ri4ij93garx1x2nrf4i0lhs6m10pp9yz7fbmj")))) + (build-system r-build-system) + (propagated-inputs + `(("r-broom" ,r-broom) + ("r-dplyr" ,r-dplyr) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-lubridate" ,r-lubridate) + ("r-mass" ,r-mass) + ("r-plyr" ,r-plyr) + ("r-polynom" ,r-polynom) + ("r-splus2r" ,r-splus2r) + ("r-tibble" ,r-tibble) + ("r-xts" ,r-xts) + ("r-zoo" ,r-zoo))) + (home-page "https://www.r4photobiology.info/") + (synopsis "Miscellaneous Extensions to @code{ggplot2}") + (description "This package provides extensions to @code{ggplot2}, +respecting the grammar of its graphics paradigm.") + (license license:gpl2+))) + +(define-public r-oenb + (package + (name "r-oenb") + (version "0.0.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "oenb" version)) + (sha256 + (base32 + "1x1jlqp6r27c4gb7wafzpmh5rq6yq61a2d395r5lsmv2g5jb4biz")))) + (properties `((upstream-name . "oenb"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dplyr" ,r-dplyr) + ("r-xml" ,r-xml))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/franzmohr/oenb") + (synopsis "Tools for the OeNB Data Web Service") + (description + "Tools to access data from the data web service of the +@acronym{OeNB, Oesterreichische Nationalbank}, +@url{https://www.oenb.at/en/Statistics/User-Defined-Tables/webservice.html}.") + (license license:gpl2+))) + (define-public r-scales (package (name "r-scales") @@ -150,6 +226,30 @@ legends.") control over dimensions and appearance.") (license license:gpl2+))) +(define-public r-ecp + (package + (name "r-ecp") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (cran-uri "ecp" version)) + (sha256 + (base32 + "11f9p869xr0zg779i46gmflxlq4xclk9wxbab0nj2fan26pn4sfy")))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp))) + (home-page "https://cran.r-project.org/web/packages/ecp/") + (synopsis "Multiple change-point analysis of multivariate data") + (description + "This package implements various procedures for finding multiple +change-points. Two methods make use of dynamic programming and pruning, with +no distributional assumptions other than the existence of certain absolute +moments in one method. Hierarchical and exact search methods are included. +All methods return the set of estimated change-points as well as other summary +information.") + (license license:gpl2+))) + (define-public r-ellipsis (package (name "r-ellipsis") @@ -422,17 +522,38 @@ small, reproducible, and runnable examples on code-oriented websites or email. such as copy/paste from an R session.") (license license:expat))) +(define-public r-reordercluster + (package + (name "r-reordercluster") + (version "1.0") + (source (origin + (method url-fetch) + (uri (cran-uri "ReorderCluster" version)) + (sha256 + (base32 + "0ss750frzvj0bm1w7zblmcsjpszhnbffwlkaw31sm003lbx9hy58")))) + (build-system r-build-system) + (propagated-inputs + `(("r-gplots" ,r-gplots) + ("r-rcpp" ,r-rcpp))) + (home-page "https://cran.r-project.org/web/packages/ReorderCluster") + (synopsis "Reordering the dendrogram according to the class labels") + (description "This package provides tools for performing the leaf reordering +for the dendrogram that preserves the hierarchical clustering result and at the +same time tries to group instances from the same class together.") + (license license:gpl3+))) + (define-public r-callr (package (name "r-callr") - (version "3.4.2") + (version "3.4.3") (source (origin (method url-fetch) (uri (cran-uri "callr" version)) (sha256 (base32 - "0bdlp0labwyfl36jqslj2g7zmw7zwr58v9gam435kiblhjimb8fc")))) + "1dc20gdawy9mhnc452qlshv2p4krs6c2gymvpv365mn141zjgdq1")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) @@ -1000,13 +1121,13 @@ application framework for R, making it easy to create attractive dashboards.") (define-public r-shinyfiles (package (name "r-shinyfiles") - (version "0.7.5") + (version "0.8.0") (source (origin (method url-fetch) (uri (cran-uri "shinyFiles" version)) (sha256 - (base32 "1143m941hma9hc77c3xcw26c0ygfhn9ii2sbp9wrydxv4gc7mr8a")))) + (base32 "0gwyx37f2r86cldsyknws9pafpj8g5mg3mchlyl9ymgnk5f4b88w")))) (properties `((upstream-name . "shinyFiles"))) (build-system r-build-system) (propagated-inputs @@ -1532,15 +1653,20 @@ colors are provided.") (define-public r-glue (package (name "r-glue") - (version "1.3.2") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "glue" version)) (sha256 (base32 - "0alklqcf68kmccssp4j7a7fv553pyqyy6mkkfslav83inppm4d3g")))) + "1hb9j2519jv9zgkgjb25hnqi22i7zxnaksqd16m4nxa1f6gl0v7a")))) (build-system r-build-system) + ;; knitr depends on glue, so we can't add knitr here to build the + ;; vignettes. + #; + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tidyverse/glue") (synopsis "Interpreted string literals") (description @@ -1700,13 +1826,13 @@ you to rapidly iterate while developing a package.") (define-public r-rcpp (package (name "r-rcpp") - (version "1.0.4") + (version "1.0.4.6") (source (origin (method url-fetch) (uri (cran-uri "Rcpp" version)) (sha256 - (base32 "1m80pdhzi2p82db5xkbwc2m3fzv6df59955yj03nlq40fj7zx4nr")))) + (base32 "00mk23zmrqn1c4mk9d6csjcbnl12wd7yicjk2ikmw5dyvdfngbs5")))) (build-system r-build-system) (home-page "http://www.rcpp.org") (synopsis "Seamless R and C++ integration") @@ -1878,18 +2004,19 @@ multi-dimensional data.") (define-public r-powerlaw (package (name "r-powerlaw") - (version "0.70.2") + (version "0.70.6") (source (origin (method url-fetch) (uri (cran-uri "poweRlaw" version)) (sha256 - (base32 - "1asr6ikr7hmj78jyg8r1gwvcjg14addkxdiz92nh06lv71a183r4")))) + (base32 "14d1myxllvm1grnfiszzzxaiqpb2jpmsi19wq70r8r2wki293h7g")))) (properties `((upstream-name . "poweRlaw"))) (build-system r-build-system) (propagated-inputs - `(("r-vgam" ,r-vgam))) + `(("r-pracma" ,r-pracma))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/csgillespie/poweRlaw") (synopsis "Tools for the analysis of heavy tailed distributions") (description @@ -1998,14 +2125,14 @@ any subsequent lookup as it keeps the hash table in memory.") (define-public r-ff (package (name "r-ff") - (version "2.2-14") + (version "2.2-14.2") (source (origin (method url-fetch) (uri (cran-uri "ff" version)) (sha256 (base32 - "1w724q4jpzbvzpilb2ifviaxkjgk9lzwxz9gksnvicbmfa20fqqw")))) + "1r1pbrf5s4rdm3msxxr8fy1f2xjihqciclsnvxf59qzz6g1nmh7q")))) (build-system r-build-system) (propagated-inputs `(("r-bit" ,r-bit))) (home-page "http://ff.r-forge.r-project.org/") @@ -2262,14 +2389,14 @@ quantile mixture from L-moments and trimmed L-moments.") (define-public r-distillery (package (name "r-distillery") - (version "1.0-6") + (version "1.0-7") (source (origin (method url-fetch) (uri (cran-uri "distillery" version)) (sha256 (base32 - "1mi3ig9jq0kd7yrwc5m37lmrw04p1b4lirnbsxi10z3n5yay4429")))) + "0w72vb3p51m0hwms9icwgy1xg3dplmpjrxibl2s92lpdrv737249")))) (build-system r-build-system) (home-page "https://ral.ucar.edu/staff/ericg/") (synopsis "Functions for confidence intervals and object information") @@ -2369,6 +2496,27 @@ and S4 methods with inlined C, C++ or Fortran code supporting @code{.C} and ;; Any version of the LGPL. (license license:lgpl3+))) +(define-public r-inum + (package + (name "r-inum") + (version "1.0-1") + (source (origin + (method url-fetch) + (uri (cran-uri "inum" version)) + (sha256 + (base32 + "16d09391l65w557dkzhhx1aqn1ljamcmjj3yh42pwq037k0r8brw")))) + (build-system r-build-system) + (propagated-inputs + `(("r-libcoin" ,r-libcoin))) + (home-page "https://cran.r-project.org/web/packages/inum/") + (synopsis "Interval and enum-type representation of vectors") + (description + "This package provides an enum-type representation of vectors and +representation of intervals, including a method of coercing variables +in data frames.") + (license license:gpl2))) + (define-public r-bdsmatrix (package (name "r-bdsmatrix") @@ -3074,14 +3222,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.5.5") + (version "0.5.6") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "0n7zd64263kfavdi28rl2bxrsa00c3m4vjhhjdrfwvvmrcxj39fx")))) + "0da3jsb02xckrk6alznicn6l5lnyvdhc64qklyarnd77miqgc1hb")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -3093,6 +3241,8 @@ by base R methods related to model fitting.") ("r-stringr" ,r-stringr) ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tidyverse/broom") (synopsis "Convert statistical analysis objects into tidy data frames") (description @@ -3645,14 +3795,14 @@ modeling for empirical income distributions.") (define-public r-vcd (package (name "r-vcd") - (version "1.4-6") + (version "1.4-7") (source (origin (method url-fetch) (uri (cran-uri "vcd" version)) (sha256 (base32 - "0rjz49py5l6wnaimw6k8rcyzlvs8cyz5g2xwqj2qis92ly0l103z")))) + "16aj688nhlcvdxzfsqh4s375v8f8vl8997dl8h1xg29b42nv52gc")))) (build-system r-build-system) (propagated-inputs `(("r-colorspace" ,r-colorspace) @@ -3895,14 +4045,14 @@ timeout. It can also poll several processes at once.") (define-public r-tsp (package (name "r-tsp") - (version "1.1-9") + (version "1.1-10") (source (origin (method url-fetch) (uri (cran-uri "TSP" version)) (sha256 (base32 - "183m6crb0dv17llj86059n3hbgsahbhfcqlx0ijdzkssg11i1cy7")))) + "0z1v6m0vqjzxc4az3zyjaayygx0jr3mdmc56jjd421iqh0b9z5s4")))) (properties `((upstream-name . "TSP"))) (build-system r-build-system) (propagated-inputs `(("r-foreach" ,r-foreach))) @@ -4016,14 +4166,18 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.12") + (version "0.13") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "0sgh8kafi9x1glmmcp1ly827pm8q7fsfngbplr41fbb4nc9363df")))) + (base32 "03iyqgx9mmdbd3qih70qzijjqcdg7k7ps5r1y6q8praanx9qvnm3")))) (build-system r-build-system) + ;; knitr itself depends on xfun + #; + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/yihui/xfun") (synopsis "Miscellaneous functions") (description @@ -4160,14 +4314,14 @@ terminals.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.20") + (version "0.22") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "0n8v8inpsc99r0snvqbjhqlc6nm9hxjsw120hrxc2mw03pa5fvkg")))) + "0s9f62v3ps5f8903ar6kxlf1z3b4v78vlw1nb05bq55dgj8brg3b")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -4435,14 +4589,14 @@ Fisher's method), and Sidak correction.") (define-public r-quantmod (package (name "r-quantmod") - (version "0.4-16") + (version "0.4.17") (source (origin (method url-fetch) (uri (cran-uri "quantmod" version)) (sha256 (base32 - "12l5br8abr1yagxqjnjvqzp79sqsv5vx56cxs37gk73r474f4vc2")))) + "1ss441rwlr88kz212m0wgx0hwgwi41rhy1jncg2lgqzqfvr5dzqa")))) (build-system r-build-system) (propagated-inputs `(("r-curl" ,r-curl) @@ -4801,14 +4955,14 @@ functions to enforce symmetric scales or add tags to facetted plots.") (define-public r-heatmaply (package (name "r-heatmaply") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) (uri (cran-uri "heatmaply" version)) (sha256 (base32 - "0576gml3bcl7r1biigzj1rag2xzz422knbw7arc8d2gsakjj757g")))) + "133q8ir45vhfxs2lnd96k97g21ihg2arfhp349kmk339pk32fcxz")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -5361,14 +5515,14 @@ evaluated by the @dfn{Akaike Information Criterion} (AIC).") (define-public r-arules (package (name "r-arules") - (version "1.6-4") + (version "1.6-5") (source (origin (method url-fetch) (uri (cran-uri "arules" version)) (sha256 (base32 - "003c5cd3xzq39h7c19px077ygm0n1v7k83icy5zzrnkagyds2p8n")))) + "0bcvfn8lvcv74vv9z3kgg7yq5hm7wjqhmzadi55cbm8zxd76g84v")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -5776,14 +5930,14 @@ obtain a better initial configuration in non-metric MDS.") (define-public r-reticulate (package (name "r-reticulate") - (version "1.14") + (version "1.15") (source (origin (method url-fetch) (uri (cran-uri "reticulate" version)) (sha256 (base32 - "0icb9zl9zlx75njv7y1dr450k0yw2n3q2jkr4nicnphdyfn69gkn")))) + "03dmnx9jhxx6vfbv2i5n6sln38kb9zkshz982pg3l9i4jjf3xns7")))) (build-system r-build-system) (inputs `(("python" ,python))) (propagated-inputs @@ -5791,6 +5945,8 @@ obtain a better initial configuration in non-metric MDS.") ("r-jsonlite" ,r-jsonlite) ("r-matrix" ,r-matrix) ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/rstudio/reticulate") (synopsis "R interface to Python") (description @@ -6013,14 +6169,14 @@ structured in groups, etc. and hierarchical cluster analysis.") (define-public r-factoextra (package (name "r-factoextra") - (version "1.0.6") + (version "1.0.7") (source (origin (method url-fetch) (uri (cran-uri "factoextra" version)) (sha256 (base32 - "0bpsbcmp6jpa9qk53dhfzghrz98dh0h0n68brl7rjz724yjbvhn8")))) + "1allvdjhd3pq8xz30b1cymwcik5iaahghrjrlnn54cwkfhfg0kv2")))) (build-system r-build-system) (propagated-inputs `(("r-abind" ,r-abind) @@ -6419,14 +6575,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.8.2") + (version "0.8.3") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0fjf7dwpv1a7qfbzixppg348z1ksq19kdjm08vcb2am7w0k3plcj")))) + "0lm5a4r368mq1pwmxjk2xnz25lb9j4v7mdkl1bahk2alklxgb8yj")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -6472,14 +6628,14 @@ vice versa), or to deal with multiple declared missing values.") (define-public r-sjmisc (package (name "r-sjmisc") - (version "2.8.3") + (version "2.8.4") (source (origin (method url-fetch) (uri (cran-uri "sjmisc" version)) (sha256 (base32 - "0w8l9grmp4q775jrf4q6rxx36ld5daz9b0gdxyyh42xfihk6m62h")))) + "1ad7ca71w0v9ja4wb47aygczc987zz1lnjljhh2n497nzrpzzv64")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -6489,6 +6645,8 @@ vice versa), or to deal with multiple declared missing values.") ("r-rlang" ,r-rlang) ("r-sjlabelled" ,r-sjlabelled) ("r-tidyselect" ,r-tidyselect))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/strengejacke/sjmisc") (synopsis "Data and variable transformation functions") (description @@ -7176,13 +7334,13 @@ and coverage methods to tune the choice of threshold.") (define-public r-ggstance (package (name "r-ggstance") - (version "0.3.3") + (version "0.3.4") (source (origin (method url-fetch) (uri (cran-uri "ggstance" version)) (sha256 - (base32 "0kdksay61hyb6612b07r84chh7a9aibjyclk3qcypvr9aang8hkh")))) + (base32 "0aqz3dn02cgij018a4sglqwrwr9dzzj12l8xr1064q7hfd4f64m1")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -7274,14 +7432,14 @@ used to teach mathematics, statistics, computation and modeling.") (define-public r-raster (package (name "r-raster") - (version "3.0-12") + (version "3.1-5") (source (origin (method url-fetch) (uri (cran-uri "raster" version)) (sha256 (base32 - "0rrbsigkqxsdic8fly6nrsc79zsliwvr1x2b4xqpl9d34vr50dvg")))) + "010sq00ijpmwac280ip9rryw0pxk0al8g675v2lc9rdrbgaj4rnv")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) @@ -7877,14 +8035,14 @@ console, resulting in an interactive editing environment.") (define-public r-survey (package (name "r-survey") - (version "3.37") + (version "4.0") (source (origin (method url-fetch) (uri (cran-uri "survey" version)) (sha256 (base32 - "1f31dvh48gzzan13pdrwh84ls35x9116095i7mdrcbrhz809r8dy")))) + "1q9x0s86s72gl43zj49gypg6jj2b78xjvxr4lmy5147s9h7z8lxh")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -8257,14 +8415,14 @@ packages maintained by Torsten Hothorn.") (define-public r-multcomp (package (name "r-multcomp") - (version "1.4-12") + (version "1.4-13") (source (origin (method url-fetch) (uri (cran-uri "multcomp" version)) (sha256 (base32 - "14c2f10rz546w7ly5f4r6wnd07yj5gic38an17gxny1vf2nsff0b")))) + "1nszi22rcc551yc75h9cdfkdqsxw1rz30vadazmpyzihp1bh63yk")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools) @@ -8285,14 +8443,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "10fmvmd6q4zjr6b18hhc85mwrzv778qzj6lwl9kbs2fsfvsgw7mm")))) + "0mxk7ghlv4r6sna4897q1la2xgyn1dw3r9srhm9x4h5l4701avfa")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -8300,6 +8458,8 @@ Hothorn, Westfall, 2010, CRC Press).") ("r-numderiv" ,r-numderiv) ("r-plyr" ,r-plyr) ("r-xtable" ,r-xtable))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/rvlenth/emmeans") (synopsis "Estimated marginal means, aka least-squares means") (description @@ -8518,14 +8678,14 @@ differentiation.") (define-public r-bayestestr (package (name "r-bayestestr") - (version "0.5.3") + (version "0.6.0") (source (origin (method url-fetch) (uri (cran-uri "bayestestR" version)) (sha256 (base32 - "1q24qh5p6bz4nbf4546kckh7d518x5pm1yhhbc8fwcnbca4kgqjz")))) + "0s7wdmk8avgaqk2b7fcf4bsh13isrkl1q4y7z2y8jhdagxxxnzd1")))) (properties `((upstream-name . "bayestestR"))) (build-system r-build-system) (propagated-inputs @@ -8545,14 +8705,14 @@ ROPE percentage and pd).") (define-public r-performance (package (name "r-performance") - (version "0.4.4") + (version "0.4.5") (source (origin (method url-fetch) (uri (cran-uri "performance" version)) (sha256 (base32 - "18h9y66cpsb3k6xnaya87vnpv2s3chf4bzsc4ym3n5sxhh41j7la")))) + "0j6wmnwhfdd3v1a17qmg491q50579knjzscmyr4yk3xr0jbsbg8x")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) @@ -8572,14 +8732,14 @@ effects models and Bayesian models.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "0.14.2") + (version "0.14.3") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "1y3yfb07jrr6vkc8hk6rp52l70dj7042jvqgjzllslzy7hx2jhyw")))) + "06p80bgjhjknzlb4vs4n41i9n9vv5agncakl9f92zkaahgyzd6sd")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight) @@ -8602,20 +8762,22 @@ results using @code{ggplot2}.") (define-public r-effectsize (package (name "r-effectsize") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "effectsize" version)) (sha256 (base32 - "1liix8rf8xq3hzi7684bl0s20iflsq6g5mxr5k59wp2qwn1i6aww")))) + "0kijp4wamkidaxysc11dd4vhvnm4wnbi87871wcbwn27k5b6i5dg")))) (properties `((upstream-name . "effectsize"))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) ("r-insight" ,r-insight) ("r-parameters" ,r-parameters))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/easystats/effectsize") (synopsis "Indices of effect size and standardized parameters") (description @@ -8716,19 +8878,18 @@ back to file after modifications.") (define-public r-fs (package (name "r-fs") - (version "1.3.2") + (version "1.4.1") (source (origin (method url-fetch) (uri (cran-uri "fs" version)) (sha256 (base32 - "1w30bflx4d7a6f3dn96bf7s7v6aqpvz2yzzxal6qz9jyhb16bxaz")))) + "0kksig9pk8aid9l6r250na8z8j9919jvs20lj0s6m9bcybgh74df")))) (build-system r-build-system) - (propagated-inputs - `(("r-rcpp" ,r-rcpp))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (home-page "https://fs.r-lib.org") (synopsis "Cross-platform file system operations based on libuv") (description @@ -8759,18 +8920,18 @@ terminals that do not support Unicode.") (define-public r-usethis (package (name "r-usethis") - (version "1.5.1") + (version "1.6.0") (source (origin (method url-fetch) (uri (cran-uri "usethis" version)) (sha256 (base32 - "07an5wbikilg7cb3q6x5aykw8dfqnjrc3wpfb7gjmy0d9fh20fcy")))) + "12iyimqyza752anj29wpfisl8nz5r25kfcqbssybg24nb4wyy146")))) (build-system r-build-system) (propagated-inputs - `(("r-clipr" ,r-clipr) - ("r-clisymbols" ,r-clisymbols) + `(("r-cli" ,r-cli) + ("r-clipr" ,r-clipr) ("r-crayon" ,r-crayon) ("r-curl" ,r-curl) ("r-desc" ,r-desc) @@ -8779,6 +8940,7 @@ terminals that do not support Unicode.") ("r-git2r" ,r-git2r) ("r-glue" ,r-glue) ("r-purrr" ,r-purrr) + ("r-rematch2" ,r-rematch2) ("r-rlang" ,r-rlang) ("r-rprojroot" ,r-rprojroot) ("r-rstudioapi" ,r-rstudioapi) @@ -9121,14 +9283,14 @@ analysing multivariate abundance data in community ecology.") (define-public r-afex (package (name "r-afex") - (version "0.26-0") + (version "0.27-2") (source (origin (method url-fetch) (uri (cran-uri "afex" version)) (sha256 (base32 - "0h3p1svgk1ap3lj08fi8nzdb3710h99bv150krf1x8wci1a0r1if")))) + "0qsmcddy4449qjj3ajmqvdiqdkhkswmz5dqf150wxwq897p3bvf2")))) (build-system r-build-system) (propagated-inputs `(("r-car" ,r-car) @@ -9136,6 +9298,8 @@ analysing multivariate abundance data in community ecology.") ("r-lmertest" ,r-lmertest) ("r-pbkrtest" ,r-pbkrtest) ("r-reshape2" ,r-reshape2))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://afex.singmann.science/") (synopsis "Analysis of factorial experiments") (description @@ -9146,14 +9310,14 @@ experiments using ANOVA or mixed models.") (define-public r-lmertest (package (name "r-lmertest") - (version "3.1-1") + (version "3.1-2") (source (origin (method url-fetch) (uri (cran-uri "lmerTest" version)) (sha256 (base32 - "0r2vvs3nl6p8xla3gd943khb4ixp0alvspqpnz2y6n3wk8zgh3jj")))) + "1qkdxx5sri65zgpb9gw4nkfkdam51kgy4hxclk5c40yk7y3p0n1q")))) (properties `((upstream-name . "lmerTest"))) (build-system r-build-system) (propagated-inputs @@ -9352,14 +9516,14 @@ Bioconductor packages.") (define-public r-rgl (package (name "r-rgl") - (version "0.100.50") + (version "0.100.54") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "165p932ml7dpjkm41zc47p5cdxar69il0m5yvg0avi8q01vr17ay")))) + "1mgs2d8igmcdzzymfwbqdrypmaidd4pra5n5gnhsn9pm6pqzidqp")))) (build-system r-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -9866,13 +10030,13 @@ maps.") (define-public r-tidytree (package (name "r-tidytree") - (version "0.3.2") + (version "0.3.3") (source (origin (method url-fetch) (uri (cran-uri "tidytree" version)) (sha256 - (base32 "0dx9jn19mfykn20camsmq1amlgg0w6z5hn5rdqygs1fk1l5aazad")))) + (base32 "05b53dap0f784kl6s1wgck6m7brwmy6ifqp7v5l06s1spfspagl6")))) (build-system r-build-system) (propagated-inputs `(("r-ape" ,r-ape) @@ -11435,14 +11599,14 @@ library.") (define-public r-protviz (package (name "r-protviz") - (version "0.6.3") + (version "0.6.4") (source (origin (method url-fetch) (uri (cran-uri "protViz" version)) (sha256 (base32 - "1ldciqh3f43xr9663yyhd9r6qwrg4c4vmkprlcancbnd460wakg7")))) + "1qq9bf4485x8cviry9fmhnv4hw9aw657w134003myzcv42c4pml6")))) (properties `((upstream-name . "protViz"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) @@ -11485,14 +11649,14 @@ JASA, 94:496-509.") (define-public r-etm (package (name "r-etm") - (version "1.0.5.1") + (version "1.1") (source (origin (method url-fetch) (uri (cran-uri "etm" version)) (sha256 (base32 - "0m41pm277sd50pharigcqzr1a2g92wnmdf6fcab6fx16ia2fzrm7")))) + "02yvh473l5qajaymhsxwb235a9r7q3nsig9a9mrfca68xih8yvgd")))) (build-system r-build-system) (propagated-inputs `(("r-data-table" ,r-data-table) @@ -11503,7 +11667,7 @@ JASA, 94:496-509.") (home-page "https://cran.r-project.org/web/packages/etm") (synopsis "Empirical transition matrix") (description - "The @dfn{empirical transition matrix} (etm) package permits to estimate + "The @dfn{empirical transition matrix} (etm) package estimates the matrix of transition probabilities for any time-inhomogeneous multistate model with finite state space using the Aalen-Johansen estimator.") (license license:expat))) @@ -11570,13 +11734,13 @@ regression coefficients can be conducted via jackknifing.") (define-public r-huge (package (name "r-huge") - (version "1.3.4") + (version "1.3.4.1") (source (origin (method url-fetch) (uri (cran-uri "huge" version)) (sha256 - (base32 "07n3j1va2z4v30rj22cww72khgzbz2xsp0yc0qswlrwyxi4my5i3")))) + (base32 "11m80dnaxqw5v006q6kvhndl2y5ih5553fcqg4jcaljd8sp9xvvq")))) (build-system r-build-system) (propagated-inputs `(("r-igraph" ,r-igraph) @@ -11693,14 +11857,14 @@ them in distributed compute environments.") (define-public r-future (package (name "r-future") - (version "1.16.0") + (version "1.17.0") (source (origin (method url-fetch) (uri (cran-uri "future" version)) (sha256 (base32 - "1xaqh0b2knf5bp23mc0kriq0iqhqna31q3b7d960piqjhzrb03dm")))) + "0d4y7gwcgqx2z0y6h5bh4lrz0m7b0inii5cjcq0kk8za762bi8rg")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -11725,14 +11889,14 @@ the local machine to, say, distributed processing on a remote compute cluster.") (define-public r-future-apply (package (name "r-future-apply") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) (uri (cran-uri "future.apply" version)) (sha256 (base32 - "1kgq6dv96hdy35kysqkn606nj7s9dp4ibgpm6n46gqhc5n75lzkk")))) + "095a681ngbwbp7v53ladwya7ar8fgwnlgr3r1yklf3vdxwd54xll")))) (properties `((upstream-name . "future.apply"))) (build-system r-build-system) (propagated-inputs @@ -12038,14 +12202,14 @@ users of rARPACK are advised to switch to the RSpectra package.") (define-public r-compositions (package (name "r-compositions") - (version "1.40-4") + (version "1.40-5") (source (origin (method url-fetch) (uri (cran-uri "compositions" version)) (sha256 (base32 - "0z40llyij3cc80ac1vzzrpykk6ysp89bn6dyyh40fbnc4anwx69a")))) + "0l9ayz2nb2wqhl7v9hkfl7pd950ba0h6hma8zqncbcxh6xh2k7l7")))) (build-system r-build-system) (propagated-inputs `(("r-bayesm" ,r-bayesm) @@ -12263,6 +12427,8 @@ select colors to use in your R code.") ("r-scales" ,r-scales) ("r-shiny" ,r-shiny) ("r-shinyjs" ,r-shinyjs))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/daattali/ggExtra") (synopsis "Marginal histograms for ggplot2 and other enhancements") (description @@ -12712,14 +12878,14 @@ R, enabling interactive analysis and visualization of genome-scale data.") (define-public r-rematch2 (package (name "r-rematch2") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (cran-uri "rematch2" version)) (sha256 (base32 - "00cznm6rk33b53w7zybkz7549bnydc66znpi5mb0xd24pmqp0rvq")))) + "13siaa8s2ji9q6hykhb2r34ag76335ypmbqr90xaqilbir0klhnh")))) (build-system r-build-system) (propagated-inputs `(("r-tibble" ,r-tibble))) @@ -12788,14 +12954,14 @@ can be used with function approximation, eligibility traces (Singh & Sutton, (define-public r-lemon (package (name "r-lemon") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (cran-uri "lemon" version)) (sha256 (base32 - "0wsn5bfg10wq4dnrgpyraz2bzx9p19c7hf1pwj3h4zmpqfgsdbpw")))) + "0m9hqwi709j9iwsxn8jh63741jiyr7ppwgqaw2zkv285p3m5wvd5")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -12804,6 +12970,7 @@ can be used with function approximation, eligibility traces (Singh & Sutton, ("r-knitr" ,r-knitr) ("r-lattice" ,r-lattice) ("r-plyr" ,r-plyr) + ("r-rlang" ,r-rlang) ("r-scales" ,r-scales))) (home-page "https://github.com/stefanedwards/lemon") (synopsis "Freshen up your ggplot2 plots") @@ -13084,21 +13251,23 @@ classes.") (define-public r-classint (package (name "r-classint") - (version "0.4-2") + (version "0.4-3") (source (origin (method url-fetch) (uri (cran-uri "classInt" version)) (sha256 (base32 - "0w980hrw8sgfdfyd5dsimalq7gwhvqm7507abk7k363pvgks23dv")))) + "1b1lqhpzxm6b8pza8l3s0cxy74mm9y45lcd3354i2v3bg8m7mply")))) (properties `((upstream-name . "classInt"))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) ("r-e1071" ,r-e1071) ("r-kernsmooth" ,r-kernsmooth))) - (native-inputs `(("gfortran" ,gfortran))) + (native-inputs + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) (home-page "https://github.com/r-spatial/classInt/") (synopsis "Choose univariate class intervals") (description @@ -13109,14 +13278,14 @@ univariate class intervals for mapping or other graphics purposes.") (define-public r-spdata (package (name "r-spdata") - (version "0.3.3") + (version "0.3.5") (source (origin (method url-fetch) (uri (cran-uri "spData" version)) (sha256 (base32 - "1v66qkvsx77hvv5c78v760yp0hknf7xzcjir2ri3ha456mz79yl5")))) + "09l9j1vjbfyc8mikb8kliqmdjkg4xigq3zhdx98mv51flh5q87lh")))) (properties `((upstream-name . "spData"))) (build-system r-build-system) (propagated-inputs @@ -13186,14 +13355,14 @@ tessellation.") (define-public r-sf (package (name "r-sf") - (version "0.9-0") + (version "0.9-2") (source (origin (method url-fetch) (uri (cran-uri "sf" version)) (sha256 (base32 - "117r9l3v7nkdj9bfy6qr0yz0gd5bv0pwnkc9vk2gv3xqj0h1fpf6")))) + "01xplgy5nlwy3ajfch4h1ssa1xhm7q0jzscpz04dmvgqfzwhhdfh")))) (build-system r-build-system) (inputs `(("gdal" ,gdal) @@ -13682,17 +13851,19 @@ authoring books and technical documents with R Markdown.") (define-public r-optparse (package (name "r-optparse") - (version "1.6.4") + (version "1.6.6") (source (origin (method url-fetch) (uri (cran-uri "optparse" version)) (sha256 (base32 - "0wyrc42ja3ab5szx46zmz8lm7vzfqxkjca0m0sms8g9hqbmmay6d")))) + "1l301dy3gc8pn7j00awcjh41wmc1ks9kswak255kbsa6f54rsxsi")))) (build-system r-build-system) (propagated-inputs `(("r-getopt" ,r-getopt))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/trevorld/optparse") (synopsis "Command line option parser") (description @@ -13851,7 +14022,7 @@ redirection on the fly, which appears to be very useful for teaching purposes, as the student can keep a copy of the produced output to keep all that they did during the course. The package comes with a vignette describing how to write HTML reports for statistical analysis. Finally, a driver for Sweave -allows to parse HTML flat files containing R code and to automatically write +parses HTML flat files containing R code and to automatically write the corresponding outputs (tables and graphs).") (license license:gpl2+))) @@ -14852,18 +15023,19 @@ external dependencies. This package has is implemented purely in R.") (define-public r-rex (package (name "r-rex") - (version "1.1.2") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "rex" version)) (sha256 (base32 - "0alsadgjgass3wr8y5d247j12qqzg454sc84vpskclrkmz778g5x")))) + "0m7bq8db3m5dhf01rw7xc7xy1ciq3m7dfgsl80p8cy4h8vqr3d06")))) (build-system r-build-system) (propagated-inputs - `(("r-lazyeval" ,r-lazyeval) - ("r-magrittr" ,r-magrittr))) + `(("r-lazyeval" ,r-lazyeval))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/kevinushey/rex") (synopsis "Friendly regular expressions") (description @@ -15194,20 +15366,89 @@ engine (Salmon et al., 2011) as provided by the package @code{sitmo}.") ;; whole is distributed under the terms of the AGPL 3. (license license:agpl3))) +(define-public r-ingredients + (package + (name "r-ingredients") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "ingredients" version)) + (sha256 + (base32 + "1q196y9xzn4wk44fa1bvh0hcbizgm93rwir82nyk31k5pgixk967")))) + (properties `((upstream-name . "ingredients"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-scales" ,r-scales))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://ModelOriented.github.io/ingredients/") + (synopsis "Effects and importances of model ingredients") + (description + "This is a collection of tools for assessment of feature importance and +feature effects. Key functions are: + +@itemize +@item @code{feature_importance()} for assessment of global level feature + importance, +@item @code{ceteris_paribus()} for calculation of the what-if plots, +@item @code{partial_dependence()} for partial dependence plots, +@item @code{conditional_dependence()} for conditional dependence plots, +@item @code{accumulated_dependence()} for accumulated local effects plots, +@item @code{aggregate_profiles()} and @code{cluster_profiles()} for + aggregation of ceteris paribus profiles, +@item generic @code{print()} and @code{plot()} for better usability of + selected explainers, +@item generic @code{plotD3()} for interactive, D3 based explanations, and +@item generic @code{describe()} for explanations in natural language. +@end itemize\n") + (license license:gpl3))) + +(define-public r-ibreakdown + (package + (name "r-ibreakdown") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "iBreakDown" version)) + (sha256 + (base32 + "0y4zjpyn8j76jrs5phjzs5lfq3lqjspmrwcksqv9wq0rbdgh14vk")))) + (properties `((upstream-name . "iBreakDown"))) + (build-system r-build-system) + (propagated-inputs `(("r-ggplot2" ,r-ggplot2))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://ModelOriented.github.io/iBreakDown/") + (synopsis "Model agnostic instance level variable attributions") + (description + "This package provides a model agnostic tool for decomposition of +predictions from black boxes. It supports additive attributions and +attributions with interactions. The Break Down Table shows contributions of +every variable to a final prediction. The Break Down Plot presents variable +contributions in a concise graphical way. This package works for +classification and regression models.") + (license license:gpl3))) + (define-public r-dalex (package (name "r-dalex") - (version "1.0.1") + (version "1.2.0") (source (origin (method url-fetch) (uri (cran-uri "DALEX" version)) (sha256 (base32 - "1jbyn57vn6d281a5y15h5d8ljin8cdb9lr7lbgggc950blyfv4g0")))) + "0mfcci54622gnk8al9fl2jhs9i2vfly7lam04y5rdacbyiam49j6")))) (properties `((upstream-name . "DALEX"))) (build-system r-build-system) - (propagated-inputs `(("r-ggplot2" ,r-ggplot2))) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-ibreakdown" ,r-ibreakdown) + ("r-ingredients" ,r-ingredients))) (home-page "https://pbiecek.github.io/DALEX/") (synopsis "Descriptive machine learning explanations") (description @@ -15785,22 +16026,22 @@ both R code and compiled C/C++/FORTRAN code.") (define-public r-systemfonts (package (name "r-systemfonts") - (version "0.1.1") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "systemfonts" version)) (sha256 (base32 - "0m0ljid683xcam2f14x7k2zv1yx4npac38a3gfv11vhxfbnpgp0z")))) + "1aba07djvxqdmnsdbwvzcsbm2fddnhrssa54xyrlviiwsv2c1qsd")))) (properties `((upstream-name . "systemfonts"))) (build-system r-build-system) (inputs `(("fontconfig" ,fontconfig) - ("freetype" ,freetype) ("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) (home-page "https://github.com/r-lib/systemfonts") (synopsis "System native font finding") (description @@ -15834,7 +16075,7 @@ be used further by e.g. graphic devices.") "This package provides several layout algorithms to visualize networks which are not part of the igraph library. Most are based on the concept of stress majorization by Gansner et al. (2004) -<doi:10.1007/978-3-540-31843-9_25>. Some more specific algorithms allow to +<doi:10.1007/978-3-540-31843-9_25>. Some more specific algorithms emphasize hidden group structures in networks or focus on specific nodes.") (license license:expat))) @@ -15931,14 +16172,14 @@ in pipelines.") (define-public r-parameters (package (name "r-parameters") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (cran-uri "parameters" version)) (sha256 (base32 - "0zin3ikc013hc713n5zs0dbhc3m4nfw1vhc3924z0mrww8r241xn")))) + "0mylxkf1y6mk4kf6c57x102sf4c800pfasjcfbf1hnsh6ya0m6dy")))) (properties `((upstream-name . "parameters"))) (build-system r-build-system) (propagated-inputs @@ -16162,14 +16403,14 @@ are noisy or are discontinuous at the solution.") (define-public r-txtplot (package (name "r-txtplot") - (version "1.0-3") + (version "1.0-4") (source (origin (method url-fetch) (uri (cran-uri "txtplot" version)) (sha256 (base32 - "1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h")))) + "00sriml48y70j18jz235dsfm5x3a81bnzskfp3hnv6cbjwwsmca4")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/txtplot/") (synopsis "Text-based plotting") @@ -16708,28 +16949,61 @@ for original research. A variety of user defined options and formatting are included.") (license license:gpl3))) +(define-public r-qgam + (package + (name "r-qgam") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "qgam" version)) + (sha256 + (base32 + "0lks2cj0p7irp1i01756v1l7i26d7alax1fbkc20qd6wpz840fi7")))) + (properties `((upstream-name . "qgam"))) + (build-system r-build-system) + (propagated-inputs + `(("r-doparallel" ,r-doparallel) + ("r-mgcv" ,r-mgcv) + ("r-plyr" ,r-plyr) + ("r-shiny" ,r-shiny))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/web/packages/qgam/") + (synopsis "Smooth additive quantile regression models") + (description + "This package provides smooth additive quantile regression models, fitted +using the methods of Fasiolo et al. (2017). Differently from @code{quantreg}, +the smoothing parameters are estimated automatically by marginal loss +minimization, while the regression coefficients are estimated using either +PIRLS or Newton algorithm. The learning rate is determined so that the +Bayesian credible intervals of the estimated effects have approximately the +correct coverage. The main function is @code{qgam()} which is similar to +@code{gam()} in the @code{mgcv} package, but fits non-parametric quantile +regression models.") + (license license:gpl2+))) + (define-public r-abtest (package (name "r-abtest") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (cran-uri "abtest" version)) (sha256 (base32 - "1ky3cf827kj24bhcpk00v5zl5jdkii1gca0x81ay1cjkzfispgws")))) + "1zfd13d7dplawk24dbdr1ka8cbdp5w6sxb0zlm7k4dhvn6ksi8h0")))) (properties `((upstream-name . "abtest"))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix) ("r-mvtnorm" ,r-mvtnorm) ("r-plotrix" ,r-plotrix) + ("r-qgam" ,r-qgam) ("r-rcolorbrewer" ,r-rcolorbrewer) ("r-rcpp" ,r-rcpp) ("r-sn" ,r-sn) - ("r-truncnorm" ,r-truncnorm) - ("r-vgam" ,r-vgam))) + ("r-truncnorm" ,r-truncnorm))) (home-page "https://cran.r-project.org/web/packages/abtest/") (synopsis "Bayesian A/B testing") (description @@ -17083,17 +17357,19 @@ See e.g. Gentle (2003) @url{doi:10.1007/b97336}.") (define-public r-lhs (package (name "r-lhs") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) (uri (cran-uri "lhs" version)) (sha256 (base32 - "0lzaqr7xi3ckln5nglv5xf5njm359slpz1jc6s02hpsqdw6armd4")))) + "0n0i1hr9gmc0hfcs2cvpjvdfgm6k26rhcq3q22r8ic0gfj953572")))) (properties `((upstream-name . "lhs"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/bertcarnell/lhs") (synopsis "Latin Hypercube Samples") (description @@ -17958,6 +18234,8 @@ allowed.") ("r-rsolnp" ,r-rsolnp) ("r-shiny" ,r-shiny) ("r-shinydashboard" ,r-shinydashboard))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/Wenchao-Ma/GDINA") (synopsis "Generalized DINA model framework") (description @@ -18055,14 +18333,14 @@ actigraphy-measured activity counts data.") (define-public r-fda (package (name "r-fda") - (version "2.4.8.1") + (version "5.1.4") (source (origin (method url-fetch) (uri (cran-uri "fda" version)) (sha256 (base32 - "0g50kj1dx7zarjv0lgwyzd2c7bv6di7nkndmywday5vjywgl8m7a")))) + "0js4ggl3aiwsqk6npwz72yhcznkb63smddds24ngf6a0p8yp5p2x")))) (properties `((upstream-name . "fda"))) (build-system r-build-system) (propagated-inputs @@ -18761,14 +19039,14 @@ Edition), John Wiley and Sons.") (define-public r-anthropometry (package (name "r-anthropometry") - (version "1.13") + (version "1.14") (source (origin (method url-fetch) (uri (cran-uri "Anthropometry" version)) (sha256 (base32 - "1f568ri1s6psaby8y737vrkarbjg64v89d4jyw23hy17apdmszr8")))) + "0y52g15pcgs4b68sfczn6nnpdqsialsb4mq3wb9a2gba7qdcf76y")))) (properties `((upstream-name . "Anthropometry"))) (build-system r-build-system) (propagated-inputs @@ -18781,6 +19059,8 @@ Edition), John Wiley and Sons.") ("r-nnls" ,r-nnls) ("r-rgl" ,r-rgl) ("r-shapes" ,r-shapes))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/Anthropometry/") (synopsis "Statistical methods for anthropometric data") (description @@ -19351,14 +19631,14 @@ Raftery, Appl.Statistics, 1989); it includes inference and basic methods.") (define-public r-forecast (package (name "r-forecast") - (version "8.11") + (version "8.12") (source (origin (method url-fetch) (uri (cran-uri "forecast" version)) (sha256 (base32 - "0ayidhnk9cxav2qi83jrvqlg2jh4zlf4lki4xw48gdqsmjvih9x1")))) + "1ycj5z4wd5a16nlcjy07dqm8jkih240xa02cn4wvysnnhkapyq7b")))) (properties `((upstream-name . "forecast"))) (build-system r-build-system) (propagated-inputs @@ -19459,17 +19739,20 @@ character codes as well as the UN M.49 area codes.") (define-public r-stopwords (package (name "r-stopwords") - (version "1.0") + (version "2.0") (source (origin (method url-fetch) (uri (cran-uri "stopwords" version)) (sha256 (base32 - "1nmi0bpd0c238g5b8ch1v034m5ng9llhs519cgxdrj3sh9fplwlv")))) + "155g00ansyqfpp1mzd2q6mn0k214xinf78nww2368h24kz761jjw")))) (properties `((upstream-name . "stopwords"))) (build-system r-build-system) - (propagated-inputs `(("r-isocodes" ,r-isocodes))) + (propagated-inputs + `(("r-desc" ,r-desc) + ("r-isocodes" ,r-isocodes) + ("r-usethis" ,r-usethis))) (home-page "https://github.com/quanteda/stopwords") (synopsis "Multilingual stopword lists") (description @@ -19503,14 +19786,14 @@ processing} (NLP) library @code{spaCy}, from @url{http://spacy.io}.") (define-public r-snowballc (package (name "r-snowballc") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (cran-uri "SnowballC" version)) (sha256 (base32 - "0b7pqdavf5jbf8si4ybnii5fff39p3b1rb5rym05j8s48hs7sqb1")))) + "1wwm71mp4b2mjb5985x782p6xj519dfrpd40qli7lmig6afyw3xi")))) (properties `((upstream-name . "SnowballC"))) (build-system r-build-system) (home-page "https://r-forge.r-project.org/projects/r-temis/") @@ -19573,14 +19856,14 @@ machine learning, visually representing text and text analyses, and more.") (define-public r-topicmodels (package (name "r-topicmodels") - (version "0.2-9") + (version "0.2-11") (source (origin (method url-fetch) (uri (cran-uri "topicmodels" version)) (sha256 (base32 - "1757r5x8bsl4dk106xg6481mvdkdz9vwg87n7rpbvdkavsvhyxs0")))) + "0jmp6wva99y0w40cfw7b0faylndhjam097x36ilc4vmyczcv89lw")))) (properties `((upstream-name . "topicmodels"))) (build-system r-build-system) (native-inputs @@ -20570,7 +20853,7 @@ techniques to average Bayesian predictive distributions.") "/share/zoneinfo")) #t))))) (native-inputs - `(("tzdata" ,tzdata) + `(("tzdata" ,tzdata-for-tests) ("pandoc" ,ghc-pandoc))) (propagated-inputs `(("r-bh" ,r-bh) @@ -20775,19 +21058,21 @@ Encyclopedia of Integer Sequences} (OEIS) in the function help page.") (define-public r-isoband (package (name "r-isoband") - (version "0.2.0") + (version "0.2.1") (source (origin (method url-fetch) (uri (cran-uri "isoband" version)) (sha256 (base32 - "1r023s73qypnvpx18znr9ymylr022m90v65mz2jasn0a1kjrfcbq")))) + "1ndlnv4g9pbd02y50sx4ffg2ccwqbi7fm2v1lh22wdd8pq33d20q")))) (properties `((upstream-name . "isoband"))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) ("r-testthat" ,r-testthat))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/wilkelab/isoband") (synopsis "Generate isolines and isobands from regularly spaced elevation grids") (description @@ -20895,13 +21180,13 @@ carrying out convergence diagnostics and statistical and graphical analysis of (define-public r-httpcode (package (name "r-httpcode") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (cran-uri "httpcode" version)) (sha256 (base32 - "06k853ihwzkcx4z3jzazpb03p91frqkwz18jy4fwr8j2nwyqbhgv")))) + "0xig0rvc81hg7mw0iq9s0an1nw24fg0kfs2p2n6dzhwl9w506fjr")))) (build-system r-build-system) (home-page "https://github.com/sckott/httpcode") (synopsis "HTTP status code helper") @@ -21027,3 +21312,324 @@ where tcltk is present are supported.") with R, controlling a remote R session (the server) from a local one (the client).") (license license:bsd-2))) + +(define-public r-asd + (package + (name "r-asd") + (version "2.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "asd" version)) + (sha256 + (base32 + "0p3r4qjam3sl3rpcilb0pgx4xx3ly71xqnvkv31vzjs885lgxz4l")))) + (properties `((upstream-name . "asd"))) + (build-system r-build-system) + (propagated-inputs + `(("r-mvtnorm" ,r-mvtnorm))) + (home-page "https://cran.r-project.org/web/packages/asd") + (synopsis "Simulations for Adaptive Seamless Designs") + (description + "This package provdes means to run simulations for adaptive seamless +designs with and without early outcomes for treatment selection and +subpopulation type designs.") + (license license:gpl3))) + +(define-public r-nbconvertr + (package + (name "r-nbconvertr") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "nbconvertR" version)) + (sha256 + (base32 + "0yhmz177r1miain65vspclahhz8cg7638ldbpsw8ylgf7a60l0sg")))) + (properties `((upstream-name . "nbconvertR"))) + (build-system r-build-system) + (inputs + `(("jupyter" ,python-nbconvert) + ("pandoc" ,ghc-pandoc))) + (home-page "https://cran.r-project.org/web/packages/nbconvertR/") + (synopsis "Vignette engine wrapping Jupyter notebooks") + (description + "This package calls the Jupyter script @code{nbconvert} to create +vignettes from notebooks. Those notebooks (@code{.ipynb} files) are files +containing rich text, code, and its output. Code cells can be edited and +evaluated interactively.") + (license license:gpl3))) + +(define-public r-bridgesampling + (package + (name "r-bridgesampling") + (version "1.0-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "bridgesampling" version)) + (sha256 + (base32 + "1awhvv0v42w2q6llqi1wqpaiv5zx74cqzigdsvphy2jfp8ajw64y")))) + (properties + `((upstream-name . "bridgesampling"))) + (build-system r-build-system) + (propagated-inputs + `(("r-brobdingnag" ,r-brobdingnag) + ("r-coda" ,r-coda) + ("r-matrix" ,r-matrix) + ("r-mvtnorm" ,r-mvtnorm) + ("r-scales" ,r-scales) + ("r-stringr" ,r-stringr))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/quentingronau/bridgesampling") + (synopsis "Bridge sampling for marginal likelihoods and Bayes factors") + (description + "This package provides functions for estimating marginal likelihoods, +Bayes factors, posterior model probabilities, and normalizing constants in +general, via different versions of bridge sampling.") + (license license:gpl2+))) + +(define-public r-tea + (package + (name "r-tea") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "tea" version)) + (sha256 + (base32 + "0ql7lrxk0ihm49kqsvz79ig8i54rwiy9nxav4v9hy72j9kj5bgjn")))) + (properties + `((upstream-name . "tea"))) + (build-system r-build-system) + (propagated-inputs + `(("r-matrix" ,r-matrix))) + (home-page "https://cran.r-project.org/web/packages/tea/") + (synopsis "Threshold estimation approaches") + (description + "This package provides different approaches for selecting the threshold +in generalized Pareto distributions. Most of them are based on minimizing the +AMSE-criterion or atleast by reducing the bias of the assumed GPD-model. +Others are heuristically motivated by searching for stable sample paths, i.e. +a nearly constant region of the tail index estimator with respect to k, which +is the number of data in the tail. The third class is motivated by graphical +inspection. In addition, a sequential testing procedure for GPD-GoF-tests +is also implemented here.") + (license license:gpl3))) + +(define-public r-awsmethods + (package + (name "r-awsmethods") + (version "1.1-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "awsMethods" version)) + (sha256 + (base32 + "0hbmrcpdyg15zg4rysscsmxpxlpy0dkxx2aa63qibq7l1k14v4sh")))) + (properties + `((upstream-name . "awsMethods"))) + (build-system r-build-system) + (home-page "http://www.wias-berlin.de/software/imaging/") + (synopsis "Class and methods definitions") + (description + "This package defines the generic method @code{extract} and provides +@code{openMP} support as needed in several packages like +@code{aws}, @code{adimpro}, @code{fmri}, and @code{dwi}.") + (license license:gpl2+))) + +(define-public r-aws + (package + (name "r-aws") + (version "2.4-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "aws" version)) + (sha256 + (base32 + "1czlsy64nx6j7h1smgb561yyv3f98pwqwglk77yla4mx3fp14bvq")))) + (properties + `((upstream-name . "aws"))) + (build-system r-build-system) + (propagated-inputs + `(("r-awsmethods" ,r-awsmethods) + ("r-gsl" ,r-gsl))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/aws/") + (synopsis "Adaptive weights smoothing") + (description + "This package provides a collection of R-functions implementing adaptive +smoothing procedures in 1D, 2D and 3D. This includes the +Propagation-Separation approach to adaptive smoothing, the @dfn{Intersecting +Confidence Intervals} (ICI), variational approaches, and a non-local means +filter.") + (license license:gpl2+))) + +(define-public r-sgloptim + (package + (name "r-sgloptim") + (version "1.3.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "sglOptim" version)) + (sha256 + (base32 + "15bkkvgp9v9vsp65wps48g3c2fa0fj1025hbrziywq14j7wayyjr")))) + (properties + `((upstream-name . "sglOptim"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bh" ,r-bh) + ("r-doparallel" ,r-doparallel) + ("r-foreach" ,r-foreach) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rcppprogress" ,r-rcppprogress))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/nielsrhansen/sglOptim") + (synopsis "Generic sparse group Lasso solver") + (description + "This package provides a fast generic solver for sparse group lasso +optimization problems. The loss (objective) function must be defined in a C++ +module. The optimization problem is solved using a coordinate gradient +descent algorithm. Convergence of the algorithm is established and the +algorithm is applicable to a broad class of loss functions. Use of parallel +computing for cross validation and subsampling is supported through the +@code{foreach} and @code{doParallel} packages.") + (license license:gpl2+))) + +(define-public r-grouped + (package + (name "r-grouped") + (version "0.6-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "grouped" version)) + (sha256 + (base32 + "1glxgacpwk7yjbkwg5ci6bmb2il6hf5zhydwi5bbq6hc032m9976")))) + (properties + `((upstream-name . "grouped"))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass))) + (home-page "https://cran.r-project.org/web/packages/grouped/") + (synopsis "Regression analysis of grouped and coarse data") + (description + "This package provides regression models for grouped and coarse data, +under the coarsened at random assumption.") + (license license:gpl2+))) + +(define-public r-stam + (package + (name "r-stam") + (version "0.0-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "stam" version)) + (sha256 + (base32 + "1x1j45fir64kffny0nssb2hwn4rcp8gd2cjv6fw4yy0l4d0xi5iv")))) + (properties + `((upstream-name . "stam"))) + (build-system r-build-system) + (propagated-inputs + `(("r-np" ,r-np) + ("r-sp" ,r-sp))) + (home-page "https://cran.r-project.org/web/packages/stam") + (synopsis "Spatio-temporal analysis and modelling") + (description + "This package provides various methods to conduct Spatio-Temporal +Analysis and Modelling, including Exploratory Spatio-Temporal Analysis and +Inferred Spatio-Temporal Modelling.") + (license license:gpl2+))) + +(define-public r-dcv + (package + (name "r-dcv") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "dcv" version)) + (sha256 + (base32 + "12c716x8dnxnqksibpmyysqp2axggvy9dpd55s9bhnsvqvi6dshj")))) + (properties + `((upstream-name . "dcv"))) + (build-system r-build-system) + (propagated-inputs + `(("r-lmtest" ,r-lmtest))) + (home-page "https://cran.r-project.org/web/packages/dcv/") + (synopsis "Conventional cross-validation statistics for climate-growth model") + (description + "This package performs several conventional cross-validation statistical +methods for climate-growth model in the climate reconstruction from tree +rings, including Sign Test statistic, Reduction of Error statistic, Product +Mean Test, Durbin-Watson statistic etc.") + (license license:gpl2))) + +(define-public r-rcdd + (package + (name "r-rcdd") + (version "1.2-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "rcdd" version)) + (sha256 + (base32 + "0pzpbqnlgzr240iici70278py5wnbbxkzlgn112f9wv5ga3riric")))) + (properties + `((upstream-name . "rcdd"))) + (build-system r-build-system) + (inputs + `(("gmp" ,gmp))) + (home-page "https://www.stat.umn.edu/geyer/rcdd/") + (synopsis "Computational geometry") + (description + "This package converts back and forth between two representations of a +convex polytope: as solution of a set of linear equalities and inequalities +and as convex hull of set of points and rays. Also does linear programming +and redundant generator elimination. All functions can use exact +infinite-precision rational arithmetic.") + (license license:gpl2))) + +(define-public r-rxnat + (package + (name "r-rxnat") + (version "1.0.8") + (source + (origin + (method url-fetch) + (uri (cran-uri "Rxnat" version)) + (sha256 + (base32 + "12xcs2l6vn50bwzfmv60j1qahjw2npfm1a3yjhffcxzh6p8chwbg")))) + (properties + `((upstream-name . "Rxnat"))) + (build-system r-build-system) + (propagated-inputs + `(("r-httr" ,r-httr) + ("r-rcurl" ,r-rcurl))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/web/packages/Rxnat/") + (synopsis "Queries and extracts images from neuroimaging datasets") + (description + "This package allows communication with the Extensible Neuroimaging +Archive Toolkit. Rxnat uses the XNAT REST API to perform data queries and +download images.") + (license license:gpl2))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 64c170df73..d318a05d71 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages ssh) #:use-module (gnu packages tls) + #:use-module (gnu packages video) #:use-module (gnu packages version-control) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -72,8 +74,46 @@ library in Rust.") (license license:expat))) +(define-public rust-addr2line-0.11 + (package + (name "rust-addr2line") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "addr2line" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sk5g8cb2yynlcm0wcqff9l9c9ml69rqgfrrbii0ybgdc236jkhw")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ; Not all test files included. + #:cargo-inputs + (("rust-rustc-demangle" ,rust-rustc-demangle-0.1) + ("rust-object" ,rust-object-0.17) + ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) + ("rust-cpp-demangle" ,rust-cpp-demangle-0.2) + ("rust-gimli" ,rust-gimli-0.20) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-lazycell" ,rust-lazycell-1.2)) + #:cargo-development-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-clap" ,rust-clap-2) + ("rust-findshlibs" ,rust-findshlibs-0.5) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-rustc-test" ,rust-rustc-test-0.3)))) + (home-page "https://github.com/gimli-rs/addr2line") + (synopsis "Symbolication library written in Rust, using gimli") + (description + "This package provides a cross-platform symbolication library written in +Rust, using gimli.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-addr2line-0.9 (package + (inherit rust-addr2line-0.11) (name "rust-addr2line") (version "0.9.0") (source @@ -85,7 +125,6 @@ library in Rust.") (sha256 (base32 "17rlf04nx3g3rcy661v24ksnmpk6vqn680g5b5sp8lk20iih2xnx")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -100,15 +139,9 @@ library in Rust.") #:cargo-development-inputs (("rust-backtrace" ,rust-backtrace-0.3) ("rust-clap" ,rust-clap-2) - ("rust-findshlibs" ,rust-findshlibs-0.5) + ;("rust-findshlibs" ,rust-findshlibs-0.4) ("rust-memmap" ,rust-memmap-0.7) - ("rust-rustc-test" ,rust-rustc-test-0.3)))) - (home-page "https://github.com/gimli-rs/addr2line") - (synopsis "Symbolication library written in Rust, using gimli") - (description - "This package provides a cross-platform symbolication library written in -Rust, using gimli.") - (license (list license:asl2.0 license:expat)))) + ("rust-rustc-test" ,rust-rustc-test-0.3)))))) (define-public rust-adler32-1.0 (package @@ -136,6 +169,34 @@ the Rust programming language.") (license (list license:bsd-3 license:zlib)))) +(define-public rust-afl-0.5 + (package + (name "rust-afl") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "afl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0azpi917l8nhvx25n2v670nvkxkrhcwmddfi85qnr6kchmi6y946")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rustc-version" ,rust-rustc-version-0.2) + ("rust-cc" ,rust-cc-1.0) + ("rust-xdg" ,rust-xdg-2.2) + ("rust-clap" ,rust-clap-2)))) + (home-page "https://github.com/rust-fuzz/afl.rs") + (synopsis + "Fuzzing Rust code with american-fuzzy-lop") + (description + "Fuzz Rust code with american-fuzzy-lop.") + (license license:asl2.0))) + (define-public rust-afl-0.4 (package (name "rust-afl") @@ -156,9 +217,6 @@ the Rust programming language.") (("rust-cc" ,rust-cc-1.0) ("rust-clap" ,rust-clap-2) ("rust-rustc-version" ,rust-rustc-version-0.2) - ("rust-xdg" ,rust-xdg-2.2)) - #:cargo-development-inputs - (("rust-rustc-version" ,rust-rustc-version-0.2) ("rust-xdg" ,rust-xdg-2.2)))) (home-page "https://github.com/rust-fuzz/afl.rs") (synopsis @@ -170,7 +228,7 @@ the Rust programming language.") (define-public rust-aho-corasick-0.7 (package (name "rust-aho-corasick") - (version "0.7.8") + (version "0.7.10") (source (origin (method url-fetch) @@ -179,10 +237,10 @@ the Rust programming language.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "048q5vr1qac4lf90z80lw8kcya6qmlxw857xhwxsssk832jdafkl")))) + "1nka9509afjgal6lpymn8w2lq11dmjwxs8yjcmzys966if5l05l7")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2.2)) + `(#:cargo-inputs (("rust-memchr" ,rust-memchr-2.3)) #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)))) (home-page "https://github.com/BurntSushi/aho-corasick") @@ -450,6 +508,44 @@ text or blue underlined text, on ANSI terminals.") @code{std::error::Error}.") (license (list license:expat license:asl2.0)))) +(define-public rust-aom-sys-0.1 + (package + (name "rust-aom-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "aom-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ix3djcf84kk53h6fac73n7jc614745n7kbmikxwi3s73b6vzgsr")))) + (build-system cargo-build-system) + (arguments + `(;#:skip-build? #t + #:cargo-inputs + (("rust-bindgen" ,rust-bindgen-0.51) + ("rust-metadeps" ,rust-metadeps-1.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libaom" ,libaom) + ("libclang" ,clang) + ("llvm" ,llvm))) + (home-page "https://github.com/rust-av/aom-rs") + (synopsis "FFI bindings to aom") + (description "This package provides FFI bindings to aom.") + (license license:expat))) + (define-public rust-approx-0.3 (package (name "rust-approx") @@ -492,6 +588,26 @@ text or blue underlined text, on ANSI terminals.") "153awzwywmb61xg857b80l63b1x6hifx2pha7lxf6fck9qxwraq8")))) (arguments '()))) +(define-public rust-arbitrary-0.2 + (package + (name "rust-arbitrary") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "arbitrary" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1i3fhcdyjq4isn22xx2svmpfr5hwyzi0wavbm07fs8i2dv5pdkv4")))) + (build-system cargo-build-system) + (home-page "https://github.com/nagisa/rust_arbitrary/") + (synopsis "Trait for generating structured data from unstructured data") + (description + "The trait for generating structured data from unstructured data.") + (license (list license:expat license:asl2.0)))) + (define-public rust-arc-swap-0.4 (package (name "rust-arc-swap") @@ -547,6 +663,32 @@ text or blue underlined text, on ANSI terminals.") ("rust-proptest" ,rust-proptest-0.9) ("rust-version-sync" ,rust-version-sync-0.8)))))) +(define-public rust-arg-enum-proc-macro-0.3 + (package + (name "rust-arg-enum-proc-macro") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "arg_enum_proc_macro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "021rr6j3n031ynfbm7kwb3j3bxvbsz40n0nqi78k47d3p92rihcv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/lu-zero/arg_enum_proc_macro") + (synopsis "Procedural macro compatible with clap arg_enum") + (description + "This package provides a procedural macro compatible with clap's +@code{arg_enum}.") + (license license:expat))) + (define-public rust-argon2rs-0.2 (package (name "rust-argon2rs") @@ -638,7 +780,7 @@ ArrayVec and ArrayString.") (package (inherit rust-arrayvec-0.5) (name "rust-arrayvec") - (version "0.4.10") + (version "0.4.12") (source (origin (method url-fetch) @@ -647,7 +789,7 @@ ArrayVec and ArrayString.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0wcch3ca9qvkixgdbd2afrv1xa27l83vpraf7frsh9l8pivgpiwj")))) + "1fdiv5m627gh6flp4mpmi1mh647imm9x423licsr11psz97d97yd")))) (arguments `(#:skip-build? #t #:cargo-inputs @@ -658,10 +800,38 @@ ArrayVec and ArrayString.") ("rust-matches" ,rust-matches-0.1) ("rust-serde-test" ,rust-serde-test-1.0)))))) +(define-public rust-ascii-1.0 + (package + (name "rust-ascii") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ascii" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0281gc828q4j692gb66jfdr5k16gyszgqflylh0pp30rllv63xdv")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-serde" ,rust-serde-1.0) + ("rust-serde-test" ,rust-serde-test-1.0)))) + (home-page "https://github.com/tomprogrammer/rust-ascii") + (synopsis "ASCII-only equivalents to `char`, `str` and `String`.") + (description + "A rust library that provides ASCII-only string and character types, +equivalent to the @code{char}, @code{str} and @code{String} types in the +standard library.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-ascii-0.9 (package + (inherit rust-ascii-1.0) (name "rust-ascii") - (version "0.9.1") + (version "0.9.3") (source (origin (method url-fetch) @@ -670,20 +840,12 @@ ArrayVec and ArrayString.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0dck6rsjnxlczyjnncn8hf16bxj42m1vi6s2n32c1jg2ijd9dz55")))) - (build-system cargo-build-system) + "0km3zzkhrr22drf9p1zcblqirlxkdc7zra25acpi0h8qax5c1cga")))) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-quickcheck" ,rust-quickcheck-0.8) + `(#:cargo-inputs + (("rust-quickcheck" ,rust-quickcheck-0.6) ("rust-serde" ,rust-serde-1.0) - ("rust-serde-test" ,rust-serde-test-1.0)))) - (home-page "https://github.com/tomprogrammer/rust-ascii") - (synopsis - "ASCII-only equivalents to char, str and String") - (description - "ASCII-only equivalents to @code{char}, @code{str} and @code{String}.") - (license (list license:expat license:asl2.0)))) + ("rust-serde-test" ,rust-serde-test-1.0)))))) (define-public rust-assert-matches-1.3 (package @@ -733,7 +895,7 @@ ArrayVec and ArrayString.") (define-public rust-atty-0.2 (package (name "rust-atty") - (version "0.2.13") + (version "0.2.14") (source (origin (method url-fetch) @@ -741,12 +903,13 @@ ArrayVec and ArrayString.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "140sswp1bwqwc4zk80bxkbnfb3g936hgrb77g9g0k1zcld3wc0qq")))) + "1s7yslcs6a28c5vz7jwj63lkfgyx8mx99fdirlhi9lbhhzhrpcyr")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) + (("rust-hermit-abi" ,rust-hermit-abi-0.1) + ("rust-libc" ,rust-libc-0.2) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/softprops/atty") (synopsis "Simple interface for querying atty") @@ -827,7 +990,7 @@ in Rust.") (define-public rust-backtrace-0.3 (package (name "rust-backtrace") - (version "0.3.32") + (version "0.3.46") (source (origin (method url-fetch) @@ -836,18 +999,18 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1rgsaha3b6wxh564s4jqn5hl5pkmg214blyjjs1svafib190zd8q")))) + "17hh1vrhfd01qpjilrdpy7q0lf2j2qv36achpg37q92rff4r5rmi")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-addr2line" ,rust-addr2line-0.9) + (("rust-addr2line" ,rust-addr2line-0.11) ("rust-backtrace-sys" ,rust-backtrace-sys-0.1) ("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) ("rust-cpp-demangle" ,rust-cpp-demangle-0.2) ("rust-findshlibs" ,rust-findshlibs-0.5) - ("rust-goblin" ,rust-goblin-0.0) + ("rust-goblin" ,rust-goblin-0.2) ("rust-libc" ,rust-libc-0.2) ("rust-memmap" ,rust-memmap-0.7) ("rust-rustc-demangle" ,rust-rustc-demangle-0.1) @@ -866,7 +1029,7 @@ trace (backtrace) at runtime in a Rust program.") (define-public rust-backtrace-sys-0.1 (package (name "rust-backtrace-sys") - (version "0.1.32") + (version "0.1.35") (source (origin (method url-fetch) @@ -874,16 +1037,14 @@ trace (backtrace) at runtime in a Rust program.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "14c406z8bdmms8a5l8cv79jfkz1mk10qk5p97izf4vai53qparax")))) + "066iviphi72mx9hd3njzsplk5v45jhi10mrccbbyij391ahsps3x")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)) - #:cargo-development-inputs - (("rust-cc" ,rust-cc-1.0)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-cc" ,rust-cc-1.0)))) (home-page "https://github.com/rust-lang/backtrace-rs") (synopsis "Bindings to the libbacktrace gcc library") (description @@ -983,8 +1144,64 @@ and no more (caveat: black_box is still missing!).") (license (list license:asl2.0 license:expat)))) +(define-public rust-better-panic-0.2 + (package + (name "rust-better-panic") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "better-panic" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0xl48v6pd9ys7wp0ni62i6q73xpd1nhf92z09sjc9n3lrj0ac4ix")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-console" ,rust-console-0.9) + ("rust-syntect" ,rust-syntect-3.3)))) + (home-page "https://github.com/mitsuhiko/better-panic") + (synopsis "Pretty backtraces inspired by Python's tracebacks") + (description + "This package provides pretty panic backtraces inspired by Python's +tracebacks.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-bincode-1.2 + (package + (name "rust-bincode") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "bincode" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gvxm3n67xv1874fwxmnlircdlphlk1hcw75ykrrnw9l2nky4lsp")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1.0) + ("rust-byteorder" ,rust-byteorder-1.3)) + #:cargo-development-inputs + (("rust-serde-bytes" ,rust-serde-bytes-0.11) + ("rust-serde-derive" ,rust-serde-derive-1.0)))) + (home-page "https://github.com/servo/bincode") + (synopsis + "Binary serialization/deserialization strategy") + (description + "This package provides a binary serialization/deserialization strategy +that uses Serde for transforming structs into bytes and vice versa!") + (license license:expat))) + (define-public rust-bincode-1.1 (package + (inherit rust-bincode-1.2) (name "rust-bincode") (version "1.1.4") (source @@ -996,7 +1213,6 @@ and no more (caveat: black_box is still missing!).") (sha256 (base32 "1xx6bp39irvsndk6prnmmq8m1l9p6q2qj21j6mfks2y81pjsa14z")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -1005,19 +1221,105 @@ and no more (caveat: black_box is still missing!).") ("rust-serde" ,rust-serde-1.0)) #:cargo-development-inputs (("rust-serde-bytes" ,rust-serde-bytes-0.11) - ("rust-serde-derive" ,rust-serde-derive-1.0)))) - (home-page "https://github.com/servo/bincode") + ("rust-serde-derive" ,rust-serde-derive-1.0)))))) + +(define-public rust-bindgen-0.52 + (package + (name "rust-bindgen") + (version "0.52.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0mzy2gjiaggl602yn4a11xzrxfj18kl7pwqa5yv32njkxd257j7i")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-shlex" ,rust-shlex-0.1) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-peeking-take-while" + ,rust-peeking-take-while-0.1) + ("rust-clang-sys" ,rust-clang-sys-0.28) + ("rust-cexpr" ,rust-cexpr-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-regex" ,rust-regex-1.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-clap" ,rust-clap-2) + ("rust-which" ,rust-which-3.1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-diff" ,rust-diff-0.1) + ("rust-shlex" ,rust-shlex-0.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))) + (inputs + `(("libclang" ,clang))) + (home-page "https://rust-lang.github.io/rust-bindgen/") (synopsis - "Binary serialization/deserialization strategy") + "Automatically generates Rust FFI bindings to C and C++ libraries") (description - "This package provides a binary serialization/deserialization strategy -that uses Serde for transforming structs into bytes and vice versa!") - (license license:expat))) + "Automatically generates Rust FFI bindings to C and C++ libraries.") + (license license:bsd-3))) + +(define-public rust-bindgen-0.51 + (package + (inherit rust-bindgen-0.52) + (name "rust-bindgen") + (version "0.51.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x9gndlnwmxsihxvsc3izyyss7g8b2djn0daafshj1gcy69i7mzb")))) + (arguments + `(#:cargo-inputs + (("rust-shlex" ,rust-shlex-0.1) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-peeking-take-while" + ,rust-peeking-take-while-0.1) + ("rust-clang-sys" ,rust-clang-sys-0.28) + ("rust-cexpr" ,rust-cexpr-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-env-logger" ,rust-env-logger-0.6) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-rustc-hash" ,rust-rustc-hash-1.1) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-regex" ,rust-regex-1.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-clap" ,rust-clap-2) + ("rust-which" ,rust-which-3.1)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-diff" ,rust-diff-0.1) + ("rust-shlex" ,rust-shlex-0.1)))) + (inputs `()))) (define-public rust-bindgen-0.50 (package + (inherit rust-bindgen-0.51) (name "rust-bindgen") - (version "0.50.0") + (version "0.50.1") (source (origin (method url-fetch) @@ -1026,8 +1328,7 @@ that uses Serde for transforming structs into bytes and vice versa!") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1k4n1d002vrfn1mlpww3ib7f275yn4rpxfwkqpr9bym27zg17ab5")))) - (build-system cargo-build-system) + "1fp98x0k4cawil3rqxsfrb58pq3mb5mn37rp745zxfmjfigml3nb")))) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) @@ -1041,22 +1342,49 @@ that uses Serde for transforming structs into bytes and vice versa!") ("rust-log" ,rust-log-0.4) ("rust-peeking-take-while" ,rust-peeking-take-while-0.1) ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-1.0) + ("rust-quote" ,rust-quote-0.6) ("rust-regex" ,rust-regex-1.1) ("rust-shlex" ,rust-shlex-0.1) ("rust-which" ,rust-which-2.0)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) ("rust-diff" ,rust-diff-0.1) - ("rust-shlex" ,rust-shlex-0.1)))) - (home-page - "https://rust-lang.github.io/rust-bindgen/") - (synopsis - "Automatically generates FFI bindings to C and C++ libraries") - (description - "Automatically generates Rust FFI bindings to C and C++ -libraries.") - (license license:bsd-3))) + ("rust-shlex" ,rust-shlex-0.1)))))) + +(define-public rust-bindgen-0.37 + (package + (inherit rust-bindgen-0.50) + (name "rust-bindgen") + (version "0.37.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "bindgen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08f2cyzr8fc027mzj2lhmn5j3w318g2ql7yfw5ngxa3yhy1an98v")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-peeking-take-while" + ,rust-peeking-take-while-0.1) + ("rust-cexpr" ,rust-cexpr-0.2) + ("rust-clang-sys" ,rust-clang-sys-0.23) + ("rust-proc-macro2" ,rust-proc-macro2-0.3) ; 0.3.5 + ("rust-log" ,rust-log-0.4) + ("rust-env-logger" ,rust-env-logger-0.5) + ("rust-quote" ,rust-quote-0.5) + ("rust-which" ,rust-which-1.0) + ("rust-regex" ,rust-regex-1.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-clap" ,rust-clap-2)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-diff" ,rust-diff-0.1) + ("rust-shlex" ,rust-shlex-0.1)))))) (define-public rust-bindgen-0.33 (package @@ -1193,6 +1521,29 @@ behave like a set of bitflags.") (base32 "0v8hh6wdkpk9my8z8442g4hqrqf05h0qj53dsay6mv18lqvqklda")))))) +(define-public rust-bitstream-io-0.8 + (package + (name "rust-bitstream-io") + (version "0.8.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "bitstream-io" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00a6wy54s1dmadm5xz8k2cbsd7ixvm48mlc45bk0fdy0pbra6jk1")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/tuffy/bitstream-io") + (synopsis + "Library for reading/writing un-aligned values from/to streams in big-endian and little-endian formats.") + (description + "Library for reading/writing un-aligned values from/to streams in big-endian and little-endian formats.") + (license (list license:expat license:asl2.0)))) + (define-public rust-blake2-0.8 (package (name "rust-blake2") @@ -1428,7 +1779,7 @@ Bresenham's line algorithm.") (define-public rust-bstr-0.2 (package (name "rust-bstr") - (version "0.2.1") + (version "0.2.12") (source (origin (method url-fetch) @@ -1437,7 +1788,7 @@ Bresenham's line algorithm.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0prq6yk3da0k5bg2czcgg1i4ynsq1l59xc89ycsv6v7p08p5gh3c")))) + "0hazfback6i2k3vhhwyj8h46id3y58zxqh22pz46hj9r1zayd298")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1476,7 +1827,7 @@ UTF-8.") (define-public rust-bumpalo-3 (package (name "rust-bumpalo") - (version "3.2.0") + (version "3.2.1") (source (origin (method url-fetch) @@ -1485,7 +1836,7 @@ UTF-8.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0hpp4wfcn04gnl1ji4a80b85xwknsci81xqyllq174gq9z0rsd8z")))) + "11silgpsnfv6ir7j2nh7a69564f92vq20k9ha7zcbynpiav9vbhj")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; cargo_readme_up_to_date test fails @@ -1567,6 +1918,34 @@ UTF-8.") in a byte slice, fast.") (license (list license:asl2.0 license:expat)))) +(define-public rust-bytecount-0.4 + (package + (name "rust-bytecount") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "bytecount" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13qpy38z5wx0rzcdvr2h0ixbfgi1dbrif068il3hwn3k2mah88mr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-packed-simd" ,rust-packed-simd-0.3)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.2) + ("rust-quickcheck" ,rust-quickcheck-0.6) + ("rust-rand" ,rust-rand-0.4)))) + (home-page "https://github.com/llogiq/bytecount") + (synopsis "Counting bytes really fast") + (description + "This package counts occurrences of a given byte, or the number of UTF-8 +code points, in a byte slice, fast.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-byteorder-1.3 (package (name "rust-byteorder") @@ -1910,6 +2289,64 @@ exposed as Reader/Writer streams.") capabilities") (license (list license:expat license:asl2.0)))) +(define-public rust-cargo-metadata-0.9 + (package + (name "rust-cargo-metadata") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "cargo_metadata" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00pjms89lghvizh4d55lz80hvrih9r55xv9m5wd9vcsgc163gqs6")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-semver" ,rust-semver-0.9) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-serde-json" ,rust-serde-json-1.0)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-docopt" ,rust-docopt-1.1) + ("rust-structopt" ,rust-structopt-0.2)))) + (home-page "https://github.com/oli-obk/cargo_metadata") + (synopsis "Structured access to the output of `cargo metadata`") + (description + "This package provides structured access to the output of @code{cargo +metadata}.") + (license license:expat))) + +(define-public rust-cargo-metadata-0.6 + (package + (inherit rust-cargo-metadata-0.9) + (name "rust-cargo-metadata") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "cargo_metadata" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1givpi2w7iwqqnl87x5yc15zcm5hs6yw490sb6abkfp1h39v9lg5")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-error-chain" ,rust-error-chain-0.12) + ("rust-semver" ,rust-semver-0.9) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-serde-json" ,rust-serde-json-1.0)) + #:cargo-development-inputs + (;("rust-docopt" ,rust-docopt-0.8) + ("rust-clap" ,rust-clap-2)))))) + (define-public rust-cargon-0.0 (package (name "rust-cargon") @@ -1936,7 +2373,7 @@ used in argon2rs' bench suite.") (define-public rust-cast-0.2 (package (name "rust-cast") - (version "0.2.2") + (version "0.2.3") (source (origin (method url-fetch) @@ -1945,12 +2382,14 @@ used in argon2rs' bench suite.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "09yl2700crxa4n860b080msij25klvs1kfzazhp2aihchvr16q4j")))) + "1c5z7zryj0zwnhdgs6rw5dfvnlwc1vm19jzrlgx5055alnwk952b")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t + #:cargo-inputs + (("rust-rustc-version" ,rust-rustc-version-0.2)) #:cargo-development-inputs - (("rust-quickcheck" ,rust-quickcheck-0.8)))) + (("rust-quickcheck" ,rust-quickcheck-0.9)))) (home-page "https://github.com/japaric/cast.rs") (synopsis "Ergonomic, checked cast functions for primitive types") @@ -2012,7 +2451,7 @@ archive to be linked into Rustcode.") (define-public rust-cexpr-0.3 (package (name "rust-cexpr") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) @@ -2021,7 +2460,7 @@ archive to be linked into Rustcode.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1by64ini3f058pwad3immx5cc12wr0m0kwgaxa8apzym03mj9ym7")))) + "07fdfj4ff2974y33yixrb657riq9zl9b9h9lr0h7ridhhvxvbrgw")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -2197,7 +2636,7 @@ for computer graphics.") (define-public rust-chrono-0.4 (package (name "rust-chrono") - (version "0.4.7") + (version "0.4.11") (source (origin (method url-fetch) @@ -2206,23 +2645,26 @@ for computer graphics.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1glam3iqhshbamzgf0npn7hgghski92r31lm7gg8841hnxc1zn3p")))) + "1cmmxamkzzs36zncqjjr7qm7xkb6zyrkjslnlj3axdgqki84y2c0")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) - ("rust-num-integer" ,rust-num-integer-0.1) + (("rust-num-integer" ,rust-num-integer-0.1) ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-js-sys" ,rust-js-sys-0.3) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-serde" ,rust-serde-1.0) - ("rust-time" ,rust-time-0.1)) + ("rust-time" ,rust-time-0.1) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)) #:cargo-development-inputs - (("rust-bincode" ,rust-bincode-1.1) + (;("rust-bincode" ,rust-bincode-0.8) + ("rust-criterion" ,rust-criterion-0.2) ("rust-doc-comment" ,rust-doc-comment-0.3) ("rust-num-iter" ,rust-num-iter-0.1) ("rust-serde-derive" ,rust-serde-derive-1.0) - ("rust-serde-json" ,rust-serde-json-1.0)))) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.2)))) (home-page "https://github.com/chronotope/chrono") (synopsis "Date and time library for Rust") @@ -2315,6 +2757,21 @@ for computer graphics.") (string-append clang "/lib"))) #t))))))) +(define-public rust-clang-sys-0.23 + (package + (inherit rust-clang-sys-0.26) + (name "rust-clang-sys") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "clang-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hjr333izzhs6bic84qwnyzy5xzmvasib8f3zkzj4ln3a97c1xyp")))))) + (define-public rust-clang-sys-0.22 (package (inherit rust-clang-sys-0.26) @@ -2512,6 +2969,35 @@ pitfalls in Rust.") "Low level interface to CloudABI. Contains all syscalls and related types.") (license license:bsd-2))) +(define-public rust-cloudflare-zlib-sys-0.2 + (package + (name "rust-cloudflare-zlib-sys") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cloudflare-zlib-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01lwfd15ijw4d8jsqp87yv4wpmzcp84qm0qqwy3yxmm0fjr5q6by")))) + ;; This crate bundles cloudflare's fork of zlib, so we don't unbundle it. + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cc" ,rust-cc-1.0)))) + (home-page "https://github.com/cloudflare/zlib") + (synopsis + "Cloudflare fork of zlib with massive performance improvements") + (description + "Cloudflare fork of zlib with massive performance improvements.") + (license + (list license:expat + license:asl2.0 + license:zlib)))) + (define-public rust-cmake-0.1 (package (name "rust-cmake") @@ -2602,12 +3088,42 @@ CMAKE environmental variable is set.") "Color quantization library to reduce n colors to 256 colors.") (license license:expat))) +(define-public rust-colored-1.9 + (package + (name "rust-colored") + (version "1.9.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "colored" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nbc1czs512h1k696y7glv1kjrb2b914zpxraic6q5fgv80wizzl")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-atty" ,rust-atty-0.2) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-lazy-static" ,rust-lazy-static-1)) + #:cargo-development-inputs + (("rust-ansi-term" ,rust-ansi-term-0.12) + ;("rust-rspec" ,rust-rspec-1.0) + ))) + (home-page "https://github.com/mackwic/colored") + (synopsis "Add colors in your terminal") + (description + "The most simple way to add colors in your terminal.") + (license license:mpl2.0))) + ;; This package requires features which are unavailable ;; on the stable releases of Rust. (define-public rust-compiler-builtins-0.1 (package (name "rust-compiler-builtins") - (version "0.1.23") + (version "0.1.26") (source (origin (method url-fetch) @@ -2615,14 +3131,13 @@ CMAKE environmental variable is set.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0m8rfikg08av2plyp32drjfsv7i10nf2kwzajjjkvl13yhj9s5fn")))) + "1rhj6ccmfkh9gcxnxgjq4fg257yi4f9325nfzsphbmxwkrg06sq3")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)) - #:cargo-development-inputs - (("rust-cc" ,rust-cc-1.0)))) + (("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0) + ("rust-cc" ,rust-cc-1.0)))) (home-page "https://github.com/rust-lang/compiler-builtins") (synopsis "Compiler intrinsics used by the Rust compiler") (description @@ -2711,6 +3226,36 @@ harness.") ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) ("rust-tempdir" ,rust-tempdir-0.3)))))) +(define-public rust-console-0.9 + (package + (name "rust-console") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "console" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h765951c9mywff534f0191slazykmif4290g2yarcwhd2cg7q25")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-termios" ,rust-termios-0.3) + ("rust-encode-unicode" ,rust-encode-unicode-0.3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-clicolors-control" ,rust-clicolors-control-1.0) + ("rust-regex" ,rust-regex-1.3) + ("rust-lazy-static" ,rust-lazy-static-1)))) + (home-page "https://github.com/mitsuhiko/console") + (synopsis "Terminal and console abstraction for Rust") + (description + "This package provides a terminal and console abstraction for Rust") + (license license:expat))) + (define-public rust-console-0.7 (package (name "rust-console") @@ -3010,7 +3555,7 @@ intrinsics.") (define-public rust-cpp-demangle-0.2 (package (name "rust-cpp-demangle") - (version "0.2.12") + (version "0.2.14") (source (origin (method url-fetch) @@ -3019,17 +3564,17 @@ intrinsics.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0a4hqsfc0sfdwy7pcr0rc1fjp2j47fxbkqfc2lfrbi4zlm5hq36k")))) + "1mm064x84868q06r4m4b7byf999nrkbhx7iyc4nchyssaxpsy5a1")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-afl" ,rust-afl-0.4) - ("rust-cfg-if" ,rust-cfg-if-0.1)) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-glob" ,rust-glob-0.3)) #:cargo-development-inputs (("rust-clap" ,rust-clap-2) - ("rust-diff" ,rust-diff-0.1) - ("rust-glob" ,rust-glob-0.3)))) + ("rust-diff" ,rust-diff-0.1)))) (home-page "https://github.com/gimli-rs/cpp_demangle") (synopsis "Demangle C++ symbols") (description @@ -3101,7 +3646,7 @@ intrinsics.") (define-public rust-criterion-0.3 (package (name "rust-criterion") - (version "0.3.0") + (version "0.3.1") (source (origin (method url-fetch) @@ -3110,7 +3655,7 @@ intrinsics.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1iig7r9c6bkn5qb6axxkblc1amif6k49lix35rhqs728cphh71wk")))) + "1lgpr82rlmg6rm4gr3c3pla2xgxnakbf8w9sabjsig8jkikmbiqz")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -3122,15 +3667,14 @@ intrinsics.") ("rust-itertools" ,rust-itertools-0.8) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-rand-core" ,rust-rand-core-0.5) - ("rust-rand-os" ,rust-rand-os-0.2) - ("rust-rand-xoshiro" ,rust-rand-xoshiro-0.3) - ("rust-rayon" ,rust-rayon-1.1) + ("rust-oorandom" ,rust-oorandom-11.1) + ("rust-plotters" ,rust-plotters-0.2) + ("rust-rayon" ,rust-rayon-1.3) ("rust-serde" ,rust-serde-1.0) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0) ("rust-tinytemplate" ,rust-tinytemplate-1.0) - ("rust-walkdir" ,rust-walkdir-2.2)) + ("rust-walkdir" ,rust-walkdir-2.3)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3) ("rust-quickcheck" ,rust-quickcheck-0.9) @@ -3478,7 +4022,7 @@ intrinsics.") (define-public rust-crossbeam-utils-0.7 (package (name "rust-crossbeam-utils") - (version "0.7.0") + (version "0.7.2") (source (origin (method url-fetch) @@ -3487,7 +4031,7 @@ intrinsics.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1x1rn35q2v05qif14ijfg7800d3rf3ji2cg79awnacfw5jq6si6f")))) + "1a31wbrda1320gj2a6az1lin2d34xfc3xf88da4c17qy5lxcgiy3")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -3621,7 +4165,7 @@ Code} (MAC) algorithms.") (define-public rust-csv-1.1 (package (name "rust-csv") - (version "1.1.0") + (version "1.1.3") (source (origin (method url-fetch) @@ -3630,7 +4174,7 @@ Code} (MAC) algorithms.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0qxvzq030hi915dszazv6a7f0apzzi7gn193ni0g2lzkawjxck55")))) + "0yd2z55m2pg4al4yng4nl2y7c9dw2v7yhg5ynihxyrmmd9zzxbq0")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -3672,7 +4216,7 @@ Code} (MAC) algorithms.") (define-public rust-csv-core-0.1 (package (name "rust-csv-core") - (version "0.1.6") + (version "0.1.10") (source (origin (method url-fetch) @@ -3681,11 +4225,11 @@ Code} (MAC) algorithms.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0k5zs0x0qmmn27pa5kcg86lg84s29491fw5sh3zswxswnavasp4v")))) + "145wcc3560v1kmysqqspvddppiysr2rifqzy4nnlh3r6kxanc91b")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-memchr" ,rust-memchr-2.2)) + (("rust-memchr" ,rust-memchr-2.3)) #:cargo-development-inputs (("rust-arrayvec" ,rust-arrayvec-0.4)))) (home-page "https://github.com/BurntSushi/rust-csv") @@ -3695,6 +4239,34 @@ Code} (MAC) algorithms.") "Bare bones CSV parsing with no_std support.") (license (list license:unlicense license:expat)))) +(define-public rust-ctor-0.1 + (package + (name "rust-ctor") + (version "0.1.13") + (source + (origin + (method url-fetch) + (uri (crate-uri "ctor" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qgwkwyxishpp3wkbwq5i27zdxz539ii0sz129xj061ffnnfbia7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)) + ;#:cargo-development-inputs + ;(("rust-libc-print" ,rust-libc-print-0.1)) + )) + (home-page "https://github.com/mmastrac/rust-ctor") + (synopsis "__attribute__((constructor)) for Rust") + (description + "This package provides an @code{__attribute__((constructor))} for Rust.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-ctrlc-3.1 (package (name "rust-ctrlc") @@ -3862,6 +4434,43 @@ hexadecimal, base32, and base64.") and arithmetic.") (license license:expat))) +(define-public rust-dav1d-sys-0.3 + (package + (name "rust-dav1d-sys") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "dav1d-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1022czzp3s54r42x6rhr870w1fwzyp7b6qn0zirpz55zmqjpgnwa")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-bindgen" ,rust-bindgen-0.52) + ("rust-metadeps" ,rust-metadeps-1.1)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-environmental-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "libclang"))) + (setenv "LIBCLANG_PATH" + (string-append clang "/lib"))) + #t))))) + (inputs + `(("dav1d" ,dav1d) + ("pkg-config" ,pkg-config) + ("libclang" ,clang) + ("llvm" ,llvm))) + (home-page "https://github.com/rust-av/dav1d-rs") + (synopsis "FFI bindings to dav1d") + (description "FFI bindings to dav1d") + (license license:expat))) + (define-public rust-decimal-2.0 (package (name "rust-decimal") @@ -4109,7 +4718,7 @@ Windows, and the Standard Directory guidelines on macOS.") (package (inherit rust-dirs-2.0) (name "rust-dirs") - (version "1.0.3") + (version "1.0.5") (source (origin (method url-fetch) @@ -4117,11 +4726,12 @@ Windows, and the Standard Directory guidelines on macOS.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "02vigc566z5i6n9wr2x8sch39qp4arn89xhhrh18fhpm3jfc0ygn")))) + "009rrhzj9pxyncmm2vhlj70npg0cgggv2hjbbkiwdl9vccq8kmrz")))) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-libc" ,rust-libc-0.2) + ("rust-redox-users" ,rust-redox-users-0.3) ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-dirs-sys-0.3 @@ -4348,6 +4958,29 @@ from macros.") parameters, associated types, and type constraints.") (license (list license:expat license:asl2.0)))) +(define-public rust-draw-state-0.8 + (package + (name "rust-draw-state") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "draw_state" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0lfng4fz9x7bwsmzv9r20ply10w0iid6vfcrhx292s6hw8vrbkrk")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1.0) + ("rust-bitflags" ,rust-bitflags-1)))) + (home-page "https://github.com/gfx-rs/draw_state") + (synopsis "Graphics state blocks for gfx-rs") + (description "Graphics state blocks for gfx-rs.") + (license license:asl2.0))) + (define-public rust-dtoa-0.4 (package (name "rust-dtoa") @@ -4494,7 +5127,7 @@ floating-point primitives to an @code{io::Write}.") (define-public rust-either-1.5 (package (name "rust-either") - (version "1.5.2") + (version "1.5.3") (source (origin (method url-fetch) @@ -4503,7 +5136,7 @@ floating-point primitives to an @code{io::Write}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0yyggfd5yq9hyyp0bd5jj0fgz3rwws42d19ri0znxwwqs3hcy9sm")))) + "1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -4545,7 +5178,7 @@ inclusion of Windows resources in the most resilient fashion imaginable.") (define-public rust-encode-unicode-0.3 (package (name "rust-encode-unicode") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) @@ -4554,12 +5187,12 @@ inclusion of Windows resources in the most resilient fashion imaginable.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1g8a8pixkxz6r927f4sc4r15qyc0szxdxb1732v8q7h0di4wkclh")))) + "07w3vzrhxh9lpjgsg2y5bwzfar2aq35mdznvcp3zjl0ssj7d4mx3")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-ascii" ,rust-ascii-0.9) + (("rust-ascii" ,rust-ascii-1.0) ("rust-clippy" ,rust-clippy-0.0)) #:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1)))) @@ -4946,7 +5579,7 @@ is configured via an environment variable.") (define-public rust-erased-serde-0.3 (package (name "rust-erased-serde") - (version "0.3.9") + (version "0.3.11") (source (origin (method url-fetch) @@ -4955,14 +5588,14 @@ is configured via an environment variable.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0q7bnxs5zskfq5iillig55g7891dllcxh2p8y8k1p2j72syf9viv")))) + "1lgkpkk7nx6f24gmr3psyj8d2avc9701r9jyw1i4ssp10lbnv2yq")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-serde" ,rust-serde-1.0)) #:cargo-development-inputs - (("rust-serde-cbor" ,rust-serde-cbor-0.10) + (;("rust-serde-cbor" ,rust-serde-cbor-0.9) ("rust-serde-derive" ,rust-serde-derive-1.0) ("rust-serde-json" ,rust-serde-json-1.0)))) (home-page "https://github.com/dtolnay/erased-serde") @@ -4971,6 +5604,37 @@ is configured via an environment variable.") "Type-erased Serialize and Serializer traits.") (license (list license:asl2.0 license:expat)))) +(define-public rust-err-derive-0.2 + (package + (name "rust-err-derive") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "err-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0v6wxrshfpg7mwaxzq8jwxbfiyn7zk5rlm4m8kkrwh7dpf8nrx42")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-synstructure" ,rust-synstructure-0.12) + ("rust-skeptic" ,rust-skeptic-0.13) + ("rust-proc-macro-error" ,rust-proc-macro-error-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-quote" ,rust-quote-1.0)) + #:cargo-development-inputs + (("rust-skeptic" ,rust-skeptic-0.13)))) + (home-page "https://gitlab.com/torkleyy/err-derive") + (synopsis "Derive macro for `std::error::Error`") + (description + "Derive macro for @code{std::error::Error}.") + (license (list license:expat license:asl2.0)))) + (define-public rust-errno-0.2 (package (name "rust-errno") @@ -5025,7 +5689,7 @@ is configured via an environment variable.") (define-public rust-error-chain-0.12 (package (name "rust-error-chain") - (version "0.12.1") + (version "0.12.2") (source (origin (method url-fetch) @@ -5034,23 +5698,60 @@ is configured via an environment variable.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ndpw1ny2kxqpw6k1shq8k56z4vfpk4xz9zr8ay988k0rffrxd1s")))) + "1ka5y0fmymxzx3gz2yrd7rpz2i555m1iw4fpmcggpzcgr1n10wfk")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3) - ("rust-version-check" ,rust-version-check-0.1)))) + ("rust-version-check" ,rust-version-check-0.9)))) (home-page "https://github.com/rust-lang-nursery/error-chain") (synopsis "Yet another error boilerplate library") (description "Yet another error boilerplate library.") (license (list license:asl2.0 license:expat)))) +(define-public rust-error-chain-0.11 + (package + (inherit rust-error-chain-0.12) + (name "rust-error-chain") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "error-chain" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wykkr0naizbkwxjwia1rch8xhwvgij9khqvjzs07mrmqifislgz")))) + (arguments + `(#:tests? #f ; Not all test files included. + #:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3)))))) + +(define-public rust-error-chain-0.10 + (package + (inherit rust-error-chain-0.11) + (name "rust-error-chain") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "error-chain" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y1gyj9g5c3k1nzkvxrgry8v9k86kcc585mczrm3qz019s35shyr")))) + (arguments + `(#:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3)))))) + (define-public rust-euclid-0.20 (package (name "rust-euclid") - (version "0.20.7") + (version "0.20.10") (source (origin (method url-fetch) @@ -5059,7 +5760,7 @@ is configured via an environment variable.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0pa8kxblvc0s9gia9n0966w7169aswpg7knw2pmwrqa204r2v19z")))) + "0c3hbl0kvc53k6nws0v9d46hi0giza1j079sqx2bgl4wfw65nshc")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -5127,7 +5828,7 @@ is configured via an environment variable.") (define-public rust-failure-0.1 (package (name "rust-failure") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) @@ -5136,7 +5837,7 @@ is configured via an environment variable.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qppmgv4i5jj6vrss91qackqnl0a12h7lnby4l7j5fdy78yxhnvr")))) + "0js6i6mb42q1g6q3csfbmi6q40s64k96705xbim0d8zg44j9qlmq")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -5152,7 +5853,7 @@ is configured via an environment variable.") (define-public rust-failure-derive-0.1 (package (name "rust-failure-derive") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) @@ -5161,15 +5862,15 @@ is configured via an environment variable.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1q97n7dp51j5hndzic9ng2fgn6f3z5ya1992w84l7vypby8n647a")))) + "0cfjz0c9szqpxn43b2r722p6m3swzxj7aj6xhqw23ml7h8y762h3")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6) - ("rust-syn" ,rust-syn-0.15) - ("rust-synstructure" ,rust-synstructure-0.10)) + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-synstructure" ,rust-synstructure-0.12)) #:cargo-development-inputs (("rust-failure" ,rust-failure-0.1)))) (home-page "https://rust-lang-nursery.github.io/failure/") @@ -5190,7 +5891,6 @@ is configured via an environment variable.") (base32 "1xq759lsr8gqss7hva42azn3whgrbrs2sd9xpn92c5ickxm1fhs4")))) (build-system cargo-build-system) - (arguments '(#:skip-build? #t)) (home-page "https://github.com/sfackler/rust-fallible-iterator") (synopsis "Fallible iterator traits") (description "If the @code{std} or @code{alloc} features are enabled, this @@ -5200,6 +5900,38 @@ provides implementations for @code{HashMap} and @code{HashSet}.") (license (list license:asl2.0 license:expat)))) +(define-public rust-fern-0.5 + (package + (name "rust-fern") + (version "0.5.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "fern" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1anslk0hx9an4ypcaxqff080hgbcxm7ji7d4qf4f6qx1mkav16p6")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-reopen" ,rust-reopen-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-colored" ,rust-colored-1.9) + ("rust-syslog" ,rust-syslog-3.3) + ("rust-syslog" ,rust-syslog-4.0)) + #:cargo-development-inputs + (("rust-clap" ,rust-clap-2) + ("rust-tempdir" ,rust-tempdir-0.3)))) + (home-page "https://github.com/daboross/fern") + (synopsis "Simple, efficient logging") + (description + "This package provides a simple, efficient logging system for Rust.") + (license license:expat))) + (define-public rust-filetime-0.2 (package (name "rust-filetime") @@ -5334,7 +6066,7 @@ cross platform API.") (define-public rust-flate2-1.0 (package (name "rust-flate2") - (version "1.0.9") + (version "1.0.14") (source (origin (method url-fetch) @@ -5343,22 +6075,25 @@ cross platform API.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1n639gc7sbmrkir6pif608xqpwcv60kigmp5cn9x7m8892nk82am")))) + "0hlb2zmn5ixrgr0i1qvrd3a7j4fpp002d0kddn2hm7hjj49z9zrc")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-crc32fast" ,rust-crc32fast-1.2) + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cloudflare-zlib-sys" + ,rust-cloudflare-zlib-sys-0.2) + ("rust-crc32fast" ,rust-crc32fast-1.2) ("rust-futures" ,rust-futures-0.1) ("rust-libc" ,rust-libc-0.2) ("rust-libz-sys" ,rust-libz-sys-1.0) ("rust-miniz-sys" ,rust-miniz-sys-0.1) - ("rust-miniz-oxide-c-api" ,rust-miniz-oxide-c-api-0.2) + ("rust-miniz-oxide" ,rust-miniz-oxide-0.3) ("rust-tokio-io" ,rust-tokio-io-0.1)) #:cargo-development-inputs (("rust-futures" ,rust-futures-0.1) - ("rust-quickcheck" ,rust-quickcheck-0.8) - ("rust-rand" ,rust-rand-0.4) + ("rust-quickcheck" ,rust-quickcheck-0.9) + ("rust-rand" ,rust-rand-0.7) ("rust-tokio-io" ,rust-tokio-io-0.1) ("rust-tokio-tcp" ,rust-tokio-tcp-0.1) ("rust-tokio-threadpool" ,rust-tokio-threadpool-0.1)))) @@ -5454,6 +6189,48 @@ implementation that is more efficient for smaller hash keys.") (license (list license:asl2.0 license:expat)))) +(define-public rust-font-kit-0.4 + (package + (name "rust-font-kit") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "font-kit" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1fmg1jmqdvsjxjbyz8chpx1mhp544mwq128ns1shhrha5a6zzdqp")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lyon-path" ,rust-lyon-path-0.14) + ("rust-core-graphics" ,rust-core-graphics-0.17) + ("rust-float-ord" ,rust-float-ord-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-euclid" ,rust-euclid-0.20) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-servo-fontconfig" + ,rust-servo-fontconfig-0.4) + ("rust-freetype" ,rust-freetype-0.4) + ("rust-log" ,rust-log-0.4) + ("rust-core-foundation" + ,rust-core-foundation-0.6) + ("rust-memmap" ,rust-memmap-0.7) + ("rust-dwrote" ,rust-dwrote-0.9) + ("rust-dirs" ,rust-dirs-1.0) + ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-core-text" ,rust-core-text-13) + ("rust-walkdir" ,rust-walkdir-2.3)))) + (home-page "https://github.com/servo/font-kit") + (synopsis "Cross-platform font loading library") + (description + "This package provides a cross-platform font loading library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-foreign-types-0.5 (package (name "rust-foreign-types") @@ -5606,6 +6383,31 @@ implementation that is more efficient for smaller hash keys.") values to other threads.") (license license:asl2.0))) +(define-public rust-freetype-0.4 + (package + (name "rust-freetype") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "freetype" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a70x03n68997f08bi3n47q9wyi3pv5s9v4rjc79sihb84mnp4hi")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-servo-freetype-sys" ,rust-servo-freetype-sys-4)))) + (home-page "https://github.com/servo/rust-freetype") + (synopsis "Bindings for Freetype used by Servo") + (description + "Bindings for Freetype used by Servo.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-freetype-rs-0.23 (package (name "rust-freetype-rs") @@ -5764,6 +6566,31 @@ for file changes notifications") macOS API for file changes notifications") (license license:expat))) +(define-public rust-fst-0.4 + (package + (name "rust-fst") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fst" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ybmdzkknhv1wx6ws86iyixfyzc04l4nm71b9va7953r1m3i6z1z")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-utf8-ranges" ,rust-utf8-ranges-1.0)))) + (home-page "https://github.com/BurntSushi/fst") + (synopsis "Represent sets or maps of large numbers of strings.") + (description + "Use finite state transducers to compactly represent sets or maps of many +strings (> 1 billion is possible).") + (license (list license:unlicense license:expat)))) + (define-public rust-fuchsia-cprng-0.1 (package (name "rust-fuchsia-cprng") @@ -6616,7 +7443,7 @@ API library @code{gdi32}.") (define-public rust-getrandom-0.1 (package (name "rust-getrandom") - (version "0.1.6") + (version "0.1.14") (source (origin (method url-fetch) @@ -6625,16 +7452,19 @@ API library @code{gdi32}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0macrjfkgsjn6ikr94agapp4fkxmr8w7y2g7qis4icc4a17cwp76")))) + "1sq30li71h19rhnhs1h6576ja68insajx8wvh1nn088r8pc8vg3s")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-lazy-static" ,rust-lazy-static-1) + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-stdweb" ,rust-stdweb-0.4) - ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)))) + ("rust-wasi" ,rust-wasi-0.9) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) (home-page "https://github.com/rust-random/getrandom") (synopsis "Retrieve random data from system source") (description @@ -6642,6 +7472,109 @@ API library @code{gdi32}.") retrieving random data from system source.") (license (list license:expat license:asl2.0)))) +(define-public rust-gfx-0.18 + (package + (name "rust-gfx") + (version "0.18.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfx" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nqmxqi3x4ni0g78g77a6aldrv8cfvzhnpqhxyd2ap4aa3wldph1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-mint" ,rust-mint-0.5) + ("rust-draw-state" ,rust-draw-state-0.8) + ("rust-gfx-core" ,rust-gfx-core-0.9)))) + (home-page "https://github.com/gfx-rs/gfx") + (synopsis "High-performance, bindless graphics API") + (description + "This package provides a high-performance, bindless graphics API.") + (license license:asl2.0))) + +(define-public rust-gfx-core-0.9 + (package + (name "rust-gfx-core") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfx_core" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0haldr99n12d90vqgvl77n59hywlklhdff85j2aljaz1yapdvyvm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-mint" ,rust-mint-0.5) + ("rust-draw-state" ,rust-draw-state-0.8) + ("rust-serde" ,rust-serde-1.0) + ("rust-bitflags" ,rust-bitflags-1)))) + (home-page "https://github.com/gfx-rs/gfx") + (synopsis "Core library of Gfx-rs") + (description "This package is a core library of Gfx-rs.") + (license license:asl2.0))) + +(define-public rust-gfx-device-gl-0.16 + (package + (name "rust-gfx-device-gl") + (version "0.16.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfx_device_gl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1g5yg19jvxdmviljyakhd6253bnb2qg7v8iscf48ihc0ldgki70h")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-gfx-gl" ,rust-gfx-gl-0.6) + ("rust-gfx-core" ,rust-gfx-core-0.9)))) + (home-page "https://github.com/gfx-rs/gfx") + (synopsis "OpenGL backend for gfx-rs") + (description "This package provides the openGL backend for gfx-rs.") + (license license:asl2.0))) + +(define-public rust-gfx-gl-0.6 + (package + (name "rust-gfx-gl") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfx_gl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ppzj4bgjawdqz3fvnscqk8lnmgh95pwzh0v96vwy809cxj83lzj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14)))) + (home-page "https://github.com/gfx-rs/gfx_gl") + (synopsis "OpenGL bindings for gfx, based on gl-rs") + (description + "This package provides OpenGL bindings for gfx, based on gl-rs.") + (license license:asl2.0))) + (define-public rust-gif-0.10 (package (name "rust-gif") @@ -6669,6 +7602,37 @@ retrieving random data from system source.") (description "This package provides a GIF decoder and encoder in Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-gimli-0.20 + (package + (name "rust-gimli") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gimli" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0cz6wg1niwfqf0mk28igsdnsm92cs57cai9jpzdmvw6hma863pc1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-fallible-iterator" + ,rust-fallible-iterator-0.2) + ("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-stable-deref-trait" + ,rust-stable-deref-trait-1.1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-indexmap" ,rust-indexmap-1.3) + ("rust-byteorder" ,rust-byteorder-1.3)))) + (home-page "https://github.com/gimli-rs/gimli") + (synopsis "Library for reading and writing the DWARF debugging format") + (description + "This package provides a library for reading and writing the DWARF debugging format.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-gimli-0.18 (package (name "rust-gimli") @@ -6868,6 +7832,29 @@ reading and writing git repositories.") ("rust-thread-id" ,rust-thread-id-3.3) ("rust-time" ,rust-time-0.1)))))) +(define-public rust-gl-0.11 + (package + (name "rust-gl") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wcqpyhck0xriffkmgmldy33lwk2044hb4l02d44vm4fbvicin6p")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl-generator" ,rust-gl-generator-0.10)))) + (home-page "https://github.com/brendanzab/gl-rs/") + (synopsis "OpenGL bindings for rust") + (description "This package provides OpenGL bindings for rust.") + (license license:asl2.0))) + (define-public rust-gl-generator-0.14 (package (name "rust-gl-generator") @@ -6923,6 +7910,33 @@ reading and writing git repositories.") (base32 "1gdchvay0k0g931b2ki33mkfixcw4radk5b8sqsm29rahxg3v8ir")))))) +(define-public rust-gl-generator-0.10 + (package + (name "rust-gl-generator") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "gl_generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0146yd4i9wbgfrhnkc04w7n7civbanznc0q87skp6v7p7hbszzx0")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-xml-rs" ,rust-xml-rs-0.8) + ("rust-khronos-api" ,rust-khronos-api-3)))) + (home-page "https://github.com/brendanzab/gl-rs/") + (synopsis + "Code generators for creating bindings to the Khronos OpenGL APIs") + (description + "Code generators for creating bindings to the Khronos OpenGL APIs.") + (license license:asl2.0))) + (define-public rust-gleam-0.6 (package (name "rust-gleam") @@ -7365,6 +8379,53 @@ path simultaneously, and returning all of the globs that matched.") (description "This package provides FFI bindings to libgobject-2.0.") (license license:expat))) +(define-public rust-goblin-0.2 + (package + (name "rust-goblin") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "goblin" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j38fkqadbsjxawr3wnj9m0qaihcwp6pmfakmhsar881509y7mfx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-scroll" ,rust-scroll-0.10) + ("rust-plain" ,rust-plain-0.2) + ("rust-log" ,rust-log-0.4)))) + (home-page "https://github.com/m4b/goblin") + (synopsis "ELF, Mach-o, and PE binary parsing and loading crate") + (description "This package provides an ELF, Mach-o, and PE binary parsing +and loading crate.") + (license license:expat))) + +(define-public rust-goblin-0.1 + (package + (inherit rust-goblin-0.2) + (name "rust-goblin") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "goblin" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nn0aa2jf207gbyccxnrzm7n217di025z5y1ybblp7nkk11j309h")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-scroll" ,rust-scroll-0.10) + ("rust-plain" ,rust-plain-0.2) + ("rust-log" ,rust-log-0.4)))))) + (define-public rust-goblin-0.0 (package (name "rust-goblin") @@ -7845,7 +8906,7 @@ consistent, and reasonably well performing.") (define-public rust-hermit-abi-0.1 (package (name "rust-hermit-abi") - (version "0.1.6") + (version "0.1.10") (source (origin (method url-fetch) @@ -7854,7 +8915,7 @@ consistent, and reasonably well performing.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0wippj5nkw9q5yyyaqpdrgdhag3l3nbrwja7149cwn7ii1nnbwpg")))) + "0blmmzik5cs79ivq70s9gal8ypgzj50wnl2hwsaam46gjjbz2p3j")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -8364,6 +9425,38 @@ for the most common image formats.") ("rust-num-complex" ,rust-num-complex-0.2) ("rust-quickcheck" ,rust-quickcheck-0.6)))))) +(define-public rust-indexmap-1.3 + (package + (name "rust-indexmap") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "indexmap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "14i2gmq9pwaafvlxmsc12j6539hjgqk4j4jz40fz763vbcn08vq7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-autocfg" ,rust-autocfg-1.0) + ("rust-serde" ,rust-serde-1.0) + ("rust-rayon" ,rust-rayon-1.3)))) + (home-page "https://github.com/bluss/indexmap") + (synopsis "Hash table with consistent order and fast iteration.") + (description + "This package provides a hash table with consistent order and fast iteration. + +The indexmap is a hash table where the iteration order of the key-value +pairs is independent of the hash values of the keys. It has the usual +hash table functionality, it preserves insertion order except after +removals, and it allows lookup of its elements by either hash table key +or numerical index. A corresponding hash set type is also provided.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-indexmap-1.0 (package (name "rust-indexmap") @@ -8546,6 +9639,53 @@ in Rust.") that works on WASM too.") (license license:bsd-3))) +(define-public rust-interpolate-name-0.2 + (package + (name "rust-interpolate-name") + (version "0.2.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "interpolate_name" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05vzsiqb69d1mbpaphcg4ifjsjs6g03b8pacskfcydqhh555zcxl")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/lu-zero/interpolate_name") + (synopsis "Simple procedural macro attribute for repetitive tests") + (description + "Simple procedural macro attribute for repetitive tests.") + (license license:expat))) + +(define-public rust-interpolation-0.2 + (package + (name "rust-interpolation") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "interpolation" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "00icvvgc72zdgyrwwg2p0wad4hry4d2vd6l9iqpyjpmw5dykbdyk")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/pistondevelopers/interpolation") + (synopsis "Library for interpolation") + (description + "This package provides a library for interpolation.") + (license license:expat))) + (define-public rust-intervaltree-0.2 (package (name "rust-intervaltree") @@ -8620,7 +9760,7 @@ immutable interval tree.") (define-public rust-itertools-0.8 (package (name "rust-itertools") - (version "0.8.0") + (version "0.8.2") (source (origin (method url-fetch) @@ -8629,7 +9769,7 @@ immutable interval tree.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0n2k13b6w4x2x6np2lykh9bj3b3z4hwh2r4cn3z2dgnfq7cng12v")))) + "1154j48aw913v5jnyhpxialxhdn2sfpl4d7bwididyb1r05jsspm")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -8637,8 +9777,8 @@ immutable interval tree.") (("rust-either" ,rust-either-1.5)) #:cargo-development-inputs (("rust-permutohedron" ,rust-permutohedron-0.2) - ("rust-quickcheck" ,rust-quickcheck-0.8) - ("rust-rand" ,rust-rand-0.4)))) + ("rust-quickcheck" ,rust-quickcheck-0.7) + ("rust-rand" ,rust-rand-0.6)))) (home-page "https://github.com/rust-itertools/itertools") (synopsis @@ -8700,7 +9840,7 @@ and functions.") (define-public rust-itoa-0.4 (package (name "rust-itoa") - (version "0.4.4") + (version "0.4.5") (source (origin (method url-fetch) @@ -8708,7 +9848,7 @@ and functions.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0zvg2d9qv3avhf3d8ggglh6fdyw8kkwqg3r4622ly5yhxnvnc4jh")))) + "13nxqrfnh83a7x5rw4wq2ilp8nxvwy74dxzysdg59dbxqk0agdxq")))) (build-system cargo-build-system) (home-page "https://github.com/dtolnay/itoa") (synopsis "Fast functions for printing integer primitives") @@ -8746,6 +9886,29 @@ primitives to an @code{io::Write}.") (base32 "18g7p2hrb3dk84z3frfgmszfc9hjb4ps9vp99qlb1kmf9gm8hc5f")))))) +(define-public rust-ivf-0.1 + (package + (name "rust-ivf") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ivf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1wfjf3rilqavrhvwagzinvng9dg28wcjk3c6c6p5qmc1xy65qfh1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitstream-io" ,rust-bitstream-io-0.8)))) + (home-page "https://github.com/xiph/rav1e") + (synopsis "Simple ivf muxer") + (description "This package provides a simple ivf muxer.") + (license license:bsd-2))) + (define-public rust-jemalloc-sys-0.3 (package (name "rust-jemalloc-sys") @@ -8919,7 +10082,7 @@ primitives to an @code{io::Write}.") (define-public rust-js-sys-0.3 (package (name "rust-js-sys") - (version "0.3.35") + (version "0.3.37") (source (origin (method url-fetch) @@ -8928,7 +10091,7 @@ primitives to an @code{io::Write}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ybwazllkbif71i195dadgrsw64k6l04ggk5yimiy5c2cb1wg2bq")))) + "0mbhpbw3zjjl51m24qx3ilq4y8xipm5sfa5hsavaabqs6wsx89va")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -9181,7 +10344,7 @@ requires non-const function calls to be computed.") (define-public rust-libc-0.2 (package (name "rust-libc") - (version "0.2.66") + (version "0.2.68") (source (origin (method url-fetch) @@ -9189,7 +10352,7 @@ requires non-const function calls to be computed.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0n0mwry21fxfwc063k33mvxk8xj7ia5ar8m42c9ymbam2ksb25fm")))) + "1w6z9krcqn7p200sb80dxx76iyvw3jdz949zxr1sgfr3a50c186y")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -9462,6 +10625,30 @@ known as zlib).") graphics and video games.") (license license:expat))) +(define-public rust-line-wrap-0.1 + (package + (name "rust-line-wrap") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "line-wrap" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ffa2whkyh9mwvdlpk6v8pjkg8p8mlzyjfymq5adll9a18sl80zk")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-safemem" ,rust-safemem-0.3)))) + (home-page "https://bitbucket.org/marshallpierce/line-wrap-rs/src") + (synopsis "Efficiently insert line separators") + (description + "Efficiently insert line separators.") + (license license:asl2.0))) + (define-public rust-linked-hash-map-0.5 (package (name "rust-linked-hash-map") @@ -9717,7 +10904,7 @@ by inspecting the system for user preference.") (package (inherit rust-log-0.4) (name "rust-log") - (version "0.3.8") + (version "0.3.9") (source (origin (method url-fetch) @@ -9725,7 +10912,10 @@ by inspecting the system for user preference.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0nsn28syc49vvjhxcfc8261rd1frhjc0r4bn9v3mqvps3ra7f3w8")))))) + "0jq23hhn5h35k7pa8r7wqnsywji6x3wn1q5q7lif5q536if8v7p1")))) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4)))))) (define-public rust-loom-0.1 (package @@ -9780,6 +10970,58 @@ by inspecting the system for user preference.") "Colorize paths using the LS_COLORS environment variable.") (license (list license:expat license:asl2.0)))) +(define-public rust-lyon-geom-0.14 + (package + (name "rust-lyon-geom") + (version "0.14.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "lyon_geom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "178z4cqqmyw0rsabbgx9phkjxjzcnq0604062lqjlq87k063216a")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2) + ("rust-euclid" ,rust-euclid-0.20) + ("rust-arrayvec" ,rust-arrayvec-0.4) + ("rust-serde" ,rust-serde-1.0)))) + (home-page "https://github.com/nical/lyon") + (synopsis "2D graphics rendering on the GPU using tessellation") + (description + "This package provides 2D graphics rendering on the GPU using tessellation.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-lyon-path-0.14 + (package + (name "rust-lyon-path") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "lyon_path" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0qk8x46w0sf6j04l6gvhgn9kr4ymcqkmkh67w8wqahm54jn5gjqb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-lyon-geom" ,rust-lyon-geom-0.14) + ("rust-serde" ,rust-serde-1.0)))) + (home-page "https://github.com/nical/lyon") + (synopsis "Types and utilities to store, build and iterate over 2D paths") + (description + "Types and utilities to store, build and iterate over 2D paths.") + (license (list license:expat license:asl2.0)))) + (define-public rust-lzma-sys-0.1 (package (name "rust-lzma-sys") @@ -10082,6 +11324,30 @@ parallelize and optimize.") (base32 "0j2s8aqdkhwhy7awga2bmv5n8qq8bgy8672iha9f3y871dm6vibr")))))) +(define-public rust-memchr-2.3 + (package + (name "rust-memchr") + (version "2.3.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "memchr" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0074pvsfl938ndl5js14ibc7i9q0k3zp390z843w8nlyv4bxha1p")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/BurntSushi/rust-memchr") + (synopsis "Safe interface to memchr") + (description "The @code{memchr} crate provides heavily optimized routines +for searching bytes.") + (license (list license:unlicense license:expat)))) + (define-public rust-memchr-2.2 (package (name "rust-memchr") @@ -10252,6 +11518,31 @@ for Rust structs.") "1cvm2z7dy138s302ii7wlzcxbka5a8yfl5pl5di7lbdnw9hw578g")))) (arguments `(#:skip-build? #t)))) +(define-public rust-metadeps-1.1 + (package + (name "rust-metadeps") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "metadeps" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1hjla9ypycqw1snd2qf87cckcc0d5z5qvxpcijn5yrrs3f825cbk")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-error-chain" ,rust-error-chain-0.10) + ("rust-toml" ,rust-toml-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3)))) + (home-page "https://github.com/joshtriplett/metadeps") + (synopsis "Run pkg-config from declarative dependencies in Cargo.toml") + (description "Run pkg-config from declarative dependencies in Cargo.toml.") + (license (list license:expat license:asl2.0)))) + (define-public rust-metal-0.14 (package (name "rust-metal") @@ -10311,14 +11602,15 @@ for Rust structs.") (define-public rust-miniz-oxide-0.3 (package (name "rust-miniz-oxide") - (version "0.3.3") + (version "0.3.6") (source (origin (method url-fetch) (uri (crate-uri "miniz_oxide" version)) (file-name (string-append name "-" version ".crate")) (sha256 - (base32 "1bmanbbcdmssfbgik3fs323g7vljc5wkjz7s61jsbbz2kg0nckrh")))) + (base32 + "198n4hfpq0qcxf275l6fpzh7b9cl7ck2xs6pjgpds74bazv9yrxa")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -10664,6 +11956,29 @@ checking.") "Chaining APIs for both self -> Self and &mut self methods.") (license license:expat))) +(define-public rust-nasm-rs-0.1 + (package + (name "rust-nasm-rs") + (version "0.1.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "nasm-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r34hiy1pc0aksrfc02zsl0zyw33i9yi7kyx8l214l7nm0mzm97y")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rayon" ,rust-rayon-1.3)))) + (home-page "https://github.com/medek/nasm-rs") + (synopsis "Run NASM during your Cargo build") + (description "Run NASM during your Cargo build.") + (license (list license:expat license:asl2.0)))) + (define-public rust-nalgebra-0.18 (package (name "rust-nalgebra") @@ -11081,6 +12396,29 @@ combinators library.") ;; This is an ancient version and all inputs are optional. `(#:skip-build? #t)))) +(define-public rust-noop-proc-macro-0.2 + (package + (name "rust-noop-proc-macro") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "noop_proc_macro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0in1l0rjxzs4fylb6zad484z1c58jxyzchhc12k0cjrvm0y6zwsz")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/lu-zero/noop_proc_macro") + (synopsis + "No-op proc_macro, literally does nothing") + (description + "No-op proc_macro, literally does nothing") + (license license:expat))) + (define-public rust-notify-4 (package (name "rust-notify") @@ -11318,6 +12656,31 @@ including bigint, complex, rational, range iterators, generic integers, and more #:cargo-development-inputs (("rust-doc-comment" ,rust-doc-comment-0.3)))))) +(define-public rust-num-derive-0.3 + (package + (name "rust-num-derive") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "num-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0imprwv8cs01k46g56ajlvc97dp8kz51y2vn6cp9jkw1c6r1b2qc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/rust-num/num-derive") + (synopsis "Numeric syntax extensions") + (description "This package provides numeric syntax extensions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-num-derive-0.2 (package (name "rust-num-derive") @@ -11671,6 +13034,37 @@ Foundation framework.") "This package provides utilities for testing Objective-C interop.") (license license:expat))) +(define-public rust-object-0.17 + (package + (name "rust-object") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "object" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bmgbg4k0725lchfy9j1wnpfmywh5qhs0k4k6j2g7c0acvys8i7a")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-goblin" ,rust-goblin-0.1) + ("rust-target-lexicon" ,rust-target-lexicon-0.10) + ("rust-scroll" ,rust-scroll-0.10) + ("rust-parity-wasm" ,rust-parity-wasm-0.41) + ("rust-uuid" ,rust-uuid-0.8) + ("rust-flate2" ,rust-flate2-1.0) + ("rust-crc32fast" ,rust-crc32fast-1.2) + ("rust-indexmap" ,rust-indexmap-1.3)))) + (home-page "https://github.com/gimli-rs/object") + (synopsis "Unified interface for reading and writing object file formats") + (description "This package provides a unified interface for reading and +writing object file formats.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-object-0.12 (package (name "rust-object") @@ -11735,6 +13129,67 @@ slices (@code{.find()}, @code{RevSlice}), strings and other things. Things in odds may move to more appropriate crates if we find them.") (license (list license:asl2.0 license:expat)))) +(define-public rust-onig-5.0 + (package + (name "rust-onig") + (version "5.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "onig" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ivr0wq1zlyjhhkxpsnmpncg92sjx3rha8pnp3m1mzvgk7y27rz4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-onig-sys" ,rust-onig-sys-69.2)))) + (home-page "http://github.com/iwillspeak/rust-onig") + (synopsis + "Rust bindings for the Oniguruma regular expression library") + (description + "Rust-Onig is a set of Rust bindings for the Oniguruma regular expression +library. Oniguruma is a modern regex library with support for multiple +character encodings and regex syntaxes.") + (license license:expat))) + +(define-public rust-onig-sys-69.2 + (package + (name "rust-onig-sys") + (version "69.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "onig_sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0kjijq29yx05xxg9snvqnfn53dl52hchb4sk3zhfr77mypxlx38a")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-bindgen" ,rust-bindgen-0.50) + ("rust-cc" ,rust-cc-1.0)))) + (home-page "http://github.com/iwillspeak/rust-onig") + (synopsis + "Rust bindings to the oniguruma library.") + (description + "The @code{onig_sys} crate contains raw rust bindings to the oniguruma +library. This crate exposes a set of unsafe functions which can then be used by +other crates to create safe wrappers around Oniguruma. +You probably don't want to link to this crate directly; instead check out the +@code{onig} crate.") + (license license:expat))) + (define-public rust-once-cell-1.2 (package (name "rust-once-cell") @@ -11763,6 +13218,27 @@ Things in odds may move to more appropriate crates if we find them.") "Single assignment cells and lazy values.") (license (list license:expat license:asl2.0)))) +(define-public rust-oorandom-11.1 + (package + (name "rust-oorandom") + (version "11.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "oorandom" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "01clxfnz1zwg4maynvbgj09wlkj5m3c8kjqfrp3sqp59qb4wgkpb")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://hg.sr.ht/~icefox/oorandom") + (synopsis "A tiny, robust PRNG implementation.") + (description + "This package provides a tiny, robust PRNG implementation.") + (license license:expat))) + (define-public rust-opaque-debug-0.2 (package (name "rust-opaque-debug") @@ -12088,6 +13564,31 @@ under its new name.") "A cross-platform library for opening OS pipes.") (license license:expat))) +(define-public rust-output-vt100-0.1 + (package + (name "rust-output-vt100") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "output_vt100" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ygqplpxz4gg3i8f3rkan2q69pqll7gv65l2mmd8r9dphnvwbkak")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/Phundrak/output-vt100-rs") + (synopsis + "Utility to activate escape codes in Windows' CMD and PowerShell") + (description + "Utility to activate escape codes in Windows' CMD and PowerShell.") + (license license:expat))) + (define-public rust-osmesa-sys-0.1 (package (name "rust-osmesa-sys") @@ -12187,6 +13688,61 @@ normally prevent moving a type that has been borrowed from.") "This package provides a library for padding strings at runtime.") (license license:expat))) +(define-public rust-palette-0.5 + (package + (name "rust-palette") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "palette" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0nfc4ycdsx2qgf2wkcpxqxc0vmx7188jjjx3ppgs8qlf8qs06p50")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2) + ("rust-approx" ,rust-approx-0.3) + ("rust-palette-derive" ,rust-palette-derive-0.5) + ("rust-phf" ,rust-phf-0.8) + ("rust-phf-codegen" ,rust-phf-codegen-0.8) + ("rust-serde" ,rust-serde-1.0)))) + (home-page "https://github.com/Ogeon/palette") + (synopsis "Linear color calculations and conversion") + (description + "This package makes linear color calculations and conversion accessible.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-palette-derive-0.5 + (package + (name "rust-palette-derive") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "palette_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1x5icddb877923rpl27bg4cjsf1x0d3layxmgwa3mpb01rh5yjqb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/Ogeon/palette") + (synopsis "Automatically implement traits from the palette crate") + (description + "Automatically implement traits from the palette crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-pango-0.7 (package (name "rust-pango") @@ -12320,6 +13876,28 @@ normally prevent moving a type that has been borrowed from.") (description "This package provides FFI bindings to libgtk-3.") (license license:expat))) +(define-public rust-parity-wasm-0.41 + (package + (name "rust-parity-wasm") + (version "0.41.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parity-wasm" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rfqgjyxrxrfjq5r5n81mdklahl8g4az6yhyyvw25nh0mj6qgz6x")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/paritytech/parity-wasm") + (synopsis "WebAssembly low-level format library") + (description + "WebAssembly low-level format library") + (license (list license:expat license:asl2.0)))) + (define-public rust-parity-wasm-0.40 (package (name "rust-parity-wasm") @@ -12573,7 +14151,7 @@ synchronization primitives.") (define-public rust-paste-0.1 (package (name "rust-paste") - (version "0.1.7") + (version "0.1.10") (source (origin (method url-fetch) @@ -12582,12 +14160,15 @@ synchronization primitives.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0in0dqar8s16w6gbwyzwvckm80ala02pq87innx1w6yp73kszqb3")))) + "0yk4zbi7128dcrklsbwfa63d39x0dv8f7pdbrylvdlcj0s9v2kxb")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-paste-impl" ,rust-paste-impl-0.1) - ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)) + #:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1.0) + ("rust-trybuild" ,rust-trybuild-1.0)))) (home-page "https://github.com/dtolnay/paste") (synopsis "Macros for all your token pasting needs") (description @@ -12597,7 +14178,7 @@ synchronization primitives.") (define-public rust-paste-impl-0.1 (package (name "rust-paste-impl") - (version "0.1.7") + (version "0.1.10") (source (origin (method url-fetch) @@ -12606,7 +14187,7 @@ synchronization primitives.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1fwj11j5lhya5fjr4gfljxfm74ahlr09c8xbb8f22hzpyskw8kbd")))) + "12jsm83dnsqnrcabfacnwcxh3h4kykl622vi7glv2wg527hqc956")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -12895,6 +14476,32 @@ algorithm.") algorithms.") (license (list license:expat license:asl2.0)))) +(define-public rust-phf-0.8 + (package + (name "rust-phf") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "phf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "04pyv8bzqvw69rd5dynd5nb85py1hf7wa4ixyhrvdz1l5qin3yrx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-phf-shared" ,rust-phf-shared-0.8) + ("rust-phf-macros" ,rust-phf-macros-0.8)))) + (home-page "https://github.com/sfackler/rust-phf") + (synopsis "Runtime support for perfect hash function data structures") + (description "This package provides runtime support for perfect hash +function data structures.") + (license license:expat))) + (define-public rust-phf-0.7 (package (name "rust-phf") @@ -12920,6 +14527,30 @@ algorithms.") "Runtime support for perfect hash function data structures.") (license license:expat))) +(define-public rust-phf-codegen-0.8 + (package + (name "rust-phf-codegen") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "phf_codegen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05d8w7aqqjb6039pfm6404gk5dlwrrf97kiy1n21212vb1hyxzyb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-phf-generator" ,rust-phf-generator-0.8) + ("rust-phf-shared" ,rust-phf-shared-0.8)))) + (home-page "https://github.com/sfackler/rust-phf") + (synopsis "Codegen library for PHF types") + (description "Codegen library for PHF types.") + (license license:expat))) + (define-public rust-phf-codegen-0.7 (package (name "rust-phf-codegen") @@ -12944,6 +14575,31 @@ algorithms.") (description "Codegen library for PHF types.") (license license:expat))) +(define-public rust-phf-generator-0.8 + (package + (name "rust-phf-generator") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "phf_generator" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09i5338d1kixq6a60fcayz6awgxjlxcfw9ic5f02abbgr067ydhp")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-criterion" ,rust-criterion-0.3) + ("rust-rand" ,rust-rand-0.7) + ("rust-phf-shared" ,rust-phf-shared-0.8)))) + (home-page "https://github.com/sfackler/rust-phf") + (synopsis "PHF generation logic") + (description "PHF generation logic.") + (license license:expat))) + (define-public rust-phf-generator-0.7 (package (name "rust-phf-generator") @@ -12967,6 +14623,35 @@ algorithms.") (description "PHF generation logic") (license license:expat))) +(define-public rust-phf-macros-0.8 + (package + (name "rust-phf-macros") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "phf_macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "170qm6yqn6b9mjlwb2xmm3iad9d5nzwgfawfwy7zr7s2zwcdwvvz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-phf-generator" ,rust-phf-generator-0.8) + ("rust-phf-shared" ,rust-phf-shared-0.8) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/sfackler/rust-phf") + (synopsis "Macros to generate types in the phf crate") + (description + "This package contains macros to generate types in the phf crate.") + (license license:expat))) + (define-public rust-phf-macros-0.7 (package (name "rust-phf-macros") @@ -12999,6 +14684,31 @@ algorithms.") "Macros to generate types in the phf crate.") (license license:expat))) +(define-public rust-phf-shared-0.8 + (package + (name "rust-phf-shared") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "phf_shared" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xssnqrrcn0nr9ayqrnm8xm37ac4xvwcx8pax7jxss7yxawzh360")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-siphasher" ,rust-siphasher-0.3) + ("rust-unicase" ,rust-unicase-2.6)))) + (home-page "https://github.com/sfackler/rust-phf") + (synopsis "Support code shared by PHF libraries") + (description + "This package provides support code shared by PHF libraries.") + (license license:expat))) + (define-public rust-phf-shared-0.7 (package (name "rust-phf-shared") @@ -13062,6 +14772,368 @@ algorithms.") (license (list license:asl2.0 license:expat)))) +(define-public rust-piston-0.49 + (package + (name "rust-piston") + (version "0.49.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1y0rbw92mzagqmwk79wv9axq0m7aid0s0d5cppyzh33wrxhdl3xj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-pistoncore-input" ,rust-pistoncore-input-0.28) + ("rust-pistoncore-window" ,rust-pistoncore-window-0.44) + ("rust-pistoncore-event-loop" ,rust-pistoncore-event-loop-0.49)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Piston game engine core libraries") + (description + "The Piston game engine core libraries.") + (license license:expat))) + +(define-public rust-piston-float-1.0 + (package + (name "rust-piston-float") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-float" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r35aasycms79hf2vf1ap40kkp8ywgl4hmfkf762dq8jwd3vw07r")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/pistondevelopers/float") + (synopsis + "Traits for generic floats in game development") + (description + "Traits for generic floats in game development") + (license license:expat))) + +(define-public rust-piston-gfx-texture-0.40 + (package + (name "rust-piston-gfx-texture") + (version "0.40.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-gfx_texture" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1nr5awdgk3njfvfanszrv4gxz93f6skid1c8yijswccygripchqz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gfx" ,rust-gfx-0.18) + ("rust-image" ,rust-image-0.22) + ("rust-piston-texture" ,rust-piston-texture-0.8) + ("rust-gfx-core" ,rust-gfx-core-0.9)))) + (home-page "https://github.com/pistondevelopers/gfx_texture") + (synopsis + "Gfx texture representation that works nicely with Piston libraries") + (description "This package provides a Gfx texture representation that works +nicely with Piston libraries.") + (license license:expat))) + +(define-public rust-piston-graphics-api-version-0.2 + (package + (name "rust-piston-graphics-api-version") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-graphics_api_version" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b5p6s45jqv057lpbxkiq3yrdjjhvcynmi2vjf8292rf0yh4hky5")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/PistonDevelopers/graphics_api_version") + (synopsis + "A library for storing graphics API versions") + (description + "This package provides a library for storing graphics API versions") + (license license:expat))) + +(define-public rust-piston-shaders-graphics2d-0.3 + (package + (name "rust-piston-shaders-graphics2d") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-shaders_graphics2d" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dhh9bv4q19gdnj9d1nqq0yrvzs6gcn0c5j1p1f3xzyzq7d1gg4p")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/PistonDevelopers/shaders") + (synopsis "Shaders for 2D graphics in Rust") + (description "Shaders for 2D graphics in Rust") + (license license:expat))) + +(define-public rust-piston-texture-0.8 + (package + (name "rust-piston-texture") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-texture" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pcv5my49b8xzqcb87wqh2ndgvr4s9ipys96s0h9j2plxrj3bjb2")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/pistondevelopers/texture") + (synopsis "A generic library for textures") + (description + "This package provides a generic library for textures") + (license license:expat))) + +(define-public rust-piston-viewport-1.0 + (package + (name "rust-piston-viewport") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston-viewport" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16378hcy41b7x3zj2z4har0wq6fl4r62kf9p106jjl8hg2dv3aq1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-float" ,rust-piston-float-1.0)))) + (home-page "https://github.com/PistonDevelopers/viewport") + (synopsis "Library for storing viewport information") + (description + "This package provides a library for storing viewport information.") + (license license:expat))) + +(define-public rust-piston-window-0.105 + (package + (name "rust-piston-window") + (version "0.105.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston_window" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05n2905gkp5ck25kbq95ia6pj1xz63dpp247jz3xcw1d41xpvi95")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gfx-device-gl" ,rust-gfx-device-gl-0.16) + ("rust-gfx" ,rust-gfx-0.18) + ("rust-piston2d-graphics" ,rust-piston2d-graphics-0.35) + ("rust-piston" ,rust-piston-0.49) + ("rust-shader-version" ,rust-shader-version-0.6) + ("rust-pistoncore-glutin-window" ,rust-pistoncore-glutin-window-0.63) + ("rust-piston2d-gfx-graphics" ,rust-piston2d-gfx-graphics-0.66) + ("rust-piston-texture" ,rust-piston-texture-0.8)))) + (home-page "https://github.com/pistondevelopers/piston_window") + (synopsis "Official Piston window wrapper for the Piston game engine") + (description + "The official Piston window wrapper for the Piston game engine.") + (license license:expat))) + +(define-public rust-piston2d-gfx-graphics-0.66 + (package + (name "rust-piston2d-gfx-graphics") + (version "0.66.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston2d-gfx_graphics" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pmlkf5rl6pr0c1lqm0059xwj9pwlws7gaq9w6r9d916di6fzki1")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gfx" ,rust-gfx-0.18) + ("rust-piston-shaders-graphics2d" ,rust-piston-shaders-graphics2d-0.3) + ("rust-piston-gfx-texture" ,rust-piston-gfx-texture-0.40) + ("rust-shader-version" ,rust-shader-version-0.6) + ("rust-draw-state" ,rust-draw-state-0.8)))) + (home-page "https://github.com/PistonDevelopers/gfx_graphics") + (synopsis "Gfx 2D back-end for the Piston game engine") + (description + "This package provides a Gfx 2D back-end for the Piston game engine.") + (license license:expat))) + +(define-public rust-piston2d-graphics-0.35 + (package + (name "rust-piston2d-graphics") + (version "0.35.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "piston2d-graphics" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1dx2fanxc2pj76hc5l72x0fh4qg9gchjlr8rmbhdk6jpggcmq56g")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-interpolation" ,rust-interpolation-0.2) + ("rust-rusttype" ,rust-rusttype-0.7) + ("rust-piston-texture" ,rust-piston-texture-0.8) + ("rust-piston-viewport" ,rust-piston-viewport-1.0) + ("rust-read-color" ,rust-read-color-1.0) + ("rust-vecmath" ,rust-vecmath-1.0) + ("rust-fnv" ,rust-fnv-1.0)))) + (home-page "https://github.com/pistondevelopers/graphics") + (synopsis "Library for 2D graphics that works with multiple back-ends") + (description "This package provides a library for 2D graphics that works +with multiple back-ends.") + (license license:expat))) + +(define-public rust-pistoncore-event-loop-0.49 + (package + (name "rust-pistoncore-event-loop") + (version "0.49.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-event_loop" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h9ij9vx42xg39198yxdlpk842pli5jqm2kwswiv3bqqcji0fwsm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-pistoncore-input" ,rust-pistoncore-input-0.28) + ("rust-pistoncore-window" ,rust-pistoncore-window-0.44)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Piston event loop for games and interactive applications") + (description "This package provides a Piston event loop for games and +interactive applications.") + (license license:expat))) + +(define-public rust-pistoncore-glutin-window-0.63 + (package + (name "rust-pistoncore-glutin-window") + (version "0.63.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-glutin_window" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0dhbyxarv5i742d400bmqdqq3f8c25kcgcg0xavrc18dc913rixc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gl" ,rust-gl-0.11) + ("rust-glutin" ,rust-glutin-0.21) + ("rust-pistoncore-input" ,rust-pistoncore-input-0.28) + ("rust-pistoncore-window" ,rust-pistoncore-window-0.44) + ("rust-shader-version" ,rust-shader-version-0.6)))) + (home-page "https://github.com/pistondevelopers/glutin_window") + (synopsis "Piston window back-end using the Glutin library") + (description + "This package provides a Piston window back-end using the Glutin library.") + (license license:expat))) + +(define-public rust-pistoncore-input-0.28 + (package + (name "rust-pistoncore-input") + (version "0.28.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-input" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rrcz9px098m3nx98gvrvzirfdp3vg03cblfkcrp4wnvswc0hwq5")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-viewport" ,rust-piston-viewport-1.0) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-bitflags" ,rust-bitflags-1)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Structure for user input") + (description + "This package provides a structure for user input.") + (license license:expat))) + +(define-public rust-pistoncore-window-0.44 + (package + (name "rust-pistoncore-window") + (version "0.44.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pistoncore-window" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18qy3nnpb9jczvkiyzzznamck0pzgiyi6073jrkldnci6b3in10q")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-graphics-api-version" + ,rust-piston-graphics-api-version-0.2) + ("rust-pistoncore-input" ,rust-pistoncore-input-0.28)))) + (home-page "https://github.com/PistonDevelopers/piston") + (synopsis "Library for window abstraction") + (description + "This package provides a library for window abstraction.") + (license license:expat))) + (define-public rust-pkg-config-0.3 (package (name "rust-pkg-config") @@ -13108,6 +15180,72 @@ used in Cargo build scripts.") (license (list license:asl2.0 license:expat)))) +(define-public rust-plist-0.4 + (package + (name "rust-plist") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "plist" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zqnxc5i4y6mj119vr0lzpb5j67vffpx2phhgh711533bw3ryajz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-line-wrap" ,rust-line-wrap-0.1) + ("rust-base64" ,rust-base64-0.10) + ("rust-xml-rs" ,rust-xml-rs-0.8) + ("rust-serde" ,rust-serde-1.0) + ("rust-humantime" ,rust-humantime-1.3) + ("rust-byteorder" ,rust-byteorder-1.3)))) + (home-page "https://github.com/ebarnard/rust-plist/") + (synopsis "Rusty plist parser") + (description + "This package provides a rusty plist parser. Supports Serde serialization.") + (license license:expat))) + +(define-public rust-plotters-0.2 + (package + (name "rust-plotters") + (version "0.2.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "plotters" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ssycy9an23vs9hq098c7kl1dvp5ych20d994lhsw9vx4kdbhfsf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-gif" ,rust-gif-0.10) + ("rust-piston-window" ,rust-piston-window-0.105) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-image" ,rust-image-0.22) + ("rust-js-sys" ,rust-js-sys-0.3) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-font-kit" ,rust-font-kit-0.4) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-palette" ,rust-palette-0.5) + ("rust-cairo-rs" ,rust-cairo-rs-0.7) + ("rust-rusttype" ,rust-rusttype-0.8) + ("rust-lazy-static" ,rust-lazy-static-1)))) + (home-page "https://github.com/38/plotters") + (synopsis "Rust drawing library focus on data plotting") + (description + "This package provides a Rust drawing library focus on data plotting for +both WASM and native applications") + (license license:expat))) + (define-public rust-plugin-0.2 (package (name "rust-plugin") @@ -13332,11 +15470,119 @@ for x86.") dependency to expose a precomputed hash.") (license license:expat))) -;; Cyclic dependencies with rust-demo-hack. +(define-public rust-pretty-assertions-0.6 + (package + (name "rust-pretty-assertions") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pretty_assertions" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ctor" ,rust-ctor-0.1) + ("rust-output-vt100" ,rust-output-vt100-0.1) + ("rust-ansi-term" ,rust-ansi-term-0.11) + ("rust-difference" ,rust-difference-2.0)))) + (home-page "https://github.com/colin-kiegel/rust-pretty-assertions") + (synopsis "Drop-in replacements for assert_eq! and assert_ne!") + (description + "Overwrite @code{assert_eq!} and @code{assert_ne!} with drop-in +replacements, adding colorful diffs.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-pretty-env-logger-0.3 + (package + (name "rust-pretty-env-logger") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pretty_env_logger" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0x4hyjlnvvhyk9m74iypzybm22w3dl2k8img4b956239n5vf8zki")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-env-logger" ,rust-env-logger-0.6)))) + (home-page "https://github.com/seanmonstar/pretty-env-logger") + (synopsis "Visually pretty env_logger") + (description "This package provides a visually pretty env_logger.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-proc-macro-error-0.4 + (package + (name "rust-proc-macro-error") + (version "0.4.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro-error" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rvpaadwv7vmsp142qqh2axqrr9v78f1nvdsi9nhmfhy10kk1wqq")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro-error-attr" ,rust-proc-macro-error-attr-0.4) + ("rust-version-check" ,rust-version-check-0.9) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://gitlab.com/CreepySkeleton/proc-macro-error") + (synopsis "Almost drop-in replacement to panics in proc-macros") + (description + "Almost drop-in replacement to panics in proc-macros.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-proc-macro-error-attr-0.4 + (package + (name "rust-proc-macro-error-attr") + (version "0.4.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro-error-attr" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1pk9mwcfnpf8favgc2cl4sqlmi818p96hg8pfb51wg5nzmvlnnwa")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-syn-mid" ,rust-syn-mid-0.5) + ("rust-version-check" ,rust-version-check-0.9) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://gitlab.com/CreepySkeleton/proc-macro-error") + (synopsis "Attribute macro for proc-macro-error crate") + (description + "Attribute macro for proc-macro-error crate.") + (license (list license:expat license:asl2.0)))) + (define-public rust-proc-macro-hack-0.5 (package (name "rust-proc-macro-hack") - (version "0.5.11") + (version "0.5.15") (source (origin (method url-fetch) @@ -13345,15 +15591,15 @@ dependency to expose a precomputed hash.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1idz5vmnjjhvr51yvwyjb45mza18wa53fr05m1skqvbdyw15gm7c")))) + "0qqbfm1byabjkph56r2rlvv4cliz4960j6hav3ljazyjqvkryr8d")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs - (("rust-proc-macro2" ,rust-proc-macro2-1.0) - ("rust-quote" ,rust-quote-1.0) - ("rust-syn" ,rust-syn-1.0)) - #:cargo-development-inputs - (("rust-demo-hack" ,rust-demo-hack-0.0) + `(#:cargo-development-inputs + (("rust-quote" ,rust-quote-1.0) + ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-trybuild" ,rust-trybuild-1.0) + ("rust-demo-hack" ,rust-demo-hack-0.0) ("rust-demo-hack-impl" ,rust-demo-hack-impl-0.0)))) (home-page "https://github.com/dtolnay/proc-macro-hack") (synopsis @@ -13429,7 +15675,7 @@ dependency to expose a precomputed hash.") (define-public rust-proc-macro2-1.0 (package (name "rust-proc-macro2") - (version "1.0.8") + (version "1.0.10") (source (origin (method url-fetch) @@ -13437,7 +15683,7 @@ dependency to expose a precomputed hash.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0j45p176fnw0d02dzcky9sxyr4fadiggq07skmblwspqdxy33jrs")))) + "1qxbnl8i3a5b2nxb8kdxbq6kj3pd1ckhm35wm7z3jd7n5wlns96z")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -13465,11 +15711,39 @@ in terms of the upstream unstable API.") (base32 "0nd71fl24sys066jrha6j7i34nfkjv44yzw8yww9742wmc8j0gfg")))) (arguments - `(#:cargo-inputs + `(#:tests? #f ; doc tests fail + #:cargo-inputs (("rust-unicode-xid" ,rust-unicode-xid-0.1)) #:cargo-development-inputs (("rust-quote" ,rust-quote-0.6)))))) +(define-public rust-proc-macro2-0.3 + (package + (name "rust-proc-macro2") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "proc-macro2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1ryaynnaj39l4zphcg5w8wszndd80vsrv89m5d2293gl6pry41hv")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-unicode-xid" ,rust-unicode-xid-0.1)))) + (home-page "https://github.com/alexcrichton/proc-macro2") + (synopsis + "Substitute implementation of the compiler's `proc_macro` API") + (description + "This package provides a substitute implementation of the compiler's +@code{proc_macro} API to decouple token-based libraries from the procedural +macro use case.") + (license (list license:expat license:asl2.0)))) + (define-public rust-procedural-masquerade-0.1 (package (name "rust-procedural-masquerade") @@ -13617,6 +15891,31 @@ stack pointer and inspect the properties of the stack.") "This package provides a pull parser for CommonMark.") (license license:expat))) +(define-public rust-pulldown-cmark-0.2 + (package + (name "rust-pulldown-cmark") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pulldown-cmark" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05gfnqa0wzix5m17jrmgj0yyr9sflqm0knn79ndppsnhcan2zxgf")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-getopts" ,rust-getopts-0.2) + ("rust-bitflags" ,rust-bitflags-1)))) + (home-page "https://github.com/raphlinus/pulldown-cmark") + (synopsis "Pull parser for CommonMark") + (description + "This package provides a pull parser for CommonMark.") + (license license:expat))) + (define-public rust-quantiles-0.7 (package (name "rust-quantiles") @@ -13916,7 +16215,7 @@ integers, floats, tuples, booleans, lists, strings, options and results.") (define-public rust-quote-1.0 (package (name "rust-quote") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) @@ -13924,13 +16223,13 @@ integers, floats, tuples, booleans, lists, strings, options and results.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1zkc46ryacf2jdkc6krsy2z615xbk1x8kp1830rcxz3irj5qqfh5")))) + "0zwd6fp74xfg4jnnnwj4v84lkzif2giwj4ch1hka9g35ghc6rp1b")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1.0)) #:cargo-development-inputs - (("rust-rustversion" ,rust-rustversion-0.1) + (("rust-rustversion" ,rust-rustversion-1.0) ("rust-trybuild" ,rust-trybuild-1.0)))) (home-page "https://github.com/dtolnay/quote") (synopsis "Quasi-quoting macro quote!(...)") @@ -13953,6 +16252,25 @@ integers, floats, tuples, booleans, lists, strings, options and results.") (arguments `(#:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-0.4)))))) +(define-public rust-quote-0.5 + (package + (inherit rust-quote-0.6) + (name "rust-quote") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "quote" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1s01fh0jl8qv4xggs85yahw0h507nzrxkjbf7vay3zw8d3kcyjcr")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-0.3)))))) + (define-public rust-quote-0.3 (package (inherit rust-quote-0.6) @@ -14107,7 +16425,7 @@ useful types and distributions, and some randomness-related algorithms.") (define-public rust-rand-chacha-0.2 (package (name "rust-rand-chacha") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) @@ -14116,7 +16434,7 @@ useful types and distributions, and some randomness-related algorithms.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lv8imzzl4h2glm6sjj8mkvasgi8jym23ya48dakyln7m06sk8h3")))) + "00il36fkdbsmpr99p9ksmmp6dn1md7rmnwmz0rr77jbrca2yvj7l")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -14811,6 +17129,29 @@ reference counting.") @code{rdrand} and @code{rdseed} instructions") (license license:isc))) +(define-public rust-read-color-1.0 + (package + (name "rust-read-color") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "read_color" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1np0pk31ak7hni4hri3m75mbf8py1wdfjshmrj5krbd4p9c8hk4z")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/pistondevelopers/read_color") + (synopsis + "A simple library for reading hex colors") + (description + "This package provides a simple library for reading hex colors") + (license (list license:expat license:asl2.0)))) + (define-public rust-recycler-0.1 (package (name "rust-recycler") @@ -14880,7 +17221,7 @@ system calls.") (define-public rust-redox-users-0.3 (package (name "rust-redox-users") - (version "0.3.1") + (version "0.3.4") (source (origin (method url-fetch) @@ -14889,15 +17230,14 @@ system calls.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0vdn688q9wg997b1x5abx2gf7406rn1lvd62ypcgh1gj7g5dpkjf")))) + "0cbl5w16l3bqm22i4vszclf6hzpljxicghmllw7j13az4s9k1ch9")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-failure" ,rust-failure-0.1) - ("rust-rand-os" ,rust-rand-os-0.1) + (("rust-getrandom" ,rust-getrandom-0.1) ("rust-redox-syscall" ,rust-redox-syscall-0.1) - ("rust-rust-argon2" ,rust-rust-argon2-0.5)))) + ("rust-rust-argon2" ,rust-rust-argon2-0.7)))) (home-page "https://gitlab.redox-os.org/redox-os/users") (synopsis "Access Redox users and groups") (description @@ -15000,7 +17340,7 @@ functionality.") (define-public rust-regex-1.3 (package (name "rust-regex") - (version "1.3.4") + (version "1.3.6") (source (origin (method url-fetch) @@ -15009,12 +17349,12 @@ functionality.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1a1mh9mgr8jipnxdaykla6xlw4a6kjn2bzkq3cifx8xy4ivzjb1j")))) + "1cx4lcgy7vdi2kij2n1dp2whl33d7974g1kxwiklhs192nclcsbz")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-aho-corasick" ,rust-aho-corasick-0.7) - ("rust-memchr" ,rust-memchr-2.2) + ("rust-memchr" ,rust-memchr-2.3) ("rust-regex-syntax" ,rust-regex-syntax-0.6) ("rust-thread-local" ,rust-thread-local-1.0)) #:cargo-development-inputs @@ -15115,7 +17455,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (define-public rust-regex-automata-0.1 (package (name "rust-regex-automata") - (version "0.1.7") + (version "0.1.9") (source (origin (method url-fetch) @@ -15124,21 +17464,22 @@ uses finite automata and guarantees linear time matching on all inputs.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "11hzn3rz02vdgvx3ykhrbzkvs5c5sm59fyi3xwljn9qc48br5l1y")))) + "1r3aqa9c0s9sfrmd2w0mli16ldjzbar0rzb1x7srfjkasrqys7df")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-byteorder" ,rust-byteorder-1.3) - ("rust-regex-syntax" ,rust-regex-syntax-0.6) - ("rust-utf8-ranges" ,rust-utf8-ranges-1.0)) + (("rust-fst" ,rust-fst-0.4) + ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-regex-syntax" ,rust-regex-syntax-0.6)) #:cargo-development-inputs - (("rust-lazy-static" ,rust-lazy-static-1) + (("rust-bstr" ,rust-bstr-0.2) + ("rust-lazy-static" ,rust-lazy-static-1) ("rust-regex" ,rust-regex-1.1) ("rust-serde" ,rust-serde-1.0) ("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1.0) - ("rust-toml" ,rust-toml-0.5)))) + ("rust-toml" ,rust-toml-0.5)))) ; 0.4 (home-page "https://github.com/BurntSushi/regex-automata") (synopsis "Automata construction and matching using regular expressions") @@ -15149,7 +17490,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (define-public rust-regex-syntax-0.6 (package (name "rust-regex-syntax") - (version "0.6.14") + (version "0.6.17") (source (origin (method url-fetch) @@ -15157,7 +17498,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "01myl8xqpbnird23xnsb92sjmz1cmp69r6m7y3dwbpmsx4zzx3dj")))) + "1blmlgzcg7in3kcxqabpfzzrbnamr2i671flbrmlqhfps5bvvrbz")))) (build-system cargo-build-system) (home-page "https://github.com/rust-lang/regex") (synopsis "Regular expression parser") @@ -15230,6 +17571,30 @@ uses finite automata and guarantees linear time matching on all inputs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-reopen-0.3 + (package + (name "rust-reopen") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "reopen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12b3mfxkwb8akdfa701nzvqr6lsc6n84vrq088gmjy8lxlmr4an6")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/vorner/reopen") + (synopsis "File reopening utility") + (description "File reopening utility.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-resolv-conf-0.6 (package (name "rust-resolv-conf") @@ -15284,6 +17649,35 @@ uses finite automata and guarantees linear time matching on all inputs.") (license (list license:asl2.0 license:expat)))) +(define-public rust-rust-argon2-0.7 + (package + (name "rust-rust-argon2") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rust-argon2" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05xh5wfxgzq3b6jys8r34f3hmqqfs8ylvf934n9z87wfv95szj1b")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-constant-time-eq" ,rust-constant-time-eq-0.1) + ("rust-base64" ,rust-base64-0.11) + ("rust-blake2b-simd" ,rust-blake2b-simd-0.5) + ("rust-crossbeam-utils" ,rust-crossbeam-utils-0.7)))) + (home-page "https://github.com/sru-systems/rust-argon2") + (synopsis + "Rust implementation of the Argon2 password hashing function") + (description + "This package provides a Rust implementation of the Argon2 password +hashing function.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rust-argon2-0.5 (package (name "rust-rust-argon2") @@ -15312,6 +17706,112 @@ uses finite automata and guarantees linear time matching on all inputs.") password hashing function.") (license (list license:expat license:asl2.0)))) +(define-public rust-rust-hawktracer-0.7 + (package + (name "rust-rust-hawktracer") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rust_hawktracer" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1h9an3b73pmhhpzc2kk93nh93lplkvsffysj0rp6rxi7p4lhlj73")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rust-hawktracer-normal-macro" + ,rust-rust-hawktracer-normal-macro-0.4) + ("rust-rust-hawktracer-proc-macro" + ,rust-rust-hawktracer-proc-macro-0.4)))) + (home-page "https://github.com/AlexEne/rust_hawktracer") + (synopsis "Rust bindings for hawktracer profiling library") + (description + "Rust bindings for hawktracer profiling library.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-rust-hawktracer-proc-macro-0.4 + (package + (name "rust-rust-hawktracer-proc-macro") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "rust_hawktracer_proc_macro" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qfksscfv8rbbzv2zb0i9sbbqmig0dr0vrma3c1kzsfmpsynlqnb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rust-hawktracer-sys" ,rust-rust-hawktracer-sys-0.4)))) + (home-page "https://github.com/AlexEne/rust_hawktracer_proc_macro") + (synopsis + "Helper crate for hawktracer profiling library") + (description + "This package is a helper crate for hawktracer profiling library.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-rust-hawktracer-normal-macro-0.4 + (package + (name "rust-rust-hawktracer-normal-macro") + (version "0.4.1") + (source + (origin + (method url-fetch) + (uri (crate-uri + "rust_hawktracer_normal_macro" + version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1sfjmipdbb5s498c150czr6wihjlkwwgla2jyg3cs7cyjich0mwa")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rust-hawktracer-sys" ,rust-rust-hawktracer-sys-0.4)))) + (home-page "https://github.com/AlexEne/rust_hawktracer_normal_macro") + (synopsis "Helper crate for hawktracer profiling library") + (description + "This package provides a helper crate for hawktracer profiling library.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-rust-hawktracer-sys-0.4 + (package + (name "rust-rust-hawktracer-sys") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "rust_hawktracer_sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "15acrj881y2g7cwsgf1nr22cixrknp8m4x08dkx1an6zf4q8bk37")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cmake" ,rust-cmake-0.1) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-bindgen" ,rust-bindgen-0.37) + ("rust-itertools" ,rust-itertools-0.8)))) + (home-page "https://github.com/AlexEne/rust_hawktracer_sys") + (synopsis + "Sys crate for the rust_hawktracer library") + (description + "This package provides a sys crate for the rust_hawktracer library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rustc-demangle-0.1 (package (name "rust-rustc-demangle") @@ -15337,6 +17837,29 @@ password hashing function.") (license (list license:asl2.0 license:expat)))) +(define-public rust-rustc-hash-1.1 + (package + (name "rust-rustc-hash") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustc-hash" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1qkc5khrmv5pqi5l5ca9p5nl5hs742cagrndhbrlk3dhlrx3zm08")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/rust-lang-nursery/rustc-hash") + (synopsis + "speed, non-cryptographic hash used in rustc") + (description + "speed, non-cryptographic hash used in rustc") + (license (list license:asl2.0 license:expat)))) + (define-public rust-rustc-hash-1.0 (package (name "rust-rustc-hash") @@ -15728,7 +18251,7 @@ using a fork-like interface.") (define-public rust-ryu-1.0 (package (name "rust-ryu") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) @@ -15736,14 +18259,15 @@ using a fork-like interface.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1j0h74f1xqf9hjkhanp8i20mqc1aw35kr1iq9i79q7713mn51a5z")))) + "0xlx9ybzncrb7d6r9533g8ydlg6mr252pfzl4g9cqaqkpvk24mjk")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-no-panic" ,rust-no-panic-0.1)) #:cargo-development-inputs (("rust-num-cpus" ,rust-num-cpus-1.11) - ("rust-rand" ,rust-rand-0.5)))) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand-xorshift" ,rust-rand-xorshift-0.2)))) (home-page "https://github.com/dtolnay/ryu") (synopsis "Fast floating point to string conversion") (description @@ -15820,6 +18344,30 @@ paths point to the same file.") #:cargo-development-inputs (("rust-rand" ,rust-rand-0.3)))))) +(define-public rust-scan-fmt-0.2 + (package + (name "rust-scan-fmt") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "scan_fmt" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1gmaa07z8bkkdv5xhq2lrgml6ri7fqyyrjpiks3phmpmq3p8d0i4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-regex" ,rust-regex-1.3)))) + (home-page "https://github.com/wlentz/scan_fmt") + (synopsis "Simple scanf()-like input for Rust") + (description + "This package provides a simple scanf()-like input for Rust") + (license license:expat))) + (define-public rust-schannel-0.1 (package (name "rust-schannel") @@ -15949,6 +18497,31 @@ with one of the implemented strategies.") (base32 "09sy9wbqp409pkwmqni40qmwa99ldqpl48pp95m1xw8sc19qy9cl")))))) +(define-public rust-scroll-0.10 + (package + (name "rust-scroll") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "scroll" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1cbcns8538sqmfnmdbphqy0fd4j8z75z802pvmz3zlwmnln37cmb")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-scroll-derive" ,rust-scroll-derive-0.10)))) + (home-page "https://github.com/m4b/scroll") + (synopsis "Endian-aware Read/Write traits for byte buffers") + (description + "This package provides a suite of powerful, extensible, generic, +endian-aware Read/Write traits for byte buffers.") + (license license:expat))) + (define-public rust-scroll-0.9 (package (name "rust-scroll") @@ -15978,6 +18551,33 @@ with one of the implemented strategies.") endian-aware Read/Write traits for byte buffers.") (license license:expat))) +(define-public rust-scroll-derive-0.10 + (package + (name "rust-scroll-derive") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "scroll_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0a7f0xybi27p1njs4bqmxh9zyb2dqal4dbvgnhjjix4zkgm4wn7q")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/m4b/scroll") + (synopsis "Pread and Pwrite traits from the scroll crate") + (description + "This package provides a macros 1.1 derive implementation for Pread and +Pwrite traits from the scroll crate.") + (license license:expat))) + (define-public rust-scroll-derive-0.9 (package (name "rust-scroll-derive") @@ -16182,7 +18782,7 @@ proven statistical guarantees.") (define-public rust-serde-1.0 (package (name "rust-serde") - (version "1.0.104") + (version "1.0.105") (source (origin (method url-fetch) @@ -16190,7 +18790,7 @@ proven statistical guarantees.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0ja4mgw4p42syjk7jkzwhj2yg6llfrfm7vn8rvy7v3c1bzr1aha1")))) + "1zrj157dxvmymp5ii60anap2qqks4pkr3fwsp71wi3sv4nzzn1z7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -16425,7 +19025,7 @@ for the serde framework.") (define-public rust-serde-derive-1.0 (package (name "rust-serde-derive") - (version "1.0.104") + (version "1.0.105") (source (origin (method url-fetch) @@ -16433,7 +19033,7 @@ for the serde framework.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0r7gjlwfry44b4ylz524ynjp9v3qiwdj4c588lh94aas78q9x3qj")))) + "1y5gzwpy8yjv9pwh1js11vr18nfz4gg1g2kmyr6p58hvavy00pdc")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -16480,7 +19080,7 @@ for the serde framework.") (define-public rust-serde-json-1.0 (package (name "rust-serde-json") - (version "1.0.44") + (version "1.0.50") (source (origin (method url-fetch) @@ -16488,18 +19088,21 @@ for the serde framework.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1mysl675nqhzzkbcrqy4x63cbbsrrx3gcc7k8ydx1gajrkh7bia8")))) + "0rs8rsk59kgkgsrw8hyyjrlhas9k1by2jwxxqcz3c2bq2qna39vq")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-indexmap" ,rust-indexmap-1.0) + (("rust-indexmap" ,rust-indexmap-1.3) ("rust-itoa" ,rust-itoa-0.4) ("rust-ryu" ,rust-ryu-1.0) ("rust-serde" ,rust-serde-1.0)) #:cargo-development-inputs - (("rust-serde-bytes" ,rust-serde-bytes-0.11) + (;("rust-automod" ,rust-automod-0.1) + ("rust-rustversion" ,rust-rustversion-1.0) + ("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-derive" ,rust-serde-derive-1.0) + ;("rust-serde-stacker" ,rust-serde-stacker-0.1) ("rust-trybuild" ,rust-trybuild-1.0)))) (home-page "https://github.com/serde-rs/json") (synopsis "JSON serialization file format") @@ -16571,7 +19174,7 @@ for the serde framework.") (define-public rust-serde-test-1.0 (package (name "rust-serde-test") - (version "1.0.101") + (version "1.0.105") (source (origin (method url-fetch) @@ -16580,7 +19183,7 @@ for the serde framework.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0070ycbh47yhxb5vxwa15vi2wpdkw3v1m14v4mjryz1568fqkbsa")))) + "1vnp0wld20z1wjr8qp2hxcy6yh2zhicg1mfb0qrzxgwq2a4n6raa")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -16876,6 +19479,32 @@ for the serde framework.") "Assembly implementation of SHA-1 compression function.") (license license:expat))) +(define-public rust-shader-version-0.6 + (package + (name "rust-shader-version") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "shader_version" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1yk651xc9irl3pl0rlplypzyzy44d0j03ji0j7hjjdjknwzpi3j7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-graphics-api-version" + ,rust-piston-graphics-api-version-0.2)))) + (home-page "https://github.com/pistondevelopers/shader_version") + (synopsis + "Helper library for detecting and picking compatible shaders") + (description "This package provides a helper library for detecting and +picking compatible shaders.") + (license license:expat))) + (define-public rust-shared-child-0.3 (package (name "rust-shared-child") @@ -17097,6 +19726,54 @@ CPUs, as well as raw interfaces to platform-specific instructions. #:cargo-development-inputs (("rust-cfg-if" ,rust-cfg-if-0.1)))))) +(define-public rust-simd-helpers-0.1 + (package + (name "rust-simd-helpers") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "simd_helpers" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "19idqicn9k4vhd04ifh2ff41wvna79zphdf2c81rlmpc7f3hz2cm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/lu-zero/simd_helpers") + (synopsis "Helpers to write more compact simd code") + (description + "This package provides helpers to write more compact simd code.") + (license license:expat))) + +(define-public rust-siphasher-0.3 + (package + (name "rust-siphasher") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "siphasher" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "08xvk3yi4vawppm1f81s4zrkksf95psz8gczh36y808candgi24f")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-serde" ,rust-serde-1.0)))) + (home-page "https://docs.rs/siphasher") + (synopsis "SipHash-2-4, SipHash-1-3 and 128-bit variants in pure Rust") + (description "This package provides SipHash-2-4, SipHash-1-3 and 128-bit +variants in pure Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-siphasher-0.2 (package (name "rust-siphasher") @@ -17117,6 +19794,37 @@ CPUs, as well as raw interfaces to platform-specific instructions. "SipHash functions from rust-core < 1.13.") (license (list license:asl2.0 license:expat)))) +(define-public rust-skeptic-0.13 + (package + (name "rust-skeptic") + (version "0.13.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "skeptic" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0rai61hbs65nbvbhqlk1nap5hlav5qx3zmjjjzh9rhgxagc8xyyn")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-error-chain" ,rust-error-chain-0.12) + ("rust-pulldown-cmark" ,rust-pulldown-cmark-0.2) + ("rust-glob" ,rust-glob-0.2) + ("rust-tempdir" ,rust-tempdir-0.3) + ("rust-bytecount" ,rust-bytecount-0.4) + ("rust-cargo-metadata" ,rust-cargo-metadata-0.6) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-walkdir" ,rust-walkdir-2.3)))) + (home-page "https://github.com/budziq/rust-skeptic") + (synopsis "Test your Rust markdown documentation via Cargo") + (description + "Test your Rust markdown documentation via Cargo.") + (license (list license:expat license:asl2.0)))) + (define-public rust-slab-0.4 (package (name "rust-slab") @@ -17166,6 +19874,33 @@ data type.") "Rust FFI bindings to the SLEEF Vectorized Math Library.") (license (list license:asl2.0 license:expat)))) +(define-public rust-slog-2.5 + (package + (name "rust-slog") + (version "2.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "slog" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "16bv6zrdn1sm315vbnia02g31xvsmbjyz5gv3z0vrgxdli0cdj8w")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-erased-serde" ,rust-erased-serde-0.3)))) + (home-page "https://github.com/slog-rs/slog") + (synopsis "Structured, extensible, composable logging for Rust") + (description + "This package provides structured, extensible, composable logging for Rust.") + (license + (list license:mpl2.0 + license:expat + license:asl2.0)))) + (define-public rust-slog-2.4 (package (name "rust-slog") @@ -17936,6 +20671,32 @@ and Jaro-Winkler.") (base32 "0z3zzvmilfldp4xw42qbkjf901dcnbk58igrzsvivydjzd24ry37")))))) +(define-public rust-structopt-0.3 + (package + (name "rust-structopt") + (version "0.3.12") + (source + (origin + (method url-fetch) + (uri (crate-uri "structopt" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "178m7wxnjyy9a8a961z74nazjsg79rfv3gv9g3bykfrrjmqs5yn8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-structopt-derive" ,rust-structopt-derive-0.4) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-clap" ,rust-clap-2)))) + (home-page "https://github.com/TeXitoi/structopt") + (synopsis "Parse command line argument by defining a struct") + (description + "Parse command line argument by defining a struct.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-structopt-0.2 (package (name "rust-structopt") @@ -17960,6 +20721,34 @@ and Jaro-Winkler.") "Parse command line arguments by defining a struct.") (license (list license:asl2.0 license:expat)))) +(define-public rust-structopt-derive-0.4 + (package + (name "rust-structopt-derive") + (version "0.4.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "structopt-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0c04bbzc5bmr2ns6qy35yz55nn3xvlq4dpwxdynnljb9ikhvi21z")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-heck" ,rust-heck-0.3) + ("rust-proc-macro-error" ,rust-proc-macro-error-0.4) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/TeXitoi/structopt") + (synopsis "Parse command line argument by defining a struct, derive crate") + (description + "Parse command line argument by defining a struct, derive crate.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-structopt-derive-0.2 (package (name "rust-structopt-derive") @@ -18008,10 +20797,61 @@ and Jaro-Winkler.") cryptographic implementations.") (license license:bsd-3))) +(define-public rust-sval-0.4 + (package + (name "rust-sval") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "sval" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1aljggx64481q4wp3wx9hxsfh2bs7d64nqsrwbb2zxcpmdnbn6yk")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-sval-derive" ,rust-sval-derive-0.4) + ("rust-smallvec" ,rust-smallvec-0.6) + ("rust-serde" ,rust-serde-1.0)))) + (home-page "https://github.com/sval-rs/sval") + (synopsis "No-std, object-safe serialization framework") + (description + "This package provides a no-std, object-safe serialization framework.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-sval-derive-0.4 + (package + (name "rust-sval-derive") + (version "0.4.7") + (source + (origin + (method url-fetch) + (uri (crate-uri "sval_derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "07s7jqsdczsg0wnydfnxyrsj8zyrjmiwl4is1dfgn8dfvyi8n2bj")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/sval-rs/sval") + (synopsis "Custom derive for sval") + (description "Custom derive for sval.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-syn-1.0 (package (name "rust-syn") - (version "1.0.5") + (version "1.0.17") (source (origin (method url-fetch) @@ -18019,12 +20859,28 @@ cryptographic implementations.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1gw03w7lzrlqmp2vislcybikgl5wkhrqi6sy70w93xss2abhx1b6")))) + "00xvf772ys4fj9fr8kplmsqb9if215dsipi3nv54aw9q7xkfpw0d")))) (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-unicode-xid" ,rust-unicode-xid-0.2) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-quote" ,rust-quote-1.0)) + #:cargo-development-inputs + (("rust-anyhow" ,rust-anyhow-1.0) + ("rust-flate2" ,rust-flate2-1.0) + ;("rust-insta" ,rust-insta-0.12) + ("rust-rayon" ,rust-rayon-1.3) + ("rust-ref-cast" ,rust-ref-cast-1.0) + ("rust-regex" ,rust-regex-1.3) + ;("rust-reqwest" ,rust-reqwest-0.10) + ("rust-tar" ,rust-tar-0.4) + ("rust-termcolor" ,rust-termcolor-1.0) + ("rust-walkdir" ,rust-walkdir-2.3)))) (home-page "https://github.com/dtolnay/syn") (synopsis "Parser for Rust source code") (description "Parser for Rust source code") - (properties '((hidden? . #t))) (license (list license:expat license:asl2.0)))) (define-public rust-syn-0.15 @@ -18088,6 +20944,33 @@ cryptographic implementations.") ("rust-tempdir" ,rust-tempdir-0.3) ("rust-walkdir" ,rust-walkdir-1.0)))))) +(define-public rust-syn-mid-0.5 + (package + (name "rust-syn-mid") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "syn-mid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12ikg5jfklixq0wsgfl7sdzjqlxgq50ygklxy4f972hjdjgm7qvv")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/taiki-e/syn-mid") + (synopsis + "Provide the features between \"full\" and \"derive\" of syn.") + (description + "This package provides the features between \"full\" and \"derive\" of syn.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-synom-0.11 (package (name "rust-synom") @@ -18121,6 +21004,33 @@ cryptographic implementations.") "Stripped-down Nom parser used by Syn.") (license (list license:expat license:asl2.0)))) +(define-public rust-synstructure-0.12 + (package + (name "rust-synstructure") + (version "0.12.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "synstructure" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0igmc5fzpk6fg7kgff914j05lbpc6ai2wmji312v2h8vvjhnwrb7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-unicode-xid" ,rust-unicode-xid-0.2) + ("rust-proc-macro2" ,rust-proc-macro2-1.0) + ("rust-syn" ,rust-syn-1.0) + ("rust-quote" ,rust-quote-1.0)))) + (home-page "https://github.com/mystor/synstructure") + (synopsis "Helper methods and macros for custom derives") + (description + "This package provides helper methods and macros for custom derives.") + (license license:expat))) + (define-public rust-synstructure-0.10 (package (name "rust-synstructure") @@ -18168,6 +21078,44 @@ cryptographic implementations.") "This package provides helper test traits for synstructure doctests.") (license license:expat))) +(define-public rust-syntect-3.3 + (package + (name "rust-syntect") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "syntect" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1f6qn1yy15b0hq9h6q1rikqnm3lh56ic6bq3ywsmdsjy8ni9splm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-plist" ,rust-plist-0.4) + ("rust-yaml-rust" ,rust-yaml-rust-0.4) + ("rust-regex-syntax" ,rust-regex-syntax-0.6) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-flate2" ,rust-flate2-1.0) + ("rust-serde-json" ,rust-serde-json-1.0) + ("rust-fnv" ,rust-fnv-1.0) + ("rust-bitflags" ,rust-bitflags-1) + ("rust-lazycell" ,rust-lazycell-1.2) + ("rust-bincode" ,rust-bincode-1.2) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-walkdir" ,rust-walkdir-2.3) + ("rust-onig" ,rust-onig-5.0)))) + (home-page "https://github.com/trishume/syntect") + (synopsis "Library for syntax highlighting and code intelligence") + (description + "This package provides a library for syntax highlighting and code +intelligence using Sublime Text's grammars.") + (license license:expat))) + (define-public rust-syntex-0.58 (package (name "rust-syntex") @@ -18320,6 +21268,58 @@ syntax extension expansion.") ("rust-errno" ,rust-errno-0.2) ("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-syslog-4.0 + (package + (name "rust-syslog") + (version "4.0.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "syslog" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09ykcbvwx8icvf303mqyz76ji8j6fgyyx97zpr23s788ni112r50")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-time" ,rust-time-0.1) + ("rust-error-chain" ,rust-error-chain-0.11) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4)))) + (home-page "https://github.com/Geal/rust-syslog") + (synopsis "Send log messages to syslog") + (description "Send log messages to syslog.") + (license license:expat))) + +(define-public rust-syslog-3.3 + (package + (name "rust-syslog") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "syslog" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0hpdnk2zm6xawpz6fv6qbn0ncfm5p0wm5c6gq7yhaz2gvsnb1jdv")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-time" ,rust-time-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.3) + ("rust-unix-socket" ,rust-unix-socket-0.5)))) + (home-page "https://github.com/Geal/rust-syslog") + (synopsis "Send log messages to syslog") + (description "Send log messages to syslog.") + (license license:expat))) + (define-public rust-takeable-option-0.4 (package (name "rust-takeable-option") @@ -18399,6 +21399,29 @@ memory all at once.") @code{build.rs} scripts.") (license (list license:isc license:asl2.0)))) +(define-public rust-target-lexicon-0.10 + (package + (name "rust-target-lexicon") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "target-lexicon" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17diw9c3d1vb5rmwwk2ghsyhfs0gj5jm78hrwxxhmd67vhw743mb")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page + "https://github.com/CraneStation/target-lexicon") + (synopsis + "Targeting utilities for compilers and related tools") + (description + "Targeting utilities for compilers and related tools") + (license license:asl2.0))) + (define-public rust-tempdir-0.3 (package (name "rust-tempdir") @@ -19083,7 +22106,7 @@ in Rust.") (define-public rust-tinytemplate-1.0 (package (name "rust-tinytemplate") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) @@ -19092,7 +22115,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "084w41m75i95sdid1wwlnav80jsl1ggyryl4nawxvb6amigvfx25")))) + "06ipxjwl1w6synvql8b50qxbqv0w04agvmmfqcdynr9ygmkcd8sp")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -19100,7 +22123,7 @@ in Rust.") (("rust-serde" ,rust-serde-1.0) ("rust-serde-json" ,rust-serde-json-1.0)) #:cargo-development-inputs - (("rust-criterion" ,rust-criterion-0.2) + (("rust-criterion" ,rust-criterion-0.3) ("rust-serde-derive" ,rust-serde-derive-1.0)))) (home-page "https://github.com/bheisler/TinyTemplate") (synopsis "Simple, lightweight template engine") @@ -19328,7 +22351,7 @@ the current thread.") (define-public rust-tokio-io-0.1 (package (name "rust-tokio-io") - (version "0.1.12") + (version "0.1.13") (source (origin (method url-fetch) @@ -19337,7 +22360,7 @@ the current thread.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "09jrz1hh4h1vj45qy09y7m7m8jsy1hl6g32clnky25mdim3dp42h")))) + "0x06zyzinans1pn90g6i150lgixijdf1cg8y2gipjd09ms58dz2p")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -19768,6 +22791,34 @@ serializing Rust structures.") (license (list license:asl2.0 license:expat)))) +(define-public rust-toml-0.2 + (package + (name "rust-toml") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "toml" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1d1cz43bxrx4fd6j2p6myckf81f72bp47akg36y3flxjkhj60svk")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-0.8)))) + (home-page "https://github.com/alexcrichton/toml-rs") + (synopsis "Rust encoder and decoder of TOML-formatted files and streams") + (description + "This package provides a native Rust encoder and decoder of TOML-formatted +files and streams. Provides implementations of the standard +Serialize/Deserialize traits for TOML data to facilitate deserializing and +serializing Rust str") + (license (list license:expat license:asl2.0)))) + (define-public rust-tracing-core-0.1 (package (name "rust-tracing-core") @@ -20053,6 +23104,30 @@ with the Unicode character database.") "Unchecked indexing wrapper using regular index syntax.") (license (list license:asl2.0 license:expat)))) +(define-public rust-unicase-2.6 + (package + (name "rust-unicase") + (version "2.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unicase" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xmlbink4ycgxrkjspp0mf7pghcx4m7vxq7fpfm04ikr2zk7pwsh")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-version-check" ,rust-version-check-0.9)))) + (home-page "https://github.com/seanmonstar/unicase") + (synopsis "Case-insensitive wrapper around strings") + (description + "This package provides a case-insensitive wrapper around strings.") + (license (list license:expat license:asl2.0)))) + (define-public rust-unicase-2.4 (package (name "rust-unicase") @@ -20283,6 +23358,30 @@ whitespace from a string.") (license (list license:asl2.0 license:expat)))) +(define-public rust-unix-socket-0.5 + (package + (name "rust-unix-socket") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "unix_socket" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0r0mxf3mmqvimnx4mpks1f6c4haj6jcxc0k9bs7w61f42w2718ka")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/rust-lang-nursery/unix-socket") + (synopsis "Unix domain socket bindings") + (description "This package provides unix domain socket bindings.") + (license (list license:expat license:asl2.0)))) + (define-public rust-unreachable-1.0 (package (name "rust-unreachable") @@ -20508,7 +23607,7 @@ Unix users and groups.") (define-public rust-utf8-ranges-1.0 (package (name "rust-utf8-ranges") - (version "1.0.3") + (version "1.0.4") (source (origin (method url-fetch) @@ -20517,7 +23616,7 @@ Unix users and groups.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ppzjsxmv1p1xfid8wwn07ciikk84k30frl28bwsny6za1vall4x")))) + "1fpc32znar5v02nwsw7icl41jzzzzhy0si6ngqjylzrbxxpi3bml")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -20568,6 +23667,35 @@ Unix users and groups.") (description "This package provides a table-driven UTF-8 parser.") (license (list license:asl2.0 license:expat)))) +(define-public rust-uuid-0.8 + (package + (name "rust-uuid") + (version "0.8.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "uuid" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "049w16qwk3d3b9cmpgvd7fvcnwgs75l8rlsagh06w7ga9dm2zplz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi" ,rust-winapi-0.3) + ("rust-sha1" ,rust-sha1-0.6) + ("rust-md5" ,rust-md5-0.6) + ("rust-rand" ,rust-rand-0.7) + ("rust-serde" ,rust-serde-1.0) + ("rust-slog" ,rust-slog-2.5)))) + (home-page "https://github.com/uuid-rs/uuid") + (synopsis "Library to generate and parse UUIDs") + (description + "This package provides a library to generate and parse UUIDs.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-uuid-0.7 (package (name "rust-uuid") @@ -20674,6 +23802,57 @@ Unix users and groups.") (license (list license:asl2.0 license:expat)))) +(define-public rust-vecmath-1.0 + (package + (name "rust-vecmath") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "vecmath" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0shmj76rj7rqv377vy365xwr5rx23kxqgkqxxrymdjjvv3hf2slm")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-piston-float" ,rust-piston-float-1.0)))) + (home-page "https://github.com/pistondevelopers/vecmath") + (synopsis "Library for vector math designed for reexporting") + (description + "This package provides a simple and type agnostic library for vector math +designed for reexporting.") + (license license:expat))) + +(define-public rust-vergen-3.1 + (package + (name "rust-vergen") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "vergen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1jrr0wihm9si98qz8ghjfnalfvmfv8rqvkgj2npqa7yzjs4hvrac")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-bitflags" ,rust-bitflags-1)))) + (home-page "http://github.com/rustyhorde/vergen") + (synopsis "Generate version related functions") + (description + "Generate version related functions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-version-check-0.9 (package (name "rust-version-check") @@ -20860,6 +24039,31 @@ updated when the crate version changes.") specified across Unix and Windows platforms.") (license (list license:expat license:asl2.0)))) +(define-public rust-walkdir-2.3 + (package + (name "rust-walkdir") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "walkdir" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z9g39f49cycdm9vzjf8hnfh3f1csxgd65kmlphj8r2vffy84wbp")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-winapi-util" ,rust-winapi-util-0.1) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-same-file" ,rust-same-file-1.0)))) + (home-page "https://github.com/BurntSushi/walkdir") + (synopsis "Recursively walk a directory") + (description "Recursively walk a directory.") + (license (list license:unlicense license:expat)))) + (define-public rust-walkdir-2.2 (package (name "rust-walkdir") @@ -20911,6 +24115,33 @@ specified across Unix and Windows platforms.") ("rust-rand" ,rust-rand-0.3) ("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))))) +(define-public rust-wasi-0.9 + (package + (name "rust-wasi") + (version "0.9.0+wasi-snapshot-preview1") + (source + (origin + (method url-fetch) + (uri (crate-uri "wasi" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06g5v3vrdapfzvfq662cij7v8a1flwr2my45nnncdv2galrdzkfc")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) + ("rust-rustc-std-workspace-alloc" ,rust-rustc-std-workspace-alloc-1.0) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1.0)))) + (home-page "https://github.com/bytecodealliance/wasi") + (synopsis "Experimental WASI API bindings for Rust") + (description + "This package provides an experimental WASI API bindings for Rust.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-wasi-0.5 (package (name "rust-wasi") @@ -20934,7 +24165,7 @@ in Rust.") (define-public rust-wasm-bindgen-0.2 (package (name "rust-wasm-bindgen") - (version "0.2.58") + (version "0.2.60") (source (origin (method url-fetch) @@ -20943,7 +24174,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0v31s91andxcj73w63g3fkbw3ld6cfsaa4135qcjna22vypyj1aj")))) + "0zx42zryw03w3maz8p65gr5bhhybr2sdzgcck5p3gy47abh7ri9c")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -20969,7 +24200,7 @@ in Rust.") (define-public rust-wasm-bindgen-backend-0.2 (package (name "rust-wasm-bindgen-backend") - (version "0.2.58") + (version "0.2.60") (source (origin (method url-fetch) @@ -20978,7 +24209,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0icskn0qlj30np6x6nbyl1i9dndckx0pczaq69dm42r92rcbkk8i")))) + "1k9p8a7ng6nqan0m9555wj936lm2s1qz0fnafclwlv61yrxx6ryr")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -21056,7 +24287,7 @@ in Rust.") (define-public rust-wasm-bindgen-macro-0.2 (package (name "rust-wasm-bindgen-macro") - (version "0.2.58") + (version "0.2.60") (source (origin (method url-fetch) @@ -21065,7 +24296,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hwxw0nhi2n4izhjn2fvnrrn59xqjxs3ybkgzdv1b4p65ivr8h2p")))) + "1973xr0vr2aj85fkp3smk61z5ki7c4fhxlicfjxq3a0y7sv53lcb")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; 'Async blocks are unstable' @@ -21087,7 +24318,7 @@ dependency.") (define-public rust-wasm-bindgen-macro-support-0.2 (package (name "rust-wasm-bindgen-macro-support") - (version "0.2.58") + (version "0.2.60") (source (origin (method url-fetch) @@ -21096,7 +24327,7 @@ dependency.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0s3n7v741i4wkzib41m126li40qlhqyirnxpigkypsi59wsk2l78")))) + "0ca9bb9hnyzcmjww83x8asb76drf55ijhqv8yrl7igpixqv5p2nn")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -21115,7 +24346,7 @@ attribute that is not in the shared backend crate.") (define-public rust-wasm-bindgen-shared-0.2 (package (name "rust-wasm-bindgen-shared") - (version "0.2.58") + (version "0.2.60") (source (origin (method url-fetch) @@ -21123,9 +24354,8 @@ attribute that is not in the shared backend crate.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "00cnbabf4k9bahb217vkilmjwqwzpwp112vlvgfw1x19r4gydrzm")))) + "0ffn4152w8n629f29lwjgj3adiyixvdbff3mld49gisssbknzxys")))) (build-system cargo-build-system) - ;(arguments '(#:skip-build? #t)) (home-page "https://rustwasm.github.io/wasm-bindgen/") (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli") (description "This package provides shared support between @@ -21617,7 +24847,7 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (define-public rust-web-sys-0.3 (package (name "rust-web-sys") - (version "0.3.35") + (version "0.3.37") (source (origin (method url-fetch) @@ -21626,16 +24856,12 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0fzmxcyahy3ghl8lkjkchj9krmnr56shvbqgr7db3hm8dappryda")))) + "1jy4q5jawzg3dxzhfwa0g3fsz7h4j0ra6y232ikc6mlcimj52vrd")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-js-sys" ,rust-js-sys-0.3) - ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) - ("rust-anyhow" ,rust-anyhow-1.0) - ("rust-env-logger" ,rust-env-logger-0.7) - ("rust-sourcefile" ,rust-sourcefile-0.1) - ("rust-wasm-bindgen-webidl" ,rust-wasm-bindgen-webidl-0.2)) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)) #:cargo-development-inputs (("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) @@ -21668,6 +24894,32 @@ protocol extensions. Look at the crate wayland-client for usable bindings.") "This package provides a WebIDL Parser.") (license license:expat))) +(define-public rust-which-3.1 + (package + (name "rust-which") + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "which" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "094pw9pi48szshn9ln69z2kg7syq1jp80h5ps1qncbsaw4d0f4fh")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-failure" ,rust-failure-0.1) + ("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/harryfei/which-rs.git") + (synopsis "Rust equivalent of Unix command \"which\"") + (description + "This package provides a Rust equivalent of Unix command \"which\". Locate +installed executable in cross platforms.") + (license license:expat))) + (define-public rust-which-2.0 (package (name "rust-which") @@ -21826,7 +25078,7 @@ i686-pc-windows-gnu target. Please don't use this crate directly, depend on (define-public rust-winapi-util-0.1 (package (name "rust-winapi-util") - (version "0.1.2") + (version "0.1.4") (source (origin (method url-fetch) @@ -21834,7 +25086,7 @@ i686-pc-windows-gnu target. Please don't use this crate directly, depend on (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1j839dc6y8vszvrsb7yk0qvs0w6asnahxzbyans37vnsw6vbls3i")))) + "0vj3984cxwnf1ys3fdz6bpl7p0kdsgykpzbhmcmwi759cd8mqlgs")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-winapi" ,rust-winapi-0.3)))) @@ -22246,7 +25498,7 @@ to XDG Base Directory specification") (define-public rust-xml-rs-0.8 (package (name "rust-xml-rs") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) @@ -22255,14 +25507,37 @@ to XDG Base Directory specification") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1db4v716rbpgjiasaim2s17rmvsfcq1qzwg6nji6mdf5k34i46sl")))) + "0c905wsmk995xypxljpxzq6vv660r1pzgyrpsfiz13kw3hf0dzcs")))) (build-system cargo-build-system) - (arguments `(#:skip-build? #t)) + (arguments + `(#:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-lazy-static" ,rust-lazy-static-1)))) (home-page "https://github.com/netvl/xml-rs") (synopsis "XML library in pure Rust") (description "An XML library in pure Rust.") (license license:expat))) +(define-public rust-y4m-0.5 + (package + (name "rust-y4m") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "y4m" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06g8c53qk4cla3xczywx5qlklvzsw54x77vm727mhizlsp5n93ar")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/image-rs/y4m") + (synopsis "YUV4MPEG2 (.y4m) Encoder/Decoder.") + (description "YUV4MPEG2 (.y4m) Encoder/Decoder.") + (license license:expat))) + (define-public rust-yaml-rust-0.4 (package (name "rust-yaml-rust") diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 13237fb8a8..b07014da6c 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> @@ -70,12 +70,6 @@ `(cons ,(string-append "--target=" target) ,flags)))))) -(define (package-with-patch original patch) - "Return package ORIGINAL with PATCH applied." - (package (inherit original) - (source (origin (inherit (package-source original)) - (patches (list patch)))))) - (define (cross-binutils target) "Return a cross-Binutils for TARGET." (let ((binutils (package (inherit binutils) @@ -97,11 +91,16 @@ `(cons "--with-sysroot=/" ,flags))))))) ;; For Xtensa, apply Qualcomm's patch. - (cross (if (string-prefix? "xtensa-" target) - (package-with-patch binutils - (search-patch - "ath9k-htc-firmware-binutils.patch")) - binutils) + (cross (cond ((string-prefix? "xtensa-" target) + (package-with-patches binutils + (search-patches + "ath9k-htc-firmware-binutils.patch"))) + ((target-mingw? target) + (package-with-extra-patches + binutils + (search-patches "binutils-mingw-w64-timestamp.patch" + "binutils-mingw-w64-deterministic.patch"))) + (else binutils)) target))) (define (cross-gcc-arguments target xgcc libc) @@ -457,59 +456,69 @@ and the cross tool chain." (native-libc target libc #:xgcc xgcc #:xbinutils xbinutils) - (let ((libc libc)) - (package (inherit libc) - (name (string-append "glibc-cross-" target)) - (arguments - (substitute-keyword-arguments - `(;; Disable stripping (see above.) - #:strip-binaries? #f - - ;; This package is used as a target input, but it should not have - ;; the usual cross-compilation inputs since that would include - ;; itself. - #:implicit-cross-inputs? #f - - ;; We need SRFI 26. - #:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26)) - - ,@(package-arguments libc)) - ((#:configure-flags flags) - `(cons ,(string-append "--host=" target) - ,(if (hurd-triplet? target) - `(cons "--disable-werror" ,flags) - flags))) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'set-cross-kernel-headers-path - (lambda* (#:key inputs #:allow-other-keys) - (let* ((kernel (assoc-ref inputs "kernel-headers")) - (cpath (string-append kernel "/include"))) - (for-each (cut setenv <> cpath) - ',%gcc-cross-include-paths) - (setenv "CROSS_LIBRARY_PATH" - (string-append kernel "/lib")) ; for Hurd's libihash - #t))))))) - - ;; Shadow the native "kernel-headers" because glibc's recipe expects the - ;; "kernel-headers" input to point to the right thing. - (propagated-inputs `(("kernel-headers" ,xheaders))) - - ;; FIXME: 'static-bash' should really be an input, not a native input, but - ;; to do that will require building an intermediate cross libc. - (inputs '()) - - (native-inputs `(("cross-gcc" ,xgcc) - ("cross-binutils" ,xbinutils) - ,@(if (hurd-triplet? target) - `(("cross-mig" - ,@(assoc-ref (package-native-inputs xheaders) - "cross-mig"))) - '()) - ,@(package-inputs libc) ;FIXME: static-bash - ,@(package-native-inputs libc))))))) + (package + (inherit libc) + (name (string-append "glibc-cross-" target)) + (arguments + (substitute-keyword-arguments + `( ;; Disable stripping (see above.) + #:strip-binaries? #f + + ;; This package is used as a target input, but it should not have + ;; the usual cross-compilation inputs since that would include + ;; itself. + #:implicit-cross-inputs? #f + + ;; We need SRFI 26. + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + + ,@(package-arguments libc)) + ((#:configure-flags flags) + `(cons ,(string-append "--host=" target) + ,(if (hurd-triplet? target) + `(cons "--disable-werror" ,flags) + flags))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'set-cross-kernel-headers-path + (lambda* (#:key inputs #:allow-other-keys) + (let* ((kernel (assoc-ref inputs "kernel-headers")) + (cpath (string-append kernel "/include"))) + (for-each (cut setenv <> cpath) + ',%gcc-cross-include-paths) + (setenv "CROSS_LIBRARY_PATH" + (string-append kernel "/lib")) ; for Hurd's libihash + #t))) + ,@(if (hurd-triplet? target) + '((add-after 'install 'augment-libc.so + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (substitute* (string-append out "/lib/libc.so") + (("/[^ ]+/lib/libc.so.0.3") + (string-append out "/lib/libc.so.0.3" + " libmachuser.so libhurduser.so")))) + #t))) + '()))))) + + ;; Shadow the native "kernel-headers" because glibc's recipe expects the + ;; "kernel-headers" input to point to the right thing. + (propagated-inputs `(("kernel-headers" ,xheaders))) + + ;; FIXME: 'static-bash' should really be an input, not a native input, but + ;; to do that will require building an intermediate cross libc. + (inputs '()) + + (native-inputs `(("cross-gcc" ,xgcc) + ("cross-binutils" ,xbinutils) + ,@(if (hurd-triplet? target) + `(("cross-mig" + ,@(assoc-ref (package-native-inputs xheaders) + "cross-mig"))) + '()) + ,@(package-inputs libc) ;FIXME: static-bash + ,@(package-native-inputs libc)))))) (define* (native-libc target #:optional diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index afe85ae497..f48ab50ca9 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1075,8 +1075,8 @@ API.") (license license:asl2.0))) (define-public hash-extender - (let ((commit "9ecef26809a1ceea2a455f6f591b004298df551b") - (revision "1")) + (let ((commit "cb8aaee49f93e9c0d2f03eb3cafb429c9eed723d") + (revision "2")) (package (name "hash-extender") (version (git-version "0.0" revision commit)) @@ -1087,10 +1087,8 @@ API.") (commit commit))) (sha256 (base32 - "0fqy3d559zgf71w39py0931d8na0ylils45r8zs6r79wgr6qn78c")) - (file-name (git-file-name name version)) - (patches - (search-patches "hash-extender-test-suite.patch")))) + "1fj118566hr1wv03az2w0iqknazsqqkak0mvlcvwpgr6midjqi9b")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 9e60074dad..606594e005 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -41,6 +41,7 @@ ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> +;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -224,38 +225,22 @@ standard Go idioms.") (define-public ephemeralpg (package (name "ephemeralpg") - (version "2.8") + (version "3.0") (source (origin (method url-fetch) (uri (string-append - "http://eradman.com/ephemeralpg/code/ephemeralpg-" + "https://eradman.com/ephemeralpg/code/ephemeralpg-" version ".tar.gz")) (sha256 - (base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4")))) + (base32 "1j0g7g114ma7y7sadbng5p1ss1zsm9zpicm77qspym6565733vvh")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases - (delete 'configure) - (replace 'check - (lambda* (#:key inputs #:allow-other-keys) - ;; The intention for one test is to test without PostgreSQL on - ;; the $PATH, so replace the test $PATH with just the util-linux - ;; bin, which contains getopt. It will hopefully be possible to - ;; remove this for releases after 2.8. - (substitute* "test.rb" - (("/bin:/usr/bin") - (string-append (assoc-ref inputs "util-linux") - "/bin"))) - ;; Set the LC_ALL=C as some tests use sort, and the locale - ;; affects the order. It will hopefully be possible to remove - ;; this for releases after 2.8. - (setenv "LC_ALL" "C") - (invoke "ruby" "test.rb") - #t)) + (delete 'configure) ; no configure script (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -265,15 +250,18 @@ standard Go idioms.") "/bin") ,(string-append (assoc-ref inputs "postgresql") "/bin") - ;; For getsocket + ;; For getsocket. ,(string-append out "/bin"))))) - #t))))) + #t))) + #:test-target "test")) (inputs `(("postgresql" ,postgresql) ("util-linux" ,util-linux))) (native-inputs - `(("ruby" ,ruby))) - (home-page "http://eradman.com/ephemeralpg/") + ;; For tests. + `(("ruby" ,ruby) + ("which" ,which))) + (home-page "https://eradman.com/ephemeralpg/") (synopsis "Run temporary PostgreSQL databases") (description "@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks @@ -520,7 +508,7 @@ replacement for the code@{python-memcached} library.") ("python" ,python-2) ("python2-pymongo" ,python2-pymongo) ("python2-pyyaml" ,python2-pyyaml) - ("tzdata" ,tzdata))) + ("tzdata" ,tzdata-for-tests))) (arguments `(#:scons ,scons-python2 #:phases @@ -1245,19 +1233,20 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.") (name "sparql-query") (version "1.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/tialaramex/" - name "/archive/" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tialaramex/sparql-query") + (commit version))) (sha256 - (base32 "0yq3k20472rv8npcc420q9ab6idy584g5y0q501d360k5q0ggr8w")) - (file-name (string-append name "-" version ".tar.gz")))) + (base32 "0a84a89idpjhj9w2y3fmvzv7ldps1cva1kxvfmh897k02kaniwxk")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs - `(("readline" ,readline) - ("ncurses" ,ncurses) + `(("curl" ,curl) ("glib" ,glib) ("libxml2" ,libxml2) - ("curl" ,curl))) + ("ncurses" ,ncurses) + ("readline" ,readline))) (native-inputs `(("pkg-config" ,pkg-config))) (arguments @@ -2205,6 +2194,41 @@ can autogenerate peewee models using @code{pwiz}, a model generator.") (define-public python2-peewee (package-with-python2 python-peewee)) +(define-public python-tortoise-orm + (package + (name "python-tortoise-orm") + (version "0.16.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tortoise-orm" version)) + (sha256 + (base32 + "01hbvfyxs2qd1mjc96aipwsdxxhydw8ww686r4gsf87bl6f98dvz")))) + (build-system python-build-system) + ;; Disable tests for now. They pull in a lot of dependencies. + (arguments `(#:tests? #f)) + (native-inputs + `(("python-ciso8601" ,python-ciso8601) + ("python-asynctest" ,python-asynctest) + ("python-nose2" ,python-nose2))) + (propagated-inputs + `(("python-aiosqlite" ,python-aiosqlite) + ("python-pypika" ,python-pypika) + ("python-typing-extensions" + ,python-typing-extensions))) + (home-page + "https://github.com/tortoise/tortoise-orm") + (synopsis + "Easy async ORM for python, built with relations in mind") + (description + "Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper) +inspired by Django. Tortoise ORM was build with relations in mind and +admiration for the excellent and popular Django ORM. It’s engraved in its +design that you are working not with just tables, you work with relational +data.") + (license license:asl2.0))) + (define-public sqlcipher (package (name "sqlcipher") @@ -2716,6 +2740,29 @@ translate the complete SQLite API into Python.") (define-public python2-apsw (package-with-python2 python-apsw)) +(define-public python-aiosqlite + (package + (name "python-aiosqlite") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "aiosqlite" version)) + (sha256 + (base32 + "1f3zdldp9zgrw6qz5fsp3wa5zw73cjf139pj4vf24ryv895320jg")))) + (build-system python-build-system) + (native-inputs + `(("python-aiounittest" ,python-aiounittest))) + (home-page "https://github.com/jreese/aiosqlite") + (synopsis + "Asyncio bridge for sqlite3") + (description + "The package aiosqlite replicates the standard sqlite3 module, but with +async versions of all the standard connection and cursor methods, and context +managers for automatically closing connections.") + (license license:expat))) + (define-public python2-neo4j-driver (package (name "python2-neo4j-driver") @@ -3024,6 +3071,27 @@ transforms idiomatic python function calls to well-formed SQL queries.") (define-public python2-sql (package-with-python2 python-sql)) +(define-public python-pypika + (package + (name "python-pypika") + (version "0.36.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "PyPika" version)) + (sha256 + (base32 + "0qzn5vygirg52dlizm6ayzdc5llq8p2krrx0kymr236lrz89wqp8")))) + (build-system python-build-system) + (native-inputs + `(("python-parameterized" ,python-parameterized))) + (home-page "https://github.com/kayak/pypika") + (synopsis "SQL query builder API for Python") + (description + "PyPika is a python SQL query builder that exposes the full richness of +the SQL language using a syntax that reflects the resulting query.") + (license license:asl2.0))) + (define-public mongo-tools (package (name "mongo-tools") diff --git a/gnu/packages/datamash.scm b/gnu/packages/datamash.scm index a61ee96fec..d0f4bdfbc0 100644 --- a/gnu/packages/datamash.scm +++ b/gnu/packages/datamash.scm @@ -29,7 +29,7 @@ (define-public datamash (package (name "datamash") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ version ".tar.gz")) (sha256 (base32 - "1jvqxcyh0aghnqh3m2rk5av1x0038flcmfzd493vasv1k69vgfdr")))) + "1cxdlhgz3wzjqlq8bgwad93fgqymk2abbldfzw1ffnhcp4mmjjjp")))) (native-inputs `(("which" ,which) ;for tests ("perl" ,perl))) ;for help2man diff --git a/gnu/packages/datastructures.scm b/gnu/packages/datastructures.scm index e7833b8e70..0f106b7ce9 100644 --- a/gnu/packages/datastructures.scm +++ b/gnu/packages/datastructures.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; @@ -105,17 +105,20 @@ and time-efficient for good hash functions.") (define-public ssdeep (package (name "ssdeep") - (version "2.13") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/ssdeep/" - name "-" version "/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f")))) + (version "2.14.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ssdeep-project/ssdeep/" + "releases/download/release-" version "/" + "ssdeep-" version ".tar.gz")) + (sha256 + (base32 "04qkjc6kksxkv7xbnk32rwmf3a8czdv2vvrdzfs0kw06h73snbpz")))) (build-system gnu-build-system) - (home-page "http://ssdeep.sourceforge.net") + (arguments + `(#:configure-flags + (list "--disable-static"))) + (home-page "https://ssdeep-project.github.io") (synopsis "Context-triggered piecewise hashing algorithm") (description "ssdeep computes and matches context triggered piecewise hashes (CTPH), also called fuzzy checksums. It can identify similar files @@ -126,14 +129,14 @@ in between these sequences may be different in both content and length.") (define-public liburcu (package (name "liburcu") - (version "0.11.1") + (version "0.12.1") (source (origin (method url-fetch) (uri (string-append "https://www.lttng.org/files/urcu/" "userspace-rcu-" version ".tar.bz2")) (sha256 (base32 - "0l1kxgzch4m8fxiz2hc8fwg56hrvzzspp7n0svnl7i7iycdrgfcj")))) + "03nd1gy2c3fdb6xwdrd5lr1jcjxbzffqh3z91mzbjhjn6k8fmymv")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) ; for tests @@ -149,7 +152,7 @@ queues, stacks, and doubly-linked lists.") (define-public uthash (package (name "uthash") - (version "2.0.2") + (version "2.1.0") (source (origin (method git-fetch) @@ -158,8 +161,7 @@ queues, stacks, and doubly-linked lists.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0kslz8k6lssh7fl7ayzwlj62p0asxs3dq03357ls5ywjad238gqg")))) + (base32 "0k80bjbb6ss5wpmfmfji6xbyjm990hg9kcshwwnhdnh73vxkcd1m")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -178,7 +180,7 @@ queues, stacks, and doubly-linked lists.") ;; There is no top-level Makefile to do this for us. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/" ,name)) + (doc (string-append out "/share/doc/" ,name "-" ,version)) (include (string-append out "/include"))) ;; Don't install HTML files: they're just the below .txt files ;; dolled up, can be stale, and regeneration requires asciidoc. diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index db8c9695f4..ff4cccb03d 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,7 +117,7 @@ contains the archive keys used for that.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.119") + (version "1.0.123") (source (origin (method git-fetch) @@ -126,8 +126,7 @@ contains the archive keys used for that.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0p0p8qmlsbvpfa0r7ifghr67zrrc96d83r9qwahzaxyxkvnhr4x4")))) + (base32 "0fr5ir8arzisx71jybbk4xz85waz50lf2y052nfimzh6vv9dx54c")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 75dd94d868..4a264427c2 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -119,11 +120,11 @@ program to exhibit a bug.") (sha256 (base32 "0qx0zq8jxzx2as2zf0740g7kvgq163ayn3041di4vwk77490y76v")))) (build-system gnu-build-system) + (native-inputs `(("flex" ,flex))) (inputs `(("astyle" ,astyle) ("llvm" ,llvm) ("clang" ,clang) - ("flex" ,flex) ("indent" ,indent) ("perl" ,perl) ("exporter-lite" ,perl-exporter-lite) diff --git a/gnu/packages/dico.scm b/gnu/packages/dico.scm index f6ab56887c..44a7a21b6b 100644 --- a/gnu/packages/dico.scm +++ b/gnu/packages/dico.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,13 +64,13 @@ (lambda _ ;; Test '71: append + dooffs + env' fails if $V is not 2. (invoke "make" "check" "V=2")))))) + (native-inputs `(("groff" ,groff))) (inputs `(("m4" ,m4) ;used at run time ("pcre" ,pcre) ("python" ,python-2) ("guile" ,guile-2.2) ("gsasl" ,gsasl) - ("groff" ,groff) ("readline" ,readline) ("zlib" ,zlib) ("wordnet" ,wordnet) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index d481b139a5..06ccfafb40 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -205,24 +205,24 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public grammalecte (package (name "grammalecte") - (version "1.8.0") + (version "1.9.0") (source (origin (method url-fetch/zipbomb) (uri (string-append "https://grammalecte.net/grammalecte/zip/" "Grammalecte-fr-v" version ".zip")) (sha256 - (base32 "06z2na1zs5q6vla45q5b8fzjwpckanmwh42r8in8vhb7a8v2fkyp")))) + (base32 "1dmbmvf27dy0cnq2x7ldp9xmni8fl1p7vflgpy0yrgifgrjvnxzr")))) (build-system python-build-system) (home-page "https://grammalecte.net") (synopsis "French spelling and grammar checker") - (description "Grammalecte is a grammar checker dedicated to the French -language, derived from Lightproof. + (description "Grammalecte is a grammar checker for the French language, +derived from Lightproof. -Grammalecte aims at helping to write a proper French without distracting users -with false positives. This grammar checker follows the principle: the less -false positives, the better; if it cannot know with a good chance if -a dubious expression is wrong, it will keep silent. +Grammalecte helps writing a proper French, without distracting users with +false positives. This grammar checker follows the principle: the less false +positives, the better; if it cannot know with a good chance that a dubious +expression is wrong, it keeps silent. The package provides the command line interface, along with a server and a Python library.") diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index 0e452d6df8..71c0039dfb 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages man) + #:use-module (gnu packages maths) #:use-module (gnu packages mono) #:use-module (gnu packages ocaml) #:use-module (gnu packages package-management) @@ -68,7 +69,7 @@ #:use-module (ice-9 match)) (define-public diffoscope - (let ((version "137")) + (let ((version "141")) (package (name "diffoscope") (version version) @@ -80,7 +81,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "11llnh2h2mx3xygj4482ld1rnjnhszk4828pmcbi75kanxfrqzq6")))) + "0pls2jryx394ysaz0g8h959lhrsdqak9bkxjd5r6sdckgiikplkj")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -91,6 +92,12 @@ (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': 'hdf5-tools'") + "'debian': 'hdf5-tools', 'guix': 'hdf5'")))) ;; This test is broken because our `file` package has a ;; bug in berkeley-db file type detection. (add-after 'unpack 'remove-berkeley-test @@ -189,6 +196,7 @@ ("giflib:bin" ,giflib "bin") ("gnumeric" ,gnumeric) ("gnupg" ,gnupg) + ("hdf5" ,hdf5) ("imagemagick" ,imagemagick) ("libarchive" ,libarchive) ("llvm" ,llvm) @@ -228,7 +236,7 @@ install.") (define-public reprotest (package (name "reprotest") - (version "0.7.13") + (version "0.7.14") (source (origin (method git-fetch) @@ -236,10 +244,9 @@ install.") (url "https://salsa.debian.org/reproducible-builds/reprotest.git") (commit version))) (file-name (git-file-name name version)) - (patches (search-patches "reprotest-support-guix.patch")) (sha256 (base32 - "0jj9sqxbdpypnc0y8md352wwzh1by6nyhmx5fwqnvrbznrng332f")))) + "12d07xq5zx5dfbsgakm6zcn7hgf0h9f5kvfjqkiyak4ix5aa6xkf")))) (inputs `(("python-debian" ,python-debian) ("python-distro" ,python-distro) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 4373d52974..b7d3b9d954 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -16,6 +16,8 @@ ;;; Copyright © 2019 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,10 +47,13 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) + #:use-module (gnu packages file-systems) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages graphics) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages linux) @@ -60,6 +65,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages samba) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) @@ -69,6 +75,7 @@ #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system python) @@ -79,6 +86,52 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) +(define-public udevil + (package + (name "udevil") + (version "0.4.4") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/IgnorantGuru/udevil.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x9mjr9abvbxzfa9mrip5264iz1qxvsl01k3ybz95q4a7xl4jcb3")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-systemd" + (string-append "--sysconfdir=" + (assoc-ref %outputs "out") + "/etc")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-root-reference + (lambda _ + (substitute* "src/Makefile.in" + (("-o root -g root") "")) + #t))))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("cifs-utils" ,cifs-utils) + ("curlftpfs" ,curlftpfs) + ("eudev" ,eudev) + ("fakeroot" ,fakeroot) + ("glib" ,glib) + ("sshfs" ,sshfs))) + (synopsis "Device and file system manager") + (description "udevil is a command line program that mounts and unmounts +removable devices without a password, shows device info, and monitors device +changes. It can also mount ISO files, NFS, SMB, FTP, SSH and WebDAV URLs, and +tmpfs/ramfs filesystems.") + (home-page "https://ignorantguru.github.io/udevil/") + (license license:gpl3+))) + (define-public parted (package (name "parted") @@ -368,12 +421,12 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") ("parted" ,parted) ("glib" ,glib) ("gtkmm" ,gtkmm) - ("libxml2" ,libxml2) - ("yelp-tools" ,yelp-tools))) + ("libxml2" ,libxml2))) (native-inputs `(("intltool" ,intltool) ("itstool" ,itstool) ("lvm2" ,lvm2) ; for tests + ("yelp-tools" ,yelp-tools) ("pkg-config" ,pkg-config))) (home-page "https://gparted.org/") (synopsis "Partition editor to graphically manage disk partitions") @@ -617,7 +670,7 @@ passphrases.") (define-public ndctl (package (name "ndctl") - (version "67") + (version "68") (source (origin (method git-fetch) (uri (git-reference @@ -626,7 +679,7 @@ passphrases.") (file-name (git-file-name name version)) (sha256 (base32 - "076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n")))) + "0xmim7z4qp6x2ggndnbwd940c73pa1qlf3hxyn3qh5pyr69nh9y8")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -855,3 +908,49 @@ written in Go. It is heavily inspired by ranger with some missing and extra features. Some of the missing features are deliberately omitted since they are better handled by external tools.") (license license:expat))) + +(define-public xfe + (package + (name "xfe") + (version "1.43.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://sourceforge.net/projects/xfe/files/xfe/" + version + "/xfe-" version ".tar.gz")) + (sha256 + (base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs")))) + (build-system gnu-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("fox" ,fox) + ("freetype" ,freetype) + ("x11" ,libx11) + ("xcb" ,libxcb) + ("xcb-util" ,xcb-util) + ("xft" ,libxft) + ("xrandr" ,libxrandr))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-xferc-path + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (xferc (string-append out "/share/xfe/xferc"))) + (substitute* "src/XFileExplorer.cpp" + (("/usr/share/xfe/xferc") xferc)) + #t)))) + #:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "BASH_COMPLETION_DIR=" out + "/share/bash-completion/completions"))))) + (synopsis "File Manager for X-Based Graphical Systems") + (description"XFE (X File Explorer) is a file manager for X. It is based on +the popular but discontinued, X Win Commander. It aims to be the file manager +of choice for all light thinking Unix addicts!") + (home-page "http://roland65.free.fr/xfe/") + (license license:gpl2+))) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index bfe1a8f6dd..51605e09aa 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -199,7 +199,7 @@ display manager which supports different greeters.") (define-public lightdm-gtk-greeter (package (name "lightdm-gtk-greeter") - (version "2.0.2") + (version "2.0.7") (source (origin (method url-fetch) (uri (string-append @@ -208,7 +208,7 @@ display manager which supports different greeters.") "/+download/lightdm-gtk-greeter-" version ".tar.gz")) (sha256 (base32 - "1436sdm83xqhxyr1rzqxhsl8if2xmidlvb341xcv6dv83lyxkrlf")))) + "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms")))) (build-system gnu-build-system) (native-inputs `(("exo" ,exo) diff --git a/gnu/packages/distributed.scm b/gnu/packages/distributed.scm index e1e6636219..d861484d22 100644 --- a/gnu/packages/distributed.scm +++ b/gnu/packages/distributed.scm @@ -44,7 +44,7 @@ (define-public boinc-client (package (name "boinc-client") - (version "7.16.5") + (version "7.16.6") (source (origin (method git-fetch) (uri (git-reference @@ -55,7 +55,7 @@ (file-name (git-file-name "boinc" version)) (sha256 (base32 - "107rpw9qd5x4pyxm9jd1lqxva5nxwb01dm5h61d6msv2vgiy0r8n")))) + "00xpzxxnki9hsf2vg9p67dk9ilw9ychpgm09fp3c41zyylb33ml5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-server"))) (inputs `(("openssl" ,openssl) diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 3b0c799dc3..5db012c680 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,9 +36,11 @@ #:use-module (gnu packages gdb) #:use-module (gnu packages libedit) #:use-module (gnu packages llvm) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages textutils)) + #:use-module (gnu packages textutils) + #:use-module (gnu packages xorg)) (define-public rdmd (package @@ -348,3 +351,49 @@ The design emphasis is on maximum simplicity for simple projects, while providing the opportunity to customize things when needed.") (license license:expat))) + +(define-public gtkd + (package + (name "gtkd") + (version "3.9.0") + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://gtkd.org/Downloads/sources/GtkD-" + version ".zip")) + (sha256 + (base32 "0qv8qlpwwb1d078pnrf0a59vpbkziyf53cf9p6m8ms542wbcxllp")))) + (build-system gnu-build-system) + (native-inputs + `(("unzip" ,unzip) + ("ldc" ,ldc) + ("pkg-config" ,pkg-config) + ("xorg-server-for-tests" ,xorg-server-for-tests))) + (arguments + `(#:test-target "test" + #:make-flags + `("DC=ldc2" + ,(string-append "prefix=" (assoc-ref %outputs "out")) + ,(string-append "libdir=" (assoc-ref %outputs "out") + "/lib")) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'patch-makefile + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "GNUmakefile" + ;; We do the tests ourselves. + (("default-goal: libs test") "default-goal: libs") + (("all: libs shared-libs test") "all: libs shared-libs") + ;; Work around upstream bug. + (("\\$\\(prefix\\)\\/\\$\\(libdir\\)") "$(libdir)")) + #t)) + (add-before 'check 'prepare-x + (lambda _ + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + #t))))) + (home-page "https://gtkd.org/") + (synopsis "D binding and OO wrapper of GTK+") + (description "This package provides bindings to GTK+ for D.") + (license license:lgpl2.1))) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index cc9dc28391..86569b5493 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -13,6 +13,8 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,6 +43,7 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages datastructures) #:use-module (gnu packages flex) + #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages groff) #:use-module (gnu packages groff) @@ -75,7 +78,7 @@ (define-public dnsmasq (package (name "dnsmasq") - (version "2.80") + (version "2.81") (source (origin (method url-fetch) (uri (string-append @@ -83,7 +86,7 @@ version ".tar.xz")) (sha256 (base32 - "1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd")))) + "1yzq6anwgr5rlnwydpszb51cyhp2vjq29b24ck19flbwac1sk73l")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -114,7 +117,7 @@ and BOOTP/TFTP for network booting of diskless machines.") (define-public isc-bind (package (name "bind") - (version "9.16.1") + (version "9.16.2") (source (origin (method url-fetch) (uri (string-append @@ -122,7 +125,7 @@ and BOOTP/TFTP for network booting of diskless machines.") "/bind-" version ".tar.xz")) (sha256 (base32 - "14ayswxnyaqwb935iqdi1w9ih3zs0a0va59j4cyi5f9mh7kxf4x9")))) + "0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs @@ -305,7 +308,7 @@ the two.") (synopsis "Asynchronous resolver library by the OpenBSD project") (description "libasr is a free, simple and portable asynchronous resolver library. -It allows to run DNS queries and perform hostname resolutions in a fully +It runs DNS queries and performs hostname resolution in a fully asynchronous fashion.") (license (list license:isc license:bsd-2 ; last part of getrrsetbyname_async.c @@ -948,3 +951,58 @@ could) directly register names in the Domain Name System (DNS). Some examples of public suffixes are .com, .co.uk and pvt.k12.ma.us. This is a list of all known public suffixes.") (license license:mpl2.0)))) + +(define-public maradns + (package + (name "maradns") + (version "3.5.0004") + (source + (origin + (method url-fetch) + (uri (string-append "https://maradns.samiam.org/download/" + (version-major+minor version) "/" + version "/maradns-" version ".tar.xz")) + (sha256 + (base32 + "1zv0i6m4m05ay5zlhwq1h88hgjq2d81cjanpnb3gyhr0xhmjwk6a")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; need to be root to run tests + #:make-flags + (list + (string-append "CC=" + (if ,(%current-target-system) + (string-append (assoc-ref %build-inputs "cross-gcc") + "/bin/" ,(%current-target-system) "-gcc") + "gcc")) + (string-append "PREFIX=" %output) + (string-append "RPM_BUILD_ROOT=" %output)) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key native-inputs target #:allow-other-keys) + ;; make_32bit_tables generates a header file that is used during + ;; compilation. Hence, during cross compilation, it should be + ;; built for the host system. + (when target + (substitute* "rng/Makefile" + (("\\$\\(CC\\) -o make_32bit_tables") + (string-append (assoc-ref native-inputs "gcc") + "/bin/gcc -o make_32bit_tables")))) + (invoke "./configure"))) + (add-before 'install 'create-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (dir) + (mkdir-p (string-append out dir))) + (list "/bin" "/sbin" "/etc" + "/share/man/man1" + "/share/man/man5" + "/share/man/man8")) + #t)))))) + (home-page "https://maradns.samiam.org") + (synopsis "Small lightweight DNS server") + (description "MaraDNS is a small and lightweight DNS server. MaraDNS +consists of a UDP-only authoritative DNS server for hosting domains, and a UDP +and TCP-capable recursive DNS server for finding domains on the internet.") + (license license:bsd-2))) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 69dee2b856..c95ca3f9d7 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -503,6 +503,7 @@ built-in registry server of Docker.") (replace 'configure (lambda _ (setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version)) + (setenv "VERSION" (string-append ,%docker-version "-ce")) ;; Automatically use bundled dependencies. ;; TODO: Unbundle - see file "vendor.conf". (setenv "AUTO_GOPATH" "1") @@ -540,7 +541,9 @@ built-in registry server of Docker.") (let* ((out (assoc-ref outputs "out")) (out-bin (string-append out "/bin"))) (install-file "bundles/dynbinary-daemon/dockerd" out-bin) - (install-file "bundles/dynbinary-daemon/dockerd-dev" out-bin) + (install-file (string-append "bundles/dynbinary-daemon/dockerd-" + (getenv "VERSION")) + out-bin) #t)))))) (inputs `(("btrfs-progs" ,btrfs-progs) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 5ac0fb1533..37be173949 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -104,6 +104,7 @@ (delete-file "resources/calibre-portable.sh") #t)) (patches (search-patches "calibre-no-updates-dialog.patch" + "calibre-msgpack-compat.patch" "calibre-remove-test-bs4.patch" ; TODO: fix test. "calibre-remove-test-sqlite.patch" ; TODO: fix test. "calibre-remove-test-unrar.patch")))) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 836fc2b525..a1fee29c4e 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net> +;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages flex) #:use-module (gnu packages fonts) #:use-module (gnu packages freedesktop) #:use-module (gnu packages game-development) @@ -43,12 +45,14 @@ #:use-module (gnu packages kde) #:use-module (gnu packages kde-frameworks) ; extra-cmake-modules #:use-module (gnu packages mp3) + #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) @@ -935,3 +939,40 @@ TuxMath also includes Factoroids, a game that gives practice in factoring numbers and simplifying fractions, as well as zapping rocks floating through space.") (license license:gpl3+))) + +(define-public mdk + (package + (name "mdk") + (version "1.2.10") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mdk/v1.2.10/mdk-" + version ".tar.gz")) + (sha256 + (base32 + "1rwcq2b5vvv7318j92nxc5dayj27dpfhzc4rjiv4ccvsc0x35x5h")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--enable-gui=yes" "-with-readline=yes"))) + (native-inputs + `(("flex" ,flex) + ("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("ncurses" ,ncurses))) + (inputs + `(("readline" ,readline) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("pango" ,pango) + ("libglade" ,libglade))) + (home-page "https://www.gnu.org/software/mdk/") + (synopsis "Virtual development environment for Knuth's MIX") + (description + "GNU MDK is the Mix Development Kit, an emulation of the pedagogical +computer MIX and its assembly language MIXAL. MIX has a virtual CPU with +standard features such as registers, memory cells, an overflow toggle, +comparison flags, input-output devices, and a set of binary instructions. +The package includes a compiler, a virtual machine, a GUI for the virtual +machine, and more.") + (license license:gpl3+))) diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index a52b31f22d..6f744af2f1 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -33,7 +33,7 @@ (define-public elixir (package (name "elixir") - (version "1.10.2") + (version "1.10.3") (source (origin (method git-fetch) @@ -42,7 +42,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "04yi1hljq7ii9flh6pmb5411z7q1bdq9f9sq8323k9hm1f5jwkx6")) + (base32 "18bqqqzvhr1zj491wc3d36a310mg1wcs12npp70zfmgqrc60q65a")) (patches (search-patches "elixir-path-length.patch")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9d40b8019e..2c61c4189d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -34,7 +34,7 @@ ;;; Copyright © 2017, 2018, 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com> ;;; Copyright © 2018, 2019 Mathieu Lirzin <mthl@gnu.org> -;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2018, 2019 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> @@ -43,7 +43,7 @@ ;;; Copyright © 2018, 2019 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 Brian Leung <bkleung89@gmail.com> +;;; Copyright © 2019, 2020 Brian Leung <bkleung89@gmail.com> ;;; Copyright © 2019 mikadoZero <mikadozero@yandex.com> ;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com> ;;; Copyright © 2019, 2020 Joseph LaFreniere <joseph@lafreniere.xyz> @@ -65,6 +65,9 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 6033fe7de85d <6033fe7de85d@airmail.cc> +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr> +;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx> ;;; ;;; This file is part of GNU Guix. ;;; @@ -108,6 +111,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) + #:use-module (gnu packages haskell-apps) #:use-module (gnu packages ncurses) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -211,8 +215,31 @@ implementation, Emacs and, ultimately, the schemer, giving them access to live metadata.") (license license:bsd-3))) -(define-public geiser - (deprecated-package "geiser" emacs-geiser)) +(define-public emacs-ac-geiser + (let ((commit "93818c936ee7e2f1ba1b315578bde363a7d43d05") + (revision "0")) + (package + (name "emacs-ac-geiser") + (version (git-version "0.1" revision commit)) + (source + (origin + (uri (git-reference + (url "https://github.com/xiaohanyu/ac-geiser.git") + (commit commit))) + (method git-fetch) + (sha256 + (base32 "00n2qa26yilaj837n1yp6lbqa4gf30nkkbvanl7m9ih7k48ssqmw")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("geiser" ,emacs-geiser) + ("auto-complete" ,emacs-auto-complete))) + (synopsis "Auto-complete backend for geiser") + (description + "This package provides an auto-complete source for Scheme projects +using geiser.") + (license license:bsd-3) + (home-page "https://github.com/xiaohanyu/ac-geiser")))) (define-public emacs-paredit (package @@ -239,9 +266,6 @@ for those who may want transient periods of unbalanced parentheses, such as when typing parentheses directly or commenting out code line by line.") (license license:gpl3+))) -(define-public paredit - (deprecated-package "paredit" emacs-paredit)) - (define-public git-modes (package (name "emacs-git-modes") @@ -263,9 +287,6 @@ when typing parentheses directly or commenting out code line by line.") configuration files, such as .gitattributes, .gitignore, and .git/config.") (license license:gpl3+))) -(define-public git-modes/old-name - (deprecated-package "git-modes" git-modes)) - (define-public emacs-with-editor (package (name "emacs-with-editor") @@ -395,9 +416,6 @@ cherry picking, reverting, merging, rebasing, and other common Git operations.") (license license:gpl3+)))) -(define-public magit - (deprecated-package "magit" emacs-magit)) - (define-public emacs-magit-svn (let ((commit "9e33ceee32f665db59909e1c00a667ccdd04178f")) (package @@ -424,9 +442,6 @@ operations.") support for Git-SVN.") (license license:gpl3+)))) -(define-public magit-svn - (deprecated-package "magit-svn" emacs-magit-svn)) - (define-public emacs-magit-popup (package (name "emacs-magit-popup") @@ -460,6 +475,31 @@ these arguments. The prototypical use is for the command to call an external process, passing on the arguments as command line arguments.") (license license:gpl3+))) +(define-public emacs-magit-annex + (let ((commit "ef5dce6267e9118a5eca82a22bcad0b67826c23a") + (revision "1")) + (package + (name "emacs-magit-annex") + (version (git-version "1.7.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/magit/magit-annex.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vzkydgl889cq173zjl89g2vrddb9abc4a8gljiz3b4a7n5b1nrd")))) + (build-system emacs-build-system) + (propagated-inputs + `(("magit" ,emacs-magit) + ("transient" ,emacs-transient))) + (home-page "https://github.com/magit/magit-annex/") + (synopsis "Git-annex support for Magit") + (description + "Magit-annex adds a few git-annex operations to the Magit interface.") + (license license:gpl3+)))) + (define-public emacs-minions (package (name "emacs-minions") @@ -582,6 +622,45 @@ Gitea, Gogs and Bitbucket. It abstracts access to API resources using only a handful of functions that are not resource-specific.") (license license:gpl3+)))) +(define-public emacs-typit + ;; Last release is from 2017. + (let ((commit "231cb7df43253b84323520b8ed70f128d37003af") + (revision "1")) + (package + (name "emacs-typit") + (version (git-version "0.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mrkkrp/typit.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1savrxs7xl92ifyxpxkkzv2didr7lb405h0dwz1bs1wldr5fb53f")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-dictionaries + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (site-lisp + (string-append + out "/share/emacs/site-lisp/dict"))) + (mkdir-p site-lisp) + (copy-recursively "dict" site-lisp) + #t)))))) + (propagated-inputs + `(("emacs-f" ,emacs-f) + ("emacs-mmt" ,emacs-mmt))) + (home-page "https://github.com/mrkkrp/typit") + (synopsis "Typing game for Emacs with two difficulties") + (description "Emacs Typit is a typing game for Emacs. Words that are +picked randomly from the most frequent words in language you're practicing, +until time is up.") + (license license:gpl3+)))) + (define-public emacs-scribble-mode (let ((commit "217945d54de5e4bb207033f2116baa28f5c5ecf2") (revision "2")) @@ -768,9 +847,6 @@ replacement.") programs.") (license license:gpl3+))) -(define-public haskell-mode - (deprecated-package "haskell-mode" emacs-haskell-mode)) - (define-public emacs-dante (let ((commit "38b589417294c7ea44bf65b73b8046d950f9531b") (revision "1")) @@ -1383,10 +1459,6 @@ light user interface.") (home-page "https://www.gnu.org/software/emms/") (license license:gpl3+))) -(define-public emacs-emms-player-mpv - ;; A new mpv backend is included in Emms from 5.0. - (deprecated-package "emacs-emms-player-mpv" emacs-emms)) - (define-public emacs-emms-mode-line-cycle (package (name "emacs-emms-mode-line-cycle") @@ -1485,9 +1557,6 @@ like. It can be linked with various Emacs mail clients (Message and Mail mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") (license license:gpl3+))) -(define-public bbdb - (deprecated-package "bbdb" emacs-bbdb)) - (define-public emacs-aggressive-indent (package (name "emacs-aggressive-indent") @@ -1508,6 +1577,65 @@ always indented. It reindents after every change, making it more reliable than @code{electric-indent-mode}.") (license license:gpl2+))) +(define-public emacs-ctrlf + (package + (name "emacs-ctrlf") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/ctrlf.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10gnhafas54zj3z9173h1g7b519ac4i26afclmw3w1pk6qyyb03z")))) + (build-system emacs-build-system) + (home-page "https://github.com/raxod502/ctrlf/") + (synopsis "Single-buffer text search in Emacs") + (description "CTRLF (pronounced @emph{control F}) is an intuitive and +efficient solution for single-buffer text search in Emacs, replacing packages +such as Isearch, Swiper, and helm-swoop. It takes inspiration from the +widely-adopted and battle-tested @samp{Ctrl+F} interfaces in programs such as +web browsers, but follows the flow and keybindings of Isearch.") + (license license:expat))) + +(define-public emacs-dhall-mode + ;; There is no proper release. The base version is extracted from the + ;; "Version" keyword in the main file. + (let ((revision "0") + (commit "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2")) + (package + (name "emacs-dhall-mode") + (version (git-version "0.1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/psibi/dhall-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-reformatter" ,emacs-reformatter))) + (home-page "https://github.com/psibi/dhall-mode") + (synopsis "Major mode for working with Dhall configuration language") + (description + "Dhall-mode provides an Emacs Major mode for working with the Dhall +configuration language. It features: + +@itemize +@item Syntax highlighting +@item Multiline support for String +@item Basic indentation, commenting +@item Automatic formatting on save using dhall-format. +@item Error highlighting. +@end itemize") + (license license:gpl3+)))) + (define-public emacs-link-hint ;; Last release was in 2015. (let ((commit "d74a483652486260c052941fedeadddb1ea71f88") @@ -1728,6 +1856,25 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.") Emacs buffer.") (license license:gpl3+))) +(define-public emacs-caps-lock + (package + (name "emacs-caps-lock") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "caps-lock-" version ".el")) + (sha256 + (base32 "1i4hwam81p4dr0bk8257fkiz4xmv6knkjxj7a00fa35kgx5blpva")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/caps-lock.html") + (synopsis "Caps Lock as a minor mode") + (description + "This package provides a minor mode to emulate the behavior of a Caps +Lock key.") + (license license:gpl3+))) + (define-public emacs-chronometrist (package (name "emacs-chronometrist") @@ -1792,6 +1939,50 @@ Using emacs-direnv means that programs started from Emacs will use the environment set through Direnv.") (license license:gpl3+))) +(define-public emacs-elf-mode + (package + (name "emacs-elf-mode") + (version "0.1.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/abo-abo/elf-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cbvjbk2893ag1iy8ggixpirfiyhssm7fii96hb9jqdz874cdl0k")))) + (build-system emacs-build-system) + (home-page "https://github.com/abo-abo/elf-mode") + (synopsis "Show symbol list when opening a binary file in Emacs") + (description "This Emacs package provides a command showing the symbols +that the binary uses instead of the actual binary contents.") + (license license:gpl3+))) + +(define-public emacs-form-feed + (package + (name "emacs-form-feed") + (version "0.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wasamasa/form-feed.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "171jna631b2iqcimfsik9c66gii8nc0zdb58m077w00rn7rcxbh2")))) + (build-system emacs-build-system) + (home-page "https://github.com/wasamasa/form-feed") + (synopsis "Display ^L glyphs as horizontal lines") + (description + "This package provides a minor mode @code{form-feed-mode} to display page +delimiters which usually appear as ^L glyphs on a single line as horizontal +lines spanning the entire window. The minor mode is suitable for inclusion +into mode hooks and is intended to be used that way.") + (license license:gpl3+))) + (define-public emacs-ggtags (package (name "emacs-ggtags") @@ -1893,58 +2084,81 @@ written in the Go programming language.") (build-system emacs-build-system) (home-page "https://github.com/jd/google-maps.el") (synopsis "Access Google Maps from Emacs") - (description "The @code{google-maps} package allows to display Google + (description "The @code{google-maps} package displays Google Maps directly inside Emacs.") (license license:gpl3+))) (define-public emacs-graphviz-dot-mode - (let ((commit "1574c504d9810f34a85e2ff49b6f7648c2be5f27") - (revision "1")) - (package - (name "emacs-graphviz-dot-mode") - (version (string-append "0.4.1-" revision "." - (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ppareit/graphviz-dot-mode.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "03l6zkkxhbcxj5i13hzjv6ypmzaw70zqqagh7ix1kdn33kpp37jj")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'install 'make-info - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "texinfo" - (substitute* "Makefile" - (("\\/usr\\/bin\\/gzip") - (string-append (assoc-ref inputs "gzip") "/bin/gzip"))) - (invoke "make" - "clean" - "info" - (string-append "TEXINFODIR=" - (assoc-ref inputs "texinfo") - "/bin"))))) - (add-after 'install 'install-info - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (install-file "texinfo/graphviz-dot-mode.info.gz" info) - #t)))))) - (native-inputs - `(("texinfo" ,texinfo) - ("gzip" ,gzip))) - (home-page "http://ppareit.github.com/graphviz-dot-mode") - (synopsis "Major mode for editing Graphviz Dot files") - (description - "This Emacs packages helps you to create @file{.dot} or @file{.gv} -files using the dot syntax, and use Graphviz to convert these files to -diagrams.") - (license license:gpl2+)))) + (package + (name "emacs-graphviz-dot-mode") + (version "0.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ppareit/graphviz-dot-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1v1p85wk73nfsvv66qf90flgf9dqhmv15z1r7q4zmc4ifklqn08m")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-info + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "texinfo" + (substitute* "Makefile" + (("\\/usr\\/bin\\/gzip") + (string-append (assoc-ref inputs "gzip") "/bin/gzip"))) + (invoke "make" + "clean" + "info" + (string-append "TEXINFODIR=" + (assoc-ref inputs "texinfo") + "/bin"))))) + (add-after 'install 'install-info + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info"))) + (install-file "texinfo/graphviz-dot-mode.info.gz" info) + #t)))))) + (native-inputs + `(("gzip" ,gzip) + ("texinfo" ,texinfo))) + (propagated-inputs + `(("emacs-company" ,emacs-company))) + (home-page "http://ppareit.github.com/graphviz-dot-mode") + (synopsis "Major mode for editing Graphviz DOT files") + (description + "This Emacs package helps you to create @file{.dot} or @file{.gv} files +using the DOT syntax, and use Graphviz to convert these files to diagrams.") + (license license:gpl2+))) + +(define-public emacs-imenu-list + (package + (name "emacs-imenu-list") + (version "0.8") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/bmag/imenu-list") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13xh9bdl3k6ccfq83wjmkpi4269qahv4davki4wq18dr4amrzhlx")))) + (build-system emacs-build-system) + (home-page "https://github.com/bmag/imenu-list") + (synopsis + "Automatically tracks the current buffer's imenu entries") + (description + "This Emacs minor mode creates an automatically updated buffer called +@code{*Ilist*} that is populated with the current buffer's imenu entries. +This buffer is typically shown as a sidebar (Emacs vertically splits the +window).") + (license license:gpl3+))) (define-public emacs-mmm-mode (package @@ -1973,6 +2187,26 @@ diagrams.") single buffer.") (license license:gpl3+))) +(define-public emacs-mmt + (package + (name "emacs-mmt") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mrkkrp/mmt.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13vbfc5597v0gd87qyhn10f93nb477vjpg3jlpphbax9fvkf4gav")))) + (build-system emacs-build-system) + (home-page "https://github.com/mrkkrp/mmt") + (synopsis "Classic tools to write Emacs Lisp macros") + (description "Emacs MMT is a package that contains classic tools for Emacs +Lisp developers who want to write macros with convenience.") + (license license:gpl3+))) + (define-public emacs-tablist (package (name "emacs-tablist") @@ -2349,9 +2583,9 @@ strings.") (license license:gpl2+))) (define-public emacs-sx - (let ((version "20180212") - (revision "1") - (commit "833435fbf90d1c9e927d165b155f3b1ef39271de")) + (let ((version "20191229") + (revision "0") + (commit "e9d1093c97507a6d7b4f4710ef65200dae725e5f")) (package (name "emacs-sx") (version (git-version version revision commit)) @@ -2363,8 +2597,7 @@ strings.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "1369xaxq1vy3d9yh862ddnhddikdpg2d0wv1ly00pnvdp9v4cqgd")))) + (base32 "0m90ddwm8j0y6d1ppqhd2gil1107k202blw6mzm5bdambn4nfqkf")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-markdown-mode" ,emacs-markdown-mode))) @@ -2375,6 +2608,30 @@ strings.") Stack Overflow, Super User, and other StackExchange sites.") (license license:gpl3+)))) +(define-public emacs-toml-mode + (let ((version "0.1.3") + (revision "0") + (commit "f6c61817b00f9c4a3cab1bae9c309e0fc45cdd06")) + (package + (name "emacs-toml-mode") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dryman/toml-mode.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05b4ksay85c8y5ncax0qsvnmplwsfiw24z16a58gkarjz938hb57")))) + (build-system emacs-build-system) + (home-page "https://github.com/dryman/toml-mode.el") + (synopsis "Emacs major mode for editing TOML files") + (description + "This package provides a major mode for editing files in @acronym{TOML, +Tom's Obvious, Minimal Language} data format.") + (license license:gpl3+)))) + (define-public emacs-f (package (name "emacs-f") @@ -3310,6 +3567,30 @@ the speedbar window.") "This package provides a macro that writes your namespaces for you.") (license license:gpl3+)))) +(define-public emacs-evil-leader + (package + (name "emacs-evil-leader") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/cofi/evil-leader") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5")))) + (inputs + `(("emacs-evil" ,emacs-evil))) + (build-system emacs-build-system) + (home-page "https://github.com/cofi/evil-leader") + (synopsis "Implement <leader> feature from Vim") + (description + "Evil Leader provides the @code{<leader>} feature from Vim that provides +an easy way to bind keys under a configurable prefix key.") + (license license:gpl3+))) + (define-public emacs-evil-textobj-syntax (let ((commit "2d9ba8c75c754b409aea7469f46a5cfa52a872f3") (version "0") @@ -3381,13 +3662,16 @@ for Flow files.") `(#:include '("\\.(el|py)$") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-python - ;; Hardcode python3 executable in the Emacs library. + (add-after 'unpack 'set-external-executables + ;; Hardcode python3 and curl executables in the Emacs library. (lambda* (#:key inputs #:allow-other-keys) (let ((python3 (string-append (assoc-ref inputs "python") - "/bin/python3"))) + "/bin/python3")) + (curl (string-append (assoc-ref inputs "curl") + "/bin/curl"))) (substitute* "flycheck-grammalecte.el" - (("python3") python3)) + (("\"python3?") (string-append "\"" python3)) + (("\"curl") (string-append "\"" curl))) #t))) (add-after 'install 'link-to-grammalecte ;; The package expects grammalecte to be in a sub-directory. @@ -3404,7 +3688,8 @@ for Flow files.") "grammalecte")) #t)))))) (inputs - `(("grammalecte" ,grammalecte) + `(("curl" ,curl) + ("grammalecte" ,grammalecte) ("python" ,python))) (propagated-inputs `(("emacs-flycheck" ,emacs-flycheck))) @@ -3416,10 +3701,36 @@ It also 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-rust + (package + (name "emacs-flycheck-rust") + (version "1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/flycheck/flycheck-rust") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fh6j5w2387nh2fwwjphkhq17cgj5m2q5k0fhidvgc2w65lzbr1r")))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-let-alist" ,emacs-let-alist))) + (build-system emacs-build-system) + (home-page "https://github.com/flycheck/flycheck-rust") + (synopsis "Rust/Cargo support for Flycheck") + (description + "This Flycheck extension configures Flycheck automatically for +the current Cargo project.") + (license license:gpl3+))) + (define-public emacs-elisp-demos (package (name "emacs-elisp-demos") - (version "2019.12.01") + (version "2020.02.19") (source (origin (method git-fetch) @@ -3429,7 +3740,7 @@ word (to avoid repetitions for example).") (file-name (git-file-name name version)) (sha256 (base32 - "097d8xhvq0770z96wlhiv4gz98cq89pwx5fa42zpfh4p85qj4q9z")))) + "0mckgaz92v3y2vlkggx9kd51fd1mahylw39c42l51dyv8wscm7sc")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "\\.org$") @@ -3898,6 +4209,43 @@ completion candidate when using the Company text completion framework.") @code{company-math}.") (license license:gpl3+)))) +(define-public emacs-company-coq + (package + (name "emacs-company-coq") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/cpitclaudel/company-coq") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dxi4h8xqq5647k7h89s4pi8nwyj3brlhsckrv3p3b1g4dr6mk3b")))) + (inputs + `(("emacs-company" ,emacs-company) + ("emacs-company-math" ,emacs-company-math) + ("emacs-dash" ,emacs-dash) + ("emacs-yasnippet" ,emacs-yasnippet))) + (build-system emacs-build-system) + (home-page "https://github.com/cpitclaudel/company-coq") + (synopsis "Emacs extensions for Proof General's Coq mode") + (description "This package includes a collection of Company mode backends +for Proof-General's Coq mode, and many useful extensions to Proof-General. It +features: + +@itemize +@item Prettification of operators, types, and subscripts, +@item Auto-completion, +@item Insertion of cases, +@item Fully explicit intros, +@item Outlines, code folding, and jumping to definition, +@item Help with errors, +@item and more. +@end itemize") + (license license:gpl3+))) + (define-public emacs-company-math (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9") (revision "1")) @@ -4675,7 +5023,7 @@ number.") (define-public emacs-org-superstar (package (name "emacs-org-superstar") - (version "1.0.0") + (version "1.2.1") (source (origin (method git-fetch) @@ -4684,7 +5032,7 @@ number.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0q6180qwjpha10zsiw0ni6lanyjwlj8141a6qivfcs8nwczz7nvz")))) + (base32 "14w06v76xi4f6hpq6xzicrjjv0b802g5zc9as4mpimfy5gx2xpm0")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org))) @@ -5081,7 +5429,35 @@ orange and red as accent colors.") "This program is an implementation of 2048 for Emacs. The goal of this game is to create a tile with value 2048. The size of the board and goal value can be customized.") - (license license:gpl3+))) + (license license:gpl3+))) + +(define-public emacs-4clojure + ;; There is no release. Base version is extracted from Version keyword in + ;; the main file. + (let ((commit "4eccf8c7d4341a36c269451838114b27836699f9") + (revision "1")) + (package + (name "emacs-4clojure") + (version (git-version "0.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/emacsorphanage/4clojure.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19x653lzc1dxil4ix257hciidbdmbhaxhs6qhlkwi9ygjrlrgvnk")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-request" ,emacs-request))) + (home-page "https://github.com/emacsorphanage/4clojure/") + (synopsis "Open and evaluate 4clojure questions in Emacs") + (description "Emacs 4clojure interacts with +@url{http://www.4clojure.com, 4clojure} problems. You can open a specific +question and move to the next or previous one. You can also verify your +answers.") + (license license:gpl3+)))) (define-public emacs-base16-theme (package @@ -5129,33 +5505,55 @@ them easier to distinguish from other, less important buffers.") (license license:expat))) (define-public emacs-prescient - ;; XXX: emacs-ivy introduced a commit that disables sorting for counsel-M-x - ;; by default, so we use a non-release version ahead by one commit - (let ((commit "95056580ed743da92b05aaf86f943ee05600c28d") - (revision "1")) - (package - (name "emacs-prescient") - (version (git-version "3.3" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/raxod502/prescient.el/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "06qxs8p66jr4gg9m1gd27v5may32f3n28la56cv4f4prinqyyfj7")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-company" ,emacs-company) - ("emacs-ivy" ,emacs-ivy))) - (home-page "https://github.com/raxod502/prescient.el/") - (synopsis "Library that sorts and filters lists of candidates") - (description - "This package provides a library for sorting and filtering, as well as -extensions for @code{ivy-mode} and @code{company-mode} that make use of the -library.") - (license license:gpl3+)))) + (package + (name "emacs-prescient") + (version "4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/prescient.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rf5cz262hjpck7vpxg15bccdrwrmlhiyxc20liwcjb2ig36nis3")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-ivy" ,emacs-ivy) + ("emacs-selectrum" ,emacs-selectrum))) + (home-page "https://github.com/raxod502/prescient.el/") + (synopsis "Emacs library for sorting and filtering candidates") + (description + "Prescient is a library for sorting and filtering, as well as extensions +for Ivy and Company that make use of the library.") + (license license:expat))) + +(define-public emacs-selectrum + (package + (name "emacs-selectrum") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/raxod502/selectrum.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "105zl102dwbzvk50xh6b824nq6p24kxhky18ghdnk5yi5sv620lm")))) + (build-system emacs-build-system) + (home-page "https://github.com/raxod502/selectrum/") + (synopsis "Incremental narrowing in Emacs") + (description "Selectrum is a solution for incremental narrowing in +Emacs, replacing Helm, Ivy, and IDO. Its design philosophy is based +on choosing the right abstractions and prioritizing consistency and +predictability over special-cased improvements for particular cases. +As such, Selectrum follows existing Emacs conventions where they exist +and are reasonable, and it declines to implement features which have +marginal benefit compared to the additional complexity of a new +interface.") + (license license:expat))) (define-public emacs-smartparens (package @@ -5714,33 +6112,30 @@ windows.") (license license:gpl3+))) (define-public emacs-ace-window - ;; last release version is from 2015 - (let ((commit "a5344925e399e1f015721cda6cf5db03c90ab87a") - (revision "1")) - (package - (name "emacs-ace-window") - (version (git-version "0.9.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/abo-abo/ace-window.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "18jm8gfgnf6ja9aarws5650lw2zfi3wdwc5j8r5ijn5fcqhfy7rc")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-avy" ,emacs-avy))) - (home-page "https://github.com/abo-abo/ace-window") - (synopsis "Quickly switch windows in Emacs") - (description - "@code{ace-window} is meant to replace @code{other-window}. + (package + (name "emacs-ace-window") + (version "0.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/ace-window.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f3r40d5yxp2pm2j0nn86s29nqj8py0jxjbj50v4ci3hsd92d8jl")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-avy" ,emacs-avy))) + (home-page "https://github.com/abo-abo/ace-window") + (synopsis "Quickly switch windows in Emacs") + (description + "@code{ace-window} is meant to replace @code{other-window}. In fact, when there are only two windows present, @code{other-window} is called. If there are more, each window will have its first character highlighted. Pressing that character will switch to that window.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-iedit ;; Last release version was in 2016. @@ -6653,7 +7048,7 @@ maximizes flexibility (at the expense of conciseness).") `(("ert-runner" ,emacs-ert-runner))) (home-page "https://github.com/technomancy/find-file-in-project") (synopsis "File/directory finder for Emacs") - (description "@code{find-file-in-project} allows to find files or + (description "@code{find-file-in-project} finds files or directories quickly in the current project. The project root is detected automatically when Git, Subversion or Mercurial are used. It also provides functions to assist in reviewing changes on files.") @@ -6690,6 +7085,35 @@ functions to assist in reviewing changes on files.") environments (virtualenv) inside Emacs.") (license license:gpl3+))) +(define-public emacs-highlight-indent-guides + (let ((version "0.8.5") ; from package metadata + (revision "0") + (commit "c2c9de4d01edfb89609c91d4d7f1d81312015a2c")) + (package + (name "emacs-highlight-indent-guides") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DarthFennec/highlight-indent-guides.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10chvqnmdmkx6i9sigqframr85ziyafiz44glwhvhjajfkv42ad2")))) + (build-system emacs-build-system) + (home-page + "https://github.com/DarthFennec/highlight-indent-guides") + (synopsis "Minor mode to highlight indentation") + (description + "This package provides a minor mode to highlight indentation levels via +font-lock. Indent widths are dynamically discovered, which means this +correctly highlights in any mode, regardless of indent width, even in +languages with non-uniform indentation such as Haskell. This mode works +properly around hard tabs and mixed indentation and behaves well in large +buffers.") + (license license:expat)))) + (define-public emacs-highlight-indentation ;; Last release version is from 2015. (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f") @@ -7136,29 +7560,27 @@ for search-based navigation of buffers.") (license license:gpl2+))) (define-public emacs-helm-ag - (let ((commit "2fc02c4ead29bf0db06fd70740cc7c364cb650ac") - (revision "1")) - (package - (name "emacs-helm-ag") - (version (git-version "0.58" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/syohex/emacs-helm-ag.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1gnn0byywbld6afcq1vp92cjvy4wlag9d1wgymnqn86c3b1bcf21")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-helm" ,emacs-helm))) - (home-page "https://github.com/syohex/emacs-helm-ag") - (synopsis "Helm interface to the Silver Searcher") - (description - "This package provides a frontend for grepping tools like ag and ack, + (package + (name "emacs-helm-ag") + (version "0.59") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-helm-ag.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vsz2b5qw4qahlf74059z4p1grinhfz28f0psw4c3qf4jasv3b9j")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm))) + (home-page "https://github.com/syohex/emacs-helm-ag") + (synopsis "Helm interface to the Silver Searcher") + (description + "This package provides a frontend for grepping tools like ag and ack, as well as features for editing search results.") - (license license:gpl3+)))) + (license license:gpl3+))) ;; There hasn't been a tag or release since 2016, so we take the latest ;; commit. @@ -7449,8 +7871,8 @@ sly-quickload command that prompts the user for a package to install. ") (license license:gpl3+)))) (define-public emacs-sly-asdf - (let ((commit "ad248056ded3099b0528b6111ba335e835d9e5a7") - (revision "3")) + (let ((commit "32ce14994e8faee9321605cec36d156b02996c46") + (revision "4")) (package (name "emacs-sly-asdf") (version (git-version "0.1.0" revision commit)) @@ -7464,7 +7886,7 @@ sly-quickload command that prompts the user for a package to install. ") (file-name (git-file-name name version)) (sha256 (base32 - "0lip0spmglny3y612pxn3rfnpdaj12c9f7ya7bprryg2gvcdippa")))) + "09x8l37wwqw74xc2frwzbfdb1if8rb3szg5akdk3v2qhik4sm3dd")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-sly" ,emacs-sly) @@ -7608,17 +8030,29 @@ Lua programming language}.") (define-public emacs-ebuild-mode (package (name "emacs-ebuild-mode") - (version "1.37") - (source (origin - (method url-fetch) - (uri (string-append - "https://dev.gentoo.org/~ulm/emacs/ebuild-mode" - "-" version ".tar.xz")) - (file-name (string-append name "-" version ".tar.xz")) - (sha256 - (base32 - "07dzrdjjczkxdfdgi60h4jjkvzi4p0k9rij2wpfp8s03ay3qldpp")))) + (version "1.50") + (source + (origin + (method url-fetch) + (uri (string-append + "https://dev.gentoo.org/~ulm/emacs/" + "ebuild-mode-" version ".tar.xz")) + (file-name (string-append name "-" version ".tar.xz")) + (sha256 + (base32 "0bgi98vx6ahxijw69kfdiy3rkjdg7yi6k3bkjyasak5920m6fj1d")))) (build-system emacs-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "ebuild-mode.info") + (install-file "ebuild-mode.info" + (string-append (assoc-ref outputs "out") + "/share/info")) + #t))))) + (native-inputs + `(("texinfo" ,texinfo))) (home-page "https://devmanual.gentoo.org") (synopsis "Major modes for Gentoo package files") (description @@ -7794,6 +8228,30 @@ a popup window for previewing candidates.") arguments, such as arguments separated by commas and semicolons.") (license license:expat)))) +(define-public emacs-evil-escape + (package + (name "emacs-evil-escape") + (version "3.14") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/syl20bnr/evil-escape") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s8lmmm25qabicwaj9jybpbd8mkc62yl7jnhk1lpablydjkv3w2i")))) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) + (build-system emacs-build-system) + (home-page "https://github.com/syl20bnr/evil-escape") + (synopsis "Escape from insert state and everything else in Emacs") + (description + "Evil escape provides a customizable key sequence to escape from insert +state and everything else in Emacs.") + (license license:gpl3+))) + (define-public emacs-evil-exchange (let ((commit "47691537815150715e64e6f6ec79be7746c96120") (version "0.41") @@ -8091,24 +8549,23 @@ distribution, primarily targeting Clojure users") (define-public emacs-orgalist (package (name "emacs-orgalist") - (version "1.11") + (version "1.12") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "orgalist-" version ".el")) (sha256 - (base32 - "0zbqkk540rax32s8szp5zgz3a02zw88fc1dmjmyw6h3ls04m91kl")))) + (base32 "1hwm7j0hbv2pg9w885ky1c9qga3grcfq8v216jv2ivkw8xzavysd")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/orgalist.html") (synopsis "Manage Org-like lists in non-Org buffers") - (description "Write Org mode's plain lists in non-Org buffers. More -specifically, Orgalist supports the syntax of Org mode for numbered, -unnumbered, description items, checkboxes, and counter cookies. + (description "Orgalist writes and manages Org mode's plain lists in +non-Org buffers. More specifically, it supports the syntax of Org mode for +numbered, unnumbered, description items, checkboxes, and counter cookies. -The library also implements radio lists, i.e., lists written in Org -syntax later translated into the host format, e.g., LaTeX or HTML.") +The library also implements radio lists, i.e., lists written in Org syntax +later translated into the host format, e.g., LaTeX or HTML.") (license license:gpl3+))) (define-public emacs-writegood-mode @@ -8165,6 +8622,17 @@ passive voice.") (sha256 (base32 "0jwpgfzjvf1hd3mx582pw86hysdryaqzp69hk6azi9kmq4bzk87d")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((share (string-append (assoc-ref outputs "out") "/share")) + (info-dir (string-append share "/info")) + (doc-dir (string-append share "/doc/" ,name "-" ,version))) + (install-file "org" info-dir) + (install-file "orgcard.pdf" doc-dir)) + #t))))) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") (description "Org is an Emacs mode for keeping notes, maintaining TODO @@ -8863,29 +9331,75 @@ above over the network.") in Org buffers and displays matching entries.") (license license:gpl3+))) +(define-public emacs-dired-git-info + ;; Upstream has no proper release. The base version is extracted from the + ;; "Version" keyword in the main file. + (let ((commit "91d57e3a4c5104c66a3abc18e281ee55e8979176") + (revision "0")) + (package + (name "emacs-dired-git-info") + (version (git-version "0.3.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/clemera/dired-git-info") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1dr4iv95s4barxxj56znqkl9z0lg5jw731jmjr01s6vn8ar69gik")))) + (build-system emacs-build-system) + (home-page "https://github.com/clemera/dired-git-info/") + (synopsis "Show git info in Emacs Dired") + (description "This Emacs package provides a minor mode which shows git +information inside the Dired buffer.") + (license license:gpl3+)))) + (define-public emacs-dired-toggle-sudo + (let ((commit "13bbe52c54893f5aa3e56228450ffdd0c9e1d169") + (revision "0")) + (package + (name "emacs-dired-toggle-sudo") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/renard/dired-toggle-sudo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fw1pb1z6krqd1pfxxhr6rrfr9ckkcb0zsjzbjk0i2i1q5cg6car")))) + (build-system emacs-build-system) + (home-page "https://github.com/renard/dired-toggle-sudo") + (synopsis "Browse directory with @code{sudo} privileges") + (description "This package allows for the use of @code{dired} with +@code{sudo} privileges.") + (license license:wtfpl2)))) + +(define-public emacs-diredfl (package - (name "emacs-dired-toggle-sudo") - (version "1.0") + (name "emacs-diredfl") + (version "0.4") (source (origin (method git-fetch) - (uri (git-reference - (url "https://github.com/renard/dired-toggle-sudo") - (commit (string-append "v" version)))) + (uri + (git-reference + (url "https://github.com/purcell/diredfl") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2")) - (patches - (search-patches - "emacs-dired-toggle-sudo-emacs-26.patch")))) - (build-system emacs-build-system) - (home-page "https://github.com/renard/dired-toggle-sudo") - (synopsis "Browse directory with @code{sudo} privileges") - (description "This package allows for the use of @code{dired} with -@code{sudo} privileges.") - (license license:wtfpl2))) + (base32 "1zb2lz7rp58zqvpniqcsmqabi7nqg2d8bfd0hgmq68bn2hd25b5z")))) + (build-system emacs-build-system) + (home-page "https://github.com/purcell/diredfl/") + (synopsis "Extra Emacs font lock rules for a more colourful Dired") + (description "This library enables additional font locking in Dired mode. +This is adapted from the extra font lock rules provided by Drew Adams' Dired+ +package.") + (license license:gpl3+))) (define-public emacs-memoize (package @@ -10058,9 +10572,6 @@ using ERT. It assumes a certain test structure setup and can therefore make running tests easier.") (license license:gpl3+))) -(define-public ert-runner - (deprecated-package "ert-runner" emacs-ert-runner)) - (define-public emacs-xtest (package (name "emacs-xtest") @@ -11424,9 +11935,6 @@ Groovy source files, REPL integration with run-groovy and Grails project navigation with the grails mode.") (license license:gpl3+))) -(define-public groovy-emacs-modes - (deprecated-package "groovy-emacs-modes" emacs-groovy-modes)) - (define-public emacs-org-tree-slide (let ((commit "036a36eec1cf712d3db155572aed325daa372eb5") (revision "2")) @@ -11982,6 +12490,49 @@ keychains. The keychain entries are displayed in a directory-like structure and can be consulted and modified.") (license license:gpl3+))) +(define-public emacs-psc-ide + ;; There is no proper release. The base version is extracted from the + ;; "Version" keyword in the main file. + (let ((commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe") + (revision "1")) + (package + (name "emacs-psc-ide") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/purescript-emacs/psc-ide-emacs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r0fymyai30jimm34z1cmav4wgij8ci6s1d9y7qigygfbbfrdsmj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-dash" ,emacs-dash) + ("emacs-flycheck" ,emacs-flycheck) + ("emacs-let-alist" ,emacs-let-alist) + ("emacs-s" ,emacs-s) + ("emacs-seq" ,emacs-seq))) + (home-page "https://github.com/purescript-emacs/psc-ide-emacs") + (synopsis "Emacs integration for PureScript's psc-ide tool") + (description + "This package provices Emacs integration for @code{psc-ide}, an IDE +protocol for PureScript programming language. It features: + +@itemize +@item Completions +@item Type at point +@item Go to definition +@item Automatic imports +@item Case split +@item Build system integration, and +@item Flycheck support +@end itemize") + (license license:gpl3+)))) + (define-public emacs-evil-anzu (package (name "emacs-evil-anzu") @@ -12069,8 +12620,8 @@ match and total match information in the mode-line in various search modes.") (home-page "https://github.com/skeeto/elisp-finalize") (synopsis "Finalizers for Emacs Lisp") (description - "This package will allows to immediately run a callback (a finalizer) -after its registered lisp object has been garbage collected. This allows for + "This package runs a callback (a finalizer) +after its registered lisp object has been garbage collected. This allows extra resources, such as buffers and processes, to be cleaned up after the object has been freed.") (license license:unlicense))) @@ -12176,7 +12727,7 @@ object @code{nil} corresponds 1:1 with @code{NULL} in the database.") (home-page "https://github.com/emacscollective/closql") (synopsis "Store EIEIO objects using EmacSQL") (description - "This package allows to store uniform EIEIO objects in an EmacSQL + "This package stores uniform EIEIO objects in an EmacSQL database. SQLite is used as backend. This library imposes some restrictions on what kind of objects can be stored; it isn't intended to store arbitrary objects. All objects have to share a common superclass and subclasses cannot @@ -12449,7 +13000,7 @@ into sections while preserving the structure imposed by any timestamps.") (define-public emacs-org-make-toc (package (name "emacs-org-make-toc") - (version "0.4") + (version "0.5") (source (origin (method git-fetch) (uri (git-reference @@ -12458,7 +13009,7 @@ into sections while preserving the structure imposed by any timestamps.") (file-name (git-file-name name version)) (sha256 (base32 - "0348iq3bc3rxs5bqdvskyly4agqxiapamqkfm0323620kxl70agw")))) + "180ji6nnj6qj0rs1rdp1zlcrfsqf7ikb44ym8icbp5d6al2s4hnr")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org) @@ -12985,7 +13536,7 @@ navigate and display hierarchy structures.") (home-page "https://github.com/ahungry/md4rd") (synopsis "Emacs Mode for Reddit") (description - "This package allows to read Reddit from within Emacs interactively.") + "This package allows reading Reddit from within Emacs interactively.") (license license:gpl3+))) (define-public emacs-pulseaudio-control @@ -13019,7 +13570,7 @@ navigate and display hierarchy structures.") (home-page "https://github.com/flexibeast/pulseaudio-control") (synopsis "Control @code{pulseaudio} from Emacs") (description - "This package allows to control @code{pulseaudio} from Emacs.") + "This package allows controlling @code{pulseaudio} from Emacs.") (license license:gpl3+)))) (define-public emacs-datetime @@ -13542,7 +14093,7 @@ key again.") (build-system emacs-build-system) (home-page "https://github.com/dimitri/mbsync-el") (synopsis "Interface to mbsync for Emacs") - (description "This package allows to call the @code{mbsync} from + (description "This package calls @code{mbsync} from within Emacs.") (license license:gpl3+)))) @@ -13571,6 +14122,45 @@ within Emacs.") grouping buffers by their projectile root directory.") (license license:gpl3+)))) +(define-public emacs-elm-mode + (package + (name "emacs-elm-mode") + (version "0.21.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/jcollard/elm-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0iwk4fmw8hq3ry4ky1zc7lgl4cpbnrjyk74c2xzddfspi3ks41fd")))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-reformatter" ,emacs-reformatter) + ("emacs-s" ,emacs-s))) + (build-system emacs-build-system) + (home-page "https://github.com/jcollard/elm-mode") + (synopsis "Emacs major mode for editing Elm source code") + (description + "This package provides a major mode for editing Elm source code, and +working with common core and third-party Elm tools. Its features are: + +@itemize +@item Syntax highlighting +@item Intelligent indentation +@item Integration with elm-make +@item Integration with elm-repl +@item Integration with elm-reactor +@item Integration with elm-package +@item Integration with elm-oracle +@item Integration with elm-format +@item Integration with elm-test +@end itemize") + (license license:gpl3+))) + (define-public emacs-helm-mode-manager (package (name "emacs-helm-mode-manager") @@ -13686,30 +14276,30 @@ throw a shell history.") (version "1.0") (source (origin - (method url-fetch) - (uri - (string-append "https://github.com/steckerhalter/discover-my-major" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://framagit.org/steckerhalter/discover-my-major.git/") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0nah41f92rrl2l405kpqr6iaks11jyclgl4z7ilfymbr4ifmsiyl")))) + "1wlqyl03hhnflbyay3qlvdzqzvv5rbybcjpfddggda7ias9h0pr4")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-makey" ,emacs-makey))) - (home-page "https://github.com/steckerhalter/discover-my-major") + (home-page "https://framagit.org/steckerhalter/discover-my-major/") (synopsis "Discover key bindings for the current Emacs major mode") - (description "This package provides allows to discover key bindings and + (description "This package discovers key bindings and their meaning for the current Emacs major-mode.") (license license:gpl3+))) (define-public emacs-org-ref - (let ((commit "8c9b5d7efb9f0c1ad5186b8203bdd017f4249129") - (revision "1")) + ;; No release since June 2017. + (let ((commit "5bb9be2232db72b04754d7e4c02a3976ad422f6f") + (revision "2")) (package (name "emacs-org-ref") - (version (string-append "1.1.1" "-" revision "." - (string-take commit 7))) + (version (git-version "1.1.1" revision commit)) (source (origin (method git-fetch) @@ -13718,29 +14308,40 @@ their meaning for the current Emacs major-mode.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "1rxz0bjdsayk0slv23i07d9xhj2m7s4hsc81wc2d1cs52dkr5zmz")))) + (base32 "15gcvbfj19kyv4nxa632b261dwhb26m99plq230qhv9ssfwfgxbx")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) ("emacs-helm" ,emacs-helm) ("emacs-helm-bibtex" ,emacs-helm-bibtex) - ("emacs-ivy" ,emacs-ivy) + ("emacs-htmlize" ,emacs-htmlize) ("emacs-hydra" ,emacs-hydra) + ("emacs-ivy" ,emacs-ivy) ("emacs-key-chord" ,emacs-key-chord) - ("emacs-s" ,emacs-s) - ("emacs-f" ,emacs-f) - ("emacs-pdf-tools" ,emacs-pdf-tools))) + ("emacs-pdf-tools" ,emacs-pdf-tools) + ("emacs-s" ,emacs-s))) (home-page "https://github.com/jkitchin/org-ref") - (synopsis "Citations, cross-references and bibliographies in org-mode") + (synopsis "Citations, cross-references and bibliographies in Org mode") (description - "Lisp code to setup bibliography, cite, ref and label org-mode links. -Also sets up reftex and helm for org-mode citations. The links are -clickable and do things that are useful. - -The default setup uses helm-bibtex. - -You should really read org-ref.org in this package for details.") + "Org Ref is an Emacs library that provides rich support for citations, +labels and cross-references in Org mode. + +The basic idea of Org Ref is that it defines a convenient interface to insert +citations from a reference database (e.g., from BibTeX files), and a set of +functional Org links for citations, cross-references and labels that export +properly to LaTeX, and that provide clickable functionality to the user. Org +Ref interfaces with Helm BibTeX to facilitate citation entry, and it can also +use RefTeX. + +It also provides a fairly large number of utilities for finding bad citations, +extracting BibTeX entries from citations in an Org file, and functions to +create and modify BibTeX entries from a variety of sources, most notably from +a DOI. + +Org Ref is especially suitable for Org documents destined for LaTeX export and +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. @@ -13761,7 +14362,7 @@ You should really read org-ref.org in this package for details.") (build-system emacs-build-system) (home-page "https://github.com/yjwen/org-reveal") (synopsis "Org and Reveal.js powered HTML presentation tool") - (description "Org-Reveal is a command@{org-mode} extension that allows + (description "Org-Reveal is a @command{org-mode} extension that allows to create beautiful presentations (slides) with 3D effects from simple but powerful Org contents.") (license license:gpl3+)))) @@ -14043,10 +14644,6 @@ functions.") time is being spent during Emacs startup in order to optimize startup time.") (license license:gpl3+))) -(define-public emacs-emms-player-simple-mpv - ;; A new mpv backend is included in Emms from 5.0. - (deprecated-package "emacs-emms-player-simple-mpv" emacs-emms)) - (define-public emacs-magit-gerrit (let ((version "0.3") (revision "1") @@ -14573,10 +15170,11 @@ bookmarks and history.") (license license:gpl3+))) (define-public emacs-stumpwm-mode - (let ((commit "5328f85fbf6a8b08c758c17b9435368bf7a68f39")) + (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") + (revision "2")) (package (name "emacs-stumpwm-mode") - (version (git-version "0.0.1" "1" commit)) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -14585,7 +15183,7 @@ bookmarks and history.") (file-name (git-file-name name version)) (sha256 (base32 - "00kf4k8bqadi5s667wb96sn549v2kvw01zwszjrg7nhd805m1ng6")))) + "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) (build-system emacs-build-system) (arguments `(#:phases @@ -15205,10 +15803,6 @@ and the Zotero research assistant: Insertion of links to Zotero items into an Org-mode file, and citations of Zotero items in Pandoc Markdown files.") (license license:gpl3+))) -(define-public emacs-evil-ediff - ;; Evil-Ediff is included in Evil Collection from 20180617. - (deprecated-package "emacs-evil-ediff" emacs-evil-collection)) - (define-public emacs-evil-magit (let ((commit "4b66a1db8285457147a5436f209391016a819ea1") (revision "3")) @@ -15245,10 +15839,6 @@ See the README at @url{https://github.com/justbur/evil-magit} for a table describing the key binding changes.") (license license:gpl3+)))) -(define-public emacs-evil-mu4e - ;; Evil-mu4e is included in Evil Collection from 20180617. - (deprecated-package "emacs-evil-mu4e" emacs-evil-collection)) - (define-public emacs-evil-multiedit (package (name "emacs-evil-multiedit") @@ -15316,10 +15906,10 @@ provide an incremental search that moves all fake cursors in sync.") (license license:expat)))) (define-public emacs-evil-org - (let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6")) + (let ((commit "9d4be14118bf27094a30dbff349b815f098aacbf")) (package (name "emacs-evil-org") - (version (git-version "0.1.1" "1" commit)) + (version (git-version "1.0.2" "1" commit)) (source (origin (method git-fetch) @@ -15329,7 +15919,7 @@ provide an incremental search that moves all fake cursors in sync.") (file-name (git-file-name name version)) (sha256 (base32 - "176hrw7y7nczffbyhsa167b8rvfacsmcafm2gpkrdjqlrikbmrhl")))) + "1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) (home-page @@ -15878,10 +16468,6 @@ file.") @end itemize") (license license:gpl3+)))) -(define-public emacs-wgrep-helm - ;; `emacs-wgrep-helm' was mistakenly added. - (deprecated-package "emacs-wgrep-helm" emacs-wgrep)) - (define-public emacs-mu4e-conversation (let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96") (revision "5")) @@ -16074,6 +16660,32 @@ text in neighboring sections.") Pandoc, the document-conversion tool.") (license license:bsd-3))) +(define-public emacs-hlint-refactor-mode + (let ((commit "c4307f86aad6d02e32e9b30cb6edc115584c791c") + (revision "1")) + (package + (name "emacs-hlint-refactor-mode") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mpickering/hlint-refactor-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c71w9s34n0i7mm4njchxn6s3ri1y6mh3akgbg4nq41d42h8iap3")))) + (build-system emacs-build-system) + (propagated-inputs + `(("apply-refact" ,apply-refact) + ("hlint" ,hlint))) + (home-page "https://github.com/mpickering/hlint-refactor-mode") + (synopsis "Emacs bindings for @code{hlint}'s @code{--refactor} option") + (description "This package applies refactoring suggestions from +@code{hlint}.") + (license license:expat)))) + (define-public emacs-ccls (let ((commit "aab3e31fd716daf59f9794e62d473357263e8cc0") (revision "4")) @@ -16248,6 +16860,49 @@ and 'text viewing modes' respectively.") files. It focuses on highlighting the document to improve readability.") (license license:gpl2+))) +(define-public emacs-racer + (package + (name "emacs-racer") + (version "1.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/racer-rust/emacs-racer") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6")))) + (arguments + `(#:tests? #t + #:test-command '("make" "test") + #:phases + (modify-phases %standard-phases + (add-before 'check 'fix-makefile + (lambda _ + (substitute* "Makefile" + (("\\$\\{CASK\\} exec ") "")) + #t))))) + (native-inputs + `(("emacs-ert-runner" ,emacs-ert-runner) + ("emacs-undercover" ,emacs-undercover))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-pos-tip" ,emacs-pos-tip) + ("emacs-rust-mode" ,emacs-rust-mode) + ("emacs-s" ,emacs-s))) + (build-system emacs-build-system) + (home-page "https://github.com/racer-rust/emacs-racer") + (synopsis "Racer support for Emacs") + (description + "This is the official Emacs package for Racer. It supports code +completion of variables, functions and modules. It can also jump to +definition of functions and types, and show a help buffer based on the +docstring of the thing at point.") + (license license:expat))) + (define-public emacs-rust-mode (package (name "emacs-rust-mode") @@ -16300,10 +16955,10 @@ text-tree applications inside GNU Emacs. It consists of 2 subprojects: (license license:gpl3)))) (define-public emacs-helm-org-contacts - (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc")) + (let ((commit "e7f11615802df55bb8b679450b5a5ef82a9081f9")) (package (name "emacs-helm-org-contacts") - (version (git-version "20180707" "1" commit)) + (version (git-version "20200310" "1" commit)) (source (origin (method git-fetch) @@ -16313,7 +16968,7 @@ text-tree applications inside GNU Emacs. It consists of 2 subprojects: (file-name (git-file-name name version)) (sha256 (base32 - "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s")))) + "06a1gbrq3qcfsn0kyv4i24x1xxfrrwqa3kgfj4xa4va88q2vqyb5")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -16671,7 +17326,7 @@ files are easily readable and they work nicely with version control systems.") (define-public emacs-all-the-icons (package (name "emacs-all-the-icons") - (version "3.2.0") + (version "4.0.1") (source (origin (method git-fetch) @@ -16680,8 +17335,7 @@ files are easily readable and they work nicely with version control systems.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "1sdl33117lccznj38021lwcdnpi9nxmym295q6y460y4dm4lx0jn")))) + (base32 "0yh7gnv9xfqn8q4rzaa6wpyn9575vyfxy7d3afly2mqsb367fgm5")))) (build-system emacs-build-system) (arguments `(#:include '("\\.el$" "^data/" "^fonts/") @@ -16694,10 +17348,11 @@ files are easily readable and they work nicely with version control systems.") ("memoize" ,emacs-memoize))) (home-page "https://github.com/domtronn/all-the-icons.el") (synopsis "Collect icon fonts and propertize them within Emacs") - (description "All-the-icons is a utility package to collect various icon -fonts and propertize them within Emacs. Icon fonts allow you to propertize -and format icons the same way you would normal text. This enables things such -as better scaling of and anti aliasing of the icons.") + (description + "All-the-icons is a utility package to collect various icon fonts and +propertize them within Emacs. Icon fonts allow you to propertize and format +icons the same way you would normal text. This enables things such as better +scaling of and anti aliasing of the icons.") ;; Package is released under Expat license. Elisp files are licensed ;; under GPL3+. Fonts come with various licenses: Expat for ;; "all-the-icons.ttf" and "file-icons.ttf", Apache License 2.0 for @@ -17052,7 +17707,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") (home-page "https://github.com/jorgenschaefer/emacs-buttercup") (synopsis "Behavior driven emacs lisp testing framework") (description "Buttercup is a behavior-driven development framework for -testing Emacs Lisp code. It allows to group related tests so they can share +testing Emacs Lisp code. It groups related tests so they can share common set-up and tear-down code, and allows the programmer to \"spy\" on functions to ensure they are called with the right arguments during testing.") (license license:gpl3+))) @@ -17108,23 +17763,39 @@ other frame parameters.") (license license:gpl3+))) (define-public emacs-arduino-mode - (let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet + (let ((commit "23ae47c9f28f559e70b790b471f20310e163a39b") + (revision "1")) ;no release yet (package (name "emacs-arduino-mode") - (version (git-version "0" "0" commit)) + (version (git-version "0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/bookest/arduino-mode.git") + (url "https://github.com/stardiviner/arduino-mode.git") (commit commit))) (sha256 (base32 - "1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c")) + "08vnbz9gpah1l93fzfd87aawrhcnh2v1kyfxgsn88pdwg8awz8rx")) (file-name (git-file-name name version)))) (build-system emacs-build-system) + (inputs + `(("spinner" ,emacs-spinner) + ("flycheck" ,emacs-flycheck))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Emacs complains that "defmethod" and "defgeneric" are obsolete + ;; macros when compiling. Substitute them with the recommended + ;; macros "cl-defmethod" and "cl-defgeneric", respectively. + (add-after 'unpack 'fix-obsolete + (lambda _ + (substitute* "ede-arduino.el" + (("defmethod") "cl-defmethod") + (("defgeneric") "cl-defgeneric")) + #t))))) (synopsis "Emacs major mode for editing Arduino sketches") (description "Emacs major mode for editing Arduino sketches.") - (home-page "https://github.com/bookest/arduino-mode") + (home-page "https://github.com/stardiviner/arduino-mode") (license license:gpl3+)))) (define-public emacs-annalist @@ -18474,6 +19145,31 @@ unescaping of quotes.") @code{end-of-defun} functions for Vimscript files.") (license license:gpl3+)))) +(define-public emacs-flycheck-elm + (let ((revision "0") + (commit "1b60050efd4729bfba548f3e5adbcb58436667cb")) + (package + (name "emacs-flycheck-elm") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/bsermons/flycheck-elm") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kjms9d2c98ffd1qxs879qhg0n4jzic0r5kni9y4gz3v09ww8zms")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-flycheck" ,emacs-flycheck) + ("emacs-let-alist" ,emacs-let-alist))) + (home-page "https://github.com/bsermons/flycheck-elm") + (synopsis "Flycheck support for the Elm language") + (description "Flycheck Elm adds Flycheck support for Elm language.") + (license license:gpl3+)))) + (define-public emacs-flycheck-haskell (let ((commit "32ddff87165a7d3a35e7318bee997b5b4bd41278") (revision "2")) @@ -19617,6 +20313,55 @@ corresponding Evil keys.") commands in @code{evil-mode}.") (license license:gpl3+)))) +(define-public emacs-evil-tmux-navigator + (package + (name "emacs-evil-tmux-navigator") + (version "0.1.5") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/keith/evil-tmux-navigator") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1na44rbc03sr5b4z9pvnps6n4nmrqcz58nywix9825l74a419ijx")))) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) + (build-system emacs-build-system) + (home-page "https://github.com/keith/evil-tmux-navigator") + (synopsis + "Navigate seamlessly between emacs windows and tmux panes") + (description + "This package lets you use C-h, C-j, C-k and C-l to navigate between +Emacs windows and tmux panes.") + (license license:expat))) + +(define-public emacs-xclip + (package + (name "emacs-xclip") + (version "1.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "xclip-" version ".el")) + (sha256 + (base32 "0i3i9kwfg8qmhcmqhhnrb1kljgwkccv63s9q1mjwqfjldyfh8j8i")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/xclip.html") + (synopsis "Copy and paste GUI clipboard from Emacs in text terminal") + (description + "This package allows Emacs to copy to and paste from the GUI clipboard +when running in text terminal. + +It can use external command-line tools for that, e.g., @command{xclip} or +@command{xsel}, which you may need to install in order for the package to +work.") + (license license:gpl3+))) + (define-public emacs-xterm-color (package (name "emacs-xterm-color") @@ -20291,32 +21036,51 @@ Emacs that integrate with major modes like Org-mode.") (home-page "https://github.com/hlissner/emacs-doom-themes") (license license:expat)))) -(define-public emacs-modus-themes +(define-public emacs-modus-operandi-theme (package - (name "emacs-modus-themes") - (version "0.6.0") + (name "emacs-modus-operandi-theme") + (version "0.7.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://gitlab.com/protesilaos/modus-themes.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "modus-operandi-theme-" version ".el")) (sha256 - (base32 "15z6qq0b0npp7hscmh04i3mi10bynzdy52fv2b160nji264zvcwa")))) + (base32 "17zvcqplbl3rk39k61v43ganzv06j49rlyickanwll5m1a3iibw2")))) (build-system emacs-build-system) (home-page "https://gitlab.com/protesilaos/modus-themes") - (synopsis "Emacs themes designed for colour-contrast accessibility") + (synopsis "Accessible light theme (WCAG AAA)") (description - "This is a set of accessible themes for GNU Emacs. The contrast ratio -between foreground and background values should always be >= 7:1, which -conforms with the WCAG AAA accessibility standard. + "Modus operandi is the light version of the Modus accessible themes for +GNU Emacs. The contrast ratio between foreground and background values should +always be greater than 7:1, which conforms with the WCAG AAA accessibility +standard. This is the highest standard of its kind.") + (license license:gpl3+))) -The Modus themes project consists of two standalone items, one where dark text -is cast on a light backdrop (Modus Operandi) and another where light text is -displayed against a dark background (Modus Vivendi).") +(define-public emacs-modus-vivendi-theme + (package + (name "emacs-modus-vivendi-theme") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/" + "modus-vivendi-theme-" version ".el")) + (sha256 + (base32 "1w4vrg39dghghkvll3h4kmzykc3zpp6pbychb39gcc13z2b06v8g")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/protesilaos/modus-themes") + (synopsis "Accessible dark theme (WCAG AAA)") + (description + "Modus vivendi is the dark version of the Modus accessible themes for GNU +Emacs. The contrast ratio between foreground and background values should +always be greater than 7:1, which conforms with the WCAG AAA accessibility +standard. This is the highest standard of its kind.") (license license:gpl3+))) +(define-public emacs-modus-themes + (deprecated-package "emacs-modus-themes" emacs-modus-operandi-theme)) + (define-public emacs-punpun-theme (let ((commit "2f78125609277b2478abdebd8f9d5ee10a823b65") (revision "0")) @@ -20342,8 +21106,8 @@ color. Designed for 256-color terminals. Comes in light and dark!") (license license:gpl3+)))) (define-public emacs-spacemacs-theme - (let ((commit "e088bff4f190495615c29de93079aaa823e2300c") - (revision "0")) + (let ((commit "f79c40fb241e204539fde97200abae91e828e585") + (revision "1")) (package (name "emacs-spacemacs-theme") (version (git-version "0" revision commit)) ;no release yet @@ -20355,7 +21119,7 @@ color. Designed for 256-color terminals. Comes in light and dark!") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "09p5pzy3ibrl8dxmg10v8j16wxdn1fkdqpbi8l9pgfib2azmnvnc")))) + (base32 "1l2kkiyrskkpx8f901v0wrzaah1wjg15zdyv88spj3mh3hwd3b6n")))) (build-system emacs-build-system) (home-page "https://github.com/nashamri/spacemacs-theme") (synopsis @@ -20612,6 +21376,7 @@ fish-completion. It can be used in both Eshell and M-x shell.") (sha256 (base32 "0mv6i80958d9crzspzik5xh5g8326115bvg2frgv0dp9p6rm86m3")) + (patches (search-patches "emacs-telega-test-env.patch")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -20703,7 +21468,12 @@ fish-completion. It can be used in both Eshell and M-x shell.") (native-inputs `(("tdlib" ,tdlib) ("libtgvoip" ,libtgvoip) ; VoIP support. - ("emacs" ,emacs) + ;; Use Emacs with wide ints on 32-bit architectures. + ("emacs" ,(match (%current-system) + ((or "i686-linux" "armhf-linux") + emacs-wide-int) + (_ + emacs))) ("python" ,python))) (synopsis "GNU Emacs client for the Telegram messenger") (description @@ -21771,8 +22541,124 @@ conversion program}, a Japanese input method on Emacs.") (home-page "https://github.com/clemera/objed") (synopsis "Navigate and edit text objects") (description - "@code{emacs-objed} allows to navigate and edit text objects. It + "@code{emacs-objed} allows navigating and editing text objects. It enables modal editing and composition of commands, too. It combines ideas of other Editors like Vim or Kakoune and tries to align them with regular Emacs conventions.") (license license:gpl3+))) + +(define-public emacs-haskell-snippets + ;; The commit below is 5 commits ahead of release, and includes a build fix. + (let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a")) + (package + (name "emacs-haskell-snippets") + (version (git-version "0.1.0" "0" commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/haskell/haskell-snippets") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-snippets + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (snippets + (string-append + out "/share/emacs/site-lisp/snippets/haskell-mode"))) + (mkdir-p snippets) + (copy-recursively "snippets/haskell-mode" snippets) + #t)))))) + (propagated-inputs + `(("emacs-yasnippet" ,emacs-yasnippet))) + (home-page "https://github.com/haskell/haskell-snippets") + (synopsis "Official collection of YASnippet Haskell snippets for Emacs") + (description "Haskell-Snippets is a collection of YASnippet Haskell +snippets for Emacs.") + (license license:expat)))) + +(define-public emacs-org-roam + (package + (name "emacs-org-roam") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jethrokuan/org-roam.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "08pfa63k194dpk0y2gfa0nzn5lig81q0l9axkq5j4ibj6ifaap4a")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-dash" ,emacs-dash) + ("emacs-emacsql-sqlite" ,emacs-emacsql) + ("emacs-f" ,emacs-f) + ("emacs-org-ref" ,emacs-org-ref) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/jethrokuan/org-roam/") + (synopsis "Non-hierarchical note-taking with Org mode") + (description "Emacs Org Roam is a solution for taking non-hierarchical +notes with Org mode. Notes are captured without hierarchy and are connected +by tags. Notes can be found and created quickly. Org Roam should also work +as a plug-and-play solution for anyone already using Org mode for their +personal wiki.") + (license license:gpl3+))) + +(define-public emacs-uml-mode + ;; Package has no release. Version is extracted from "Version:" keyword in + ;; main file. + (let ((commit "4c37ac1c4424b2313cd8f16ba48a98a4cc214200") + (revision "1")) + (package + (name "emacs-uml-mode") + (version (git-version "0.0.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ianxm/emacs-uml.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "145i4srnfvd1vyibri2a1l6p9mbjvkkwlrpi41134pbarqffcnka")))) + (build-system emacs-build-system) + (home-page "https://github.com/ianxm/emacs-uml") + (synopsis "Minor mode for editing ASCII UML sequence diagrams") + (description "Emacs UML mode is a minor mode that makes it easy to build +ASCII UML sequence diagrams in Emacs, which can be embedded in source code, +comments or emails.") + (license license:gpl3+)))) + +(define-public emacs-trashed + (package + (name "emacs-trashed") + (version "1.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shingo256/trashed/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13grdi12iwlw4fiphdfmvclfpbr6ajlgfbfyi7v41z8k3rxz4ypz")))) + (build-system emacs-build-system) + (home-page "https://github.com/shingo256/trashed/") + (synopsis "View and edit system trash can in Emacs") + (description "Open, view, browse, restore or permanently delete trashed +files or directories in trash can with Dired-like look and feel. The trash +can has to be compliant with freedesktop.org. In Emacs, you can trash files by +deleting them with @code{(setq delete-by-moving-to-trash t)}. This package +provides a simple but convenient user interface to manage those trashed +files.") + (license license:gpl3+))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ec8de7373b..ab7cc20d10 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -290,6 +290,8 @@ languages.") #t)))) (arguments (substitute-keyword-arguments (package-arguments emacs) + ((#:configure-flags flags) + `(cons* "--with-harfbuzz" ,flags)) ((#:phases phases) `(modify-phases ,phases ;; The 'reset-gzip-timestamps phase will throw a @@ -318,6 +320,7 @@ languages.") #t))))))) (inputs `(("jansson" ,jansson) + ("harfbuzz" ,harfbuzz) ,@(package-inputs emacs))) (native-inputs `(("autoconf" ,autoconf) ; needed when building from trunk @@ -398,6 +401,17 @@ editor (without an X toolkit)" ) ((#:configure-flags cf) `(cons "--with-x-toolkit=no" ,cf))))))) +(define-public emacs-wide-int + (package + (inherit emacs) + (name "emacs-wide-int") + (synopsis "The extensible, customizable, self-documenting text +editor (with wide ints)" ) + (arguments + (substitute-keyword-arguments (package-arguments emacs) + ((#:configure-flags flags) + `(cons "--with-wide-int" ,flags)))))) + (define-public guile-emacs (let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b") (revision "0")) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 3591b1740c..58d6c73ee2 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -197,7 +197,7 @@ "-DX11_FOUND=1"))) (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("alsa-lib" ,alsa-lib) ("ao" ,ao) @@ -311,28 +311,19 @@ and a game metadata scraper.") (home-page "https://emulationstation.org") (license license:expat)))) -;; Note: higan v107 has been released, but as explained by the dialog that -;; appears after starting the new version, it's an experimental release. The -;; author recommends v106 for general use. -;; -;; When updating to v107 (or probably beyond), sdl will have to be replaced -;; with sdl2, and libxrandr will need to be added to inputs. The patch -;; `higan-remove-march-native-flag.patch' will not be necessary, since the flag -;; is now being added only for `platform=local', which is not the default. (define-public higan (package (name "higan") - (version "106") + (version "110") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/byuu/higan/") - (commit (string-append "v" version)))) + (url "https://github.com/higan-emu/higan.git") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mxivf8124vz4hl0b0xa1yqv0z9m3i12v9psmbpqkprrbq0wbgn1")) - (patches (search-patches "higan-remove-march-native-flag.patch")))) + (base32 "11rvm53c3p2f6zk8xbyv2j51xp8zmqnch7zravhj3fk590qrjrr2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -342,11 +333,12 @@ and a game metadata scraper.") ("eudev" ,eudev) ("gtk+" ,gtk+-2) ("gtksourceview-2" ,gtksourceview-2) + ("libxrandr" ,libxrandr) ("libxv" ,libxv) ("mesa" ,mesa) ("openal" ,openal) ("pulseaudio" ,pulseaudio) - ("sdl" ,sdl))) + ("sdl2" ,sdl2))) (arguments '(#:phases (let ((build-phase (assoc-ref %standard-phases 'build)) @@ -405,18 +397,19 @@ and a game metadata scraper.") (string-append "prefix=" (assoc-ref %outputs "out"))) ;; There is no test suite. #:tests? #f)) - (home-page "https://byuu.org/higan") - (synopsis "Nintendo multi-system emulator") + (home-page "https://github.com/higan-emu/higan/") + (synopsis "Multi-system emulator") (description - "higan (formerly bsnes) is an emulator for multiple Nintendo video game -consoles, including the Nintendo Entertainment System (NES/Famicom), Super -Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy -Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems -Super Game Boy, BS-X Satellaview, and Sufami Turbo.") - ;; As noted in these files among more: - ;; - icarus/icarus.cpp - ;; - higan/emulator/emulator.hpp - (license license:gpl3))) + "higan is a multi-system emulator with an uncompromising focus on +accuracy and code readability. + +It currently emulates the following systems: Famicom, Famicom Disk System, +Super Famicom, Super Game Boy, Game Boy, Game Boy Color, Game Boy Advance, +Game Boy Player, SG-1000, SC-3000, Master System, Game Gear, Mega Drive, Mega +CD, PC Engine, SuperGrafx, MSX, MSX2, ColecoVision, Neo Geo Pocket, Neo Geo +Pocket Color, WonderSwan, WonderSwan Color, SwanCrystal, Pocket Challenge +V2.") + (license license:gpl3+))) (define-public mgba (package @@ -511,7 +504,8 @@ and Game Boy Color games.") (with-directory-excursion "build/bin/SDL" (install-file "sameboy" bin) (delete-file "sameboy") - (copy-recursively "." data)))))))) + (copy-recursively "." data)) + #t)))))) (home-page "https://sameboy.github.io/") (synopsis "Accurate Game Boy, Game Boy Color and Super Game Boy emulator") (description "SameBoy is a user friendly Game Boy, Game Boy Color @@ -1280,7 +1274,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.219") + (version "0.220") (source (origin (method git-fetch) @@ -1289,7 +1283,7 @@ play them on systems for which they were never designed!") (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 "0s3nhkfa5c17ar1lzgvm20ndqain9llgqkab0ji5ycv2c85f06fl")) + (base32 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 28a30a6831..ac50efb923 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2019 John Soo <jsoo1@asu.edu> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -227,13 +228,13 @@ plans and designs.") ("glib" ,glib) ("gtk" ,gtk+-2) ("guile" ,guile-2.0) - ("desktop-file-utils" ,desktop-file-utils) ("shared-mime-info" ,shared-mime-info) ("m4" ,m4) ("pcb" ,pcb) ("python" ,python-2))) ; for xorn (native-inputs `(("pkg-config" ,pkg-config) + ("desktop-file-utils" ,desktop-file-utils) ("perl" ,perl))) ; for tests (home-page "http://geda-project.org/") (synopsis "Schematic capture, netlister, symbols, symbol checker, and utils") @@ -266,8 +267,9 @@ utilities.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) + ("desktop-file-utils" ,desktop-file-utils) ("libtool" ,libtool) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("texinfo" ,texinfo) ("groff" ,groff) ("which" ,which) @@ -276,7 +278,6 @@ utilities.") `(("glib" ,glib) ("gtk" ,gtk+-2) ("guile" ,guile-2.2) - ("desktop-file-utils" ,desktop-file-utils) ("shared-mime-info" ,shared-mime-info) ("m4" ,m4) ("pcb" ,pcb))) @@ -385,13 +386,13 @@ features."))) ("gd" ,gd) ("gtk" ,gtk+-2) ("gtkglext" ,gtkglext) - ("desktop-file-utils" ,desktop-file-utils) ("shared-mime-info" ,shared-mime-info) ("tk" ,tk))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("bison" ,bison) + ("desktop-file-utils" ,desktop-file-utils) ("flex" ,flex) ;; For tests ("imagemagick" ,imagemagick) @@ -675,11 +676,11 @@ ready for production.") (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. + ("desktop-file-utils" ,desktop-file-utils) ("pkg-config" ,pkg-config))) (inputs `(("cairo" ,cairo) - ("gtk" ,gtk+-2) - ("desktop-file-utils" ,desktop-file-utils))) + ("gtk" ,gtk+-2))) (home-page "http://gerbv.geda-project.org/") (synopsis "Gerber file viewer") (description @@ -791,9 +792,6 @@ language.") (license (list license:mpl2.0 ;library license:gpl2+))))) ;Guile bindings and GUI -(define-public ao - (deprecated-package "ao-cad" libfive)) - ;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master (define-public kicad (package @@ -858,7 +856,7 @@ language.") (native-inputs `(("boost" ,boost) ("desktop-file-utils" ,desktop-file-utils) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("kicad-i18l" ,kicad-i18l) ("pkg-config" ,pkg-config) ("swig" ,swig) @@ -905,7 +903,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.") (delete 'build) (delete 'check)))) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (home-page "https://kicad-pcb.org/") (synopsis "KiCad GUI translations") (description "This package contains the po files that are used for the GUI @@ -1019,22 +1017,42 @@ the 'showing the effect of'-style of operation.") (define-public volk (package (name "volk") - (version "1.3") + (version "2.2.1") (source (origin (method url-fetch) - (uri (string-append "http://libvolk.org/releases/volk-" + (uri (string-append "https://www.libvolk.org/releases/volk-" version ".tar.gz")) (sha256 (base32 - "1bz3ywc6y5wmz3i8p4z2wbzhns8bc0ywdkl9qnxpcvfcscarbdlh")))) + "1wz5nhmw6np8ka30pgy1qnima3rk2ksln4klfhrj7wah3fian0k9")))) (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-pythonpath + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (python (assoc-ref inputs "python")) + (file (string-append out "/bin/volk_modtool")) + (path (string-append + out + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages:" + (getenv "PYTHONPATH")))) + (wrap-program file + `("PYTHONPATH" ":" prefix (,path)) + `("PATH" ":" prefix + (,(string-append python "/bin:"))))) + #t))))) (inputs `(("boost" ,boost))) (native-inputs - `(("python-2" ,python-2) - ("python2-cheetah" ,python2-cheetah))) - (home-page "http://libvolk.org/") + `(("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 diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index b5ca37d43e..ce1155c755 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -249,7 +249,7 @@ from the jfsutils package. It is meant to be used in initrds.") (define-public disorderfs (package (name "disorderfs") - (version "0.5.8") + (version "0.5.9") (source (origin (method git-fetch) @@ -259,7 +259,7 @@ from the jfsutils package. It is meant to be used in initrds.") (file-name (git-file-name name version)) (sha256 (base32 - "0pk9i0dycjq0wl6dp37r2hbadgpgmzbmjk2xpbjl36x4yrm4jns8")))) + "0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 43eda97f1a..c31b87ec19 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -13,9 +13,11 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> -;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net> +;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +41,8 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix build-system emacs) #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system go) @@ -238,11 +242,11 @@ and dynamically with report tools based on filtering and graphical charts.") ("libedit" ,libedit) ("mpfr" ,mpfr) ("python" ,python-2) - ("tzdata" ,tzdata) ("utfcpp" ,utfcpp))) (native-inputs `(("groff" ,groff) - ("texinfo" ,texinfo))) + ("texinfo" ,texinfo) + ("tzdata" ,tzdata-for-tests))) (home-page "https://ledger-cli.org/") (synopsis "Command-line double-entry accounting program") (description @@ -387,11 +391,11 @@ This package provides the Emacs mode.") (synopsis "Free Elster client, for sending Germany VAT declarations") (description "Geierlein is a free Elster client, i.e. an application that -allows to send VAT declarations to Germany's fiscal authorities. +sends VAT declarations to Germany's fiscal authorities. Currently it is *not* possible to send returns that are due annually (especially the income tax return) since the fiscal authority doesn't -allow to do that off the ERiC library (which is proprietary however). +allow doing that off the ERiC library (which is proprietary however). It's not clear at the moment whether one day it will be possible to do so.") (license license:agpl3+))) @@ -744,9 +748,6 @@ the Monero command line client and daemon.") the Monero GUI client.") (license license:bsd-3))) -(define-public monero-core - (deprecated-package "monero-core" monero-gui)) - (define-public python-trezor-agent (package (name "python-trezor-agent") @@ -1049,13 +1050,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ") (define-public python-duniterpy (package (name "python-duniterpy") - (version "0.56.0") + (version "0.57.0") (source (origin (method url-fetch) (uri (pypi-uri "duniterpy" version)) (sha256 - (base32 "1h8d8cnr6k5sw4cqy8r82zy4ldzpvn4nlk2221lz2haqq7xm4s5z")))) + (base32 "0rw2c7r9gcqhymp82gbk1ky45zqbypsi2q5x4vdwjc6g00kh7h6l")))) (build-system python-build-system) (arguments ;; FIXME: Tests fail with: "ModuleNotFoundError: No module named @@ -1165,10 +1166,37 @@ information.") (home-page "https://grisbi.org") (license license:gpl2+))) +(define-public trezord-udev-rules + (let ((commit "bff7fdfe436c727982cc553bdfb29a9021b423b0") + (revision "0")) + (package + (name "trezord-udev-rules") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trezor/trezor-common.git") + (commit commit))) + (sha256 + (base32 + "14mrirrn68if7ja6qdk9qlxs1hv0f21vrxy5ncnms0gx9iwakp2l")) + (file-name (git-file-name name version)))) + (build-system copy-build-system) + (arguments + '(#:install-plan + '(("./udev/51-trezor.rules" "lib/udev/rules.d/")))) + (home-page "https://github.com/trezor/trezor-common") + (synopsis "Udev rules for trezord") + (description + "This contains the udev rules for trezord. This will let a user run +trezord as a regular user instead of needing to it run as root.") + (license license:lgpl3+)))) + (define-public trezord (package (name "trezord") - (version "2.0.17") + (version "2.0.29") (source (origin (method git-fetch) @@ -1177,7 +1205,7 @@ information.") (commit (string-append "v" version)))) (sha256 (base32 - "0nqzpq0i3crh0i4r1cppja5sn3rwi1fv9afxzwzv63096x5l30a7")) + "1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp")) (file-name (git-file-name name version)))) (build-system go-build-system) (arguments @@ -1401,3 +1429,168 @@ entity management.") electronic cash system. This package provides a command line client and a Qt GUI.") (license license:expat))) + +(define-public fulcrum + (package + (name "fulcrum") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v" + version "/fulcrum-v" version ".tar.gz")) + (sha256 + (base32 "1xywwgsdhkiblv6la0pfhvn2s9q8vnz6pjg35647rlwzi6ybf0ak")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Call qmake instead of configure to create a Makefile. + (replace 'configure + (lambda _ + (invoke + "qmake" + (string-append "PREFIX=" %output) + "features=")))))) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("python" ,python) + ("qtbase" ,qtbase) + ("rocksdb" ,rocksdb) + ("zlib" ,zlib))) + (home-page "https://gitlab.com/FloweeTheHub/fulcrum/") + (synopsis "Fast and nimble SPV server for Bitcoin Cash") + (description + "Flowee Fulcrum is a server that is the back-end for @acronym{SPV, +Simplified Payment Verification} wallets, it provides the full API for those +walets in a fast and small server. The full data is stored in a full node, +like Flowee the Hub, which Fulcrum connects to over RPC.") + (license license:gpl3+))) + +(define-public flowee + (package + (name "flowee") + (version "2020.03.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/" + version "/thehub-" version ".tar.gz")) + (sha256 + (base32 "1m8wfwxljvd2gqpfj1w37xky4isa3h9a7g57cnf3l4r90r4bxj47")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'make-qt-deterministic + (lambda _ + ;; Make Qt deterministic. + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") + #t)) + (add-before 'configure 'disable-black-box + ;; the black-box testing runs full hubs and lets them interact. + ;; this is more fragile and a slow machine, or low memory machine, may + ;; make the tests timeout and fail. We just disable them here. + (lambda _ + (substitute* "testing/CMakeLists.txt" + (("test_api") "")) + #t)) + (add-after 'configure 'set-build-info + ;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) . + ;; Its purpose is to write the tag name in the build.h file. We do that + ;; here instead. + (lambda _ + (with-output-to-file "include/build.h" + (lambda _ + (display + (string-append "#define BUILD_DESC " "\"", version "\"")))))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME + #t)) + (replace 'check + (lambda _ + (invoke "make" "check" "-C" "testing")))))) + (inputs + `(("boost" ,boost) + ("gmp" ,gmp) + ("libevent" ,libevent) + ("miniupnpc" ,miniupnpc) + ("openssl" ,openssl) + ("qtbase" ,qtbase))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ("util-linux" ,util-linux))) ; provides the hexdump command for tests + (home-page "https://flowee.org") + (synopsis "Flowee infrastructure tools and services") + (description + "Flowee packages all tier-1 applications and services from the Flowee group. +This includes components like The Hub and Indexer which and various others +that allows you to run services and through them access the Bitcoin Cash networks.") + (license license:gpl3+))) + + +(define-public beancount + (package + (name "beancount") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "beancount" version)) + (sha256 + (base32 + "0pcfl2rx2ng06i4f9izdpnlnb1k0rdzsckbzzn4cn4ixfzyssm0m")) + (patches (search-patches "beancount-disable-googleapis-fonts.patch")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Says test is missing, not sure why + #:phases + (modify-phases %standard-phases + ;; Not importing the googleapis package for now + (add-after 'unpack 'ignore-googleapis + (lambda _ + (substitute* "setup.py" + (("'google-api-python-client',") "")) + #t))))) + (inputs + `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-bottle" ,python-bottle) + ("python-chardet" ,python-chardet) + ("python-dateutil" ,python-dateutil) + ("python-lxml" ,python-lxml) + ("python-magic" ,python-magic) + ("python-ply" ,python-ply) + ("python-requests" ,python-requests))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "http://furius.ca/beancount") + (synopsis "Command-line double-entry accounting tool") + (description + "Beancount is a double-entry bookkeeping computer language that lets you +define financial transaction records in a text file, read them in memory, +generate a variety of reports from them, and provides a web interface.") + (license license:gpl2))) + +;; The beancount source ships with elisp in a subdirectory +(define-public emacs-beancount + (package + (inherit beancount) + (name "emacs-beancount") + (build-system emacs-build-system) + (arguments + `(#:tests? #f ;no tests + #:phases + (modify-phases %standard-phases + (add-before 'install 'chdir-emacs + (lambda _ + (chdir "editors/emacs") + #t))))) + (inputs '()) + (native-inputs '()) + (synopsis "Emacs mode for beancount") + (description + "Emacs-beancount is an Emacs mode for the Beancount accounting tool."))) diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index 8822ff35da..b35f55ae97 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm @@ -86,7 +86,7 @@ ("cross-binutils" ,(cross-binutils "xtensa-elf")) ("cmake" ,cmake-minimal) ("perl" ,perl))) - (home-page "http://wireless.kernel.org/en/users/Drivers/ath9k_htc") + (home-page "https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc") (synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs") (description "This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB @@ -445,7 +445,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) (package (name (string-append "arm-trusted-firmware-" platform)) - (version "2.2") + (version "2.3") (source (origin (method git-fetch) @@ -454,11 +454,9 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") (url "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/") (commit (string-append "v" version)))) (file-name (git-file-name "arm-trusted-firmware" version)) - (patches (search-patches - "arm-trusted-firmware-disable-hdcp.patch")) (sha256 (base32 - "03fjl5hy1bqlya6fg553bqz7jrvilzrzpbs87cv6jd04v8qrvry8")))) + "113mcf1hwwl0i90cqh08lywxs1bfbg0nwqibay9wlkmx1a5v0bnj")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 8eb4b689d9..21423baefd 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot> -;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org> ;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net> ;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com> @@ -30,6 +30,9 @@ ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Damien Cassou <damien@cassou.me> ;;; Copyright © 2020 Amin Bandali <bandali@gnu.org> +;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,9 +65,11 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages xorg)) (define-public font-ibm-plex @@ -228,9 +233,9 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over 50 Cyrillic-based languages as well as Greek and IPA phonetics.") (license license:silofl1.1))) -(define-public font-gnu-freefont-ttf +(define-public font-gnu-freefont (package - (name "font-gnu-freefont-ttf") + (name "font-gnu-freefont") (version "20120503") (source (origin (method url-fetch) @@ -247,18 +252,41 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over (lambda _ (let ((doc-dir (string-append %output "/share/doc/" ,name "-" ,version)) - (font-dir (string-append %output - "/share/fonts/truetype"))) + (ttf-font-dir (string-append %output + "/share/fonts/ttf")) + (otf-font-dir (string-append %output + "/share/fonts/otf")) + (woff-font-dir (string-append %output + "/share/fonts/woff"))) (mkdir-p doc-dir) (substitute* "Makefile" (("\\$\\(TMPDIR\\)") doc-dir) - (("sfd/\\*.ttf") "")) - (system* "make" "ttftar") - (mkdir-p font-dir) + (("sfd/\\*.ttf") "") + (("sfd/\\*.otf") "") + (("sfd/\\*.woff") "")) + ;; XXX The FreeFont Makefile tries to use the current + ;; time and date as names for generated files, and fails + ;; silently. But the fonts are still installed, so we + ;; leave the issue alone for now. + ;; See <https://bugs.gnu.org/40783> + (system* "make" "ttftar" "otftar" "wofftar") + (mkdir-p ttf-font-dir) + (mkdir-p otf-font-dir) + (mkdir-p woff-font-dir) (for-each (lambda (file) - (install-file file font-dir)) + (install-file file ttf-font-dir)) (filter (lambda (file) (string-suffix? "ttf" file)) + (find-files "." ""))) + (for-each (lambda (file) + (install-file file otf-font-dir)) + (filter + (lambda (file) (string-suffix? "otf" file)) + (find-files "." ""))) + (for-each (lambda (file) + (install-file file woff-font-dir)) + (filter + (lambda (file) (string-suffix? "woff" file)) (find-files "." ""))))))) #:test-target "tests")) ;; replace python 3 with python 2 @@ -277,6 +305,9 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over (properties '((upstream-name . "freefont") (ftp-directory . "/gnu/freefont"))))) +(define-public font-gnu-freefont-ttf + (deprecated-package "font-gnu-freefont-ttf" font-gnu-freefont)) + (define-public font-liberation (package (name "font-liberation") @@ -558,17 +589,16 @@ fonts.") (define-public font-rachana (package (name "font-rachana") - (version "7.0") + (version "7.0.3") (source (origin - (method url-fetch) - (uri (string-append - "https://gitlab.com/smc/rachana/repository/archive.tar.gz?ref=Version" - version)) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/smc/fonts/rachana") + (commit (string-append "Version" version)))) (sha256 - (base32 - "0jc091gshna6p1dd6lf507jxkgk6rsja835fc9dm71mcplq53bm1")))) + (base32 "0r100pvk56y1s38nbv24d78s8nd7dkblgasbn8s887dzj6dps23d")) + (file-name (git-file-name name version)))) (build-system font-build-system) (home-page "https://smc.org.in") (synopsis "Malayalam font") @@ -649,7 +679,7 @@ for use at smaller text sizes"))) (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "12.1.04") + (version "13.0.01") (source (origin (method url-fetch) @@ -659,7 +689,7 @@ for use at smaller text sizes"))) (string-append "mirror://gnu/unifont/unifont-" version "/unifont-" version ".tar.gz"))) (sha256 - (base32 "1h5dyhg4j8sh4qpbwnsn34igb8mfapz5b3nf4k71hq1c5z3j0mcv")))) + (base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b")))) (build-system gnu-build-system) (outputs '("out" ; TrueType version "pcf" ; PCF (bitmap) version @@ -702,7 +732,7 @@ for use at smaller text sizes"))) "GNU Unifont is a bitmap font covering essentially all of Unicode's Basic Multilingual Plane. The package also includes utilities to ease adding new glyphs to the font.") - (home-page "http://unifoundry.com/unifont.html") + (home-page "http://unifoundry.com/unifont/index.html") (properties '((upstream-name . "unifont"))) (license license:gpl2+))) @@ -1177,6 +1207,50 @@ programming. Iosevka is completely generated from its source code.") (sha256 (base32 "1rkmgi08kknc1fg54zpa6w92m3b3v7pc8cpwygz22kgd2h0mdrr8")))))) +(define-public font-iosevka-term + (package + (inherit font-iosevka) + (name "font-iosevka-term") + (version (package-version font-iosevka)) + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://github.com/be5invis/Iosevka" + "/releases/download/v" version + "/02-iosevka-term-" version ".zip")) + (sha256 + (base32 + "1mxlb3qf64nykjd0x4gjfvib3k5kyv9ssv9iyzxxgk2z80bydz00")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files "." ".*")) + #t))))))) + +(define-public font-iosevka-term-slab + (package + (inherit font-iosevka) + (name "font-iosevka-term-slab") + (version (package-version font-iosevka)) + (source + (origin + (method url-fetch/zipbomb) + (uri (string-append "https://github.com/be5invis/Iosevka" + "/releases/download/v" version + "/06-iosevka-term-slab-" version ".zip")) + (sha256 + (base32 + "1gc16hih157qy6vpa8f88psq0fnksiigi3msqazc75zsm3z4kzqj")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'install 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files "." ".*")) + #t))))))) + (define-public font-go (let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc") (revision "1")) @@ -1569,7 +1643,7 @@ This package provides the TrueType fonts.") (define-public font-jetbrains-mono (package (name "font-jetbrains-mono") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) @@ -1577,7 +1651,7 @@ This package provides the TrueType fonts.") (string-append "https://download.jetbrains.com/fonts/" "JetBrainsMono-" version ".zip")) (sha256 - (base32 "0qlp4902i1v6ni04b6gdip8rxw6wpkdk9w7dir1yn9an5mvbkyar")))) + (base32 "0zvhwmpdwpm4vywmm6i9a4najz0c7vfi411yikgkd66l5hwd1p6f")))) (build-system font-build-system) (home-page "https://www.jetbrains.com/lp/mono/") (synopsis "Mono typeface for developers") @@ -1625,3 +1699,43 @@ always uses Farsi digits, and does not include Latin glyphs from Roboto. (license:x11-style ; ...the Bitstream Vera typeface "file://LICENSE" "Bitstream Vera License") license:asl2.0)))) ; Latin glyphs from Roboto + +(define-public font-meera-inimai + (package + (name "font-meera-inimai") + (version "2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/smc/meera-inimai") + (commit "0f39cdd7dbf1b6d1bed7df85834d33789dce20a7"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x5mhrpx24imh0r4l83mkaiszxgwi1q4ppyyvq63h3ddwk20cwdg")))) + (build-system gnu-build-system) + (native-inputs + `(("fontforge" ,fontforge) + ("harfbuzz" ,harfbuzz "bin") + ("python" ,python-minimal) + ("python-fonttools" ,python-fonttools) + ("python-google-brotli" ,python-google-brotli))) + (arguments + `(#:make-flags (list "PY=python3" + (string-append "DESTDIR=" %output) + "fontpath=/share/fonts/truetype") + #:test-target "test" + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (home-page "https://gitlab.com/smc/meera-inimai") + (synopsis "Meera Inimai Tamil font") + (description "Meera Inimai is a Unicode font for the Tamil Script. Meera +Inimai is a san-serif typeface. It is best used as a screen font for body +text. It is also useful for body text of printed pamphlets or single page +designs. Meera Inimai can be thought of as similar to Helvetica and its +variation Arial. Tamil characters are inherently vertically-elliptical. The +orthography of Roman glyphs of Meera Inimai are also based on this +characteristic so that they sit smoothly with the Tamil glyphs.") + (license license:silofl1.1))) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 7455d3381a..2dffc0b919 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -727,7 +727,7 @@ maintain the Noto Fonts project.") (define-public fontmanager (package (name "fontmanager") - (version "0.7.5") + (version "0.7.7") (source (origin (method git-fetch) @@ -737,7 +737,7 @@ maintain the Noto Fonts project.") (file-name (git-file-name name version)) (sha256 (base32 - "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g")))) + "1bzqvspplp1zj0n0869jqbc60wgbjhf0vdrn5bj8dfawxynh8s5f")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index f01681024f..ed5bc14e31 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -271,6 +271,7 @@ Includes the actual FTDI connector.") (uri (git-reference (url "git://github.com/YosysHQ/nextpnr") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0g2ar1z89b31qw5vgqj2rrcv9rzncs94184dgcsrz19p866654mf")))) @@ -289,8 +290,8 @@ Includes the actual FTDI connector.") "/share/icebox")) #:tests? #f)) (synopsis "Place-and-Route tool for FPGAs") - (description "nextpnr aims to be a vendor neutral, timing driven, -FOSS FPGA place and route tool. ") + (description "Nextpnr aims to be a vendor neutral, timing driven, +FOSS FPGA place and route tool.") (home-page "https://github.com/YosysHQ/nextpnr") (license license:expat)))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index b9811fb60e..9b62cf6aac 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1671,8 +1671,8 @@ encoding names are iconv-compatible.") (home-page "https://github.com/coldfix/udiskie") (synopsis "Automounter for removable media") (description - "The @command{udiskie} program is a udisks2 front-end that allows to -manage removable media such as CDs or flash drives from userspace. + "The @command{udiskie} program is a udisks2 front-end that +manages removable media such as CDs or flash drives from userspace. Its features include: diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 2a66f4a40c..d4b2fdcab2 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1777,7 +1777,7 @@ that parenthetically inclined game developers need to make 2D (and eventually (define-public guile3.0-chickadee (package (inherit guile-chickadee) - (name "guile-chickadee") + (name "guile3.0-chickadee") (version "0.4.0") (source (origin (method url-fetch) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 42f2230482..10b3a072b9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org> ;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> -;;; 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 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> @@ -48,6 +48,9 @@ ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx> ;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> +;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com> +;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -172,6 +175,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages messaging) #:use-module (gnu packages networking) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) @@ -329,9 +333,6 @@ the more advanced player there are new game modes and a wide variety of physics settings to tweak as well.") (license license:gpl2+))) -(define-public armagetron-advanced - (deprecated-package "armagetron-advanced" armagetronad)) - (define-public bastet (package (name "bastet") @@ -396,62 +397,112 @@ Playing bastet can be a painful experience, especially if you usually make canyons and wait for the long I-shaped block to clear four rows at a time.") (license license:gpl3+))) +(define-public blobwars + (package + (name "blobwars") + (version "2.00") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/blobwars/" + "blobwars-" version ".tar.gz")) + (sha256 + (base32 "16aagvkx6azf75gm5kaa94bh5npydvhqp3fvdqyfsanzdjgjf1n4")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "PREFIX=" out) + (string-append "BINDIR=" out "/bin/") + "USEPAK=1" + "RELEASE=1")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'werror-begone + (lambda _ + (substitute* "Makefile" (("-Werror") "")) + #t)) + (delete 'configure)))) ;no configure script + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("hicolor-icon-theme" ,hicolor-icon-theme) + ("sdl" ,(sdl-union (list sdl2 + sdl2-image + sdl2-mixer + sdl2-ttf + sdl2-net))))) + (home-page "https://sourceforge.net/projects/blobwars/") + (synopsis "Platform action game featuring a blob with a lot of weapons") + (description "Blobwars: Metal Blob Solid is a 2D platform game, the first +in the Blobwars series. You take on the role of a fearless Blob agent. Your +mission is to infiltrate various enemy bases and rescue as many MIAs as +possible, while battling many vicious aliens.") + (license (list license:gpl2 ; For code and graphics + license:cc0 ; Music and sounds have specific licenses + license:cc-by3.0 ; see /doc/readme + license:cc-by-sa3.0 + license:lgpl2.1+ + license:bsd-2)))) + (define-public cataclysm-dda - (let ((commit "9c732a5de48928691ab863d3ab275ca7b0e522fc")) - (package - (name "cataclysm-dda") - (version "0.D") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/CleverRaven/Cataclysm-DDA.git") - (commit commit))) - (sha256 - (base32 - "00zzhx1mh1qjq668cga5nbrxp2qk6b82j5ak65skhgnlr6ii4ysc")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1" - "LOCALIZE=1" "LANGUAGES=all") - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'build 'build-tiles - (lambda* (#:key make-flags outputs #:allow-other-keys) - ;; Change prefix directory and enable tile graphics and sound. - (apply invoke "make" "TILES=1" "SOUND=1" - (string-append "PREFIX=" - (assoc-ref outputs "tiles")) - (cdr make-flags)))) - (add-after 'install 'install-tiles - (lambda* (#:key make-flags outputs #:allow-other-keys) - (apply invoke "make" "install" "TILES=1" "SOUND=1" - (string-append "PREFIX=" - (assoc-ref outputs "tiles")) - (cdr make-flags))))) - ;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native - ;; input in order to support tests. - #:tests? #f)) - (outputs '("out" - "tiles")) ; For tile graphics and sound support. - (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) - (inputs - `(("freetype" ,freetype) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("ncurses" ,ncurses) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-ttf" ,sdl2-ttf) - ("sdl2-mixer" ,sdl2-mixer))) - (home-page "https://cataclysmdda.org/") - (synopsis "Survival horror roguelike video game") - (description - "Cataclysm: Dark Days Ahead (or \"DDA\" for short) is a roguelike set + (package + (name "cataclysm-dda") + (version "0.E") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/CleverRaven/Cataclysm-DDA.git") + (commit version))) + (sha256 + (base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1" + "LOCALIZE=1" "LANGUAGES=all") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'build 'build-tiles + (lambda* (#:key make-flags outputs #:allow-other-keys) + ;; Change prefix directory and enable tile graphics and sound. + (apply invoke "make" "TILES=1" "SOUND=1" + (string-append "PREFIX=" + (assoc-ref outputs "tiles")) + (cdr make-flags)))) + (add-after 'install 'install-tiles + (lambda* (#:key make-flags outputs #:allow-other-keys) + (apply invoke "make" "install" "TILES=1" "SOUND=1" + (string-append "PREFIX=" + (assoc-ref outputs "tiles")) + (cdr make-flags))))) + ;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native + ;; input in order to support tests. + #:tests? #f)) + (outputs '("out" + "tiles")) ;for tile graphics and sound support + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("freetype" ,freetype) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) + ("ncurses" ,ncurses) + ("sdl2" ,sdl2) + ("sdl2-image" ,sdl2-image) + ("sdl2-ttf" ,sdl2-ttf) + ("sdl2-mixer" ,sdl2-mixer))) + (home-page "https://cataclysmdda.org/") + (synopsis "Survival horror roguelike video game") + (description + "Cataclysm: Dark Days Ahead (or \"DDA\" for short) is a roguelike set in a post-apocalyptic world. Struggle to survive in a harsh, persistent, procedurally generated world. Scavenge the remnants of a dead civilization for food, equipment, or, if you are lucky, a vehicle with a full tank of gas @@ -459,10 +510,7 @@ to get you out of Dodge. Fight to defeat or escape from a wide variety of powerful monstrosities, from zombies to giant insects to killer robots and things far stranger and deadlier, and against the others like yourself, that want what you have.") - (license license:cc-by-sa3.0)))) - -(define-public cataclysm-dark-days-ahead - (deprecated-package "cataclysm-dark-days-ahead" cataclysm-dda)) + (license license:cc-by-sa3.0))) (define-public corsix-th (package @@ -1099,6 +1147,46 @@ destroying an ancient book using a special wand.") ;; license. The whole package is released under GPLv3+. (license license:gpl3+))) +(define-public gnome-chess + (package + (name "gnome-chess") + (version "3.36.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0")))) + (build-system meson-build-system) + (arguments + '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t))))) + (inputs + `(("gtk+" ,gtk+) + ("librsvg" ,librsvg))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://wiki.gnome.org/Apps/Chess") + (synopsis "Chess board for GNOME") + (description "GNOME Chess provides a 2D board for playing chess games +against human or computer players. It supports loading and saving games in +Portable Game Notation. To play against a computer, install a chess engine +such as chess or stockfish.") + (license license:gpl3+))) + (define-public gnubg (package (name "gnubg") @@ -1151,9 +1239,6 @@ beginners and advanced players. In addition to a command-line interface, it also features an attractive, 3D representation of the playing board.") (license license:gpl3+))) -(define-public gnubackgammon - (deprecated-package "gnubackgammon" gnubg)) - (define-public gnubik (package (name "gnubik") @@ -1259,10 +1344,11 @@ watch your CPU playing while enjoying a cup of tea!") (string-join (string-split version #\.) "") "-src.tgz")) (sha256 (base32 "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng")))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) (inputs `(("ncurses" ,ncurses) - ("bison" ,bison) - ("flex" ,flex) ("less" ,less))) (build-system gnu-build-system) (arguments @@ -1704,9 +1790,6 @@ them, called Jean Raymond, found an old church in which to hide, not knowing that beneath its ruins lay buried an ancient evil.") (license license:gpl3))) -(define-public l-abbaye-des-morts - (deprecated-package "l-abbaye-des-morts" abbaye)) - (define-public angband (package (name "angband") @@ -1872,7 +1955,7 @@ asynchronously and at a user-defined speed.") (define-public chess (package (name "chess") - (version "6.2.5") + (version "6.2.6") (source (origin (method url-fetch) @@ -1880,13 +1963,15 @@ asynchronously and at a user-defined speed.") ".tar.gz")) (sha256 (base32 - "00j8s0npgfdi41a0mr5w9qbdxagdk2v41lcr42rwl1jp6miyk6cs")))) + "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/chess/") (synopsis "Full chess implementation") (description "GNU Chess is a chess engine. It allows you to compete against the computer in a game of chess, either through the default terminal interface or via an external visual interface such as GNU XBoard.") + (properties '((upstream-name . "gnuchess") + (ftp-directory . "/chess"))) (license license:gpl3+))) (define freedink-engine @@ -2835,9 +2920,6 @@ experience and advance levels, and are carried over from one scenario to the next campaign.") (license license:gpl2+))) -(define-public the-battle-for-wesnoth - (deprecated-package "the-battle-for-wesnoth" wesnoth)) - (define-public wesnoth-server (package (inherit wesnoth) @@ -2854,9 +2936,6 @@ next campaign.") (description "This package contains a dedicated server for @emph{The Battle for Wesnoth}."))) -(define-public the-battle-for-wesnoth-server - (deprecated-package "the-battle-for-wesnoth-server" wesnoth-server)) - (define-public gamine (package (name "gamine") @@ -2944,20 +3023,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "1.9.3") + (version "1.10.0") (source (origin (method url-fetch) - (uri (string-append "https://proxy.binaries.openttd.org/openttd-releases/" + (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "0ijq72kgx997ggw40i5f4a3nf7y2g72z37l47i18yjvgbdzy320r")) - (modules '((guix build utils))) - (snippet - ;; The DOS port contains proprietary software. - '(begin - (delete-file-recursively "os/dos") - #t)))) + "0lz2y2rjc23k0d97y65cqhy2splw9cmrbvhgz0iqps8xkan1m8hv")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -3007,15 +3080,15 @@ engine. When you start it you will be prompted to download a graphics set.") (define openttd-opengfx (package (name "openttd-opengfx") - (version "0.5.5") + (version "0.6.0") (source (origin (method url-fetch) - (uri (string-append "http://binaries.openttd.org/extra/opengfx/" + (uri (string-append "https://cdn.openttd.org/opengfx-releases/" version "/opengfx-" version "-source.tar.xz")) (sha256 (base32 - "009fa1bdin1bk0ynzhzc30hzkmmwzmwkk6j591ax3f6w75l28n49")))) + "0qxc6gl2gxcrn1np88dnjgbaaakkkx96b13rcmy1spryc8c09hyr")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" @@ -3045,6 +3118,7 @@ engine. When you start it you will be prompted to download a graphics set.") ("gimp" ,gimp) ("grfcodec" ,grfcodec) ("nml" ,nml) + ("which" ,which) ("python" ,python-2))) (home-page "http://dev.openttdcoop.org/projects/opengfx") (synopsis "Base graphics set for OpenTTD") @@ -3689,6 +3763,69 @@ fullscreen, use F5 or Alt+Enter.") ;; Code mainly BSD-2, some parts under Boost 1.0. All assets are WTFPL2. (license (list license:bsd-2 license:boost1.0 license:wtfpl2)))) +(define-public tennix + (package + (name "tennix") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://repo.or.cz/tennix.git") + (commit (string-append "tennix-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02cj4lrdrisal5s9pnbf2smx7qz9czczjzndfkhfx0qy67b957sk")) + ;; Remove non-free images. + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + '("data/loc_training_camp.png" + "data/loc_austrian_open.png" + "data/loc_olympic_green_tennis.png")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-include + (lambda _ + (substitute* '("src/graphics.h" "src/sound.h") + (("#include \"(SDL_(image|ttf|mixer)\\.h)\"" _ header) + (string-append "#include \"SDL/" header "\""))) + (substitute* '("src/tennix.h" "src/network.h" "src/SDL_rotozoom.h") + (("#include <SDL.h>") "#include <SDL/SDL.h>") + (("#include <SDL_net.h>") "#include <SDL/SDL_net.h>")) + #t)) + (add-after 'unpack 'locate-install + ;; Build process cannot expand "$(INSTALL)" in Makefile. + (lambda _ + (substitute* "makefile" + (("^CONFIGURE_OUTPUT :=.*" all) + (string-append "INSTALL := install -c\n" all))) + #t)) + (replace 'configure + ;; The "configure" script is picky about the arguments it + ;; gets. Call it ourselves. + (lambda _ + (invoke "./configure" "--prefix" (assoc-ref %outputs "out"))))))) + (native-inputs + `(("which" ,which))) + (inputs + `(("python" ,python-wrapper) + ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf sdl-net))))) + (home-page "http://icculus.org/tennix/") + (synopsis "Play tennis against the computer or a friend") + (description "Tennix is a 2D tennis game. You can play against the +computer or against another player using the keyboard. The game runs +in-window at 640x480 resolution or fullscreen.") + ;; Project is licensed under GPL2+ terms. It includes images + ;; released under Public Domain terms, and SDL_rotozoom, released + ;; under LGPL2.1 terms. + (license (list license:gpl2+ license:public-domain license:lgpl2.1)))) + (define-public warzone2100 (package (name "warzone2100") @@ -3745,7 +3882,7 @@ fullscreen, use F5 or Alt+Enter.") modes. An extensive tech tree with over 400 different technologies, combined with the unit design system, allows for a wide variety of possible units and tactics.") - ; Everything is GPLv2+ unless otherwise specified in COPYING.NONGPL + ; Everything is GPLv2+ unless otherwise specified in COPYING.NONGPL (license (list license:bsd-3 license:cc0 license:cc-by-sa3.0 @@ -3790,9 +3927,6 @@ in strikes against the evil corporation.") license:cc0 license:public-domain)))) -(define-public project-starfighter - (deprecated-package "project-starfighter" starfighter)) - (define-public chromium-bsu (package (name "chromium-bsu") @@ -3994,7 +4128,7 @@ with the \"Stamp\" tool within Tux Paint.") (define-public supertux (package (name "supertux") - (version "0.6.1") + (version "0.6.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/SuperTux/supertux/" @@ -4003,7 +4137,7 @@ with the \"Stamp\" tool within Tux Paint.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lqch5gcq6ccnspy93z9r13bp8w2j1vrd8jhvk5kp4qhrd1f069s")) + "0n36qxwjlkdlksximz4s729az6pry2sdjavwgm7m65vfgdiz139f")) (patches (search-patches "supertux-unbundle-squirrel.patch")))) (arguments @@ -4728,9 +4862,6 @@ small robot living in the nano world, repair its maker.") ;; for a statement from the author. (license license:public-domain))) -(define-public kiki-the-nano-bot - (deprecated-package "kiki-the-nano-bot" kiki)) - (define-public teeworlds (package (name "teeworlds") @@ -5000,9 +5131,6 @@ underwater realm quarrel among themselves or comment on the efforts of your fish. The whole game is accompanied by quiet, comforting music.") (license license:gpl2+))) -(define-public fish-fillets-ng - (deprecated-package "fish-fillets-ng" fillets-ng)) - (define-public crawl (package (name "crawl") @@ -5082,9 +5210,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.") license:zlib license:asl2.0)))) -(define-public dungeon-crawl-stone-soup - (deprecated-package "dungeon-crawl-stone-soup" crawl)) - ;; The linter here claims that patch file names should start with the package ;; name. But, in this case, the patches are inherited from crawl with the ;; "crawl-" prefix instead of "crawl-tiles-". @@ -5121,9 +5246,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.") ("which" ,which))) (synopsis "Graphical roguelike dungeon crawler game"))) -(define-public dungeon-crawl-stone-soup-tiles - (deprecated-package "dungeon-crawl-stone-soup-tiles" crawl-tiles)) - (define-public lugaru (package (name "lugaru") @@ -5533,9 +5655,6 @@ intuitive mouse control, streamlined mechanics and deep, challenging combat, Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.") (license license:gpl3+))) -(define-public tales-of-maj-eyal - (deprecated-package "tales-of-maj-eyal" tome4)) - (define-public quakespasm (package (name "quakespasm") @@ -6072,7 +6191,7 @@ affect gameplay).") (package (inherit chocolate-doom) (name "crispy-doom") - (version "5.7.1") + (version "5.7.2") (source (origin (method git-fetch) (uri (git-reference @@ -6080,7 +6199,7 @@ affect gameplay).") (commit (string-append "crispy-doom-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1gqivy4pxasy7phyznixsagylf9f70bk33b0knpfzzlks6cc6zzj")))) + (base32 "002aqbgsksrgzqridwdlkrjincaxh0dkvwlrbb8d2f3kwk7lj4fq")))) (native-inputs (append (package-native-inputs chocolate-doom) @@ -6685,7 +6804,7 @@ GameController.") #t))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ;for glib-compile-resources ("itstool" ,itstool) ("libxml2" ,libxml2) ;for xmllint @@ -7001,9 +7120,6 @@ and cooperative.") ;; developers. (license (list license:gpl2+ license:lgpl2.1+)))) -(define-public battle-tanks - (deprecated-package "battle-tanks" btanks)) - (define-public slingshot (package (name "slingshot") @@ -7193,7 +7309,7 @@ where the player draws runes in real time to effect the desired spell.") `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) ("automake" ,automake) - ("gnu-gettext" ,gnu-gettext) + ("gnu-gettext" ,gettext-minimal) ("libtool" ,libtool) ("which" ,which))) (synopsis "2d action platformer game") @@ -7204,9 +7320,6 @@ a fortress beyond the forbidden swamp.") (home-page "https://www.parallelrealities.co.uk/games/edgar/") (license license:gpl2+))) -(define-public the-legend-of-edgar - (deprecated-package "the-legend-of-edgar" edgar)) - (define-public openclonk (package (name "openclonk") @@ -10352,3 +10465,119 @@ to conquer opponents by defeating them in war (with troops or machines), capturing their buildings with spies, or offering opponents money for their kingdom.") (license license:gpl2+))) + +(define-public neverball + ;; Git version is 6-years younger than latest release. + (let ((commit "760a25d32a5fb0661b99426d4ddcb9ac9f3d1644") + (revision "1")) + (package + (name "neverball") + (version (git-version "1.6.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neverball/neverball.git") + (commit commit))) + (sha256 + (base32 + "0bwh67df3lyf33bv710y25l3frjdd34j9b7gsjadwxviz6r1vpj5")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Octocat seems to be non-free. Oddly, Debian doesn't strip it. + (delete-file-recursively "data/ball/octocat") + #t)))) + (build-system copy-build-system) + (arguments + `(#:install-plan + '(("neverball" "bin/") + ("neverputt" "bin/") + ("mapc" "bin/") + ("data" "share/games/neverball/") + ("locale" "share/") + ("dist/" "share/games/neverball" #:include ("neverball_replay.png" + "neverlogos.svg" + "svg readme.txt")) + ("dist/" "share/applications" #:include ("neverball.desktop" + "neverputt.desktop")) + ("dist/neverball_16.png" + "/share/icons/hicolor/16x16/apps/neverball.png") + ("dist/neverball_24.png" + "/share/icons/hicolor/24x24/apps/neverball.png") + ("dist/neverball_32.png" + "/share/icons/hicolor/32x32/apps/neverball.png") + ("dist/neverball_48.png" + "/share/icons/hicolor/48x48/apps/neverball.png") + ("dist/neverball_64.png" + "/share/icons/hicolor/64x64/apps/neverball.png") + ("dist/neverball_128.png" + "/share/icons/hicolor/128x128/apps/neverball.png") + ("dist/neverball_256.png" + "/share/icons/hicolor/256x256/apps/neverball.png") + ("dist/neverball_512.png" + "/share/icons/hicolor/512x512/apps/neverball.png") + ("dist/neverputt_16.png" + "/share/icons/hicolor/16x16/apps/neverputt.png") + ("dist/neverputt_24.png" + "/share/icons/hicolor/24x24/apps/neverputt.png") + ("dist/neverputt_32.png" + "/share/icons/hicolor/32x32/apps/neverputt.png") + ("dist/neverputt_48.png" + "/share/icons/hicolor/48x48/apps/neverputt.png") + ("dist/neverputt_64.png" + "/share/icons/hicolor/64x64/apps/neverputt.png") + ("dist/neverputt_128.png" + "/share/icons/hicolor/128x128/apps/neverputt.png") + ("dist/neverputt_256.png" + "/share/icons/hicolor/256x256/apps/neverputt.png") + ("dist/neverputt_512.png" + "/share/icons/hicolor/512x512/apps/neverputt.png") + ("dist/" "share/man/man1" #:include ("mapc.1")) + ("dist/" "share/man/man6" #:include ("neverball.6" "neverputt.6")) + ("doc/" "share/doc/neverball") + ("README.md" "share/doc/neverball/")) + #:phases + (modify-phases %standard-phases + (add-before 'install 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sdl (assoc-ref inputs "sdl"))) + (invoke "make" "-j" (number->string (parallel-job-count)) + "--environment-overrides" + "CC=gcc" "BUILD=release" + (string-append "DATADIR=" + out + "/share/games/neverball/data") + (string-append "LOCALEDIR=" out "/share/locale") + (string-append "SDL_CPPFLAGS=-I" + sdl + "/include/SDL2/"))) + #t)) + (add-after 'install 'fix-some-broken-fonts + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/neverball") + `("LANG" = ("en_US.utf8"))) + (wrap-program (string-append out "/bin/neverputt") + `("LANG" = ("en_US.utf8")))) + #t))))) + (native-inputs + `(("gettext" ,gettext-minimal))) ;for msgfmt + (inputs + `(("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libvorbis" ,libvorbis) + ("physfs" ,physfs) + ("sdl" ,(sdl-union (list sdl2 sdl2-ttf))))) + (home-page "https://neverball.org/") + (synopsis "3D floor-tilting game") + (description + "In the grand tradition of Marble Madness and Super Monkey Ball, +Neverball has you guide a rolling ball through dangerous territory. Balance +on narrow bridges, navigate mazes, ride moving platforms, and dodge pushers +and shovers to get to the goal. Race against the clock to collect coins to +earn extra balls. Also included is Neverputt, which is a 3D miniature golf +game.") ;thanks to Debian for description + (license license:gpl2+)))) diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm index 869f69add8..79b24ed048 100644 --- a/gnu/packages/genealogy.scm +++ b/gnu/packages/genealogy.scm @@ -55,7 +55,7 @@ ("intltool" ,intltool))) (inputs `(("cairo" ,cairo) - ("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf) + ("font-gnu-freefont" ,font-gnu-freefont) ("geocode-glib" ,geocode-glib) ("gexiv2" ,gexiv2) ("ghostscript" ,ghostscript) diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm index fdf686f9d7..27f55a398a 100644 --- a/gnu/packages/genimage.scm +++ b/gnu/packages/genimage.scm @@ -41,7 +41,7 @@ (define-public genimage (package (name "genimage") - (version "10") + (version "11") (source (origin (method git-fetch) (uri (git-reference @@ -50,7 +50,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0had00p2why2l1fl14mq7nbhmmfbd3na4qnnpg36akdy05g67jbn")))) + "15jmh17lvm3jw9c92bjarly7iwhmnfl322d91mprfv10ppb9ip54")))) (build-system gnu-build-system) (arguments `(#:phases @@ -149,6 +149,7 @@ (substitute* '("test/ext2test.dump" "test/ext3test.dump" "test/ext4test.dump" + "test/ext2test-percent.dump" "test/mke2fs.dump") (("root") "unknown")) #t)) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index e895c064ba..384f274aee 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -1153,8 +1153,8 @@ persisted. (copy-file "JMapViewer.jar" (string-append dir "JMapViewer.jar")))))))) (home-page "https://wiki.openstreetmap.org/wiki/JMapViewer") (synopsis "OSM map integration in Java") - (description "JMapViewer is a Java component which allows to easily -integrate an OSM map view into your Java application. It is maintained as + (description "JMapViewer is a Java component which easily +integrates an OSM map view into your Java application. It is maintained as an independent project by the JOSM team.") (license license:gpl2))) @@ -1292,7 +1292,7 @@ an independent project by the JOSM team.") (synopsis "OSM editor") (description "JOSM is an extensible editor for OpenStreetMap (OSM). It supports loading GPX tracks, background imagery and OSM data from local -sources as well as from online sources and allows to edit the OSM data (nodes, +sources as well as from online sources and allows editing the OSM data (nodes, ways, and relations) and their metadata tags.") (license license:gpl2+))) @@ -1933,6 +1933,22 @@ growing set of geoscientific methods.") (add-after 'wrap-python 'wrap-qt (lambda* (#:key outputs #:allow-other-keys) (wrap-qt-program (assoc-ref outputs "out") "qgis") + #t)) + (add-after 'wrap-qt 'wrap-gis + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (saga (string-append (assoc-ref inputs "saga") "/bin")) + (grass-version ,(package-version grass)) + (grass-majorminor (string-join + (list-head + (string-split grass-version #\.) 2) + "")) + (grass (string-append (assoc-ref inputs "grass") + "/grass" grass-majorminor))) + (wrap-program (string-append out "/bin/qgis") + `("PATH" ":" prefix (,saga)) + `("QGIS_PREFIX_PATH" = (,out)) + `("GISBASE" = (,grass)))) #t))))) (inputs `(("exiv2" ,exiv2) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index fcf613423c..d13390c214 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de> @@ -151,6 +151,9 @@ buffers.") (list (string-append "--with-html-dir=" (assoc-ref %outputs "doc") "/share/gtk-doc/html") + ;; Disable automatic network request on startup to check for + ;; version updates. + "--disable-check-update" ;; ./configure requests not to annoy upstream with packaging bugs. "--with-bug-report-url=https://bugs.gnu.org/guix") #:phases @@ -180,7 +183,7 @@ buffers.") ("gexiv2" ,gexiv2) ("gtk+" ,gtk+-2) ("libmypaint" ,libmypaint) - ("mypaint-brushes" ,mypaint-brushes) + ("mypaint-brushes" ,mypaint-brushes-1.3) ("exif" ,libexif) ; optional, EXIF + XMP support ("lcms" ,lcms) ; optional, color management ("librsvg" ,librsvg) ; optional, SVG support @@ -267,7 +270,7 @@ inverse fourier transform.") (define-public libmypaint (package (name "libmypaint") - (version "1.3.0") + (version "1.5.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mypaint/libmypaint/" @@ -275,7 +278,7 @@ inverse fourier transform.") version ".tar.xz")) (sha256 (base32 - "0wd6jk69vmhsq1mdw96v0fh7b28n3glkr5ca466zcq7agzaxj1va")))) + "0aqcv4fyscpfhknxgfpq0v84aj2nzigqvpi4zgv2zkl41h51by5f")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -295,34 +298,42 @@ brushstrokes which is used by MyPaint and GIMP.") (define-public mypaint-brushes (package (name "mypaint-brushes") - (version "1.3.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Jehan/mypaint-brushes.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1iz89z6v2mp8j1lrf942k561s8311i3s34ap36wh4rybb2lq15m0")))) + (version "2.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mypaint/mypaint-brushes.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0kcqz13vzpy24dhmrx9hbs6s7hqb8y305vciznm15h277sabpmw9")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'relax-dependency-version - (lambda _ - (substitute* "autogen.sh" - (("automake-1.13") "automake") - (("aclocal-1.13") "aclocal")) - #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) (synopsis "Default brushes for MyPaint") (description "This package provides the default set of brushes for MyPaint.") - (home-page "https://github.com/Jehan/mypaint-brushes") - (license license:cc0))) + (home-page "https://github.com/mypaint/mypaint-brushes/") + ;; Scripts are distributed under GPL2+ terms, brushes are provided as + ;; public domain or under CC0 terms. + (license (list license:gpl2+ license:cc0 license:public-domain)))) + +(define-public mypaint-brushes-1.3 + (package + (inherit mypaint-brushes) + (name "mypaint-brushes") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mypaint/mypaint-brushes.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1c95l1vfz7sbrdlzrbz7h1p6s1k113kyjfd9wfnxlm0p6562cz3j")))))) (define-public gimp-resynthesizer ;; GIMP does not respect any plugin search path environment variable, so after @@ -334,13 +345,14 @@ MyPaint.") (version "2.0.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/bootchk/resynthesizer/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/bootchk/resynthesizer") + (commit (string-append "v" version)))) (sha256 (base32 - "0l3404w6rqny7h3djskxf149gzx6x4qhndgbh3403c9lbh4pi1kr")) - (file-name (string-append name "-" version ".tar.gz")))) + "1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments `( ;; Turn off tests to avoid: @@ -348,11 +360,11 @@ MyPaint.") #:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'set-env - (lambda _ - (setenv "CONFIG_SHELL" (which "sh")) - #t)) - (add-after 'configure 'set-prefix + (add-after 'unpack 'set-env + (lambda _ + (setenv "CONFIG_SHELL" (which "sh")) + #t)) + (add-after 'configure 'set-prefix ;; Install plugin under $prefix, not under GIMP's libdir. (lambda* (#:key outputs #:allow-other-keys) (let ((target (string-append (assoc-ref outputs "out") @@ -361,8 +373,8 @@ MyPaint.") (package-version gimp)) ".0"))) (substitute* (list "src/resynthesizer/Makefile" - "src/resynthesizer-gui/Makefile") - (("GIMP_LIBDIR = .*") + "src/resynthesizer-gui/Makefile") + (("GIMP_LIBDIR = .*") (string-append "GIMP_LIBDIR = " target "\n"))) (mkdir-p target) #t)))))) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index c98d8c18f5..47410e0d8d 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> @@ -770,7 +770,7 @@ useful for C++.") (define-public perl-glib (package (name "perl-glib") - (version "1.3291") + (version "1.3292") (source (origin (method url-fetch) (uri (string-append @@ -778,7 +778,7 @@ useful for C++.") version ".tar.gz")) (sha256 (base32 - "0whz5f87wvzq8zsva85h06mkfqim2ciq845ixlvmafwxggccv0xr")))) + "1q5075d6v2g5sm675hyzrcpxsrh09z83crfci8b0wl3jwmnz0frg")))) (build-system perl-build-system) (native-inputs `(("perl-extutils-depends" ,perl-extutils-depends) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 24a1dc256c..625248a25a 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -358,7 +359,7 @@ control.") (propagated-inputs `(("glib" ,glib))) (synopsis "Hide app icon from GNOME's panel") - (description "This extension allows to hide the icon and/or title of the + (description "This extension hides the icon and/or title of the currently focused application in the top panel of the GNOME shell.") (home-page "https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/") @@ -467,9 +468,9 @@ scrollable tiling of windows and per monitor workspaces. It's inspired by paper notebooks and tiling window managers.") (license license:gpl3))) -(define-public numix-theme +(define-public numix-gtk-theme (package - (name "numix-theme") + (name "numix-gtk-theme") (version "2.6.7") (source (origin (method git-fetch) @@ -482,11 +483,14 @@ notebooks and tiling window managers.") "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) + '(#:make-flags + (list (string-append "INSTALL_DIR=" + (assoc-ref %outputs "out") + "/share/themes/Numix")) + #:tests? #f #:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'check)))) + (delete 'configure)))) ; no configure script (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-schemas ("gnome-shell" ,gnome-shell) @@ -499,6 +503,9 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.") (home-page "https://numixproject.github.io") (license license:gpl3+))) +(define-public numix-theme + (deprecated-package "numix-theme" numix-gtk-theme)) + (define-public papirus-icon-theme (let ((version "0.0.0") ;; The package does not use semver (revision "0") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f636a0f1f8..d96a5f4643 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -27,7 +27,7 @@ ;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org> -;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot> +;;; Copyright © 2017, 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> @@ -48,6 +48,8 @@ ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 raingloom <raingloom@riseup.net> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -160,9 +162,11 @@ #:use-module (gnu packages spice) #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) + #:use-module (gnu packages swig) #:use-module (gnu packages tex) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages valgrind) #:use-module (gnu packages version-control) #:use-module (gnu packages video) #:use-module (gnu packages virtualization) @@ -248,6 +252,77 @@ Desktop. It is designed to be as simple as possible and has some unique features to enable users to create their discs easily and quickly.") (license license:gpl2+))) +(define-public notification-daemon + (package + (name "notification-daemon") + (version "3.20.0") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("x11" ,libx11))) + (synopsis "Notification Daemon for GNOME Desktop") + (description "Notification-Daemon is the server implementation of the +freedesktop.org desktop notification specification.") + (home-page "https://wiki.gnome.org/Projects/NotificationDaemon") + (license license:gpl2+))) + +(define-public mm-common + (package + (name "mm-common") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "util/mm-common-prepare.in" + (("ln") (string-append (assoc-ref inputs "coreutils") + "/bin/ln")) + (("cp") (string-append (assoc-ref inputs "coreutils") + "/bin/cp")) + (("sed") (string-append (assoc-ref inputs "sed") + "/bin/sed")) + (("cat") (string-append (assoc-ref inputs "coreutils") + "/bin/cat"))) + #t))))) + (native-inputs + `(("coreutils" ,coreutils) + ("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("sed" ,sed))) + (inputs + `(("python" ,python))) + (synopsis "Module of GNOME C++ bindings") + (description "The mm-common module provides the build infrastructure +and utilities shared among the GNOME C++ binding libraries. Release +archives of mm-common include the Doxygen tag file for the GNU C++ +Library reference documentation.") + (home-page "https://gitlab.gnome.org/GNOME/mm-common") + (license license:gpl2+))) + (define-public phodav (package (name "phodav") @@ -333,7 +408,7 @@ in the GNOME desktop.") (define-public gnome-online-miners (package (name "gnome-online-miners") - (version "3.30.0") + (version "3.34.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -341,7 +416,7 @@ in the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c")))) + "1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -535,7 +610,18 @@ extraction, and lookup for applications on the desktop.") (arguments '(#:configure-flags '(;; Enable camera support for user selfie. "-Dcheese=auto" - "-Dsystemd=false"))) + "-Dsystemd=false") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-gkbd-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Allow the "Preview" button in the keyboard layout + ;; selection dialog to display the layout. + (let ((libgnomekbd (assoc-ref inputs "libgnomekbd"))) + (substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c" + (("\"gkbd-keyboard-display") + (string-append "\"" libgnomekbd + "/bin/gkbd-keyboard-display"))) + #t)))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") @@ -564,7 +650,8 @@ extraction, and lookup for applications on the desktop.") ("pwquality" ,libpwquality) ("rest" ,rest) ("upower" ,upower) - ("webkitgtk" ,webkitgtk))) + ("webkitgtk" ,webkitgtk) + ("libgnomekbd" ,libgnomekbd))) (synopsis "Initial setup wizard for GNOME desktop") (description "This package provides a set-up wizard when a user logs into GNOME for the first time. It typically provides a @@ -5064,7 +5151,7 @@ supports image conversion, rotation, and slideshows.") (synopsis "Extensions for the Eye of GNOME image viewer") (native-inputs `(("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext))) + ("gettext" ,gettext-minimal))) (inputs `(("eog" ,eog) ("glib" ,glib) @@ -6080,7 +6167,7 @@ window manager.") (define-public gnome-online-accounts (package (name "gnome-online-accounts") - (version "3.32.1") + (version "3.36.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -6088,7 +6175,7 @@ window manager.") name "-" version ".tar.xz")) (sha256 (base32 - "08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8")))) + "0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw")))) (outputs '("out" "lib")) (build-system glib-or-gtk-build-system) (arguments @@ -6719,7 +6806,8 @@ libxml2.") name "-" version ".tar.xz")) (sha256 (base32 - "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4")))) + "12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4")) + (patches (search-patches "gdm-default-session.patch")))) (build-system glib-or-gtk-build-system) (arguments '(#:configure-flags @@ -7642,7 +7730,7 @@ software that do not provide their own configuration interface.") (let* ((out (assoc-ref %outputs "out")) (apps (string-append out "/share/applications"))) (mkdir-p apps) - (call-with-output-file (string-append apps "/defaults.list") + (call-with-output-file (string-append apps "/gnome-mimeapps.list") (lambda (port) (format port "[Default Applications]\n") (format port "inode/directory=org.gnome.Nautilus.desktop\n") @@ -7714,6 +7802,17 @@ associations for GNOME.") ("gjs" ,gjs) ("gnome-desktop" ,gnome-desktop) ("libgweather" ,libgweather))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'fix-desktop-file + ;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason. + ;; See https://issues.guix.gnu.org/issue/39324. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (applications (string-append out "/share/applications"))) + (substitute* (string-append applications "/org.gnome.Weather.desktop") + (("Exec=.*") "Exec=gnome-weather\n")))))))) (synopsis "Weather monitoring for GNOME desktop") (description "GNOME Weather is a small application that allows you to monitor the current weather conditions for your city, or anywhere in the @@ -8156,10 +8255,6 @@ alternative user interface themes, changes in window management behavior, GNOME Shell appearance and extension, etc.") (license license:gpl3+))) -;; This package has been renamed by upstream. -(define-public gnome-tweak-tool - (deprecated-package "gnome-tweak-tool" gnome-tweaks)) - (define-public gnome-shell-extensions (package (name "gnome-shell-extensions") @@ -8890,10 +8985,15 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a")))) (build-system meson-build-system) (arguments - `(#:imported-modules ((guix build python-build-system) - ,@%meson-build-system-modules) + `(#:imported-modules + (,@%meson-build-system-modules + (guix build python-build-system)) + #:modules + ((guix build meson-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils)) #:glib-or-gtk? #t - #:tests? #f ; no test suite + #:tests? #f ; no test suite #:phases (modify-phases %standard-phases (add-after 'install 'wrap-program @@ -8904,9 +9004,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.") `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) #t)) (add-after 'install 'wrap-python - (@@ (guix build python-build-system) wrap)) - (add-after 'install 'wrap-glib-or-gtk - (@@ (guix build glib-or-gtk-build-system) wrap-all-programs))))) + (assoc-ref python:%standard-phases 'wrap))))) (native-inputs `(("intltool" ,intltool) ("itstool" ,itstool) @@ -9133,7 +9231,7 @@ configurable file renaming. ") (define-public workrave (package (name "workrave") - (version "1.10.37") + (version "1.10.42") (source (origin (method git-fetch) @@ -9144,7 +9242,7 @@ configurable file renaming. ") version))))) (file-name (git-file-name name version)) (sha256 - (base32 "01cxy7606hx9wgxl550l4p2xa9hsy0rk7swsp58hyi842z2z0y13")))) + (base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95")))) (build-system glib-or-gtk-build-system) (arguments ;; The only tests are maintainer tests (in po/), which fail. @@ -9162,7 +9260,7 @@ configurable file renaming. ") ("libxscrnsaver" ,libxscrnsaver))) (native-inputs `(("boost" ,boost) ("pkg-config" ,pkg-config) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("autoconf" ,autoconf) ("autoconf-archive" , autoconf-archive) ("automake" ,automake) @@ -9611,7 +9709,7 @@ repository and commit your work.") (description "Gamin is a file and directory monitoring system defined to be a subset of the FAM (File Alteration Monitor) system. This is a service provided by a -library which allows to detect when a file or a directory has been modified.") +library which detects when a file or a directory has been modified.") (license license:gpl2+))) (define-public gnome-mahjongg @@ -9859,7 +9957,7 @@ join_paths\\('build-aux', 'post_install.py'\\)\\)") `(("appstream-glib" ,appstream-glib) ("cmake-minimal" ,cmake-minimal) ("desktop-file-utils" ,desktop-file-utils) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("itstool" ,itstool) @@ -9888,3 +9986,219 @@ to.") license:public-domain ;; snowball license:bsd-2)))) + +(define-public libratbag + (package + (name "libratbag") + (version "0.13") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libratbag/libratbag.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (list "-Dsystemd=false" + "-Dlogind-provider=elogind") + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (site (string-append + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages")) + (evdev (string-append + (assoc-ref inputs "python-evdev") site)) + (pygo (string-append + (assoc-ref inputs "python-pygobject") site)) + (python-wrap + `("PYTHONPATH" = (,evdev ,pygo)))) + (wrap-program (string-append out "/bin/" "ratbagctl") + python-wrap) + #t)))))) + (native-inputs + `(("check" ,check) + ("pkg-config" ,pkg-config) + ("swig" ,swig) + ("valgrind" ,valgrind))) + (inputs + `(("glib" ,glib) + ("json-glib" ,json-glib) + ("libevdev" ,libevdev) + ("libsystemd" ,elogind) + ("libunistring" ,libunistring) + ("python-evdev" ,python-evdev) + ("python-pygobject" ,python-pygobject) + ("udev" ,eudev))) + (home-page "https://github.com/libratbag/libratbag") + (synopsis "DBus daemon and utility for configuring gaming mice") + (description "libratbag provides @command{ratbagd}, a DBus daemon to +configure input devices, mainly gaming mice. The daemon provides a generic +way to access the various features exposed by these mice and abstracts away +hardware-specific and kernel-specific quirks. There is also the +@command{ratbagctl} command line interface for configuring devices. + +libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat, +Steelseries. + +The ratbagd DBus service can be enabled by adding the following service to +your operating-system definition: + + (simple-service 'ratbagd dbus-root-service-type (list libratbag))") + (license license:expat))) + +(define-public piper + (package + (name "piper") + (version "0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libratbag/piper.git") + (commit version))) + (sha256 + (base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg")))) + (build-system meson-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config) + ("python-flake8" ,python-flake8))) + (inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("gtk" ,gtk+) + ("gtk:bin" ,gtk+ "bin") + ("librsvg" ,librsvg) + ("python-evdev" ,python-evdev) + ("python-lxml" ,python-lxml) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject))) + (arguments + `(#:imported-modules ((guix build python-build-system) + ,@%meson-build-system-modules) + #:modules (((guix build python-build-system) #:prefix python:) + (guix build meson-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'dont-update-gtk-icon-cache + (lambda _ + (substitute* "meson.build" + (("meson.add_install_script('meson_install.sh')") "")) + #t)) + ;; TODO: Switch to wrap-script when it is fixed. + (add-after 'install 'wrap-python + (assoc-ref python:%standard-phases 'wrap)) + (add-after 'wrap-python 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (wrap-program + (string-append (assoc-ref outputs "out" )"/bin/piper") + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t))))) + (home-page "https://github.com/libratbag/piper/") + (synopsis "Configure bindings and LEDs on gaming mice") + (description "Piper is a GTK+ application for configuring gaming mice with +onboard configuration for key bindings via libratbag. Piper requires +a @command{ratbagd} daemon running with root privileges. It can be run +manually as root, but is preferably configured as a DBus service that can +launch on demand. This can be configured by enabling the following service, +provided there is a DBus service present: + + (simple-service 'ratbagd dbus-root-service-type (list libratbag))") + (license license:gpl2))) + +(define-public parlatype + ;; This is one commit away from 2.0, because the latter introduced + ;; a regression in ASR. + (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9") + (revision "0")) + (package + (name "parlatype") + (version (git-version "2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gkarsay/parlatype.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:tests? #f ;require internet access + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-parlatype + ;; Add gstreamer plugin provided in this package to system's + ;; plugins. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (gst-plugin-path (string-append + out "/lib/gstreamer-1.0/" + ":" + (getenv "GST_PLUGIN_SYSTEM_PATH")))) + (wrap-program (string-append out "/bin/parlatype") + `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path)))) + #t))))) + (native-inputs + `(("appstream-glib" ,appstream-glib) + ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate + ("gettext" ,gettext-minimal) + ("glib" ,glib "bin") ;for glib-compile-resources + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gstreamer" ,gstreamer) + ("gtk+" ,gtk+) + ("pocketsphinx" ,pocketsphinx) + ("pulseaudio" ,pulseaudio) + ("sphinxbase" ,sphinxbase))) + (home-page "http://gkarsay.github.io/parlatype/") + (synopsis "GNOME audio player for transcription") + (description "Parlatype is an audio player for the GNOME desktop +environment. Its main purpose is the manual transcription of spoken +audio files.") + (license license:gpl3+)))) + +(define-public jsonrpc-glib + (package + (name "jsonrpc-glib") + (version "3.34.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni")))) + (build-system meson-build-system) + (inputs + `(("json-glib" ,json-glib) + ("glib" ,glib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib:bin" ,glib "bin") ; for glib-genmarshal, etc. + ("gobject-introspection" ,gobject-introspection) + ("vala" ,vala))) + (home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib") + (synopsis "JSON-RPC library for GLib") + (description "Jsonrpc-GLib is a library to communicate with JSON-RPC based +peers in either a synchronous or asynchronous fashion. It also allows +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+))) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 8ad2576bd2..9b030a2b52 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -180,13 +180,13 @@ authentication and support for SSL3 and TLS.") (define-public gnurl (package (name "gnurl") - (version "7.67.0") + (version "7.69.1") (source (origin (method url-fetch) - (uri (string-append "mirror://gnu/gnunet/" name "-" version ".tar.Z")) + (uri (string-append "mirror://gnu/gnunet/gnurl-" version ".tar.gz")) (sha256 (base32 - "0ssjz2npr2zjvcpfz9qbaj92xc9ayg8wx4hyl132snl94qr2v670")))) + "0x8m26y3klndis6a28j8i0b7ab04d38q3rmlvgaqa65bjhlfdrp0")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 1.8 MiB of man3 pages diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 856c01a6d8..04bb705712 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2016 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> -;;; Copyright © 2017 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> @@ -252,6 +252,7 @@ compatible to GNU Pth.") (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version ".tar.bz2")) + (patches (search-patches "gnupg-default-pinentry.patch")) (sha256 (base32 "0c6a4v9p6qzhsw1pfcwc459bxpc8hma0w9z8iqb9khvligack9q4")))) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index c69a4e7e03..06d855ee3e 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -554,8 +554,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "68.6.0-guix0-preview1") -(define %icecat-build-id "20200309000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "68.7.0-guix0-preview1") +(define %icecat-build-id "20200406000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -577,11 +577,11 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "17qwfq9hwra8jarawy8k2sqfa6hdhwa9qk84ndr6gjvmxcy22a14")))) + "0w3mad0r4khcd7hfmm3xix9x6mp5yp8g8kyh18vanfnjqdls0gmd")))) - (upstream-icecat-base-version "68.6.0") ; maybe older than base-version + (upstream-icecat-base-version "68.7.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "9dcb24d885eae5973eb2245b532b158c685d707a") + (gnuzilla-commit "d185c5a67506311e19440fd4b824a822ce840369") (gnuzilla-source (origin (method git-fetch) @@ -593,7 +593,7 @@ from forcing GEXP-PROMISE." (string-take gnuzilla-commit 8))) (sha256 (base32 - "1y3jmh055vmx44gsjgwxvwv3zcyvz8pc5mhgrwkzm0ybbwpp2pqi")))) + "09skws692qv5kbhj8bvy3prj7v0iyfz68xjck4vbfxkahldfppqx")))) (makeicecat-patch (local-file (search-patch "icecat-makeicecat.patch")))) @@ -750,7 +750,7 @@ from forcing GEXP-PROMISE." ("libxt" ,libxt) ("libffi" ,libffi) ("ffmpeg" ,ffmpeg) - ("libvpx" ,libvpx-1.7) + ("libvpx" ,libvpx) ("icu4c" ,icu4c) ("pixman" ,pixman) ("pulseaudio" ,pulseaudio) @@ -1142,11 +1142,6 @@ standards of the IceCat project.") (cpe-name . "firefox_esr") (cpe-version . ,(first (string-split version #\-))))))) -(define-public conkeror - ;; The Conkeror web browser relied on XULRunner, which IceCat > 50 no longer - ;; provides. See <http://conkeror.org> for the original web page. - (deprecated-package "conkeror" icecat)) - (define-public firefox-decrypt (package (name "firefox-decrypt") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index a7470eaa72..69f46df743 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -221,7 +221,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.13.8") + (version "1.13.9") (source (origin (method url-fetch) @@ -229,7 +229,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "0d7cxffk72568h46srzswrxd0bsdip7amgkf499wzn6l6d3g0fxi")))) + "07gksk9194wa90xyd6yhagxfv7syvsx29bh8ypc4mg700vc1kfrl")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) @@ -2186,6 +2186,34 @@ Reference algorithm has been slightly hacked as to support the streaming mode required by Go's standard Hash interface.") (license license:bsd-3))) +(define-public go-github-com-calmh-murmur3 + (let ((commit "74e9af8f47ac56901c490d45546ca167b60c7066") + (revision "0")) + (package + (name "go-github-com-calmh-murmur3") + (version (git-version "1.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/calmh/murmur3.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k8345ivx228qdbkl8bisd2wxwsinkb44ghba6r09538fr3fbr5w")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/calmh/murmur3")) + (home-page "https://github.com/calmh/murmur3") + (synopsis "Native MurmurHash3 Go implementation") + (description "Native Go implementation of Austin Appleby's third +MurmurHash revision (aka MurmurHash3). + +Reference algorithm has been slightly hacked as to support the streaming mode +required by Go's standard Hash interface.") + (license license:bsd-3)))) + (define-public go-github-com-multiformats-go-multihash (let ((commit "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6") (revision "0")) @@ -3253,7 +3281,7 @@ are semantically equal in Go (for writing tests).") (synopsis "Synchronization, error propagation, and Context cancellation for groups of goroutines working on subtasks of a common task.") (description "This package provides synchronization, error propagation, -and Context cancelation for groups of goroutines working on subtasks of a +and Context cancellation for groups of goroutines working on subtasks of a common task.") (home-page "https://godoc.org/golang.org/x/sync/errgroup") (license license:bsd-3)))) @@ -3463,9 +3491,19 @@ efficient space usage.") "0ygan8pgcay7wx3cs3ja8rdqj7nly7v3and97ddcc66020jxchzg")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/willf/bloom")) + '(#:import-path "github.com/willf/bloom" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-import-path + (lambda _ + ;; See 'go.mod' in the source distribution of Syncthing 1.4.1 for + ;; more information. + ;; <https://github.com/spaolacci/murmur3/issues/29> + (substitute* "src/github.com/willf/bloom/bloom.go" + (("spaolacci") "calmh")) + #t))))) (propagated-inputs - `(("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + `(("go-github-com-calmh-murmur3" ,go-github-com-calmh-murmur3) ("go-github-com-willf-bitset" ,go-github-com-willf-bitset))) (synopsis "Bloom filters in Go") (description "This package provides a Go implementation of bloom filters, diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 8bf69c6551..6963da9dff 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,7 @@ (define-public gpodder (package (name "gpodder") - (version "3.10.13") + (version "3.10.15") (source (origin (method git-fetch) @@ -46,11 +47,13 @@ (commit version))) (sha256 (base32 - "1h542syaxsx1hslfzlk3fx1nbp190zjw35kigw7a1kx1jwvfwapg")) + "0ghbanj142n0hgydzfjmnkdgri2kswsjal3mn10c723kih4ir4yr")) (file-name (git-file-name name version)))) (build-system python-build-system) (native-inputs - `(("intltool" ,intltool))) + `(("intltool" ,intltool) + ("python-coverage" ,python-coverage) + ("python-minimock" ,python-minimock))) (inputs `(("gtk+" ,gtk+) ("python-pygobject" ,python-pygobject) @@ -71,6 +74,12 @@ (substitute* "src/gpodder/util.py" (("xdg-open") (string-append xdg-utils "/bin/xdg-open"))) #t))) + (replace 'check + (lambda _ + ; The `unittest' target overrides the PYTHONPATH variable. + (substitute* "makefile" + (("PYTHONPATH=src/") "PYTHONPATH=${PYTHONPATH}:src/")) + (invoke "make" "unittest"))) ;; 'msgmerge' introduces non-determinism by resetting the ;; POT-Creation-Date in .po files. (add-before 'install 'do-not-run-msgmerge @@ -167,16 +176,21 @@ downloading episode status changes.") (define-public python-podcastparser (package (name "python-podcastparser") - (version "0.6.4") + (version "0.6.5") (source (origin (method url-fetch) (uri (pypi-uri "podcastparser" version)) (sha256 - (base32 - "1ksj1gcmbnm5i43xhpqxbs2mqi6xzawwwkwbh9h6lwa1wxxvv247")))) + (base32 "0k62ppg20i41gcc5x8ddjn7zbpy47hqpxzrq9257g2c71m4qw07b")))) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "nosetests")))))) (build-system python-build-system) (home-page "http://gpodder.org/podcastparser") (synopsis "Simplified and fast RSS parser Python library") diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index cd2e09e966..bb3ec345ba 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -1,9 +1,10 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@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 © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,10 +87,10 @@ (inputs `(("expat" ,expat) ("zlib" ,zlib) - ("qtbase" ,qtbase) - ("qttools" ,qttools))) + ("qtbase" ,qtbase))) (native-inputs `(("which" ,which) + ("qttools" ,qttools) ("libxml2" ,libxml2))) ;'xmllint' needed for the KML tests (home-page "https://www.gpsbabel.org/") (synopsis "Convert and exchange data with GPS and map programs") @@ -153,7 +154,7 @@ between two other data points.") (define-public gama (package (name "gama") - (version "2.07") + (version "2.08") (source (origin (method url-fetch) @@ -161,7 +162,7 @@ between two other data points.") version ".tar.gz")) (sha256 (base32 - "0nmc6mkd55nryfffq5k9c09dhkbq6bfs06af8ammhbh5jzdn3s36")))) + "0fic6a3a83hgj3gj85bin3wd6ghgi2qg76d6jfwckamab0hlv7wx")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f)) ; race condition (native-inputs @@ -220,14 +221,14 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.") (define-public gpsd (package (name "gpsd") - (version "3.19") + (version "3.20") (source (origin (method url-fetch) (uri (string-append "https://download-mirror.savannah.gnu.org" "/releases/gpsd/gpsd-" version ".tar.gz")) (sha256 - (base32 "0faz2mvk82hi7ispxxih07lhpyz5dazs4gcknym9piiabga29p97")))) + (base32 "0l2yz0yw9sil82lh2l4swkkldgmhzhv588n5lcavib4f0q2phahp")))) (build-system scons-build-system) (native-inputs `(("bc" ,bc) @@ -235,6 +236,7 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.") (inputs `(("bluez" ,bluez) ("dbus" ,dbus) + ("gtk+" ,gtk+) ("libcap" ,libcap) ("libusb" ,libusb) ("ncurses" ,ncurses) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index aa6ea16ab3..436c18449d 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2020 Alexander Krotov <krotov@iitp.ru> @@ -56,15 +56,14 @@ (define-public igraph (package (name "igraph") - (version "0.8.0") + (version "0.8.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/igraph/igraph/releases/" "download/" version "/igraph-" version ".tar.gz")) (sha256 - (base32 - "0jcnfvahrlj08y46vnax5y5bb294v4b9n00qsy7pbx0cc0sp6qvj")))) + (base32 "0wbvrac3ip3lqmbkckhnxa2swlbc86l1h8mazdlb618kx3winvi6")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 1ba17c5fa3..dd5041784c 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -19,6 +19,8 @@ ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,6 +88,61 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public fox + (package + (name "fox") + (version "1.6.57") + (source + (origin + (method url-fetch) + (uri + (string-append "https://fox-toolkit.org/ftp/fox-" version ".tar.gz")) + (sha256 + (base32 "08w98m6wjadraw1pi13igzagly4b2nfa57kdqdnkjfhgkvg1bvv5")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "configure" + (("-I/usr/include/freetype2") + (string-append "-I" + (string-append + (assoc-ref %build-inputs "freetype") + "/include/freetype2")))) + #t))))) + (native-inputs + `(("doxygen" ,doxygen))) + (inputs + `(("bzip2" ,lbzip2) + ("freetype" ,freetype) + ("gl" ,mesa) + ("glu" ,glu) + ("jpeg" ,libjpeg) + ("png" ,libpng) + ("tiff" ,libtiff) + ("x11" ,libx11) + ("xcursor" ,libxcursor) + ("xext" ,libxext) + ("xfixes" ,libxfixes) + ("xft" ,libxft) + ("xinput" ,libxi) + ("xrandr" ,libxrandr) + ("xrender" ,libxrender) + ("xshm" ,libxshmfence) + ("zlib" ,zlib))) + (synopsis "Widget Toolkit for building GUI") + (description"FOX (Free Objects for X) is a C++ based Toolkit for developing +Graphical User Interfaces easily and effectively. It offers a wide, and +growing, collection of Controls, and provides state of the art facilities such +as drag and drop, selection, as well as OpenGL widgets for 3D graphical +manipulation. FOX also implements icons, images, and user-convenience features +such as status line help, and tooltips. Tooltips may even be used for 3D +objects!") + (home-page "http://www.fox-toolkit.org") + (license license:lgpl2.1+))) + (define-public blender (package (name "blender") @@ -274,50 +331,55 @@ exception-handling library.") (define-public ogre (package (name "ogre") - (version "1.10.11") + (version "1.12.5") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/OGRECave/ogre.git") - (commit (string-append "v" version)))) + (url "https://github.com/OGRECave/ogre.git") + (commit (string-append "v" version)) + (recursive? #t))) ;for Dear ImGui submodule (file-name (git-file-name name version)) (sha256 - (base32 - "072rzw9mxymbiypgkrbkk9h10rgly6gczik4dlmssk6xkpqckaqr")))) + (base32 "1sx0jsw4kmb4ycf62bgx3ygwv8k1cgjx52y47d7dk07z6gk6wpyj")))) (build-system cmake-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "Tests/CMakeLists.txt" - (("URL(.*)$") - (string-append "URL " (assoc-ref inputs "googletest-source")))) + ;; CMakeLists.txt forces CMAKE_INSTALL_RPATH value. As + ;; a consequence, we cannot suggest ours in configure flags. Fix + ;; it. + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("set\\(CMAKE_INSTALL_RPATH .*") "")) #t))) #:configure-flags - (list "-DOGRE_BUILD_TESTS=TRUE" - (string-append "-DCMAKE_INSTALL_RPATH=" - (assoc-ref %outputs "out") "/lib:" - (assoc-ref %outputs "out") "/lib/OGRE:" - (assoc-ref %build-inputs "googletest") "/lib") - "-DOGRE_INSTALL_DOCS=TRUE" - "-DOGRE_INSTALL_SAMPLES=TRUE" - "-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE"))) + (let* ((out (assoc-ref %outputs "out")) + (runpath + (string-join (list (string-append out "/lib") + (string-append out "/lib/OGRE")) + ";"))) + (list (string-append "-DCMAKE_INSTALL_RPATH=" runpath) + "-DOGRE_BUILD_DEPENDENCIES=OFF" + "-DOGRE_BUILD_TESTS=TRUE" + "-DOGRE_INSTALL_DOCS=TRUE" + "-DOGRE_INSTALL_SAMPLES=TRUE" + "-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE")))) (native-inputs `(("boost" ,boost) ("doxygen" ,doxygen) - ("googletest-source" ,(package-source googletest)) + ("googletest" ,googletest-1.8) ("pkg-config" ,pkg-config))) (inputs `(("font-dejavu" ,font-dejavu) ("freeimage" ,freeimage) ("freetype" ,freetype) ("glu" ,glu) - ("googletest" ,googletest) - ("sdl2" ,sdl2) ("libxaw" ,libxaw) ("libxrandr" ,libxrandr) + ("pugixml" ,pugixml) + ("sdl2" ,sdl2) ("tinyxml" ,tinyxml) ("zziplib" ,zziplib))) (synopsis "Scene-oriented, flexible 3D engine written in C++") diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index df9fc05294..bea4850d15 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Coypright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Patrick Hetu <patrick.hetu@auf.org> @@ -23,6 +23,7 @@ ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot> +;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1710,29 +1711,23 @@ Parcellite and adds bugfixes and features.") (define-public graphene (package (name "graphene") - (version "1.6.0") + (version "1.10.0") (source (origin (method url-fetch) - (uri (string-append - "https://github.com/ebassi/graphene/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (uri (string-append "https://github.com/ebassi/graphene/releases/" + "download/" version + "/graphene-" version ".tar.xz")) (sha256 - (base32 "1zd2daj7y590wnzn4jw0niyc4fnzgxrcl9i7nwhy8b25ks2hz5wq")))) - (build-system gnu-build-system) + (base32 "16b4hz73bnrgv5v8n96dczkd6xp9qc06lrl43zln3jnl3psrfva0")))) + (build-system meson-build-system) (arguments - `(#:configure-flags '("--enable-introspection=yes"))) + `(#:configure-flags '("-Dinstalled_tests=false"))) (native-inputs - `(("autoconf" ,autoconf) - ("which" ,which) - ("pkg-config" ,pkg-config) - ("automake" ,automake) - ("libtool" ,libtool))) + `(("gobject-introspection" ,gobject-introspection) + ("pkg-config" ,pkg-config))) (inputs `(("python" ,python) - ("python-2" ,python-2) - ("glib" ,glib) - ("gobject-introspection" ,gobject-introspection))) + ("glib" ,glib))) (home-page "https://ebassi.github.io/graphene/") (synopsis "Thin layer of graphic data types") (description "This library provides graphic types and their relative API; @@ -1920,3 +1915,49 @@ anchor windows to a corner or edge of the output, or stretch them across the entire output. It supports all Layer Shell features including popups and popovers.") (license license:expat))) + +(define-public goocanvas + (package + (name "goocanvas") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/goocanvas/" + (version-major+minor version) + "/goocanvas-" version ".tar.xz")) + (sha256 + (base32 "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67")))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib-bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (inputs + `(("cairo" ,cairo) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("python-pygobject" ,python-pygobject))) + (arguments + `(#:configure-flags '("--disable-rebuilds" + "--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-install-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "configure" + (("\\(gi._overridesdir\\)") + (string-append "((gi._overridesdir).replace(\\\"" + (assoc-ref inputs "python-pygobject") + "\\\", \\\"" + (assoc-ref outputs "out") + "\\\"))"))) + #t))))) + (synopsis "Canvas widget for GTK+") + (description "GooCanvas is a canvas widget for GTK+ that uses the cairo 2D +library for drawing.") + (home-page "https://wiki.gnome.org/GooCanvas") + (license license:lgpl2.0))) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 09427da487..6ec1c4c2fc 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -5,14 +5,14 @@ ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> -;;; Copyright © 2016, 2019 Eraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2019, 2020 Eraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2016 Amirouche <amirouche@hypermove.net> ;;; Copyright © 2016, 2019 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 David Thompson <davet@gnu.org> -;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -24,6 +24,7 @@ ;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net> +;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -416,6 +417,7 @@ and then run @command{scm example.scm}.") library for GNU Guile based on the actor model. Note that 8sync is only available for Guile 2.2.") + (properties '((upstream-name . "8sync"))) (license license:lgpl3+))) (define-public guile-daemon @@ -1041,7 +1043,7 @@ format.") (define-public guile-newt (package (name "guile-newt") - (version "0.0.1") + (version "0.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -1050,20 +1052,7 @@ format.") (file-name (git-file-name name version)) (sha256 (base32 - "1w7qy4dw1f4bx622l6hw8mv49sf1ha8kch8j4nganyk8fj0wn695")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*") - "GUILE_PKG([3.0 2.2 2.0])\n")) - - ;; Remove "guile.m4" since it contains an obsolete version - ;; of 'GUILE_PKG' that doesn't work with development - ;; versions such as 2.9. - (delete-file "m4/guile.m4") - #t)))) + "1gksd1lzgjjh1p9vczghg8jw995d22hm34kbsiv8rcryirv2xy09")))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1122,7 +1111,7 @@ microblogging service.") (define-public guile-parted (package (name "guile-parted") - (version "0.0.2") + (version "0.0.4") (source (origin (method git-fetch) (uri (git-reference @@ -1131,20 +1120,8 @@ microblogging service.") (file-name (git-file-name name version)) (sha256 (base32 - "01qmv6xnbbq3wih0dl9bscvca2d7zx7bjiqf35y6dkaqsp8nvdxf")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Allow builds with Guile 3.0. - (substitute* "configure.ac" - (("^GUILE_PKG.*") - "GUILE_PKG([3.0 2.2 2.0])\n")) - - ;; Remove "guile.m4" since it contains an obsolete version - ;; of 'GUILE_PKG' that doesn't work with development - ;; versions such as 2.9. - (delete-file "m4/guile.m4") - #t)))) + "0b7h8psfm9gmmwb65pp5zwzglvwnfmw5j40g09hhf3f7kwxc0mv2")) + (modules '((guix build utils))))) (build-system gnu-build-system) (arguments '(#:make-flags @@ -1662,6 +1639,84 @@ capabilities.") (home-page "https://dthompson.us/projects/sly.html") (license license:gpl3+))) +(define-public g-golf + (let ((commit "4a4edf25e4877df9182c77843bdd98ab59e13ef7")) + (package + (name "g-golf") + (version (git-version "1" "683" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/g-golf.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09p0gf71wbmlm9kri693a8fvr9hl3hhlmlidyadwjdh7853xg0h8")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo) + ("gettext" ,gettext-minimal) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,guile-2.2) + ("guile-lib" ,guile-lib) + ("clutter" ,clutter) + ("gtk" ,gtk+) + ("glib" ,glib))) + (propagated-inputs + `(("gobject-introspection" ,gobject-introspection))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'tests-work-arounds + (lambda* (#:key inputs #:allow-other-keys) + ;; In build environment, There is no /dev/tty + (substitute* + "test-suite/tests/gobject.scm" + (("/dev/tty") "/dev/null")))) + (add-before 'configure 'substitute-libs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((get (lambda (key lib) + (string-append (assoc-ref inputs key) "/lib/" lib))) + (libgi (get "gobject-introspection" "libgirepository-1.0")) + (libglib (get "glib" "libglib-2.0")) + (libgobject (get "glib" "libgobject-2.0")) + (libgdk (get "gtk" "libgdk-3"))) + (substitute* "configure" + (("SITEDIR=\"\\$datadir/g-golf\"") + "SITEDIR=\"$datadir/guile/site/$GUILE_EFFECTIVE_VERSION\"") + (("SITECCACHEDIR=\"\\$libdir/g-golf/") + "SITECCACHEDIR=\"$libdir/")) + (substitute* "g-golf/init.scm" + (("libgirepository-1.0") libgi) + (("libglib-2.0") libglib) + (("libgdk-3") libgdk) + (("libgobject-2.0") libgobject) + (("\\(dynamic-link \"libg-golf\"\\)") + (format #f "~s" + `(dynamic-link + (format #f "~alibg-golf" + (if (getenv "GUILE_GGOLF_UNINSTALLED") + "" + ,(format #f "~a/lib/" + (assoc-ref outputs "out")))))))) + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "GUILE_GGOLF_UNINSTALLED" "1") + #t)))))) + (home-page "https://www.gnu.org/software/g-golf/") + (synopsis "Guile bindings for GObject Introspection") + (description + "G-Golf (Gnome: (Guile Object Library for)) is a library for developing +modern applications in Guile Scheme. It comprises a direct binding to the +GObject Introspection API and higher-level functionality for importing Gnome +libraries and making GObject classes (and methods) available in Guile's +object-oriented programming system, GOOPS.") + (license license:lgpl3+)))) + (define-public g-wrap (package (name "g-wrap") @@ -2141,22 +2196,17 @@ is no support for parsing block and inline level HTML.") (define-public mcron (package (name "mcron") - (version "1.1.3") + (version "1.1.4") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mcron/mcron-" version ".tar.gz")) (sha256 (base32 - "00kv7fgllzjpis0g1m9csycp4f6l11774m09dqy255cvmim2g743")))) + "1521w3h33bhdlg6qc66sq4dwv3qsx8r8x6srq4ca6kaahy6dszw8")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-finding-guile - (lambda _ - (substitute* "configure" - (("2\\.0") "3.0 2.2 2.0")) - #t)) (add-before 'check 'adjust-tests (lambda _ (substitute* "tests/job-specifier.scm" @@ -2191,10 +2241,6 @@ format is also supported.") (name "guile3.0-mcron") (inputs `(("guile" ,guile-3.0))))) -(define-public mcron2 - ;; This was mthl's mcron development branch, and it became mcron 1.1. - (deprecated-package "mcron2" mcron)) - (define-public guile-picture-language (let ((commit "91d10c96708d732145006dd2802acc4de08b632e") (revision "1")) @@ -2542,7 +2588,7 @@ list of components. This module takes care of that for you.") (setenv "DISPLAY" ":1") #t))))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for glib-compile-resources ("libtool" ,libtool) ("pkg-config" ,pkg-config) @@ -2619,7 +2665,7 @@ more expressive and flexible than the traditional @code{format} procedure.") ("automake" ,automake) ("bzip2" ,bzip2) ("guile" ,guile-2.2) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("perl" ,perl) ("pkg-config" ,pkg-config) @@ -2683,11 +2729,11 @@ in C using Gtk+-3 and WebKitGtk.") (license license:gpl3+))) (define-public emacsy-minimal - (let ((commit "f3bf0dbd803d7805b6ae8303253507ad13922293")) + (let ((commit "d459ca1d3d09e7624e662bc4cfc3596850796fc6")) (package (inherit emacsy) (name "emacsy-minimal") - (version (git-version "v0.4.1" "19" commit)) + (version (git-version "v0.4.1" "28" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -2696,7 +2742,7 @@ in C using Gtk+-3 and WebKitGtk.") (file-name (git-file-name name version)) (sha256 (base32 - "0ivy28km1p7nlrf63xx3hvrpxf5ld5amk1wcan3k7sqv1kq9mqdb")))) + "1ps15w8cxj9kc18gmvys9jv9xa1qqa7m43ismv34l3cmhddrn0sr")))) (build-system gnu-build-system) (inputs `(("guile" ,guile-2.2) @@ -3135,42 +3181,40 @@ over, or update a value in arbitrary data structures.") (license license:gpl3+)))) (define-public guile-xapian - (let ((commit "ede26b808188eb4d14c6b4181c933dfc09c0a22e") - (revision "0")) - (package - (name "guile-xapian") - (version (git-version "0" revision commit)) - (home-page "https://git.systemreboot.net/guile-xapian") - (source - (origin - (method git-fetch) - (uri (git-reference (url home-page) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07a9fmqi3pm6mbbpzi01mjwrqwnljs2rnc3603sq49dz4lf663gb")))) - (build-system gnu-build-system) - (arguments - '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings - (inputs - `(("guile" ,guile-2.2) - ("xapian" ,xapian) - ("zlib" ,zlib))) - (native-inputs - `(("autoconf" ,autoconf) - ("autoconf-archive" ,autoconf-archive) - ("automake" ,automake) - ("libtool" ,libtool) - ("pkg-config" ,pkg-config) - ("swig" ,swig))) - (synopsis "Guile bindings for Xapian") - (description "@code{guile-xapian} provides Guile bindings for Xapian, a + (package + (name "guile-xapian") + (version "0.1.0") + (home-page "https://git.systemreboot.net/guile-xapian") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16k61f1jn3g48jaf3730b9l0izr5j933jzyri73nmcnjd09gm35i")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings + (inputs + `(("guile" ,guile-2.2) + ("xapian" ,xapian) + ("zlib" ,zlib))) + (native-inputs + `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("swig" ,swig))) + (synopsis "Guile bindings for Xapian") + (description "@code{guile-xapian} provides Guile bindings for Xapian, a search engine library. Xapian is a highly adaptable toolkit which allows developers to easily add advanced indexing and search facilities to their own applications. It has built-in support for several families of weighting models and also supports a rich set of boolean query operators.") - (license license:gpl2+)))) + (license license:gpl2+))) (define-public guile3.0-xapian (package @@ -3241,3 +3285,48 @@ according to Bitorrent BEP003.") Relay Chat} (IRC).") ;; Some file headers incorrectly say LGPLv2+. (license license:lgpl2.1+)))) + +(define-public guile3.0-websocket + (let ((commit "c854e0f84a40d972cbd532bbb89c97ca0126a7cf")) + (package + (name "guile3.0-websocket") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://dthompson.us/guile-websocket.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hymvsfrmq9qxr5cxnsgdz7y757yp1cpsgxmdp3f5wxxxpqgsmzx")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + '("GUILE_AUTO_COMPILE=0") + #:phases + (modify-phases %standard-phases + ;; The package was developed for Guile 2.0 and has this version + ;; hardcoded in the configure.ac and Makefile.am files. Substitute + ;; 3.0 instead so it can support Guile 3.0. + (add-after 'unpack 'update-guile-version + (lambda _ + (substitute* "configure.ac" + (("2.0.9") "3.0.0")) + (substitute* "Makefile.am" + (("2.0") "3.0") + + ;; Install .go files where they belong. + (("/ccache") "/site-ccache")) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (inputs + `(("guile" ,guile-next))) + (synopsis "Websocket server/client for Guile") + (description "Guile-websocket provides an implementation of the +WebSocket protocol as defined by RFC 6455.") + (home-page "https://git.dthompson.us/guile-websocket.git") + (license license:lgpl3+)))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 9c707d4cde..56dda89899 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com> @@ -393,40 +393,50 @@ GNU@tie{}Guile. Use the @code{(ice-9 readline)} module and call its (guile-variant-package-name "guile3.0"))) (define-public guile-for-guile-emacs - (package (inherit guile-2.2) - (name "guile-for-guile-emacs") - (version "20150510.d8d9a8d") - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://git.hcoop.net/git/bpt/guile.git") - (commit "d8d9a8da05ec876acba81a559798eb5eeceb5a17"))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "00sprsshy16y8pxjy126hr2adqcvvzzz96hjyjwgg8swva1qh6b0")))) - (arguments - `(;; Tests aren't passing for now. - ;; Obviously we should re-enable this! - #:tests? #f - ,@(package-arguments guile-2.2))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("flex" ,flex) - ("texinfo" ,texinfo) - ("gettext" ,gettext-minimal) - ,@(package-native-inputs guile-2.2))) - ;; Same as in guile-2.0 - (native-search-paths - (list (search-path-specification - (variable "GUILE_LOAD_PATH") - (files '("share/guile/site/2.0"))) - (search-path-specification - (variable "GUILE_LOAD_COMPILED_PATH") - (files '("lib/guile/2.0/site-ccache" - "share/guile/site/2.0"))))))) + (let ((commit "15ca78482ac0dd2e3eb36dcb31765d8652d7106d") + (revision "1")) + (package (inherit guile-2.2) + (name "guile-for-guile-emacs") + (version (git-version "2.1.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.savannah.gnu.org/guile.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l7ik4q4zk7vq4m3gnwizc0b64b1mdr31hxqlzxs94xaf2lvi7s2")))) + (arguments + (substitute-keyword-arguments (package-arguments guile-2.2) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (replace 'bootstrap + (lambda _ + ;; Disable broken tests. + ;; TODO: Fix them! + (substitute* "test-suite/tests/gc.test" + (("\\(pass-if \"after-gc-hook gets called\"" m) + (string-append "#;" m))) + (substitute* "test-suite/tests/version.test" + (("\\(pass-if \"version reporting works\"" m) + (string-append "#;" m))) + ;; Warning: Unwind-only `out-of-memory' exception; skipping pre-unwind handler. + ;; FAIL: test-out-of-memory + (substitute* "test-suite/standalone/Makefile.am" + (("(check_SCRIPTS|TESTS) \\+= test-out-of-memory") "")) + + (patch-shebang "build-aux/git-version-gen") + (invoke "sh" "autogen.sh") + #t)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("flex" ,flex) + ("texinfo" ,texinfo) + ("gettext" ,gettext-minimal) + ,@(package-native-inputs guile-2.2)))))) ;;; @@ -478,14 +488,14 @@ specification. These are the main features: (package (inherit guile-json-1) (name "guile-json") - (version "3.2.0") + (version "3.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-json/guile-json-" version ".tar.gz")) (sha256 (base32 - "14m6b6g2maw0mkvfm4x63rqb54vgbpn1gcqs715ijw4bikfzlqfz")))))) + "0nj0684qgh6ppkbdyxqfyjwsv2qbyairxpi8fzrhsi3xnc7jn4im")))))) (define-public guile3.0-json (package-for-guile-3.0 guile-json-3)) diff --git a/gnu/packages/ham-radio.scm b/gnu/packages/ham-radio.scm deleted file mode 100644 index 376191af54..0000000000 --- a/gnu/packages/ham-radio.scm +++ /dev/null @@ -1,178 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com> -;;; -;;; 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 ham-radio) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (gnu packages autotools) - #:use-module (gnu packages base) - #:use-module (gnu packages gtk) - #:use-module (gnu packages image) - #:use-module (gnu packages libusb) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages pulseaudio) - #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages sdr) - #:use-module (gnu packages xml) - #:use-module (guix build-system cmake) - #:use-module (guix build-system gnu) - #:use-module (guix build-system python)) - -(define-public rtl-sdr - (package - (name "rtl-sdr") - (version "0.6.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "git://git.osmocom.org/rtl-sdr.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k")))) - (build-system cmake-build-system) - (inputs - `(("libusb" ,libusb))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (arguments - `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON") - #:tests? #f)) ; No tests - (home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr") - (synopsis "Software defined radio driver for Realtek RTL2832U") - (description "DVB-T dongles based on the Realtek RTL2832U can be used as a -cheap software defined radio, since the chip allows transferring the raw I/Q -samples to the host. @code{rtl-sdr} provides drivers for this purpose.") - (license license:gpl2+))) - -(define-public chirp - (package - (name "chirp") - (version "20181205") - (source - (origin - (method url-fetch) - (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" - version "/chirp-daily-" version ".tar.gz")) - (sha256 - (base32 - "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c")))) - (build-system python-build-system) - (inputs - `(("python2-libxml2" ,python2-libxml2) - ("python2-pygtk" ,python2-pygtk) - ("python2-pyserial" ,python2-pyserial))) - (arguments - `(#:python ,python-2)) - (home-page "https://chirp.danplanet.com") - (synopsis "Cross-radio programming tool") - (description "Chirp is a cross-radio programming tool. It supports a -growing list of radios across several manufacturers and allows transferring of -memory contents between them.") - (license (list license:gpl3+ - license:lgpl3+)))) ; chirp/elib_intl.py - -(define-public aptdec - (package - (name "aptdec") - (version "1.7") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/csete/aptdec") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1hf0zb51qc6fyhdjxyij1n3vgwnw3cwksc3r11szbhkml14qjnzk")))) - (build-system gnu-build-system) - (inputs - `(("libpng" ,libpng) - ("libsndfile" ,libsndfile))) - (arguments - `(#:make-flags (list "CC=gcc") - #:tests? #f ; no tests - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "atpdec" (string-append out "/bin"))) - #t))))) - (home-page "https://github.com/csete/aptdec") - (synopsis "NOAA Automatic Picture Transmission (APT) decoder") - (description "Aptdec decodes Automatic Picture Transmission (APT) images. -These are medium resolution images of the Earth transmitted by, among other -satellites, the POES NOAA weather satellite series. These transmissions are -on a frequency of 137 MHz. They can be received using an inexpensive antenna -and a dedicated receiver.") - (license license:gpl2+))) - -(define-public redsea - (package - (name "redsea") - (version "0.18") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/windytan/redsea") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1y96g0ra2krjb2kypm8s5gdfia45yci4f36klsvyzg8d53v5cwhn")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; The configure.ac file does not explicitly link against libiconv - ;; except on Mac OS, causing the build to fail. This phase comments - ;; out the original AC_SUBST macro (located inside a conditional) and - ;; adds an explicit use of it underneath, so that libiconv is always - ;; linked against. - (add-after 'unpack 'patch-libiconv - (lambda _ - (substitute* "configure.ac" - (("^ +AC_SUBST") - "# AC_SUBST") - (("esac") - "esac\nAC_SUBST([ICONV], [\"-liconv\"])")) - #t))))) - (inputs - `(("libiconv" ,libiconv) - ("libsndfile" ,libsndfile) - ("liquid-dsp" ,liquid-dsp))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake))) - (home-page "https://github.com/windytan/redsea") - (synopsis "Lightweight RDS to JSON decoder") - (description "redsea is a lightweight command-line @dfn{FM Radio Data -System} (FM-RDS) decoder. Redsea can be used with any RTL-SDR USB radio stick -with the rtl_fm tool, or any other @dfn{software-defined radio} (SDR) via -csdr, for example. It can also decode raw ASCII bitstream, the hex format -used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") - (license license:expat))) diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 4c9c45bc48..7ee657a75a 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,6 +18,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages hardware) + #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) @@ -276,3 +278,32 @@ supported by the Linux kernel.") ;; Source file headers still say GPL2+, but the authorial intent ;; (from COPYING and the F9 'about' screen) is clearly GPL3+. (license license:gpl3+))) + +(define-public rkdeveloptool + (let ((commit "6e92ebcf8b1812da02663494a68972f956e490d3") + (revision "0")) + (package + (name "rkdeveloptool") + (version (git-version "1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rockchip-linux/rkdeveloptool.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zwrkqfxd671iy69v3q0844gfdpm1yk51i9qh2rqc969bd8glxga")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("libusb" ,libusb))) + (home-page "https://github.com/rockchip-linux/rkdeveloptool") + (synopsis "Read from and write to RockChicp devices over USB") + (description + "Rkdeveloptool can read from and write to RockChip devices over USB, such +as the Pinebook Pro.") + (license license:gpl2+)))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 12cb857cbb..d12d113945 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org> +;;; Copyright © 2020 Brian Leung <bkleung89@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,42 @@ #:use-module (gnu packages rsync) #:use-module (gnu packages version-control)) +(define-public apply-refact + (package + (name "apply-refact") + (version "0.6.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/apply-refact/apply-refact-" + version ".tar.gz")) + (sha256 + (base32 + "0p2mqgjcqr1zcmk8zgr0yq7g8z1agsa6l493lkj6g3ya9lyhxgig")))) + (build-system haskell-build-system) + (inputs + `(("ghc-refact" ,ghc-refact) + ("ghc-exactprint" ,ghc-exactprint) + ("ghc-syb" ,ghc-syb) + ("ghc-temporary" ,ghc-temporary) + ("ghc-filemanip" ,ghc-filemanip) + ("ghc-unix-compat" ,ghc-unix-compat) + ("ghc-optparse-applicative" + ,ghc-optparse-applicative))) + (native-inputs + `(("ghc-tasty" ,ghc-tasty) + ("ghc-tasty-golden" ,ghc-tasty-golden) + ("ghc-tasty-expected-failure" + ,ghc-tasty-expected-failure) + ("ghc-silently" ,ghc-silently))) + (home-page "https://hackage.haskell.org/package/apply-refact") + (synopsis "Perform refactorings specified by the refact library") + (description + "This package lets you perform refactorings specified by the refact +library. It is primarily used with HLint's @code{--refactor} flag.") + (license license:bsd-3))) + ;; In Stackage LTS 14, this package is at 2.4.1.0. However, that ;; version requires version 2.4.1.0 of the 'Cabal' package, which is ;; provided by GHC 8.6.5 at version 2.4.0.1. Hence, we use an older @@ -304,14 +341,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20200309") + (version "8.20200330") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "1yjb01jh5rccqg44nqh4iyxmbpkcpm6m82lnw7s0s2vizj8891p5")))) + (base32 "0xy0ld7kr4cfdl4g4yzvrzl5r60dcj33cxm28a4qz6nqm2yhd4sv")))) (build-system haskell-build-system) (arguments `(#:configure-flags @@ -709,7 +746,7 @@ too slow and you'll get wound up in the scroll and crushed.") ("ghc-diff" ,ghc-diff) ("ghc-quickcheck" ,ghc-quickcheck) ("ghc-regex-tdfa" ,ghc-regex-tdfa))) - (home-page "https://github.com/koalaman/shellcheck") + (home-page "https://www.shellcheck.net/") (synopsis "Static analysis for shell scripts") (description "@code{shellcheck} provides static analysis for @command{bash} and @command{sh} shell scripts. @@ -777,3 +814,6 @@ Replace some ASCII sequences by their Unicode equivalent (turned off by default) @end itemize") (license license:bsd-3))) + +(define-public ghc-stylish-haskell + (deprecated-package "ghc-stylish-haskell" stylish-haskell)) diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm index acdc1447a4..05be862a85 100644 --- a/gnu/packages/haskell-web.scm +++ b/gnu/packages/haskell-web.scm @@ -752,6 +752,41 @@ Haskell.") documents.") (license license:bsd-3))) +(define-public ghc-html-conduit + (package + (name "ghc-html-conduit") + (version "1.3.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/html-conduit/" + "html-conduit-" version ".tar.gz")) + (sha256 + (base32 + "196c8zcnjp1pc5qvqxd8arx3xkw0a90rvg9mmiw2l4zwnx65709n")))) + (build-system haskell-build-system) + (inputs + `(("ghc-resourcet" ,ghc-resourcet) + ("ghc-conduit" ,ghc-conduit) + ("ghc-xml-conduit" ,ghc-xml-conduit) + ("ghc-xml-types" ,ghc-xml-types) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-conduit-extra" ,ghc-conduit-extra))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-hunit" ,ghc-hunit))) + (home-page "https://github.com/snoyberg/xml") + (synopsis "Parse HTML documents using xml-conduit datatypes") + (description + "This package provides a parser for HTML documents that uses +tagstream-conduit. It automatically balances mismatched tags, so that +there shouldn't be any parse failures. It does not handle a full HTML +document rendering, such as adding missing html and head tags. Note that, +since version 1.3.1, it uses an inlined copy of tagstream-conduit with +entity decoding bugfixes applied.") + (license license:expat))) + (define-public ghc-blaze-html (package (name "ghc-blaze-html") @@ -1094,7 +1129,7 @@ functions, widgets, etc.") (define-public ghc-yesod-persistent (package (name "ghc-yesod-persistent") - (version "1.6.0.2") + (version "1.6.0.4") (source (origin (method url-fetch) @@ -1103,7 +1138,7 @@ functions, widgets, etc.") "yesod-persistent-" version ".tar.gz")) (sha256 (base32 - "17adw0aaj29ia7ii3jka301442860b5wvfrms079q973gzahz5fd")))) + "1gsiw2zx6z7za7a164h0fxfggkrdqz6fn0qyb2zn9qr7r2jbg1c0")))) (build-system haskell-build-system) (arguments `(#:tests? #f)) ; FIXME: hspec-discover not available in PATH. (inputs `(("ghc-yesod-core" ,ghc-yesod-core) @@ -1655,6 +1690,6 @@ non-Haskell dependencies.") "High level web scraping library for Haskell") (description "Scalpel is a web scraping library inspired by libraries like Parsec -and Perl's @code{Web::Scraper} Scalpel builds on top of TagSoup to provide a +and Perl's @code{Web::Scraper}. Scalpel builds on top of TagSoup to provide a declarative and monadic interface.") (license license:asl2.0))) diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 0828dc93c6..c9119efd69 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 JoJo <jo@jo.zone> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -906,6 +907,45 @@ stand for certain ASCII character sequences, i.e. → instead of @code{->}, ∀ instead of @code{forall} and many others.") (license license:bsd-3))) +(define-public ghc-basic-prelude + (package + (name "ghc-basic-prelude") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/basic-prelude/" + "basic-prelude-" version ".tar.gz")) + (sha256 + (base32 + "0yckmnvm6i4vw0mykj4fzl4ldsf67v8d2h0vp1bakyj84n4myx8h")))) + (build-system haskell-build-system) + (inputs + `(("ghc-hashable" ,ghc-hashable) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector))) + (home-page "https://github.com/snoyberg/basic-prelude#readme") + (synopsis "Enhanced core prelude; a common foundation for alternate preludes") + (description + "The premise of basic-prelude is that there are a lot of very commonly +desired features missing from the standard Prelude, such as commonly used +operators (<$> and >=>, for instance) and imports for common datatypes +(e.g., ByteString and Vector). At the same time, there are lots of other +components which are more debatable, such as providing polymorphic versions +of common functions. + +So basic-prelude is intended to give a common foundation for a number of +alternate preludes. The package provides two modules: CorePrelude provides +the common ground for other preludes to build on top of, while BasicPrelude +exports CorePrelude together with commonly used list functions to provide a +drop-in replacement for the standard Prelude. + +Users wishing to have an improved Prelude can use BasicPrelude. Developers +wishing to create a new prelude should use CorePrelude.") + (license license:expat))) + (define-public ghc-bifunctors (package (name "ghc-bifunctors") @@ -3612,7 +3652,7 @@ directly uses the type system, rather than out-of-band exceptions.") (define-public ghc-esqueleto (package (name "ghc-esqueleto") - (version "3.0.0") + (version "3.3.1.1") (source (origin (method url-fetch) @@ -3620,7 +3660,7 @@ directly uses the type system, rather than out-of-band exceptions.") "esqueleto/esqueleto-" version ".tar.gz")) (sha256 (base32 - "187c098h2xyf2nhifkdy2bqfl6iap7a93mzwd2kirl5yyicpc9zy")))) + "1qi28ma8j5kfygjxnixlazxsyrkdqv8ljz3icwqi5dlscsnj6v3v")))) (build-system haskell-build-system) (arguments `(#:haddock? #f ; Haddock reports an internal error. @@ -7897,6 +7937,36 @@ class, and a lazy number type for non-negative numbers (a generalization of Peano numbers).") (license license:gpl3+))) +(define-public ghc-nonce + (package + (name "ghc-nonce") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/nonce/" + "nonce-" version ".tar.gz")) + (sha256 + (base32 + "1q9ph0aq51mvdvydnriqd12sfin36pfb8f588zgac1ybn8r64ksb")))) + (build-system haskell-build-system) + (inputs + `(("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-entropy" ,ghc-entropy) + ("ghc-unliftio" ,ghc-unliftio) + ("ghc-unliftio-core" ,ghc-unliftio-core))) + (home-page "https://github.com/prowdsponsor/nonce") + (synopsis "Generate cryptographic nonces in Haskell") + (description + "A nonce is an arbitrary number used only once in a cryptographic +communication. This package contain helper functions for generating nonces. +There are many kinds of nonces used in different situations. It's not +guaranteed that by using the nonces from this package you won't have any +security issues. Please make sure that the nonces generated via this +package are usable on your design.") + (license license:bsd-3))) + (define-public ghc-numeric-extras (package (name "ghc-numeric-extras") @@ -8684,41 +8754,36 @@ syntax and semantics as Perl 5.") (define-public ghc-persistent (package (name "ghc-persistent") - (version "2.9.2") + (version "2.10.4") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "persistent-" version "/" - "persistent-" version ".tar.gz")) + (uri (string-append + "https://hackage.haskell.org/package/persistent/" + "persistent-" version ".tar.gz")) (sha256 (base32 - "1wsa3kn427v88a6r0vwr6mz23snik2krbsgc8zqp18xajqn5szj9")))) + "1cxswz72sqdg2z1nbpgp1k5qr41djgk8qbf8nz7wfppsrhacyffi")))) (build-system haskell-build-system) - (inputs `(("ghc-old-locale" ,ghc-old-locale) - ("ghc-conduit" ,ghc-conduit) - ("ghc-resourcet" ,ghc-resourcet) - ("ghc-exceptions" ,ghc-exceptions) - ("ghc-monad-control" ,ghc-monad-control) - ("ghc-lifted-base" ,ghc-lifted-base) - ("ghc-resource-pool" ,ghc-resource-pool) - ("ghc-path-pieces" ,ghc-path-pieces) - ("ghc-http-api-data" ,ghc-http-api-data) - ("ghc-aeson" ,ghc-aeson) - ("ghc-monad-logger" ,ghc-monad-logger) - ("ghc-transformers-base" ,ghc-transformers-base) - ("ghc-base64-bytestring" ,ghc-base64-bytestring) - ("ghc-unordered-containers" ,ghc-unordered-containers) - ("ghc-vector" ,ghc-vector) - ("ghc-attoparsec" ,ghc-attoparsec) - ("ghc-haskell-src-meta" ,ghc-haskell-src-meta) - ("ghc-blaze-html" ,ghc-blaze-html) - ("ghc-blaze-markup" ,ghc-blaze-markup) - ("ghc-silently" ,ghc-silently) - ("ghc-fast-logger" ,ghc-fast-logger) - ("ghc-scientific" ,ghc-scientific) - ("ghc-tagged" ,ghc-tagged) - ("ghc-void" ,ghc-void))) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-attoparsec" ,ghc-attoparsec) + ("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-conduit" ,ghc-conduit) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-http-api-data" ,ghc-http-api-data) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-resource-pool" ,ghc-resource-pool) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-scientific" ,ghc-scientific) + ("ghc-silently" ,ghc-silently) + ("ghc-unliftio-core" ,ghc-unliftio-core) + ("ghc-unliftio" ,ghc-unliftio) + ("ghc-unordered-containers" + ,ghc-unordered-containers) + ("ghc-vector" ,ghc-vector))) (native-inputs `(("ghc-hspec" ,ghc-hspec))) (home-page "https://www.yesodweb.com/book/persistent") (synopsis "Type-safe, multi-backend data serialization for Haskell") @@ -8730,30 +8795,40 @@ way.") (define-public ghc-persistent-sqlite (package (name "ghc-persistent-sqlite") - (version "2.9.3") + (version "2.10.5.2") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "persistent-sqlite-" version "/" - "persistent-sqlite-" version ".tar.gz")) + (uri (string-append + "https://hackage.haskell.org/package/persistent-sqlite/" + "persistent-sqlite-" version ".tar.gz")) (sha256 (base32 - "13wbn88ixv4d4dfjl1gabm1q60fbcnygbmixz57pi3z84drrynwq")))) + "0agag3cgivl6mk38pqzr0qw5lxps9p2bgdwvi5658l46hs7bixxn")))) (build-system haskell-build-system) - (inputs `(("ghc-persistent" ,ghc-persistent) - ("ghc-unliftio-core" ,ghc-unliftio-core) - ("ghc-aeson" ,ghc-aeson) - ("ghc-conduit" ,ghc-conduit) - ("ghc-monad-logger" ,ghc-monad-logger) - ("ghc-microlens-th" ,ghc-microlens-th) - ("ghc-resourcet" ,ghc-resourcet) - ("ghc-old-locale" ,ghc-old-locale) - ("ghc-resource-pool" ,ghc-resource-pool) - ("ghc-unordered-containers" ,ghc-unordered-containers))) - (native-inputs `(("ghc-hspec" ,ghc-hspec) - ("ghc-persistent-template" ,ghc-persistent-template) - ("ghc-temporary" ,ghc-temporary))) + (inputs + `(("ghc-persistent" ,ghc-persistent) + ("ghc-aeson" ,ghc-aeson) + ("ghc-conduit" ,ghc-conduit) + ("ghc-microlens-th" ,ghc-microlens-th) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-resource-pool" ,ghc-resource-pool) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-unliftio-core" ,ghc-unliftio-core) + ("ghc-unordered-containers" + ,ghc-unordered-containers))) + (native-inputs + `(("ghc-persistent-template" + ,ghc-persistent-template) + ("ghc-persistent-test" ,ghc-persistent-test) + ("ghc-exceptions" ,ghc-exceptions) + ("ghc-fast-logger" ,ghc-fast-logger) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hunit" ,ghc-hunit) + ("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-system-fileio" ,ghc-system-fileio) + ("ghc-system-filepath" ,ghc-system-filepath) + ("ghc-temporary" ,ghc-temporary))) (home-page "https://www.yesodweb.com/book/persistent") (synopsis "Backend for the persistent library using sqlite3") @@ -8765,34 +8840,79 @@ system dependencies.") (define-public ghc-persistent-template (package (name "ghc-persistent-template") - (version "2.6.0") + (version "2.8.0") (source (origin (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "persistent-template-" version "/" - "persistent-template-" version ".tar.gz")) + (uri (string-append + "https://hackage.haskell.org/package/persistent-template/" + "persistent-template-" version ".tar.gz")) (sha256 (base32 - "0wr1z2nfrl6jv1lprxb0d2jw4izqfcbcwvkdrhryzg95gjz8ryjv")))) + "16yjrl0gh4jbs4skr7iv6a55lny59bqhd6hjmvch1cl9j5d0c0g3")))) (build-system haskell-build-system) - (inputs `(("ghc-persistent" ,ghc-persistent) - ("ghc-monad-control" ,ghc-monad-control) - ("ghc-aeson" ,ghc-aeson) - ("ghc-aeson-compat" ,ghc-aeson-compat) - ("ghc-monad-logger" ,ghc-monad-logger) - ("ghc-unordered-containers" ,ghc-unordered-containers) - ("ghc-tagged" ,ghc-tagged) - ("ghc-path-pieces" ,ghc-path-pieces) - ("ghc-http-api-data" ,ghc-http-api-data))) - (native-inputs `(("ghc-hspec" ,ghc-hspec) - ("ghc-quickcheck" ,ghc-quickcheck))) + (inputs + `(("ghc-persistent" ,ghc-persistent) + ("ghc-aeson" ,ghc-aeson) + ("ghc-http-api-data" ,ghc-http-api-data) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-th-lift-instances" ,ghc-th-lift-instances) + ("ghc-unordered-containers" + ,ghc-unordered-containers))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("ghc-quickcheck" ,ghc-quickcheck))) (home-page "https://www.yesodweb.com/book/persistent") (synopsis "Type-safe, non-relational, multi-backend persistence") (description "This Haskell package provides interfaces and helper functions for the ghc-persistent package.") (license license:expat))) +(define-public ghc-persistent-test + (package + (name "ghc-persistent-test") + (version "2.0.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/persistent-test/" + "persistent-test-" version ".tar.gz")) + (sha256 + (base32 + "11aq5cy0n43jamf6mg4sr4300bc2zdbjxsczzxwjkb4hzs0ijsdv")))) + (build-system haskell-build-system) + (inputs + `(("ghc-aeson" ,ghc-aeson) + ("ghc-blaze-html" ,ghc-blaze-html) + ("ghc-conduit" ,ghc-conduit) + ("ghc-monad-control" ,ghc-monad-control) + ("ghc-monad-logger" ,ghc-monad-logger) + ("ghc-path-pieces" ,ghc-path-pieces) + ("ghc-persistent" ,ghc-persistent) + ("ghc-persistent-template" ,ghc-persistent-template) + ("ghc-random" ,ghc-random) + ("ghc-resourcet" ,ghc-resourcet) + ("ghc-transformers-base" ,ghc-transformers-base) + ("ghc-unliftio" ,ghc-unliftio) + ("ghc-unliftio-core" ,ghc-unliftio-core) + ("ghc-unordered-containers" ,ghc-unordered-containers))) + (native-inputs + `(("ghc-quickcheck" ,ghc-quickcheck) + ("ghc-quickcheck-instances" ,ghc-quickcheck-instances) + ("ghc-hspec" ,ghc-hspec) + ("ghc-hspec-expectations" ,ghc-hspec-expectations) + ("ghc-hunit" ,ghc-hunit))) + (home-page "https://www.yesodweb.com/book/persistent") + (synopsis "Tests for the Persistent database library") + (description + "This is only for use in developing libraries that should conform to +the persistent interface, not for users of the persistent suite of database +libraries.") + (license license:expat))) + (define-public ghc-pipes (package (name "ghc-pipes") @@ -9086,6 +9206,46 @@ API.") (description "This library provides profunctors for Haskell.") (license license:bsd-3))) +(define-public ghc-project-template + (package + (name "ghc-project-template") + (version "0.2.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/project-template/project-template-" + version ".tar.gz")) + (sha256 + (base32 + "1p69ww4rhah2qxragl615wl4a6mk4x9w09am8knmz3s4lxpljlpb")))) + (build-system haskell-build-system) + (inputs + `(("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-conduit" ,ghc-conduit) + ("ghc-conduit-extra" ,ghc-conduit-extra) + ("ghc-resourcet" ,ghc-resourcet))) + (native-inputs + `(("ghc-hspec" ,ghc-hspec) + ("hspec-discover" ,hspec-discover) + ("ghc-quickcheck" ,ghc-quickcheck))) + (arguments + `(#:cabal-revision + ("1" + "0lq3sqnq0nr0gbvgzp0lqdl3j3mqdmdlf8xsw0j3pjh581xj3k0a"))) + (home-page "https://github.com/fpco/haskell-ide") + (synopsis "Specify Haskell project templates and generate files") + (description + "Haskell library for both generating and consuming project templates. + +ost IDEs provide the concept of a project template: instead of writing all +of the code for a project from scratch, you select a template, answer a few +questions, and a bunch of files are automatically generated. + +project-template tries to provide a canonical Haskell library for implementing +the ideal templating system.") + (license license:bsd-3))) + (define-public ghc-psqueues (package (name "ghc-psqueues") @@ -9151,6 +9311,36 @@ Typical applications of Priority Search Queues include: @end itemize") (license license:bsd-3))) +(define-public ghc-pwstore-fast + (package + (name "ghc-pwstore-fast") + (version "2.4.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/pwstore-fast/" + "pwstore-fast-" version ".tar.gz")) + (sha256 + (base32 + "1cpvlwzg3qznhygrr78f75p65mnljd9v5cvnagfxjqppnrkay6bj")))) + (build-system haskell-build-system) + (inputs + `(("ghc-base64-bytestring" ,ghc-base64-bytestring) + ("ghc-cryptohash" ,ghc-cryptohash) + ("ghc-random" ,ghc-random) + ("ghc-byteable" ,ghc-byteable))) + (home-page "https://github.com/PeterScott/pwstore") + (synopsis "Secure password storage") + (description + "To store passwords securely, they should be salted, then hashed with +a slow hash function. This library uses PBKDF1-SHA256, and handles all the +details. It uses the cryptohash package for speed; if you need a pure +Haskell library, pwstore-purehaskell has the exact same API, but uses only +pure Haskell. It is about 25 times slower than this package, but still quite +usable.") + (license license:bsd-3))) + (define-public ghc-random (package (name "ghc-random") @@ -9555,7 +9745,7 @@ Haskell library @code{regex-base}.") (build-system haskell-build-system) (inputs `(("ghc-regex-base" ,ghc-regex-base))) - (home-page "https://github.com/ChrisKuklewicz/regex-tdfa") + (home-page "https://github.com/haskell-hvr/regex-tdfa") (synopsis "POSIX extended regular expressions in Haskell.") (description "Regex-tdfa is a pure Haskell regular expression library implementing POSIX @@ -10590,7 +10780,7 @@ provided. Skylighting is intended to be the successor to highlighting-kate.") (home-page "https://github.com/feuerbach/smallcheck") (synopsis "Property-based testing library") - (description "SmallCheck is a testing library that allows to verify + (description "SmallCheck is a testing library that verifies properties for all test cases up to some depth. The test cases are generated automatically by SmallCheck.") (license license:bsd-3))) @@ -11118,9 +11308,6 @@ functions for breaking or splitting on substrings and replacing all occurrences of a substring (the first in case of overlaps) with another.") (license license:bsd-3))) -(define-public ghc-stylish-haskell - (deprecated-package "ghc-stylish-haskell" stylish-haskell)) - (define-public ghc-svg-builder (package (name "ghc-svg-builder") diff --git a/gnu/packages/hurd.scm b/gnu/packages/hurd.scm index 3d1709fcc3..d483badbc5 100644 --- a/gnu/packages/hurd.scm +++ b/gnu/packages/hurd.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015, 2016, 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> -;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -254,17 +254,22 @@ Hurd-minimal package which are needed for both glibc and GCC.") (inherit gnumach-headers) (name "gnumach") (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'install 'produce-image - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (boot (string-append out "/boot"))) - (invoke "make" "gnumach.gz") - (install-file "gnumach.gz" boot) - #t)))))) + (substitute-keyword-arguments (package-arguments gnumach-headers) + ((#:phases phases '%standard-phases) + `(modify-phases %standard-phases + (add-after 'install 'produce-image + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (boot (string-append out "/boot"))) + (invoke "make" "gnumach.gz") + (install-file "gnumach.gz" boot) + #t))))))) (native-inputs `(("mig" ,mig) - ("perl" ,perl))) + ("perl" ,perl) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo-4))) (supported-systems (cons "i686-linux" %hurd-systems)) (synopsis "Microkernel of the GNU system") (description diff --git a/gnu/packages/i2p.scm b/gnu/packages/i2p.scm index a317cd590c..0061701304 100644 --- a/gnu/packages/i2p.scm +++ b/gnu/packages/i2p.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,6 @@ #:use-module (gnu packages compression) #:use-module (gnu packages tls) #:use-module (gnu packages upnp) - #:use-module (gnu packages web) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system cmake) @@ -30,7 +30,7 @@ (define-public i2pd (package (name "i2pd") - (version "2.29.0") + (version "2.31.0") (source (origin (method git-fetch) @@ -39,12 +39,11 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1issg3aidwikk4g12sa8q81zzp0hd0g8wdy2dx4899z8yrscl300")))) + (base32 "1q2gxz041ha9n5lfn91iy11sdf3z7d806vcq4z43m7lf92m7i4nn")))) (build-system cmake-build-system) (inputs `(("boost" ,boost) ("miniupnpc" ,miniupnpc) ("openssl" ,openssl) - ("websocketpp" ,websocketpp) ("zlib" ,zlib))) (arguments '(#:configure-flags (let ((source (assoc-ref %build-inputs "source"))) @@ -52,7 +51,6 @@ "-DWITH_PCH=OFF" "-DWITH_STATIC=OFF" "-DWITH_UPNP=ON" - "-DWITH_WEBSOCKETS=ON" "-DWITH_LIBRARY=ON" "-DBUILD_SHARED_LIBS=ON" "-DWITH_BINARY=ON")) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 3869016df3..beeb2d7ff4 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,6 +117,24 @@ C/C++ part.") (search-patches "icu4c-CVE-2020-10531.patch"))))))) +(define-public icu4c-66.1 + (package + (inherit icu4c) + (version "66.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/unicode-org/icu/releases/download/release-" + (string-map (lambda (x) (if (char=? x #\.) #\- x)) version) + "/icu4c-" + (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) + "-src.tgz")) + (patch-flags '("-p2")) + (patches (search-patches "icu4c-CVE-2020-10531.patch")) + (sha256 + (base32 + "0bharwzc9nzkbrcf405z2nb3h7q0711z450arz0mjmdrk8hg58sj")))))) + (define-public java-icu4j (package (name "java-icu4j") diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index f5d67c8917..02d903a6a3 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2018 Lprndn <guix@lprndn.info> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -798,11 +799,11 @@ combine the information contained in both.") ("vtk" ,vtk-6) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) - ("qttools" ,qttools) ("vxl" ,vxl-1) ("zlib" ,zlib))) (native-inputs `(("googletest" ,googletest) + ("qttools" ,qttools) ("pkg-config" ,pkg-config) ("c3d-src" ,(let* ((commit "f521358db26e00002c911cc47bf463b043942ad3") diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 8f3f61c4b1..12bf318b0a 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -13,6 +13,8 @@ ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net> +;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> +;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +36,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system meson) @@ -419,44 +422,95 @@ imaging. It supports several HDR and LDR image formats, and it can: (license license:gpl2+))) ;; CBR and RAR are currently unsupported, due to non-free dependencies. -;; For optional PDF support, you can install the mupdf package. (define-public mcomix - (package - (name "mcomix") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/mcomix/MComix-" version - "/mcomix-" version ".tar.bz2")) - (sha256 - (base32 - "0fzsf9pklhfs1rzwzj64c0v30b74nk94p93h371rpg45qnfiahvy")))) - (build-system python-build-system) - (inputs - `(("p7zip" ,p7zip) - ("python2-pillow" ,python2-pillow) - ("python2-pygtk" ,python2-pygtk))) - (arguments - ;; Python 2.5 or newer (Python 3 and up is not supported) - `(#:python ,python-2 - #:tests? #f ; there are no tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs #:allow-other-keys) - (let ((p7zip (assoc-ref inputs "p7zip"))) - ;; insert absolute path to 7z executable - (substitute* "mcomix/archive/sevenzip_external.py" - (("_7z_executable = -1") - (string-append "_7z_executable = u'" p7zip "/bin/7z'")))) - #t))))) - (home-page "https://sourceforge.net/p/mcomix/wiki/Home/") - (synopsis "Image viewer for comics") - (description "MComix is a customizable image viewer that specializes as + ;; Official mcomix hasn't been updated since 2016, it's broken with + ;; python-pillow 6+ and only supports Python 2. We use fork instead. + (let ((commit "fea55a7a9369569eefed72209eed830409c4af98")) + (package + (name "mcomix") + (version (git-version "1.2.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/multiSnow/mcomix3") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05zl0dkjwbdcm2zlk4nz9w33amlqj8pbf32a8ymshc2356fqhhi5")))) + (build-system python-build-system) + (inputs + `(("p7zip" ,p7zip) + ("python-pillow" ,python-pillow) + ("python-pygobject" ,python-pygobject) + ("python-pycairo" ,python-pycairo))) + (arguments + `(#:tests? #f ; FIXME: How do we run tests? + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((p7zip (assoc-ref inputs "p7zip"))) + ;; insert absolute path to 7z executable + (substitute* "mcomix/mcomix/archive/sevenzip_external.py" + (("_7z_executable = -1") + (string-append "_7z_executable = u'" p7zip "/bin/7z'")))) + #t)) + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pyver ,(version-major+minor (package-version python))) + (lib (string-append out "/lib/python" pyver))) + (invoke (which "python") "installer.py" "--srcdir=mcomix" + (string-append "--target=" lib)) + (rename-file (string-append lib "/mcomix") + (string-append lib "/site-packages")) + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (share (string-append out "/share")) + (bin (string-append out "/bin")) + (pyver ,(version-major+minor (package-version python))) + (lib (string-append out "/lib/python" pyver "/site-packages"))) + (mkdir-p bin) + (rename-file (string-append lib "/mcomixstarter.py") + (string-append bin "/mcomix")) + (rename-file (string-append lib "/comicthumb.py") + (string-append bin "/comicthumb")) + (install-file "mime/mcomix.desktop" + (string-append share "/applications")) + (install-file "mime/mcomix.appdata.xml" + (string-append share "/metainfo")) + (install-file "mime/mcomix.xml" + (string-append share "/mime/packages")) + (install-file "mime/comicthumb.thumbnailer" + (string-append share "/thumbnailers")) + (install-file "man/mcomix.1" (string-append share "/man/man1")) + (install-file "man/comicthumb.1" (string-append share "/man/man1")) + (for-each + (lambda (size) + (install-file + (format #f "mcomix/mcomix/images/~sx~s/mcomix.png" size size) + (format #f "~a/icons/hicolor/~sx~s/apps/" share size size)) + (for-each + (lambda (ext) + (install-file + (format #f "mime/icons/~sx~s/application-x-~a.png" size size ext) + (format #f "~a/icons/hicolor/~sx~s/mimetypes/" + share size size))) + '("cb7" "cbr" "cbt" "cbz"))) + '(16 22 24 32 48)) + #t)))))) + (home-page "https://sourceforge.net/p/mcomix/wiki/Home/") + (synopsis "Image viewer for comics") + (description "MComix is a customizable image viewer that specializes as a comic and manga reader. It supports a variety of container formats -including CBZ, CB7, CBT, LHA.") - (license license:gpl2+))) +including CBZ, CB7, CBT, LHA. + +For PDF support, install the @emph{mupdf} package.") + (license license:gpl2+)))) (define-public qview (package @@ -596,3 +650,60 @@ with tiling window managers. Features include: @end itemize\n") (home-page "https://github.com/eXeC64/imv") (license license:expat))) + +(define-public qiv + (package + (name "qiv") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://spiegl.de/qiv/download/qiv-" + version ".tgz")) + (sha256 + (base32 "1rlf5h67vhj7n1y7jqkm9k115nfnzpwngj3kzqsi2lg676srclv7")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ;; That is required for testing. + ("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("imlib2" ,imlib2) + ("glib" ,glib) + ("gtk+" ,gtk+-2) + ("lcms" ,lcms) + ("libjpeg" ,libjpeg) + ("libtiff" ,libtiff) + ("libexif" ,libexif) + ("libx11" ,libx11) + ("libxext" ,libxext))) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (add-before 'install 'patch-file-start-xserver + (lambda* (#:key inputs #:allow-other-keys) + ;; patch the file so that qiv runs and exits by itself + (substitute* "Makefile" + (("./qiv -f ./intro.jpg") "./qiv -f -C -s ./intro.jpg") + ;; Fail the build when test fails. + (("echo \"-- Test Failed --\"") + "(echo \"-- Test Failed --\" ; false)")) + ;; There must be a running X server and make install doesn't start one. + ;; Therefore we must do it. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + #t))) + #:tests? #f ; there is no check target + #:make-flags + (list + (string-append "PREFIX=" (assoc-ref %outputs "out"))))) + (home-page "http://spiegl.de/qiv/") + (synopsis "Graphical image viewer for X") + (description + "Quick Image Viewer is a small and fast GDK/Imlib2 image viewer. +Features include zoom, maxpect, scale down, fullscreen, slideshow, delete, +brightness/contrast/gamma correction, pan with keyboard and mouse, flip, +rotate left/right, jump/forward/backward images, filename filter and use it +to set X desktop background.") + (license license:gpl2))) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index b665740ca2..7b1d41cfa5 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages curl) @@ -238,10 +240,6 @@ APNG patch provides APNG support to libpng.") images. It can further losslessly compress them by as much as 40%.") (license license:zlib))) -(define-public pngcrunch - ;; This package used to be wrongfully name "pngcrunch". - (deprecated-package "pngcrunch" pngcrush)) - (define-public pnglite (let ((commit "11695c56f7d7db806920bd9229b69f230e6ffb38") (revision "1")) @@ -1305,7 +1303,7 @@ ISO/IEC 15444-1).") (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12bs2rfmmy021087i10vxibdbbvd5vld0vk3h5hymhpz7rgszcmg")))) + (base32 "1dqyrq3p8bkgvj4ci50ac342hjnhyz6xxvhiwp7wpi3v3nbj7s02")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1603,7 +1601,7 @@ medical image data, e.g. magnetic resonance image (MRI) and functional MRI (build-system scons-build-system) (native-inputs `(("boost" ,boost) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("expat" ,expat) @@ -1944,7 +1942,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (define-public libavif (package (name "libavif") - (version "0.5.6") + (version "0.7.1") (source (origin (method git-fetch) (uri (git-reference @@ -1953,7 +1951,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (file-name (git-file-name name version)) (sha256 (base32 - "15g76j9vb88q1v3azscph8im8714zdl70bni0al4ww9v80vhqpkd")))) + "1xybjbbprvfsrwgysrn7grg6yp7v6ch5vci7zvdcdzcgyrbph172")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" @@ -1961,18 +1959,15 @@ This package can be used to create @code{favicon.ico} files for web sites.") "-DAVIF_BUILD_TESTS=ON") #:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "./aviftest" "../source/tests/data"))) (add-after 'install 'install-readme (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/libavif-" - ,version))) - (install-file "../source/README.md" doc))))) -;; The test suite runs tests for all supported codecs and fails because we don't -;; have rav1e yet. -;; (replace 'check -;; (lambda _ -;; (invoke "./aviftest" "../source/tests/data")))) - #:tests? #f)) + (doc (string-append out "/share/doc/libavif-" ,version))) + (install-file "../source/README.md" doc) + #t)))))) (inputs `(("libaom" ,libaom) ("dav1d" ,dav1d))) @@ -1983,3 +1978,56 @@ AOM, including with alpha.") (home-page "https://github.com/AOMediaCodec/libavif") (license (list license:bsd-2 ; libavif itself license:expat)))) ; cJSON in the test suite + +(define-public mtpaint + (let ((commit "03b1b0938067b88d86d9f1b1088730f1934d411e") + (revision "1")) + (package + (name "mtpaint") + ;; The author neither releases tarballs nor uses git version tags. + ;; Instead, author puts version in git commit title. + (version (git-version "3.49.25" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wjaguar/mtPaint/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0izm2wvj26566fd8mqvypr7bmv7jnq8qhp4760m7z2wrc4y8pjn1")))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("which" ,which))) + (inputs + `(("imlib2" ,imlib2) + ("libtiff" ,libtiff) + ("libpng" ,libpng) + ("libungif", libungif) + ("libjpeg", libjpeg) + ("libwebp" ,libwebp) + ("openjpeg" ,openjpeg) + ("lcms" ,lcms) + ("zlib", zlib) + ("glib" ,glib) + ;; support for gtk3 is in testing stage + ("gtk+" ,gtk+-2))) + (arguments + `(#:configure-flags + (list + ;; internationalized version + "intl" + ;; install man page + "man") + ;; no check target + #:tests? #f)) + (home-page "http://mtpaint.sourceforge.net/") + (synopsis "Create pixel art and manipulate digital images") + (description + "Mtpaint is a graphic editing program which uses the GTK+ toolkit. +It can create and edit indexed palette or 24bit RGB images, offers basic +painting and palette manipulation tools. It also handles JPEG, JPEG2000, +GIF, TIFF, WEBP, BMP, PNG, XPM formats.") + (license license:gpl3+)))) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index acaf25f745..95b8123b8e 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -170,14 +170,14 @@ SILC and ICB protocols via plugins.") (define-public weechat (package (name "weechat") - (version "2.7.1") + (version "2.8") (source (origin (method url-fetch) (uri (string-append "https://weechat.org/files/src/weechat-" version ".tar.xz")) (sha256 (base32 - "0haw0c35mf4r47j24issc9caq0da3fy7gjfq3454fm3ap3n2yxcx")))) + "1301lrb3xnm9dcw3av82rkqjzqxxwwhrq0p6i37h6fxdxnas4gjm")))) (build-system cmake-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -193,7 +193,7 @@ SILC and ICB protocols via plugins.") ("zlib" ,zlib) ;; Scripting language plug-ins. - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("lua" ,lua-5.1) ("perl" ,perl) ("python" ,python) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 5154dc124e..cab90fb4e7 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9,8 +9,11 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> -;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> + ;;; ;;; This file is part of GNU Guix. ;;; @@ -105,6 +108,44 @@ ;; build framework. We then build the more recent JDKs Icedtea 2.x and ;; Icedtea 3.x. +(define-public libantlr3c + (package + (name "libantlr3c") + (version "3.4") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.antlr3.org/download/C/" + name "-" version ".tar.gz")) + (sha256 + (base32 "0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "--enable-debuginfo" "--disable-static") + #:phases (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key build target native-inputs inputs outputs + (configure-flags '()) out-of-source? system + #:allow-other-keys) + (let ((configure (assoc-ref %standard-phases 'configure)) + (enable-64bit? (member system '("aarch64-linux" + "x86_64-linux" + "mips64el-linux")))) + (configure #:build build #:target target + #:native-inputs native-inputs + #:inputs inputs #:outputs outputs + #:configure-flags `(,(if enable-64bit? + "--enable-64bit" + '()) + ,@configure-flags) + #:out-of-source? out-of-source?))))))) + (synopsis "ANTLR C Library") + (description "LIBANTLR3C provides run-time C libraries for ANTLR3 (ANother +Tool for Language Recognition v3).") + (home-page "https://www.antlr3.org/") + (license license:bsd-3))) + (define jikes (package (name "jikes") @@ -3435,12 +3476,14 @@ an Ant task that extends the built-in @code{jar} task.") (name "java-hamcrest-core") (version "1.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hamcrest/JavaHamcrest/" - "archive/hamcrest-java-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hamcrest/JavaHamcrest/") + (commit (string-append "hamcrest-java-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "11g0s105fmwzijbv08lx8jlb521yravjmxnpgdx08fvg1kjivhva")) + "16fxxkrd31ahqvcaby30jgh3z1i0zxh51m24hxgz0z2agxj6bc63")) (modules '((guix build utils))) (snippet '(begin @@ -3540,13 +3583,14 @@ testing frameworks, mocking libraries and UI validation rules.") (name "java-junit") (version "4.12") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/junit-team/junit/" - "archive/r" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/junit-team/junit/") + (commit (string-append "r" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "090dn5v1vs0b3acyaqc0gjf6p8lmd2h24wfzsbq7sly6b214anws")) + "1j8avi91px1z8rjc89cfikwrvfifdmmsarwiyrcnr59ynvpz0v8h")) (modules '((guix build utils))) (snippet '(begin @@ -3559,7 +3603,7 @@ testing frameworks, mocking libraries and UI validation rules.") #:jar-name "junit.jar")) (inputs `(("java-hamcrest-core" ,java-hamcrest-core))) - (home-page "https://junit.org/") + (home-page "https://junit.org/junit4/") (synopsis "Test framework for Java") (description "JUnit is a simple framework to write repeatable tests for Java projects. @@ -3572,13 +3616,14 @@ sharing common test data, and test runners for running tests.") (name "java-plexus-utils") (version "3.2.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/" - "plexus-utils/archive/plexus-utils-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/plexus-utils") + (commit (string-append "plexus-utils-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1ihfigar20lvk4pinii7dq05i173xphhw4iyrk6gjfy04m01j2lz")))) + "1mlx7xrq7lgqjqcpg7y4hi1ghavf28vvk3har82037dqx61n0f15")))) (build-system ant-build-system) ;; FIXME: The default build.xml does not include a target to install ;; javadoc files. @@ -3625,13 +3670,14 @@ more.") (name "java-plexus-interpolation") (version "1.23") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/" - "plexus-interpolation/archive/" - "plexus-interpolation-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/plexus-interpolation") + (commit (string-append "plexus-interpolation-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "03377yzlx5q440m6sxxgv6a5qb8fl30zzcgxgc0hxk5qgl2z1jjn")))) + "005hxxg1adv71a96lz4vp65bk3v1pi76j4c45z29xzizclib16vl")))) (build-system ant-build-system) (arguments `(#:jar-name "plexus-interpolation.jar" @@ -3655,13 +3701,14 @@ these two libraries to vary independently of one another.") (name "java-plexus-classworlds") (version "2.5.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/" - "plexus-classworlds/archive/plexus-classworlds-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/plexus-classworlds") + (commit (string-append "plexus-classworlds-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1qm4p0rl8d82lzhsiwnviw11jnq44s0gflg78zq152xyyr2xmh8g")))) + "1iv8x55fbni2hg4l7pdpbwfq75xmvq1f25g6nxma8rcdpihsh13r")))) (build-system ant-build-system) (arguments `(#:jar-name "plexus-classworlds.jar" @@ -3681,12 +3728,14 @@ components.") (name "java-plexus-container-default-bootstrap") (version "1.7.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/plexus-containers" - "/archive/plexus-containers-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/plexus-containers") + (commit (string-append "plexus-containers-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0xw5g30qf4a83608rw9v2hv8pfsz7d69dkdhk6r0wia4q78hh1pc")))) + "1316hrp5vqfv0aw7miq2fp0wwy833h66h502h29vnh5sxj27x228")))) (build-system ant-build-system) (arguments `(#:jar-name "container-default.jar" @@ -3720,12 +3769,14 @@ implementation.") (name "java-plexus-io") (version "3.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/plexus-io" - "/archive/plexus-io-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/plexus-io") + (commit (string-append "plexus-io-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0f2j41kihaymxkpbm55smpxjja235vad8cgz94frfy3ppcp021dw")))) + "1h4q9l2j9sfbscvxpnyy2hazi0r83h3am86y4r959wrl1b24xxwd")))) (build-system ant-build-system) (arguments `(#:jar-name "plexus-io.jar" @@ -3879,12 +3930,14 @@ from source tags and class annotations."))) (name "java-plexus-cipher") (version "1.7") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/plexus-cipher" - "/archive/plexus-cipher-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/plexus-cipher") + (commit (string-append "plexus-cipher-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1j3r8xzlxlk340snkjp6lk2ilkxlkn8qavsfiq01f43xmvv8ymk3")))) + "0m638nzlxbmnbcj5cwdpgs326ab584yv0k803zlx37r6iqwvf6b0")))) (build-system ant-build-system) (arguments `(#:jar-name "plexus-cipher.jar" @@ -3915,12 +3968,14 @@ and decryption.") (name "java-plexus-compiler-api") (version "2.8.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/plexus-compiler" - "/archive/plexus-compiler-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/plexus-compiler") + (commit (string-append "plexus-compiler-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "09vmxs0807wsd26nbrwwj5l8ycmzazqycj52l7w6wjvkryywi69h")))) + "1nq1gnn3s6z1j29gmi1hqbklsmm8b1lmnafb0191914f95mn18gk")))) (build-system ant-build-system) (arguments `(#:jar-name "plexus-compiler-api.jar" @@ -3966,13 +4021,14 @@ Compiler component."))) (source (origin ;; This project doesn't tag releases or publish tarballs, so we take ;; the "prepare release plexus-sec-dispatcher-1.4" git commit. - (method url-fetch) - (uri (string-append "https://github.com/sonatype/plexus-sec-dispatcher/" - "archive/7db8f88048.tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sonatype/plexus-sec-dispatcher/") + (commit "7db8f880486e192a1c5ea9544e01e756c3d49d0f"))) (sha256 (base32 - "1smfrk4n7xbrsxpxcp2j4i0j8q86j73w0w6xg7qz83dp6dagdjgp")) - (file-name (string-append name "-" version ".tar.gz")))) + "1ng4yliy4cqpjr4fxxjbpwyk1wkch5f8vblm1kvwf328s4gibszs")) + (file-name (git-file-name name version)))) (arguments `(#:jar-name "plexus-sec-dispatcher.jar" #:source-dir "src/main/java" @@ -4087,12 +4143,14 @@ Plexus components.") (name "java-sisu-build-api") (version "0.0.7") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/sonatype/sisu-build-api/" - "archive/plexus-build-api-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sonatype/sisu-build-api") + (commit (string-append "plexus-build-api-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1c3rrpma3x634xp2rm2p5iskfhzdyc7qfbhjzr70agrl1jwghgy2")))) + "1d5w6c58gkx30d51v7qwv1xrhc0ly76848gihmgshj19yf6yhca0")))) (build-system ant-build-system) (arguments `(#:jar-name "sisu-build-api.jar" @@ -4142,12 +4200,14 @@ project and determining what files need to be rebuilt.") (name "java-modello-core") (version "1.9.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/codehaus-plexus/modello" - "/archive/modello-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/codehaus-plexus/modello") + (commit (string-append "modello-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0l2pvns8pmlrmjm3iknp7gpg3654y1m8qhy55b19sdwdchdcyxfh")))) + "1di6ni42aqllpdvkpyfcw70352vr2i8wf6hd5nhd9kmqjb5dj5j4")))) (build-system ant-build-system) (arguments `(#:jar-name "modello-core.jar" @@ -4314,7 +4374,7 @@ on the XPP3 API (XML Pull Parser)."))) (version "6.0") (source (origin (method url-fetch) - (uri (string-append "http://download.forge.ow2.org/asm/" + (uri (string-append "https://download.forge.ow2.org/asm/" "asm-" version ".tar.gz")) (sha256 (base32 @@ -4356,7 +4416,7 @@ on the XPP3 API (XML Pull Parser)."))) (description "ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. The provided common -transformations and analysis algorithms allow to easily assemble custom +transformations and analysis algorithms allow easily assembling custom complex transformations and code analysis tools.") (license license:bsd-3))) @@ -4416,13 +4476,14 @@ to generate and transform Java byte code.") (name "java-objenesis") (version "2.5.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/easymock/objenesis/" - "archive/" version ".tar.gz")) - (file-name (string-append "objenesis-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/easymock/objenesis") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1va5qz1i2wawwavhnxfzxnfgrcaflz9p1pg03irrjh4nd3rz8wh6")))) + "054yi200wj00x6dp1sxfrwgndwywadsbn8d8ij1j0v45j9g2vdya")))) (build-system ant-build-system) (arguments `(#:jar-name "objenesis.jar" @@ -4445,12 +4506,14 @@ constructor on object instantiation.") (name "java-easymock") (version "3.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/easymock/easymock/" - "archive/easymock-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/easymock/easymock/") + (commit (string-append "easymock-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1yzg0kv256ndr57gpav46cyv4a1ns5sj722l50zpxk3j6sk9hnmi")))) + "02vybm8hc0i0n9sp2f2iiqn54zwqhq835f76wc6b2m7819z5a8dq")))) (build-system ant-build-system) (arguments `(#:jar-name "easymock.jar" @@ -4495,7 +4558,7 @@ constructor on object instantiation.") (native-inputs `(("java-junit" ,java-junit) ("java-hamcrest-core" ,java-hamcrest-core))) - (home-page "http://easymock.org") + (home-page "https://easymock.org/") (synopsis "Java library providing mock objects for unit tests") (description "EasyMock is a Java library that provides an easy way to use mock objects in unit testing.") @@ -4506,13 +4569,14 @@ mock objects in unit testing.") (name "java-jmock") (version "1.2.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/jmock-developers/" - "jmock-library/archive/" version ".tar.gz")) - (file-name (string-append "jmock-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jmock-developers/jmock-library") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0xmrlhq0fszldkbv281k9463mv496143vvmqwpxp62yzjvdkx9w0")))) + "0lkga995xd9b9mmzxmcd301hlw83p1h78nibh7djlx7wydscr85z")))) (build-system ant-build-system) (arguments `(#:build-target "jars" @@ -4520,7 +4584,7 @@ mock objects in unit testing.") #:phases (modify-phases %standard-phases (replace 'install (install-jars "build"))))) - (home-page "http://www.jmock.org") + (home-page "http://jmock.org/") (synopsis "Mock object library for test-driven development") (description "JMock is a library that supports test-driven development of Java code with mock objects. Mock objects help you design and test the @@ -4543,13 +4607,14 @@ The jMock library (name "java-jmock") (version "2.8.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/jmock-developers/" - "jmock-library/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/jmock-developers/jmock-library") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "18650a9g8xffcsdb6w91pbswa7f40fp2sh6s3nclkclz5dbzq8f0")))) + "12b7l22g3nrjvf2dzcw3z03fpd2chrgp0d8xkvn8w55rwb57pax6")))) (inputs `(("java-hamcrest-all" ,java-hamcrest-all) ("java-asm" ,java-asm) @@ -6718,12 +6783,14 @@ This is a part of the Apache Commons Project.") (name "java-javaewah") (version "1.1.6") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/lemire/javaewah/" - "archive/JavaEWAH-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/lemire/javaewah/") + (commit (string-append "JavaEWAH-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1n7j1r1h24wlhwv9zdcj6yqjrhma2ixwyzm15l5vrv6yqjs6753b")))) + "1m8qcb1py76v7avbjjrkvyy6fhr5dk2ywy73gbsxqry04gkm2nhw")))) (build-system ant-build-system) (arguments `(#:jar-name "javaewah.jar")) (inputs @@ -6736,7 +6803,7 @@ This is a part of the Apache Commons Project.") compression scheme. It can be used to implement bitmap indexes. The goal of word-aligned compression is not to achieve the best compression, -but rather to improve query processing time. Hence, JavaEWAH tries to save CPU +but rather to improve query processing time. Hence, JavaEWAH tries to save CPU cycles, maybe at the expense of storage. However, the EWAH scheme is always more efficient storage-wise than an uncompressed bitmap (as implemented in the @code{BitSet} class by Sun).") @@ -7025,13 +7092,14 @@ StringTemplate also powers ANTLR.") (name "antlr3") (version "3.5.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/antlr/antlr3/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/antlr/antlr3") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0218v683081lg54z9hvjxinhxd4dqp870jx6n39gslm0bkyi4vd6")))) + "0cafavrjmzqhklghrk8c2jqxkdwxgzskm20pbrfd3r41cn00dpnf")))) (build-system ant-build-system) (arguments `(#:jar-name (string-append ,name "-" ,version ".jar") @@ -7133,7 +7201,7 @@ tree walking, and translation.") (inputs `(("junit" ,java-junit))))) -(define antlr3-3.3 +(define-public antlr3-3.3 (package (inherit antlr3) (name "antlr3") @@ -7352,7 +7420,7 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (home-page "https://github.com/barteo/microemu") (synopsis "J2ME CLDC emulator") (description "Microemulator is a Java 2 Micro Edition (J2ME) CLDC/MIDP -Emulator. It allows to demonstrate MIDlet based applications in web browser +Emulator. It demonstrates MIDlet based applications in web browser applet and can be run as a standalone java application.") (license (list license:asl2.0 ;; or altenatively: @@ -8747,7 +8815,7 @@ make data-binding work.") ("hamcrest" ,java-hamcrest-core))) (home-page "https://hdrhistogram.github.io/HdrHistogram") (synopsis "High dynamic range histogram") - (description "Hdrhistogram allows to create histograms that support + (description "Hdrhistogram creates histograms that support recording and analyzing sampled data value counts across a configurable integer value range with configurable value precision within the range. Value precision is expressed as the number of significant digits in the value recording, and @@ -9049,12 +9117,14 @@ those in Perl and JavaScript.") (name "java-fest-util") (version "1.2.5") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alexruiz/fest-util/" - "archive/fest-util-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexruiz/fest-util/") + (commit (string-append "fest-util-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "05g6hljz5mdaakk8d7g32klbhz9bdwp3qlj6rdaggdidxs3x1sb8")))) + "02kgal7v85snyyvcsxvn4qphid455f4smh2wri1il8d9asw0djbz")))) (build-system ant-build-system) (arguments `(#:jar-name "java-fest-util.jar" @@ -9072,12 +9142,14 @@ those in Perl and JavaScript.") (name "java-fest-test") (version "2.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alexruiz/fest-test/" - "archive/fest-test-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexruiz/fest-test/") + (commit (string-append "fest-test-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1rxfbw6l9vc65iy1x3fb617qc6y4w2k430pgf1mfbxfdlxbm0f7g")))) + "0mg1d2jfh7kbx2c40dchbjr6d8pv59snsyb13mfxsr7xk5n69qbn")))) (build-system ant-build-system) (arguments `(#:jar-name "java-fest-test.jar" @@ -9095,12 +9167,14 @@ those in Perl and JavaScript.") (name "java-fest-assert") (version "2.0M10") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/alexruiz/fest-assert-2.x/" - "archive/fest-assert-core-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/alexruiz/fest-assert-2.x/") + (commit (string-append "fest-assert-core-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1bi0iqavikzww6rxvz5jyg7y6bflv95s6ibryxx0xfcxrrw6i5lw")))) + "1cp8zzyag3s85fz2w68sda9zzaal1y5f9wl8g72wkm12an40w6by")))) (build-system ant-build-system) (arguments `(#:jar-name "java-fest-assert.jar" @@ -9371,13 +9445,14 @@ by technical operatives or consultants working with enterprise platforms.") (name "java-lz4") (version "1.4.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/lz4/lz4-java/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/lz4/lz4-java") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "096dm57p2lzqk28n0j2p52x2j3cvnsd2dfqn43n7vbwrkjsy7y54")))) + "0ydjakhv3cz34mfvv14qrh2ksdxifgjwwagjy7r46qr3f68hnf6y")))) (build-system ant-build-system) (arguments `(#:jar-name "lz4.jar" @@ -9386,6 +9461,10 @@ by technical operatives or consultants working with enterprise platforms.") #:tests? #f; FIXME: requires more dependencies #:phases (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")) + #t)) (add-before 'configure 'generate-source (lambda _ (with-directory-excursion "src/build/source_templates" @@ -9404,13 +9483,15 @@ algorithms and xxHash hashing algorithm.") (name "java-bouncycastle") (version "1.60") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/bcgit/bc-java/archive/r" - (substring version 0 1) "v" - (substring version 2 4) ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "http://git.bouncycastle.org/repositories/bc-java") + ;(url "https://github.com/bcgit/bc-java") + (commit (string-append "r1rv" (substring version 2 4))))) + (file-name (git-file-name name version)) (sha256 (base32 - "0v434513y708qc87k4xz13p2kzydc736lk3ks67df9mg11s7hchv")) + "1m921a1ac2dl797ffzg3d4j97ch308f25spb4jgsj3npfmmys5gb")) (modules '((guix build utils))) (snippet '(begin @@ -11576,7 +11657,7 @@ the application using Java to Lisp integration APIs.") (description "JSON Processing (JSON-P) is a Java API to process (e.g. parse, generate, transform and query) JSON messages. It produces and consumes JSON text in a streaming fashion (similar to StAX API for XML) -and allows to build a Java object model for JSON text using API classes +and allows building a Java object model for JSON text using API classes (similar to DOM API for XML).") ;; either gpl2 only with classpath exception, or epl2.0. (license (list license:gpl2 diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 65a5e42beb..16a4705a07 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +29,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages curl) #:use-module (gnu packages elf) #:use-module (gnu packages gcc) #:use-module (gnu packages llvm) @@ -41,29 +43,30 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages textutils) + #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages wget) #:use-module (ice-9 match)) (define libuv-julia - (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") - (revision "6")) - ;; When upgrading Julia, also upgrade this. - ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/deps/libuv.version + (let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1") + (revision "1")) + ;; When upgrading Julia, also upgrade this. Get the commit from + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") - (version (string-append "1.9.0-" revision "." (string-take commit 8))) + (version (git-version "2.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/JuliaLang/libuv.git") - (commit commit))) + (url "https://github.com/JuliaLang/libuv.git") + (commit commit))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n")))) + "0dn3v6fdp1z382pqg3nhjzk60l61ky9b65mfgaj29fv2da95rwjs")))) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -72,93 +75,115 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) -(define (llvm-patch-url version name) +(define libunwind-julia + ;; The Julia projects requires their patched version. + ;; Get from https://github.com/JuliaLang/julia/tree/master/deps/patches + (package + (inherit libunwind) + (name "libunwind-julia") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/libunwind/libunwind-" + version ".tar.gz")) + (sha256 + (base32 + "1y0l08k6ak1mqbfj6accf9s5686kljwgsl4vcqpxzk5n74wpm6a3")) + (patches + (list + (julia-patch "libunwind-prefer-extbl" + "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") + (julia-patch "libunwind-static-arm" + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) + (home-page "https://github.com/JuliaLang/tree/master/deps/"))) + +(define (julia-patch-url version name) (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version - "/deps/patches/" name)) + "/deps/patches/" name)) -(define (llvm-patch name sha) - (let ((version "1.1.1")) +(define (julia-patch name sha) + (let ((version "1.3.1")) (origin (method url-fetch) - (uri (llvm-patch-url version name)) - (sha256 (base32 sha)) - (file-name name)))) + (uri (julia-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) (define llvm-julia (package (inherit llvm-6) (name "llvm-julia") (source (origin - (method url-fetch) - (uri "http://releases.llvm.org/6.0.1/llvm-6.0.1.src.tar.xz") - (sha256 - (base32 - "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn")) + (inherit (package-source llvm-6)) ;; Those patches are inside the Julia source repo. ;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm) ;; but they are required to build Julia. ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 (patches - (list - (llvm-patch "llvm-6.0-D44650.patch" - "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") - (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" - "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") - (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" - "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") - (llvm-patch "llvm-6.0.0_D27296-libssp.patch" - "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") - (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" - "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") - (llvm-patch "llvm-D34078-vectorize-fdiv.patch" - "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") - (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" - "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") - (llvm-patch "llvm-D44892-Perf-integration.patch" - "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") - (llvm-patch "llvm-D46460.patch" - "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") - (llvm-patch "llvm-D49832-SCEVPred.patch" - "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") - (llvm-patch "llvm-D50010-VNCoercion-ni.patch" - "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") - (llvm-patch "llvm-D50167-scev-umin.patch" - "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") - (llvm-patch "llvm-OProfile-line-num.patch" - "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") - (llvm-patch "llvm-PPC-addrspaces.patch" - "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") - (llvm-patch "llvm-rL323946-LSRTy.patch" - "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") - (llvm-patch "llvm-rL326967-aligned-load.patch" - "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") - (llvm-patch "llvm-rL327898.patch" - "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (map (match-lambda + ((name hash) + (julia-patch name hash))) + (list + '("llvm-6.0-D44650" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") + '("llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") + '("llvm-6.0-NVPTX-addrspaces" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") + '("llvm-6.0.0_D27296-libssp" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") + '("llvm-D27629-AArch64-large_model_6.0.1" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") + '("llvm-D34078-vectorize-fdiv" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") + '("llvm-D42262-jumpthreading-not-i1" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") + '("llvm-D44892-Perf-integration" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") + '("llvm-D46460" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") + '("llvm-D49832-SCEVPred" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") + '("llvm-D50010-VNCoercion-ni" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") + '("llvm-D50167-scev-umin" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") + '("llvm-OProfile-line-num" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") + '("llvm-PPC-addrspaces" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") + '("llvm-rL323946-LSRTy" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") + '("llvm-rL326967-aligned-load" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") + '("llvm-rL327898" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq")))))) (arguments (substitute-keyword-arguments (package-arguments llvm-6) ((#:configure-flags flags) `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so - "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_BUILD_TYPE=Release" - ;; Build a native compiler and the NVPTX backend (NVIDIA) since - ;; Julia insists on it, nothing more. This reduces build times and - ;; disk usage. - ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target)) - "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX" + ;; Build a native compiler and the NVPTX backend (NVIDIA) since + ;; Julia insists on it, nothing more. This reduces build times and + ;; disk usage. + ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target)) + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX" - "-DLLVM_INSTALL_UTILS=ON" - "-DLLVM_BUILD_TESTS=ON" - "-DLLVM_ENABLE_FFI=ON" - "-DLLVM_ENABLE_RTTI=ON" - ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" - ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" - ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" - "-DLLVM_ENABLE_DUMP=ON" - "-DLLVM_LINK_LLVM_DYLIB=ON")))))) + "-DLLVM_INSTALL_UTILS=ON" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" + ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" + ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" + "-DLLVM_ENABLE_DUMP=ON" + "-DLLVM_LINK_LLVM_DYLIB=ON")))))) (define-public julia (package (name "julia") - (version "1.1.1") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append @@ -166,7 +191,9 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) + "1nwkmr9j55g1zkxdchnid1h022s0is52vx23niksshgvh793g41x")) + (patches + (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -188,32 +215,27 @@ (add-after 'unpack 'prepare-deps (lambda* (#:key inputs #:allow-other-keys) (mkdir "deps/srccache") - (copy-file (assoc-ref inputs "dsfmt") - "deps/srccache/dsfmt-2.2.3.tar.gz") + ;; no USE_SYSTEM_{OBJCONV/LIBWHICH} option (copy-file (assoc-ref inputs "objconv") "deps/srccache/objconv.zip") - (copy-file (assoc-ref inputs "suitesparse") - "deps/srccache/SuiteSparse-4.4.5.tar.gz") - (copy-file (string-append (assoc-ref inputs "virtualenv") - "/bin/virtualenv") - "julia-env") (copy-file (assoc-ref inputs "libwhich") (string-append "deps/srccache/libwhich-" "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" ".tar.gz")) - (copy-file (assoc-ref inputs "rmath") - "deps/srccache/Rmath-julia-0.1.tar.gz") - ;; needed by libwhich - (setenv "LD_LIBRARY_PATH" - (string-join (map (lambda (pkg) + ;; needed by libwhich + (setenv "LD_LIBRARY_PATH" + (string-join (map (lambda (pkg) (string-append (assoc-ref inputs pkg) "/lib")) - '("arpack-ng" "fftw" "gmp" "lapack" - "libgit2" "mpfr" "openblas" "openlibm" - "openspecfun" "pcre2")) + '("arpack-ng" "curl" "dsfmt" + "gmp" "lapack" + "libssh2" "libgit2" + "mbedtls" "mpfr" + "openblas" "openlibm" "pcre2" + "suitesparse")) ":")) - #t)) + #t)) ;; FIXME: Building the documentation requires Julia packages that ;; would be downloaded from the Internet. We should build them in a ;; separate build phase. @@ -229,172 +251,152 @@ ;; Some tests require a home directory to be set. (lambda _ (setenv "HOME" "/tmp") #t)) (add-after 'unpack 'hardcode-soname-map - ;; ./src/runtime_ccall.cpp creates a map from library names to paths - ;; using the output of "/sbin/ldconfig -p". Since ldconfig is not - ;; used in Guix, we patch runtime_ccall.cpp to contain a static map. - (lambda* (#:key inputs #:allow-other-keys) - (use-modules (ice-9 match)) - (substitute* "src/runtime_ccall.cpp" - ;; Patch out invocations of '/sbin/ldconfig' to avoid getting - ;; error messages about missing '/sbin/ldconfig' on Guix System. - (("popen\\(.*ldconfig.*\\);") - "NULL;\n") - - ;; Populate 'sonameMap'. - (("jl_read_sonames.*;") - (string-join - (map (match-lambda - ((input libname soname) - (string-append - "sonameMap[\"" libname "\"] = " - "\"" (assoc-ref inputs input) "/lib/" soname "\";"))) - '(("libc" "libc" "libc.so.6") - ("pcre2" "libpcre2-8" "libpcre2-8.so") - ("mpfr" "libmpfr" "libmpfr.so") - ("openblas" "libblas" "libopenblas.so") - ("arpack-ng" "libarpack" "libarpack.so") - ("lapack" "liblapack" "liblapack.so") - ("libgit2" "libgit2" "libgit2.so") - ("gmp" "libgmp" "libgmp.so") - ("openspecfun" "libopenspecfun" "libopenspecfun.so") - ("fftw" "libfftw3" "libfftw3_threads.so") - ("fftwf" "libfftw3f" "libfftw3f_threads.so")))))) - (substitute* "base/math.jl" - (("const libm = Base.libm_name") - (string-append "const libm = \"" - (assoc-ref inputs "openlibm") - "/lib/libopenlibm.so" - "\"")) - (("const openspecfun = \"libopenspecfun\"") - (string-append "const openspecfun = \"" - (assoc-ref inputs "openspecfun") - "/lib/libopenspecfun.so" - "\""))) - #t)) + ;; ./src/runtime_ccall.cpp creates a map from library names to paths + ;; using the output of "/sbin/ldconfig -p". Since ldconfig is not + ;; used in Guix, we patch runtime_ccall.cpp to contain a static map. + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "base/math.jl" + (("const libm = Base.libm_name") + (string-append "const libm = \"" + (assoc-ref inputs "openlibm") + "/lib/libopenlibm.so" + "\""))) + #t)) (add-before 'build 'fix-include-and-link-paths - (lambda* (#:key inputs #:allow-other-keys) - ;; LIBUTF8PROC is a linker flag, not a build target. It is - ;; included in the LIBFILES_* variable which is used as a - ;; collection of build targets and a list of libraries to link - ;; against. - (substitute* "src/flisp/Makefile" - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") - "$(BUILDDIR)/$(EXENAME): $(OBJS) $(LLT_release)") - (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug: \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") - "$(BUILDDIR)/$(EXENAME)-debug: $(DOBJS) $(LLT_debug)")) + (lambda* (#:key inputs #:allow-other-keys) + ;; LIBUTF8PROC is a linker flag, not a build target. It is + ;; included in the LIBFILES_* variable which is used as a + ;; collection of build targets and a list of libraries to link + ;; against. + (substitute* "src/flisp/Makefile" + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)\\$\\(EXE\\): \\$\\(OBJS\\) \\$\\(LIBFILES_release\\)") + "$(BUILDDIR)/$(EXENAME)$(EXE): $(OBJS) $(LLT_release)") + (("\\$\\(BUILDDIR\\)/\\$\\(EXENAME\\)-debug$(EXE): \\$\\(DOBJS\\) \\$\\(LIBFILES_debug\\)") + "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)")) - ;; The REPL must be linked with libuv. - (substitute* "ui/Makefile" - (("JLDFLAGS \\+= ") - (string-append "JLDFLAGS += " - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so "))) + ;; The REPL must be linked with libuv. + (substitute* "ui/Makefile" + (("JLDFLAGS \\+= ") + (string-append "JLDFLAGS += " + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so "))) - (substitute* "base/Makefile" - (("\\$\\(build_includedir\\)/uv/errno.h") - (string-append (assoc-ref inputs "libuv") - "/include/uv/errno.h"))) - #t)) + (substitute* "base/Makefile" + (("\\$\\(build_includedir\\)/uv/errno.h") + (string-append (assoc-ref inputs "libuv") + "/include/uv/errno.h"))) + #t)) (add-before 'build 'replace-default-shell - (lambda _ - (substitute* "base/client.jl" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" - (("`which") (string-append "`" (which "which"))) - (("`wget") (string-append "`" (which "wget")))) + (substitute* "base/client.jl" + (("/bin/sh") (which "sh"))) + #t)) + (add-before 'build 'fix-precompile + (lambda _ + (substitute* "base/loading.jl" + (("something(Base.active_project(), \"\")") "\"\"")) #t)) (add-before 'check 'disable-broken-tests (lambda _ - (define (touch file-name) - (call-with-output-file file-name (const #t))) - ;; FIXME: All git tests works except this one. But *THIS* "fix" - ;; is not working, so right now I'm disabling all libgit2.jl tests - ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" - ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") - ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) - (map (lambda (test) - (delete-file test) - (touch test)) - '("stdlib/Sockets/test/runtests.jl" - "stdlib/Distributed/test/runtests.jl" - ;; FIXME: see above - "stdlib/LibGit2/test/libgit2.jl")) - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"cmdlineargs\",") "")) - #t))) + (substitute* "test/choosetests.jl" + (("tests = testnames") + ;; Those failings are not deterministic. They depends on the + ;; running order. I think it depends on the number of + ;; runners, disabling it for now + ;; https://github.com/JuliaLang/julia/issues/34330 + "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\", + \"stress\",\"precompile\", + \"client\",\"stacktraces\"]), + testnames)")) + ;; When HOME is not set, julia calls uv_os_homedir, which in + ;; turns call getpwuid_r. Add the HOME env variable to the + ;; external julia call to fix this + (substitute* "test/cmdlineargs.jl" + (("\"JULIA_PROJECT\"") "\"HOME\"=>\"/tmp\", \"JULIA_PROJECT\"")) + ;; Marking the test as broken as it's a known bug: + ;; https://github.com/JuliaLang/julia/issues/32377 + (substitute* "stdlib/REPL/test/replcompletions.jl" + (("@test count") "@test_broken count")) + #t)) + (add-after 'install 'make-wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (program "julia")) + (with-directory-excursion bin + (wrap-program program + `("JULIA_LOAD_PATH" ":" prefix + ("" "$JULIA_LOAD_PATH"))) + (wrap-program program + `("JULIA_DEPOT_PATH" ":" prefix + ("" "$JULIA_DEPOT_PATH")))) + #t)))) #:make-flags (list - (string-append "prefix=" (assoc-ref %outputs "out")) - (string-append "PREFIX=" (assoc-ref %outputs "out")) - - ;; Passing the MARCH flag is necessary to build binary substitutes for - ;; the supported architectures. - ,(match (or (%current-target-system) - (%current-system)) - ("x86_64-linux" "MARCH=x86-64") - ("i686-linux" "MARCH=pentium4") - ("aarch64-linux" "MARCH=armv8-a") - ;; Prevent errors when querying this package on unsupported - ;; platforms, e.g. when running "guix package --search=" - (_ "MARCH=UNSUPPORTED")) - - "CONFIG_SHELL=bash" ;needed to build bundled libraries - "USE_SYSTEM_DSFMT=0" ;not packaged for Guix and upstream has no - ;build system for a shared library. - "USE_SYSTEM_LAPACK=1" - "USE_SYSTEM_BLAS=1" - "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 - "LIBBLAS=-lopenblas" - "LIBBLASNAME=libopenblas" + (string-append "prefix=" (assoc-ref %outputs "out")) + (string-append "PREFIX=" (assoc-ref %outputs "out")) - "USE_SYSTEM_FFTW=1" - "LIBFFTWNAME=libfftw3" - "LIBFFTWFNAME=libfftw3f" + ;; Passing the MARCH flag is necessary to build binary substitutes for + ;; the supported architectures. + ,(match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "MARCH=x86-64") + ("i686-linux" "MARCH=pentium4") + ("aarch64-linux" "MARCH=armv8-a") + ;; Prevent errors when querying this package on unsupported + ;; platforms, e.g. when running "guix package --search=" + (_ "MARCH=UNSUPPORTED")) - ;; TODO: Suitesparse does not install shared libraries, so we cannot - ;; use the suitesparse package. - ;; "USE_SYSTEM_SUITESPARSE=1" - ;; (string-append "SUITESPARSE_INC=-I " - ;; (assoc-ref %build-inputs "suitesparse") - ;; "/include") + "CONFIG_SHELL=bash" ;needed to build bundled libraries + ;; list of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "USE_SYSTEM_DSFMT=1" + "USE_SYSTEM_P7ZIP=1" + "USE_SYSTEM_LAPACK=1" + "USE_SYSTEM_BLAS=1" + "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 + "LIBBLAS=-lopenblas" + "LIBBLASNAME=libopenblas" - "USE_GPL_LIBS=1" ;proudly - "USE_SYSTEM_UTF8PROC=1" - (string-append "UTF8PROC_INC=" - (assoc-ref %build-inputs "utf8proc") - "/include") - "USE_SYSTEM_LLVM=1" - "LLVM_VER=6.0.1" + "USE_SYSTEM_SUITESPARSE=1" + (string-append "SUITESPARSE_INC=-I " + (assoc-ref %build-inputs "suitesparse") + "/include") + "USE_GPL_LIBS=1" ;proudly + "USE_SYSTEM_UTF8PROC=1" + (string-append "UTF8PROC_INC=" + (assoc-ref %build-inputs "utf8proc") + "/include") + "USE_SYSTEM_LLVM=1" + "LLVM_VER=6.0.1" - "USE_LLVM_SHLIB=1" - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_LIBUV=1" - (string-append "LIBUV=" - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so") - (string-append "LIBUV_INC=" - (assoc-ref %build-inputs "libuv") - "/include") - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "USE_SYSTEM_OPENLIBM=1" + "USE_LLVM_SHLIB=1" + "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_LIBUV=1" + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_PATCHELF=1" + "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_OPENLIBM=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_ZLIB=1" - "USE_SYSTEM_OPENSPECFUN=1"))) + "USE_SYSTEM_GMP=1" + "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_ARPACK=1" + "USE_SYSTEM_LIBGIT2=1" + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_ZLIB=1"))) (inputs `(("llvm" ,llvm-julia) - + ("p7zip" ,p7zip) ;; The bundled version is 3.3.0 so stick to that version. With other ;; versions, we get test failures in 'linalg/arnoldi' as described in ;; <https://bugs.gnu.org/30282>. @@ -403,12 +405,12 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind) + ("libunwind" ,libunwind-julia) ("openlibm" ,openlibm) - ("openspecfun" ,openspecfun) - ("libgit2" ,libgit2) - ("fftw" ,fftw) - ("fftwf" ,fftwf) + ("mbedtls" ,mbedtls-apache) + ("curl" ,curl) + ("libgit2" ,libgit2-0.28) + ("libssh2" ,libssh2) ("fortran" ,gfortran) ("libuv" ,libuv-julia) ("pcre2" ,pcre2) @@ -418,31 +420,9 @@ ("which" ,which) ("zlib" ,zlib) ("gmp" ,gmp) - ("virtualenv" ,python2-virtualenv) - ;; FIXME: The following inputs are downloaded from upstream to allow us - ;; to use the lightweight Julia release tarball. Ideally, these inputs - ;; would eventually be replaced with proper Guix packages. - - ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" to copy static lib - ;; Find dependency versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c85812dc1c7687540beedecc52758f/deps/Versions.make - ("rmath" - ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaLang/Rmath-julia") - (commit "v0.1"))) - (file-name "rmath-julia-0.1-checkout") - (sha256 - (base32 - "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) - ("suitesparse" - ,(origin - (method url-fetch) - (uri "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-4.4.5.tar.gz") - (sha256 - (base32 - "1jcbxb8jx5wlcixzf6n5dca2rcfx6mlcms1k2rl5gp67ay3bix43")))) + ("suitesparse" ,suitesparse) + ;; Find dependencies versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versions.make ("objconv" ,(origin (method url-fetch) @@ -453,29 +433,21 @@ (base32 "0wp6ld9vk11f4nnkn56627zmlv9k5vafi99qa3yyn1pgcd61zcfs")))) ("libwhich" - ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e")) + ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e")) (origin ;; Note: We use a /tarball URL, but that's because Julia's build ;; system checks the hash of that tarball; thus we can't use ;; 'git-fetch'. - (method url-fetch) - (uri (string-append - "https://api.github.com/repos/vtjnash/libwhich/tarball/" - commit)) + (method url-fetch) + (uri (string-append + "https://api.github.com/repos/vtjnash/libwhich/tarball/" + commit)) (file-name (string-append "libwhich-" (string-take commit 7) ".tar.gz")) - (sha256 - (base32 - "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) - ("dsfmt" - ,(origin - (method url-fetch) - (uri (string-append - "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/" - "SFMT/dSFMT-src-2.2.3.tar.gz")) - (sha256 - (base32 - "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")))))) + (sha256 + (base32 + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) + ("dsfmt" ,dsfmt))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) @@ -483,9 +455,12 @@ ("pkg-config" ,pkg-config) ("python" ,python-2))) (native-search-paths - (list (search-path-specification - (variable "JULIA_LOAD_PATH") - (files (list "share/julia/packages/"))))) + (list (search-path-specification + (variable "JULIA_LOAD_PATH") + (files (list "share/julia/packages/"))) + (search-path-specification + (variable "JULIA_DEPOT_PATH") + (files (list "share/julia/"))))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) diff --git a/gnu/packages/kawa.scm b/gnu/packages/kawa.scm index 5771eeda8e..9550a01720 100644 --- a/gnu/packages/kawa.scm +++ b/gnu/packages/kawa.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,18 +28,25 @@ (define-public kawa (package (name "kawa") - (version "3.0") + (version "3.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/kawa/kawa-" version ".tar.gz")) (sha256 - (base32 - "1k9qpydc64ar4aqyg3q7jmmxy503ayj85227qfhc5n6ngchqavhy")))) + (base32 "06g015zjlfgsx0n4lb326czkbf1grlx0n6dx074m808hdg6m16lc")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f - #:parallel-tests? #f)) + #:parallel-tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-kawa + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/share/kawa/bin/kawa") + `("JAVA_HOME" ":" = (,(assoc-ref inputs "icedtea")))) + #t)))))) (inputs `(("icedtea" ,icedtea-8 "jdk"))) (home-page "https://www.gnu.org/software/kawa/") diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index aab54ec4fb..dad50fad24 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -957,10 +958,10 @@ to flat and hierarchical lists.") "11kpq34j37c1gsvj5nxhkc31bw8gw2n7nkqsfx87jw9f4v2vhmr9")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) - (inputs - `(("qtbase" ,qtbase) + `(("extra-cmake-modules" ,extra-cmake-modules) ("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase))) (home-page "https://community.kde.org/Frameworks") (synopsis "Data plotting library") (description "KPlotWidget is a QWidget-derived class that provides a virtual @@ -2448,7 +2449,8 @@ with su and ssh respectively.") "1s3bmn1ck7xvc7a6gv7ywv9161hdahiiw20aq88s4qkm2s5wyy6v")))) (build-system cmake-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) (inputs `(("kconfig" ,kconfig) ("kcoreaddons" ,kcoreaddons) @@ -2458,7 +2460,6 @@ with su and ssh respectively.") ("kservice" ,kservice) ("kwallet" ,kwallet) ("qtbase" ,qtbase) - ("qttools" ,qttools) ("qtwebkit" ,qtwebkit))) (home-page "https://community.kde.org/Frameworks") (synopsis "KDE Integration for QtWebKit") @@ -2558,6 +2559,7 @@ window does not need focus for them to be activated.") (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools) ("shared-mime-info" ,shared-mime-info))) (inputs `(("karchive" ,karchive) @@ -2570,8 +2572,7 @@ window does not need focus for them to be activated.") ("kitemviews" ,kitemviews) ("kwidgetsaddons" ,kwidgetsaddons) ("qtbase" ,qtbase) - ("qtsvg" ,qtsvg) - ("qttools" ,qttools))) + ("qtsvg" ,qtsvg))) (arguments `(#:phases (modify-phases %standard-phases @@ -2686,6 +2687,7 @@ consumption.") ("solid" ,solid))) (native-inputs `(("dbus" ,dbus) + ("qttools" ,qttools) ("extra-cmake-modules" ,extra-cmake-modules))) (inputs `(;; TODO: LibACL , <ftp://oss.sgi.com/projects/xfs/cmd_tars> @@ -2708,7 +2710,6 @@ consumption.") ("libxslt" ,libxslt) ("qtbase" ,qtbase) ("qtscript" ,qtscript) - ("qttools" ,qttools) ("qtx11extras" ,qtx11extras) ("sonnet" ,sonnet))) (arguments @@ -3241,7 +3242,8 @@ the passwords on KDE work spaces.") `(("kconfig" ,kconfig) ("kconfigwidgets" ,kconfigwidgets))) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) + `(("extra-cmake-modules" ,extra-cmake-modules) + ("qttools" ,qttools))) (inputs `(("attica" ,attica) ("kauth" ,kauth) @@ -3255,7 +3257,6 @@ the passwords on KDE work spaces.") ("kwidgetsaddons" ,kwidgetsaddons) ("kwindowsystem" ,kwindowsystem) ("qtbase" ,qtbase) - ("qttools" ,qttools) ("sonnet" ,sonnet))) (arguments `(#:tests? #f ; FIXME: 1/5 tests fail. @@ -3536,7 +3537,7 @@ workspace.") ("shared-mime-info" ,shared-mime-info) ("kjobwidgets" ,kjobwidgets) ;; required for running the tests ("strace" ,strace) - ("tzdata" ,tzdata))) + ("tzdata" ,tzdata-for-tests))) (propagated-inputs ;; These are required to be installed along with this package, see ;; lib64/cmake/KF5KDELibs4Support/KF5KDELibs4SupportConfig.cmake diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm index 12aa9fe53a..5eb90cfb7c 100644 --- a/gnu/packages/kde-internet.scm +++ b/gnu/packages/kde-internet.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages serialization) #:use-module (gnu packages ssh) #:use-module (gnu packages telephony) + #:use-module (gnu packages linphone) #:use-module (gnu packages tls) #:use-module (gnu packages video) #:use-module (gnu packages web) @@ -451,7 +452,7 @@ a full-featured client for BitTorrent.") `(#:tests? #f)) ;; 2/7 tests fail (due to network issues?) (home-page "https://cgit.kde.org/libgravatar.git") (synopsis "Online avatar lookup library") - (description "This library allows to retrieve avatar images based on a + (description "This library retrieves avatar images based on a hash from a person's email address, as well as local caching to avoid unnecessary network operations.") (license ;; GPL for programs, LGPL for libraries diff --git a/gnu/packages/kde-multimedia.scm b/gnu/packages/kde-multimedia.scm index 4c1d5e7244..639d74d894 100644 --- a/gnu/packages/kde-multimedia.scm +++ b/gnu/packages/kde-multimedia.scm @@ -191,7 +191,7 @@ This package is part of the KDE multimedia module.") (home-page "https://kde.org/applications/multimedia/org.kde.elisa") (synopsis "Powerful music player for Plasma 5") (description "Elisa is a simple music player aiming to provide a nice -experience for its users. Elisa allows to browse music by album, artist or +experience for its users. Elisa browses music by album, artist or all tracks. The music is indexed using either a private indexer or an indexer using Baloo. The private one can be configured to scan music on chosen paths. The Baloo one is much faster because Baloo is providing all needed data from diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 1b99ae1de4..cb24f0efbf 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -53,7 +53,7 @@ (patches (search-patches "akonadi-paths.patch" "akonadi-timestamps.patch" - "akonadi-Revert-Make-installation-properly-relo.patch")))) + "akonadi-not-relocatable.patch")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -623,7 +623,7 @@ functions for accessing calendar data using the kcalcore API.") ("qtxmlpatterns" ,qtxmlpatterns))) (home-page "https://cgit.kde.org/kdav.git") (synopsis "DAV protocol implementation with KJobs") - (description "This is a DAV protocol implemention with KJobs. Calendars + (description "This is a DAV protocol implementation with KJobs. Calendars and todos are supported, using either GroupDAV or CalDAV, and contacts are supported using GroupDAV or CardDAV.") (license ;; GPL for programs, LGPL for libraries @@ -670,7 +670,7 @@ supported using GroupDAV or CardDAV.") ("qtbase" ,qtbase))) (home-page "https://cgit.kde.org/kdepim-apps-libs.git") (synopsis "KDE PIM mail related libraries and data files") - (description "This packages provides mail related libraries and data files + (description "This package provides mail related libraries and data files for KDE PIM.") (license ;; GPL for programs, LGPL for libraries (list license:gpl2+ license:lgpl2.0+)))) @@ -1095,7 +1095,7 @@ and retrieving certificates from LDAP servers.") (description "KMail supports multiple accounts, mail filtering and email encryption. The program let you configure your workflow and it has good integration into KDE (Plasma Desktop) but is also useable with other Desktop -Envionments. +Environments. KMail is the email component of Kontact, the integrated personal information manager from KDE.") @@ -1346,7 +1346,7 @@ using a Qt/KMime C++ API.") `(#:tests? #f)) ;; TODO many test fail for quite different reasons (home-page "https://cgit.kde.org/messagelib.git") (synopsis "KDE PIM messaging libraries") - (description "This packages provides several libraries for messages, + (description "This package provides several libraries for messages, e.g. a message list, a mime tree parse, a template parser and the kwebengineviewer.") (license ;; GPL for programs, LGPL for libraries diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm index cd1b442169..d51566341d 100644 --- a/gnu/packages/kde-systemtools.scm +++ b/gnu/packages/kde-systemtools.scm @@ -83,7 +83,7 @@ (description "Dolphin is a file manager for KDE focusing on usability. The main features of Dolphin are: @itemize -@item Navigation bar for URLs, which allows to navigate quickly +@item Navigation bar for URLs, which navigates quickly through the file hierarchy. @item View properties are remembered for each folder. @item Split of views is supported. diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 88f31c7d1a..f9dc6099e1 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -987,7 +987,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (define-public libreoffice (package (name "libreoffice") - (version "6.4.1.2") + (version "6.4.2.2") (source (origin (method url-fetch) @@ -997,7 +997,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (version-prefix version 3) "/libreoffice-" version ".tar.xz")) (sha256 (base32 - "02iz94flpxgkvlipk3psddzw2gdq2j4nv7z01kphs5107sfs0r0d")))) + "06acm41q9nda8r30b13cn9zafsw1gszjdphh6lx90s09d2sf7f23")))) (build-system glib-or-gtk-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/linphone.scm b/gnu/packages/linphone.scm new file mode 100644 index 0000000000..e7d3cf7aaf --- /dev/null +++ b/gnu/packages/linphone.scm @@ -0,0 +1,625 @@ +;;; GNU Guix --- Functional package management for GNU +;;; +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; +;;; 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 linphone) + #:use-module (gnu packages) + #:use-module (gnu packages admin) + #:use-module (gnu packages audio) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gnome-xyz) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages linux) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages java) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages telephony) + #:use-module (gnu packages tls) + #:use-module (gnu packages video) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system cmake) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system gnu)) + +(define-public bcunit + (package + (name "bcunit") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0ylchj8w98ic2fkqpxc6yk4s6s0h0ql2zsz5n49jd7126m4h8dqk")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) ; Not required + (synopsis "Belledonne Communications Unit Testing Framework") + (description "BCUnit is a fork of the defunct project CUnit, +with several fixes and patches applied. It is an unit testing +framework for writing, administering, and running unit tests in C.") + (home-page "https://gitlab.linphone.org/BC/public/bcunit") + (license license:lgpl2.0+))) + +(define-public bctoolbox + (package + (name "bctoolbox") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1a1i70pb4hhnykkwyhhc7fv67q556l8kprny8xzgfqpj1nby2ms6")))) + (build-system cmake-build-system) + (arguments + '(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=OFF"))) ; Not required + (inputs + `(("bcunit" ,bcunit) + ("mbedtls" ,mbedtls-apache))) + (synopsis "Belledonne Communications Tool Box") + (description "BcToolBox is an utilities library used by Belledonne +Communications software like belle-sip, mediastreamer2 and linphone.") + (home-page "https://gitlab.linphone.org/BC/public/bctoolbox") + (license license:gpl2+))) + +(define-public belr + (package + (name "belr") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1fwv2cg3qy9vdc7dimcda7nqcqc1h2cdd7ikhk7ng7q4ys8m96c1")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=OFF"))) ; Not required + (inputs + `(("bctoolbox" ,bctoolbox))) + (synopsis "Belledonne Communications Language Recognition Library") + (description "Belr is Belledonne Communications' language recognition library, +written in C++11. It parses text inputs formatted according to a language +defined by an ABNF grammar, such as the protocols standardized at IETF.") + (home-page "https://gitlab.linphone.org/BC/public/belr") + (license license:gpl3+))) + +(define-public belcard + (package + (name "belcard") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0iiyrll1shnbb0561pkvdqcmx9b2cdr76xpsbaqdirc3s4xzcl0k")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=OFF"))) ; Not required + (inputs + `(("bctoolbox" ,bctoolbox) + ("belr" ,belr))) + (synopsis "Belledonne Communications VCard Library") + (description "Belcard is a C++ library to manipulate VCard standard format.") + (home-page "https://gitlab.linphone.org/BC/public/belcard") + (license license:gpl3+))) + +(define-public bcmatroska2 + (package + (name "bcmatroska2") + (version "0.23") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1a0vlk4fhh189pfzrwbc3xbc5vyx6cnxy642d1h40045jz9y4h15")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) ; Not required + (synopsis "Belledonne Communications Media Container") + (description "BcMatroska is a free and open standard multi-media +container format. It can hold an unlimited number of video, audio, +picture, or subtitle tracks in one file. ") + (home-page "https://gitlab.linphone.org/BC/public/bcmatroska2") + (license + (list + ;; That license applies for Core C and LibEBML2. + ;; https://www.matroska.org/node/47 + license:bsd-4 + ;; That license applies for LibMatroska2. + ;; https://www.matroska.org/node/47 + license:lgpl2.1+)))) + +(define-public bcg729 + (package + (name "bcg729") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "01y34ky7ykjgfnf8a9f59hg61fqfjiprfrzshdz06w0lz4gvy3qs")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) ; Not required + (synopsis "Belledonne Communications G729 Codec") + (description "BcG729 is an implementation of both encoder and decoder of +the ITU G729 speech codec. The library written in C 99 is fully portable and +can be executed on many platforms including both ARM and x86 processors. It +supports concurrent channels encoding and decoding for multi call application +such as conferencing.") + (home-page "https://gitlab.linphone.org/BC/public/belcard") + (license license:gpl2+))) + +(define-public ortp + (package + (name "ortp") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "016qg0lmdgmqh2kv19w9qhi4kkiyi5h1xp35g2s65b1j8ccm25d5")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) ; Not required + (native-inputs + `(("dot" ,graphviz) + ("doxygen" ,doxygen))) + (inputs + `(("bctoolbox" ,bctoolbox))) + (synopsis "Belledonne Communications RTP Library") + (description "oRTP is a C library implementing the RTP protocol. It +implements the RFC 3550 standard.") + (home-page "https://gitlab.linphone.org/BC/public/ortp") + (license license:gpl2+))) + +(define-public bzrtp + (package + (name "bzrtp") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "12y0kkh90pixaaxfyx26ca2brhy6nw57fsypp6vh8jk1illv0j5z")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) + (inputs + `(("bctoolbox" ,bctoolbox) + ("sqlite3" ,sqlite) + ("xml2" ,libxml2))) + (synopsis "Belledonne Communications ZRTP Library") + (description "BZRTP is an implementation of ZRTP keys exchange +protocol, written in C. It is fully portable and can be executed on many +platforms including both ARM and x86.") + (home-page "https://gitlab.linphone.org/BC/public/bzrtp") + (license license:gpl2+))) + +(define-public belle-sip + (package + (name "belle-sip") + (version "1.6.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" name + "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0s55kggmgxap54dkw5856bgk4xg7yvbzialpxnjm0zhpic3hff1z")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; Requires network access + #:configure-flags + (list + "-DENABLE_STATIC=NO") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (substitute* "src/CMakeLists.txt" + ;; ANTLR would use multithreaded DFA generation + ;; otherwise--which would not be reproducible. + (("-Xmultithreaded ") "")) + #t))))) + (inputs + `(("antlr3" ,antlr3-3.3) + ("antlr3c" ,libantlr3c) + ("bctoolbox" ,bctoolbox) + ("java" ,icedtea) + ("zlib" ,zlib))) + (synopsis "Belledonne Communications SIP Library") + (description "Belle-sip is a modern library implementing SIP transport, +transaction and dialog layers. It is written in C, with an object-oriented +API. It also comprises a simple HTTP/HTTPS client implementation.") + (home-page "https://gitlab.linphone.org/BC/public/belle-sip") + (license license:gpl2+))) + +(define-public mediastreamer2 + (package + (name "mediastreamer2") + (version "2.16.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/" + "mediastreamer/mediastreamer-" version ".tar.gz")) + (sha256 + (base32 "0whpqr69wz0pnzvragkpfblxhd0rds8k06c3mw5a0ag216a1yd9k")) + (patches (search-patches "mediastreamer2-srtp2.patch")))) + (outputs '("out" "doc" "tester")) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO" ; Not required + "-DENABLE_STRICT=NO" ; Would otherwise treat warnings as err + "-DENABLE_BV16=NO" ; Not available + "-DCMAKE_C_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"" + "-DCMAKE_CXX_FLAGS=-DMS2_GIT_VERSION=\\\"unknown\\\"") + #:phases + (modify-phases %standard-phases + (add-after 'install 'separate-outputs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (tester (assoc-ref outputs "tester")) + (tester-name (string-append ,name "_tester"))) + ;; Copy the tester executable. + (mkdir-p (string-append tester "/bin")) + (rename-file (string-append out "/bin/" tester-name) + (string-append tester "/bin/" tester-name)) + ;; Copy the tester data files. + (copy-recursively (string-append out "/share/" tester-name) + (string-append tester "/share/" tester-name)) + (delete-file-recursively (string-append out "/share/" + tester-name)) + ;; Copy the HTML documentation. + (copy-recursively (string-append out "/share/doc/" + ,name "-" ,version "/html") + (string-append doc "/share/doc/" + ,name "-" ,version "/html")) + (delete-file-recursively (string-append out "/share/doc/" + ,name "-" ,version + "/html")) + #t)))))) + (native-inputs + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("python" ,python))) + (inputs + `(("alsa" ,alsa-lib) + ("bcg729" ,bcg729) + ("bcmatroska2" ,bcmatroska2) + ("bctoolbox" ,bctoolbox) + ("ffmpeg" ,ffmpeg) + ("glew" ,glew) + ("glu" ,glu) + ("glx" ,mesa-utils) + ("gsm" ,gsm) + ("opengl" ,mesa) + ("opus" ,opus) + ("ortp" ,ortp) + ("pcap" ,libpcap) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio) + ("spandsp" ,spandsp) + ("speex" ,speex) + ("speexdsp" ,speexdsp) + ("srtp" ,libsrtp) + ("theora" ,libtheora) + ("turbojpeg" ,libjpeg-turbo) + ("v4l" ,v4l-utils) + ("vpx" ,libvpx) + ("x11" ,libx11) + ("xv" ,libxv) + ("zrtp", bzrtp))) + (synopsis "Belledonne Communications Streaming Engine") + (description "Mediastreamer2 is a powerful and lightweight +streaming engine for telephony applications. This media processing +and streaming toolkit is responsible for receiving and sending all +multimedia streams in Linphone, including media capture, encoding and +decoding, and rendering.") + (home-page "https://gitlab.linphone.org/BC/public/mediastreamer2") + (license license:gpl2+))) + +(define-public liblinphone + (package + (name "liblinphone") + (version "3.12.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/linphone" + "/linphone-" version ".tar.gz")) + (sha256 + (base32 "0phhkx55xdyg28d4wn8l8q4yvsmdgzmjiw584d4s190sq1azm91x")))) + (outputs '("out" "doc" "tester")) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR=" + (string-append (assoc-ref %build-inputs "gtk2") + "/lib/gtk-2.0/include")) + (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR=" + (string-append (assoc-ref %build-inputs "glib") + "/lib/glib-2.0/include")) + "-DENABLE_STATIC=NO" ; Not required + "-DENABLE_GTK_UI=YES") ; For Legacy UI + #: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 + (lambda _ + (substitute* "gtk/main.c" + (("#include \"liblinphone_gitversion.h\"") + "")) + #t)) + (add-after 'install 'separate-outputs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (tester (assoc-ref outputs "tester")) + (tester-name (string-append ,name "_tester"))) + ;; Copy the tester executable. + (mkdir-p (string-append tester "/bin")) + (rename-file (string-append out "/bin/" tester-name) + (string-append tester "/bin/" tester-name)) + ;; Copy the tester data files. + (mkdir-p (string-append tester "/share/")) + (rename-file (string-append out "/share/" tester-name) + (string-append tester "/share/" tester-name)) + ;; Copy the HTML and XML documentation. + (copy-recursively + (string-append out "/share/doc/linphone-" ,version) + (string-append doc "/share/doc/" ,name "-" ,version)) + (delete-file-recursively + (string-append out "/share/doc/linphone-" ,version)) + #t))) + (add-after 'separate-outputs '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))))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("udev" ,eudev) ;for libudev.h + ;; For generating the C++ wrappers. + ("dot" ,graphviz) + ("doxygen" ,doxygen) + ("python" ,python) + ("pystache" ,python-pystache) + ("six" ,python-six))) + (inputs + `(("bctoolbox" ,bctoolbox) + ("belcard" ,belcard) + ("bellesip" ,belle-sip) + ("bzrtp", bzrtp) + ("iconv" ,libiconv) + ("glib" ,glib) + ("gtk2" ,gtk+-2) + ("mediastreamer2" ,mediastreamer2) + ("notify" ,libnotify) + ("ortp" ,ortp) + ("sqlite" ,sqlite) + ("xml2" ,libxml2) + ("zlib" ,zlib))) + (synopsis "Belledonne Communications Softphone Library") + (description "Liblinphone is a high-level SIP library integrating +all calling and instant messaging features into an unified +easy-to-use API. It is the cross-platform VoIP library on which the +Linphone application is based on, and that anyone can use to add audio +and video calls or instant messaging capabilities to an application.") + (home-page "https://gitlab.linphone.org/BC/public/liblinphone") + (license license:gpl2+))) + +(define-public msopenh264 + (package + (name "msopenh264") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/plugins/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8")) + (patches + (list + ;; For support for OpenH264 version >= 2. + (origin + (method url-fetch) + (uri + (string-append "https://gitlab.linphone.org/BC/public/msopenh264/commit/" + "493d147d28c9a0f788ba4e50b47a1ce7b18bf326.diff")) + (file-name "msopenh264-openh264.patch") + (sha256 + (base32 "0mmd7nz5n9ian4rcwn200nldmy5j0dpdrna7r32rqnaw82bx3kdb"))))))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) ; Not required + (inputs + `(("mediastreamer2" ,mediastreamer2) + ("openh264" ,openh264) + ("ortp" ,ortp))) + (synopsis "Media Streamer H.264 Codec") + (description "MsOpenH264 is an H.264 encoder/decoder plugin for +mediastreamer2 based on the openh264 library.") + (home-page "https://gitlab.linphone.org/BC/public/msopenh264") + (license license:gpl2+))) + +(define-public mssilk + (package + (name "mssilk") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/plugins/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "07ip0vd29d1n98lnqs5wpimcsmpm65yl7g5vk4hbqghcbsjw94lj")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) ; Not required + (inputs + `(("mediastreamer2" ,mediastreamer2) + ("ortp" ,ortp))) + (synopsis "Media Streamer SILK Codec") + (description "MSSILK is a plugin of MediaStreamer, adding support for +AMR codec. It is based on the Skype's SILK implementation.") + (home-page "https://gitlab.linphone.org/BC/public/mssilk") + (license license:gpl2+))) + +(define-public mswebrtc + (package + (name "mswebrtc") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/plugins/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "1wj28hl9myhshqmn64xg0jf07aw75gmnilb5rff6rcbdxim87mqr")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO"))) + (inputs + `(("bctoolbox" ,bctoolbox) + ("mediastreamer2" ,mediastreamer2) + ("ortp" ,ortp))) + (synopsis "Media Streamer WebRTC Codec") + (description "MSWebRTC is a plugin of MediaStreamer, adding support for +WebRTC codec. It includes features from WebRTC, such as, iSAC and AECM.") + (home-page "https://gitlab.linphone.org/BC/public/mswebrtc") + (license license:gpl2+))) + +(define-public msamr + (package + (name "msamr") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri + (string-append "https://www.linphone.org/releases/sources/plugins/" + name "/" name "-" version ".tar.gz")) + (sha256 + (base32 "16c9f3z4wnj73k7y8gb0fgpr4axsm7b5zrbjvy8vsgz9gyg3agm5")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No test target + #:configure-flags + (list + "-DENABLE_STATIC=NO" ; Not required + "-DENABLE_WIDEBAND=YES"))) + (inputs + `(("mediastreamer2" ,mediastreamer2) + ("opencoreamr" ,opencore-amr) + ("ortp" ,ortp) + ("voamrwbenc" ,vo-amrwbenc))) + (synopsis "Media Streamer AMR Codec") + (description "MSAMR is a plugin of MediaStreamer, adding support for +AMR codec. It is based on the opencore-amr implementation.") + (home-page "https://gitlab.linphone.org/BC/public/msamr") + (license license:gpl3+))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 1c23489bc2..72a2c9594b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> -;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> @@ -28,7 +28,7 @@ ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Dave Love <fx@gnu.org> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> -;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot> +;;; Copyright © 2018, 2020 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2018 Manuel Graf <graf@init.at> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> @@ -192,6 +192,12 @@ defconfig. Return the appropriate make target if applicable, otherwise return "deblob-check")) (sha256 deblob-check-hash)))) +(define deblob-scripts-5.6 + (linux-libre-deblob-scripts + "5.6.7" + (base32 "196fdbfy1f8zbmnv0ik720snig2bacsh7hfyvgbmlsfk3cil2zgv") + (base32 "1g0bi3c8xzy1vz6w1xbpkb3a26bqn9d1yphcqz2ki4aikra81wid"))) + (define deblob-scripts-5.4 (linux-libre-deblob-scripts "5.4.28" @@ -362,42 +368,51 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.4-version "5.4.28") + +(define-public linux-libre-5.6-version "5.6.7") +(define-public linux-libre-5.6-pristine-source + (let ((version linux-libre-5.6-version) + (hash (base32 "1jljcva3gxg1yc2kw3jjgmhzzdm16nylzxl63zbndjza547l5813"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-5.6))) + +(define-public linux-libre-5.4-version "5.4.35") (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "197p7rjmbs229ncj1y8s80f7n4bm8g9w0jrv1109m3rl8q9wqqy8"))) + (hash (base32 "1m06k19pbb3wz8z2dgf03jvzbbdh6q8jwwdz509s902a53vxasz1"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.113") +(define-public linux-libre-4.19-version "4.19.118") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1rf0jz7r1f4rb4k0g3glssfa1hm2ka6vlbwjlkmsx1bybxnmg85m"))) + (hash (base32 "15lcq3xky59v88vb8vvnmgcsmm1fadz0m4jyrii6rynsz5jr6x49"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.174") +(define-public linux-libre-4.14-version "4.14.177") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "12ai2lc2ny38s93d0m5ngrv030vwv1h2hhzp0fs6fhjxasikq8jc"))) + (hash (base32 "04hq0i06mg2yc09jj2xk0vhf5q9yigzjzm55a5bvfy2a6j43r9rk"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.217") +(define-public linux-libre-4.9-version "4.9.220") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "06b8av9f9pk2yp95nzv4322k0d5wsg40sxd9kfim1xzb093abckg"))) + (hash (base32 "0bhbkybzbdsbmrjmb5m7hxxl8b3v6n79zhh86cbr95kzg1hcgnfs"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.217") +(define-public linux-libre-4.4-version "4.4.220") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "0vsjchywznmjn01flgvm9vsja5zqni319rfwgy997afcbz0c9spx"))) + (hash (base32 "1knj3qsl7x3fysdz1h0s980ddbafs3658z2y67w6sn79wp7d8blg"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -430,6 +445,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (patches (append (origin-patches source) patches)))) +(define-public linux-libre-5.6-source + (source-with-patches linux-libre-5.6-pristine-source + (list %boot-logo-patch + %linux-libre-arm-export-__sync_icache_dcache-patch + ;; Pinebook Pro patch from linux-next, + ;; can be dropped for linux-libre 5.7 + (search-patch + "linux-libre-support-for-Pinebook-Pro.patch")))) + (define-public linux-libre-5.4-source (source-with-patches linux-libre-5.4-pristine-source (list %boot-logo-patch @@ -529,6 +553,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (description "Headers of the Linux-Libre kernel.") (license license:gpl2))) +(define-public linux-libre-headers-5.6 + (make-linux-libre-headers* linux-libre-5.6-version + linux-libre-5.6-source)) + (define-public linux-libre-headers-5.4 (make-linux-libre-headers* linux-libre-5.4-version linux-libre-5.4-source)) @@ -844,7 +872,24 @@ It has been modified to remove all non-free binary blobs.") linux-libre-source '("armhf-linux") #:defconfig "multi_v7_defconfig" - #:extra-version "arm-generic")) + #:extra-version "arm-generic" + #:extra-options + (append + `(;; needed to fix the RTC on rockchip platforms + ("CONFIG_RTC_DRV_RK808" . #t)) + %default-extra-linux-options))) + +(define-public linux-libre-arm-generic-5.6 + (make-linux-libre* linux-libre-5.6-version + linux-libre-5.6-source + '("armhf-linux") + #:defconfig "multi_v7_defconfig" + #:extra-version "arm-generic" + #:extra-options + (append + `(;; needed to fix the RTC on rockchip platforms + ("CONFIG_RTC_DRV_RK808" . #t)) + %default-extra-linux-options))) (define-public linux-libre-arm-veyron (deprecated-package "linux-libre-arm-veyron" linux-libre-arm-generic)) @@ -889,7 +934,24 @@ It has been modified to remove all non-free binary blobs.") linux-libre-source '("aarch64-linux") #:defconfig "defconfig" - #:extra-version "arm64-generic")) + #:extra-version "arm64-generic" + #:extra-options + (append + `(;; needed to fix the RTC on rockchip platforms + ("CONFIG_RTC_DRV_RK808" . #t)) + %default-extra-linux-options))) + +(define-public linux-libre-arm64-generic-5.6 + (make-linux-libre* linux-libre-5.6-version + linux-libre-5.6-source + '("aarch64-linux") + #:defconfig "defconfig" + #:extra-version "arm64-generic" + #:extra-options + (append + `(;; needed to fix the RTC on rockchip platforms + ("CONFIG_RTC_DRV_RK808" . #t)) + %default-extra-linux-options))) (define-public linux-libre-riscv64-generic (make-linux-libre* linux-libre-version @@ -1443,16 +1505,16 @@ slabtop, and skill.") (define-public e2fsprogs (package (name "e2fsprogs") - (version "1.45.5") + (version "1.45.6") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/people/tytso/" - name "/v" version "/" - name "-" version ".tar.xz")) + "e2fsprogs/v" version "/" + "e2fsprogs-" version ".tar.xz")) (sha256 (base32 - "1pmf8inp736l587rqq7qsd8bv0mmg5cwrivxg5p5awqgv70crypr")))) + "0mj2yizwygs7xww8jfy5mxjn8ww4pvc0b1hg1p2vsnirailsx9zz")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux))) (native-inputs `(("pkg-config" ,pkg-config) @@ -2397,14 +2459,14 @@ user-space processes.") (name "unionfs-fuse") (version "2.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/rpodgorny/unionfs-fuse/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rpodgorny/unionfs-fuse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj")))) + "0lb8zgdxnjy2fjr2284hvdfn7inc1in44ynzgcr66x54bxzvynj6")))) (build-system cmake-build-system) (native-inputs `(("python" ,python))) @@ -2919,8 +2981,42 @@ time.") (string-append out "/bin"))) #t))))))))) -(define-public eudev-with-hwdb - (deprecated-package "eudev-with-hwdb" eudev)) +(define-public python-evdev + (package + (name "python-evdev") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "evdev" version)) + (sha256 + (base32 "0kb3636yaw9l8xi8s184w0r0n9ic5dw3b8hx048jf9fpzss4kimi")))) + (build-system python-build-system) + (native-inputs + `(("kernel-headers" ,linux-libre-headers))) + (arguments + `(#:tests? #f ;no rule for tests + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-hard-coded-directory + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "setup.py" + (("/usr/include/linux") + (string-append + (assoc-ref inputs "kernel-headers") "/include/linux"))) + #t))))) + (home-page "https://github.com/gvalkov/python-evdev") + (synopsis "Bindings to the Linux input handling subsystem") + (description + "Python-evdev provides bindings to the generic input event interface in +Linux. The @code{evdev} interface serves the purpose of passing events +generated in the kernel directly to userspace through character devices that +are typically located in @file{/dev/input/}. + +This package also comes with bindings to @code{uinput}, the userspace input +subsystem. @code{uinput} allows userspace programs to create and handle input +devices that can inject events directly into the input subsystem.") + (license license:bsd-3))) (define-public lvm2 (package @@ -4257,7 +4353,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "5.4.1") + (version "5.6") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -4265,7 +4361,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "0scxg9p6z0wss92gmv5a8yxdmr8x449kb5v3bfnvs26n92r7zq7k")))) + "0srg276yccfmqz0skmmga3vbqx4wiqsk1l6h86n6ryhxa9viqcm1")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" @@ -4362,6 +4458,40 @@ repair and easy administration.") from the btrfs-progs package. It is meant to be used in initrds.") (license (package-license btrfs-progs)))) +(define-public cramfs-tools + (package + (name "cramfs-tools") + (home-page "https://github.com/npitre/cramfs-tools") + (version "2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 "183rfqqyzx52q0vxicdgf0p984idh3rqkvzfb93gjvyzfhc15c0p")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "mkcramfs" (string-append out "/sbin")) + (install-file "cramfsck" (string-append out "/sbin"))) + #t))))) + (inputs + `(("zlib" ,zlib))) + (synopsis "Tools to manage Cramfs file systems") + (description "Cramfs is a Linux file system designed to be simple, small, +and to compress things well. It is used on a number of embedded systems and +small devices. This version has additional features such as uncompressed +blocks and random block placement.") + (license license:gpl2+))) + (define-public compsize (package (name "compsize") @@ -4501,7 +4631,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (define-public thinkfan (package (name "thinkfan") - (version "1.0.2") + (version "1.1") (source (origin (method git-fetch) @@ -4510,7 +4640,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "107vw0962hrwva3wra9n3hxlbfzg82ldc10qssv3dspja88g8psr")))) + (base32 "1fxd1w3z65glw6y04myn7ihgswkx6sqnkky159mik4n96pfrsvr5")))) (build-system cmake-build-system) (arguments `(#:modules ((guix build cmake-build-system) @@ -4536,7 +4666,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") (share (string-append out "/share/" ,name))) (substitute* "CMakeLists.txt" (("pkg_check_modules\\((OPENRC|SYSTEMD) .*" _ package) - (format "option(~a_FOUND \"Faked\" ON)\n" package)) + (format #f "option(~a_FOUND \"Faked\" ON)\n" package)) ;; That was easy! Now we just need to fix the destinations. (("/etc" directory) (string-append out directory))) @@ -4578,11 +4708,11 @@ from userspace.") (lambda _ (substitute* "tpacpi-bat" (("cat ") - (format "~a " (which "cat"))) + (format #f "~a " (which "cat"))) ;; tpacpi-bat modprobes the acpi_call kernel module if it's not ;; loaded. That's the administrator's prerogative; disable it. (("system \"(modprobe .*)\"" _ match) - (format "die \"Please run ‘~a’ first.\\n\"" match))) + (format #f "die \"Please run ‘~a’ first.\\n\"" match))) #t)) (delete 'configure) ; nothing to configure (delete 'build) ; nothing to build @@ -5339,7 +5469,7 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat}, (define-public light (package (name "light") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) @@ -5347,7 +5477,7 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat}, (url "https://github.com/haikarainen/light.git") (commit (string-append "v" version)))) (sha256 - (base32 "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg")) + (base32 "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -5641,13 +5771,13 @@ used by nftables.") (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-man-doc"))) ; FIXME: Needs docbook2x. - (inputs `(("bison" ,bison) - ("flex" ,flex) - ("gmp" ,gmp) + (inputs `(("gmp" ,gmp) ("libmnl" ,libmnl) ("libnftnl" ,libnftnl) ("readline" ,readline))) - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs `(("pkg-config" ,pkg-config) + ("bison" ,bison) + ("flex" ,flex))) (home-page "https://www.nftables.org") (synopsis "Userspace utility for Linux packet filtering") (description "nftables is the project that aims to replace the existing @@ -5861,9 +5991,11 @@ the MTP device as a file system.") (base32 "1javw97yw0qvjmj14js8vw6nsfyf2xc0kfiyq5f2hsp0553w2cdq")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--disable-silent-rules"))) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("expat" ,expat) ("libcap" ,libcap) ("check" ,check) - ("groff" ,groff) ; for tests + (native-inputs `(("groff" ,groff) ; for tests + ("pkg-config" ,pkg-config))) + (inputs `(("check" ,check) + ("expat" ,expat) + ("libcap" ,libcap) ("libselinux" ,libselinux))) (synopsis "Utility to show process environment") (description "Procenv is a command-line tool that displays as much detail about @@ -6529,10 +6661,10 @@ of Linux application development.") (("/usr/bin/dbus-daemon") (which "dbus-daemon"))) #t))))) (inputs - `(("dbus" ,dbus) - ("libtool" ,libtool))) + `(("dbus" ,dbus))) (native-inputs `(("autoconf" ,autoconf) + ("libtool" ,libtool) ("pkgconfig" ,pkg-config) ("automake" ,automake))) (home-page "https://01.org/ell") diff --git a/gnu/packages/lirc.scm b/gnu/packages/lirc.scm index 5e77f1ddc2..510bc032f8 100644 --- a/gnu/packages/lirc.scm +++ b/gnu/packages/lirc.scm @@ -98,7 +98,7 @@ "LIRC allows computers to send and receive IR signals of many commonly used remote controls. The most important part of LIRC is the @code{lircd} daemon that decodes IR signals received by the device drivers. The second -daemon program @code{lircmd} allows to translate IR signals to mouse movements. +daemon program @code{lircmd} translates IR signals to mouse movements. The user space applications allow you to control your computer with a remote control: you can send X events to applications, start programs and much more on just one button press.") diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 939ed153d9..c2029d940e 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2018, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2019 Jesse Gildersleve <jessejohngildersleve@protonmail.com> @@ -18,6 +18,7 @@ ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech> +;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,6 +53,7 @@ #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages databases) + #:use-module (gnu packages enchant) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages imagemagick) @@ -619,6 +621,43 @@ from other CLXes around the net.") (define-public ecl-clx (sbcl-package->ecl-package sbcl-clx)) +(define-public sbcl-clx-truetype + (let ((commit "c6e10a918d46632324d5863a8ed067a83fc26de8") + (revision "1")) + (package + (name "sbcl-clx-truetype") + (version (git-version "0.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/l04m33/clx-truetype") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "079hyp92cjkdfn6bhkxsrwnibiqbz4y4af6nl31lzw6nm91j5j37")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "package.lisp" + ((":export") ":export\n :+font-cache-filename+")) + #t)))) + (build-system asdf-build-system/sbcl) + (inputs + `(("clx" ,sbcl-clx) + ("zpb-ttf" ,sbcl-zpb-ttf) + ("cl-vectors" ,sbcl-cl-vectors) + ("cl-paths-ttf" ,sbcl-cl-paths-ttf) + ("cl-fad" ,sbcl-cl-fad) + ("cl-store" ,sbcl-cl-store) + ("trivial-features" ,sbcl-trivial-features))) + (home-page "https://github.com/l04m33/clx-truetype") + (synopsis "Antialiased TrueType font rendering using CLX and XRender") + (description "CLX-TrueType is pure common lisp solution for +antialiased TrueType font rendering using CLX and XRender extension.") + (license license:expat)))) + (define-public sbcl-cl-ppcre-unicode (package (inherit sbcl-cl-ppcre) (name "sbcl-cl-ppcre-unicode") @@ -1672,7 +1711,7 @@ also be supported.") (define-public sbcl-ironclad (package (name "sbcl-ironclad") - (version "0.48") + (version "0.49") (source (origin (method git-fetch) @@ -1680,8 +1719,7 @@ also be supported.") (url "https://github.com/sharplispers/ironclad/") (commit (string-append "v" version)))) (sha256 - (base32 - "1wzczpgvgjc5h8ghz75kxi7iykmqxqchdhgdhkif9j99kyqvbyam")) + (base32 "0kbzqg2aasrhjwy3nrzy2ddy809n1j045w4qkyc3r2syqd203d4q")) (file-name (git-file-name name version)))) (build-system asdf-build-system/sbcl) (native-inputs @@ -1689,7 +1727,8 @@ also be supported.") `(("rt" ,sbcl-rt))) (inputs `(("bordeaux-threads" ,sbcl-bordeaux-threads) - ("flexi-streams" ,sbcl-flexi-streams))) + ("flexi-streams" ,sbcl-flexi-streams) + ("trivial-garbage" ,sbcl-trivial-garbage))) (synopsis "Cryptographic toolkit written in Common Lisp") (description "Ironclad is a cryptography library written entirely in Common Lisp. @@ -2631,10 +2670,11 @@ relational database engine.") (sbcl-package->cl-source-package sbcl-cl-sqlite)) (define-public sbcl-parenscript - (let ((commit "061d8e286c81c3f45c84fb2b11ee7d83f590a8f8")) + ;; Source archives are overwritten on every release, we use the Git repo instead. + (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766")) (package (name "sbcl-parenscript") - (version (git-version "2.6" "1" commit)) + (version (git-version "2.7.1" "1" commit)) (source (origin (method git-fetch) @@ -2644,7 +2684,7 @@ relational database engine.") (file-name (git-file-name "parenscript" version)) (sha256 (base32 - "1kbhgsjbikc73m5cwdp4d4fdafyqcr1b7b630qjrziql0nh6mi3k")))) + "0c22lqarrpbq82dg1sb3y6mp6w2faczp34ymzhnmff88yfq1xzsf")))) (build-system asdf-build-system/sbcl) (inputs `(("cl-ppcre" ,sbcl-cl-ppcre) @@ -2747,8 +2787,8 @@ advantage of the library is the ability to concisely define command line options once and then use this definition for parsing and extraction of command line arguments, as well as printing description of command line options (you get --help for free). This way you don't need to repeat -yourself. Also, @command{unix-opts} doesn't depend on anything and allows to -precisely control behavior of the parser via Common Lisp restarts.") +yourself. Also, @command{unix-opts} doesn't depend on anything and +precisely controls the behavior of the parser via Common Lisp restarts.") (license license:expat))) (define-public cl-unix-opts @@ -2877,7 +2917,20 @@ is a library for creating graphical user interfaces.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "gobject/gobject.init.lisp" (("libgobject" all) (string-append - (assoc-ref inputs "glib") "/lib/" all)))))))))) + (assoc-ref inputs "glib") "/lib/" all))))) + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gobject"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t)))))))) (define-public sbcl-cl-cffi-gtk-gio (package @@ -2897,7 +2950,20 @@ is a library for creating graphical user interfaces.") (substitute* "gio/gio.init.lisp" (("libgio" all) (string-append - (assoc-ref inputs "glib") "/lib/" all)))))))))) + (assoc-ref inputs "glib") "/lib/" all))))) + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gio"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t)))))))) (define-public sbcl-cl-cffi-gtk-cairo (package @@ -2916,7 +2982,20 @@ is a library for creating graphical user interfaces.") (substitute* "cairo/cairo.init.lisp" (("libcairo" all) (string-append - (assoc-ref inputs "cairo") "/lib/" all)))))))))) + (assoc-ref inputs "cairo") "/lib/" all))))) + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-cairo"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t)))))))) (define-public sbcl-cl-cffi-gtk-pango (package @@ -2937,7 +3016,20 @@ is a library for creating graphical user interfaces.") (substitute* "pango/pango.init.lisp" (("libpango" all) (string-append - (assoc-ref inputs "pango") "/lib/" all)))))))))) + (assoc-ref inputs "pango") "/lib/" all))))) + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-pango"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t)))))))) (define-public sbcl-cl-cffi-gtk-gdk-pixbuf (package @@ -2946,6 +3038,7 @@ is a library for creating graphical user interfaces.") (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) + ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ,@(package-inputs sbcl-cl-cffi-gtk-boot0))) (arguments `(#:asd-file "gdk-pixbuf/cl-cffi-gtk-gdk-pixbuf.asd" @@ -2956,7 +3049,20 @@ is a library for creating graphical user interfaces.") (substitute* "gdk-pixbuf/gdk-pixbuf.init.lisp" (("libgdk_pixbuf" all) (string-append - (assoc-ref inputs "gdk-pixbuf") "/lib/" all)))))))))) + (assoc-ref inputs "gdk-pixbuf") "/lib/" all))))) + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk-pixbuf"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t)))))))) (define-public sbcl-cl-cffi-gtk-gdk (package @@ -2964,6 +3070,7 @@ is a library for creating graphical user interfaces.") (name "sbcl-cl-cffi-gtk-gdk") (inputs `(("gtk" ,gtk+) + ("cl-cffi-gtk-glib" ,sbcl-cl-cffi-gtk-glib) ("cl-cffi-gtk-gobject" ,sbcl-cl-cffi-gtk-gobject) ("cl-cffi-gtk-gio" ,sbcl-cl-cffi-gtk-gio) ("cl-cffi-gtk-gdk-pixbuf" ,sbcl-cl-cffi-gtk-gdk-pixbuf) @@ -2983,7 +3090,20 @@ is a library for creating graphical user interfaces.") (substitute* "gdk/gdk.package.lisp" (("libgtk" all) (string-append - (assoc-ref inputs "gtk") "/lib/" all)))))))))) + (assoc-ref inputs "gtk") "/lib/" all))))) + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-gdk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t)))))))) (define-public sbcl-cl-cffi-gtk (package @@ -3002,16 +3122,31 @@ is a library for creating graphical user interfaces.") #:test-asd-file "test/cl-cffi-gtk-test.asd" ;; TODO: Tests fail with memory fault. ;; See https://github.com/Ferada/cl-cffi-gtk/issues/24. - #:tests? #f)))) + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'install 'link-source + ;; Since source is particularly heavy (16MiB+), let's reuse it + ;; across the different components of cl-ffi-gtk. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((glib-source (string-append (assoc-ref inputs "cl-cffi-gtk-glib") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk-glib")) + (out-source (string-append (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/" + "cl-cffi-gtk"))) + (delete-file-recursively out-source) + (symlink glib-source out-source) + #t)))))))) (define-public cl-cffi-gtk (sbcl-package->cl-source-package sbcl-cl-cffi-gtk)) (define-public sbcl-cl-webkit - (let ((commit "4832c99c31e0eb1fcce3779d119343ae8a423952")) + (let ((commit "d97115ca601838dfa60ea7afbb88641d7a526dba")) (package (name "sbcl-cl-webkit") - (version (git-version "2.4" "1" commit)) + (version (git-version "2.4" "2" commit)) (source (origin (method git-fetch) @@ -3021,7 +3156,7 @@ is a library for creating graphical user interfaces.") (file-name (git-file-name "cl-webkit" version)) (sha256 (base32 - "0sn7m181wfg1q49q45dlsry8c38x7pziqcs0frnymk6yvgndybxd")))) + "0sdb2l2h5xv5c1m2mfq31i9yl6zjf512fvwwzlvk9nvisyhc4xi3")))) (build-system asdf-build-system/sbcl) (inputs `(("cffi" ,sbcl-cffi) @@ -5038,8 +5173,8 @@ high-level way. This library provides such operators.") (sbcl-package->ecl-package sbcl-cl-quickcheck)) (define-public sbcl-burgled-batteries3 - (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e") - (revision "1")) + (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760") + (revision "2")) (package (name "sbcl-burgled-batteries3") (version (git-version "0.0.0" revision commit)) @@ -5052,33 +5187,33 @@ high-level way. This library provides such operators.") (file-name (git-file-name name version)) (sha256 (base32 - "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb")))) + "1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa")))) (build-system asdf-build-system/sbcl) (arguments - '(#:tests? #f + `(#:tests? #f + #:modules (((guix build python-build-system) #:select (python-version)) + ,@%asdf-build-system-modules) + #:imported-modules ((guix build python-build-system) + ,@%asdf-build-system-modules) #:phases - (modify-phases %standard-phases + (modify-phases (@ (guix build asdf-build-system) %standard-phases) (add-after 'unpack 'set-*cpython-include-dir*-var (lambda* (#:key inputs #:allow-other-keys) - (substitute* "grovel-include-dir.lisp" - (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)") - (string-append - "(defparameter *cpython-include-dir* \"" - (assoc-ref inputs "python") - "/include/python3.7m" - "\")"))) - (substitute* "ffi-interface.lisp" - (("\\*cpython-lib\\*") - (format #f "'(\"~a/lib/libpython3.so\")" - (assoc-ref inputs "python")))) - #t))))) + (let ((python (assoc-ref inputs "python"))) + (setenv "BB_PYTHON3_INCLUDE_DIR" + (string-append python "/include/python" + (python-version python) + "m")) + (setenv "BB_PYTHON3_DYLIB" + (string-append python "/lib/libpython3.so")) + #t)))))) (native-inputs - `(("python" ,python) - ("sbcl-cl-fad" ,sbcl-cl-fad) + `(("sbcl-cl-fad" ,sbcl-cl-fad) ("sbcl-lift" ,sbcl-lift) ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck))) (inputs - `(("sbcl-cffi" ,sbcl-cffi) + `(("python" ,python) + ("sbcl-cffi" ,sbcl-cffi) ("sbcl-cffi-grovel" ,sbcl-cffi-grovel) ("sbcl-alexandria" , sbcl-alexandria) ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations) @@ -5088,7 +5223,6 @@ high-level way. This library provides such operators.") "This package provides a shim between Python3 (specifically, the CPython implementation of Python) and Common Lisp.") (home-page "https://github.com/snmsts/burgled-batteries3") - ;; MIT (license license:expat)))) (define-public cl-burgled-batteries3 @@ -5465,7 +5599,7 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (native-inputs `(("fiveam" ,sbcl-fiveam))) (synopsis "IEEE 754 binary representation for floats in Common Lisp") - (description "This is a Common Lisp library that allows to convert + (description "This is a Common Lisp library that converts floating point values to IEEE 754 binary representation.") (license license:bsd-3)))) @@ -6277,10 +6411,10 @@ various string metrics in Common Lisp: (sbcl-package->cl-source-package sbcl-mk-string-metrics)) (define-public sbcl-cl-str - (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5")) + (let ((commit "eb480f283e28802d67b35bf916506701152f9a2a")) (package (name "sbcl-cl-str") - (version (git-version "0.8" "1" commit)) + (version (git-version "0.17" "1" commit)) (home-page "https://github.com/vindarel/cl-str") (source (origin (method git-fetch) @@ -6288,12 +6422,13 @@ various string metrics in Common Lisp: (url home-page) (commit commit))) (sha256 - (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga")) + (base32 "1hpq5m8zjjnzns370zy27z2vcm1p8n2ka5ij2x67gyc9amz9vla0")) (file-name (git-file-name name version)))) (build-system asdf-build-system/sbcl) (inputs `(("cl-ppcre" ,sbcl-cl-ppcre) - ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode))) + ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode) + ("cl-change-case" ,sbcl-cl-change-case))) (native-inputs `(("prove" ,sbcl-prove) ("prove-asdf" ,sbcl-prove-asdf))) @@ -6379,7 +6514,7 @@ power of CXML is available when necessary.") ("cl-xmlspam" ,sbcl-cl-xmlspam) ("ironclad" ,sbcl-ironclad))) (synopsis "D-Bus client library for Common Lisp") - (description "This is a Common Lisp library that allows to publish D-Bus + (description "This is a Common Lisp library that publishes D-Bus objects as well as send and notify other objects connected to a bus.") (license license:bsd-2)))) @@ -6643,8 +6778,8 @@ which implements a set of utilities.") (sbcl-package->ecl-package sbcl-metatilities-base)) (define-public sbcl-cl-containers - (let ((commit "b2980bac9ac87ad32b63b722ce520fa26cb36ee6") - (revision "2")) + (let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7") + (revision "3")) (package (name "sbcl-cl-containers") (version (git-version "0.12.1" revision commit)) @@ -6657,7 +6792,7 @@ which implements a set of utilities.") (file-name (git-file-name name version)) (sha256 (base32 - "19hmlax19hq0xjaqr8za90vwf06ymxw1m29sj053a309k3hm84gx")))) + "18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y")))) (build-system asdf-build-system/sbcl) (native-inputs `(("lift" ,sbcl-lift))) @@ -7204,8 +7339,8 @@ implementation specific equivalent.") (sbcl-package->ecl-package sbcl-trivial-macroexpand-all)) (define-public sbcl-serapeum - (let ((commit "65837f8a0d65b36369ec8d000fff5c29a395b5fe") - (revision "0")) + (let ((commit "64f0c4a161bbbda7c275012ca1415b4293b9e169") + (revision "1")) (package (name "sbcl-serapeum") (version (git-version "0.0.0" revision commit)) @@ -7219,7 +7354,7 @@ implementation specific equivalent.") (file-name (git-file-name name version)) (sha256 (base32 - "0clwf81r2lvk1rbfvk91s9zmbkas9imf57ilqclw12mxaxlfsnbw")))) + "0djnj0py8hdjnk5j6shjq2kbmyxqd5sw79cilcfmpfz4dzjdgkx9")))) (build-system asdf-build-system/sbcl) (inputs `(("alexandria" ,sbcl-alexandria) @@ -11275,3 +11410,157 @@ in DEFPACKAGE.") (define-public cl-trivial-package-local-nicknames (sbcl-package->cl-source-package sbcl-trivial-package-local-nicknames)) + +(define-public sbcl-enchant + (let ((commit "6af162a7bf10541cbcfcfa6513894900329713fa")) + (package + (name "sbcl-enchant") + (version (git-version "0.0.0" "1" commit)) + (home-page "https://github.com/tlikonen/cl-enchant") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19yh5ihirzi1d8xqy1cjqipzd6ly3245cfxa5s9xx496rryz0s01")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("enchant" ,enchant) + ("cffi" ,sbcl-cffi))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "load-enchant.lisp" + (("libenchant") + (string-append + (assoc-ref inputs "enchant") "/lib/libenchant-2")))))))) + (synopsis "Common Lisp interface for the Enchant spell-checker library") + (description + "Enchant is a Common Lisp interface for the Enchant spell-checker +library. The Enchant library is a generic spell-checker library which uses +other spell-checkers transparently as back-end. The library supports the +multiple checkers, including Aspell and Hunspell.") + (license license:public-domain)))) + +(define-public cl-enchant + (sbcl-package->cl-source-package sbcl-enchant)) + +(define-public sbcl-cl-change-case + (let ((commit "5ceff2a5f8bd845b6cb510c6364176b27a238fd3")) + (package + (name "sbcl-cl-change-case") + (version (git-version "0.1.0" "1" commit)) + (home-page "https://github.com/rudolfochrist/cl-change-case") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1afyglglk9z3yg8gylcl301bl2r8vq3sllyznzj9s5xi5gs6qyf2")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (arguments + '(;; FIXME: Test pass but phase fails with 'Component + ;; "cl-change-case-test" not found, required by'. + #:tests? #f + #:test-asd-file "cl-change-case-test.asd")) + (synopsis "Convert Common Lisp strings between camelCase, PascalCase and more") + (description + "@code{cl-change-case} is library to convert strings between camelCase, +PascalCase, snake_case, param-case, CONSTANT_CASE and more.") + (license license:llgpl)))) + +(define-public cl-change-case + (sbcl-package->cl-source-package sbcl-cl-change-case)) + +(define-public sbcl-moptilities + (let ((commit "a436f16b357c96b82397ec018ea469574c10dd41")) + (package + (name "sbcl-moptilities") + (version (git-version "0.3.13" "1" commit)) + (home-page "https://github.com/gwkkwg/moptilities/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1q12bqjbj47lx98yim1kfnnhgfhkl80102fkgp9pdqxg0fp6g5fc")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("closer-mop" ,sbcl-closer-mop))) + (native-inputs + `(("lift" ,sbcl-lift))) + (synopsis "Compatibility layer for Common Lisp MOP implementation differences") + (description + "MOP utilities provide a common interface between Lisps and make the +MOP easier to use.") + (license license:expat)))) + +(define-public cl-moptilities + (sbcl-package->cl-source-package sbcl-moptilities)) + +(define-public sbcl-osicat + (let ((commit "de0c18a367eedc857e1902a7319828af072a0d97")) + (package + (name "sbcl-osicat") + (version (git-version "0.7.0" "1" commit)) + (home-page "http://www.common-lisp.net/project/osicat/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/osicat/osicat") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "15viw5pi5sa7qq9b4n2rr3dj2jkqr180rh9z1lh8w3rgl42i2adc")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'validate-runpath 'cleanup-files + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib/sbcl"))) + (for-each + delete-file + (filter (lambda (file) + (not (member (basename file) + '("basic-unixint__grovel" + "libosicat.so" + "osicat--system.fasl" + "osicat.asd" + "unixint__grovel")))) + (find-files lib ".*"))) + #t)))))) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("trivial-features" ,sbcl-trivial-features))) + (native-inputs + `(("cffi-grovel" ,sbcl-cffi-grovel) + ("rt" ,sbcl-rt))) + (synopsis "Operating system interface for Common Lisp") + (description + "Osicat is a lightweight operating system interface for Common Lisp on +Unix-platforms. It is not a POSIX-style API, but rather a simple lispy +accompaniment to the standard ANSI facilities.") + (license license:expat)))) + +(define-public cl-osicat + (sbcl-package->cl-source-package sbcl-osicat)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a65eb19e0c..219bc4dcf9 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> @@ -222,7 +222,7 @@ interface to the Tk widget system.") (define-public ecl (package (name "ecl") - (version "16.1.3") + (version "20.4.24") (source (origin (method url-fetch) @@ -230,17 +230,22 @@ interface to the Tk widget system.") "https://common-lisp.net/project/ecl/static/files/release/" name "-" version ".tgz")) (sha256 - (base32 "0m0j24w5d5a9dwwqyrg0d35c0nys16ijb4r0nyk87yp82v38b9bn")))) + (base32 "01qgdmr54wkj854f69qdm9sybrvd6gd21dpx4askdaaqybnkh237")))) (build-system gnu-build-system) ;; src/configure uses 'which' to confirm the existence of 'gzip'. - (native-inputs `(("cl-asdf" ,cl-asdf) - ("which" ,which))) - (inputs `(("gmp" ,gmp) - ("libatomic-ops" ,libatomic-ops) - ("libgc" ,libgc) - ("libffi" ,libffi))) + (native-inputs + `(("cl-asdf" ,cl-asdf) + ("which" ,which) + ("texinfo" ,texinfo))) + (inputs + `(("gmp" ,gmp) + ("libatomic-ops" ,libatomic-ops) + ("libgc" ,libgc) + ("libffi" ,libffi))) (arguments `(#:configure-flags '("--without-rt") + ;; FIXME: As of version 20.4.24, we pass 17995 tests and fail 7. + ;; 2-3 tests may be due to FHS assumptions. #:tests? #t #:parallel-tests? #f #:phases @@ -301,9 +306,10 @@ bytecode compiler and interpreter, being able to compile Common Lisp with any C/C++ compiler, being able to build standalone executables and libraries, and supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") ;; Note that the file "Copyright" points to some files and directories - ;; which aren't under the lgpl2.0+ and instead contain many different, + ;; which aren't under the lgpl2.1+ and instead contain many different, ;; non-copyleft licenses. - (license license:lgpl2.0+))) + ;; See https://common-lisp.net/project/ecl/posts/ECL-license.html. + (license license:lgpl2.1+))) (define-public clisp (package @@ -365,14 +371,14 @@ an interpreter, a compiler, a debugger, and much more.") (define-public sbcl (package (name "sbcl") - (version "2.0.2") + (version "2.0.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" version "-source.tar.bz2")) (sha256 - (base32 "07pyzdjnhcpqwvr3rrk4i18maqdywbq1qj93fnpx1h4b7dp08r28")))) + (base32 "1lc2i4qq1kfdybmxnj2zq2hn3hfx0vvlqim4gvlgvs3bfr0lcaqj")))) (build-system gnu-build-system) (outputs '("out" "doc")) (native-inputs @@ -391,7 +397,7 @@ an interpreter, a compiler, a debugger, and much more.") ;; ;; CCL is not bootstrappable so it won't do. CLISP 2.49 seems to work. ;; ECL too. ECL builds SBCL about 20% slower than CLISP. As of - ;; 2019-09-05, ECL was last updated in 2016 while CLISP was last updated + ;; 2019-09-05, ECL was last updated in 2020 while CLISP was last updated ;; in 2010. ;; ;; For now we stick to CLISP for all systems. We keep the `match' here to @@ -687,6 +693,53 @@ interface.") (license (list license:lgpl2.1 license:clarified-artistic)))) ;TRIVIAL-LDAP package +(define-public ccl-1.12 + ;; This is a development snapshot. The last stable version is from November + ;; 2017 and does not support package-local-nicknames, which prevents CCL + ;; from compiling some third-party packages. + ;; The main drawback of 1.12 is that ARM is not supported for now. + (package + (inherit ccl) + (version "1.12-dev.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Clozure/ccl/") + (commit (string-append "v" version)))) + (file-name (git-file-name "ccl" version)) + (sha256 + (base32 + "1za5j4ll4hk1vi1i7v1bmqhaqbsgc16izn46qmry7dnbig0rdqm0")))) + ;; CCL consists of a "lisp kernel" and "heap image". + ;; See comment in `ccl' package. + (inputs + `(("ccl-bootstrap" + ,(origin + (method url-fetch) + (uri (string-append + "https://github.com/Clozure/ccl/releases/download/v" version "/" + (match (%current-system) + ((or "i686-linux" "x86_64-linux") "linuxx86") + ;; Prevent errors when querying this package on unsupported + ;; platforms, e.g. when running "guix package --search=" + (_ "UNSUPPORTED")) + ".tar.gz")) + (sha256 + (base32 + (match (%current-system) + ((or "i686-linux" "x86_64-linux") + "1pqiybxxv4wx5zlp1i60nim3njaczwl5321bdwq6frjsl3s95xmb") + (_ "")))))))) + (arguments + (substitute-keyword-arguments (package-arguments ccl) + ((#:phases phases) + `(modify-phases ,phases + (replace 'unpack (assoc-ref %standard-phases 'unpack)) + (add-after 'unpack 'unpack-image + (lambda* (#:key inputs #:allow-other-keys) + (invoke "tar" "xzvf" (assoc-ref inputs "ccl-bootstrap")))))))) + (supported-systems '("i686-linux" "x86_64-linux")))) + (define-public lush2 (package (name "lush2") @@ -798,7 +851,7 @@ enough to play the original mainframe Zork all the way through.") (define-public txr (package (name "txr") - (version "233") + (version "235") (source (origin (method git-fetch) @@ -806,24 +859,29 @@ enough to play the original mainframe Zork all the way through.") (url "http://www.kylheku.com/git/txr/") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) - (patches (search-patches "txr-shell.patch")) (sha256 - (base32 - "14dwjgx9lbfajk3q539m3v3b9j047q83ldnqb4cagbs8ampvhfbv")))) + (base32 "0kpqk2x0sz7sqxsrhasq0xnljjlnxwhh4xjx2nii0zy2jkv4vsbn")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("cc=gcc") - #:phases (modify-phases %standard-phases - (add-after 'configure 'fix-tests - (lambda _ - (substitute* "tests/017/realpath.tl" - (("/usr/bin") "/")) - (substitute* "tests/017/realpath.expected" - (("/usr/bin") "/")) - #t)) - (replace 'check - (lambda _ - (invoke "make" "tests")))))) + '(#:configure-flags + (list "cc=gcc" + (string-append "--prefix=" (assoc-ref %outputs "out"))) + #:test-target "tests" + #:phases + (modify-phases %standard-phases + (replace 'configure + ;; ./configure is a hand-written script that can't handle standard + ;; autotools arguments like CONFIG_SHELL. + (lambda* (#:key configure-flags #:allow-other-keys) + (setenv "txr_shell" (which "bash")) + (apply invoke "./configure" configure-flags) + #t)) + (add-after 'configure 'fix-tests + (lambda _ + (substitute* (list "tests/017/realpath.tl" + "tests/017/realpath.expected") + (("/usr/bin") "/")) + #t))))) (native-inputs `(("bison" ,bison) ("flex" ,flex))) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 41217d14f0..d6c519bcbd 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2016, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> ;;; Copyright © 2016, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> @@ -84,17 +84,17 @@ as \"x86_64-linux\"." (string-append "https://releases.llvm.org/" version "/" component "-" version ".src.tar.xz"))) -(define-public llvm +(define-public llvm-10 (package (name "llvm") - (version "9.0.1") + (version "10.0.0") (source (origin (method url-fetch) (uri (llvm-download-uri "llvm" version)) (sha256 (base32 - "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880")))) + "1pwgm6cr0xr5a0hrbqs1zvsvvjvy0yq1y47c96804wcs795s90yz")))) (build-system cmake-build-system) (native-inputs `(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2 @@ -368,23 +368,49 @@ output), and Binutils.") ("libc-debug" ,glibc "debug") ("libc-static" ,glibc "static"))))) -(define-public clang-runtime +(define-public clang-runtime-10 + (clang-runtime-from-llvm + llvm-10 + "0x9c531k6ww21s2mkdwqx1vbdjmx6d4wmfb8gdbj0wqa796sczba")) + +(define-public clang-10 + (clang-from-llvm llvm-10 clang-runtime-10 + "08fbxa2a0kr3ni35ckppj0kyvlcyaywrhpqwcdrdy0z900mhcnw8" + #:patches '("clang-10.0-libc-search-path.patch"))) + +(define-public clang-toolchain-10 + (make-clang-toolchain clang-10)) + +(define-public llvm-9 + (package + (inherit llvm-10) + (version "9.0.1") + (source + (origin + (method url-fetch) + (uri (llvm-download-uri "llvm" version)) + (sha256 + (base32 + "16hwp3qa54c3a3v7h8nlw0fh5criqh0hlr1skybyk0cz70gyx880")))))) + +(define-public clang-runtime-9 (clang-runtime-from-llvm - llvm + llvm-9 "0xwh79g3zggdabxgnd0bphry75asm1qz7mv3hcqihqwqr6aspgy2")) -(define-public clang - (clang-from-llvm llvm clang-runtime +(define-public clang-9 + (clang-from-llvm llvm-9 clang-runtime-9 "0ls2h3iv4finqyflyhry21qhc9cm9ga7g1zq21020p065qmm2y2p" #:patches '("clang-9.0-libc-search-path.patch"))) -(define-public clang-toolchain - (make-clang-toolchain clang)) +(define-public clang-toolchain-9 + (make-clang-toolchain clang-9)) -(define-public llvm-9 llvm) -(define-public clang-runtime-9 clang-runtime) -(define-public clang-9 clang) -(define-public clang-toolchain-9 clang-toolchain) +;; Default LLVM and Clang version. +(define-public llvm llvm-9) +(define-public clang-runtime clang-runtime-9) +(define-public clang clang-9) +(define-public clang-toolchain clang-toolchain-9) (define-public llvm-8 (package @@ -816,7 +842,7 @@ SOURCE-FILES found in SOURCE-PACKAGE." (string-append clang "/bin/clang-format")))) #t))))) (synopsis "Format code using clang-format") - (description "This package allows to filter code through @code{clang-format} + (description "This package filters code through @code{clang-format} to fix its formatting. @code{clang-format} is a tool that formats C/C++/Obj-C code according to a set of style options, see @url{https://clang.llvm.org/docs/ClangFormatStyleOptions.html}."))) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index dac2ef6d24..9de96a21cb 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -29,13 +29,16 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages disk) #:use-module (gnu packages docbook) + #:use-module (gnu packages file-systems) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gtk) #:use-module (gnu packages image-viewers) + #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lsof) #:use-module (gnu packages openbox) @@ -43,9 +46,12 @@ #:use-module (gnu packages polkit) #:use-module (gnu packages text-editors) #:use-module (gnu packages video) + #:use-module (gnu packages wget) #:use-module (gnu packages wm) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (guix download) @@ -249,8 +255,8 @@ with freedesktop.org standard.") "https://github.com/IgnorantGuru/spacefm/archive/" version ".tar.gz")) (sha256 - (base32 - "1jg7xfyr7kihjnalxp8wxyb9qjk8hqf5l36rp3s0lvkpmpyakppy")) + (base32 + "1jg7xfyr7kihjnalxp8wxyb9qjk8hqf5l36rp3s0lvkpmpyakppy")) (modules '((guix build utils))) (snippet '(begin @@ -262,18 +268,34 @@ with freedesktop.org standard.") "#include <sys/sysmacros.h>\n"))) #t)) (file-name (string-append name "-" version ".tar.gz")))) - (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) - (inputs `(("bash" ,bash) - ("gtk+" ,gtk+) - ("eudev" ,eudev) - ("desktop-file-utils" ,desktop-file-utils) - ("shared-mime-info" ,shared-mime-info) - ("ffmpegthumbnailer" ,ffmpegthumbnailer) - ("jmtpfs" ,jmtpfs) - ("lsof" ,lsof) - ("udisks" ,udisks))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("bash" ,bash) + ("cairo" ,cairo) + ("curlftpfs" ,curlftpfs) + ("dbus" ,dbus) + ("eudev" ,eudev) + ("fakeroot" ,fakeroot) + ("ffmpegthumbnailer" ,ffmpegthumbnailer) + ("fuseiso" ,fuseiso) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("ifuse" ,ifuse) + ("jmtpfs" ,jmtpfs) + ("libx11" ,libx11) + ("lsof" ,lsof) + ("pango" ,pango) + ("shared-mime-info" ,shared-mime-info) + ("startup-notification" ,startup-notification) + ("udevil" ,udevil) + ("util-linux" ,util-linux) + ("wget" ,wget))) (arguments `(#:configure-flags (list (string-append "--with-bash-path=" (assoc-ref %build-inputs "bash") diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index beb13a81bf..f979a64d55 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> @@ -13,6 +13,7 @@ ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -570,8 +571,8 @@ optimizing, and searching weighted finite-state transducers (FSTs).") (synopsis "Machine learning toolbox") (description "The Shogun Machine learning toolbox provides a wide range of unified and -efficient Machine Learning (ML) methods. The toolbox seamlessly allows to -combine multiple data representations, algorithm classes, and general purpose +efficient Machine Learning (ML) methods. The toolbox seamlessly +combines multiple data representations, algorithm classes, and general purpose tools. This enables both rapid prototyping of data pipelines and extensibility in terms of new algorithms.") (license license:gpl3+))) @@ -835,13 +836,13 @@ computing environments.") (inputs `(("openblas" ,openblas))) (native-inputs - `(("python-joblib" ,python-joblib) - ("python-pytest" ,python-pytest) + `(("python-pytest" ,python-pytest) ("python-pandas" ,python-pandas) ;for tests ("python-cython" ,python-cython))) (propagated-inputs `(("python-numpy" ,python-numpy) - ("python-scipy" ,python-scipy))) + ("python-scipy" ,python-scipy) + ("python-joblib" ,python-joblib))) (home-page "https://scikit-learn.org/") (synopsis "Machine Learning in Python") (description @@ -867,6 +868,35 @@ data analysis.") (base32 "08zbzi8yx5wdlxfx9jap61vg1malc9ajf576w7a0liv6jvvrxlpj"))))))) +(define-public python-scikit-rebate + (package + (name "python-scikit-rebate") + (version "0.6") + (source (origin + (method url-fetch) + (uri (pypi-uri "skrebate" version)) + (sha256 + (base32 + "1h7qs9gjxpzqabzhb8rmpv3jpmi5iq41kqdibg48299h94iikiw7")))) + (build-system python-build-system) + ;; Pandas is only needed to run the tests. + (native-inputs + `(("python-pandas" ,python-pandas))) + (propagated-inputs + `(("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-scikit-learn" ,python-scikit-learn) + ("python-joblib" ,python-joblib))) + (home-page "https://epistasislab.github.io/scikit-rebate/") + (synopsis "Relief-based feature selection algorithms for Python") + (description "Scikit-rebate is a scikit-learn-compatible Python +implementation of ReBATE, a suite of Relief-based feature selection algorithms +for Machine Learning. These algorithms excel at identifying features that are +predictive of the outcome in supervised learning problems, and are especially +good at identifying feature interactions that are normally overlooked by +standard feature selection algorithms.") + (license license:expat))) + (define-public python-autograd (let* ((commit "442205dfefe407beffb33550846434baa90c4de7") (revision "0") @@ -962,21 +992,26 @@ the following advantages: (name "vowpal-wabbit") (version "8.5.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/JohnLangford/vowpal_wabbit/archive/" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/JohnLangford/vowpal_wabbit") + (commit version))) (sha256 (base32 - "0clp2kb7rk5sckhllxjr5a651awf4s8dgzg4659yh4hf5cqnf0gr")) - (file-name (string-append name "-" version ".tar.gz")))) + "04bwzk6ifgnz3fmzid8b7avxf9n5pnx9xcjm61nkjng1vv0bpj8x")) + (file-name (git-file-name name version)))) (inputs `(("boost" ,boost) ("zlib" ,zlib))) (arguments `(#:configure-flags (list (string-append "--with-boost=" - (assoc-ref %build-inputs "boost"))))) + (assoc-ref %build-inputs "boost"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files "." ".*")) #t))))) (build-system gnu-build-system) (home-page "https://github.com/JohnLangford/vowpal_wabbit") (synopsis "Fast machine learning library for online learning") @@ -1022,8 +1057,8 @@ association studies (GWAS) on extremely large data sets.") ;; There have been no proper releases yet. (define-public kaldi - (let ((commit "2f95609f0bb085bd3a1dc5eb0a39f3edea59e606") - (revision "1")) + (let ((commit "d4791c0f3fc1a09c042dac365e120899ee2ad21e") + (revision "2")) (package (name "kaldi") (version (git-version "0" revision commit)) @@ -1035,7 +1070,7 @@ association studies (GWAS) on extremely large data sets.") (file-name (git-file-name name version)) (sha256 (base32 - "082qh3pfi7hvncylp4xsmkfahbd7gb0whdfa4rwrx7fxk9rdh3kz")))) + "07k80my6f19mhrkwbzhjsnpf9871wmrwkl0ym468i830w67qyjrz")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -1133,8 +1168,8 @@ written in C++.") (license license:asl2.0)))) (define-public gst-kaldi-nnet2-online - (let ((commit "617e43e73c7cc45eb9119028c02bd4178f738c4a") - (revision "1")) + (let ((commit "cb227ef43b66a9835c14eb0ad39e08ee03c210ad") + (revision "2")) (package (name "gst-kaldi-nnet2-online") (version (git-version "0" revision commit)) @@ -1146,7 +1181,7 @@ written in C++.") (file-name (git-file-name name version)) (sha256 (base32 - "0xh3w67b69818s6ib02ara4lw7wamjdmh4jznvkpzrs4skbs9jx9")))) + "1i6ffwiavxx07ri0lxix6s8q0r31x7i4xxvhys5jxkixf5q34w8g")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are none diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 1b69f32aa4..cb5e23bcea 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> @@ -24,11 +24,14 @@ ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> -;;; Copyright © 2018, 2019 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org> +;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,11 +84,13 @@ #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages flex) + #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages kerberos) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages libunistring) + #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages lsof) #:use-module (gnu packages lua) @@ -218,11 +223,11 @@ #:parallel-tests? #f)) (native-inputs - `(("perl" ,perl))) ;for 'gylwrap' - (inputs - `(("dejagnu" ,dejagnu) - ("m4" ,m4) + `(("perl" ,perl) ;for 'gylwrap' ("texinfo" ,texinfo) + ("dejagnu" ,dejagnu))) + (inputs + `(("m4" ,m4) ("guile" ,guile-2.2) ("gsasl" ,gsasl) ("gnutls" ,gnutls) @@ -381,7 +386,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.13.4") + (version "1.13.5") (source (origin (method url-fetch) (uri (list @@ -391,7 +396,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "016dzx2c0kr9xgnw4nfzpkn4nvpk56rdlcqhrwa820fq8083yzdm")) + "0lx65a44b03rbvcrz0y9syrik67fx3hvblxyyvz5l9bb7rdipmvc")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -522,7 +527,7 @@ It adds a large amount of new and improved features to mutt.") (define-public gmime (package (name "gmime") - (version "3.2.6") + (version "3.2.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gmime/" @@ -530,7 +535,7 @@ It adds a large amount of new and improved features to mutt.") "/gmime-" version ".tar.xz")) (sha256 (base32 - "05s7qjrxbj010q016pmdqdq73gz8vl4hv29kwaign0j8gi61kzxb")))) + "0i3xfc84qn1z99i70q68kbnp9rmgqrnprqb418ba52s6g9j9dsia")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -710,7 +715,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.2.0") + (version "1.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/djcb/mu/releases/" @@ -718,7 +723,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") "mu-" version ".tar.xz")) (sha256 (base32 - "0fh5bxvhjqv1p9z783lym8y1k3p4jcc3wg6wf7zl8s6w8krcfd7n")))) + "1ay68rhlngnp2zm6wdmzgr1fsal3spz61swcxlaz5y215qvgjfpy")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -753,13 +758,14 @@ security functionality including PGP, S/MIME, SSH, and SSL.") "guile/mu/Makefile.in") (("share/guile/site/2.0/") "share/guile/site/2.2/")) #t)) - (add-after 'patch-configure 'fix-date-tests - ;; Loosen test tolerances to prevent failures caused by daylight - ;; saving time (DST). See: https://github.com/djcb/mu/issues/1214. + (add-after 'unpack 'patch-bin-sh-in-tests (lambda _ - (substitute* "lib/parser/test-utils.cc" - (("\\* 60 \\* 60, 1 },") - "* 60 * 60, 3600 + 1 },")) + (substitute* '("guile/tests/test-mu-guile.c" + "mu/test-mu-cmd.c" + "mu/test-mu-cmd-cfind.c" + "mu/test-mu-query.c" + "mu/test-mu-threads.c") + (("/bin/sh") (which "sh"))) #t)) (add-before 'install 'fix-ffi (lambda* (#:key outputs #:allow-other-keys) @@ -791,53 +797,6 @@ messages you need; in addition, it allows you to view messages, extract attachments, create new maildirs, and so on.") (license gpl3+))) -(define mumimu - ;; This is a fork of mu for use in Mumi that stores message bug IDs in its - ;; database. It also renames the library to "mumimu" to avoid confusion. - (let ((commit "6b42431052c7cc9a2e147938e1b67f14a93e4ee5") - (revision "2")) - (package - (inherit mu) - (name "mumimu") - (version (git-version (package-version mu) revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.elephly.net/software/mumimu.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "044scxmjrckidqx935yza3aqnjyzrmhyvgx2gs2jyf68hl2qzb89")))) - (arguments - (substitute-keyword-arguments (package-arguments mu) - ((#:tests? anything '()) - #f) - ((#:phases phases) - `(modify-phases ,phases - (replace 'patch-configure - (lambda _ (delete-file "autogen.sh") #t)) - (replace 'fix-ffi - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "guile/mumimu.scm" - (("\"libguile-mu\"") - (format #f "\"~a/lib/libguile-mumimu\"" - (assoc-ref outputs "out")))) - #t)) - (delete 'install-emacs-autoloads))) - ((#:configure-flags flags) - '("--disable-gtk" - "--disable-webkit" - "--disable-mu4e")))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("glib" ,glib "bin") - ("tzdata" ,tzdata-for-tests) - ("texinfo" ,texinfo)))))) - (define-public alot (package (name "alot") @@ -1073,6 +1032,38 @@ and search library.") (define-public python2-notmuch (package-with-python2 python-notmuch)) +(define-public muchsync + (package + (name "muchsync") + (version "5") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.muchsync.org/src/" + "muchsync-" version ".tar.gz")) + (sha256 + (base32 "1k2m44pj5i6vfhp9icdqs42chsp208llanc666p3d9nww8ngq2lb")))) + (build-system gnu-build-system) + (native-inputs + `(("ghc-pandoc" ,ghc-pandoc) + ("pkg-config" ,pkg-config))) + (inputs + `(("libcrypto" ,openssl) + ("notmuch" ,notmuch) + ("sqlite" ,sqlite) + ("xapian" ,xapian))) + (home-page "http://www.muchsync.org/") + (synopsis "Synchronize notmuch mail across machines") + (description + "Muchsync brings Notmuch to all of your computers by synchronizing your +mail messages and Notmuch tags across machines. The protocol is heavily +pipelined to work efficiently over high-latency networks such as mobile +broadband. Muchsync supports arbitrary pairwise synchronization among +replicas. A version-vector-based algorithm allows it to exchange only the +minimum information necessary to bring replicas up to date regardless of which +pairs have previously synchronized.") + (license gpl2+))) + (define-public getmail (package (name "getmail") @@ -1263,6 +1254,10 @@ which can add many functionalities to the base client.") (install-file (string-append msmtpq "/msmtp-queue") bin) (install-file (string-append msmtpq "/README.msmtpq") doc) (install-file "scripts/vim/msmtp.vim" vimfiles) + ;; Don't rely on netcat being in the PATH to test for a + ;; connection, instead try tp ing debian.org. + (substitute* (string-append bin "/msmtpq") + (("EMAIL_CONN_TEST=n") "EMAIL_CONN_TEST=p")) #t)))))) (synopsis "Simple and easy to use SMTP client with decent sendmail compatibility") @@ -1396,6 +1391,11 @@ facilities for checking incoming mail.") (inputs `(("bzip2" ,bzip2) ("libsodium" ,libsodium) ; extra password algorithms + ;; FIXME: The 'test-backtrace' tests fail on arm when using glibc's + ;; backtrace_symbol() function so fallback to using libunwind. + ,@(if (target-arm?) + `(("libunwind" ,libunwind)) + '()) ("linux-pam" ,linux-pam) ("lz4" ,lz4) ("openssl" ,openssl) @@ -1919,26 +1919,26 @@ maintained.") (define-public khard (package (name "khard") - (version "0.15.1") + (version "0.16.1") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w")))) + "0fg4qh5gzki5wg958wlpc8a2icnk74gzg33lqxjm755cfnjng7qd")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'install 'install-doc + (add-after 'install 'install-completions (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/khard"))) - (copy-recursively "misc/khard" doc) + (zsh (string-append out "/share/zsh/site-functions"))) + (copy-recursively "misc/zsh" zsh) #t)))))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) - (propagated-inputs + (inputs `(("python-atomicwrites" ,python-atomicwrites) ("python-configobj" ,python-configobj) ("python-pyyaml" ,python-pyyaml) @@ -2964,8 +2964,8 @@ replacement for the @code{urlview} program.") (license gpl2+))) (define-public mumi - (let ((commit "6653e2d525b945fcd671dbfbf7b42cc588a1cf4b") - (revision "7")) + (let ((commit "9175199e9039b9a1dbc5e1eafa05b9c618416f3b") + (revision "16")) (package (name "mumi") (version (git-version "0.0.0" revision commit)) @@ -2977,7 +2977,7 @@ replacement for the @code{urlview} program.") (file-name (git-file-name name version)) (sha256 (base32 - "0h1q61yl01hm7wygv1bv47ncg7l7gcw7aq8ny61g3hr1acsqysjf")))) + "1v0i9h3dw0irc92flmk3wk72l0kiymf82fashklbyhk7mr968zx3")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -3008,12 +3008,16 @@ replacement for the @code{urlview} program.") (inputs `(("guile-debbugs" ,guile-debbugs) ("guile-email" ,guile-email) + ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-3) + ("guile-redis" ,guile-redis) ("guile-sqlite3" ,guile-sqlite3) ("guile-syntax-highlight" ,guile-syntax-highlight) + ("guile-webutils" ,guile-webutils) + ("guile-xapian" ,guile-xapian) ("gnutls" ,gnutls) ;needed to talk to https://debbugs.gnu.org ("guile" ,guile-2.2) - ("mumimu" ,mumimu))) ;'mumimu' executable recorded in (mumi config) + ("mailutils" ,mailutils))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -3132,3 +3136,35 @@ related tools to process winmail.dat files.") complement or replace traditional mailing lists. Readers may read via NNTP, Atom feeds or HTML archives.") (license agpl3+)))) + +(define-public sylpheed + (package + (name "sylpheed") + (version "3.7.0") + (source (origin + (method url-fetch) + (uri (string-append "https://sylpheed.sraoss.jp/sylpheed/v3.7/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0j9y5vdzch251s264diw9clrn88dn20bqqkwfmis9l7m8vmwasqd")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("bogofilter" ,bogofilter) + ("compface" ,compface) + ("gnupg" ,gnupg-1) + ("gpgme" ,gpgme) + ("gtk+-2.0" ,gtk+-2) + ("gtkspell" ,gtkspell3) + ("libnsl" ,libnsl) + ("openldap" ,openldap) + ("openssl" ,openssl))) + (home-page "https://sylpheed.sraoss.jp/en/") + (synopsis "Lightweight GTK+ email client") + (description + "Sylpheed is a simple, lightweight but featureful, and easy-to-use e-mail +client. Sylpheed provides intuitive user-interface. Sylpheed is also +designed for keyboard-oriented operation.") + (license gpl2+))) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 9f18afabde..ae795ecba6 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -3,10 +3,11 @@ ;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ (define-module (gnu packages man) #:use-module (guix licenses) + #:use-module (guix git-download) #:use-module (guix download) #:use-module (guix packages) #:use-module (guix build-system gnu) @@ -136,10 +138,10 @@ a flexible and convenient way.") (srfi srfi-1)))) (native-inputs `(("pkg-config" ,pkg-config) + ("flex" ,flex) ("groff" ,groff))) ;needed at build time (troff, grops, soelim, etc.) (inputs - `(("flex" ,flex) - ("gdbm" ,gdbm) + `(("gdbm" ,gdbm) ("groff-minimal" ,groff-minimal) ("less" ,less) ("libpipeline" ,libpipeline) @@ -162,7 +164,7 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "5.05") + (version "5.06") (source (origin (method url-fetch) @@ -172,7 +174,7 @@ the traditional flat-text whatis databases.") (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/" "man-pages-" version ".tar.xz"))) (sha256 - (base32 "0izb6shcczvg37cyd3kzxsfsrffqj1qw9nqhhq9mi4kd36qkbcfm")))) + (base32 "0l7ypgl36jswa077qvdh1rcsvnwr64vja6cc32bab86sm41akf3h")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) @@ -239,7 +241,7 @@ automatically.") (define-public scdoc (package (name "scdoc") - (version "1.9.4") + (version "1.10.1") (source (origin (method url-fetch) @@ -248,7 +250,7 @@ automatically.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "00zc3rzj97gscby31djlqyczvqpyhrl66i44czwzmmn7rc5j03m1")))) + "13x7g1r56bshvfmlvapvz35ywnbgsh337kywb5kcv8nc6b3j3q40")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -269,13 +271,14 @@ in C99.") (version "1.6.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mvertes/txt2man/archive/txt2man-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mvertes/txt2man") + (commit (string-append "txt2man-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "168cj96974n2z0igin6j1ic1m45zyic7nm5ark7frq8j78rrx4zn")))) + "1razjpvlcp85hqli77mwr9nmn5jnv3lm1fxbbqjpx1brv3h1lvm5")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 54d4c539ec..d6b0e25e6b 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -29,19 +29,18 @@ (define-public toot (package (name "toot") - (version "0.24.0") + (version "0.26.0") (source (origin (method url-fetch) (uri (pypi-uri "toot" version)) (sha256 - (base32 "0w83b6ydaggrand9285wfrjrm1qry8fjl4as0iihma630ky6y2w3")))) + (base32 "0h0lqm1q7i32i9n6yx5q2j563vc92h2sjh1ih4n2rxf98p6c5d1b")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'check + (replace 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) (invoke "py.test")))))) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 78d98d4203..f5d0b834b6 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -3,8 +3,9 @@ ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; 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> ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,7 +95,7 @@ MATE applications.") (define-public mate-power-manager (package (name "mate-power-manager") - (version "1.22.0") + (version "1.24.1") (source (origin (method url-fetch) @@ -102,14 +103,14 @@ MATE applications.") name "-" version ".tar.xz")) (sha256 (base32 - "03c09h41qfz83wmjfvwzkq4xqc54aswmki4h034qcxbgfnyfmk1i")))) + "13ar40x5hs4d4h81q8qsy0agbx5wnarry3mbhws54zydcxd7j20a")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("intltool" ,intltool) ("yelp-tools" ,yelp-tools) + ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ; glib-gettextize - ("libtool" ,libtool))) + ("polkit" ,polkit))) ; for ITS rules (inputs `(("gtk+" ,gtk+) ("glib" ,glib) @@ -133,7 +134,7 @@ actions.") (define-public mate-icon-theme (package (name "mate-icon-theme") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -141,7 +142,7 @@ actions.") name "-" version ".tar.xz")) (sha256 (base32 - "090vfxpn1b1wwvkilv1j3cx4swdm4z0s7xyvhvqhdzj58zsf2000")))) + "0a2lz61ivwwcdznmwlmgjr6ipr9sdl5g2czbagnpxkwz8f3m77na")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -194,14 +195,14 @@ from Mint-X-F and Faenza-Fresh icon packs.") (define-public mate-themes (package (name "mate-themes") - (version "3.22.20") + (version "3.22.21") (source (origin (method url-fetch) (uri (string-append "mirror://mate/themes/" (version-major+minor version) "/mate-themes-" version ".tar.xz")) (sha256 - (base32 "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx")))) + (base32 "051g2vq817g84yrqzf7hjcqr4xrghnw1rprjd6jf5mhhzmwcas6n")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -221,7 +222,7 @@ themes for both gtk+-2 and gtk+-3.") (define-public mate-desktop (package (name "mate-desktop") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -229,7 +230,7 @@ themes for both gtk+-2 and gtk+-3.") name "-" version ".tar.xz")) (sha256 (base32 - "09gn840p6qds21kxab4pidjd53g76s76i7178fdibrz462mda217")))) + "0l4bbj6nz315s5ndq5sw1jcgi3s1whk59bj12c4mbpsvmlb33adg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -255,7 +256,7 @@ desktop and the mate-about program.") (define-public libmateweather (package (name "libmateweather") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -263,7 +264,7 @@ desktop and the mate-about program.") name "-" version ".tar.xz")) (sha256 (base32 - "1ribgcwl4ncfbcf9bkcbxrgc7yzajdnxg12837psngymkqswlp6a")))) + "094mnlczxq9crjj8z7dzs1zmwscdkbp54l3qjaf4a4bhd8lihv8d")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -301,14 +302,14 @@ the MATE desktop environment.") (define-public mate-terminal (package (name "mate-terminal") - (version "1.23.0") + (version "1.24.0") (source (origin (method url-fetch) (uri (string-append "mirror://mate/" (version-major+minor version) "/" "mate-terminal-" version ".tar.xz")) (sha256 - (base32 "1jkw8i2j45p80i7wmm0j0gkbd44nr2qj8bf79jrh5z8kn01b1ibd")))) + (base32 "0nc23nmbkya2fgf7j65z85dcibwi5akkr8nscqrvk039ckirhk97")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -340,7 +341,7 @@ configurations (profiles).") (define-public mate-session-manager (package (name "mate-session-manager") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -348,31 +349,13 @@ configurations (profiles).") name "-" version ".tar.xz")) (sha256 (base32 - "1kpfmgay01gm74paaxccs3lim4jfb4hsm7i85jfdypr51985pwyj")))) + "01scj5d1xlri9b2id8gm9kfni9nzhdjdf7rag7fvcxwqp7baz3h3")))) (build-system glib-or-gtk-build-system) (arguments - `(#:configure-flags (list "--enable-elogind" + `(#:configure-flags (list "--with-elogind" "--disable-schemas-compile") #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure - (lambda* (#:key outputs #:allow-other-keys) - ;; Use elogind instead of systemd. - (substitute* "configure" - (("libsystemd-login") - "libelogind") - (("systemd") "elogind")) - (substitute* "mate-session/gsm-systemd.c" - (("#include <systemd/sd-login.h>") - "#include <elogind/sd-login.h>")) - ;; Remove uses of the systemd journal. - (substitute* "mate-session/main.c" - (("#ifdef HAVE_SYSTEMD") "#if 0")) - (substitute* "mate-session/gsm-manager.c" - (("#ifdef HAVE_SYSTEMD") "#if 0")) - (substitute* "mate-session/gsm-autostart-app.c" - (("#ifdef HAVE_SYSTEMD") "#if 0")) - #t)) (add-after 'install 'update-xsession-dot-desktop (lambda* (#:key outputs #:allow-other-keys) ;; Record the absolute file name of 'mate-session' in the @@ -389,6 +372,7 @@ configurations (profiles).") (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) + ("libxcomposite" ,libxcomposite) ("xtrans" ,xtrans) ("gobject-introspection" ,gobject-introspection))) (inputs @@ -407,7 +391,7 @@ configuration program to choose applications starting on login.") (define-public mate-settings-daemon (package (name "mate-settings-daemon") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -415,7 +399,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym")))) + "1hc5a36wqpjv9i2lgrn1h12s8y910xab3phx5vzbzq47kj6m3gw9")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -449,7 +433,7 @@ configuration program to choose applications starting on login.") (define-public libmatemixer (package (name "libmatemixer") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -457,7 +441,7 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9")))) + "08vkdp2kzy27xwscwp2jj5nz0yblrka2482l6cx3wl4dnk0rpznm")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -478,7 +462,7 @@ sound systems.") (define-public libmatekbd (package (name "libmatekbd") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -486,7 +470,7 @@ sound systems.") name "-" version ".tar.xz")) (sha256 (base32 - "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8")))) + "1sq7gwr9q3hq4q0vx32qqa68qcqf5by9mqyxnq6lwgaq8ydq16ab")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -509,7 +493,7 @@ MATE desktop environment.") (define-public mate-menus (package (name "mate-menus") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -517,7 +501,7 @@ MATE desktop environment.") name "-" version ".tar.xz")) (sha256 (base32 - "1lkakbf2f1815c146z4xp5f0h4lim6jzr02681wbvzalc6k97v5c")))) + "1vv4j38h7mrbfrsj99k25z6y7b5dg30fzd2qnhk7pl8ca8s1jhrd")))) (build-system gnu-build-system) (arguments `(#:phases @@ -550,7 +534,7 @@ assorted menu related utility programs.") (define-public mate-applets (package (name "mate-applets") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -558,7 +542,7 @@ assorted menu related utility programs.") name "-" version ".tar.xz")) (sha256 (base32 - "0f5ym6z7awi0kw6i1sdkj2qly88sl692j5r1zhklihyz1z9a6j0h")))) + "0nm3amb3v458mxv1mbz9y8f4230gldmydmkkm7vqxsrxbccynkxq")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -623,7 +607,7 @@ Interactive Weather Information Network (IWIN). (define-public mate-media (package (name "mate-media") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -631,7 +615,7 @@ Interactive Weather Information Network (IWIN). name "-" version ".tar.xz")) (sha256 (base32 - "0jrxbz00vjas0yp3ixvyzfsdby2ac3p3bds9yd7q1437mmhf71mj")))) + "1d5dx79yfqghjaxrdrdh053nfnvkbx8p3ma7j87s7rsvy5irs963")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -659,7 +643,7 @@ mate-volume-control, a MATE volume control application and applet.") (define-public mate-panel (package (name "mate-panel") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -667,7 +651,7 @@ mate-volume-control, a MATE volume control application and applet.") name "-" version ".tar.xz")) (sha256 (base32 - "17l4ryy71bkszr6shm9dm31zcsd7m0digi1mmvdlib5hqzvc7li7")))) + "1hrh10pqk8mva1ix2nmsp3cbbn81cgqy0b9lqhsl0b5p0s40i7in")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags @@ -834,7 +818,7 @@ infamous 'Wanda the Fish'.") (define-public caja (package (name "caja") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -842,7 +826,7 @@ infamous 'Wanda the Fish'.") name "-" version ".tar.xz")) (sha256 (base32 - "14x9n9q7vip5zp4mdgccj1p1dm4xn429g0bjw2v8iz7zmjb7vcgl")))) + "1cnfy481hcwjv3ia3kw0d4h7ga8cng0pqm3z349v4qcmfdapmqc0")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--disable-update-mimedb") @@ -892,7 +876,7 @@ icons on the MATE desktop. It works on local and remote file systems.") (define-public caja-extensions (package (name "caja-extensions") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -900,7 +884,7 @@ icons on the MATE desktop. It works on local and remote file systems.") name "-" version ".tar.xz")) (sha256 (base32 - "1h866jmdd3qpjzi7wjj11krwiaadnlf21844g1zqfb4jgrzj773p")))) + "175v5c05nrdliya23rbqma49alldq67dklmvpq18nq71sfry4pp6")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags (list "--enable-sendto" @@ -920,6 +904,7 @@ icons on the MATE desktop. It works on local and remote file systems.") ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc) + ("libxml2" ,libxml2) ("pkg-config" ,pkg-config))) (inputs `(("attr" ,attr) @@ -946,7 +931,7 @@ icons on the MATE desktop. It works on local and remote file systems.") (define-public mate-control-center (package (name "mate-control-center") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -954,8 +939,21 @@ icons on the MATE desktop. It works on local and remote file systems.") name "-" version ".tar.xz")) (sha256 (base32 - "06wpfsxsiv7w3dl7p395r5vcxqbjlllydqbnvbr6yn0lrac15i71")))) + "192plsh83m2qz7jgakns2yvhqbj53v7i54iwb0z26i2awy0j9rcd")))) (build-system glib-or-gtk-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'fix-polkit-action + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure the polkit file refers to the right + ;; executable. + (let ((out (assoc-ref outputs "out"))) + (substitute* + '("capplets/display/org.mate.randr.policy.in" + "capplets/display/org.mate.randr.policy") + (("/usr/sbin") + (string-append out "/sbin"))) + #t)))))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) @@ -991,6 +989,7 @@ icons on the MATE desktop. It works on local and remote file systems.") ("mate-menus" ,mate-menus) ("mate-settings-daemon" ,mate-settings-daemon) ("pango" ,pango) + ("polkit" ,polkit) ("startup-notification" ,startup-notification))) (propagated-inputs `(("gdk-pixbuf" ,gdk-pixbuf+svg) ; mate-slab.pc @@ -1005,7 +1004,7 @@ of various aspects of your desktop.") (define-public marco (package (name "marco") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1013,7 +1012,7 @@ of various aspects of your desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "1i1pi1z9mrb6564mxcwb93jqpdppfv58c2viwmicsixis62hv5wx")))) + "0hcbyv8czymhwz5q9rwig7kkhlhik6y080bls736f3wsbqnnirc2")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1055,7 +1054,7 @@ for use with MATE or as a standalone window manager.") (define-public mate-user-guide (package (name "mate-user-guide") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1063,7 +1062,7 @@ for use with MATE or as a standalone window manager.") name "-" version ".tar.xz")) (sha256 (base32 - "0ckn7h7l0qdgdx440dwx1h8i601s22sxlf5a7179hfirk9016j0z")))) + "0ddxya84iydvy85dbqls0wmz2rph87wri3rsdhv4rkbhh5g4sd7f")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1094,7 +1093,7 @@ sessions, panels, menus, file management, and preferences.") (define-public mate-calc (package (name "mate-calc") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1102,7 +1101,7 @@ sessions, panels, menus, file management, and preferences.") name "-" version ".tar.xz")) (sha256 (base32 - "1njk6v7z3969ikvcrabr1lw5f5572vb14w064zm3mydj8cc5inlr")))) + "0f7hc1gg41kcwcyvsqqg79qylrp0qqymris8qizk2x3cfvvg7261")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1125,7 +1124,7 @@ sessions, panels, menus, file management, and preferences.") (define-public mate-backgrounds (package (name "mate-backgrounds") - (version "1.22.0") + (version "1.24.1") (source (origin (method url-fetch) @@ -1133,7 +1132,7 @@ sessions, panels, menus, file management, and preferences.") name "-" version ".tar.xz")) (sha256 (base32 - "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9")))) + "0b9yx68p9l867bqsl9z2g4wrs8p396ls673jgaliys5snmk8n8dn")))) (build-system glib-or-gtk-build-system) (native-inputs `(("intltool" ,intltool))) @@ -1147,7 +1146,7 @@ can be used as backgrounds in the MATE Desktop environment.") (define-public mate-netbook (package (name "mate-netbook") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1155,7 +1154,7 @@ can be used as backgrounds in the MATE Desktop environment.") name "-" version ".tar.xz")) (sha256 (base32 - "17p1wv9bcr3kvlahnxmxj786vka86nysi90x5xci6ilwyjlaxh0l")))) + "1bmk9gq5gcqkvfppa7i1hqfph8sajc3xs189s4ha97g0ifwd98a8")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1188,7 +1187,7 @@ Re-decorates windows on un-maximise. (define-public mate-screensaver (package (name "mate-screensaver") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1196,7 +1195,7 @@ Re-decorates windows on un-maximise. name "-" version ".tar.xz")) (sha256 (base32 - "17fxyccsc410wbyxmds1sm7gjqbj6z46x5cjk1791hfzf0sh82sy")))) + "0gpw6x9d0b77f14vjl7ghq5dya1mwcnvmgigg00manfwlksr5zby")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags @@ -1259,7 +1258,7 @@ can be used as backgrounds in the MATE Desktop environment.") (define-public mate-utils (package (name "mate-utils") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1267,7 +1266,7 @@ can be used as backgrounds in the MATE Desktop environment.") name "-" version ".tar.xz")) (sha256 (base32 - "0kz95hicjksgkwaj83fdp2rnaygfgjbj0jsnwy4n0lj5q90j7r28")))) + "1b16n1628gcsym5mph6lr9x5xm4rgkxsa8xwr2wlx8g2gw2775i1")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1291,6 +1290,7 @@ can be used as backgrounds in the MATE Desktop environment.") ("libxext" ,libxext) ("mate-panel" ,mate-panel) ("pango" ,pango) + ("udisks" ,udisks) ("zlib" ,zlib))) (home-page "https://mate-desktop.org/") (synopsis "Utilities for the MATE Desktop") @@ -1311,7 +1311,7 @@ can be used as backgrounds in the MATE Desktop environment.") (define-public eom (package (name "eom") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1319,7 +1319,7 @@ can be used as backgrounds in the MATE Desktop environment.") name "-" version ".tar.xz")) (sha256 (base32 - "093vbip848bp9y603yasbrg1bcp68m64hma7zhi5m37x2r103r6l")))) + "0zzximp2534bky0vac219alafblw6m0lis0gncq92017s6c1mb77")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1361,7 +1361,7 @@ can be used as backgrounds in the MATE Desktop environment.") (define-public engrampa (package (name "engrampa") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1369,7 +1369,7 @@ can be used as backgrounds in the MATE Desktop environment.") name "-" version ".tar.xz")) (sha256 (base32 - "16yjplfl2sqa7n6404hjn0vwkh0xkdch73q7n5czynihmh3azc7p")))) + "13cak3qgrzqj74x9jq1sf155793v2bqqz4mk4i04g9f9xn3g85fl")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags (list "--disable-schemas-compile" @@ -1414,7 +1414,7 @@ can be used as backgrounds in the MATE Desktop environment.") (define-public pluma (package (name "pluma") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1422,7 +1422,7 @@ can be used as backgrounds in the MATE Desktop environment.") name "-" version ".tar.xz")) (sha256 (base32 - "07rr5asdjr9slmaijp4m8v9vxscihvm36mfrwlp3lv12kry42a05")))) + "1vmndhlhy3qkf3xs5kkv0xhbv5ar25pqz0kp17hc4qhgjzycfr0r")))) (build-system glib-or-gtk-build-system) (arguments `(; Tests can not succeed. @@ -1453,7 +1453,7 @@ can be used as backgrounds in the MATE Desktop environment.") ("libice" ,libice) ("packagekit" ,packagekit) ("pango" ,pango) - ("python-2" ,python-2) + ("python" ,python) ("scrollkeeper" ,scrollkeeper))) (home-page "https://mate-desktop.org/") (synopsis "Text Editor for MATE") @@ -1464,7 +1464,7 @@ can be used as backgrounds in the MATE Desktop environment.") (define-public mate-system-monitor (package (name "mate-system-monitor") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1472,7 +1472,7 @@ can be used as backgrounds in the MATE Desktop environment.") name "-" version ".tar.xz")) (sha256 (base32 - "0rs0n5ivmvi355fp3ymcp1jj2sz9viw31475aw7zh7s1l7dn969x")))) + "1cb36lrsn4fhsryl2kl4yq0qhp1p4r7k21w3fc2ywjga8fdxx6y5")))) (build-system glib-or-gtk-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1504,7 +1504,7 @@ MATE Desktop to monitor your system resources and usage.") (define-public mate-polkit (package (name "mate-polkit") - (version "1.22.0") + (version "1.24.0") (source (origin (method url-fetch) @@ -1512,7 +1512,7 @@ MATE Desktop to monitor your system resources and usage.") name "-" version ".tar.xz")) (sha256 (base32 - "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0")))) + "1450bqzlnvwy3xa98lj102j2cf7piqbxcd1cy2zp41rdl8ri3gvn")))) (build-system glib-or-gtk-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -1551,6 +1551,7 @@ used to bring up authentication dialogs.") (union-build (assoc-ref %outputs "out") directories) #t))))) + (native-inputs `(("desktop-file-utils" ,desktop-file-utils))) (inputs ;; TODO: Add more packages `(("at-spi2-core" ,at-spi2-core) @@ -1558,7 +1559,6 @@ used to bring up authentication dialogs.") ("caja" ,caja) ("dbus" ,dbus) ("dconf" ,dconf) - ("desktop-file-utils" ,desktop-file-utils) ("engrampa" ,engrampa) ("eom" ,eom) ("font-cantarell" ,font-cantarell) @@ -1596,6 +1596,10 @@ used to bring up authentication dialogs.") ("shared-mime-info" ,shared-mime-info) ("yelp" ,yelp) ("zenity" ,zenity))) + ;; FIXME: Propagating glib:bin fixes http://issues.guix.gnu.org/issue/38135 + ;; The proper fix is in core-updates. So we can remove this after next merge. + (propagated-inputs + `(("glib:bin" ,glib "bin"))) (synopsis "The MATE desktop environment") (home-page "https://mate-desktop.org/") (description diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 028f0e6ef9..d7ce900682 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -35,6 +35,9 @@ ;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,6 +65,7 @@ #:use-module (guix utils) #:use-module ((guix build utils) #:select (alist-replace)) #: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 python) #:use-module (guix build-system ruby) @@ -79,6 +83,7 @@ #:use-module (gnu packages dbm) #:use-module (gnu packages documentation) #:use-module (gnu packages elf) + #:use-module (gnu packages file) #:use-module (gnu packages flex) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) @@ -86,8 +91,10 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages gd) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages java) #:use-module (gnu packages less) @@ -375,6 +382,81 @@ semiconductors.") (license license:gpl3+) (home-page "https://www.gnu.org/software/dionysus/"))) +(define-public dsfmt + (package + (name "dsfmt") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri + (string-append + "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/" + "dSFMT-src-" version ".tar.gz")) + (sha256 + (base32 + "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42")) + (modules '((guix build utils))) + ;; Don't distribute html documentation with bundled jquery. + (snippet + '(begin + (delete-file-recursively "html") #t)) + ;; Add patches borrowed from Julia. + (patches + (list + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.c.patch")) + (sha256 (base32 + "09mhv11bms8jsmkmdqvlcgljwhzw3b6n9nncpi2b6dla9798hw2y")) + (file-name "dSFMT.c.patch")) + (origin + (method url-fetch) + (uri (string-append + "https://raw.githubusercontent.com/JuliaLang/julia/" + "v1.3.0/deps/patches/dSFMT.h.patch")) + (sha256 (base32 + "1py5rd0yxic335lzka23f6x2dhncrpizpyrk57gi2f28c0p98y5n")) + (file-name "dSFMT.h.patch")))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'build + ;; Upstream Makefile does not build a shared library. Borrow from Julia + ;; https://github.com/JuliaLang/julia/blob/v1.3.0/deps/dsfmt.mk + (lambda _ + (invoke + "gcc" "-DNDEBUG" "-DDSFMT_MEXP=19937" + "-fPIC" "-DDSFMT_DO_NOT_USE_OLD_NAMES" + "-O3" "-finline-functions" "-fomit-frame-pointer" + "-fno-strict-aliasing" "--param" "max-inline-insns-single=1800" + "-Wmissing-prototypes" "-Wall" "-std=c99" "-shared" "dSFMT.c" + "-o" "libdSFMT.so"))) + (replace 'install ; no "install" target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (inc (string-append out "/include")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (install-file "libdSFMT.so" lib) + (install-file "dSFMT.h" inc) + (install-file "LICENSE.txt" doc) + #t)))))) + (synopsis "Double precision SIMD-oriented Fast Mersenne Twister") + (description + "The dSMFT package speeds up Fast Mersenne Twister generation by avoiding +the expensive conversion of integer to double (floating point). dSFMT directly +generates double precision floating point pseudorandom numbers which have the +IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985) +format. dSFMT is only available on the CPUs which use IEEE 754 format double +precision floating point numbers.") + (home-page "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/") + (license license:bsd-3))) + (define-public gsl (package (name "gsl") @@ -1216,6 +1298,45 @@ Swath).") #t)))))) (synopsis "Management suite for data with parallel IO support"))) +(define-public hdf5-blosc + (package + (name "hdf5-blosc") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Blosc/hdf5-blosc.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nj2bm1v6ymm3fmyvhbn6ih5fgdiapavlfghh1pvbmhw71cysyqs")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DBLOSC_INSTALL_DIR=" + (assoc-ref %build-inputs "c-blosc")) + (string-append "-DPLUGIN_INSTALL_PATH=" + (assoc-ref %outputs "out") + "/hdf5/lib/plugin")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'do-not-build-blosc + (lambda _ + (substitute* "CMakeLists.txt" + (("set\\(BLOSC_INSTALL_DIR.*") "") + (("ExternalProject_Add\\(project_blosc") "message(")) + #t))))) + (inputs + `(("c-blosc" ,c-blosc) + ("hdf5" ,hdf5-1.10))) + (home-page "https://github.com/Blosc/hdf5-blosc") + (synopsis "Filter for HDF5 using the Blosc compressor") + (description "This is a filter for HDF5 that uses the Blosc compressor; by +installing this filter, you can read and write HDF5 files with +Blosc-compressed datasets.") + (license license:expat))) + (define-public h5check (package (name "h5check") @@ -1649,9 +1770,6 @@ script files.") "qscintilla2_qt5")) #t)))))))) -(define-public qtoctave - (deprecated-package "qtoctave" octave)) - (define-public opencascade-oce (package (name "opencascade-oce") @@ -2623,8 +2741,9 @@ implemented in ANSI C, and MPI for communications.") "scotch-integer-declarations.patch")))) (build-system gnu-build-system) (inputs - `(("zlib" ,zlib) - ("flex" ,flex) + `(("zlib" ,zlib))) + (native-inputs + `(("flex" ,flex) ("bison" ,bison))) (outputs '("out" "metis")) (arguments @@ -4213,6 +4332,10 @@ as equations, scalars, vectors, and matrices.") (guix build utils)) #:phases (modify-phases %standard-phases + (add-after 'unpack 'enable-bytecode-determinism + (lambda _ + (setenv "PYTHONHASHSEED" "0") + #t)) (add-after 'unpack 'fix-compatability ;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only. (lambda _ @@ -4577,7 +4700,7 @@ linear algebra primitives specifically targeting graph analytics.") (define-public dune-common (package (name "dune-common") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4585,7 +4708,7 @@ linear algebra primitives specifically targeting graph analytics.") version "/dune-common-" version ".tar.gz")) (sha256 (base32 - "019wcr1qf7jwyxx1y5y290wdlglylskvbb2m01ljkzcza2xnlmhw")))) + "140q1zh44cr5yrjwg4b5ga803rkqv55vk30l2cqm29aklj1wb0rw")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4615,7 +4738,7 @@ Differences} (FD).") (define-public dune-geometry (package (name "dune-geometry") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4623,7 +4746,7 @@ Differences} (FD).") version "/dune-geometry-" version ".tar.gz")) (sha256 (base32 - "0hlaaxjyv9j05blasvb67sy02hd0w4g9znf68gdh3l731dd1aqbn")))) + "1cicvlwbyyw76npicnblxckyvhbfn3ip8isydiv3hlrlz8zcg5nr")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4655,15 +4778,17 @@ This package contains the basic DUNE geometry classes.") (define-public dune-uggrid (package (name "dune-uggrid") - (version "2.6.0") + (version "2.7.0") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-uggrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/staging/dune-uggrid.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "05l7a1gb78mny49anyxk6rjvn66rhgm30y72v5cjg0m5kfgr1a1f")))) + "192miqgmfj6jwk969gydzpbv9ki7jg5nky3ydnrwa2nq29b5xkh0")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4690,7 +4815,7 @@ This package contains the DUNE UG grid classes.") (define-public dune-grid (package (name "dune-grid") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4698,7 +4823,7 @@ This package contains the DUNE UG grid classes.") version "/dune-grid-" version ".tar.gz")) (sha256 (base32 - "1jp4vscm9yb9xg0lh7apzccfkhvgbnk652yahigmh3cvzpl4acd0")))) + "17fjz30qazjgl11sryyxnw9klai4yz1ji4bs68013xcxc5hdv27s")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4733,7 +4858,7 @@ This package contains the basic DUNE grid classes.") (define-public dune-istl (package (name "dune-istl") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4741,7 +4866,8 @@ This package contains the basic DUNE grid classes.") version "/dune-istl-" version ".tar.gz")) (sha256 (base32 - "0l2gyrvys5w6wsmk0ckbb7295s80b7yk7qrl7x66akv2jv1nzq2w")))) + "0gl3wgz5rs6sb4m83440ny45sbx7z7lnbi3gx6r9nm3rvy5j33f9")) + (patches (search-patches "dune-istl-2.7-fix-non-mpi-tests.patch")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4779,7 +4905,7 @@ aggregation-based algebraic multigrid.") (define-public dune-localfunctions (package (name "dune-localfunctions") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) @@ -4787,7 +4913,7 @@ aggregation-based algebraic multigrid.") version "/dune-localfunctions-" version ".tar.gz")) (sha256 (base32 - "19c6zjinwwpy8jh4v4prhphyd438rapd4x80fj93apmwgw04nrhl")))) + "1yih59h6vngii696bx1c2vil02lriij4kz0nc583mjn9kiaqxfqd")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4822,15 +4948,17 @@ assemble global function spaces on finite-element grids.") (define-public dune-alugrid (package (name "dune-alugrid") - (version "2.6.0") + (version "2.7.0-git-81d35682") (source (origin - (method url-fetch) - (uri (string-append "https://dune-project.org/download/" - version "/dune-alugrid-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.dune-project.org/extensions/dune-alugrid.git") + (commit "81d356827c84454b971937db02c02b90bbcd7fe5"))) + (file-name (git-file-name name version)) (sha256 (base32 - "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj")))) + "0z54lwfp53prcrs94k8gwh047l9z642jll3l56xlyfr69z0b2zz1")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4870,17 +4998,17 @@ cubes.") (define-public dune-subgrid (package (name "dune-subgrid") - (version "2.6.0") + (version "2.7.0-git-2103a363") (source (origin (method git-fetch) (uri (git-reference (url "https://git.imp.fu-berlin.de/agnumpde/dune-subgrid") - (commit "releases/2.6-1"))) + (commit "2103a363f32e8d7b60e66eee7ddecf969f6cf762"))) (file-name (git-file-name name version)) (sha256 (base32 - "1gcv35rx3knqd54r4pp9rzd639db4j8w2r2ibq43w1mgwdcqhs64")))) + "1wsjlypd3835c3arqjkw836cxx5q67zy447wa65q634lf6f6v9ia")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4901,7 +5029,7 @@ cubes.") ("pkg-config" ,pkg-config))) (home-page "http://numerik.mi.fu-berlin.de/dune-subgrid/index.php") (synopsis "Distributed and Unified Numerics Environment") - (description "The dune-subgrid module allows to mark elements of + (description "The dune-subgrid module marks elements of another hierarchical dune grid. The set of marked elements can then be accessed as a hierarchical dune grid in its own right. Dune-Subgrid provides the full grid interface including adaptive mesh refinement.") @@ -4910,7 +5038,7 @@ provides the full grid interface including adaptive mesh refinement.") (define-public dune-typetree (package (name "dune-typetree") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -4920,7 +5048,7 @@ provides the full grid interface including adaptive mesh refinement.") (file-name (git-file-name name version)) (sha256 (base32 - "0mnv6w2f22lz3j4bdpdjq55vjm8xxfx9v4vvhg9bd36xpsbjpjp9")))) + "1rhv25yg0q1hw50c8wlfqhgwrjl4mh62zq9v14ilwgzbfgxmpiy7")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4949,7 +5077,7 @@ operating on statically typed trees of objects.") (define-public dune-functions (package (name "dune-functions") - (version "2.6.0") + (version "2.7.0") (source (origin (method git-fetch) @@ -4959,7 +5087,7 @@ operating on statically typed trees of objects.") (file-name (git-file-name name version)) (sha256 (base32 - "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200")))) + "1na4gcih0kin37ksj2xj07ds04v7zx53pjdhm1hzy55jjfqdjk8h")))) (build-system cmake-build-system) (arguments `(#:phases @@ -4999,17 +5127,17 @@ implemented as callable objects, and bases of finite element spaces.") (define-public dune-pdelab (package (name "dune-pdelab") - (version "2.6.0-rc1") + (version "2.7.0-git-476fe437") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.dune-project.org/pdelab/dune-pdelab") - (commit (string-append "v" version)))) + (commit "476fe43763fa6f459c5e4658e2a2b4b5582db834"))) (file-name (git-file-name name version)) (sha256 (base32 - "07g0s9448z65vjrq88g5rv3340iifil85k170n8kbqchsvi4ny5v")))) + "0cs36piqzn6rq0j2ih3ab3q3q9yg199wk72k5qi86pkzh7i7fdn1")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; XXX: the tests cannot be compiled (inputs @@ -5319,3 +5447,114 @@ researchers and developers alike to get started on SAT.") (home-page "http://minisat.se/MiniSat.html") (license license:expat)))) + +(define-public libqalculate + (package + (name "libqalculate") + (version "3.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Qalculate/libqalculate/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df")) + (patches + (search-patches "libqalculate-3.8.0-libcurl-ssl-fix.patch")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) + ("intltool" ,intltool) + ("automake" ,automake) + ("autoconf" ,autoconf) + ("libtool" ,libtool) + ("doxygen" ,doxygen) + ("file" ,file))) + (inputs + `(("gmp" ,gmp) + ("mpfr" ,mpfr) + ("libxml2" ,libxml2) + ("curl" ,curl) + ("icu4c" ,icu4c) + ("gnuplot" ,gnuplot) + ("readline" ,readline) + ("libiconv" ,libiconv))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'setenv + ;; Prevent the autogen.sh script to carry out the configure + ;; script, which has not yet been patched to replace /bin/sh. + (lambda _ + (setenv "NOCONFIGURE" "TRUE") + #t))))) + (home-page "https://qalculate.github.io/") + (synopsis "Multi-purpose cli desktop calculator and library") + (description + "Libqalculate is a multi-purpose cli desktop calculator and library. +It provides basic and advanced functionality. Features include customizable +functions, unit calculations, and conversions, physical constants, symbolic +calculations (including integrals and equations), arbitrary precision, +uncertainty propagation, interval arithmetic, plotting and a user-friendly +cli.") + (license license:gpl2+))) + +(define-public qalculate-gtk + (package + (name "qalculate-gtk") + (version "3.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Qalculate/qalculate-gtk/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0nsg6dzg5r7rzqr671nvrf1c50rjwpz7bxv5f20i4s7agizgv840")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("automake" ,automake) + ("autoconf" ,autoconf) + ("libtool" ,libtool) + ("file" ,file))) + (inputs + `(("gmp" ,gmp) + ("mpfr" ,mpfr) + ("libqalculate" ,libqalculate) + ("libxml2" ,libxml2) + ("glib" ,glib) + ("gtk+" ,gtk+))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'setenv + ;; Prevent the autogen.sh script to carry out the configure + ;; script, which has not yet been patched to replace /bin/sh. + (lambda _ + (setenv "NOCONFIGURE" "TRUE") + #t)) + (add-before 'check 'add-pot-file + ;; the file contains translations and are currently not in use + ;; left out on purpose so add it to POTFILES.skip + (lambda _ + (with-output-to-file "po/POTFILES.skip" + (lambda _ + (format #t "data/shortcuts.ui~%") + #t)) + #t))))) + (home-page "https://qalculate.github.io/") + (synopsis "Multi-purpose graphical desktop calculator") + (description + "Qalculate-gtk is the GTK frontend for libqalculate. It is a +multi-purpose GUI desktop calculator. It provides basic and advanced +functionality. Features include customizable functions, unit calculations, +and conversions, physical constants, symbolic calculations (including +integrals and equations), arbitrary precision, uncertainity propagation, +interval arithmetic, plotting.") + (license license:gpl2+))) diff --git a/gnu/packages/matrix.scm b/gnu/packages/matrix.scm new file mode 100644 index 0000000000..7bbdc09688 --- /dev/null +++ b/gnu/packages/matrix.scm @@ -0,0 +1,122 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> +;;; +;;; 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 matrix) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages check) + #:use-module (gnu packages databases) + #:use-module (gnu packages monitoring) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages xml) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module (guix packages)) + +(define-public python-matrix-synapse-ldap3 + (package + (name "python-matrix-synapse-ldap3") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "matrix-synapse-ldap3" version)) + (sha256 + (base32 + "01bms89sl16nyh9f141idsz4mnhxvjrc3gj721wxh1fhikps0djx")))) + (build-system python-build-system) + (arguments + ;; tests require synapse, creating a circular dependency. + '(#:tests? #f)) + (propagated-inputs + `(("python-twisted" ,python-twisted) + ("python-ldap3" ,python-ldap3) + ("python-service-identity" ,python-service-identity))) + (home-page "https://github.com/matrix-org/matrix-synapse-ldap3") + (synopsis "LDAP3 auth provider for Synapse") + (description + "This package allows Synapse to use LDAP as a password provider. +This lets users log in to Synapse with their username and password from +an LDAP server.") + (license license:asl2.0))) + +(define-public synapse + (package + (name "synapse") + (version "1.11.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "matrix-synapse" version)) + (sha256 + (base32 + "0cqbwcz0fi4w413s1kcxvf696qi4n46n1k4ggnygqri5yq26qlfy")))) + (build-system python-build-system) + ;; TODO I think there are custom tests + (propagated-inputs + `(("python-simplejson" ,python-simplejson) ; not attested but required + ;; requirements (synapse/python_dependencies.py) + ("python-jsonschema" ,python-jsonschema) + ("python-frozendict" ,python-frozendict) + ("python-unpaddedbase64" ,python-unpaddedbase64) + ("python-canonicaljson" ,python-canonicaljson) + ("python-signedjson" ,python-signedjson) + ("python-pynacl" ,python-pynacl) + ("python-idna" ,python-idna) + ("python-service-identity" ,python-service-identity) + ("python-twisted" ,python-twisted) + ("python-treq" ,python-treq) + ("python-pyopenssl" ,python-pyopenssl) + ("python-pyyaml" ,python-pyyaml) + ("python-pyasn1" ,python-pyasn1) + ("python-pyasn1-modules" ,python-pyasn1-modules) + ("python-daemonize" ,python-daemonize) + ("python-bcrypt" ,python-bcrypt) + ("python-pillow" ,python-pillow) + ("python-sortedcontainers" ,python-sortedcontainers) + ("python-pymacaroons" ,python-pymacaroons) + ("python-msgpack" ,python-msgpack) + ("python-phonenumbers" ,python-phonenumbers) + ("python-six" ,python-six) + ("python-prometheus-client" ,python-prometheus-client) + ("python-attrs" ,python-attrs) + ("python-netaddr" ,python-netaddr) + ("python-jinja2" ,python-jinja2) + ("python-bleach" ,python-bleach) + ("python-typing-extensions" ,python-typing-extensions) + ;; conditional requirements (synapse/python_dependencies.py) + ("python-matrix-synapse-ldap3" ,python-matrix-synapse-ldap3) + ("python-psycopg2" ,python-psycopg2) + ("python-jinja2" ,python-jinja2) + ("python-txacme" ,python-txacme) + ("python-pysaml2" ,python-pysaml2) + ("python-lxml" ,python-lxml) + ;; sentry-sdk, jaeger-client, and opentracing could be included, but + ;; all are monitoring aids and not essential. + ("python-pyjwt" ,python-pyjwt))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-parameterized" ,python-parameterized))) + (home-page "https://github.com/matrix-org/synapse") + (synopsis "Matrix reference homeserver") + (description "Synapse is a reference \"homeserver\" implementation of +Matrix from the core development team at matrix.org, written in +Python/Twisted. It is intended to showcase the concept of Matrix and let +folks see the spec in the context of a codebase and let you run your own +homeserver and generally help bootstrap the ecosystem.") + (license license:asl2.0))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index af3d4bb733..c6217a95de 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> -;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> @@ -19,6 +19,7 @@ ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -307,7 +308,7 @@ access to servers running the Discord protocol.") (("if 'DESTDIR' not in os.environ:") "if False:")) #t))))) - (synopsis "Graphical IRC Client") + (synopsis "Graphical IRC client") (description "HexChat lets you connect to multiple IRC networks at once. The main window shows the list of currently connected networks and their channels, the @@ -727,68 +728,52 @@ on Axolotl and PEP.") (license license:gpl3+))) (define-public dino - ;; The only release tarball is for version 0.0, but it is very old and fails - ;; to build. - (let ((commit "8e14ac6d714b7f88e16de31a6c795e811dc27417") - (revision "4")) - (package - (name "dino") - (version (git-version "0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/dino/dino.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xfmwnc2f8lsvmp7m8ggikzqjaw5z6wmxrv6j5ljha5ckffrdd9m")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f ; there are no tests - #:parallel-build? #f ; not supported - ; Use our libsignal-protocol-c instead of the git submodule. - #:configure-flags '("-DSHARED_SIGNAL_PROTOCOL=yes") - #:modules ((guix build cmake-build-system) - ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) - (guix build utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build cmake-build-system) - (guix build glib-or-gtk-build-system)) - #:phases - (modify-phases %standard-phases - ;; The signal-protocol plugin accesses internal headers of - ;; libsignal-protocol-c, so we need to put the sources there. - (add-after 'unpack 'unpack-sources - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "plugins/signal-protocol/libsignal-protocol-c" - (invoke "tar" "xvf" - (assoc-ref inputs "libsignal-protocol-c-source") - "--strip-components=1")))) - (add-after 'install 'glib-or-gtk-wrap - (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) - (inputs - `(("libgee" ,libgee) - ("libsignal-protocol-c" ,libsignal-protocol-c) - ("libgcrypt" ,libgcrypt) - ("libsoup" ,libsoup) - ("qrencode" ,qrencode) - ("sqlite" ,sqlite-with-column-metadata) - ("gpgme" ,gpgme) - ("gtk+" ,gtk+) - ("glib-networking" ,glib-networking) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("libsignal-protocol-c-source" ,(package-source libsignal-protocol-c)) - ("glib" ,glib "bin") - ("vala" ,vala) - ("gettext" ,gettext-minimal))) - (home-page "https://dino.im") - (synopsis "Graphical Jabber (XMPP) client") - (description "Dino is a Jabber (XMPP) client which aims to fit well into + (package + (name "dino") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/dino/dino/releases/download/v" + version "/dino-" version ".tar.gz")) + (sha256 + (base32 + "0dcq2jhpywgxrp9x1qqmrl2z50hazspqj547b9zz70apy3y4418h")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f + #:parallel-build? #f ; not supported + #:modules ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:imported-modules (,@%gnu-build-system-modules + (guix build cmake-build-system) + (guix build glib-or-gtk-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (inputs + `(("libgee" ,libgee) + ("libsignal-protocol-c" ,libsignal-protocol-c) + ("libgcrypt" ,libgcrypt) + ("libsoup" ,libsoup) + ("qrencode" ,qrencode) + ("sqlite" ,sqlite-with-column-metadata) + ("gpgme" ,gpgme) + ("gtk+" ,gtk+) + ("glib-networking" ,glib-networking) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("glib" ,glib "bin") + ("vala" ,vala) + ("gettext" ,gettext-minimal))) + (home-page "https://dino.im") + (synopsis "Graphical Jabber (XMPP) client") + (description "Dino is a Jabber (XMPP) client which aims to fit well into a graphical desktop environment like GNOME.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public prosody (package @@ -2030,13 +2015,13 @@ messaging that aren’t available to clients that connect over XMPP.") (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) ("which" ,which))) (inputs `(("pidgin" ,pidgin) ("libgcrypt" ,libgcrypt) ("libwebp" ,libwebp) ("glib" ,glib) - ("gettext" ,gnu-gettext) ("gtk+" ,gtk+-2) ("zlib" ,zlib))) (arguments diff --git a/gnu/packages/mingw.scm b/gnu/packages/mingw.scm index d0785c5067..b37f6c69bd 100644 --- a/gnu/packages/mingw.scm +++ b/gnu/packages/mingw.scm @@ -53,7 +53,10 @@ specified, recurse and return a mingw-w64 with support for winpthreads." "mingw-w64-release/mingw-w64-v" version ".tar.bz2")) (sha256 (base32 "0a5njsa2zw2ssdz10jkb10mhrf3cb8qp9avs89zqmw4n6pzxy85a")) - (patches (search-patches "mingw-w64-6.0.0-gcc.patch")))) + (patches + (search-patches "mingw-w64-6.0.0-gcc.patch" + "mingw-w64-dlltool-temp-prefix.patch" + "mingw-w64-reproducible-gendef.patch")))) (native-inputs `(("xgcc-core" ,(if xgcc xgcc (cross-gcc triplet))) ("xbinutils" ,(if xbinutils xbinutils (cross-binutils triplet))) ,@(if with-winpthreads? diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index bcb8df24d0..8da31d6a84 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -371,14 +372,13 @@ demand.") (define-public python-prometheus-client (package (name "python-prometheus-client") - (version "0.5.0") + (version "0.7.1") (source (origin (method url-fetch) (uri (pypi-uri "prometheus_client" version)) (sha256 - (base32 - "0g7rpv1pq2lab1nfqdx98z9d3bqwc400alg1j4ynrpjkrbsizhg8")))) + (base32 "1ni2yv4ixwz32nz39ckia76lvggi7m19y5f702w5qczbnfi29kbi")))) (build-system python-build-system) (arguments '(;; No included tests. diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index fe670f6aae..303af32983 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -92,7 +92,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.21.20") + (version "0.21.22") (source (origin (method url-fetch) (uri @@ -101,7 +101,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "1q8hwl3i0a4qzdwfh44r0nh5zd2mm3rraqw5qvmz6qfrjslz0bj2")))) + "18lvyv3crijki5nxjdhf1byayyavdvj07dk6rm856n4vi78qfmjn")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'... diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index ec0684168e..b39c50779a 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -135,7 +135,7 @@ bind processes, and much more.") ;; Note: 2.0 isn't the default yet, see above. (package (inherit hwloc-1) - (version "2.1.0") + (version "2.2.0") (source (origin (method url-fetch) (uri (string-append "https://www.open-mpi.org/software/hwloc/v" @@ -143,7 +143,7 @@ bind processes, and much more.") "/downloads/hwloc-" version ".tar.bz2")) (sha256 (base32 - "0qh8s7pphz0m5cwb7liqmc17xzfs23xhz5wn24r6ikvjyx99fhhr")))) + "0li27a3lnmb77qxpijj0kpblz32wmqd3b386sypq8ar7vy9vhw5f")))) ;; libnuma is no longer needed. (inputs (alist-delete "numactl" (package-inputs hwloc-1))) @@ -158,6 +158,14 @@ bind processes, and much more.") (substitute* "tests/hwloc/linux-libnuma.c" (("numa_available\\(\\)") "-1")) + #t)) + (add-before 'check 'skip-test-that-fails-on-qemu + (lambda _ + ;; Skip test that fails on emulated hardware due to QEMU bug: + ;; <https://bugs.gnu.org/40342>. + (substitute* "tests/hwloc/hwloc_get_last_cpu_location.c" + (("hwloc_topology_init" all) + (string-append "exit (77);\n" all))) #t)))))))) (define-deprecated hwloc-2.0 hwloc-2) diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm index b93d5789b9..5994cd140c 100644 --- a/gnu/packages/mtools.scm +++ b/gnu/packages/mtools.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -29,14 +29,14 @@ (define-public mtools (package (name "mtools") - (version "4.0.23") + (version "4.0.24") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mtools/mtools-" version ".tar.bz2")) (sha256 (base32 - "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i")) + "1f9g7g8zspp8nvg1nz869il9pvxpdpchqd0vxfc89y8rjbda5x14")) (patches (search-patches "mtools-mformat-uninitialized.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index bc5071dad0..9a0b042dc0 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2018 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il> @@ -50,18 +50,38 @@ (build-system gnu-build-system) (native-inputs `(("m4" ,m4))) (outputs '("out" "debug")) - (arguments `(#:parallel-tests? #f ; mpz/reuse fails otherwise - #:configure-flags - '(;; Build a "fat binary", with routines for several - ;; sub-architectures. - "--enable-fat" - "--enable-cxx" - ,@(cond ((target-mingw?) - ;; Static and shared cannot be built in one go: - ;; they produce different headers. We need shared. - `("--disable-static" - "--enable-shared")) - (else '()))))) + (arguments + `(#:parallel-tests? #f ; mpz/reuse fails otherwise + #:configure-flags + '(;; Build a "fat binary", with routines for several + ;; sub-architectures. + "--enable-fat" + "--enable-cxx" + ,@(cond ((target-mingw?) + ;; Static and shared cannot be built in one go: + ;; they produce different headers. We need shared. + `("--disable-static" + "--enable-shared")) + (else '()))) + ;; Remove after core-updates merge. + ;; Workaround for gcc-7 transition breakage, -system and cross-build, + ;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'. + ;; Note: See <http://bugs.gnu.org/30756> for why not 'C_INCLUDE_PATH' & co. + ,@(if (target-mingw?) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'setenv + (lambda _ + (let ((gcc (assoc-ref %build-inputs "cross-gcc")) + (libc (assoc-ref %build-inputs "cross-libc"))) + (setenv "CROSS_CPLUS_INCLUDE_PATH" + (string-append gcc "/include/c++" + ":" gcc "/include" + ":" libc "/include")) + (format #t "environment variable `CROSS_CPLUS_INCLUDE_PATH' set to `~a'\n" + (getenv "CROSS_CPLUS_INCLUDE_PATH")) + #t))))) + '()))) (synopsis "Multiple-precision arithmetic library") (description "The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 7c67fb27ab..589f158afe 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -25,6 +25,8 @@ ;;; Copyright © 2019 raingloom <raingloom@protonmail.com> ;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2019, 2020 Alexandros Theodotou <alex@zrythm.org> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,6 +99,7 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gpodder) #:use-module (gnu packages graphics) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) @@ -380,22 +383,28 @@ many input formats and provides a customisable Vi-style user interface.") (define-public denemo (package (name "denemo") - (version "2.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/denemo/denemo-" - version ".tar.gz")) - (sha256 - (base32 - "0hggf8c4xcrjcxd5m00r788r7jg7g8ff54w2idfaqpj5j2ix3299")))) + (version "2.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/denemo/" + "denemo-" version ".tar.gz")) + (sha256 + (base32 "1blkcl3slbsq9jlhwcf2m9v9g38a0sjfhh9advgi2qr1gxri08by")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - ;; Denemo's documentation says to use this command to run its - ;; testsuite. - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) + ;; Tests require to write $HOME. + (setenv "HOME" (getcwd)) + ;; Replace hard-coded diff file name. + (substitute* "tests/integration.c" + (("/usr/bin/diff") + (string-append (assoc-ref inputs "diffutils") "/bin/diff"))) + ;; Denemo's documentation says to use this command to run its + ;; test suite. (invoke "make" "-C" "tests" "check"))) (add-before 'build 'set-lilypond ;; This phase sets the default path for lilypond to its current @@ -408,24 +417,12 @@ many input formats and provides a customisable Vi-style user interface.") (string-append "g_string_new (\"" lilypond "\");")))) - #t)) - (add-after 'install 'correct-filename - ;; "graft-derivation/shallow" from the (guix grafts) module runs in - ;; the C locale, expecting file names to be ASCII encoded. This - ;; phase renames a filename with a Unicode character in it to meet - ;; the aforementioned condition. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out"))) - (chdir (string-append - out - "/share/denemo/templates/instruments/woodwind")) - (rename-file "Clarinet in B♭.denemo" - "Clarinet in Bb.denemo")) #t))))) (native-inputs - `(("intltool" ,intltool) + `(("diffutils" ,diffutils) ("glib:bin" ,glib "bin") ; for gtester ("gtk-doc" ,gtk-doc) + ("intltool" ,intltool) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs @@ -504,16 +501,16 @@ settings (aliasing, linear interpolation and cubic interpolation).") (define-public hydrogen (package (name "hydrogen") - (version "1.0.0-beta1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/hydrogen-music/hydrogen.git") - (commit version))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "0nv83l70j5bjz2wd6n3a8cq3bmgrvdvg6g2hjhc1g5h6xnbqsh9x")))) + (version "1.0.0-beta2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hydrogen-music/hydrogen.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1s3jrdyjpm92flw9mkkxchnj0wz8nn1y1kifii8ws252iiqjya4a")))) (build-system cmake-build-system) (arguments `(#:test-target "tests" @@ -528,16 +525,18 @@ settings (aliasing, linear interpolation and cubic interpolation).") #t))))) (native-inputs `(("cppunit" ,cppunit) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("qtlinguist" ,qttools))) (inputs `(("alsa-lib" ,alsa-lib) ("jack" ,jack-1) - ;; ("ladspa" ,ladspa) ; cannot find during configure + ;; ("ladspa" ,ladspa) ; require LADSPA_PATH to be set ("lash" ,lash) ("libarchive" ,libarchive) + ("liblo" ,liblo) ("libsndfile" ,libsndfile) - ("libtar" ,libtar) ("lrdf" ,lrdf) + ("pulseaudio" ,pulseaudio) ("qtbase" ,qtbase) ("qtxmlpatterns" ,qtxmlpatterns) ("zlib" ,zlib))) @@ -908,21 +907,20 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro (define-public lilypond (package (name "lilypond") - (version "2.19.80") - (source (origin - (method url-fetch) - (uri (string-append - "http://download.linuxaudio.org/lilypond/sources/v" - (version-major+minor version) "/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "0lql4q946gna2pl1g409mmmsvn2qvnq2z5cihrkfhk7plcqdny9n")))) + (version "2.20.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://lilypond.org/download/sources/" + "v" (version-major+minor version) "/" + "lilypond-" version ".tar.gz")) + (sha256 + (base32 "0qd6pd4siss016ffmcyw5qc6pr2wihnvrgd4kh1x725w7wr02nar")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; out-test/collated-files.html fails + `(#:tests? #f ;out-test/collated-files.html fails #:out-of-source? #t - #:make-flags '("conf=www") ;to generate images for info manuals + #:make-flags '("conf=www") ;to generate images for info manuals #:configure-flags (list "CONFIGURATION=www" (string-append "--with-texgyre-dir=" @@ -940,25 +938,25 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro (("TEX_FIKPARM=.*") "TEX_FIKPARM=found\n")) #t)) (add-after 'unpack 'fix-path-references - (lambda _ - (substitute* "scm/backend-library.scm" - (("\\(search-executable '\\(\"gs\"\\)\\)") - (string-append "\"" (which "gs") "\"")) - (("\"/bin/sh\"") - (string-append "\"" (which "sh") "\""))) - #t)) + (lambda _ + (substitute* "scm/backend-library.scm" + (("\\(search-executable '\\(\"gs\"\\)\\)") + (string-append "\"" (which "gs") "\"")) + (("\"/bin/sh\"") + (string-append "\"" (which "sh") "\""))) + #t)) (add-before 'configure 'prepare-configuration - (lambda _ - (substitute* "configure" - (("SHELL=/bin/sh") "SHELL=sh") - ;; When checking the fontforge version do not consider the - ;; version string that's part of the directory. - (("head -n") "tail -n") - ;; Also allow for SOURCE_DATE_EPOCH = 0 in fontforge. - (("20110222") "19700101")) - (setenv "out" "www") - (setenv "conf" "www") - #t)) + (lambda _ + (substitute* "configure" + (("SHELL=/bin/sh") "SHELL=sh") + ;; When checking the fontforge version do not consider the + ;; version string that's part of the directory. + (("head -n") "tail -n") + ;; Also allow for SOURCE_DATE_EPOCH = 0 in fontforge. + (("20110222") "19700101")) + (setenv "out" "www") + (setenv "conf" "www") + #t)) (add-after 'install 'install-info (lambda _ (invoke "make" @@ -982,13 +980,13 @@ Sega Master System/Mark III, Sega Genesis/Mega Drive, BBC Micro ("dblatex" ,dblatex) ("gettext" ,gettext-minimal) ("imagemagick" ,imagemagick) - ("netpbm" ,netpbm) ;for pngtopnm + ("netpbm" ,netpbm) ;for pngtopnm ("texlive" ,(texlive-union (list texlive-metapost texlive-generic-epsf texlive-latex-lh texlive-latex-cyrillic))) ("texinfo" ,texinfo) - ("texi2html" ,texi2html) + ("texi2html" ,texi2html-1.82) ("rsync" ,rsync) ("pkg-config" ,pkg-config) ("zip" ,zip))) @@ -1409,7 +1407,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.9.12") + (version "0.9.13") (source (origin (method url-fetch) (uri @@ -1417,7 +1415,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "1amxrl1cqwgncw5437r572frgf6xhss3cfpbgh178i8phlq1q731")))) + "0bb48myvgvqcibwm68qhd4852pjr2g19rasf059a799d1hzgfq3l")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1427,10 +1425,10 @@ users to select LV2 plugins and run them with jalv.") ("alsa-lib" ,alsa-lib) ("non-session-manager" ,non-session-manager) ("liblo" ,liblo) - ("qtbase" ,qtbase) - ("qttools" ,qttools))) + ("qtbase" ,qtbase))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) (home-page "https://synthv1.sourceforge.io") (synopsis "Polyphonic subtractive synthesizer") (description @@ -1441,7 +1439,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.9.12") + (version "0.9.13") (source (origin (method url-fetch) (uri @@ -1449,7 +1447,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "0hmnmk9vvi43wl6say0dg7j088h7mmwmfdwjhsq89c7i7cpg78da")))) + "1h88sakxs0b20k8v2sh14y05fin1zqmhnid6h9mk9c37ixxg58ia")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1474,7 +1472,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.9.12") + (version "0.9.13") (source (origin (method url-fetch) (uri @@ -1482,7 +1480,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "0xzjxiqzcf1ygabrjsy0iachhnpy85rp9519fmj2f568r6ml6hzg")))) + "0clsp6s5qfnh0xaxbd35vq2ppi72q9dfayrzlgl73800a8p7gh9m")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1507,7 +1505,7 @@ effects.") (define-public padthv1 (package (name "padthv1") - (version "0.9.12") + (version "0.9.13") (source (origin (method url-fetch) (uri @@ -1515,7 +1513,7 @@ effects.") "/padthv1-" version ".tar.gz")) (sha256 (base32 - "1zz3rz990k819q0rlzllqdwvag0x9k63443lb0mp8lwlczxnza6l")))) + "1c1zllph86qswcxddz4vpsj6r9w21hbv4gkba0pyd3q7pbfqr7nz")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2037,25 +2035,26 @@ using a system-independent interface.") (define-public frescobaldi (package (name "frescobaldi") - (version "3.0.0") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/wbsoft/frescobaldi/releases/download/v" - version "/frescobaldi-" version ".tar.gz")) - (sha256 - (base32 - "15cqhbjbjikr7ljgiq56bz2gxrr38j8p0f78p2vhyzydaviy9a2z")))) + (version "3.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/wbsoft/frescobaldi/releases/download/v" + version "/frescobaldi-" version ".tar.gz")) + (sha256 + (base32 "0kfwvgygx2ds01w8g7vzykfrajglmr2brchk9d67ahzijpgvfkj5")))) (build-system python-build-system) - (arguments `(#:tests? #f)) ; no tests included + (arguments + `(#:tests? #f)) ;no tests included (inputs `(("lilypond" ,lilypond) + ("poppler" ,poppler) ("portmidi" ,portmidi) - ("python-pyqt" ,python-pyqt) ("python-ly" ,python-ly) - ("python-pyportmidi" ,python-pyportmidi) - ("poppler" ,poppler) ("python-poppler-qt5" ,python-poppler-qt5) + ("python-pyportmidi" ,python-pyportmidi) + ("python-pyqt" ,python-pyqt) ("python-sip" ,python-sip))) (home-page "http://www.frescobaldi.org/") (synopsis "LilyPond sheet music text editor") @@ -2142,11 +2141,11 @@ backends, including ALSA, OSS, Network and FluidSynth.") `(("drumstick" ,drumstick) ("qtbase" ,qtbase) ("qtsvg" ,qtsvg) - ("qttools" ,qttools) ("qtx11extras" ,qtx11extras))) (native-inputs `(("libxslt" ,libxslt) ;for xsltproc ("docbook-xsl" ,docbook-xsl) + ("qttools" ,qttools) ("pkg-config" ,pkg-config))) (home-page "http://vmpk.sourceforge.net") (synopsis "Virtual MIDI piano keyboard") @@ -2674,7 +2673,7 @@ tune-in sender list from @url{http://opml.radiotime.com}.") (define-public pianobar (package (name "pianobar") - (version "2019.02.14") + (version "2020.04.05") (source (origin (method git-fetch) (uri (git-reference @@ -2683,7 +2682,7 @@ tune-in sender list from @url{http://opml.radiotime.com}.") (file-name (git-file-name name version)) (sha256 (base32 - "1bfabkj3m9kmhxl64w4azmi0xf7w52fmqfbw2ag28hbb5yy01k1m")))) + "1gq8kpks6nychqz4gf0rpy7mrhz5vjw48a60x56j6y9flmazmypw")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -4096,15 +4095,14 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "18.12") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://sourceforge/rosegarden/rosegarden/" - version "/rosegarden-" version ".tar.bz2")) - (sha256 - (base32 - "15i9fm0vkn3wsgahaxqi1j5zs0wc0j3wdwml0x49084gk2p328vb")))) + (version "19.12") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/rosegarden/rosegarden/" + version "/rosegarden-" version ".tar.bz2")) + (sha256 + (base32 "1qcaxc6hdzva7kwxxhgl95437fagjbxzv4mihsgpr7y9qk08ppw1")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") @@ -4146,9 +4144,9 @@ specification and header.") (("COMMAND [$][{]QT_RCC_EXECUTABLE[}]") "COMMAND ${QT_RCC_EXECUTABLE} --format-version 1") ;; Extraneous. - ;(("qt5_add_resources[(]rg_SOURCES ../data/data.qrc[)]") - ; "qt5_add_resources(rg_SOURCES ../data/data.qrc OPTIONS --format-version 1)") - ) + ;;(("qt5_add_resources[(]rg_SOURCES ../data/data.qrc[)]") + ;; "qt5_add_resources(rg_SOURCES ../data/data.qrc OPTIONS --format-version 1)") + ) ;; Make hashtable traversal order predicable. (setenv "QT_RCC_TEST" "1") ; important #t)) @@ -4666,7 +4664,7 @@ discard bad quality ones. ("qtmultimedia" ,qtmultimedia) ("qtsvg" ,qtsvg))) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("hicolor-icon-theme" ,hicolor-icon-theme) ("itstool" ,itstool) ("qttools" ,qttools))) @@ -4970,7 +4968,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.") (define-public geonkick (package (name "geonkick") - (version "1.9.0") + (version "1.10.0") (source (origin (method git-fetch) @@ -4980,7 +4978,7 @@ ZaMultiComp, ZaMultiCompX2 and ZamSynth.") (file-name (git-file-name name version)) (sha256 (base32 - "17mwxnmxszdm2wjbigciwh8qx0487q9qhf4sl92y6nqdb0dlghnl")))) + "1a59wnm4035kjhs66hihlkiv45p3ffb2yaj1awvyyi5f0lds5zvh")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no tests included @@ -5161,7 +5159,7 @@ and as an LV2 plugin.") (define-public zrythm (package (name "zrythm") - (version "0.7.573") + (version "0.8.333") (source (origin (method url-fetch) @@ -5169,7 +5167,7 @@ and as an LV2 plugin.") version ".tar.xz")) (sha256 (base32 - "075gq478xbzz5ql4fsrgfzhgxi7z26k6034lhlkmm0klfcb8j9mg")))) + "0x2kxr5zz058jpy6k6ymj0fi2gqfcgrlv4qkwz9443hjy5345iwb")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -5193,7 +5191,10 @@ and as an LV2 plugin.") ("fftwf" ,fftwf) ("gettext" ,gettext-minimal) ("glibc" ,glibc) + ("graphviz" ,graphviz) ("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview) + ("guile" ,guile-2.2) ("libcyaml" ,libcyaml) ("libsamplerate" ,libsamplerate) ("libsndfile" ,libsndfile) @@ -5293,3 +5294,215 @@ as JACK standalone applications.") automation that comes as an LV2 plugin bundle with a custom UI.") (home-page "https://git.zrythm.org/cgit/ZLFO/") (license license:agpl3+))) + +(define-public vl1-emulator + (package + (name "vl1-emulator") + (version "1.1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/linuxmao-org/VL1-emulator.git") + (commit (string-append "v" version)) + ;; bundles a specific commit of the DISTRHO plugin framework + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1npc86vqma8gk1hawa0lii0r2xmnv846plyl1ci3bdswyrdk5chm")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no check target + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ;no configure target + (inputs + `(("cairo" ,cairo) + ("jack" ,jack-1) + ("mesa" ,mesa))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/linuxmao-org/VL1-emulator") + (synopsis "Emulator of Casio VL-Tone VL1") + (description "The VL1-Emulator is an emulator of Casio VL-Tone VL1, +based on source code by PolyValens, offered as an LV2 plugin and a +standalone JACK application.") + ;; Expat or CC0 + (license (list license:expat license:cc0)))) + +(define-public regrader + (package + (inherit vl1-emulator) + (name "regrader") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/linuxmao-org/regrader.git") + (commit (string-append "v" version)) + ;; bundles a specific commit of the DISTRHO plugin framework + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gl4d5lf2afqknz22jz7hh7029sc9v1xrz6nbz9dlv42bwc0cvl0")))) + (home-page "https://github.com/linuxmao-org/regrader") + (synopsis "Delay effect plugin") + (description + "Regrader is a delay effect where the repeats degrade in resolution. +This is an unofficial port of the Regrader plugin created by Igorski. It +is available as an LV2 plugin and a standalone JACK application.") + (license license:expat))) + +(define-public fogpad + (package + (inherit vl1-emulator) + (name "fogpad") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/linuxmao-org/fogpad") + (commit (string-append "v" version)) + ;; bundles a specific commit of the DISTRHO plugin framework + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j1hbya2dsqpf22zkpi4kwz3dram9g1ndxzmgfwpmf3i4jd3csgb")))) + (home-page "https://github.com/linuxmao-org/fogpad") + (synopsis "Reverb effect plugin") + (description + "Fogpad is a reverb effect in which the reflections can be frozen, +filtered, pitch shifted and ultimately disintegrated. This is an unofficial +port of the Regrader plugin created by Igorski. It is available as an LV2 +plugin and a standalone JACK application.") + (license license:expat))) + +(define-public tap-lv2 + (let ((commit "cab6e0dfb2ce20e4ad34b067d1281ec0b193598a") + (revision "1")) + (package + (name "tap-lv2") + (version (git-version "0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moddevices/tap-lv2.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q480djfqd9g8mzrggc4vl7yclrhdjqx563ghs8mvi2qq8liycw3")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:make-flags + (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure + (replace 'install + (lambda _ + (invoke "make" + (string-append "INSTALL_PATH=" + (assoc-ref %outputs "out") + "/lib/lv2") + "install")))))) + (inputs + `(("lv2", lv2))) + (native-inputs + `(("pkg-config", pkg-config))) + (synopsis "Audio plugin collection") + (description "TAP (Tom's Audio Processing) plugins is a collection of + audio effect plugins originally released as LADSPA plugins. This package + offers an LV2 version ported by moddevices.") + (home-page "http://tap-plugins.sourceforge.net/") + (license license:gpl2)))) + +(define-public wolf-shaper + (package + (name "wolf-shaper") + (version "0.1.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pdesaulniers/wolf-shaper.git") + (commit (string-append "v" version)) + ;; Bundles a specific commit of the DISTRHO plugin framework. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lllgcbnnh1m95bp29hh17x170hl7170zizjrvy892qfkn36830d")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:make-flags (list "CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure target + (replace 'install ;no install target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (lv2 (string-append out "/lib/lv2"))) + ;; Install LV2. + (for-each + (lambda (file) + (copy-recursively file + (string-append lv2 "/" (basename file)))) + (find-files "bin" "\\.lv2$" #:directories? #t)) + ;; Install executables. + (for-each + (lambda (file) + (install-file file bin)) + (find-files "bin" + (lambda (name stat) + (and + (equal? (dirname name) "bin") + (not (string-suffix? ".so" name)) + (not (string-suffix? ".lv2" name)))))) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("jack", jack-1) + ("lv2", lv2) + ("mesa", mesa))) + (synopsis "Waveshaper plugin") + (description "Wolf Shaper is a waveshaper plugin with a graph editor. +It is provided as an LV2 plugin and as a standalone Jack application.") + (home-page "https://pdesaulniers.github.io/wolf-shaper/") + (license license:gpl3))) + +(define-public wolf-spectrum + (package + (inherit wolf-shaper) + (name "wolf-spectrum") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pdesaulniers/wolf-spectrum") + (commit (string-append "v" version)) + ;; Bundles a specific commit of the DISTRHO plugin framework. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17db1jlj7vb1xyvkdhhrsvdbwb7jqw6i4168cdvlj3yvn2ra8gpm")))) + (synopsis "2D spectrogram plugin") + (description "Wolf Spectrum is a real-time 2D spectrogram plugin. +It is provided as an LV2 plugin and as a standalone Jack application.") + (home-page "https://github.com/pdesaulniers/wolf-spectrum") + (license license:gpl3))) diff --git a/gnu/packages/nano.scm b/gnu/packages/nano.scm index bdc73a91f7..099a953989 100644 --- a/gnu/packages/nano.scm +++ b/gnu/packages/nano.scm @@ -30,13 +30,13 @@ (define-public nano (package (name "nano") - (version "4.9") + (version "4.9.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz")) (sha256 - (base32 "19ik88b3g0d9xwav4hkai2h1acmjy5fdnh21gdc1mjq5s4lrff8f")))) + (base32 "1xifbn1xaklrrf7knxvqif0hy0wgnas7w0wfggay5kifjkm5x8nq")))) (build-system gnu-build-system) (inputs `(("gettext" ,gettext-minimal) diff --git a/gnu/packages/netpbm.scm b/gnu/packages/netpbm.scm index 7fe0503d6f..126f29f06f 100644 --- a/gnu/packages/netpbm.scm +++ b/gnu/packages/netpbm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -114,7 +114,10 @@ ("pkg-config" ,pkg-config) ("python" ,python-wrapper))) (arguments - `(#:phases + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 match)) + #:phases (modify-phases %standard-phases (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) @@ -145,7 +148,7 @@ (add-before 'check 'setup-check (lambda _ ;; install temporarily into /tmp/netpbm - (system* "make" "package") + (invoke "make" "package") ;; remove test requiring X (substitute* "test/all-in-place.test" (("pamx") "")) ;; do not worry about non-existing file @@ -168,19 +171,21 @@ (replace 'install (lambda* (#:key outputs make-flags #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (apply system* "make" "package" + (apply invoke "make" "package" (string-append "pkgdir=" out) make-flags) - ;; copy static library - (copy-file (string-append out "/link/libnetpbm.a") - (string-append out "/lib/libnetpbm.a")) - ;; remove superfluous folders and files - (system* "rm" "-r" (string-append out "/link")) - (system* "rm" "-r" (string-append out "/misc")) + ;; Remove superfluous files. (with-directory-excursion out - (for-each delete-file - '("config_template" "pkginfo" "README" - "VERSION"))) - #t)))))) + (for-each delete-file-recursively + '("config_template" "pkginfo" "README" "VERSION" + "link/" "misc/")) + ;; Install the required ‘libnetpbm.so’ link. + ;; See <https://issues.guix.gnu.org/issue/40376>. + (with-directory-excursion "lib" + (symlink + (match (find-files "." "^libnetpbm\\.so\\.[^.]*\\.[^.]*$") + ((head _ ...) head)) + "libnetpbm.so")) + #t))))))) (synopsis "Toolkit for manipulation of images") (description "Netpbm is a toolkit for the manipulation of graphic images, including diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ec2f0b64bd..94b521584f 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -105,7 +105,9 @@ #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages pretty-print) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -122,6 +124,56 @@ #:use-module (gnu packages xml) #:use-module (ice-9 match)) +(define-public blueman + (package + (name "blueman") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/blueman-project/blueman/releases/" + "download/2.1.2/blueman-2.1.2.tar.gz")) + (sha256 + (base32 "0wamxdw36c8i3aqwmja5q70fajqwd7inpkvlpkldd54wdxbcd38d")))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:configure-flags + (list + "--enable-polkit" + "--disable-appindicator" ; Deprecated + "--with-systemdsystemunitdir=no" ; Not required + "--with-systemduserunitdir=no"))) ; Not required + (native-inputs + `(("cython" ,python-cython) + ("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("bluez" ,bluez) + ("dbus" ,dbus) + ("gdkpixbuf" ,gdk-pixbuf) + ("glib" ,glib) + ("gtk+" ,gtk+) + ("iproute2" ,iproute) + ("net-tools" ,net-tools) + ("pango" ,pango) + ("polkit" ,polkit) + ("pulseaudio" ,pulseaudio) + ("pycairo" ,python-pycairo) + ("pygobject" ,python-pygobject) + ("python" ,python-wrapper) + ("libnm" ,libnma))) + (synopsis "GTK+ Bluetooth manager") + (description "Blueman is a Bluetooth management utility using the Bluez +D-Bus backend. It is designed to be easy to use for most common Bluetooth +tasks.") + (home-page "https://github.com/blueman-project/blueman") + (license license:gpl3+))) + ;; The gnu.org ‘home’ for this GNU project is a directory listing with 1.6.0 as ;; the latest version. The author's git repository, mentioned in the 1.6.0 ;; README and otherwise legit-looking, contains a proper 1.7.0 release tarball @@ -608,14 +660,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.2.2") + (version "3.2.3") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0ygdxpz0i4jxp55fg9x4xcan093wycjb66yas073gviz9kpj6naz")))) + (base32 "1fpsfjrap7j84sy728yhcr2gad9nq3n5gq03mwrmxnc6ijwf81zh")))) (build-system cmake-build-system) (arguments `(#:phases @@ -867,14 +919,15 @@ TCP connection, TLS handshake and so on) in the terminal.") (define-public squid (package (name "squid") - (version "4.10") + (version "4.11") (source (origin (method url-fetch) (uri (string-append "http://www.squid-cache.org/Versions/v4/squid-" version ".tar.xz")) (sha256 - (base32 "07sz0adv8nkhy797675bpra7lvdkwjq9isw1ddgylhlazl511w4q")))) + (base32 + "0z986kykx539wjqd7mr8y0abf3z6hz8byf8fmmbky9hh4ihlgnaf")))) (build-system gnu-build-system) (arguments '(#:phases @@ -2030,14 +2083,14 @@ displays the results in real time.") (define-public strongswan (package (name "strongswan") - (version "5.8.2") + (version "5.8.4") (source (origin (method url-fetch) (uri (string-append "https://download.strongswan.org/strongswan-" version ".tar.bz2")) (sha256 - (base32 "03j3fx357bh89n44a5v9wdc92azdx2d37j7jmlyr4z1kwzdhv446")))) + (base32 "0g2m08gmgdi3qvvqz6zy7n16np53sp232xd0rdc2vdhk73img6id")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2712,13 +2765,13 @@ protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP. ") (build-system gnu-build-system) (inputs `(("dbus" ,dbus) - ("libtool" ,libtool) ("ell" ,ell) ("readline" ,readline))) (native-inputs `(("asciidoc" ,asciidoc) ("autoconf" ,autoconf) ("automake" ,automake) + ("libtool" ,libtool) ("pkgconfig" ,pkg-config) ("python" ,python) ("openssl" ,openssl))) diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm index 3a8467431d..81eabef493 100644 --- a/gnu/packages/nfs.scm +++ b/gnu/packages/nfs.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages kerberos) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages sqlite) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -115,7 +116,8 @@ ("lvm2" ,lvm2) ("util-linux" ,util-linux) ("mit-krb5" ,mit-krb5) - ("libtirpc" ,libtirpc))) + ("libtirpc" ,libtirpc) + ("python-wrapper" ,python-wrapper))) ;for the Python based tools (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.kernel.org/pub/linux/utils/nfs-utils/") diff --git a/gnu/packages/nim.scm b/gnu/packages/nim.scm index 374a533c30..b7ab8a368b 100644 --- a/gnu/packages/nim.scm +++ b/gnu/packages/nim.scm @@ -56,7 +56,7 @@ "lib/pure/osproc.nim") (("/bin/sh") sh)) (substitute* (find-files "c_code" "stdlib_osproc.c") - (("\"/bin/sh\", 7") (format "~s, ~s" sh (string-length sh))))) + (("\"/bin/sh\", 7") (format #f "~s, ~s" sh (string-length sh))))) #t)) (replace 'build (lambda _ diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 44236ec469..27cd5c18b7 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -244,3 +245,26 @@ protocol used in @code{node-lynx}.") (description "This package provides the Node.js @code{util.deprecate()} function with browser support.") (license license:expat))) + +(define-public node-semver + (package + (name "node-semver") + (version "7.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/npm/node-semver.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06biknqb05r9xsmcflm3ygh50pjvdk84x6r79w43kmck4fn3qn5p")))) + (build-system node-build-system) + (arguments + `(#:tests? #f)) ;; FIXME: Tests depend on node-tap + (home-page "https://github.com/npm/node-semver") + (synopsis "Parses semantic versions strings") + (description + "@code{node-semver} is a JavaScript implementation of the +@uref{https://semver.org/, SemVer.org} specification.") + (license license:isc))) diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 84790cf112..e37bf30a7d 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -24,20 +24,86 @@ (define-module (gnu packages ntp) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages libevent) #:use-module (gnu packages linux) - #:use-module (gnu packages autotools) + #:use-module (gnu packages nettle) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) #:use-module (gnu packages tls) - #:use-module (gnu packages libevent) + #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix packages) #:use-module (guix utils) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) #:use-module (srfi srfi-1)) +(define-public chrony + (package + (name "chrony") + (version "3.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.tuxfamily.org/chrony/" + "chrony-" version ".tar.gz")) + (sha256 + (base32 "1d9r2dhslll4kzdmxrj0qfgwq1b30d4l3s5cwr8yr93029dpj0jf")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((srfi srfi-26) + (guix build utils) + (guix build gnu-build-system)) + #:configure-flags + (list "--enable-scfilter" + "--with-sendmail=sendmail" + "--with-user=chrony") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'stay-inside-out + ;; Simply setting CHRONYVARDIR to something nonsensical at install + ;; time would result in nonsense file names in man pages. + (lambda _ + (substitute* "Makefile.in" + (("mkdir -p \\$\\(DESTDIR\\)\\$\\(CHRONYVARDIR\\)") ":")) + #t)) + (add-after 'install 'install-more-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (for-each (cut install-file <> doc) + (list "README" "FAQ")) + (copy-recursively "examples" (string-append doc "/examples")) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libcap" ,libcap) + ("libseccomp" ,libseccomp) + ("nettle" ,nettle))) + (home-page "https://chrony.tuxfamily.org/") + (synopsis "System clock synchronisation service that speaks NTP") + (description + "Chrony keeps your system time accurate. It synchronises your computer's +clock with @acronym{NTP, Network Time Protocol} servers, reference clocks such +as GPS receivers, or even manual input of the correct time from a wristwatch. + +Chrony will determine the rate at which the computer gains or loses time, and +compensate for it. It can also operate as an NTPv4 (RFC 5905) server and peer +to tell time to other computers on the network. + +It's designed to perform well even under adverse conditions: congested +networks, unreliable clocks drifting with changes in temperature, and devices +or virtual machines that are frequently turned off and connect to the Internet +for only a few minutes at a time. + +Typical accuracy when synchronised over the Internet is several milliseconds. +On a local network this can reach tens of microseconds. With hardware +time-stamping or reference clock, sub-microsecond accuracy is possible.") + (license l:gpl2))) + (define-public ntp (package (name "ntp") @@ -103,7 +169,7 @@ computers over a network.") (source (origin (method url-fetch) (uri (string-append - "mirror://openbsd/OpenNTPD/" name "-" version ".tar.gz")) + "mirror://openbsd/OpenNTPD/openntpd-" version ".tar.gz")) (sha256 (base32 "0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv")))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 5181d6156b..525854676f 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -706,7 +706,8 @@ Emacs.") (define-public ocaml-menhir (package (name "ocaml-menhir") - (version "20181113") + ;; More recent versions can be built after we have dune >= 2.0 + (version "20190626") (source (origin (method git-fetch) @@ -715,7 +716,7 @@ Emacs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1iqdf64ayq4s3d9jkwhs3s8wqc2s48b292hp0kcjsskfhcvwg0kr")))) + (base32 "0v8av4pw6rykzb7wx54xhbsx0jhh8xyb4x0k4yrxi0w5ylkck6mb")))) (build-system ocaml-build-system) (inputs `(("ocaml" ,ocaml))) @@ -1178,7 +1179,7 @@ GNU CC attributes. It provides also a C pretty printer as an example of use.") (home-page "https://github.com/c-cube/qcheck") (synopsis "QuickCheck inspired property-based testing for OCaml") (description "QuickCheck inspired property-based testing for OCaml. This -module allows to check invariants (properties of some types) over randomly +module checks invariants (properties of some types) over randomly generated instances of the type. It provides combinators for generating instances and printing them.") (license license:lgpl3+))) @@ -1533,7 +1534,7 @@ manipulate such data.") (delete 'configure)))) (home-page "http://erratique.ch/software/mtime") (synopsis "Monotonic wall-clock time for OCaml") - (description "Access monotonic wall-clock time. It allows to measure time + (description "Access monotonic wall-clock time. It measures time spans without being subject to operating system calendar time adjustments.") (license license:isc))) @@ -2265,7 +2266,7 @@ radix-64 representation. It is specified in RFC 4648.") `(("ocamlbuild" ,ocamlbuild))) (home-page "https://forge.ocamlcore.org/projects/ocamlify") (synopsis "Include files in OCaml code") - (description "OCamlify allows to create OCaml source code by including + (description "OCamlify creates OCaml source code by including whole files into OCaml string or string list. The code generated can be compiled as a standard OCaml file. It allows embedding external resources as OCaml code.") diff --git a/gnu/packages/ocr.scm b/gnu/packages/ocr.scm index 1266e7e419..dc690f3cef 100644 --- a/gnu/packages/ocr.scm +++ b/gnu/packages/ocr.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com> ;;; @@ -57,13 +57,13 @@ it produces text in 8-bit or UTF-8 formats.") (version "3.04.01") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/tesseract-ocr/tesseract/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tesseract-ocr/tesseract") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "0snwd8as5i8vx7zkimpd2yg898jl96zf90r65a9w615f2hdkxxjp")))) + (base32 "0h1x4z1h86n2gwknd0wck6gykkp99bmm02lg4a47a698g4az6ybv")))) (build-system gnu-build-system) (inputs `(("leptonica" ,leptonica))) @@ -71,7 +71,7 @@ it produces text in 8-bit or UTF-8 formats.") '(#:configure-flags (let ((leptonica (assoc-ref %build-inputs "leptonica"))) (list (string-append "LIBLEPT_HEADERSDIR=" leptonica "/include"))))) - (home-page "https://github.com/tesseract-ocr") + (home-page "https://github.com/tesseract-ocr/tesseract") (synopsis "Optical character recognition engine") (description "Tesseract is an optical character recognition (OCR) engine with very diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index de8239b7fe..aa51520654 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,6 +58,7 @@ (define-public openldap (package + (replacement openldap/fixed) (name "openldap") (version "2.4.47") (source (origin @@ -110,6 +112,13 @@ (license openldap2.8) (home-page "https://www.openldap.org/"))) +(define openldap/fixed + (package + (inherit openldap) + (source + (origin (inherit (package-source openldap)) + (patches (search-patches "openldap-CVE-2020-12243.patch")))))) + (define-public nss-pam-ldapd (package (name "nss-pam-ldapd") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c321a64751..44fcb514b7 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -109,9 +109,9 @@ ;; Latest version of Guix, which may or may not correspond to a release. ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. - (let ((version "1.0.1") - (commit "09844816c77caaa60f4149f99a34733966724627") - (revision 15)) + (let ((version "1.1.0") + (commit "619f9181a363576894a433206008b139255062dd") + (revision 2)) (package (name "guix") @@ -127,7 +127,7 @@ (commit commit))) (sha256 (base32 - "1fciffls6cw9zz13vig5x37r73qxc0irzyh0caimciddlksvabf7")) + "1lk0h9zgry7m78nv70gxwb57pw1d5yzay477gxsc43v1aa7zg8sp")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -401,9 +401,6 @@ the Nix package manager.") (invoke "make" "install-binPROGRAMS"))) (delete 'wrap-program))))))) -(define-public guile2.0-guix - (deprecated-package "guile2.0-guix" guix)) - (define-public guile3.0-guix (package (inherit guix) @@ -990,7 +987,7 @@ for packaging and deployment of cross-compiled Windows applications.") (define-public libostree (package (name "libostree") - (version "2020.2") + (version "2020.3") (source (origin (method url-fetch) (uri (string-append @@ -998,7 +995,7 @@ for packaging and deployment of cross-compiled Windows applications.") (version-major+minor version) "/libostree-" version ".tar.xz")) (sha256 (base32 - "0bbk0sg4m38g7j00hy358p2azxas87minpgz3avwma6jsylj1qjg")))) + "01cch4as23xspq6pck59al7x5jj60wl21g8p3iqbdxcjl1p3jxsq")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1068,7 +1065,7 @@ the boot loader configuration.") (assoc-ref %build-inputs "bubblewrap") "/bin/bwrap")))) (native-inputs `(("bison" ,bison) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for glib-mkenums + gdbus-codegen ("gobject-introspection" ,gobject-introspection) ("libcap" ,libcap) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 8545c87bb7..92f7b58128 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> @@ -54,14 +54,14 @@ (define-public parallel (package (name "parallel") - (version "20200322") + (version "20200422") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "0kg95glnfg25i1w7qg2vr5v4671vigsazmz4qdf223l64khq8x10")))) + (base32 "0c2mr2rzsz0y24q4mbm2zmc2fz6bcda4gbc4qgg59sirrj8vzpjb")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 333fbfa026..2a570691a4 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org> ;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org> -;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com> @@ -119,7 +119,7 @@ human.") (define-public keepassxc (package (name "keepassxc") - (version "2.5.3") + (version "2.5.4") (source (origin (method url-fetch) @@ -127,7 +127,7 @@ human.") "/releases/download/" version "/keepassxc-" version "-src.tar.xz")) (sha256 - (base32 "1sx647mp1xikig50p9bb6vxv18ymdfj3wkxj6qfdr1zfcv7gn005")))) + (base32 "0jndssyvpl8bc5i2q3d6kq1ppynchxx9nvp1qhd2pc0qqc0hhpm5")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DWITH_XC_ALL=YES" @@ -846,8 +846,8 @@ winner of the 2015 Password Hashing Competition.") ("python-pytest-mock" ,python-pytest-mock))) (home-page "https://github.com/languitar/pass-git-helper") (synopsis "Git credential helper interfacing with pass") - (description "pass-git-helper is a git credential helper which allows to -use pass, the standard unix password manager, as the credential backend for + (description "pass-git-helper is a git credential helper which +uses pass, the standard unix password manager, as the credential backend for your git repositories. This is achieved by explicitly defining mappings between hosts and entries in the password store.") (license license:lgpl3+))) diff --git a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch b/gnu/packages/patches/akonadi-not-relocatable.patch index c3964c5c05..c3964c5c05 100644 --- a/gnu/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch +++ b/gnu/packages/patches/akonadi-not-relocatable.patch diff --git a/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch b/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch deleted file mode 100644 index edae2352d9..0000000000 --- a/gnu/packages/patches/arm-trusted-firmware-disable-hdcp.patch +++ /dev/null @@ -1,82 +0,0 @@ -From c7f0cd054578152a250f784bf82c8ca53aa91a02 Mon Sep 17 00:00:00 2001 -From: Ziyuan Xu <xzy.xu@rock-chips.com> -Date: Tue, 8 Oct 2019 10:27:05 +0800 -Subject: [PATCH] plat/rockchip: cliam a macro to enable hdcp feature for DP - -HDCP is using a binary driver, add macro PLAT_RK_DP_HDCP to make it as -an option. - -Change-Id: I54ef1a3635a28e8ae56654bd1e91dfe011520a7f -Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> -Signed-off-by: Kever Yang <kever.yang@rock-chips.com> ---- - plat/rockchip/rk3399/plat_sip_calls.c | 4 ++++ - plat/rockchip/rk3399/platform.mk | 11 +++++++---- - 2 files changed, 11 insertions(+), 4 deletions(-) - -diff --git a/plat/rockchip/rk3399/plat_sip_calls.c b/plat/rockchip/rk3399/plat_sip_calls.c -index c2cc5b11c..ce8476c9a 100644 ---- a/plat/rockchip/rk3399/plat_sip_calls.c -+++ b/plat/rockchip/rk3399/plat_sip_calls.c -@@ -56,17 +56,21 @@ uintptr_t rockchip_plat_sip_handler(uint32_t smc_fid, - void *handle, - u_register_t flags) - { -+#ifdef PLAT_RK_DP_HDCP - uint64_t x5, x6; -+#endif - - switch (smc_fid) { - case RK_SIP_DDR_CFG: - SMC_RET1(handle, ddr_smc_handler(x1, x2, x3, x4)); -+#ifdef PLAT_RK_DP_HDCP - case RK_SIP_HDCP_CONTROL: - SMC_RET1(handle, dp_hdcp_ctrl(x1)); - case RK_SIP_HDCP_KEY_DATA64: - x5 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X5); - x6 = read_ctx_reg(get_gpregs_ctx(handle), CTX_GPREG_X6); - SMC_RET1(handle, dp_hdcp_store_key(x1, x2, x3, x4, x5, x6)); -+#endif - default: - ERROR("%s: unhandled SMC (0x%x)\n", __func__, smc_fid); - SMC_RET1(handle, SMC_UNK); -diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk -index 25c498da8..01577492d 100644 ---- a/plat/rockchip/rk3399/platform.mk -+++ b/plat/rockchip/rk3399/platform.mk -@@ -57,7 +57,6 @@ BL31_SOURCES += ${RK_GIC_SOURCES} \ - ${RK_PLAT_COMMON}/aarch64/platform_common.c \ - ${RK_PLAT_COMMON}/rockchip_sip_svc.c \ - ${RK_PLAT_SOC}/plat_sip_calls.c \ -- ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c \ - ${RK_PLAT_SOC}/drivers/gpio/rk3399_gpio.c \ - ${RK_PLAT_SOC}/drivers/pmu/pmu.c \ - ${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c \ -@@ -89,17 +88,21 @@ $(eval $(call add_define,RK3399M0FW)) - RK3399M0PMUFW=${BUILD_M0}/${PLAT_M0}pmu.bin - $(eval $(call add_define,RK3399M0PMUFW)) - -+ifdef PLAT_RK_DP_HDCP -+BL31_SOURCES += ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c -+ - HDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin - $(eval $(call add_define,HDCPFW)) - -+${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW) -+${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW) -+endif -+ - # CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin - export CCACHE_EXTRAFILES - ${BUILD_PLAT}/bl31/pmu_fw.o: CCACHE_EXTRAFILES=$(RK3399M0FW):$(RK3399M0PMUFW) - ${RK_PLAT_SOC}/drivers/pmu/pmu_fw.c: $(RK3399M0FW) - --${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW) --${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW) -- - $(eval $(call MAKE_PREREQ_DIR,${BUILD_M0},${BUILD_PLAT})) - .PHONY: $(RK3399M0FW) - $(RK3399M0FW): | ${BUILD_M0} --- -2.20.1 - diff --git a/gnu/packages/patches/beancount-disable-googleapis-fonts.patch b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch new file mode 100644 index 0000000000..d0fa47b59c --- /dev/null +++ b/gnu/packages/patches/beancount-disable-googleapis-fonts.patch @@ -0,0 +1,25 @@ +https://sources.debian.org/data/main/b/beancount/2.2.0-3/debian/patches/0001-Remove-fonts.googleapis.com-links-for-the-bean-web-t.patch + +From: Nicolas Dandrimont <nicolas@dandrimont.eu> +Date: Tue, 1 May 2018 04:49:55 +0200 +Subject: Remove fonts.googleapis.com links for the bean-web template + +--- + beancount/web/web.html | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/beancount/web/web.html b/beancount/web/web.html +index 3995ce2..ec9e707 100644 +--- a/beancount/web/web.html ++++ b/beancount/web/web.html +@@ -3,10 +3,6 @@ + <head> + <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> + +- <link href="https://fonts.googleapis.com/css?family=Roboto+Condensed:400italic,700italic,700,400" rel="stylesheet" type="text/css" /> +- <link href="https://fonts.googleapis.com/css?family=Roboto:400italic,700italic,700,400" rel="stylesheet" type="text/css" /> +- <link href='https://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css' /> +- + <link href="/resources/web.css" rel="stylesheet" type="text/css" /> + <title>{{title}}: {{pagetitle}}</title> +
\ No newline at end of file diff --git a/gnu/packages/patches/biber-sortinithash.patch b/gnu/packages/patches/biber-sortinithash.patch new file mode 100644 index 0000000000..1f054d25e4 --- /dev/null +++ b/gnu/packages/patches/biber-sortinithash.patch @@ -0,0 +1,1657 @@ +This is a backport of this upstream commit to Biber 2.12: + + From 6b61b4c13778cf638f82569ab9e413f09f111ba5 Mon Sep 17 00:00:00 2001 + From: Philip Kime <Philip@kime.org.uk> + Date: Sat, 12 Jan 2019 17:19:51 +0100 + Subject: [PATCH] Updated tests after U::C upgrade changed sortinit hashes + +It addresses test failures found with recent versions of the +Biber dependencies. + +diff --git a/t/annotations.t b/t/annotations.t +index b4f641e..c6f86c7 100644 +--- a/t/annotations.t ++++ b/t/annotations.t +@@ -73,7 +73,7 @@ my $ann1 = q| \entry{ann1}{misc}{} + \strng{authorfullhash}{90ae96c82de92e36949bc64254bbde0c} + \field{extraname}{1} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{title}{The Title} +diff --git a/t/basic-misc.t b/t/basic-misc.t +index d4664b1..a9168cc 100644 +--- a/t/basic-misc.t ++++ b/t/basic-misc.t +@@ -97,7 +97,7 @@ my $u1 = q| \entry{u1}{misc}{} + \strng{authorfullhash}{b78abdc838d79b6576f2ed0021642766} + \field{labelalpha}{AAA\textbf{+}00} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -231,7 +231,7 @@ my $murray1 = q| \entry{murray}{article}{} + \strng{authorfullhash}{1572cc3fd324f560e5e71d041a6bd764} + \field{labelalpha}{Hos\textbf{+}98} + \field{sortinit}{H} +- \field{sortinithash}{5f15a7bc777ad49ff15aa4d2831b1681} ++ \field{sortinithash}{6db6145dae8dc9e1271a8d556090b50a} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -348,7 +348,7 @@ my $murray2 = q| \entry{murray}{article}{} + \strng{authorfullhash}{1572cc3fd324f560e5e71d041a6bd764} + \field{labelalpha}{Hos98} + \field{sortinit}{H} +- \field{sortinithash}{5f15a7bc777ad49ff15aa4d2831b1681} ++ \field{sortinithash}{6db6145dae8dc9e1271a8d556090b50a} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -389,7 +389,7 @@ my $t1 = q+ \entry{t1}{misc}{} + \field{extraname}{1} + \field{labelalpha}{Bro92} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \true{uniquework} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -419,7 +419,7 @@ my $t2 = q| \entry{t2}{misc}{} + \field{extraname}{2} + \field{labelalpha}{Bro94} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \true{uniquework} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -452,7 +452,7 @@ my $anon1 = q| \entry{anon1}{unpublished}{} + \strng{shortauthorfullhash}{9873a6cc65c553faa2b21aaad626fe4b} + \field{labelalpha}{XAn35} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{shortauthor} +@@ -491,7 +491,7 @@ my $anon2 = q| \entry{anon2}{unpublished}{} + \strng{shortauthorfullhash}{f64c29e89ea49402b997956610b58ef6} + \field{labelalpha}{YAn39} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquework} + \field{labelnamesource}{shortauthor} +@@ -526,7 +526,7 @@ my $url1 = q| \entry{url1}{misc}{} + \field{extraname}{4} + \field{labelalpha}{Ali05} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{extraalpha}{4} + \field{labelnamesource}{author} + \field{year}{2005} +@@ -710,7 +710,7 @@ my $isbn1 = q| \entry{isbn1}{misc}{} + \field{extraname}{1} + \field{labelalpha}{Flu} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{isbn}{978-0-8165-2066-4} +@@ -735,7 +735,7 @@ my $isbn2 = q| \entry{isbn2}{misc}{} + \field{extraname}{2} + \field{labelalpha}{Flu} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \field{isbn}{978-0-8165-2066-4} +@@ -778,7 +778,7 @@ my $clone1 = q| \entry{snk1}{book}{} + \field{extraname}{2} + \field{labelalpha}{vDoe} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \endentry +@@ -807,7 +807,7 @@ my $clone2 = q| \entry{clone-snk1}{book}{} + \field{extraname}{1} + \field{labelalpha}{vDoe} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{addendum}{add} +@@ -839,7 +839,7 @@ my $ent1 = q| \entry{ent1}{book}{} + \strng{authorfullhash}{b2536a425d549b46de5f21c4d468050a} + \field{labelalpha}{SdB} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{singletitle} + \field{labelnamesource}{author} + \endentry +@@ -862,7 +862,7 @@ my $verb1 = q| \entry{verb1}{book}{} + \strng{authorfullhash}{cac5a25f503e71f5ef28f474e14007b6} + \field{labelalpha}{All} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \field{labelnamesource}{author} + \verb{verba} +diff --git a/t/biblatexml.t b/t/biblatexml.t +index ad9ad25..0959bfa 100644 +--- a/t/biblatexml.t ++++ b/t/biblatexml.t +@@ -111,7 +111,7 @@ my $l1 = q| \entry{bltx1}{misc}{useprefix=false} + \strng{translatornamehash}{b44eba830fe9817fbe8e53c82f1cbe04} + \strng{translatorfullhash}{b44eba830fe9817fbe8e53c82f1cbe04} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -158,7 +158,7 @@ my $l1 = q| \entry{bltx1}{misc}{useprefix=false} + + my $l2 = q| \entry{loopkey:a}{book}{} + \field{sortinit}{0} +- \field{sortinithash}{168ad0c7c5ed09f1d28c6675717b5b03} ++ \field{sortinithash}{bcf7a1f4afb88b7299f988caccb80d1c} + \endentry + |; + +diff --git a/t/crossrefs.t b/t/crossrefs.t +index 915b52b..b6191c6 100644 +--- a/t/crossrefs.t ++++ b/t/crossrefs.t +@@ -82,7 +82,7 @@ my $cr1 = q| \entry{cr1}{inbook}{} + \strng{editornamehash}{c129df5593fdaa7475548811bfbb227d} + \strng{editorfullhash}{c129df5593fdaa7475548811bfbb227d} + \field{sortinit}{G} +- \field{sortinithash}{5e8d2bf9d38de41b1528bd307546008f} ++ \field{sortinithash}{62eb2aa29549e4fdbd3cb154ec5711cb} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -131,7 +131,7 @@ my $cr2 = q| \entry{cr2}{inbook}{} + \strng{editornamehash}{c129df5593fdaa7475548811bfbb227d} + \strng{editorfullhash}{c129df5593fdaa7475548811bfbb227d} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -165,7 +165,7 @@ my $cr_m = q| \entry{cr_m}{book}{} + \strng{editornamehash}{c129df5593fdaa7475548811bfbb227d} + \strng{editorfullhash}{c129df5593fdaa7475548811bfbb227d} + \field{sortinit}{G} +- \field{sortinithash}{5e8d2bf9d38de41b1528bd307546008f} ++ \field{sortinithash}{62eb2aa29549e4fdbd3cb154ec5711cb} + \true{crossrefsource} + \true{uniquetitle} + \field{labeltitlesource}{title} +@@ -203,7 +203,7 @@ my $cr3 = q| \entry{cr3}{inbook}{} + \strng{editornamehash}{a1f5c22413396d599ec766725b226735} + \strng{editorfullhash}{a1f5c22413396d599ec766725b226735} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -248,7 +248,7 @@ my $cr4 = q| \entry{cr4}{inbook}{} + \strng{editornamehash}{6ea89bd4958743a20b70fe17647d6af5} + \strng{editorfullhash}{6ea89bd4958743a20b70fe17647d6af5} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -279,7 +279,7 @@ my $crt = q| \entry{crt}{book}{} + \strng{editornamehash}{a1f5c22413396d599ec766725b226735} + \strng{editorfullhash}{a1f5c22413396d599ec766725b226735} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \true{uniquetitle} + \field{labeltitlesource}{title} + \field{title}{Beasts of the Burbling Burns} +@@ -315,7 +315,7 @@ my $cr6 = q| \entry{cr6}{inproceedings}{} + \strng{editorfullhash}{344a7f427fb765610ef96eb7bce95257} + \field{extraname}{2} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{uniquetitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -366,7 +366,7 @@ my $cr7 = q| \entry{cr7}{inbook}{} + \strng{bookauthorfullhash}{91a1dd4aeed3c4ec29ca74c4e778be5f} + \field{extraname}{1} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{uniquetitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -401,7 +401,7 @@ my $cr8 = q| \entry{cr8}{incollection}{} + \strng{authorfullhash}{3d449e56eb3ca1ae80dc99a18d689795} + \field{extraname}{4} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -431,7 +431,7 @@ my $xr1 = q| \entry{xr1}{inbook}{} + \strng{authornamehash}{e0ecc4fc668ee499d1afba44e1ac064d} + \strng{authorfullhash}{e0ecc4fc668ee499d1afba44e1ac064d} + \field{sortinit}{Z} +- \field{sortinithash}{156173bd08b075d7295bc3e0f4735a04} ++ \field{sortinithash}{8f7b480688e809b50b6f6577b16f3db5} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -460,7 +460,7 @@ my $xr2 = q| \entry{xr2}{inbook}{} + \strng{authornamehash}{6afa09374ecfd6b394ce714d2d9709c7} + \strng{authorfullhash}{6afa09374ecfd6b394ce714d2d9709c7} + \field{sortinit}{I} +- \field{sortinithash}{320bc8fe8101b9376f9f21cd507de0e8} ++ \field{sortinithash}{9417e9a1288a9371e2691d999083ed39} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -491,7 +491,7 @@ my $xrm = q| \entry{xrm}{book}{} + \strng{editornamehash}{809950f9b59ae207092b909a19dcb27b} + \strng{editorfullhash}{809950f9b59ae207092b909a19dcb27b} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \true{xrefsource} + \true{uniquetitle} + \field{labeltitlesource}{title} +@@ -516,7 +516,7 @@ my $xr3 = q| \entry{xr3}{inbook}{} + \strng{authornamehash}{9788055665b9bb4b37c776c3f6b74f16} + \strng{authorfullhash}{9788055665b9bb4b37c776c3f6b74f16} + \field{sortinit}{N} +- \field{sortinithash}{f7242c3ed3dc50029fca1be76c497c7c} ++ \field{sortinithash}{98cf339a479c0454fe09153a08675a15} + \true{singletitle} + \true{uniquetitle} + \true{uniquework} +@@ -546,7 +546,7 @@ my $xrt = q| \entry{xrt}{book}{} + \strng{editornamehash}{bf7d6b02f3e073913e5bfe5059508dd5} + \strng{editorfullhash}{bf7d6b02f3e073913e5bfe5059508dd5} + \field{sortinit}{K} +- \field{sortinithash}{9fd838a31ba64d981e8f44562bd33f89} ++ \field{sortinithash}{d3edc18d54b9438a72c24c925bfb38f4} + \true{uniquetitle} + \field{labeltitlesource}{title} + \field{title}{Kings, Cork and Calculation} +@@ -572,7 +572,7 @@ my $xr4 = q| \entry{xr4}{inbook}{} + \strng{authorfullhash}{7804ffef086c0c4686c235807f5cb502} + \field{extraname}{1} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{origyear}{1933} +@@ -600,7 +600,7 @@ my $mxr = q| \entry{mxr}{inbook}{} + \strng{authorfullhash}{7804ffef086c0c4686c235807f5cb502} + \field{extraname}{2} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{origyear}{1933} +@@ -625,7 +625,7 @@ my $mcr = q| \entry{mcr}{inbook}{} + \strng{authorfullhash}{7804ffef086c0c4686c235807f5cb502} + \field{extraname}{3} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} + \field{origyear}{1933} +@@ -660,7 +660,7 @@ my $ccr1 = q| \entry{ccr2}{book}{} + \strng{editorfullhash}{cfee758a1c82df2e26af1985e061bb0a} + \field{extraname}{1} + \field{sortinit}{V} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \true{uniquetitle} + \true{uniquework} + \field{labelnamesource}{author} +@@ -694,7 +694,7 @@ my $ccr2 = q| \entry{ccr3}{inbook}{} + \strng{editornamehash}{cfee758a1c82df2e26af1985e061bb0a} + \strng{editorfullhash}{cfee758a1c82df2e26af1985e061bb0a} + \field{sortinit}{P} +- \field{sortinithash}{8d51b3d5b78d75b54308d706b9bbe285} ++ \field{sortinithash}{bb5b15f2db90f7aef79bb9e83defefcb} + \true{uniquetitle} + \field{labeltitlesource}{title} + \field{booktitle}{Misc etc.} +@@ -726,7 +726,7 @@ my $ccr3 = q| \entry{ccr4}{inbook}{} + + my $s1 = q| \entry{s1}{inbook}{} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{uniquetitle} + \field{labeltitlesource}{title} + \strng{crossref}{s2} +@@ -760,7 +760,7 @@ my $xc2 = q| \entry{xc2}{inbook}{} + \strng{bookauthorfullhash}{1a0f7d518cccdad859a74412ef956474} + \field{extraname}{2} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \true{xrefsource} + \field{labelnamesource}{author} + \field{booktitle}{Title} +@@ -769,7 +769,7 @@ my $xc2 = q| \entry{xc2}{inbook}{} + + my $b1 = q| \entry{b1}{inbook}{} + \field{sortinit}{2} +- \field{sortinithash}{cbff857e587bcb4635511624d773949e} ++ \field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed} + \strng{crossref}{b2} + \field{day}{3} + \field{month}{3} +@@ -803,7 +803,7 @@ my $sup1 = q| \entry{sup1}{mvbook}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{3} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{crossrefsource} + \true{singletitle} + \field{labelnamesource}{author} +@@ -828,7 +828,7 @@ my $sup2 = q| \entry{sup2}{book}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{1} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/datalists.t b/t/datalists.t +index 3081cc4..4855e3d 100644 +--- a/t/datalists.t ++++ b/t/datalists.t +@@ -187,7 +187,7 @@ my $K11 = q| \entry{K11}{book}{} + \strng{authornamehash}{4edc280a0ef229f9c061e3b121b17482} + \strng{authorfullhash}{4edc280a0ef229f9c061e3b121b17482} + \field{sortinit}{a} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -219,7 +219,7 @@ my $K12 = q| \entry{K12}{book}{} + \strng{authornamehash}{a846a485fc9cbb59b0ebeedd6ac637e4} + \strng{authorfullhash}{a846a485fc9cbb59b0ebeedd6ac637e4} + \field{sortinit}{Z} +- \field{sortinithash}{156173bd08b075d7295bc3e0f4735a04} ++ \field{sortinithash}{8f7b480688e809b50b6f6577b16f3db5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +diff --git a/t/dateformats.t b/t/dateformats.t +index 6beb567..0d5072a 100644 +--- a/t/dateformats.t ++++ b/t/dateformats.t +@@ -88,7 +88,7 @@ my $l13c = q| \entry{L13}{book}{} + \strng{authorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{3} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -126,7 +126,7 @@ my $l14 = q| \entry{L14}{book}{} + \strng{authorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{4} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{3} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -168,7 +168,7 @@ my $l15 = q| \entry{L15}{book}{} + \strng{authorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{12} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{4} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -201,7 +201,7 @@ my $l16 = q| \entry{L16}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{13} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{7} + \field{extradatescope}{labelyear} + \field{labeldatesource}{event} +@@ -240,7 +240,7 @@ my $l17 = q| \entry{L17}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{5} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{4} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -299,7 +299,7 @@ my $l17c = q| \entry{L17}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{5} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{orig} + \field{labelnamesource}{editor} +@@ -357,7 +357,7 @@ my $l17e = q| \entry{L17}{proceedings}{} + \strng{editorfullhash}{8c77336299b25bdada7bf8038f46722f} + \field{extraname}{5} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{event} + \field{labelnamesource}{editor} +@@ -479,7 +479,7 @@ my $era1 = q| \entry{era1}{article}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{9} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -512,7 +512,7 @@ my $era2 = q| \entry{era2}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{10} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -546,7 +546,7 @@ my $era3 = q| \entry{era3}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{11} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -580,7 +580,7 @@ my $era4 = q| \entry{era4}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{6} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -622,7 +622,7 @@ my $time1 = q| \entry{time1}{article}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{2} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -671,7 +671,7 @@ my $range1 = q| \entry{range1}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{7} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{1} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -712,7 +712,7 @@ my $range2 = q| \entry{range2}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{8} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{2} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -753,7 +753,7 @@ my $season1 = q| \entry{season1}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{1} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -785,7 +785,7 @@ my $unspec1 = q| \entry{unspec1}{inproceedings}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{4} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -838,7 +838,7 @@ my $unspec2 = q| \entry{unspec2}{article}{} + \strng{authorfullhash}{556c8dba145b472e6a8598d506f7cbe2} + \field{extraname}{3} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +diff --git a/t/encoding.t b/t/encoding.t +index a150b4f..36d9955 100644 +--- a/t/encoding.t ++++ b/t/encoding.t +@@ -52,7 +52,7 @@ my $encode1 = q| \entry{testŠ}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -82,7 +82,7 @@ my $encode2 = q| \entry{test1}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -112,7 +112,7 @@ my $encode3 = q| \entry{test1}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -142,7 +142,7 @@ my $encode5 = q| \entry{test}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -172,7 +172,7 @@ my $encode6 = q| \entry{test}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +@@ -202,7 +202,7 @@ my $encode7 = q| \entry{test}{book}{} + \strng{authorfullhash}{06a47edae2e847800cfd78323a0e6be8} + \field{labelalpha}{Enc99} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{labeldatesource}{year} + \true{singletitle} + \field{labelnamesource}{author} +diff --git a/t/names.t b/t/names.t +index 7228042..b73f2ed 100644 +--- a/t/names.t ++++ b/t/names.t +@@ -188,7 +188,7 @@ my $l1 = q| \entry{L1}{book}{} + \strng{authornamehash}{72287a68c1714cb1b9f4ab9e03a88b96} + \strng{authorfullhash}{72287a68c1714cb1b9f4ab9e03a88b96} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{labelnamesource}{author} + \endentry + |; +@@ -208,7 +208,7 @@ my $l2 = q| \entry{L2}{book}{} + \strng{authornamehash}{2098d59d0f19a2e003ee06c1aa750d57} + \strng{authorfullhash}{2098d59d0f19a2e003ee06c1aa750d57} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{labelnamesource}{author} + \endentry + |; +@@ -228,7 +228,7 @@ my $l3 = q| \entry{L3}{book}{} + \strng{authornamehash}{c8b06fe88bde128b25eb0b3b1cc5837c} + \strng{authorfullhash}{c8b06fe88bde128b25eb0b3b1cc5837c} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \field{labelnamesource}{author} + \endentry + |; +@@ -248,7 +248,7 @@ my $l4 = q| \entry{L4}{book}{} + \strng{authornamehash}{5ec958b850c0c2de7de7c42c84b9c419} + \strng{authorfullhash}{5ec958b850c0c2de7de7c42c84b9c419} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labelnamesource}{author} + \endentry + |; +@@ -270,7 +270,7 @@ my $l5 = q| \entry{L5}{book}{} + \strng{authornamehash}{c6b9d281cc1ff3f35570f76f463d4244} + \strng{authorfullhash}{c6b9d281cc1ff3f35570f76f463d4244} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -292,7 +292,7 @@ my $l6 = q| \entry{L6}{book}{} + \strng{authornamehash}{5fd24d3d1608a310ec205a6b201a5495} + \strng{authorfullhash}{5fd24d3d1608a310ec205a6b201a5495} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -314,7 +314,7 @@ my $l7 = q| \entry{L7}{book}{} + \strng{authornamehash}{98edb0b90251df22b74328d9227eceb7} + \strng{authorfullhash}{98edb0b90251df22b74328d9227eceb7} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -336,7 +336,7 @@ my $l8 = q| \entry{L8}{book}{} + \strng{authornamehash}{1211dc8dbbc191cbcab4da3c3c1fc48a} + \strng{authorfullhash}{1211dc8dbbc191cbcab4da3c3c1fc48a} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -356,7 +356,7 @@ my $l9 = q| \entry{L9}{book}{} + \strng{authornamehash}{bae61a889ab149a6deafe45333204cf0} + \strng{authorfullhash}{bae61a889ab149a6deafe45333204cf0} + \field{sortinit}{I} +- \field{sortinithash}{320bc8fe8101b9376f9f21cd507de0e8} ++ \field{sortinithash}{9417e9a1288a9371e2691d999083ed39} + \field{labelnamesource}{author} + \endentry + |; +@@ -379,7 +379,7 @@ my $l10 = q| \entry{L10}{book}{} + \strng{authornamehash}{37b4325752e394ddfb2fc810f6c88e27} + \strng{authorfullhash}{37b4325752e394ddfb2fc810f6c88e27} + \field{sortinit}{J} +- \field{sortinithash}{fce5f8d0bd05e8d93f3dbe21c78897ca} ++ \field{sortinithash}{c45040a764d616897e7f5b30174d7b92} + \field{labelnamesource}{author} + \endentry + |; +@@ -402,7 +402,7 @@ my $l10a = q| \entry{L10a}{book}{} + \strng{authornamehash}{7bf2c9d8b89a1930ee91bfddcaf20c9c} + \strng{authorfullhash}{7bf2c9d8b89a1930ee91bfddcaf20c9c} + \field{sortinit}{P} +- \field{sortinithash}{8d51b3d5b78d75b54308d706b9bbe285} ++ \field{sortinithash}{bb5b15f2db90f7aef79bb9e83defefcb} + \field{labelnamesource}{author} + \endentry + |; +@@ -427,7 +427,7 @@ my $l11 = q| \entry{L11}{book}{} + \strng{authornamehash}{9f48d231be68c9435fab4faca55a5caf} + \strng{authorfullhash}{9f48d231be68c9435fab4faca55a5caf} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -449,7 +449,7 @@ my $l12 = q| \entry{L12}{book}{} + \strng{authornamehash}{d7ca88c13a8f7ce1c23e920010a31f83} + \strng{authorfullhash}{d7ca88c13a8f7ce1c23e920010a31f83} + \field{sortinit}{d} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \true{uniqueprimaryauthor} + \field{labelnamesource}{author} + \endentry +@@ -470,7 +470,7 @@ my $l13 = q| \entry{L13}{book}{} + \strng{authornamehash}{227ac48bb788a658cfaa4eefc71ff0cc} + \strng{authorfullhash}{227ac48bb788a658cfaa4eefc71ff0cc} + \field{sortinit}{V} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -490,7 +490,7 @@ my $l14 = q| \entry{L14}{book}{} + \strng{authornamehash}{779475052c17ed56dc3be900d0dfdf87} + \strng{authorfullhash}{779475052c17ed56dc3be900d0dfdf87} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -513,7 +513,7 @@ my $l15 = q| \entry{L15}{book}{} + \strng{authorfullhash}{783c636e853e47a854ae034ebe9dde62} + \field{extraname}{1} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -536,7 +536,7 @@ my $l16 = q| \entry{L16}{book}{} + \strng{authorfullhash}{783c636e853e47a854ae034ebe9dde62} + \field{extraname}{2} + \field{sortinit}{v} +- \field{sortinithash}{75dd7385c90b2252c3ae853a80ca853b} ++ \field{sortinithash}{02432525618c08e2b03cac47c19764af} + \field{labelnamesource}{author} + \endentry + |; +@@ -557,7 +557,7 @@ my $l17 = q| \entry{L17}{book}{} + \strng{authorfullhash}{b51f667a3384d92ea5458ba80716bff7} + \field{extraname}{1} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \endentry + |; +@@ -578,7 +578,7 @@ my $l18 = q| \entry{L18}{book}{} + \strng{authorfullhash}{b51f667a3384d92ea5458ba80716bff7} + \field{extraname}{2} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \endentry + |; +@@ -598,7 +598,7 @@ my $l19 = q| \entry{L19}{book}{} + \strng{authornamehash}{83caa52f21f97e572dd3267bdf62978a} + \strng{authorfullhash}{83caa52f21f97e572dd3267bdf62978a} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{labelnamesource}{author} + \endentry + |; +@@ -618,7 +618,7 @@ my $l19a = q| \entry{L19a}{book}{} + \strng{authornamehash}{0963f6904ccfeaac2770c5882a587001} + \strng{authorfullhash}{0963f6904ccfeaac2770c5882a587001} + \field{sortinit}{L} +- \field{sortinithash}{2c7981aaabc885868aba60f0c09ee20f} ++ \field{sortinithash}{dad3efd0836470093a7b4a7bb756eb8c} + \field{labelnamesource}{author} + \endentry + |; +@@ -639,7 +639,7 @@ my $l20 = q| \entry{L20}{book}{} + \strng{authornamehash}{5f26c2f3b33095d5b005714893f4d698} + \strng{authorfullhash}{5f26c2f3b33095d5b005714893f4d698} + \field{sortinit}{F} +- \field{sortinithash}{669c706c6f1fbf3b5a83d26f1d9e9e72} ++ \field{sortinithash}{fb0c0faa89eb6abae8213bf60e6799ea} + \field{labelnamesource}{author} + \endentry + |; +@@ -660,7 +660,7 @@ my $l21 = q| \entry{L21}{book}{} + \strng{authorfullhash}{4389a3c0dc7da74487b50808ba9436ad} + \field{extraname}{1} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -681,7 +681,7 @@ my $l22u = q| \entry{L22}{book}{} + \strng{authorfullhash}{e58b861545799d0eaf883402a882126e} + \field{extraname}{1} + \field{sortinit}{Š} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -703,7 +703,7 @@ my $l22 = q| \entry{L22}{book}{} + \strng{authorfullhash}{e58b861545799d0eaf883402a882126e} + \field{extraname}{1} + \field{sortinit}{\v{S}} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \true{uniqueprimaryauthor} + \field{labelnamesource}{author} + \endentry +@@ -726,7 +726,7 @@ my $l23 = q| \entry{L23}{book}{} + \strng{authorfullhash}{4389a3c0dc7da74487b50808ba9436ad} + \field{extraname}{3} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -747,7 +747,7 @@ my $l24 = q| \entry{L24}{book}{} + \strng{authorfullhash}{e58b861545799d0eaf883402a882126e} + \field{extraname}{2} + \field{sortinit}{Š} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -765,7 +765,7 @@ my $l25 = q| \entry{L25}{book}{} + \strng{authornamehash}{d7cd2c5ea0848abc3e90609558b84a45} + \strng{authorfullhash}{d7cd2c5ea0848abc3e90609558b84a45} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{labelnamesource}{author} + \endentry + |; +@@ -783,7 +783,7 @@ my $l26 = q| \entry{L26}{book}{} + \strng{authornamehash}{8eee1dbafdbd0a4b73157e60f18b4784} + \strng{authorfullhash}{8eee1dbafdbd0a4b73157e60f18b4784} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -791,7 +791,7 @@ my $l26 = q| \entry{L26}{book}{} + # Malformed anyway but a decent test + my $l28 = q| \entry{L28}{book}{} + \field{sortinit}{0} +- \field{sortinithash}{168ad0c7c5ed09f1d28c6675717b5b03} ++ \field{sortinithash}{bcf7a1f4afb88b7299f988caccb80d1c} + \warn{\item Name "Deux et al.,, O." is malformed (consecutive commas): skipping name} + \endentry + |; +@@ -810,7 +810,7 @@ my $l29 = q| \entry{L29}{book}{} + \strng{authornamehash}{27ad192a3a715aa89152b2a4ee392e8c} + \strng{authorfullhash}{27ad192a3a715aa89152b2a4ee392e8c} + \field{sortinit}{U} +- \field{sortinithash}{36a2444f5238e0dcf4bb59704df6624d} ++ \field{sortinithash}{77a6935510e008adcf5b555e7b4f0711} + \field{labelnamesource}{author} + \endentry + |; +@@ -850,7 +850,7 @@ my $l31 = q| \entry{L31}{book}{} + \strng{translatornamehash}{29c3ff92fff79d09a8b44d2f775de0b1} + \strng{translatorfullhash}{29c3ff92fff79d09a8b44d2f775de0b1} + \field{sortinit}{\~{Z}} +- \field{sortinithash}{156173bd08b075d7295bc3e0f4735a04} ++ \field{sortinithash}{8f7b480688e809b50b6f6577b16f3db5} + \true{uniqueprimaryauthor} + \field{labelnamesource}{author} + \endentry +diff --git a/t/options.t b/t/options.t +index 940a282..c14d694 100644 +--- a/t/options.t ++++ b/t/options.t +@@ -100,7 +100,7 @@ my $l1 = q| \entry{L1}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -137,7 +137,7 @@ my $l2 = q| \entry{L2}{book}{maxcitenames=3,maxbibnames=3,maxsortnames=3,maxi + \strng{authornamehash}{19eec87c959944d6d9c72434a42856ba} + \strng{authorfullhash}{19eec87c959944d6d9c72434a42856ba} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -169,7 +169,7 @@ my $l3 = q| \entry{L3}{book}{blah=10} + \strng{authornamehash}{490250da1f3b92580d97563dc96c6c84} + \strng{authorfullhash}{490250da1f3b92580d97563dc96c6c84} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +diff --git a/t/related-entries.t b/t/related-entries.t +index 53dce64..b38ac79 100644 +--- a/t/related-entries.t ++++ b/t/related-entries.t +@@ -56,7 +56,7 @@ my $k1 = q| \entry{key1}{article}{} + \strng{authorfullhash}{a517747c3d12f99244ae598910d979c5} + \field{extraname}{1} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -95,7 +95,7 @@ my $k2 = q| \entry{key2}{inbook}{} + \strng{authorfullhash}{a517747c3d12f99244ae598910d979c5} + \field{extraname}{2} + \field{sortinit}{2} +- \field{sortinithash}{cbff857e587bcb4635511624d773949e} ++ \field{sortinithash}{ed39bb39cf854d5250e95b1c1f94f4ed} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -243,7 +243,7 @@ my $kck4 = q| \entry{caf8e34be07426ae7127c1b4829983c1}{inbook}{dataonly,useed + + my $c1 = q| \entry{c1}{book}{} + \field{sortinit}{3} +- \field{sortinithash}{a4b52e5432884761f50fb9571273b93e} ++ \field{sortinithash}{a37a8ef248a93c322189792c34fc68c9} + \field{related}{9ab62b5ef34a985438bfdf7ee0102229} + \endentry + |; +@@ -330,7 +330,7 @@ my $un1 = q| \entry{kullback}{book}{} + \strng{authorfullhash}{34c5bbf9876c37127c3abe4e7d7a7198} + \field{extraname}{1} + \field{sortinit}{5} +- \field{sortinithash}{3c19c3776b658b3558e9e2e4840c01e2} ++ \field{sortinithash}{5dd416adbafacc8226114bc0202d5fdd} + \field{extradatescope}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -364,7 +364,7 @@ my $un2 = q| \entry{kullback:related}{book}{} + \strng{authorfullhash}{34c5bbf9876c37127c3abe4e7d7a7198} + \field{extraname}{2} + \field{sortinit}{6} +- \field{sortinithash}{57e57fb8451e7fcfa45d1e069f6d3136} ++ \field{sortinithash}{7851c86048328b027313775d8fbd2131} + \field{extradatescope}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/remote-files.t b/t/remote-files.t +index c747dcd..6f4cf4d 100644 +--- a/t/remote-files.t ++++ b/t/remote-files.t +@@ -86,7 +86,7 @@ my $cu1 = q| \entry{citeulike:8283461}{article}{} + \strng{authornamehash}{a700cc0bdce78f5a1f50ff6314ff6f2a} + \strng{authorfullhash}{094b095bbb7ac93fdd3e2eafdcec0cac} + \field{sortinit}{M} +- \field{sortinithash}{cfd219b90152c06204fab207bc6c7cab} ++ \field{sortinithash}{2e5c2f51f7fa2d957f3206819bf86dc3} + \field{extradatescope}{labelyear} + \field{labeldatesource}{year} + \field{labelnamesource}{author} +@@ -133,7 +133,7 @@ my $dl1 = q| \entry{AbdelbarH98}{article}{} + \strng{authornamehash}{bb887c5d0458bfb1f3f7e6afc8d1def4} + \strng{authorfullhash}{bb887c5d0458bfb1f3f7e6afc8d1def4} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \field{extradatescope}{labelyear} + \field{labeldatesource}{year} + \field{labelnamesource}{author} +diff --git a/t/set-dynamic.t b/t/set-dynamic.t +index 9ab5fdd..0846f8a 100644 +--- a/t/set-dynamic.t ++++ b/t/set-dynamic.t +@@ -51,7 +51,7 @@ my $out = $biber->get_output_obj; + my $string1 = q| \entry{DynSet}{set}{} + \set{Dynamic1,Dynamic2,Dynamic3} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \endentry + |; + +@@ -71,7 +71,7 @@ my $string2 = q| \entry{Dynamic1}{book}{} + \strng{authornamehash}{252caa7921a061ca92087a1a52f15b78} + \strng{authorfullhash}{252caa7921a061ca92087a1a52f15b78} + \field{sortinit}{8} +- \field{sortinithash}{07edf88d4ea82509b9c4b4d13f41c452} ++ \field{sortinithash}{1b24cab5087933ef0826a7cd3b99e994} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -98,7 +98,7 @@ my $string3 = q| \entry{Dynamic2}{book}{} + \strng{authornamehash}{894a5fe6de820f5dcce84a65581667f4} + \strng{authorfullhash}{894a5fe6de820f5dcce84a65581667f4} + \field{sortinit}{9} +- \field{sortinithash}{1dd72ab054147731c9d824b49aba0534} ++ \field{sortinithash}{54047ffb55bdefa0694bbd554c1b11a0} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -124,7 +124,7 @@ my $string4 = q| \entry{Dynamic3}{book}{} + \strng{authornamehash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \strng{authorfullhash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -151,7 +151,7 @@ my $string5 = q| \entry{Dynamic3}{book}{} + \strng{authornamehash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \strng{authorfullhash}{fc3cc97631ceaecdde2aee6cc60ab42b} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/set-legacy.t b/t/set-legacy.t +index 4e56991..9d40acb 100644 +--- a/t/set-legacy.t ++++ b/t/set-legacy.t +@@ -45,7 +45,7 @@ my $out = $biber->get_output_obj; + my $string1 = q| \entry{Elias1955}{set}{} + \set{Elias1955a,Elias1955b} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \endentry + |; + +diff --git a/t/set-static.t b/t/set-static.t +index 1e45d4d..a6cbe73 100644 +--- a/t/set-static.t ++++ b/t/set-static.t +@@ -47,7 +47,7 @@ my $out = $biber->get_output_obj; + my $string1 = q| \entry{Static1}{set}{} + \set{Static2,Static4,Static3} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{annotation}{Some notes} + \endentry + |; +@@ -68,7 +68,7 @@ my $string2 = q| \entry{Static2}{book}{} + \strng{authornamehash}{43874d80d7ce68027102819f16c47df1} + \strng{authorfullhash}{43874d80d7ce68027102819f16c47df1} + \field{sortinit}{B} +- \field{sortinithash}{276475738cc058478c1677046f857703} ++ \field{sortinithash}{8de16967003c7207dae369d874f1456e} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -94,7 +94,7 @@ my $string3 = q| \entry{Static3}{book}{} + \strng{authornamehash}{22dafa5cd57bb5dd7f3e3bab98fd539c} + \strng{authorfullhash}{22dafa5cd57bb5dd7f3e3bab98fd539c} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -119,7 +119,7 @@ my $string4 = q| \entry{Static4}{book}{} + \strng{authornamehash}{da80091c8cd89e5269bd55af1bd5d2fa} + \strng{authorfullhash}{da80091c8cd89e5269bd55af1bd5d2fa} + \field{sortinit}{C} +- \field{sortinithash}{963e9d84a3da2344e8833203de5aed05} ++ \field{sortinithash}{4c244ceae61406cdc0cc2ce1cb1ff703} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -145,7 +145,7 @@ my $string5 = q| \entry{Static2}{book}{} + \strng{authornamehash}{43874d80d7ce68027102819f16c47df1} + \strng{authorfullhash}{43874d80d7ce68027102819f16c47df1} + \field{sortinit}{1} +- \field{sortinithash}{2174f786c6195e7fe2ee1c229b416e29} ++ \field{sortinithash}{50c6687d7fc80f50136d75228e3c59ba} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/skips.t b/t/skips.t +index 7c80d39..caa835f 100644 +--- a/t/skips.t ++++ b/t/skips.t +@@ -50,7 +50,7 @@ my $set1 = q| \entry{seta}{set}{} + \field{labelalpha}{Doe10} + \field{extraalpha}{1} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \endentry + |; + +@@ -70,7 +70,7 @@ my $set2 = q| \entry{set:membera}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -97,7 +97,7 @@ my $set3 = q| \entry{set:memberb}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -123,7 +123,7 @@ my $set4 = q| \entry{set:memberc}{book}{} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -150,7 +150,7 @@ my $noset1 = q| \entry{noseta}{book}{} + \field{extraname}{3} + \field{labelalpha}{Doe10} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{2} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -180,7 +180,7 @@ my $noset2 = q| \entry{nosetb}{book}{} + \field{extraname}{4} + \field{labelalpha}{Doe10} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{3} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -210,7 +210,7 @@ my $noset3 = q| \entry{nosetc}{book}{} + \field{extraname}{5} + \field{labelalpha}{Doe10} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extradate}{4} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} +@@ -244,7 +244,7 @@ my $sk4 = q| \entry{skip4}{article}{dataonly} + \strng{authornamehash}{bd051a2f7a5f377e3a62581b0e0f8577} + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{labeldatesource}{year} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/sort-complex.t b/t/sort-complex.t +index aa3e564..d52db08 100644 +--- a/t/sort-complex.t ++++ b/t/sort-complex.t +@@ -123,7 +123,7 @@ my $l4 = q| \entry{L4}{book}{} + \field{extraname}{2} + \field{labelalpha}{Doe\textbf{+}95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -155,7 +155,7 @@ my $l1 = q| \entry{L1}{book}{} + \field{extraname}{1} + \field{labelalpha}{Doe95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -187,7 +187,7 @@ my $l2 = q| \entry{L2}{book}{} + \field{extraname}{3} + \field{labelalpha}{Doe95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{3} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -219,7 +219,7 @@ my $l3 = q| \entry{L3}{book}{} + \field{extraname}{2} + \field{labelalpha}{Doe95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{2} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -253,7 +253,7 @@ my $l5 = q| \entry{L5}{book}{} + \field{extraname}{1} + \field{labelalpha}{Doe\textbf{+}95} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \field{extraalpha}{1} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/tdata/full-bbl.bbl b/t/tdata/full-bbl.bbl +index 4f168de..07c2fab 100644 +--- a/t/tdata/full-bbl.bbl ++++ b/t/tdata/full-bbl.bbl +@@ -36,7 +36,7 @@ + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{labelalpha}{\emph{A}} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -63,7 +63,7 @@ + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{labelalpha}{\emph{A}} + \field{sortinit}{A} +- \field{sortinithash}{d77c7cdd82ff690d4c3ef13216f92f0b} ++ \field{sortinithash}{a3dcedd53b04d1adfd5ac303ecd5e6fa} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +@@ -90,7 +90,7 @@ + \strng{authorfullhash}{bd051a2f7a5f377e3a62581b0e0f8577} + \field{labelalpha}{\emph{A}} + \field{sortinit}{D} +- \field{sortinithash}{2ef1bd9a78cc71eb74d7231c635177b8} ++ \field{sortinithash}{c438b3d5d027251ba63f5ed538d98af5} + \true{singletitle} + \field{labelnamesource}{author} + \field{labeltitlesource}{title} +diff --git a/t/tdata/full-bblxml.bblxml b/t/tdata/full-bblxml.bblxml +index 9eea7d1..a39a787 100644 +--- a/t/tdata/full-bblxml.bblxml ++++ b/t/tdata/full-bblxml.bblxml +@@ -47,7 +47,7 @@ + <bbl:field name="authorbibnamehash">860705eb8ffac6e40507746c7ede79ca</bbl:field> + <bbl:field name="labelalpha">Aks\textbf{+}06</bbl:field> + <bbl:field name="sortinit">A</bbl:field> +- <bbl:field name="sortinithash">d77c7cdd82ff690d4c3ef13216f92f0b</bbl:field> ++ <bbl:field name="sortinithash">a3dcedd53b04d1adfd5ac303ecd5e6fa</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="indextitle">Effect of immobilization on catalytic characteristics</bbl:field> +@@ -79,7 +79,7 @@ + <bbl:field name="authorbibnamehash">9717d2d959a4b18727868ca7928c34b4</bbl:field> + <bbl:field name="labelalpha">Ang02</bbl:field> + <bbl:field name="sortinit">A</bbl:field> +- <bbl:field name="sortinithash">d77c7cdd82ff690d4c3ef13216f92f0b</bbl:field> ++ <bbl:field name="sortinithash">a3dcedd53b04d1adfd5ac303ecd5e6fa</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">shorttitle</bbl:field> + <bbl:field name="annotation">A German article in a French journal. Apart from that, a typical article entry. Note the indextitle field</bbl:field> +@@ -109,7 +109,7 @@ + </bbl:set> + <bbl:field name="labelalpha">Gla61</bbl:field> + <bbl:field name="sortinit">G</bbl:field> +- <bbl:field name="sortinithash">5e8d2bf9d38de41b1528bd307546008f</bbl:field> ++ <bbl:field name="sortinithash">62eb2aa29549e4fdbd3cb154ec5711cb</bbl:field> + <bbl:field name="annotation">A set entry with three members discussing the standard model of particle physics.</bbl:field> + </bbl:entry> + <bbl:entry key="stdmodel:glashow" type="article"> +@@ -129,7 +129,7 @@ + <bbl:field name="authorfullhash">eb3f242602109f5bdbeb41fdd990fcc0</bbl:field> + <bbl:field name="authorbibnamehash">eb3f242602109f5bdbeb41fdd990fcc0</bbl:field> + <bbl:field name="sortinit">G</bbl:field> +- <bbl:field name="sortinithash">5e8d2bf9d38de41b1528bd307546008f</bbl:field> ++ <bbl:field name="sortinithash">62eb2aa29549e4fdbd3cb154ec5711cb</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="journaltitle">Nucl. Phys.</bbl:field> +@@ -168,7 +168,7 @@ + <bbl:field name="extraname">1</bbl:field> + <bbl:field name="labelalpha">Knu86</bbl:field> + <bbl:field name="sortinit">K</bbl:field> +- <bbl:field name="sortinithash">9fd838a31ba64d981e8f44562bd33f89</bbl:field> ++ <bbl:field name="sortinithash">d3edc18d54b9438a72c24c925bfb38f4</bbl:field> + <bbl:field name="extraalpha">1</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">shorttitle</bbl:field> +@@ -207,7 +207,7 @@ + <bbl:field name="extraname">2</bbl:field> + <bbl:field name="labelalpha">Knu86</bbl:field> + <bbl:field name="sortinit">K</bbl:field> +- <bbl:field name="sortinithash">9fd838a31ba64d981e8f44562bd33f89</bbl:field> ++ <bbl:field name="sortinithash">d3edc18d54b9438a72c24c925bfb38f4</bbl:field> + <bbl:field name="extraalpha">2</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">shorttitle</bbl:field> +@@ -236,7 +236,7 @@ + <bbl:field name="authorbibnamehash">d52f05e0199eae563725b4165f4b2520</bbl:field> + <bbl:field name="labelalpha">Ree58</bbl:field> + <bbl:field name="sortinit">R</bbl:field> +- <bbl:field name="sortinithash">da6b42bd3ab22fee61abed031ee405f7</bbl:field> ++ <bbl:field name="sortinithash">b9c68a358aea118dfa887b6e902414a7</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="annotation">An article entry with a series and a volume field. Note the format of the series. If the value of the series field is an integer, this number is printed as an ordinal and the string *series is appended automatically</bbl:field> +@@ -286,7 +286,7 @@ + <bbl:field name="editorfullhash">d0ec890e59163c24c111a08d2a4be982</bbl:field> + <bbl:field name="editorbibnamehash">d0ec890e59163c24c111a08d2a4be982</bbl:field> + <bbl:field name="sortinit">S</bbl:field> +- <bbl:field name="sortinithash">322b1d5276f2f6c1bccdcd15920dbee6</bbl:field> ++ <bbl:field name="sortinithash">c319cff79d99c853d775f88277d4e45f</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="booksubtitle">Relativistic groups and analyticity</bbl:field> +@@ -317,7 +317,7 @@ + <bbl:field name="authorbibnamehash">93f17724cbd884231ef39a73755ef5bb</bbl:field> + <bbl:field name="labelalpha">Sho91</bbl:field> + <bbl:field name="sortinit">S</bbl:field> +- <bbl:field name="sortinithash">322b1d5276f2f6c1bccdcd15920dbee6</bbl:field> ++ <bbl:field name="sortinithash">c319cff79d99c853d775f88277d4e45f</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="annotation">An article entry with series, volume, and number fields. Note the format of the series which is a localization key</bbl:field> +@@ -353,7 +353,7 @@ + <bbl:field name="authorfullhash">15e144c72b0b9d10db00ddc6d37a19e6</bbl:field> + <bbl:field name="authorbibnamehash">15e144c72b0b9d10db00ddc6d37a19e6</bbl:field> + <bbl:field name="sortinit">W</bbl:field> +- <bbl:field name="sortinithash">ecb89ff85896a47dc313960773ac311d</bbl:field> ++ <bbl:field name="sortinithash">1af34bd8c148ffb32de1494636b49713</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="journaltitle">Phys. Rev. Lett.</bbl:field> +@@ -411,7 +411,7 @@ + <bbl:field name="authorbibnamehash">860705eb8ffac6e40507746c7ede79ca</bbl:field> + <bbl:field name="labelalpha">Aks\textbf{+}06</bbl:field> + <bbl:field name="sortinit">A</bbl:field> +- <bbl:field name="sortinithash">d77c7cdd82ff690d4c3ef13216f92f0b</bbl:field> ++ <bbl:field name="sortinithash">a3dcedd53b04d1adfd5ac303ecd5e6fa</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="indextitle">Effect of immobilization on catalytic characteristics</bbl:field> +@@ -443,7 +443,7 @@ + <bbl:field name="authorbibnamehash">9717d2d959a4b18727868ca7928c34b4</bbl:field> + <bbl:field name="labelalpha">Ang02</bbl:field> + <bbl:field name="sortinit">A</bbl:field> +- <bbl:field name="sortinithash">d77c7cdd82ff690d4c3ef13216f92f0b</bbl:field> ++ <bbl:field name="sortinithash">a3dcedd53b04d1adfd5ac303ecd5e6fa</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">shorttitle</bbl:field> + <bbl:field name="annotation">A German article in a French journal. Apart from that, a typical article entry. Note the indextitle field</bbl:field> +@@ -473,7 +473,7 @@ + </bbl:set> + <bbl:field name="labelalpha">Gla61</bbl:field> + <bbl:field name="sortinit">G</bbl:field> +- <bbl:field name="sortinithash">5e8d2bf9d38de41b1528bd307546008f</bbl:field> ++ <bbl:field name="sortinithash">62eb2aa29549e4fdbd3cb154ec5711cb</bbl:field> + <bbl:field name="annotation">A set entry with three members discussing the standard model of particle physics.</bbl:field> + </bbl:entry> + <bbl:entry key="stdmodel:glashow" type="article"> +@@ -493,7 +493,7 @@ + <bbl:field name="authorfullhash">eb3f242602109f5bdbeb41fdd990fcc0</bbl:field> + <bbl:field name="authorbibnamehash">eb3f242602109f5bdbeb41fdd990fcc0</bbl:field> + <bbl:field name="sortinit">G</bbl:field> +- <bbl:field name="sortinithash">5e8d2bf9d38de41b1528bd307546008f</bbl:field> ++ <bbl:field name="sortinithash">62eb2aa29549e4fdbd3cb154ec5711cb</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="journaltitle">Nucl. Phys.</bbl:field> +@@ -532,7 +532,7 @@ + <bbl:field name="extraname">1</bbl:field> + <bbl:field name="labelalpha">Knu86</bbl:field> + <bbl:field name="sortinit">K</bbl:field> +- <bbl:field name="sortinithash">9fd838a31ba64d981e8f44562bd33f89</bbl:field> ++ <bbl:field name="sortinithash">d3edc18d54b9438a72c24c925bfb38f4</bbl:field> + <bbl:field name="extraalpha">1</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">shorttitle</bbl:field> +@@ -571,7 +571,7 @@ + <bbl:field name="extraname">2</bbl:field> + <bbl:field name="labelalpha">Knu86</bbl:field> + <bbl:field name="sortinit">K</bbl:field> +- <bbl:field name="sortinithash">9fd838a31ba64d981e8f44562bd33f89</bbl:field> ++ <bbl:field name="sortinithash">d3edc18d54b9438a72c24c925bfb38f4</bbl:field> + <bbl:field name="extraalpha">2</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">shorttitle</bbl:field> +@@ -600,7 +600,7 @@ + <bbl:field name="authorbibnamehash">d52f05e0199eae563725b4165f4b2520</bbl:field> + <bbl:field name="labelalpha">Ree58</bbl:field> + <bbl:field name="sortinit">R</bbl:field> +- <bbl:field name="sortinithash">da6b42bd3ab22fee61abed031ee405f7</bbl:field> ++ <bbl:field name="sortinithash">b9c68a358aea118dfa887b6e902414a7</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="annotation">An article entry with a series and a volume field. Note the format of the series. If the value of the series field is an integer, this number is printed as an ordinal and the string *series is appended automatically</bbl:field> +@@ -650,7 +650,7 @@ + <bbl:field name="editorfullhash">d0ec890e59163c24c111a08d2a4be982</bbl:field> + <bbl:field name="editorbibnamehash">d0ec890e59163c24c111a08d2a4be982</bbl:field> + <bbl:field name="sortinit">S</bbl:field> +- <bbl:field name="sortinithash">322b1d5276f2f6c1bccdcd15920dbee6</bbl:field> ++ <bbl:field name="sortinithash">c319cff79d99c853d775f88277d4e45f</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="booksubtitle">Relativistic groups and analyticity</bbl:field> +@@ -681,7 +681,7 @@ + <bbl:field name="authorbibnamehash">93f17724cbd884231ef39a73755ef5bb</bbl:field> + <bbl:field name="labelalpha">Sho91</bbl:field> + <bbl:field name="sortinit">S</bbl:field> +- <bbl:field name="sortinithash">322b1d5276f2f6c1bccdcd15920dbee6</bbl:field> ++ <bbl:field name="sortinithash">c319cff79d99c853d775f88277d4e45f</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="annotation">An article entry with series, volume, and number fields. Note the format of the series which is a localization key</bbl:field> +@@ -717,7 +717,7 @@ + <bbl:field name="authorfullhash">15e144c72b0b9d10db00ddc6d37a19e6</bbl:field> + <bbl:field name="authorbibnamehash">15e144c72b0b9d10db00ddc6d37a19e6</bbl:field> + <bbl:field name="sortinit">W</bbl:field> +- <bbl:field name="sortinithash">ecb89ff85896a47dc313960773ac311d</bbl:field> ++ <bbl:field name="sortinithash">1af34bd8c148ffb32de1494636b49713</bbl:field> + <bbl:field name="labelnamesource">author</bbl:field> + <bbl:field name="labeltitlesource">title</bbl:field> + <bbl:field name="journaltitle">Phys. Rev. Lett.</bbl:field> +diff --git a/t/tdata/remote-files.bcf b/t/tdata/remote-files.bcf +index c2d784b..a2a1842 100644 +--- a/t/tdata/remote-files.bcf ++++ b/t/tdata/remote-files.bcf +@@ -1853,12 +1853,12 @@ + <bcf:datasource type="file" datatype="bibtex">http://www.citeulike.org/bibtex/group/8082</bcf:datasource> + <bcf:datasource type="file" datatype="bibtex">http://people.cs.uu.nl/hansb/graphs-bib/definitions.bib</bcf:datasource> + <bcf:datasource type="file" datatype="bibtex">http://people.cs.uu.nl/hansb/graphs-bib/papers.bib</bcf:datasource> +- <bcf:datasource type="file" datatype="bibtex">https://api.zotero.org/groups/9097/items/II22KQ7D?format=bibtex&limit=1</bcf:datasource> ++ <bcf:datasource type="file" datatype="bibtex">https://api.zotero.org/groups/9097/items/8VITAT46?format=bibtex&limit=1</bcf:datasource> + </bcf:bibdata> + <bcf:section number="0"> + <bcf:citekey order="1">citeulike:8283461</bcf:citekey> + <bcf:citekey order="2">AbdelbarH98</bcf:citekey> +- <bcf:citekey order="3">merleau-ponty_philosophe_2010</bcf:citekey> ++ <bcf:citekey order="3">crossley_politics_1994</bcf:citekey> + </bcf:section> + <!-- SORTING TEMPLATES --> + <bcf:sortingtemplate name="nty"> +diff --git a/t/uniqueness-nameparts.t b/t/uniqueness-nameparts.t +index beb2e39..1fb65a8 100644 +--- a/t/uniqueness-nameparts.t ++++ b/t/uniqueness-nameparts.t +@@ -81,7 +81,7 @@ my $un1 = q| \entry{un1}{article}{} + \strng{authorfullhash}{329d8f9192ea3349d700160c9ddb505d} + \field{labelalpha}{SmiJohSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -106,7 +106,7 @@ my $un2 = q| \entry{un2}{article}{} + \strng{authorfullhash}{7551114aede4ef69e4b3683039801706} + \field{labelalpha}{SmiJohAla} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -131,7 +131,7 @@ my $un3 = q| \entry{un3}{article}{} + \strng{authorfullhash}{401aebda288799a7c757526242d8c9fc} + \field{labelalpha}{SmiJohArt} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -156,7 +156,7 @@ my $un4 = q| \entry{un4}{article}{} + \strng{authorfullhash}{f6038a264619efefd49c7daac56424ca} + \field{labelalpha}{SmiAlaSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -181,7 +181,7 @@ my $un1a = q| \entry{un1}{article}{} + \strng{authorfullhash}{329d8f9192ea3349d700160c9ddb505d} + \field{labelalpha}{SmiJohSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -206,7 +206,7 @@ my $un2a = q| \entry{un2}{article}{} + \strng{authorfullhash}{7551114aede4ef69e4b3683039801706} + \field{labelalpha}{SmiJohAla} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -231,7 +231,7 @@ my $un3a = q| \entry{un3}{article}{} + \strng{authorfullhash}{401aebda288799a7c757526242d8c9fc} + \field{labelalpha}{SmiJohArt} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -257,7 +257,7 @@ my $un4a = q| \entry{un4}{article}{} + \strng{authorfullhash}{f6038a264619efefd49c7daac56424ca} + \field{labelalpha}{SmiAlaSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -285,7 +285,7 @@ my $un1b = q| \entry{un1}{article}{} + \field{extraname}{5} + \field{labelalpha}{SmiJohSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{5} + \field{labelnamesource}{author} + \endentry +@@ -311,7 +311,7 @@ my $un2b = q| \entry{un2}{article}{} + \strng{authorfullhash}{7551114aede4ef69e4b3683039801706} + \field{labelalpha}{SmiJohAla} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -336,7 +336,7 @@ my $un3b = q| \entry{un3}{article}{} + \strng{authorfullhash}{401aebda288799a7c757526242d8c9fc} + \field{labelalpha}{SmiJohArt} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{labelnamesource}{author} + \endentry + |; +@@ -364,7 +364,7 @@ my $un4b = q| \entry{un4}{article}{} + \field{extraname}{1} + \field{labelalpha}{SmiAlaSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{1} + \field{labelnamesource}{author} + \endentry +@@ -393,7 +393,7 @@ my $un5 = q| \entry{un5}{article}{uniquenametemplatename=test3} + \field{extraname}{2} + \field{labelalpha}{SmiArtSim} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{2} + \field{labelnamesource}{author} + \endentry +@@ -422,7 +422,7 @@ my $un6 = q| \entry{un6}{article}{} + \field{extraname}{3} + \field{labelalpha}{SmiArtSmy} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{3} + \field{labelnamesource}{author} + \\endentry +@@ -451,7 +451,7 @@ my $un7 = q| \entry{un7}{article}{} + \field{extraname}{4} + \field{labelalpha}{SmiArtSme} + \field{sortinit}{S} +- \field{sortinithash}{322b1d5276f2f6c1bccdcd15920dbee6} ++ \field{sortinithash}{c319cff79d99c853d775f88277d4e45f} + \field{extradate}{4} + \field{labelnamesource}{author} + \endentry +diff --git a/t/xdata.t b/t/xdata.t +index 7411b1d..73dcb8b 100644 +--- a/t/xdata.t ++++ b/t/xdata.t +@@ -75,7 +75,7 @@ my $xd1 = q| \entry{xd1}{book}{} + \strng{authorfullhash}{51db4bfd331cba22959ce2d224c517cd} + \field{extraname}{2} + \field{sortinit}{E} +- \field{sortinithash}{f615fb9c6fba11c6f962fb3fd599810e} ++ \field{sortinithash}{c554bd1a0b76ea92b9f105fe36d9c7b0} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} +@@ -107,7 +107,7 @@ my $xd2 = q| \entry{xd2}{book}{} + \strng{authornamehash}{68539e0ce4922cc4957c6cabf35e6fc8} + \strng{authorfullhash}{68539e0ce4922cc4957c6cabf35e6fc8} + \field{sortinit}{P} +- \field{sortinithash}{8d51b3d5b78d75b54308d706b9bbe285} ++ \field{sortinithash}{bb5b15f2db90f7aef79bb9e83defefcb} + \field{extradatescope}{labelyear} + \field{labeldatesource}{} + \field{labelnamesource}{author} diff --git a/gnu/packages/patches/binutils-mingw-w64-deterministic.patch b/gnu/packages/patches/binutils-mingw-w64-deterministic.patch new file mode 100644 index 0000000000..3e48b87935 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-deterministic.patch @@ -0,0 +1,22 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/reproducible-import-libraries.patch + +Description: Make DLL import libraries reproducible +Author: Benjamin Moody <benjamin.moody@gmail.com> +Bug-Debian: https://bugs.debian.org/915055 + +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -2844,6 +2844,7 @@ + + bfd_set_format (outarch, bfd_archive); + outarch->has_armap = 1; ++ outarch->flags |= BFD_DETERMINISTIC_OUTPUT; + + /* Work out a reasonable size of things to put onto one line. */ + ar_head = make_head (outarch); diff --git a/gnu/packages/patches/binutils-mingw-w64-timestamp.patch b/gnu/packages/patches/binutils-mingw-w64-timestamp.patch new file mode 100644 index 0000000000..b785043b62 --- /dev/null +++ b/gnu/packages/patches/binutils-mingw-w64-timestamp.patch @@ -0,0 +1,137 @@ +This following patch was originally found at the debian mingw-w64 team's +binutils repo located here: +https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show da63f6b:debian/patches/specify-timestamp.patch + +Description: Allow the PE timestamp to be specified +Author: Stephen Kitt <skitt@debian.org> + +--- a/bfd/peXXigen.c ++++ b/bfd/peXXigen.c +@@ -70,6 +70,9 @@ + #include <wctype.h> + #endif + ++#include <errno.h> ++#include <limits.h> ++ + /* NOTE: it's strange to be including an architecture specific header + in what's supposed to be general (to PE/PEI) code. However, that's + where the definitions are, and they don't vary per architecture +@@ -879,10 +882,38 @@ + + /* Use a real timestamp by default, unless the no-insert-timestamp + option was chosen. */ +- if ((pe_data (abfd)->insert_timestamp)) +- H_PUT_32 (abfd, time (0), filehdr_out->f_timdat); +- else ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ _bfd_error_handler("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, filehdr_out->f_timdat); ++ } else { + H_PUT_32 (abfd, 0, filehdr_out->f_timdat); ++ } + + PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr, + filehdr_out->f_symptr); +--- a/ld/pe-dll.c ++++ b/ld/pe-dll.c +@@ -26,6 +26,8 @@ + #include "filenames.h" + #include "safe-ctype.h" + ++#include <errno.h> ++#include <limits.h> + #include <time.h> + + #include "ld.h" +@@ -1202,8 +1204,36 @@ + + memset (edata_d, 0, edata_sz); + +- if (pe_data (abfd)->insert_timestamp) +- H_PUT_32 (abfd, time (0), edata_d + 4); ++ if (pe_data (abfd)->insert_timestamp) { ++ time_t now; ++ char *source_date_epoch; ++ unsigned long long epoch; ++ char *endptr; ++ ++ now = time(NULL); ++ source_date_epoch = getenv("SOURCE_DATE_EPOCH"); ++ if (source_date_epoch) { ++ errno = 0; ++ epoch = strtoull(source_date_epoch, &endptr, 10); ++ if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0)) ++ || (errno != 0 && epoch == 0)) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n", ++ strerror(errno)); ++ } else if (endptr == source_date_epoch) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n", ++ endptr); ++ } else if (*endptr != '\0') { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n", ++ endptr); ++ } else if (epoch > ULONG_MAX) { ++ einfo("Environment variable $SOURCE_DATE_EPOCH: value must be smaller than or equal to: %lu but was found to be: %llu\n", ++ ULONG_MAX, epoch); ++ } else { ++ now = epoch; ++ } ++ } ++ H_PUT_32 (abfd, now, edata_d + 4); ++ } + + if (pe_def_file->version_major != -1) + { +--- a/ld/emultempl/pe.em ++++ b/ld/emultempl/pe.em +@@ -303,7 +303,7 @@ + OPTION_USE_NUL_PREFIXED_IMPORT_TABLES}, + {"no-leading-underscore", no_argument, NULL, OPTION_NO_LEADING_UNDERSCORE}, + {"leading-underscore", no_argument, NULL, OPTION_LEADING_UNDERSCORE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + #ifdef DLL_SUPPORT + /* getopt allows abbreviations, so we do this to stop it +--- a/ld/emultempl/pep.em ++++ b/ld/emultempl/pep.em +@@ -321,7 +321,7 @@ + {"no-bind", no_argument, NULL, OPTION_NO_BIND}, + {"wdmdriver", no_argument, NULL, OPTION_WDM_DRIVER}, + {"tsaware", no_argument, NULL, OPTION_TERMINAL_SERVER_AWARE}, +- {"insert-timestamp", no_argument, NULL, OPTION_INSERT_TIMESTAMP}, ++ {"insert-timestamp", optional_argument, NULL, OPTION_INSERT_TIMESTAMP}, + {"no-insert-timestamp", no_argument, NULL, OPTION_NO_INSERT_TIMESTAMP}, + {"build-id", optional_argument, NULL, OPTION_BUILD_ID}, + {NULL, no_argument, NULL, 0} diff --git a/gnu/packages/patches/calibre-msgpack-compat.patch b/gnu/packages/patches/calibre-msgpack-compat.patch new file mode 100644 index 0000000000..9920103bea --- /dev/null +++ b/gnu/packages/patches/calibre-msgpack-compat.patch @@ -0,0 +1,18 @@ +Fix deserialization with msgpack 1.0. + +Patch copied from upstream source repository: +https://github.com/kovidgoyal/calibre/commit/0ff41ac64994ec11b7859fc004c94d08769e3af3 + +diff --git a/src/calibre/utils/serialize.py b/src/calibre/utils/serialize.py +index f5d560c468..c35ae53849 100644 +--- a/src/calibre/utils/serialize.py ++++ b/src/calibre/utils/serialize.py +@@ -110,7 +110,7 @@ def msgpack_decoder(code, data): + def msgpack_loads(dump, use_list=True): + # use_list controls whether msgpack arrays are unpacked as lists or tuples + import msgpack +- return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list) ++ return msgpack.unpackb(dump, ext_hook=msgpack_decoder, raw=False, use_list=use_list, strict_map_key=False) + + + def json_loads(data): diff --git a/gnu/packages/patches/clang-10.0-libc-search-path.patch b/gnu/packages/patches/clang-10.0-libc-search-path.patch new file mode 100644 index 0000000000..966e40b93c --- /dev/null +++ b/gnu/packages/patches/clang-10.0-libc-search-path.patch @@ -0,0 +1,84 @@ +Clang attempts to guess file names based on the OS and distro (yes!), +but unfortunately, that doesn't work for us. + +This patch makes it easy to insert libc's $libdir so that Clang passes the +correct absolute file name of crt1.o etc. to 'ld'. It also disables all +the distro-specific stuff and removes the hard-coded FHS directory names +to make sure Clang also works on non-Guix systems. + +diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp +index bff1ab10..79e1477e 100644 +--- a/lib/Driver/ToolChains/Linux.cpp ++++ b/lib/Driver/ToolChains/Linux.cpp +@@ -240,6 +240,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + .str()); + } + ++// Comment out the distro-specific tweaks so that they don't bite when ++// using Guix on a foreign distro. ++#if 0 + Distro Distro(D.getVFS(), Triple); + + if (Distro.IsAlpineLinux() || Triple.isAndroid()) { +@@ -306,6 +309,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + + if (IsAndroid || Distro.IsOpenSUSE()) + ExtraOpts.push_back("--enable-new-dtags"); ++#endif // Guix + + // The selection of paths to try here is designed to match the patterns which + // the GCC driver itself uses, as this is part of the GCC-compatible driver. +@@ -363,7 +367,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + // the cross. Note that GCC does include some of these directories in some + // configurations but this seems somewhere between questionable and simply + // a bug. +- if (StringRef(LibPath).startswith(SysRoot)) { ++ if (0) { + addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths); + addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths); + } +@@ -382,6 +386,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths); + addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths); + ++// This requires the commented distro tweaks above. ++#if 0 + if (IsAndroid) { + // Android sysroots contain a library directory for each supported OS + // version as well as some unversioned libraries in the usual multiarch +@@ -410,10 +416,15 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths); + addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths); + } ++#endif + + // Try walking via the GCC triple path in case of biarch or multiarch GCC + // installations with strange symlinks. + if (GCCInstallation.isValid()) { ++ ++// The following code would end up adding things like ++// "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path. ++#if 0 + addPathIfExists(D, + SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + + "/../../" + OSLibDir, +@@ -426,6 +437,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + BiarchSibling.gccSuffix(), + Paths); + } ++#endif + + // See comments above on the multilib variant for details of why this is + // included even from outside the sysroot. +@@ -450,8 +462,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args) + if (StringRef(D.Dir).startswith(SysRoot)) + addPathIfExists(D, D.Dir + "/../lib", Paths); + +- addPathIfExists(D, SysRoot + "/lib", Paths); +- addPathIfExists(D, SysRoot + "/usr/lib", Paths); ++ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o, ++ // and friends can be found. ++ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths); + } + + ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const { diff --git a/gnu/packages/patches/dbacl-include-locale.h.patch b/gnu/packages/patches/dbacl-include-locale.h.patch new file mode 100644 index 0000000000..40d5d0aa44 --- /dev/null +++ b/gnu/packages/patches/dbacl-include-locale.h.patch @@ -0,0 +1,36 @@ +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Sat, 11 Apr 2020 03:02:04 +0200 +Subject: [PATCH] gnu: dbacl: Include <locale.h> in dbacl.h. + +Copied verbatim[0] from Debian. + +[0]: https://sources.debian.org/data/main/d/dbacl/1.14.1-2/debian/patches/05-locale-h.patch + +Description: Add missing <locale.h> include in dbacl.h +Author: Fabian Wolff <fabi.wolff@arcor.de> +Bug-Debian: https://bugs.debian.org/916182 +Last-Update: 2019-08-25 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/src/dbacl.h ++++ b/src/dbacl.h +@@ -21,6 +21,8 @@ + #ifndef DBACL_H + #define DBACL_H + ++#include <locale.h> ++ + #ifdef HAVE_CONFIG_H + #undef HAVE_CONFIG_H + #include "config.h" +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -28,7 +28,7 @@ + # stuff_SOURCES = stuff.c stuff.h fram.c stuff-lexer.l stuff-parser.y stuff-parser.h probs.c util.c util.h $(PUBDOM) + # stuff_LDADD = @LEXLIB@ + +-AM_CFLAGS = -funsigned-char -std=c99 -Wall -pedantic $(CFLAGSIEEE) -O3 ++AM_CFLAGS = -funsigned-char -std=c99 -D_XOPEN_SOURCE=700 -Wall -pedantic $(CFLAGSIEEE) -O3 + AM_YFLAGS = -d + + CLEANFILES = mailcross mailtoe mailfoot diff --git a/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch new file mode 100644 index 0000000000..ee2bb8f676 --- /dev/null +++ b/gnu/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch @@ -0,0 +1,82 @@ +Fix build of dune-istl's tests + +Patch copied from upstream source repository: + +https://gitlab.dune-project.org/core/dune-istl/-/commit/9eee3462df5a64881c08574f9291e76db398de0a + +From 9eee3462df5a64881c08574f9291e76db398de0a Mon Sep 17 00:00:00 2001 +From: Felix Gruber <felgru@posteo.net> +Date: Sat, 4 Apr 2020 15:27:09 +0200 +Subject: [PATCH] make tests succeed when MPI is disabled + +When MPI is not available or explicitly disabled with the CMake build +option -DCMAKE_IDSABLE_FIND_PACKAGE_MPI=TRUE, some tests were unable to +build. + +The tests created from solverfactorytest.cc.in and part of +scalarproductstest.cc use Dune::OwnerOverlapCopyCommunication which is +defined behind `#if HAVE_MPI` and is thus not available in a non-MPI +build. I've thus disabled those tests when MPI is unavailable. + +The matrixmarkettest did not work without MPI, as it contained some code +using the wrong template parameters when HAVE_MPI was not set. Those +template paramters have been fixed now. + +I've confirmed, that after my changes `make build_tests` succeeds to +build all tests and that those tests run without failure. +--- + dune/istl/test/CMakeLists.txt | 3 ++- + dune/istl/test/matrixmarkettest.cc | 2 +- + dune/istl/test/scalarproductstest.cc | 2 ++ + 3 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/dune/istl/test/CMakeLists.txt b/dune/istl/test/CMakeLists.txt +index ffd87969..2c7b2387 100644 +--- a/dune/istl/test/CMakeLists.txt ++++ b/dune/istl/test/CMakeLists.txt +@@ -77,7 +77,8 @@ set(DUNE_TEST_FACTORY_BLOCK_SIZES + function(add_factory_test BLOCK) + STRING(REGEX REPLACE "[^a-zA-Z0-9]" "" BLOCK_CLEAN ${BLOCK}) + configure_file(solverfactorytest.cc.in solverfactorytest_${BLOCK_CLEAN}.cc) +- dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc) ++ dune_add_test(SOURCES ${CMAKE_CURRENT_BINARY_DIR}/solverfactorytest_${BLOCK_CLEAN}.cc ++ CMAKE_GUARD HAVE_MPI) + endfunction(add_factory_test) + + foreach(FIELD_TYPE ${DUNE_TEST_FACTORY_FIELD_TYPES}) +diff --git a/dune/istl/test/matrixmarkettest.cc b/dune/istl/test/matrixmarkettest.cc +index b335afe6..ce30e8ae 100644 +--- a/dune/istl/test/matrixmarkettest.cc ++++ b/dune/istl/test/matrixmarkettest.cc +@@ -52,7 +52,7 @@ int testMatrixMarket(int N) + storeMatrixMarket(mat, std::string("testmat"), comm); + storeMatrixMarket(bv, std::string("testvec"), comm, false); + #else +- typedef Dune::MatrixAdapter<BCRSMat,BVector,BVector> Operator; ++ typedef Dune::MatrixAdapter<Matrix,Vector,Vector> Operator; + Operator op(mat); + op.apply(bv, cv); + +diff --git a/dune/istl/test/scalarproductstest.cc b/dune/istl/test/scalarproductstest.cc +index 452b1d89..f46ce2a9 100644 +--- a/dune/istl/test/scalarproductstest.cc ++++ b/dune/istl/test/scalarproductstest.cc +@@ -115,6 +115,7 @@ int main(int argc, char** argv) + scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); + } + ++#if HAVE_MPI + // Test the ParallelScalarProduct class + { + using Vector = BlockVector<FieldVector<double,BlockSize> >; +@@ -139,6 +140,7 @@ int main(int argc, char** argv) + ScalarProduct scalarProduct(communicator,SolverCategory::nonoverlapping); + scalarProductTest<ScalarProduct, Vector>(scalarProduct,numBlocks); + } ++#endif + + return t.exit(); + } +-- +2.25.1 + diff --git a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch b/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch deleted file mode 100644 index d979b113d0..0000000000 --- a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 3c0f4b27a079b90dc632f5061a81ce28cef24801 Mon Sep 17 00:00:00 2001 -From: eryx67 <eryx67@gmail.com> -Date: Thu, 29 Nov 2018 10:30:20 +0500 -Subject: [PATCH] fix for latest emacs - ---- - dired-toggle-sudo.el | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -diff --git a/dired-toggle-sudo.el b/dired-toggle-sudo.el -index 386921b..fe5898e 100644 ---- a/dired-toggle-sudo.el -+++ b/dired-toggle-sudo.el -@@ -37,17 +37,20 @@ - unless SUDO-USER is provided." - (let* (;; Handle the case of local files. `tramp-dissect-file-name' does - ;; not raise an error anymore. -- (path (if (tramp-tramp-file-p path) path (concat "/:" path))) -+ ;;(path (if (tramp-tramp-file-p path) path (concat "/-::" path))) - (file-vec (or (ignore-errors (tramp-dissect-file-name - path)) - (tramp-dissect-file-name -- (concat "/:" path) 1))) -+ (concat "/-::" path) 1))) - (method (tramp-file-name-method file-vec)) - (user (tramp-file-name-user file-vec)) - (host (tramp-file-name-host file-vec)) -+ (domain (tramp-file-name-domain file-vec)) -+ (port (tramp-file-name-port file-vec)) - (localname (expand-file-name - (tramp-file-name-localname file-vec)))) -- (when (string= system-name host) -+ (when (or (string= (system-name) host) -+ (string= "-" host)) - (setq host nil)) - (cond - ;; remote directory -> sudo -@@ -67,7 +70,7 @@ unless SUDO-USER is provided." - (setq method "sudo" user sudo-user))) - (replace-regexp-in-string - "^/:/" "/" -- (tramp-make-tramp-file-name method user host localname)))) -+ (tramp-make-tramp-file-name method domain user host port localname)))) - - (defun dired-toggle-sudo-find (fname) - "Create a new buffer for file name FNAME." --- -2.22.0 - diff --git a/gnu/packages/patches/emacs-telega-test-env.patch b/gnu/packages/patches/emacs-telega-test-env.patch new file mode 100644 index 0000000000..75fe2e12fc --- /dev/null +++ b/gnu/packages/patches/emacs-telega-test-env.patch @@ -0,0 +1,14 @@ +Test Emacs environment on startup. + +Patch by Diego N. Barbato + +--- a/telega.el 2020-02-07 17:07:18.549970090 +0100 ++++ b/telega.el 2020-02-07 17:10:08.383499765 +0100 +@@ -82,6 +82,7 @@ + "Start telegramming. + If prefix ARG is given, then will not pop to telega root buffer." + (interactive "P") ++ (telega-test-env t) + (telega--create-hier) + + (unless (telega-server-live-p) diff --git a/gnu/packages/patches/gdm-default-session.patch b/gnu/packages/patches/gdm-default-session.patch new file mode 100644 index 0000000000..4839a04de4 --- /dev/null +++ b/gnu/packages/patches/gdm-default-session.patch @@ -0,0 +1,91 @@ +This patch ensures '.desktop' files are picked up in the system profile +and not in the directories listed in $XDG_DATA_DIRS. The latter includes +'gnome-session.desktop', which should be used if it's in +/run/current-system/profile, and only then. + +Fixes <https://bugs.gnu.org/37831>. + +diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c +index 6a116a8..02c1458 100644 +--- a/daemon/gdm-session.c ++++ b/daemon/gdm-session.c +@@ -348,24 +348,18 @@ get_system_session_dirs (GdmSession *self) + GArray *search_array = NULL; + char **search_dirs; + int i; +- const gchar * const *system_data_dirs = g_get_system_data_dirs (); + + static const char *x_search_dirs[] = { + "/etc/X11/sessions/", + DMCONFDIR "/Sessions/", + DATADIR "/gdm/BuiltInSessions/", +- DATADIR "/xsessions/", ++ "/run/current-system/profile/share/xsessions/" + }; + + static const char *wayland_search_dir = DATADIR "/wayland-sessions/"; + + search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + +- for (i = 0; system_data_dirs[i]; i++) { +- gchar *dir = g_build_filename (system_data_dirs[i], "xsessions", NULL); +- g_array_append_val (search_array, dir); +- } +- + g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs)); + + #ifdef ENABLE_WAYLAND_SUPPORT +@@ -373,16 +367,7 @@ get_system_session_dirs (GdmSession *self) + #ifdef ENABLE_USER_DISPLAY_SERVER + g_array_prepend_val (search_array, wayland_search_dir); + +- for (i = 0; system_data_dirs[i]; i++) { +- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL); +- g_array_insert_val (search_array, i, dir); +- } + #else +- for (i = 0; system_data_dirs[i]; i++) { +- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL); +- g_array_append_val (search_array, dir); +- } +- + g_array_append_val (search_array, wayland_search_dir); + #endif + } +diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c +index afbc5c0..bb5e3e6 100644 +--- a/libgdm/gdm-sessions.c ++++ b/libgdm/gdm-sessions.c +@@ -238,19 +238,11 @@ collect_sessions (void) + "/etc/X11/sessions/", + DMCONFDIR "/Sessions/", + DATADIR "/gdm/BuiltInSessions/", +- DATADIR "/xsessions/", +- NULL ++ "/run/current-system/profile/share/xsessions/" + }; + + xorg_search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + +- const gchar * const *system_data_dirs = g_get_system_data_dirs (); +- +- for (i = 0; system_data_dirs[i]; i++) { +- session_dir = g_build_filename (system_data_dirs[i], "xsessions", NULL); +- g_array_append_val (xorg_search_array, session_dir); +- } +- + g_array_append_vals (xorg_search_array, xorg_search_dirs, G_N_ELEMENTS (xorg_search_dirs)); + + #ifdef ENABLE_WAYLAND_SUPPORT +@@ -261,11 +253,6 @@ collect_sessions (void) + + wayland_search_array = g_array_new (TRUE, TRUE, sizeof (char *)); + +- for (i = 0; system_data_dirs[i]; i++) { +- session_dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL); +- g_array_append_val (wayland_search_array, session_dir); +- } +- + g_array_append_vals (wayland_search_array, wayland_search_dirs, G_N_ELEMENTS (wayland_search_dirs)); + #endif + diff --git a/gnu/packages/patches/gnupg-default-pinentry.patch b/gnu/packages/patches/gnupg-default-pinentry.patch new file mode 100644 index 0000000000..a8ed613565 --- /dev/null +++ b/gnu/packages/patches/gnupg-default-pinentry.patch @@ -0,0 +1,65 @@ +Make GnuPG automatically find a pinentry installed by Guix. Try using +$HOME or, if that variable is not set, use the system password database, +or fall back to looking in "/". + +More information: + +https://bugs.gnu.org/24076 + +diff --git a/common/homedir.c b/common/homedir.c +index 4b6e46e88..f7ae68ba5 100644 +--- a/common/homedir.c ++++ b/common/homedir.c +@@ -33,6 +33,7 @@ + #include <errno.h> + #include <fcntl.h> + #include <unistd.h> ++#include <pwd.h> + + #ifdef HAVE_W32_SYSTEM + #include <winsock2.h> /* Due to the stupid mingw64 requirement to +@@ -67,6 +68,10 @@ + * gnupg_homedir and gnupg_set_homedir. Malloced. */ + static char *the_gnupg_homedir; + ++/* The user's home directory. Used in Guix to help GnuPG find the ++ * pinentry. */ ++static char *the_user_homedir; ++ + /* Flag indicating that home directory is not the default one. */ + static byte non_default_homedir; + +@@ -509,6 +514,25 @@ gnupg_homedir (void) + return the_gnupg_homedir; + } + ++/* Return the user's home directory */ ++const char * ++user_homedir (void) ++{ ++ const char *dir; ++ dir = getenv("HOME"); ++ if (dir == NULL) ++ { ++ struct passwd *pw = NULL; ++ pw = getpwuid (getuid ()); ++ if (pw != NULL) ++ dir = pw->pw_dir; ++ else ++ dir = "/"; ++ } ++ if (!the_user_homedir) ++ the_user_homedir = make_absfilename (dir, NULL); ++ return the_user_homedir; ++} + + /* Return whether the home dir is the default one. */ + int +@@ -971,6 +995,7 @@ get_default_pinentry_name (int reset) + } names[] = { + /* The first entry is what we return in case we found no + other pinentry. */ ++ { user_homedir, "/.guix-profile/bin/pinentry" }, + { gnupg_bindir, DIRSEP_S "pinentry" EXEEXT_S }, + #ifdef HAVE_W32_SYSTEM + /* Try Gpg4win directory (with bin and without.) */ diff --git a/gnu/packages/patches/hash-extender-test-suite.patch b/gnu/packages/patches/hash-extender-test-suite.patch deleted file mode 100644 index 59de52dad4..0000000000 --- a/gnu/packages/patches/hash-extender-test-suite.patch +++ /dev/null @@ -1,13 +0,0 @@ -Make the test suite exit with a non-zero exit code if some tests failed. -Pull request pending upstream: https://github.com/iagox86/hash_extender/pull/13 ---- a/test.c -+++ b/test.c -@@ -79,5 +79,9 @@ void test_report(void) - printf("TESTS PASSED: %d / %d [%2.4f%%]\n", tests_passed, tests_run, 100 * (float)tests_passed / tests_run); - printf("--------------------------------------------------------------------------------\n"); - } -+ -+ if (tests_passed != tests_run) { -+ exit(1); -+ } - } diff --git a/gnu/packages/patches/higan-remove-march-native-flag.patch b/gnu/packages/patches/higan-remove-march-native-flag.patch deleted file mode 100644 index 30d4cdd061..0000000000 --- a/gnu/packages/patches/higan-remove-march-native-flag.patch +++ /dev/null @@ -1,12 +0,0 @@ -Remove -march=native from build flags. - ---- a/higan/GNUmakefile -+++ b/higan/GNUmakefile -@@ -26,7 +26,6 @@ - flags += -fopenmp - link += -fopenmp - ifeq ($(binary),application) -- flags += -march=native - link += -Wl,-export-dynamic - link += -lX11 -lXext - else ifeq ($(binary),library) diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index a90d7fdee8..c2c59ec855 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch @@ -25,7 +25,7 @@ index 8be2362..48716f2 100755 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc --echo -n 2428213ceb75cb6772b3044d9c14870d1ae5b0161379aeb29248650e13761c9f firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +-echo -n ad3ea069c3d23aab360ad04ff4d0f5e556d3538f7dd4eae0690c4e9241537570 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - -echo Extracting Firefox tarball -tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -37,7 +37,7 @@ index 8be2362..48716f2 100755 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc -+# echo -n 2428213ceb75cb6772b3044d9c14870d1ae5b0161379aeb29248650e13761c9f firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - ++# echo -n ad3ea069c3d23aab360ad04ff4d0f5e556d3538f7dd4eae0690c4e9241537570 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz diff --git a/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch new file mode 100644 index 0000000000..32dfd7b856 --- /dev/null +++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch @@ -0,0 +1,28 @@ +--- /dev/null ++++ b/gnu/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch +@@ -0,0 +1,22 @@ ++Fix one of upstream non-determinism, tracked here: ++ ++https://github.com/JuliaLang/julia/issues/34115 ++https://github.com/JuliaLang/julia/issues/25900 ++ ++ ++Patch by Nicoló Balzarotti <nicolo@nixo.xyz>. ++ ++--- a/base/loading.jl +++++ b/base/loading.jl ++@@ -807,7 +807,10 @@ ++ path = normpath(joinpath(dirname(prev), _path)) ++ end ++ if _track_dependencies[] ++- push!(_require_dependencies, (mod, path, mtime(path))) +++ push!(_require_dependencies, +++ (mod, path, +++ haskey(ENV, "SOURCE_DATE_EPOCH") ? +++ parse(Float64, ENV["SOURCE_DATE_EPOCH"]) : mtime(path))) ++ end ++ return path, prev ++ end +-- +2.26.0 + diff --git a/gnu/packages/patches/kmscon-runtime-keymap-switch.patch b/gnu/packages/patches/kmscon-runtime-keymap-switch.patch index 656c76fa40..deb5688daf 100644 --- a/gnu/packages/patches/kmscon-runtime-keymap-switch.patch +++ b/gnu/packages/patches/kmscon-runtime-keymap-switch.patch @@ -1,14 +1,5 @@ -From 360d44d67e7be46108bec982ff2e79b89f04a9a3 Mon Sep 17 00:00:00 2001 -From: Mathieu Othacehe <m.othacehe@gmail.com> -Date: Thu, 15 Nov 2018 14:34:40 +0900 -Subject: [PATCH] add runtime keymap switch support. - ---- - src/pty.c | 23 ++++++++++- - src/uterm_input.c | 2 + - src/uterm_input_internal.h | 5 +++ - src/uterm_input_uxkb.c | 83 ++++++++++++++++++++++++++++++++++++++ - 4 files changed, 111 insertions(+), 2 deletions(-) +By Mathieu Othacehe <m.othacehe@gmail.com>. +Modified by Florian Pelz <pelzflorian@pelzflorian.de>. diff --git a/src/pty.c b/src/pty.c index 1443f4a..f64cb5b 100644 @@ -124,7 +115,7 @@ index 04e6cc9..ec44459 100644 uint16_t key_state, uint16_t code); diff --git a/src/uterm_input_uxkb.c b/src/uterm_input_uxkb.c -index 925c755..4760972 100644 +index 925c755..5d5c22e 100644 --- a/src/uterm_input_uxkb.c +++ b/src/uterm_input_uxkb.c @@ -31,6 +31,9 @@ @@ -137,7 +128,7 @@ index 925c755..4760972 100644 #include <xkbcommon/xkbcommon.h> #include "shl_hook.h" #include "shl_llog.h" -@@ -178,6 +181,86 @@ static void timer_event(struct ev_timer *timer, uint64_t num, void *data) +@@ -178,6 +181,87 @@ static void timer_event(struct ev_timer *timer, uint64_t num, void *data) shl_hook_call(dev->input->hook, dev->input, &dev->repeat_event); } @@ -145,11 +136,11 @@ index 925c755..4760972 100644 +{ + struct uterm_input_dev *dev = data; + char in; -+ char keymap[3][255]; ++ char keymap[4][255]; + int pos = 0; + int curr_keymap = 0; + int ret; -+ char *model, *layout, *variant; ++ char *model, *layout, *variant, *options; + + if (!(mask & EV_READABLE)) + return; @@ -159,6 +150,7 @@ index 925c755..4760972 100644 + model = keymap[0]; + layout = keymap[1]; + variant = keymap[2]; ++ options = keymap[3]; + + do { + ret = read(dev->rupdate_fd, &in, sizeof(in)); @@ -175,7 +167,7 @@ index 925c755..4760972 100644 + + llog_info(dev->input, "HANDLER CALLED %s|%s|%s\n", + model, layout, variant); -+ uxkb_desc_init(dev->input, model, layout, variant, NULL, NULL); ++ uxkb_desc_init(dev->input, model, layout, variant, options, NULL); + + dev->state = xkb_state_new(dev->input->keymap); + if (!dev->state) { @@ -224,6 +216,3 @@ index 925c755..4760972 100644 int uxkb_dev_init(struct uterm_input_dev *dev) { int ret; --- -2.17.1 - diff --git a/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch new file mode 100644 index 0000000000..b638963874 --- /dev/null +++ b/gnu/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch @@ -0,0 +1,53 @@ +Author: R Veera Kumar 2020 <vkor@vkten.in> +Desc: + 1) Fixes download of exchange rates by specifying SSL CA certificates bundle + file while using libcurl (Since libcurl in guix is compiled without using + a default CA cert bundle file) + 2) Like above fix for using https site in another case + +diff -uNr libqalculate-3.8.0/libqalculate/Calculator-definitions.cc libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc +--- libqalculate-3.8.0/libqalculate/Calculator-definitions.cc 2020-02-16 15:08:29.000000000 +0530 ++++ libqalculate-3.8.0.new/libqalculate/Calculator-definitions.cc 2020-04-17 21:27:36.386039369 +0530 +@@ -3610,6 +3610,7 @@ + curl = curl_easy_init(); + if(!curl) {return false;} + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(1).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3663,6 +3664,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(2).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3687,6 +3689,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(3).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +@@ -3710,6 +3713,7 @@ + + sbuffer = ""; + curl_easy_setopt(curl, CURLOPT_URL, getExchangeRatesUrl(4).c_str()); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, (timeout > 4 && n <= 0) ? 4 : timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); +diff -uNr libqalculate-3.8.0/libqalculate/util.cc libqalculate-3.8.0.new/libqalculate/util.cc +--- libqalculate-3.8.0/libqalculate/util.cc 2019-12-14 22:56:45.000000000 +0530 ++++ libqalculate-3.8.0.new/libqalculate/util.cc 2020-04-17 21:12:17.259674572 +0530 +@@ -769,6 +769,7 @@ + curl = curl_easy_init(); + if(!curl) {return -1;} + curl_easy_setopt(curl, CURLOPT_URL, "https://qalculate.github.io/CURRENT_VERSIONS"); ++ curl_easy_setopt(curl, CURLOPT_CAINFO, getenv("SSL_CERT_FILE")); + curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &sbuffer); diff --git a/gnu/packages/patches/libvpx-use-after-free-in-postproc.patch b/gnu/packages/patches/libvpx-use-after-free-in-postproc.patch deleted file mode 100644 index 04f2a953b7..0000000000 --- a/gnu/packages/patches/libvpx-use-after-free-in-postproc.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 52add5896661d186dec284ed646a4b33b607d2c7 Mon Sep 17 00:00:00 2001 -From: Jerome Jiang <jianj@google.com> -Date: Wed, 23 May 2018 15:43:00 -0700 -Subject: [PATCH] VP8: Fix use-after-free in postproc. - -The pointer in vp8 postproc refers to show_frame_mi which is only -updated on show frame. However, when there is a no-show frame which also -changes the size (thus new frame buffers allocated), show_frame_mi is -not updated with new frame buffer memory. - -Change the pointer in postproc to mi which is always updated. - -Bug: 842265 -Change-Id: I33874f2112b39f74562cba528432b5f239e6a7bd ---- - vp8/common/postproc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/vp8/common/postproc.c b/vp8/common/postproc.c -index d67ee8a57..8c292d616 100644 ---- a/vp8/common/postproc.c -+++ b/vp8/common/postproc.c -@@ -65,7 +65,7 @@ void vp8_deblock(VP8_COMMON *cm, YV12_BUFFER_CONFIG *source, - double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065; - int ppl = (int)(level + .5); - -- const MODE_INFO *mode_info_context = cm->show_frame_mi; -+ const MODE_INFO *mode_info_context = cm->mi; - int mbr, mbc; - - /* The pixel thresholds are adjusted according to if or not the macroblock --- -2.19.0 - diff --git a/gnu/packages/patches/mediastreamer2-srtp2.patch b/gnu/packages/patches/mediastreamer2-srtp2.patch new file mode 100644 index 0000000000..f6d494facb --- /dev/null +++ b/gnu/packages/patches/mediastreamer2-srtp2.patch @@ -0,0 +1,155 @@ +From 97903498364ae2596e790cb2c2ce9ac76c04d64a Mon Sep 17 00:00:00 2001 +From: Danmei Chen <danmei.chen@belledonne-communications.com> +Date: Fri, 19 Jan 2018 10:04:07 +0100 +Subject: [PATCH] add compability with srtp2 + +--- + cmake/FindSRTP.cmake | 24 ++++++++++++++++++++---- + src/CMakeLists.txt | 1 + + src/crypto/ms_srtp.c | 10 ++-------- + src/utils/srtp_prefix.h | 41 +++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 64 insertions(+), 12 deletions(-) + create mode 100644 src/utils/srtp_prefix.h + +diff --git a/cmake/FindSRTP.cmake b/cmake/FindSRTP.cmake +index 988b846a..f720ce7e 100644 +--- a/cmake/FindSRTP.cmake ++++ b/cmake/FindSRTP.cmake +@@ -31,20 +31,36 @@ set(_SRTP_ROOT_PATHS + ) + + find_path(SRTP_INCLUDE_DIRS +- NAMES srtp/srtp.h ++ NAMES srtp2/srtp.h + HINTS _SRTP_ROOT_PATHS + PATH_SUFFIXES include + ) + + if(SRTP_INCLUDE_DIRS) + set(HAVE_SRTP_SRTP_H 1) +-endif() +- +-find_library(SRTP_LIBRARIES ++ set(SRTP_VERSION 2) ++ find_library(SRTP_LIBRARIES ++ NAMES srtp2 ++ HINTS ${_SRTP_ROOT_PATHS} ++ PATH_SUFFIXES bin lib ++ ) ++else() ++ find_path(SRTP_INCLUDE_DIRS ++ NAMES srtp/srtp.h ++ HINTS _SRTP_ROOT_PATHS ++ PATH_SUFFIXES include ++ ) ++ if(SRTP_INCLUDE_DIRS) ++ set(HAVE_SRTP_SRTP_H 1) ++ set(SRTP_VERSION 1) ++ endif() ++ find_library(SRTP_LIBRARIES + NAMES srtp + HINTS ${_SRTP_ROOT_PATHS} + PATH_SUFFIXES bin lib + ) ++endif() ++ + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(SRTP +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index da429764..c46faa62 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -183,6 +183,7 @@ set(VOIP_SOURCE_FILES_C + utils/pcap_sender.c + utils/pcap_sender.h + utils/stream_regulator.c ++ utils/srtp_prefix.h + voip/audioconference.c + voip/audiostream.c + voip/bandwidthcontroller.c +diff --git a/src/crypto/ms_srtp.c b/src/crypto/ms_srtp.c +index 5a510c99..67810316 100644 +--- a/src/crypto/ms_srtp.c ++++ b/src/crypto/ms_srtp.c +@@ -25,6 +25,7 @@ + #include "mediastreamer2/ms_srtp.h" + #include "mediastreamer2/mediastream.h" + ++ + #ifdef HAVE_SRTP + + /*srtp defines all this stuff*/ +@@ -34,13 +35,7 @@ + #undef PACKAGE_TARNAME + #undef PACKAGE_VERSION + +-#if defined(MS2_WINDOWS_PHONE) +-// Windows phone doesn't use make install +-#include <srtp.h> +-#else +-#include <srtp/srtp.h> +-#endif +- ++#include "srtp_prefix.h" + + #include "ortp/b64.h" + +@@ -352,7 +347,6 @@ int ms_srtp_init(void) + srtp_init_done++; + }else{ + ms_fatal("Couldn't initialize SRTP library: %d.", st); +- err_reporting_init("mediastreamer2"); + } + }else srtp_init_done++; + return (int)st; +diff --git a/src/utils/srtp_prefix.h b/src/utils/srtp_prefix.h +new file mode 100644 +index 00000000..68bde496 +--- /dev/null ++++ b/src/utils/srtp_prefix.h +@@ -0,0 +1,41 @@ ++/* ++ mediastreamer2 library - modular sound and video processing and streaming ++ Copyright (C) 2006-2014 Belledonne Communications, Grenoble ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library 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 ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++*/ ++#ifndef __SRTP2_H__ ++#define __SRTP2_H__ ++ ++#if defined(MS2_WINDOWS_PHONE) ++// Windows phone doesn't use make install ++#include <srtp.h> ++#elif SRTP_VERSION==1 ++#include <srtp/srtp.h> ++#else ++#include <srtp2/srtp.h> ++#define err_status_t srtp_err_status_t ++#define err_status_ok srtp_err_status_ok ++#define crypto_policy_t srtp_crypto_policy_t ++#define crypto_policy_set_aes_cm_256_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_128_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_32 ++#define crypto_policy_set_aes_cm_128_null_auth srtp_crypto_policy_set_aes_cm_128_null_auth ++#define crypto_policy_set_null_cipher_hmac_sha1_80 srtp_crypto_policy_set_null_cipher_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_128_hmac_sha1_80 srtp_crypto_policy_set_aes_cm_128_hmac_sha1_80 ++#define crypto_policy_set_aes_cm_256_hmac_sha1_32 srtp_crypto_policy_set_aes_cm_256_hmac_sha1_32 ++#define ssrc_t srtp_ssrc_t ++#endif ++ ++#endif +-- +2.21.0 + diff --git a/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch new file mode 100644 index 0000000000..432cafc162 --- /dev/null +++ b/gnu/packages/patches/mingw-w64-dlltool-temp-prefix.patch @@ -0,0 +1,26 @@ +This following patch was originally found at the debian mingw-w64 team's +mingw-w64 repo located here: +https://salsa.debian.org/mingw-w64-team/mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show 4974e2c:debian/patches/dlltool-temp-prefix.patch + +Description: Specify dlltool's temp prefix +Author: Stephen Kitt <steve@sk2.org> + +By default dlltool uses its pid for the object files it generates. +Enforcing its temp prefix allows the files it generates to be +reproducible. + +--- a/mingw-w64-crt/Makefile.am ++++ b/mingw-w64-crt/Makefile.am +@@ -36,7 +36,7 @@ + DTDEF32=$(GENLIB) $(DLLTOOLFLAGS32) $(AM_DLLTOOLFLAGS) + DTDEF64=$(GENLIB) $(DLLTOOLFLAGS64) $(AM_DLLTOOLFLAGS) + else +- AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ ++ AM_DLLTOOLFLAGS=-k --as=$(AS) --output-lib $@ --temp-prefix $$(basename $@ .a) + DLLTOOLFLAGSARM32=-m arm + DLLTOOLFLAGSARM64=-m arm64 + DLLTOOLFLAGS32=--as-flags=--32 -m i386 diff --git a/gnu/packages/patches/mingw-w64-reproducible-gendef.patch b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch new file mode 100644 index 0000000000..ee676af7a0 --- /dev/null +++ b/gnu/packages/patches/mingw-w64-reproducible-gendef.patch @@ -0,0 +1,23 @@ +This following patch was originally found at the debian mingw-w64 team's +mingw-w64 repo located here: +https://salsa.debian.org/mingw-w64-team/mingw-w64.git + +Invoke the following in the aforementioned repo to see the original patch: + + $ git show 4974e2c:debian/patches/reproducible-gendef.patch + +Description: Drop __DATE__ from gendef +Author: Stephen Kitt <skitt@debian.org> + +This allows gendef to be built reproducibly. + +--- a/mingw-w64-tools/gendef/src/gendef.c ++++ b/mingw-w64-tools/gendef/src/gendef.c +@@ -196,7 +196,6 @@ + " By default, the output files are named after their DLL counterparts\n" + " gendef MYDLL.DLL Produces MYDLL.def\n" + " gendef - MYDLL.DLL Prints the exports to stdout\n"); +- fprintf (stderr, "\nBuilt on %s\n", __DATE__); + fprintf (stderr, "\nReport bugs to <mingw-w64-public@lists.sourceforge.net>\n"); + exit (0); + } diff --git a/gnu/packages/patches/openldap-CVE-2020-12243.patch b/gnu/packages/patches/openldap-CVE-2020-12243.patch new file mode 100644 index 0000000000..6321998198 --- /dev/null +++ b/gnu/packages/patches/openldap-CVE-2020-12243.patch @@ -0,0 +1,125 @@ +From 98464c11df8247d6a11b52e294ba5dd4f0380440 Mon Sep 17 00:00:00 2001 +From: Howard Chu <hyc@openldap.org> +Date: Thu, 16 Apr 2020 01:08:19 +0100 +Subject: [PATCH] ITS#9202 limit depth of nested filters + +Using a hardcoded limit for now; no reasonable apps +should ever run into it. +--- + servers/slapd/filter.c | 41 ++++++++++++++++++++++++++++++++--------- + 1 file changed, 32 insertions(+), 9 deletions(-) + +diff --git a/servers/slapd/filter.c b/servers/slapd/filter.c +index 3252cf2a7..ed57bbd7b 100644 +--- a/servers/slapd/filter.c ++++ b/servers/slapd/filter.c +@@ -37,11 +37,16 @@ + const Filter *slap_filter_objectClass_pres; + const struct berval *slap_filterstr_objectClass_pres; + ++#ifndef SLAPD_MAX_FILTER_DEPTH ++#define SLAPD_MAX_FILTER_DEPTH 5000 ++#endif ++ + static int get_filter_list( + Operation *op, + BerElement *ber, + Filter **f, +- const char **text ); ++ const char **text, ++ int depth ); + + static int get_ssa( + Operation *op, +@@ -80,12 +85,13 @@ filter_destroy( void ) + return; + } + +-int +-get_filter( ++static int ++get_filter0( + Operation *op, + BerElement *ber, + Filter **filt, +- const char **text ) ++ const char **text, ++ int depth ) + { + ber_tag_t tag; + ber_len_t len; +@@ -126,6 +132,11 @@ get_filter( + * + */ + ++ if( depth > SLAPD_MAX_FILTER_DEPTH ) { ++ *text = "filter nested too deeply"; ++ return SLAPD_DISCONNECT; ++ } ++ + tag = ber_peek_tag( ber, &len ); + + if( tag == LBER_ERROR ) { +@@ -221,7 +232,7 @@ get_filter( + + case LDAP_FILTER_AND: + Debug( LDAP_DEBUG_FILTER, "AND\n", 0, 0, 0 ); +- err = get_filter_list( op, ber, &f.f_and, text ); ++ err = get_filter_list( op, ber, &f.f_and, text, depth+1 ); + if ( err != LDAP_SUCCESS ) { + break; + } +@@ -234,7 +245,7 @@ get_filter( + + case LDAP_FILTER_OR: + Debug( LDAP_DEBUG_FILTER, "OR\n", 0, 0, 0 ); +- err = get_filter_list( op, ber, &f.f_or, text ); ++ err = get_filter_list( op, ber, &f.f_or, text, depth+1 ); + if ( err != LDAP_SUCCESS ) { + break; + } +@@ -248,7 +259,7 @@ get_filter( + case LDAP_FILTER_NOT: + Debug( LDAP_DEBUG_FILTER, "NOT\n", 0, 0, 0 ); + (void) ber_skip_tag( ber, &len ); +- err = get_filter( op, ber, &f.f_not, text ); ++ err = get_filter0( op, ber, &f.f_not, text, depth+1 ); + if ( err != LDAP_SUCCESS ) { + break; + } +@@ -311,10 +322,22 @@ get_filter( + return( err ); + } + ++int ++get_filter( ++ Operation *op, ++ BerElement *ber, ++ Filter **filt, ++ const char **text ) ++{ ++ return get_filter0( op, ber, filt, text, 0 ); ++} ++ ++ + static int + get_filter_list( Operation *op, BerElement *ber, + Filter **f, +- const char **text ) ++ const char **text, ++ int depth ) + { + Filter **new; + int err; +@@ -328,7 +351,7 @@ get_filter_list( Operation *op, BerElement *ber, + tag != LBER_DEFAULT; + tag = ber_next_element( ber, &len, last ) ) + { +- err = get_filter( op, ber, new, text ); ++ err = get_filter0( op, ber, new, text, depth ); + if ( err != LDAP_SUCCESS ) + return( err ); + new = &(*new)->f_next; +-- +2.26.2 + diff --git a/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch new file mode 100644 index 0000000000..4ca061230f --- /dev/null +++ b/gnu/packages/patches/pam-krb5-CVE-2020-10595.patch @@ -0,0 +1,42 @@ +Fix CVE-2020-10595: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10595 + +Patch copied from upstream advisory: + +https://seclists.org/oss-sec/2020/q1/128 + +diff --git a/prompting.c b/prompting.c +index e985d95..d81054f 100644 +--- a/prompting.c ++++ b/prompting.c +@@ -314,26 +314,27 @@ pamk5_prompter_krb5(krb5_context context UNUSED, void *data, const char *name, + /* + * Reuse pam_prompts as a starting index and copy the data into the reply + * area of the krb5_prompt structs. + */ + pam_prompts = 0; + if (name != NULL && !args->silent) + pam_prompts++; + if (banner != NULL && !args->silent) + pam_prompts++; + for (i = 0; i < num_prompts; i++, pam_prompts++) { +- size_t len; ++ size_t len, allowed; + + if (resp[pam_prompts].resp == NULL) + goto cleanup; + len = strlen(resp[pam_prompts].resp); +- if (len > prompts[i].reply->length) ++ allowed = prompts[i].reply->length; ++ if (allowed == 0 || len > allowed - 1) + goto cleanup; + + /* + * The trailing nul is not included in length, but other applications + * expect it to be there. Therefore, we copy one more byte than the + * actual length of the password, but set length to just the length of + * the password. + */ + memcpy(prompts[i].reply->data, resp[pam_prompts].resp, len + 1); + prompts[i].reply->length = (unsigned int) len; diff --git a/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch new file mode 100644 index 0000000000..6cdddefd50 --- /dev/null +++ b/gnu/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch @@ -0,0 +1,34 @@ +Do not fail test on runtime warning like: RuntimeWarning: coroutine 'noop2' was +never awaited. This could be related to +https://github.com/aio-libs/aiohttp/commit/60f01cca36b9f9d8d35dd351384eaae2f8fd0d4b, +which does not fix this issue though. + +--- a/aiohttp/pytest_plugin.py 2019-10-09 18:52:31.000000000 +0200 ++++ b/aiohttp/pytest_plugin.py 2020-03-05 08:35:48.230396025 +0100 +@@ -120,15 +120,6 @@ + """ + with warnings.catch_warnings(record=True) as _warnings: + yield +- rw = ['{w.filename}:{w.lineno}:{w.message}'.format(w=w) +- for w in _warnings # type: ignore +- if w.category == RuntimeWarning] +- if rw: +- raise RuntimeError('{} Runtime Warning{},\n{}'.format( +- len(rw), +- '' if len(rw) == 1 else 's', +- '\n'.join(rw) +- )) + + + @contextlib.contextmanager +--- a/tests/test_pytest_plugin.py 2020-03-05 09:26:58.502284893 +0100 ++++ a/tests/test_pytest_plugin.py 2020-03-05 09:27:06.074284619 +0100 +@@ -170,7 +170,7 @@ + expected_outcomes = ( + {'failed': 0, 'passed': 2} + if IS_PYPY and bool(os.environ.get('PYTHONASYNCIODEBUG')) +- else {'failed': 1, 'passed': 1} ++ else {'failed': 0, 'passed': 2} + ) + """Under PyPy "coroutine 'foobar' was never awaited" does not happen.""" + result.assert_outcomes(**expected_outcomes) diff --git a/gnu/packages/patches/python-jedi-deleted-variables.patch b/gnu/packages/patches/python-jedi-deleted-variables.patch deleted file mode 100644 index 53bdc05cde..0000000000 --- a/gnu/packages/patches/python-jedi-deleted-variables.patch +++ /dev/null @@ -1,38 +0,0 @@ -Fix test failure in some environments, including Guix. - -Taken from upstream: -https://github.com/davidhalter/jedi/commit/bec87f7ff82b0731713c6520a14c213341b4cecf - -diff --git a/test/completion/basic.py b/test/completion/basic.py -index b40068179..3ff919ca6 100644 ---- a/test/completion/basic.py -+++ b/test/completion/basic.py -@@ -209,11 +209,11 @@ def global_as_import(): - - deleted_var = 3 - del deleted_var --#? int() -+#? - deleted_var --#? ['deleted_var'] -+#? [] - deleted_var --#! ['deleted_var = 3'] -+#! [] - deleted_var - - # ----------------- -diff --git a/test/test_api/test_full_name.py b/test/test_api/test_full_name.py -index 4fdb861b0..6858b6ca8 100644 ---- a/test/test_api/test_full_name.py -+++ b/test/test_api/test_full_name.py -@@ -112,7 +112,8 @@ def test_os_path(Script): - - def test_os_issues(Script): - """Issue #873""" -- assert [c.name for c in Script('import os\nos.nt''').complete()] == ['nt'] -+ # nt is not found, because it's deleted -+ assert [c.name for c in Script('import os\nos.nt''').complete()] == [] - - - def test_param_name(Script): diff --git a/gnu/packages/patches/python-jedi-sort-project-test.patch b/gnu/packages/patches/python-jedi-sort-project-test.patch new file mode 100644 index 0000000000..b2d602dfe6 --- /dev/null +++ b/gnu/packages/patches/python-jedi-sort-project-test.patch @@ -0,0 +1,18 @@ +Sort the result of file system traversal to avoid test failure on different +file systems. + +Taken from upstream: +https://github.com/davidhalter/jedi/commit/7ff76bb7d0d94514e17cd1647f4ffaf533dd55f5 + +diff --git a/test/test_api/test_project.py b/test/test_api/test_project.py +--- a/test/test_api/test_project.py ++++ b/test/test_api/test_project.py +@@ -135,7 +135,7 @@ def test_search(string, full_names, kwargs, skip_pre_python36): + defs = project.complete_search(string, **kwargs) + else: + defs = project.search(string, **kwargs) +- assert [('stub:' if d.is_stub() else '') + d.full_name for d in defs] == full_names ++ assert sorted([('stub:' if d.is_stub() else '') + d.full_name for d in defs]) == full_names + + + @pytest.mark.parametrize( diff --git a/gnu/packages/patches/reprotest-support-guix.patch b/gnu/packages/patches/reprotest-support-guix.patch deleted file mode 100644 index 621c4e3359..0000000000 --- a/gnu/packages/patches/reprotest-support-guix.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 31bd4fe777cbff3ebca74115e5735a8b8f584fa7 Mon Sep 17 00:00:00 2001 -From: Vagrant Cascadian <vagrant@reproducible-builds.org> -Date: Thu, 6 Feb 2020 23:17:58 -0800 -Subject: [PATCH] Add support for GNU Guix. - ---- - reprotest/lib/adt_testbed.py | 2 ++ - reprotest/lib/system_interface/guix.py | 39 ++++++++++++++++++++++++++ - 2 files changed, 41 insertions(+) - create mode 100644 reprotest/lib/system_interface/guix.py - -diff --git a/reprotest/lib/adt_testbed.py b/reprotest/lib/adt_testbed.py -index ef704d6..60bf763 100644 ---- a/reprotest/lib/adt_testbed.py -+++ b/reprotest/lib/adt_testbed.py -@@ -40,6 +40,7 @@ import urllib.parse - from reprotest.lib.system_interface.debian import DebianInterface - from reprotest.lib.system_interface.arch import ArchInterface - from reprotest.lib.system_interface.fedora import FedoraInterface -+from reprotest.lib.system_interface.guix import GuixInterface - from reprotest.lib import adtlog - from reprotest.lib import VirtSubproc - -@@ -47,6 +48,7 @@ SYSTEM_INTERFACES = { - 'debian': DebianInterface, - 'arch': ArchInterface, - 'fedora': FedoraInterface, -+ 'guix': GuixInterface, - } - - timeouts = { -diff --git a/reprotest/lib/system_interface/guix.py b/reprotest/lib/system_interface/guix.py -new file mode 100644 -index 0000000..2b06104 ---- /dev/null -+++ b/reprotest/lib/system_interface/guix.py -@@ -0,0 +1,39 @@ -+# adt_testbed.py is part of autopkgtest -+# autopkgtest is a tool for testing Debian binary packages. The -+# system_interface module is an addition for reprotest to make -+# this module distro-agnostic -+# -+# autopkgtest is Copyright (C) 2006-2015 Canonical Ltd. -+# the system_interface module is Copyright (C) 2017 Santiago Torres-Arias -+# -+# 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) any later version. -+# -+# 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., 675 Mass Ave, Cambridge, MA 02139, USA. -+# -+# See the file CREDITS for a full list of credits information (often -+# installed as /usr/share/doc/autopkgtest/CREDITS). -+import subprocess -+ -+from . import SystemInterface -+ -+class GuixInterface(SystemInterface): -+ """ -+ SystemInterface implementation for GNU Guix hosts. Contains commands that -+ are specific to the GNU Guix toolchain. -+ """ -+ -+ def get_arch(self): -+ return ['uname', '-m'] -+ -+ def can_query_packages(self): -+ return False --- -2.20.1 - diff --git a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch b/gnu/packages/patches/sdl-pango-header-guard.patch index 3d4b10cc10..3d4b10cc10 100644 --- a/gnu/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch +++ b/gnu/packages/patches/sdl-pango-header-guard.patch diff --git a/gnu/packages/patches/sdl2-mesa-compat.patch b/gnu/packages/patches/sdl2-mesa-compat.patch deleted file mode 100644 index 8182e582e7..0000000000 --- a/gnu/packages/patches/sdl2-mesa-compat.patch +++ /dev/null @@ -1,21 +0,0 @@ -Do not include GLES header when OpenGL headers are already included. - -Taken from upstream: -https://hg.libsdl.org/SDL/rev/369b01006eb2 - -diff -r 4cbaffd0083b -r 369b01006eb2 src/video/SDL_video.c ---- a/src/video/SDL_video.c Fri Oct 11 06:18:24 2019 +0200 -+++ b/src/video/SDL_video.c Sat Oct 12 18:47:56 2019 +0200 -@@ -37,9 +37,9 @@ - #include "SDL_opengl.h" - #endif /* SDL_VIDEO_OPENGL */ - --#if SDL_VIDEO_OPENGL_ES -+#if SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL - #include "SDL_opengles.h" --#endif /* SDL_VIDEO_OPENGL_ES */ -+#endif /* SDL_VIDEO_OPENGL_ES && !SDL_VIDEO_OPENGL */ - - /* GL and GLES2 headers conflict on Linux 32 bits */ - #if SDL_VIDEO_OPENGL_ES2 && !SDL_VIDEO_OPENGL - diff --git a/gnu/packages/patches/txr-shell.patch b/gnu/packages/patches/txr-shell.patch deleted file mode 100644 index a4abb73eac..0000000000 --- a/gnu/packages/patches/txr-shell.patch +++ /dev/null @@ -1,59 +0,0 @@ -Use the current shell instead of trying to find another one and -failing to do so. - -diff --git a/configure b/configure -index f1adb919..7891b4dc 100755 ---- a/configure -+++ b/configure -@@ -26,28 +26,6 @@ - # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - --# --# The #!/bin/sh might be some legacy piece of crap, --# not even up to 1990 POSIX.2 spec. So the first step --# is to look for a better shell in some known places --# and re-execute ourselves with that interpreter. --# -- --if test x$txr_shell = x ; then -- for shell in /bin/bash /usr/bin/bash /usr/xpg4/bin/sh ; do -- if test -x $shell ; then -- txr_shell=$shell -- break -- fi -- done -- if test x$txr_shell = x ; then -- echo "No known POSIX shell found: falling back on /bin/sh, which may not work" -- txr_shell=/bin/sh -- fi -- export txr_shell -- exec $txr_shell $0 ${@+"$@"} --fi -- - set -u - - # -@@ -190,13 +168,6 @@ while [ $# -gt 0 ] ; do - exit 1 - fi - -- eval "var_exists=\${$var+y}" -- -- if [ "$var_exists" != y ] ; then -- printf "$0: nonexistent option: '%s'\n" "$1" -- exit 1 -- fi -- - eval "$var='$val'" - - eval "var_given_exists=\${${var}_given+y}" -@@ -208,6 +179,8 @@ while [ $# -gt 0 ] ; do - shift - done - -+txr_shell=$CONFIG_SHELL -+ - # - # If --help was given (or --help=<nonempty> or help=<nonempty>) then - # print help and exit. The termination status is failed, to indicate diff --git a/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch b/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch new file mode 100644 index 0000000000..f88d12f1e2 --- /dev/null +++ b/gnu/packages/patches/u-boot-DT-for-Pinebook-Pro.patch @@ -0,0 +1,1132 @@ +From b128c2e0b480ee992fabe554d19cd471efb11095 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 20 Apr 2020 20:27:35 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-5-pbrobinson@gmail.com/ +Subject: [PATCH 4/5] arm: dts: rockchip: Add initial DT for Pinebook Pro + +Sync initial support for Pinebook Pro device tree from Linux 5.7-rc1. + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + arch/arm/dts/Makefile | 1 + + arch/arm/dts/rk3399-pinebook-pro.dts | 1096 ++++++++++++++++++++++++++ + 2 files changed, 1097 insertions(+) + create mode 100644 arch/arm/dts/rk3399-pinebook-pro.dts + +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 820ee9733a..885bf0ef58 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -125,6 +125,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \ + rk3399-nanopi-m4.dtb \ + rk3399-nanopi-neo4.dtb \ + rk3399-orangepi.dtb \ ++ rk3399-pinebook-pro.dtb \ + rk3399-puma-ddr1333.dtb \ + rk3399-puma-ddr1600.dtb \ + rk3399-puma-ddr1866.dtb \ +diff --git a/arch/arm/dts/rk3399-pinebook-pro.dts b/arch/arm/dts/rk3399-pinebook-pro.dts +new file mode 100644 +index 0000000000..294d21bf45 +--- /dev/null ++++ b/arch/arm/dts/rk3399-pinebook-pro.dts +@@ -0,0 +1,1096 @@ ++// SPDX-License-Identifier: (GPL-2.0+ OR MIT) ++/* ++ * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd. ++ * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com> ++ * Copyright (c) 2020 Tobias Schramm <t.schramm@manjaro.org> ++ */ ++ ++/dts-v1/; ++#include <dt-bindings/input/gpio-keys.h> ++#include <dt-bindings/input/linux-event-codes.h> ++#include <dt-bindings/pwm/pwm.h> ++#include <dt-bindings/usb/pd.h> ++#include <dt-bindings/leds/common.h> ++#include "rk3399.dtsi" ++#include "rk3399-opp.dtsi" ++ ++/ { ++ model = "Pine64 Pinebook Pro"; ++ compatible = "pine64,pinebook-pro", "rockchip,rk3399"; ++ ++ chosen { ++ stdout-path = "serial2:1500000n8"; ++ }; ++ ++ backlight: edp-backlight { ++ compatible = "pwm-backlight"; ++ power-supply = <&vcc_12v>; ++ pwms = <&pwm0 0 740740 0>; ++ }; ++ ++ edp_panel: edp-panel { ++ compatible = "boe,nv140fhmn49"; ++ backlight = <&backlight>; ++ enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&panel_en_gpio>; ++ power-supply = <&vcc3v3_panel>; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ panel_in_edp: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&edp_out_panel>; ++ }; ++ }; ++ }; ++ }; ++ ++ /* ++ * Use separate nodes for gpio-keys to allow for selective deactivation ++ * of wakeup sources via sysfs without disabling the whole key ++ */ ++ gpio-key-lid { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lidbtn_gpio>; ++ ++ lid { ++ debounce-interval = <20>; ++ gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>; ++ label = "Lid"; ++ linux,code = <SW_LID>; ++ linux,input-type = <EV_SW>; ++ wakeup-event-action = <EV_ACT_DEASSERTED>; ++ wakeup-source; ++ }; ++ }; ++ ++ gpio-key-power { ++ compatible = "gpio-keys"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrbtn_gpio>; ++ ++ power { ++ debounce-interval = <20>; ++ gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; ++ label = "Power"; ++ linux,code = <KEY_POWER>; ++ wakeup-source; ++ }; ++ }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwrled_gpio &slpled_gpio>; ++ ++ green-led { ++ color = <LED_COLOR_ID_GREEN>; ++ default-state = "on"; ++ function = LED_FUNCTION_POWER; ++ gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>; ++ label = "green:power"; ++ }; ++ ++ red-led { ++ color = <LED_COLOR_ID_RED>; ++ default-state = "off"; ++ function = LED_FUNCTION_STANDBY; ++ gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; ++ label = "red:standby"; ++ panic-indicator; ++ retain-state-suspended; ++ }; ++ }; ++ ++ /* Power sequence for SDIO WiFi module */ ++ sdio_pwrseq: sdio-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ clocks = <&rk808 1>; ++ clock-names = "ext_clock"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_enable_h_gpio>; ++ post-power-on-delay-ms = <100>; ++ power-off-delay-us = <500000>; ++ ++ /* WL_REG_ON on module */ ++ reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; ++ }; ++ ++ /* Audio components */ ++ es8316-sound { ++ compatible = "simple-audio-card"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&hp_det_gpio>; ++ simple-audio-card,name = "rockchip,es8316-codec"; ++ simple-audio-card,format = "i2s"; ++ simple-audio-card,mclk-fs = <256>; ++ ++ simple-audio-card,widgets = ++ "Microphone", "Mic Jack", ++ "Headphone", "Headphones", ++ "Speaker", "Speaker"; ++ simple-audio-card,routing = ++ "MIC1", "Mic Jack", ++ "Headphones", "HPOL", ++ "Headphones", "HPOR", ++ "Speaker Amplifier INL", "HPOL", ++ "Speaker Amplifier INR", "HPOR", ++ "Speaker", "Speaker Amplifier OUTL", ++ "Speaker", "Speaker Amplifier OUTR"; ++ ++ simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>; ++ simple-audio-card,aux-devs = <&speaker_amp>; ++ simple-audio-card,pin-switches = "Speaker"; ++ ++ simple-audio-card,cpu { ++ sound-dai = <&i2s1>; ++ }; ++ ++ simple-audio-card,codec { ++ sound-dai = <&es8316>; ++ }; ++ }; ++ ++ speaker_amp: speaker-amplifier { ++ compatible = "simple-audio-amplifier"; ++ enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>; ++ sound-name-prefix = "Speaker Amplifier"; ++ VCC-supply = <&pa_5v>; ++ }; ++ ++ /* Power tree */ ++ /* Root power source */ ++ vcc_sysin: vcc-sysin { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_sysin"; ++ regulator-always-on; ++ regulator-boot-on; ++ }; ++ ++ /* Regulators supplied by vcc_sysin */ ++ /* LCD backlight supply */ ++ vcc_12v: vcc-12v { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_12v"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <12000000>; ++ regulator-max-microvolt = <12000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Main 3.3 V supply */ ++ vcc3v3_sys: wifi_bat: vcc3v3-sys { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_sys"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* 5 V USB power supply */ ++ vcc5v0_usb: pa_5v: vcc5v0-usb-regulator { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pwr_5v_gpio>; ++ regulator-name = "vcc5v0_usb"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* RK3399 logic supply */ ++ vdd_log: vdd-log { ++ compatible = "pwm-regulator"; ++ pwms = <&pwm2 0 25000 1>; ++ regulator-name = "vdd_log"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <800000>; ++ regulator-max-microvolt = <1400000>; ++ vin-supply = <&vcc_sysin>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc3v3_sys */ ++ /* 0.9 V supply, always on */ ++ vcc_0v9: vcc-0v9 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc_0v9"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <900000>; ++ regulator-max-microvolt = <900000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* S3 1.8 V supply, switched by vcc1v8_s3 */ ++ vcca1v8_s3: vcc1v8-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcca1v8_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* micro SD card power */ ++ vcc3v0_sd: vcc3v0-sd { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc0_pwr_h_gpio>; ++ regulator-name = "vcc3v0_sd"; ++ regulator-always-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* LCD panel power, called VCC3V3_S0 in schematic */ ++ vcc3v3_panel: vcc3v3-panel { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&lcdvcc_en_gpio>; ++ regulator-name = "vcc3v3_panel"; ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-enable-ramp-delay = <100000>; ++ vin-supply = <&vcc3v3_sys>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* M.2 adapter power, switched by vcc1v8_s3 */ ++ vcc3v3_ssd: vcc3v3-ssd { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3_ssd"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ vin-supply = <&vcc3v3_sys>; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* USB 3 port power supply regulator */ ++ vcc5v0_otg: vcc5v0-otg { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_host_en_gpio>; ++ regulator-name = "vcc5v0_otg"; ++ regulator-always-on; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc5v0_usb */ ++ /* Type C port power supply regulator */ ++ vbus_5vout: vbus_typec: vbus-5vout { ++ compatible = "regulator-fixed"; ++ enable-active-high; ++ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vcc5v0_typec0_en_gpio>; ++ regulator-name = "vbus_5vout"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc5v0_usb>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ /* Regulators supplied by vcc_1v8 */ ++ /* Primary 0.9 V LDO */ ++ vcca0v9_s3: vcca0v9-s3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc0v9_s3"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ mains_charger: dc-charger { ++ compatible = "gpio-charger"; ++ charger-type = "mains"; ++ gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>; ++ ++ /* Also triggered by USB charger */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&dc_det_gpio>; ++ }; ++}; ++ ++&cdn_dp { ++ status = "okay"; ++}; ++ ++&cpu_b0 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_b1 { ++ cpu-supply = <&vdd_cpu_b>; ++}; ++ ++&cpu_l0 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l1 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l2 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&cpu_l3 { ++ cpu-supply = <&vdd_cpu_l>; ++}; ++ ++&edp { ++ force-hpd; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&edp_hpd>; ++ status = "okay"; ++ ++ ports { ++ edp_out: port@1 { ++ reg = <1>; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ edp_out_panel: endpoint@0 { ++ reg = <0>; ++ remote-endpoint = <&panel_in_edp>; ++ }; ++ }; ++ }; ++}; ++ ++&emmc_phy { ++ status = "okay"; ++}; ++ ++&gpu { ++ mali-supply = <&vdd_gpu>; ++ status = "okay"; ++}; ++ ++&hdmi_sound { ++ status = "okay"; ++}; ++ ++&i2c0 { ++ clock-frequency = <400000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ rk808: pmic@1b { ++ compatible = "rockchip,rk808"; ++ reg = <0x1b>; ++ #clock-cells = <1>; ++ clock-output-names = "xin32k", "rk808-clkout2"; ++ interrupt-parent = <&gpio3>; ++ interrupts = <10 IRQ_TYPE_LEVEL_LOW>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pmic_int_l_gpio>; ++ rockchip,system-power-controller; ++ wakeup-source; ++ ++ vcc1-supply = <&vcc_sysin>; ++ vcc2-supply = <&vcc_sysin>; ++ vcc3-supply = <&vcc_sysin>; ++ vcc4-supply = <&vcc_sysin>; ++ vcc6-supply = <&vcc_sysin>; ++ vcc7-supply = <&vcc_sysin>; ++ vcc8-supply = <&vcc3v3_sys>; ++ vcc9-supply = <&vcc_sysin>; ++ vcc10-supply = <&vcc_sysin>; ++ vcc11-supply = <&vcc_sysin>; ++ vcc12-supply = <&vcc3v3_sys>; ++ vcc13-supply = <&vcc_sysin>; ++ vcc14-supply = <&vcc_sysin>; ++ ++ regulators { ++ /* rk3399 center logic supply */ ++ vdd_center: DCDC_REG1 { ++ regulator-name = "vdd_center"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_cpu_l: DCDC_REG2 { ++ regulator-name = "vdd_cpu_l"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <750000>; ++ regulator-max-microvolt = <1350000>; ++ regulator-ramp-delay = <6001>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_ddr: DCDC_REG3 { ++ regulator-name = "vcc_ddr"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ }; ++ }; ++ ++ vcc_1v8: vcc_wl: DCDC_REG4 { ++ regulator-name = "vcc_1v8"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ /* not used */ ++ LDO_REG1 { ++ }; ++ ++ /* not used */ ++ LDO_REG2 { ++ }; ++ ++ vcc1v8_pmupll: LDO_REG3 { ++ regulator-name = "vcc1v8_pmupll"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1800000>; ++ }; ++ }; ++ ++ vcc_sdio: LDO_REG4 { ++ regulator-name = "vcc_sdio"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcca3v0_codec: LDO_REG5 { ++ regulator-name = "vcca3v0_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_1v5: LDO_REG6 { ++ regulator-name = "vcc_1v5"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1500000>; ++ regulator-max-microvolt = <1500000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <1500000>; ++ }; ++ }; ++ ++ vcca1v8_codec: LDO_REG7 { ++ regulator-name = "vcca1v8_codec"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc_3v0: LDO_REG8 { ++ regulator-name = "vcc_3v0"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <3000000>; ++ regulator-max-microvolt = <3000000>; ++ ++ regulator-state-mem { ++ regulator-on-in-suspend; ++ regulator-suspend-microvolt = <3000000>; ++ }; ++ }; ++ ++ vcc3v3_s3: SWITCH_REG1 { ++ regulator-name = "vcc3v3_s3"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vcc3v3_s0: SWITCH_REG2 { ++ regulator-name = "vcc3v3_s0"; ++ regulator-always-on; ++ regulator-boot-on; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ }; ++ }; ++ ++ vdd_cpu_b: regulator@40 { ++ compatible = "silergy,syr827"; ++ reg = <0x40>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel1_gpio>; ++ regulator-name = "vdd_cpu_b"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++ ++ vdd_gpu: regulator@41 { ++ compatible = "silergy,syr828"; ++ reg = <0x41>; ++ fcs,suspend-voltage-selector = <1>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&vsel2_gpio>; ++ regulator-name = "vdd_gpu"; ++ regulator-always-on; ++ regulator-boot-on; ++ regulator-min-microvolt = <712500>; ++ regulator-max-microvolt = <1500000>; ++ regulator-ramp-delay = <1000>; ++ vin-supply = <&vcc_1v8>; ++ ++ regulator-state-mem { ++ regulator-off-in-suspend; ++ }; ++ }; ++}; ++ ++&i2c1 { ++ clock-frequency = <100000>; ++ i2c-scl-falling-time-ns = <4>; ++ i2c-scl-rising-time-ns = <168>; ++ status = "okay"; ++ ++ es8316: es8316@11 { ++ compatible = "everest,es8316"; ++ reg = <0x11>; ++ clocks = <&cru SCLK_I2S_8CH_OUT>; ++ clock-names = "mclk"; ++ #sound-dai-cells = <0>; ++ }; ++}; ++ ++&i2c3 { ++ i2c-scl-falling-time-ns = <15>; ++ i2c-scl-rising-time-ns = <450>; ++ status = "okay"; ++}; ++ ++&i2c4 { ++ i2c-scl-falling-time-ns = <20>; ++ i2c-scl-rising-time-ns = <600>; ++ status = "okay"; ++ ++ fusb0: fusb30x@22 { ++ compatible = "fcs,fusb302"; ++ reg = <0x22>; ++ fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&fusb0_int_gpio>; ++ vbus-supply = <&vbus_typec>; ++ ++ connector { ++ compatible = "usb-c-connector"; ++ data-role = "host"; ++ label = "USB-C"; ++ op-sink-microwatt = <1000000>; ++ power-role = "dual"; ++ sink-pdos = ++ <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>; ++ source-pdos = ++ <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>; ++ try-power-role = "sink"; ++ ++ ports { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ port@0 { ++ reg = <0>; ++ ++ usbc_hs: endpoint { ++ remote-endpoint = ++ <&u2phy0_typec_hs>; ++ }; ++ }; ++ ++ port@1 { ++ reg = <1>; ++ ++ usbc_ss: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_ss>; ++ }; ++ }; ++ ++ port@2 { ++ reg = <2>; ++ ++ usbc_dp: endpoint { ++ remote-endpoint = ++ <&tcphy0_typec_dp>; ++ }; ++ }; ++ }; ++ }; ++ }; ++}; ++ ++&i2s1 { ++ #sound-dai-cells = <0>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&i2s_8ch_mclk_gpio>, <&i2s1_2ch_bus>; ++ rockchip,capture-channels = <8>; ++ rockchip,playback-channels = <8>; ++ status = "okay"; ++}; ++ ++&io_domains { ++ audio-supply = <&vcc_3v0>; ++ gpio1830-supply = <&vcc_3v0>; ++ sdmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&pcie_phy { ++ status = "okay"; ++}; ++ ++&pcie0 { ++ bus-scan-delay-ms = <1000>; ++ ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>; ++ max-link-speed = <2>; ++ num-lanes = <4>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&pcie_clkreqn_cpm>; ++ vpcie0v9-supply = <&vcca0v9_s3>; ++ vpcie1v8-supply = <&vcca1v8_s3>; ++ vpcie3v3-supply = <&vcc3v3_ssd>; ++ status = "okay"; ++}; ++ ++&pinctrl { ++ buttons { ++ pwrbtn_gpio: pwrbtn-gpio { ++ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ lidbtn_gpio: lidbtn-gpio { ++ rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ dc-charger { ++ dc_det_gpio: dc-det-gpio { ++ rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ es8316 { ++ hp_det_gpio: hp-det-gpio { ++ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ fusb302x { ++ fusb0_int_gpio: fusb0-int-gpio { ++ rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ i2s1 { ++ i2s_8ch_mclk_gpio: i2s-8ch-mclk-gpio { ++ rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; ++ }; ++ }; ++ ++ lcd-panel { ++ lcdvcc_en_gpio: lcdvcc-en-gpio { ++ rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ panel_en_gpio: panel-en-gpio { ++ rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ lcd_panel_reset_gpio: lcd-panel-reset-gpio { ++ rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ leds { ++ pwrled_gpio: pwrled_gpio { ++ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ slpled_gpio: slpled_gpio { ++ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ pmic { ++ pmic_int_l_gpio: pmic-int-l-gpio { ++ rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ ++ vsel1_gpio: vsel1-gpio { ++ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ ++ vsel2_gpio: vsel2-gpio { ++ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; ++ }; ++ }; ++ ++ sdcard { ++ sdmmc0_pwr_h_gpio: sdmmc0-pwr-h-gpio { ++ rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ }; ++ ++ sdio-pwrseq { ++ wifi_enable_h_gpio: wifi-enable-h-gpio { ++ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ usb-typec { ++ vcc5v0_typec0_en_gpio: vcc5v0-typec0-en-gpio { ++ rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; ++ }; ++ }; ++ ++ usb2 { ++ pwr_5v_gpio: pwr-5v-gpio { ++ rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ vcc5v0_host_en_gpio: vcc5v0-host-en-gpio { ++ rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++ ++ wireless-bluetooth { ++ bt_wake_gpio: bt-wake-gpio { ++ rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_host_wake_gpio: bt-host-wake-gpio { ++ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ ++ bt_reset_gpio: bt-reset-gpio { ++ rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; ++ }; ++ }; ++}; ++ ++&pmu_io_domains { ++ pmu1830-supply = <&vcc_3v0>; ++ status = "okay"; ++}; ++ ++&pwm0 { ++ status = "okay"; ++}; ++ ++&pwm2 { ++ status = "okay"; ++}; ++ ++&saradc { ++ vref-supply = <&vcca1v8_s3>; ++ status = "okay"; ++}; ++ ++&sdmmc { ++ bus-width = <4>; ++ cap-mmc-highspeed; ++ cap-sd-highspeed; ++ cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; ++ disable-wp; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; ++ sd-uhs-sdr104; ++ vmmc-supply = <&vcc3v0_sd>; ++ vqmmc-supply = <&vcc_sdio>; ++ status = "okay"; ++}; ++ ++&sdio0 { ++ bus-width = <4>; ++ cap-sd-highspeed; ++ cap-sdio-irq; ++ keep-power-in-suspend; ++ mmc-pwrseq = <&sdio_pwrseq>; ++ non-removable; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>; ++ sd-uhs-sdr104; ++ status = "okay"; ++}; ++ ++&sdhci { ++ bus-width = <8>; ++ mmc-hs200-1_8v; ++ non-removable; ++ status = "okay"; ++}; ++ ++&spi1 { ++ max-freq = <10000000>; ++ status = "okay"; ++ ++ spiflash: flash@0 { ++ compatible = "jedec,spi-nor"; ++ reg = <0>; ++ m25p,fast-read; ++ spi-max-frequency = <10000000>; ++ }; ++}; ++ ++&tcphy0 { ++ status = "okay"; ++}; ++ ++&tcphy0_dp { ++ port { ++ tcphy0_typec_dp: endpoint { ++ remote-endpoint = <&usbc_dp>; ++ }; ++ }; ++}; ++ ++&tcphy0_usb3 { ++ port { ++ tcphy0_typec_ss: endpoint { ++ remote-endpoint = <&usbc_ss>; ++ }; ++ }; ++}; ++ ++&tcphy1 { ++ status = "okay"; ++}; ++ ++&tsadc { ++ /* tshut mode 0:CRU 1:GPIO */ ++ rockchip,hw-tshut-mode = <1>; ++ /* tshut polarity 0:LOW 1:HIGH */ ++ rockchip,hw-tshut-polarity = <1>; ++ status = "okay"; ++}; ++ ++&u2phy0 { ++ status = "okay"; ++ ++ u2phy0_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy0_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++ ++ port { ++ u2phy0_typec_hs: endpoint { ++ remote-endpoint = <&usbc_hs>; ++ }; ++ }; ++}; ++ ++&u2phy1 { ++ status = "okay"; ++ ++ u2phy1_otg: otg-port { ++ status = "okay"; ++ }; ++ ++ u2phy1_host: host-port { ++ phy-supply = <&vcc5v0_otg>; ++ status = "okay"; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; ++ uart-has-rtscts; ++ status = "okay"; ++ ++ bluetooth { ++ compatible = "brcm,bcm4345c5"; ++ clocks = <&rk808 1>; ++ clock-names = "lpo"; ++ device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; ++ host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>; ++ max-speed = <1500000>; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>; ++ shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>; ++ vbat-supply = <&wifi_bat>; ++ vddio-supply = <&vcc_wl>; ++ }; ++}; ++ ++&uart2 { ++ status = "okay"; ++}; ++ ++&usb_host0_ehci { ++ status = "okay"; ++}; ++ ++&usb_host0_ohci { ++ status = "okay"; ++}; ++ ++&usb_host1_ehci { ++ status = "okay"; ++}; ++ ++&usb_host1_ohci { ++ status = "okay"; ++}; ++ ++&usbdrd3_0 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_0 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usbdrd3_1 { ++ status = "okay"; ++}; ++ ++&usbdrd_dwc3_1 { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&vopb { ++ status = "okay"; ++}; ++ ++&vopb_mmu { ++ status = "okay"; ++}; ++ ++&vopl { ++ status = "okay"; ++}; ++ ++&vopl_mmu { ++ status = "okay"; ++}; +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch b/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch new file mode 100644 index 0000000000..c359522967 --- /dev/null +++ b/gnu/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch @@ -0,0 +1,29 @@ +From 00978950fed39b6104b6b4f141450a66cc3400fa Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 20 Apr 2020 20:27:32 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-2-pbrobinson@gmail.com/ +Subject: [PATCH 1/5] video: simple_panel: add boe,nv140fhmn49 display + +add "boe,nv140fhmn49" display to compatible node. + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +Cc: Anatolij Gustschin <agust@denx.de> +--- + drivers/video/simple_panel.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/video/simple_panel.c b/drivers/video/simple_panel.c +index c3c0e84732..5722811117 100644 +--- a/drivers/video/simple_panel.c ++++ b/drivers/video/simple_panel.c +@@ -105,6 +105,7 @@ static const struct udevice_id simple_panel_ids[] = { + { .compatible = "auo,b133xtn01" }, + { .compatible = "auo,b116xw03" }, + { .compatible = "auo,b133htn01" }, ++ { .compatible = "boe,nv140fhmn49" }, + { .compatible = "lg,lb070wv8" }, + { } + }; +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch b/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch new file mode 100644 index 0000000000..aec33a7023 --- /dev/null +++ b/gnu/packages/patches/u-boot-gpio-keys-binding-cons.patch @@ -0,0 +1,37 @@ +From 451bd72bf966df7518682cb748a804634ea19424 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 20 Apr 2020 20:27:33 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-3-pbrobinson@gmail.com/ +Subject: [PATCH 2/5] dt-bindings: input: adopt Linux gpio-keys binding + constants + +Sync the gpio-keys input bindings from linux 5.7-rc1. + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + include/dt-bindings/input/gpio-keys.h | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + create mode 100644 include/dt-bindings/input/gpio-keys.h + +diff --git a/include/dt-bindings/input/gpio-keys.h b/include/dt-bindings/input/gpio-keys.h +new file mode 100644 +index 0000000000..8962df79e7 +--- /dev/null ++++ b/include/dt-bindings/input/gpio-keys.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * This header provides constants for gpio keys bindings. ++ */ ++ ++#ifndef _DT_BINDINGS_GPIO_KEYS_H ++#define _DT_BINDINGS_GPIO_KEYS_H ++ ++#define EV_ACT_ANY 0x00 /* asserted or deasserted */ ++#define EV_ACT_ASSERTED 0x01 /* asserted */ ++#define EV_ACT_DEASSERTED 0x02 /* deasserted */ ++ ++#endif /* _DT_BINDINGS_GPIO_KEYS_H */ +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-leds-common-binding-con.patch b/gnu/packages/patches/u-boot-leds-common-binding-con.patch new file mode 100644 index 0000000000..837408120b --- /dev/null +++ b/gnu/packages/patches/u-boot-leds-common-binding-con.patch @@ -0,0 +1,115 @@ +From 282b6ca04abbe1302d04caa05be5fc5afb127141 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 20 Apr 2020 20:27:34 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-4-pbrobinson@gmail.com/ +Subject: [PATCH 3/5] dt-bindings: leds: adopt Linux leds common binding + constants + +Sync the common leds bindings from linux 5.7-rc1. + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + include/dt-bindings/leds/common.h | 91 +++++++++++++++++++++++++++++++ + 1 file changed, 91 insertions(+) + create mode 100644 include/dt-bindings/leds/common.h + +diff --git a/include/dt-bindings/leds/common.h b/include/dt-bindings/leds/common.h +new file mode 100644 +index 0000000000..0ce7dfc00d +--- /dev/null ++++ b/include/dt-bindings/leds/common.h +@@ -0,0 +1,91 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * This header provides macros for the common LEDs device tree bindings. ++ * ++ * Copyright (C) 2015, Samsung Electronics Co., Ltd. ++ * Author: Jacek Anaszewski <j.anaszewski@samsung.com> ++ * ++ * Copyright (C) 2019 Jacek Anaszewski <jacek.anaszewski@gmail.com> ++ * Copyright (C) 2020 Pavel Machek <pavel@ucw.cz> ++ */ ++ ++#ifndef __DT_BINDINGS_LEDS_H ++#define __DT_BINDINGS_LEDS_H ++ ++/* External trigger type */ ++#define LEDS_TRIG_TYPE_EDGE 0 ++#define LEDS_TRIG_TYPE_LEVEL 1 ++ ++/* Boost modes */ ++#define LEDS_BOOST_OFF 0 ++#define LEDS_BOOST_ADAPTIVE 1 ++#define LEDS_BOOST_FIXED 2 ++ ++/* Standard LED colors */ ++#define LED_COLOR_ID_WHITE 0 ++#define LED_COLOR_ID_RED 1 ++#define LED_COLOR_ID_GREEN 2 ++#define LED_COLOR_ID_BLUE 3 ++#define LED_COLOR_ID_AMBER 4 ++#define LED_COLOR_ID_VIOLET 5 ++#define LED_COLOR_ID_YELLOW 6 ++#define LED_COLOR_ID_IR 7 ++#define LED_COLOR_ID_MAX 8 ++ ++/* Standard LED functions */ ++/* Keyboard LEDs, usually it would be input4::capslock etc. */ ++/* Obsolete equivalent: "shift-key-light" */ ++#define LED_FUNCTION_CAPSLOCK "capslock" ++#define LED_FUNCTION_SCROLLLOCK "scrolllock" ++#define LED_FUNCTION_NUMLOCK "numlock" ++/* Obsolete equivalents: "tpacpi::thinklight" (IBM/Lenovo Thinkpads), ++ "lp5523:kb{1,2,3,4,5,6}" (Nokia N900) */ ++#define LED_FUNCTION_KBD_BACKLIGHT "kbd_backlight" ++ ++/* System LEDs, usually found on system body. ++ platform::mute (etc) is sometimes seen, :mute would be better */ ++#define LED_FUNCTION_POWER "power" ++#define LED_FUNCTION_DISK "disk" ++ ++/* Obsolete: "platform:*:charging" (allwinner sun50i) */ ++#define LED_FUNCTION_CHARGING "charging" ++/* Used RGB notification LEDs common on phones. ++ Obsolete equivalents: "status-led:{red,green,blue}" (Motorola Droid 4), ++ "lp5523:{r,g,b}" (Nokia N900) */ ++#define LED_FUNCTION_STATUS "status" ++ ++#define LED_FUNCTION_MICMUTE "micmute" ++#define LED_FUNCTION_MUTE "mute" ++ ++/* Miscelleaus functions. Use functions above if you can. */ ++#define LED_FUNCTION_ACTIVITY "activity" ++#define LED_FUNCTION_ALARM "alarm" ++#define LED_FUNCTION_BACKLIGHT "backlight" ++#define LED_FUNCTION_BLUETOOTH "bluetooth" ++#define LED_FUNCTION_BOOT "boot" ++#define LED_FUNCTION_CPU "cpu" ++#define LED_FUNCTION_DEBUG "debug" ++#define LED_FUNCTION_DISK_ACTIVITY "disk-activity" ++#define LED_FUNCTION_DISK_ERR "disk-err" ++#define LED_FUNCTION_DISK_READ "disk-read" ++#define LED_FUNCTION_DISK_WRITE "disk-write" ++#define LED_FUNCTION_FAULT "fault" ++#define LED_FUNCTION_FLASH "flash" ++#define LED_FUNCTION_HEARTBEAT "heartbeat" ++#define LED_FUNCTION_INDICATOR "indicator" ++#define LED_FUNCTION_LAN "lan" ++#define LED_FUNCTION_MAIL "mail" ++#define LED_FUNCTION_MTD "mtd" ++#define LED_FUNCTION_PANIC "panic" ++#define LED_FUNCTION_PROGRAMMING "programming" ++#define LED_FUNCTION_RX "rx" ++#define LED_FUNCTION_SD "sd" ++#define LED_FUNCTION_STANDBY "standby" ++#define LED_FUNCTION_TORCH "torch" ++#define LED_FUNCTION_TX "tx" ++#define LED_FUNCTION_USB "usb" ++#define LED_FUNCTION_WAN "wan" ++#define LED_FUNCTION_WLAN "wlan" ++#define LED_FUNCTION_WPS "wps" ++ ++#endif /* __DT_BINDINGS_LEDS_H */ +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch b/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch new file mode 100644 index 0000000000..c6f91fa65a --- /dev/null +++ b/gnu/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch @@ -0,0 +1,367 @@ +From 60381e4add64dddbd07e78248b2b0f819eb2776e Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 20 Apr 2020 20:27:36 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420192736.962307-6-pbrobinson@gmail.com/ +Subject: [PATCH 5/5] Add initial support for the Pinebook Pro laptop from + Pine64. + +Specification: +- Rockchip RK3399 +- 4GB Dual-Channel LPDDR4 +- eMMC socket +- mSD card slot +- 128Mbit (16Mb) SPI Flash +- AP6256 for 11AC WiFi + BT5 +- 14 inch 1920*1080 eDP MiPi display +- Camera +- USB 3.0, 2.0 ports +- Type-C port with alt-mode display (DP 1.2) and 15W charge +- DC 5V/3A +- optional PCIe slot for NVMe SSD drive + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +--- + arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi | 43 ++++++++++ + arch/arm/mach-rockchip/rk3399/Kconfig | 8 ++ + board/pine64/pinebook-pro-rk3399/Kconfig | 15 ++++ + board/pine64/pinebook-pro-rk3399/MAINTAINERS | 8 ++ + board/pine64/pinebook-pro-rk3399/Makefile | 1 + + .../pinebook-pro-rk3399/pinebook-pro-rk3399.c | 76 +++++++++++++++++ + configs/pinebook-pro-rk3399_defconfig | 84 +++++++++++++++++++ + include/configs/pinebook-pro-rk3399.h | 29 +++++++ + 8 files changed, 264 insertions(+) + create mode 100644 arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi + create mode 100644 board/pine64/pinebook-pro-rk3399/Kconfig + create mode 100644 board/pine64/pinebook-pro-rk3399/MAINTAINERS + create mode 100644 board/pine64/pinebook-pro-rk3399/Makefile + create mode 100644 board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c + create mode 100644 configs/pinebook-pro-rk3399_defconfig + create mode 100644 include/configs/pinebook-pro-rk3399.h + +diff --git a/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +new file mode 100644 +index 0000000000..1a2e24d3ef +--- /dev/null ++++ b/arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi +@@ -0,0 +1,43 @@ ++// SPDX-License-Identifier: GPL-2.0+ ++/* ++ * Copyright (C) 2019 Peter Robinson <pbrobinson at gmail.com> ++ */ ++ ++#include "rk3399-u-boot.dtsi" ++#include "rk3399-sdram-lpddr4-100.dtsi" ++ ++/ { ++ aliases { ++ spi0 = &spi1; ++ }; ++ ++ chosen { ++ u-boot,spl-boot-order = "same-as-spl", &sdhci, &sdmmc; ++ }; ++}; ++ ++&i2c0 { ++ u-boot,dm-pre-reloc; ++}; ++ ++&rk808 { ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdhci { ++ max-frequency = <25000000>; ++ u-boot,dm-pre-reloc; ++}; ++ ++&sdmmc { ++ max-frequency = <20000000>; ++ u-boot,dm-pre-reloc; ++}; ++ ++&spiflash { ++ u-boot,dm-pre-reloc; ++}; ++ ++&vdd_log { ++ regulator-init-microvolt = <950000>; ++}; +diff --git a/arch/arm/mach-rockchip/rk3399/Kconfig b/arch/arm/mach-rockchip/rk3399/Kconfig +index 927bb62a9f..254b9c5b4d 100644 +--- a/arch/arm/mach-rockchip/rk3399/Kconfig ++++ b/arch/arm/mach-rockchip/rk3399/Kconfig +@@ -19,6 +19,13 @@ config TARGET_EVB_RK3399 + with full function and physical connectors support like Type-C ports, + USB.0 host ports, LVDS, JTAG, MAC, SD card, HDMI, USB-to-serial... + ++config TARGET_PINEBOOK_PRO_RK3399 ++ bool "Pinebook Pro" ++ help ++ Pinebook Pro is a laptop based on the Rockchip rk3399 SoC ++ with 4Gb RAM, onboard eMMC, USB-C, a USB3 and USB2 port, ++ 1920*1080 screen and all the usual laptop features. ++ + config TARGET_PUMA_RK3399 + bool "Theobroma Systems RK3399-Q7 (Puma)" + help +@@ -144,6 +151,7 @@ endif # BOOTCOUNT_LIMIT + + source "board/firefly/roc-pc-rk3399/Kconfig" + source "board/google/gru/Kconfig" ++source "board/pine64/pinebook-pro-rk3399/Kconfig" + source "board/pine64/rockpro64_rk3399/Kconfig" + source "board/rockchip/evb_rk3399/Kconfig" + source "board/theobroma-systems/puma_rk3399/Kconfig" +diff --git a/board/pine64/pinebook-pro-rk3399/Kconfig b/board/pine64/pinebook-pro-rk3399/Kconfig +new file mode 100644 +index 0000000000..3bb7ca448e +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/Kconfig +@@ -0,0 +1,15 @@ ++if TARGET_PINEBOOK_PRO_RK3399 ++ ++config SYS_BOARD ++ default "pinebook-pro-rk3399" ++ ++config SYS_VENDOR ++ default "pine64" ++ ++config SYS_CONFIG_NAME ++ default "pinebook-pro-rk3399" ++ ++config BOARD_SPECIFIC_OPTIONS ++ def_bool y ++ ++endif +diff --git a/board/pine64/pinebook-pro-rk3399/MAINTAINERS b/board/pine64/pinebook-pro-rk3399/MAINTAINERS +new file mode 100644 +index 0000000000..7153eaf2e0 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/MAINTAINERS +@@ -0,0 +1,8 @@ ++PINEBOOK_PRO ++M: Peter Robinson <pbrobinson at gmail.com> ++S: Maintained ++F: board/pine64/rk3399-pinebook-pro/ ++F: include/configs/rk3399-pinebook-pro.h ++F: arch/arm/dts/rk3399-pinebook-pro.dts ++F: arch/arm/dts/rk3399-pinebook-pro-u-boot.dtsi ++F: configs/pinebook-pro-rk3399_defconfig +diff --git a/board/pine64/pinebook-pro-rk3399/Makefile b/board/pine64/pinebook-pro-rk3399/Makefile +new file mode 100644 +index 0000000000..2f692a12a6 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/Makefile +@@ -0,0 +1 @@ ++obj-y += pinebook-pro-rk3399.o +diff --git a/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c +new file mode 100644 +index 0000000000..01421cbac2 +--- /dev/null ++++ b/board/pine64/pinebook-pro-rk3399/pinebook-pro-rk3399.c +@@ -0,0 +1,76 @@ ++/* ++ * (C) Copyright 2016 Rockchip Electronics Co., Ltd ++ * (C) Copyright 2020 Peter Robinson <pbrobinson at gmail.com> ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#include <common.h> ++#include <dm.h> ++#include <syscon.h> ++#include <asm/io.h> ++#include <asm/arch-rockchip/clock.h> ++#include <asm/arch-rockchip/grf_rk3399.h> ++#include <asm/arch-rockchip/hardware.h> ++#include <asm/arch-rockchip/misc.h> ++#include <power/regulator.h> ++ ++#define GRF_IO_VSEL_BT565_SHIFT 0 ++#define PMUGRF_CON0_VSEL_SHIFT 8 ++ ++#ifndef CONFIG_SPL_BUILD ++int board_early_init_f(void) ++{ ++ struct udevice *regulator; ++ int ret; ++ ++ ret = regulator_get_by_platname("vcc5v0_usb", ®ulator); ++ if (ret) { ++ debug("%s vcc5v0_usb init fail! ret %d\n", __func__, ret); ++ goto out; ++ } ++ ++ ret = regulator_set_enable(regulator, true); ++ if (ret) ++ debug("%s vcc5v0-host-en-gpio set fail! ret %d\n", __func__, ret); ++ ++out: ++ return 0; ++} ++#endif ++ ++#ifdef CONFIG_MISC_INIT_R ++static void setup_iodomain(void) ++{ ++ struct rk3399_grf_regs *grf = ++ syscon_get_first_range(ROCKCHIP_SYSCON_GRF); ++ struct rk3399_pmugrf_regs *pmugrf = ++ syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); ++ ++ /* BT565 is in 1.8v domain */ ++ rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_BT565_SHIFT); ++ ++ /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ ++ rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); ++} ++ ++int misc_init_r(void) ++{ ++ const u32 cpuid_offset = 0x7; ++ const u32 cpuid_length = 0x10; ++ u8 cpuid[cpuid_length]; ++ int ret; ++ ++ setup_iodomain(); ++ ++ ret = rockchip_cpuid_from_efuse(cpuid_offset, cpuid_length, cpuid); ++ if (ret) ++ return ret; ++ ++ ret = rockchip_cpuid_set(cpuid, cpuid_length); ++ if (ret) ++ return ret; ++ ++ return ret; ++} ++#endif +diff --git a/configs/pinebook-pro-rk3399_defconfig b/configs/pinebook-pro-rk3399_defconfig +new file mode 100644 +index 0000000000..0e9f0ec250 +--- /dev/null ++++ b/configs/pinebook-pro-rk3399_defconfig +@@ -0,0 +1,84 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_ROCKCHIP=y ++CONFIG_SYS_TEXT_BASE=0x00200000 ++CONFIG_ENV_OFFSET=0x3F8000 ++CONFIG_ROCKCHIP_RK3399=y ++CONFIG_RAM_RK3399_LPDDR4=y ++CONFIG_NR_DRAM_BANKS=1 ++CONFIG_TARGET_PINEBOOK_PRO_RK3399=y ++CONFIG_BAUDRATE=1500000 ++CONFIG_DEBUG_UART=y ++CONFIG_DEBUG_UART_SHIFT=2 ++CONFIG_DEBUG_UART_BASE=0xFF1A0000 ++CONFIG_DEBUG_UART_CLOCK=24000000 ++CONFIG_SPL_SPI_SUPPORT=y ++CONFIG_SPL_SPI_FLASH_SUPPORT=y ++CONFIG_SPL_MTD_SUPPORT=y ++CONFIG_DEFAULT_FDT_FILE="rockchip/rk3399-pinebook-pro.dtb" ++CONFIG_MISC_INIT_R=y ++CONFIG_DISPLAY_BOARDINFO_LATE=y ++# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set ++CONFIG_SPL_STACK_R=y ++CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x10000 ++CONFIG_TPL=y ++CONFIG_SPL_OF_CONTROL=y ++CONFIG_DEFAULT_DEVICE_TREE="rk3399-pinebook-pro" ++CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" ++CONFIG_SYS_RELOC_GD_ENV_ADDR=y ++CONFIG_CMD_BOOTZ=y ++CONFIG_CMD_GPIO=y ++CONFIG_CMD_GPT=y ++CONFIG_CMD_I2C=y ++CONFIG_CMD_MMC=y ++CONFIG_CMD_MTDPARTS=y ++CONFIG_CMD_PMIC=y ++CONFIG_CMD_REGULATOR=y ++# CONFIG_CMD_SETEXPR is not set ++CONFIG_CMD_SF=y ++CONFIG_CMD_TIME=y ++CONFIG_CMD_USB=y ++CONFIG_ROCKCHIP_GPIO=y ++CONFIG_SYS_I2C_ROCKCHIP=y ++CONFIG_BOOTDELAY=3 ++CONFIG_LED=y ++CONFIG_LED_GPIO=y ++CONFIG_MISC=y ++CONFIG_ROCKCHIP_EFUSE=y ++CONFIG_MMC_DW=y ++CONFIG_MMC_DW_ROCKCHIP=y ++CONFIG_MMC_SDHCI=y ++CONFIG_MMC_SDHCI_SDMA=y ++CONFIG_MMC_SDHCI_ROCKCHIP=y ++CONFIG_ROCKCHIP_SPI=y ++CONFIG_SF_DEFAULT_SPEED=20000000 ++CONFIG_SPI_FLASH=y ++CONFIG_SPI_FLASH_GIGADEVICE=y ++CONFIG_SPI_FLASH_WINBOND=y ++CONFIG_DM_ETH=y ++CONFIG_PMIC_RK8XX=y ++CONFIG_DM_PMIC_FAN53555=y ++CONFIG_REGULATOR_PWM=y ++CONFIG_REGULATOR_RK8XX=y ++CONFIG_PWM_ROCKCHIP=y ++CONFIG_SYSRESET=y ++CONFIG_USB=y ++CONFIG_USB_XHCI_HCD=y ++CONFIG_USB_XHCI_DWC3=y ++# CONFIG_USB_XHCI_ROCKCHIP is not set ++CONFIG_USB_EHCI_HCD=y ++CONFIG_USB_EHCI_GENERIC=y ++CONFIG_USB_DWC3=y ++CONFIG_ROCKCHIP_USB2_PHY=y ++CONFIG_USB_HOST_ETHER=y ++CONFIG_USB_ETHER_ASIX=y ++CONFIG_USB_ETHER_RTL8152=y ++CONFIG_USB_KEYBOARD=y ++CONFIG_USE_TINY_PRINTF=y ++CONFIG_SPL_TINY_MEMSET=y ++CONFIG_ERRNO_STR=y ++CONFIG_DM_VIDEO=y ++CONFIG_VIDEO_BPP16=y ++CONFIG_VIDEO_BPP32=y ++CONFIG_DISPLAY=y ++CONFIG_VIDEO_ROCKCHIP=y ++CONFIG_DISPLAY_ROCKCHIP_EDP=y +diff --git a/include/configs/pinebook-pro-rk3399.h b/include/configs/pinebook-pro-rk3399.h +new file mode 100644 +index 0000000000..423d742a79 +--- /dev/null ++++ b/include/configs/pinebook-pro-rk3399.h +@@ -0,0 +1,29 @@ ++/* ++ * Copyright (C) 2016 Rockchip Electronics Co., Ltd ++ * Copyright (C) 2020 Peter Robinson <pbrobinson at gmail.com> ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#ifndef __PINEBOOK_PRO_RK3399_H ++#define __PINEBOOK_PRO_RK3399_H ++ ++#define ROCKCHIP_DEVICE_SETTINGS \ ++ "stdin=serial,usbkbd\0" \ ++ "stdout=serial,vidconsole\0" \ ++ "stderr=serial,vidconsole\0" ++ ++#include <configs/rk3399_common.h> ++ ++#if defined(CONFIG_ENV_IS_IN_MMC) ++#define CONFIG_SYS_MMC_ENV_DEV 0 ++#elif defined(CONFIG_ENV_IS_IN_SPI_FLASH) ++#define CONFIG_ENV_SECT_SIZE (8 * 1024) ++#endif ++ ++#undef CONFIG_SYS_SPI_U_BOOT_OFFS ++#define CONFIG_SYS_SPI_U_BOOT_OFFS 1024 * 512 ++ ++#define SDRAM_BANK_SIZE (2UL << 30) ++ ++#endif +-- +2.20.1 + diff --git a/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch b/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch new file mode 100644 index 0000000000..ca2be8dc22 --- /dev/null +++ b/gnu/packages/patches/u-boot-video-rockchip-fix-build.patch @@ -0,0 +1,48 @@ +From ecc69ec25df07e1ce63d7add6b235b37673ed608 Mon Sep 17 00:00:00 2001 +From: Peter Robinson <pbrobinson@gmail.com> +Date: Mon, 20 Apr 2020 19:18:25 +0100 +Origin: https://patchwork.ozlabs.org/project/uboot/patch/20200420181825.935797-1-pbrobinson@gmail.com/ +Subject: [PATCH 6/6] drivers: video: rockchip: fix building eDP and LVDS + drivers + +The rk_edp.c and rk_lvds.c files reference rk_setreg which is declared in +hardware.h so include it so the drivers build. Adjust rk_lvds.c so +includes are in alphabetical order while updating. + +Signed-off-by: Peter Robinson <pbrobinson@gmail.com> +Reviewed-by: Anatolij Gustschin <agust@denx.de> +--- + drivers/video/rockchip/rk_edp.c | 1 + + drivers/video/rockchip/rk_lvds.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/video/rockchip/rk_edp.c b/drivers/video/rockchip/rk_edp.c +index 8703df0ec0..cf84b886e7 100644 +--- a/drivers/video/rockchip/rk_edp.c ++++ b/drivers/video/rockchip/rk_edp.c +@@ -18,6 +18,7 @@ + #include <asm/arch-rockchip/clock.h> + #include <asm/arch-rockchip/edp_rk3288.h> + #include <asm/arch-rockchip/grf_rk3288.h> ++#include <asm/arch-rockchip/hardware.h> + #include <dt-bindings/clock/rk3288-cru.h> + + #define MAX_CR_LOOP 5 +diff --git a/drivers/video/rockchip/rk_lvds.c b/drivers/video/rockchip/rk_lvds.c +index cf5c0439b1..79e24baf53 100644 +--- a/drivers/video/rockchip/rk_lvds.c ++++ b/drivers/video/rockchip/rk_lvds.c +@@ -13,8 +13,9 @@ + #include <asm/gpio.h> + #include <asm/io.h> + #include <asm/arch-rockchip/clock.h> +-#include <asm/arch-rockchip/lvds_rk3288.h> + #include <asm/arch-rockchip/grf_rk3288.h> ++#include <asm/arch-rockchip/hardware.h> ++#include <asm/arch-rockchip/lvds_rk3288.h> + #include <dt-bindings/clock/rk3288-cru.h> + #include <dt-bindings/video/rk3288.h> + +-- +2.20.1 + diff --git a/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch new file mode 100644 index 0000000000..b4d5850f75 --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-cxx11-eof.patch @@ -0,0 +1,154 @@ +Author: Eric Bavier Date: 2020-01-13 +Url: https://notabug.org/bavier/guix-bavier/raw/master/bavier/patches/ ++xplanet-cxx11-eof.patch + +diff --git a/src/libannotate/addArcs.cpp b/src/libannotate/addArcs.cpp +index 2ee06c0..4fdb343 100644 +--- a/src/libannotate/addArcs.cpp ++++ b/src/libannotate/addArcs.cpp +@@ -258,7 +258,7 @@ addArcs(PlanetProperties *planetProperties, Planet *planet, + { + ifstream inFile(arcFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + readArcFile(line, planet, view, projection, + planetProperties, annotationMap); + +@@ -292,7 +292,7 @@ addArcs(View *view, multimap<double, Annotation *> &annotationMap) + { + ifstream inFile(arcFile.c_str()); + char *line = new char[256]; +- while (inFile.getline (line, 256, '\n') != NULL) ++ while (!inFile.getline (line, 256, '\n').eof()) + readArcFile(line, NULL, view, NULL, NULL, annotationMap); + + inFile.close(); +diff --git a/src/libannotate/addMarkers.cpp b/src/libannotate/addMarkers.cpp +index dde51c1..b641e6a 100644 +--- a/src/libannotate/addMarkers.cpp ++++ b/src/libannotate/addMarkers.cpp +@@ -429,7 +429,7 @@ addMarkers(PlanetProperties *planetProperties, Planet *planet, + { + ifstream inFile(markerFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + { + unsigned char color[3]; + memcpy(color, planetProperties->MarkerColor(), 3); +@@ -475,7 +475,7 @@ addMarkers(View *view, const int width, const int height, + { + ifstream inFile(markerFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + { + unsigned char color[3]; + memcpy(color, options->Color(), 3); +diff --git a/src/libannotate/addSatellites.cpp b/src/libannotate/addSatellites.cpp +index 2634339..6d9d378 100644 +--- a/src/libannotate/addSatellites.cpp ++++ b/src/libannotate/addSatellites.cpp +@@ -488,10 +488,10 @@ loadSatelliteVector(PlanetProperties *planetProperties) + { + ifstream inFile(tleFile.c_str()); + char lines[3][80]; +- while (inFile.getline(lines[0], 80) != NULL) ++ while (!inFile.getline(lines[0], 80).eof()) + { +- if ((inFile.getline(lines[1], 80) == NULL) +- || (inFile.getline(lines[2], 80) == NULL)) ++ if ((inFile.getline(lines[1], 80).eof()) ++ || (inFile.getline(lines[2], 80).eof())) + { + ostringstream errStr; + errStr << "Malformed TLE file (" << tleFile << ")?\n"; +@@ -542,7 +542,7 @@ addSatellites(PlanetProperties *planetProperties, Planet *planet, + { + ifstream inFile(satFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline (line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline (line, MAX_LINE_LENGTH, '\n').eof()) + readSatelliteFile(line, planet, view, projection, + planetProperties, annotationMap); + +diff --git a/src/libannotate/addSpiceObjects.cpp b/src/libannotate/addSpiceObjects.cpp +index 67b752c..eeadf6e 100644 +--- a/src/libannotate/addSpiceObjects.cpp ++++ b/src/libannotate/addSpiceObjects.cpp +@@ -524,7 +524,7 @@ processSpiceKernels(const bool load) + { + ifstream inFile(kernelFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int ii = 0; + while (isDelimiter(line[ii])) +@@ -576,7 +576,7 @@ addSpiceObjects(map<double, Planet *> &planetsFromSunMap, + { + ifstream inFile(spiceFile.c_str()); + char *line = new char[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + readSpiceFile(line, planetsFromSunMap, view, projection, + annotationMap); + inFile.close(); +diff --git a/src/libmultiple/RayleighScattering.cpp b/src/libmultiple/RayleighScattering.cpp +index d885173..1be8ece 100644 +--- a/src/libmultiple/RayleighScattering.cpp ++++ b/src/libmultiple/RayleighScattering.cpp +@@ -369,7 +369,7 @@ RayleighScattering::readConfigFile(string configFile) + + diskTemplate_.clear(); + limbTemplate_.clear(); +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int i = 0; + while (isDelimiter(line[i])) +@@ -439,7 +439,7 @@ RayleighScattering::readBlock(ifstream &inFile, + values.clear(); + + char line[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int i = 0; + while (isDelimiter(line[i])) +@@ -470,7 +470,7 @@ RayleighScattering::readValue(ifstream &inFile, + double &value) + { + char line[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + int i = 0; + while (isDelimiter(line[i])) +diff --git a/src/libmultiple/drawStars.cpp b/src/libmultiple/drawStars.cpp +index ff07c49..aabdfed 100644 +--- a/src/libmultiple/drawStars.cpp ++++ b/src/libmultiple/drawStars.cpp +@@ -41,7 +41,7 @@ drawStars(DisplayBase *display, View *view) + ifstream inFile(starMap.c_str()); + + char line[MAX_LINE_LENGTH]; +- while (inFile.getline(line, MAX_LINE_LENGTH, '\n') != NULL) ++ while (!inFile.getline(line, MAX_LINE_LENGTH, '\n').eof()) + { + if (line[0] == '#') continue; + +diff --git a/src/readConfig.cpp b/src/readConfig.cpp +index cc1964f..4650527 100644 +--- a/src/readConfig.cpp ++++ b/src/readConfig.cpp +@@ -550,7 +550,7 @@ readConfigFile(string configFile, PlanetProperties *planetProperties[]) + + ifstream inFile(configFile.c_str()); + char *line = new char[256]; +- while (inFile.getline(line, 256, '\n') != NULL) ++ while (!inFile.getline(line, 256, '\n').eof()) + readConfig(line, planetProperties); + + // This condition will only be true if [default] is the only diff --git a/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch new file mode 100644 index 0000000000..bf52b0ca27 --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch @@ -0,0 +1,16 @@ +Origin: $NetBSD: patch-src_libdisplay_DisplayOutput.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $ + +Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1 + +diff -uNr xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp +--- xplanet-1.3.1/src/libdisplay/DisplayOutput.cpp 2013-02-17 01:07:47.000000000 +0530 ++++ xplanet-1.3.1.new/src/libdisplay/DisplayOutput.cpp 2020-03-28 22:08:44.432499170 +0530 +@@ -51,7 +51,7 @@ + string outputFilename = options->OutputBase(); + int startIndex = options->OutputStartIndex(); + int stopIndex = options->NumTimes() + startIndex - 1; +- if (stopIndex > 1) ++ if (stopIndex > 0) + { + const int digits = (int) (log10((double) stopIndex) + 1); + char buffer[64]; diff --git a/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch new file mode 100644 index 0000000000..58efc906dc --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-libimage_gif.c.patch @@ -0,0 +1,54 @@ +Origin: $NetBSD: patch-src_libimage_gif.c,v 1.4 2019/11/16 17:36:28 ng0 Exp $ + +Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1 + +diff -uNr xplanet-1.3.1/src/libimage/gif.c xplanet-1.3.1.new/src/libimage/gif.c +--- xplanet-1.3.1/src/libimage/gif.c 2013-02-17 01:07:47.000000000 +0530 ++++ xplanet-1.3.1.new/src/libimage/gif.c 2020-03-28 22:15:24.444309199 +0530 +@@ -21,7 +21,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> +- ++#include <stdbool.h> + #include <gif_lib.h> + + /* +@@ -178,8 +178,12 @@ + *BufferP++ = ColorMapEntry->Blue; + } + } +- ++ ++#if GIFLIB_MAJOR >= 5 ++ if (DGifCloseFile(GifFile, NULL) == GIF_ERROR) { ++#else + if (DGifCloseFile(GifFile) == GIF_ERROR) { ++#endif + return(0); + } + +@@ -493,7 +497,11 @@ + static void QuitGifError(GifFileType *GifFile) + { + fprintf(stderr, "Error writing GIF file\n"); ++#if GIFLIB_MAJOR >= 5 ++ if (GifFile != NULL) EGifCloseFile(GifFile, NULL); ++#else + if (GifFile != NULL) EGifCloseFile(GifFile); ++#endif + } + + int +@@ -589,7 +597,11 @@ + Ptr += width; + } + ++#if GIFLIB_MAJOR >= 5 ++ if (EGifCloseFile(GifFile, NULL) == GIF_ERROR) ++#else + if (EGifCloseFile(GifFile) == GIF_ERROR) ++#endif + + { + QuitGifError(GifFile); diff --git a/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch new file mode 100644 index 0000000000..a47623fa00 --- /dev/null +++ b/gnu/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch @@ -0,0 +1,15 @@ +$NetBSD: patch-src_xpUtil-Add2017LeapSecond.cpp,v 1.1 2019/11/16 17:36:28 ng0 Exp $ + +Modified by: R Veera Kumar <vkor@vkten.in> 2020-03-28; change to patch -p1 + +diff -uNr xplanet-1.3.1/src/xpUtil.cpp xplanet-1.3.1.new/src/xpUtil.cpp +--- xplanet-1.3.1/src/xpUtil.cpp 2016-03-12 08:36:47.000000000 +0530 ++++ xplanet-1.3.1.new/src/xpUtil.cpp 2020-03-28 22:19:10.629891166 +0530 +@@ -434,6 +434,7 @@ + if (jd >= toJulian(2009, 1, 1, 0, 0, 0)) delta_at++; // 34 + if (jd >= toJulian(2012, 7, 1, 0, 0, 0)) delta_at++; // 35 + if (jd >= toJulian(2015, 7, 1, 0, 0, 0)) delta_at++; // 36 ++ if (jd >= toJulian(2017, 1, 1, 0, 0, 0)) delta_at++; // 37 + + const double J2000 = toJulian(2000, 1, 1, 12, 0, 0); + const double m = m0 + m1 * (jd - J2000) * 86400; diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index e01ebe72ec..0c46a62bf7 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -111,7 +111,7 @@ listing the files modified by a patch.") (base32 "01vfvk4pqigahx82fhaaffg921ivd3k7rylz1yfvy4zbdyd32jri")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gnu-gettext))) + `(("gettext" ,gettext-minimal))) (inputs `(("perl" ,perl) ("less" ,less) ("file" ,file) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 5a536141f5..71b8177582 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 ng0 <ng0@n0.is> -;;; 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 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu> @@ -16,7 +16,7 @@ ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au> -;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. @@ -93,6 +93,78 @@ #:use-module (gnu packages xorg) #:use-module (srfi srfi-1)) +(define-public flyer-composer + (package + (name "flyer-composer") + (version "1.0rc2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "flyer-composer" version)) + (sha256 + (base32 "17igqb5dlcgcq4nimjw6cf9qgz6a728zdx1d0rr90r2z0llcchsv")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;; TODO + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (qtbase (assoc-ref inputs "qtbase")) + (qml "/lib/qt5/qml")) + (wrap-program (string-append out "/bin/flyer-composer-gui") + `("QT_PLUGIN_PATH" ":" = + (,(string-append qtbase "/lib/qt5/plugins"))) + `("QT_QPA_PLATFORM_PLUGIN_PATH" ":" = + (,(string-append qtbase "/lib/qt5/plugins/platforms")))) + #t)))))) + (inputs + `(("python-pypdf2" ,python-pypdf2) + ("python-pyqt" ,python-pyqt) + ("python-poppler-qt5" ,python-poppler-qt5) + ("qtbase" ,qtbase))) + (home-page "http://crazy-compilers.com/flyer-composer") + (synopsis "Rearrange PDF pages to print as flyers on one sheet") + (description "@command{flyer-composer} can be used to prepare one- or +two-sided flyers for printing on one sheet of paper. + +Imagine you have designed a flyer in A6 format and want to print it using your +A4 printer. Of course, you want to print four flyers on each sheet. This is +where Flyer Composer steps in, creating a PDF which holds your flyer four +times. If you have a second page, Flyer Composer can arrange it the same way +- even if the second page is in a separate PDF file. + +This package contains both the command line tool and the gui too.") + (license license:agpl3+))) + +(define-public flyer-composer-cli + (package/inherit flyer-composer + (name "flyer-composer-cli") + (arguments + `(#:tests? #f ;; TODO + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-gui + (lambda _ + (delete-file-recursively "flyer_composer/gui") + (substitute* "setup.cfg" + (("^\\s+flyer-composer-gui\\s*=.*") "")) + #t))))) + (inputs + `(("python-pypdf2" ,python-pypdf2))) + (description "@command{flyer-composer} can be used to prepare one- or +two-sided flyers for printing on one sheet of paper. + +Imagine you have designed a flyer in A6 format and want to print it using your +A4 printer. Of course, you want to print four flyers on each sheet. This is +where Flyer Composer steps in, creating a PDF which holds your flyer four +times. If you have a second page, Flyer Composer can arrange it the same way +- even if the second page is in a separate PDF file. + +This package contains only the command line tool. If you like to use the gui, +please install the @code{flyer-composer-gui} package."))) + (define-public poppler (package (name "poppler") @@ -750,7 +822,7 @@ using a stylus.") (define-public xournalpp (package (name "xournalpp") - (version "1.0.17") + (version "1.0.18") (source (origin (method git-fetch) @@ -759,7 +831,7 @@ using a stylus.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0xw2mcgnm4sa9hrhfgp669lfypw97drxjmz5w8i5whaprpvmkxzw")))) + (base32 "0a9ygbmd4dwgck3k8wsrm2grynqa0adb12wwspzmzvpisbadffjy")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DENABLE_CPPUNIT=ON") ;enable tests @@ -772,11 +844,6 @@ using a stylus.") (modify-phases %standard-phases (add-after 'unpack 'fix-permissions-on-po-files (lambda _ - ;; Always generate translations. A recent upstream patch - ;; disabled it. - (substitute* "po/CMakeLists.txt" - (("gettext_create_translations \\(\"\\$\\{potfile\\}\"\\)") - "gettext_create_translations (\"${potfile}\" ALL)")) ;; Make sure 'msgmerge' can modify the PO files. (for-each (lambda (po) (chmod po #o666)) (find-files "." "\\.po$")) @@ -785,7 +852,6 @@ using a stylus.") (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs `(("cppunit" ,cppunit) - ("gcc" ,gcc-8) ;requires gcc 8+ ("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs @@ -813,7 +879,7 @@ Xournal++ features: @item Fill shape functionality @item PDF Export (with and without paper style) @item PNG Export (with and without transparent background) -@item Allow to map different tools / colors etc. to stylus buttons / +@item Map different tools / colors etc. to stylus buttons / mouse buttons @item Sidebar with Page Previews with advanced page sorting, PDF Bookmarks and Layers (can be individually hidden, editing layer can be @@ -838,20 +904,44 @@ optimize toolbar for portrait / landscape (define-public python-reportlab (package (name "python-reportlab") - (version "3.5.32") + (version "3.5.42") (source (origin (method url-fetch) (uri (pypi-uri "reportlab" version)) (sha256 (base32 - "0lf8hil9nbm74zl27l8rydxbhwnpr0pbghibsqrc9sglds9l9vw3")))) + "0i17qgm7gzy7pzp240mkpsx9rn8rr67jh5npp5bylv3sd41g48cw")))) (build-system python-build-system) (arguments - '(;; FIXME: There is one test failure, but it does not cause the - ;; build to fail. No time to investigate right now. - #:test-target "tests")) + '(;; FIXME: There is one test failure, building the pdf manual from source, + ;; but it does not cause the build to fail. + #:test-target "tests" + #:configure-flags (list "--use-system-libart") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'find-libraries + (lambda* (#:key inputs #:allow-other-keys) + (let ((libart (assoc-ref inputs "libart-lgpl")) + (freetype (assoc-ref inputs "freetype")) + (dlt1 (assoc-ref inputs "font-curve-files"))) + (substitute* "setup.py" + (("/usr/include/libart-\\*") + (string-append libart "/include/libart-2.0")) + (("/usr/include/freetype2") + (string-append freetype "/include")) + (("http://www.reportlab.com/ftp/pfbfer-20180109.zip") + (string-append "file://" dlt1))) + #t)))))) (inputs - `(("freetype" ,freetype))) + `(("freetype" ,freetype) + ("libart-lgpl" ,libart-lgpl) + ("font-curve-files" + ,(origin + (method url-fetch) + (uri "http://www.reportlab.com/ftp/pfbfer-20180109.zip") + (sha256 + (base32 + "1v0gy4mbx02ys96ssx89420y0njknlrxs2bx64bv4rp8a0al66w5")))))) (propagated-inputs `(("python-pillow" ,python-pillow))) (home-page "https://www.reportlab.com") @@ -1166,7 +1256,7 @@ multiple files.") (define-public pdfpc (package (name "pdfpc") - (version "4.3.4") + (version "4.4.0") (source (origin (method git-fetch) @@ -1175,7 +1265,7 @@ multiple files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "07aafsm4jzdgpahz83p0ajv40hry7gviyadqi13ahr8xdhhwy2sd")))) + (base32 "0vh2r32akvasdrghkaq7ard24r2qncp34jfiyshi3zxabm9bhfaa")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no test target (inputs diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index eb02d5e05e..7c9a1d37ca 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -52,6 +52,7 @@ #:use-module (guix build-system perl) #:use-module (gnu packages base) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gd) #:use-module (gnu packages less) @@ -61,7 +62,8 @@ #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) - #:use-module (gnu packages textutils)) + #:use-module (gnu packages textutils) + #:use-module (gnu packages web)) ;;; ;;; Please: Try to add new module packages in alphabetic order. @@ -351,7 +353,7 @@ sometimes even without using a single syscall.") (build-system perl-build-system) (home-page "https://metacpan.org/pod/Attribute::Util") (synopsis "Assorted general utility attributes") - (description "This packages provides various utility functions. When used + (description "This package provides various utility functions. When used without argument, this module provides four universally accessible attributes of general interest as follows: @itemize @@ -363,6 +365,80 @@ of general interest as follows: @end itemize") (license (package-license perl)))) +(define-public perl-authen-dechpwd + (package + (name "perl-authen-dechpwd") + (version "2.007") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-" + version ".tar.gz")) + (sha256 + (base32 + "0xzind7zr2prjq3zbs2j18snfpshd4xrd7igv4kp67xl0axr6fpl")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (propagated-inputs + `(("perl-data-integer" ,perl-data-integer) + ("perl-digest-crc" ,perl-digest-crc) + ("perl-scalar-string" ,perl-scalar-string))) + (home-page "https://metacpan.org/release/Authen-DecHpwd") + (synopsis "DEC VMS password hashing") + (description "@code{Authen::DecHpwd} implements the +SYS$HASH_PASSWORD password hashing function from VMS (also known as +LGI$HPWD) and some associated VMS username and password handling +functions. The password hashing function is implemented in XS with a +pure Perl backup version for systems that cannot handle XS.") + (license gpl2+))) + +(define-public perl-authen-passphrase + (package + (name "perl-authen-passphrase") + (version "0.008") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-" + version ".tar.gz")) + (sha256 + (base32 + "0qq4krap687rxf6xr31bg5nj5dqmm1frcm7fq249v1bxc4h4bnsm")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (propagated-inputs + `(("perl-authen-dechpwd" ,perl-authen-dechpwd) + ("perl-crypt-des" ,perl-crypt-des) + ("perl-crypt-eksblowfish" ,perl-crypt-eksblowfish) + ("perl-crypt-mysql" ,perl-crypt-mysql) + ("perl-crypt-passwdmd5" ,perl-crypt-passwdmd5) + ("perl-crypt-unixcrypt_xs" ,perl-crypt-unixcrypt_xs) + ("perl-data-entropy" ,perl-data-entropy) + ("perl-digest-md4" ,perl-digest-md4) + ("perl-module-runtime" ,perl-module-runtime) + ("perl-params-classify" ,perl-params-classify))) + (home-page "https://metacpan.org/release/Authen-Passphrase") + (synopsis "Hashed passwords/passphrases as objects") + (description "@code{Authen-Passphrase} is the base class for a +system of objects that encapsulate passphrases. An object of this +type is a passphrase recogniser; its job is to recognise whether an +offered passphrase is the right one. For security such passphrase +recognisers usually do not themselves know the passphrase they are +looking for; they can merely recognise it when they see it. There are +many schemes in use to achieve this effect and the intent of this +class is to provide a consistent interface to them all. In addition +to the base class, this module also contains implementations of +several specific passphrase schemes.") + (license perl-license))) + (define-public perl-autovivification (package (name "perl-autovivification") @@ -1306,6 +1382,34 @@ that original method. @code{around} is run in place of the original method, with a hook to easily call that original method.") (license (package-license perl)))) +(define-public perl-class-mix + (package + (name "perl-class-mix") + (version "0.006") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-" + version ".tar.gz")) + (sha256 + (base32 + "02vwzzqn1s24g525arbrjh9s9j0y1inp3wbr972gh51ri51zciw7")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (propagated-inputs + `(("perl-params-classify" ,perl-params-classify))) + (home-page "https://metacpan.org/release/Class-Mix") + (synopsis "Dynamic class mixing") + (description "The @code{mix_class} function provided by this +module dynamically generates anonymous classes with specified +inheritance. This is useful where an incomplete class requires use of +a mixin in order to become instantiable.") + (license perl-license))) + (define-public perl-class-singleton (package (name "perl-class-singleton") @@ -1798,6 +1902,140 @@ CPAN::Meta object are present.") versa.") (license (package-license perl)))) +(define-public perl-crypt-cbc + (package + (name "perl-crypt-cbc") + (version "2.33") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/L/LD/LDS/Crypt-CBC-" + version ".tar.gz")) + (sha256 + (base32 + "0ig698lmpjz7fslnznxm0609lvlnvf4f3s370082nzycnqhxww3a")))) + (build-system perl-build-system) + (native-inputs + `(("perl-crypt-rijndael" ,perl-crypt-rijndael))) + (home-page "https://metacpan.org/release/Crypt-CBC") + (synopsis "Encrypt Data with Cipher Block Chaining Mode") + (description "@code{Crypt::CBC} is a Perl-only implementation of +the cryptographic Cipher Block Chaining (CBC) mode. In combination +with a block cipher such as @code{Crypt::Rijndael} you can encrypt and +decrypt messages of arbitrarily long length. The encrypted messages +are compatible with the encryption format used by SSLeay.") + (license perl-license))) + +(define-public perl-crypt-des + (package + (name "perl-crypt-des") + (version "2.07") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-DES-" + version ".tar.gz")) + (sha256 + (base32 + "1rypxlhpd1jc0c327aghgl9y6ls47drmpvn0a40b4k3vhfsypc9d")))) + (build-system perl-build-system) + (native-inputs + `(("perl-crypt-cbc" ,perl-crypt-cbc))) + (home-page "https://metacpan.org/release/Crypt-DES") + (synopsis "DES encryption module") + (description "@code{Crypt::DES} is an XS-based implementation of +the DES cryptography algorithm. The module implements the +@code{Crypt::CBC} interface which has blocksize, keysize, encrypt and +decrypt functions.") + (license bsd-3))) + +(define-public perl-crypt-eksblowfish + (package + (name "perl-crypt-eksblowfish") + (version "0.009") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-" + version ".tar.gz")) + (sha256 + (base32 + "0k01aw3qb2s4m1w4dqsc9cycyry1zg3wabdym4vp4421b1ni5irw")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (propagated-inputs + `(("perl-class-mix" ,perl-class-mix))) + (home-page "https://metacpan.org/release/Crypt-Eksblowfish") + (synopsis "The Eksblowfish block cipher") + (description "Eksblowfish is a variant of the Blowfish cipher, +modified to make the key setup very expensive. This doesn't make it +significantly cryptographically stronger but is intended to hinder +brute-force attacks. Eksblowfish is a parameterised (family-keyed) +cipher. It takes a cost parameter that controls how expensive the key +scheduling is. It also takes a family key, known as the \"salt\". +Cost and salt parameters together define a cipher family. Within each +family, the key determines the encryption function. This distribution +also includes an implementation of @code{bcrypt}, the Unix crypt() +password hashing algorithm based on Eksblowfish.") + (license perl-license))) + +(define-public perl-crypt-mysql + (package + (name "perl-crypt-mysql") + (version "0.04") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/I/IK/IKEBE/Crypt-MySQL-" + version ".tar.gz")) + (sha256 + (base32 + "1qyx6ha13r0rh80ldv5wy2bq2pa74igwh8817xlapsfgxymdzswk")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-dbd-mysql" ,perl-dbd-mysql))) + (propagated-inputs + `(("perl-digest-sha1" ,perl-digest-sha1))) + (home-page "https://metacpan.org/release/Crypt-MySQL") + (synopsis "Emulate the MySQL PASSWORD() function") + (description "@code{Crypt::MySQL} emulates the MySQL PASSWORD() +function. The module does not depend on an interface to the MySQL +database server. This enables the comparison of encrypted passwords +without the need for a real MySQL environment.") + (license perl-license))) + +(define-public perl-crypt-passwdmd5 + (package + (name "perl-crypt-passwdmd5") + (version "1.40") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-" + version ".tgz")) + (sha256 + (base32 + "0j0r74f18nk63phddzqbf7wqma2ci4p4bxvrwrxsy0aklbp6lzdp")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build))) + (home-page "https://metacpan.org/release/Crypt-PasswdMD5") + (synopsis "Interoperable MD5-based crypt() functions") + (description "@code{Crypt::PasswdMD5} provides various +crypt()-compatible interfaces to the MD5-based crypt() function found +in various *nixes. It is based on the implementation found on FreeBSD +2.2.[56]-RELEASE.") + (license perl-license))) + (define-public perl-crypt-randpasswd (package (name "perl-crypt-randpasswd") @@ -1822,6 +2060,36 @@ contained in Appendix A of FIPS Publication 181, \"Standard for Automated Password Generator\".") (license (package-license perl)))) +(define-public perl-crypt-rijndael + (package + (name "perl-crypt-rijndael") + (version "1.14") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-" + version ".tar.gz")) + (sha256 + (base32 + "03l5nwq97a8q9na4dpd4m3r7vrwpranx225vw8xm40w7zvgw6lb4")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Crypt-Rijndael") + (synopsis "Crypt::CBC compliant Rijndael encryption module") + (description "This module implements the Rijndael cipher which has +been selected as the Advanced Encryption Standard. The keysize for +Rijndael is 32 bytes. The blocksize is 16 bytes (128 bits). The +supported encryption modes are: + +@itemize +@item @code{MODE_CBC}---Cipher Block Chaining +@item @code{MODE_CFB}---Cipher feedback +@item @code{MODE_CTR}---Counter mode +@item @code{MODE_ECB}---Electronic cookbook mode +@item @code{MODE_OFB}---Output feedback +@end itemize") + (license gpl3))) + (define-public perl-crypt-rc4 (package (name "perl-crypt-rc4") @@ -1842,6 +2110,29 @@ Password Generator\".") (description "A pure Perl implementation of the RC4 algorithm.") (license (package-license perl)))) +(define-public perl-crypt-unixcrypt_xs + (package + (name "perl-crypt-unixcrypt_xs") + (version "0.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/B/BO/BORISZ/Crypt-UnixCrypt_XS-" + version ".tar.gz")) + (sha256 + (base32 + "1ajg3x6kwxy4x9p3nw1j36qjxpjvdpi9wkca5gfd86y9q8939sv2")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Crypt-UnixCrypt_XS") + (synopsis "XS interface for a portable traditional crypt function") + (description "@code{Crypt::UnixCrypt_XS} implements the DES-based +Unix @code{crypt} function. For those who need to construct +non-standard variants of @code{crypt}, the various building blocks +used in @code{crypt} are also supplied separately.") + ;; Files in the 'fcrypt' directory are covered by a BSD licence. + (license (list perl-license bsd-3)))) + (define-public perl-cwd-guard (package (name "perl-cwd-guard") @@ -1956,6 +2247,71 @@ input.") they are copies of each other.") (license (package-license perl)))) +(define-public perl-data-entropy + (package + (name "perl-data-entropy") + (version "0.007") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-" + version ".tar.gz")) + (sha256 + (base32 + "1r176jjzir2zg5kidx85f7vzi6jsw7ci9vd4kvbr9183lfhw8496")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (propagated-inputs + `(("perl-crypt-rijndael" ,perl-crypt-rijndael) + ("perl-data-float" ,perl-data-float) + ("perl-http-lite" ,perl-http-lite) + ("perl-params-classify" ,perl-params-classify))) + (home-page "https://metacpan.org/release/Data-Entropy") + (synopsis "Entropy (randomness) management") + (description "@code{Data::Entropy} provides modules relating to +the generation and use of entropy. The Data::Entropy::Source class +manages the entropy coming from a particular source. This class acts +as a layer over a raw entropy source, which may be a normal I/O handle +or a special-purpose class. The Data::Entropy::RawSource::* classes +provide fundamental sources of entropy. The sources specially +supported are an OS-supplied entropy collector, downloads from servers +on the Internet, and cryptographic fake entropy. The +Data::Entropy::Algorithms module contains a collection of fundamental +algorithms that use entropy. There are random number generators and +functions to shuffle arrays.") + (license perl-license))) + +(define-public perl-data-integer + (package + (name "perl-data-integer") + (version "0.006") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-" + version ".tar.gz")) + (sha256 + (base32 + "0m53zxhx9sn49yqh7azlpyy9m65g54v8cd2ha98y77337gg7xdv3")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "https://metacpan.org/release/Data-Integer") + (synopsis "Details of the native integer data type") + (description "This module is about the native integer numerical +data type. A native integer is one of the types of datum that can +appear in the numeric part of a Perl scalar. This module supplies +constants describing the native integer type. Both signed and +unsigned representations are handled.") + (license perl-license))) + (define-public perl-data-uniqid (package (name "perl-data-uniqid") @@ -2036,6 +2392,34 @@ statement. It handles self-referential structures correctly.") indentation and newlines plus sub deparsing.") (license (package-license perl)))) +(define-public perl-data-float + (package + (name "perl-data-float") + (version "0.013") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-" + version ".tar.gz")) + (sha256 + (base32 + "12ji4yf3nc965rqqgfhr96w7irpm6n1g15nivfxvhc49hlym5cg2")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "https://metacpan.org/release/Data-Float") + (synopsis "Details of the floating point data type") + (description "@code{Data::Float} is about the native floating +point numerical data type. A floating point number is one of the +types of datum that can appear in the numeric part of a Perl scalar. +This module supplies constants describing the native floating point +type, classification functions and functions to manipulate floating +point values at a low level.") + (license perl-license))) + (define-public perl-data-optlist (package (name "perl-data-optlist") @@ -2824,6 +3208,39 @@ format of RSS 1.0. It can be used to parse these formats in order to create the appropriate objects.") (license (package-license perl)))) +(define-public perl-devel-callchecker + (package + (name "perl-devel-callchecker") + (version "0.008") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Devel-CallChecker-" + version ".tar.gz")) + (sha256 + (base32 + "1p0ij2k2i81zhl7064h9ghld1w5xy2zsbghkpdzm2hjryl5lwn2x")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (propagated-inputs + `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check) + ("perl-dynaloader-functions" ,perl-dynaloader-functions))) + (home-page "https://metacpan.org/release/Devel-CallChecker") + (synopsis "Custom op checking attached to subroutines") + (description "This module makes some new features of the Perl +5.14.0 C API available to XS modules running on older versions of +Perl. The features are centred around the function +@code{cv_set_call_checker}, which allows XS code to attach a magical +annotation to a Perl subroutine, resulting in resolvable calls to that +subroutine being mutated at compile time by arbitrary C code. This +module makes @code{cv_set_call_checker} and several supporting +functions available.") + (license perl-license))) + (define-public perl-devel-caller (package (name "perl-devel-caller") @@ -3132,6 +3549,27 @@ each stack frame.") (description "Devel::Symdump provides access to the perl symbol table.") (license (package-license perl)))) +(define-public perl-digest-crc + (package + (name "perl-digest-crc") + (version "0.22") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-" + version ".2.tar.gz")) + (sha256 + (base32 + "1jvqcyrbi11cj3vlfc9sq2g6rv9caizyjkjqsksvmxn6zgvm0aqi")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Digest-CRC") + (synopsis "Generic CRC functions") + (description "The @code{Digest::CRC} module calculates CRC sums of +all sorts. It contains wrapper functions with the correct parameters +for CRC-CCITT, CRC-16 and CRC-32.") + (license public-domain))) + (define-public perl-digest-hmac (package (name "perl-digest-hmac") @@ -3151,6 +3589,29 @@ each stack frame.") interface for the RFC 2104 HMAC mechanism.") (license (package-license perl)))) +(define-public perl-digest-md4 + (package + (name "perl-digest-md4") + (version "1.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/Digest-MD4-" + version ".tar.gz")) + (sha256 + (base32 + "19ma1hmvgiznq95ngzvm6v4dfxc9zmi69k8iyfcg6w14lfxi0lb6")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/Digest-MD4") + (synopsis "Interface to the MD4 Algorithm") + (description "The @code{Digest::MD4} module allows you to use the +RSA Data Security Inc.@: MD4 Message Digest algorithm from within Perl +programs. The algorithm takes as input a message of arbitrary length +and produces as output a 128-bit \"fingerprint\" or \"message digest\" +of the input. MD4 is described in RFC 1320.") + (license perl-license))) + (define-public perl-digest-md5 (package (name "perl-digest-md5") @@ -3221,6 +3682,32 @@ SHA-1 message digest algorithm for use by Perl programs.") modules separately and deal with them after the module is done installing.") (license (package-license perl)))) +(define-public perl-dynaloader-functions + (package + (name "perl-dynaloader-functions") + (version "0.003") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/DynaLoader-Functions-" + version ".tar.gz")) + (sha256 + (base32 + "10x13q920j9kid7vmbj6fiaz153042dy4mwdmpzrdrxw2ir39ciy")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "https://metacpan.org/release/DynaLoader-Functions") + (synopsis "Deconstructed dynamic C library loading") + (description "This module provides a function-based interface to +dynamic loading as used by Perl. Some details of dynamic loading are +very platform-dependent, so correct use of these functions requires +the programmer to be mindfulof the space of platform variations.") + (license perl-license))) + (define-public perl-encode-detect (package (name "perl-encode-detect") @@ -7260,6 +7747,40 @@ operations that can be done in parallel where the number of processes to be forked off should be limited.") (license (package-license perl)))) +(define-public perl-params-classify + (package + (name "perl-params-classify") + (version "0.015") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-" + version ".tar.gz")) + (sha256 + (base32 + "052r198xyrsv8wz21gijdigz2cgnidsa37nvyfzdiz4rv1fc33ir")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (propagated-inputs + `(("perl-devel-callchecker" ,perl-devel-callchecker))) + (home-page "https://metacpan.org/release/Params-Classify") + (synopsis "Argument type classification") + (description "This module provides various type-testing functions. +These are intended for functions that care what type of data they are +operating on. There are two flavours of function. Functions of the +first flavour provide type classification only. Functions of the +second flavour also check that an argument is of an expected type. +The type enforcement functions handle only the simplest requirements +for arguments of the types handled by the classification functions. +Enforcement of more complex types may be built using the +classification functions, or it may be more convenient to use a module +designed for the more complex job, such as @code{Params::Validate}") + (license perl-license))) + (define-public perl-params-util (package (name "perl-params-util") @@ -7761,6 +8282,37 @@ and @code{deserialize_regexp}.") safely on things that may not be objects.") (license (package-license perl)))) +(define-public perl-scalar-string + (package + (name "perl-scalar-string") + (version "0.003") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-" + version ".tar.gz")) + (sha256 + (base32 + "0llbsqk7rsg9p7l1f4yk6iv7wij91gvavprsqhnb04w7nz4ifjpm")))) + (build-system perl-build-system) + (native-inputs + `(("perl-module-build" ,perl-module-build) + ("perl-test-pod" ,perl-test-pod) + ("perl-test-pod-coverage" ,perl-test-pod-coverage))) + (home-page "https://metacpan.org/release/Scalar-String") + (synopsis "String aspects of scalars") + (description "@code{Scalar::String} is about the string part of +plain Perl scalars. A scalar has a string value, which is notionally +a sequence of Unicode codepoints but may be internally encoded in +either ISO-8859-1 or UTF-8. In places, more so in older versions of +Perl, the internal encoding shows through. To fully understand Perl +strings it is necessary to understand these implementation details. +This module provides functions to classify a string by encoding and to +encode a string in a desired way. The module is implemented in XS, +with a pure Perl backup version for systems that cannot handle XS.") + (license perl-license))) + (define-public perl-scope-guard (package (name "perl-scope-guard") diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 585289daf1..1e9fab6ef3 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -483,6 +484,10 @@ photographic equipment.") (string-append (assoc-ref inputs "ilmbase") "/include/OpenEXR:" (or (getenv "CPATH") ""))) #t))))) + (native-inputs + `(("intltool" ,intltool) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) (inputs `(("libxslt" ,libxslt) ("libxml2" ,libxml2) @@ -502,9 +507,6 @@ photographic equipment.") ("ilmbase" ,ilmbase) ("libsoup" ,libsoup) ("python-jsonschema" ,python-jsonschema) - ("intltool" ,intltool) - ("perl" ,perl) - ("pkg-config" ,pkg-config) ("libwebp" ,libwebp) ("lensfun" ,lensfun) ("librsvg" ,librsvg) @@ -523,7 +525,7 @@ and enhance them.") (define-public hugin (package (name "hugin") - (version "2019.0.0") + (version "2019.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hugin/hugin/hugin-" @@ -531,10 +533,10 @@ and enhance them.") "/hugin-" version ".tar.bz2")) (sha256 (base32 - "1l925qslp98gg7yzmgps10h6dq0nb60wbfk345anlxsv0g2ifizr")))) + "0gjsm5bgz10wbr5q3y74f8dzb238dh32xx0p5wa3yca6lbzbv9lb")))) (build-system cmake-build-system) (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index e58d82dab1..438e9fca83 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2016-2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> @@ -59,7 +59,7 @@ (define-public php (package (name "php") - (version "7.4.4") + (version "7.4.5") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -67,7 +67,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0k57zj1z8kf8403rd72wymj08bswpa5ikcpzviw9mpykzp7c8wqq")) + "0b1wybhqjlnc94qzixhycg9i0w39fqlhm80mvbmd5i5xamzzsnfh")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -341,6 +341,3 @@ systems, web content management systems and web frameworks." ) license:lgpl2.1+ ; ext/bcmath/libbcmath license:bsd-2 ; ext/fileinfo/libmagic license:expat)))) ; ext/date/lib - -(define-public php-with-bcmath - (deprecated-package "php-with-bcmath" php)) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index 18e557611e..f7655c3535 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,11 +72,11 @@ (build-system gnu-build-system) (inputs `(("psutils" ,psutils) - ("groff" ,groff) ("gv" ,gv) ("imagemagick" ,imagemagick))) (native-inputs `(("gperf" ,gperf) + ("groff" ,groff) ("perl" ,perl))) (arguments '(#:phases diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index c2853dcd82..a1500392fc 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -31,6 +31,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix l:) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -233,10 +234,11 @@ sound server.") (sha256 (base32 "14486c6lmmirkhscbfygz114f6yzf97h35n3h3pdr27w4mdfmlmk")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (inputs - `(("libcanberra" ,libcanberra) + `(("adwaita-icon-theme" ,adwaita-icon-theme) ;hard-coded theme ("gtkmm" ,gtkmm) + ("libcanberra" ,libcanberra) ("pulseaudio" ,pulseaudio))) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 70a5b1e452..22b9ea8df5 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,26 +38,39 @@ (define-public python-coveralls (package (name "python-coveralls") - (version "1.6.0") + (version "1.11.1") + (home-page "https://github.com/coveralls-clients/coveralls-python") (source (origin - (method url-fetch) - (uri (pypi-uri "coveralls" version)) + ;; The PyPI release lacks tests, so we pull from git instead. + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1dswhd2q2412wrldi97hdwlsymj9pm79v7pvjx53z5wh2d33w8bg")))) + "1zr1lqdjcfwj6wcx2449mzzjq8bbhwnqcm5vdif5s8hlz35bjxkp")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'disable-git-test + (lambda _ + ;; Remove test that requires 'git' and the full checkout. + (delete-file "tests/git_test.py") + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "pytest" "-vv") + (format #t "test suite not run~%")) + #t))))) (propagated-inputs `(("python-coverage" ,python-coverage) ("python-docopt" ,python-docopt) ("python-pyyaml" ,python-pyyaml) - ("python-requests" ,python-requests) - ("python-sh" ,python-sh) - ("python-urllib3" ,python-urllib3))) + ("python-requests" ,python-requests))) (native-inputs `(("python-mock" ,python-mock) ("python-pytest" ,python-pytest))) - (home-page "https://github.com/coveralls-clients/coveralls-python") (synopsis "Show coverage stats online via coveralls.io") (description "Coveralls.io is a service for publishing code coverage statistics online. diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 4b3db6d5e0..530a2478f3 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -195,9 +195,6 @@ routines such as routines for numerical integration and optimization.") "Scikit-image is a collection of algorithms for image processing.") (license license:bsd-3))) -(define-public python2-scikit-image - (package-with-python2 python-scikit-image)) - (define-public python-pandas (package (name "python-pandas") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 26e2fe04ec..6b77a9d949 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -34,6 +34,7 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> +;;; Copyright © 2020 Holger Peters <holger.peters@posteo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -90,10 +91,23 @@ (uri (pypi-uri "aiohttp" version)) (sha256 (base32 - "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5")))) + "09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5")) + (patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch")))) + (build-system python-build-system) (arguments - `(#:tests? #f)) ;missing pytest-timeout + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; disable brotli tests, because we’re not providing that optional library + (substitute* "tests/test_http_parser.py" + ((" async def test_feed_eof_no_err_brotli") + " @pytest.mark.xfail\n async def test_feed_eof_no_err_brotli")) + ;; make sure the timestamp of this file is > 1990, because a few + ;; tests like test_static_file_if_modified_since_past_date depend on it + (invoke "touch" "-d" "2020-01-01" "tests/data.unknown_mime_type") + #t))))) (propagated-inputs `(("python-aiodns" ,python-aiodns) ("python-async-timeout" ,python-async-timeout) @@ -102,6 +116,15 @@ ("python-idna-ssl" ,python-idna-ssl) ("python-multidict" ,python-multidict) ("python-yarl" ,python-yarl))) + (native-inputs + `(("python-pytest-runner" ,python-pytest-runner) + ("python-pytest-xdit" ,python-pytest-xdist) + ("python-pytest-timeout" ,python-pytest-timeout) + ("python-pytest-forked" ,python-pytest-forked) + ("python-pytest-mock" ,python-pytest-mock) + ("gunicorn" ,gunicorn-bootstrap) + ("python-freezegun" ,python-freezegun) + ("python-async-generator" ,python-async-generator))) (home-page "https://github.com/aio-libs/aiohttp/") (synopsis "Async HTTP client/server framework (asyncio)") (description "@code{aiohttp} is an asynchronous HTTP client/server @@ -946,14 +969,14 @@ your Web app.") (define-public python-webob (package (name "python-webob") - (version "1.5.1") + (version "1.8.3") (source (origin (method url-fetch) (uri (pypi-uri "WebOb" version)) (sha256 (base32 - "02bhhzijfhv8hmi1i54d4b0v43liwhnywhflvxsv4x3zax9s3afq")))) + "1cpqskanmvwia8wqlpcr3ykyxysynjdnbl5namvpg8vw6jnkv1dh")))) (build-system python-build-system) (native-inputs `(("python-nose" ,python-nose))) @@ -1695,17 +1718,19 @@ and to spawn subprocesses to handle requests.") (define-public python-pastedeploy (package (name "python-pastedeploy") - (version "1.5.2") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "PasteDeploy" version)) (sha256 - (base32 - "1jz3m4hq8v6hyhfjz9425nd3nvn52cvbfipdcd72krjmla4qz1fm")))) + (base32 "16qsq5y6mryslmbp5pn35x4z8z3ndp5rpgl42h226879nrw9hmg7")))) (build-system python-build-system) + (arguments + '(#:test-target "pytest")) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) (home-page "https://pylonsproject.org/") (synopsis "Load, configure, and compose WSGI applications and servers") @@ -1752,13 +1777,13 @@ minimum of WSGI.") (define-public python-flask (package (name "python-flask") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (pypi-uri "Flask" version)) (sha256 (base32 - "0ljdjgyjn7vh8ic1n1dc2l1cl421i6pr3kx5sz2w5irhyfbg3y8k")))) + "0q3h295izcil7lswkzfnyg3k5gq4hpmqmpl6i7s5m1n9szi1myjf")))) (build-system python-build-system) (arguments '(#:phases @@ -2650,7 +2675,7 @@ for Flask programs that are using @code{python-alembic}.") (define-public python-genshi (package (name "python-genshi") - (version "0.7.2") + (version "0.7.3") (source (origin (method git-fetch) @@ -2659,7 +2684,7 @@ for Flask programs that are using @code{python-alembic}.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "06rch30x10l105k5b6rahd839lkhmgrzn6691wbci0cb2fzps32w")))) + (base32 "04bw7nd4wyn8ixnhik57hny2xpjjpn80k5hp6691inix5gc6rxaf")))) (build-system python-build-system) (home-page "https://genshi.edgewall.org/") (synopsis "Toolkit for generation of output for the web") @@ -2784,7 +2809,7 @@ List.") ;; the unused ‘update_psl’ helper command. (substitute* "setup.py" (("'requests " match) - (format "# ~a" match))) + (format #f "# ~a" match))) #t))) #:tests? #f)) ; the test suite requires network access (home-page "https://github.com/pombredanne/python-publicsuffix2") @@ -3390,14 +3415,14 @@ hard or impossible to fix in cssselect.") (define-public gunicorn (package (name "gunicorn") - (version "20.0.0") + (version "20.0.4") (source (origin (method url-fetch) (uri (pypi-uri "gunicorn" version)) (sha256 (base32 - "0l1zm8a0vz8ws3lkn8q9a0f93ipdzyvlf2zlwdj5xyadh6jdwsgg")))) + "09n6fc019bgrvph1s5h1lwhn2avcsprw6ncd203qhra3i8mvn10r")))) (outputs '("out" "doc")) (build-system python-build-system) (arguments @@ -3413,11 +3438,6 @@ hard or impossible to fix in cssselect.") (lambda _ (setenv "PYTHONPATH" (string-append ".:" (getenv "PYTHONPATH"))) - ;; Remove test modules failing due to libc not found due to - ;; section '.dynamic' not found in libc.so - (delete-file "tests/test_arbiter.py") - (delete-file "tests/test_config.py") - (delete-file "tests/test_sock.py") (invoke "pytest"))) (add-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) @@ -3452,6 +3472,16 @@ various web frameworks, simply implemented, light on server resources, and fairly speedy.") (license license:expat))) +;; break cyclic dependency for python-aiohttp, which depends on gunicorn for +;; its tests +(define-public gunicorn-bootstrap + (package + (inherit gunicorn) + (name "gunicorn") + (arguments `(#:tests? #f)) + (properties '((hidden? . #t))) + (native-inputs `()))) + (define-public python-translation-finder (package (name "python-translation-finder") diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d63b71c14e..31cafd47d1 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com> ;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2016, 2020 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.name> @@ -39,7 +39,7 @@ ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> ;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org> -;;; Copyright © 2017 Roel Janssen <roel@gnu.org> +;;; Copyright © 2017, 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com> @@ -63,7 +63,7 @@ ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com> -;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> +;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019, 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> @@ -74,6 +74,8 @@ ;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> +;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com> +;;; Copyright © 2020 Matthew Kraai <kraai@ftbfs.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -638,6 +640,30 @@ certificate returned by the server to which a connection has been established, and verifies that it matches the intended target hostname.") (license license:psfl))) +(define-public python-bitarray + (package + (name "python-bitarray") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (pypi-uri "bitarray" version)) + (sha256 + (base32 + "1kxrlxfj9nrx512sfwifwl9z4v6ky3qschl0zmk3s3dvc3s7bmif")))) + (build-system python-build-system) + (home-page "https://github.com/ilanschnell/bitarray") + (synopsis "Efficient arrays of booleans") + (description "This package provides an object type which efficiently +represents an array of booleans. Bitarrays are sequence types and behave very +much like usual lists. Eight bits are represented by one byte in a contiguous +block of memory. The user can select between two representations: +little-endian and big-endian. All of the functionality is implemented in C. +Methods for accessing the machine representation are provided. This can be +useful when bit level access to binary files is required, such as portable +bitmap image files. Also, when dealing with compressed data which uses +variable bit length encoding, you may find this module useful.") + (license license:psfl))) + (define-public python-boolean.py (package (name "python-boolean.py") @@ -980,8 +1006,17 @@ to rebuild the original object tree. Because only safe literals are encoded, it is safe to send serpent data to other machines, such as over the network.") + (properties `((python2-variant . ,(delay python2-serpent)))) (license license:expat))) +(define-public python2-serpent + (let ((base (package-with-python2 (strip-python2-variant python-serpent)))) + (package + (inherit base) + (propagated-inputs + `(("python-enum34" ,python2-enum34) + ,@(package-propagated-inputs base)))))) + (define-public python-setuptools (package (name "python-setuptools") @@ -1107,6 +1142,207 @@ helpers.") (define-public python2-humanfriendly (package-with-python2 python-humanfriendly)) +(define-public python-textparser + (package + (name "python-textparser") + (version "0.23.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "textparser" version)) + (sha256 + (base32 + "0w5lyhrsvzs5a9q1l3sjgxgljrvd3ybf796w93kc39wayzvd02gh")))) + (build-system python-build-system) + (home-page "https://github.com/eerimoq/textparser") + (synopsis "Fast text parser for Python") + (description "This library provides a text parser written in the Python +language. It aims to be fast.") + (license license:expat))) + +(define-public python-aenum + (package + (name "python-aenum") + (version "2.2.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "aenum" version)) + (sha256 + (base32 + "1s3008rklv4n1kvmq6xdbdfyrpl0gf1rhqasmd27s5kwyjmlqcx4")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda _ + (format #t "current working dir ~s~%" (getcwd)) + (setenv "PYTHONPATH" + (string-append ".:" (getenv "PYTHONPATH"))) + ;; We must run the test suite module directly, as it + ;; fails to define the 'tempdir' variable in scope for + ;; the tests otherwise + ;; (see:https://bitbucket.org/stoneleaf/aenum/\ + ;; issues/32/running-tests-with-python-setuppy-test). + (invoke "python3" "aenum/test.py") + ;; This one fails with "NameError: name + ;; 'test_pickle_dump_load' is not defined" (see: + ;; https://bitbucket.org/stoneleaf/aenum/issues/33 + ;; /error-running-the-test_v3py-test-suite). + ;; (invoke "python3" "aenum/test_v3.py") + #t))))) + (home-page "https://bitbucket.org/stoneleaf/aenum") + (synopsis "Advanced enumerations, namedtuples and constants for Python") + (description "The aenum library includes an @code{Enum} base class, a +metaclass-based @code{NamedTuple} implementation and a @code{NamedConstant} +class.") + (license license:bsd-3))) + +(define-public python-can + (package + (name "python-can") + (version "3.3.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-can" version)) + (sha256 + (base32 + "0bkbxi45sckzir6s0j3h01pkfn4vkz3ymih2zjp7zw77wz0vbvsz")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-broken-tests + ;; The tests try to run two scripts it expects should be + ;; in PATH, but they aren't at this time (see: + ;; https://github.com/hardbyte/python-can/issues/805). + (lambda _ + (substitute* "test/test_scripts.py" + (("\"can_logger\\.py --help\"") "") + (("\"can_player\\.py --help\"") "")) + #t))))) + (propagated-inputs + `(("python-aenum" ,python-aenum) + ("python-wrapt" ,python-wrapt))) + (native-inputs + `(("python-codecov" ,python-codecov) + ("python-future" ,python-future) + ("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-pyserial" ,python-pyserial) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-runner" ,python-pytest-runner) + ("python-pytest-timeout" ,python-pytest-timeout))) + (home-page "https://github.com/hardbyte/python-can") + (synopsis "Controller Area Network (CAN) interface module for Python") + (description "This package defines the @code{can} module, which provides +controller area network (CAN) support for Python developers; providing common +abstractions to different hardware devices, and a suite of utilities for +sending and receiving messages on a CAN bus.") + (license license:gpl3+))) + +(define-public python-diskcache + (package + (name "python-diskcache") + (version "4.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "diskcache" version)) + (sha256 + (base32 + "1q2wz5sj16zgyy1zpq516qgbnfwsavk1pl2qks0f4r62z5cmmvmw")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ;test suite not included in the release + (home-page "http://www.grantjenks.com/docs/diskcache/") + (synopsis "Disk and file backed cache library") + (description "DiskCache is a disk and file backed persistent cache.") + (license license:asl2.0))) + +(define-public python-bitstruct + (package + (name "python-bitstruct") + (version "8.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bitstruct" version)) + (sha256 + (base32 + "1fpc1qh1vss05ap29xvhjp200fm0q4pvgcjl0qpryh7ay6xgr5vx")))) + (build-system python-build-system) + (home-page "https://github.com/eerimoq/bitstruct") + (synopsis "Python values to and C bit field structs converter") + (description "This module performs conversions between Python values and C +bit field structs represented as Python byte strings. It is intended to have +a similar interface as the @code{struct} module from Python, but working on +bits instead of primitive data types like @code{char}, @code{int}, etc.") + (license license:expat))) + +(define-public python-cantools + (package + (name "python-cantools") + (version "33.1.1") + (source + (origin + ;; We take the sources from the Git repository as the documentation is + ;; not included with the PyPI archive. + (method git-fetch) + (uri (git-reference + (url "https://github.com/eerimoq/cantools.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aad137yd8b4jkfvlv812qsxmxcgra7g1p4wbxfsjy1cbf8fbq9q")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + ;; See: https://github.com/eerimoq/cantools/issues/190. + (substitute* "README.rst" + (("https://github.com/eerimoq/cantools/raw/master\ +/docs/monitor.png") + "monitor.png")) + (with-directory-excursion "docs" + (invoke "make" "man" "info")))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info")) + (man1 (string-append out "/share/man/man1"))) + (format #t "CWD: ~s~%" (getcwd)) + (install-file "docs/_build/texinfo/cantools.info" info) + (install-file "docs/_build/man/cantools.1" man1) + #t)))))) + (native-inputs + `(("sphinx" ,python-sphinx) + ("texinfo" ,texinfo))) + (propagated-inputs + `(("python-bitstruct" ,python-bitstruct) + ("python-can" ,python-can) + ("python-diskcache" ,python-diskcache) + ("python-textparser" ,python-textparser))) + (home-page "https://github.com/eerimoq/cantools") + (synopsis "Tools for the Controller Area Network (CAN) bus protocol") + (description "This package includes Controller Area Network (CAN) related +tools that can be used to: +@itemize +@item parse DBC, KCD, SYM, ARXML 4 and CDD files +@item encode and decode CAN messages +@item multiplex simple and extended signals +@item diagnose DID encoding and decoding +@item dump the CAN decoder output +@item test CAN nodes +@item generate C source code +@item monitor the CAN bus +@end itemize") + (license license:expat))) + (define-public python-capturer (package (name "python-capturer") @@ -1487,14 +1723,14 @@ Python 3.3+.") (define-public python-pyicu (package (name "python-pyicu") - (version "2.3.1") + (version "2.4.3") (source (origin (method url-fetch) (uri (pypi-uri "PyICU" version)) (sha256 (base32 - "1x4w8m7ifki9z2a187pgjr33z6z0rp2fii9b73djak1vhm9v9cnx")))) + "075bw66b3w0nw6mc5k32fwmrhyrmq3d7da3q2mw212qfmm0pgjn0")))) (build-system python-build-system) (inputs `(("icu4c" ,icu4c))) @@ -1505,24 +1741,10 @@ Python 3.3+.") (synopsis "Python extension wrapping the ICU C++ API") (description "PyICU is a python extension wrapping the ICU C++ API.") - (properties `((python2-variant . ,(delay python2-pyicu)))) (license license:x11))) (define-public python2-pyicu - (let ((base (package-with-python2 - (strip-python2-variant python-pyicu)))) - (package - (inherit base) - (arguments - `(,@(package-arguments base) - #:phases - (modify-phases %standard-phases - (add-before 'check 'delete-failing-test - (λ _ - ;; XXX: This fails due to Unicode issues unique to Python 2, - ;; it seems: <https://github.com/ovalhub/pyicu/issues/61>. - (delete-file "test/test_Script.py") - #t)))))))) + (package-with-python2 python-pyicu)) (define-public python2-dogtail ;; Python 2 only, as it leads to "TabError: inconsistent use of tabs and @@ -2057,14 +2279,14 @@ from git information. (define-public python-pyrsistent (package (name "python-pyrsistent") - (version "0.15.7") + (version "0.16.0") (home-page "https://github.com/tobgu/pyrsistent") (source (origin (method url-fetch) (uri (pypi-uri "pyrsistent" version)) (sha256 (base32 - "103j63g6lb5dfspph96zxjdpnq9h991kazd4f09ddgkpxpivbiyd")))) + "1lrsjgblnapfimd0alsi1as5nz2lfqv97131l7d6anbjzq2rjri8")))) (build-system python-build-system) (native-inputs `(("python-hypothesis" ,python-hypothesis) @@ -2594,14 +2816,14 @@ environments and back.") (define-public python-pyyaml (package (name "python-pyyaml") - (version "5.3") + (version "5.3.1") (source (origin (method url-fetch) (uri (pypi-uri "PyYAML" version)) (sha256 (base32 - "058nd4p8f25wwzy2aiwh18wcrdm6663cqbfdkgjp8y9cp7ampx79")))) + "0pb4zvkfxfijkpgd1b86xjsqql97ssf1knbd1v53wkg1qm9cgsmq")))) (build-system python-build-system) (inputs `(("libyaml" ,libyaml))) @@ -2611,8 +2833,7 @@ environments and back.") "PyYAML is a YAML parser and emitter for Python. PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support, capable extension API, and sensible error messages. PyYAML supports standard YAML tags and -provides Python-specific tags that allow to represent an arbitrary Python -object.") +provides Python-specific tags that represent an arbitrary Python object.") (license license:expat))) (define-public python2-pyyaml @@ -3341,7 +3562,7 @@ receive files via the SCP1 protocol, as implemented by the OpenSSH ;; Note: As of version 1.7 the documentation is not worth building. (home-page "https://github.com/jaraco/rst.linker") (synopsis "Sphinx plugin to add links and timestamps") - (description "rst.linker allows to automatically replace text by a + (description "rst.linker automatically replaces text by a reStructuredText external reference or timestamps. It's primary purpose is to augment the changelog, but it can be used for other documents, too.") (license license:expat))) @@ -3656,14 +3877,14 @@ provides additional functionality on the produced Mallard documents.") (define-public python-cython (package (name "python-cython") - (version "0.29.15") + (version "0.29.16") (source (origin (method url-fetch) (uri (pypi-uri "Cython" version)) (sha256 (base32 - "0c5cjyxfvba6c0vih1fvhywp8bpz30vwvbjqdm1q1k55xzhmkn30")))) + "01gs10myw0rw4jsikvqs0859fg7gficxhv508cxvnb4l9wl5a9r3")))) (build-system python-build-system) ;; we need the full python package and not just the python-wrapper ;; because we need libpython3.3m.so @@ -5686,6 +5907,112 @@ away.") (define-public python2-ipython-genutils (package-with-python2 python-ipython-genutils)) +(define-public python-ipyparallel + (package + (name "python-ipyparallel") + (version "6.2.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ipyparallel" version)) + (sha256 + (base32 + "0rf0dbpxf5z82bw8lsjj45r3wdd4wc74anz4wiiaf2rbjqlb1ivn")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; RuntimeError: IO Loop failed to start + #:phases + (modify-phases %standard-phases + (add-before 'check 'prepare-for-tests + (lambda _ + (setenv "HOME" (getcwd)) + #t))))) + (propagated-inputs + `(("python-dateutil" ,python-dateutil) + ("python-decorator" ,python-decorator) + ("python-ipykernel" ,python-ipykernel) + ("python-ipython" ,python-ipython) + ("python-ipython-genutils" ,python-ipython-genutils) + ("python-jupyter-client" ,python-jupyter-client) + ("python-pyzmq" ,python-pyzmq) + ("python-tornado" ,python-tornado) + ("python-traitlets" ,python-traitlets))) + (native-inputs + `(("python-ipython" ,python-ipython) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-testpath" ,python-testpath))) + (home-page "https://ipython.org/") + (synopsis "Interactive Parallel Computing with IPython") + (description + "@code{ipyparallel} is a Python package and collection of CLI scripts for +controlling clusters for Jupyter. @code{ipyparallel} contains the following +CLI scripts: +@enumerate +@item ipcluster - start/stop a cluster +@item ipcontroller - start a scheduler +@item ipengine - start an engine +@end enumerate") + (license license:bsd-3))) + +(define-public python2-ipyparallel + (let ((ipyparallel (package-with-python2 python-ipyparallel))) + (package + (inherit ipyparallel) + (propagated-inputs + `(("python2-futures" ,python2-futures) + ,@(package-propagated-inputs ipyparallel)))))) + +(define-public python-ipython-cluster-helper + (package + (name "python-ipython-cluster-helper") + (version "0.6.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ipython-cluster-helper" version)) + (sha256 + (base32 + "1l6mlwxlkxpbvawfwk6qffich7ahg9hq2bxfissgz6144p3k4arj")) + (modules '((guix build utils))) + (snippet + '(begin (substitute* "requirements.txt" + (("ipython.*") "ipython\n")) + #t)))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; Test suite can't find IPython. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (if tests? + (begin + (setenv "HOME" (getcwd)) + (add-installed-pythonpath inputs outputs) + (invoke "python" "example/example.py" "--local")) + #t)))))) + (propagated-inputs + `(("python-ipyparallel" ,python-ipyparallel) + ("python-ipython" ,python-ipython) + ("python-netifaces" ,python-netifaces) + ("python-pyzmq" ,python-pyzmq) + ("python-setuptools" ,python-setuptools) + ("python-six" ,python-six))) + (home-page "https://github.com/roryk/ipython-cluster-helper") + (synopsis + "Simplify IPython cluster start up and use for multiple schedulers") + (description + "@code{ipython-cluster-helper} creates a throwaway parallel IPython +profile, launches a cluster and returns a view. On program exit it shuts the +cluster down and deletes the throwaway profile.") + (license license:expat))) + +(define-public python2-ipython-cluster-helper + (package-with-python2 python-ipython-cluster-helper)) + (define-public python-traitlets (package (name "python-traitlets") @@ -6150,14 +6477,14 @@ computing.") (define-public python-urwid (package (name "python-urwid") - (version "2.0.1") + (version "2.1.0") (source (origin (method url-fetch) (uri (pypi-uri "urwid" version)) (sha256 (base32 - "1g6cpicybvbananpjikmjk8npmjk4xvak1wjzji62wc600wkwkb4")))) + "11ndnhxd41m13darf5s0c6bafdpkzq1l6mfb04wbzdmyc1hg75h8")))) (build-system python-build-system) (home-page "http://urwid.org") (synopsis "Console user interface library for Python") @@ -6465,14 +6792,14 @@ of the structure, dynamics, and functions of complex networks.") (define-public python-datrie (package (name "python-datrie") - (version "0.8") + (version "0.8.2") (source (origin (method url-fetch) (uri (pypi-uri "datrie" version)) (sha256 (base32 - "0338r8xgmpy78556jhms0h6qkvyjr10p8bpgdvcpqzm9lrmxmmdx")))) + "0pbn32flkrpjiwfcknmj6398qa81ba783kbcvwan3kym73v0hnsj")))) (build-system python-build-system) (native-inputs `(("python-cython" ,python-cython) @@ -7677,14 +8004,14 @@ printing of sub-tables by specifying a row range.") (define-public python-tables (package (name "python-tables") - (version "3.4.4") + (version "3.6.1") (source (origin (method url-fetch) (uri (pypi-uri "tables" version)) (sha256 (base32 - "0affz7k8babh8wdmsgrz5jxrd569by2w8ffimcxs9wiaf5rw1idx")) + "0j8vnxh2m5n0cyk9z3ndcj5n1zj5rdxgc1gb78bqlyn2lyw75aa9")) (modules '((guix build utils))) (snippet '(begin @@ -7702,9 +8029,11 @@ printing of sub-tables by specifying a row range.") (add-after 'unpack 'use-gcc (lambda _ (substitute* "setup.py" - (("compiler = new_compiler\\(\\)" line) + (("^( +)compiler = new_compiler\\(\\)" line indent) (string-append line - "\ncompiler.set_executables(compiler='gcc'," + "\n" + indent + "compiler.set_executables(compiler='gcc'," "compiler_so='gcc'," "linker_exe='gcc'," "linker_so='gcc -shared')"))) @@ -7825,14 +8154,14 @@ primary use case is APIs defined before keyword-only parameters existed.") (define-public python-pyasn1 (package (name "python-pyasn1") - (version "0.4.3") + (version "0.4.8") (source (origin (method url-fetch) (uri (pypi-uri "pyasn1" version)) (sha256 (base32 - "1z5h38anjzzrxpraa9iq9llffyx2zs8gx0q6dc1g029miwnn50gv")))) + "1fnhbi3rmk47l9851gbik0flfr64vs5j0hbqx24cafjap6gprxxf")))) (build-system python-build-system) (home-page "http://pyasn1.sourceforge.net/") (synopsis "ASN.1 types and codecs") @@ -9049,13 +9378,13 @@ minimal and fast API targeting the following uses: (define-public python-icalendar (package (name "python-icalendar") - (version "4.0.4") + (version "4.0.5") (source (origin (method url-fetch) (uri (pypi-uri "icalendar" version)) (sha256 (base32 - "16gjvqv0n05jrb9g228pdjgzd3amz2pdhvcgsn1jypszjg5m2w9l")))) + "14ynjj65kfmlcvpb7k097w789wvxncd3cr3xz5m1jz9yl9v6vv5q")))) (build-system python-build-system) (propagated-inputs `(("python-dateutil" ,python-dateutil) @@ -9144,20 +9473,20 @@ with a new public API, and RPython support.") (define-public python-hy (package (name "python-hy") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (pypi-uri "hy" version)) (sha256 (base32 - "1gdbqsirsdxj320wnp7my5awzs1kfs6m4fqmkzbd1zd47qzj0zfi")))) + "04dfwm336gw61fmgwikvh0cnxk682p19b4w555wl5d7mlym4rwj2")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'install 'set-HOME - (lambda _ - (setenv "HOME" "/tmp"))) + (add-before 'install 'set-HOME + (lambda _ + (setenv "HOME" "/tmp") #t)) (replace 'check (lambda _ ;; Tests require write access to HOME. @@ -9168,10 +9497,8 @@ with a new public API, and RPython support.") ("python-nose" ,python-nose))) (propagated-inputs `(("python-astor" ,python-astor) - ("python-clint" ,python-clint) + ("python-colorama" ,python-colorama) ("python-rply" ,python-rply) - ("python-fastentrypoints" - ,python-fastentrypoints) ("python-funcparserlib" ,python-funcparserlib))) (home-page "http://hylang.org/") @@ -9182,9 +9509,6 @@ its Lisp code into the Python Abstract Syntax Tree, you have the whole world of Python at your fingertips, in Lisp form.") (license license:expat))) -(define-public python2-hy - (package-with-python2 python-hy)) - (define-public python2-functools32 (package (name "python2-functools32") @@ -9962,13 +10286,13 @@ programmatically interfacing with your system's $EDITOR.") (define-public python-vobject (package (name "python-vobject") - (version "0.9.5") + (version "0.9.6.1") (source (origin (method url-fetch) (uri (pypi-uri "vobject" version)) (sha256 (base32 - "0hqjgf3ay1m5w1c0k00g5yfpdz1zni5qnr5rh9b8fg9hjvhwlmhg")))) + "0081g4gngw28j7vw8101jk600wz4gzfrhf5myrqvn2mrfkn2llcn")))) (build-system python-build-system) (arguments '(;; The test suite relies on some non-portable Windows interfaces. @@ -9979,7 +10303,7 @@ programmatically interfacing with your system's $EDITOR.") (synopsis "Parse and generate vCard and vCalendar files") (description "Vobject is intended to be a full featured Python package for parsing and generating vCard and vCalendar files. Currently, iCalendar files -are supported and well tested. vCard 3.0 files are supported, and all data +are supported and well tested. vCard 3.0 files are supported, and all data should be imported, but only a few components are understood in a sophisticated way.") (home-page "https://eventable.github.io/vobject/") @@ -11357,14 +11681,14 @@ until the object is actually required, and caches the result of said call.") (define-public python-dnspython (package (name "python-dnspython") - (version "1.15.0") + (version "1.16.0") (source (origin (method url-fetch) (uri (string-append "http://www.dnspython.org/kits/" version "/dnspython-" version ".tar.gz")) (sha256 (base32 - "0jr4v2pd90i6l1xxbss2m05psbjaxvyvvvpq44wycijpfgjqln8i")))) + "1yaw7irazy42n0kdhlk7wyg8ki34rxcnc5xbc1wfwy245b0wbxab")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; XXX: requires internet access (home-page "http://www.dnspython.org") @@ -11595,15 +11919,15 @@ characters, mouse support, and auto suggestions.") (define-public python-jedi (package (name "python-jedi") - (version "0.16.0") + (version "0.17.0") (source (origin (method url-fetch) (uri (pypi-uri "jedi" version)) - (patches (search-patches "python-jedi-deleted-variables.patch")) + (patches (search-patches "python-jedi-sort-project-test.patch")) (sha256 (base32 - "1mb5kmrk9bkc3kwzx02j62cdan1jqd92q1z7h7wi9d30jg5p3j6m")))) + "0c1h9x3a9klvk2g288wl328x8xgzw7136k6vs9hkd56b85vcjh6z")))) (build-system python-build-system) (arguments `(#:phases @@ -11611,7 +11935,7 @@ characters, mouse support, and auto suggestions.") (replace 'check (lambda _ (setenv "HOME" "/tmp") - (invoke "python" "-m" "pytest")))))) + (invoke "python" "-m" "pytest" "-vv")))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-docopt" ,python-docopt))) @@ -11786,12 +12110,6 @@ hardware-accelerated multitouch applications.") (define-public python2-kivy (package-with-python2 python-kivy)) -(define-public python-kivy-next - (deprecated-package "python-kivy-next" python-kivy)) - -(define-public python2-kivy-next - (deprecated-package "python2-kivy-next" python2-kivy)) - (define-public python-binaryornot (package (name "python-binaryornot") @@ -12347,7 +12665,7 @@ by system tools such as ps and top). Changing the title is mostly useful in multi-process systems, for example when a master process is forked: changing the children's title -allows to identify the task each process is busy with. The technique +allows identifying the task each process is busy with. The technique is used by PostgreSQL and the OpenSSH Server for example.") (license license:bsd-3) (properties `((python2-variant . ,(delay python2-setproctitle)))))) @@ -15637,14 +15955,14 @@ and other tools.") (define-public python-typing-extensions (package (name "python-typing-extensions") - (version "3.7.2") + (version "3.7.4.1") (source (origin (method url-fetch) (uri (pypi-uri "typing_extensions" version)) (sha256 (base32 - "0wfsv71pvkyf2na938l579jh0v3kzl6g744ijgnahcwd4d9x0b7v")))) + "1wj1vcgbnm20aiinmphyxfrbv3qi9xdhvw89ab3qm42y9n4wq7h9")))) (build-system python-build-system) (home-page "https://github.com/python/typing/blob/master/typing_extensions/README.rst") @@ -15939,14 +16257,14 @@ time-based (TOTP) passwords.") (define-public python-parso (package (name "python-parso") - (version "0.6.2") + (version "0.7.0") (source (origin (method url-fetch) (uri (pypi-uri "parso" version)) (sha256 (base32 - "0mr1j4ijqnrihz1yap34g6i8vjldg5lz814sz4v0d8pbqvh5jmhc")))) + "0b7irps2dqmzq41sxbpvxbivhh1x2hwmbqp45bbpd82446p9z3lh")))) (native-inputs `(("python-pytest" ,python-pytest))) (build-system python-build-system) @@ -16811,26 +17129,35 @@ pure-Python.") (define-public python-cloudpickle (package (name "python-cloudpickle") - (version "0.6.1") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "cloudpickle" version)) (sha256 (base32 - "1wdw89mlm7fqa3fm3ymskx05jrys66n8m1z1a8s0mss0799ahsgi")))) + "0lx7gy9clp427qwcm7b23zdsldpr03gy3vxxhyi8fpbhwz859brq")))) (build-system python-build-system) - ;; FIXME: there are 5 errors in 122 tests: - ;; ERROR: test_function_pickle_compat_0_4_0 (tests.cloudpickle_test.CloudPickleTest) - ;; ERROR: test_function_pickle_compat_0_4_1 (tests.cloudpickle_test.CloudPickleTest) - ;; ERROR: test_function_pickle_compat_0_4_0 (tests.cloudpickle_test.Protocol2CloudPickleTest) - ;; ERROR: test_function_pickle_compat_0_4_1 (tests.cloudpickle_test.Protocol2CloudPickleTest) - ;; ERROR: test_temp_file (tests.cloudpickle_file_test.CloudPickleFileTests) - ;; TypeError: cannot serialize '_io.BufferedRandom' object - (arguments '(#:tests? #f)) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'check 'do-not-override-PYTHONPATH + (lambda _ + ;; Append to PYTHONPATH instead of overriding it so + ;; that dependencies from Guix can be found. + (substitute* "tests/testutils.py" + (("env\\['PYTHONPATH'\\] = pythonpath") + "env['PYTHONPATH'] += os.pathsep + pythonpath")) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "pytest" "-s" "-vv") + (format #t "test suite not run~%")) + #t))))) (native-inputs - `(("python-pytest" ,python-pytest) - ("python-mock" ,python-mock) + `(;; For tests. + ("python-psutil" ,python-psutil) + ("python-pytest" ,python-pytest) ("python-tornado" ,python-tornado))) (home-page "https://github.com/cloudpipe/cloudpickle") (synopsis "Extended pickling support for Python objects") @@ -16840,10 +17167,19 @@ supported by the default pickle module from the Python standard library. It is especially useful for cluster computing where Python expressions are shipped over the network to execute on remote hosts, possibly close to the data.") + (properties `((python2-variant . ,(delay python2-cloudpickle)))) (license license:bsd-3))) (define-public python2-cloudpickle - (package-with-python2 python-cloudpickle)) + (let ((base (package-with-python2 (strip-python2-variant python-cloudpickle)))) + (package + (inherit base) + (native-inputs + `(("python-mock" ,python2-mock) + ,@(package-native-inputs base))) + (propagated-inputs + `(("python-futures" ,python2-futures) + ,@(package-propagated-inputs base)))))) (define-public python-locket (package @@ -16954,13 +17290,13 @@ decisions with any given backend.") (define-public python-dask (package (name "python-dask") - (version "2.9.0") + (version "2.14.0") (source (origin (method url-fetch) (uri (pypi-uri "dask" version)) (sha256 - (base32 "1w1hqr8vyx6ygwflj2737dcy0mmgvrc0s602gnny8pzlcbs9m76b")))) + (base32 "031j0j26s0675v0isyps2dphm03330n7dy8ifdy70jgvf78d119q")))) (build-system python-build-system) (arguments `(#:phases @@ -18255,14 +18591,14 @@ tests.") (define-public python-gssapi (package (name "python-gssapi") - (version "1.6.1") + (version "1.6.5") (source (origin (method url-fetch) (uri (pypi-uri "gssapi" version)) (sha256 (base32 - "1gymg4asvwrz7y13qpwp2s5g8qwq179d72gkj09q6bfcgs82l5wr")))) + "02i5s7998dg5kcr4m0xwamd8vjqk1816xbzldyp68l91f6bynwcr")))) (build-system python-build-system) (propagated-inputs `(("python-decorator" ,python-decorator) @@ -18425,6 +18761,29 @@ dedicated platform. The tool proposes a unified interface for any format and an upload option to send your work back to the platform.") (license license:gpl3+))) +(define-public python-titlecase + (package + (name "python-titlecase") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "titlecase" version)) + (sha256 + (base32 + "0486i99wf8ssa7sgn81fn6fv6i4rhhq6n751bc740b3hzfbpmpl4")))) + (build-system python-build-system) + (native-inputs + `(("python-nose" ,python-nose))) + (home-page "https://github.com/ppannuto/python-titlecase") + (synopsis "Capitalize strings similar to book titles") + (description + "Python-Titlecase is a Python port of John Gruber's titlecase.pl. +It capitalizes (predominantly English) strings in a way that is similar to +book titles, using the New York Times Manual of Style to leave certain words +lowercase.") + (license license:expat))) + (define-public python-pypng (package (name "python-pypng") @@ -18676,7 +19035,7 @@ logging in Python. It also provides some custom formatters and handlers.") (home-page "https://github.com/jd/pifpaf") (synopsis "Tools and fixtures to manage daemons for testing in Python") (description "Pifpaf is a suite of fixtures and a command-line tool that -allows to start and stop daemons for a quick throw-away usage. This is typically +starts and stops daemons for a quick throw-away usage. This is typically useful when needing these daemons to run integration testing. It originally evolved from its precursor @code{overtest}.") (license license:asl2.0))) @@ -18732,3 +19091,500 @@ HTML-containing files.") usable as a configuration language. This Python package implements parsing and dumping of JSON5 data structures.") (license license:asl2.0))) + +(define-public python-frozendict + (package + (name "python-frozendict") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "frozendict" version)) + (sha256 + (base32 "0ibf1wipidz57giy53dh7mh68f2hz38x8f4wdq88mvxj5pr7jhbp")))) + (build-system python-build-system) + (home-page "https://github.com/slezica/python-frozendict") + (synopsis "Simple immutable mapping for Python") + (description + "@dfn{frozendict} is an immutable wrapper around dictionaries that +implements the complete mapping interface. It can be used as a drop-in +replacement for dictionaries where immutability is desired.") + (license license:expat))) + +(define-public python-unpaddedbase64 + (package + (name "python-unpaddedbase64") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/matrix-org/python-unpaddedbase64.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0if3fjfxga0bwdq47v77fs9hrcqpmwdxry2i2a7pdqsp95258nxd")))) + (build-system python-build-system) + (home-page "https://pypi.org/project/unpaddedbase64/") + (synopsis "Encode and decode Base64 without “=” padding") + (description + "RFC 4648 specifies that Base64 should be padded to a multiple of 4 bytes +using “=” characters. However this conveys no benefit so many protocols +choose to use Base64 without the “=” padding.") + (license license:asl2.0))) + +(define-public python-canonicaljson + (package + (name "python-canonicaljson") + (version "1.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "canonicaljson" version)) + (sha256 + (base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six) + ("python-frozendict" ,python-frozendict) + ("python-simplejson" ,python-simplejson))) + (home-page "https://github.com/matrix-org/python-canonicaljson") + (synopsis "Canonical JSON") + (description + "Deterministically encode JSON. + +@itemize +@item Encodes objects and arrays as RFC 7159 JSON. +@item Sorts object keys so that you get the same result each time. +@item Has no insignificant whitespace to make the output as small as possible. +@item Escapes only the characters that must be escaped, U+0000 to + U+0019 / U+0022 / U+0056, to keep the output as small as possible. +@item Uses the shortest escape sequence for each escaped character. +@item Encodes the JSON as UTF-8. +@item Can encode frozendict immutable dictionaries. +@end itemize") + (license license:asl2.0))) + +(define-public python-signedjson + (package + (name "python-signedjson") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "signedjson" version)) + (sha256 + (base32 "0280f8zyycsmd7iy65bs438flm7m8ffs1kcxfbvhi8hbazkqc19m")))) + (build-system python-build-system) + (propagated-inputs + `(("python-canonicaljson" ,python-canonicaljson) + ("python-importlib-metadata" ,python-importlib-metadata) + ("python-pynacl" ,python-pynacl) + ("python-typing-extensions" ,python-typing-extensions) + ("python-unpaddedbase64" ,python-unpaddedbase64))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://github.com/matrix-org/python-signedjson") + (synopsis "Sign JSON objects with ED25519 signatures") + (description + "Sign JSON objects with ED25519 signatures. + +@itemize +@item More than one entity can sign the same object. +@item Each entity can sign the object with more than one key making it easier to +rotate keys +@item ED25519 can be replaced with a different algorithm. +@item Unprotected data can be added to the object under the @dfn{\"unsigned\"} +key. +@end itemize") + (license license:asl2.0))) + +(define-public python-daemonize + (package + (name "python-daemonize") + (version "2.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "daemonize" version)) + (sha256 + (base32 "1hwbl3gf9fdds9sc14zgjyjisjvxidrvqc11xlbb0b6jz17nw0nx")))) + (build-system python-build-system) + (home-page "https://github.com/thesharp/daemonize") + (synopsis "Library for writing system daemons in Python") + (description "Daemonize is a library for writing system daemons in Python.") + (license license:expat))) + +(define-public python-pymacaroons + (package + (name "python-pymacaroons") + (version "0.13.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pymacaroons" version)) + (sha256 + (base32 "1f0357a6g1h96sk6wy030xmc1p4rd80a999qvxd28v7nlm1blsqy")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six) + ("python-pynacl" ,python-pynacl))) + (home-page "https://github.com/ecordell/pymacaroons") + (synopsis "Python Macaroon Library") + (description + "Macaroons, like cookies, are a form of bearer credential. Unlike opaque +tokens, macaroons embed caveats that define specific authorization +requirements for the target service, the service that issued the root macaroon +and which is capable of verifying the integrity of macaroons it receives. + +Macaroons allow for delegation and attenuation of authorization. They are +simple and fast to verify, and decouple authorization policy from the +enforcement of that policy.") + (license license:expat))) + +(define-public python-ldap3 + (package + (name "python-ldap3") + (version "2.7") + (home-page "https://github.com/cannatag/ldap3") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xw9fkqld21xsvdpaqir8ccc2l805xnn9gxahsnl70xzp3mwl0xv")))) + (build-system python-build-system) + (arguments + '(#:tests? #f ;TODO: Tests need a real LDAP server to run + #:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "nosetests" "-s" "test")) + #t))))) + (native-inputs + `(("python-nose" ,python-nose))) + (propagated-inputs + `(("python-gssapi" ,python-gssapi) + ("python-pyasn1" ,python-pyasn1))) + (synopsis "Python LDAP client") + (description + "LDAP3 is a strictly RFC 4510 conforming LDAP V3 pure Python client +library.") + (license license:lgpl3+))) + +(define-public python-boltons + (package + (name "python-boltons") + (version "20.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "boltons" version)) + (sha256 + (base32 + "0lrr40qqj3ch8xarvyzbnbjs79pz5aywklllq53l347h1b8xnkg4")))) + (build-system python-build-system) + (home-page "https://github.com/mahmoud/boltons") + (synopsis "Extensions to the Python standard library") + (description + "Boltons is a set of over 230 pure-Python utilities in the same spirit +as — and yet conspicuously missing from — the standard library, including: + +@itemize +@item Atomic file saving, bolted on with fileutils +@item A highly-optimized OrderedMultiDict, in dictutils +@item Two types of PriorityQueue, in queueutils +@item Chunked and windowed iteration, in iterutils +@item Recursive data structure iteration and merging, with iterutils.remap +@item Exponential backoff functionality, including jitter, through +iterutils.backoff +@item A full-featured TracebackInfo type, for representing stack traces, in +tbutils +@end itemize") + (license license:bsd-3))) + +(define-public python-eliot + (package + (name "python-eliot") + (version "1.12.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "eliot" version)) + (sha256 + (base32 "0wabv7hk63l12881f4zw02mmj06583qsx2im0yywdjlj8f56vqdn")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-journald-support + (lambda _ + (for-each delete-file + '("eliot/tests/test_journald.py" + "eliot/journald.py")) + #t)) + (add-after 'remove-journald-support 'remove-eliot-prettyprint-tests + ;; remove command-line tool's tests. TODO eliot-prettyprint should + ;; be installed and these tests should pass. + (lambda _ + (delete-file "eliot/tests/test_prettyprint.py") + #t))))) + (propagated-inputs + `(("python-boltons" ,python-boltons) + ("python-pyrsistent" ,python-pyrsistent) + ("python-six" ,python-six) + ("python-zope-interface" ,python-zope-interface))) + (native-inputs + `(("python-black" ,python-black) + ("python-coverage" ,python-coverage) + ("python-dask" ,python-dask) + ("python-flake8" ,python-flake8) + ("python-hypothesis" ,python-hypothesis) + ("python-pytest" ,python-pytest) + ("python-setuptools" ,python-setuptools) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme) + ("python-testtools" ,python-testtools) + ("python-twine" ,python-twine) + ("python-twisted" ,python-twisted))) + (home-page "https://github.com/itamarst/eliot/") + (synopsis "Eliot: the logging system that tells you why it happened") + (description + "@dfn{eliot} is a Python logging system that outputs causal chains of +actions: actions can spawn other actions, and eventually they either succeed +or fail. The resulting logs tell you the story of what your software did: what +happened, and what caused it.") + (license license:asl2.0))) + +(define-public python-pem + (package + (name "python-pem") + (version "20.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pem" version)) + (sha256 + (base32 + "1xh88ss279fprxnzd10dczmqwjhppbyvljm33zrg2mgybwd66qr7")))) + (build-system python-build-system) + (native-inputs + `(("python-certifi" ,python-certifi) + ("python-coverage" ,python-coverage) + ("python-pretend" ,python-pretend) + ("python-pyopenssl" ,python-pyopenssl) + ("python-pytest" ,python-pytest) + ("python-sphinx" ,python-sphinx) + ("python-twisted" ,python-twisted))) + (home-page "https://pem.readthedocs.io/") + (synopsis "Easy PEM file parsing in Python") + (description + "This package provides a Python module for parsing and splitting PEM files.") + (license license:expat))) + +(define-public python-txsni + ;; We need a few commits on top of 0.1.9 for compatibility with newer + ;; Python and OpenSSL. + (let ((commit "5014c141a7acef63e20fcf6c36fa07f0cd754ce1") + (revision "0")) + (package + (name "python-txsni") + (version (git-version "0.1.9" revision commit)) + (home-page "https://github.com/glyph/txsni") + (source + (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0imfxx4yjj1lbq0n5ad45al3wvv4qv96sivnc1r51i66mxi658z8")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pyopenssl" ,python-pyopenssl) + ("python-service-identity" ,python-service-identity) + ("python-twisted" ,python-twisted))) + (synopsis "Run TLS servers with Twisted") + (description + "This package provides an easy-to-use SNI endpoint for use +with the Twisted web framework.") + (license license:expat)))) + +(define-public python-txacme + (package + (name "python-txacme") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "txacme" version)) + (sha256 + (base32 "1cplx4llq7i508w6fgwjdv9di7rsz9k9irfmzdfbiz6q6a0ykf1d")))) + (build-system python-build-system) + (propagated-inputs + `(("python-acme" ,python-acme) + ("python-attrs" ,python-attrs) + ("python-eliot" ,python-eliot) + ("python-josepy" ,python-josepy) + ("python-pem" ,python-pem) + ("python-treq" ,python-treq) + ("python-twisted" ,python-twisted) + ("python-txsni" ,python-txsni))) + (native-inputs + `(("python-fixtures" ,python-fixtures) + ("python-hypothesis" ,python-hypothesis) + ("python-mock" ,python-mock) + ("python-service-identity" + ,python-service-identity) + ("python-testrepository" ,python-testrepository) + ("python-testscenarios" ,python-testscenarios) + ("python-testtools" ,python-testtools))) + (home-page "https://github.com/twisted/txacme") + (synopsis "Twisted implexmentation of the ACME protocol") + (description + "ACME is Automatic Certificate Management Environment, a protocol that +allows clients and certificate authorities to automate verification and +certificate issuance. The ACME protocol is used by the free Let's Encrypt +Certificate Authority. + +txacme is an implementation of the protocol for Twisted, the event-driven +networking engine for Python.") + (license license:expat))) + +(define-public python-pysaml2 + (package + (name "python-pysaml2") + (version "5.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pysaml2" version)) + (sha256 + (base32 + "1h8cmxh9cvxhrdfmkh92wg6zpxmhi2fixq1cy4hxismmaar7bsny")))) + (build-system python-build-system) + (propagated-inputs + `(("python-cryptography" ,python-cryptography) + ("python-dateutil" ,python-dateutil) + ("python-defusedxml" ,python-defusedxml) + ("python-pyopenssl" ,python-pyopenssl) + ("python-pytz" ,python-pytz) + ("python-requests" ,python-requests) + ("python-six" ,python-six))) + (home-page "https://idpy.org") + (synopsis "Python implementation of SAML Version 2 Standard") + (description + "PySAML2 is a pure python implementation of SAML Version 2 Standard. +It contains all necessary pieces for building a SAML2 service provider or +an identity provider. The distribution contains examples of both. + +This package was originally written to work in a WSGI environment, but +there are extensions that allow you to use it with other frameworks.") + (license license:asl2.0))) + +(define-public python-click-plugins + (package + (name "python-click-plugins") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "click-plugins" version)) + (sha256 + (base32 "0jr6bxj67vg988vkm6nz8jj98v9lg46bn49lkhak3n598jbrkas6")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-click" ,python-click))) + (synopsis "Extension for Click to register external CLI commands") + (description "This package provides n extension module for Click to +register external CLI commands via setuptools entry-points.") + (home-page "https://github.com/click-contrib/click-plugins") + (license license:bsd-3))) + +(define-public python-diceware + (package + (name "python-diceware") + (version "0.9.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "diceware" version)) + (sha256 + (base32 + "0klb0ysybzlh2wihvir82hgq62v0jjmlcqklwajyms7c0p529yby")))) + (build-system python-build-system) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/ulif/diceware/") + (synopsis "Generates memorable passphrases") + (description "This package generates passphrases by concatenating words +randomly picked from wordlists. It supports several sources of +randomness (including real life dice) and different wordlists (including +cryptographically signed ones).") + (license license:gpl3+))) + +(define-public pyzo + (package + (name "pyzo") + (version "4.10.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyzo" version)) + (sha256 + (base32 "1zplxcb78qy8qibifmnsx5i9gnlfmw9n6nr4yflsabpxw57mx4m1")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'fix-home-directory + (lambda _ + ;; Tests fail with "Permission denied: '/homeless-shelter'". + (setenv "HOME" "/tmp") + #t))) + ;; Tests fail with "Uncaught Python exception: invalid literal for + ;; int() with base 10: 'test'". + #:tests? #f)) + (propagated-inputs + `(("python-pyqt" ,python-pyqt))) + (home-page "https://pyzo.org") + (synopsis + "Python IDE for scientific computing") + (description + "Pyzo is a Python IDE focused on interactivity and introspection, +which makes it very suitable for scientific computing. Its practical +design is aimed at simplicity and efficiency. + +It consists of two main components, the editor and the shell, and uses +a set of pluggable tools to help the programmer in various ways. Some +example tools are source structure, project manager, interactive help, +workspace...") + (license license:bsd-2))) + +(define-public python-osc + (package + (name "python-osc") + (version "1.7.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-osc" version)) + (sha256 + (base32 + "0cnh0z5lnng7fh48nmfaqqn8j25k13gkd4rhxd3m6sjqiix9s3vn")))) + (build-system python-build-system) + (home-page "https://github.com/attwad/python-osc") + (synopsis "Open Sound Control server and client implementations") + (description + "@code{python-osc} is a pure Python library with no external +dependencies. It implements the @uref{http://opensoundcontrol.org/spec-1_0, +Open Sound Control 1.0} specification.") + (license license:unlicense))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 6ca052c31a..c9ac750cc5 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -149,7 +149,7 @@ system, and the core design of Django is reused in Grantlee.") (version "4.8.7") (source (origin (method url-fetch) - (uri (string-append "http://download.qt-project.org/official_releases/qt/" + (uri (string-append "http://download.qt-project.org/archive/qt/" (string-copy version 0 (string-rindex version #\.)) "/" version "/qt-everywhere-opensource-src-" @@ -2040,7 +2040,10 @@ contain over 620 classes.") ("qtwebengine" ,qtwebengine))) (arguments `(#:modules ((srfi srfi-1) + ((guix build python-build-system) #:select (python-version)) ,@%gnu-build-system-modules) + #:imported-modules ((guix build python-build-system) + ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases (replace 'configure @@ -2050,13 +2053,8 @@ contain over 620 classes.") (pyqt-sipdir (string-append (assoc-ref inputs "python-pyqt") "/share/sip")) (python (assoc-ref inputs "python")) - (python-version - (last (string-split python #\-))) - (python-major+minor - (string-join - (take (string-split python-version #\.) 2) ".")) (lib (string-append out "/lib/python" - python-major+minor + (python-version python) "/site-packages/PyQt5")) (stubs (string-append lib "/PyQt5"))) @@ -2075,7 +2073,9 @@ contain over 620 classes.") (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((__init__.py (string-append (assoc-ref outputs "out") - "/lib/python3.7/site-packages/PyQt5/__init__.py"))) + "/lib/python" + (python-version (assoc-ref inputs "python")) + "/site-packages/PyQt5/__init__.py"))) (with-output-to-file __init__.py (lambda _ (display " from pkgutil import extend_path @@ -2373,7 +2373,7 @@ different kinds of sliders, and much more.") (define-public qtwebkit (package (name "qtwebkit") - (version "5.212.0-alpha3") + (version "5.212.0-alpha4") (source (origin (method url-fetch) @@ -2381,12 +2381,12 @@ different kinds of sliders, and much more.") "qtwebkit-" version "/qtwebkit-" version ".tar.xz")) (sha256 (base32 - "05syvwi3jw9abwsc93rmjkna0vyh6bkfrsqhwir48ms54icfwzim")) + "1rm9sjkabxna67dl7myx9d9vpdyfxfdhrk9w7b94srkkjbd2d8cw")) (patches (search-patches "qtwebkit-pbutils-include.patch")))) (build-system cmake-build-system) (native-inputs `(("perl" ,perl) - ("python" ,python-2.7) + ("python" ,python) ("ruby" ,ruby) ("bison" ,bison) ("flex" ,flex) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm new file mode 100644 index 0000000000..935880780f --- /dev/null +++ b/gnu/packages/radio.scm @@ -0,0 +1,884 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2019, 2020 Christopher Howard <christopher@librehacker.com> +;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com> +;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2020 Charlie Ritter <chewzerita@posteo.net> +;;; +;;; 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 radio) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (gnu packages algebra) + #:use-module (gnu packages audio) + #:use-module (gnu packages autotools) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages boost) + #:use-module (gnu packages check) + #:use-module (gnu packages documentation) + #:use-module (gnu packages engineering) + #:use-module (gnu packages fltk) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gd) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages logging) + #:use-module (gnu packages lua) + #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages networking) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages python) + #:use-module (gnu packages python-science) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages qt) + #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) + #:use-module (gnu packages sphinx) + #:use-module (gnu packages swig) + #:use-module (gnu packages tcl) + #:use-module (gnu packages tex) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages version-control) + #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) + #: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 python) + #:use-module (guix build-system qt)) + +(define-public liquid-dsp + (package + (name "liquid-dsp") + (version "1.3.2") + (source + (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/jgaeddert/liquid-dsp.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n6dbg13q8ga5qhg1yiszwly4jj0rxqr6f1xwm9waaly5z493xsd")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf))) + (inputs + `(("fftw" ,fftw) + ("fftwf" ,fftwf))) + (home-page "https://liquidsdr.org") + (synopsis "Signal processing library for software-defined radios") + (description + "Liquid DSP is a @dfn{digital signal processing} (DSP) library designed +specifically for software-defined radios on embedded platforms. The aim is to +provide a lightweight DSP library that does not rely on a myriad of external +dependencies or proprietary and otherwise cumbersome frameworks. All signal +processing elements are designed to be flexible, scalable, and dynamic, +including filters, filter design, oscillators, modems, synchronizers, complex +mathematical operations, and much more.") + (license license:expat))) + +(define-public rtl-sdr + (package + (name "rtl-sdr") + (version "0.6.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.osmocom.org/rtl-sdr.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lmvsnb4xw4hmz6zs0z5ilsah5hjz29g1s0050n59fllskqr3b8k")))) + (build-system cmake-build-system) + (inputs + `(("libusb" ,libusb))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON") + #:tests? #f)) ; No tests + (home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr") + (synopsis "Software defined radio driver for Realtek RTL2832U") + (description "DVB-T dongles based on the Realtek RTL2832U can be used as a +cheap software defined radio, since the chip allows transferring the raw I/Q +samples to the host. @code{rtl-sdr} provides drivers for this purpose.") + (license license:gpl2+))) + +(define-public chirp + (package + (name "chirp") + (version "20181205") + (source + (origin + (method url-fetch) + (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" + version "/chirp-daily-" version ".tar.gz")) + (sha256 + (base32 + "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c")))) + (build-system python-build-system) + (inputs + `(("python2-libxml2" ,python2-libxml2) + ("python2-pygtk" ,python2-pygtk) + ("python2-pyserial" ,python2-pyserial))) + (arguments + `(#:python ,python-2)) + (home-page "https://chirp.danplanet.com") + (synopsis "Cross-radio programming tool") + (description "Chirp is a cross-radio programming tool. It supports a +growing list of radios across several manufacturers and allows transferring of +memory contents between them.") + (license (list license:gpl3+ + license:lgpl3+)))) ; chirp/elib_intl.py + +(define-public aptdec + (package + (name "aptdec") + (version "1.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/csete/aptdec") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hf0zb51qc6fyhdjxyij1n3vgwnw3cwksc3r11szbhkml14qjnzk")))) + (build-system gnu-build-system) + (inputs + `(("libpng" ,libpng) + ("libsndfile" ,libsndfile))) + (arguments + `(#:make-flags (list "CC=gcc") + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file "atpdec" (string-append out "/bin"))) + #t))))) + (home-page "https://github.com/csete/aptdec") + (synopsis "NOAA Automatic Picture Transmission (APT) decoder") + (description "Aptdec decodes Automatic Picture Transmission (APT) images. +These are medium resolution images of the Earth transmitted by, among other +satellites, the POES NOAA weather satellite series. These transmissions are +on a frequency of 137 MHz. They can be received using an inexpensive antenna +and a dedicated receiver.") + (license license:gpl2+))) + +(define-public redsea + (package + (name "redsea") + (version "0.18") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/windytan/redsea") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1y96g0ra2krjb2kypm8s5gdfia45yci4f36klsvyzg8d53v5cwhn")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; The configure.ac file does not explicitly link against libiconv + ;; except on Mac OS, causing the build to fail. This phase comments + ;; out the original AC_SUBST macro (located inside a conditional) and + ;; adds an explicit use of it underneath, so that libiconv is always + ;; linked against. + (add-after 'unpack 'patch-libiconv + (lambda _ + (substitute* "configure.ac" + (("^ +AC_SUBST") + "# AC_SUBST") + (("esac") + "esac\nAC_SUBST([ICONV], [\"-liconv\"])")) + #t))))) + (inputs + `(("libiconv" ,libiconv) + ("libsndfile" ,libsndfile) + ("liquid-dsp" ,liquid-dsp))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (home-page "https://github.com/windytan/redsea") + (synopsis "Lightweight RDS to JSON decoder") + (description "redsea is a lightweight command-line @dfn{FM Radio Data +System} (FM-RDS) decoder. Redsea can be used with any RTL-SDR USB radio stick +with the rtl_fm tool, or any other @dfn{software-defined radio} (SDR) via +csdr, for example. It can also decode raw ASCII bitstream, the hex format +used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") + (license license:expat))) + +(define-public gnuradio + (package + (name "gnuradio") + (version "3.8.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gnuradio.org/releases/gnuradio/" + "gnuradio-" version ".tar.xz")) + (sha256 + (base32 "0aw55gf5549b0fz2qdi7vplcmaf92bj34h40s34b2ycnqasv900r")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled volk to use the shared one. + (delete-file-recursively "volk") + #t)))) + (build-system cmake-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("git" ,git-minimal) + ("ghostscript" ,ghostscript) + ("orc" ,orc) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-cheetah" ,python-cheetah) + ("python-mako" ,python-mako) + ("python-pyzmq" ,python-pyzmq) + ("python-scipy" ,python-scipy) + ("python-sphinx" ,python-sphinx) + ("swig" ,swig) + ("texlive" ,(texlive-union (list texlive-amsfonts + texlive-latex-amsmath + ;; TODO: Add newunicodechar. + texlive-latex-graphics))) + ("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("cairo" ,cairo) + ("codec2" ,codec2) + ("cppzmq" ,cppzmq) + ("fftwf" ,fftwf) + ("gmp" ,gmp) + ("gsl" ,gsl) + ("gsm" ,gsm) + ("gtk+" ,gtk+) + ("jack" ,jack-1) + ("log4cpp" ,log4cpp) + ("pango" ,pango) + ("portaudio" ,portaudio) + ("python-click" ,python-click) + ("python-click-plugins" ,python-click-plugins) + ("python-lxml" ,python-lxml) + ("python-numpy" ,python-numpy) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pyqt" ,python-pyqt) + ("python-pyyaml" ,python-pyyaml) + ("qtbase" ,qtbase) + ("qwt" ,qwt) + ("volk" ,volk) + ("zeromq" ,zeromq))) + (arguments + `(#:modules ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + ((guix build python-build-system) #:prefix python:) + (guix build utils) + (ice-9 match)) + #:imported-modules (,@%cmake-build-system-modules + (guix build glib-or-gtk-build-system) + (guix build python-build-system)) + #:configure-flags + '("-DENABLE_INTERNAL_VOLK=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((qwt (assoc-ref inputs "qwt"))) + (substitute* "cmake/Modules/FindQwt.cmake" + (("/usr/include") + (string-append qwt "/include")) + (("/usr/lib") + (string-append qwt "/lib")) + (("qwt6-\\$\\{QWT_QT_VERSION\\}") + "qwt"))) + (substitute* "cmake/Modules/GrPython.cmake" + (("dist-packages") + "site-packages")) + (substitute* '("gr-vocoder/swig/vocoder_swig.i" + "gr-vocoder/include/gnuradio/vocoder/codec2.h" + "gr-vocoder/include/gnuradio/vocoder/freedv_api.h") + (("<codec2/") + "<")) + #t)) + (add-before 'check 'set-test-environment + (lambda* (#:key inputs #:allow-other-keys) + (setenv "HOME" "/tmp") + (system (string-append (assoc-ref inputs "xorg-server") + "/bin/Xvfb :1 &")) + (setenv "DISPLAY" ":1") + #t)) + (add-after 'install 'wrap-python + (assoc-ref python:%standard-phases 'wrap)) + (add-after 'wrap-python 'wrap-glib-or-gtk + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) + (add-after 'wrap-glib-or-gtk 'wrap-with-GI_TYPELIB_PATH + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (paths (map (match-lambda + ((output . directory) + (let ((girepodir (string-append + directory + "/lib/girepository-1.0"))) + (if (file-exists? girepodir) + girepodir + #f)))) + inputs))) + (wrap-program (string-append out "/bin/gnuradio-companion") + `("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths)))) + #t))))) + (native-search-paths + (list (search-path-specification + (variable "GRC_BLOCKS_PATH") + (files '("/share/gnuradio/grc/blocks"))))) + (synopsis "Toolkit for software-defined radios") + (description + "GNU Radio is a development toolkit that provides signal processing blocks +to implement software radios. It can be used with external RF hardware to +create software-defined radios, or without hardware in a simulation-like +environment.") + (home-page "https://www.gnuradio.org") + (license license:gpl3+))) + +(define-public gnuradio-osmosdr + (package + (name "gnuradio-osmosdr") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.osmocom.org/gr-osmosdr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rdx7fa0xiq0qmgrrbby7z1bblmqhl9qh9jqpsznzxkx91f17ypd")))) + (build-system cmake-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("git" ,git-minimal) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-mako" ,python-mako) + ("python-six" ,python-six) + ("swig" ,swig))) + (inputs + `(("boost" ,boost) + ("fftwf" ,fftwf) + ("gmp" ,gmp) + ("gnuradio" ,gnuradio) + ("hackrf" ,hackrf) + ("log4cpp" ,log4cpp) + ("rtl-sdr" ,rtl-sdr) + ("volk" ,volk))) + (synopsis "GNU Radio block for interfacing with various radio hardware") + (description "This is a block for GNU Radio allowing to use a common API +to access different radio hardware.") + (home-page "https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR") + (license license:gpl3+))) + +(define-public libosmo-dsp + (package + (name "libosmo-dsp") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.osmocom.org/libosmo-dsp") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00plihnpym1gkfpflah8il9463qxzm9kx2f07jyvbkszpj8viq5g")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bash-minimal" ,bash-minimal) + ("doxygen" ,doxygen) + ("git" ,git-minimal) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("texlive" ,(texlive-union (list texlive-amsfonts + texlive-latex-amsmath + ;; TODO: Add newunicodechar. + texlive-latex-graphics))))) + (inputs + `(("fftwf" ,fftwf))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "git-version-gen" + (("/bin/sh") + (string-append (assoc-ref inputs "bash") + "/bin/bash"))) + #t))))) + (synopsis "DSP primitives for SDR") + (description + "This a C-language library for common DSP (Digital Signal Processing) +primitives for SDR (Software Defined Radio).") + (home-page "https://osmocom.org/projects/libosmo-dsp") + (license license:gpl2+))) + +(define-public gnuradio-iqbalance + (package + (name "gnuradio-iqbalance") + (version "0.38.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.osmocom.org/gr-iqbal") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ksagwz05p3b0702q7ljq7013xmp0ijp30my9z6s3p7ja8dj42s3")))) + (build-system cmake-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-numpy" ,python-numpy) + ("python-six" ,python-six) + ("swig" ,swig))) + (inputs + `(("boost" ,boost) + ("fftwf" ,fftwf) + ("gmp" ,gmp) + ("gnuradio" ,gnuradio) + ("libosmo-dsp" ,libosmo-dsp) + ("log4cpp" ,log4cpp) + ("volk" ,volk))) + (synopsis "GNU Radio block to correct IQ imbalance") + (description + "This is a GNU Radio block to correct IQ imbalance in quadrature +receivers. It's composed of two main block: +@itemize +@item Fix: Given a phase and amplitude error, it will correct a complex signal. +@item Optimize: Attempts to auto-detect the phase and amplitude error to feed +to the fix block above. +@end itemize") + (home-page "https://git.osmocom.org/gr-iqbal/") + (license license:gpl3+))) + +(define-public gqrx + (package + (name "gqrx") + (version "2.12.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/csete/gqrx.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00alf3q6y313xpx6p7v43vqsphd2x4am4q362lw21bcy9wc4jidw")))) + (build-system qt-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("fftwf" ,fftwf) + ("gmp" ,gmp) + ("gnuradio" ,gnuradio) + ("gnuradio-iqbalance" ,gnuradio-iqbalance) + ("gnuradio-osmosdr" ,gnuradio-osmosdr) + ("jack" ,jack-1) + ("log4cpp" ,log4cpp) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtsvg" ,qtsvg) + ("volk" ,volk))) + (arguments + `(#:tests? #f)) ; No tests + (synopsis "Software defined radio receiver") + (description "Gqrx is a software defined radio (SDR) receiver implemented +using GNU Radio and the Qt GUI toolkit.") + (home-page "https://gqrx.dk/") + (license license:gpl3+))) + +(define-public fldigi + (package + (name "fldigi") + (version "4.1.12") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/fldigi/fldigi-" + version ".tar.gz")) + (sha256 + (base32 "1yjjv2ss84xfiaidypp476mhrbpnw4zf7mb5cdqwhdh604x0svr1")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("fltk" ,fltk) + ("hamlib" ,hamlib) + ("libpng" ,libpng) + ("libsamplerate" ,libsamplerate) + ("libusb" ,libusb) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft) + ("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio))) + (synopsis "Software modem for amateur radio use") + (description + "Fldigi is a software modem for amateur radio use. It is a sound card +based program that is used for both transmitting and receiving data by +connecting the microphone and headphone connections of a computer to some radio +hardware.") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) + +(define-public flrig + (package + (name "flrig") + (version "1.3.50") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/flrig/flrig-" + version ".tar.gz")) + (sha256 + (base32 "0fzrknzzi8kmzmrcfpc8rxr7v4a4ny6z6z5q5qwh95sp2kn2qzp9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fltk" ,fltk) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft))) + (synopsis "Radio transceiver control program") + (description + "Flrig is a transceiver control program for amateur radio use. +It provides computer aided control of various radios using a serial +or USB connection.") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) + +(define-public flamp + (package + (name "flamp") + (version "2.2.05") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/flamp/flamp-" + version ".tar.gz")) + (sha256 + (base32 "19z1kghhdf7bq6hi2j0mzlsn2nhpn3gl1a623x3inmsk80yw3ck4")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fltk" ,fltk) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft))) + (synopsis "Tool for AMP file transfer") + (description + "FLAMP is a program for transfering files by radio waves using AMP +(Amateur Multicast Protocol).") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) + +(define-public flwrap + (package + (name "flwrap") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.w1hkj.com/files/flwrap/flwrap-" + version ".tar.gz")) + (sha256 + (base32 "0qqivqkkravcg7j45740xfky2q3k7czqpkj6y364qff424q2pppg")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fltk" ,fltk) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxft" ,libxft))) + (synopsis "File encapsulation program") + (description + "Flwrap is a software utility for amateur radio use. Its purpose is to +encapsulate both text and binary files in a way that allows them to be +transmitted over any of several digital modes and verified at the receipt end +for correctness.") + (home-page "http://www.w1hkj.com/") + (license license:gpl3+))) + +(define-public hackrf + ;; Using a git commit because there have been many many commits + ;; since the relase two years ago, but no sign of a promised + ;; release for many months now. + (let ((commit "43e6f99fe8543094d18ff3a6550ed2066c398862") + (revision "0")) + (package + (name "hackrf") + (version (git-version "2018.01.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mossmann/hackrf.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0avnv693xi0zsnrvkbfn0ln1r3s1iyj0bz7sc3gxay909av0pvbc")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + (list "-DUDEV_RULES_GROUP=dialout" + (string-append "-DUDEV_RULES_PATH=" + (assoc-ref %outputs "out") + "/lib/udev/rules.d")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'enter-source-directory + (lambda _ + (chdir "host") + #t)) + (add-after 'install 'delete-static-library + (lambda* (#:key outputs #:allow-other-keys) + (delete-file (string-append (assoc-ref outputs "out") + "/lib/libhackrf.a")) + #t)) + (add-before 'install-license-files 'leave-source-directory + (lambda _ + (chdir "..") + #t))) + #:tests? #f)) ; no test suite + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("fftw" ,fftw) + ("fftwf" ,fftwf) + ("libusb" ,libusb))) + (home-page "https://greatscottgadgets.com/hackrf/") + (synopsis "User-space library and utilities for HackRF SDR") + (description + "Command line utilities and a C library for controlling the HackRF +Software Defined Radio (SDR) over USB. Installing this package installs +the userspace hackrf utilities and C library. To install the hackrf +udev rules, you must add this package as a system service via +modify-services. E.g.: + +@lisp +(services + (modify-services + %desktop-services + (udev-service-type config => + (udev-configuration (inherit config) + (rules (cons hackrf + (udev-configuration-rules config))))))) +@end lisp") + (license license:gpl2)))) + +(define-public hamlib + (package + (name "hamlib") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/Hamlib/Hamlib/releases/download/" + version "/hamlib-" version ".tar.gz")) + (sha256 + (base32 "10788mgrhbc57zpzakcxv5aqnr2819pcshml6fbh8zvnkja562y9")))) + (build-system gnu-build-system) + (native-inputs + `(("doxygen" ,doxygen) + ("lua" ,lua) + ("pkg-config" ,pkg-config) + ("python-wrapper" ,python-wrapper) + ("swig" ,swig) + ("tcl" ,tcl))) + (inputs + `(("gd" ,gd) + ("libusb" ,libusb) + ("libxml2" ,libxml2) + ("readline" ,readline))) + (arguments + `(#:configure-flags '("--disable-static" + "--with-lua-binding" + "--with-python-binding" + "--with-tcl-binding" + "--with-xml-support"))) + (synopsis "Tools and API to control radios") + (description + "The Ham Radio Control Library (Hamlib) is a project to provide programs +with a consistent Application Programming Interface (API) for controlling the +myriad of radios and rotators available to amateur radio and communications +users.") + (home-page "https://hamlib.github.io/") + (license (list license:gpl2+ license:lgpl2.1+)))) + +(define wsjtx-hamlib + ;; Fork of hamlib with custom patches used by wsjtx. + (package + (inherit hamlib) + (name "wsjtx-hamlib") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/u/bsomervi/hamlib.git") + (commit (string-append "wsjtx-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ksv3cmr1dl45p0pp1panyc9dngd158gvv9ysv25lq4nqv1wn87i")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("texinfo" ,texinfo) + ,@(package-native-inputs hamlib))))) + +(define-public wsjtx + (package + (name "wsjtx") + (version "2.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/p/wsjt/wsjtx.git") + (commit (string-append "wsjtx-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fnqzjd3dmxp3yjwjvwz2djk9gzb1y2cqfa188f3x8lynxhdhnfs")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete bundled boost to use the shared one. + (delete-file-recursively "boost") + #t)))) + (build-system qt-build-system) + (native-inputs + `(("asciidoc" ,asciidoc) + ("gfortran" ,gfortran) + ("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ("ruby-asciidoctor" ,ruby-asciidoctor))) + (inputs + `(("boost" ,boost) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("hamlib" ,wsjtx-hamlib) + ("libusb" ,libusb) + ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) + ("qtserialport" ,qtserialport))) + (arguments + `(#:tests? #f)) ; No test suite + (synopsis "Weak-signal ham radio communication program") + (description + "WSJT-X implements communication protocols or modes called FT4, FT8, +JT4, JT9, JT65, QRA64, ISCAT, MSK144, and WSPR, as well as one called Echo for +detecting and measuring your own radio signals reflected from the Moon. These +modes were all designed for making reliable, confirmed QSOs under extreme +weak-signal conditions.") + (home-page "https://www.physics.princeton.edu/pulsar/k1jt/wsjtx.html") + (license license:gpl3))) + +(define-public xnec2c + (package + (name "xnec2c") + (version "4.1.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.5b4az.org/pkg/nec2/xnec2c/xnec2c-" + version ".tar.bz2")) + (sha256 + (base32 "1myvlkfybb2ha8l0h96ca3iz206zzy9z5iizm0sbab2zzp78n1r9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-makefile + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("Makefile.am" "Makefile.in") + ;; The DESTDIR variable does not get replaced the prefix + ;; in the final Makefile, so let's do here. + (("\\$\\(DESTDIR\\)/usr") + (assoc-ref outputs "out"))) + #t)) + (add-after 'fix-makefile 'fix-paths + (lambda* (#:key outputs #:allow-other-keys) + ;; Increase the max length of the path to the glade file, + ;; so that the '/gnu/store/...' path can fit in. + (substitute* '("src/shared.c" "src/shared.h") + (("char xnec2c_glade\\[64\\];") + "char xnec2c_glade[256];")) + ;; Fix hard coded references to '/usr/...'. + (substitute* '("src/geom_edit.c" "src/main.c") + (("\"/usr") + (string-append "\"" (assoc-ref outputs "out")))) + #t))))) + (synopsis "Antenna modeling software") + (description + "Xnec2c is a GTK3-based graphical version of nec2c, a translation to the +C language of NEC2, the FORTRAN Numerical Electromagnetics Code commonly used +for antenna simulation and analysis. It can be used to define the geometry of +an antenna, and then plot the radiation pattern or frequency-related data like +gain and standing wave ratio.") + (home-page "http://www.5b4az.org/") + (license license:gpl3+))) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index d255815e85..089e31b252 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -4,6 +4,8 @@ ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> +;;; Copyright © 2020 Pjotr Prins <pjotr.guix@thebird.nl> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,8 +23,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages rdf) - #:use-module ((guix licenses) - #:select (non-copyleft asl2.0 isc gpl2 lgpl2.1 lgpl2.1+ lgpl3+)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix download) @@ -85,7 +86,7 @@ of RSS, Atom 1.0 and 0.3, GRDDL and microformats for HTML, XHTML and XML. The serialising syntaxes are RDF/XML (regular, abbreviated, XMP), Turtle 2013, N-Quads, N-Triples 1.1, Atom 1.0, RSS 1.0, GraphViz DOT, HTML and JSON.") - (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 (define-public clucene (package @@ -119,7 +120,7 @@ HTML and JSON.") (description "CLucene is a high-performance, scalable, cross platform, full-featured indexing and searching API. It is a port of the very popular Java Lucene text search engine API to C++.") - (license lgpl2.1))) + (license license:lgpl2.1))) (define-public lucene++ (package @@ -150,7 +151,7 @@ Java Lucene text search engine API to C++.") (synopsis "Text search engine") (description "Lucene++ is an up to date C++ port of the popular Java Lucene library, a high-performance, full-featured text search engine.") - (license (list asl2.0 lgpl3+)))); either asl or lgpl. + (license (list license:asl2.0 license:lgpl3+)))); either asl or lgpl. (define-public lrdf (package @@ -195,7 +196,7 @@ Lucene library, a high-performance, full-featured text search engine.") LADSPA plugins. It can also be used for general RDF manipulation. It can read RDF/XLM and N3 files and export N3 files, and it also has a light taxonomic inference capability.") - (license gpl2))) + (license license:gpl2))) (define-public rasqal (package @@ -236,7 +237,7 @@ SPARQL Query 1.1, SPARQL Update 1.1 (no executing) and the Experimental SPARQL extensions (LAQRS). Rasqal can write binding query results in the SPARQL XML, SPARQL JSON, CSV, TSV, HTML, ASCII tables, RDF/XML and Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.") - (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 (define-public redland (package @@ -261,7 +262,7 @@ Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.") (synopsis "RDF library") (description "The Redland RDF Library (librdf) provides the RDF API and triple stores.") - (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 + (license license:lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 (define-public serd (package @@ -295,7 +296,7 @@ knife of RDF syntax, but rather is suited to resource limited or performance critical applications (e.g. converting many gigabytes of NTriples to Turtle), or situations where a simple reader/writer with minimal dependencies is ideal (e.g. in LV2 implementations or embedded applications).") - (license isc))) + (license license:isc))) (define-public sord (package @@ -330,7 +331,7 @@ ideal (e.g. in LV2 implementations or embedded applications).") (synopsis "C library for storing RDF data in memory") (description "Sord is a lightweight C library for storing RDF data in memory.") - (license isc))) + (license license:isc))) (define-public python-rdflib (package @@ -365,8 +366,30 @@ ideal (e.g. in LV2 implementations or embedded applications).") (description "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information.") - (license (non-copyleft "file://LICENSE" - "See LICENSE in the distribution.")))) + (license (license:non-copyleft "file://LICENSE" + "See LICENSE in the distribution.")))) (define-public python2-rdflib (package-with-python2 python-rdflib)) + +(define-public python-rdflib-jsonld + (package + (name "python-rdflib-jsonld") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "rdflib-jsonld" version)) + (sha256 + (base32 + "1v85f4hdlrrk0l1najmqmm79ijrvcj259kwsrrxiq1q5chr5azag")))) + (build-system python-build-system) + (native-inputs + `(("python-nose" ,python-nose))) + (propagated-inputs + `(("python-rdflib" ,python-rdflib))) + (home-page "https://github.com/RDFLib/rdflib-jsonld") + (synopsis "rdflib extension adding JSON-LD parser and serializer") + (description "This package provides an rdflib extension adding JSON-LD +parser and serializer.") + (license license:bsd-3))) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a31f177349..4d6d323442 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1771,8 +1771,8 @@ the output produced by running shell commands.") ("ruby-nenv" ,ruby-nenv))) (native-inputs `(("bundler" ,bundler))) - (synopsis "Wrapper libray for notification libraries") - (description "Notiffany is a Ruby wrapper libray for notification + (synopsis "Wrapper library for notification libraries") + (description "Notiffany is a Ruby wrapper library for notification libraries such as Libnotify.") (home-page "https://github.com/guard/notiffany") (license license:expat))) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 2c718a14f5..132a17810c 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -280,7 +281,7 @@ gitignore rules.") ("serde" ,rust-serde-1.0) ("serde-json" ,rust-serde-json-1.0) ("syn" ,rust-syn-1.0) - ("tempfile" ,rust-tempfile-3.0) + ("tempfile" ,rust-tempfile-3.1) ("toml" ,rust-toml-0.5)))) (home-page "https://github.com/eqrion/cbindgen/") (synopsis "Tool for generating C bindings to Rust code") @@ -288,6 +289,21 @@ gitignore rules.") "This package provides a tool for generating C/C++ bindings to Rust code.") (license license:mpl2.0))) +(define-public rust-cbindgen-0.12 + (package + (inherit rust-cbindgen) + (name "rust-cbindgen") + (version "0.12.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cbindgen" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m")))))) + (define-public tokei (package (name "tokei") @@ -348,3 +364,36 @@ gitignore rules.") show number of files, total lines within those files and code, comments, and blanks grouped by language.") (license (list license:expat license:asl2.0)))) + +(define-public rust-cargo-c + (package + (name "rust-cargo-c") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cargo-c" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1is72jm0r73pqx2g3h1n6lvrcirwd91mmajsmb3jjg4jnayfkp0w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-cbindgen" ,rust-cbindgen-0.12) + ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.3) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-toml" ,rust-toml-0.5) + ("rust-cargo-metadata" ,rust-cargo-metadata-0.9) + ("rust-serde" ,rust-serde-1.0) + ("rust-serde-derive" ,rust-serde-derive-1.0) + ("rust-regex" ,rust-regex-1.3)))) + (home-page "https://github.com/lu-zero/cargo-c") + (synopsis "Build and install C-compatible libraries") + (description + "This package produces and installs a correct pkg-config file, a static +library and a dynamic library, and a C header to be used by any C (and +C-compatible) software.") + (license license:expat))) diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 47bf9a9c88..b96cb6b96e 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -331,7 +331,7 @@ coefficients of which are modular integers.") (define-public brial (package (name "brial") - (version "1.2.7") + (version "1.2.8") (source (origin (method git-fetch) @@ -340,7 +340,7 @@ coefficients of which are modular integers.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1s0wmbb42sq6a5kxgzsz5srphclmfa4cvxdx2h9kzp0da2zcp3cm")))) + (base32 "0qhgckd4fvbs40jw14mvw89rccv94d3df27kipd27hxd4cx7y80y")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 25b0bdba2b..105296cd0f 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -115,16 +115,15 @@ joystick, and graphics hardware.") (define-public sdl2 (package (inherit sdl) (name "sdl2") - (version "2.0.10") + (version "2.0.12") (source (origin (method url-fetch) (uri (string-append "https://libsdl.org/release/SDL2-" version ".tar.gz")) - (patches (search-patches "sdl2-mesa-compat.patch")) (sha256 (base32 - "0mqxp6w5jhbq6y1j690g9r3gpzwjxh4czaglw8x05l7hl49nqrdl")))) + "0qy8wbqvfkb5ps8kxgaaf2zzpkjqbsw712hlp74znbn0jpv6i4il")))) (arguments (substitute-keyword-arguments (package-arguments sdl) ((#:configure-flags flags) @@ -132,20 +131,26 @@ joystick, and graphics hardware.") "--disable-kmsdrm-shared") ,flags)) ((#:make-flags flags ''()) - ;; Add the Fcitx header files to GCCs "system header" search path - ;; in order to suppress compiler warnings induced by those: - ;; .../include/fcitx-utils/utarray.h:178:9: error: ISO C90 forbids - ;; mixed declarations and code [-Werror=declaration-after-statement] - `(append (list (string-append "C_INCLUDE_PATH=" - (assoc-ref %build-inputs "fcitx") - "/include")) - ,flags)))) + `(cons* + ;; Add the Fcitx header files to GCCs "system header" search path + ;; in order to suppress compiler warnings induced by those: + ;; .../include/fcitx-utils/utarray.h:178:9: error: ISO C90 forbids + ;; mixed declarations and code [-Werror=declaration-after-statement] + (string-append "C_INCLUDE_PATH=" + (assoc-ref %build-inputs "fcitx") "/include") + ;; SDL dlopens libudev, so make sure it is in rpath. This overrides + ;; the LDFLAG set in sdl’s configure-flags, which isn’t necessary + ;; as sdl2 includes Mesa by default. + (string-append "LDFLAGS=-Wl,-rpath," + (assoc-ref %build-inputs "eudev") "/lib") + ,flags)))) (inputs ;; SDL2 needs to be built with ibus support otherwise some systems ;; experience a bug where input events are doubled. ;; ;; For more information, see: https://dev.solus-project.com/T1721 (append `(("dbus" ,dbus) + ("eudev" ,eudev) ; for discovering input devices ("fcitx" ,fcitx) ; helps with CJK input ("glib" ,glib) ("ibus" ,ibus) @@ -340,14 +345,12 @@ SDL.") "SDL_Pango-" version ".tar.gz")) (sha256 (base32 "197baw1dsg0p4pljs5k0fshbyki00r4l49m1drlpqw6ggawx6xbz")) - (patches - (search-patches - "sdl-pango-api_additions.patch" - "sdl-pango-blit_overflow.patch" - "sdl-pango-fillrect_crash.patch" - "sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch" - "sdl-pango-matrix_declarations.patch" - "sdl-pango-sans-serif.patch")))) + (patches (search-patches "sdl-pango-api_additions.patch" + "sdl-pango-blit_overflow.patch" + "sdl-pango-fillrect_crash.patch" + "sdl-pango-header-guard.patch" + "sdl-pango-matrix_declarations.patch" + "sdl-pango-sans-serif.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--disable-static") diff --git a/gnu/packages/sdr.scm b/gnu/packages/sdr.scm deleted file mode 100644 index 563a9b3887..0000000000 --- a/gnu/packages/sdr.scm +++ /dev/null @@ -1,57 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Christopher Howard <christopher@librehacker.com> -;;; Copyright © 2019, 2020 Evan Straw <evan.straw99@gmail.com> -;;; -;;; 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 sdr) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (gnu packages algebra) - #:use-module (gnu packages autotools)) - -(define-public liquid-dsp - (package - (name "liquid-dsp") - (version "1.3.2") - (source - (origin (method git-fetch) - (uri (git-reference - (url "https://github.com/jgaeddert/liquid-dsp.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1n6dbg13q8ga5qhg1yiszwly4jj0rxqr6f1xwm9waaly5z493xsd")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf))) - (inputs - `(("fftw" ,fftw) - ("fftwf" ,fftwf))) - (home-page "https://liquidsdr.org") - (synopsis "Signal processing library for software-defined radios") - (description - "Liquid DSP is a @dfn{digital signal processing} (DSP) library designed -specifically for software-defined radios on embedded platforms. The aim is to -provide a lightweight DSP library that does not rely on a myriad of external -dependencies or proprietary and otherwise cumbersome frameworks. All signal -processing elements are designed to be flexible, scalable, and dynamic, -including filters, filter design, oscillators, modems, synchronizers, complex -mathematical operations, and much more.") - (license license:expat))) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 800aa0505e..c5cbb758da 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -117,7 +117,7 @@ readers and is needed to communicate with such devices through the (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("pkg-config" ,pkg-config) ("perl" ,perl))) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 8708b703ef..c71e6399ea 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -712,14 +712,14 @@ interactive POSIX shell targeted at resource-constrained systems.") (define-public mksh (package (name "mksh") - (version "57") + (version "58") (source (origin (method url-fetch) (uri (string-append "https://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R" version ".tgz")) (sha256 - (base32 "0xdykm1z710wriwd6nc8s8lwk2dwjl63dq96xxaawlid31a1241x")))) + (base32 "1337zjvzh14yncg9igdry904a3ns52l8rnm1kcq262w7f5xyp2v0")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; tests require access to /dev/tty diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 5fdf2cdbd8..c9c1eaa8d9 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -2,9 +2,10 @@ ;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,15 +33,20 @@ #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) ;for 'which' + #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils)) @@ -220,12 +226,20 @@ stable and well documented interface.") "08xwnpw9cnaix1n1i7gvpq5hrfrqc2z1snjhjapfam506hrc77g4")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; No test suite. - #:make-flags - (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (delete 'configure)))) ; No ./configure script. + `(#:tests? #f ; no test suite + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'respect-LDFLAGS + (lambda _ + (substitute* "Makefile" + ((" -o sonic " match) + (string-append " $(LDFLAGS)" match))) + #t)) + (delete 'configure)))) ; no ./configure script (synopsis "Speed up or slow down speech") (description "Sonic implements a simple algorithm for speeding up or slowing down speech. However, it's optimized for speed ups of over 2X, unlike previous @@ -471,3 +485,64 @@ The system is written in C++ and uses the Edinburgh Speech Tools Library for low level architecture and has a Scheme (SIOD) based command interpreter for control.") (license (license:non-copyleft "file://COPYING")))) + +(define-public sphinxbase + (package + (name "sphinxbase") + (version "5prealpha") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/cmusphinx/" + "sphinxbase/" version "/" + "sphinxbase-" version ".tar.gz")) + (sha256 + (base32 "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-tests? #f)) ;tests fail otherwise + (native-inputs + `(("bison" ,bison) + ("doxygen" ,doxygen) + ("perl" ,perl) ;for tests + ("python" ,python) + ("swig" ,swig))) + (inputs + `(("pulseaudio" ,pulseaudio))) + (home-page "https://cmusphinx.github.io/") + (synopsis "Support library required by Pocketsphinx and Sphinxtrain") + (description "This package contains the basic libraries shared by +the CMU Sphinx trainer and all the Sphinx decoders (Sphinx-II, +Sphinx-III, and PocketSphinx), as well as some common utilities for +manipulating acoustic feature and audio files.") + (license license:bsd-4))) + +(define-public pocketsphinx + (package + (name "pocketsphinx") + (version "5prealpha") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/cmusphinx/" + "pocketsphinx/" version "/" + "pocketsphinx-" version ".tar.gz")) + (sha256 + (base32 "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("perl" ,perl) ;for tests + ("python" ,python) + ("swig" ,swig))) + (inputs + `(("gstreamer" ,gstreamer) + ("libcap" ,libcap) + ("pulseaudio" ,pulseaudio) + ("sphinxbase" ,sphinxbase))) + (home-page "https://cmusphinx.github.io/") + (synopsis "Recognizer library written in C") + (description "PocketSphinx is one of Carnegie Mellon University's +large vocabulary, speaker-independent continuous speech recognition +engine.") + (license license:bsd-2))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index e3af517997..e9ac5bd095 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -72,7 +72,7 @@ (define-public libssh (package (name "libssh") - (version "0.9.3") + (version "0.9.4") (source (origin (method git-fetch) (uri (git-reference @@ -80,7 +80,7 @@ (commit (string-append "libssh-" version)))) (sha256 (base32 - "175i3xybg69d5lb078334v6dd3njm743kww8f67ix9w33969rmzf")) + "0qr4vi3k1wv69c95d9j26fiv78pzyksaq8ccd76b8nxar5z1fbj6")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (outputs '("out" "debug")) @@ -404,10 +404,10 @@ authentication scheme.") (home-page "https://mosh.org/") (synopsis "Remote shell tolerant to intermittent connectivity") (description - "Remote terminal application that allows roaming, supports intermittent -connectivity, and provides intelligent local echo and line editing of user -keystrokes. Mosh is a replacement for SSH. It's more robust and responsive, -especially over Wi-Fi, cellular, and long-distance links.") + "Mosh is a remote terminal application that allows client roaming, supports +intermittent connectivity, and provides intelligent local echo and line editing +of user keystrokes. It's a replacement for SSH that's more robust and +responsive, especially over Wi-Fi, cellular, and long-distance links.") (license license:gpl3+))) (define-public et @@ -437,7 +437,7 @@ especially over Wi-Fi, cellular, and long-distance links.") without interrupting the session. Unlike SSH sessions, ET sessions will survive even network outages and IP changes. ET uses a custom protocol over TCP, not the SSH protocol.") - (home-page "https://mistertea.github.io/EternalTCP/") + (home-page "https://eternalterminal.dev/") (license license:asl2.0))) (define-public dropbear diff --git a/gnu/packages/sssd.scm b/gnu/packages/sssd.scm index 7bb71dce13..7c19d1f53f 100644 --- a/gnu/packages/sssd.scm +++ b/gnu/packages/sssd.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,14 +82,14 @@ fundamental object types for C.") (define-public sssd (package (name "sssd") - (version "1.16.4") + (version "1.16.5") (source (origin (method url-fetch) - (uri (string-append "http://releases.pagure.org/SSSD/sssd/" + (uri (string-append "https://releases.pagure.org/SSSD/sssd/" "sssd-" version ".tar.gz")) (sha256 (base32 - "0ngr7cgimyjc6flqkm7psxagp1m4jlzpqkn28pliifbmdg6i5ckb")))) + "1h6hwibaf3xa2w6qpzjiiywmfj6zkgbz4r2isf3gd0xm6vq7n6if")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index be7c42617b..6bf952734c 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -183,7 +183,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") (define r-with-tests (package (name "r-with-tests") - (version "3.6.3") + (version "4.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://cran/src/base/R-" @@ -191,7 +191,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") version ".tar.gz")) (sha256 (base32 - "13xaxwfbzj0bd6rn2n27z0n04lb93mcyq991w4vdbbg8v282jc49")))) + "0h1995smlyiyhx7gpg9paxsfqrcn6g9bbp5h9r47i6an3clv1gh6")))) (build-system gnu-build-system) (arguments `(#:disallowed-references (,tzdata-for-tests) @@ -269,6 +269,11 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ (("my \\$date = strftime \"%B %Y\", localtime" line) (string-append line " 1")))) #t)) + (add-before 'build 'set-locales + (lambda _ + (setlocale LC_ALL "C") + (setenv "LC_ALL" "C") + #t)) (add-before 'configure 'set-default-pager ;; Set default pager to "cat", because otherwise it is "false", ;; making "help()" print nothing at all. @@ -322,7 +327,9 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ ("perl" ,perl) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo) ; for building HTML manuals - ("texlive" ,(texlive-union (list texlive-fonts-ec + ("texlive" ,(texlive-union (list texlive-ae + texlive-inconsolata + texlive-fonts-ec texlive-amsfonts texlive-latex-base texlive-latex-fancyvrb @@ -331,7 +338,8 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ texlive-latex-oberdiek texlive-latex-tools texlive-latex-upquote - texlive-latex-url))) + texlive-latex-url + texlive-latex-xkeyval))) ("tzdata" ,tzdata-for-tests) ("xz" ,xz))) (inputs @@ -347,7 +355,7 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ ("libpng" ,libpng) ("libtiff" ,libtiff) ("libxt" ,libxt) - ("pcre" ,pcre) + ("pcre2" ,pcre2) ("readline" ,readline) ;; This avoids a reference to the ungraftable static bash. R uses the ;; detected shell for the "system" procedure. @@ -504,14 +512,14 @@ code for possible problems.") (define-public r-foreign (package (name "r-foreign") - (version "0.8-76") + (version "0.8-78") (source (origin (method url-fetch) (uri (cran-uri "foreign" version)) (sha256 (base32 - "1z6x2x1z12wnv0z4p74d91r5wfaq30sdz4ynwx0lncz1q45mhbh5")))) + "01anirfbfa3ip5pyqv72cg4x7p0jsppmbvxrllw7bm28fl1hgiyq")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/foreign") (synopsis "Read data stored by other statistics software") @@ -548,13 +556,13 @@ estimation) corresponding to the book: Wand, M.P. and Jones, M.C. (1995) (define-public r-lattice (package (name "r-lattice") - (version "0.20-40") + (version "0.20-41") (source (origin (method url-fetch) (uri (cran-uri "lattice" version)) (sha256 (base32 - "1w53sfzdy9zsifv44dqf9pl46fk14lnx3fha1k1p660h51lyv56m")))) + "1dapkmh4jlb9sxfrpvapvlfhczl4s8p3r20bn47gcgdk1izmbjjl")))) (build-system r-build-system) (home-page "http://lattice.r-forge.r-project.org/") (synopsis "High-level data visualization system") @@ -590,13 +598,13 @@ and operations on them using LAPACK and SuiteSparse.") (define-public r-nlme (package (name "r-nlme") - (version "3.1-145") + (version "3.1-147") (source (origin (method url-fetch) (uri (cran-uri "nlme" version)) (sha256 - (base32 "1i9a3afdmn2ziks0imz0j09ay9n0zb9mhrymy9mg97vvlz5diwrh")))) + (base32 "1rqc3wy3lmy0wczsvsn8yszzsxhppfwg4iznb1j6ki2qawpdij7g")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -693,14 +701,14 @@ analysis.") (define-public r-survival (package (name "r-survival") - (version "3.1-11") + (version "3.1-12") (source (origin (method url-fetch) (uri (cran-uri "survival" version)) (sha256 (base32 - "1fbhbm3bnpg1nmj37h1d76x813ggvwk0cp51ixmmgb3pz47i5xj4")))) + "07zj3gpwncw89hbiwjb6ih9axv5zwdqnbgz9yw9xzws6nrpdcbmn")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -1066,13 +1074,13 @@ the input of another.") (define-public r-reshape2 (package (name "r-reshape2") - (version "1.4.3") + (version "1.4.4") (source (origin (method url-fetch) (uri (cran-uri "reshape2" version)) (sha256 - (base32 "03ki5ka1dj208fc0dclbm0b4xp9d769pah2j9cs34l776p4r9zwa")))) + (base32 "1n0jrajpvc8hjkh9z4g8bwq63qy5vy5cgl2pzjardyih4ngcz3fq")))) (build-system r-build-system) (propagated-inputs `(("r-plyr" ,r-plyr) @@ -1148,14 +1156,14 @@ agnes cluster diagrams.") (define-public r-gdtools (package (name "r-gdtools") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (cran-uri "gdtools" version)) (sha256 (base32 - "1aax50wyrs4336zpf247l8wmp4spab2n70msziy1ip4gbjn26wa1")))) + "08njzin0c6biw62j5w30r9j85vr1m2cg4hmv5d76nym860yrlqjf")))) (build-system r-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1505,7 +1513,7 @@ understand the language at a deeper level.") (home-page "https://github.com/hadley/memoise") (synopsis "Memoise functions for R") (description - "This R package allows to cache the results of a function so that when + "This R package caches the results of a function so that when you call it again with the same arguments it returns the pre-computed value.") (license license:expat))) @@ -1624,22 +1632,28 @@ like tidy evaluation.") (define-public r-tibble (package (name "r-tibble") - (version "2.1.3") + (version "3.0.1") (source (origin (method url-fetch) (uri (cran-uri "tibble" version)) (sha256 (base32 - "06jfayiip8j8ibdhw3fvxn4n8aqbqhwanrszpzlsf92xdfgfm34s")))) + "17m7xvn423snq9dmr0bhx42j5rbc53w1viizxx4bvq37nz7m4i8m")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) ("r-crayon" ,r-crayon) + ("r-ellipsis" ,r-ellipsis) ("r-fansi" ,r-fansi) + ("r-lifecycle" ,r-lifecycle) + ("r-magrittr" ,r-magrittr) ("r-pkgconfig" ,r-pkgconfig) ("r-pillar" ,r-pillar) - ("r-rlang" ,r-rlang))) + ("r-rlang" ,r-rlang) + ("r-vctrs" ,r-vctrs))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/tibble") (synopsis "Simple data frames") (description @@ -1688,25 +1702,28 @@ database.") (define-public r-dbplyr (package (name "r-dbplyr") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (cran-uri "dbplyr" version)) (sha256 (base32 - "1q2dflr88s5a1amzfld3087q422vf70052qn84zyd8895kdg10xp")))) + "1si8sahr1kwq1xgjzi9klkahad07pyrsngy75y1f74f64907pb39")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) ("r-dbi" ,r-dbi) ("r-dplyr" ,r-dplyr) ("r-glue" ,r-glue) + ("r-lifecycle" ,r-lifecycle) ("r-purrr" ,r-purrr) ("r-r6" ,r-r6) ("r-rlang" ,r-rlang) ("r-tibble" ,r-tibble) ("r-tidyselect" ,r-tidyselect))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tidyverse/dbplyr") (synopsis "Dplyr back end for databases") (description @@ -1983,14 +2000,14 @@ and environmental data in the framework of Euclidean exploratory methods.") (define-public r-xml2 (package (name "r-xml2") - (version "1.2.5") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "xml2" version)) (sha256 (base32 - "0mp61gg8s3zfq10g10vjk0mrcx6d5gm81n4ji8an2my11g61yq94")))) + "1kx400v62xkd5xal7rzz7jcarz94ac8g1sh4i2dqr78qwgkzj8nz")))) (build-system r-build-system) (inputs `(("libxml2" ,libxml2) @@ -1998,8 +2015,6 @@ and environmental data in the framework of Euclidean exploratory methods.") (native-inputs `(("pkg-config" ,pkg-config) ("r-knitr" ,r-knitr))) - (propagated-inputs - `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/hadley/xml2") (synopsis "Parse XML with R") (description @@ -2076,14 +2091,14 @@ limited to R.") (define-public r-backports (package (name "r-backports") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) (uri (cran-uri "backports" version)) (sha256 (base32 - "0k19w68b2aihyj5mflw3732gkkzs78sssqdns960pdw3yfnkiv33")))) + "170rphqq28j0pcr28g6dxv3isp436ajhyzkpri31pn0lfm3szs6h")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/backports") (synopsis "Reimplementations of functions introduced since R 3.0.0") @@ -2397,13 +2412,13 @@ informative error messages when it's not available.") (define-public r-devtools (package (name "r-devtools") - (version "2.2.2") + (version "2.3.0") (source (origin (method url-fetch) (uri (cran-uri "devtools" version)) (sha256 (base32 - "1bhb2j8ilpdzwd0c678mcgfpdw88vncsjma79afcikxmzcsz9279")))) + "1l6w765q180bg5mmdq5k2ymf6apz7ldhnknzf6ynfp1kf70pbhsg")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) @@ -2431,6 +2446,8 @@ informative error messages when it's not available.") ("r-testthat" ,r-testthat) ("r-usethis" ,r-usethis) ("r-withr" ,r-withr))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/devtools") (synopsis "Tools to make developing R packages easier") (description "The devtools package is a collection of package development @@ -2440,14 +2457,16 @@ tools to simplify the devolpment of R packages.") (define-public r-withr (package (name "r-withr") - (version "2.1.2") + (version "2.2.0") (source (origin (method url-fetch) (uri (cran-uri "withr" version)) (sha256 (base32 - "11j6zykklxnvp4xqsr6a2xib665i38m3khdspp887nwagmvnydj1")))) + "10mmfffjbnb2zq5x0kqhhb4z6va4micc6pjzvlfji34gyhffa8ac")))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/jimhester/withr") (synopsis "Run code with temporarily modified global state") (description @@ -2508,13 +2527,13 @@ disk (or a connection).") (define-public r-plotrix (package (name "r-plotrix") - (version "3.7-7") + (version "3.7-8") (source (origin (method url-fetch) (uri (cran-uri "plotrix" version)) (sha256 (base32 - "1x92mmyfry127zzr6cmcj6kjsc4zhxrrdlr0jcxn3bb0hpdfps54")))) + "104llmr6dvlcnfpmd8zbdlv63k79djc4qqgadjavj4v4cmz1zkcc")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/plotrix") (synopsis "Various plotting functions") @@ -2569,21 +2588,15 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.9.850.1.0") + (version "0.9.860.2.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "0q9clhmbwwph47hrhx5827m7njrcl2klihyqbkf0ihwlbqrjijwz")))) + "1rg9ak0zbv8d9cyj10jq52nrcbk1pvfz28kbkhpx79mpjhrl7pb5")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) - ;; All needed for vignettes - (native-inputs - `(("r-knitr" ,r-knitr) - ("r-rmarkdown" ,r-rmarkdown) - ("ghc-pandoc" ,ghc-pandoc) - ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc))) (propagated-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/RcppCore/RcppArmadillo") @@ -3060,18 +3073,20 @@ data.") (define-public r-foreach (package (name "r-foreach") - (version "1.4.8") + (version "1.5.0") (source (origin (method url-fetch) (uri (cran-uri "foreach" version)) (sha256 (base32 - "1xwf5l2fw62w80ji3dvgcc6m9m4s6zygkhi84ypb0gv0ppjffg5c")))) + "0584nv49x8d8m1cak5drb54sxs3y594gd521kjsdwk4c849sgy8s")))) (build-system r-build-system) (propagated-inputs `(("r-codetools" ,r-codetools) ("r-iterators" ,r-iterators))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/foreach") (synopsis "Foreach looping construct for R") (description @@ -3741,18 +3756,20 @@ It uses and relies on grid graphics and formal (S4) classes and methods.") (define-public r-purrr (package (name "r-purrr") - (version "0.3.3") + (version "0.3.4") (source (origin (method url-fetch) (uri (cran-uri "purrr" version)) (sha256 (base32 - "17lyys7dxjrwsfkq7a7hw65iy3qn3pp1sn70srdy64jf8adahc8g")))) + "1cj091rsjdj2xz16qhynyw72gh5cyhznifcfbrbygndfr4xwksr3")))) (build-system r-build-system) (propagated-inputs `(("r-magrittr" ,r-magrittr) ("r-rlang" ,r-rlang))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/purrr") (synopsis "Functional programming tools") (description @@ -3763,13 +3780,13 @@ features present in other programming languages.") (define-public r-plotly (package (name "r-plotly") - (version "4.9.2") + (version "4.9.2.1") (source (origin (method url-fetch) (uri (cran-uri "plotly" version)) (sha256 (base32 - "19zw3qnhfgqdxlvma8xyikir46aiqhfcwxf072z9xgq0hknpblm5")))) + "1f0x83a2s7200iqi6gpngijks06fcvcbm6701d5r5rxpb8rawppl")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -4095,14 +4112,14 @@ existing packages provide.") (define-public r-sfsmisc (package (name "r-sfsmisc") - (version "1.1-5") + (version "1.1-6") (source (origin (method url-fetch) (uri (cran-uri "sfsmisc" version)) (sha256 (base32 - "173qgm2bn84x544fc3x9gc2rv995sbsvji9lnn2drx8drvzyy8lf")))) + "04fvjdab6vyyghyqy0abxvfbyr1myz6yib7ibwiyjw9yf7fjrcjp")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/sfsmisc") (synopsis "Utilities from \"Seminar fuer Statistik\" ETH Zurich") @@ -4114,14 +4131,14 @@ Zurich, including many that are related to graphics.") (define-public r-gtools (package (name "r-gtools") - (version "3.8.1") + (version "3.8.2") (source (origin (method url-fetch) (uri (cran-uri "gtools" version)) (sha256 (base32 - "0f5syk1qq6cjq6hwymvkiyhzwa389z94722v881ipbfqkd2q8505")))) + "1pnwy412wvhhvnnx8qg6s9hrgcnsfhnfcpf2560ipipk845acfsh")))) (build-system r-build-system) (arguments `(#:phases @@ -4689,17 +4706,18 @@ models, generalized linear models and model-based clustering.") (define-public r-mclust (package (name "r-mclust") - (version "5.4.5") + (version "5.4.6") (source (origin (method url-fetch) (uri (cran-uri "mclust" version)) (sha256 (base32 - "0whandnda1fnjn5k3hgxdbp3b0xr7nlzy1j37saqb536h8q9dwkm")))) + "1z46qask09x3xpv0wzvhn09218vwyrip4f5jrhnx96khpwvczzyl")))) (build-system r-build-system) (native-inputs - `(("gfortran" ,gfortran))) + `(("gfortran" ,gfortran) + ("r-knitr" ,r-knitr))) (home-page "https://www.stat.washington.edu/mclust/") (synopsis "Gaussian mixture modelling for model-based clustering etc.") (description @@ -4775,7 +4793,7 @@ can be efficiently implemented directly in the R language.") (home-page "http://robustbase.r-forge.r-project.org/") (synopsis "Basic robust statistics") (description - "This package allows to analyze data with robust methods such as + "This package analyzes data with robust methods such as regression methodology including model selections and multivariate statistics.") (license license:gpl2+))) @@ -5076,13 +5094,13 @@ using modular prediction and response module classes.") (define-public r-quantreg (package (name "r-quantreg") - (version "5.54") + (version "5.55") (source (origin (method url-fetch) (uri (cran-uri "quantreg" version)) (sha256 - (base32 "19nh79qrkb75q348nk148l8wqjwnq5jgq29wpzqym5cfv1kjqfvh")))) + (base32 "1zjc8p95kb0ypxa6nxp0lkdq8armkjmmhf8484m25n5f14a59qfb")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -5131,14 +5149,14 @@ algorithms.") (define-public r-lme4 (package (name "r-lme4") - (version "1.1-21") + (version "1.1-23") (source (origin (method url-fetch) (uri (cran-uri "lme4" version)) (sha256 (base32 - "035j2hqkwv939xl07pm2vykvf3wlx8qj317846n9pkpqkyv58mbz")))) + "0qh29kqli0l3naylgb6jha6jllx4nwryr3hv9yk37blgyyql5mcr")))) (build-system r-build-system) (propagated-inputs `(("r-boot" ,r-boot) @@ -5149,7 +5167,10 @@ algorithms.") ("r-nloptr" ,r-nloptr) ("r-nlme" ,r-nlme) ("r-rcpp" ,r-rcpp) - ("r-rcppeigen" ,r-rcppeigen))) + ("r-rcppeigen" ,r-rcppeigen) + ("r-statmod" ,r-statmod))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/lme4") (synopsis "Linear mixed-effects models using eigen and S4") (description @@ -5251,7 +5272,7 @@ to Applied regression, Second Edition, Sage, 2011.") (home-page "https://github.com/kforner/rcpp_progress") (synopsis "Interruptible progress bar for C++ in R packages") (description - "This package allows to display a progress bar in the R console for long running + "This package displays a progress bar in the R console for long running computations taking place in C++ code, and support for interrupting those computations even in multithreaded code, typically using OpenMP.") (license license:gpl3+))) @@ -5302,18 +5323,19 @@ first and second order derivatives.") (define-public r-sn (package (name "r-sn") - (version "1.5-5") + (version "1.6-1") (source (origin (method url-fetch) (uri (cran-uri "sn" version)) (sha256 (base32 - "0ymyyc0di1g2b11wzljiih05z3rxck48wn74bygg3fiby973z49f")))) + "0snri2k8qslb7478c5jz4a5xxmmb1ipmp8x1jizi8mhj2cjic1w0")))) (build-system r-build-system) (propagated-inputs `(("r-mnormt" ,r-mnormt) - ("r-numderiv" ,r-numderiv))) + ("r-numderiv" ,r-numderiv) + ("r-quantreg" ,r-quantreg))) (home-page "http://azzalini.stat.unipd.it/SN") (synopsis "The skew-normal and skew-t distributions") (description @@ -5396,14 +5418,14 @@ genome-wide association studies can be analyzed efficiently.") (define-public r-cairo (package (name "r-cairo") - (version "1.5-11") + (version "1.5-12") (source (origin (method url-fetch) (uri (cran-uri "Cairo" version)) (sha256 (base32 - "1k9kpxcg5n4g6x2gydv344f4w0snqbhww14fnbbj1bny0mmv28xg")))) + "02v29am4fac3fyq6y1w6r89zwbqqkxjsxrafcwb5s124ikxyl22f")))) (properties `((upstream-name . "Cairo"))) (build-system r-build-system) (inputs @@ -5432,20 +5454,21 @@ is supported.") (define-public r-lubridate (package (name "r-lubridate") - (version "1.7.4") + (version "1.7.8") (source (origin (method url-fetch) (uri (cran-uri "lubridate" version)) (sha256 (base32 - "14a823il77w3wmmnzr89vwrqp50y56dh5raycnaw6c8nv5xsh32i")))) + "0g2m9dyhgds4shdrk76w7rqdl9msam4rii2qrhz12gipzhi9k89x")))) (build-system r-build-system) (propagated-inputs - `(("r-rcpp" ,r-rcpp) - ("r-stringr" ,r-stringr))) - (home-page - "https://cran.r-project.org/web/packages/lubridate") + `(("r-generics" ,r-generics) + ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/web/packages/lubridate/") (synopsis "Make dealing with dates a little easier") (description "This package provides functions to work with date-times and time-spans: diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 77f0aa326d..ad4c30d064 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1,6 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Petter <petter@mykolab.ch> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,7 +32,7 @@ (define-public syncthing (package (name "syncthing") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -38,7 +40,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "1p9y943kd09pxmsaahbdml2mn2qlwbx23hvbsm1sqbbm8ma9ai8c")) + "16dqpbn4saxmmmqd5ya8zdkwvxzz4nim1p4w954zkkdz3cyg86h6")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -97,7 +99,7 @@ ("go-github-com-lucas-clemente-quic-go" ,go-github-com-lucas-clemente-quic-go) ("go-github-com-willf-bloom" ,go-github-com-willf-bloom) - ;; For tests + ;; For tests. ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff))) (arguments @@ -1021,29 +1023,27 @@ quoting, commenting, and escaping.") (license asl2.0)))) (define-public go-github-com-audriusbutkevicius-pfilter - (let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d") - (revision "3")) - (package - (name "go-github-com-audriusbutkevicius-pfilter") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/AudriusButkevicius/pfilter.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/AudriusButkevicius/pfilter")) - (synopsis "Filter packets into multiple virtual connections") - (description "Pfilter is a Go package for filtering packets into multiple + (package + (name "go-github-com-audriusbutkevicius-pfilter") + (version "0.0.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AudriusButkevicius/pfilter.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/AudriusButkevicius/pfilter")) + (synopsis "Filter packets into multiple virtual connections") + (description "Pfilter is a Go package for filtering packets into multiple virtual connections from a single physical connection.") - (home-page "https://github.com/AudriusButkevicius/pfilter") - (license expat)))) + (home-page "https://github.com/AudriusButkevicius/pfilter") + (license expat))) (define-public go-github-com-ccding-go-stun (let ((commit "be486d185f3dfcb2dbf8429332da50a0da7f95a6") diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index a84281364f..5bc3d19a92 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -84,16 +84,10 @@ interface that might look familiar to @command{mutt} or @command{slrn} users. Newsboat supports OPML import/exports, HTML rendering, podcasts (with @command{podboat}), off-line reading, searching and storing articles to your -file system, and many more features. - -It started life as a fork of the currently unmaintained Newsbeuter.") +file system, and many more features.") (license (list license:gpl2+ ; filter/* license:expat)))) ; everything else -(define-public newsbeuter - ;; Newsbeuter is unmaintained with multiple CVEs, and was forked as Newsboat. - (deprecated-package "newsbeuter" newsboat)) - (define-public rtv (package (name "rtv") @@ -136,3 +130,42 @@ It started life as a fork of the currently unmaintained Newsbeuter.") "RTV provides a text-based interface to view and interact with Reddit.") (license (list license:expat license:gpl3+)))) ; rtv/packages/praw + +(define-public tuir + (package + (name "tuir") + (version "1.28.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tuir" version)) + (sha256 + (base32 + "1gpyjrl7jdfjq30m32nzh59ajv91gq19l93jjri2wsv5yrf90hdr")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (invoke "pytest")))))) + (inputs + `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-decorator" ,python-decorator) + ("python-kitchen" ,python-kitchen) + ("python-requests" ,python-requests) + ("python-six" ,python-six))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-coveralls" ,python-coveralls) + ("python-mock" ,python-mock) + ("python-pylint" ,python-pylint) + ("python-pytest" ,python-pytest) + ("python-vcrpy" ,python-vcrpy))) + (home-page "https://gitlab.com/ajak/tuir") + (synopsis "Terminal viewer for Reddit (Terminal UI for Reddit)") + (description + "Tuir provides a simple terminal viewer for Reddit (Terminal UI for Reddit).") + (license (list license:expat + license:gpl3+)))) ; tuir/packages/praw diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index fe6c230693..7b20954120 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 Francesco Frassinelli <fraph24@gmail.com> ;;; Copyright © 2016, 2017 ng0 <ng0@n0.is> @@ -16,6 +16,9 @@ ;;; Copyright © 2019 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,7 +37,9 @@ (define-module (gnu packages telephony) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages aidc) + #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages avahi) #:use-module (gnu packages audio) @@ -43,6 +48,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) + #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages file) #:use-module (gnu packages protobuf) @@ -52,10 +58,12 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) + #:use-module (gnu packages image) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) + #:use-module (gnu packages netpbm) #:use-module (gnu packages networking) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -84,6 +92,97 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system qt)) +(define-public spandsp + (package + (name "spandsp") + (version "0.0.6") + (source + (origin + (method url-fetch) + (uri + ;; The original upstream has been down since the end of March 2020. + (string-append "https://web.archive.org/web/20180626203108/" + "https://www.soft-switch.org/downloads/" name "/" + name "-" version ".tar.gz")) + (sha256 + (base32 "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc")))) + (build-system gnu-build-system) + (outputs '("out" "doc" "static")) ;doc contains HTML documentation + (arguments + `(#:configure-flags '("--enable-doc=yes" "--enable-tests=yes") + #:parallel-build? #f ;non-deterministic build failures may occur otherwise + #:parallel-tests? #f ;fails removing the same the files twice otherwise + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-configure.ac + (lambda _ + ;; spandsp looks at hard coded locations of the FHS to + ;; find libxml2. + (substitute* "configure.ac" + (("AC_MSG_CHECKING\\(for libxml/xmlmemory\\.h.*" all) + (string-append all + "PKG_CHECK_MODULES(XML2, libxml-2.0)\n" + "CPPFLAGS+=\" $XML2_CFLAGS\"\n"))) + ;; Force a regeneration of the autotools build system. + (delete-file "autogen.sh") + (delete-file "configure") + #t)) + (add-after 'unpack 'do-not-install-data-files + ;; The .tiff images produced for tests are not + ;; reproducible and it is not desirable to have those + ;; distributed. + (lambda _ + (substitute* '("test-data/itu/fax/Makefile.am" + "test-data/etsi/fax/Makefile.am") + (("nobase_data_DATA") + "noinst_DATA")) + #t)) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/" ,name "-" ,version))) + (copy-recursively "doc/t38_manual" doc) + #t))) + (add-after 'install 'move-static-libraries + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (static (assoc-ref outputs "static"))) + (mkdir-p (string-append static "/lib")) + (with-directory-excursion out + (for-each (lambda (file) + (rename-file file + (string-append static "/" + file))) + (find-files "lib" "\\.a$"))) + #t)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ;; For the tests + ("fftw" ,fftw) + ("libpcap" ,libpcap) + ("libsndfile" ,libsndfile) + ("libtiff" ,libtiff) + ("netpbm" ,netpbm) + ("sox" ,sox) + ;; For the documentation + ("docbook-xml" ,docbook-xml-4.3) + ("docbook-xsl" ,docbook-xsl) + ("doxygen" ,doxygen) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt))) + (synopsis "DSP library for telephony") + (description "SpanDSP is a library of DSP functions for telephony, in the +8000 sample per second world of E1s, T1s, and higher order PCM channels. It +contains low level functions, such as basic filters. It also contains higher +level functions, such as cadenced supervisory tone detection, and a complete +software FAX machine.") + (home-page "https://web.archive.org/web/20180626203108/\ +https://www.soft-switch.org/index.html") + (license (list license:lgpl2.1+ ;for the library + license:gpl2+)))) ;for the test suites and support programs + (define-public commoncpp (package (name "commoncpp") @@ -110,6 +209,8 @@ communications via sockets, and various methods for data handling, such as serialization and XML parsing. It includes the uCommon C++ library, a smaller reimplementation.") (license license:gpl2+) ; plus runtime exception + (properties '((ftp-directory . "/gnu/commoncpp") + (upstream-name . "commoncpp2"))) (home-page "https://www.gnu.org/software/commoncpp/"))) (define-public ucommon @@ -160,14 +261,14 @@ packet-manipulation library.") (define-public osip (package (name "osip") - (version "5.0.0") + (version "5.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/osip/libosip2-" version ".tar.gz")) (patches (search-patches "osip-CVE-2017-7853.patch")) (sha256 (base32 - "00yznbrm9q04wgd4b831km8iwlvwvsnwv87igf79g5vj9yakr88q")))) + "0kgnxgzf968kbl6rx3hjsfb3jsg4ydgrsf35gzj319i1f8qjifv1")))) (build-system gnu-build-system) (synopsis "Library implementing SIP (RFC-3261)") @@ -175,6 +276,8 @@ packet-manipulation library.") used to provide multimedia and telecom software developers with an interface to initiate and control SIP sessions.") (license license:lgpl2.1+) + (properties '((ftp-directory . "/gnu/osip") + (upstream-name . "libosip2"))) (home-page "https://www.gnu.org/software/osip/"))) @@ -283,52 +386,6 @@ supporting cryptographic kernel.") (home-page "https://github.com/cisco/libsrtp") (license license:bsd-3))) -(define-public bctoolbox - (package - (name "bctoolbox") - (version "0.2.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://savannah/linphone/bctoolbox/bctoolbox-" - version ".tar.gz")) - (sha256 - (base32 - "14ivv6bh6qywys6yyb34scy9w78d636xl1f7cyxm3gwx2qv71lx5")))) - (build-system gnu-build-system) - (arguments '(#:make-flags '("CFLAGS=-fPIC"))) - (native-inputs - `(("cunit" ,cunit))) - (inputs - `(("mbedtls" ,mbedtls-apache))) - (home-page "https://www.linphone.org") - (synopsis "Utilities library for linphone software") - (description "BCtoolbox is a utilities library used by Belledonne -Communications software like linphone.") - (license license:gpl2+))) - -(define-public ortp - (package - (name "ortp") - (version "0.27.0") - (source (origin - (method url-fetch) - (uri (string-append "https://download.savannah.nongnu.org/" - "releases/linphone/ortp/sources/ortp-" - version ".tar.gz")) - (sha256 - (base32 - "1by0dqdqrj5avzcvjws30g8v5sa61wj12x00sxw0kn1smcrshqgb")))) - (build-system gnu-build-system) - (inputs - `(("bctoolbox" ,bctoolbox))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://linphone.org/") - (synopsis "Implementation of the Real-time transport protocol") - (description "oRTP is a library implementing the Real-time transport -protocol (RFC 3550).") - (license license:lgpl2.1+))) - (define-public libiax2 (let ((commit "0e5980f1d78ce462e2d1ed6bc39ff35c8341f201")) ;; This is the commit used by the Ring Project. @@ -917,7 +974,6 @@ This package provides a library common to all Jami clients.") ("libnotify" ,libnotify) ("clutter" ,clutter) ("clutter-gtk" ,clutter-gtk) - ("gettext" ,gnu-gettext) ("libcanberra" ,libcanberra) ("webkitgtk" ,webkitgtk) ;; TODO: We must wrap ring-client-gnome to force using the @@ -934,6 +990,7 @@ This package provides a library common to all Jami clients.") ("sqlite" ,sqlite-with-column-metadata))) (native-inputs `(("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ("doxygen" ,doxygen))) (propagated-inputs diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index e4346d1232..10270271c9 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -6,12 +6,13 @@ ;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -4901,6 +4902,32 @@ fonts. Note that direct substitutes for the bitmapped EC fonts are available, via the CM-super, Latin Modern and (in a restricted way) CM-LGC font sets.") (license license:lppl1.3+))) +(define-public texlive-inconsolata + (package + (inherit (simple-texlive-package + "texlive-inconsolata" + (list "/doc/fonts/inconsolata/" + "/fonts/enc/dvips/inconsolata/" + "/fonts/map/dvips/inconsolata/" + "/fonts/opentype/public/inconsolata/" + "/fonts/tfm/public/inconsolata/" + "/fonts/type1/public/inconsolata/" + "/tex/latex/inconsolata/") + (base32 + "1a77w26m4c4j0202s1qkikz7ha6cxlv8zxhzi9s3l0x1l2pl7cr2") + #:trivial? #t)) + (home-page "https://www.ctan.org/pkg/inconsolata") + (synopsis "Monospaced font with support files for use with TeX") + (description + "Inconsolata is a monospaced font designed by Raph Levien. This package +contains the font (in both Adobe Type 1 and OpenType formats) in regular and +bold weights, with additional glyphs and options to control slashed zero, +upright quotes and a shapelier lower-case L, plus metric files for use with +TeX, and LaTeX font definition and other relevant files.") + (license (list license:lppl1.3+ + license:silofl1.1 + license:asl2.0)))) + (define-public texlive-times (package (inherit (simple-texlive-package @@ -6035,7 +6062,7 @@ values (strings, macros, or numbers) pasted together.") (define-public biber (package (name "biber") - (version "2.12") + (version "2.11") (source (origin (method git-fetch) (uri (git-reference @@ -6044,10 +6071,11 @@ values (strings, macros, or numbers) pasted together.") (file-name (git-file-name name version)) ;; TODO: Patch awaiting inclusion upstream (see: ;; https://github.com/plk/biber/issues/239). - (patches (search-patches "biber-fix-encoding-write.patch")) + (patches (search-patches "biber-fix-encoding-write.patch" + "biber-sortinithash.patch")) (sha256 (base32 - "1g1hi6zvf2hmrjly1sidjaxy5440gfqm4p7p3n7kayshnjsmlskx")))) + "0qgkc1k9n36yfmndwz879pak6mjphld0p85lzn9g2ng0vhxsifzz")))) (build-system perl-build-system) (arguments `(#:phases @@ -6132,8 +6160,8 @@ other things it comes with full Unicode support.") "1xbkv8ll889933gyi2a5hj7hhh216k04gn8fwz5lfv5iz8s34gbq")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no `check' target - (inputs `(("texinfo" ,texinfo) - ("python" ,python-2) ; incompatible with Python 3 (print syntax) + (native-inputs `(("texinfo" ,texinfo))) + (inputs `(("python" ,python-2) ; incompatible with Python 3 (print syntax) ("which" ,which))) (home-page "https://launchpad.net/rubber") (synopsis "Wrapper for LaTeX and friends") @@ -7066,7 +7094,7 @@ the file to which it applies.") (home-page "https://www.ctan.org/pkg/pdfx") (synopsis "PDF/X and PDF/A support for pdfTeX, LuaTeX and XeTeX") (description - "This package helps LaTeX users to create PDF/X, PFD/A and other + "This package helps LaTeX users to create PDF/X, PDF/A and other standards-compliant PDF documents with pdfTeX, LuaTeX and XeTeX.") (license license:lppl1.2+))) @@ -7168,6 +7196,32 @@ a different path and manipulating characters. It includes the functionality of the old package @code{pst-char}.") (license license:lppl)))) +(define-public texlive-marginnote + (let ((template (simple-texlive-package + "texlive-marginnote" + (list "/source/latex/marginnote/marginnote.dtx") + (base32 + "1vj1k8xm11gjdfj60as42d8lsv3dbzrm5dlgqcfk89d9dzm3k39j")))) + (package + (inherit template) + (home-page "http://www.ctan.org/pkg/marginnote") + (arguments + (substitute-keyword-arguments (package-arguments template) + ((#:tex-directory _ '()) + "latex/marginnote") + ((#:build-targets _ '()) + ''("marginnote.dtx")) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'chdir + (lambda _ (chdir "source/latex/marginnote") #t)))))) + (synopsis "Notes in the margin") + (description "This package provides the command @code{\\marginnote} that +may be used instead of @code{\\marginpar} at almost every place where +@code{\\marginpar} cannot be used, e.g., inside floats, footnotes, or in +frames made with the @code{framed} package.") + (license license:lppl1.3c+)))) + (define-public texlive-iftex (let ((template (simple-texlive-package "texlive-iftex" @@ -7388,3 +7442,29 @@ commands as well as behind-the-scenes optimisation. Guidelines are given as to what constitutes a good table in this context. The package offers @code{longtable} compatibility.") (license license:lppl1.3+))) + +(define-public texlive-csquotes + (let ((template (simple-texlive-package + "texlive-csquotes" + (list "/doc/latex/csquotes/" + "/tex/latex/csquotes/") + (base32 + "15hgn37zg433skn7ijqs1kl2z56fhy29cjxn01b5pjrnrkdar4i4") + #:trivial? #t))) + (package + (inherit template) + (propagated-inputs + `(("texlive-etoolbox" ,texlive-etoolbox))) + (home-page "https://www.ctan.org/pkg/csquotes") + (synopsis "Context sensitive quotation facilities") + (description "This package provides advanced facilities for inline and +display quotations. It is designed for a wide range of tasks ranging from the +most simple applications to the more complex demands of formal quotations. +The facilities include commands, environments, and user-definable 'smart +quotes' which dynamically adjust to their context. Quotation marks are +switched automatically if quotations are nested and they can be adjusted to +the current language if the babel package is available. There are additional +facilities designed to cope with the more specific demands of academic +writing, especially in the humanities and the social sciences. All quote +styles as well as the optional active quotes are freely configurable.") + (license license:lppl1.3c+)))) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 6f0aeac534..4042353a2d 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -188,6 +189,18 @@ Texi2HTML.") ;; Files in /lib under lgpl2.1+ and x11 (license gpl2+))) +(define-public texi2html-1.82 + (package + (inherit texi2html) + (version "1.82") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://savannah/texi2html/" + "texi2html-" version ".tar.bz2")) + (sha256 + (base32 "1wdli2szkgm3l0vx8rf6lylw0b0m47dlz9iy004n928nqkzix76n")))))) + (define-public pinfo (package (name "pinfo") @@ -224,7 +237,7 @@ Texi2HTML.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("texinfo" ,texinfo))) (home-page "https://github.com/baszoetekouw/pinfo") diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index b7758f106d..f2f675d148 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,12 +31,14 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) + #:use-module (gnu packages aspell) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) @@ -49,6 +52,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages libbsd) #:use-module (gnu packages libreoffice) + #:use-module (gnu packages llvm) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) @@ -61,6 +65,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) + #:use-module (gnu packages version-control) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -118,7 +123,7 @@ based command language.") (define-public kakoune (package (name "kakoune") - (version "2019.12.10") + (version "2020.01.16") (source (origin (method url-fetch) @@ -126,7 +131,7 @@ based command language.") "releases/download/v" version "/" "kakoune-" version ".tar.bz2")) (sha256 - (base32 "1y1gzax2dl7flh676k0rl1vacv10j7p5krkmb67b0afbrql8vbb6")))) + (base32 "1bhd990gywdwdhxc5dn83wwj418c5cw1ndqycf7k0a02kxlg3550")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -187,6 +192,97 @@ interface similar to many user-friendly editors. JOE has some of the key bindings and many of the powerful features of GNU Emacs.") (license license:gpl3+))) +(define-public jucipp + (package + (name "jucipp") + (version "1.5.1") + (home-page "https://gitlab.com/cppit/jucipp") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)) + ;; Two submodules are required which are + ;; developed alongside JuCi++ and difficult + ;; to package separately. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0v7fmsya2zn1xx59bkv4cbyinmcnv52hm4j40nbfwalcks631xrr")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DBUILD_TESTING=ON" + + ;; These arguments are here to facilitate an "in-source" + ;; build using "./build" instead of the default "../build". + ;; The test suite expects that to be the case. + "..") + #:out-of-source? #f + #:phases (modify-phases %standard-phases + (add-before 'configure 'enter-build-directory + (lambda _ + (mkdir "build") + (chdir "build") + #t)) + + ;; This phase is necessary to fix a test failure, see + ;; <https://gitlab.com/cppit/jucipp/-/issues/423>. + (add-after 'unpack 'add-reference-to-clang-internal-header + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/compile_commands.cc" + ((".*-I/usr/lib/clang.*" all) + (string-append "arguments.emplace_back(\"-I" + (assoc-ref inputs "libclang") + "/lib/clang/" + ,@(list (package-version clang)) + "/include\");\n" + all))) + #t)) + (add-after 'unpack 'patch-tiny-process-library + (lambda _ + (with-directory-excursion "lib/tiny-process-library" + (substitute* '("process_unix.cpp" + "tests/io_test.cpp") + (("/bin/sh") (which "sh")))) + #t)) + (add-after 'unpack 'disable-git-test + (lambda _ + (substitute* "tests/CMakeLists.txt" + ;; Disable the git test, as it requires the full checkout. + (("add_test\\(git_test.*\\)") "")) + #t)) + (add-before 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys) + ;; Tests do not expect HOME to be empty. + (setenv "HOME" "/etc") + + ;; Most tests require an X server. + (let ((xorg-server (assoc-ref inputs "xorg-server")) + (display ":1")) + (setenv "DISPLAY" display) + (system (string-append xorg-server "/bin/Xvfb " + display " &"))) + #t))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server-for-tests))) + (inputs + `(("aspell" ,aspell) + ("boost" ,boost) + ("gtkmm" ,gtkmm) + ("gtksourceviewmm" ,gtksourceviewmm) + ("libclang" ,clang) + ("libgit2" ,libgit2))) + (synopsis "Lightweight C++ IDE") + (description + "juCi++ is a small @dfn{IDE} (Integrated Development Environment) +designed especially towards libclang with speed, stability, and ease of use +in mind. + +It supports autocompletion, on-the-fly warnings and errors, syntax +highlighting, and integrates with Git as well as the CMake and Meson build +systems.") + (license license:expat))) + (define-public leafpad (package (name "leafpad") @@ -812,7 +908,7 @@ The basic features of Geany are: `(("ncurses" ,ncurses))) (home-page "http://www.moria.de/~michael/fe/") (synopsis "Small folding editor") - (description "Fe is a small folding editor. It allows to fold + (description "Fe is a small folding editor. It folds arbitrary text regions; it is not bound to syntactic units. Fe has no configuration or extension language and requires no setup. diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 8510c6d1d0..62988ec574 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2017,2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com> @@ -612,15 +612,15 @@ in a portable way.") (define-public dbacl (package (name "dbacl") - (version "1.14") + (version "1.14.1") (source (origin (method url-fetch) - (uri (string-append "http://www.lbreyer.com/gpl/" + (uri (string-append "mirror://sourceforge/dbacl/dbacl/" version "/" "dbacl-" version ".tar.gz")) (sha256 - (base32 - "0224g6x71hyvy7jikfxmgcwww1r5lvk0jx36cva319cb9nmrbrq7")))) + (base32 "1gas0112wqjvwn9qg3hxnawk7h3prr0w9b2h68f3p1ifd1kzn3gz")) + (patches (search-patches "dbacl-include-locale.h.patch")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -648,10 +648,6 @@ in a portable way.") (lambda _ (delete-file "src/tests/dbacl-jap.shin") #t)) - (add-after 'delete-sample6-and-japanese 'autoreconf - (lambda _ - (invoke "autoreconf" "-vif") - #t)) (add-after 'unpack 'fix-test-files (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -661,7 +657,11 @@ in a portable way.") "#PATH=/bin:/usr/bin") (("diff") (string-append (which "diff"))) (("tr") (string-append (which "tr")))) - #t)))))) + #t))) + (replace 'bootstrap + (lambda _ + (invoke "autoreconf" "-vif") + #t))))) (inputs `(("ncurses" ,ncurses) ("perl" ,perl) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index f4dc8a2ffd..14f44c84c7 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -235,6 +236,34 @@ datetime module, available in Python 2.3+.") (define-public python2-parsedatetime (package-with-python2 python-parsedatetime)) +(define-public python-ciso8601 + (package + (name "python-ciso8601") + (version "2.1.3") + (source + (origin + (method git-fetch) + ;; The PyPi distribution doesn't include the tests. + (uri (git-reference + (url "https://github.com/closeio/ciso8601.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0g1aiyc1ayh0rnibyy416m5mmck38ksgdm3jsy0z3rxgmgb24951")))) + (build-system python-build-system) + ;; Pytz should only be required for Python 2, but the test suite fails + ;; without it. + (native-inputs + `(("python-pytz" ,python-pytz))) + (home-page "https://github.com/closeio/ciso8601") + (synopsis + "Fast ISO8601 date time parser") + (description + "The package ciso8601 converts ISO 8601 or RFC 3339 date time strings into +Python datetime objects.") + (license expat))) + (define-public python-tzlocal (package (name "python-tzlocal") diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index bb80d86ba4..4f85f212bd 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -162,6 +162,7 @@ living in the same process.") (define-public gnutls (package (name "gnutls") + (replacement gnutls-3.6.13) (version "3.6.9") (source (origin (method url-fetch) @@ -244,10 +245,23 @@ required structures.") (properties '((ftp-server . "ftp.gnutls.org") (ftp-directory . "/gcrypt/gnutls"))))) -(define-public gnutls/guile-2.0 - ;; GnuTLS for Guile 2.0. +(define-public gnutls-3.6.13 (package (inherit gnutls) + (version "3.6.A") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnupg/gnutls/v" + (version-major+minor version) + "/gnutls-3.6.13.tar.xz")) + (patches (search-patches "gnutls-skip-trust-store-test.patch")) + (sha256 + (base32 + "0f1gnm0756qms5cpx6yn6xb8d3imc2gkqmygf12n9x6r8zs1s11j")))))) + +(define-public gnutls/guile-2.0 + ;; GnuTLS for Guile 2.0. + (package/inherit gnutls (name "guile2.0-gnutls") (inputs `(("guile" ,guile-2.0) ,@(alist-delete "guile" (package-inputs gnutls)))))) @@ -257,8 +271,7 @@ required structures.") ;; Authentication of Named Entities. This is required for GNS functionality ;; by GNUnet and gnURL. This is done in an extra package definition ;; to have the choice between GnuTLS with Dane and without Dane. - (package - (inherit gnutls) + (package/inherit gnutls (name "gnutls-dane") (inputs `(("unbound" ,unbound) ,@(package-inputs gnutls))))) @@ -266,8 +279,7 @@ required structures.") (define gnutls-3.6.10 ;; This is for 'guile3.0-gnutls', below. Version 3.6.10 is the first to ;; introduce Guile 2.9/3.0 support. - (package - (inherit gnutls) + (package/inherit gnutls (version "3.6.10") (source (origin (inherit (package-source gnutls)) @@ -286,8 +298,7 @@ required structures.") ("util-linux" ,util-linux))))) (define-public guile3.0-gnutls - (package - (inherit gnutls-3.6.10) + (package/inherit gnutls-3.6.10 (name "guile3.0-gnutls") (arguments (substitute-keyword-arguments (package-arguments gnutls-3.6.10) @@ -307,7 +318,7 @@ required structures.") (package (name "openssl") (version "1.1.1c") - (replacement openssl-1.1.1e) + (replacement openssl-1.1.1g) (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -409,10 +420,10 @@ required structures.") (license license:openssl) (home-page "https://www.openssl.org/"))) -(define openssl-1.1.1e +(define openssl-1.1.1g (package (inherit openssl) - (version "1.1.1e") + (version "1.1.1g") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -425,7 +436,7 @@ required structures.") (patches (search-patches "openssl-1.1-c-rehash-in.patch")) (sha256 (base32 - "1gnwlri1dphr5wdzmg9vlhkh6aq2yqgpfkpmffzwjlfb26n62kv9")))))) + "0ikdcc038i7jk8h7asq5xcn8b1xc2rrbc88yfm4hqbz3y5s4gc6x")))))) (define-public openssl-1.0 (package diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 61e52ba22c..6c6da2379a 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2017, 2018, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,8 +142,9 @@ rejects UDP traffic from the application you're using.") (inputs `(("w3m" ,w3m) ("pcre" ,pcre) - ("zlib" ,zlib) - ("autoconf" ,autoconf) + ("zlib" ,zlib))) + (native-inputs + `(("autoconf" ,autoconf) ("automake" ,automake))) (home-page "https://www.privoxy.org") (synopsis "Web proxy with advanced filtering capabilities for enhancing privacy") diff --git a/gnu/packages/valgrind.scm b/gnu/packages/valgrind.scm index da912dc465..dd080bb327 100644 --- a/gnu/packages/valgrind.scm +++ b/gnu/packages/valgrind.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -35,7 +35,7 @@ (version "3.15.0") (source (origin (method url-fetch) - (uri (list (string-append "http://www.valgrind.org/downloads" + (uri (list (string-append "https://sourceware.org/pub/valgrind" "/valgrind-" version ".tar.bz2") (string-append "ftp://sourceware.org/pub/valgrind" "/valgrind-" version ".tar.bz2"))) @@ -71,7 +71,7 @@ `(("gdb" ,gdb))) (native-inputs `(("perl" ,perl))) - (home-page "http://www.valgrind.org/") + (home-page "https://www.valgrind.org/") (synopsis "Debugging and profiling tool suite") (description "Valgrind is an instrumentation framework for building dynamic analysis diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 4da8e33e04..1d8fa75b82 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -148,16 +148,14 @@ as well as the classic centralized workflow.") (define-public git (package (name "git") - ;; XXX When updating Git, check if the special 'git-source' input to cgit - ;; needs to be updated as well. - (version "2.26.0") + (version "2.26.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "1mlmwibfgcv42c28fxmbd3iim8fc06r17dljd8vdgq550z5hvkly")))) + "0j685w6pzkn926z5nf5r8fij4ziipvw4c9yb0wc577nzf4j16rbd")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -170,7 +168,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "09ilv5gg7167mwc0qqw2fz3lmdm360crnxc0xzkqn53wnsh4cziq")))) + "0rb4f4jc31zrcg4gyjg4fi07dw7nggkjg2nqfiq5p1aayw2f2ga3")))) ;; For subtree documentation. ("asciidoc" ,asciidoc-py3) ("docbook-xsl" ,docbook-xsl) @@ -603,46 +601,27 @@ on @command{git}, and use any regular Git hosting service.") (define-public libgit2 (package (name "libgit2") - (version "0.99.0") + (version "1.0.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/libgit2/libgit2.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://github.com/libgit2/libgit2/" + "releases/download/v" version + "/libgit2-" version ".tar.gz")) (sha256 (base32 - "0qxzv49ip378g1n7hrbifb9c6pys2kj1hnxcafmbb94gj3pgd9kg")) + "1d09ni0v3vammk8zqmmwks92fh3wwnsxpyrh4s5wwdb3gxma27va")) (patches (search-patches "libgit2-mtime-0.patch")) - - ;; Remove bundled software. Keep "http-parser" because it - ;; contains patches that are not available in the system version. (snippet '(begin - (with-directory-excursion "deps" - (for-each (lambda (dir) - (delete-file-recursively dir)) - (lset-difference equal? - (scandir ".") - '("." ".." "http-parser")))) - #t)) - (modules '((guix build utils) - (srfi srfi-1) - (ice-9 ftw))))) + (delete-file-recursively "deps") #t)) + (modules '((guix build utils))))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments `(#:configure-flags '("-DUSE_NTLMCLIENT=OFF" ;TODO: package this - "-DREGEX_BACKEND=pcre2") + "-DREGEX_BACKEND=pcre2" + "-DUSE_HTTP_PARSER=system") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-pcre2-reference - (lambda _ - ;; Use PCRE2 with 8-bit character support, as there is no "libpcre2.pc". - ;; See <https://github.com/libgit2/libgit2/issues/5438>. - (substitute* "src/CMakeLists.txt" - (("\"libpcre2\"") - "\"libpcre2-8\"")) - #t)) (add-after 'unpack 'fix-hardcoded-paths (lambda _ (substitute* "tests/repo/init.c" @@ -651,15 +630,12 @@ on @command{git}, and use any regular Git hosting service.") (("/bin/cp") (which "cp")) (("/bin/rm") (which "rm"))) #t)) - (add-after 'unpack 'make-git-checkout-writable - (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) ;; Run checks more verbosely. (replace 'check (lambda _ (invoke "./libgit2_clar" "-v" "-Q")))))) (inputs - `(("libssh2" ,libssh2))) + `(("libssh2" ,libssh2) + ("http-parser" ,http-parser))) (native-inputs `(("pkg-config" ,pkg-config) ("python" ,python))) @@ -668,7 +644,7 @@ on @command{git}, and use any regular Git hosting service.") `(("openssl" ,openssl) ("pcre2" ,pcre2) ("zlib" ,zlib))) - (home-page "https://libgit2.github.com/") + (home-page "https://libgit2.org/") (synopsis "Library providing Git core methods") (description "Libgit2 is a portable, pure C implementation of the Git core methods @@ -677,6 +653,24 @@ write native speed custom Git applications in any language with bindings.") ;; GPLv2 with linking exception (license license:gpl2))) +(define-public libgit2-0.28 + (package + (inherit libgit2) + (version "0.28.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/libgit2/libgit2/releases/" + "download/v" version + "/libgit2-" version ".tar.gz")) + (sha256 + (base32 + "0hjgpqjjmkciw1i8jqkx9q2vhdc4fc99qajhrj2bq8ziwsp6hyrb")) + (patches (search-patches "libgit2-mtime-0.patch")) + (modules '((guix build utils))) + (snippet '(begin + (delete-file-recursively "deps") #t)))))) + (define-public git-crypt (package (name "git-crypt") @@ -779,7 +773,7 @@ collaboration using typical untrusted file hosts or services.") (package (name "cgit") ;; Update the ‘git-source’ input as well. - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append @@ -787,7 +781,7 @@ collaboration using typical untrusted file hosts or services.") version ".tar.xz")) (sha256 (base32 - "0dmjsisigjz5k4gw7gm55qhm3wazzbm4cg7a5dwf0gqg9nacx5rz")))) + "193d990ym10qlslk0p8mjwp2j6rhqa7fq0y1iff65lvbyv914pss")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; XXX: fail to build the in-source git. @@ -867,9 +861,9 @@ collaboration using typical untrusted file hosts or services.") (method url-fetch) ;; cgit is tightly bound to git. Use GIT_VER from the Makefile, ;; which may not match the current (package-version git). - (uri "mirror://kernel.org/software/scm/git/git-2.25.0.tar.xz") + (uri "mirror://kernel.org/software/scm/git/git-2.25.4.tar.xz") (sha256 - (base32 "1l58v42aazj0x9276gk8r9mwyl9pgp9w99aakz4xfhzv7wd2jq60")))) + (base32 "11am6s46wmn1yll5614smjhzlghbqq6gysgcs64igjr9y5wzpdxq")))) ("openssl" ,openssl) ("groff" ,groff) ("python" ,python) @@ -1958,7 +1952,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (define-public tig (package (name "tig") - (version "2.5.0") + (version "2.5.1") (source (origin (method url-fetch) (uri (string-append @@ -1966,7 +1960,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") version "/tig-" version ".tar.gz")) (sha256 (base32 - "1x5famvvs93ih7sr11x7m33dksb1k7zs1s3c4zkyf0cjmxkpqlzz")))) + "0r4y9hyvpkplaxrzslws3asz652d83qh3bjwvmp8assga8s5s3ah")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -1980,8 +1974,8 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (add-after 'install 'install-doc (lambda _ (invoke "make" "install-doc")))) - #:tests? #f)) ; tests require access to /dev/tty - ;; #:test-target "test")) + #:test-target "test" + #:tests? #f)) ; tests require access to /dev/tty (home-page "https://jonas.github.io/tig/") (synopsis "Ncurses-based text user interface for Git") (description @@ -2107,21 +2101,16 @@ by rclone usable with git-annex.") (define-public fossil (package (name "fossil") - (version "2.8") + (version "2.10") (source (origin (method url-fetch) - ;; Older downloads are moved to another URL. - (uri (list - (string-append - "https://www.fossil-scm.org/index.html/uv/download/" - "fossil-src-" version ".tar.gz") - (string-append + (uri (string-append "https://www.fossil-scm.org/index.html/uv/" - "fossil-src-" version ".tar.gz"))) + "fossil-src-" version ".tar.gz")) (sha256 (base32 - "0pbinf8d2kj1j7niblhzjd2l2khg6r2pn2xvig6gavz27p3vwcka")) + "041bs4fgk52fw58p7s084pxk9d9vs5v2f2pjbznqawz75inpg8yq")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 227c11d1fa..e3d145a840 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca> -;;; Copyright © 2015, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> @@ -38,6 +38,9 @@ ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020 Alex McGrath <amk@amk.ie> ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,7 +67,9 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix svn-download) + #:use-module (guix build-system cargo) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system meson) @@ -87,6 +92,7 @@ #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cpp) + #:use-module (gnu packages crates-io) #:use-module (gnu packages curl) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dns) @@ -137,6 +143,7 @@ #:use-module (gnu packages qt) #:use-module (gnu packages rdesktop) #:use-module (gnu packages ruby) + #:use-module (gnu packages rust-apps) #:use-module (gnu packages samba) #:use-module (gnu packages sdl) #:use-module (gnu packages serialization) @@ -212,14 +219,14 @@ old-fashioned output methods with powerful ascii-art renderer.") (define-public celluloid (package (name "celluloid") - (version "0.18") + (version "0.19") (source (origin (method url-fetch) (uri (string-append "https://github.com/celluloid-player/celluloid/releases" "/download/v" version "/celluloid-" version ".tar.xz")) (sha256 - (base32 "0gmscx9zb8ppfjlnmgbcmhknhawa05sdhxi7dv5wjapjq0glq481")))) + (base32 "1s3qkism96gi44incvsb6rqg255qcvjvw61ya7nw30md0sapj4sl")))) (build-system glib-or-gtk-build-system) (native-inputs `(("intltool" ,intltool) @@ -600,7 +607,7 @@ available.") (define-public x265 (package (name "x265") - (version "3.2.1") + (version "3.3") (outputs '("out" "static")) (source (origin @@ -610,7 +617,7 @@ available.") (string-append "https://download.videolan.org/videolan/x265/" "x265_" version ".tar.gz"))) (sha256 - (base32 "1k5vijsy6cgcghw69f5275xfmbjjx7js0nlbgxbd6krnjb7sv6zv")) + (base32 "170b61cgpcs5n35qps0p40dqs1q81vkgagzbs4zv7pzls6718vpj")) (patches (search-patches "x265-arm-flags.patch")) (modules '((guix build utils))) (snippet '(begin @@ -756,7 +763,7 @@ canvas operations.") (define-public libdca (package (name "libdca") - (version "0.0.6") + (version "0.0.7") (source (origin (method url-fetch) (uri (string-append @@ -764,8 +771,12 @@ canvas operations.") version "/libdca-" version ".tar.bz2")) (sha256 (base32 - "0h0zvcn97i9kyljdpifzi8in9xnw31fx3b3ggj96p8h0l2d8mycq")))) + "0sjz0s0nrv7jcpvh1i432x3jza0y5yycmzw84cfncb2qby0i62rs")))) (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (home-page "https://www.videolan.org/developers/libdca.html") (synopsis "DTS Coherent Acoustics decoder") (description "libdca is a library for decoding DTS Coherent Acoustics @@ -1538,7 +1549,7 @@ projects while introducing many more.") (define-public mpv-mpris (package (name "mpv-mpris") - (version "0.2") + (version "0.4") (source (origin (method git-fetch) @@ -1548,19 +1559,17 @@ projects while introducing many more.") (file-name (git-file-name name version)) (sha256 (base32 - "06hq3j1jjlaaz9ss5l7illxz8vm5bng86jl24kawglwkqayhdnjx")))) - (build-system gnu-build-system) + "1fr3jvja8s2gdpx8qyk9r17977flms3qpm8zci62nd9r5wjdvr5i")))) + (build-system copy-build-system) (arguments - '(#:tests? #f ; no tests - #:make-flags '("CC=gcc") + '(#:install-plan + '(("mpris.so" "lib/")) #:phases (modify-phases %standard-phases - (delete 'configure) ; no configure script - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "mpris.so" (string-append out "/lib"))) - #t))))) + (add-before 'install 'build + (lambda _ + (setenv "CC" (which "gcc")) + (invoke "make")))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -1618,29 +1627,10 @@ To load this plugin, specify the following option when starting mpv: (license license:bsd-3) (home-page "https://www.webmproject.org/"))) -;; GNU IceCat fails to build against 1.8.0, so keep this version for now. -(define-public libvpx-1.7 - (package - (inherit libvpx) - (version "1.7.0") - (source (origin - (inherit (package-source libvpx)) - (uri (git-reference - (url "https://chromium.googlesource.com/webm/libvpx") - (commit (string-append "v" version)))) - (file-name (git-file-name "libvpx" version)) - (sha256 - (base32 - "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6")) - (patches - (append - (origin-patches (package-source libvpx)) - (search-patches "libvpx-use-after-free-in-postproc.patch"))))))) - (define-public youtube-dl (package (name "youtube-dl") - (version "2020.03.08") + (version "2020.03.24") (source (origin (method url-fetch) (uri (string-append "https://github.com/ytdl-org/youtube-dl/" @@ -1648,7 +1638,7 @@ To load this plugin, specify the following option when starting mpv: version ".tar.gz")) (sha256 (base32 - "1xbka14wnalcqkhibfcqw8f5bw1m9b1f44719yifv1jk0614q4bn")))) + "05l4asakakxn53wrvxn6c03fd80zdizdbj6r2cj8c1ja3sj9i8s5")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion @@ -2211,7 +2201,7 @@ capabilities.") (define-public vapoursynth (package (name "vapoursynth") - (version "48") + (version "49") (source (origin (method git-fetch) (uri (git-reference @@ -2220,7 +2210,7 @@ capabilities.") (file-name (git-file-name name version)) (sha256 (base32 - "1i6163bidlp0p9zcnxpsphr44ayfzd51fig4ri7vbrbl9lw9jaih")))) + "1d298mlb24nlc2x7pixfbkd0qbpv4c706c32idsgpi96z1spkhvl")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -2311,9 +2301,6 @@ and custom quantization matrices.") from sites like Twitch.tv and pipes them into a video player of choice.") (license license:bsd-2))) -(define-public livestreamer - (deprecated-package "livestreamer" streamlink)) - (define-public twitchy (let ((commit "9beb36d80b16662414129693e74fa3a2fd97554e")) ; 3.4 has no tag (package @@ -2455,7 +2442,7 @@ be used for realtime video capture via Linux-specific APIs.") (define-public obs (package (name "obs") - (version "24.0.4") + (version "25.0.7") (source (origin (method git-fetch) (uri (git-reference @@ -2464,7 +2451,7 @@ be used for realtime video capture via Linux-specific APIs.") (file-name (git-file-name name version)) (sha256 (base32 - "0m15ch2ix9qrdf1a9mj7wcpl72z3h13zx60c9q72sb1435id2g1q")))) + "02ppkp1j5yxnxv663nz5wv4vbcg3k53l43xq94d1p1b3j4wxwq8b")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests @@ -3281,7 +3268,6 @@ programmers to access a standard API to open and decompress media files.") #t))))) (inputs `(("boost" ,boost) - ("desktop-file-utils" ,desktop-file-utils) ("ffms2" ,ffms2) ("fftw" ,fftw) ("hunspell" ,hunspell) @@ -3294,6 +3280,7 @@ programmers to access a standard API to open and decompress media files.") ("wxwidgets-gtk2" ,wxwidgets-gtk2))) (native-inputs `(("intltool" ,intltool) + ("desktop-file-utils" ,desktop-file-utils) ("pkg-config" ,pkg-config))) (home-page "http://www.aegisub.org/") (synopsis "Subtitle engine") @@ -3659,7 +3646,7 @@ API. It includes bindings for Python, Ruby, and other languages.") (define-public openshot (package (name "openshot") - (version "2.4.4") + (version "2.5.1") (source (origin (method git-fetch) (uri (git-reference @@ -3668,10 +3655,11 @@ API. It includes bindings for Python, Ruby, and other languages.") (file-name (git-file-name name version)) (sha256 (base32 - "0mg63v36h7l8kv2sgf6x8c1n3ygddkqqwlciz7ccxpbm4x1idqba")) + "0qc5i0ay6j2wab1whl41sjb71cj02pg6y79drf7asrprq8b2rmfq")) (modules '((guix build utils))) (snippet '(begin + ;; TODO: Unbundle jquery and others from src/timeline/media (delete-file-recursively "src/images/fonts") #t)))) (build-system python-build-system) (inputs @@ -3684,14 +3672,17 @@ API. It includes bindings for Python, Ruby, and other languages.") ("python-requests" ,python-requests) ("qtsvg" ,qtsvg))) (arguments - `(#:tests? #f ;no tests - #:modules ((guix build python-build-system) + `(#:modules ((guix build python-build-system) (guix build qt-utils) (guix build utils)) #:imported-modules (,@%python-build-system-modules (guix build qt-utils)) #:phases (modify-phases %standard-phases (delete 'build) ;install phase does all the work + (replace 'check + (lambda _ + (setenv "QT_QPA_PLATFORM" "offscreen") + (invoke "python" "src/tests/query_tests.py"))) (add-after 'unpack 'patch-font-location (lambda* (#:key inputs #:allow-other-keys) (let ((font (assoc-ref inputs "font-ubuntu"))) @@ -3710,7 +3701,7 @@ API. It includes bindings for Python, Ruby, and other languages.") (let ((out (assoc-ref outputs "out"))) (wrap-qt-program out "openshot-qt")) #t))))) - (home-page "https://openshot.org") + (home-page "https://www.openshot.org/") (synopsis "Video editor") (description "OpenShot takes your videos, photos, and music files and helps you create the film you have always dreamed of. Easily add sub-titles, @@ -3901,7 +3892,7 @@ transcode or reformat the videos in any way, producing perfect backups.") (define-public svt-av1 (package (name "svt-av1") - (version "0.8.1") + (version "0.8.2") (source (origin (method git-fetch) (uri (git-reference @@ -3910,7 +3901,7 @@ transcode or reformat the videos in any way, producing perfect backups.") (file-name (git-file-name name version)) (sha256 (base32 - "08sx9zhhks8wzq05f67jqmc1zqmmi7hqkgg2gyjpcsan5qc5476w")))) + "0273fxgf4r832y9s0p8hqdj1j1nj8nlz4hylya0b4nsif89yfrhp")))) (build-system cmake-build-system) ;; SVT-AV1 only supports Intel-compatible CPUs. (supported-systems '("x86_64-linux" "i686-linux")) @@ -3934,3 +3925,180 @@ work-in-progress, aiming to support video-on-demand and live streaming applications. It only supports Intel-compatible CPUs (x86).") (home-page "https://github.com/OpenVisualCloud/SVT-AV1") (license license:bsd-2))) + +(define-public w-scan + (package + (name "w-scan") + (version "20170107") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.gen2vdr.de/wirbel/w_scan/w_scan-" + version ".tar.bz2")) + (sha256 + (base32 "1zkgnj2sfvckix360wwk1v5s43g69snm45m0drnzyv7hgf5g7q1q")))) + (build-system gnu-build-system) + (synopsis "Scan ATSC/DVB-C/DVB-S/DVB-T channels") + (description + "This is a small command line utility used to perform frequency scans for +DVB and ATSC transmissions without initial tuning data. It can print the +result in several formats: +@itemize +@item VDR channels.conf, +@item czap/tzap/xine/mplayer channels.conf, +@item Gstreamer dvbsrc plugin, +@item VLC xspf playlist, +@item XML, +@item initial tuning data for scan or dvbv5-scan. +@end itemize\n") + (home-page "https://www.gen2vdr.de/wirbel/w_scan/index2.html") + (license license:gpl2+))) + +(define-public rav1e + (package + (name "rav1e") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rav1e" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bsmj8kqzs5pf8dl98rsl6a67cljj1gkj3b5hmd8hn8wdy4ya173")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-simd-helpers" ,rust-simd-helpers-0.1) + ("rust-ivf" ,rust-ivf-0.1) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-paste" ,rust-paste-0.1) + ("rust-signal-hook" ,rust-signal-hook-0.1) + ("rust-aom-sys" ,rust-aom-sys-0.1) + ("rust-nasm-rs" ,rust-nasm-rs-0.1) + ("rust-arbitrary" ,rust-arbitrary-0.2) + ("rust-better-panic" ,rust-better-panic-0.2) + ("rust-noop-proc-macro" + ,rust-noop-proc-macro-0.2) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand-chacha" ,rust-rand-chacha-0.2) + ("rust-err-derive" ,rust-err-derive-0.2) + ("rust-interpolate-name" + ,rust-interpolate-name-0.2) + ("rust-rustc-version" ,rust-rustc-version-0.2) + ("rust-scan-fmt" ,rust-scan-fmt-0.2) + ("rust-libc" ,rust-libc-0.2) + ("rust-image" ,rust-image-0.22) + ("rust-arg-enum-proc-macro" + ,rust-arg-enum-proc-macro-0.3) + ("rust-num-derive" ,rust-num-derive-0.3) + ("rust-dav1d-sys" ,rust-dav1d-sys-0.3) + ("rust-backtrace" ,rust-backtrace-0.3) + ("rust-log" ,rust-log-0.4) + ("rust-y4m" ,rust-y4m-0.5) + ("rust-arrayvec" ,rust-arrayvec-0.5) + ("rust-toml" ,rust-toml-0.5) + ("rust-fern" ,rust-fern-0.5) + ("rust-rust-hawktracer" + ,rust-rust-hawktracer-0.7) + ("rust-rand" ,rust-rand-0.7) + ("rust-itertools" ,rust-itertools-0.8) + ("rust-bitstream-io" ,rust-bitstream-io-0.8) + ("rust-console" ,rust-console-0.9) + ("rust-serde" ,rust-serde-1.0) + ("rust-cc" ,rust-cc-1.0) + ("rust-rayon" ,rust-rayon-1.3) + ("rust-byteorder" ,rust-byteorder-1.3) + ("rust-clap" ,rust-clap-2) + ("rust-vergen" ,rust-vergen-3.1)) + #:cargo-development-inputs + (("rust-rand-chacha" ,rust-rand-chacha-0.2) + ("rust-interpolate-name" + ,rust-interpolate-name-0.2) + ("rust-criterion" ,rust-criterion-0.3) + ("rust-pretty-assertions" + ,rust-pretty-assertions-0.6) + ("rust-rand" ,rust-rand-0.7) + ("rust-semver" ,rust-semver-0.9)) + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "cargo" "cinstall" "--release" + (string-append "--prefix=" out)))))))) + (native-inputs + `(("cargo-c" ,rust-cargo-c))) + (inputs + `(("nasm" ,nasm))) + (home-page "https://github.com/xiph/rav1e/") + (synopsis "The fastest and safest AV1 encoder") + (description + "The fastest and safest AV1 encoder.") + (license license:bsd-2))) + +(define-public peek + (package + (name "peek") + (version "1.5.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/phw/peek.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xwlfizga6hvjqq127py8vabaphsny928ar7mwqj9cyqfl6fx41x")))) + (build-system meson-build-system) + (arguments '(#:glib-or-gtk? #t)) + (inputs + `(("gtk+" ,gtk+))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-compile-resources + ("gtk+-bin" ,gtk+ "bin") ; For gtk-update-icon-cache + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://github.com/phw/peek") + (synopsis "Simple animated GIF screen recorder") + (description + "Peek makes it easy to create short screencasts of a screen area. It was +built for the specific use case of recording screen areas, e.g. for easily +showing UI features of your own apps or for showing a bug in bug reports. +With Peek, you simply place the Peek window over the area you want to record +and press \"Record\". Peek is optimized for generating animated GIFs, but you +can also directly record to WebM or MP4 if you prefer.") + (license license:gpl3+))) + +(define-public wf-recorder + (package + (name "wf-recorder") + (version "0.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ammen99/wf-recorder.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cw6kpcbl33wh95pvy32xrsrm6kkk1awccr3phyh885xjs3b3iim")))) + (build-system meson-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("ffmpeg" ,ffmpeg) + ("pulseaudio" ,pulseaudio) + ("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols) + ("libx264" ,libx264))) + (home-page "https://github.com/ammen99/wf-recorder") + (synopsis "Screen recorder for wlroots-based compositors") + (description + "@code{wf-recorder} is a utility program for screen recording of +wlroots-based compositors. More specifically, those that support +@code{wlr-screencopy-v1} and @code{xdg-output}.") + (license license:expat))) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index 75e8f0bb2e..ff7da7958f 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -851,7 +851,7 @@ through its msgpack-rpc API.") (define-public vim-asyncrun (package (name "vim-asyncrun") - (version "2.6.5") + (version "2.7.5") (source (origin (method git-fetch) (uri (git-reference @@ -860,7 +860,7 @@ through its msgpack-rpc API.") (file-name (git-file-name name version)) (sha256 (base32 - "1n0yzv8psskhx8h4g7dz64h2llm9mnljhvl4hrnsjx6znkni8vwp")))) + "02fiqf4rcrxbcgvj02mpd78wkxsrnbi54aciwh9fv5mnz5ka249m")))) (build-system copy-build-system) (arguments '(#:install-plan diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index b7e2c415fe..be17ec15f0 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2016, 2017, 2018. 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> @@ -129,9 +129,15 @@ "1w38hzlw7xp05gcq1nhga7hxvndxy6dfcnzi7q2il8ff110isj6k")))) (build-system gnu-build-system) (arguments - '(;; Running tests in parallel can occasionally lead to failures, like: + `(;; Running tests in parallel can occasionally lead to failures, like: ;; boot_sector_test: assertion failed (signature == SIGNATURE): (0x00000000 == 0x0000dead) #:parallel-tests? #f + + ;; FIXME: Disable tests on i686 to work around + ;; <https://bugs.gnu.org/40527>. + #:tests? ,(or (%current-target-system) + (not (string=? "i686-linux" (%current-system)))) + #:configure-flags (list "--enable-usb-redir" "--enable-opengl" "--enable-docs" (string-append "--smbd=" @@ -891,9 +897,6 @@ monitor/GPU.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:gpl2+)))) -(define-public lookingglass - (deprecated-package "lookingglass" looking-glass-client)) - (define-public runc (package (name "runc") @@ -1086,7 +1089,7 @@ virtual machines.") (define-public bubblewrap (package (name "bubblewrap") - (version "0.4.0") + (version "0.4.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/containers/bubblewrap/" @@ -1094,7 +1097,7 @@ virtual machines.") version ".tar.xz")) (sha256 (base32 - "08r0f4c3fjkb4zjrb4kkax1zfcgcgic702vb62sjjw5xfhppvzp5")))) + "00ycgi6q2yngh06bnz50wkvar6r2jnjf3j158grhi9k13jdrpimr")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1170,7 +1173,7 @@ DOS or Microsoft Windows.") (define-public xen (package (name "xen") - (version "4.11.1") + (version "4.13.0") (source (origin (method git-fetch) (uri (git-reference @@ -1179,7 +1182,7 @@ DOS or Microsoft Windows.") (file-name (git-file-name name version)) (sha256 (base32 - "1wv1hyfii14vi9lfjmnv07h2gpm3b7kvh2p55f4yy2b40simksgk")))) + "0py50n995gv909i0d1lfdcj9wcp5g1d5z6m2291jqqlfyany138g")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -1293,14 +1296,13 @@ override CC = " (assoc-ref inputs "cross-gcc") "/bin/i686-linux-gnu-gcc")) new-search-path ":"))) (setenv env-name new-env-value))) environment-variable-names)) - (setenv "CROSS_C_INCLUDE_PATH" (getenv "C_INCLUDE_PATH")) - (setenv "CROSS_CPLUS_INCLUDE_PATH" (getenv "CPLUS_INCLUDE_PATH")) + (setenv "CROSS_CPATH" (getenv "CPATH")) (setenv "CROSS_LIBRARY_PATH" (getenv "LIBRARY_PATH")) (filter-environment! cross? - '("CROSS_C_INCLUDE_PATH" "CROSS_CPLUS_INCLUDE_PATH" + '("CROSS_CPATH" "CROSS_LIBRARY_PATH")) (filter-environment! (lambda (e) (not (cross? e))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" + '("CPATH" "LIBRARY_PATH")) ;; Guix tries to be helpful and automatically adds ;; mini-os-git-checkout/include to the include path, @@ -1309,7 +1311,7 @@ override CC = " (assoc-ref inputs "cross-gcc") "/bin/i686-linux-gnu-gcc")) (not (string-contains e "mini-os-git-checkout"))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH" + '("CPATH" "LIBRARY_PATH")) (setenv "EFI_VENDOR" "guix") #t)) diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm new file mode 100644 index 0000000000..68ea401362 --- /dev/null +++ b/gnu/packages/visidata.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> +;;; +;;; 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 visidata) + #:use-module (gnu packages databases) + #:use-module (gnu packages python-science) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages time) + #:use-module (gnu packages xml) + #:use-module (guix build-system python) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages)) + +(define-public visidata + (package + (name "visidata") + (version "1.5.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "visidata" version)) + (sha256 + (base32 + "10adfyn4gkisvciqawgh2lakkhhnjjxiyp7mzbgcwkq1b3sigpf1")))) + (build-system python-build-system) + ;; Tests disabled because they are not packaged with the source tarball. + ;; Upstream suggests tests will be packaged with tarball around 2.0 release. + (arguments '(#:tests? #f)) + (inputs + `(("python-dateutil" ,python-dateutil) + ("python-fonttools" ,python-fonttools) + ("python-h5py" ,python-h5py) + ("python-lxml" ,python-lxml) + ("python-openpyxl" ,python-openpyxl) + ("python-pandas" ,python-pandas) + ("python-psycopg2" ,python-psycopg2) + ("python-pyyaml" ,python-pyyaml) + ("python-requests" ,python-requests) + ("python-xlrd" ,python-xlrd))) + (synopsis "Terminal spreadsheet multitool for discovering and arranging data") + (description + "VisiData is an interactive multitool for tabular data. It combines the +clarity of a spreadsheet, the efficiency of the terminal, and the power of +Python, into a lightweight utility which can handle millions of rows.") + (home-page "https://www.visidata.org/") + (license (list license:gpl3 + license:expat)))) ;; visidata/vdtui.py diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index becc505b34..a9e20049c6 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,6 +35,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system linux-module) #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages admin) @@ -243,17 +245,17 @@ the user specifically asks to proxy, so the @dfn{VPN} interface no longer (define-public openconnect (package (name "openconnect") - (version "8.05") + (version "8.08") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.infradead.org/pub/openconnect/" "openconnect-" version ".tar.gz")) (sha256 - (base32 "14i9q727c2zc9xhzp1a9hz3gzb5lwgsslbhircm84dnbs192jp1k")))) + (base32 "1s3rjdazx1n5izpcgz05p1sirm7kf4z3gh26dq2h2j5xmgmk0jxp")))) (build-system gnu-build-system) (propagated-inputs `(("libxml2" ,libxml2) - ("gnutls" ,gnutls) + ("gnutls" ,gnutls-3.6.13) ("zlib" ,zlib))) (inputs `(("vpnc-scripts" ,vpnc-scripts))) @@ -453,61 +455,58 @@ The peer-to-peer VPN implements a Layer 2 (Ethernet) network between the peers ;; 3-clause BSD license. (license license:bsd-3))) -(define-public wireguard +(define-public wireguard-linux-compat (package - (name "wireguard") - (version "0.0.20191219") + (name "wireguard-linux-compat") + (version "1.0.20200401") (source (origin (method url-fetch) - (uri (string-append "https://git.zx2c4.com/WireGuard/snapshot/" - "WireGuard-" version ".tar.xz")) + (uri (string-append "https://git.zx2c4.com/wireguard-linux-compat/" + "snapshot/wireguard-linux-compat-" version + ".tar.xz")) (sha256 (base32 - "1rxhhf18vnlbxpaxib6y55gbvr5h9dcvl8sn2l5slzz97066zfjs")))) - (build-system gnu-build-system) - (outputs '("out" ; The WireGuard userspace tools - "kernel-patch")) ; A patch to build Linux with WireGuard support + "0ymprz3h4b92wlcqm5k5vmcgap8pjv202bgkdx0axmp12n1lmyvx")))) + (build-system linux-module-build-system) + (outputs '("out" + "kernel-patch")) (arguments - `(#:tests? #f ; No tests available. - #:make-flags - (list "CC=gcc" - "--directory=src/tools" - "WITH_BASHCOMPLETION=yes" - ;; Build and install the helper script wg-quick(8). - "WITH_WGQUICK=yes" - (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "SYSCONFDIR=" (assoc-ref %outputs "out") "/etc")) - #:modules ((guix build gnu-build-system) + `(#:tests? #f ; No test suite + #:modules ((guix build linux-module-build-system) (guix build utils) (ice-9 popen) (ice-9 textual-ports)) #:phases (modify-phases %standard-phases - ;; There is no ./configure script. - (delete 'configure) - ;; Until WireGuard is added to the upstream Linux kernel, it is - ;; distributed as a kernel patch generated by this script. - (add-after 'patch-source-shebangs 'make-patch + (add-before 'build 'change-directory + (lambda _ + (chdir "./src") + #t)) + (add-after 'build 'build-patch (lambda* (#:key outputs #:allow-other-keys) - (let* ((output (string-append (assoc-ref outputs "kernel-patch") - "/wireguard.patch")) - (patch-builder "./contrib/kernel-tree/create-patch.sh") + (let* ((patch-builder "../kernel-tree-scripts/create-patch.sh") (port (open-input-pipe patch-builder)) (str (get-string-all port))) (close-pipe port) - (mkdir-p (dirname output)) - (call-with-output-file output + (call-with-output-file "wireguard.patch" (lambda (port) (format port "~a" str)))) - #t))))) - (inputs - `(("libmnl" ,libmnl))) - (home-page "https://www.wireguard.com/") - (synopsis "Tools for configuring WireGuard") - (description "This package provides the userspace tools for setting and -retrieving configuration of WireGuard network tunnel interfaces, and a patch -that can be applied to a Linux kernel source tree in order to build it with -WireGuard support.") + #t)) + (add-after 'install 'install-patch + (lambda* (#:key outputs #:allow-other-keys) + (install-file "wireguard.patch" + (assoc-ref %outputs "kernel-patch")) + #t)) + ;; So that 'install-license-files' works... + (add-before 'install-license-files 'reset-cwd + (lambda _ + (chdir "..") + #t))))) + (home-page "https://git.zx2c4.com/wireguard-linux-compat/") + (synopsis "WireGuard kernel module for Linux 3.10 through 5.5") + (description "This package contains an out-of-tree kernel patch and +a loadable module adding WireGuard to Linux kernel versions 3.10 through 5.5. +WireGuard was added to Linux 5.6.") (license license:gpl2))) (define-public wireguard-tools @@ -556,6 +555,9 @@ public keys and can roam across IP addresses.") (list license:lgpl2.1+ ; src/netlink.h & contrib/embeddable-wg-library license:gpl2)))) ; everything else +(define-public wireguard + (deprecated-package "wireguard" wireguard-tools)) + (define-public xl2tpd (package (name "xl2tpd") diff --git a/gnu/packages/vulkan.scm b/gnu/packages/vulkan.scm index 61a01f56b8..6a2c219aac 100644 --- a/gnu/packages/vulkan.scm +++ b/gnu/packages/vulkan.scm @@ -218,9 +218,6 @@ and the ICD.") (license:x11-style "file://COPYRIGHT.txt") license:bsd-3)))) -(define-public vulkan-icd-loader - (deprecated-package "vulkan-icd-loader" vulkan-loader)) - (define-public vulkan-tools (package (name "vulkan-tools") @@ -348,7 +345,7 @@ shader compilation.") (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 8a6ffaeef1..424951cdb7 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,10 +31,13 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (gnu packages) + #:use-module (gnu packages backup) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnupg) #:use-module (gnu packages libevent) @@ -42,6 +46,7 @@ #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lua) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnome-xyz) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -57,11 +62,68 @@ #:use-module (gnu packages gcc) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python) #:use-module (guix build-system asdf)) +(define-public midori + (package + (name "midori") + (version "9.0") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/midori-browser/core/releases/" + "download/v" version "/" name "-v" version ".tar.gz")) + (sha256 + (base32 + "05i04qa83dnarmgkx4xsk6fga5lw1lmslh4rb3vhyyy4ala562jy")))) + (build-system cmake-build-system) + (arguments + `(#: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 'install 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases + 'glib-or-gtk-compile-schemas)) + (add-after 'install 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases + 'glib-or-gtk-wrap))))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("adwaita-icon-theme" ,adwaita-icon-theme) + ("gcr" ,gcr) + ("glib" ,glib) + ("glib-networking" ,glib-networking) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("json-glib" ,json-glib) + ("libarchive" ,libarchive) + ("libpeas" ,libpeas) + ("libsoup" ,libsoup) + ("sqlite" ,sqlite) + ("vala" ,vala) + ("webkitgtk" ,webkitgtk))) + (synopsis "Lightweight graphical web browser") + (description "@code{Midori} is a lightweight, Webkit-based web browser. +It features integration with GTK+3, configurable web search engine, bookmark +management, extensions such as advertisement blocker and colorful tabs.") + (home-page "https://www.midori-browser.org") + (license license:lgpl2.1+))) + (define-public dillo (package (name "dillo") diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index a553dc2150..092ff30148 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -40,6 +40,7 @@ ;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> +;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -149,14 +150,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.41") + (version "2.4.43") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "0h7a31yxwyh7h521frnmlppl0h7sh9icc3ka6vlmlcg5iwllhg8k")))) + "0hqgw47r3p3521ygkkqs8s30s5crm683081avj6330gwncm6b5x4")))) (build-system gnu-build-system) (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(("apr" ,apr) @@ -1268,7 +1269,7 @@ Browsers and other web clients can use it to avoid privacy-leaking highlighting parts of the domain in a user interface, and sorting domain lists by site. -Libpsl has built-in PSL data for fast access, allows to load PSL data from +Libpsl has built-in PSL data for fast access, allowing to load PSL data from files, checks if a given domain is a public suffix, provides immediate cookie domain verification, finds the longest public part of a given domain, finds the shortest private part of a given domain, works with international @@ -3254,6 +3255,35 @@ IO::Socket::INET, so you can perform socket operations directly on it too.") used by the HTTP protocol (and then some more).") (home-page "https://metacpan.org/release/HTTP-Date"))) +(define-public perl-http-lite + (package + (name "perl-http-lite") + (version "2.44") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/N/NE/NEILB/HTTP-Lite-" + version ".tar.gz")) + (sha256 + (base32 + "0z77nflj8zdcfg70kc93glq5kmd6qxn2nf7h70x4xhfg25wkvr1q")))) + (build-system perl-build-system) + (native-inputs `(("perl-cgi" ,perl-cgi))) + (home-page "https://metacpan.org/release/HTTP-Lite") + (synopsis "Lightweight HTTP implementation") + (description "@code{HTTP::Lite} is a stand-alone lightweight +HTTP/1.1 implementation for perl. It is intended for use in +situations where it is desirable to install the minimal number of +modules to achieve HTTP support. @code{HTTP::Lite} is ideal for +CGI (or mod_perl) programs or for bundling for redistribution with +larger packages where only HTTP GET and POST functionality are +necessary. @code{HTTP::Lite} is compliant with the Host header, +necessary for name based virtual hosting, and supports proxies. +Additionally, @code{HTTP::Lite} supports a callback to allow +processing of request data as it arrives.") + (license license:perl-license))) + (define-public perl-http-message (package (name "perl-http-message") @@ -4780,16 +4810,23 @@ NetSurf project.") (define-public ikiwiki (package (name "ikiwiki") - (version "3.20190228") + (version "3.20200202.3") (source (origin - (method url-fetch) - (uri (string-append "http://snapshot.debian.org/archive/debian/" - "20190301T035241Z/pool/main/i/ikiwiki/ikiwiki_" - version ".orig.tar.xz")) + (method git-fetch) + (uri (git-reference + (url "git://git.ikiwiki.info/") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "17pyblaqhkb61lxl63bzndiffism8k859p54k3k4sghclq6lsynh")))) + "0fphyqzlk9y8v9s89ypsmrnbhyymzrpc2w0liy0n4knc7kk2pabq")) + (snippet + '(begin + ;; The POT file requires write permission during the build + ;; phase. + (chmod "po/ikiwiki.pot" #o644) + #t)))) (build-system perl-build-system) (arguments `(#:phases @@ -4803,10 +4840,21 @@ NetSurf project.") " addenv(\"PERL5LIB\", \"" (getenv "PERL5LIB") "\");"))))) - (add-after 'patch-source-shebangs 'patch-Makefile + (add-after 'patch-source-shebangs 'patch-Makefiles (lambda _ (substitute* "Makefile.PL" - (("SYSCONFDIR\\?=") "SYSCONFDIR?=$(PREFIX)")) + (("SYSCONFDIR\\?=") "SYSCONFDIR?=$(PREFIX)")) + (with-directory-excursion "po" + (substitute* "Makefile" + (("PERL5LIB=") "PERL5LIB=${PERL5LIB}:"))) + #t)) + (add-before 'build 'set-modification-times + ;; The wiki '--refresh' steps, which are executed during + ;; the check phase, require recent timestamps on files in + ;; the 'doc' and 'underlays' directories. + (lambda _ + (invoke "find" "doc" "underlays" "-type" "f" "-exec" + "touch" "{}" "+") #t)) (add-after 'install 'wrap-programs (lambda* (#:key outputs #:allow-other-keys) @@ -4820,10 +4868,6 @@ NetSurf project.") #t)))))) (native-inputs `(("which" ,which) - ("perl-html-tagset" ,perl-html-tagset) - ("perl-timedate" ,perl-timedate) - ("perl-xml-sax" ,perl-xml-sax) - ("perl-xml-simple" ,perl-xml-simple) ("gettext" ,gettext-minimal) ("subversion" ,subversion) ("git" ,git) @@ -4832,14 +4876,24 @@ NetSurf project.") ("mercurial" ,mercurial))) (inputs `(("python" ,python-wrapper) + ("perl-authen-passphrase" ,perl-authen-passphrase) ("perl-cgi-formbuilder" ,perl-cgi-formbuilder) ("perl-cgi-session" ,perl-cgi-session) ("perl-cgi-simple" ,perl-cgi-simple) ("perl-db-file" ,perl-db-file) - ("perl-html-parser" ,perl-html-parser) + ("perl-file-mimeinfo" ,perl-file-mimeinfo) + ("perl-html-tagset" ,perl-html-tagset) + ("perl-image-magick" ,perl-image-magick) + ("perl-mail-sendmail" ,perl-mail-sendmail) + ("perl-timedate" ,perl-timedate) + ("perl-xml-sax" ,perl-xml-sax) + ("perl-xml-simple" ,perl-xml-simple) + ("perl-xml-twig" ,perl-xml-twig) + ("po4a" ,po4a))) + (propagated-inputs + `(("perl-html-parser" ,perl-html-parser) ("perl-html-scrubber" ,perl-html-scrubber) ("perl-html-template" ,perl-html-template) - ("perl-image-magick" ,perl-image-magick) ("perl-json" ,perl-json) ("perl-text-markdown-discount" ,perl-text-markdown-discount) ("perl-uri" ,perl-uri) @@ -5788,6 +5842,20 @@ into your tests. It automatically starts up a HTTP server in a separate thread (uri (git-reference (url home-page) (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches + ;; When parsing URLs, treat an empty port (eg + ;; `http://hostname:/`) as if it were unspecified. This patch is + ;; applied to Fedora's http-parser and to libgit2's bundled version. + (list + (origin + (method url-fetch) + (uri (string-append + "https://src.fedoraproject.org/rpms/http-parser/raw/" + "e89b4c4e2874c19079a5a1a2d2ccc61b551aa289/" + "f/0001-url-treat-empty-port-as-default.patch")) + (sha256 + (base32 + "0pbxf2nq9pcn299k2b2ls8ldghaqln9glnp79gi57mamx4iy0f6g"))))) (sha256 (base32 "189zi61vczqgmqjd2myjcjbbi5icrk7ccs0kn6nj8hxqiv5j3811")))) @@ -6085,12 +6153,12 @@ file links.") `(#:configure-flags (list "--with-ssl=openssl") #:tests? #f)) ;No tests included (native-inputs - `(("gettext" ,gnu-gettext) + `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config) ("intltool" ,intltool))) (inputs `(("expat" ,expat) - ("openssl" ,openssl))) + ("openssl" ,openssl-1.0))) (home-page "http://www.webdav.org/cadaver/") (synopsis "Command-line WebDAV client") (description @@ -6220,12 +6288,14 @@ technologies.") (name "java-eclipse-jetty-test-helper") (version "4.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/eclipse/jetty.toolchain/" - "archive/jetty-test-helper-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/eclipse/jetty.toolchain/") + (commit (string-append "jetty-test-helper-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1jd6r9wc26fa11si4rn2gvy8ml8q4zw1nr6v04mjp8wvwpgvzwx5")))) + "1g7cdh03nfwbdxzvwm84ysgvw08xx7431lsjryj2gmf3lrqpizgb")))) (build-system ant-build-system) (arguments `(#:jar-name "eclipse-jetty-test-helper.jar" @@ -7107,8 +7177,8 @@ compressed JSON header blocks. "0wwhwv7cvi1vxpdjwvg0kpa4jzhszclpnwrwfcw728zz53a47z09")))))) (define-public hpcguix-web - (let ((commit "f39c90b35e99e4122b0866ec4337020d61c81508") - (revision "4")) + (let ((commit "9de63562b06b4aef3a3afe5ecb18d3c91e57ee74") + (revision "5")) (package (name "hpcguix-web") (version (git-version "0.0.1" revision commit)) @@ -7120,7 +7190,7 @@ compressed JSON header blocks. (file-name (git-file-name name version)) (sha256 (base32 - "0idzzlwnaymk6hm5q9nh146h5m6vd8acp32vlmzp6qq08mimfkq7")))) + "0wjgj2s7v2cyz6dx24c111rxs99i84sfvxl4ch8brnh02j2606jz")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -7176,11 +7246,11 @@ compressed JSON header blocks. ("uglify-js" ,uglify-js) ("pkg-config" ,pkg-config))) (inputs - `(("guix" ,guix))) + `(("guix" ,guile3.0-guix))) (propagated-inputs - `(("guile" ,guile-2.2) - ("guile-commonmark" ,guile-commonmark) - ("guile-json" ,guile-json-3))) + `(("guile" ,guile-next) + ("guile-commonmark" ,guile3.0-commonmark) + ("guile-json" ,guile3.0-json))) (home-page "https://github.com/UMCUGenetics/hpcguix-web") (synopsis "Web interface for cluster deployments of Guix") (description "Hpcguix-web provides a web interface to the list of packages diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index 2c8697223c..e52536c279 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> @@ -121,14 +121,14 @@ engine that uses Wayland for graphics output.") (define-public webkitgtk (package (name "webkitgtk") - (version "2.28.0") + (version "2.28.2") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) (sha256 (base32 - "12qfs9w93c5kiyi14ynm4rf4ad3c213dvzmdrc9c3ab2iwbks7rn")))) + "1g9hik3bprki5s9d7y5288q5irwckbzajr6rnlvjrlnqrwjkblmr")))) (build-system cmake-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index 3d4ea9456f..d7ac9e0c12 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; @@ -176,4 +176,5 @@ online pastebin services.") (description "GNU Wget2 is the successor of GNU Wget, a file and recursive website downloader. Designed and written from scratch it wraps around libwget, that provides the basic functions needed by a web client.") + (properties '((ftp-directory . "/gnu/wget"))) (license (list license:gpl3+ license:lgpl3+)))) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 541ef3cd7a..2c48bebdbf 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; ;;; This file is part of GNU Guix. @@ -328,7 +328,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "5.3") + (version "5.6") (source (origin (method git-fetch) @@ -337,7 +337,7 @@ integrate Windows applications into your desktop.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mvhrvshyrj7lgjgka735z6j8idwd6j58bpg5nz1slgmlh1llrs6")))) + (base32 "1i9yiwbyxl0vshc4gbgnhp53m1ray8pkiii876gbiaf93k1irk0d")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -387,7 +387,7 @@ integrate Windows applications into your desktop.") "/wine-" version ".tar.xz"))) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1pkzj3656ad0vmc7ciwfzn45lb2kxwbyymfwnqaa105dicicf6wv")))) + (base32 "1rh0pk8mbi3bb0di13swzxn7nwnrbfsfizdv472vv3ymf5z8l6ah")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("ffmpeg" ,ffmpeg) ("gtk+" ,gtk+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 25ec278e2c..4d1b6b3fd4 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com> ;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2017, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> ;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net> @@ -33,6 +33,7 @@ ;;; Copyright © 2019, 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020 Boris A. Dekshteyn <harlequin78@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,8 +62,10 @@ #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages bash) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bison) @@ -97,6 +100,7 @@ #:use-module (gnu packages pretty-print) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages readline) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages suckless) @@ -146,7 +150,7 @@ the leaves of a full binary tree.") (define-public herbstluftwm (package (name "herbstluftwm") - (version "0.7.2") + (version "0.8.1") (source (origin (method url-fetch) @@ -154,9 +158,9 @@ the leaves of a full binary tree.") version ".tar.gz")) (sha256 (base32 - "1kc18aj9j3nfz6fj4qxg9s3gg4jvn6kzi3ii24hfm0vqdpy17xnz")) + "0c1lf82z6a56g8asin91cmqhzk3anw0xwc44b31bpjixadmns57y")) (file-name (string-append "herbstluftwm-" version ".tar.gz")))) - (build-system gnu-build-system) + (build-system cmake-build-system) (inputs `(("dzen" ,dzen) ("dmenu" ,dmenu) @@ -166,14 +170,20 @@ the leaves of a full binary tree.") ("xsetroot" ,xsetroot) ("libx11" ,libx11) ("libxext" ,libxext) - ("libxinerama" ,libxinerama))) + ("libxinerama" ,libxinerama) + ("libxrandr" ,libxrandr))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("asciidoc" ,asciidoc) + ("pkg-config" ,pkg-config))) (arguments - '(#:phases + '(#:tests? #f + #:configure-flags + (let ((out (assoc-ref %outputs "out"))) + (list "-DCC=gcc" + (string-append "-DCMAKE_INSTALL_SYSCONF_PREFIX=" out "/etc") + (string-append "-DBASHCOMPLETIONDIR=" out "/etc/bash_completion.d"))) + #:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'check) (add-after 'install 'install-xsession (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -188,15 +198,7 @@ the leaves of a full binary tree.") Comment=Manual tiling window manager~@ Exec=~a/bin/herbstluftwm~@ Type=XSession~%" out))) - #t)))) - #:tests? #f - #:make-flags - (let ((out (assoc-ref %outputs "out"))) - (list "CC=gcc" - (string-append "PREFIX=''") - (string-append "DESTDIR=" out) - (string-append "BASHCOMPLETIONDIR=" out - "/etc/bash_completion.d"))))) + #t)))))) (synopsis "Tiling window manager for X11") (description "herbstluftwm is a manual tiling window manager for X11 using Xlib and GLib. Its main features are: @@ -1657,9 +1659,137 @@ productive, customizable lisp based systems.") (delete 'cleanup) (delete 'create-symlinks))))))) +(define-public stumpish + (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") + (revision "1")) + (package + (name "stumpish") + (version (git-version "0.0.1" revision commit)) ;no upstream release + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stumpwm/stumpwm-contrib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) + (inputs + `(("bash" ,bash) + ("rlwrap" ,rlwrap))) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (copy-recursively (assoc-ref %build-inputs "source") ".") + (chdir "util/stumpish") + (substitute* "stumpish" + (("rlwrap") (string-append (assoc-ref %build-inputs "rlwrap") + "/bin/rlwrap")) + (("/bin/sh") (string-append (assoc-ref %build-inputs "bash") + "/bin/bash"))) + (install-file "stumpish" (string-append %output "/bin"))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "StumpWM interactive shell") + (description "This package provides a StumpWM interactive shell.") + (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + (define-public sbcl-stumpwm+slynk (deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk)) +(define-public sbcl-stumpwm-ttf-fonts + (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") + (revision "1")) + (package + (name "sbcl-ttf-fonts") + (version (git-version "0.0.1" revision commit)) ;no upstream release + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stumpwm/stumpwm-contrib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) + (inputs + `(("stumpwm" ,stumpwm "lib") + ("clx-truetype" ,sbcl-clx-truetype))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "util/ttf-fonts")))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Implementation of TTF font rendering for Lisp") + (description "This package provides a Lisp implementation of TTF font +rendering.") + (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + +(define-public sbcl-stumpwm-globalwindows + (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") + (revision "1")) + (package + (name "sbcl-globalwindows") + (version (git-version "0.0.1" revision commit)) ;no upstream release + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stumpwm/stumpwm-contrib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) + (inputs + `(("stumpwm" ,stumpwm "lib"))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "util/globalwindows")))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Manipulate all windows in the current X session") + (description "This package provides a StumpWM module to manipulate all +windows in the current X session.") + (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + +(define-public sbcl-stumpwm-swm-gaps + (let ((commit "dd5b037923ec7d3cc27c55806bcec5a1b8cf4e91") + (revision "1")) + (package + (name "sbcl-swm-gaps") + (version (git-version "0.0.1" revision commit)) ;no upstream release + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stumpwm/stumpwm-contrib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ahxdj9f884afpzxczx6mx7l4nwg4kw6afqaq7lwhf7lxcwylldn")))) + (inputs + `(("stumpwm" ,stumpwm "lib"))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "util/swm-gaps")))))) + (home-page "https://github.com/stumpwm/stumpwm-contrib") + (synopsis "Gaps between windows for StumpWM") + (description "This package provides a StumpWM module which adds gaps +between windows.") + (license (list license:gpl2+ license:gpl3+ license:bsd-2))))) + (define-public lemonbar (let ((commit "35183ab81d2128dbb7b6d8e119cc57846bcefdb4") (revision "1")) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index facd63ab53..df61a95cbb 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -34,6 +34,8 @@ ;;; Copyright © 2020 Ivan Vilata i Balaguer <ivan@selidor.net> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Damien Cassou <damien@cassou.me> +;;; Copyright © 2020 John Soo <jsoo1@asu.edu> +;;; Copyright © 2020 Boris A. Dekshteyn <boris.dekshteyn@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -601,7 +603,7 @@ System style license, and has no special dependencies.") (home-page "http://tomas.styblo.name/wmctrl/") (synopsis "Command-line tool to control X window managers") (description - "Wmctrl allows to interact with an X window manager that is compatible + "Wmctrl interacts with an X window manager that is compatible with the EWMH/NetWM specification. It can query the window manager for information, and request for certain window management actions (resize and move windows, switch between desktops, etc.).") @@ -634,7 +636,7 @@ move windows, switch between desktops, etc.).") (home-page "https://github.com/resurrecting-open-source-projects/scrot") (synopsis "Command-line screen capture utility for X Window System") (description - "Scrot allows to save a screenshot of a full screen, a window or a part + "Scrot saves a screenshot of a full screen, a window or a part of the screen selected by mouse.") ;; This license removes a clause about X Consortium from the original ;; X11 license. @@ -1054,7 +1056,7 @@ within a single process.") (home-page "https://github.com/alols/xcape") (synopsis "Use a modifier key in X.org as another key") (description - "This utility for X.org allows to use modifier key as another key when + "This utility for X.org uses a modifier key as another key when pressed and released on its own. The default behaviour is to generate the Escape key when Left Control is pressed and released on its own.") (license license:gpl3+))) @@ -1062,7 +1064,7 @@ Escape key when Left Control is pressed and released on its own.") (define-public libwacom (package (name "libwacom") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) (uri (string-append @@ -1070,7 +1072,7 @@ Escape key when Left Control is pressed and released on its own.") "libwacom-" version "/libwacom-" version ".tar.bz2")) (sha256 (base32 - "1hv3z2qkvycqcyv99zfpbbgrlbyppdq8kk2y9x51578mwbgcy162")))) + "0g48cdg2qpvrr2nk8ccibjg3iv7iqskdv66izxacqx70w47y1771")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--disable-static"))) @@ -1211,7 +1213,7 @@ protocol.") (define-public xscreensaver (package (name "xscreensaver") - (version "5.43") + (version "5.44") (source (origin (method url-fetch) @@ -1219,7 +1221,7 @@ protocol.") (string-append "https://www.jwz.org/xscreensaver/xscreensaver-" version ".tar.gz")) (sha256 - (base32 "1571pj1a9998sq14y9366s2rw9wd2kq3l3dvvsk610vyd0fki3qm")))) + (base32 "15bv05vpfjwsrqbazrjmm382jd7vvw0mp6y9vasn6wvxzjf0in3k")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -1235,7 +1237,7 @@ protocol.") "--without-readdisplay") #:make-flags (list (string-append "AD_DIR=" (assoc-ref %outputs "out") - "/usr/lib/X11/app-defaults")))) + "/lib/X11/app-defaults")))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) @@ -1730,7 +1732,7 @@ commandline).") `(#:tests? #f)) (synopsis "Use external screen locker on events") (description "@code{xss-lock} listens to X signals to fire up a -user-defined screensaver. In effect this allows to automatically lock the +user-defined screensaver. In effect this automatically locks the screen when closing a laptop lid or after a period of user inactivity (as set with @code{xset s TIMEOUT}). The notifier command, if specified, is executed first. Additionally, xss-lock uses the inhibition logic to lock the screen @@ -2019,6 +2021,42 @@ can optionally use some appearance settings from XSettings, tint2 and GTK.") (home-page "https://jgmenu.github.io/") (license license:gpl2))) +(define-public xwallpaper + (package + (name "xwallpaper") + (version "0.6.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stoeckmann/xwallpaper") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "175fzifvia58vah2x7509drvfn3xfv5d9szgh9x1w1a1w8rcs2hx")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("libjpeg-turbo" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libxpm" ,libxpm) + ("pixman" ,pixman) + ("xcb-util" ,xcb-util) + ("xcb-util-image" ,xcb-util-image))) + (home-page "https://github.com/stoeckmann/xwallpaper") + (synopsis "Wallpaper setting utility for X") + (description + "The xwallpaper utility allows you to set image files as your X +wallpaper. JPEG, PNG, and XPM file formats are supported. + +The wallpaper is also advertised to programs which support semi-transparent +backgrounds.") + (license license:isc))) + (define-public xwrits (package (name "xwrits") @@ -2169,22 +2207,22 @@ tools to complement clipnotify.") (license license:public-domain))) (define-public clipmenu - (let ((commit "a495bcc7a4ab125182a661c5808364f66938a87c") + (let ((commit "bcbe7b144598db4a103f14e8408c4b7327d6d5e1") (revision "1")) (package (name "clipmenu") - (version (string-append "5.6.0-" + (version (string-append "6.0.1-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/cdown/clipnotify.git") + (url "https://github.com/cdown/clipmenu.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "12vvircdhl4psqi51cnfd6bqy85v2vwfcmdq1mimjgng727nwzys")))) + "0053j4i14lz5m2bzc5sch5id5ilr1bl196mp8fp0q8x74w3vavs9")))) (build-system gnu-build-system) (arguments `(#:phases @@ -2249,3 +2287,40 @@ to find all available clips and launches @command{dmenu} (or @command{rofi}, depending on the value of @code{CM_LAUNCHER}) to let the user select a clip. After selection, the clip is put onto the PRIMARY and CLIPBOARD X selections.") (license license:public-domain)))) + +(define-public kbdd + (package + (name "kbdd") + (version "0.7.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/qnikst/kbdd.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qkq75grbd4wkx4nlvswgavpijk9ad0pzqyj89a0ayjsbsn36pqy")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("glib" ,glib "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("dbus-glib", dbus-glib) + ("glib" ,glib) + ("libx11" ,libx11))) + (home-page "https://github.com/qnikst/kbdd") + (synopsis "Per-window keyboard layout switching daemon for X") + (description "@command{kbdd} is a simple keyboard layout switching +program, which is designed to run in an X11 session and remember +keyboard layouts on a per-window basis. That can be very handy for a +user of a non-US keyboard who does not want to jump through layouts back +and forth while typing in terminals (mostly in a latin alphabet) and +some kind of chat (in native language). + +@command{kbdd} also supports D-Bus signals, which makes it possible to +create layout indicator widgets.") + (license license:bsd-2))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 70806255d9..4b9751da35 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> ;;; Copyright © 2019 L p R n d n <guix@lprndn.info> ;;; Copyright © 2019 Ingo Ruhnke <grumbel@gmail.com> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,43 +29,43 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages xfce) - #:use-module ((guix licenses) #:hide (freetype)) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix gexp) - #:use-module (guix utils) - #: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 trivial) #:use-module (gnu artwork) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages calendar) #:use-module (gnu packages cdrom) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages glib) - #:use-module (gnu packages gtk) - #:use-module (gnu packages imagemagick) - #:use-module (gnu packages inkscape) - #:use-module (gnu packages xorg) - #:use-module (gnu packages xdisorg) - #:use-module (gnu packages web) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) - #:use-module (gnu packages image) + #:use-module (gnu packages glib) #:use-module (gnu packages gnome) - #:use-module (gnu packages pdf) - #:use-module (gnu packages polkit) #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) + #:use-module (gnu packages inkscape) #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) - #:use-module (gnu packages photo) #:use-module (gnu packages pcre) + #:use-module (gnu packages pdf) + #:use-module (gnu packages photo) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages polkit) #:use-module (gnu packages popt) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages web) + #:use-module (gnu packages wm) #:use-module (gnu packages xml) - #:use-module (gnu packages wm)) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xorg) + #: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 trivial) + #:use-module (guix download) + #:use-module (guix gexp) + #:use-module ((guix licenses) #:hide (freetype)) + #:use-module (guix packages) + #:use-module (guix utils)) (define-public gtk-xfce-engine (package @@ -202,7 +203,7 @@ to share commonly used Xfce widgets among the Xfce applications.") (define-public exo (package (name "exo") - (version "0.12.10") + (version "0.12.11") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -210,7 +211,7 @@ to share commonly used Xfce widgets among the Xfce applications.") "exo-" version ".tar.bz2")) (sha256 (base32 - "1b3w4pf9gkcp13h63nf93k95hkw0ij7v5y7wjklqd1qifm8xd3w4")))) + "1dp5s64g6572h9zvx9js7qc72s728qsd9y7hl7hg6rwaq0cjb2gc")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -220,7 +221,7 @@ to share commonly used Xfce widgets among the Xfce applications.") `(("gtk+-3" ,gtk+) ("libxfce4util" ,libxfce4util))) (inputs - `(;; FIXME Refered to in exo-1.pc but conflict with gtk+-3 + `(;; FIXME Referred to in exo-1.pc but conflict with gtk+-3. ("gtk+-2" ,gtk+-2) ("libxfce4ui" ,libxfce4ui) ("perl-uri" ,perl-uri))) @@ -236,7 +237,7 @@ development.") (define-public garcon (package (name "garcon") - (version "0.6.4") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -244,17 +245,17 @@ development.") "garcon-" version ".tar.bz2")) (sha256 (base32 - "0bbngb4bn1m325j7y40gky36kn2nlsvqs6xp0wy76x3s0d9lfpnp")))) + "08r4dfvdvl178cjajm7ww16lwb7jsfqh3yz614mn84c0a0dvdhw2")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("glib:bin" ,glib "bin"))) (inputs - `(("gtk+-2" ,gtk+-2))); required by garcon-gtk2-1.pc + `(("gtk+-2" ,gtk+-2))) ; required by garcon-gtk2-1.pc (propagated-inputs `(("gtk+-3" ,gtk+) ; required by garcon-gtk3-1.pc - ("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk3-1.pc + ("libxfce4ui" ,libxfce4ui))) ; required by garcon-gtk3-1.pc (home-page "https://www.xfce.org/") (synopsis "Implementation of the freedesktop.org menu specification") (description @@ -385,7 +386,7 @@ applications menu, workspace switcher and more.") (define-public xfce4-clipman-plugin (package (name "xfce4-clipman-plugin") - (version "1.4.4") + (version "1.6.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -393,7 +394,7 @@ applications menu, workspace switcher and more.") "xfce4-clipman-plugin-" version ".tar.bz2")) (sha256 (base32 - "1819kjn7gs30zhhj2ppfw4zjpcgj9amw1vvppjsavsff1xflrq88")))) + "1d6fxdzy9b511hqcyj7825fx67q6zqk6cln4g3x9d498jrvk3s5k")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -416,19 +417,20 @@ matching them against regular expressions.") (define-public xfce4-pulseaudio-plugin (package (name "xfce4-pulseaudio-plugin") - (version "0.4.2") - (source (origin - (method url-fetch) - (uri (string-append "https://archive.xfce.org/src/panel-plugins/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "0851b0vs5xmy3cq899khcghmkqwvh9rnzwavi17msrsq4jyaxs2a")))) + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://archive.xfce.org/src/panel-plugins/" + "xfce4-pulseaudio-plugin/" + (version-major+minor version) "/" + "xfce4-pulseaudio-plugin-" version ".tar.bz2")) + (sha256 + (base32 "0nv1lbkshfzar87f6xq1ib120pjja24r7135rbc42wqkw8vq4las")))) (build-system gnu-build-system) (arguments `(#:phases - ;; For dbus/dbus-glib.h in pulseaudio-config.h + ;; For dbus/dbus-glib.h in pulseaudio-config.h. (modify-phases %standard-phases (add-after 'set-paths 'augment-cflags (lambda* (#:key inputs #:allow-other-keys) @@ -462,7 +464,7 @@ keys for controlling the audio volume.") (define-public xfce4-whiskermenu-plugin (package (name "xfce4-whiskermenu-plugin") - (version "2.3.4") + (version "2.4.3") (source (origin (method url-fetch) @@ -470,7 +472,7 @@ keys for controlling the audio volume.") "xfce4-whiskermenu-plugin/" (version-major+minor version) "/" "xfce4-whiskermenu-plugin-" version ".tar.bz2")) (sha256 - (base32 "03jpcbdpkgg825g7mr630wxynachymsrnyhz32mkl0jsd4sxxlw4")))) + (base32 "1w2zvqr0g6miliv3nb0shljfawwc1brdn2fyz4kvfg7b3klyxyir")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -561,15 +563,15 @@ your system in categories, so you can quickly find and launch them.") (define-public xfce4-session (package (name "xfce4-session") - (version "4.14.0") + (version "4.14.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfce4-session/" (version-major+minor version) "/" + "xfce4-session-" version ".tar.bz2")) (sha256 (base32 - "0gq4a8yiw58hb4d5dhvprxvzamqfg8qblmiqcw0b97mn9svnvyql")) + "1bwpylcn7x9i301yz45wvkzah9bncv9b44nf4hh9ln4i1jka9qzv")) (modules '((guix build utils))) (snippet '(begin @@ -600,7 +602,7 @@ your system in categories, so you can quickly find and launch them.") (synopsis "Xfce session manager") (description "Session manager for Xfce, it will restore your session on startup and -allows you to shutdown the computer from Xfce.") +allows you to shut down the computer from Xfce.") (license gpl2+))) (define-public xfce4-settings @@ -645,7 +647,7 @@ like appearance, display, keyboard and mouse settings.") (define-public thunar (package (name "thunar") - (version "1.8.12") + (version "1.8.14") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -653,7 +655,7 @@ like appearance, display, keyboard and mouse settings.") "thunar-" version ".tar.bz2")) (sha256 (base32 - "1y1548jrx93c9v8ks60mkd9sx5xl69fmwh1pbr9gsnqz1gp5na99")))) + "17r1z8cyp709lz38w7b5vqi1zbgm2i3sqvdvicsbvma2b0gppica")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -708,15 +710,15 @@ and import the new pictures from your camera.") (define-public xfwm4 (package (name "xfwm4") - (version "4.14.0") + (version "4.14.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfwm4/" (version-major+minor version) "/" + "xfwm4-" version ".tar.bz2")) (sha256 (base32 - "05dn4a1i0nm6wm3nyj7qli5bvfalxghcl7x543qr5l33vkw2n65l")))) + "0a0la57jh618qfl7czsn7mspcraqczkm1m616j7jwxkhh2hq21qh")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -738,15 +740,15 @@ on the screen.") (define-public xfdesktop (package (name "xfdesktop") - (version "4.14.1") + (version "4.14.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfdesktop/" (version-major+minor version) "/" + "xfdesktop-" version ".tar.bz2")) (sha256 (base32 - "10pqxgpj7b57wpcsh2k98sj4aavcgxbs1lc8qsq4mibf4hba01gp")) + "0x1yx9sd5aanrlr1qnbwd2nsmcg09g4132k0kyb7z47a3x3381d3")) (modules '((guix build utils))) (snippet #~(begin @@ -778,6 +780,7 @@ on the screen.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool) + ;; For our own ‘prepare-background-image’ phase. ("inkscape" ,inkscape) ("imagemagick" ,imagemagick))) (inputs @@ -852,7 +855,7 @@ on your desktop.") ("shared-mime-info" ,shared-mime-info) ("thunar" ,thunar) ("thunar-volman" ,thunar-volman) - ("tumlber" ,tumbler) + ("tumbler" ,tumbler) ("xfce4-appfinder" ,xfce4-appfinder) ("xfce4-panel" ,xfce4-panel) ("xfce4-power-manager" ,xfce4-power-manager) @@ -866,7 +869,7 @@ on your desktop.") ("xfce4-battery-plugin" ,xfce4-battery-plugin) ("xfce4-clipman-plugin" ,xfce4-clipman-plugin) ("xfce4-pulseaudio-plugin" ,xfce4-pulseaudio-plugin) - ("xfce4-xkb-plugin" ,xfce4-xkb-plugin))) + ("xfce4-xkb-plugin" ,xfce4-xkb-plugin))) (native-search-paths ;; For finding panel plugins. (package-native-search-paths xfce4-panel)) @@ -926,10 +929,10 @@ inhibit interface which allows applications to prevent automatic sleep.") (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) + ("desktop-file-utils" ,desktop-file-utils) ("pkg-config" ,pkg-config))) (inputs - `(("desktop-file-utils" ,desktop-file-utils) - ("gtk+" ,gtk+) + `(("gtk+" ,gtk+) ("libexif" ,libexif) ("libxfce4ui" ,libxfce4ui) ("librsvg" ,librsvg) @@ -946,15 +949,15 @@ the desktop wallpaper.") (define-public xfce4-taskmanager (package (name "xfce4-taskmanager") - (version "1.2.2") + (version "1.2.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" - name "/" (version-major+minor version) "/" - name "-" version ".tar.bz2")) + "xfce4-taskmanager/" (version-major+minor version) "/" + "xfce4-taskmanager-" version ".tar.bz2")) (sha256 (base32 - "04qflazmdrj4ys4r54yg4s5pqcjgk02idrjsls395zd4374636p4")))) + "1i63bnvpjpblnd0d3l1v065x9q1cz74cvlab5hzd0q8zgkd49z6w")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1158,7 +1161,7 @@ A plugin for the Xfce panel is also available.") (define-public xfce4-screensaver (package (name "xfce4-screensaver") - (version "0.1.8") + (version "0.1.10") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -1168,7 +1171,7 @@ A plugin for the Xfce panel is also available.") version ".tar.bz2")) (sha256 (base32 - "1mv0r150yb29kji2rr2462g9p574bqjax1lb6bzcqgpxlmg08mj0")))) + "0mqxbyq9np6jzky8y35dlxxmk78q2w0jvwg9kh7a4ib7vmw1qvsq")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1706,10 +1709,10 @@ interfaces of your choice in the panel.") (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) + ("desktop-file-utils" ,desktop-file-utils) ("pkg-config" ,pkg-config))) (inputs - `(("desktop-file-utils" ,desktop-file-utils) - ("gtk+-2" ,gtk+-2) + `(("gtk+-2" ,gtk+-2) ("exo" ,exo) ("libxfce4ui" ,libxfce4ui) ("xfce4-panel" ,xfce4-panel))) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index edb690b5ff..7c71bf0a28 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -73,7 +74,7 @@ '(#:configure-flags '("--disable-static"))) (synopsis "Library for manipulating the ogg multimedia format") (description - "The libogg library allows to manipulate the ogg multimedia container + "The libogg library manipulates the ogg multimedia container format, which encapsulates raw compressed data and allows the interleaving of audio and video data. In addition to encapsulation and interleaving of multiple data streams, ogg provides packet framing, error detection, and @@ -285,10 +286,10 @@ meaning that audio is compressed in FLAC without any loss in quality.") "0s3vr2nxfxlf1k75iqpp4l78yf4gil3f0v778kvlngbchvaq23n4")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) + ("bison" ,bison) ("pkg-config" ,pkg-config))) ;; FIXME: Add optional input liboggz - (inputs `(("bison" ,bison) - ("libogg" ,libogg) + (inputs `(("libogg" ,libogg) ("libpng" ,libpng) ("python" ,python-wrapper) ("zlib" ,zlib))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f4c7329e06..95479f18da 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> @@ -22,6 +22,7 @@ ;;; Copyright © 2019 Yoshinori Arai <kumagusu08@gmail.com> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> +;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,7 +64,9 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages gperf) #:use-module (gnu packages gtk) + #:use-module (gnu packages inkscape) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages libbsd) #:use-module (gnu packages libedit) #:use-module (gnu packages linux) @@ -2218,6 +2221,65 @@ X server: @code{handhelds}, @code{redglass} and @code{whiteglass}.") (license license:x11))) +(define-public hackneyed-x11-cursors + ;; The current release 0.8 suffers from non-deterministic build problems. + (let ((revision "1") + (commit "9423cef2e2e5ff6b1d65d61f7108c97bc7f5fdfb")) + (package + (name "hackneyed-x11-cursors") + (version (git-version "0.8.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Enthymeme/hackneyed-x11-cursors.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f637i76sdwz3nm1g1iynamq6j0i6k3c70fpl0fmd0dlynm8ga96")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test suite + #:make-flags (list (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'set-inkscape-environment-variable + (lambda* (#:key inputs #:allow-other-keys) + (let ((inkscape (string-append (assoc-ref inputs "inkscape") + "/bin/inkscape"))) + (setenv "INKSCAPE" inkscape) + #t))) + (add-before 'build 'placate-inkscape-warnings + (lambda _ + (setenv "HOME" (getcwd)) + #t)) + (add-after 'build 'generate-black-cursors + (lambda* (#:key make-flags parallel-build #:allow-other-keys) + (let ((build (assoc-ref %standard-phases 'build)) + (make-flags/extended + `(,@make-flags + "THEME_NAME=Hackneyed-Dark" + "COMMON_SOURCE=theme/common-dark.svg" + "RSVG_SOURCE=theme/right-handed-dark.svg" + "LSVG_SOURCE=theme/left-handed-dark.svg"))) + (build #:make-flags make-flags/extended + #:parallel-build parallel-build)))) + (add-after 'install 'install-black-cursors + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke `("make" "install" ,@make-flags + "THEME_NAME=Hackneyed-Dark"))))))) + (native-inputs `(("imagemagick" ,imagemagick) + ("inkscape" ,inkscape) + ("xcursorgen" ,xcursorgen))) + (home-page "https://gitlab.com/Enthymeme/hackneyed-x11-cursors") + (synopsis "Classic cursor theme for X11") + (description "Hackneyed is a scalable cursor theme mildly resembling old +Windows 3.x cursors. The cursors are available in white and black colors. A +left-handed version of the cursors is also included.") + (license license:x11)))) + (define-public xcursorgen (package (name "xcursorgen") @@ -5911,7 +5973,7 @@ to answer a question. Xmessage can also exit after a specified time.") (define-public xterm (package (name "xterm") - (version "351") + (version "353") (source (origin (method url-fetch) (uri (list @@ -5921,7 +5983,7 @@ to answer a question. Xmessage can also exit after a specified time.") "xterm-" version ".tgz"))) (sha256 (base32 - "05kf586my4irrzz2bxgmwjdvynyrg9ybhvfqmx29g70w4888l2kn")))) + "0s5pkfn4r8iy09s1q1y78zhnr9f3sm6wgbqir7azaqggkppd68g5")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts" |