diff options
author | Marius Bakke <marius@gnu.org> | 2020-12-29 17:37:17 +0100 |
---|---|---|
committer | Marius Bakke <marius@gnu.org> | 2020-12-29 17:37:17 +0100 |
commit | a22e75c073c785a3a71c952d97fb7ab87dfd282d (patch) | |
tree | c0ef12b8c271c9de37bcce9287b67adf8628ed93 | |
parent | bbe4ed65ed5fe7dc8ed9d226042852387cee3b1e (diff) | |
parent | 789bf7fcc241d010cb583dc76c366110bfca8b35 (diff) | |
download | guix-a22e75c073c785a3a71c952d97fb7ab87dfd282d.tar guix-a22e75c073c785a3a71c952d97fb7ab87dfd282d.tar.gz |
Merge branch 'master' into ungrafting
106 files changed, 3004 insertions, 773 deletions
diff --git a/.guix-authorizations b/.guix-authorizations index 531ea04ea5..956bf351a7 100644 --- a/.guix-authorizations +++ b/.guix-authorizations @@ -79,6 +79,8 @@ (name "jonsger")) ("83B6 703A DCCA 3B69 4BCE 2DA6 E6A5 EE3C 1946 7A0D" (name "kkebreau")) + ("ACC2 3BA0 59F7 CCF4 08F0 43AD 442A 84B8 C70E 2F87" + (name "leoprikler")) ("45E5 75FA 53EA 8BD6 1BCE 0B4E 3ADC 75F0 13D6 78F9" (name "leungbk")) (;; primary: "4F71 6F9A 8FA2 C80E F1B5 E1BA 5E35 F231 DE1A C5E0" diff --git a/Makefile.am b/Makefile.am index e0ee65fcce..aec2bb1474 100644 --- a/Makefile.am +++ b/Makefile.am @@ -722,7 +722,6 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \ --localstatedir="$$dc_install_base/var" \ --with-libgcrypt-prefix="$(LIBGCRYPT_PREFIX)" \ --with-libgcrypt-libdir="$(LIBGCRYPT_LIBDIR)" \ - --with-nix-prefix="$(NIX_PREFIX)" \ --enable-daemon \ ac_cv_guix_test_root="$(GUIX_TEST_ROOT)" diff --git a/configure.ac b/configure.ac index afb449950f..aa97f67ebe 100644 --- a/configure.ac +++ b/configure.ac @@ -194,19 +194,6 @@ AC_SUBST([GZIP]) AC_SUBST([BZIP2]) AC_SUBST([XZ]) -AC_ARG_WITH([nix-prefix], - [AS_HELP_STRING([--with-nix-prefix=DIR], - [search for Nix in DIR (for testing purposes and '--disable-daemon' builds)])], - [case "$withval" in - yes|no) ;; - *) - NIX_PREFIX="$withval" - PATH="$NIX_PREFIX/bin:$PATH"; export PATH - AC_SUBST([NIX_PREFIX]) - ;; - esac], - []) - AC_ARG_WITH([nixpkgs], [AS_HELP_STRING([--with-nixpkgs=DIR], [search for Nixpkgs in DIR (for testing purposes only)])], diff --git a/doc/guix-cookbook.texi b/doc/guix-cookbook.texi index 581b8c3595..54ab99558e 100644 --- a/doc/guix-cookbook.texi +++ b/doc/guix-cookbook.texi @@ -2245,7 +2245,7 @@ section on @ref{Reproducible profiles}. @item Easier upgrades and maintenance: Multiple profiles make it easy to keep -package listings at hand and make upgrades completely friction-less. +package listings at hand and make upgrades completely frictionless. @end itemize Concretely, here follows some typical profiles: diff --git a/doc/guix.texi b/doc/guix.texi index 392baf5910..1081ed26a3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -85,6 +85,7 @@ Copyright @copyright{} 2020 Alexandru-Sergiu Marton@* Copyright @copyright{} 2020 raingloom@* Copyright @copyright{} 2020 Daniel Brooks@* Copyright @copyright{} 2020 John Soo@* +Copyright @copyright{} 2020 Jonathan Brielmaier@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -1296,7 +1297,7 @@ master node: @end example This will attempt to connect to each of the build machines specified in -@file{/etc/guix/machines.scm}, make sure Guile and the Guix modules are +@file{/etc/guix/machines.scm}, make sure Guix is available on each machine, attempt to export to the machine and import from it, and report any error in the process. @@ -10357,6 +10358,24 @@ This is similar to @option{--with-branch}, except that it builds from @var{commit} rather than the tip of a branch. @var{commit} must be a valid Git commit SHA1 identifier or a tag. +@item --with-patch=@var{package}=@var{file} +Add @var{file} to the list of patches applied to @var{package}, where +@var{package} is a spec such as @code{python@@3.8} or @code{glibc}. +@var{file} must contain a patch; it is applied with the flags specified +in the @code{origin} of @var{package} (@pxref{origin Reference}), which +by default includes @code{-p1} (@pxref{patch Directories,,, diffutils, +Comparing and Merging Files}). + +As an example, the command below rebuilds Coreutils with the GNU C +Library (glibc) patched with the given patch: + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +In this example, glibc itself as well as everything that leads to +Coreutils in the dependency graph is rebuilt. + @cindex test suite, skipping @item --without-tests=@var{package} Build @var{package} without running its tests. This can be useful in @@ -11009,6 +11028,13 @@ When @option{--recursive} is added, the importer will traverse the dependency graph of the given upstream package recursively and generate package expressions for all those packages that are not yet in Guix. +When @option{--style=specification} is added, the importer will generate +package definitions whose inputs are package specifications instead of +references to package variables. This is useful when generated package +definitions are to be appended to existing user modules, as the list of +used package modules need not be changed. The default is +@option{--style=variable}. + When @option{--archive=bioconductor} is added, metadata is imported from @uref{https://www.bioconductor.org/, Bioconductor}, a repository of R packages for the analysis and comprehension of high-throughput @@ -21192,6 +21218,30 @@ Mailutils Manual}, for details. @end table @end deftp +@subsubheading Radicale Service +@cindex CalDAV +@cindex CardDAV + +@deffn {Scheme Variable} radicale-service-type +This is the type of the @uref{https://radicale.org, Radicale} CalDAV/CardDAV +server whose value should be a @code{radicale-configuration}. +@end deffn + +@deftp {Data Type} radicale-configuration +Data type representing the configuration of @command{radicale}. + +@table @asis +@item @code{package} (default: @code{radicale}) +The package that provides @command{radicale}. + +@item @code{config-file} (default: @code{%default-radicale-config-file}) +File-like object of the configuration file to use, by default it will listen +on TCP port 5232 of @code{localhost} and use the @code{htpasswd} file at +@file{/var/lib/radicale/users} with no (@code{plain}) encryption. + +@end table +@end deftp + @node Messaging Services @subsection Messaging Services diff --git a/etc/news.scm b/etc/news.scm index 8cd1c89837..0df018af0b 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -17,6 +17,44 @@ (channel-news (version 0) + + (entry (commit "e38d90d497e19e00263fa28961c688a433154386") + (title (en "New @option{--with-patch} package transformation option") + (de "Neue Paketumwandlungsoption @option{--with-patch}") + (fr "Nouvelle option de transformation @option{--with-patch}")) + (body + (en "The new @option{--with-patch} package transformation option +applies patches to the specified packages before building them. The example +below builds the GNU Core Utilities against a patched C library (glibc): + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Run @command{info \"(guix) Package Transformation Options\"} for more info.") + (de "Die neue Paketumwandlungsoption @option{--with-patch} wendet +Patches auf die angegebenen Pakete an, bevor sie erstellt werden. Das folgende +Beispiel lässt die GNU Core Utilities mit einer gepatchten +C-Bibliothek (glibc) erstellen: + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Führen Sie für mehr Informationen @command{info \"(guix.de) +Paketumwandlungsoptionen\"} aus.") + (fr "La nouvelle option de transformation de paquets +@option{--with-patch} applique des modifications (@i{patches}) aux paquets +spécifiés avant de les compiler. L'exemple suivant compile les utilitaires de +base GNU avec une bibliothèque C (glibc) modifiée : + +@example +guix build coreutils --with-patch=glibc=./glibc-frob.patch +@end example + +Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour +plus de détails."))) + (entry (commit "79f9dee3c4c0e6d21066f142116a537207ae7ba4") (title (en "Local substitute servers discovery is now supported") (de "Substitutserver können jetzt im lokalen Netz erkannt werden") diff --git a/etc/snippets/scheme-mode/guix-package b/etc/snippets/scheme-mode/guix-package index 48b87e3599..9ff6f997d1 100644 --- a/etc/snippets/scheme-mode/guix-package +++ b/etc/snippets/scheme-mode/guix-package @@ -11,20 +11,30 @@ "ant-build-system" "asdf-build-system" "cargo-build-system" + "clojure-build-system" "cmake-build-system" + "copy-build-system" "dub-build-system" + "dune-build-system" "emacs-build-system" "font-build-system" "glib-or-gtk-build-system" "gnu-build-system" "go-build-system" + "guile-build-system" "haskell-build-system" + "julia-build-system" + "linux-module-build-system" + "maven-build-system" "meson-build-system" "minify-build-system" + "node-build-system" "ocaml-build-system" "perl-build-system" "python-build-system" + "qt-build-system" "r-build-system" + "rakudo-build-system" "ruby-build-system" "scons-build-system" "texlive-build-system" diff --git a/gnu/local.mk b/gnu/local.mk index 5d14cbc7d3..102c91e16c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -277,6 +277,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/heads.scm \ %D%/packages/hexedit.scm \ %D%/packages/hugs.scm \ + %D%/packages/hunspell.scm \ %D%/packages/hurd.scm \ %D%/packages/hyperledger.scm \ %D%/packages/i2p.scm \ @@ -802,6 +803,7 @@ dist_patch_DATA = \ %D%/packages/patches/ath9k-htc-firmware-gcc.patch \ %D%/packages/patches/ath9k-htc-firmware-objcopy.patch \ %D%/packages/patches/audacity-build-with-system-portaudio.patch \ + %D%/packages/patches/audacity-add-include.patch \ %D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \ %D%/packages/patches/audiofile-fix-sign-conversion.patch \ %D%/packages/patches/audiofile-CVE-2015-7747.patch \ @@ -1615,6 +1617,7 @@ dist_patch_DATA = \ %D%/packages/patches/seed-webkit.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/serf-python3.patch \ + %D%/packages/patches/shakespeare-spl-fix-grammar.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ %D%/packages/patches/shadow-hurd-pctrl.patch \ %D%/packages/patches/shishi-fix-libgcrypt-detection.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index dab7a0af7b..e45e228624 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -107,6 +107,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) + #:use-module (gnu packages mail) #:use-module (gnu packages man) #:use-module (gnu packages mcrypt) #:use-module (gnu packages mpi) @@ -515,7 +516,7 @@ or via the @code{facter} Ruby library.") (define-public htop (package (name "htop") - (version "3.0.3") + (version "3.0.4") (source (origin (method git-fetch) @@ -523,7 +524,7 @@ or via the @code{facter} Ruby library.") (url "https://github.com/htop-dev/htop") (commit version))) (sha256 - (base32 "0ylig6g2w4r3qfb16cf922iriqyn64frkzpk87vpga16kclvf08y")) + (base32 "1fckfv96vzqjs3lzy0cgwsqv5vh1sxca3fhvgskmnkvr5bq6cia9")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (inputs @@ -1343,9 +1344,11 @@ at once based on a Perl regular expression.") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-paths - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* "rc/rc" - (("/usr/sbin/sendmail") "sendmail")) + (("/usr/sbin/sendmail") + (string-append (assoc-ref inputs "mailutils") + "/bin/mail"))) #t)) (add-after 'unpack 'fix-configure (lambda* (#:key inputs native-inputs #:allow-other-keys) @@ -1384,7 +1387,8 @@ at once based on a Perl regular expression.") (native-inputs `(("texinfo" ,texinfo) ("automake" ,automake) ("util-linux" ,util-linux))) ; for 'cal' - (inputs `(("coreutils*" ,coreutils))) + (inputs `(("coreutils*" ,coreutils) + ("mailutils" ,mailutils))) (home-page "https://www.gnu.org/software/rottlog/") (synopsis "Log rotation and management") (description @@ -1858,7 +1862,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20201113") + (version "20201217") (source (origin (method url-fetch) (uri (string-append @@ -1866,7 +1870,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "0fmck3zklc328c8nzvfzm2xyh2i8zszzrd4k8kk8q30y4avnc6z1")))) + "06rdpfjmij5nni1x2wi1gnalhsza5yxq1viskjm9r11wmsjnxm2a")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -2189,13 +2193,13 @@ of supported upstream metrics systems simultaneously.") (define-public ansible (package (name "ansible") - (version "2.9.11") + (version "2.9.16") (source (origin (method url-fetch) (uri (pypi-uri "ansible" version)) (sha256 - (base32 "1c9ayh61qwasgncmlw7rjx5r4g5n2cpg1d5blgn53zg7xhrx1yc8")))) + (base32 "0j1icfqff25zm9sq6j41ipl6gcj3i67mb5bqbjf2f2q1yx6rm8sk")))) (build-system python-build-system) (native-inputs `(("python-bcrypt" ,python-bcrypt) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 4acc345c3e..4ac70d7b24 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -676,7 +676,7 @@ engineers, musicians, soundtrack editors and composers.") (define-public audacity (package (name "audacity") - (version "2.4.1") + (version "2.4.2") (source (origin (method git-fetch) @@ -686,8 +686,9 @@ engineers, musicians, soundtrack editors and composers.") (file-name (git-file-name name version)) (sha256 (base32 - "1xk0piv72d2xd3p7igr916fhcbrm76fhjr418k1rlqdzzg1hfljn")) - (patches (search-patches "audacity-build-with-system-portaudio.patch")) + "0lklcvqkxrr2gkb9gh3422iadzl2rv9v0a8s76rwq43lj2im7546")) + (patches (search-patches "audacity-build-with-system-portaudio.patch" + "audacity-add-include.patch")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -697,7 +698,7 @@ engineers, musicians, soundtrack editors and composers.") (delete-file-recursively (string-append "lib-src/" dir))) '("expat" "ffmpeg" "lame" "libflac" "libid3tag" "libmad" "libogg" "libsndfile" "libsoxr" "libvamp" "libvorbis" "lv2" - "portaudio-v19" "portmidi" "soundtouch" "twolame" + "portmidi" "soundtouch" "twolame" ;; FIXME: these libraries have not been packaged yet: ;; "libnyquist" ;; "libscorealign" @@ -711,7 +712,7 @@ engineers, musicians, soundtrack editors and composers.") ;; "sbsms" )) #t)))) - (build-system glib-or-gtk-build-system) + (build-system cmake-build-system) (inputs `(("wxwidgets" ,wxwidgets) ("gtk+" ,gtk+) @@ -733,7 +734,6 @@ engineers, musicians, soundtrack editors and composers.") ("lv2" ,lv2) ("lilv" ,lilv) ;for lv2 ("suil" ,suil) ;for lv2 - ("portaudio" ,portaudio) ("portmidi" ,portmidi))) (native-inputs `(("autoconf" ,autoconf) @@ -745,52 +745,18 @@ engineers, musicians, soundtrack editors and composers.") ("which" ,which))) (arguments `(#:configure-flags - (let ((libid3tag (assoc-ref %build-inputs "libid3tag")) - (libmad (assoc-ref %build-inputs "libmad")) - (portmidi (assoc-ref %build-inputs "portmidi"))) - (list - ;; Loading FFmpeg dynamically is problematic. - "--disable-dynamic-loading" - ;; SSE instructions are available on Intel systems only. - ,@(if (any (cute string-prefix? <> (or (%current-target-system) - (%current-system))) - '("x86_64" "i686")) - '() - '("--enable-sse=no")) - ;; portmidi, libid3tag and libmad provide no .pc files, so - ;; pkg-config fails to find them. Force their inclusion. - (string-append "ID3TAG_CFLAGS=-I" libid3tag "/include") - (string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz") - (string-append "LIBMAD_CFLAGS=-I" libmad "/include") - (string-append "LIBMAD_LIBS=-L" libmad "/lib -lmad") - (string-append "PORTMIDI_CFLAGS=-I" portmidi "/include") - (string-append "PORTMIDI_LIBS=-L" portmidi "/lib -lportmidi") - "EXPAT_USE_SYSTEM=yes" - "FFMPEG_USE_SYSTEM=yes" - "LAME_USE_SYSTEM=yes" - "LIBFLAC_USE_SYSTEM=yes" - "LIBID3TAG_USE_SYSTEM=yes" - "LIBMAD_USE_SYSTEM=yes" - "USE_LOCAL_LIBNYQUIST=" ;not packaged yet - ;;"LIBSBSMS_USE_SYSTEM=yes" ;bundled version is patched - "LIBSNDFILE_USE_SYSTEM=yes" - "LIBSOUNDTOUCH_USE_SYSTEM=yes" - "LIBSOXR_USE_SYSTEM=yes" - "LIBTWOLAME_USE_SYSTEM=yes" - "LIBVAMP_USE_SYSTEM=yes" - "LIBVORBIS_USE_SYSTEM=yes" - "LV2_USE_SYSTEM=yes" - "PORTAUDIO_USE_SYSTEM=yes")) + (list + ;; Loading FFmpeg dynamically is problematic. + "-Daudacity_use_ffmpeg=linked" + "-Daudacity_use_lame=system" + "-Daudacity_use_portsmf=system") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-sbsms-check + (add-after 'unpack 'comment-out-revision-ident (lambda _ - ;; This check is wrong: there is no 2.2.0 release; not even the - ;; bundled sources match this release string. - (substitute* '("m4/audacity_checklib_libsbsms.m4" - "configure") - (("sbsms >= 2.2.0") "sbsms >= 2.0.0")) - #t)) + (substitute* "src/AboutDialog.cpp" + (("(.*RevisionIdent\\.h.*)" include-line) + (string-append "// " include-line))))) (add-after 'unpack 'use-upstream-headers (lambda* (#:key inputs #:allow-other-keys) (substitute* '("src/NoteTrack.cpp" @@ -800,12 +766,11 @@ engineers, musicians, soundtrack editors and composers.") (("../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h") (("../lib-src/portmidi/porttime/porttime.h") "porttime.h")) (substitute* "src/prefs/MidiIOPrefs.cpp" - (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h")) - #t))) - ;; The test suite is not "well exercised" according to the developers, - ;; and fails with various errors. See - ;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>. - #:tests? #f)) + (("../../lib-src/portmidi/pm_common/portmidi.h") "portmidi.h"))))) + ;; The test suite is not "well exercised" according to the developers, + ;; and fails with various errors. See + ;; <http://sourceforge.net/p/audacity/mailman/message/33524292/>. + #:tests? #f)) (home-page "https://www.audacityteam.org/") (synopsis "Software for recording and editing sounds") (description @@ -1942,8 +1907,15 @@ well suited to all musical instruments and vocals.") (list (string-append "PREFIX=" (assoc-ref %outputs "out")) (string-append "INSTDIR=" (assoc-ref %outputs "out") "/lib/lv2")) - #:phases (modify-phases %standard-phases - (delete 'configure)))) ; no configure script + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + ;; See https://github.com/tomszilagyi/ir.lv2/pull/20 + (add-after 'unpack 'fix-type + (lambda _ + (substitute* '("ir_gui.cc" "lv2_ui.h") + (("_LV2UI_Descriptor") "LV2UI_Descriptor")) + #t))))) (inputs `(("libsndfile" ,libsndfile) ("libsamplerate" ,libsamplerate) @@ -2667,14 +2639,14 @@ different audio devices such as ALSA or PulseAudio.") (define-public qjackctl (package (name "qjackctl") - (version "0.6.3") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x")))) + "1gaabf2ncd5xd846fjm3k5d0kzphlyc33k9pralc2j3r3g0cb5ji")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm index afa20945e7..e45bbb6b26 100644 --- a/gnu/packages/authentication.scm +++ b/gnu/packages/authentication.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -115,3 +115,28 @@ and the time-based @dfn{TOTP} algorithm (RFC6238).") (description "The Yubico PAM module provides an easy way to integrate the YubiKey into your existing user authentication infrastructure.") (license license:bsd-2)))) + +(define-public pamtester + (package + (name "pamtester") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/pamtester/pamtester/" + version "/pamtester-" version ".tar.gz")) + (sha256 + (base32 "1mdj1wj0adcnx354fs17928yn2xfr1hj5mfraq282dagi873sqw3")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("linux-pam" ,linux-pam))) + (home-page "http://pamtester.sourceforge.net/") + (synopsis "Utility for testing pluggable authentication modules (PAM) facility") + (description + "Pamtester is a tiny utility program to test the pluggable authentication +modules (PAM) facility, specifically designed to help PAM module authors to +intensively test their own modules.") + (license license:bsd-3))) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 892b92dc2f..64fc23bf4c 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -569,13 +569,13 @@ detection, and lossless compression.") (define-public borg (package (name "borg") - (version "1.1.14") + (version "1.1.15") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) (sha256 - (base32 "1fpdj73cgp96xwasdcifxl7q2pr1my2f4vfdjpv771llri3hgfvx")) + (base32 "1g62sdzcw3zx4ccky125ciwnzx6z9kwyvskvp7ijmqxqk3nrxjs9")) (modules '((guix build utils))) (snippet '(begin @@ -593,7 +593,8 @@ detection, and lossless compression.") "src/borg/platform/darwin.c" "src/borg/platform/freebsd.c" "src/borg/platform/linux.c" - "src/borg/platform/posix.c")) + "src/borg/platform/posix.c" + "src/borg/platform/syncfilerange.c")) ;; Remove bundled shared libraries. (with-directory-excursion "src/borg/algorithms" (for-each delete-file-recursively @@ -653,6 +654,7 @@ detection, and lossless compression.") "and not test_access_acl " "and not test_default_acl " "and not test_non_ascii_acl " + "and not test_create_stdin " ;; This test needs the unpackaged pytest-benchmark. "and not benchmark " ;; These tests assume the kernel supports FUSE. diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index ad9262d3a1..3470f3860b 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 malte Frank Gerdes <malte.f.gerdes@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020 Greg Hogan <code@greghogan.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -131,7 +132,7 @@ is to write a job file matching the I/O load one wants to simulate.") (if (string=? (package-name mpi) "openmpi") "" (string-append "-" (package-name mpi))))) - (version "2019.3") + (version "2019.6") (source (origin (method git-fetch) (uri (git-reference @@ -140,7 +141,16 @@ is to write a job file matching the I/O load one wants to simulate.") (file-name (git-file-name name version)) (sha256 (base32 - "0si5xi6ilhd3w0gbsg124589pvp094hvf366rvjjb9pi7pdk5p4i")))) + "02hxbk9g9nl59bk5qcfl3djj7b58vsqys340m1xdbyqwcrbnahh9")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Some source configuration files in the original tarball + ;; have inappropriate execute permissions, which interferes + ;; with the install phase below. + (for-each (lambda (file) (chmod file #o444)) + (find-files "WINDOWS" ".")) + #t)))) (build-system gnu-build-system) (inputs `(("mpi" ,mpi))) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 5d4b33ee4b..9ca574a151 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -898,7 +898,14 @@ to Novena upstream, does not load u-boot.img from the first partition.") (substitute-keyword-arguments (package-arguments base) ((#:phases phases) `(modify-phases ,phases - (add-after 'unpack 'set-environment + (add-after 'unpack 'patch-rockpro64-config + ;; Fix regression in 2020.10 causing freezes on boot with USB boot enabled. + ;; See https://gitlab.manjaro.org/manjaro-arm/packages/core/uboot-rockpro64/-/issues/4 + (lambda _ + (substitute* "configs/rockpro64-rk3399_defconfig" + (("CONFIG_USE_PREBOOT=y") "CONFIG_USE_PREBOOT=n")) + #t)) + (add-after 'patch-rockpro64-config 'set-environment (lambda* (#:key inputs #:allow-other-keys) (setenv "BL31" (string-append (assoc-ref inputs "firmware") "/bl31.elf")) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index 4281d3489e..10b8304eb6 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -49,7 +49,7 @@ supported content to the Kodi media center.") (make-chromium-extension play-to-kodi)) (define uassets - (let ((commit "a7e476412d875f8c1c341d219df5a11836afa8a0")) + (let ((commit "8e79f25fceb7c27960753de6f4d21491257741ab")) (origin (method git-fetch) (uri (git-reference @@ -58,12 +58,12 @@ supported content to the Kodi media center.") (file-name (git-file-name "uAssets" (string-take commit 9))) (sha256 (base32 - "0nhskrcq2g6y7b700ld0nikcx26k58aax67s29n10mfssys14njf"))))) + "19ymyv6qpmmyw4lnpx6adm6mzf8ygfj0c9ljw24wl239v9vzn46w"))))) (define ublock-origin (package (name "ublock-origin") - (version "1.31.2") + (version "1.32.4") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -71,7 +71,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "14iik3hxvkk1zhha3jbxpgcp7rrvl7si6gb13w693fkf3s6jsb3n")))) + "0v5phzsrav1z0gd7rirmsy7k500xhibw73ffk61754hkqd0l635v")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index b6ecd373cb..1300f9e1a6 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -442,7 +442,7 @@ format.") (define-public cppcheck (package (name "cppcheck") - (version "1.90") + (version "2.3") (source (origin (method git-fetch) (uri (git-reference @@ -450,7 +450,7 @@ format.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0h7ir2x0k005fm586dxmaphgv5cyz25k3k4sh02p7zb78gzx398h")))) + (base32 "03ic5mig3ryzkf85r95ryagf84s7y5nd6sqr915l3zj30apnifvz")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_TESTS=ON"))) @@ -511,7 +511,7 @@ and it supports a very flexible form of test discovery.") (define-public doctest (package (name "doctest") - (version "2.4.1") + (version "2.4.4") (home-page "https://github.com/onqtam/doctest") (source (origin (method git-fetch) @@ -519,7 +519,7 @@ and it supports a very flexible form of test discovery.") (file-name (git-file-name name version)) (sha256 (base32 - "17g7n6rjs90i0b231x5s934qnr8m80ga2yg1z344bnsdiqcjd63w")))) + "0xldd6cr1w3bn33rdb7yc6p57w143cgnjb48ig1b99iwvvkw599n")))) (build-system cmake-build-system) (synopsis "C++ test framework") (description diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 2f8d50451e..56b32792fe 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -297,7 +297,7 @@ and workspaces that can be used in the compiler environment of your choice.") (package (inherit cmake-minimal) (name "cmake") - (version "3.19.1") + (version "3.19.2") ;; TODO: Move the following source field to the cmake-bootstrap package in ;; the next rebuild cycle. (source (origin @@ -307,7 +307,7 @@ and workspaces that can be used in the compiler environment of your choice.") "/cmake-" version ".tar.gz")) (sha256 (base32 - "1fisi9rlijw9wd0yjzk1c6j7ljnb2yiq5iqnrz6m1xkflyinw9hx")) + "1w67w0ak6vf37501dlz9yhnzlvvpw1w10n2nm3hi7yxp4cxzvq73")) (snippet (match (origin-snippet (package-source cmake-bootstrap)) ((_ _ exp ...) diff --git a/gnu/packages/compton.scm b/gnu/packages/compton.scm index 940fc83143..60eae9f1cd 100644 --- a/gnu/packages/compton.scm +++ b/gnu/packages/compton.scm @@ -114,7 +114,7 @@ performance). (define-public picom (package (name "picom") - (version "7.5") + (version "8.2") (source (origin (method git-fetch) @@ -123,7 +123,7 @@ performance). (commit (string-append "v" version)))) (sha256 (base32 - "1l48fxl04vkzr4r94sl37nbbw7a621rn8sxmkbdv4252i1gjxd4z")) + "0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl")) (file-name (string-append "picom-" version)))) (build-system meson-build-system) (inputs diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 882170a8cb..00e006928e 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -376,7 +376,7 @@ intuitive syntax and trivial integration.") (define-public xtl (package (name "xtl") - (version "0.6.21") + (version "0.6.23") (source (origin (method git-fetch) (uri @@ -385,7 +385,7 @@ intuitive syntax and trivial integration.") (commit version))) (sha256 (base32 - "08xhyy9fm2ddkdrgb1qyd2bs371a2xr7xzar482pwphz27vr035w")) + "1kd9zl4h6nrsg29hq13vwp4zhfj8sa90vj40726lpw6vxz48k4di")) (file-name (git-file-name name version)))) (native-inputs `(("googletest" ,googletest) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9c6ee08f58..10212e2a68 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -24876,6 +24876,82 @@ censored data with competing risks (see data set @code{menopause}). The package also provides functions to visualize the observed data and the MLE.") (license license:gpl2+))) +(define-public r-metafor + (package + (name "r-metafor") + (version "2.4-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "metafor" version)) + (sha256 + (base32 + "1b599fxk7s0brkchmx698fr5k4g1kzkia2rnlvhg349ffs5nfjmn")))) + (properties `((upstream-name . "metafor"))) + (build-system r-build-system) + (propagated-inputs + `(("r-matrix" ,r-matrix) + ("r-nlme" ,r-nlme))) + (home-page "https://cran.r-project.org/web/packages/metafor/") + (synopsis "Meta-analysis package for R") + (description + "This package provides a comprehensive collection of functions for +conducting meta-analyses in R. The package includes functions to calculate +various effect sizes or outcome measures, fit fixed-, random-, and +mixed-effects models to such data, carry out moderator and meta-regression +analyses, and create various types of meta-analytical plots (e.g., forest, +funnel, radial, L'Abbe, Baujat, GOSH plots). For meta-analyses of binomial +and person-time data, the package also provides functions that implement +specialized methods, including the Mantel-Haenszel method, Peto's method, and +a variety of suitable generalized linear (mixed-effects) models (i.e. +mixed-effects logistic and Poisson regression models). Finally, the package +provides functionality for fitting meta-analytic multivariate/multilevel +models that account for non-independent sampling errors and/or true +effects (e.g. due to the inclusion of multiple treatment studies, multiple +endpoints, or other forms of clustering). Network meta-analyses and +meta-analyses accounting for known correlation structures (e.g. due to +phylogenetic relatedness) can also be conducted.") + (license license:gpl2+))) + +(define-public r-altmeta + (package + (name "r-altmeta") + (version "3.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "altmeta" version)) + (sha256 + (base32 + "0z252lbsknqp33i0b0xf5r7spr535iq47bv40vgip6nsqhgrl7b0")))) + (properties `((upstream-name . "altmeta"))) + (build-system r-build-system) + (propagated-inputs + `(("r-coda" ,r-coda) + ("r-lme4" ,r-lme4) + ("r-matrix" ,r-matrix) + ("r-metafor" ,r-metafor) + ("r-rjags" ,r-rjags))) + (home-page "https://cran.r-project.org/web/packages/altmeta/") + (synopsis "Alternative meta-analysis methods") + (description + "This package provides alternative statistical methods for meta-analysis, +including: + +@enumerate +@item bivariate generalized linear mixed models for synthesizing odds ratios, + relative risks, and risk differences +@item heterogeneity tests and measures that are robust to outliers; +@item measures, tests, and visualization tools for publication bias or + small-study effects; +@item meta-analysis of diagnostic tests for synthesizing sensitivities, + specificities, etc.; +@item meta-analysis methods for synthesizing proportions; +@item models for multivariate meta-analysis. +@end enumerate +") + (license license:gpl2+))) + (define-public r-perm (package (name "r-perm") @@ -25314,3 +25390,132 @@ use on EC2 instances, the package 'aws.ec2metadata' is suggested.") "This package provides a simple client package for the Amazon Web Services (AWS) Simple Storage Service (S3) REST API.") (license license:gpl2+))) + +(define-public r-lgr + (package + (name "r-lgr") + (version "0.4.1") + (source (origin + (method url-fetch) + (uri (cran-uri "lgr" version)) + (sha256 + (base32 + "196553hmni1ha9y6494f4g3ds0lwcl81v7k4r8wwap4a6acdrgd9")))) + (build-system r-build-system) + (propagated-inputs + `(("r-r6" ,r-r6))) + (home-page "https://s-fleck.github.io/lgr/") + (synopsis "Fully featured logging framework") + (description "This package offers a flexible, feature-rich yet +light-weight logging framework based on @code{R6} classes. It supports +hierarchical loggers, custom log levels, arbitrary data fields in log events, +logging to plaintext, JSON, (rotating) files, memory buffers, and databases, as +well as email and push notifications.") + (license license:expat))) + +(define-public r-mlr3measures + (package + (name "r-mlr3measures") + (version "0.3.0") + (source (origin + (method url-fetch) + (uri (cran-uri "mlr3measures" version)) + (sha256 + (base32 + "106lfaxphz0kh96ddq14hic7wvxjqp871zdp9kkkfk1kwfg35abw")))) + (build-system r-build-system) + (propagated-inputs + `(("r-checkmate" ,r-checkmate) + ("r-prroc" ,r-prroc))) + (home-page "https://mlr3measures.mlr-org.com/") + (synopsis "Performance measures for mlr3") + (description "This package implements multiple performance measures for +supervised learning. It includes over 40 measures for regression and +classification. Additionally, meta information about the performance measures +can be queried, e.g. what the best and worst possible performances scores +are.") + (license license:lgpl3))) + +(define-public r-mlr3misc + (package + (name "r-mlr3misc") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (cran-uri "mlr3misc" version)) + (sha256 + (base32 + "1q63i2059bf7cf61kwm0dqnk5vd60i0j4flziswwdk07fjxqh8xr")))) + (build-system r-build-system) + (propagated-inputs + `(("r-backports" ,r-backports) + ("r-checkmate" ,r-checkmate) + ("r-data-table" ,r-data-table) + ("r-r6" ,r-r6))) + (home-page "https://mlr3misc.mlr-org.com/") + (synopsis "Helper functions for mlr3") + (description "@code{mlr3misc} provides frequently used helper functions +and assertions used in @code{mlr3} and its companion packages. It comes with +helper functions for functional programming, for printing, to work with +@code{data.table}, as well as some generally useful @code{R6} classes. This +package also supersedes the package @code{BBmisc}.") + (license license:lgpl3))) + +(define-public r-paradox + (package + (name "r-paradox") + (version "0.6.0") + (source (origin + (method url-fetch) + (uri (cran-uri "paradox" version)) + (sha256 + (base32 + "1zv0q411wcwigkf4yggs3w2gz48lvv3jhnrddrv40qih8b70ywi3")))) + (build-system r-build-system) + (propagated-inputs + `(("r-backports" ,r-backports) + ("r-checkmate" ,r-checkmate) + ("r-data-table" ,r-data-table) + ("r-mlr3misc" ,r-mlr3misc) + ("r-r6" ,r-r6))) + (home-page "https://paradox.mlr-org.com/") + (synopsis "Define and work with parameter spaces for complex algorithms") + (description "With this package it is possible to define parameter spaces, +constraints and dependencies for arbitrary algorithms, and to program on such +spaces. It also includes statistical designs and random samplers. Objects are +implemented as @code{R6} classes.") + (license license:lgpl3))) + +(define-public r-mlr3 + (package + (name "r-mlr3") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (cran-uri "mlr3" version)) + (sha256 + (base32 + "0gg7rrzxwrnpg6sgm0aa6bmfwmqv3d3za0ghnqrnibg33p9ynpgb")))) + (build-system r-build-system) + (propagated-inputs + `(("r-r6" ,r-r6) + ("r-backports" ,r-backports) + ("r-checkmate" ,r-checkmate) + ("r-data-table" ,r-data-table) + ("r-digest" ,r-digest) + ("r-future-apply" ,r-future-apply) + ("r-lgr" ,r-lgr) + ("r-mlbench" ,r-mlbench) + ("r-mlr3measures" ,r-mlr3measures) + ("r-mlr3misc" ,r-mlr3misc) + ("r-paradox" ,r-paradox) + ("r-uuid" ,r-uuid))) + (home-page "https://mlr3.mlr-org.com/") + (synopsis "Machine Learning in R - Next Generation") + (description "@code{mlr3} enables efficient, object-oriented programming +on the building blocks of machine learning. It provides @code{R6} objects for +tasks, learners, resamplings, and measures. The package is geared towards +scalability and larger datasets by supporting parallelization and out-of-memory +data-backends like databases. While @code{mlr3} focuses on the core +computational operations, add-on packages provide additional functionality.") + (license license:lgpl3))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index f42816d47d..fc39bacc3c 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -3742,8 +3742,7 @@ archive to be linked into Rustcode.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds")))) + (base32 "1za0vb97n4brpzpv8lsbnzmq5r8f2b0cpqqr0sy8h5bn751xxwds")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -3751,14 +3750,15 @@ archive to be linked into Rustcode.") ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) (home-page "https://github.com/alexcrichton/cfg-if") (synopsis "Define an item depending on parameters") - (description "This package provides a macro to ergonomically define an -item depending on a large number of @code{#[cfg]} parameters. Structured like -an @code{if-else} chain, the first matching branch is the item that gets -emitted.") - (license (list license:asl2.0 license:expat)))) + (description + "This package provides a macro to ergonomically define an item depending +on a large number of @code{#[cfg]} parameters. Structured like an if-else +chain, the first matching branch is the item that gets emitted.") + (license (list license:expat license:asl2.0)))) (define-public rust-cfg-if-0.1 (package + (inherit rust-cfg-if-1) (name "rust-cfg-if") (version "0.1.10") (source @@ -3769,18 +3769,10 @@ emitted.") (sha256 (base32 "08h80ihs74jcyp24cd75wwabygbbdgl05k6p5dmq8akbr78vv1a7")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-compiler-builtins" ,rust-compiler-builtins-0.1) - ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))) - (home-page "https://github.com/alexcrichton/cfg-if") - (synopsis "Define an item depending on parameters") - (description "This package provides a macro to ergonomically define an item -depending on a large number of #[cfg] parameters. Structured like an -@code{if-else} chain, the first matching branch is the item that gets emitted.") - (license (list license:asl2.0 - license:expat)))) + ("rust-rustc-std-workspace-core" ,rust-rustc-std-workspace-core-1)))))) (define-public rust-chrono-0.4 (package @@ -3988,7 +3980,7 @@ depending on a large number of #[cfg] parameters. Structured like an (define-public rust-clap-2 (package (name "rust-clap") - (version "2.33.1") + (version "2.33.3") (source (origin (method url-fetch) @@ -3996,7 +3988,7 @@ depending on a large number of #[cfg] parameters. Structured like an (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0a91g4m6rcqpf6gzxh43cj6mnj9g8ahpr634baim6kcmgza81ymx")))) + "00i065a58987k1sbzqmlz721rw521zcg08jmsh40gi3khp3qmr9p")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -5909,7 +5901,7 @@ reallocations.") (("rust-bstr" ,rust-bstr-0.2) ("rust-csv-core" ,rust-csv-core-0.1) ("rust-itoa" ,rust-itoa-0.4) - ("rust-ryu" ,rust-ryu-1.0) + ("rust-ryu" ,rust-ryu-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-serde" ,rust-serde-1)))) @@ -5987,6 +5979,22 @@ reallocations.") Transparency logs for use with sct crate.") (license (list license:asl2.0 license:isc license:expat)))) +(define-public rust-ct-logs-0.6 + (package + (inherit rust-ct-logs-0.7) + (name "rust-ct-logs") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ct-logs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "04wiwiv4ghni3x2vni3z711mlz0ndqvh04vmdkbw3nr7zbsqcdjd")))) + (arguments + `(#:cargo-inputs + (("rust-sct" ,rust-sct-0.6)))))) + (define-public rust-ct-logs-0.3 (package (inherit rust-ct-logs-0.7) @@ -9779,7 +9787,7 @@ pseudorandom number generator") (define-public rust-futures-0.3 (package (name "rust-futures") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -9788,7 +9796,7 @@ pseudorandom number generator") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "11srrbc0hp7pgz142qjfx2z07kfhc98rbfwqyrgm4mxvxib61wdn")))) + "1l434mh7p5na5c3c7lih575hszqc515r9idk62fm5rhz1820qfwv")))) (build-system cargo-build-system) (arguments `(#:tests? #f @@ -9835,7 +9843,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (define-public rust-futures-channel-0.3 (package (name "rust-futures-channel") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -9844,7 +9852,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "11lvk749n61654ad40xn751gmxzwb697nwh36s5gs0ni2z59ibpw")))) + "0r7y228kkhwx9jj3ny5ppmw2gvw0capm6ig8dzppgqd4g9l0jwab")))) (build-system cargo-build-system) (arguments `(#:tests? #f @@ -9860,7 +9868,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (define-public rust-futures-channel-preview-0.3 (package (name "rust-futures-channel-preview") - (version "0.3.0-alpha.17") + (version "0.3.0-alpha.19") (source (origin (method url-fetch) @@ -9869,7 +9877,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1blgpikhw391lzrfqcgg4xsn5xc0dlybni77ka7f0vb08zaixir1")))) + "0fi6bi4lpyxjigy11y5sjg6wlc8nc71vbpmxz31c3aagjvgz9rfm")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -9885,7 +9893,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (define-public rust-futures-core-0.3 (package (name "rust-futures-core") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -9894,7 +9902,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0rh8q6pg08dizk5hwksvjgvkw26s3sr3b199nggv3ypyg914qmkr")))) + "0j0pixxv8dmqas1h5cgy92z4r9lpmnlis8ls22v17yrgnwqy2z44")))) (build-system cargo-build-system) (arguments '(#:tests? #f)) (home-page "https://rust-lang-nursery.github.io/futures-rs") @@ -9906,7 +9914,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (define-public rust-futures-core-preview-0.3 (package (name "rust-futures-core-preview") - (version "0.3.0-alpha.17") + (version "0.3.0-alpha.19") (source (origin (method url-fetch) @@ -9914,7 +9922,7 @@ featuring zero allocations, composability, and iterator-like interfaces.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1xaq8m609k6cz8xydwhwp8xxyxigabcw1w9ngycfy0bnkg7iq52b")))) + "02n66jkjhpy210dv24pz0j30lvyin5kzlrb50p1j7x8yzdin4nxk")))) (build-system cargo-build-system) (arguments '(#:tests? #f)) (home-page "https://rust-lang-nursery.github.io/futures-rs/") @@ -9952,7 +9960,7 @@ the computation on the threads themselves.") (define-public rust-futures-executor-0.3 (package (name "rust-futures-executor") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -9961,7 +9969,7 @@ the computation on the threads themselves.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0cf24wbgxqh4kdjbb557vk1axzmbpmwb8s05ga1nls1zaqv4f9qy")))) + "0r8ayj6g08d1i0hj2v6g5zr3hzlkxpqlkpf1awq0105qd0mjpajc")))) (build-system cargo-build-system) (arguments `(#:tests? #f @@ -9980,7 +9988,7 @@ the computation on the threads themselves.") (define-public rust-futures-executor-preview-0.3 (package (name "rust-futures-executor-preview") - (version "0.3.0-alpha.17") + (version "0.3.0-alpha.19") (source (origin (method url-fetch) @@ -9989,7 +9997,7 @@ the computation on the threads themselves.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "053g5kf2qa1xhdkwp3d1grrizzy4683mpbb3y0vvm00hwl7jdfl7")))) + "161yv7wwha60mdzj1id47kh8ylnhcnv7blgwidg8xs4zpn46w8vm")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -10010,7 +10018,7 @@ library.") (define-public rust-futures-io-0.3 (package (name "rust-futures-io") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -10019,7 +10027,7 @@ library.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zxm41fmkrb0r39ajk3rr9invcd5bdwlafazn8m9aw4y49ymfxp6")))) + "1frh7d0n96lczy22al3bkgwpq0p1agbgax5kqh9vv8da33738631")))) (build-system cargo-build-system) (home-page "https://rust-lang-nursery.github.io/futures-rs") (synopsis @@ -10032,7 +10040,7 @@ for the futures-rs library.") (define-public rust-futures-io-preview-0.3 (package (name "rust-futures-io-preview") - (version "0.3.0-alpha.17") + (version "0.3.0-alpha.19") (source (origin (method url-fetch) @@ -10040,7 +10048,7 @@ for the futures-rs library.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0fhvwhdb8ywjjbfng0ra1r8yyc9yzpyxg9sv3spb3f7w0lk40bh8")))) + "1npb04xbn2gw5rjllz88cb88fql44xxfkgcidjjj26fva3j4m4gl")))) (build-system cargo-build-system) (home-page "https://rust-lang-nursery.github.io/futures-rs/") (synopsis "Async read and write traits for the futures library") @@ -10049,10 +10057,35 @@ for the futures-rs library.") (license (list license:asl2.0 license:expat)))) +(define-public rust-futures-join-macro-preview-0.3 + (package + (name "rust-futures-join-macro-preview") + (version "0.3.0-alpha.19") + (source + (origin + (method url-fetch) + (uri (crate-uri "futures-join-macro-preview" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1smwaja466yjh5adlhgggfk9k942sy4702n46scxkrwcnkk61qjr")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://rust-lang-nursery.github.io/futures-rs") + (synopsis "Definition of the `join!` macro and the `try_join!` macro") + (description + "This package provides the definition of the @code{join!} macro and the +@code{try_join!} macro.") + (license (list license:expat license:asl2.0)))) + (define-public rust-futures-macro-0.3 (package (name "rust-futures-macro") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -10061,7 +10094,7 @@ for the futures-rs library.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0r3px32wgqfbmfyb1lrj9wplvjris5magdyhfr7xnyjk2mncbrsj")))) + "0mjmb46zapb59iilsbljpj7l0hq6w19df0f03p3br5qz5xlqlh3p")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -10108,7 +10141,7 @@ composability, and iterator-like interfaces.") (define-public rust-futures-select-macro-preview-0.3 (package (name "rust-futures-select-macro-preview") - (version "0.3.0-alpha.17") + (version "0.3.0-alpha.19") (source (origin (method url-fetch) @@ -10117,26 +10150,26 @@ composability, and iterator-like interfaces.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1a90ivjzkgz7msiz5si05xzi8xwsk5gar1gkrbmrgqpgkliqd7a6")))) + "1xsq55cf2rnf7k6r04q8wynmxiy9svm3pi840vjva47bc0sy8anz")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) - ("rust-proc-macro2" ,rust-proc-macro2-0.4) - ("rust-quote" ,rust-quote-0.6) - ("rust-syn" ,rust-syn-0.15)))) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) (home-page "https://github.com/rust-lang/futures-rs") (synopsis "Handle the first Future to complete") (description - "The @code{select!} macro for waiting on multiple different -@code{Future}s at once and handling the first one to complete.") + "This package provides the @code{select!} macro for waiting on multiple +different @code{Future}s at once and handling the first one to complete.") (license (list license:expat license:asl2.0)))) (define-public rust-futures-sink-0.3 (package (name "rust-futures-sink") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -10145,7 +10178,7 @@ composability, and iterator-like interfaces.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "05iwskzxq3yqvxv9l1kqnd7kkmp0dwc39fnvwrcjsg76z8zf66qp")))) + "0gfb1z97q861ki6lqsvpgfn3hnm9w3vkrf82dc00xrff95d1jy7q")))) (build-system cargo-build-system) (home-page "https://rust-lang-nursery.github.io/futures-rs") (synopsis "Asynchronous `Sink` trait for the futures-rs library") @@ -10156,7 +10189,7 @@ the futures-rs library.") (define-public rust-futures-sink-preview-0.3 (package (name "rust-futures-sink-preview") - (version "0.3.0-alpha.17") + (version "0.3.0-alpha.19") (source (origin (method url-fetch) @@ -10164,7 +10197,7 @@ the futures-rs library.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1r4d0gy73hdxkh5g1lrhl1kjnwp6mywjgcj70v0z78b921da42a3")))) + "1v7y5qvgvl0d6hd9s4k7bd5qrj2gdlrs5yfl22v5pxv9dgpliwc6")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -10180,7 +10213,7 @@ futures-rs library.") (define-public rust-futures-task-0.3 (package (name "rust-futures-task") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -10189,9 +10222,11 @@ futures-rs library.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1yg5d7b3z58mhqbrax5a0qdsfvzfclwyqvw5k3i41x4wnbb55bhb")))) + "03ad39v8scy353src2f9dkkvcs24n736iavi8xn45cj8pyslwmbw")))) (build-system cargo-build-system) - (arguments '(#:tests? #f)) + (arguments + `(#:tests? #f + #:cargo-inputs (("rust-once-cell" ,rust-once-cell-1)))) (home-page "https://rust-lang-nursery.github.io/futures-rs") (synopsis "Tools for working with tasks") (description "Tools for working with tasks.") @@ -10247,7 +10282,7 @@ components built off futures-rs.") (define-public rust-futures-util-0.3 (package (name "rust-futures-util") - (version "0.3.1") + (version "0.3.8") (source (origin (method url-fetch) @@ -10256,10 +10291,11 @@ components built off futures-rs.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0xlyqdn6lnpkw27lwxczihx91h64gbdd31n8c8y5v63nzds65mn0")))) + "1lnbhpyrypn9giw6122af0pffxfijfz3zm7phrwzp75rlzscy16k")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:tests? #false + #:cargo-inputs (("rust-futures" ,rust-futures-0.1) ("rust-futures-channel" ,rust-futures-channel-0.3) ("rust-futures-core" ,rust-futures-core-0.3) @@ -10268,6 +10304,7 @@ components built off futures-rs.") ("rust-futures-sink" ,rust-futures-sink-0.3) ("rust-futures-task" ,rust-futures-task-0.3) ("rust-memchr" ,rust-memchr-2) + ("rust-pin-project" ,rust-pin-project-1) ("rust-pin-utils" ,rust-pin-utils-0.1) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1) @@ -10282,7 +10319,7 @@ for the futures-rs library.") (define-public rust-futures-util-preview-0.3 (package (name "rust-futures-util-preview") - (version "0.3.0-alpha.17") + (version "0.3.0-alpha.19") (source (origin (method url-fetch) @@ -10291,7 +10328,7 @@ for the futures-rs library.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0kizm86wgr5qldyavskfi0r1msg6m4x2pkj0d4r04br2ig29i0dg")))) + "138f8wy0vqy2gsgk28kldbqnrdcgwfv9f9xx6rwzkr8p7iinisaw")))) (build-system cargo-build-system) (arguments `(#:tests? #f @@ -10307,15 +10344,16 @@ for the futures-rs library.") ("rust-pin-utils" ,rust-pin-utils-0.1) ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5) ("rust-proc-macro-nested" ,rust-proc-macro-nested-0.1) - ("rust-rand" ,rust-rand-0.7) ("rust-slab" ,rust-slab-0.4) - ("rust-tokio-io" ,rust-tokio-io-0.1)))) + ("rust-tokio-io" ,rust-tokio-io-0.1)) + #:cargo-development-inputs + (("rust-futures-join-macro-preview" + ,rust-futures-join-macro-preview-0.3)))) (home-page "https://github.com/rust-lang/futures-rs") - (synopsis - "Utilities and extension traits for futures-rs library") + (synopsis "Utilities and extension traits for futures-rs library") (description - "Common utilities and extension traits for the futures-rs -library.") + "This package provides common utilities and extension traits for the +futures-rs library.") (license (list license:expat license:asl2.0)))) (define-public rust-fxhash-0.2 @@ -13663,7 +13701,7 @@ primitives to an @code{io::Write}.") (define-public rust-js-sys-0.3 (package (name "rust-js-sys") - (version "0.3.37") + (version "0.3.46") (source (origin (method url-fetch) @@ -13672,7 +13710,7 @@ primitives to an @code{io::Write}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0mbhpbw3zjjl51m24qx3ilq4y8xipm5sfa5hsavaabqs6wsx89va")))) + "0xc1llkp23q8ac2wdwh46y6gjbc34prrd98g5my9qz4zja1p6gfg")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -14104,7 +14142,7 @@ requires non-const function calls to be computed.") ("rust-bitflags" ,rust-bitflags-1) ("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-dtoa" ,rust-dtoa-0.4) - ("rust-ryu" ,rust-ryu-1.0) + ("rust-ryu" ,rust-ryu-1) ("rust-static-assertions" ,rust-static-assertions-1)) #:cargo-development-inputs (("rust-approx" ,rust-approx-0.3) @@ -14137,7 +14175,7 @@ requires non-const function calls to be computed.") #:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) ("rust-dtoa" ,rust-dtoa-0.4) - ("rust-ryu" ,rust-ryu-1.0) + ("rust-ryu" ,rust-ryu-1) ("rust-stackvector" ,rust-stackvector-1.0) ("rust-static-assertions" ,rust-static-assertions-0.3)) #:cargo-development-inputs @@ -14149,7 +14187,7 @@ requires non-const function calls to be computed.") (define-public rust-libc-0.2 (package (name "rust-libc") - (version "0.2.79") + (version "0.2.81") (source (origin (method url-fetch) @@ -14157,7 +14195,7 @@ requires non-const function calls to be computed.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0hw7qnlymw5gi5c3xd7mirpgrc5l0pvqpjg9jb3vzqw0dq3gcj14")))) + "1jsk82v5snd286ba92lir5snrxl18qm3kjkagz8c97hn0q9q50hl")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -15151,7 +15189,7 @@ by inspecting the system for user preference.") (define-public rust-log-0.4 (package (name "rust-log") - (version "0.4.8") + (version "0.4.11") (source (origin (method url-fetch) @@ -15159,13 +15197,13 @@ by inspecting the system for user preference.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "1xz18ixccl5c6np4linv3ypc7hpmmgpc5zzd2ymp2ssfx0mhbdhl")))) + "12xzqaflpiljn5cmxsbnbv9sjaj13ykhwsvll0gysbx4blbyvasg")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-0.1) - ("rust-serde" ,rust-serde-1)) + ("rust-serde" ,rust-serde-1) + ("rust-sval" ,rust-sval-0.5)) #:cargo-development-inputs (("rust-serde-test" ,rust-serde-test-1)))) (home-page "https://github.com/rust-lang/log") @@ -20370,7 +20408,7 @@ function data structures.") (define-public rust-pin-utils-0.1 (package (name "rust-pin-utils") - (version "0.1.0-alpha.4") + (version "0.1.0") (source (origin (method url-fetch) @@ -20378,7 +20416,7 @@ function data structures.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "11xmyx00n4m37d546by2rxb8ryxs12v55cc172i3yak1rqccd52q")))) + "117ir7vslsl2z1a7qzhws4pd01cg2d3338c47swjyvqv2n60v1wb")))) (build-system cargo-build-system) (home-page "https://github.com/rust-lang-nursery/pin-utils") (synopsis "Utilities for pinning") @@ -20386,8 +20424,36 @@ function data structures.") (license (list license:asl2.0 license:expat)))) +(define-public rust-pin-project-1 + (package + (name "rust-pin-project") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "pin-project" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19qw2nm2kk38v9j16nsm8j3fkh0g8pjq0k4cplx7i2f4q8vj5k4w")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-pin-project-internal" ,rust-pin-project-internal-1)) + #:cargo-development-inputs + (("rust-pin-project-auxiliary-macro" + ,rust-pin-project-auxiliary-macro-0.0) + ("rust-rustversion" ,rust-rustversion-1) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/taiki-e/pin-project") + (synopsis "Crate for safe and ergonomic pin-projection") + (description + "This package provides a crate for safe and ergonomic pin-projection.") + (license (list license:asl2.0 license:expat)))) + (define-public rust-pin-project-0.4 (package + (inherit rust-pin-project-1) (name "rust-pin-project") (version "0.4.22") (source @@ -20397,18 +20463,57 @@ function data structures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "05wwxy46j9z27ibbiisjqk0rivf0z00h4al1f92mwjp9pz6sdqqj")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; XXX: Fix-me. #:cargo-inputs - (("rust-pin-project-internal" ,rust-pin-project-internal-0.4)))) - (home-page "https://crates.io/crates/pin-project") - (synopsis "A crate for safe and ergonomic pin-projection") - (description "A crate for safe and ergonomic pin-projection.") + (("rust-pin-project-internal" ,rust-pin-project-internal-0.4)))))) + +(define-public rust-pin-project-auxiliary-macro-0.0 + (package + (name "rust-pin-project-auxiliary-macro") + (version "0.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pin-project-auxiliary-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1fk48gab989xxmw466yp4mvqwfkkx9ckqzmjlfyk2hnzavqwvkxj")))) + (build-system cargo-build-system) + (home-page "https://github.com/taiki-e/pin-project") + (synopsis "Internal test tool of the pin-project crate") + (description + "This package is an internal test tool of the @code{pin-project} crate.") + (license (list license:asl2.0 license:expat)))) + +(define-public rust-pin-project-internal-1 + (package + (name "rust-pin-project-internal") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "pin-project-internal" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0pwy3m32scf3ypjb9ai151lmaa27vyj06lc64i28l0r31fzx5s7q")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #false + #:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/taiki-e/pin-project") + (synopsis "Implementation detail of the @code{pin-project} crate") + (description + "This package is an implementation detail of the @code{pin-project} +crate.") (license (list license:asl2.0 license:expat)))) (define-public rust-pin-project-internal-0.4 (package + (inherit rust-pin-project-internal-1) (name "rust-pin-project-internal") (version "0.4.22") (source @@ -20418,41 +20523,54 @@ function data structures.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1xxac6f3ip45zqbfcmmk748ywjw9sbavz1fcswvqgn3rrx2zs3va")))) - (build-system cargo-build-system) (arguments `(#:tests? #f ; XXX: Fix-me. #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://crates.io/crates/pin-project-internal") - (synopsis "An internal crate to support pin_project") - (description "An internal crate to support pin_project") - (license (list license:asl2.0 license:expat)))) + ("rust-syn" ,rust-syn-1)))))) -(define-public rust-pin-project-lite-0.1 +(define-public rust-pin-project-lite-0.2 (package (name "rust-pin-project-lite") - (version "0.1.4") + (version "0.2.0") (source (origin (method url-fetch) (uri (crate-uri "pin-project-lite" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1bljczwz9yyb6jskjhbkilcbdg7v1mhfwzp2mxknzf7v1isl8y13")))) + (base32 "070klqy200alrhxb79fxarrrrn0vbwg95dmqw9062vhqxibky1kb")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs (("rust-rustversion" ,rust-rustversion-1) + ("rust-static-assertions" ,rust-static-assertions-1) ("rust-trybuild" ,rust-trybuild-1)))) (home-page "https://github.com/taiki-e/pin-project-lite") - (synopsis "Lightweight version of pin-project written with declarative -macros") + (synopsis "Lightweight version of pin-project") (description "This package provides a lightweight version of pin-project written with declarative macros.") (license (list license:asl2.0 license:expat)))) +(define-public rust-pin-project-lite-0.1 + (package + (inherit rust-pin-project-lite-0.2) + (name "rust-pin-project-lite") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "pin-project-lite" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0srgdb3vkx7ppcww1qr7a67c7n84y01lq35j9g44z4h1z8x145y9")))) + (arguments + `(#:cargo-development-inputs + (("rust-rustversion" ,rust-rustversion-1) + ("rust-static-assertions" ,rust-static-assertions-1) + ("rust-trybuild" ,rust-trybuild-1)))))) + (define-public rust-pkg-config-0.3 (package (name "rust-pkg-config") @@ -21220,7 +21338,7 @@ in your code.") (define-public rust-proc-macro-hack-0.5 (package (name "rust-proc-macro-hack") - (version "0.5.16") + (version "0.5.19") (source (origin (method url-fetch) @@ -21229,7 +21347,7 @@ in your code.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1r657v7d9vh1ivrvq65rvg9gjb29dpa0l3zg2fgrn5j8znz5c13y")))) + "1rg0kzsj7lj00qj602d3h77spwfz48vixn1wbjp7a4yrq65w9w6v")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs @@ -23287,7 +23405,7 @@ functionality.") (define-public rust-regex-1 (package (name "rust-regex") - (version "1.3.9") + (version "1.4.2") (source (origin (method url-fetch) @@ -23295,8 +23413,7 @@ functionality.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1rnqga94ypykl2apgj26l2j1s9bvr2ix4dlzs323n6abyky80dww")))) + (base32 "172bw2yryv65whn3n5vkww4kgk0bq08lx0zbln8xwia7xl9jrkrq")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -23311,7 +23428,7 @@ functionality.") (home-page "https://github.com/rust-lang/regex") (synopsis "Regular expressions for Rust") (description - "An implementation of regular expressions for Rust. This implementation + "This package is an implementation of regular expressions for Rust. It uses finite automata and guarantees linear time matching on all inputs.") (license (list license:expat license:asl2.0)))) @@ -23409,15 +23526,14 @@ 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.18") + (version "0.6.21") (source - (origin - (method url-fetch) - (uri (crate-uri "regex-syntax" version)) - (file-name (string-append name "-" version ".crate")) - (sha256 - (base32 - "1s648w7rwpxnq9iqwbyy43ar4al07906jpz0jxlql23bgjwjwh96")))) + (origin + (method url-fetch) + (uri (crate-uri "regex-syntax" version)) + (file-name (string-append name "-" version ".crate")) + (sha256 + (base32 "12d176jkgw9749g07zjxz0n78nyvb2nqx3j4sp5aqyphvji1n61v")))) (build-system cargo-build-system) (home-page "https://github.com/rust-lang/regex") (synopsis "Regular expression parser") @@ -23565,7 +23681,7 @@ uses finite automata and guarantees linear time matching on all inputs.") (define-public rust-reqwest-0.10 (package (name "rust-reqwest") - (version "0.10.8") + (version "0.10.10") (source (origin (method url-fetch) @@ -23573,12 +23689,19 @@ uses finite automata and guarantees linear time matching on all inputs.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "07nnj0qzj8g64iagx7xzk02493yqdahqy49xa2vkif6pqmxa3sp9")))) + "0z7l46m1mjnvncscaq61zq6qmazrmb33vwjcnfrxpi0liqdgh607")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:cargo-test-flags '("--release" "--" + ;; These tests require internet access. + "--skip=test_badssl_modern" + "--skip=test_badssl_self_signed" + ;; XXX: Not sure why these fail. + "--skip=test_allowed_methods" + "--skip=connect_timeout") + #:cargo-inputs (("rust-async-compression" ,rust-async-compression-0.3) - ("rust-base64" ,rust-base64-0.12) + ("rust-base64" ,rust-base64-0.13) ("rust-bytes" ,rust-bytes-0.5) ("rust-cookie" ,rust-cookie-0.14) ("rust-cookie-store" ,rust-cookie-store-0.12) @@ -23598,22 +23721,23 @@ uses finite automata and guarantees linear time matching on all inputs.") ("rust-mime-guess" ,rust-mime-guess-2) ("rust-native-tls" ,rust-native-tls-0.2) ("rust-percent-encoding" ,rust-percent-encoding-2) - ("rust-pin-project-lite" ,rust-pin-project-lite-0.1) + ("rust-pin-project-lite" ,rust-pin-project-lite-0.2) ("rust-rustls" ,rust-rustls-0.18) + ("rust-rustls-native-certs" ,rust-rustls-native-certs-0.4) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.6) + ("rust-serde-urlencoded" ,rust-serde-urlencoded-0.7) ("rust-time" ,rust-time-0.2) ("rust-tokio" ,rust-tokio-0.2) ("rust-tokio-rustls" ,rust-tokio-rustls-0.14) - ("rust-tokio-socks" ,rust-tokio-socks-0.2) + ("rust-tokio-socks" ,rust-tokio-socks-0.3) ("rust-tokio-tls" ,rust-tokio-tls-0.3) ("rust-trust-dns-resolver" ,rust-trust-dns-resolver-0.19) ("rust-url" ,rust-url-2) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-wasm-bindgen-futures" ,rust-wasm-bindgen-futures-0.4) ("rust-web-sys" ,rust-web-sys-0.3) - ("rust-webpki-roots" ,rust-webpki-roots-0.19) + ("rust-webpki-roots" ,rust-webpki-roots-0.20) ("rust-winreg" ,rust-winreg-0.7)) #:cargo-development-inputs (("rust-brotli" ,rust-brotli-3) @@ -23622,7 +23746,12 @@ uses finite automata and guarantees linear time matching on all inputs.") ("rust-hyper" ,rust-hyper-0.13) ("rust-libflate" ,rust-libflate-1) ("rust-serde" ,rust-serde-1) - ("rust-tokio" ,rust-tokio-0.2)))) + ("rust-tokio" ,rust-tokio-0.2) + ("rust-wasm-bindgen-test" ,rust-wasm-bindgen-test-0.3)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("openssl" ,openssl))) (home-page "https://github.com/seanmonstar/reqwest") (synopsis "High level HTTP client library") (description "This package provides a high level HTTP client library.") @@ -25281,7 +25410,7 @@ rustc compiler version.") using a fork-like interface.") (license (list license:asl2.0 license:expat)))) -(define-public rust-ryu-1.0 +(define-public rust-ryu-1 (package (name "rust-ryu") (version "1.0.3") @@ -26678,7 +26807,7 @@ for the serde framework.") `(#:cargo-inputs (("rust-indexmap" ,rust-indexmap-1) ("rust-itoa" ,rust-itoa-0.4) - ("rust-ryu" ,rust-ryu-1.0) + ("rust-ryu" ,rust-ryu-1) ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-automod" ,rust-automod-1) @@ -26855,8 +26984,34 @@ by dynamically growing the stack.") ((", path = \"../serde\"") "")) #t))))))) +(define-public rust-serde-urlencoded-0.7 + (package + (name "rust-serde-urlencoded") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_urlencoded" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1s9wnjrak5a0igfhcghhz51kvi7n010j5rs9lmhd5hfrz2kmgypd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-form-urlencoded" ,rust-form-urlencoded-1) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-ryu" ,rust-ryu-1) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/nox/serde_urlencoded") + (synopsis "`x-www-form-urlencoded` meets Serde") + (description + "This crate is a Rust library for serialising to and deserialising from +the application/x-www-form-urlencoded format.") + (license (list license:expat license:asl2.0)))) + (define-public rust-serde-urlencoded-0.6 (package + (inherit rust-serde-urlencoded-0.7) (name "rust-serde-urlencoded") (version "0.6.1") (source @@ -26875,11 +27030,28 @@ by dynamically growing the stack.") ("rust-serde" ,rust-serde-1) ("rust-url" ,rust-url-2)) #:cargo-development-inputs - (("rust-serde-derive" ,rust-serde-derive-1)))) - (home-page "https://github.com/nox/serde_urlencoded") - (synopsis "x-www-form-urlencoded meets serde") - (description "x-www-form-urlencoded meets serde.") - (license (list license:expat license:asl2.0)))) + (("rust-serde-derive" ,rust-serde-derive-1)))))) + +(define-public rust-serde-urlencoded-0.5 + (package + (inherit rust-serde-urlencoded-0.6) + (name "rust-serde-urlencoded") + (version "0.5.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "serde_urlencoded" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0nhnzllx5xrij4x17g351n14md691r95mxr7sbpz4sl80n8xcbb4")))) + (arguments + `(#:cargo-inputs + (("rust-dtoa" ,rust-dtoa-0.4) + ("rust-itoa" ,rust-itoa-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-url" ,rust-url-1)) + #:cargo-development-inputs + (("rust-serde-derive" ,rust-serde-derive-1)))))) (define-public rust-serde-yaml-0.8 (package @@ -27266,7 +27438,7 @@ functionality and without weak references.") (define-public rust-sha2-0.9 (package (name "rust-sha2") - (version "0.9.1") + (version "0.9.2") (source (origin (method url-fetch) @@ -27275,12 +27447,12 @@ functionality and without weak references.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1hdqrx2d9073hgf34y6ilgw6ni5vv3d5nmccyhkfm9zdvy6kfcr9")))) + "1a225akwq8k1ym827f8f72rfgxaf7zdnnq07qpcblj91zs3anykf")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-block-buffer" ,rust-block-buffer-0.9) - ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-cfg-if" ,rust-cfg-if-1) ("rust-cpuid-bool" ,rust-cpuid-bool-0.1) ("rust-digest" ,rust-digest-0.9) ("rust-libc" ,rust-libc-0.2) @@ -29051,8 +29223,34 @@ cryptographic implementations.") (base32 "1vm80mxbwfj334izwm8x8l65v1xl9hr0kwrg36r1rq565fkaarrd")))))) +(define-public rust-sval-0.5 + (package + (name "rust-sval") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "sval" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "052j9ipwpb1zh02gw2ys8c4wpjqdf35991k0zkwljnalx37i79qj")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-serde" ,rust-serde-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-sval-derive" ,rust-sval-derive-0.5)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.9)))) + (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-0.4 (package + (inherit rust-sval-0.5) (name "rust-sval") (version "0.4.7") (source @@ -29064,21 +29262,38 @@ cryptographic implementations.") (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)))) + ("rust-serde" ,rust-serde-1)))))) + +(define-public rust-sval-derive-0.5 + (package + (name "rust-sval-derive") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "sval_derive" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1spip2cjhmjazq2dns69909p9hyx4cmbx6ma4g2skwvcwv4h3gnq")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) (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.") + (synopsis "Custom derive for @code{sval}") + (description "This package provides custom derive for @code{sval}.") (license (list license:asl2.0 license:expat)))) (define-public rust-sval-derive-0.4 (package + (inherit rust-sval-derive-0.5) (name "rust-sval-derive") (version "0.4.7") (source @@ -29090,17 +29305,12 @@ cryptographic implementations.") (sha256 (base32 "07s7jqsdczsg0wnydfnxyrsj8zyrjmiwl4is1dfgn8dfvyi8n2bj")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-syn" ,rust-syn-1) - ("rust-quote" ,rust-quote-1)))) - (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)))) + ("rust-quote" ,rust-quote-1)))))) (define-public rust-swc-1 (package @@ -31619,21 +31829,21 @@ using Rustls.") futures.") (license license:expat))) -(define-public rust-tokio-socks-0.2 +(define-public rust-tokio-socks-0.3 (package (name "rust-tokio-socks") - (version "0.2.2") + (version "0.3.0") (source (origin (method url-fetch) (uri (crate-uri "tokio-socks" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "1bwdjafbbs0907w42dl899inykflz4gbm026wh097q151s57i5qr")))) + (base32 "0f95zcvllb5byz4acwbnlsk9a2rdql4x78x0a8nkfwhq4ifzs4fn")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:tests? #false ;"tor_resolve_with_socket" not found + #:cargo-inputs (("rust-bytes" ,rust-bytes-0.4) ("rust-either" ,rust-either-1) ("rust-futures" ,rust-futures-0.3) @@ -31645,10 +31855,36 @@ futures.") ("rust-tokio" ,rust-tokio-0.2)))) (home-page "https://github.com/sticnarf/tokio-socks") (synopsis "Asynchronous SOCKS proxy support for Rust") - (description "This package provides asynchronous SOCKS proxy support for + (description + "This package provides asynchronous SOCKS proxy support for Rust.") (license license:expat))) +(define-public rust-tokio-socks-0.2 + (package + (inherit rust-tokio-socks-0.3) + (name "rust-tokio-socks") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "tokio-socks" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bwdjafbbs0907w42dl899inykflz4gbm026wh097q151s57i5qr")))) + (arguments + `(#:cargo-inputs + (("rust-bytes" ,rust-bytes-0.4) + ("rust-either" ,rust-either-1) + ("rust-futures" ,rust-futures-0.3) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-tokio" ,rust-tokio-0.2)) + #:cargo-development-inputs + (("rust-hyper" ,rust-hyper-0.13) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-tokio" ,rust-tokio-0.2)))))) + (define-public rust-tokio-sync-0.2 (package (name "rust-tokio-sync") @@ -32517,6 +32753,10 @@ extension for the Trust-DNS client to use native-tls for TLS.") #:cargo-development-inputs (("rust-openssl" ,rust-openssl-0.10) ("rust-tokio" ,rust-tokio-0.2)))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("openssl" ,openssl))) (home-page "http://www.trust-dns.org/index.html") (synopsis "tokio-openssl extension for the Trust-DNS client") (description "Trust-DNS is a safe and secure DNS library. This is an @@ -32856,6 +33096,26 @@ extension for the Trust-DNS client to use rustls for TLS.") deserialization.") (license (list license:expat license:asl2.0)))) +(define-public rust-typed-headers-0.1 + (package + (inherit rust-typed-headers-0.2) + (name "rust-typed-headers") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "typed-headers" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0g40nlq5iw0zxhwb7nfmfbr9m86abgwwhxwhzrm10nfq6bsmlvxx")))) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.10) + ("rust-bytes" ,rust-bytes-0.4) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-http" ,rust-http-0.1) + ("rust-mime" ,rust-mime-0.3)))))) + (define-public rust-typemap-0.3 (package (name "rust-typemap") @@ -34221,7 +34481,7 @@ in Rust.") (define-public rust-wasm-bindgen-0.2 (package (name "rust-wasm-bindgen") - (version "0.2.60") + (version "0.2.69") (source (origin (method url-fetch) @@ -34230,11 +34490,11 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0zx42zryw03w3maz8p65gr5bhhybr2sdzgcck5p3gy47abh7ri9c")))) + "0vkkpz290k6pphmrgkayzdvk1dinxrp6c5zvr9l0zjlm2dsn9lrw")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) + (("rust-cfg-if" ,rust-cfg-if-1) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-wasm-bindgen-macro" ,rust-wasm-bindgen-macro-0.2)) @@ -34256,7 +34516,7 @@ in Rust.") (define-public rust-wasm-bindgen-backend-0.2 (package (name "rust-wasm-bindgen-backend") - (version "0.2.60") + (version "0.2.69") (source (origin (method url-fetch) @@ -34265,7 +34525,7 @@ in Rust.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1k9p8a7ng6nqan0m9555wj936lm2s1qz0fnafclwlv61yrxx6ryr")))) + "0qidxjmcn50v2i5hjz7al69sa3mbq0lbi276amdnw47ln6dgh50i")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -34311,7 +34571,7 @@ wasm-bindgen.") (define-public rust-wasm-bindgen-futures-0.4 (package (name "rust-wasm-bindgen-futures") - (version "0.4.8") + (version "0.4.19") (source (origin (method url-fetch) @@ -34320,12 +34580,11 @@ wasm-bindgen.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1n9ma4kinr4w6r2sh4wm04my6p14k1vx3a4vdbn0vd187sgd9gcb")))) + "0d8fg2k4a4xyv28japgld7qzy2zyrnvh582pjkp88id8hmh7bs8z")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-cfg-if" ,rust-cfg-if-0.1) + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) ("rust-js-sys" ,rust-js-sys-0.3) ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) ("rust-web-sys" ,rust-web-sys-0.3)) @@ -34368,7 +34627,7 @@ wasm-bindgen.") (define-public rust-wasm-bindgen-macro-0.2 (package (name "rust-wasm-bindgen-macro") - (version "0.2.60") + (version "0.2.69") (source (origin (method url-fetch) @@ -34377,7 +34636,7 @@ wasm-bindgen.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1973xr0vr2aj85fkp3smk61z5ki7c4fhxlicfjxq3a0y7sv53lcb")))) + "113hyzn0dpqasznzcwgmqw03i5yhjkqna7paim50h7xdbscwhsks")))) (build-system cargo-build-system) (arguments `(#:tests? #f ; 'Async blocks are unstable' @@ -34399,7 +34658,7 @@ dependency.") (define-public rust-wasm-bindgen-macro-support-0.2 (package (name "rust-wasm-bindgen-macro-support") - (version "0.2.60") + (version "0.2.69") (source (origin (method url-fetch) @@ -34408,7 +34667,7 @@ dependency.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ca9bb9hnyzcmjww83x8asb76drf55ijhqv8yrl7igpixqv5p2nn")))) + "0jbmgj8zxflza1cl15k3r70fqsak4bkkfbn6qxbhbn4ry9r8r95m")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -34427,7 +34686,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.60") + (version "0.2.69") (source (origin (method url-fetch) @@ -34435,7 +34694,7 @@ attribute that is not in the shared backend crate.") (file-name (string-append name "-" version ".crate")) (sha256 (base32 - "0ffn4152w8n629f29lwjgj3adiyixvdbff3mld49gisssbknzxys")))) + "0n3ir6gq27np22l6m96y342a6fphk1pkbzbfqx6g364kgzfi2y3y")))) (build-system cargo-build-system) (home-page "https://rustwasm.github.io/wasm-bindgen/") (synopsis "Shared support between wasm-bindgen and wasm-bindgen cli") @@ -34447,7 +34706,7 @@ attribute that is not in the shared backend crate.") (define-public rust-wasm-bindgen-test-0.3 (package (name "rust-wasm-bindgen-test") - (version "0.3.8") + (version "0.3.19") (source (origin (method url-fetch) @@ -34456,11 +34715,10 @@ attribute that is not in the shared backend crate.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0bn833hghwbcg9cqz1bx9biq271bc4jcbgn2nqk1fkf4ab1hxzcq")))) + "09aas82c1i249bmzjwj9szk727nm4jzaidnwnq4jlycv3w6glm83")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-console-error-panic-hook" ,rust-console-error-panic-hook-0.1) ("rust-js-sys" ,rust-js-sys-0.3) ("rust-scoped-tls" ,rust-scoped-tls-1.0) @@ -34549,7 +34807,7 @@ attribute that is not in the shared backend crate.") (define-public rust-wasm-bindgen-test-macro-0.3 (package (name "rust-wasm-bindgen-test-macro") - (version "0.3.8") + (version "0.3.19") (source (origin (method url-fetch) @@ -34558,7 +34816,7 @@ attribute that is not in the shared backend crate.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0kybf3shpp8ysz4v4j259d7vad9kw5bs4i4dlfrs895bhdp7m0wp")))) + "12s3h3g1f81afv0rk8idgw2mylgh5q6a30wy5yxc4940p537pq17")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 1b51366d7e..399bc6440f 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -1028,10 +1028,10 @@ trivial to build for local use. Portability is emphasized over performance.") (license license:unlicense))) (define-public libsecp256k1 - (let ((commit "d644dda5c9dbdecee52d1aa259235510fdc2d4ee")) + (let ((commit "dbd41db16a0e91b2566820898a3ab2d7dad4fe00")) (package (name "libsecp256k1") - (version (git-version "20191213" "1" commit)) + (version (git-version "20200615" "1" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -1039,9 +1039,14 @@ trivial to build for local use. Portability is emphasized over performance.") (commit commit))) (sha256 (base32 - "0zmx32746khsm2cx0p3pdy3j2vkwmafvf7axiixijhgcg0xjv93i")) + "1fcpnksq5cqwqzshn5f0lq94b73p3frwbp04hgmmbnrndpqg6mpy")) (file-name (git-file-name name version)))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--enable-module-recovery" + "--enable-experimental" + "--enable-module-ecdh" + "--enable-shared"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 3bd2add8ca..6c1bb7b34d 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -516,14 +517,14 @@ mapping from string keys to string values.") (define-public memcached (package (name "memcached") - (version "1.5.20") + (version "1.6.9") (source (origin (method url-fetch) (uri (string-append "https://memcached.org/files/memcached-" version ".tar.gz")) (sha256 - (base32 "1r511qr95q0ywdaql3pdjiwzkfqxhhfzb13ilvl7mznfm4iv1myg")))) + (base32 "1lcjy1b9krnb2gk72qd1fvivlfiyfvknfi3wngyvyk9ifzijr9nm")))) (build-system gnu-build-system) (inputs `(("libevent" ,libevent) @@ -2129,19 +2130,43 @@ similar to BerkeleyDB, LevelDB, etc.") (define-public redis (package (name "redis") - (version "5.0.7") + (version "6.0.9") (source (origin (method url-fetch) (uri (string-append "http://download.redis.io/releases/redis-" version".tar.gz")) (sha256 (base32 - "0ax8sf3vw0yadr41kzc04917scrg5wir1d94zmbz00b8pzm79nv1")))) + "1pc6gyiylrcazlc559dp5mxqj733pk9qabnirw4ry3k23kwdqayw")) + (modules '((guix build utils))) + (snippet + ;; Delete bundled jemalloc, as the package will use the libc one + '(begin (delete-file-recursively "deps/jemalloc") + #t)))) (build-system gnu-build-system) + (native-inputs + `(("procps" ,procps) ; for tests + ("tcl" ,tcl))) ; for tests (arguments - '(#:tests? #f ; tests related to master/slave and replication fail - #:phases (modify-phases %standard-phases - (delete 'configure)) + '(#:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'use-correct-tclsh + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "runtest" + (("^TCLSH=.*") + (string-append "TCLSH=" + (assoc-ref inputs "tcl") + "/bin/tclsh"))) + #t)) + (add-after 'unpack 'adjust-tests + (lambda _ + ;; Disable failing tests + (substitute* "tests/test_helper.tcl" + ((" integration/replication[^-]") "") + ((" integration/replication-4") "") + ((" integration/replication-psync") "")) + #t))) #:make-flags `("CC=gcc" "MALLOC=libc" "LDFLAGS=-ldl" diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 8692a49c50..9d18d94996 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -39,7 +39,7 @@ (define-public radicale (package (name "radicale") - (version "3.0.4") + (version "3.0.6") (source (origin ;; There are no tests in the PyPI tarball. @@ -49,7 +49,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0hj9mmhrj32mzhxlnjcfijb7768cyjsn603nalp54clgb2gkmvw8")))) + (base32 "1xlsvrmx6jhi71j6j8z9sli5vwxasivzjyqf8zq8r0l5p7350clf")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 9bc3925128..ffdaf89215 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -304,15 +304,15 @@ translation engines from your terminal.") (define-public lttoolbox (package (name "lttoolbox") - (version "3.5.1") + (version "3.5.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/apertium/lttoolbox/releases/download/v" - version "/lttoolbox-" version ".tar.gz")) + version "/lttoolbox-" version ".tar.bz2")) (sha256 - (base32 "14yyrkzyqlsrii3v3ggg4dyvwlrcqcqc0aprphz5781a44jsrcwz")))) + (base32 "109l91ailish1a3vya5zmfg3kb67cwyzl36ndnh8f59chsbm6n2f")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 29f43a2d5f..c4f128d14a 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -692,7 +692,7 @@ passphrases.") (define-public ndctl (package (name "ndctl") - (version "70.1") + (version "71") (source (origin (method git-fetch) (uri (git-reference @@ -701,7 +701,7 @@ passphrases.") (file-name (git-file-name name version)) (sha256 (base32 - "09ymdibcr18vpmyf2n0xrnzgccfvr7iy3p2l5lbh7cgz7djyl5wq")))) + "14vhldncflxgsam49ssn1x3h4m9xxw9dwyl748xajf1js33ph5av")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 5ffa499dfe..5bb725ae92 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -603,14 +603,14 @@ to result in system-wide compromise.") (define-public unbound (package (name "unbound") - (version "1.10.1") + (version "1.13.0") (source (origin (method url-fetch) (uri (string-append "https://www.unbound.net/downloads/unbound-" version ".tar.gz")) (sha256 - (base32 "0dnmh9jjh2v274f0hl31bgv40pl77mmfgky8bkqr5kvi3b17fdmp")))) + (base32 "18dj7migq6379hps59793457l81s3z7dll3y0fj6qcmhjlx08m59")))) (build-system gnu-build-system) (outputs '("out" "python")) (native-inputs @@ -760,16 +760,16 @@ served by AS112. Stub and forward zones are supported.") (define-public yadifa (package (name "yadifa") - (version "2.4.0") + (version "2.4.1") (source - (let ((build "9809")) + (let ((build "9916")) (origin (method url-fetch) (uri (string-append "https://www.yadifa.eu/sites/default/files/releases/" "yadifa-" version "-" build ".tar.gz")) (sha256 - (base32 "114a1y4pzzzq0s9hyn65nd4fg19xijsqpfhsd0wkvjndsazg63ky"))))) + (base32 "1m1j7q1f0682xig8qign5ms52igix8pd45fds7p5j285dvrfa4xd"))))) (build-system gnu-build-system) (native-inputs `(("which" ,which))) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index f8d905fcfb..9f07922535 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -273,7 +273,7 @@ easy.") (define-public snap (package (name "snap") - (version "6.3.7") + (version "6.5.0") (source (origin (method git-fetch) @@ -282,7 +282,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0vdn59cr1v3qc81z9qaiwsfxfrg4ry80vxxl3wf4qi445s093qmf")))) + (base32 "0sqd4ddkfc7f7gx02wffvwbqgfbhpkcgyv7v5rh3gx60jca02p4w")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b98e36ca00..cb83dd71e4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -2068,14 +2068,14 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "12.3.1") + (version "13.0.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "auctex-" version ".tar")) (sha256 - (base32 "0kn48mmsvp1yp8fjcl4lriymhyskv5s70wscmf596xf56s7mqas4")))) + (base32 "10bk4h5d14ainx9jrqahdnbng399wpic6xzv1fkr43yr1l3g4y1v")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -2250,7 +2250,7 @@ Lock key.") (define-public emacs-chronometrist (package (name "emacs-chronometrist") - (version "0.5.5") + (version "0.5.6") (source (origin (method git-fetch) @@ -2259,7 +2259,7 @@ Lock key.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zccyfpgq68ixrcl8jq2r38165ngkqrb42y2hkyab6gxhvh4wkpl")))) + (base32 "0g54pxvid1hlynlnfx99sl027q2mr2f4axsvnf0vb3v48zm0n5cw")))) (build-system emacs-build-system) (arguments `(#:phases @@ -3008,6 +3008,28 @@ depicting stroke orders for all Kanji. The collection is a slightly modified and limited version of the images provided by the KanjiVG project.") (license license:gpl3+)))) +(define-public emacs-keycast + (package + (name "emacs-keycast") + (version "1.0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tarsius/keycast.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1g9arjdhdpvsw47ny9gi5k758ya37yza4mr0rhbf02yvrqyfsrgr")))) + (build-system emacs-build-system) + (home-page "https://github.com/tarsius/keycast") + (synopsis "Show current command and its key in the mode line") + (description + "This package provides Keycast mode. Once enabled, that mode shows the +current command and its key or mouse binding in the mode line, and updates +them whenever another command is invoked.") + (license license:gpl3+))) + (define-public emacs-keyfreq (package (name "emacs-keyfreq") @@ -4153,6 +4175,55 @@ boxes, and more.") been copied from an Emacs major mode.") (license license:gpl2+))) +(define-public emacs-org-fancy-priorities + (let ((commit "819bb993b71e7253cefef7047306ab4e0f9d0a86") + (revision "1")) + (package + (name "emacs-org-fancy-priorities") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/harrybournis/org-fancy-priorities.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13cyzlx0415i953prq6ch7r5iy23c1pz116bdxi5yqags4igh4wv")))) + (build-system emacs-build-system) + (home-page "https://github.com/harrybournis/org-fancy-priorities") + (synopsis "Display org priorities as custom strings") + (description + "This package provides a minor mode that displays Org priorities as +custom strings. This mode does not change your files in any way, it only +displays the priority part of a heading as your preferred string value.") + (license license:expat)))) + +(define-public emacs-org-fragtog + (package + (name "emacs-org-fragtog") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/io12/org-fragtog.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rzi67lb3mxqg3x6d8zx6rxncg7lw14agqwbh7zvgc2iins59j0f")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org" ,emacs-org))) + (home-page "https://github.com/io12/org-fragtog") + (synopsis "Toggle Org mode LaTeX fragments preview at cursor") + (description + "Org mode supports inline image previews of LaTeX fragments. This +package automates this, so fragment previews are disabled for editing when +your cursor steps onto them, and re-enabled when the cursor leaves.") + (license license:gpl3+))) + (define-public emacs-ob-erlang (let ((revision "1") (commit "f1a8c665b8f7d0ab32267a9961de8eed872e6333")) @@ -4298,6 +4369,42 @@ files with features such as syntax highlighting, comments, finding keywords, completing keywords and smart indentation.") (license license:gpl3+)))) +(define-public emacs-roguel-ike + ;; Tagged branch is outdated. + (let ((revision "0") + (commit "706dcb0687e8016d7d776f9d9e5ace9fdbbca43c")) + (package + (name "emacs-roguel-ike") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/stevenremot/roguel-ike") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rgv4y9aa5cc2ddz3y5z8d22xmr8kf5c60h0r3g8h91jmcw3rb4z")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-popup" ,emacs-popup))) + (arguments + `(#:include (cons* "^roguel-ike/" "^roguel-ike-lib/" %default-include) + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-test-environment + (lambda _ + (setenv "HOME" "/tmp") + #t))))) + (home-page "https://github.com/stevenremot/roguel-ike.git") + (synopsis "Coffee-break roguelike for Emacs") + (description + "Roguel-ike is an attempt to develop a coffee-break roguelike for +Emacs. The complete game would allow the player to create various characters +and to make them fulfill challenges like arena fight and short dungeon +explorations.") + (license license:gpl3+)))) + (define-public emacs-rspec (let ((commit "66ea7cc9699d6edc6115daa024818adbd85efc20") (revision "1")) @@ -10260,24 +10367,36 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update it as ;; well. - (version "9.4.2") + (version "9.4.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar")) (sha256 - (base32 "1bkihy9zd8c1xxlmin1mzafn9kp8a9b3pq0f7bs0yzvxla9dvx98")))) + (base32 "05ma8n6hr10323d85ay8ai0xrpc9q2m93n8avqh7j9fmmb3bhr0b")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases + ;; FIXME: The elpa tarball upstream does not include the version + ;; number, remove this phase when this is fixed. + ;; https://lists.gnu.org/archive/html/emacs-orgmode/2020-12/msg00729.html + (add-after 'unpack 'fix-org-version + (lambda _ + (substitute* "org-version.el" + (("org-release \"\"") + (string-append "org-release \"" ,version "\""))) + #t)) (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)) + (install-file "org.info" info-dir) + (install-file "orgguide.info" info-dir) + ;; XXX: "orgcard.pdf" is not built in Org 9.4.4. + ;; (install-file "orgcard.pdf" doc-dir) + ) #t))))) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") @@ -10291,14 +10410,14 @@ programming and reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") - (version "20201213") + (version "20201222") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/" "org-plus-contrib-" version ".tar")) (sha256 - (base32 "0ljjx6zaqphqhm434ymv3bcpyxqymzpaifdh8nkzg8vdzyfma580")) + (base32 "1pa8h5dpi5yj3j7v0aaby8sjwxvmgnbip2ilyl5pac1rlbz0jn40")) ;; ob-sclang.el is packaged separately to avoid the dependency on ;; SuperCollider and qtwebengine. (modules '((guix build utils))) @@ -15080,6 +15199,60 @@ timestamps by providing a @code{ts} struct.") according to a parsing expression grammar.") (license license:gpl3+))) +(define-public emacs-eldev + (package + (name "emacs-eldev") + (version "0.7.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/doublep/eldev") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xxcxgycn0a03irjcdq2pcb4p1bddhfjspni7lliwpv6zjqgkyhb")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("./bin/eldev" "-p" "-dtTC" "test") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'prepare-for-tests + (lambda _ + (setenv "ELDEV_LOCAL" (getcwd)) + (make-file-writable + "test/project-i/project-i-autoloads.el") + #t)) + (add-after 'install 'install-eldev-executable + ;; This constructs the eldev executable from templates and + ;; installs it in the specified directory. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (site-lisp (string-append out "/share/emacs/site-lisp"))) + (mkdir-p bin) + (setenv "HOME" (getcwd)) + (invoke "./install.sh" bin) + (substitute* (string-append bin "/eldev") + ;; Point ELDEV_LOCAL to the installation directory so that + ;; eldev doesn't try to bootstrap itself from MELPA when + ;; invoked. + (("export ELDEV_EMACS.*" all) + (string-append "export ELDEV_LOCAL=" site-lisp "\n" all))) + #t)))))) + (native-inputs + `(("texinfo" ,texinfo))) ;for tests + (home-page "https://github.com/doublep/eldev/") + (synopsis "Emacs-based build tool for Elisp") + (description "Eldev (Elisp Development Tool) is an Emacs-based build tool, +targeted solely at Elisp projects. It is an alternative to Cask. Unlike +Cask, Eldev itself is fully written in Elisp and its configuration files are +also Elisp programs. For those familiar with the Java world, Cask can be seen +as a parallel to Maven — it uses project description, while Eldev is sort of a +parallel to Gradle — its configuration is a program on its own.") + (license license:gpl3+))) + (define-public emacs-with-simulated-input (package (name "emacs-with-simulated-input") @@ -15211,7 +15384,7 @@ files to be expanded upon opening them.") (define-public emacs-ebib (package (name "emacs-ebib") - (version "2.27.2") + (version "2.29") (source (origin (method git-fetch) @@ -15220,7 +15393,7 @@ files to be expanded upon opening them.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "194pzhi8kylawsnc0p02nds9vk7ghw88s1dvd355b7m2vp92cnlf")))) + (base32 "1d0xnhdcsz2ysq145k2l0f2r4vb0pkai1v6wl6sfba7xi5fc323i")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-parsebib" ,emacs-parsebib))) @@ -15948,6 +16121,52 @@ your Emacs.") within Emacs.") (license license:gpl3+)))) +(define-public emacs-svg-tag-mode + (let ((commit "87489d28450559078aa15b4a435143a297508e48") + (revision "1")) + (package + (name "emacs-svg-tag-mode") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rougier/svg-tag-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gyhmv60dx0zxx4bmhzsd7q5vfnkpfwlj6539bn272fwcr7zncp8")))) + (build-system emacs-build-system) + (home-page "https://github.com/rougier/svg-tag-mode") + (synopsis "Replace keywords with SVG tags") + (description "This package provides a minor mode that replaces keywords +or expressions with SVG rounded box labels that are fully customizable.") + (license license:gpl3+)))) + +(define-public emacs-svg-icon + (let ((commit "ebc2b8d0f6c680fd575a90e683cc7b832acd1eb7") + (revision "1")) + (package + (name "emacs-svg-icon") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rougier/emacs-svg-icon") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qzqfa8xyw1nkb89kbvw9qcgdwr8g017n8gf3yzwn816qhkfkjrj")))) + (build-system emacs-build-system) + (home-page "https://github.com/rougier/emacs-svg-icon") + (synopsis "Emacs library to create SVG icons on the fly") + (description "This library allows to create SVG icons by parsing remote +collections whose license are compatibles with Emacs. The default size of an +icon is exactly 2x1 characters such that it can be inserted inside a text +without disturbing alignment.") + (license (list license:gpl3+))))) + (define-public emacs-sourcemap (package (name "emacs-sourcemap") @@ -18769,8 +18988,8 @@ searches with @code{ripgrep}.") (license license:gpl3+)))) (define-public emacs-focus - (let ((commit "ab42b8779929beeb7878c7fb3d3ccd80d9327c7f") - (version "0.1.1") + (let ((commit "5f3f20e7f22fb9fd7c48abce8bd38061d97e4bc0") + (version "1.0.0") (revision "1")) (package (name "emacs-focus") @@ -18784,7 +19003,7 @@ searches with @code{ripgrep}.") (file-name (git-file-name name version)) (sha256 (base32 - "079v1syid7h2vr2ya6hs6hl0pgj60qdsw60mqw4cj2zllmkrkwj4")))) + "0a55i4bychfnnzjg67a9h4j130hchcg44446dwwx1l1h48i692dw")))) (build-system emacs-build-system) (home-page "https://github.com/larstvei/Focus") (synopsis "Minor mode for focusing in on relevant text") @@ -22122,6 +22341,35 @@ and searching through @code{Ctags} files.") copied into @code{org-mode} buffers.") (license license:gpl3+)))) +(define-public emacs-org-drill-table + ;; No releases or tags. + (let ((commit "096387d929bcf3eb479e0a9d5da9cf32c756a759") + (revision "0")) + (package + (name "emacs-org-drill-table") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/chrisbarrett/org-drill-table.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1a8ygrcag8i9hdpy2vsn0sh8lwhl9b56rv91j3rddy1jv5qx1ipb")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-org" ,emacs-org) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/chrisbarrett/org-drill-table") + (synopsis "Generate Org drill cards using Org mode tables") + (description + "This package generates drill cards based on an Org mode table in the +current subtree. The cards are inserted under a new ``Cards'' heading in the +current tree.") + (license license:gpl3+)))) + (define-public emacs-dash-docs (let ((commit "dafc8fc9f1ddb2e4e39e0b8d066c42d5d7ce8d06") (revision "2")) @@ -23259,7 +23507,7 @@ keybindings for skipping from host section to host section.") (define-public emacs-ssh-agency (package (name "emacs-ssh-agency") - (version "0.4") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -23268,7 +23516,7 @@ keybindings for skipping from host section to host section.") (file-name (git-file-name name version)) (sha256 (base32 - "0895n7bss4wdydic1gflr03f2cwdyqywl16gvb599lpn288jhwvz")))) + "1i3zmsn0w2k7p2hlzssibckm32kf05l56mkhg96x4sf06g3pwq1d")))) (build-system emacs-build-system) (propagated-inputs `(("dash" ,emacs-dash))) @@ -23939,6 +24187,29 @@ icon support, git integration, and several other utilities.") replicate some of the features of the Doom modeline package.") (license license:gpl2+))) +(define-public emacs-simple-modeline + (let ((commit "38973dec2912e2136d8fde5f2667063863fee15a") + (revision "1")) + (package + (name "emacs-simple-modeline") + (version (git-version"1.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gexplorer/simple-modeline") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0y70hc3x8rxr8b5x8d0a23gpcadzrn43wmrsvqqxmmkqqp45n7gj")))) + (build-system emacs-build-system) + (home-page "https://github.com/gexplorer/simple-modeline") + (synopsis "Simple mode-line configuration for Emacs") + (description + "This package provides a simple mode-line configuration for Emacs.") + (license license:gpl3+)))) + (define-public emacs-frames-only-mode (package (name "emacs-frames-only-mode") diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index bda7195f1d..622905f0ce 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -1178,14 +1178,14 @@ SPI, I2C, JTAG.") (define-public fc-host-tools (package (name "fc-host-tools") - (version "13") + (version "14") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.freecalypso.org/pub/GSM/" "FreeCalypso/fc-host-tools-r" version ".tar.bz2")) (sha256 (base32 - "0bpxz4y0z3hmlirzvfwq0k45yzn9fzgqs9r1fpkrhn48gr2zrpa8")))) + "09ccd76khfvlx4dwi9dhrzl5mm68402mlych0g7f9ncfr5jzyf26")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; No tests exist. diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index dd7c7c8365..f32e59ef54 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -79,7 +79,7 @@ dictionaries.") (define-public enchant (package (name "enchant") - (version "2.2.13") + (version "2.2.15") (source (origin (method url-fetch) (uri (string-append "https://github.com/AbiWord/enchant/releases" @@ -87,7 +87,7 @@ dictionaries.") version ".tar.gz")) (sha256 (base32 - "084aqsrkzz2c1ls47p759d9bsi26d0m6wq9901k37483g46zkfga")))) + "00vcykbb7lxh51prvmsb62a06q18a6rlk9ba5a7g45c1awaj43rv")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static" diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index cf1e988c7a..fbec628c0e 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -274,14 +274,14 @@ utilities.") (package (inherit geda-gaf) (name "lepton-eda") - (version "1.9.11-20200604") + (version "1.9.13-20201211") (home-page "https://github.com/lepton-eda/lepton-eda") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit version))) (sha256 (base32 - "091y8h7wcr9smwhb1wf12sj27n5jrannbj3y6qq3q2gwiifiz8sd")) + "0xfx6d0pyfrxr1c0nm4pbmb716hng78rgizaa6vsas9347n4kk1n")) (file-name (git-file-name name version)))) (native-inputs `(("autoconf" ,autoconf) @@ -295,56 +295,93 @@ utilities.") ,@(package-native-inputs geda-gaf))) (inputs `(("glib" ,glib) - ("gtk" ,gtk+-2) + ("gtk" ,gtk+) + ("gtksheet" ,gtksheet) ("guile" ,guile-2.2) ("shared-mime-info" ,shared-mime-info) ("m4" ,m4) ("pcb" ,pcb))) (arguments - (substitute-keyword-arguments (package-arguments geda-gaf) - ((#:configure-flags flags ''()) - ;; When running "make", the POT files are built with the build time as - ;; their "POT-Creation-Date". Later on, "make" notices that .pot - ;; files were updated and goes on to run "msgmerge"; as a result, the - ;; non-deterministic POT-Creation-Date finds its way into .po files, - ;; and then in .gmo files. To avoid that, simply make sure 'msgmerge' - ;; never runs. See <https://bugs.debian.org/792687>. - `(cons "ac_cv_path_MSGMERGE=true" ,flags)) - ((#:phases phases '%standard-phases) - `(modify-phases %standard-phases - (add-before 'bootstrap 'prepare - (lambda _ - ;; Some of the scripts there are invoked by autogen.sh. - (for-each patch-shebang (find-files "build-tools")) - - ;; Make sure 'msgmerge' can modify the PO files. - (for-each (lambda (po) - (chmod po #o666)) - (find-files "." "\\.po$")) - - ;; This would normally be created by invoking 'git', but it - ;; doesn't work here. - (call-with-output-file "version.h" - (lambda (port) - (format port "#define PACKAGE_DATE_VERSION \"~a\"~%" - ,(string-drop version - (+ 1 (string-index version #\-)))) - (format port "#define PACKAGE_DOTTED_VERSION \"~a\"~%" - ,(string-take version - (string-index version #\-))) - (format port "#define PACKAGE_GIT_COMMIT \"cabbag3\"~%"))) - #t)) - (add-after 'install 'compile-scheme-files - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "precompile") - (for-each (lambda (program) - (wrap-program program - `("GUILE_LOAD_COMPILED_PATH" ":" prefix - (,(string-append (assoc-ref outputs "out") - "/share/lepton-eda/ccache/"))))) - (find-files (string-append (assoc-ref outputs "out") "/bin") - ".*")) - #t)))))) + `(#:configure-flags + (let ((pcb (assoc-ref %build-inputs "pcb"))) + ;; When running "make", the POT files are built with the build time as + ;; their "POT-Creation-Date". Later on, "make" notices that .pot + ;; files were updated and goes on to run "msgmerge"; as a result, the + ;; non-deterministic POT-Creation-Date finds its way into .po files, + ;; and then in .gmo files. To avoid that, simply make sure 'msgmerge' + ;; never runs. See <https://bugs.debian.org/792687>. + (list "ac_cv_path_MSGMERGE=true" + "--with-gtk3" + (string-append "--with-pcb-datadir=" pcb "/share") + (string-append "--with-pcb-lib-path=" + pcb "/share/pcb/pcblib-newlib:" + pcb "/share/pcb/newlib"))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'fix-dynamic-link + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "libleptongui/scheme/schematic/ffi.scm.in" + (("@LIBLEPTONGUI@") + (string-append (assoc-ref outputs "out") + "/lib/libleptongui.so"))) + (substitute* '("libleptongui/scheme/schematic/ffi/gtk.scm.in" + "libleptonattrib/lepton-attrib.scm") + (("@LIBGTK@") + (string-append (assoc-ref inputs "gtk") + "/lib/libgtk-3.so"))) + (substitute* "liblepton/scheme/lepton/ffi.scm.in" + (("@LIBLEPTON@") + (string-append (assoc-ref outputs "out") + "/lib/liblepton.so"))) + (substitute* "libleptonattrib/lepton-attrib.scm" + (("@LIBLEPTONATTRIB@") + (string-append (assoc-ref outputs "out") + "/lib/libleptonattrib.so"))) + (substitute* "liblepton/scheme/lepton/log.scm.in" + (("@LIBGLIB@") + (string-append (assoc-ref inputs "glib") + "/lib/libglib-2.0.so"))) + + ;; For finding libraries when running tests before installation. + (setenv "LIBLEPTONGUI" + (string-append (getcwd) + "/libleptongui/src/.libs/libleptongui.so")) + (setenv "LIBLEPTON" + (string-append (getcwd) + "/libleptongui/src/.libs/liblepton.so")) + (setenv "LD_LIBRARY_PATH" + (string-append (getcwd) "/libleptonattrib/src/.libs/:" + (getenv "LIBRARY_PATH"))) + #t)) + (add-before 'bootstrap 'prepare + (lambda _ + ;; Some of the scripts there are invoked by autogen.sh. + (for-each patch-shebang (find-files "build-tools")) + + ;; Make sure 'msgmerge' can modify the PO files. + (for-each (lambda (po) + (chmod po #o666)) + (find-files "." "\\.po$")) + + ;; This would normally be created by invoking 'git', but it + ;; doesn't work here. + (call-with-output-file "version.h" + (lambda (port) + (format port "#define PACKAGE_DATE_VERSION \"~a\"~%" + ,(string-drop version + (+ 1 (string-index version #\-)))) + (format port "#define PACKAGE_DOTTED_VERSION \"~a\"~%" + ,(string-take version + (string-index version #\-))) + (format port "#define PACKAGE_GIT_COMMIT \"cabbag3\"~%"))) + #t)) + (add-after 'install 'compile-scheme-files + (lambda* (#:key outputs #:allow-other-keys) + (unsetenv "LIBLEPTONGUI") + (unsetenv "LIBLEPTON") + (unsetenv "LD_LIBRARY_PATH") + (invoke "make" "precompile") + #t))))) (description "Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit diff --git a/gnu/packages/esolangs.scm b/gnu/packages/esolangs.scm index 3986562d57..676b355e65 100644 --- a/gnu/packages/esolangs.scm +++ b/gnu/packages/esolangs.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com> +;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,8 +18,13 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages esolangs) + #:use-module (gnu packages) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) #:use-module (gnu packages ncurses) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -49,3 +55,42 @@ written in C. It supports several @dfn{fingerprints} (opt-in language extensions identified by unique ID codes).") (license license:gpl3))) + +(define-public shakespeare-spl + (package + (name "shakespeare-spl") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/shakespearelang/spl-" + version ".tar.gz")) + (sha256 + (base32 + "1lxpfhv01kcwy4l4xgx7j765g8g0v74jns0cr908nfw55h5fy1hj")) + (patches + (search-patches + "shakespeare-spl-fix-grammar.patch")))) + (build-system copy-build-system) + (arguments + `(#:imported-modules (,@%gnu-build-system-modules + (guix build copy-build-system)) + #:modules ((guix build copy-build-system) + ((guix build gnu-build-system) #:prefix gnu:) + (guix build utils)) + #:install-plan '(("spl/bin" "bin") + ("spl/lib" "lib") + ("spl/include" "include")) + #:phases + (modify-phases %standard-phases + (add-before 'install 'build + (assoc-ref gnu:%standard-phases 'build))))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (home-page "http://shakespearelang.sourceforge.net/") + (synopsis "Write programs like Shakespearean plays") + (description "Shakespeare is a programming language with the design goal +of making programs read like plays. The characters in the play are variables. +If you want to assign a character, let's say Juliet, a positive value, you put +her and another character on the stage and let that character praise Juliet.") + (license license:gpl2+))) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index af587f73fe..895ad069c5 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -1055,14 +1055,14 @@ compatible directories.") (define-public python-dropbox (package (name "python-dropbox") - (version "10.3.1") + (version "11.0.0") (source (origin (method url-fetch) (uri (pypi-uri "dropbox" version)) (sha256 (base32 - "137rn9fs1bg1p1khd5lcccfxh8jsx27dh2ix5wwd8cmddbrzdrbd")))) + "0r64jxm5m4a1sln2la3av0103filb0plqja1nnyibqvk9qrqs5jf")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; Tests require a network connection. (native-inputs @@ -1073,6 +1073,7 @@ compatible directories.") ("python-chardet" ,python-chardet) ("python-requests" ,python-requests) ("python-six" ,python-six) + ("python-stone" ,python-stone) ("python-urllib3" ,python-urllib3))) (home-page "https://www.dropbox.com/developers") (synopsis "Official Dropbox API Client") @@ -1083,14 +1084,14 @@ Dropbox API v2.") (define-public dbxfs (package (name "dbxfs") - (version "1.0.43") + (version "1.0.48") (source (origin (method url-fetch) (uri (pypi-uri "dbxfs" version)) (sha256 (base32 - "1f9sy2ax215dxiwszrrcadffjdsmrlxm4kwrbiap9dhxvzm226ks")) + "07q7dgqaqqyapjl9r4lqydflrgx4dh84c1qsb0jvfmqj3i8887ak")) (patches (search-patches "dbxfs-remove-sentry-sdk.patch")))) (build-system python-build-system) (arguments diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 6bd6827160..b6921d343f 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -495,7 +495,7 @@ do so.") (define-public electrum (package (name "electrum") - (version "3.3.8") + (version "4.0.9") (source (origin (method url-fetch) @@ -503,7 +503,7 @@ do so.") version "/Electrum-" version ".tar.gz")) (sha256 - (base32 "1g00cj1pmckd4xis8r032wmraiv3vd3zc803hnyxa2bnhj8z3bg2")) + (base32 "1fvjiagi78f32nxgr2rx8jas8hxfvpp1c8fpfcalvykmlhdc2gva")) (modules '((guix build utils))) (snippet '(begin @@ -512,21 +512,19 @@ do so.") #t)))) (build-system python-build-system) (inputs - `(("python-pyaes" ,python-pyaes) - ("python-pysocks" ,python-pysocks) - ("python-sip" ,python-sip) - ("python-pyqt" ,python-pyqt) - ("python-ecdsa" ,python-ecdsa) - ("python-pbkdf2" ,python-pbkdf2) - ("python-requests" ,python-requests) + `(("python-pyqt" ,python-pyqt) ("python-qrcode" ,python-qrcode) ("python-protobuf" ,python-protobuf) ("python-aiohttp" ,python-aiohttp) ("python-aiohttp-socks" ,python-aiohttp-socks) ("python-aiorpcx" ,python-aiorpcx) ("python-certifi" ,python-certifi) - ("python-dnspython" ,python-dnspython-1.16) - ("python-jsonrpclib-pelix" ,python-jsonrpclib-pelix))) + ("python-bitstring" ,python-bitstring) + ("python-attrs" ,python-attrs) + ("python-cryptography" ,python-cryptography) + ("python-qdarkstyle" ,python-qdarkstyle) + ("python-dnspython" ,python-dnspython) + ("libsecp256k1" ,libsecp256k1))) (arguments `(#:tests? #f ; no tests #:phases @@ -540,7 +538,14 @@ do so.") (substitute* "setup.py" (("sys\\.prefix") (format #f "\"~a\"" out))) - #t)))))) + #t))) + (add-after 'unpack 'use-libsecp256k1-input + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "electrum/ecc_fast.py" + (("library_paths = .* 'libsecp256k1.so.0'.") + (string-append "library_paths = ('" + (assoc-ref inputs "libsecp256k1") + "/lib/libsecp256k1.so.0'")))))))) (home-page "https://electrum.org/") (synopsis "Bitcoin wallet") (description @@ -553,7 +558,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.2") + (version "4.2.3") (source (origin (method git-fetch) @@ -562,7 +567,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1zk40zbf67wid2s5wg1fknb71409wg0qlvznk44q571v9risrdy7")))) + (base32 "1q18p86a3a3wpf9nbpymhyilmaw9vffvwxh4hhx29bywfzvav11f")))) (build-system python-build-system) (inputs `(("libevent" ,libevent) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 0181536c37..cacda2ed04 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -799,7 +799,7 @@ maintain the Noto Fonts project.") (define-public fcft (package (name "fcft") - (version "2.3.1") + (version "2.3.2") (home-page "https://codeberg.org/dnkl/fcft") (source (origin (method git-fetch) @@ -807,7 +807,7 @@ maintain the Noto Fonts project.") (file-name (git-file-name name version)) (sha256 (base32 - "1ddzdfq6y9db50zimxfsr955zkpr8y6fk4nrblsl0j0vliywlg8l")))) + "0k2i57rakm4g86f7hbhkby8af0vv7v63a70lk3m58mkycpy5q2rm")))) (build-system meson-build-system) (arguments `(#:meson ,meson-0.55)) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 3c4ad57a15..ef35349ec2 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1480,7 +1480,7 @@ wish to perform colour calibration.") (define-public libfprint (package (name "libfprint") - (version "1.90.4") + (version "1.90.6") (source (origin (method git-fetch) @@ -1489,7 +1489,7 @@ wish to perform colour calibration.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0grhck0h29i7hm7npvby7pn7wdc446kv0r4mkpbssp46lqbjb96b")))) + (base32 "0hagm1i78mrd772y3cinr7bda4myx0v4bixwqnqbxknds8m9h8sg")))) (build-system meson-build-system) (arguments '(#:configure-flags @@ -1615,7 +1615,7 @@ to applications simultaneously competing for fingerprint readers.") (define-public desktop-file-utils (package (name "desktop-file-utils") - (version "0.24") + (version "0.26") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" @@ -1623,10 +1623,12 @@ to applications simultaneously competing for fingerprint readers.") "desktop-file-utils-" version ".tar.xz")) (sha256 (base32 - "1nc3bwjdrpcrkbdmzvhckq0yngbcxspwj2n1r7jr3gmx1jk5vpm1")))) + "02bkfi6fyk4c0gh2avd897882ww5zl7qg7bzzf28qb57kvkvsvdj")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) (inputs `(("glib" ,glib))) (home-page "https://www.freedesktop.org/wiki/Software/desktop-file-utils/") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 18978ccec1..735e653900 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2126,7 +2126,7 @@ can be explored and changed freely.") (define-public seahorse-adventures (package (name "seahorse-adventures") - (version "1.2") + (version "1.3") (source (origin (method git-fetch) @@ -2135,7 +2135,7 @@ can be explored and changed freely.") (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1rnvk06npaqcpjz5z6xcmssz61i32s422lydp49vrnf3j2g4yimd")) + (base32 "0m53jh2gchzr7rs35hml6lbvc5kb5hp229wlfqa09098b7hhl15a")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) @@ -3817,7 +3817,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.14") + (version "1.14.15") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -3826,7 +3826,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "1l7mdxn4kw938qz824057rqh99b7y9439a54s64n1xz95w77lp0r")))) + "05iapxj3nzaqh10y42yq1jf7spxgm4iwjw4qj1c4lnb25xp4mc2h")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no check target @@ -3957,14 +3957,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "1.10.0") + (version "1.10.3") (source (origin (method url-fetch) (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "0lz2y2rjc23k0d97y65cqhy2splw9cmrbvhgz0iqps8xkan1m8hv")))) + "0fxmfz1mm95a2x0rnzfff9wb8q57w0cvsdd0z7agdcbyakph25n1")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -5571,7 +5571,7 @@ for Un*x systems with X11.") (define-public freeciv (package (name "freeciv") - (version "2.6.2") + (version "2.6.2.1") (source (origin (method url-fetch) @@ -5583,7 +5583,7 @@ for Un*x systems with X11.") (version-major+minor version) "/" version "/freeciv-" version ".tar.bz2"))) (sha256 - (base32 "13vc2xg1cf19rhbnr7k38b56b2hdapqymq5vma1l69kn7hyyz0b1")))) + (base32 "0pjqnwpxsirhyf5c4f1b9gxkqah0213wqaynklq84mahq41sq15x")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 7e9cde6198..f7f18cf79f 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -227,6 +227,12 @@ topology functions.") (substitute* "meson_post_install.py" (("gtk-update-icon-cache") "true")) #t)) + (add-after 'unpack 'patch-dbus-service + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "data/org.gnome.Maps.service.in" + (("@pkgdatadir@/org.gnome.Maps") + (string-append (assoc-ref outputs "out") "/bin/gnome-maps"))) + #t)) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -1816,7 +1822,7 @@ track your position right from your laptop.") license:zlib)))) (define-public grass - (let* ((version "7.8.4") + (let* ((version "7.8.5") (majorminor (string-join (list-head (string-split version #\.) 2) "")) (grassxx (string-append "grass" majorminor))) (package @@ -1828,7 +1834,7 @@ track your position right from your laptop.") (uri (string-append "https://grass.osgeo.org/" grassxx "/source/grass-" version ".tar.gz")) (sha256 - (base32 "1yfghvp522ijww3n3l5xarjbc21rm0gmlgr3lvwxrv23bvxmllyr")))) + (base32 "0dzzhgcsrszzinvjir50nvzq873b8gsp0p9k8fvcrv14amkbnnd3")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f7263b5841..2756a3d0d4 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8764,7 +8764,7 @@ files.") (define-public baobab (package (name "baobab") - (version "3.32.0") + (version "3.38.0") (source (origin (method url-fetch) (uri (string-append @@ -8773,7 +8773,7 @@ files.") name "-" version ".tar.xz")) (sha256 (base32 - "0b33s9bhpiffv5wl76cq2bbnqhvx3qs2vxyxmil5gcs583llqh9r")))) + "0ac3fbl15l836yvgw724q4whbkws9v4b6l2xy6bnp0b0g0a6i104")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) @@ -10293,14 +10293,14 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (define-public lollypop (package (name "lollypop") - (version "1.4.2") + (version "1.4.6") (source (origin (method url-fetch) (uri (string-append "https://adishatz.org/lollypop/" "lollypop-" version ".tar.xz")) (sha256 - (base32 "1hfl68gkvqy5kxlmrsalz78mw1bs1yvqvy2rhg7pzgwiazsdvwzz")))) + (base32 "1hlahr50gsagx1ifcdk4yn43xps6w0vqn0gnd6xckfc7qmg1pgq7")))) (build-system meson-build-system) (arguments `(#:imported-modules @@ -10330,7 +10330,8 @@ views can be printed as PDF or PostScript files, or exported to HTML.") ("gtk+:bin" ,gtk+ "bin") ; For gtk-update-icon-cache ("pkg-config" ,pkg-config))) (inputs - `(("gobject-introspection" ,gobject-introspection) + `(("glib-networking" ,glib-networking) + ("gobject-introspection" ,gobject-introspection) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gst-plugins-base" ,gst-plugins-base) ("libnotify" ,libnotify) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index f321e624af..80e4aba29b 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -157,14 +157,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.71") + (version "0.9.72") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "10mii4mifmfs3v7kgciqml7f0fj7ljp0sngrx64pnwmgbzl4bx78")))) + "1y1g9hk608jm4sfdbs8gql5wphalyhfdz824zl0i5x6pw3w2bs0a")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 32a897bfbb..c41ed0bb1a 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1191,6 +1191,46 @@ Features include: optimized for performance yet simple to use.") (license license:expat)))) +(define-public go-github-com-tomnomnom-gron + (package + (name "gron") + (version "0.6.0") + (home-page "https://github.com/tomnomnom/gron") + (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 "05f3w4zr15wd7xk75l12y5kip4gnv719a2x9w2hy23q3pnss9wk0")))) + (build-system go-build-system) + (arguments + (let ((import-path "github.com/tomnomnom/gron")) + `(#:import-path ,import-path + #:phases + (modify-phases %standard-phases + (add-after 'check 'remove-non-source + (lambda _ + (for-each (lambda (dir) + (delete-file-recursively + (string-append "src/" ,import-path dir))) + '("/docs" "/script" "/testdata")) + #t)))))) + (inputs + `(("github.com/fatih/color" ,go-github-com-fatih-color) + ("github.com/mattn/go-colorable" ,go-github-com-mattn-go-colorable) + ("github.com/mattn/go-isatty" ,go-github-com-mattn-go-isatty) + ("github.com/nwidger/jsoncolor" ,go-github-com-nwidger-jsoncolor) + ("github.com/pkg/errors" ,go-github-com-pkg-errors))) + (synopsis "Transform JSON to make it easier to grep") + (description + "This package transforms JSON into discrete assignments to make it easier +to use line-based tools such as grep to search for what you want and see the +absolute \"path\" to it.") + (license license:expat))) + (define-public go-github-com-tv42-httpunix (let ((commit "2ba4b9c3382c77e7b9ea89d00746e6111d142a22") (revision "0")) @@ -2120,32 +2160,30 @@ terminal.") (license license:expat))) (define-public go-github-com-mattn-go-colorable - (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade") - (revision "0")) - (package - (name "go-github-com-mattn-go-colorable") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mattn/go-colorable") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r")))) - (build-system go-build-system) - (native-inputs - `(("go-github-com-mattn-go-isatty" - ,go-github-com-mattn-go-isatty))) - (arguments - '(#:import-path "github.com/mattn/go-colorable")) - (home-page "https://github.com/mattn/go-colorable") - (synopsis "Handle ANSI color escapes on Windows") - (description "This package provides @code{colorable}, a module that + (package + (name "go-github-com-mattn-go-colorable") + (version "0.1.8") + (home-page "https://github.com/mattn/go-colorable") + (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 + "0q34zqwbnls72md8q8mhj368s7p3i4xspvs3rk8fs76s0pn7dr2l")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-mattn-go-isatty" + ,go-github-com-mattn-go-isatty))) + (arguments + '(#:import-path "github.com/mattn/go-colorable")) + (synopsis "Handle ANSI color escapes on Windows") + (description "This package provides @code{colorable}, a module that makes it possible to handle ANSI color escapes on Windows.") - (license license:expat)))) + (license license:expat))) (define-public go-github-com-mattn-go-pointer (let ((commit "a0a44394634f41e4992b173b24f14fecd3318a67") @@ -5342,6 +5380,33 @@ style your output, without you having to deal with all kinds of weird ANSI escape sequences and color conversions.") (license license:expat))) +(define-public go-github-com-nwidger-jsoncolor + (package + (name "go-github-com-nwidger-jsoncolor") + (version "0.3.0") + (home-page "https://github.com/nwidger/jsoncolor") + (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 + "13rd146pnj7qm70r1333gyd1f61x40nafxlpvdxlci9h7mx8c5p8")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/nwidger/jsoncolor")) + (native-inputs + `(("go-github-com-fatih-color" ,go-github-com-fatih-color))) + (synopsis "Colorized JSON marshalling and encoding") + (description + "@code{jsoncolor} is a drop-in replacement for @code{encoding/json}'s +@code{Marshal} and @code{MarshalIndent} functions and @code{Encoder} type +which produce colorized output using github.com/fatih/color.") + (license license:expat))) + (define-public go-github-com-olekukonko-tablewriter (package (name "go-github-com-olekukonko-tablewriter") diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 7a61084f24..def3dc6913 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -619,7 +619,7 @@ OpenGL 3. It is retained for use with older computers.") (define-public goxel (package (name "goxel") - (version "0.10.6") + (version "0.10.7") (source (origin (method git-fetch) (uri (git-reference @@ -628,7 +628,7 @@ OpenGL 3. It is retained for use with older computers.") (file-name (git-file-name name version)) (sha256 (base32 - "1wmxy5wfk1xrqgz0y0zcr4vkddylqc70cv4vzk117x6whjnldsm3")))) + "1v6m6nhl1if8ik5bmblhq46bip6y2qz18a04s8a9awb4yh9ls039")))) (build-system gnu-build-system) (arguments '(#:tests? #f diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index b4472a5e98..b9a4d3858f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; 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> +;;; Coypright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> @@ -2151,7 +2151,7 @@ library for drawing.") (define-public gtksheet (package (name "gtksheet") - (version "4.3.4") + (version "4.3.5") (source (origin (method git-fetch) @@ -2161,7 +2161,7 @@ library for drawing.") (file-name (git-file-name name version)) (sha256 (base32 - "10qzmdkjkkvkcadxn019cbyhwaahxcfv1apv54lc711bqvh63v8r")))) + "13jwr1vly4ga3f09dajwky1cdrz5bmggwga3vnnd6j6zzia7dpyr")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-glade" @@ -2175,6 +2175,11 @@ library for drawing.") (lambda _ (delete-file "configure") #t)) + (add-after 'unpack 'rename-type + (lambda _ + (substitute* "glade/glade-gtksheet-editor.c" + (("GladeEditableIface") "GladeEditableInterface")) + #t)) ;; Fix glade install directories. (add-before 'bootstrap 'configure-glade-directories (lambda* (#:key outputs #:allow-other-keys) @@ -2185,15 +2190,6 @@ library for drawing.") (string-append (assoc-ref outputs "out") "/lib/glade/modules")) (("`\\$PKG_CONFIG --variable=pixmapdir gladeui-2.0`") (string-append (assoc-ref outputs "out") "/share/pixmaps"))) - #t)) - ;; Fix incorrect typelib version. This is a known upstream bug. See - ;; https://github.com/fpaquet/gtksheet/issues/23 - (add-after 'install 'fix-typelib-version - (lambda* (#:key outputs #:allow-other-keys) - (with-directory-excursion (string-append (assoc-ref outputs "out") - "/lib/girepository-1.0") - (rename-file "GtkSheet-4.0.typelib" - (string-append "GtkSheet-" ,version ".typelib"))) #t))))) (inputs `(("glade" ,glade3) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index dfffbfc62f..6420600d6a 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -4240,3 +4240,29 @@ uniformly sized, encrypted blocks that can be reassembled using a short read-capability.") (home-page "https://inqlab.net/git/eris.git") (license license:gpl3+))) + +(define-public guile-r6rs-protobuf + (package + (name "guile-r6rs-protobuf") + (version "0.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/joolean/r6rs-protobuf") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xmn7jlr1xiqgd35klq910p1bnil1iwdvqxkjr3zzml3spy8p2aa")))) + (build-system guile-build-system) + (arguments + `(#:compile-flags '("--r6rs"))) + (inputs + `(("guile" ,guile-3.0))) + (home-page "https://gitlab.com/joolean/r6rs-protobuf/") + (synopsis "Scheme implementation of Protocol Buffers") + (description + "This project provides a pure Scheme implementation of Protocol Buffers, +including parsing and code generation.") + (license license:gpl3+))) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 11694e06f9..40e42e6f11 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -578,14 +578,14 @@ specification. These are the main features: (package (inherit guile-json-3) (name "guile-json") - (version "4.3.2") + (version "4.4.1") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/guile-json/guile-json-" version ".tar.gz")) (sha256 (base32 - "0255c7f053z4p9mqzhpxwbfx3y47j9nfvlgnm8xasdclyzmjl9y2")))))) + "1xq4f59rdk28xy4sdn6amy07aa19ikrk48iily3kfhwpkbg6v9jj")))))) (define-public guile2.2-json (package-for-guile-2.2 guile-json-4)) @@ -848,4 +848,32 @@ pure Scheme by using Guile's foreign function interface.") (home-page "https://notabug.org/guile-lzlib/guile-lzlib") (license license:gpl3+))) +(define-public guile-zstd + (package + (name "guile-zstd") + (version "0.1.1") + (home-page "https://notabug.org/guile-zstd/guile-zstd") + (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 + "1c8l7829b5yx8wdc0mrhzjfwb6h9hb7cd8dfxcr71a7vlsi86310")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("guile" ,guile-3.0))) + (inputs + `(("zstd" ,zstd "lib") + ("guile" ,guile-3.0))) + (synopsis "GNU Guile bindings to the zstd compression library") + (description + "This package provides a GNU Guile interface to the zstd (``zstandard'') +compression library.") + (license license:gpl3+))) + ;;; guile.scm ends here diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index b1aaa21980..a3418878e7 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -192,7 +192,7 @@ Memtest86+ cannot currently be used on computers booted with UEFI.") (define-public memtester (package (name "memtester") - (version "4.3.0") + (version "4.5.0") (source (origin (method url-fetch) @@ -200,7 +200,7 @@ Memtest86+ cannot currently be used on computers booted with UEFI.") (uri (string-append "http://pyropus.ca/software/memtester/old-versions/" "memtester-" version ".tar.gz")) (sha256 - (base32 "127xymmyzb9r6dxqrwd69v7gf8csv8kv7fjvagbglf3wfgyy5pzr")))) + (base32 "0dxfwayns3hjjplkxkpkm1409lmjlpi4chcrahcvdbnl0q6jpmcf")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm new file mode 100644 index 0000000000..ab808901f6 --- /dev/null +++ b/gnu/packages/hunspell.scm @@ -0,0 +1,81 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> +;;; +;;; 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 hunspell) + #: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 (ice-9 match) + #:use-module (gnu packages libreoffice)) + +(define* (hunspell-dictionary dict-name full-name #:key synopsis home-page license) + (package + (name (string-append + "hunspell-dict-" + ;; Downcase and replace underscore in package names + ;; to follow Guix naming conventions. + (string-map (match-lambda + (#\_ #\-) + (chr chr)) + (string-downcase dict-name)))) + (version (package-version libreoffice)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url (string-append "https://anongit.freedesktop.org/git/" + "libreoffice/dictionaries.git/")) + (commit + (string-append "libreoffice-" version)))) + (file-name (git-file-name "libreoffice-dictionaries" version)) + (sha256 + (base32 "0vvxnjpm1322ahf9q8bqs1yhkn7krglw8c6yazcf7a3jljykd9k9")))) + (build-system trivial-build-system) + (native-inputs + `(("source" ,source))) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((dictionary + (string-append (assoc-ref %build-inputs "source") + "/" ,dict-name + "/" ,dict-name)) + (hunspell (string-append %output "/share/hunspell/")) + (myspell (string-append %output "/share/myspell"))) + (for-each + (lambda (ext) + (install-file (string-append dictionary ext) + hunspell)) + '(".aff" ".dic")) + (symlink hunspell myspell) + #t)))) + (synopsis synopsis) + (description "This package provides a dictionary for the Hunspell +spell-checking library.") + (license license) + (home-page home-page))) + +(define-public hunspell-dict-it-it + (let ((synopsis identity)) + (hunspell-dictionary "it_IT" "Italian" + #:synopsis (synopsis "Hunspell dictionary for Italian") + #:home-page "https://www.libreitalia.org/" + #:license license:gpl3))) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index dac1d654f6..49d9e5d230 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1415,7 +1416,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (define-public jasper (package (name "jasper") - (version "2.0.22") + (version "2.0.23") (source (origin (method git-fetch) (uri (git-reference @@ -1424,7 +1425,7 @@ convert, manipulate, filter and display a wide variety of image formats.") (file-name (git-file-name name version)) (sha256 (base32 - "1qw96mwwd9xw21jg5s7njqgbam566skj93i81aflijy40s31dfwz")))) + "1fccpss5ii9rnsd2pkg6k7mkckwpfi8dgp64qzqv3zp1vs2nffw6")))) (build-system cmake-build-system) (inputs `(("libjpeg" ,libjpeg-turbo))) @@ -2069,7 +2070,7 @@ This package can be used to create @code{favicon.ico} files for web sites.") (define-public libavif (package (name "libavif") - (version "0.7.3") + (version "0.8.4") (source (origin (method git-fetch) (uri (git-reference @@ -2078,11 +2079,11 @@ This package can be used to create @code{favicon.ico} files for web sites.") (file-name (git-file-name name version)) (sha256 (base32 - "17hagdngpc4xzrr0aa48nx399y5lawyyx9cpcdhpds1mqk6p77lp")))) + "1qvjd3xi9r89pcblxdgz4c6hqp67ss53b1x9zkg7lrik7g3lwq8d")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DAVIF_CODEC_AOM=ON" "-DAVIF_CODEC_DAV1D=ON" - "-DAVIF_CODEC_RAV1E=OFF" ; not packaged yet + "-DAVIF_CODEC_RAV1E=ON" "-DAVIF_BUILD_TESTS=ON") #:phases (modify-phases %standard-phases @@ -2096,8 +2097,9 @@ This package can be used to create @code{favicon.ico} files for web sites.") (install-file "../source/README.md" doc) #t)))))) (inputs - `(("libaom" ,libaom) - ("dav1d" ,dav1d))) + `(("dav1d" ,dav1d) + ("libaom" ,libaom) + ("rav1e" ,rav1e))) (synopsis "Encode and decode AVIF files") (description "Libavif is a C implementation of @acronym{AVIF, the AV1 Image File Format}. It can encode and decode all YUV formats and bit depths supported diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 3e43fc0c94..758f8f1859 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2426,14 +2426,14 @@ new Date();")) (define-public ant/java8 (package (inherit ant-bootstrap) (name "ant") - (version "1.10.8") + (version "1.10.9") (source (origin (method url-fetch) (uri (string-append "mirror://apache/ant/source/apache-ant-" version "-src.tar.gz")) (sha256 (base32 - "066k2isig5xm70cihj9p73hkp5w7h5zbfqz5kxb6cwr9cb86xl2k")) + "0x78434q5ab193ma7ys27m9kwpdgrfzqj00hrf1szwcgk0lzw01z")) (modules '((guix build utils))) (snippet '(begin @@ -10843,7 +10843,7 @@ algorithms and xxHash hashing algorithm.") (define-public java-bouncycastle (package (name "java-bouncycastle") - (version "1.60") + (version "1.67") (source (origin (method git-fetch) (uri (git-reference @@ -10853,7 +10853,7 @@ algorithms and xxHash hashing algorithm.") (file-name (git-file-name name version)) (sha256 (base32 - "1m921a1ac2dl797ffzg3d4j97ch308f25spb4jgsj3npfmmys5gb")) + "1449q7fyh03s1q0bqljcrhgacwcyqmg2bbvb3z084avgapwsainz")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 48bde160cd..c4bce1c42e 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -27,6 +27,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages web) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -56,6 +57,42 @@ (description "This library provides a portable embeddable JSON parser.") (license license:expat))) +(define-public js-context-menu + (package + (name "js-context-menu") + (version "0.6.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zorkow/context-menu") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q063l6477z285j6h5wvccp6iswvlp0jmb96sgk32sh0lf7nhknh")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (chdir (assoc-ref %build-inputs "source")) + (let ((target (string-append %output "/share/javascript/context-menu"))) + (apply invoke (string-append (assoc-ref %build-inputs "esbuild") + "/bin/esbuild") + "--bundle" + "--tsconfig=tsconfig.json" + (string-append "--outdir=" target) + (find-files "ts" "\\.ts$")))))) + (native-inputs + `(("esbuild" ,esbuild))) + (home-page "https://github.com/zorkow/context-menu") + (synopsis "Generic context menu") + (description "This package provides a reimplementation of the MathJax +context menu in TypeScript.") + (license license:asl2.0))) + (define-public font-mathjax (package (name "font-mathjax") diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 80a3ca765e..b1b8b6a484 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -233,7 +233,7 @@ projects.") (define-public kdevelop (package (name "kdevelop") - (version "5.5.2") + (version "5.6.1") (source (origin (method url-fetch) @@ -241,7 +241,7 @@ projects.") "/" version "/src/kdevelop-" version ".tar.xz")) (sha256 - (base32 "1nkl3z1n1l7ly2zvmbx2sdhx5q72wcvpwhzsz3qgw1474qd9i3i2")))) + (base32 "02ip5r67hjfpywkm3mz86n6wbqcr7996ifzfd2fyzsvm4998hi4y")))) (build-system qt-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/libffi.scm b/gnu/packages/libffi.scm index 66239e0363..5b8f277009 100644 --- a/gnu/packages/libffi.scm +++ b/gnu/packages/libffi.scm @@ -66,7 +66,7 @@ (lambda* (#:key inputs #:allow-other-keys) (let ((patch (assoc-ref inputs "powerpc-patch"))) - (invoke "patch" "--batch" "-p1" + (invoke "patch" "--force" "-p1" "-i" patch)))))) '()) ,@(if (string-prefix? "powerpc64le-" (or (%current-target-system) @@ -76,7 +76,7 @@ (lambda* (#:key inputs #:allow-other-keys) (let ((patch (assoc-ref inputs "powerpc64le-patch"))) - (invoke "patch" "--batch" "-p1" + (invoke "patch" "--force" "-p1" "-i" patch)))))) '()))) (inputs diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2a9aafb50e..3df0159f82 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -51,6 +51,7 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Greg Hogan <code@greghogan.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> +;;; Copyright © 2020 David Dashyan <mail@davie.li> ;;; ;;; This file is part of GNU Guix. ;;; @@ -351,7 +352,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.10-version "5.10.1") +(define-public linux-libre-5.10-version "5.10.3") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version @@ -359,28 +360,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hh27ccqimagr3aij7ygwikxw66y63sqwd0xlf49bhpjd090r9a7"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "0p2fl7kl4ckphq17xir7n7vgrzlhbdqmyd2yyp4yilwvih9625pd"))) + (hash (base32 "09cml495fnf52lhlkjxjznw34q5s8arvq7shkb6wjq6fwlrk65gr"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.9-version "5.9.15") -(define deblob-scripts-5.9 - (linux-libre-deblob-scripts - linux-libre-5.9-version - (base32 "1l0iw2lp6alk0a8nvdafklyks83iiyw4b2r5xif84z47qfbydsis") - (base32 "1vrv78xwcy32b82plkkbpyfxhpy3br7b18sjah4iqv25fxfcxpak"))) -(define-public linux-libre-5.9-pristine-source - (let ((version linux-libre-5.9-version) - (hash (base32 "1vhaayqjv1ha3nsxy9zbsz497ba4d4a1g0gfhgxcvci8dp8djh2p"))) - (make-linux-libre-source version - (%upstream-linux-source version hash) - deblob-scripts-5.9))) - ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.4-version "5.4.84") +(define-public linux-libre-5.4-version "5.4.85") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version @@ -388,7 +376,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "058mhczv6whjwxn7jjh1c6n5zrqjdnvbl2mp7jkfrg6frpvgr189"))) + (hash (base32 "0220k327aa7gg48fqw171mcng8h717c4a1v14r3q36ksirnmiqqx"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) @@ -478,11 +466,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (list %boot-logo-patch %linux-libre-arm-export-__sync_icache_dcache-patch))) -(define-public linux-libre-5.9-source - (source-with-patches linux-libre-5.9-pristine-source - (list %boot-logo-patch - %linux-libre-arm-export-__sync_icache_dcache-patch))) - (define-public linux-libre-5.4-source (source-with-patches linux-libre-5.4-pristine-source (list %boot-logo-patch @@ -586,10 +569,6 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (make-linux-libre-headers* linux-libre-5.10-version linux-libre-5.10-source)) -(define-public linux-libre-headers-5.9 - (make-linux-libre-headers* linux-libre-5.9-version - linux-libre-5.9-source)) - (define-public linux-libre-headers-5.4 (make-linux-libre-headers* linux-libre-5.4-version linux-libre-5.4-source)) @@ -888,12 +867,6 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-source linux-libre-5.10-source) (define-public linux-libre linux-libre-5.10) -(define-public linux-libre-5.9 - (make-linux-libre* linux-libre-5.9-version - linux-libre-5.9-source - '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") - #:configuration-file kernel-config)) - (define-public linux-libre-5.4 (make-linux-libre* linux-libre-5.4-version linux-libre-5.4-source @@ -930,6 +903,14 @@ It has been modified to remove all non-free binary blobs.") ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)) %default-extra-linux-options))) +;; Linux-Libre-LTS means the *current* long-term support version of Linux-Libre. +;; Reference: https://jxself.org/linux-libre/ + +(define-public linux-libre-lts-version linux-libre-5.10-version) +(define-public linux-libre-lts-pristine-source linux-libre-5.10-pristine-source) +(define-public linux-libre-lts-source linux-libre-5.10-source) +(define-public linux-libre-lts linux-libre-5.10) + ;;; ;;; Specialized kernel variants. @@ -1119,8 +1100,8 @@ and should be used with caution, especially on untested models.") (license license:gpl3+))) ; see README.md (no licence headers) (define-public rtl8812au-aircrack-ng-linux-module - (let ((commit "e9fbf5c051453941bbc029810b893a6c010714e6") - (revision "2")) + (let ((commit "62cb003043e4daeeba0b8805137fa604af450ed2") + (revision "3")) (package (name "rtl8812au-aircrack-ng-linux-module") (version (git-version "5.6.4.2" revision commit)) @@ -1132,7 +1113,7 @@ and should be used with caution, especially on untested models.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0y71q7ajwz1w38gdmxd4p05hhkqndq504nndy6vfa16fxz6pqxhn")) + (base32 "1kragxkjprjy7nl9h2rd0mwcry1ygw07zb1p2qkj7cmz0r2035yz")) (modules '((guix build utils))) (snippet '(begin @@ -5096,7 +5077,7 @@ disks and SD cards. This package provides the userland utilities.") (package (inherit f2fs-tools-1.7) (name "f2fs-tools") - (version "1.13.0") + (version "1.14.0") (source (origin (method url-fetch) (uri (string-append @@ -5104,7 +5085,7 @@ disks and SD cards. This package provides the userland utilities.") "/f2fs-tools.git/snapshot/f2fs-tools-" version ".tar.gz")) (sha256 (base32 - "0z9c0y3qq75iyqknl5k0v7v46l8c3pcifpqb0yqalrs24blkm7dk")))) + "1lab1446c78xsjwhpki7s85z4171m8p9279c8yhm4882wba674k1")))) (inputs `(("libuuid" ,util-linux "lib"))))) @@ -5118,9 +5099,10 @@ disks and SD cards. This package provides the userland utilities.") (let ((libuuid-static (assoc-ref %build-inputs "libuuid:static")) (libuuid (assoc-ref %build-inputs "libuuid"))) (list - (string-append "libuuid_CFLAGS=-I" libuuid "/include") + (string-append "libuuid_CFLAGS=-I" libuuid "/include/uuid") (string-append "libuuid_LIBS=-L" libuuid-static "/lib -luuid") - (string-append "libblkid_CFLAGS=-I" libuuid "/include") + (string-append "libblkid_CFLAGS=-I" libuuid "/include/uuid " + "-I" libuuid "/include/blkid") (string-append "libblkid_LIBS=-L" libuuid-static "/lib -lblkid"))) #:disallowed-references (,util-linux) #:phases @@ -6021,14 +6003,14 @@ running boot option, and more.") (define-public sysstat (package (name "sysstat") - (version "12.4.1") + (version "12.4.2") (source (origin (method url-fetch) (uri (string-append "http://pagesperso-orange.fr/sebastien.godard/" "sysstat-" version ".tar.xz")) (sha256 - (base32 "02yf2c9n56c3ic72r4p4kb99zjxr8fldvsnmcy7s262izx78vbr4")))) + (base32 "13q1zb7ip389b35rcgy2ngf1z9zhdmdwx5bv9lwfnl1xi30v409p")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite. @@ -6999,10 +6981,35 @@ communicate with the kernel. It can be used to add and remove interfaces, set IP addresses and routes, and configure IPsec.") (license license:asl2.0))) +(define-public libinih + (package + (name "libinih") + (version "52") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/benhoyt/inih") + (commit (string-append "r" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lsvm34zabvi1xlximybzvgc58zb90mm3b9babwxlqs05jy871m4")))) + (build-system meson-build-system) + (arguments + '(#:configure-flags '("-Ddistro_install=true" "-Ddefault_library=shared"))) + (home-page "https://github.com/benhoyt/inih") + (synopsis "Simple .INI parser library for C") + (description "The inih (INI Not Invented Here) library is a simple .INI file +parser written in C. It's only a couple of pages of code, and it was designed to +be small and simple, so it's good for embedded systems. It's also more or less +compatible with Python's ConfigParser style of .INI files, including RFC +822-style multi-line syntax and name: value entries.") + (license license:bsd-3))) + (define-public xfsprogs (package (name "xfsprogs") - (version "5.9.0") + (version "5.10.0") (source (origin (method url-fetch) (uri (string-append @@ -7010,7 +7017,7 @@ IP addresses and routes, and configure IPsec.") "xfsprogs-" version ".tar.gz")) (sha256 (base32 - "13xkn9jpmwp4fm9r68vhgznkmxhnv83n2b39mhy2qdaph90w2a1l")))) + "1wcvcv9fl955g3zl68057hq7pp9bm7i733vc7j6xr6wnfd8qf6sr")))) (build-system gnu-build-system) (outputs (list "out" "python")) (arguments @@ -7034,7 +7041,8 @@ IP addresses and routes, and configure IPsec.") (native-inputs `(("gettext" ,gettext-minimal))) (inputs - `(("libuuid" ,util-linux "lib") + `(("libinih" ,libinih) + ("libuuid" ,util-linux "lib") ("python" ,python-wrapper))) (home-page "https://xfs.wiki.kernel.org/") (synopsis "XFS file system tools") @@ -7641,13 +7649,13 @@ receiving. It is dedicated to the PL011 UART of the Raspberry Pi.") (define-public ipset (package (name "ipset") - (version "7.9") + (version "7.10") (source (origin (method url-fetch) (uri (string-append "https://ipset.netfilter.org/ipset-" version ".tar.bz2")) (sha256 (base32 - "02mkp7vmsh609dcp02xi290sxmsgq2fsch3875dxkwfxkrl16p5p")))) + "1xlwgsy06jx0bckc5r2wvyys8jfpc5klfqqqshmk5zp28fx0cjdj")))) (build-system gnu-build-system) (inputs `(("libmnl" ,libmnl))) diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index a2a7cf576a..c9f3794c19 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -455,6 +455,41 @@ compatible with ANSI-compliant Common Lisp implementations.") (define-public ecl-cl-ppcre (sbcl-package->ecl-package sbcl-cl-ppcre)) +(define-public sbcl-uax-15 + (let ((commit "e7439a91b72f533fcf736643e3ff0677b56c2e7d") + (revision "1")) + (package + (name "sbcl-uax-15") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sabracrolleton/uax-15") + (commit commit))) + (file-name (git-file-name "uax-15" version)) + (sha256 + (base32 "1vf8a2aikgx0l5bsq0z9s0dw3sgx1887xhagdlf66fwffa5jskg6")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("cl-ppcre" ,sbcl-cl-ppcre) + ("split-sequence" ,sbcl-split-sequence))) + (arguments + `(#:asd-systems '("uax-15"))) + (home-page "https://github.com/sabracrolleton/uax-15") + (synopsis "Common Lisp implementation of unicode normalization functions") + (description "This package provides supports for unicode normalization, +RFC8264 and RFC7564.") + (license license:expat)))) + +(define-public cl-uax-15 + (sbcl-package->cl-source-package sbcl-uax-15)) + +(define-public ecl-uax-15 + (sbcl-package->ecl-package sbcl-uax-15)) + (define-public sbcl-cl-unicode (package (name "sbcl-cl-unicode") @@ -2918,6 +2953,33 @@ Lisp, featuring: (define-public ecl-cl-markup (sbcl-package->ecl-package sbcl-cl-markup)) +(define-public sbcl-cl-mustache + (package + (name "sbcl-cl-mustache") + (version "0.12.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kanru/cl-mustache") + (commit (string-append "v" version)))) + (file-name (git-file-name "cl-mustache" version)) + (sha256 + (base32 "149xbb6wxq1napliwm9cv729hwcgfnjli6y8hingfixz7f10lhks")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/kanru/cl-mustache") + (synopsis "Common Lisp Mustache template renderer") + (description "This is a Common Lisp implementation for the Mustache +template system. More details on the standard are available at +@url{https://mustache.github.io}.") + (license license:expat))) + +(define-public cl-mustache + (sbcl-package->cl-source-package sbcl-cl-mustache)) + +(define-public ecl-cl-mustache + (sbcl-package->ecl-package sbcl-cl-mustache)) + (define-public sbcl-cl-css (let ((commit "8fe654c8f0cf95b300718101cce4feb517f78e2f")) (package @@ -12636,3 +12698,48 @@ library are feedforward neural networks trained using backpropagation.") (define-public ecl-simple-neural-network (sbcl-package->ecl-package sbcl-simple-neural-network)) + +(define-public sbcl-zstd + (let ((commit "d144582c581aaa52bac24d6686af27fa3e781e06") + (revision "1")) + (package + (name "sbcl-zstd") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/glv2/cl-zstd") + (commit commit))) + (file-name (git-file-name "cl-zstd" version)) + (sha256 + (base32 "1774jy8hzbi6nih3sq6vchk66f7g8w86dwgpbvljyfzcnkcaz6ql")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (inputs + `(("cffi" ,sbcl-cffi) + ("cl-octet-streams" ,sbcl-cl-octet-streams) + ("zstd-lib" ,zstd "lib"))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/libzstd.lisp" + (("libzstd\\.so") + (string-append (assoc-ref inputs "zstd-lib") + "/lib/libzstd.so"))) + #t))))) + (synopsis "Common Lisp library for Zstandard (de)compression") + (description + "This Common Lisp library provides functions for Zstandard +compression/decompression using bindings to the libzstd C library.") + (home-page "https://github.com/glv2/cl-zstd") + (license license:gpl3+)))) + +(define-public cl-zstd + (sbcl-package->cl-source-package sbcl-zstd)) + +(define-public ecl-zstd + (sbcl-package->ecl-package sbcl-zstd)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index f250e8804b..9753926d13 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -840,7 +840,7 @@ enough to play the original mainframe Zork all the way through.") (define-public txr (package (name "txr") - (version "244") + (version "245") (source (origin (method git-fetch) @@ -849,7 +849,7 @@ enough to play the original mainframe Zork all the way through.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1bzhb1pms6gjzphbsimhwdyq46ik1m7sgldigg5l1q7bppg9r3i0")))) + (base32 "1pnajvqhzjlw0rwwhhk4hyps5pbg9njh10iqhnmvl1xnah6ff94z")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 39217e1869..87283f3752 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -215,3 +215,19 @@ library.") ;; spdlog is under Expat license, but the bundled fmt library in ;; "include/spdlog/fmt/bundled" is under BSD 2 clause license. (license (list license:expat license:bsd-2)))) + +(define-public spdlog-1.7 + (package + (inherit spdlog) + (name "spdlog") + (version "1.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gabime/spdlog") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ryaa22ppj60461hcdb8nk7jwj84arp4iw4lyw594py92g4vnx3j")))))) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 5d6da69fae..950090afcb 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Simon South <simon@simonsouth.net> +;;; Copyright © 2020 Paul A. Patience <paul@apatience.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1061,3 +1062,41 @@ signals to Linux processes.") (description "This package provides Lua module for nonblocking system shell command executions.") (license license:bsd-3))) + +(define-public fennel + (package + (name "fennel") + (version "0.7.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~technomancy/fennel") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17pdcwhfw754fblppw46qphnsvxrn3b7066cz54lv8c0c12iryim")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file "fennelview.lua") #t)))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:test-target "test" + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'build 'patch-fennel + (lambda _ + (substitute* "fennel" + (("/usr/bin/env lua") (which "lua"))) + #t))))) + (inputs `(("lua" ,lua))) + (home-page "https://fennel-lang.org/") + (synopsis "A Lisp that compiles to Lua") + (description + "Fennel is a programming language that brings together the speed, +simplicity, and reach of Lua with the flexibility of a Lisp syntax and macro +system.") + (license license:expat))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f85713433e..9bbf567aef 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2877,14 +2877,14 @@ from the Cyrus IMAP project.") (define-public opensmtpd (package (name "opensmtpd") - (version "6.7.1p1") + (version "6.8.0p2") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "1jh8vxfajm1mvp1v5yh6llrhjzv0n9fgab88mlwllwqynhcfjy3l")))) + (base32 "05sd7bmq29ibnqbl2z53hiyprfxzf0qydfdaixs68rz55wqhbgsi")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb) @@ -2911,17 +2911,17 @@ from the Cyrus IMAP project.") ;; See: https://github.com/OpenSMTPD/OpenSMTPD/issues/1069. (add-after 'unpack 'fix-smtpctl-encrypt-bug (lambda _ - (substitute* "smtpd/smtpctl.c" + (substitute* "usr.sbin/smtpd/smtpctl.c" (("\"encrypt\", \"--\",") "\"encrypt\",")) #t)) ;; Fix some incorrectly hard-coded external tool file names. (add-after 'unpack 'patch-FHS-file-names (lambda _ - (substitute* "smtpd/smtpctl.c" + (substitute* "usr.sbin/smtpd/smtpctl.c" ;; ‘gzcat’ is auto-detected at compile time, but ‘cat’ isn't. (("/bin/cat") (which "cat"))) - (substitute* "smtpd/mda_unpriv.c" + (substitute* "usr.sbin/smtpd/mda_unpriv.c" (("/bin/sh") (which "sh"))) #t)) ;; OpenSMTPD provides a single smtpctl utility to control both the diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 0eadd9d153..894272b2b9 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -223,7 +223,7 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "5.09") + (version "5.10") (source (origin (method url-fetch) @@ -233,7 +233,7 @@ the traditional flat-text whatis databases.") (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/" "man-pages-" version ".tar.xz"))) (sha256 - (base32 "1whbxim4diyan97y9pz9k4ck16rmjalw5i1m0dg6ycv3pxv386nz")))) + (base32 "0ql7fqs0w2nbwv1b6ffnzyjz1sysvkhq8kb77wi2z7qip8sja43m")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 5dbd8b8b51..b54cd6dff1 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1906,7 +1906,7 @@ can solve two kinds of problems: (define-public octave-cli (package (name "octave-cli") - (version "5.2.0") + (version "6.1.0") (source (origin (method url-fetch) @@ -1914,7 +1914,7 @@ can solve two kinds of problems: version ".tar.lz")) (sha256 (base32 - "1848dq6nxzal8gwjrcp6xhi5gq96w89nss9d9rz75q408gb3mbl6")))) + "0355s0pi8603ccs2j08zym3nalgalslxn83s37zq8nkrrkwxrjfk")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 1393843e57..946be3bfa5 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -62,6 +62,7 @@ #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages databases) + #:use-module (gnu packages docbook) #:use-module (gnu packages documentation) #:use-module (gnu packages enchant) #:use-module (gnu packages fontutils) @@ -126,6 +127,197 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public libgnt + (package + (name "libgnt") + (version "2.14.0") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/pidgin/libgnt/" + version "/libgnt-" version ".tar.xz")) + (sha256 + (base32 "1grs9fxl404rscscxk1ff55fzjnwjqrisjxbasbssmcp1h1s4zkb")))) + (build-system meson-build-system) + (outputs '("out" "doc")) + (arguments + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-ncurses-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "meson.build" + (("'/usr'") + (string-append "'" + (assoc-ref inputs "ncurses") + "'"))) + #t)) + (add-before 'configure 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "doc" + (substitute* "libgnt-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t)))))) + (native-inputs + `(("docbook-xml" ,docbook-xml-4.1.2) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (inputs + `(("ncurses" ,ncurses))) + (propagated-inputs + `(("glib" ,glib) + ("libxml" ,libxml2) + ("python" ,python-2))) + (synopsis "GLib Ncurses Toolkit") + (description "GNT is an ncurses toolkit for creating text-mode graphical +user interfaces in a fast and easy way. It is based on GLib and ncurses.") + (home-page "https://keep.imfreedom.org/libgnt/libgnt") + (license license:gpl2+))) + +(define-public libgadu + (package + (name "libgadu") + (version "1.12.2") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/wojtekka/libgadu.git") + (commit version))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1s16cripy5w9k12534qb012iwc5m9qcjyrywgsziyn3kl3i0aa8h")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + "--disable-static") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-shebangs + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "protobufgen.sh" + (("/bin/sh") + (string-append (assoc-ref inputs "bash") + "/bin/sh"))) + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bash" ,bash) + ("doxygen" ,doxygen) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("expat" ,expat) + ("libprotobuf-c" ,protobuf-c) + ("libxml" ,libxml2) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (propagated-inputs + `(("gnutls" ,gnutls))) + (synopsis "Library for handling the protocol of Gadu-Gadu") + (description "LibGadu is library for handling Gadu-Gadu instant messenger +protocol. The library is written in C and aims to be operating system and +environment independent.") + (home-page "https://libgadu.net/index.en.html") + (license license:lgpl2.1+))) + +(define-public silc-toolkit + (package + (name "silc-toolkit") + (version "1.1.12") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/silc/silc/toolkit/sources/silc-toolkit-" + version ".tar.gz")) + (sha256 + (base32 "0mnvf9n7qriadg0p7a8qmvcayhnns2g9fhmcymavlm0v8xrky33y")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + "--disable-static" + "--enable-ipv6" + "--enable-stack-trace") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'trigger-bootstrap + (lambda _ + (delete-file "configure") + (delete-file "Makefile.in") + #t))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("perl" ,perl) + ("pkg-config" ,pkg-config))) + (synopsis "SILC ToolKit") + (description "SILC (Secure Internet Live Conferencing) is a modern and secure +conferencing protocol. It provides all the common conferencing services like +private messages, instant messages, channels and groups, and video and audio +conferencing.") + (home-page "https://silc.github.io/info") + (license + ;; Dual-licensed + (list + license:gpl2+ + license:bsd-2)))) + +(define-public meanwhile + (package + (name "meanwhile") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/obriencj/meanwhile.git") + (commit + (string-append "v" version)))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "1k1gvmx1ikm0y1mdmm495rzkb00pl170jfaf2dy0n5aiiknkk7q3")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("doxygen" ,doxygen) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib))) + (synopsis "Library for Lotus Instant Messaging") + (description "Meanwhile is a library for connecting to a LIM (Lotus Instant +Messaging, formerly Lotus Sametime, formerly VPBuddy) community. It uses a +protocol based in part off of the IMPP draft(*1), and in part off of traces of +TCP sessions from existing clients.") + (home-page "https://github.com/obriencj/meanwhile") + (license license:lgpl3))) + (define-public poezio (package (name "poezio") diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 4bdbe8b487..c32b3cba11 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -81,7 +81,25 @@ (lambda _ ;; remove option that is not supported by gcc any more (substitute* "configure" ((" -fforce-mem") "")) - #t))))) + #t)) + (add-after 'install 'install-pkg-config + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pkg-config-dir (string-append out "/lib/pkgconfig"))) + (mkdir-p pkg-config-dir) + (with-output-to-file (string-append pkg-config-dir "/mad.pc") + (lambda _ + (format #t + "prefix=~@*~a~@ + libdir=${prefix}/lib~@ + includedir=${prefix}/include~@ + + Name: libmad~@ + Description:~@ + Version: ~a~@ + Libs: -L${libdir} -lmad~@ + Cflags: -I${includedir}~%" + out ,version))))))))) (synopsis "MPEG audio decoder") (description "MAD (MPEG Audio Decoder) supports MPEG-1 and the MPEG-2 extension to @@ -106,6 +124,27 @@ This package contains the library.") (base32 "0lb1w883dc46dajbdvnia5870brl5lvnlk7g7y58y9wpg5p4znk3")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-pkg-config + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pkg-config-dir (string-append out "/lib/pkgconfig"))) + (mkdir-p pkg-config-dir) + (with-output-to-file (string-append pkg-config-dir "/id3tag.pc") + (lambda _ + (format #t + "prefix=~@*~a~@ + libdir=${prefix}/lib~@ + includedir=${prefix}/include~@ + + Name: libid3tag~@ + Description:~@ + Version: ~a~@ + Libs: -L${libdir} -lid3tag -lz~@ + Cflags: -I${includedir}~%" + out ,version))))))))) (inputs `(("zlib" ,zlib))) (synopsis "Library for reading ID3 tags") (description @@ -325,7 +364,7 @@ This package contains the binary.") (define-public mpg123 (package (name "mpg123") - (version "1.26.3") + (version "1.26.4") (source (origin (method url-fetch) @@ -335,7 +374,7 @@ This package contains the binary.") "https://www.mpg123.org/download/mpg123-" version ".tar.bz2"))) (sha256 - (base32 "0vkcfdx0mqq6lmpczsmpa2jsb0s6dryx3i7gvr32i3w9b9w9ij9h")))) + (base32 "0m34hjssgslcsns8lj1n7f32iyiw547qgba9j2r6d9pp1ma92688")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-default-audio=pulse"))) (native-inputs @@ -389,6 +428,27 @@ use with CD-recording software).") (base32 "07nsn5sy3a8xbmw1bidxnsj5fj6kg9ai04icmqw40ybkp353dznx")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-pkg-config + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pkg-config-dir (string-append out "/lib/pkgconfig"))) + (mkdir-p pkg-config-dir) + (with-output-to-file (string-append pkg-config-dir "/lame.pc") + (lambda _ + (format #t + "prefix=~@*~a~@ + libdir=${prefix}/lib~@ + includedir=${prefix}/include~@ + + Name: lame~@ + Description:~@ + Version: ~a~@ + Libs: -L${libdir} -lmp3lame~@ + Cflags: -I${includedir}~%" + out ,version))))))))) (home-page "http://lame.sourceforge.net/") (synopsis "MPEG Audio Layer III (MP3) encoder") (description "LAME is a high quality MPEG Audio Layer III (MP3) encoder.") diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index c85957352a..1e6da43cba 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1748,7 +1748,7 @@ your own lessons.") (define-public powertabeditor (package (name "powertabeditor") - (version "2.0.0-alpha13") + (version "2.0.0-alpha14") (source (origin (method git-fetch) (uri (git-reference @@ -1757,12 +1757,17 @@ your own lessons.") (file-name (git-file-name name version)) (sha256 (base32 - "12il5xzgg53ick5k4ivvvqdagld5pgigiiz6s829kkdaymqr7vx5")))) + "1wsvni2aa9h2bpndlic7ckch4n600ahwm56n521y5vxivwjx3jmj")))) (build-system cmake-build-system) (arguments `(#:phases (modify-phases %standard-phases - (replace 'check (lambda _ (invoke "bin/pte_tests")))))) + (replace 'check (lambda _ (invoke "bin/pte_tests"))) + (add-after 'unpack 'fix-pugixml-detection + (lambda _ + (substitute* "cmake/third_party/pugixml.cmake" + (("add_library") "#add_library")) + #t))))) (inputs `(("alsa-lib" ,alsa-lib) ("boost" ,boost) @@ -2406,8 +2411,25 @@ main purpose is to liberate raw audio rendering from audio and MIDI drivers.") (let* ((out (assoc-ref outputs "out")) (lib (string-append out "/lib"))) (with-directory-excursion lib - (symlink "libportmidi.so" "libporttime.so"))) - #t))))) + (symlink "libportmidi.so" "libporttime.so"))))) + (add-after 'install 'install-pkg-config + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (pkg-config-dir (string-append out "/lib/pkgconfig"))) + (mkdir-p pkg-config-dir) + (with-output-to-file (string-append pkg-config-dir "/portmidi.pc") + (lambda _ + (format #t + "prefix=~@*~a~@ + libdir=${prefix}/lib~@ + includedir=${prefix}/include~@ + + Name: portmidi~@ + Description:~@ + Version: ~a~@ + Libs: -L${libdir} -lportmidi~@ + Cflags: -I${includedir}~%" + out ,version))))))))) (inputs `(("alsa-lib" ,alsa-lib))) (native-inputs @@ -2456,7 +2478,7 @@ using a system-independent interface.") (define-public frescobaldi (package (name "frescobaldi") - (version "3.1.2") + (version "3.1.3") (source (origin (method url-fetch) @@ -2464,7 +2486,7 @@ using a system-independent interface.") "https://github.com/wbsoft/frescobaldi/releases/download/v" version "/frescobaldi-" version ".tar.gz")) (sha256 - (base32 "084vxzvxnxl5rrhllincnh6krsyi03c8p0452ppzmn9c52wgyb2w")))) + (base32 "1hg9yc8kj445fjsby92g3qf50crcl1pb079zfma18sb7ycv50zww")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;no tests included @@ -4561,14 +4583,14 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "20.06") + (version "20.12") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/rosegarden/rosegarden/" version "/rosegarden-" version ".tar.bz2")) (sha256 - (base32 "1i9x9rkqwwdrk77xl5ra8i48cjirbc7fbisnj0nnclccwaq0wk6r")))) + (base32 "0nqw2caxmv6mqh485wzvywa024yvi18q87sd4dw9b2l5qnpq8rl8")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index 7b2ab991cf..a79e83f587 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -237,7 +237,7 @@ ncursesw library provides wide character support.") (define-public dialog (package (name "dialog") - (version "1.3-20200228") + (version "1.3-20201126") (source (origin (method url-fetch) (uri (string-append @@ -245,10 +245,8 @@ ncursesw library provides wide character support.") version ".tgz")) (sha256 (base32 - "1n8zbkigbzxw8gkw7qhzwzdyc7rbc7a0jcfy9z8ib7pf3qfw9y4z")))) + "0riqmp2xl2j2yxx69nyg8jbm2fyi5fp4clcf6zi5jfm3irn3l8y9")))) (build-system gnu-build-system) - (arguments - `(#:tests? #f)) ; no test suite (inputs `(("ncurses" ,ncurses))) (synopsis "Curses widgets") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index d3f47da163..30b17da069 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -702,6 +702,13 @@ or, more generally, MAC addresses of the same category of hardware.") (arguments '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-iproute2 + (lambda* (#:key inputs #:allow-other-keys) + (let* ((iproute (assoc-ref inputs "iproute")) + (ip (string-append iproute "/sbin/ip"))) + (substitute* "misc/client-hook.iproute" + (("/sbin/ip") ip)) + #t))) ;; The checkconf test in src/ requires network access. (add-before 'check 'disable-checkconf-test @@ -709,6 +716,8 @@ or, more generally, MAC addresses of the same category of hardware.") (substitute* "src/Makefile" (("^TESTS = .*") "TESTS = \n")) #t))))) + (inputs + `(("iproute" ,iproute))) (home-page "https://www.remlab.net/miredo/") (synopsis "Teredo IPv6 tunneling software") (description @@ -1295,18 +1304,21 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.5.6") + (version "5.5.7") (source (origin - (method url-fetch) - (uri (string-append "mirror://debian/pool/main/w/whois/" - "whois_" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/rfc1036/whois") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0kpi981zjczvdcxfcq455c529vlaxa73x8kbm530z5b01h0fk8fb")))) + (base32 "1w3d0ffl0ng1m4i10k968kk4xicviq24w5vwl6d8dhja61d7yd2r")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite - #:make-flags (list "CC=gcc" + #:make-flags (list (string-append "CC=" ,(cc-for-target)) + (string-append "PKG_CONFIG=" ,(pkg-config-for-target)) (string-append "prefix=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases @@ -2066,30 +2078,6 @@ It is intended primarily for use in testing.") (description "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses.") (license license:gpl1+))) -;; TODO: Use the geolite-mirror-simple.pl script from the example -;; directory to stay current with the databases. How? -(define-public perl-geo-ip - (package - (name "perl-geo-ip") - (version "1.51") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-" - version - ".tar.gz")) - (sha256 - (base32 - "1fka8fr7fw6sh3xa9glhs1zjg3s2gfkhi7n7da1l2m2wblqj0c0n")))) - (build-system perl-build-system) - (home-page "https://metacpan.org/release/Geo-IP") - (synopsis - "Look up location and network information by IP Address in Perl") - (description "The Perl module @code{Geo::IP}. It looks up location and -network information by IP Address.") - (license license:perl-license))) - (define-public perl-io-socket-inet6 (package (name "perl-io-socket-inet6") diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 66ef4f0905..1ecf76b62a 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -170,6 +171,14 @@ (target (readlink npm))) (with-directory-excursion bindir (patch-shebang target (list bindir)) + #t)))) + (add-after 'install 'patch-node-shebang + (lambda* (#:key outputs #:allow-other-keys) + (let* ((bindir (string-append (assoc-ref outputs "out") + "/bin")) + (npx (readlink (string-append bindir "/npx")))) + (with-directory-excursion bindir + (patch-shebang npx (list bindir)) #t))))))) (native-inputs `(("python" ,python-2) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 801d74627b..c2f2f1abb6 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -131,8 +132,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.2.0") - (commit "4f621a2b003e85d480999e4d0630e9dc3de85bc3") - (revision 7)) + (commit "7624ebbae33cf49dded5e9032ed426781c9554f6") + (revision 8)) (package (name "guix") @@ -148,7 +149,7 @@ (commit commit))) (sha256 (base32 - "0ks6sdbxk4as4d3jz6jzgn5l476cr4cqxf3imjfgwiy3lk4502sj")) + "0dd28df278fzlwxk1c0n86q98q8q8cj6g87as8v4rymyprf4gyjc")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -680,7 +681,7 @@ features of Stow with some extensions.") (define-public rpm (package (name "rpm") - (version "4.14.2.1") + (version "4.16.1.2") (source (origin (method url-fetch) (uri (string-append "http://ftp.rpm.org/releases/rpm-" @@ -688,7 +689,7 @@ features of Stow with some extensions.") version ".tar.bz2")) (sha256 (base32 - "1nmck2fq9h85fgs3zhh6w1avlw5y16cbz5khd459ry3jfd5w4f8i")))) + "1k6ank2aad7r503w12m6m494mxr6iccj52wqhwbc94pwxsf34mw3")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-external-db" ;use the system's bdb @@ -712,6 +713,7 @@ features of Stow with some extensions.") ("nss" ,nss) ("nspr" ,nspr) ("libarchive" ,libarchive) + ("libgcrypt" ,libgcrypt) ("file" ,file) ("bzip2" ,bzip2) ("zlib" ,zlib) @@ -1026,8 +1028,8 @@ environments.") (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) (define-public guix-build-coordinator - (let ((commit "9128f96ced76bd01c87fb766c3b30dc3b2100d42") - (revision "11")) + (let ((commit "c33d3f570bd32afc2def410067db6b92ad6aff0a") + (revision "12")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1038,7 +1040,7 @@ environments.") (commit commit))) (sha256 (base32 - "1fgc6kjnqjc9n9mz9ki7ap772n3c1fahd0m6nxqk7a45yi5y5car")) + "01mr211s1nb9hhm6784ibp87g59wifajcclbss3ry7i3qsbvg22j")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1068,6 +1070,7 @@ environments.") (wrap-program file `("PATH" ":" prefix (,bin + ,(dirname (which "nproc")) ; used by the agent ;; Support building without sqitch as an input, as it ;; can't be cross-compiled yet ,@(or (and=> (assoc-ref inputs "sqitch") diff --git a/gnu/packages/patches/audacity-add-include.patch b/gnu/packages/patches/audacity-add-include.patch new file mode 100644 index 0000000000..a7f27918e7 --- /dev/null +++ b/gnu/packages/patches/audacity-add-include.patch @@ -0,0 +1,15 @@ +Without <sys/time.h>, gettimeofday is undefined. + +diff --git a/src/AudioIO.cpp b/src/AudioIO.cpp +index 0187e3962..e15d55f4c 100644 +--- a/src/AudioIO.cpp ++++ b/src/AudioIO.cpp +@@ -479,6 +479,8 @@ time warp info and AudioIOListener and whether the playback is looped. + #include "../lib-src/portmidi/porttime/porttime.h" + #include "../lib-src/header-substitutes/allegro.h" + ++#include <sys/time.h> ++ + #define MIDI_SLEEP 10 /* milliseconds */ + // how long do we think the thread that fills MIDI buffers, + // if it is separate from the portaudio thread, diff --git a/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch index 7079fa8c3c..e4f660000d 100644 --- a/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch +++ b/gnu/packages/patches/dbxfs-remove-sentry-sdk.patch @@ -54,7 +54,7 @@ index 89e25c6..f940d47 100644 @@ -43,7 +43,6 @@ setup( "privy>=6.0,<7", "keyring>=15.1.0", - "keyrings.alt>=3.1,<4", + "keyrings.alt>=3.1,<5", - "sentry_sdk>=0.3,<1", ], extras_require={ diff --git a/gnu/packages/patches/shakespeare-spl-fix-grammar.patch b/gnu/packages/patches/shakespeare-spl-fix-grammar.patch new file mode 100644 index 0000000000..737c0eb8c1 --- /dev/null +++ b/gnu/packages/patches/shakespeare-spl-fix-grammar.patch @@ -0,0 +1,16 @@ +ROMAN_HUNDREDS, ROMAN_TENS and ROMAN_ONES seem to use syntax, that is not +recognized (any longer?) by flex, so let's expand their definitions. + +Index: spl-1.2.1/include/roman_numbers.metaflex +=================================================================== +--- spl-1.2.1.orig/include/roman_numbers.metaflex ++++ spl-1.2.1/include/roman_numbers.metaflex +@@ -1,5 +1,5 @@ + ROMAN_THOUSANDS m+ +-ROMAN_HUNDREDS (c(d|m)|dc{0,3}|c{1,3}) +-ROMAN_TENS (x(l|c)|lx{0,3}|x{1,3}) +-ROMAN_ONES (i(v|x)|vi{0,3}|i{1,3}) ++ROMAN_HUNDREDS (c(d|m|c?c?)|dc?c?c?) ++ROMAN_TENS (x(l|c|x?x?)|lx?x?x?) ++ROMAN_ONES (i(v|x|i?i?)|vi?i?i?) + ROMAN_NUMBER {ROMAN_ONES}|{ROMAN_TENS}{ROMAN_ONES}?|{ROMAN_HUNDREDS}{ROMAN_TENS}?{ROMAN_ONES}?|{ROMAN_THOUSANDS}{ROMAN_HUNDREDS}?{ROMAN_TENS}?{ROMAN_ONES}? diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 7db90a2979..1354c860a5 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -321,7 +321,7 @@ you to figure out what is going on in that merge you keep avoiding.") (define-public patchwork (package (name "patchwork") - (version "2.2.3") + (version "3.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -330,7 +330,7 @@ you to figure out what is going on in that merge you keep avoiding.") (file-name (git-file-name name version)) (sha256 (base32 - "0rc1ylg2p4mlj1gsz4cgk6kwijdzgzdk29w3bnzywsvyxrdn4bc3")))) + "005irr5xsjpp3wrvvqs2xyr14ig9vp3h4v0qixhj1b8v69cfrgpi")))) (build-system python-build-system) (arguments `(;; TODO: Tests require a running database diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index a06f351aae..224bd792bd 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -889,7 +889,7 @@ using a stylus.") (define-public xournalpp (package (name "xournalpp") - (version "1.0.19") + (version "1.0.20") (source (origin (method git-fetch) @@ -898,7 +898,7 @@ using a stylus.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "05nx4cmrka6hwdn7r91yy4h46qpa9k7iy9dkgaq3hrkh9z3fxlkq")))) + (base32 "1c7n03xm3m4lwcwxgplkn25i8c6s3i7rijbkcx86br1j4jadcs3k")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DENABLE_CPPUNIT=ON") ;enable tests diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 677d0ed95e..5402826fd6 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages boost) + #:use-module (gnu packages check) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages cups) @@ -75,6 +76,7 @@ #:use-module (gnu packages python-web) #:use-module (gnu packages qt) #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages sqlite) #:use-module (gnu packages tex) #:use-module (gnu packages time) @@ -467,7 +469,7 @@ photographic equipment.") (define-public darktable (package (name "darktable") - (version "3.2.1") + (version "3.4.0") (source (origin (method url-fetch) @@ -475,11 +477,11 @@ photographic equipment.") "https://github.com/darktable-org/darktable/releases/" "download/release-" version "/darktable-" version ".tar.xz")) (sha256 - (base32 "035rvqmw386hm0jpi14lf4dnpr5rjkalzjkyprqh42nwi3m86dkf")))) + (base32 "1nmx5lmhp7igav5pswqxmacsbnhgydgvxh1q53wlmyd9bqgxxlvd")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; there are no tests - #:configure-flags '("-DBINARY_PACKAGE_BUILD=On") + `(#:configure-flags '("-DBINARY_PACKAGE_BUILD=On" + "-DBUILD_TESTING=On") #:phases (modify-phases %standard-phases (add-before 'configure 'prepare-build-environment @@ -519,16 +521,19 @@ photographic equipment.") "/lib")))) #t))))) (native-inputs - `(("clang" ,clang-9) + `(("clang" ,clang-11) + ("cmocka" ,cmocka) ("desktop-file-utils" ,desktop-file-utils) ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) - ("llvm" ,llvm-9) ;should match the Clang version + ("llvm" ,llvm-11) ;should match the Clang version ("opencl-headers" ,opencl-headers) ("perl" ,perl) ("pkg-config" ,pkg-config) - ("po4a" ,po4a))) + ("po4a" ,po4a) + ("python" ,python-wrapper) + ("ruby" ,ruby))) (inputs `(("cairo" ,cairo) ("colord-gtk" ,colord-gtk) ;optional, for color profile support diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 4ec5a3e882..622f5fc6e2 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -167,17 +167,19 @@ Callback Hell. (define-public python-aiohttp-socks (package (name "python-aiohttp-socks") - (version "0.2.2") + (version "0.5.5") (source (origin (method url-fetch) (uri (pypi-uri "aiohttp_socks" version)) (sha256 (base32 - "0473702jk66xrgpm28wbdgpnak4v0dh2qmdjw7ky7hf3lwwqkggf")))) + "0jmhb0l1w8k1nishij3awd9zv8zbyb5l35a2pdalrqxxasbhbcif")))) (build-system python-build-system) (propagated-inputs - `(("python-aiohttp" ,python-aiohttp))) + `(("python-aiohttp" ,python-aiohttp) + ("python-attrs" ,python-attrs) + ("python-socks" ,python-socks))) (home-page "https://github.com/romis2012/aiohttp-socks") (synopsis "SOCKS proxy connector for aiohttp") (description "This package provides a SOCKS proxy connector for @@ -2717,14 +2719,14 @@ supports url redirection and retries, and also gzip and deflate decoding.") (package ;; Note: updating awscli typically requires updating botocore as well. (name "awscli") - (version "1.18.183") + (version "1.18.203") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "0n1pmdl33r1v8qnrcg08ihvri9zm4fvsp14605vwmlkxvs8nb7s5")))) + "128zg24961j8nmnq2dxqg6a7zwh3qgv87cmvclsdqwwih9nigxv9")))) (build-system python-build-system) (arguments ;; FIXME: The 'pypi' release does not contain tests. @@ -5595,15 +5597,25 @@ Encoding for HTTP.") '("captcha/2captcha.py" "captcha/9kw.py" "captcha/anticaptcha.py" - "captcha/deathbycaptcha.py" - "interpreters/js2py.py" - "interpreters/v8.py")) + "captcha/deathbycaptcha.py")) (substitute* "__init__.py" ;; Perhaps it's a joke, but don't promote proprietary software. (("([Th]is feature is not available) in the .*'" _ prefix) (string-append prefix ".'"))) #t)))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; XXX: Dependencies, that have not yet been packaged + ;; and cause an import error when included. + (add-after 'unpack 'drop-unsupported-sources + (lambda _ + (with-directory-excursion "cloudscraper" + (for-each delete-file + '("interpreters/js2py.py" + "interpreters/v8.py"))) + #t))))) (propagated-inputs `(("python-requests" ,python-requests) ("python-requests-toolbelt" ,python-requests-toolbelt-0.9.1) @@ -5724,3 +5736,38 @@ that's written to go fast. It allows the usage of the @code{async/await} syntax added in Python 3.5, which makes your code non-blocking and speedy.") (license license:expat))) + +(define-public python-socks + (package + (name "python-socks") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-socks" version)) + (sha256 + (base32 + "06mgv3icsyglv50w3sb71x6cpbskza20pqd93l5xk59x574i6xgs")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; tests not included + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "tests/" "-s")) + #t))))) + (propagated-inputs + `(("python-async-timeout" ,python-async-timeout) + ("python-curio" ,python-curio) + ("python-trio" ,python-trio))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/romis2012/python-socks") + (synopsis + "Core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality for Python") + (description + "Socks is a library providing core proxy (SOCKS4, SOCKS5, HTTP tunneling) + functionality.") + (license license:asl2.0))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index acde5a5e5e..43d767b1f0 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -18704,14 +18704,14 @@ implemented using @code{ctypes}.") (define-public python-userspacefs (package (name "python-userspacefs") - (version "1.0.13") + (version "2.0.2") (source (origin (method url-fetch) (uri (pypi-uri "userspacefs" version)) (sha256 (base32 - "0kyz52jyxw3m7hqvn5g6z0sx9cq6k0nq1wj44lvdrghdljjgyk2z")))) + "0ayfcz9pjwq7h3ws0qas71842s1wm7dxlmg8dccxl2j6yavpv83f")))) (build-system python-build-system) (propagated-inputs `(("python-fusepyng" ,python-fusepyng))) @@ -18722,6 +18722,56 @@ implemented using @code{ctypes}.") user-space file systems in Python.") (license license:gpl3+))) +(define-public python-stone + (package + (name "python-stone") + (version "3.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "stone" version)) + (sha256 + (base32 + "0xby5mpsms7b2rv8j6mvxzmzz5i9ii01brb9ylxz6kiv2i08piwv")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-version-requirements + (lambda _ + ;; Match the requirement in test/requirements.txt + (substitute* "setup.py" + (("pytest < 5") "pytest < 7")) + ;; We don't care about a coverage report. + (substitute* "test/requirements.txt" + (("coverage.*") "coverage\n")) + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; These tests don't import currectly. + (delete-file "test/test_js_client.py") + (delete-file "test/test_tsd_types.py") + (delete-file "test/test_python_gen.py") + (setenv "PYTHONPATH" + (string-append (getcwd) ":" + (getenv "PYTHONPATH"))) + (invoke "pytest")) + #t))))) + (propagated-inputs + `(("python-ply" ,python-ply) + ("python-six" ,python-six))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/dropbox/stone") + (synopsis "Official Api Spec Language for Dropbox") + (description + "Stone is an interface description language (IDL) for APIs.") + (license license:expat))) + (define-public pybind11 (package (name "pybind11") @@ -23201,3 +23251,95 @@ backport of the @code{dataclasses} module for Python 3.6.") (description "@code{python-pywatchman} is a library to connect and query Watchman to discover file changes.") (license license:bsd-3))) + +(define-public python-helpdev + (package + (name "python-helpdev") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "helpdev" version)) + (sha256 + (base32 + "0gfvj28i82va7c264jl2p4cdsl3lpf9fpb9cyjnis55crfdafqmv")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "tests")) + #t))))) + (propagated-inputs + `(("python-importlib-metadata" ,python-importlib-metadata))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://gitlab.com/dpizetta/helpdev") + (synopsis + "Extract information about the Python environment easily") + (description + "Helpdev is a library to easily extract information about the Python +environment.") + (license license:expat))) + +(define-public python-qdarkstyle + (package + (name "python-qdarkstyle") + (version "2.8.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "QDarkStyle" version)) + (sha256 + (base32 + "0883vzg35fzpyl1aiijzpfcdfvpq5vi325w0m7xkx7nxplh02fym")))) + (build-system python-build-system) + (arguments + `(;; Fails unable to detect valid Qt bindings even when + ;; added as native-inputs. + #:tests? #f)) + (propagated-inputs + `(("python-helpdev" ,python-helpdev) + ("python-qtpy" ,python-qtpy))) + (home-page + "https://github.com/ColinDuquesnoy/QDarkStyleSheet") + (synopsis + "Complete dark stylesheet for Python and Qt applications") + (description "QDarkStyle is the most complete dark stylesheet for Python and +Qt applications.") + (license license:expat))) + +(define-public python-bitstring + (package + (name "python-bitstring") + (version "3.1.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bitstring" version)) + (sha256 + (base32 + "0jl6192dwrlm5ybkbh7ywmyaymrc3cmz9y07nm7qdli9n9rfpwzx")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (with-directory-excursion "test" + (invoke "pytest"))) + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/scott-griffiths/bitstring") + (synopsis + "Simple construction, analysis and modification of binary data") + (description + "Bitstring is a library for simple construction, analysis and modification + of binary data.") + (license license:expat))) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 2e621e758c..9a5b329f4d 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -2268,6 +2268,31 @@ itself.") "--sipdir" sip))))))) (license (list license:gpl2 license:gpl3)))) ; choice of either license +(define-public python-qtpy + (package + (name "python-qtpy") + (version "1.9.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "QtPy" version)) + (sha256 + (base32 + "13cw8l7zrhbdi03k1wl1pg9xdl4ahdfa7yz8gd0f23sxnm22rdrd")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pyside2" ,python-pyside-2))) + (arguments + `(;; Not all supported bindings are packaged. Especially PyQt4. + #:tests? #f)) + (home-page "https://github.com/spyder-ide/qtpy") + (synopsis + "Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets") + (description + "Provides an abstraction layer on top of the various Qt bindings +(PyQt5, PyQt4 and PySide) and additional custom QWidgets.") + (license license:expat))) + (define-public qscintilla (package (name "qscintilla") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4c16f84099..5a89288166 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020 Holgr Peters <holger.peters@posteo.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -6344,14 +6345,14 @@ alternative to Marshal for Object serialization. ") (define-public ruby-pg (package (name "ruby-pg") - (version "1.1.4") + (version "1.2.3") (source (origin (method url-fetch) (uri (rubygems-uri "pg" version)) (sha256 (base32 - "0fmnyxcyrvgdbgq7m09whgn9i8rwfybk0w8aii1nc4g5kqw0k2jy")))) + "13mfrysrdrh8cka1d96zm0lnfs59i5x2g6ps49r2kz5p3q81xrzj")))) (build-system ruby-build-system) (arguments '(#:test-target "spec")) @@ -11716,3 +11717,30 @@ which snapshots to consider and what files to include.") defined in @file{.travis.yml} on your local machine, using @code{rvm}, @code{rbenv}, or @code{chruby} to test different versions of Ruby.") (license license:expat))) + +(define-public ruby-rugged + (package + (name "ruby-rugged") + (version "1.1.0") + (home-page "https://www.rubydoc.info/gems/rugged") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rugged" version)) + (sha256 + (base32 "04aq913plcxjw71l5r62qgz3bx3466p0wvgyfqahg5n3nybmcwqy")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f + #:gem-flags (list "--" "--use-system-libraries"))) + (inputs + `(("libgit2" ,libgit2))) + (native-inputs + `(("ruby-minitest" ,ruby-minitest) + ("ruby-pry" ,ruby-pry) + ("ruby-rake-compiler" ,ruby-rake-compiler))) + (synopsis "Ruby bindings to the libgit2 linkable C Git library") + (description "Rugged is a library for accessing libgit2 in Ruby. It gives +you the speed and portability of libgit2 with the beauty of the Ruby +language.") + (license license:expat))) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 35a96b5754..91b5d6b6ec 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -452,6 +452,7 @@ test = { path = \"../libtest\" } (variable "LIBRARY_PATH") (files '("lib" "lib64"))))) + (supported-systems '("x86_64-linux")) (synopsis "Compiler for the Rust programming language") (description "Rust is a systems programming language that provides memory safety and thread safety guarantees.") diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 55981da463..f869831dec 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -178,14 +178,14 @@ external dependencies.") (define-public samba (package (name "samba") - (version "4.13.2") + (version "4.13.3") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 - (base32 "1d7j79c8aggwiv90y2q1yz63d9p5n4paq0fsbdvqpn05d8wn8r17")) + (base32 "0hb5fli4kgwg376c289mcmdqszd51vs8pzzrw7j6yr9k7za8a1f1")) (patches (search-patches "samba-fix-fcntl-hint-detection.patch")) (modules '((guix build utils))) (snippet diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index b647b9ee2e..6c30ed8bf6 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2016 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 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> @@ -1010,7 +1010,7 @@ The core is 12 builtin special forms and 33 builtin functions.") (define-public gauche (package (name "gauche") - (version "0.9.9") + (version "0.9.10") (home-page "https://practical-scheme.net/gauche/index.html") (source (origin @@ -1019,7 +1019,7 @@ The core is 12 builtin special forms and 33 builtin functions.") "mirror://sourceforge/gauche/Gauche/Gauche-" version ".tgz")) (sha256 - (base32 "1yzpszhw52vkpr65r5d4khf3489mnnvnw58dd2wsvvx7499k5aac")) + (base32 "0ci57ak5cp3lkmfy3nh50hifh8nbg58hh6r18asq0rn5mqfxyf8g")) (modules '((guix build utils))) (snippet '(begin ;; Remove libatomic-ops. @@ -1028,24 +1028,26 @@ The core is 12 builtin special forms and 33 builtin functions.") (build-system gnu-build-system) (inputs `(("libatomic-ops" ,libatomic-ops) + ("slib" ,slib) ("zlib" ,zlib))) (native-inputs `(("texinfo" ,texinfo) ("openssl" ,openssl) ; needed for tests ("pkg-config" ,pkg-config))) ; needed to find external libatomic-ops (arguments - `(#:phases + `(#:configure-flags + (list (string-append "--with-slib=" + (assoc-ref %build-inputs "slib") + "/lib/slib")) + #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-/bin/sh ;; Needed only for tests. (lambda _ - (substitute* '("configure" - "test/www.scm" + (substitute* '("test/www.scm" "ext/tls/test.scm" - "gc/configure" - "lib/gauche/configure.scm" "lib/gauche/package/util.scm" - "lib/gauche/process.scm") + "libsrc/gauche/process.scm") (("/bin/sh") (which "sh"))) #t)) (add-after 'build 'build-doc @@ -1053,18 +1055,11 @@ The core is 12 builtin special forms and 33 builtin functions.") (with-directory-excursion "doc" (invoke "make" "info")) #t)) - (add-before 'check 'patch-normalize-test - ;; Neutralize sys-normalize-pathname test as it relies on - ;; the home directory; (setenv "HOME" xx) isn't enough). - (lambda _ - (substitute* "test/system.scm" - (("~/abc") "//abc")) - #t)) (add-before 'check 'patch-network-tests ;; Remove net checks. (lambda _ - (substitute* "ext/Makefile" - (("binary net termios") "binary termios")) + (delete-file "ext/net/test.scm") + (invoke "touch" "ext/net/test.scm") #t)) (add-after 'install 'install-docs (lambda _ diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 88350ac81b..d53327df75 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -55,14 +55,14 @@ (define-public ceph (package (name "ceph") - (version "14.2.15") + (version "14.2.16") (source (origin (method url-fetch) (uri (string-append "https://download.ceph.com/tarballs/ceph-" version ".tar.gz")) (sha256 (base32 - "1rq4pp7j8x0f4csspd9csllz6h3phiqfh5vlvsqsj60agyhidinc")) + "0lmdri415hqczc9565s5m5568pnj97ipqxgnw6085kps0flwq5zh")) (patches (search-patches "ceph-disable-cpu-optimizations.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 9dbdb7708f..881a75d09d 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -99,7 +99,7 @@ (define-public tilda (package (name "tilda") - (version "1.5.2") + (version "1.5.4") (source (origin (method git-fetch) (uri (git-reference @@ -108,8 +108,15 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0psq0f4s0s92bba6wwcf6b0j7i59b76svqxhvpavwv53yvhmmamn")))) + "0q2i9ny8sh7zjzgvkx8vcvk593wcvchjc4xq4nrlqdd377r7cg5q")))) (build-system glib-or-gtk-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-po-writable + (lambda _ + (for-each make-file-writable (find-files "po" ".")) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 0724d4d5be..0676eea716 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -557,13 +557,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "1.8.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0b80qmlchf8f071nrrh4ihq64cwicn9rshs34snp73952iyhd3dd")))) + "1n1g29f3qzy77xn06dss9nc92wndgm8phgjrvx740sy9xnd5bfzw")))) (build-system python-build-system) (arguments `(#:phases @@ -614,7 +614,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri "certbot" version)) (sha256 (base32 - "1r2k54d2k2smn4c3lpd0z6gdzfqk4654kwbh1p8wqhv5mwbcads8")))) + "1dww9m1a2p3a9vpxs5j29f8cdkqywqb4j70z3cnkpl7017yf77hd")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) diff --git a/gnu/packages/uml.scm b/gnu/packages/uml.scm index 2202316016..ad766beece 100644 --- a/gnu/packages/uml.scm +++ b/gnu/packages/uml.scm @@ -31,14 +31,14 @@ (define-public plantuml (package (name "plantuml") - (version "1.2020.19") + (version "1.2020.24") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/plantuml/" version "/plantuml-" version ".tar.gz")) (sha256 (base32 - "0ja2f72x2qd11pkgh1qj6k03yq9ljwsvd6lh84nndwhrbdj5vns7")))) + "1czjrsngy0j0lgbmvfzg1ax13vzba2c6ybmfbzqyvnasx4rfrsf8")))) (build-system ant-build-system) (arguments `(#:tests? #f ; no tests diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d2330aaeeb..c369e9ece2 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3015,14 +3015,14 @@ tools, XML authoring components, and an extensible plug-in based API.") (define-public v4l-utils (package (name "v4l-utils") - (version "1.16.6") + (version "1.20.0") (source (origin (method url-fetch) (uri (string-append "https://linuxtv.org/downloads/v4l-utils" "/v4l-utils-" version ".tar.bz2")) (sha256 (base32 - "1bkqlrizx0j2rd6ybam2x17bjrpwzl4v4szmnzm3cmixis3w3npr")))) + "1xr66y6w422hil6s7n8d61a2vhwh4im8l267amf41jvw7xqihqcm")))) (build-system gnu-build-system) ;; Separate graphical tools in order to save almost 1 GiB on the closure ;; for the common case. diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a05e52f29f..99c37bc044 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -952,7 +952,7 @@ all common programming languages. Vala bindings are also provided.") (define-public lxc (package (name "lxc") - (version "3.1.0") + (version "4.0.5") (source (origin (method url-fetch) (uri (string-append @@ -960,7 +960,7 @@ all common programming languages. Vala bindings are also provided.") version ".tar.gz")) (sha256 (base32 - "1igxqgx8q9cp15mcp1y8j564bl85ijw04jcmgb1s5bmfbg1751sd")))) + "1976l9308rx1ria1gazasypk5rmmf5jiqdh54dfrws5bslbdcb5g")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index 525d1ddb3f..123fd24460 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -362,16 +362,42 @@ traversing network address translators (@dfn{NAT}s) and firewalls.") (sha256 (base32 "0y7v9ikrmy5dbjlpbpacp08gy838i8z54m8m4ps7ldk1j6kyia3n")))) (build-system python-build-system) - (arguments '(#:tests? #f)) ; no tests in repo + (arguments + '(#:tests? #f ; no tests in repo + #:phases + (modify-phases %standard-phases + (add-after 'wrap 'wrap-wrapper + ;; Wrap entrypoint with paths to its hard dependencies. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((entrypoint (string-append (assoc-ref outputs "out") + "/bin/.protonvpn-real"))) + (wrap-program entrypoint + `("PATH" ":" prefix + ,(map (lambda (name) + (let ((input (assoc-ref inputs name))) + (string-append input "/bin:" + input "/sbin"))) + (list "dialog" + "iproute2" + "iptables" + "ncurses" + "openvpn" + "procps" + "which"))))) + #t))))) (native-inputs `(("python-docopt" ,python-docopt))) (inputs - `(("python-jinja2" ,python-jinja2) + `(("dialog" ,dialog) + ("iproute2" ,iproute) + ("iptables" ,iptables) + ("ncurses" ,ncurses) + ("openvpn" ,openvpn) + ("procps" ,procps) + ("python-jinja2" ,python-jinja2) ("python-pythondialog" ,python-pythondialog) - ("python-requests" ,python-requests))) - (propagated-inputs - `(("openvpn" ,openvpn) - ("dialog" ,dialog))) + ("python-requests" ,python-requests) + ("which" ,which))) (synopsis "Command-line client for ProtonVPN") (description "This is the official command-line interface for ProtonVPN, a secure diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 6f92942f13..b134d29782 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -590,7 +590,7 @@ driven and does not detract you from your daily work.") (name "nyxt") ;; Package the pre-release because latest stable 1.5.0 does not build ;; anymore. - (version "2-pre-release-4") + (version "2-pre-release-5") (source (origin (method git-fetch) @@ -601,7 +601,7 @@ driven and does not detract you from your daily work.") (commit version))) (sha256 (base32 - "00865plmvgl1nj009a4w9bcb5mf0zgqjx7w6slacyqgidjzad6qm")) + "1sdafyhiicasd4wyzqnzdyrr16mz55y4b2hf5ya6i7nvm2vyhywl")) (file-name (git-file-name "nyxt" version)))) (build-system gnu-build-system) (arguments @@ -659,7 +659,7 @@ driven and does not detract you from your daily work.") (inputs `(("alexandria" ,sbcl-alexandria) ("bordeaux-threads" ,sbcl-bordeaux-threads) - ("cl-chanl" ,sbcl-chanl) + ("cl-calispel" ,sbcl-calispel) ("cl-containers" ,sbcl-cl-containers) ("cl-css" ,sbcl-cl-css) ("cl-json" ,sbcl-cl-json) @@ -677,6 +677,7 @@ driven and does not detract you from your daily work.") ("log4cl" ,sbcl-log4cl) ("mk-string-metrics" ,sbcl-mk-string-metrics) ("moptilities" ,sbcl-moptilities) + ("named-readtables" ,sbcl-named-readtables) ("osicat" ,sbcl-osicat) ("parenscript" ,sbcl-parenscript) ("plump" ,sbcl-plump) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 5851251c6d..5dc0b4dea4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -118,6 +118,7 @@ #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) #:use-module (gnu packages gperf) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) @@ -240,7 +241,7 @@ Interface} specification.") (define-public monolith (package (name "monolith") - (version "2.3.1") + (version "2.4.0") (source (origin (method git-fetch) @@ -249,7 +250,7 @@ Interface} specification.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "16k5mp64a5l063rdj65hbpx414xv0bqdvhvz49k8018f2a2jj5xl")))) + (base32 "18c6bsv9m3spiyfhqp08v807m93r6n9hrlv4qbfiqp4kw5aryb4h")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -258,11 +259,12 @@ Interface} specification.") ("rust-clap" ,rust-clap-2) ("rust-cssparser" ,rust-cssparser-0.27) ("rust-html5ever" ,rust-html5ever-0.24) + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.10) ("rust-sha2" ,rust-sha2-0.9) ("rust-url" ,rust-url-2)) #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-1) - ("rust-reqwest" ,rust-reqwest-0.10) ("rust-tempfile" ,rust-tempfile-3)))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1476,7 +1478,7 @@ used to validate and fix HTML data.") (define-public esbuild (package (name "esbuild") - (version "0.8.24") + (version "0.8.26") (source (origin (method git-fetch) @@ -1485,7 +1487,7 @@ used to validate and fix HTML data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14n67p9h70v26nfgnjxipj8v9dn0sbdy5gahz8v7720m80bxfdic")) + (base32 "0zw68mgmmicbkvx7s22knvm8nng5qn41b1chn35prhkla3kx1jn1")) (modules '((guix build utils))) (snippet '(begin @@ -7837,7 +7839,7 @@ solution for any project's interface needs: (define-public libzim (package (name "libzim") - (version "6.2.2") + (version "6.3.0") (source (origin (method git-fetch) (uri (git-reference @@ -7845,7 +7847,7 @@ solution for any project's interface needs: (commit version))) (sha256 (base32 - "0p2317cp19lx0hw9n4fsb3nw2vc4hc1yyi98k3yrs41pkr840kwa")) + "0iy0f1clhihq277x218ccx3mszgpr3h9l0by48b9ykr115nffw3s")) (file-name (git-file-name name version)))) (build-system meson-build-system) (arguments @@ -7856,7 +7858,6 @@ solution for any project's interface needs: ("liblzma" ,xz) ("libuuid" ,util-linux "lib") ("xapian" ,xapian) - ("zlib" ,zlib) ("zstd" ,zstd "lib"))) (native-inputs `(("pkg-config" ,pkg-config) @@ -7872,7 +7873,7 @@ for ZIM files.") (define-public kiwix-lib (package (name "kiwix-lib") - (version "9.4.0") + (version "9.4.1") (home-page "https://github.com/kiwix/kiwix-lib/") (source (origin (method git-fetch) @@ -7881,7 +7882,7 @@ for ZIM files.") (commit version))) (sha256 (base32 - "0nsm4qgl0cb6wv983n0px1kf217k4kykb8q56b8j6ikp061lzamm")) + "034nk6l623v78clrs2d0k1vg69sbzrd8c0q79qiqmlkinck1nkxw")) (file-name (git-file-name name version)))) (build-system meson-build-system) (arguments @@ -7945,7 +7946,7 @@ It contains the code shared by all Kiwix ports.") (invoke "qmake" (string-append "PREFIX=" (assoc-ref outputs "out"))))) - (add-before 'configrue 'enable-print-support + (add-before 'configure 'enable-print-support (lambda _ (substitute* "kiwix-desktop.pro" (("webenginewidgets") "webenginewidgets printsupport")) @@ -7961,6 +7962,7 @@ It contains the code shared by all Kiwix ports.") `(("curl" ,curl) ("icu4c" ,icu4c) ("kiwix-lib" ,kiwix-lib) + ("libmicrohttpd" ,libmicrohttpd) ("libzim" ,libzim) ("pugixml" ,pugixml) ("qtbase" ,qtbase) @@ -7978,3 +7980,29 @@ It contains the code shared by all Kiwix ports.") (description "Kiwix Desktop allows you to enjoy a lot of different content offline (such as Wikipedia), without any access to Internet.") (license license:gpl3))) + +(define-public uriparser + (let ((commit "25dddb16cf044a7df27884e7ad3911baaaca3d7c") + (revision "1")) + (package + (name "uriparser") + (version (git-version "0.9.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uriparser/uriparser") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ffzia679axcsccx2fxjpxhb0i5xc42zxn446x6c1170w6v69qf6")))) + (build-system cmake-build-system) + (native-inputs `(("gtest" ,googletest) + ("doxygen" ,doxygen) + ("graphviz" ,graphviz))) + (synopsis "Strictly RFC 3986 compliant URI parsing and handling library") + (description "uriparser is a strictly RFC 3986 compliant URI parsing and +handling library written in C89 (\"ANSI C\"). uriparser is fast and supports +Unicode.") + (home-page "https://uriparser.github.io/") + (license license:bsd-3)))) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e923a7092a..cbcebd7129 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -1546,7 +1546,7 @@ modules for building a Wayland compositor.") ("libmpdclent" ,libmpdclient) ("libnl" ,libnl) ("pulseaudio" ,pulseaudio) - ("spdlog" ,spdlog) + ("spdlog" ,spdlog-1.7) ("wayland" ,wayland))) (native-inputs `(("gcc" ,gcc-8) ; for #include <filesystem> diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index dad7c1d03d..3b0ff54308 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -925,7 +925,7 @@ devices and folders.") (define-public xfce4-terminal (package (name "xfce4-terminal") - (version "0.8.9.2") + (version "0.8.10") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" name "/" @@ -933,7 +933,7 @@ devices and folders.") name "-" version ".tar.bz2")) (sha256 (base32 - "1szfmvx4gbwcqag7fnlqh96i9cmvs6xm1yrdbnlzh3imdpw3p8lv")))) + "1irxyg5vp6vyd9vxdqav6jhchfkmhlqq511386h644p0k30kfcvs")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1210,7 +1210,7 @@ of data to either CD/DVD/BD.") (define-public mousepad (package (name "mousepad") - (version "0.4.2") + (version "0.5.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/mousepad/" @@ -1218,7 +1218,7 @@ of data to either CD/DVD/BD.") version ".tar.bz2")) (sha256 (base32 - "1myy7954r1a30dk7inwy7kwki7zvfbnnsc3a8swk72vzrbgjmh44")))) + "10m52yrh89j7xbr299m9f0mqrhqz95lp3qi5zbqd0bg839xjfbix")))) (build-system gnu-build-system) (arguments '(#:configure-flags '(;; Use the GSettings keyfile backend rather than @@ -1252,7 +1252,7 @@ of data to either CD/DVD/BD.") (define-public xfce4-screenshooter (package (name "xfce4-screenshooter") - (version "1.9.7") + (version "1.9.8") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -1262,7 +1262,7 @@ of data to either CD/DVD/BD.") version ".tar.bz2")) (sha256 (base32 - "1lbhl0sh0ayv3zhgzcd9hj9q9m3lnyv7vlglfqrl39i3782n2w8g")))) + "0l1cyrb4ym7d95yliyl8gn701wvnr734v622yyy3zdnk99hrs0kg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1477,7 +1477,7 @@ and a calendar appears when you left-click on it.") (define-public xfce4-calculator-plugin (package (name "xfce4-calculator-plugin") - (version "0.7.0") + (version "0.7.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1486,7 +1486,7 @@ and a calendar appears when you left-click on it.") "/xfce4-calculator-plugin-" version ".tar.bz2")) (sha256 (base32 - "1scx7z5ijg2fpcqrzv1nxhpj9vrqic7pyghig70f2n5hgaaanl3v")))) + "10fsb9pyr2cr9dj1k3n96dq6g02g61g5y4z4jzfvskpgqc1nl0g4")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) @@ -1624,7 +1624,7 @@ be clicked to open the chosen mount point.") (define-public xfce4-genmon-plugin (package (name "xfce4-genmon-plugin") - (version "4.0.2") + (version "4.1.0") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1633,7 +1633,7 @@ be clicked to open the chosen mount point.") "/xfce4-genmon-plugin-" version ".tar.bz2")) (sha256 (base32 - "1ai3pwgv61nv7i2dyrvncnc63r8kdjbkp40vp51vzak1dx924v15")))) + "0zafr1jrw87l7h4z3wp88gj7n5mcygm22aw42vdpnp2l8x5nn9fi")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm index 71fa975b5d..c0f6371104 100644 --- a/gnu/services/mail.scm +++ b/gnu/services/mail.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> ;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Kristofer Buffington <kristoferbuffington@gmail.com> +;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module (gnu system shadow) #:use-module (gnu packages mail) #:use-module (gnu packages admin) + #:use-module (gnu packages dav) #:use-module (gnu packages tls) #:use-module (guix records) #:use-module (guix packages) @@ -70,7 +72,12 @@ imap4d-configuration imap4d-configuration? imap4d-service-type - %default-imap4d-config-file)) + %default-imap4d-config-file + + radicale-configuration + radicale-configuration? + radicale-service-type + %default-radicale-config-file)) ;;; Commentary: ;;; @@ -1834,3 +1841,75 @@ exim_group = exim (list (service-extension shepherd-root-service-type imap4d-shepherd-service))) (default-value (imap4d-configuration)))) + + +;;; +;;; Radicale. +;;; + +(define-record-type* <radicale-configuration> + radicale-configuration make-radicale-configuration + radicale-configuration? + (package radicale-configuration-package + (default radicale)) + (config-file radicale-configuration-config-file + (default %default-radicale-config-file))) + +(define %default-radicale-config-file + (plain-file "radicale.conf" " +[auth] +type = htpasswd +htpasswd_filename = /var/lib/radicale/users +htpasswd_encryption = plain + +[server] +hosts = localhost:5232")) + +(define %radicale-accounts + (list (user-group + (name "radicale") + (system? #t)) + (user-account + (name "radicale") + (group "radicale") + (system? #t) + (comment "Radicale Daemon") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define radicale-shepherd-service + (match-lambda + (($ <radicale-configuration> package config-file) + (list (shepherd-service + (provision '(radicale)) + (documentation "Run the radicale daemon.") + (requirement '(networking)) + (start #~(make-forkexec-constructor + (list #$(file-append package "/bin/radicale") + "-C" #$config-file) + #:user "radicale" + #:group "radicale")) + (stop #~(make-kill-destructor))))))) + +(define radicale-activation + (match-lambda + (($ <radicale-configuration> package config-file) + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (let ((uid (passwd:uid (getpw "radicale"))) + (gid (group:gid (getgr "radicale")))) + (mkdir-p "/var/lib/radicale/collections") + (chown "/var/lib/radicale" uid gid) + (chown "/var/lib/radicale/collections" uid gid) + (chmod "/var/lib/radicale" #o700))))))) + +(define radicale-service-type + (service-type + (name 'radicale) + (description "Run radicale, a small CalDAV and CardDAV server.") + (extensions + (list (service-extension shepherd-root-service-type radicale-shepherd-service) + (service-extension account-service-type (const %radicale-accounts)) + (service-extension activation-service-type radicale-activation))) + (default-value (radicale-configuration)))) diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 9d38be7a1e..fd44d80915 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm @@ -51,7 +51,9 @@ #:use-module (guix upstream) #:use-module (guix packages) #:use-module (gnu packages) - #:export (cran->guix-package + #:export (%input-style + + cran->guix-package bioconductor->guix-package cran-recursive-import %cran-updater @@ -74,6 +76,9 @@ ;;; ;;; Code: +(define %input-style + (make-parameter 'variable)) ; or 'specification + (define string->license (match-lambda ("AGPL-3" 'agpl3+) @@ -128,7 +133,11 @@ (define (format-inputs names) "Generate a sorted list of package inputs from a list of package NAMES." (map (lambda (name) - (list name (list 'unquote (string->symbol name)))) + (case (%input-style) + ((specification) + (list name (list 'unquote (list 'specification->package name)))) + (else + (list name (list 'unquote (string->symbol name)))))) (sort names string-ci<?))) (define* (maybe-inputs package-inputs #:optional (type 'inputs)) diff --git a/guix/import/crate.scm b/guix/import/crate.scm index c10c0d55ea..aee1b01c9f 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -358,7 +358,7 @@ look up the development dependencs for the given crate." (define %crate-updater (upstream-updater - (name 'crates) + (name 'crate) (description "Updater for crates.io packages") (pred crate-package?) (latest latest-release))) diff --git a/guix/import/print.scm b/guix/import/print.scm index d21ce57aeb..a2ab810a5c 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -57,7 +57,8 @@ when evaluated." ;; Print either license variable name or the code for a license object (define (license->code lic) (let ((var (variable-name lic '(guix licenses)))) - (or (symbol-append 'license: var) + (if var + (symbol-append 'license: var) `(license (name ,(license-name lic)) (uri ,(license-uri lic)) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index e227c2e42d..cdbcf6bfa5 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -372,8 +372,12 @@ specifications to look up and replace them with plain symbols instead." (match (assoc-ref meta "license") (#f #f) (l - (or (module-ref (resolve-interface '(guix licenses) #:prefix 'license:) - (spdx-string->license l)) + (or (false-if-exception + (module-ref (resolve-interface '(guix licenses)) + (string->symbol l))) + (false-if-exception + (module-ref (resolve-interface '(guix licenses) #:prefix 'license:) + (spdx-string->license l))) (license:fsdg-compatible l))))))) (define* (read-lines #:optional (port (current-input-port))) diff --git a/guix/scripts/import/cran.scm b/guix/scripts/import/cran.scm index 20e82ae2ca..4767bc082d 100644 --- a/guix/scripts/import/cran.scm +++ b/guix/scripts/import/cran.scm @@ -67,6 +67,10 @@ Import and convert the CRAN package for PACKAGE-NAME.\n")) (lambda (opt name arg result) (alist-cons 'repo (string->symbol arg) (alist-delete 'repo result)))) + (option '(#\s "style") #t #f + (lambda (opt name arg result) + (alist-cons 'style (string->symbol arg) + (alist-delete 'style result)))) (option '(#\r "recursive") #f #f (lambda (opt name arg result) (alist-cons 'recursive #t result))) @@ -93,23 +97,24 @@ Import and convert the CRAN package for PACKAGE-NAME.\n")) value) (_ #f)) (reverse opts)))) - (match args - ((package-name) - (if (assoc-ref opts 'recursive) - ;; Recursive import - (with-error-handling - (map package->definition - (filter identity - (cran-recursive-import package-name - #:repo (or (assoc-ref opts 'repo) 'cran))))) - ;; Single import - (let ((sexp (cran->guix-package package-name - #:repo (or (assoc-ref opts 'repo) 'cran)))) - (unless sexp - (leave (G_ "failed to download description for package '~a'~%") - package-name)) - sexp))) - (() - (leave (G_ "too few arguments~%"))) - ((many ...) - (leave (G_ "too many arguments~%")))))) + (parameterize ((%input-style (assoc-ref opts 'style))) + (match args + ((package-name) + (if (assoc-ref opts 'recursive) + ;; Recursive import + (with-error-handling + (map package->definition + (filter identity + (cran-recursive-import package-name + #:repo (or (assoc-ref opts 'repo) 'cran))))) + ;; Single import + (let ((sexp (cran->guix-package package-name + #:repo (or (assoc-ref opts 'repo) 'cran)))) + (unless sexp + (leave (G_ "failed to download description for package '~a'~%") + package-name)) + sexp))) + (() + (leave (G_ "too few arguments~%"))) + ((many ...) + (leave (G_ "too many arguments~%"))))))) diff --git a/guix/scripts/import/crate.scm b/guix/scripts/import/crate.scm index 9252c52dfa..3a96defb86 100644 --- a/guix/scripts/import/crate.scm +++ b/guix/scripts/import/crate.scm @@ -42,7 +42,7 @@ (define (show-help) (display (G_ "Usage: guix import crate PACKAGE-NAME -Import and convert the crate.io package for PACKAGE-NAME.\n")) +Import and convert the crates.io package for PACKAGE-NAME.\n")) (display (G_ " -r, --recursive import packages recursively")) (newline) diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 58ee53e85c..835078cb97 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -634,7 +634,8 @@ daemon is not running." (and add-text-to-store 'alright)) node) ('alright #t) - (_ (report-module-error name))) + (_ (leave (G_ "(guix) module not usable on remote host '~a'") + name))) (match (inferior-eval '(begin (use-modules (guix)) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index 38702d0c4b..8084c89ae5 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -514,12 +514,18 @@ return its MAX-LENGTH first elements and its tail." (define* (http-multiple-get base-uri proc seed requests #:key port (verify-certificate? #t) + (open-connection guix:open-connection-for-uri) + (keep-alive? #t) (batch-size 1000)) "Send all of REQUESTS to the server at BASE-URI. Call PROC for each response, passing it the request object, the response, a port from which to read the response body, and the previous result, starting with SEED, à la -'fold'. Return the final result. When PORT is specified, use it as the -initial connection on which HTTP requests are sent." +'fold'. Return the final result. + +When PORT is specified, use it as the initial connection on which HTTP +requests are sent; otherwise call OPEN-CONNECTION to open a new connection for +a URI. When KEEP-ALIVE? is false, close the connection port before +returning." (let connect ((port port) (requests requests) (result seed)) @@ -528,10 +534,9 @@ initial connection on which HTTP requests are sent." ;; (format (current-error-port) "connecting (~a requests left)..." ;; (length requests)) - (let ((p (or port (guix:open-connection-for-uri - base-uri - #:verify-certificate? - verify-certificate?)))) + (let ((p (or port (open-connection base-uri + #:verify-certificate? + verify-certificate?)))) ;; For HTTPS, P is not a file port and does not support 'setvbuf'. (when (file-port? p) (setvbuf p 'block (expt 2 16))) @@ -556,7 +561,8 @@ initial connection on which HTTP requests are sent." (() (match (drop requests processed) (() - (close-port p) + (unless keep-alive? + (close-port p)) (reverse result)) (remainder (connect p remainder result)))) @@ -598,18 +604,18 @@ if file doesn't exist, and the narinfo otherwise." (define* (open-connection-for-uri/maybe uri #:key - (verify-certificate? #f) + fresh? (time %fetch-timeout)) - "Open a connection to URI and return a port to it, or, if connection failed, -print a warning and return #f." + "Open a connection to URI via 'open-connection-for-uri/cached' and return a +port to it, or, if connection failed, print a warning and return #f. Pass +#:fresh? to 'open-connection-for-uri/cached'." (define host (uri-host uri)) (catch #t (lambda () - (guix:open-connection-for-uri uri - #:verify-certificate? verify-certificate? - #:timeout time)) + (open-connection-for-uri/cached uri #:timeout time + #:fresh? fresh?)) (match-lambda* (('getaddrinfo-error error) (unless (hash-ref %unreachable-hosts host) @@ -683,23 +689,26 @@ print a warning and return #f." (define (do-fetch uri) (case (and=> uri uri-scheme) ((http https) - (let ((requests (map (cut narinfo-request url <>) paths))) - (match (open-connection-for-uri/maybe uri) - (#f - '()) - (port - (update-progress!) - ;; Note: Do not check HTTPS server certificates to avoid depending - ;; on the X.509 PKI. We can do it because we authenticate - ;; narinfos, which provides a much stronger guarantee. - (let ((result (http-multiple-get uri - handle-narinfo-response '() - requests - #:verify-certificate? #f - #:port port))) - (close-port port) - (newline (current-error-port)) - result))))) + ;; Note: Do not check HTTPS server certificates to avoid depending + ;; on the X.509 PKI. We can do it because we authenticate + ;; narinfos, which provides a much stronger guarantee. + (let* ((requests (map (cut narinfo-request url <>) paths)) + (result (call-with-cached-connection uri + (lambda (port) + (if port + (begin + (update-progress!) + (http-multiple-get uri + handle-narinfo-response '() + requests + #:open-connection + open-connection-for-uri/cached + #:verify-certificate? #f + #:port port)) + '())) + open-connection-for-uri/maybe))) + (newline (current-error-port)) + result)) ((file #f) (let* ((base (string-append (uri-path uri) "/")) (files (map (compose (cut string-append base <> ".narinfo") @@ -990,10 +999,14 @@ the URI, its compression method (a string), and the compressed file size." (define open-connection-for-uri/cached (let ((cache '())) - (lambda* (uri #:key fresh?) + (lambda* (uri #:key fresh? timeout verify-certificate?) "Return a connection for URI, possibly reusing a cached connection. -When FRESH? is true, delete any cached connections for URI and open a new -one. Return #f if URI's scheme is 'file' or #f." +When FRESH? is true, delete any cached connections for URI and open a new one. +Return #f if URI's scheme is 'file' or #f. + +When true, TIMEOUT is the maximum number of milliseconds to wait for +connection establishment. When VERIFY-CERTIFICATE? is true, verify HTTPS +server certificates." (define host (uri-host uri)) (define scheme (uri-scheme uri)) (define key (list host scheme (uri-port uri))) @@ -1005,7 +1018,9 @@ one. Return #f if URI's scheme is 'file' or #f." ;; CACHE, if any. (let-values (((socket) (guix:open-connection-for-uri - uri #:verify-certificate? #f)) + uri + #:verify-certificate? verify-certificate? + #:timeout timeout)) ((new-cache evicted) (at-most (- %max-cached-connections 1) cache))) (for-each (match-lambda @@ -1019,14 +1034,19 @@ one. Return #f if URI's scheme is 'file' or #f." (begin (false-if-exception (close-port socket)) (set! cache (alist-delete key cache)) - (open-connection-for-uri/cached uri)) + (open-connection-for-uri/cached uri #:timeout timeout + #:verify-certificate? + verify-certificate?)) (begin ;; Drain input left from the previous use. (drain-input socket) socket)))))))) -(define (call-with-cached-connection uri proc) - (let ((port (open-connection-for-uri/cached uri))) +(define* (call-with-cached-connection uri proc + #:optional + (open-connection + open-connection-for-uri/cached)) + (let ((port (open-connection uri))) (catch #t (lambda () (proc port)) @@ -1038,7 +1058,7 @@ one. Return #f if URI's scheme is 'file' or #f." (if (or (and (eq? key 'system-error) (= EPIPE (system-error-errno `(,key ,@args)))) (memq key '(bad-response bad-header bad-header-component))) - (proc (open-connection-for-uri/cached uri #:fresh? #t)) + (proc (open-connection uri #:fresh? #t)) (apply throw key args)))))) (define-syntax-rule (with-cached-connection uri port exp ...) @@ -1341,6 +1361,7 @@ default value." ;;; Local Variables: ;;; eval: (put 'with-timeout 'scheme-indent-function 1) ;;; eval: (put 'with-cached-connection 'scheme-indent-function 2) +;;; eval: (put 'call-with-cached-connection 'scheme-indent-function 1) ;;; End: ;;; substitute.scm ends here diff --git a/guix/ssh.scm b/guix/ssh.scm index e41bffca65..457d1890f9 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -54,8 +54,7 @@ retrieve-files* remote-store-host - report-guile-error - report-module-error)) + report-guile-error)) ;;; Commentary: ;;; @@ -206,6 +205,40 @@ REPL." ;; <https://bugs.gnu.org/26976>.) (close-inferior inferior))))) +(define (remote-run exp session) + "Run EXP in a new process in SESSION and return a remote pipe. + +Unlike 'inferior-remote-eval', this is used for side effects and may +communicate over stdout/stdin as it sees fit. EXP is typically a loop that +processes data from stdin and/or sends data to stdout. The assumption is that +EXP never returns or calls 'primitive-exit' when it's done." + (define pipe + (open-remote-pipe* session OPEN_BOTH + "guix" "repl" "-t" "machine")) + + (match (read pipe) + (('repl-version _ ...) + #t) + ((? eof-object?) + (close-port pipe) + (raise (formatted-message + (G_ "failed to start 'guix repl' on '~a'") + (session-get session 'host))))) + + ;; Disable buffering so 'guix repl' does not read more than what's really + ;; sent to itself. + (write '(setvbuf (current-input-port) 'none) pipe) + (force-output pipe) + + ;; Read the reply and subsequent newline. + (read pipe) (get-u8 pipe) + + (write exp pipe) + (force-output pipe) + + ;; From now on, we stop following the inferior protocol. + pipe) + (define* (remote-daemon-channel session #:optional (socket-name @@ -261,11 +294,7 @@ REPL." (_ (primitive-exit 1))))))) - (open-remote-pipe* session OPEN_BOTH - ;; Sort-of shell-quote REDIRECT. - "guile" "-c" - (object->string - (object->string redirect)))) + (remote-run redirect session)) (define* (connect-to-remote-daemon session #:optional @@ -288,11 +317,6 @@ can be written." ;; consumed. (define import `(begin - (eval-when (load expand eval) - (unless (resolve-module '(guix) #:ensure #f) - (write `(module-error)) - (exit 7))) - (use-modules (guix) (srfi srfi-34) (rnrs io ports) (rnrs bytevectors)) @@ -322,13 +346,10 @@ can be written." (import-paths store (current-input-port)) '(success)))) (lambda args - (cons 'error args)))))) + (cons 'error args)))) + (primitive-exit 0))) - (open-remote-pipe session - (string-join - `("guile" "-c" - ,(object->string (object->string import)))) - OPEN_BOTH)) + (remote-run import session)) (define* (store-export-channel session files #:key recursive?) @@ -338,22 +359,20 @@ be read. When RECURSIVE? is true, the closure of FILES is exported." ;; remote store. (define export `(begin - (eval-when (load expand eval) - (unless (resolve-module '(guix) #:ensure #f) - (write `(module-error)) - (exit 7))) - (use-modules (guix) (srfi srfi-1) (srfi srfi-26) (srfi srfi-34)) (guard (c ((nix-connection-error? c) (write `(connection-error ,(nix-connection-error-file c) - ,(nix-connection-error-code c)))) + ,(nix-connection-error-code c))) + (primitive-exit 1)) ((nix-protocol-error? c) (write `(protocol-error ,(nix-protocol-error-status c) - ,(nix-protocol-error-message c)))) + ,(nix-protocol-error-message c))) + (primitive-exit 2)) (else - (write `(exception)))) + (write `(exception)) + (primitive-exit 3))) (with-store store (let* ((files ',files) (invalid (remove (cut valid-path? store <>) @@ -371,13 +390,10 @@ be read. When RECURSIVE? is true, the closure of FILES is exported." (setvbuf (current-output-port) 'none) (export-paths store files (current-output-port) - #:recursive? ,recursive?)))))) + #:recursive? ,recursive?) + (primitive-exit 0)))))) - (open-remote-input-pipe session - (string-join - `("guile" "-c" - ,(object->string - (object->string export)))))) + (remote-run export session)) (define (remote-system session) "Return the system type as expected by Nix, usually ARCHITECTURE-KERNEL, of @@ -563,8 +579,6 @@ REMOTE." (match sexp ((? eof-object?) (report-guile-error (remote-store-host remote))) - (('module-error . _) - (report-module-error (remote-store-host remote))) (('connection-error file code . _) (raise-error (G_ "failed to connect to '~A' on remote host '~A': ~a") file (remote-store-host remote) (strerror code))) @@ -626,15 +640,6 @@ LOCAL. When RECURSIVE? is true, retrieve the closure of FILES." check.") host))) -(define (report-module-error host) - "Report an error about missing Guix modules on HOST." - ;; TRANSLATORS: Leave "Guile" untranslated. - (raise-error (G_ "Guile modules not found on remote host '~A'") host - (=> (G_ "Make sure @code{GUILE_LOAD_PATH} includes Guix' -own module directory. Run @command{ssh ~A env | grep GUILE_LOAD_PATH} to -check.") - host))) - (define (report-inferior-exception exception host) "Report EXCEPTION, an &inferior-exception that occurred on HOST." (raise-error (G_ "exception occurred on remote host '~A': ~s") diff --git a/guix/transformations.scm b/guix/transformations.scm index d49041cf59..2385d3231e 100644 --- a/guix/transformations.scm +++ b/guix/transformations.scm @@ -41,6 +41,7 @@ #:use-module (srfi srfi-34) #:use-module (srfi srfi-37) #:use-module (ice-9 match) + #:use-module (ice-9 vlist) #:export (options->transformation manifest-entry-with-transformations @@ -456,6 +457,60 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field." (rewrite obj) obj))) +(define (transform-package-patches specs) + "Return a procedure that, when passed a package, returns a package with +additional patches." + (define (package-with-extra-patches p patches) + (if (origin? (package-source p)) + (package/inherit p + (source (origin + (inherit (package-source p)) + (patches (append (map (lambda (file) + (local-file file)) + patches) + (origin-patches (package-source p))))))) + p)) + + (define (coalesce-alist alist) + ;; Coalesce multiple occurrences of the same key in ALIST. + (let loop ((alist alist) + (keys '()) + (mapping vlist-null)) + (match alist + (() + (map (lambda (key) + (cons key (vhash-fold* cons '() key mapping))) + (delete-duplicates (reverse keys)))) + (((key . value) . rest) + (loop rest + (cons key keys) + (vhash-cons key value mapping)))))) + + (define patches + ;; Spec/patch alist. + (coalesce-alist + (map (lambda (spec) + (match (string-tokenize spec %not-equal) + ((spec patch) + (cons spec (canonicalize-path patch))) + (_ + (raise (formatted-message + (G_ "~a: invalid package patch specification") + spec))))) + specs))) + + (define rewrite + (package-input-rewriting/spec + (map (match-lambda + ((spec . patches) + (cons spec (cut package-with-extra-patches <> patches)))) + patches))) + + (lambda (obj) + (if (package? obj) + (rewrite obj) + obj))) + (define %transformations ;; Transformations that can be applied to things to build. The car is the ;; key used in the option alist, and the cdr is the transformation @@ -469,7 +524,8 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field." (with-git-url . ,transform-package-source-git-url) (with-c-toolchain . ,transform-package-toolchain) (with-debug-info . ,transform-package-with-debug-info) - (without-tests . ,transform-package-tests))) + (without-tests . ,transform-package-tests) + (with-patch . ,transform-package-patches))) (define (transformation-procedure key) "Return the transformation procedure associated with KEY, a symbol such as @@ -509,6 +565,8 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field." (parser 'with-debug-info)) (option '("without-tests") #t #f (parser 'without-tests)) + (option '("with-patch") #t #f + (parser 'with-patch)) (option '("help-transform") #f #f (lambda _ @@ -538,6 +596,9 @@ to the same package but with #:strip-binaries? #f in its 'arguments' field." --with-git-url=PACKAGE=URL build PACKAGE from the repository at URL")) (display (G_ " + --with-patch=PACKAGE=FILE + add FILE to the list of patches of PACKAGE")) + (display (G_ " --with-c-toolchain=PACKAGE=TOOLCHAIN build PACKAGE and its dependents with TOOLCHAIN")) (display (G_ " diff --git a/guix/utils.scm b/guix/utils.scm index a591b62f30..0df46f1062 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -79,6 +79,7 @@ target-64bit? cc-for-target cxx-for-target + pkg-config-for-target version-compare version>? @@ -548,6 +549,11 @@ a character other than '@'." (string-append target "-g++") "g++")) +(define* (pkg-config-for-target #:optional (target (%current-target-system))) + (if target + (string-append target "-pkg-config") + "pkg-config")) + (define version-compare (let ((strverscmp (let ((sym (or (dynamic-func "strverscmp" (dynamic-link)) diff --git a/tests/import-utils.scm b/tests/import-utils.scm index 2357ea5c40..874816442e 100644 --- a/tests/import-utils.scm +++ b/tests/import-utils.scm @@ -122,6 +122,38 @@ (or (package-license (alist->package meta)) 'license-is-false))) +(test-equal "alist->package with SPDX license name 1/2" ;<https://bugs.gnu.org/45453> + license:expat + (let* ((meta '(("name" . "hello") + ("version" . "2.10") + ("source" . (("method" . "url-fetch") + ("uri" . "mirror://gnu/hello/hello-2.10.tar.gz") + ("sha256" . + (("base32" . + "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))) + ("build-system" . "gnu") + ("home-page" . "https://gnu.org") + ("synopsis" . "Say hi") + ("description" . "This package says hi.") + ("license" . "expat")))) + (package-license (alist->package meta)))) + +(test-equal "alist->package with SPDX license name 2/2" ;<https://bugs.gnu.org/45453> + license:expat + (let* ((meta '(("name" . "hello") + ("version" . "2.10") + ("source" . (("method" . "url-fetch") + ("uri" . "mirror://gnu/hello/hello-2.10.tar.gz") + ("sha256" . + (("base32" . + "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))) + ("build-system" . "gnu") + ("home-page" . "https://gnu.org") + ("synopsis" . "Say hi") + ("description" . "This package says hi.") + ("license" . "MIT")))) + (package-license (alist->package meta)))) + (test-equal "alist->package with dependencies" `(("gettext" ,(specification->package "gettext"))) (let* ((meta '(("name" . "hello") diff --git a/tests/transformations.scm b/tests/transformations.scm index 2d33bed7ae..9053deba41 100644 --- a/tests/transformations.scm +++ b/tests/transformations.scm @@ -26,6 +26,7 @@ #:use-module (guix build-system) #:use-module (guix build-system gnu) #:use-module (guix transformations) + #:use-module ((guix gexp) #:select (local-file? local-file-file)) #:use-module (guix ui) #:use-module (guix utils) #:use-module (guix git) @@ -372,6 +373,29 @@ (match (memq #:tests? (package-arguments tar)) ((#:tests? #f _ ...) #t)))))))) +(test-equal "options->transformation, with-patch" + (search-patches "glibc-locales.patch" "guile-relocatable.patch") + (let* ((dep (dummy-package "dep" + (source (dummy-origin)))) + (p (dummy-package "foo" + (inputs `(("dep" ,dep))))) + (patch1 (search-patch "glibc-locales.patch")) + (patch2 (search-patch "guile-relocatable.patch")) + (t (options->transformation + `((with-patch . ,(string-append "dep=" patch1)) + (with-patch . ,(string-append "dep=" patch2)) + (with-patch . ,(string-append "tar=" patch1)))))) + (let ((new (t p))) + (match (bag-direct-inputs (package->bag new)) + ((("dep" dep) ("tar" tar) _ ...) + (and (member patch1 + (filter-map (lambda (patch) + (and (local-file? patch) + (local-file-file patch))) + (origin-patches (package-source tar)))) + (map local-file-file + (origin-patches (package-source dep))))))))) + (test-end) ;;; Local Variables: |