summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/bootloader/grub.scm2
-rw-r--r--gnu/ci.scm24
-rw-r--r--gnu/local.mk4
-rw-r--r--gnu/packages/admin.scm35
-rw-r--r--gnu/packages/antivirus.scm4
-rw-r--r--gnu/packages/astronomy.scm18
-rw-r--r--gnu/packages/audio.scm39
-rw-r--r--gnu/packages/autotools.scm2
-rw-r--r--gnu/packages/bioconductor.scm34
-rw-r--r--gnu/packages/bioinformatics.scm6
-rw-r--r--gnu/packages/boost.scm26
-rw-r--r--gnu/packages/bootloaders.scm6
-rw-r--r--gnu/packages/build-tools.scm4
-rw-r--r--gnu/packages/c.scm4
-rw-r--r--gnu/packages/check.scm67
-rw-r--r--gnu/packages/chromium.scm8
-rw-r--r--gnu/packages/ci.scm133
-rw-r--r--gnu/packages/cpp.scm4
-rw-r--r--gnu/packages/cran.scm53
-rw-r--r--gnu/packages/crates-graphics.scm3
-rw-r--r--gnu/packages/crates-io.scm11
-rw-r--r--gnu/packages/databases.scm30
-rw-r--r--gnu/packages/disk.scm2
-rw-r--r--gnu/packages/dns.scm4
-rw-r--r--gnu/packages/ebook.scm137
-rw-r--r--gnu/packages/emacs-xyz.scm133
-rw-r--r--gnu/packages/embedded.scm37
-rw-r--r--gnu/packages/engineering.scm2
-rw-r--r--gnu/packages/fcitx5.scm6
-rw-r--r--gnu/packages/file-systems.scm12
-rw-r--r--gnu/packages/finance.scm9
-rw-r--r--gnu/packages/freedesktop.scm21
-rw-r--r--gnu/packages/game-development.scm8
-rw-r--r--gnu/packages/games.scm16
-rw-r--r--gnu/packages/gcc.scm4
-rw-r--r--gnu/packages/geo.scm16
-rw-r--r--gnu/packages/gl.scm6
-rw-r--r--gnu/packages/gnome-xyz.scm4
-rw-r--r--gnu/packages/gnu-doc.scm8
-rw-r--r--gnu/packages/golang.scm6
-rw-r--r--gnu/packages/gpodder.scm14
-rw-r--r--gnu/packages/graphics.scm37
-rw-r--r--gnu/packages/gtk.scm2
-rw-r--r--gnu/packages/guile-xyz.scm12
-rw-r--r--gnu/packages/hardware.scm6
-rw-r--r--gnu/packages/haskell-web.scm2
-rw-r--r--gnu/packages/image-processing.scm4
-rw-r--r--gnu/packages/irc.scm4
-rw-r--r--gnu/packages/jami.scm26
-rw-r--r--gnu/packages/julia-xyz.scm2
-rw-r--r--gnu/packages/jupyter.scm128
-rw-r--r--gnu/packages/kde-pim.scm2
-rw-r--r--gnu/packages/language.scm2
-rw-r--r--gnu/packages/libreoffice.scm4
-rw-r--r--gnu/packages/linux.scm34
-rw-r--r--gnu/packages/lisp-xyz.scm143
-rw-r--r--gnu/packages/llvm.scm11
-rw-r--r--gnu/packages/mail.scm47
-rw-r--r--gnu/packages/maths.scm147
-rw-r--r--gnu/packages/messaging.scm25
-rw-r--r--gnu/packages/music.scm4
-rw-r--r--gnu/packages/networking.scm43
-rw-r--r--gnu/packages/ocaml.scm2
-rw-r--r--gnu/packages/package-management.scm32
-rw-r--r--gnu/packages/patches/calibre-no-updates-dialog.patch22
-rw-r--r--gnu/packages/patches/calibre-remove-test-sqlite.patch21
-rw-r--r--gnu/packages/patches/calibre-remove-test-unrar.patch24
-rw-r--r--gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch32
-rw-r--r--gnu/packages/patches/pyqt-public-sip.patch55
-rw-r--r--gnu/packages/patches/racket-sh-via-rktio.patch87
-rw-r--r--gnu/packages/pdf.scm2
-rw-r--r--gnu/packages/popt.scm2
-rw-r--r--gnu/packages/python-build.scm18
-rw-r--r--gnu/packages/python-check.scm47
-rw-r--r--gnu/packages/python-compression.scm150
-rw-r--r--gnu/packages/python-web.scm130
-rw-r--r--gnu/packages/python-xyz.scm562
-rw-r--r--gnu/packages/qt.scm137
-rw-r--r--gnu/packages/radio.scm50
-rw-r--r--gnu/packages/rdf.scm4
-rw-r--r--gnu/packages/rsync.scm6
-rw-r--r--gnu/packages/ruby.scm5
-rw-r--r--gnu/packages/scheme.scm191
-rw-r--r--gnu/packages/sphinx.scm24
-rw-r--r--gnu/packages/syncthing.scm74
-rw-r--r--gnu/packages/tcl.scm2
-rw-r--r--gnu/packages/telegram.scm4
-rw-r--r--gnu/packages/tex.scm85
-rw-r--r--gnu/packages/text-editors.scm7
-rw-r--r--gnu/packages/version-control.scm4
-rw-r--r--gnu/packages/visidata.scm4
-rw-r--r--gnu/packages/vpn.scm9
-rw-r--r--gnu/packages/web-browsers.scm38
-rw-r--r--gnu/packages/web.scm92
-rw-r--r--gnu/packages/wm.scm49
-rw-r--r--gnu/services.scm27
-rw-r--r--gnu/services/ci.scm127
-rw-r--r--gnu/services/databases.scm2
-rw-r--r--gnu/services/networking.scm141
-rw-r--r--gnu/services/version-control.scm2
-rw-r--r--gnu/system/vm.scm20
-rw-r--r--gnu/tests.scm26
-rw-r--r--gnu/tests/base.scm4
-rw-r--r--gnu/tests/ci.scm128
-rw-r--r--gnu/tests/docker.scm3
-rw-r--r--gnu/tests/guix.scm5
-rw-r--r--gnu/tests/monitoring.scm7
-rw-r--r--gnu/tests/networking.scm92
-rw-r--r--gnu/tests/nfs.scm2
-rw-r--r--gnu/tests/web.scm7
110 files changed, 3240 insertions, 971 deletions
diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm
index 13ee695909..ce146aba3c 100644
--- a/gnu/bootloader/grub.scm
+++ b/gnu/bootloader/grub.scm
@@ -666,7 +666,7 @@ relatively form MOUNT-POINT/TARGET/SUBDIR/grub.cfg to
MOUNT-POINT/boot/grub/grub.cfg, and the second symlink points relatively from
MOUNT-POINT/TARGET/%store-prefix to MOUNT-POINT/%store-prefix.
-It is important to note that these symlinks need to be relativ, as the absolute
+It is important to note that these symlinks need to be relative, as the absolute
paths on the TFTP server side are unknown.
It is also important to note that both symlinks will point outside the TFTP root
diff --git a/gnu/ci.scm b/gnu/ci.scm
index ff76ffde57..5ab1b51d82 100644
--- a/gnu/ci.scm
+++ b/gnu/ci.scm
@@ -317,25 +317,25 @@ SYSTEM."
#:key source commit)
"Return a list of jobs for the system tests."
(define (->job test)
- (parameterize ((current-guix-package
- (channel-source->package source #:commit commit)))
- (let ((name (string-append "test." (system-test-name test)
- "." system))
- (drv (run-with-store store
- (mbegin %store-monad
- (set-current-system system)
- (set-grafting #f)
- (set-guile-for-build (default-guile))
- (system-test-value test)))))
+ (let ((name (string-append "test." (system-test-name test)
+ "." system))
+ (drv (run-with-store store
+ (mbegin %store-monad
+ (set-current-system system)
+ (set-grafting #f)
+ (set-guile-for-build (default-guile))
+ (system-test-value test)))))
- (derivation->job name drv))))
+ (derivation->job name drv)))
(if (member system %guix-system-supported-systems)
;; Override the value of 'current-guix' used by system tests. Using a
;; channel instance makes tests that rely on 'current-guix' less
;; expensive. It also makes sure we get a valid Guix package when this
;; code is not running from a checkout.
- (map ->job (all-system-tests))
+ (parameterize ((current-guix-package
+ (channel-source->package source #:commit commit)))
+ (map ->job (all-system-tests)))
'()))
(define (tarball-jobs store system)
diff --git a/gnu/local.mk b/gnu/local.mk
index 1e95be50b3..b69be3a179 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -40,6 +40,7 @@
# Copyright © 2020 Malte Frank Gerdes <mate.f.gerdes@gmail.com>
# Copyright © 2020 Vinicius Monego <monego@posteo.net>
# Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+# Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
#
# This file is part of GNU Guix.
#
@@ -1265,6 +1266,7 @@ dist_patch_DATA = \
%D%/packages/patches/libffi-float128-powerpc64le.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
+ %D%/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch \
%D%/packages/patches/localed-xorg-keyboard.patch \
%D%/packages/patches/kdiagram-Fix-missing-link-libraries.patch \
%D%/packages/patches/kiki-level-selection-crash.patch \
@@ -1558,7 +1560,6 @@ dist_patch_DATA = \
%D%/packages/patches/pybugz-stty.patch \
%D%/packages/patches/pygpgme-disable-problematic-tests.patch \
%D%/packages/patches/pyqt-configure.patch \
- %D%/packages/patches/pyqt-public-sip.patch \
%D%/packages/patches/python-2-deterministic-build-info.patch \
%D%/packages/patches/python-2.7-adjust-tests.patch \
%D%/packages/patches/python-2.7-search-paths.patch \
@@ -1638,6 +1639,7 @@ dist_patch_DATA = \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rtags-separate-rct.patch \
+ %D%/packages/patches/racket-sh-via-rktio.patch \
%D%/packages/patches/racket-store-checksum-override.patch \
%D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index f331503f99..807c3b44ab 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -39,6 +39,7 @@
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
+;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1052,6 +1053,36 @@ recursive runs on the generated subnets. (also IPv6)
@end itemize\n")
(license license:bsd-3)))
+(define-public prips
+ (package
+ (name "prips")
+ (version "1.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://devel.ringlet.net/files/sys/"
+ name "/" name "-" version ".tar.xz"))
+ (sha256
+ (base32 "1a33vbl4w603mk6mm5r3vhk87fy3dfk5wdpch0yd3ncbkg3fmvqn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags (list (string-append "CC=" ,(cc-for-target)))
+ #:test-target "test"
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "prips"
+ (string-append out "/bin"))))))))
+ (native-inputs `(("perl-test-harness" ,perl-test-harness)))
+ (synopsis "Tool that prints the IP addresses in a given range")
+ (description "Prips can be used to print all of the IP addresses in
+ a given range. This allows the enhancement of tools only work
+ on one host at a time (e.g. whois).")
+ (home-page "https://devel.ringlet.net/sysutils/prips/")
+ (license license:gpl2+)))
+
(define-public alive
(package
(name "alive")
@@ -1996,7 +2027,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
- (version "20210105")
+ (version "20210331")
(source (origin
(method url-fetch)
(uri (string-append
@@ -2004,7 +2035,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
- "1gi7qzfywg118g5nlqn5lawxk25pg2sz01gmbz40vvmikks4ri9r"))))
+ "1h98pvc9iy1c49cid0ppjwk5zsy2m1xbvfqb72pkwkrd4rn35arx"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
diff --git a/gnu/packages/antivirus.scm b/gnu/packages/antivirus.scm
index 29763f3452..9bcfe52126 100644
--- a/gnu/packages/antivirus.scm
+++ b/gnu/packages/antivirus.scm
@@ -44,14 +44,14 @@
(define-public clamav
(package
(name "clamav")
- (version "0.103.1")
+ (version "0.103.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz"))
(sha256
(base32
- "0mz2aq8dh4i7mh59r71scczgyjbsj8l0a51nkwxsys5ji5xw823k"))
+ "1lhv4xw89sszi519agvc9mi6jz5aiivm9yr6lciy8qk2csnd1dfl"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 6105ef2590..4660e141a4 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -118,7 +118,7 @@ for reading and writing.")
(define-public erfa
(package
(name "erfa")
- (version "1.7.2")
+ (version "1.7.3")
(source
(origin
(method git-fetch)
@@ -127,7 +127,7 @@ for reading and writing.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1vsqwvzlk7r8q7nwyb7i710blcfdl5kwcm2va9km07a820nsp84a"))))
+ (base32 "0nh12dr7gk4ki55lz95pkm4fpf7kazirra3zax9pab6v4qql4hlw"))))
(build-system gnu-build-system)
(native-inputs
`(("automake" ,automake)
@@ -137,8 +137,10 @@ for reading and writing.")
(home-page "https://github.com/liberfa/erfa")
(synopsis "Essential Routines for Fundamental Astronomy")
(description
- "ERFA is a C library containing key algorithms for astronomy, and is based
-on the SOFA library published by the International Astronomical Union (IAU).")
+ "The @acronym{ERFA, Essential Routines for Fundamental Astronomy} C library
+contains key algorithms for astronomy, and is based on the @acronym{SOFA,
+Standards of Fundamental Astronomy} library published by the @acronym{IAU,
+International Astronomical Union}.")
(license license:bsd-3)))
(define-public eye
@@ -399,7 +401,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
(define-public stellarium
(package
(name "stellarium")
- (version "0.20.4")
+ (version "0.21.0")
(source
(origin
(method url-fetch)
@@ -407,7 +409,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
"/releases/download/v" version
"/stellarium-" version ".tar.gz"))
(sha256
- (base32 "1253zlr0mi4kdbj119spxk7spg4rkahb4rlpd0hz1d81mnv3n0v3"))))
+ (base32 "04vg2asj9gygwnrs32scqc8192ln2lyqa9v7cjqk8zd4frkwszwp"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@@ -1009,13 +1011,13 @@ astronomical images, especially when there is no WCS information available.")
(define-public python-skyfield
(package
(name "python-skyfield")
- (version "1.36")
+ (version "1.38")
(source
(origin
(method url-fetch)
(uri (pypi-uri "skyfield" version))
(sha256
- (base32 "1dm1327a4qv3klj9blrvddbhl72v1fqz52ym9km8qjj9vdkpywh6"))))
+ (base32 "1qi1l8qn6irdv6w41qq30s2yjwak7h6ayywr1pry9gwcm2c25bv5"))))
(build-system python-build-system)
(arguments
;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index eff45af80f..c9a9ebf32d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -18,7 +18,7 @@
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
-;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
@@ -78,6 +78,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnunet) ; libmicrohttpd
#:use-module (gnu packages gperf)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
@@ -567,11 +568,11 @@ streams from live audio.")
(define-public ardour
(package
(name "ardour")
- (version "5.12")
+ (version "6.6")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://git.ardour.org/ardour/ardour.git")
+ (url "git://git.ardour.org/ardour/ardour.git")
(commit version)))
(snippet
;; Ardour expects this file to exist at build time. The revision
@@ -581,15 +582,16 @@ streams from live audio.")
"libs/ardour/revision.cc"
(lambda (port)
(format port ,(string-append "#include \"ardour/revision.h\"
-namespace ARDOUR { const char* revision = \"" version "\" ; }"))
+namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }"))
#t)))
(sha256
(base32
- "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr"))
+ "0k5rxh8b3d8si3lj01gfqj0pmd448d8sj4asnb205mwhwbfgn0cp"))
(file-name (string-append name "-" version))))
(build-system waf-build-system)
(arguments
`(#:configure-flags '("--cxx11" ; required by gtkmm
+ "--optimize"
"--no-phone-home" ; don't contact ardour.org
"--freedesktop" ; build .desktop file
"--test") ; build unit tests
@@ -619,8 +621,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
ver ".appdata.xml")
(string-append share "/appdata/")))
#t)))
- #:test-target "test"
- #:python ,python-2))
+ #:test-target "test"))
(inputs
`(("alsa-lib" ,alsa-lib)
("atkmm" ,atkmm)
@@ -628,6 +629,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
("boost" ,boost)
("cairomm" ,cairomm)
("curl" ,curl)
+ ("dbus" ,dbus)
("eudev" ,eudev)
("fftw" ,fftw)
("fftwf" ,fftwf)
@@ -644,17 +646,21 @@ namespace ARDOUR { const char* revision = \"" version "\" ; }"))
("libsndfile" ,libsndfile)
("libusb" ,libusb)
("libvorbis" ,libvorbis)
+ ("libwebsockets" ,libwebsockets)
("libxml2" ,libxml2)
("lilv" ,lilv)
("lrdf" ,lrdf)
("lv2" ,lv2)
+ ("openssl" ,openssl) ; Required by libwebsockets.
("pangomm" ,pangomm)
("python-rdflib" ,python-rdflib)
+ ("pulseaudio" ,pulseaudio)
("readline" ,readline)
("redland" ,redland)
("rubberband" ,rubberband)
("serd" ,serd)
("sord" ,sord)
+ ("soundtouch" ,soundtouch)
("sratom" ,sratom)
("suil" ,suil)
("taglib" ,taglib)
@@ -4088,7 +4094,7 @@ kbps at 24 bit/96 kHz.")
(home-page "https://github.com/Arkq/bluez-alsa")
(synopsis "Bluetooth ALSA backend")
(description "This project is a rebirth of a direct integration between
-Bluez and ALSA. Since Bluez >= 5, the build-in integration has been removed
+Bluez and ALSA. Since Bluez >= 5, the built-in integration has been removed
in favor of 3rd party audio applications. From now on, Bluez acts as a
middleware between an audio application, which implements Bluetooth audio
profile, and a Bluetooth audio device. BlueALSA registers all known Bluetooth
@@ -4255,7 +4261,7 @@ the following features:
(home-page "https://github.com/werman/noise-suppression-for-voice")
(synopsis "Speech denoise LV2 plugin based on Xiph's RNNoise library")
(description "RNNoise is a library that uses deep learning to apply
-noise supression to audio sources with voice presence. This package provides
+noise suppression to audio sources with voice presence. This package provides
an LV2 audio plugin.")
(license license:lgpl3+))))
@@ -4460,7 +4466,7 @@ library.")
(define-public faudio
(package
(name "faudio")
- (version "19.11")
+ (version "21.04")
(source
(origin
(method git-fetch)
@@ -4469,19 +4475,24 @@ library.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0ckpr6ffz8ssfh1y850dhip5s5jv0j6n90qz5yx1v9d6gpwf08rp"))))
+ (base32 "1g3zp7igh4ns31sqnxddxqhgibijngkbcqqsj23i9d1lah6k4747"))))
(arguments
'(#:tests? #f ; No tests.
- #:configure-flags '("-DFFMPEG=ON")))
+ #:configure-flags '("-DGSTREAMER=ON")))
(build-system cmake-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("ffmpeg" ,ffmpeg)
+ (inputs `(("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
("sdl2" ,sdl2)))
(home-page "https://github.com/FNA-XNA/FAudio")
(synopsis "XAudio reimplementation")
(description "FAudio is an XAudio reimplementation that focuses solely on
developing fully accurate DirectX Audio runtime libraries.")
- (license license:zlib)))
+ (license
+ (list license:zlib
+ ;; stb & utils/{ui,wav}common are dual-licenced under either of:
+ license:expat
+ license:public-domain))))
(define-public gnaural
(package
diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm
index 12a36a4709..33e1905a25 100644
--- a/gnu/packages/autotools.scm
+++ b/gnu/packages/autotools.scm
@@ -537,7 +537,7 @@ complexity of working with shared libraries across platforms.")
(native-inputs
`(("help2man" ,help2man)))
(home-page "https://savannah.gnu.org/projects/config")
- (synopsis "Ubiquitious config.guess and config.sub scripts")
+ (synopsis "Ubiquitous config.guess and config.sub scripts")
(description "The `config.guess' script tries to guess a canonical system triple,
and `config.sub' validates and canonicalizes. These are used as part of
configuration in nearly all GNU packages (and many others).")
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm
index 88dca552e0..171736064c 100644
--- a/gnu/packages/bioconductor.scm
+++ b/gnu/packages/bioconductor.scm
@@ -619,6 +619,32 @@ as provided by UCSC (hg38, Dec. 2013) and stored in Biostrings objects.")
"This package exposes an annotation database generated from Ensembl.")
(license license:artistic2.0)))
+(define-public r-txdb-dmelanogaster-ucsc-dm6-ensgene
+ (package
+ (name "r-txdb-dmelanogaster-ucsc-dm6-ensgene")
+ (version "3.12.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "TxDb.Dmelanogaster.UCSC.dm6.ensGene"
+ version 'annotation))
+ (sha256
+ (base32
+ "0yij7zyqkmmr13389rs2gfa5anvvw648nnl1kjbsgvyxkggif8q4"))))
+ (properties
+ `((upstream-name . "TxDb.Dmelanogaster.UCSC.dm6.ensGene")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-annotationdbi" ,r-annotationdbi)
+ ("r-genomicfeatures" ,r-genomicfeatures)))
+ (home-page
+ "https://bioconductor.org/packages/TxDb.Dmelanogaster.UCSC.dm6.ensGene")
+ (synopsis "Annotation package for TxDb object(s)")
+ (description
+ "This package exposes an annotation databases generated from UCSC by
+exposing these as TxDb objects.")
+ (license license:artistic2.0)))
+
(define-public r-txdb-hsapiens-ucsc-hg19-knowngene
(package
(name "r-txdb-hsapiens-ucsc-hg19-knowngene")
@@ -1087,7 +1113,7 @@ package @code{affy}.")
(properties `((upstream-name . "gageData")))
(build-system r-build-system)
(home-page "https://bioconductor.org/packages/gageData")
- (synopsis "Auxillary data for gage package")
+ (synopsis "Auxiliary data for the gage package")
(description
"This is a supportive data package for the software package @code{gage}.
However, the data supplied here are also useful for gene set or pathway
@@ -10528,8 +10554,8 @@ experiments, and visualize de influence of the involved factors.")
by spectral counts, to discover differentially expressed proteins between two
biological conditions. Three tests are available: Poisson GLM regression,
quasi-likelihood GLM regression, and the negative binomial of the edgeR
-package.The three models admit blocking factors to control for nuissance
-variables.To assure a good level of reproducibility a post-test filter is
+package. The three models admit blocking factors to control for nuisance
+variables. To assure a good level of reproducibility a post-test filter is
available, where we may set the minimum effect size considered biologicaly
relevant, and the minimum expression of the most abundant condition.")
(license license:gpl2)))
@@ -11065,7 +11091,7 @@ the earlier snpMatrix package, allowing for uncertainty in genotypes.")
(description
"This package implements functions for combinatorial and differential
analysis of ChIP-seq data. It includes uni- and multivariate peak-calling,
-export to genome browser viewable files, and functi ons for enrichment
+export to genome browser viewable files, and functions for enrichment
analyses.")
(license license:artistic2.0)))
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 908916ebf3..475aa019d0 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -6799,9 +6799,9 @@ of these reads to align data quickly through a hash-based indexing scheme.")
(synopsis "Biological sequence analysis tool for NGS reads")
(description
"SortMeRNA is a biological sequence analysis tool for filtering, mapping
-and operational taxonomic unit (OTU) picking of next generation
-sequencing (NGS) reads. The core algorithm is based on approximate seeds and
-allows for fast and sensitive analyses of nucleotide sequences. The main
+and @acronym{OTU, operational taxonomic unit} picking of @acronym{NGS, next
+generation sequencing} reads. The core algorithm is based on approximate seeds
+and allows for fast and sensitive analyses of nucleotide sequences. The main
application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
;; The source includes x86 specific code
(supported-systems '("x86_64-linux" "i686-linux"))
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 1323e28278..a59bb01f3d 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
+;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -45,6 +46,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages shells)
+ #:use-module (gnu packages mpi)
#:use-module (srfi srfi-1))
(define (version-with-underscores version)
@@ -347,6 +349,30 @@ Boost.Thread.")
signals and slots system.")
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"))))
+
+(define-public boost-mpi
+ (package
+ (inherit boost)
+ (name "boost-mpi")
+ (native-inputs
+ `(("perl" ,perl)
+ ,@(if (%current-target-system)
+ '()
+ `(("python" ,python-wrapper)))
+ ("openmpi" , openmpi)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments boost)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'configure 'update-jam
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((output-port (open-file "project-config.jam" "a")))
+ (display "using mpi ;" output-port)
+ (newline output-port)
+ (close output-port))))))))
+ (home-page "https://www.boost.org")
+ (synopsis "Message Passing Interface (MPI) library for C++")))
+
(define-public mdds
(package
(name "mdds")
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index c9a3d2c217..6093e0d9e6 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -478,15 +478,15 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
- (version "2021.01")
+ (version "2021.04")
(source (origin
(method url-fetch)
(uri (string-append
- "ftp://ftp.denx.de/pub/u-boot/"
+ "https://ftp.denx.de/pub/u-boot/"
"u-boot-" version ".tar.bz2"))
(sha256
(base32
- "0m04glv9kn3bhs62sn675w60wkrl4m3a4hnbnnw67s3l198y21xl"))))
+ "06p1vymf0dl6jc2xy5w7p42mpgppa46lmpm2ishmgsycnldqnhqd"))))
(native-inputs
`(("bc" ,bc)
("bison" ,bison)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index b5cebf0f9b..87f393cf5c 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -317,7 +317,7 @@ resembles Python.")
(define-public meson-next
(package
(inherit meson)
- (version "0.57.1")
+ (version "0.57.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mesonbuild/meson/"
@@ -325,7 +325,7 @@ resembles Python.")
version ".tar.gz"))
(sha256
(base32
- "19n8alcpzv6npgp27iqljkmvdmr7s2c7zm8y997j1nlvpa1cgqbj"))))))
+ "1iac7p99zfgkznq4qlnkk7b8xwwlilcrnkf33sczm56yqnqyg0rs"))))))
(define-public meson-for-build
(package
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 429ff94070..36a9366554 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -546,7 +546,7 @@ portability.")
(define-public aws-c-common
(package
(name "aws-c-common")
- (version "0.5.2")
+ (version "0.5.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -555,7 +555,7 @@ portability.")
(file-name (git-file-name name version))
(sha256
(base32
- "0rd2qzaa9mmn5f6f2bl1wgv54f17pqx3vwyy9f8ylh59qfnilpmg"))))
+ "03fcvh3l1l6fkzkcbaprk10qmy8l77zhmh60h1px2ik09sqd9p72"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 7c95ea6950..2ad4de55f8 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -24,11 +24,11 @@
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2015, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
-;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
@@ -1132,6 +1132,37 @@ supports coverage of subprocesses.")
(define-public python2-pytest-cov
(package-with-python2 python-pytest-cov))
+(define-public python-pytest-httpserver
+ (package
+ (name "python-pytest-httpserver")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest_httpserver" version))
+ (sha256
+ (base32
+ "0vbls0j570l5my83j4jnk5blmnir44i0w511azlh41nl6k8rac5f"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-werkzeug" ,python-werkzeug)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-library-loading
+ (lambda _
+ (setenv "PYTHONPATH" (string-append (getenv "PYTHONPATH") ":."))))
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "tests" "-vv")
+ (invoke "pytest" "tests" "-vv" "--ssl"))))))
+ (home-page "https://github.com/csernazs/pytest-httpserver")
+ (synopsis "HTTP server for pytest")
+ (description "Pytest plugin library to test http clients without
+contacting the real http server.")
+ (license license:expat)))
+
(define-public python-pytest-runner
(package
(name "python-pytest-runner")
@@ -1738,7 +1769,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(define-public python-testpath
(package
(name "python-testpath")
- (version "0.2")
+ (version "0.4.4")
(source
(origin
(method git-fetch)
@@ -1748,7 +1779,7 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(file-name (git-file-name name version))
(sha256
(base32
- "0r4iiizjql6ny1ln7ciw7rrbjadz1s9zrf2hl0xkgnh3ypd8936f"))))
+ "1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; this package does not even have a setup.py
@@ -1757,19 +1788,25 @@ C/C++, R, and more, and uploads it to the @code{codecov.io} service.")
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
- (delete 'install)
(replace 'build
+ (lambda _
+ ;; A ZIP archive should be generated, but it fails with "ZIP does
+ ;; not support timestamps before 1980". Luckily,
+ ;; SOURCE_DATE_EPOCH is respected, which we set to some time in
+ ;; 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "flit" "build")))
+ (replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((version (last
- (string-split (assoc-ref inputs "python") #\-)))
- (x.y (string-join (take (string-split version #\.) 2)
- "."))
- (dir (string-append
- (assoc-ref outputs "out")
- "/lib/python" x.y "/site-packages/testpath")))
- (mkdir-p dir)
- (copy-recursively "testpath" dir))
- #t)))))
+ (add-installed-pythonpath inputs outputs)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each (lambda (wheel)
+ (format #true wheel)
+ (invoke "python" "-m" "pip" "install"
+ wheel (string-append "--prefix=" out)))
+ (find-files "dist" "\\.whl$"))))))))
+ (native-inputs
+ `(("python-flit" ,python-flit)))
(home-page "https://github.com/takluyver/testpath")
(synopsis "Test utilities for code working with files and commands")
(description
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index de7c887061..835e9e2050 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -21,8 +21,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix gexp)
- #:use-module (guix store)
- #:use-module (guix monads)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
@@ -305,7 +303,7 @@
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
-(define %ungoogled-revision "89.0.4389.90-1")
+(define %ungoogled-revision "89.0.4389.114-1")
(define %debian-revision "debian/84.0.4147.105-1")
(define %debian-patches
@@ -325,7 +323,7 @@
%ungoogled-revision)))
(sha256
(base32
- "0pr756d1b4wc67d61b21yszi7mx1hsjy14i44j0kvcwm05pgnf79"))))
+ "0cr2i51gxhgl55c8f9w0ra3m5q2dk03sf7p2qn4bqq1l1l72hw6s"))))
(define %guix-patches
(list (local-file
@@ -466,7 +464,7 @@
".tar.xz"))
(sha256
(base32
- "16i7bgk2jbcqs2p28nk5mlf0k6wah594pcsfm8b154nxbyf0iihi"))
+ "007df9p78bbmk3iyfi8qn57mmn68qqrdhx6z8n2hl8ksd7lspw7j"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm
index eaf32d9739..030fc73ef9 100644
--- a/gnu/packages/ci.scm
+++ b/gnu/packages/ci.scm
@@ -25,31 +25,38 @@
#:use-module ((guix licenses) #:prefix l:)
#:use-module (gnu packages)
#:use-module (guix packages)
+ #:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix download)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages docbook)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages mail)
#:use-module (gnu packages package-management)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-compression)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages serialization)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
+ #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
(define-public cuirass
- (let ((commit "1b35a7785627f3e8c5b6d8f37bf11eb4a470b4c4")
- (revision "7"))
+ (let ((commit "d601fe0e4c85ab7b37f0571e898448c9fadde715")
+ (revision "9"))
(package
(name "cuirass")
(version (git-version "1.0.0" revision commit))
@@ -62,7 +69,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1hy8inhwpi9i92yg5alvmqgp1vjnrhinckywkv9kgyjlskzshib3"))))
+ "09d05bqy7wqz9175b4nv3sqasibx4175kmiz75id05ipr0vn0j12"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build utils)
@@ -70,6 +77,11 @@
(ice-9 rdelim)
(ice-9 popen))
#:configure-flags '("--localstatedir=/var") ;for /var/log/cuirass
+ ;; XXX: HTTP tests fail on aarch64 due to Fibers errors, disable them
+ ;; on that architecture for now.
+ #:tests? ,(let ((s (or (%current-target-system)
+ (%current-system))))
+ (not (string-prefix? "aarch64" s)))
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
@@ -177,3 +189,118 @@
intended as a replacement for Hydra.")
(home-page "https://guix.gnu.org/cuirass/")
(license l:gpl3+))))
+
+(define-public laminar
+ (package
+ (name "laminar")
+ (version "1.0")
+ (source
+ (origin (method url-fetch)
+ (uri (string-append "https://github.com/ohwgiles/laminar/archive/"
+ version
+ ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11m6h3rdmj2rsmsryy7r40gqccj4gg1cnqwy6blscs87gx4s423g"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; TODO Can't build tests
+ #:configure-flags
+ (list "-DCMAKE_CXX_STANDARD=17"
+ ;; "-DBUILD_TESTS=true" TODO: objcopy: js/stPskyUS: can't add
+ ;; section '.note.GNU-stack': file format not recognized
+ (string-append "-DLAMINAR_VERSION=" ,version))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-CMakeLists.txt
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("file\\(DOWNLOAD.*\n$")
+ "# file download removed by Guix --")
+ (("install\\(FILES etc/laminar.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)")
+ "")
+ (("install\\(FILES \\$\\{CMAKE\\_CURRENT\\_BINARY\\_DIR\\}\\/laminar\\.service DESTINATION \\$\\{SYSTEMD\\_UNITDIR\\}\\)")
+ "")
+ (("install\\(FILES etc/laminar\\.conf DESTINATION \\/etc\\)") "")
+ (("\\/usr\\/") ""))
+ #t))
+ (add-after 'configure 'copy-in-javascript-and-css
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (use-modules (ice-9 popen))
+
+ (mkdir-p "../build/js")
+ (for-each (lambda (name)
+ (let* ((file
+ (assoc-ref inputs (string-append name ".js")))
+ (port
+ (open-pipe* OPEN_READ "uglify-js" file))
+ (destination
+ (string-append
+ "../build/js/" name ".min.js")))
+
+ (call-with-output-file destination
+ (lambda (output-port)
+ (dump-port port output-port)))
+
+ (let ((exit (close-pipe port)))
+ (unless (zero? exit)
+ (error "uglify-js failed" exit)))))
+
+ '("vue"
+ "vue-router"
+ "Chart"))
+
+ ;; ansi_up.js isn't minified
+ (copy-file (assoc-ref inputs "ansi_up.js")
+ "../build/js/ansi_up.js")
+
+ #t)))))
+ (inputs
+ `(("capnproto" ,capnproto)
+ ("rapidjson" ,rapidjson)
+ ("sqlite" ,sqlite)
+ ("boost" ,boost)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("googletest" ,googletest)
+ ("uglify-js" ,uglify-js)
+
+ ("vue.js"
+ ,(origin (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/"
+ "vuejs/vue/v2.6.12/dist/vue.js"))
+ (sha256
+ (base32
+ "1mq2dn6yqbmzar77xf4x2bvvanf9xc9nwfq06sksl5zmr300m7qm"))))
+ ("vue-router.js"
+ ,(origin (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/"
+ "vuejs/vue-router/v3.4.8/dist/vue-router.js"))
+ (sha256
+ (base32
+ "1hkrbgzhpnrsb4zdafslqagy1vkac6bkdj7kh49js2lhkp9z4nj5"))))
+ ("ansi_up.js"
+ ,(origin (method url-fetch)
+ (uri (string-append "https://raw.githubusercontent.com/"
+ "drudru/ansi_up/v1.3.0/ansi_up.js"))
+ (sha256
+ (base32
+ "1993dywxqi2ylnxybwk7m0s0bg2bq7kfllpyr0s8ck6chd0p8i6r"))))
+ ("Chart.js"
+ ,(origin (method url-fetch)
+ (uri (string-append "https://github.com/chartjs/Chart.js/"
+ "releases/download/v2.7.2/Chart.js"))
+ (sha256
+ (base32
+ "05m3gk6hqjx92j20drnk7q075qpjraywqaf25lnglmsgsgpiqsr7"))))))
+ (synopsis "Lightweight continuous integration service")
+ (description
+ "Laminar is a lightweight and modular continuous integration service. It
+doesn't have a configuration web UI instead uses version-controllable
+configuration files and scripts.
+
+Laminar encourages the use of existing tools such as bash and cron instead of
+reinventing them.")
+ (home-page "https://laminar.ohwg.net/")
+ (license l:gpl3+)))
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 2a00d3838a..58345e7c33 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -273,7 +273,7 @@ combination of these streams.")
(define-public xsimd
(package
(name "xsimd")
- (version "7.4.9")
+ (version "7.4.10")
(source
(origin
(method git-fetch)
@@ -281,7 +281,7 @@ combination of these streams.")
(url "https://github.com/QuantStack/xsimd")
(commit version)))
(sha256
- (base32 "11by8gbshm4vv6flqp0ihff8c6nmbaqq7ms93b38rrq68bigcply"))
+ (base32 "097yvxrxdldi5s5m4nsxv8f4gwv9xj42mqig98a1z3hkjj1j2gn5"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 61de48e08e..6f931f06c2 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
-;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2016, 2017, 2018, 2020, 2021 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
@@ -1059,6 +1059,25 @@ the embedded @code{RapidXML} C++ library.")
into a pipeline of data manipulation and visualisation.")
(license license:gpl3)))
+(define-public r-hmm
+ (package
+ (name "r-hmm")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "HMM" version))
+ (sha256
+ (base32
+ "0z0hcqfixx1l2a6d3lpy5hmh0n4gjgs0jnck441akpp3vh37glzw"))))
+ (properties `((upstream-name . "HMM")))
+ (build-system r-build-system)
+ (home-page "https://cran.r-project.org/web/packages/HMM/")
+ (synopsis "Hidden Markov Models")
+ (description "This package provides an easy to use library to setup, apply
+and make inference with discrete time and discrete space hidden Markov
+models.")
+ (license license:gpl2+)))
+
(define-public r-httpuv
(package
(name "r-httpuv")
@@ -9538,10 +9557,10 @@ singular or ill-conditioned Jacobian.")
`((upstream-name . "PhysicalActivity")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/PhysicalActivity/")
- (synopsis "Procesing accelerometer data for physical activity measurement")
+ (synopsis "Processing accelerometer data for physical activity measurement")
(description
"This @code{r-physicalactivity} package provides a function @code{wearingMarking}
-for classification of monitor wear and nonwear time intervals in accelerometer
+for classification of monitored wear and nonwear time intervals in accelerometer
data collected to assess physical activity. The package also contains functions
for making plots of accelerometer data and obtaining the summary of various
information including daily monitor wear time and the mean monitor wear time
@@ -16376,7 +16395,7 @@ sets of URLs.")
(description
"The aim of the ggplot2 package is to aid in visual data investigations.
This focus has led to a lack of facilities for composing specialized plots.
-Thi package aims to be a collection of mainly new statistics and geometries
+This package aims to be a collection of mainly new statistics and geometries
that fills this gap.")
(license license:expat)))
@@ -28317,3 +28336,29 @@ indicator, a quantitative variable or a survival time.")
differential expression analysis, RNAseq data and related problems.")
;; Any version of the LGPL
(license license:lgpl3+)))
+
+(define-public r-randomforestsrc
+ (package
+ (name "r-randomforestsrc")
+ (version "2.9.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "randomForestSRC" version))
+ (sha256
+ (base32
+ "05ifvj49jv0n5p6k46milpgj9r10sc5aw23fypyyibdgwpwvwixw"))))
+ (properties
+ `((upstream-name . "randomForestSRC")))
+ (build-system r-build-system)
+ (home-page "https://cran.r-project.org/web/packages/randomForestSRC/")
+ (synopsis "Random forests for survival, regression, and classification")
+ (description
+ "This package implements fast OpenMP parallel computing of Breiman's
+random forests for survival, competing risks, regression and classification
+based on Ishwaran and Kogalur's popular random survival forests (RSF) package.
+It handles missing data and now includes multivariate, unsupervised forests,
+quantile regression and solutions for class imbalanced data. It provides a
+fast interface using subsampling and confidence regions for variable
+importance.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm
index 3485e53938..cd1712dc13 100644
--- a/gnu/packages/crates-graphics.scm
+++ b/gnu/packages/crates-graphics.scm
@@ -1934,6 +1934,7 @@ interactive applications.")
("rust-arbitrary" ,rust-arbitrary-0.4)
("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
("rust-arrayvec" ,rust-arrayvec-0.5)
+ ("rust-assert-cmd" ,rust-assert-cmd-1)
("rust-av-metrics" ,rust-av-metrics-0.6)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitstream-io" ,rust-bitstream-io-1)
@@ -1942,6 +1943,7 @@ interactive applications.")
("rust-cfg-if" ,rust-cfg-if-1)
("rust-clap" ,rust-clap-2)
("rust-console" ,rust-console-0.14)
+ ("rust-criterion" ,rust-criterion-0.3)
("rust-crossbeam" ,rust-crossbeam-0.8)
("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
("rust-fern" ,rust-fern-0.6)
@@ -1957,6 +1959,7 @@ interactive applications.")
("rust-num-derive" ,rust-num-derive-0.3)
("rust-num-traits" ,rust-num-traits-0.2)
("rust-paste" ,rust-paste-1)
+ ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
("rust-rand" ,rust-rand-0.8)
("rust-rand-chacha" ,rust-rand-chacha-0.3)
("rust-rayon" ,rust-rayon-1)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 5d2ccc0731..9d9781683b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -13969,7 +13969,7 @@ supported in purely NFA-based implementations.")
(synopsis "Find the physical space used by a file")
(description
"@code{filesize} abstracts platform-specific methods of determining the
-real space used by files, taking into account filesystem compression and
+real space used by files, taking into account file system compression and
sparse files.")
(license license:expat)))
@@ -18080,8 +18080,8 @@ Hash-based Message Authentication Code}.")
(home-page "https://github.com/pantsman0/rust-hmac-sha1")
(synopsis "Minimal implementation of HMAC-SHA1 in Rust")
(description
- "This package is a pure Rust implementation of the Hash-based Message
-Authentication Code Algoritm (HMAC) for SHA1.")
+ "This package is a pure Rust implementation of the @acronym{HMAC,
+Hash-based Message Authentication Code algorithm} for SHA1.")
(license license:bsd-3)))
(define-public rust-hostname-0.3
@@ -35802,8 +35802,9 @@ with one of the implemented strategies.")
(("rust-fs2" ,rust-fs2-0.4))))
(home-page "https://github.com/dtolnay/scratch")
(synopsis "Compile-time temporary directory")
- (description "This crate exposes a compile-time temporary directory sharable
-by multiple crates in a build graph and erased by @code{cargo clean}.")
+ (description "This crate exposes a compile-time temporary directory
+shareable by multiple crates in a build graph and erased by @code{cargo
+clean}.")
(license (list license:expat license:asl2.0))))
(define-public rust-scrypt-0.3
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 3cff4d0f32..fb3ac05f44 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -48,6 +48,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1002,6 +1003,31 @@ as a drop-in replacement of MySQL.")
developed in C/C++ to MariaDB and MySQL databases.")
(license license:lgpl2.1+)))
+(define-public galera
+ (package
+ (name "galera")
+ (version "26.4.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (commit "bac8171266cb982fe013ce496d78085438c6f23e")
+ (url "https://github.com/codership/galera")
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0h7s670pcasq8wzprhyxqfca2cghi62b8xz2kikb2a86wd453qil"))))
+ (build-system cmake-build-system)
+ (inputs
+ `(("check" ,check)
+ ("boost" ,boost)
+ ("openssl" ,openssl)))
+ (home-page "https://github.com/codership/galera/")
+ (synopsis "Extension to the MariaDB database server")
+ (description
+ "Galera is a wsrep-provider that is used with MariaDB for load-balancing
+and high-availability (HA).")
+ (license license:gpl2))) ;'COPYING' says "version 2" only
+
;; Don't forget to update the other postgresql packages when upgrading this one.
(define-public postgresql-13
(package
@@ -3795,14 +3821,14 @@ PostreSQL, SQLite, ODBC and MySQL.")
(define-public freetds
(package
(name "freetds")
- (version "1.2.18")
+ (version "1.2.19")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.freetds.org/files/stable/"
"freetds-" version ".tar.gz"))
(sha256
- (base32 "1hspvwxwdd1apadsy2b40dpjik8kfwcvdamvhpg3lnm15n02fb50"))))
+ (base32 "11xf2w8gh2p9cq4i38jfvdiwgig8wqbg098xjc08kx4iii8lxy3m"))))
(build-system gnu-build-system)
(arguments
;; NOTE: (Sharlatan-20210110213908+0000) some tests require DB connection,
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 6b9a9e4812..bf0897b083 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -351,7 +351,7 @@ to disk.
It should be stressed that gpart does a very heuristic job. It can easily be
right in its guesswork but it can also be terribly wrong. Never believe its
-output without any plausability checks.")
+output without any plausibility checks.")
(license license:gpl2+))))
(define-public gptfdisk
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index c940657ce9..3cf88febae 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -278,7 +278,7 @@ prompt the user with the option to go with insecure DNS only.")
(define-public dnsmasq
(package
(name "dnsmasq")
- (version "2.84")
+ (version "2.85")
(source (origin
(method url-fetch)
(uri (string-append
@@ -286,7 +286,7 @@ prompt the user with the option to go with insecure DNS only.")
version ".tar.xz"))
(sha256
(base32
- "0305a0c3snwqcv77sipyynr55xip1fp2843yn04pc4vk9g39acb0"))))
+ "1yhjwgz8g5qrqvxh6bbmg3443zi8qqjks3q872wyb1zn7n0d765d"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index dfc3d9f2e6..504171ca8b 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2017, 2019, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
@@ -58,10 +58,14 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-compression)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages serialization)
+ #:use-module (gnu packages speech)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@@ -88,10 +92,30 @@
(description "CHMLIB is a library for dealing with ITSS/CHM format files.")
(license license:lgpl2.1+)))
+(define-public python-pychm
+ (package
+ (name "python-pychm")
+ (version "0.8.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pychm" version))
+ (sha256
+ (base32
+ "0wpn9ijlsmrpyiwg3drmgz4dms1i1i347adgqw37bkrh3vn6yq16"))))
+ (build-system python-build-system)
+ (inputs
+ `(("chmlib" ,chmlib)))
+ (home-page "https://github.com/dottedmag/pychm")
+ (synopsis "Handle CHM files")
+ (description "This package provides a Python module for interacting
+with Microsoft Compiled HTML (CHM) files")
+ (license license:gpl2+)))
+
(define-public calibre
(package
(name "calibre")
- (version "4.18.0")
+ (version "5.14.0")
(source
(origin
(method url-fetch)
@@ -100,7 +124,7 @@
version ".tar.xz"))
(sha256
(base32
- "0w9pcfvskjh4v00vjw3i6hzrafy863pgsmmqdx4lffip3p856brw"))
+ "0w8j9r9qa56r8gm9b10dwh8zrzqlv79s2br82jqg02lrnrbwwv0q"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -112,8 +136,6 @@
""))
;; Remove unneeded resources.
- (delete-file "resources/viewer.js")
- (delete-file "resources/viewer.html")
(delete-file "resources/mozilla-ca-certs.pem")
(delete-file "resources/calibre-portable.bat")
(delete-file "resources/calibre-portable.sh")
@@ -125,57 +147,60 @@
(native-inputs
`(("pkg-config" ,pkg-config)
("qtbase" ,qtbase) ; for qmake
- ("python2-flake8" ,python2-flake8)
+ ("python-flake8" ,python-flake8)
+ ("python-pyqt-builder" ,python-pyqt-builder)
("xdg-utils" ,xdg-utils)))
(inputs
- `(("chmlib" ,chmlib)
- ("fontconfig" ,fontconfig)
+ `(("fontconfig" ,fontconfig)
("font-liberation" ,font-liberation)
("glib" ,glib)
("hunspell" ,hunspell)
("hyphen" ,hyphen)
("icu4c" ,icu4c)
- ("js-mathjax" ,js-mathjax)
("libmtp" ,libmtp)
("libpng" ,libpng)
+ ("libjpeg" ,libjpeg-turbo)
+ ("libjxr" ,libjxr)
("libusb" ,libusb)
("openssl" ,openssl)
("optipng" ,optipng)
("podofo" ,podofo)
("poppler" ,poppler)
- ("python" ,python-2)
- ("python2-apsw" ,python2-apsw)
- ("python2-beautifulsoup4" ,python2-beautifulsoup4)
- ("python2-chardet" ,python2-chardet)
- ("python2-cssselect" ,python2-cssselect)
- ("python2-css-parser" ,python2-css-parser)
- ("python2-dateutil" ,python2-dateutil)
- ("python2-dbus" ,python2-dbus)
- ("python2-dnspython" ,python2-dnspython-1.16)
- ("python2-dukpy" ,python2-dukpy)
- ("python2-feedparser" ,python2-feedparser)
- ("python2-html2text" ,python2-html2text)
- ("python2-html5-parser" ,python2-html5-parser)
- ("python2-html5lib" ,python2-html5lib)
- ("python2-lxml" ,python2-lxml)
- ("python2-markdown" ,python2-markdown)
- ("python2-mechanize" ,python2-mechanize)
- ;; python2-msgpack is needed for the network content server to work.
- ("python2-msgpack" ,python2-msgpack)
- ("python2-netifaces" ,python2-netifaces)
- ("python2-odfpy" ,python2-odfpy)
- ("python2-pillow" ,python2-pillow)
- ("python2-psutil" ,python2-psutil)
- ("python2-pygments" ,python2-pygments)
- ("python2-pyqtwebengine" ,python2-pyqtwebengine)
- ("python2-pyqt" ,python2-pyqt)
- ("python2-sip" ,python2-sip)
- ("python2-regex" ,python2-regex)
+ ("python-apsw" ,python-apsw)
+ ("python-beautifulsoup4" ,python-beautifulsoup4)
+ ("python-cchardet" ,python-cchardet)
+ ("python-css-parser" ,python-css-parser)
+ ("python-cssselect" ,python-cssselect)
+ ("python-dateutil" ,python-dateutil)
+ ("python-dbus" ,python-dbus)
+ ("python-dnspython" ,python-dnspython-1.16)
+ ("python-dukpy" ,python-dukpy)
+ ("python-feedparser" ,python-feedparser)
+ ("python-html2text" ,python-html2text)
+ ("python-html5-parser" ,python-html5-parser)
+ ("python-html5lib" ,python-html5lib)
+ ("python-lxml" ,python-lxml)
+ ("python-markdown" ,python-markdown)
+ ("python-mechanize" ,python-mechanize)
+ ;; python-msgpack is needed for the network content server to work.
+ ("python-msgpack" ,python-msgpack)
+ ("python-netifaces" ,python-netifaces)
+ ("python-odfpy" ,python-odfpy)
+ ("python-pillow" ,python-pillow)
+ ("python-psutil" ,python-psutil)
+ ("python-py7zr" ,python-py7zr)
+ ("python-pychm" ,python-pychm)
+ ("python-pycryptodome" ,python-pycryptodome)
+ ("python-pygments" ,python-pygments)
+ ("python-pyqt" ,python-pyqt)
+ ("python-pyqtwebengine" ,python-pyqtwebengine)
+ ("python-regex" ,python-regex)
+ ("python-speechd" ,speech-dispatcher)
+ ("python-zeroconf" ,python-zeroconf)
("qtwebengine" ,qtwebengine)
("sqlite" ,sqlite)))
(arguments
- `(#:python ,python-2
- ;; Calibre is using setuptools by itself, but the setup.py is not
+ `(;; Calibre is using setuptools by itself, but the setup.py is not
;; compatible with the shim wrapper (taken from pip) we are using.
#:use-setuptools? #f
#:phases
@@ -207,18 +232,27 @@
(add-before 'build 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((podofo (assoc-ref inputs "podofo"))
- (pyqt (assoc-ref inputs "python2-pyqt"))
- (python-sip (assoc-ref inputs "python2-sip"))
+ (pyqt (assoc-ref inputs "python-pyqt"))
+ (python-sip (assoc-ref inputs "python-sip"))
(out (assoc-ref outputs "out")))
- (substitute* "setup/build_environment.py"
- (("= get_sip_dir\\(\\)")
- (string-append "= '" pyqt "/share/sip'")))
-
+ (substitute* "setup/build.py"
+ (("\\[tool.sip.bindings.pictureflow\\]")
+ "[tool.sip.bindings.pictureflow]
+tags = [\"WS_X11\"]")
+ (("\\[tool.sip.project\\]")
+ (string-append "[tool.sip.project]
+sip-include-dirs = [\"" pyqt "/share/sip" "\"]")))
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
(("PDFTOHTML = 'pdftohtml'")
(string-append "PDFTOHTML = \"" (assoc-ref inputs "poppler")
"/bin/pdftohtml\"")))
-
+ ;; get_exe_path looks in poppler's output for these binaries. Make
+ ;; it not do that.
+ (substitute* "src/calibre/utils/img.py"
+ (("get_exe_path..jpegtran..") (string-append "'" (which "jpegtran") "'"))
+ (("get_exe_path..cjpeg..") (string-append "'" (which "cjpeg") "'"))
+ (("get_exe_path..optipng..") (string-append "'" (which "optipng") "'"))
+ (("get_exe_path..JxrDecApp..") (string-append "'" (which "JxrDecApp") "'")))
;; Calibre thinks we are installing desktop files into a home
;; directory, but here we butcher the script in to installing
;; to calibres /share directory.
@@ -237,7 +271,6 @@
"/share/fonts")
"/tmp/.fonts")
- (setenv "SIP_BIN" (string-append python-sip "/bin/sip"))
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))
;; This informs the tests we are a continuous integration
@@ -248,13 +281,11 @@
;; fix it, so I'm not sure how to fix it. TODO: Fix test and remove this.
(setenv "SKIP_QT_BUILD_TEST" "true")
#t)))
- (add-after 'build 'build-extra
+ (add-after 'install 'install-rapydscript
(lambda* (#:key inputs #:allow-other-keys)
- (invoke "python2" "setup.py" "mathjax""--system-mathjax"
- "--path-to-mathjax" (string-append
- (assoc-ref inputs "js-mathjax")
- "/share/javascript/mathjax"))
- (invoke "python2" "setup.py" "rapydscript")
+ ;; Unset so QtWebengine doesn't dump temporary files here.
+ (unsetenv "XDG_DATA_HOME")
+ (invoke "python" "setup.py" "rapydscript")
#t))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8e80ccbb56..4def3d802f 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -85,7 +85,7 @@
;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
-;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2020 Jonathan Rostran <rostranjj@gmail.com>
;;; Copyright © 2020, 2021 Noah Evans <noah@nevans.me>
@@ -96,6 +96,7 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
+;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -140,6 +141,7 @@
#:use-module (gnu packages djvu)
#:use-module (gnu packages ebook)
#:use-module (gnu packages emacs)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
@@ -938,6 +940,29 @@ Files with the @file{.graphql} and @file{.gql} extensions are
automatically opened with this mode.")
(license license:gpl3+))))
+(define-public emacs-ghq
+ (package
+ (name "emacs-ghq")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rcoedo/emacs-ghq")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rh2k93c3a0vl073a3s3a3h6gkw454v1lyd7y8l3pd24vw9hc628"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("ghq" ,ghq)))
+ (home-page "https://github.com/rcoedo/emacs-ghq")
+ (synopsis "Emacs interface for @code{ghq} tool")
+ (description
+ "This package provides a set of functions wrapping @code{ghq}, a tool for
+organizing remote Go repository clones.")
+ (license license:gpl3+)))
+
(define-public emacs-ghub
(package
(name "emacs-ghub")
@@ -1783,14 +1808,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
- (version "6.3")
+ (version "7.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
- (base32 "12cfq503li0gcqmm5bmqz8yjvfdif5xvz0l9vx3g5jl6ljygwgmf"))))
+ (base32 "1hryagy2mkx9zgc33mb773ckp5p9bisnny0r78l0h2vc43wanmhz"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("emms-print-metadata")
@@ -4680,6 +4705,32 @@ Also included are keybindings for spec files and Dired buffers, as well as
snippets for yasnippet.")
(license license:gpl3+))))
+(define-public emacs-mode-line-idle
+ ;; Package has no release. Version is extracted from "Version:" keyword in
+ ;; main file.
+ (let ((commit "02b1da6278e43cc9cc0356110cc6bfbb37eb8241")
+ (revision "1"))
+ (package
+ (name "emacs-mode-line-idle")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (file-name (git-file-name name version))
+ (uri (git-reference
+ (url "https://gitlab.com/ideasman42/emacs-mode-line-idle")
+ (commit commit)))
+ (sha256
+ (base32 "0ky330b2sfbzkbxbfp9b21hdywsjw26bllspglz08hrbni7jmry8"))))
+ (build-system emacs-build-system)
+ (home-page "https://gitlab.com/ideasman42/emacs-mode-line-idle")
+ (synopsis "Simple delayed text evaluation for the mode-line")
+ (description
+ "Mode Line Idle provides a convenient way to defer text evaluation
+which integrates into existing mode-line without requiring a minor mode or
+configuration.")
+ (license license:gpl3+))))
+
(define-public emacs-smart-mode-line
(package
(name "emacs-smart-mode-line")
@@ -9183,6 +9234,30 @@ duplicated a lot. Org-mode makes the book keeping of tags and feeds
much easier.")
(license license:gpl3+))))
+(define-public emacs-elfeed-protocol
+ (package
+ (name "emacs-elfeed-protocol")
+ (version "0.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fasheng/elfeed-protocol")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07r1qlldgd0kfikd0y737y5n42ab3nkw2s5jx7frimj41yandbdp"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-elfeed" ,emacs-elfeed)))
+ (home-page "https://github.com/fasheng/elfeed-protocol")
+ (synopsis "Fever/NewsBlur/ownCloud/tt-RSS protocols for Elfeed")
+ (description
+ "Elfeed-protocol provides extra protocols to make self-hosting RSS
+readers like Fever, NewsBlur, ownCloud News and Tiny TIny RSS work
+with Elfeed.")
+ (license license:gpl3+)))
+
(define-public emacs-elfeed-score
(package
(name "emacs-elfeed-score")
@@ -12575,14 +12650,14 @@ shuangpin, wubi and cangjie.")
(define-public emacs-posframe
(package
(name "emacs-posframe")
- (version "0.9.0")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"posframe-" version ".tar"))
(sha256
- (base32 "14x63713lbvmp24733j7pqkwvcnhpcgv7pprr8sykan3jnjnnzh3"))))
+ (base32 "1k06dbh9xqn2vix5qkcapl57v0c21b344r8dx6j5qr4jxirsn2x5"))))
(build-system emacs-build-system)
;; emacs-minimal does not include the function font-info.
(arguments
@@ -25435,21 +25510,21 @@ current buffer.")
(define-public emacs-repl-toggle
(package
(name "emacs-repl-toggle")
- (version "0.6.1")
+ (version "0.7.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tomterl/repl-toggle")
+ (url "https://git.sr.ht/~tomterl/repl-toggle")
(commit version)))
(sha256
(base32
- "12h3xxja3isnhvrqx7m2g7a5d8h68cc85pbqyhiipfxyafyl1yxd"))
+ "0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-fullframe" ,emacs-fullframe)))
- (home-page "https://github.com/tomterl/repl-toggle")
+ (home-page "https://git.sr.ht/~tomterl/repl-toggle")
(synopsis "Switch to and from current major mode's REPL")
(description "This package provides a function to switch to and from a
REPL appropriate to the current major mode.")
@@ -25554,14 +25629,14 @@ interface.")
(define-public emacs-ivy-posframe
(package
(name "emacs-ivy-posframe")
- (version "0.5.5")
+ (version "0.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"ivy-posframe-" version ".tar"))
(sha256
- (base32 "184730grclxmlw6nfs41d4g6fvz9c6xnclvwgqx1ii0xm7p9xy95"))))
+ (base32 "07dzglrcdl54lkznyphw97xwd9bcwzdcgzkav0vqfk7f5cwh1wkf"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-ivy" ,emacs-ivy)
@@ -27479,7 +27554,7 @@ rules about where space should be left to separate words and parentheses.")
(description "This mode allows to paste whole buffers or parts of buffers
to pastebin-like services. It supports more than one service and will
failover if one service fails. More services can easily be added over time
-and prefered services can easily be configured.")
+and preferred services can easily be configured.")
(license license:gpl3+)))
(define-public emacs-keystore-mode
@@ -27541,6 +27616,39 @@ and prefered services can easily be configured.")
"This package adds a \"C-'\" binding to Ivy minibuffer that uses Avy.")
(license license:gpl3+)))
+(define-public emacs-vertico
+ (package
+ (name "emacs-vertico")
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minad/vertico")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1r2p09y3ag14dqd46nyy1pa2j2cvn4gn9pji47mzmwydsm2f8hv1"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'install 'build-doc
+ (lambda _
+ (invoke "makeinfo" "vertico.texi"))))))
+ (native-inputs
+ `(("texinfo" ,texinfo)))
+ (home-page "https://github.com/minad/vertico")
+ (synopsis "Vertical interactive completion")
+ (description
+ "Vertico provides a minimalistic vertical completion UI, which is based
+on Emacs' default completion system. By reusing the default system, it
+achieves full compatibility with built-in Emacs commands and completion
+tables. Vertico is pretty bare-bone and only provides a minimal set of
+commands. Additional optional enhancements can be provided externally by
+complementary packages.")
+ (license license:gpl3+)))
+
(define-public emacs-ivy-hydra
(package
(name "emacs-ivy-hydra")
@@ -27564,3 +27672,4 @@ and prefered services can easily be configured.")
quasi-prefix map, with many useful bindings. These bindings are
shorter than usual, using mostly unprefixed keys.")
(license license:gpl3+)))
+
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index a3f1d85580..480bbf7835 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -229,7 +230,41 @@ usable on embedded products.")
"--enable-lite-exit"
"--enable-newlib-global-atexit"
"--enable-newlib-nano-formatted-io"
- "--disable-nls"))))
+ "--disable-nls"))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ ;; XXX: Most arm toolchains offer both *.a and *_nano.a as newlib
+ ;; and newlib-nano respectively. The headers are usually
+ ;; arm-none-eabi/include/newlib.h for newlib and
+ ;; arm-none-eabi/include/newlib-nano/newlib.h for newlib-nano. We
+ ;; have two different toolchain packages for each which works but
+ ;; is a little strange.
+ (add-after 'install 'hardlink-newlib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; The nano.specs file says that newlib-nano files should end
+ ;; in "_nano.a" instead of just ".a". Note that this applies
+ ;; to all the multilib folders too.
+ (for-each
+ (lambda (file)
+ (link file
+ (string-append
+ ;; Strip ".a" off the end
+ (substring file 0 (- (string-length file) 2))
+ ;; Add "_nano.a" onto the end
+ "_nano.a")))
+ (find-files
+ out
+ "^(libc.a|libg.a|librdimon.a|libstdc\\+\\+.a|libsupc\\+\\+.a)$"))
+
+ ;; newlib.h is usually in this location instead so both
+ ;; newlib and newlib-nano can be in the toolchain at the same
+ ;; time
+ (mkdir (string-append out "/arm-none-eabi/include/newlib-nano"))
+ (symlink
+ "../newlib.h"
+ (string-append out "/arm-none-eabi/include/newlib-nano/newlib.h"))
+ #t)))))))
(synopsis "Newlib variant for small systems with limited memory")))
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 57464e1834..b5568b8563 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -266,7 +266,7 @@ plans and designs.")
suite grouped together under the gEDA name. gEDA/gaf is a collection of tools
which currently includes: gschem, a schematic capture program; gnetlist, a
netlist generation program; gsymcheck, a syntax checker for schematic symbols;
-gattrib, a spreadsheet programm that manipulates the properties of symbols of
+gattrib, a spreadsheet programme that manipulates the properties of symbols of
a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a
tool to forward annotation from your schematic to layout using PCB; some minor
utilities.")
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index cae8a74289..a01eacb7cb 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -172,14 +172,14 @@ client.")
(define-public libime
(package
(name "libime")
- (version "1.0.5")
+ (version "1.0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-"
version "_dict.tar.xz"))
(sha256
- (base32 "1w3cxk11kbfmz7snivxq948zfav6dy2245j12ghlxcmdxjshrlhq"))))
+ (base32 "1s8gzpzyn16pg9gm7kw1nhl09drdndi6j4mjam14ymqsrfsdqr1r"))))
(build-system cmake-build-system)
(inputs
`(("fcitx5" ,fcitx5)
@@ -190,7 +190,7 @@ client.")
("python" ,python))) ;needed to run test
(home-page "https://github.com/fcitx/libime")
(synopsis "Library for implementing generic input method")
- (description "Libime is a library for implmenting various input methods
+ (description "Libime is a library for implementing various input methods
editors.")
(license license:lgpl2.1+)))
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index d7c34cd188..d970fe7198 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -184,7 +184,7 @@ large and/or frequently changing (network) environment.")
(home-page "https://bindfs.org")
(synopsis "Bind mount a directory and alter permission bits")
(description
- "@command{bindfs} is a FUSE filesystem for mounting a directory to
+ "@command{bindfs} is a FUSE file system for mounting a directory to
another location, similar to @command{mount --bind}. It can be used for:
@itemize
@item Making a directory read-only.
@@ -251,9 +251,9 @@ another location, similar to @command{mount --bind}. It can be used for:
(description
"The @acronym{WebDAV, Web Distributed Authoring and Versioning} extension
to the HTTP protocol defines a standard way to author resources on a remote Web
-server. Davfs2 exposes such resources as a typical filesystem which can be used
-by standard applications with no built-in support for WebDAV, such as the GNU
-coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor.
+server. Davfs2 exposes such resources as a typical file system which can be
+used by standard applications with no built-in support for WebDAV, such as the
+GNU coreutils (@command{cp}, @command{mv}, etc.) or a graphical word processor.
Davfs2 works with most WebDAV servers with no or little configuration. It
supports TLS (HTTPS), HTTP proxies, HTTP basic and digest authentication, and
@@ -1195,10 +1195,10 @@ local file system using FUSE.")
`(("go-github-com-mattn-go-sqlite3" ,go-github-com-mattn-go-sqlite3)
("go-github-com-hanwen-fuse" ,go-github-com-hanwen-fuse)))
(home-page "https://github.com/oniony/TMSU")
- (synopsis "Tag files and access them through a virtual filesystem")
+ (synopsis "Tag files and access them through a virtual file system")
(description
"TMSU is a tool for tagging your files. It provides a simple
-command-line utility for applying tags and a virtual filesystem to give you a
+command-line utility for applying tags and a virtual file system to give you a
tag-based view of your files from any other program. TMSU does not alter your
files in any way: they remain unchanged on disk, or on the network, wherever
your put them. TMSU maintains its own database and you simply gain an
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 3c9da6ff18..61e49845a3 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -601,6 +601,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
("python-hidapi" ,python-hidapi)
("python-jsonrpclib-pelix" ,python-jsonrpclib-pelix)
("python-keepkey" ,python-keepkey)
+ ("python-pathvalidate" ,python-pathvalidate)
("python-protobuf" ,python-protobuf)
("python-pyaes" ,python-pyaes)
("python-pyqt" ,python-pyqt)
@@ -653,7 +654,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
;; the system's dynamically linked library.
(package
(name "monero")
- (version "0.17.1.9")
+ (version "0.17.2.0")
(source
(origin
(method git-fetch)
@@ -673,7 +674,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
"external/unbound"))
#t))
(sha256
- (base32 "0jqss4csvkcrhrmaa3vrnyv6yiwqpbfw7037clx9xcfm4qrrfiwy"))))
+ (base32 "0jwlmrpzisvw1c06cvd5b3s3hd4w0pa1qmrypfwah67qj3x6hnb6"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@@ -763,7 +764,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.17.1.9")
+ (version "0.17.2.0")
(source
(origin
(method git-fetch)
@@ -780,7 +781,7 @@ the Monero command line client and daemon.")
(delete-file-recursively "monero")
#t))
(sha256
- (base32 "0vpvpvsbbj547yir15g84qy9l9lwbip795zlliz79i7d66l23b1w"))))
+ (base32 "17il26gh0g69x7lqkyb461x1712959wajg3iadx0p08djr3m13mf"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a9e96c9928..40d41350ac 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -22,6 +22,7 @@
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1920,6 +1921,26 @@ encoding names are iconv-compatible.")
;; combination is GPL 2.0+.
(license license:gpl2+)))
+(define-public python-cchardet
+ (package
+ (name "python-cchardet")
+ (version "2.1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cchardet" version))
+ (sha256
+ (base32
+ "1bqfz85cd51sw0bvhvdq9ikccxi2ld7g5jpni4jkq1a5clrvca64"))))
+ (build-system python-build-system)
+ (inputs
+ `(("uchardet" ,uchardet)))
+ (home-page "https://github.com/PyYoshi/cChardet")
+ (synopsis "High-performance character encoding detection for Python")
+ (description "cChardet is a character encoding detector, written in
+Python, that binds to the C library @code{uchardet} to increase performance.")
+ (license license:gpl2+)))
+
(define-public udiskie
(package
(name "udiskie")
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 07a17763f8..679da99e63 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1092,7 +1092,7 @@ to create fully featured games and multimedia programs in the python language.")
(define-public python2-pygame-sdl2
(let ((real-version "2.1.0")
- (renpy-version "7.4.2"))
+ (renpy-version "7.4.4"))
(package
(inherit python2-pygame)
(name "python2-pygame-sdl2")
@@ -1102,7 +1102,7 @@ to create fully featured games and multimedia programs in the python language.")
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version
"/pygame_sdl2-" version ".tar.gz"))
- (sha256 (base32 "1lpk69nh379x5pdlr838x5b49spzksn9hyqiq2g0q28k0xk4lm67"))
+ (sha256 (base32 "1lj5c3kfnl8s824j3hs47dg3g5rlabscmwrbb0lgpyy4633pv9ka"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -1145,13 +1145,13 @@ developed mainly for Ren'py.")
(define-public python2-renpy
(package
(name "python2-renpy")
- (version "7.4.2")
+ (version "7.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" version
"/renpy-" version "-source.tar.bz2"))
- (sha256 (base32 "1mlrq9q3r36izyskq674qhp8s32iirvvfb4r8z6hi26189aaydsw"))
+ (sha256 (base32 "1cbbvsk1snjrsh59blb8q2h86555gi23pylmwlnk9dx0jxckdi21"))
(modules '((guix build utils)))
(patches
(search-patches
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 048784ab2c..dbc72446b2 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -743,7 +743,7 @@ battlestar (explore the world around, starting from dying spaceship),
phantasia (role-play as an rogue), trek (hunt the Klingons, and save the
Federation), and wump (hunt the big smelly Wumpus in a dark cave).
-Quizes: arithmetic, and quiz.")
+Quizzes: arithmetic and quiz.")
;; "Auxiliary and data files, distributed with the games in NetBSD, but
;; not bearing copyright notices, probably fall under the terms of the UCB
;; or NetBSD copyrights and licences. The file "fortune/Notes" contains a
@@ -3454,7 +3454,7 @@ match, cannon keep, and grave-itation pit.")
(define-public minetest
(package
(name "minetest")
- (version "5.4.0")
+ (version "5.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3463,7 +3463,7 @@ match, cannon keep, and grave-itation pit.")
(file-name (git-file-name name version))
(sha256
(base32
- "1a17g6cmxrscnqwpwrd4w2ck3dgvplyfq4kzyimilfpqar1q69j9"))
+ "062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -3551,7 +3551,7 @@ in different ways.")
(file-name (git-file-name name version))
(sha256
(base32
- "11dz36z0pj2r7i8xm8v5lskzws81ckj6sc0avlmvdl8qdc9x83w5"))))
+ "0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)))
@@ -5849,7 +5849,7 @@ for Un*x systems with X11.")
(define-public freeciv
(package
(name "freeciv")
- (version "2.6.3")
+ (version "2.6.4")
(source
(origin
(method url-fetch)
@@ -5861,7 +5861,7 @@ for Un*x systems with X11.")
(version-major+minor version) "/" version
"/freeciv-" version ".tar.bz2")))
(sha256
- (base32 "1lgq7wcbhwpy2yqdw4biwfmp5q8fh7lhlwxcgm0fpaapfl12whvp"))))
+ (base32 "1kn122f57wn5a8ryxaz73dlbd5m93mqx3bqmmz2lkgdccrvrbns0"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@@ -8740,7 +8740,7 @@ where the player draws runes in real time to effect the desired spell.")
(define-public edgar
(package
(name "edgar")
- (version "1.33")
+ (version "1.34")
(source
(origin
(method url-fetch)
@@ -8748,7 +8748,7 @@ where the player draws runes in real time to effect the desired spell.")
(string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz"))
(sha256
- (base32 "1mbx7dvizdca4g1blcv3bdh6yxd13k47rkya4rdzg0nvvz24m175"))))
+ (base32 "1121rq5wk3g8rs413av84s2kcy6qj6maspgy2vsxs36c2jd3yygl"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests
#:make-flags
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 5f84d28551..a412c93c29 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -583,14 +583,14 @@ It also includes runtime support libraries for these languages.")))
(define-public gcc-10
(package
(inherit gcc-8)
- (version "10.2.0")
+ (version "10.3.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
- "130xdkhmz1bc2kzx061s3sfwk36xah1fw5w332c0nzwwpdl47pdq"))
+ "0i6378ig6h397zkhd7m4ccwjx5alvzrf2hm27p1pzwjhlv0h9x34"))
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))))))
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 8095148fcd..3cd80a3ccf 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -2082,7 +2082,21 @@ growing set of geoscientific methods.")
(("sip_dir = cfg.default_sip_dir")
(string-append "sip_dir = \""
(assoc-ref inputs "python-pyqt+qscintilla")
- "/share/sip\"")))
+ "/share/sip\""))
+ ;; Fix building with python-sip@5.
+ ;;
+ ;; The reason for this is that python-sip@5 introduces some
+ ;; changes such as a new build system 'sip-build' as well as the
+ ;; use of the path "/lib/pythonX.X/site-packages/*/bindings/"
+ ;; instead of "/share/sip/" for .sip files. However, we do not
+ ;; actually use that those yet. QGIS detects SIP5 and assumes we
+ ;; are, messing up the build. The long term solution is to fully
+ ;; upgrade SIP, use sip-build and fix all failing packages, but
+ ;; for now I just want to get the build working.
+ ((".pyqt_sip_dir...os.path.join.*,")
+ (string-append "'pyqt_sip_dir': \""
+ (assoc-ref inputs "python-pyqt+qscintilla")
+ "/share/sip" "\",")))
(substitute* (list "scripts/prepare_commit.sh"
"scripts/qstringfixup.sh"
"scripts/release.pl"
diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index dec2835ca6..0d2e71cc72 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -720,7 +720,7 @@ OpenGL graphics API.")
(description
"libglvnd is a vendor-neutral dispatch layer for arbitrating OpenGL
API calls between multiple vendors. It allows multiple drivers from
-different vendors to coexist on the same filesystem, and determines which
+different vendors to coexist on the same file system, and determines which
vendor to dispatch each API call to at runtime.
Both GLX and EGL are supported, in any combination with OpenGL and OpenGL ES.")
@@ -775,7 +775,7 @@ OpenGL.")
(define-public glfw
(package
(name "glfw")
- (version "3.3.3")
+ (version "3.3.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/glfw/glfw"
@@ -783,7 +783,7 @@ OpenGL.")
"/glfw-" version ".zip"))
(sha256
(base32
- "0xrrahhbs4sn7sgvdk9sgz5zla4sw3ajq6kxpqrx635l8nnqfc3j"))))
+ "1kcrpl4d6b6h23ib5j9q670d9w3knd07whgbanbmwwhbcqnc9lmv"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no test target
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index f73001f64b..d8997ac538 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -950,9 +950,9 @@ feature-set for programming Vala effectively.")
#:exclude ("README.md" "LICENSE" "Art/" "package.json"
"package-lock.json" "Gulpfile.js")))))
(home-page "https://github.com/EliverLara/Nordic")
- (synopsis "Dark Gtk3.20+ theme using the Nord color pallete")
+ (synopsis "Dark Gtk3.20+ theme using the Nord color palette")
(description "Nordic is a Gtk3.20+ theme created using the Nord color
-pallete.")
+palette.")
(license license:gpl3))))
(define-public tiramisu
diff --git a/gnu/packages/gnu-doc.scm b/gnu/packages/gnu-doc.scm
index b64d8ac454..9fb746ee97 100644
--- a/gnu/packages/gnu-doc.scm
+++ b/gnu/packages/gnu-doc.scm
@@ -56,7 +56,7 @@ list.")
(define-public gnu-standards
(package
(name "gnu-standards")
- (version "2018-02-18")
+ (version "2020-11-25")
(source
(origin
(method cvs-fetch)
@@ -64,11 +64,11 @@ list.")
(root-directory
":pserver:anonymous@cvs.savannah.gnu.org:/sources/gnustandards")
(module "gnustandards")
- (revision "2018-02-18")))
+ (revision version)))
(sha256
(base32
- "03yh25fpvfn5pnd0d4x7a2wkh01ffk6vbs1vjnzqicqkgc2g33sd"))
- (file-name "gnu-standards-src")))
+ "1xlwmgcnvp81ipgfir4ckpgl922mbckvxy1x758r0lksq5vrpglj"))
+ (file-name (string-append name "-" version "-checkout"))))
(build-system trivial-build-system)
(native-inputs `(("gzip" ,gzip)
("source" ,source)
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 278a2efa00..6502740220 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -3965,7 +3965,7 @@ without requiring a real database connection.")
(home-page "https://github.com/go-sql-driver/mysql")
(synopsis "MySQL driver for golang")
(description
- "This is a pure Go implementaton of the MySQL API, compatible with
+ "This is a pure Go implementation of the MySQL API, compatible with
golang's database/sql package.")
(license license:mpl2.0)))
@@ -5827,7 +5827,7 @@ which produce colorized output using github.com/fatih/color.")
(synopsis "Write handsome command-line tools with glamour")
(description "@code{glamour} lets you render markdown documents and
templates on ANSI compatible terminals. You can create your own stylesheet or
-use one of our glamourous default themes.")
+use one of our glamorous default themes.")
(license license:expat)))
(define-public go-github-com-coreos-go-semver
@@ -6911,7 +6911,7 @@ atomic access.")
(propagated-inputs
`(("go-go-uber-org-atomic" ,go-go-uber-org-atomic)))
(home-page "https://go.uber.org/multierr")
- (synopsis "Error combination fo Go")
+ (synopsis "Error combination for Go")
(description
"@code{multierr} allows combining one or more Go errors together.")
(license license:expat)))
diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm
index 44c356e2ff..c4dc50c2f9 100644
--- a/gnu/packages/gpodder.scm
+++ b/gnu/packages/gpodder.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@@ -25,6 +25,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
@@ -38,7 +39,7 @@
(define-public gpodder
(package
(name "gpodder")
- (version "3.10.17")
+ (version "3.10.18")
(source
(origin
(method git-fetch)
@@ -46,18 +47,23 @@
(url "https://github.com/gpodder/gpodder")
(commit version)))
(sha256
- (base32 "0wrk8d4q6ricbcjzlhk10vrk1qg9hi323kgyyd0c8nmh7a82h8pd"))
+ (base32 "1d73q46sqandzbn74nfw9bzzah99z91wsxq2hcivwdgnsv2g2d8y"))
(file-name (git-file-name name version))
(patches (search-patches "gpodder-disable-updater.patch"))))
(build-system python-build-system)
(native-inputs
`(("intltool" ,intltool)
("python-coverage" ,python-coverage)
- ("python-minimock" ,python-minimock)))
+ ("python-minimock" ,python-minimock)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-httpserver" ,python-pytest-httpserver)
+ ("which" ,which)))
(inputs
`(("gtk+" ,gtk+)
("python-pygobject" ,python-pygobject)
("python-pycairo" ,python-pycairo)
+ ("python-requests" ,python-requests)
("python-dbus" ,python-dbus)
("python-html5lib" ,python-html5lib)
("python-mygpoclient" ,python-mygpoclient)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 3c9cf18bbc..f9f19cc28d 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
;;; Copyright © 2021 Andy Tai <atai@atai.org>
+;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -463,6 +464,42 @@ Embree is meant to increase performance of photo-realistic rendering
applications.")
(license license:asl2.0)))
+(define-public openvdb
+ (package
+ (name "openvdb")
+ (version "8.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AcademySoftwareFoundation/openvdb/")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qzx6l5c183k6j9zki31gg9aixf5s1j46wdi7wr1h3bz7k53syg9"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))))
+ (inputs
+ `(("boost" ,boost)
+ ("c-blosc" ,c-blosc)
+ ("ilmbase" ,ilmbase)
+ ("tbb" ,tbb)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "https://www.openvdb.org/")
+ (synopsis "Sparse volume data structure and tools")
+ (description "OpenVDB is a C++ library comprising a hierarchical data
+structure and a large suite of tools for the efficient storage and
+manipulation of sparse volumetric data discretized on three-dimensional grids.
+It was developed by DreamWorks Animation for use in volumetric applications
+typically encountered in feature film production.")
+ (license license:mpl2.0)))
+
(define-public blender
(package
(name "blender")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index fc0ee7be53..dd92cd649c 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, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 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>
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index e2ee5454a0..21b39abf62 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -28,7 +28,7 @@
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Julien Lepiler <julien@lepiller.eu>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2020 Masaya Tojo <masaya@tojo.tokyo>
+;;; Copyright © 2020, 2021 Masaya Tojo <masaya@tojo.tokyo>
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357@gmail.com>
;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
@@ -2649,8 +2649,8 @@ format is also supported.")
(deprecated-package "guile3.0-mcron" mcron))
(define-public guile-picture-language
- (let ((commit "291a746a1d3b4784d38b05239bdd7b8e796ce761")
- (revision "4"))
+ (let ((commit "a1322bf11945465241ca5b742a70893f24156d12")
+ (revision "5"))
(package
(name "guile-picture-language")
(version (git-version "0.0.1" revision commit))
@@ -2662,7 +2662,7 @@ format is also supported.")
(file-name (git-file-name name version))
(sha256
(base32
- "0rnhf13ds92sbdicshy4sy4kl2kc431fy9vzm1divw974p7v57sd"))))
+ "03i528z92ainccgm28shg4haxiav5x4cyhyi5dggq1rm027vbm99"))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-3.0)))
@@ -3519,7 +3519,7 @@ feature-set, fully programmable in Guile Scheme.")
texlive-fonts-iwona)))
("pkg-config" ,pkg-config)))
(propagated-inputs
- `(("guile-lib" ,guile-lib)))
+ `(("guile-lib" ,guile2.2-lib)))
(home-page "https://www.gnu.org/software/guile-cv/")
(synopsis "Computer vision library for Guile")
(description "Guile-CV is a Computer Vision functional programming library
@@ -4449,7 +4449,7 @@ tools.")
(synopsis "Guile implementation of the Encoding for Robust Immutable Storage (ERIS)")
(description
"Guile-ERIS is the reference implementation of the Encoding for Robust
-Immutable Storage (ERIS). ERIS allows arbirtary content to be encoded into
+Immutable Storage (ERIS). ERIS allows arbitrary content to be encoded into
uniformly sized, encrypted blocks that can be reassembled using a short
read-capability.")
(home-page "https://inqlab.net/git/eris.git")
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 10672f52f3..d5941b6c0f 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com>
@@ -61,14 +61,14 @@
(define-public ddcutil
(package
(name "ddcutil")
- (version "0.9.9")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.ddcutil.com/tarballs/"
"ddcutil-" version ".tar.gz"))
(sha256
- (base32 "0anyxy53k2613hq9glaad16llqlv6iim5p8gz0rs5pnpp8p00dg1"))))
+ (base32 "19kkwb9ijzn6ya3mvjanggh1c96fcc0lkbk7xnyi2qp6wsr4nhxp"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/haskell-web.scm b/gnu/packages/haskell-web.scm
index 0be9890d23..a250bb4262 100644
--- a/gnu/packages/haskell-web.scm
+++ b/gnu/packages/haskell-web.scm
@@ -2266,7 +2266,7 @@ server no longer receives pings, it shuts down.")
("ghc-websockets" ,ghc-websockets)))
(home-page "https://github.com/larskuhtz/wai-cors")
(synopsis "Cross-Origin Resource Sharing (CORS) for WAI")
- (description "This package provides an implemenation of Cross-Origin
+ (description "This package provides an implementation of Cross-Origin
Resource Sharing (CORS) for the Web Application Framework (WAI) that
aims to be compliant with @url{https://www.w3.org/TR/cors}.")
(license license:expat)))
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 2795eaf130..ce2242a658 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -622,14 +622,14 @@ due to its architecture which automatically parallelises the image workflows.")
(define-public gmic
(package
(name "gmic")
- (version "2.9.6")
+ (version "2.9.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://gmic.eu/files/source/gmic_"
version ".tar.gz"))
(sha256
- (base32 "06n1dcskky7aqg3a0cp7biwz8agc4xqvr8091l2wsvgib98yhbyj"))))
+ (base32 "05kzaplsl5qvxs7v6g73q0lq8dii8g6v77ap609188m7gr43f9cl"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;there are no tests
diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm
index 5fba72b576..3953c55a20 100644
--- a/gnu/packages/irc.scm
+++ b/gnu/packages/irc.scm
@@ -144,7 +144,7 @@ irssi, but graphical.")
(define-public irssi
(package
(name "irssi")
- (version "1.2.2")
+ (version "1.2.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/irssi/irssi/"
@@ -152,7 +152,7 @@ irssi, but graphical.")
version ".tar.xz"))
(sha256
(base32
- "0y3mhnyr7x8ir8dlj83vbnchpfld28vdfni9yhpvls45j460c9v7"))))
+ "17vninwcdfxw39xl2q55qircckckjk2xlvkvlwgj5lhlxppvyix6"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/jami.scm b/gnu/packages/jami.scm
index 42b15cee9b..0adc3ed81e 100644
--- a/gnu/packages/jami.scm
+++ b/gnu/packages/jami.scm
@@ -585,25 +585,13 @@ decentralized calling using P2P-DHT.")
(outputs '("out" "debug"))
(arguments
`(#:tests? #f ;no test suite
- #:phases
- (modify-phases %standard-phases
- ;; TODO: Uncomment after switching back to the tarball source.
- ;; (add-after 'unpack 'change-directory
- ;; (lambda _
- ;; (chdir "client-qt")))
- (add-after 'install 'wrap
- ;; The program fails to find the QtWebEngineProcess program, so we
- ;; set QTWEBENGINEPROCESS_PATH to help it.
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin"))
- (qtwebengineprocess (string-append
- (assoc-ref inputs "qtwebengine")
- "/lib/qt5/libexec/QtWebEngineProcess")))
- (for-each (lambda (program)
- (wrap-program program
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess))))
- (find-files bin ".*"))))))))
+ ;; TODO: Uncomment after switching back to the tarball source.
+ ;; #:phases
+ ;; (modify-phases %standard-phases
+ ;; (add-after 'unpack 'change-directory
+ ;; (lambda _
+ ;; (chdir "client-qt"))))
+ ))
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 85949ec9e8..d79acf0b17 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -844,7 +844,7 @@ that let you do deep transformations of code.")
(home-page "https://github.com/JuliaLang/MbedTLS.jl")
(synopsis "Apache's mbed TLS library wrapper")
(description "@code{MbedTLS.jl} provides a wrapper around the @code{mbed
-TLS} and cryptography C libary for Julia.")
+TLS} and cryptography C library for Julia.")
(license license:expat)))
(define-public julia-mbedtls-jll
diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm
index f826ebd171..52869dbeeb 100644
--- a/gnu/packages/jupyter.scm
+++ b/gnu/packages/jupyter.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,9 +30,12 @@
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages time)
- #:use-module (gnu packages tls))
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages xml))
(define-public python-jupyter-protocol
(package
@@ -184,3 +188,125 @@ Several Jupyter kernels are built upon @code{xeus}, such as @code{xeus-cling},
a kernel for the C++ programming language, and @code{xeus-python}, an
alternative Python kernel for Jupyter.")
(license license:bsd-3)))
+
+(define-public python-jupyterlab-pygments
+ (package
+ (name "python-jupyterlab-pygments")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jupyterlab_pygments" version))
+ (sha256
+ (base32
+ "0ij14mmnc39nmf84i0av6j9glazjic7wzv1qyhr0j5966s3s1kfg"))))
+ (build-system python-build-system)
+ (arguments '(#:tests? #false)) ; there are no tests
+ (propagated-inputs
+ `(("python-pygments" ,python-pygments)))
+ (home-page "https://jupyter.org")
+ (synopsis "Pygments theme using JupyterLab CSS variables")
+ (description
+ "This package contains a syntax coloring theme for pygments making use of
+the JupyterLab CSS variables.")
+ (license license:bsd-3)))
+
+(define-public python-jupyter-packaging
+ (package
+ (name "python-jupyter-packaging")
+ (version "0.9.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jupyter_packaging" version))
+ (sha256
+ (base32
+ "0r015c0m713d19asmpimsw6bk2sqv2lpd2nccgjzjdj5h1crg0bg"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-deprecation" ,python-deprecation)
+ ("python-packaging" ,python-packaging)
+ ("python-setuptools" ,python-setuptools)
+ ("python-tomlkit" ,python-tomlkit)
+ ("python-wheel" ,python-wheel)))
+ (native-inputs
+ `(("python-pypa-build" ,python-pypa-build)
+ ("python-coverage" ,python-coverage)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-mock" ,python-pytest-mock)))
+ (home-page "https://jupyter.org")
+ (synopsis "Jupyter packaging utilities")
+ (description "This package provides tools to help build and install
+Jupyter Python packages that require a pre-build step that may include
+JavaScript build steps.")
+ (license license:bsd-3)))
+
+(define-public python-jupyterlab-widgets
+ (package
+ (name "python-jupyterlab-widgets")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jupyterlab_widgets" version))
+ (sha256
+ (base32
+ "0y7vhhas3qndiypcpcfnhrj9n92v2w4hdc86nn620s9h9nl2j6jw"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-jupyter-packaging" ,python-jupyter-packaging)
+ ("python-setuptools" ,python-setuptools)))
+ (home-page "https://github.com/jupyter-widgets/ipywidgets")
+ (synopsis "Interactive widgets for Jupyter Notebooks")
+ (description "ipywidgets, also known as jupyter-widgets or simply widgets,
+are interactive HTML widgets for Jupyter notebooks and the IPython kernel.")
+ (license license:bsd-3)))
+
+(define-public python-nbclient
+ (package
+ (name "python-nbclient")
+ (version "0.5.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "nbclient" version))
+ (sha256
+ (base32
+ "172q4r6mq0lg394di0pc6ipvniy14jg38wkdsj48r366609jf5yv"))))
+ (build-system python-build-system)
+ ;; Tests require a kernel via python-ipykernel, and also tools from
+ ;; nbconvert.
+ (arguments '(#:tests? #false))
+ (propagated-inputs
+ `(("python-async-generator" ,python-async-generator)
+ ("python-jupyter-client" ,python-jupyter-client)
+ ("python-nbformat" ,python-nbformat)
+ ("python-nest-asyncio" ,python-nest-asyncio)
+ ("python-traitlets" ,python-traitlets)))
+ (native-inputs
+ `(("python-black" ,python-black)
+ ("python-bumpversion" ,python-bumpversion)
+ ("python-check-manifest" ,python-check-manifest)
+ ("python-codecov" ,python-codecov)
+ ("python-coverage" ,python-coverage)
+ ("python-flake8" ,python-flake8)
+ ;; ("python-ipykernel" ,python-ipykernel)
+ ;; ("python-ipython" ,python-ipython)
+ ;; ("python-ipywidgets" ,python-ipywidgets)
+ ("python-mypy" ,python-mypy)
+ ("python-pip" ,python-pip)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-setuptools" ,python-setuptools)
+ ("python-testpath" ,python-testpath)
+ ("python-tox" ,python-tox)
+ ("python-twine" ,python-twine)
+ ("python-wheel" ,python-wheel)
+ ("python-xmltodict" ,python-xmltodict)))
+ (home-page "https://jupyter.org")
+ (synopsis "Client library for executing notebooks")
+ (description
+ "This package provides a client library for executing notebooks. Formerly
+nbconvert's @code{ExecutePreprocessor.}")
+ (license license:bsd-3)))
diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm
index d790e94c87..74e8bdb8fd 100644
--- a/gnu/packages/kde-pim.scm
+++ b/gnu/packages/kde-pim.scm
@@ -1112,7 +1112,7 @@ and retrieving certificates from LDAP servers.")
(synopsis "Full featured graphical email client")
(description "KMail supports multiple accounts, mail filtering and email
encryption. The program let you configure your workflow and it has good
-integration into KDE (Plasma Desktop) but is also useable with other Desktop
+integration into KDE (Plasma Desktop) but is also usable with other Desktop
Environments.
KMail is the email component of Kontact, the integrated personal information
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 5325445a24..55a1b72d74 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -197,7 +197,7 @@
(synopsis "Lightweight input method framework")
(description "Nimf is a lightweight, fast and extensible input method
framework. This package provides a fork of the original nimf project, that
-focusses especially on Korean input (Hangul, Hanja, ...).")
+focuses especially on Korean input (Hangul, Hanja, ...).")
(home-page "https://github.com/hamonikr/nimf/")
(license license:lgpl3+)))
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index a8c2ac5c4b..39867a1994 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -714,14 +714,14 @@ text documents, vector drawings, presentations and spreadsheets.")
(define-public libmwaw
(package
(name "libmwaw")
- (version "0.3.17")
+ (version "0.3.18")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/libmwaw/libmwaw/libmwaw-"
version "/libmwaw-" version ".tar.xz"))
(sha256
- (base32 "074ipcq9w7jbd5x316dzclddgia2ydw098ph9d7p3d713pmkf5cf"))))
+ (base32 "03qyxp8hkcc7jcwyq0v0y2diqsvib060pg7y9zk0n07qh0b0apgw"))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c09b9a4511..55ba22bd46 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -354,7 +354,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.11-version "5.11.11")
+(define-public linux-libre-5.11-version "5.11.13")
(define deblob-scripts-5.11
(linux-libre-deblob-scripts
linux-libre-5.11-version
@@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0yvr80g200hdryz54gdnzj4fl38pf7g4qbgj475rhcfwixhp1j7n")))
(define-public linux-libre-5.11-pristine-source
(let ((version linux-libre-5.11-version)
- (hash (base32 "1fc3yl4srzla3cbihgnry0pqmgcc17zv0zlkk9zpx99371hpay0a")))
+ (hash (base32 "0yvgkc1fmmd4g06sydn51q4l3g5785q9yaaq04lv3kgj4hyijqgs")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.11)))
@@ -370,7 +370,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; 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.10-version "5.10.27")
+(define-public linux-libre-5.10-version "5.10.29")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
@@ -378,12 +378,12 @@ 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 "1nb95ll66kxiz702gs903n3gy5ialz8cin58l19rqaai55kck7fr")))
+ (hash (base32 "1v79wylb2kd9gadiqf7dr7jcgynr970bbga09mdn940sq536g30m")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.109")
+(define-public linux-libre-5.4-version "5.4.111")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
@@ -391,12 +391,12 @@ 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 "1vmpc6yrr2zm4m3naflwik5111jr8hy0mnyddwk31l0p4xbg8smc")))
+ (hash (base32 "00qs4y4d9adffwysdh8sly81hxc3rw7bi9vs3fs4rhwdclr62qi1")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.184")
+(define-public linux-libre-4.19-version "4.19.186")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
@@ -404,12 +404,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "0z5pgal8775rf7pvpxq47dnghr42al2k9py0s9jl3js2wamgdyix")))
+ (hash (base32 "0cg6ja7plry1l2mg6hx16lsw0gzn4xpj7xdrrs2hwl8l8a2dgifq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.228")
+(define-public linux-libre-4.14-version "4.14.230")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
@@ -417,12 +417,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "0nw1jf6x5a990n69aw2da4s4lc1c7mnwiwcda40bl2rkmd24s1qm")))
+ (hash (base32 "1gn5cs1ss4bfsnnv0b2s4g5ibiigpzsx0i3qfswchdbxvdag75cw")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.264")
+(define-public linux-libre-4.9-version "4.9.266")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
@@ -430,12 +430,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "1df2dv26c9z6zsdlqzbcc60f2pszh0hx1n94v65jswlb72a2mipc")))
+ (hash (base32 "0qzigcslfp714vaswwlw93xj0h2f8laikppw6krrhfnh5wwrp5dr")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.264")
+(define-public linux-libre-4.4-version "4.4.266")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
@@ -443,7 +443,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "1b0d735qnk0bcqn9gdsjqxhk8pkb3597ya9f34lv1vjfaqkkxk7l")))
+ (hash (base32 "00x2dmjiiv9zpc0vih9xqmf78kynqzj9q9v1chc2q2hcjpqfj31c")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -8026,8 +8026,8 @@ kernel side implementation.")
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/")
- (synopsis "User-space tools for EROFS filesystem")
+ (synopsis "User-space tools for EROFS file system")
(description "EROFS (Enhanced Read-Only File System) is a compressed,
-read-only filesystem optimized for resource-scarce devices. This package
-provides user-space tools for creating EROFS filesystems.")
+read-only file system optimized for resource-scarce devices. This package
+provides user-space tools for creating EROFS file systems.")
(license license:gpl2+)))
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 8d527005e9..f340360dba 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com>
;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
+;;; Copyright © 2021 Cameron Chaparro <cameron@cameronchaparro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -160,6 +161,36 @@ collection.")
(define-public cl-bodge-utilities
(sbcl-package->cl-source-package sbcl-bodge-utilities))
+(define-public sbcl-bodge-queue
+ (let ((commit "948c9a501dcd412689952d09eb7453ec2722336a")
+ (revision "0"))
+ (package
+ (name "sbcl-bodge-queue")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/borodust/bodge-queue")
+ (commit commit)))
+ (file-name (git-file-name "bodge-queue" version))
+ (sha256
+ (base32 "148hjikqk8v2m30mj15xh89zni6szf9z3prav580qk9dqr8djjdr"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/borodust/bodge-queue")
+ (synopsis "Simple queue for Common Lisp")
+ (description "This Common Lisp library provides a simple FIFO
+implementation with no external dependencies.")
+ (license license:expat))))
+
+(define-public cl-bodge-queue
+ (sbcl-package->cl-source-package sbcl-bodge-queue))
+
+(define-public ecl-bodge-queue
+ (sbcl-package->ecl-package sbcl-bodge-queue))
+
(define-public sbcl-golden-utils
(let ((commit "62a5cb948a011eb26e7a89f56d5839a3334b4100")
(revision "2"))
@@ -7296,10 +7327,10 @@ of C+GObject libraries without the need of writing dedicated bindings.")
(inputs
`(("ppcre" ,sbcl-cl-ppcre)))
(home-page "https://github.com/EuAndreh/cl-slug")
- (synopsis "Multi-language slug formater")
+ (synopsis "Multi-language slug formatter")
(description
"This is a small Common Lisp library to make slugs, mainly for URIs,
-from english and beyond.")
+from English and beyond.")
(license license:llgpl))))
(define-public ecl-cl-slug
@@ -13315,7 +13346,7 @@ and lean bindings to C libraries.")
(home-page "https://github.com/borodust/claw-utils")
(synopsis "Utilities for easier autowrapping")
(description
- "This Common Lisp library contains various handy utilties to help
+ "This Common Lisp library contains various handy utilities to help
autowrapping with @code{claw}.")
(license license:expat))))
@@ -15718,3 +15749,109 @@ shader functions, written with @code{Shadow}.")
(define-public cl-umbra
(sbcl-package->cl-source-package sbcl-umbra))
+
+(define-public sbcl-abstract-classes
+ (let ((commit "7fa74f1e057f9ba7c1ffecff14f049f979e45267")
+ (revision "1"))
+ (package
+ (name "sbcl-abstract-classes")
+ (version (git-version "1.7.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://bitbucket.org/eeeickythump/cl-abstract-classes")
+ (commit commit)))
+ (file-name (git-file-name "cl-abstract-classes" version))
+ (sha256
+ (base32 "06lby4i6xbbgs7kgb0f3fqybvyskyg6djhrf967lnysv7hn3zpg9"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("closer-mop" ,sbcl-closer-mop)))
+ (arguments
+ `(#:asd-systems '("abstract-classes" "singleton-classes")))
+ (home-page "https://bitbucket.org/eeeickythump/cl-abstract-classes")
+ (synopsis "Abstract, final, and singleton metaclasses for CLOS")
+ (description
+ "This package provides Common Lisp extension to the MOP to allow
+abstract, final and singleton classes.")
+ (license license:public-domain))))
+
+(define-public ecl-abstract-classes
+ (sbcl-package->ecl-package sbcl-abstract-classes))
+
+(define-public cl-abstract-classes
+ (sbcl-package->cl-source-package sbcl-abstract-classes))
+
+(define-public sbcl-coalton
+ (let ((commit "4a42ffb4222fde3abfd1b50d96e455ff2eef9fe8")
+ (revision "1"))
+ (package
+ (name "sbcl-coalton")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stylewarning/coalton")
+ (commit commit)))
+ (file-name (git-file-name "coalton" version))
+ (sha256
+ (base32 "0aidwwam7cnhb3p9212zbv5w2dl6kr5iklzanypzr1a9lqaxwdlk"))))
+ (build-system asdf-build-system/sbcl)
+ (native-inputs
+ `(("fiasco" ,sbcl-fiasco)))
+ (inputs
+ `(("abstract-classes" ,sbcl-abstract-classes)
+ ("alexandria" ,sbcl-alexandria)
+ ("global-vars" ,sbcl-global-vars)
+ ("optima" ,sbcl-optima)
+ ("trivial-garbage" ,sbcl-trivial-garbage)))
+ (home-page "https://github.com/stylewarning/coalton")
+ (synopsis "Dialect of ML in Common Lisp")
+ (description
+ "Coalton is a dialect of ML embedded in Common Lisp. It emphasizes
+practicality and interoperability with Lisp, and is intended to be a DSL that
+allows one to gradually make their programs safer.")
+ (license license:expat))))
+
+(define-public ecl-coalton
+ (sbcl-package->ecl-package sbcl-coalton))
+
+(define-public cl-coalton
+ (sbcl-package->cl-source-package sbcl-coalton))
+
+(define-public sbcl-clip
+ (let ((commit "7afa68702fbb99c47ed115ea0faccd97a29d9b2e")
+ (revision "1"))
+ (package
+ (name "sbcl-clip")
+ (version (git-version "0.7.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shinmera/clip")
+ (commit commit)))
+ (file-name (git-file-name "clip" version))
+ (sha256
+ (base32 "13kkajkva2shm19fvn4yashsw18l6imv2rmy3hmpcky7g5ay7bv3"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("array-utils" ,sbcl-array-utils)
+ ("lquery" ,sbcl-lquery)))
+ (home-page "https://shinmera.github.io/clip/")
+ (synopsis "Common Lisp HTML templating engine")
+ (description
+ "Clip is an attempt at a templating library that allows you to write
+templates in a way that is both accessible to direct webdesign and
+flexible. The main idea is to incorporate transformation commands into an HTML
+file through tags and attributes. Clip is heavily dependant on Plump and
+lQuery.")
+ (license license:zlib))))
+
+(define-public ecl-clip
+ (sbcl-package->ecl-package sbcl-clip))
+
+(define-public cl-clip
+ (sbcl-package->cl-source-package sbcl-clip))
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm
index 0a1b6c84ce..d35c20e17c 100644
--- a/gnu/packages/llvm.scm
+++ b/gnu/packages/llvm.scm
@@ -790,17 +790,6 @@ of programming tools as well as libraries with equivalent functionality.")
(base32
"153vcvj8gvgwakzr4j0kndc0b7wn91c2g1vy2vg24s6spxcc23gn"))))))
-(define-public clang-runtime-3.6
- (clang-runtime-from-llvm
- llvm-3.6
- "11qx8d3pbfqjaj2x207pvlvzihbs1z2xbw4crpz7aid6h1yz6bqg"
- '("clang-runtime-asan-build-fixes.patch")))
-
-(define-public clang-3.6
- (clang-from-llvm llvm-3.6 clang-runtime-3.6
- "1wwr8s6lzr324hv4s1k6na4j5zv6n9kdhi14s4kb9b13d93814df"
- #:patches '("clang-3.5-libc-search-path.patch")))
-
(define-public llvm-3.5
(package (inherit llvm-3.6)
(version "3.5.2")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 56fae3fcba..c8f29b80d6 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -36,7 +36,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
-;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2020, 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 divoplade <d@divoplade.fr>
@@ -167,6 +167,51 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
+(define-public abook
+ (package
+ (name "abook")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://abook.sourceforge.io/devel/abook-" version ".tar.gz"))
+ (sha256
+ (base32 "1yf0ifyjhq2r003pnpn92mn0924bn9yxjifxxj2ldcsgd7w0vagh"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Fix "undefined reference to `field_id'" errors.
+ (add-after 'unpack 'fix-build-with-recent-gcc
+ (lambda _
+ (substitute* '("database.c" "database.h")
+ (("^inline int" all) (string-append "extern " all)))))
+ ;; Fix following error during bootstrap: "gettext infrastructure
+ ;; mismatch: using a Makefile.in.in from gettext version 0.18 but the
+ ;; autoconf macros are from gettext version 0.20".
+ (add-before 'bootstrap 'fix-gettext-macro-version
+ (lambda _
+ (substitute* "po/Makefile.in.in"
+ (("0.18") "0.20"))))
+ (replace 'bootstrap
+ (lambda _
+ (invoke "aclocal")
+ (invoke "automake" "--add-missing")
+ (invoke "autoconf"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)))
+ (inputs
+ `(("ncurses" ,ncurses)
+ ("readline" ,readline)))
+ (home-page "https://abook.sourceforge.io/")
+ (synopsis "Text-based addressbook")
+ (description
+ "Abook is a text-based addressbook program designed to use with Mutt mail
+client.")
+ (license license:gpl2)))
+
(define-public anubis
(package
(name "anubis")
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ff1b46f095..758f0a5c32 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -44,6 +44,7 @@
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr>
+;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2290,7 +2291,8 @@ ASCII text files using Gmsh's own scripting language.")
(native-inputs
`(("pkg-config" ,pkg-config)
;;("python-astropy" ,python-astropy) ;; FIXME: Package this.
- ("qttools" ,qttools)))
+ ("qttools" ,qttools)
+ ("python-sip" ,python-sip-4)))
(inputs
`(("ghostscript" ,ghostscript) ;optional, for EPS/PS output
("python-dbus" ,python-dbus)
@@ -3824,52 +3826,94 @@ parts of it.")
(synopsis "Optimized BLAS library based on GotoBLAS (ILP64 version)")
(license license:bsd-3)))
-(define* (make-blis implementation #:optional substitutable?)
- "Return a BLIS package with the given IMPLEMENTATION (see config/ in the
-source tree for a list of implementations.)
-
-SUBSTITUTABLE? determines whether the package is made available as a
-substitute.
-
-Currently the specialization must be selected at configure-time, but work is
-underway to allow BLIS to select the right optimized kernels at run time:
-<https://github.com/flame/blis/issues/129>."
+(define-public blis
(package
- (name (if (string=? implementation "reference")
- "blis"
- (string-append "blis-" implementation)))
- (version "0.2.2")
+ (name "blis")
+ (version "0.8.1")
(home-page "https://github.com/flame/blis")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(sha256
(base32
- "1wr79a50nm4abhw8w3sn96nmwp5mrzifcigk7khw9qcgyyyqayfh"))
+ "05ifil6jj9424sr8kmircl8k4bmxnl3y12a79vwj1kxxva5gz50g"))
(file-name (git-file-name "blis" version))))
+ (native-inputs
+ `(("python" ,python)
+ ("perl" ,perl)))
(build-system gnu-build-system)
(arguments
- `(#:test-target "test"
-
- #:substitutable? ,substitutable?
-
- #:phases (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; This is a home-made 'configure' script.
- (let ((out (assoc-ref outputs "out")))
- (invoke "./configure" "-p" out
- "-d" "opt"
- "--disable-static"
- "--enable-shared"
- "--enable-threading=openmp"
-
- ,implementation))))
- (add-before 'check 'show-test-output
- (lambda _
- ;; By default "make check" is silent. Make it verbose.
- (system "tail -F output.testsuite &")
- #t)))))
+ `(#:modules
+ ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs
+ target
+ system
+ (configure-flags '())
+ #:allow-other-keys)
+ ;; This is a home-made 'configure' script.
+ (let* ((out (assoc-ref outputs "out"))
+ ;; Guix-specific support for choosing the configuration
+ ;; via #:configure-flags: see below for details.
+ (config-flag-prefix "--blis-config=")
+ (maybe-config-flag (find
+ (lambda (s)
+ (string-prefix? config-flag-prefix s))
+ configure-flags))
+ (configure-flags (if maybe-config-flag
+ (delete maybe-config-flag
+ configure-flags)
+ configure-flags))
+ ;; Select the "configuration" to build.
+ ;; The "generic" configuration is non-optimized but
+ ;; portable (no assembly).
+ ;; The "x86_64" configuration family includes
+ ;; sub-configurations for all supported
+ ;; x86_64 microarchitectures.
+ ;; BLIS currently lacks runtime hardware detection
+ ;; for other architectures: see
+ ;; <https://github.com/flame/blis/commit/c534da6>.
+ ;; Conservatively, we stick to "generic" on armhf,
+ ;; aarch64, and ppc64le for now. (But perhaps
+ ;; "power9", "cortexa9", and "cortexa57" might be
+ ;; general enough to use?)
+ ;; Another approach would be to use the "auto"
+ ;; configuration and make this package
+ ;; non-substitutable.
+ ;; The build is fairly intensive, though.
+ (blis-config
+ (cond
+ (maybe-config-flag
+ (substring maybe-config-flag
+ (string-length config-flag-prefix)))
+ ((string-prefix? "x86_64" (or target system))
+ "x86_64")
+ (else
+ "generic")))
+ (configure-args
+ `("-p" ,out
+ "-d" "opt"
+ "--disable-static"
+ "--enable-shared"
+ "--enable-threading=openmp"
+ "--enable-verbose-make"
+ ,@configure-flags
+ ,blis-config)))
+ (format #t "configure args: ~s~%" configure-args)
+ (apply invoke
+ "./configure"
+ configure-args)
+ #t)))
+ (add-before 'check 'show-test-output
+ (lambda _
+ ;; By default "make check" is silent. Make it verbose.
+ (system "tail -F output.testsuite &")
+ #t)))))
(synopsis "High-performance basic linear algebra (BLAS) routines")
(description
"BLIS is a portable software framework for instantiating high-performance
@@ -3881,35 +3925,12 @@ it also includes a BLAS compatibility layer which gives application developers
access to BLIS implementations via traditional BLAS routine calls.")
(license license:bsd-3)))
-(define-public blis
- ;; This is the "reference" implementation, which is the non-optimized but
- ;; portable variant (no assembly).
- (make-blis "reference" #t))
+(define-public blis-sandybridge (deprecated-package "blis-sandybridge" blis))
+(define-public blis-haswell (deprecated-package "blis-haswell" blis))
+(define-public blis-knl (deprecated-package "blis-knl" blis))
(define ignorance blis)
-(define-syntax-rule (blis/x86_64 processor)
- "Expand to a package specialized for PROCESSOR."
- (package
- (inherit (make-blis processor))
- (supported-systems '("x86_64-linux"))))
-
-(define-public blis-sandybridge
- ;; BLIS specialized for Sandy Bridge processors (launched 2011):
- ;; <http://ark.intel.com/products/codename/29900/Sandy-Bridge>.
- (blis/x86_64 "sandybridge"))
-
-(define-public blis-haswell
- ;; BLIS specialized for Haswell processors (launched 2013):
- ;; <http://ark.intel.com/products/codename/42174/Haswell>.
- (blis/x86_64 "haswell"))
-
-(define-public blis-knl
- ;; BLIS specialized for Knights Landing processor (launched 2016):
- ;; <http://ark.intel.com/products/series/92650/Intel-Xeon-Phi-x200-Product-Family>.
- (blis/x86_64 "knl"))
-
-
(define-public openlibm
(package
(name "openlibm")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index e8b67c03bc..1cb78aa9b3 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
@@ -788,7 +788,7 @@ authentication.")
(define-public pidgin
(package
(name "pidgin")
- (version "2.14.2")
+ (version "2.14.3")
(source
(origin
(method url-fetch)
@@ -796,7 +796,7 @@ authentication.")
(string-append "mirror://sourceforge/pidgin/Pidgin/"
version "/pidgin-" version ".tar.gz"))
(sha256
- (base32 "19r297ynxizdj357ihmy0sgpgfikdzblkszlwlqnsr3lvbjhhsg1"))
+ (base32 "0vdfnm96m1kh4gm6xn6i7s9c5zjh1p18jg4595k4p5bplvd6fmm8"))
(patches
(search-patches "pidgin-add-search-path.patch"))
(modules '((guix build utils)))
@@ -875,7 +875,16 @@ authentication.")
"/lib")
(string-append "--with-tkconfig="
(assoc-ref %build-inputs "tk")
- "/lib"))))
+ "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'eat-leftovers
+ ;; XXX Remove when updating beyond 2.14.3. Equivalent to
+ ;; <https://keep.imfreedom.org/pidgin/pidgin/rev/d4d72fde60c2>.
+ (lambda _
+ ;; Remove a lingering [broken] oscar reference.
+ (substitute* "libpurple/tests/check_libpurple.c"
+ ((".*oscar_util_suite.*") "")))))))
(native-search-paths
(list
(search-path-specification
@@ -2419,7 +2428,13 @@ QMatrixClient project.")
;; Relax overly strict package version specifications.
(lambda _
(substitute* "setup.py"
- (("==") ">="))
+ (("==") ">=")
+ ((",<.*'") "'"))
+ #t))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "hangups"))
#t)))))
(propagated-inputs
`(("python-aiohttp" ,python-aiohttp)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 89a8a56965..2b5f43cb14 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -716,7 +716,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(define-public hydrogen
(package
(name "hydrogen")
- (version "1.0.1")
+ (version "1.0.2")
(source
(origin
(method git-fetch)
@@ -725,7 +725,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0snljpvbcgikhz610c325dgvayi0k512p3bglck9vvi90wsqx7l1"))))
+ (base32 "0nhn2njs8yyxcijxv5zgymf3211y6anzm0v9kn4vnd8kai7zwxxp"))))
(build-system cmake-build-system)
(arguments
`(#:test-target "tests"
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 133f525cb9..f7557fc331 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -42,6 +42,7 @@
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
;;; Copyright © 2020 Hamzeh Nasajpour <h.nasajpour@pantherx.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -448,6 +449,8 @@ performance across unpredictable networks, such as the Internet.")
(url "https://github.com/sctp/lksctp-tools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
+ (patches
+ (search-patches "lksctp-tools-1.0.18-fix-header-file-name.patch"))
(sha256
(base32 "1x4fwzrlzvfa3vcpja97m8w5g9ir2zrh4zs7zksminrnmdrs0dsr"))))
(build-system gnu-build-system)
@@ -471,6 +474,38 @@ sockets, and also some helper utilities around SCTP.")
;; Others.
license:gpl2+))))
+(define-public python-pysctp
+ (package
+ (name "python-pysctp")
+ (version "0.6.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pysctp" version))
+ (sha256
+ (base32 "14h2qlmfi24bizhvvqkfqfa78pzm3911ibrzy9k94i97xy1978dy"))))
+ (build-system python-build-system)
+ (inputs
+ `(("lksctp-tools" ,lksctp-tools)))
+ (arguments
+ `(#:tests? #f ;; tests require network
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-setup.py
+ (lambda _
+ (substitute* "setup.py"
+ (("include_dirs\\s*=.*")
+ (string-append "include_dirs = ['.'] + '"
+ (getenv "C_INCLUDE_PATH") "'.split(':'),"))
+ (("library_dirs\\s*=.*")
+ (string-append "library_dirs = '"
+ (getenv "LIBRARY_PATH") "'.split(':'),"))))))))
+ (home-page "https://github.com/p1sec/pysctp")
+ (synopsis "Python module for the SCTP protocol stack and library")
+ (description "@code{pysctp} implements the SCTP socket API. You need a
+SCTP-aware kernel (most are).")
+ (license license:lgpl2.1+)))
+
(define-public knockd
(package
(name "knockd")
@@ -2494,7 +2529,7 @@ networks.")
(define-public speedtest-cli
(package
(name "speedtest-cli")
- (version "2.1.2")
+ (version "2.1.3")
(source
(origin
(method git-fetch)
@@ -2503,7 +2538,7 @@ networks.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1456yly6iym2c9bl6pi4sz8xbw34bm2dxm1vzpydsd6jazwpmy26"))))
+ (base32 "10fazl4kwf41mk7pnwpfms16n0ii0kg9pf8r3mz9xwnl9y04mv9x"))))
(build-system python-build-system)
(home-page "https://github.com/sivel/speedtest-cli")
(synopsis "Internet bandwidth tester")
@@ -3834,14 +3869,14 @@ thousands of connections is clearly realistic with today's hardware.")
(define-public lldpd
(package
(name "lldpd")
- (version "1.0.9")
+ (version "1.0.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-"
version ".tar.gz"))
(sha256
- (base32 "1xa9953hl2c94zi4ngaxyi2yw3dax1ab16118wriwawm4lqynr3b"))
+ (base32 "08kppk49f9wmdf2gw29sm8pi027g54gzrqa07p8fpwvy0dv2sns4"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0948377d08..44ca0c67e2 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -159,7 +159,7 @@
(properties
`((max-silent-time . 14400))) ; 4 hours, expected even on x86_64
(home-page "https://github.com/Ekdohibs/camlboot")
- (synopsis "OCaml souce bootstrap")
+ (synopsis "OCaml source bootstrap")
(description "OCaml is written in OCaml. Its sources contain a pre-compiled
bytecode version of @command{ocamlc} and @command{ocamllex} that are used to
build the next version of the compiler. Camlboot implements a bootstrap for
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index a6469e133d..6df46aa35f 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -132,8 +132,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.2.0")
- (commit "8f9052d5434a3a11e7b4ff14d6b0090256e08aa4")
- (revision 19))
+ (commit "2d73086262e1fb33cd0f0f16f74a495fe06b38aa")
+ (revision 20))
(package
(name "guix")
@@ -149,7 +149,7 @@
(commit commit)))
(sha256
(base32
- "0jqxabl9sqn7dd1l9q62zm9f7w274q44dya24akina8wwfi5yc4k"))
+ "070frsjcbrdqh68rhrck6w3cprbq1hjpd24z44qd017zaicix1f0"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1049,8 +1049,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator
- (let ((commit "6e7e63f356cb88e3e5fe1a55a0390a1366205c9c")
- (revision "21"))
+ (let ((commit "6fb5eafc33efa109b220efe71594cfcdb2efe133")
+ (revision "24"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1061,7 +1061,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "01l4f0h9r864dbq4fg38fr2pdm5c7q2dysxcv8bx1clxilm58kd5"))
+ "1lf7jry18kwglvyakfkmi8bif8ppsdinl0xjgmkgkp4mvmymh2gj"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1088,14 +1088,18 @@ environments.")
(for-each
(lambda (file)
(simple-format (current-error-port) "wrapping: ~A\n" file)
- (let ((guile-inputs `("guile-json"
- "guile-gcrypt"
- "guix"
- "guile-prometheus"
- "guile-lib"
- "guile-lzlib"
- "guile-zlib"
- "gnutls")))
+ (let ((guile-inputs (list
+ "guile-json"
+ "guile-gcrypt"
+ "guix"
+ "guile-prometheus"
+ "guile-lib"
+ "guile-lzlib"
+ "guile-zlib"
+ "gnutls"
+ ,@(if (hurd-target?)
+ '()
+ '("guile-fibers")))))
(wrap-program file
`("PATH" ":" prefix
(,bin
diff --git a/gnu/packages/patches/calibre-no-updates-dialog.patch b/gnu/packages/patches/calibre-no-updates-dialog.patch
index 1d8d79660e..66ac913cb5 100644
--- a/gnu/packages/patches/calibre-no-updates-dialog.patch
+++ b/gnu/packages/patches/calibre-no-updates-dialog.patch
@@ -1,11 +1,17 @@
-Taken from debian.
+From 19e8d7701c302b0eca4c638705a6db625352caa3 Mon Sep 17 00:00:00 2001
+From: Brendan Tildesley <mail@brendan.scot>
+Date: Thu, 25 Feb 2021 12:17:30 +1100
+Subject: [PATCH] Don't check for updates.
-# Description: Disable update check by default.
-Index: calibre/src/calibre/gui2/main.py
-===================================================================
---- calibre.orig/src/calibre/gui2/main.py 2014-02-02 10:41:28.470954623 +0100
-+++ calibre/src/calibre/gui2/main.py 2014-02-02 10:41:56.546954247 +0100
-@@ -37,8 +37,8 @@
+---
+ src/calibre/gui2/main.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/calibre/gui2/main.py b/src/calibre/gui2/main.py
+index 776f8bebfb..4302716d7e 100644
+--- a/src/calibre/gui2/main.py
++++ b/src/calibre/gui2/main.py
+@@ -59,8 +59,8 @@ def option_parser():
help=_('Start minimized to system tray.'))
parser.add_option('-v', '--verbose', default=0, action='count',
help=_('Ignored, do not use. Present only for legacy reasons'))
@@ -16,3 +22,5 @@ Index: calibre/src/calibre/gui2/main.py
parser.add_option('--ignore-plugins', default=False, action='store_true',
help=_('Ignore custom plugins, useful if you installed a plugin'
' that is preventing calibre from starting'))
+--
+2.30.1
diff --git a/gnu/packages/patches/calibre-remove-test-sqlite.patch b/gnu/packages/patches/calibre-remove-test-sqlite.patch
index 7bdd90874d..fc2b237ef2 100644
--- a/gnu/packages/patches/calibre-remove-test-sqlite.patch
+++ b/gnu/packages/patches/calibre-remove-test-sqlite.patch
@@ -1,20 +1,20 @@
-From a92e26359bd07743ab105819ed0b619e27e14017 Mon Sep 17 00:00:00 2001
+From d8225e83c3b73f0e0da73874910f50ca652f48cf Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
-Date: Sat, 27 Apr 2019 03:30:53 +1000
-Subject: [PATCH] Disable test_sqlite.
+Date: Thu, 25 Feb 2021 00:48:00 +1100
+Subject: [PATCH] Remove test_sqlite
---
src/calibre/test_build.py | 6 ------
1 file changed, 6 deletions(-)
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
-index 07bdffd3e5..740588c95b 100644
+index 0ab7aa0646..87fdfabd9a 100644
--- a/src/calibre/test_build.py
+++ b/src/calibre/test_build.py
-@@ -162,12 +162,6 @@ class BuildTest(unittest.TestCase):
- au(x, 'strftime')
- self.assertEqual(unicode_type(time.strftime(fmt.replace('%e', '%#d'), t)), x)
-
+@@ -273,12 +273,6 @@ def read_changes():
+ m.close()
+ self.assertEqual(winutil.parse_cmdline('"c:\\test exe.exe" "some arg" 2'), ('c:\\test exe.exe', 'some arg', '2'))
+
- def test_sqlite(self):
- import sqlite3
- conn = sqlite3.connect(':memory:')
@@ -24,6 +24,5 @@ index 07bdffd3e5..740588c95b 100644
def test_apsw(self):
import apsw
conn = apsw.Connection(':memory:')
---
-2.21.0
-
+--
+2.30.1
diff --git a/gnu/packages/patches/calibre-remove-test-unrar.patch b/gnu/packages/patches/calibre-remove-test-unrar.patch
index 4e5572d1a6..961cc3eba7 100644
--- a/gnu/packages/patches/calibre-remove-test-unrar.patch
+++ b/gnu/packages/patches/calibre-remove-test-unrar.patch
@@ -1,28 +1,26 @@
-Unrar contains security vulnerabilities and has thus been removed from Guix.
-From a16f97b02bd8afd0ec05c471e156f631f2cc6eec Mon Sep 17 00:00:00 2001
+From 9edf67191cc3655480b6fd418247709ade930b1a Mon Sep 17 00:00:00 2001
From: Brendan Tildesley <mail@brendan.scot>
-Date: Tue, 26 Mar 2019 22:17:03 +1100
-Subject: [PATCH] Remove test_unrar.
+Date: Thu, 25 Feb 2021 00:33:10 +1100
+Subject: [PATCH] Remove test_unrar
---
src/calibre/test_build.py | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/calibre/test_build.py b/src/calibre/test_build.py
-index d67afd20a6..709132ef17 100644
+index b37fb1bcfb..0ab7aa0646 100644
--- a/src/calibre/test_build.py
+++ b/src/calibre/test_build.py
-@@ -220,10 +220,6 @@ class BuildTest(unittest.TestCase):
+@@ -369,10 +369,6 @@ def test_file_dialog_helper(self):
from calibre.gui2.win_file_dialogs import test
test()
-
+
- def test_unrar(self):
- from calibre.utils.unrar import test_basic
- test_basic()
-
- @unittest.skipUnless(iswindows, 'WPD is windows only')
- def test_wpd(self):
- wpd = plugins['wpd'][0]
---
-2.21.0
-
+ def test_7z(self):
+ from calibre.utils.seven_zip import test_basic
+ test_basic()
+--
+2.30.1
diff --git a/gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch b/gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch
new file mode 100644
index 0000000000..1ebe6c803d
--- /dev/null
+++ b/gnu/packages/patches/lksctp-tools-1.0.18-fix-header-file-name.patch
@@ -0,0 +1,32 @@
+From 378560050a8f93786c590cc99a55461666205b61 Mon Sep 17 00:00:00 2001
+From: Xin Long <lucien.xin@gmail.com>
+Date: Fri, 24 Aug 2018 01:13:32 +0800
+Subject: [PATCH] build: fix netinet/sctp.h not to be installed
+
+After libcnetinet_HEADERS was set to sctp.h.in, netinet/sctp.h can
+no longer be installed into ${includedir}.
+
+Since "AC_CONFIG_HEADERS([src/include/netinet/sctp.h])" is already
+added into configure.ac, there's no need to generate sctp.h by
+automake.
+
+So we simply set libcnetinet_HEADERS back to sctp.h.
+
+Fixes: 9607dd85e70a ("netinet/sctp.h: dynamically build based on system setup")
+Signed-off-by: Xin Long <lucien.xin@gmail.com>
+Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
+---
+ src/include/netinet/Makefile.am | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/include/netinet/Makefile.am b/src/include/netinet/Makefile.am
+index ca0aac2..965db8c 100644
+--- a/src/include/netinet/Makefile.am
++++ b/src/include/netinet/Makefile.am
+@@ -11,5 +11,4 @@ libcnetinetdir = $(includedir)/netinet
+ # API.
+ include_HEADERS =
+
+-libcnetinet_HEADERS = sctp.h.in
+-BUILT_SOURCES = sctp.h
++libcnetinet_HEADERS = sctp.h
diff --git a/gnu/packages/patches/pyqt-public-sip.patch b/gnu/packages/patches/pyqt-public-sip.patch
deleted file mode 100644
index 44cdcb6371..0000000000
--- a/gnu/packages/patches/pyqt-public-sip.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-https://sources.debian.org/data/main/p/pyqt5/5.11.3+dfsg-1/debian/patches/public_sip.diff
-
-From: Dmitry Shachnev <mitya57@debian.org>
-Date: Tue, 3 Jul 2018 09:46:42 +0300
-Subject: Use the public version of sip module
-
-Per https://www.debian.org/doc/debian-policy/#convenience-copies-of-code.
----
- configure.py | 2 +-
- designer/pluginloader.cpp | 2 +-
- qmlscene/pluginloader.cpp | 4 ++--
- 3 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.py b/configure.py
-index 32d03a0..3c43a14 100644
---- a/configure.py
-+++ b/configure.py
-@@ -2440,7 +2440,7 @@ def get_sip_flags(target_config):
- the target configuration.
- """
-
-- sip_flags = ['-n', 'PyQt5.sip']
-+ sip_flags = ['-n', 'sip']
-
- # If we don't check for signed interpreters, we exclude the 'VendorID'
- # feature
-diff --git a/designer/pluginloader.cpp b/designer/pluginloader.cpp
-index f41d391..3ca8b11 100644
---- a/designer/pluginloader.cpp
-+++ b/designer/pluginloader.cpp
-@@ -167,7 +167,7 @@ bool PyCustomWidgets::importPlugins(const QString &dir, const QStringList &plugi
- // Make sure we have sip.unwrapinstance.
- if (!sip_unwrapinstance)
- {
-- sip_unwrapinstance = getModuleAttr("PyQt5.sip", "unwrapinstance");
-+ sip_unwrapinstance = getModuleAttr("sip", "unwrapinstance");
-
- if (!sip_unwrapinstance)
- return true;
-diff --git a/qmlscene/pluginloader.cpp b/qmlscene/pluginloader.cpp
-index e14b946..140e80c 100644
---- a/qmlscene/pluginloader.cpp
-+++ b/qmlscene/pluginloader.cpp
-@@ -412,9 +412,9 @@ PyObject *PyQt5QmlPlugin::getModuleAttr(const char *module, const char *attr)
- void PyQt5QmlPlugin::getSipAPI()
- {
- #if defined(SIP_USE_PYCAPSULE)
-- sip = (const sipAPIDef *)PyCapsule_Import("PyQt5.sip._C_API", 0);
-+ sip = (const sipAPIDef *)PyCapsule_Import("sip._C_API", 0);
- #else
-- PyObject *c_api = getModuleAttr("PyQt5.sip", "_C_API");
-+ PyObject *c_api = getModuleAttr("sip", "_C_API");
-
- if (c_api)
- {
diff --git a/gnu/packages/patches/racket-sh-via-rktio.patch b/gnu/packages/patches/racket-sh-via-rktio.patch
new file mode 100644
index 0000000000..b4fefd1514
--- /dev/null
+++ b/gnu/packages/patches/racket-sh-via-rktio.patch
@@ -0,0 +1,87 @@
+From 3574b567c486d264d680a37586436c3b5a8cb978 Mon Sep 17 00:00:00 2001
+From: Philip McGrath <philip@philipmcgrath.com>
+Date: Thu, 4 Mar 2021 04:11:50 -0500
+Subject: [PATCH] patch rktio_process for "/bin/sh" on Guix
+
+Racket provides the functions `system` and `process`,
+which execute shell commands using `sh` (or `cmd` on Windows).
+Racket assumes that `sh` can be found at "/bin/sh",
+which is not necessarily true on Guix.
+
+This patch adds a special case for "/bin/sh" to `rktio_process`,
+the C function that implements the core of `system`, `process`,
+and related Racket functions.
+
+Guix should enable the special case by defining the C preprocessor
+macro `GUIX_RKTIO_PATCH_BIN_SH` with the path to `sh` in the store.
+If:
+
+ 1. The `GUIX_RKTIO_PATCH_BIN_SH` macro is defined; and
+
+ 2. `rktio_process` is called with the exact path "/bin/sh"; and
+
+ 3. The path specified by `GUIX_RKTIO_PATCH_BIN_SH` does exists;
+
+then `rktio_process` will execute the file specified
+by `GUIX_RKTIO_PATCH_BIN_SH` instead of "/bin/sh".
+
+Compared to previous attempts to patch the Racket sources,
+making this change at the C level is both:
+
+ - More comprehensive: it catches all attempts to execute "/bin/sh",
+ without having to track down the source of every occurance; and
+
+ - Less intrusive: by guarding the special case with a C preprocessor
+ conditional and a runtime check that the file in the store exists,
+ we make it much less likely that it will "leak" out of Guix.
+---
+ src/rktio/rktio_process.c | 21 ++++++++++++++++++++-
+ 1 file changed, 20 insertions(+), 1 deletion(-)
+
+diff --git a/src/rktio/rktio_process.c b/src/rktio/rktio_process.c
+index 89202436c0..465ebdd5c5 100644
+--- a/src/rktio/rktio_process.c
++++ b/src/rktio/rktio_process.c
+@@ -1224,12 +1224,14 @@ int rktio_process_allowed_flags(rktio_t *rktio)
+ /*========================================================================*/
+
+ rktio_process_result_t *rktio_process(rktio_t *rktio,
+- const char *command, int argc, rktio_const_string_t *argv,
++ /* PATCHED for Guix (next line) */
++ const char *_guix_orig_command, int argc, rktio_const_string_t *argv,
+ rktio_fd_t *stdout_fd, rktio_fd_t *stdin_fd, rktio_fd_t *stderr_fd,
+ rktio_process_t *group_proc,
+ const char *current_directory, rktio_envvars_t *envvars,
+ int flags)
+ {
++ const char *command; /* PATCHED for Guix */
+ rktio_process_result_t *result;
+ intptr_t to_subprocess[2], from_subprocess[2], err_subprocess[2];
+ int pid;
+@@ -1255,6 +1257,23 @@ rktio_process_result_t *rktio_process(rktio_t *rktio,
+ int i;
+ #endif
+
++/* BEGIN PATCH for Guix */
++#if defined(GUIX_RKTIO_PATCH_BIN_SH)
++# define GUIX_AS_a_STR_HELPER(x) #x
++# define GUIX_AS_a_STR(x) GUIX_AS_a_STR_HELPER(x)
++ /* A level of indirection makes `#` work as needed: */
++ command =
++ ((0 == strcmp(_guix_orig_command, "/bin/sh"))
++ && rktio_file_exists(rktio, GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH)))
++ ? GUIX_AS_a_STR(GUIX_RKTIO_PATCH_BIN_SH)
++ : _guix_orig_command;
++# undef GUIX_AS_a_STR
++# undef GUIX_AS_a_STR_HELPER
++#else
++ command = _guix_orig_command;
++#endif
++/* END PATCH for Guix */
++
+ /* avoid compiler warnings: */
+ to_subprocess[0] = -1;
+ to_subprocess[1] = -1;
+--
+2.21.1 (Apple Git-122.3)
+
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 0768c6f413..752e9d50df 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -339,7 +339,7 @@ When present, Poppler is able to correctly render CJK and Cyrillic text.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("python-sip" ,python-sip)
+ `(("python-sip" ,python-sip-4)
("python-pyqt" ,python-pyqt)
("poppler-qt5" ,poppler-qt5)
("qtbase" ,qtbase)))
diff --git a/gnu/packages/popt.scm b/gnu/packages/popt.scm
index 11d2b1827d..1c325e0c3d 100644
--- a/gnu/packages/popt.scm
+++ b/gnu/packages/popt.scm
@@ -91,7 +91,7 @@ similar to getopt(3), it contains a number of enhancements, including:
- popt allows users to alias command line arguments;
- - popt provides convience functions for parsing strings into argv[] style
+ - popt provides convenience functions for parsing strings into argv[] style
arrays.")
(license x11)))
diff --git a/gnu/packages/python-build.scm b/gnu/packages/python-build.scm
index 15e671b2c2..13acbca355 100644
--- a/gnu/packages/python-build.scm
+++ b/gnu/packages/python-build.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -89,6 +90,23 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
Language (TOML) configuration files.")
(license license:expat)))
+(define-public python-pytoml
+ (package
+ (name "python-pytoml")
+ (version "0.1.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytoml" version))
+ (sha256
+ (base32
+ "1rv1byiw82k7mj6aprcrqi2vdabs801y97xhfnrz7kxds34ggv4f"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/avakar/pytoml")
+ (synopsis "Parser for TOML")
+ (description "This package provides a Python parser for TOML-0.4.0.")
+ (license license:expat)))
+
(define-public python-pep517-bootstrap
(hidden-package
(package
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 7f27966796..bde836a931 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -10,6 +10,8 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1183,6 +1185,28 @@ any Python VM with basically no runtime overhead.")
;; mypyc/lib-rt/getargs.c
(license (list license:expat license:psfl))))
+(define-public python-pyannotate
+ (package
+ (name "python-pyannotate")
+ (version "1.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyannotate" version))
+ (sha256
+ (base32
+ "16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-mypy-extensions" ,python-mypy-extensions)
+ ("python-six" ,python-six)))
+ (home-page
+ "https://github.com/dropbox/pyannotate")
+ (synopsis "Auto-generate PEP-484 annotations")
+ (description "This package, PyAnnotate, is used to auto-generate PEP-484
+annotations.")
+ (license license:asl2.0)))
+
(define-public python-eradicate
(package
(name "python-eradicate")
@@ -1287,3 +1311,26 @@ help in debugging failures and optimizing the scheduler to improve speed.")
(description "A pytest plugin for Sanic. It helps you to test your
code asynchronously.")
(license license:expat)))
+
+(define-public python-allpairspy
+ (package
+ (name "python-allpairspy")
+ (version "2.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "allpairspy" version))
+ (sha256
+ (base32 "1c987h13dly9919d15w3h747rgn50ilnv7dginhlprxbj564hn4k"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("python-pytest-runner" ,python-pytest-runner)))
+ (home-page "https://github.com/thombashi/allpairspy")
+ (synopsis "Pairwise test combinations generator")
+ (description
+ "This is a Python library for test combinations generator. The generator
+allows one to create a set of tests using @emph{pairwise combinations} method,
+reducing a number of combinations of variables into a lesser set that covers
+most situations.")
+ (license license:expat)))
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 2065e6e38f..30062f43c5 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -30,14 +31,141 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
+ #:use-module (gnu packages libffi)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages maths)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
+ #:use-module (gnu packages python-check)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages sphinx))
+(define-public python-multivolumefile
+ (package
+ (name "python-multivolumefile")
+ (version "0.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "multivolumefile" version))
+ (sha256
+ (base32
+ "0j46wab4b09s3favjzp3zs1cn2sn8pr7qyngs5wn31hpqqxbbz76"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-pep517" ,python-pep517)
+ ("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm/next)
+ ("python-coverage" ,python-coverage)
+ ("python-coveralls" ,python-coveralls)
+ ("python-pyannotate" ,python-pyannotate)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/miurahr/multivolume")
+ (synopsis "Treat multiple files as one")
+ (description "MultiVolumefile is a Python library that provides a
+file-object abstraction, making it possible to use multiple files as if they
+were a single file.")
+ (license license:lgpl2.1+)))
+
+(define-public python-bcj-cffi
+ (package
+ (name "python-bcj-cffi")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "bcj-cffi" version))
+ (sha256
+ (base32
+ "1jcczrb8zgg6w7v76w1wpz3nw75fghk3xwxkn09ll7kck7sdf68d"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cffi" ,python-cffi)
+ ("python-toml" ,python-toml)
+ ("python-setuptools-scm" ,python-setuptools-scm/next)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-coverage" ,python-coverage)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/miurahr/bcj-cffi")
+ (synopsis "Branch / Call /Jump CFFI library in Python")
+ (description "This package provides an implementation of the Branch / Call /
+Jump conversion filter by CFFI for Python.")
+ (license license:lgpl2.1+)))
+
+(define-public python-ppmd-cffi
+ (package
+ (name "python-ppmd-cffi")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ppmd-cffi" version))
+ (sha256
+ (base32
+ "01wcd9l6pp6hivdmd275qh9dhcwficjqfl67hxix5n07vvq7jzz0"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-cffi" ,python-cffi)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm/next)
+ ("python-pep517" ,python-pep517)
+ ("python-coverage" ,python-coverage)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
+ (home-page "https://github.com/miurahr/ppmd")
+ (synopsis "Prediction by Partial Matching compression library")
+ (description "PPMd is a compression algorithm library using the Prediction
+by Partial Matching statistical technique. It is used in RAR and 7-Zip as one of
+several possible methods.")
+ (license license:lgpl2.1+)))
+
+(define-public python-py7zr
+ (package
+ (name "python-py7zr")
+ (version "0.14.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "py7zr" version))
+ (sha256
+ (base32
+ "1zmgp7yax328fj8yj8pj4l7yh78hp727j6wk12vfi6nmi82wl32i"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-bcj-cffi" ,python-bcj-cffi)
+ ("python-multivolumefile" ,python-multivolumefile)
+ ("python-ppmd-cffi" ,python-ppmd-cffi)
+ ("python-pycryptodome" ,python-pycryptodome)
+ ("python-pyzstd" ,python-pyzstd)
+ ("python-texttable" ,python-texttable)
+ ("python-zstandard" ,python-zstandard)))
+ (native-inputs
+ `(("python-setuptools" ,python-setuptools)
+ ("python-setuptools-scm" ,python-setuptools-scm/next)
+ ("python-coverage" ,python-coverage)
+ ("python-coveralls" ,python-coveralls)
+ ("python-libarchive-c" ,python-libarchive-c)
+ ("python-py-cpuinfo" ,python-py-cpuinfo)
+ ("python-pyannotate" ,python-pyannotate)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-benchmark" ,python-pytest-benchmark)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-remotedata" ,python-pytest-remotedata)
+ ("python-pytest-timeout" ,python-pytest-timeout)))
+ (home-page "https://github.com/miurahr/py7zr")
+ (synopsis "7-zip in Python")
+ (description "This package provides py7zr, which implements 7-zip
+archive compression, decompression, encryption and decryption in
+Python.")
+ (license license:lgpl2.1+)))
+
(define-public python-lzo
(package
(name "python-lzo")
@@ -288,13 +416,13 @@ wrapper. It provides a backport of the @code{Path} object.")
(define-public python-zstandard
(package
(name "python-zstandard")
- (version "0.13.0")
+ (version "0.15.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "zstandard" version))
(sha256
- (base32 "0q9msi00s93iqm8vzd839r7yc51gz54z90h5bckqyjdxa6vxijz5"))))
+ (base32 "0by9z7nxnkzhmza075q6q91rs8lnpf91129k8ppv7kymbwshipjj"))))
(build-system python-build-system)
(native-inputs
`(("python-hypothesis" ,python-hypothesis)))
@@ -304,3 +432,21 @@ wrapper. It provides a backport of the @code{Path} object.")
the Zstandard compression library. A C extension and CFFI interface are
provided.")
(license license:bsd-3)))
+
+(define-public python-pyzstd
+ (package
+ (name "python-pyzstd")
+ (version "0.14.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyzstd" version))
+ (sha256
+ (base32
+ "1d3mngs45w2p490vrq5ymd2wz4lp15phmks1ilcx4k7amgibml3d"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/animalize/pyzstd")
+ (synopsis "Zstandard bindings for Python")
+ (description "This package provides Python bindings to the Zstandard (zstd)
+compression library. The API is similar to Python's bz2/lzma/zlib module.")
+ (license license:bsd-3)))
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c7dd18ad19..1e57165509 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
@@ -40,6 +40,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
+;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -795,29 +796,26 @@ object graph to and from JSON.")
(define-public python-mechanicalsoup
(package
(name "python-mechanicalsoup")
- (version "0.11.0")
+ (version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "MechanicalSoup" version))
(sha256
- (base32 "0k59wwk75q7nz6i6gynvzhagy02ql0bv7py3qqcwgjw7607yq4i7"))))
+ (base32 "01sddjxy3rznh63hnl5lbv1hhk6xyiviwmkiw4x7v4ap35fb3lrp"))))
(build-system python-build-system)
- (arguments
- ;; TODO: Enable tests when python-flake8@3.5 hits master.
- `(#:tests? #f))
(propagated-inputs
`(("python-beautifulsoup4" ,python-beautifulsoup4)
("python-lxml" ,python-lxml)
("python-requests" ,python-requests)
("python-six" ,python-six)))
- ;; (native-inputs
- ;; ;; For tests.
- ;; `(("python-pytest-flake8" ,python-pytest-flake8)
- ;; ("python-pytest-httpbin" ,python-pytest-httpbin)
- ;; ("python-pytest-mock" ,python-pytest-mock)
- ;; ("python-pytest-runner" ,python-pytest-runner)
- ;; ("python-requests-mock" ,python-requests-mock)))
+ (native-inputs
+ `(("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-flake8" ,python-pytest-flake8)
+ ("python-pytest-httpbin" ,python-pytest-httpbin)
+ ("python-pytest-mock" ,python-pytest-mock)
+ ("python-pytest-runner" ,python-pytest-runner)
+ ("python-requests-mock" ,python-requests-mock)))
(home-page "https://mechanicalsoup.readthedocs.io/")
(synopsis "Python library for automating website interaction")
(description
@@ -1102,7 +1100,9 @@ storage.")
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)
- ("python-webencodings" ,python-webencodings)))
+ ("python-webencodings" ,python-webencodings)
+ ;; Required by Calibre 5.
+ ("python-chardet" ,python-chardet)))
(arguments
`(#:test-target "check"))
(home-page
@@ -1749,26 +1749,26 @@ web framework, either via the basic or digest authentication schemes.")
(define-public python-terminado
(package
(name "python-terminado")
- (version "0.8.1")
+ (version "0.9.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "terminado" version))
(sha256
(base32
- "0yh69k6579g848rmjyllb5h75pkvgcy27r1l3yzgkf33wnnzkasm"))))
+ "1glqyw97rddyzvisz8rihsn3x2nrm5xbyq82nzp3123pqbxvqzcs"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-tornado" ,python-tornado)
+ `(("python-tornado" ,python-tornado-6)
("python-ptyprocess" ,python-ptyprocess)))
(native-inputs
- `(("python-nose" ,python-nose)))
+ `(("python-pytest" ,python-pytest)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _ (invoke "nosetests") #t)))))
- (home-page "https://github.com/takluyver/terminado")
+ (lambda _ (invoke "pytest" "-vv"))))))
+ (home-page "https://github.com/jupyter/terminado")
(synopsis "Terminals served to term.js using Tornado websockets")
(description "This package provides a Tornado websocket backend for the
term.js Javascript terminal emulator library.")
@@ -2523,6 +2523,53 @@ than Python’s urllib2 library.")
(define-public python2-requests
(package-with-python2 python-requests))
+(define-public python-requests-unixsocket
+ (package
+ (name "python-requests-unixsocket")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "requests-unixsocket" version))
+ (sha256
+ (base32
+ "1sn12y4fw1qki5gxy9wg45gmdrxhrndwfndfjxhpiky3mwh1lp4y"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "test-requirements.txt"
+ (("(.*)==(.*)" _ name) (string-append name "\n")))))
+ (replace 'check
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv"))))))
+ (propagated-inputs
+ `(("python-pbr" ,python-pbr)
+ ("python-requests" ,python-requests)
+ ("python-urllib3" ,python-urllib3)))
+ (native-inputs
+ `(("python-apipkg" ,python-apipkg)
+ ("python-appdirs" ,python-appdirs)
+ ("python-execnet" ,python-execnet)
+ ("python-packaging" ,python-packaging)
+ ("python-pep8" ,python-pep8)
+ ("python-py" ,python-py)
+ ("python-pyparsing" ,python-pyparsing)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cache" ,python-pytest-cache)
+ ("python-pytest-pep8" ,python-pytest-pep8)
+ ("python-six" ,python-six)
+ ("python-waitress" ,python-waitress)))
+ (home-page "https://github.com/msabramo/requests-unixsocket")
+ (synopsis "Talk HTTP via a UNIX domain socket")
+ (description
+ "This Python package lets you use the @code{requests} library to talk
+HTTP via a UNIX domain socket.")
+ (license license:asl2.0)))
+
(define-public python-requests_ntlm
(package
(name "python-requests_ntlm")
@@ -4516,18 +4563,47 @@ library to create slugs from unicode strings while keeping it DRY.")
(version "1.1.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "tinycss2" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Kozea/tinycss2")
+ (commit (string-append "v" version))
+ (recursive? #true)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "12p16k8x8ig51gpfcwz3k3kxpxrwwkn41a1avdgvh3nn8hqarp7v"))))
+ (base32 "0zyc48vbmczpqj7f3f0d7zb3bz29fyj50dg0m6bbwbr5i88kq3sq"))))
(build-system python-build-system)
(arguments
- ;; Test data is missing from the PyPI archive, and the build system is
- ;; based on Flit, which wants an unmaintained and unpackaged
- ;; python-pytoml dependency.
- `(#:tests? #f))
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ ;; A ZIP archive should be generated, but it fails with "ZIP does
+ ;; not support timestamps before 1980". Luckily,
+ ;; SOURCE_DATE_EPOCH is respected, which we set to some time in
+ ;; 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "flit" "build")))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each (lambda (wheel)
+ (format #true wheel)
+ (invoke "python" "-m" "pip" "install"
+ wheel (string-append "--prefix=" out)))
+ (find-files "dist" "\\.whl$")))))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-vv"))))))
(propagated-inputs
`(("python-webencodings" ,python-webencodings)))
+ (native-inputs
+ `(("python-flit" ,python-flit)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-pytest-flake8" ,python-pytest-flake8)
+ ("python-pytest-isort" ,python-pytest-isort)))
(home-page "https://tinycss2.readthedocs.io/")
(synopsis "Low-level CSS parser for Python")
(description "@code{tinycss2} can parse strings, return Python objects
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 79289b1c23..39ec05cbbf 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -43,7 +43,7 @@
;;; Copyright © 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
-;;; Copyright © 2017, 2019 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2017, 2019, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018 Ethan R. Jones <ethanrjones97@gmail.com
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Vijayalakshmi Vedantham <vijimay12@gmail.com>
@@ -60,7 +60,7 @@
;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Sam <smbaines8@gmail.com>
;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us>
-;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com>
@@ -151,6 +151,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages jupyter)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -1985,7 +1986,7 @@ human-friendly syntax.")
(build-system python-build-system)
(home-page "https://github.com/scour-project/scour")
(synopsis "Scour is an SVG optimizer/cleaner written in Python")
- (description "The goal of Scour is to output a file that renderes
+ (description "The goal of Scour is to output a file that renders
identically at a fraction of the size by removing a lot of redundant
information created by most SVG editors. Optimization options are typically
lossless but can be tweaked for more aggressive cleaning.")
@@ -3722,6 +3723,25 @@ text styles of documentation.")
(base32
"1zmhnswy0wxfn0xprs9aqsvx2c3kmzfn2wx14q8cv3vpkxdamj4q")))))))
+(define-public python-pygments-github-lexers
+ (package
+ (name "python-pygments-github-lexers")
+ (version "0.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pygments-github-lexers" version))
+ (sha256
+ (base32
+ "0cz14clcc9z4pn79ll8hp3xzgsrfjscak5zfsvlgrz6ngkkmgjma"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-pygments" ,python-pygments)))
+ (home-page "https://github.com/liluo/pygments-github-lexers")
+ (synopsis "Pygments Github custom lexers")
+ (description "This package installs Github custom lexers to Pygments.")
+ (license license:bsd-3)))
+
(define-public python-bump2version
(package
(name "python-bump2version")
@@ -4469,14 +4489,13 @@ provides additional functionality on the produced Mallard documents.")
(define-public python-cython
(package
(name "python-cython")
- (version "0.29.21")
+ (version "0.29.22")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Cython" version))
(sha256
- (base32
- "1bcwpra7c6k30yvic3sw2v3rq2dr40ypc4zqif6kr52mpn4wnyp5"))))
+ (base32 "01jl3544qwsi8lp6anbl55566xqkjd53x452i7m6gnfilv3q6syz"))))
(build-system python-build-system)
;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so
@@ -5420,14 +5439,6 @@ toolkits.")
(description (package-description python-matplotlib))
(license (package-license python-matplotlib))))
-(define-public python2-matplotlib-documentation
- (let ((parent (package-with-python2 python-matplotlib-documentation)))
- (package
- (inherit parent)
- (native-inputs
- (alist-delete "python-sphinx-copybutton"
- (package-native-inputs parent))))))
-
(define-public python-matplotlib-venn
(package
(name "python-matplotlib-venn")
@@ -7101,13 +7112,6 @@ CLI scripts:
@end enumerate")
(license license:bsd-3)))
-(define-public python2-ipyparallel
- (let ((ipyparallel (package-with-python2 python-ipyparallel)))
- (package/inherit ipyparallel
- (propagated-inputs
- `(("python2-futures" ,python2-futures)
- ,@(package-propagated-inputs ipyparallel))))))
-
(define-public python-ipython-cluster-helper
(package
(name "python-ipython-cluster-helper")
@@ -7199,14 +7203,14 @@ without using the configuration machinery.")
(define-public python-jupyter-core
(package
(name "python-jupyter-core")
- (version "4.4.0")
+ (version "4.7.1")
(source
(origin
(method url-fetch)
(uri (string-append (pypi-uri "jupyter_core" version)))
(sha256
(base32
- "1dy083rarba8prn9f9srxq3c7n7vyql02ycrqq306c40lr57aw5s"))))
+ "1d12j5hkff0xiax87pnhmzbsph3jqqzhz16h8xld7z2y4armq0kr"))))
(build-system python-build-system)
;; FIXME: not sure how to run the tests
(arguments `(#:tests? #f))
@@ -7218,27 +7222,23 @@ without using the configuration machinery.")
"Jupyter core is the base package on which Jupyter projects rely.")
(license license:bsd-3)))
-(define-public python2-jupyter-core
- (package-with-python2 python-jupyter-core))
-
(define-public python-jupyter-client
(package
(name "python-jupyter-client")
- (version "5.2.4")
+ (version "6.1.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jupyter_client" version))
(sha256
(base32
- "0l9mh7ccrpl3lppym3dnky8n1nk7xarzzdcxf4q2s7aw203cpydm"))))
+ "10p7fcgvv9hvz9zical9wk68ks5ssak2ykbzx65wm1k1hk8a3g64"))))
(build-system python-build-system)
;; Tests fail because of missing native python kernel which I assume is
;; provided by the ipython package, which we cannot use because it would
;; cause a dependency cycle.
(arguments
`(#:tests? #f
-
#:phases (modify-phases %standard-phases
(add-after 'unpack 'set-tool-file-names
(lambda* (#:key inputs #:allow-other-keys)
@@ -7250,9 +7250,13 @@ without using the configuration machinery.")
(inputs
`(("iproute" ,iproute)))
(propagated-inputs
- `(("python-pyzmq" ,python-pyzmq)
- ("python-traitlets" ,python-traitlets)
- ("python-jupyter-core" ,python-jupyter-core)))
+ `(("python-dateutil" ,python-dateutil)
+ ("python-jupyter-core" ,python-jupyter-core)
+ ("python-pyzmq" ,python-pyzmq)
+ ("python-tornado" ,python-tornado-6)
+ ("python-traitlets" ,python-traitlets)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://jupyter.org/")
(synopsis "Jupyter protocol implementation and client libraries")
(description
@@ -7268,13 +7272,13 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(define-public python-ipykernel
(package
(name "python-ipykernel")
- (version "5.1.3")
+ (version "5.5.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipykernel" version))
(sha256
- (base32 "1a08y677lpn80qzvv7z0smgggmr5m5ayf0bs6vds47xpxl9sss5k"))))
+ (base32 "02f55cjkp5q64x7ikjxznbxwjpkdmfy237b9kg7dk1pxmzvy90m6"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -7306,38 +7310,6 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(synopsis "IPython Kernel for Jupyter")
(description
"This package provides the IPython kernel for Jupyter.")
- (properties `((python2-variant . ,(delay python2-ipykernel))))
- (license license:bsd-3)))
-
-;; Version 5.x and above no longer support Python 2.
-(define-public python2-ipykernel
- (package
- (name "python2-ipykernel")
- (version "4.10.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ipykernel" version))
- (sha256
- (base32 "1yzmdiy1djsszqp54jzd8ym8h4hpl67zjq83j2kxbkp0rwmlpdzf"))))
- (build-system python-build-system)
- (arguments
- `(#:python ,python-2))
- (propagated-inputs
- `(("python2-ipython" ,python2-ipython)
- ;; imported at runtime during connect
- ("python2-jupyter-client" ,python2-jupyter-client)
- ("python2-tornado" ,python2-tornado)
- ("python2-traitlets" ,python2-traitlets)))
- (native-inputs
- `(("python2-mock" ,python2-mock)
- ("python2-nose" ,python2-nose)
- ("python2-pytest" ,python2-pytest)
- ("python2-pytest-cov" ,python2-pytest-cov)))
- (home-page "https://ipython.org")
- (synopsis "IPython Kernel for Jupyter")
- (description
- "This package provides the IPython kernel for Jupyter.")
(license license:bsd-3)))
(define-public python-pari-jupyter
@@ -8959,14 +8931,14 @@ Python.")
(define-public python-markdown
(package
(name "python-markdown")
- (version "3.2.1")
+ (version "3.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Markdown" version))
(sha256
(base32
- "00k91gwhxnm8jdnm2v5xjz9irj6dbi7afywz2hpakqdbxs1ydzlh"))))
+ "0jbs73nincha8fkfxx267sfxac6pl0ckszjbqbb8gk4dhs8v9d9i"))))
(build-system python-build-system)
(native-inputs
`(("python-nose" ,python-nose)
@@ -10175,29 +10147,42 @@ Debian-related files, such as:
(define-public python-nbformat
(package
(name "python-nbformat")
- (version "4.4.0")
+ (version "5.1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nbformat" version))
(sha256
(base32
- "00nlf08h8yc4q73nphfvfhxrcnilaqanb8z0mdy6nxk0vzq4wjgp"))))
+ "1j6idwsw59cslsssvlkg2bkfpvd6ri7kghbp14jwcw87sy57h5mm"))))
(build-system python-build-system)
- (arguments `(#:tests? #f)) ; no test target
(propagated-inputs
`(("python-ipython-genutils" ,python-ipython-genutils)
("python-jsonschema" ,python-jsonschema)
("python-jupyter-core" ,python-jupyter-core)
("python-traitlets" ,python-traitlets)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://jupyter.org")
(synopsis "Jupyter Notebook format")
(description "This package provides the reference implementation of the
Jupyter Notebook format and Python APIs for working with notebooks.")
+ (properties `((python2-variant . ,(delay python2-nbformat))))
(license license:bsd-3)))
(define-public python2-nbformat
- (package-with-python2 python-nbformat))
+ (let ((parent (package-with-python2
+ (strip-python2-variant python-nbformat))))
+ (package
+ (inherit parent)
+ (version "4.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "nbformat" version))
+ (sha256
+ (base32
+ "00nlf08h8yc4q73nphfvfhxrcnilaqanb8z0mdy6nxk0vzq4wjgp")))))))
(define-public python-bleach
(package
@@ -10348,36 +10333,57 @@ time.")
(define-public python-nbconvert
(package
(name "python-nbconvert")
- (version "5.0.0b1")
+ (version "6.0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "nbconvert" version))
(sha256
(base32
- "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp"))))
+ "00lhqaxn481qvk2w5568asqlsnvrw2fm61p1vssx3m7vdnl17g6b"))))
(build-system python-build-system)
(arguments
- `(;; The "bdist_egg" target is disabled by default, causing the installation
- ;; to fail.
- #:configure-flags (list "bdist_egg")
- ;; FIXME: 5 failures, 40 errors.
- #:tests? #f))
- ;; #:phases
- ;; (modify-phases %standard-phases
- ;; (replace 'check
- ;; (lambda _
- ;; (zero? (system* "py.test" "-v")))))
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+
+ ;; This seems to require Chromium.
+ (delete-file "nbconvert/exporters/tests/test_webpdf.py")
+
+ ;; This depends on the python3 kernel, which is provided by a
+ ;; package that depends on nbconvert.
+ (delete-file "nbconvert/preprocessors/tests/test_execute.py")
+
+ ;; Most of these tests fail because nbconvert fails to execute
+ ;; itself.
+ (delete-file "nbconvert/tests/test_nbconvertapp.py")
+
+ ;; One test here fails with an unclear error. It looks like
+ ;; "%%pylabprint" is supposed to be expanded to some other
+ ;; code, but isn't.
+ (delete-file "nbconvert/filters/tests/test_strings.py")
+
+ ;; Some tests need HOME
+ (setenv "HOME" "/tmp")
+ (invoke "pytest")))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
`(("python-bleach" ,python-bleach)
+ ("python-defusedxml" ,python-defusedxml)
("python-entrypoints" ,python-entrypoints)
("python-jinja2" ,python-jinja2)
("python-jupyter-core" ,python-jupyter-core)
("python-mistune" ,python-mistune)
+ ("python-nbclient" ,python-nbclient)
("python-nbformat" ,python-nbformat)
+ ("python-pandocfilters" ,python-pandocfilters)
("python-pygments" ,python-pygments)
+ ("python-jupyterlab-pygments" ,python-jupyterlab-pygments)
+ ("python-testpath" ,python-testpath)
("python-traitlets" ,python-traitlets)))
(home-page "https://jupyter.org")
(synopsis "Converting Jupyter Notebooks")
@@ -10394,48 +10400,88 @@ convert an @code{.ipynb} notebook file into various static formats including:
@item ReStructured Text (rst)
@item executable script
@end enumerate\n")
- (license license:bsd-3)))
+ (license license:bsd-3)
+ (properties `((python2-variant . ,(delay python2-nbconvert))))))
(define-public python2-nbconvert
- (package-with-python2 python-nbconvert))
+ (let ((parent
+ (package-with-python2
+ (strip-python2-variant python-nbconvert))))
+ (package
+ (inherit parent)
+ (version "5.0.0b1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "nbconvert" version))
+ (sha256
+ (base32
+ "0brclbb18l4nmd5qy3dl9wn05rjdh1fz4rmzdlfqacj12rcdvdgp"))))
+ (arguments
+ `(;; The "bdist_egg" target is disabled by default, causing the installation
+ ;; to fail.
+ #:configure-flags (list "bdist_egg")
+ ;; FIXME: 5 failures, 40 errors.
+ #:tests? #f))
+ (propagated-inputs
+ `(("python-bleach" ,python-bleach)
+ ("python-entrypoints" ,python-entrypoints)
+ ("python-jinja2" ,python-jinja2)
+ ("python-jupyter-core" ,python-jupyter-core)
+ ("python-mistune" ,python-mistune)
+ ("python-nbformat" ,python-nbformat)
+ ("python-pygments" ,python-pygments)
+ ("python-traitlets" ,python-traitlets))))))
(define-public python-notebook
(package
(name "python-notebook")
- (version "5.7.4")
+ (version "6.3.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "notebook" version))
(sha256
(base32
- "0jm7324mbxljmn9hgapj66q7swyz5ai92blmr0jpcy0h80x6f26r"))))
+ "0zfwr87ndjzmdp9adpc9lby1hdqdkjp2q7c9vff3wiw1dj6kkjfb"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
- (lambda _
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
;; These tests require a browser
(delete-file-recursively "notebook/tests/selenium")
- ;; Some tests need HOME
- (setenv "HOME" "/tmp")
- ;; This file contains "warningfilters", which are not supported
- ;; by this version of nose.
- (delete-file "setup.cfg")
- (with-directory-excursion "/tmp"
- (invoke "nosetests" "-v"))
- #t)))))
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ ;; Some tests need HOME
+ (setenv "HOME" "/tmp")
+ (with-directory-excursion "/tmp"
+ (invoke "pytest" "-vv"
+ ;; TODO: This tests fails because nbconvert does not
+ ;; list "python" as a format.
+ "-k" "not test_list_formats"))))))))
(propagated-inputs
- `(("python-jupyter-core" ,python-jupyter-core)
- ("python-nbformat" ,python-nbformat)
+ `(("python-argon2-cffi" ,python-argon2-cffi)
+ ("python-ipykernel" ,python-ipykernel)
+ ("python-ipython-genutils" ,python-ipython-genutils)
+ ("python-jinja2" ,python-jinja2)
+ ("python-jupyter-client" ,python-jupyter-client)
+ ("python-jupyter-core" ,python-jupyter-core)
("python-nbconvert" ,python-nbconvert)
+ ("python-nbformat" ,python-nbformat)
("python-prometheus-client" ,python-prometheus-client)
+ ("python-pyzmq" ,python-pyzmq)
("python-send2trash" ,python-send2trash)
- ("python-terminado" ,python-terminado)))
+ ("python-terminado" ,python-terminado)
+ ("python-tornado" ,python-tornado-6)
+ ("python-traitlets" ,python-traitlets)))
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-sphinx" ,python-sphinx)
- ("python-requests" ,python-requests)))
+ `(("python-coverage" ,python-coverage)
+ ("python-nbval" ,python-nbval)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-requests" ,python-requests)
+ ("python-requests-unixsocket" ,python-requests-unixsocket)))
(home-page "https://jupyter.org/")
(synopsis "Web-based notebook environment for interactive computing")
(description
@@ -10477,11 +10523,7 @@ interactive computing.")
"1ismyaxbv9d56yqqqb8xl58hg0iq0bbyy014a53y1g3hfbc8g7q7"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipykernel" ,python-ipykernel)
- ("python-notebook" ,python-notebook)))
- (native-inputs
- `(("python-certifi" ,python-certifi)
- ("python-nose" ,python-nose)))
+ `(("python-notebook" ,python-notebook)))
(home-page "https://ipython.org")
(synopsis "IPython HTML widgets for Jupyter")
(description "This package provides interactive HTML widgets for Jupyter
@@ -10491,22 +10533,26 @@ notebooks.")
(define-public python-ipywidgets
(package
(name "python-ipywidgets")
- (version "7.5.1")
+ (version "7.6.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipywidgets" version))
(sha256
(base32
- "15sww2mvnkqlvx55gwa82v05062a8j1xpncnqna4k9sl53hgcig9"))))
+ "1w217j8i53x14l7b05fk300k222zs9vkcjaa1rbrw3sk43k466lz"))))
(build-system python-build-system)
(propagated-inputs
- `(("python-ipython" ,python-ipython)
+ `(("python-ipykernel" ,python-ipykernel)
+ ("python-ipython" ,python-ipython)
+ ("python-jupyterlab-widgets" ,python-jupyterlab-widgets)
+ ("python-nbformat" ,python-nbformat)
("python-traitlets" ,python-traitlets)
("python-widgetsnbextension" ,python-widgetsnbextension)))
(native-inputs
- `(("python-nose" ,python-nose)
- ("python-pytest" ,python-pytest)))
+ `(("python-mock" ,python-mock)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)))
(home-page "https://ipython.org")
(synopsis "IPython HTML widgets for Jupyter")
(description "Ipywidgets are interactive HTML widgets for Jupyter
@@ -10539,36 +10585,6 @@ in the data.")
(description "This package provides a terminal-based console frontend for
Jupyter kernels. It also allows for console-based interaction with non-Python
Jupyter kernels such as IJulia and IRKernel.")
- (properties `((python2-variant . ,(delay python2-jupyter-console))))
- (license license:bsd-3)))
-
-(define-public python2-jupyter-console
- (package
- (name "python2-jupyter-console")
- (version "5.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "jupyter_console" version))
- (sha256
- (base32
- "1kam1qzgwr7srhm5r6aj90di5sws4bq0jmiw15452ddamb9yspal"))))
- (build-system python-build-system)
- (arguments
- `(#:python ,python-2
- #:tests? #f)) ; Tests only run in a TTY.
- (propagated-inputs
- `(("python2-ipykernel" ,python2-ipykernel)
- ("python2-jupyter-client" ,python2-jupyter-client)
- ("python2-prompt-toolkit" ,python2-prompt-toolkit-1)
- ("python2-pygments" ,python2-pygments)))
- (native-inputs
- `(("python2-nose" ,python2-nose)))
- (home-page "https://jupyter.org")
- (synopsis "Jupyter terminal console")
- (description "This package provides a terminal-based console frontend for
-Jupyter kernels. It also allows for console-based interaction with non-Python
-Jupyter kernels such as IJulia and IRKernel.")
(license license:bsd-3)))
;; The python-ipython and python-jupyter-console require each other. To get
@@ -11602,6 +11618,56 @@ Pytest but stripped of Pytest specific details.")
(propagated-inputs
`(("python-importlib-metadata" ,python2-importlib-metadata-bootstrap))))))
+(define-public python-plumbum
+ (package
+ (name "python-plumbum")
+ (version "1.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "plumbum" version))
+ (sha256
+ (base32 "1kidj821k79dw064rlxh84xamb9h79ychg3pgj81jlvm5hs48xri"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;no tests
+ (native-inputs
+ ;; XXX: Not actually used since there are no tests but required for
+ ;; build.
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://plumbum.readthedocs.io")
+ (synopsis "Python shell combinators library")
+ (description
+ "Plumbum is a library of tools for replacing shell scripts with Python
+code.")
+ (license license:expat)))
+
+(define-public python-deprecation
+ (package
+ (name "python-deprecation")
+ (version "2.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "deprecation" version))
+ (sha256
+ (base32
+ "1zqqjlgmhgkpzg9ss5ki8wamxl83xn51fs6gn2a8cxsx9vkbvcvj"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-packaging" ,python-packaging)))
+ (native-inputs
+ `(("python-unittest2" ,python-unittest2)))
+ (home-page "https://deprecation.readthedocs.io/")
+ (synopsis "Python library to handle automated deprecations")
+ (description
+ "This is a library that enables automated deprecations. It offers the
+@code{deprecated()} decorator to wrap functions, providing proper warnings
+both in documentation and via Python’s warnings system, as well as the
+@code{deprecation.fail_if_not_removed()} decorator for test methods to ensure
+that deprecated code is eventually removed.")
+ (license license:asl2.0)))
+
(define-public python-tox
(package
(name "python-tox")
@@ -13253,13 +13319,13 @@ graphviz.")
(define-public python-fastimport
(package
(name "python-fastimport")
- (version "0.9.8")
+ (version "0.9.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fastimport" version))
(sha256
- (base32 "1fb3b7y3sw55f6wykxx478ybkirz0l52lgdqmbhmc0h0jzmyiwmj"))))
+ (base32 "06gk14qgm9dxx3pzjn0ckdbywc8ial2bjfzddqwlr4bn1nnqkbll"))))
(build-system python-build-system)
(home-page "https://github.com/jelmer/python-fastimport")
(synopsis "VCS fastimport parser and generator in Python")
@@ -15623,7 +15689,7 @@ specified to apply on the key before comparison (e.g. @code{string.lower})).")
;;https://bitbucket.org/fdik/pypeg/issues/36/test-failures-on-py35
'(#:tests? #f))
(home-page "https://fdik.org/pyPEG/")
- (synopsis "Parsering Expression Grammars in Python")
+ (synopsis "Parsing Expression Grammars in Python")
(description "PyPEG is an intrinsic parser interpreter framework for
Python. It is based on Parsing Expression Grammars, PEG. With pyPEG you can
parse many formal languages.")
@@ -18369,13 +18435,13 @@ user's @file{~/Trash} directory.")
(define-public python-yamllint
(package
(name "python-yamllint")
- (version "1.26.0")
+ (version "1.26.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "yamllint" version))
(sha256
- (base32 "11qhs1jk9pwvyk5k3q5blh9sq42dh1ywdf1f3i2zixf7hncwir5h"))))
+ (base32 "090krlxj7az0d9yl8i20vjrqi66dfxx7y5xakjhxzsfp7qmldnc7"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pathspec" ,python-pathspec)
@@ -20976,6 +21042,64 @@ by Igor Pavlov.")
(define-public python2-pylzma
(package-with-python2 python-pylzma))
+(define-public python-ifaddr
+ (package
+ (name "python-ifaddr")
+ (version "0.1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ifaddr" version))
+ (sha256
+ (base32
+ "150sxdlicwrphmhnv03ykxplyd2jdrxz0mikgnivavgilrn8m7hz"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ (invoke "nosetests"))))))
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (home-page "https://github.com/pydron/ifaddr")
+ (synopsis "Network interface and IP address enumeration library")
+ (description "This package provides a network interface and IP address
+enumeration library in Python.")
+ (license license:expat)))
+
+(define-public python-zeroconf
+ (package
+ (name "python-zeroconf")
+ (version "0.28.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "zeroconf" version))
+ (sha256
+ (base32
+ "0narq8haa3b375vfblbyil77n8bw0wxqnanl91pl0wwwm884mqjb"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-nose" ,python-nose)))
+ (propagated-inputs
+ `(("python-ifaddr" ,python-ifaddr)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _ ;; Networking isn't available for these tests.
+ (invoke "nosetests" "-v"
+ "--exclude" "test_integration_with_listener_ipv6"
+ "--exclude" "test_launch_and_close_v6_only"
+ "--exclude" "test_launch_and_close_v4_v6"
+ "--exclude" "test_launch_and_close"))))))
+ (home-page "https://github.com/jstasiak/python-zeroconf")
+ (synopsis "Pure Python mDNS service discovery")
+ (description
+ "Pure Python multicast DNS (mDNS) service discovery library (Bonjour/Avahi
+compatible).")
+ (license license:lgpl2.1+)))
+
(define-public python2-zeroconf
(package
(name "python2-zeroconf")
@@ -21621,17 +21745,85 @@ the syntactic logic to configure and launch jobs in an execution environment.")
(define-public python-flit
(package
(name "python-flit")
- (version "3.0.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "flit" version))
- (sha256
- (base32
- "14q8qa48bli2mniznc8b54qkwvhbik4kw99y01fi5gzzl620zzml"))))
+ (version "3.2.0")
+ ;; We fetch the sources via git because on pypi the package is split into
+ ;; two parts: flit and flit_core; flit_core cannot be built without flit.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/takluyver/flit")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fpqxpz5bv2xpv1akmc0c8yfss6sj09wdzxrlf3qw1lp1jhbzpyc"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f)) ; XXX: Check requires network access.
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'bootstrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((home (string-append (getcwd) "/home")))
+ (mkdir-p home)
+ (setenv "HOME" home))
+ (for-each make-file-writable (find-files "."))
+ (copy-recursively (assoc-ref inputs "python-testpath")
+ (string-append (getcwd) "/testpath"))
+ (substitute* "pyproject.toml"
+ (("\"testpath\",") ""))
+ (invoke "python" "bootstrap_dev.py")))
+ (replace 'build
+ (lambda _
+ ;; A ZIP archive should be generated, but it fails with "ZIP does
+ ;; not support timestamps before 1980". Luckily,
+ ;; SOURCE_DATE_EPOCH is respected, which we set to some time in
+ ;; 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (for-each (lambda (toml)
+ (invoke "python3" "-m" "flit"
+ "--debug" "--ini-file" toml
+ "build"))
+ '("testpath/pyproject.toml"
+ "pyproject.toml"))
+ (with-directory-excursion "flit_core"
+ (invoke "python" "build_dists.py"))))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (add-installed-pythonpath inputs outputs)
+ (let ((out (assoc-ref outputs "out")))
+ (delete-file-recursively "./home")
+ (for-each (lambda (wheel)
+ (format #true wheel)
+ (invoke "python" "-m" "pip" "install"
+ wheel (string-append "--prefix=" out)))
+ (append
+ (find-files "flit_core/dist" "\\.whl$")
+ (find-files "dist" "\\.whl$")))))))
+ #:tests? #f)) ; XXX: Check requires network access.
+ (propagated-inputs
+ `(("python-pytoml" ,python-pytoml)
+ ("python-toml" ,python-toml)))
+ (native-inputs
+ `(("python-docutils" ,python-docutils)
+ ("python-responses" ,python-responses)
+ ("python-pygments-github-lexers" ,python-pygments-github-lexers)
+ ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
+ ("python-sphinx" ,python-sphinx)
+ ("python-sphinxcontrib-github-alt" ,python-sphinxcontrib-github-alt)
+ ;; This package needs testpath, but testpath also needs flit...
+ ("python-testpath"
+ ,(let ((name "python-testpath")
+ (version "0.4.4"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jupyter/testpath")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fwv4d3p54xx1x942s104irr35lszvv6jnr4nn1scsfvc0m1qmbk")))))))
(home-page "https://flit.readthedocs.io/")
(synopsis
"Simple packaging tool for simple packages")
@@ -23512,12 +23704,12 @@ dates in almost any string formats commonly found on web pages.")
;; This invokation is taken from tox.ini.
(invoke "nosetests" "-d" "-v" "tests/"))))))
(home-page "https://github.com/akesterson/dpath-python")
- (synopsis "Filesystem-like pathing and searching for dictionaries")
+ (synopsis "File-system-like pathing and searching for dictionaries")
(description
"@code{python-dpath} is a library for accessing and searching
dictionaries via /slashed/paths ala xpath.
-Basically it lets you glob over a dictionary as if it were a filesystem. It
+Basically it lets you glob over a dictionary as if it were a file system. It
allows you to specify globs (ala the bash eglob syntax, through some advanced
fnmatch.fnmatch magic) to access dictionary elements, and provides some
facility for filtering those results.")
@@ -23735,12 +23927,34 @@ cleanly print different types of messages.")
"NestedText is a file format for holding data that is to be entered, edited, or
viewed by people. It allows data to be organized into a nested collection of
dictionaries, lists, and strings. In this way it is similar to JSON and YAML, but
-without the complexity and risk of YAML and without the syntatic clutter of JSON.
+without the complexity and risk of YAML and without the syntactic clutter of JSON.
NestedText is both simple and natural. Only a small number of concepts and rules must
be kept in mind when creating it. It is easily created, modified, or viewed with
a text editor and easily understood and used by both programmers and non-programmers.")
(license license:expat))) ; MIT license
+(define-public python-nest-asyncio
+ (package
+ (name "python-nest-asyncio")
+ (version "1.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "nest_asyncio" version))
+ (sha256
+ (base32
+ "1anha29fcijminn5bh2icnx8x7nk39lna9wkc72262i12p2s3idg"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/erdewit/nest_asyncio")
+ (synopsis "Patch asyncio to allow nested event loops")
+ (description
+ "By design @code{asyncio} does not allow its event loop to be nested.
+This presents a practical problem: when in an environment where the event loop
+is already running it's impossible to run tasks and wait for the result. This
+module patches @code{asyncio} to allow nested use of @code{asyncio.run} and
+@code{loop.run_until_complete}.")
+ (license license:bsd-3)))
+
(define-public python-parallel
(package
(name "python-parallel")
@@ -24391,3 +24605,31 @@ apply various transformations to plain text in order to yield
typographically-improved HTML. While often used in conjunction with Jinja and
Django template systems, the filters can be used in any environment.")
(license license:bsd-3)))
+
+(define-public python-pathvalidate
+ (package
+ (name "python-pathvalidate")
+ (version "2.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathvalidate" version))
+ (sha256
+ (base32 "0s14ycjgb44lxr2wg8lrq3b7kybmmrbf7yqz47xrqgn2gr6dk6rw"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f))
+ ;; Tests disabled because of circular dependencies.
+ ;; pathvalidate tests depend on pytest-md-report, which
+ ;; depends on pathvalidate.
+ (native-inputs
+ `(("python-allpairspy" ,python-allpairspy)
+ ("python-click" ,python-click)
+ ("python-faker" ,python-faker)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/thombashi/pathvalidate")
+ (synopsis "Sanitize strings representing paths")
+ (description
+ "@code{pathvalidate} is a Python library to sanitize/validate strings
+representing paths or filenames.")
+ (license license:expat)))
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 21ccf15dc3..fb1a3b598e 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -88,6 +89,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages regex)
#:use-module (gnu packages ruby)
@@ -1807,6 +1809,42 @@ and binaries removed, and adds modular support for using system libraries.")
(define-public python-sip
(package
(name "python-sip")
+ (version "5.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (list (pypi-uri "sip" version)
+ (string-append "https://www.riverbankcomputing.com/static/"
+ "Downloads/sip/" version
+ "/sip-" version ".tar.gz")))
+ (sha256
+ (base32
+ "1idaivamp1jvbbai9yzv471c62xbqxhaawccvskaizihkd0lq0jx"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python" ,python-wrapper)))
+ (propagated-inputs
+ `(("python-toml" ,python-toml)
+ ("python-packaging" ,python-packaging)))
+ (home-page "https://www.riverbankcomputing.com/software/sip/intro")
+ (synopsis "Python binding creator for C and C++ libraries")
+ (description
+ "SIP is a tool to create Python bindings for C and C++ libraries. It
+was originally developed to create PyQt, the Python bindings for the Qt
+toolkit, but can be used to create bindings for any C or C++ library.
+
+SIP comprises a code generator and a Python module. The code generator
+processes a set of specification files and generates C or C++ code, which
+is then compiled to create the bindings extension module. The SIP Python
+module provides support functions to the automatically generated code.")
+ ;; There is a choice between a python like license, gpl2 and gpl3.
+ ;; For compatibility with pyqt, we need gpl3.
+ (license license:gpl3)))
+
+(define-public python-sip-4
+ (package
+ (inherit python-sip)
+ (name "python-sip")
(version "4.19.24")
(source
(origin
@@ -1821,6 +1859,7 @@ and binaries removed, and adds modular support for using system libraries.")
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-wrapper)))
+ (propagated-inputs `())
(arguments
`(#:tests? #f ; no check target
#:imported-modules ((guix build python-build-system)
@@ -1843,27 +1882,8 @@ and binaries removed, and adds modular support for using system libraries.")
"--bindir" bin
"--destdir" lib
"--incdir" include)))))))
- (home-page "https://www.riverbankcomputing.com/software/sip/intro")
- (synopsis "Python binding creator for C and C++ libraries")
- (description
- "SIP is a tool to create Python bindings for C and C++ libraries. It
-was originally developed to create PyQt, the Python bindings for the Qt
-toolkit, but can be used to create bindings for any C or C++ library.
-
-SIP comprises a code generator and a Python module. The code generator
-processes a set of specification files and generates C or C++ code, which
-is then compiled to create the bindings extension module. The SIP Python
-module provides support functions to the automatically generated code.")
- ;; There is a choice between a python like license, gpl2 and gpl3.
- ;; For compatibility with pyqt, we need gpl3.
(license license:gpl3)))
-(define-public python2-sip
- (package/inherit python-sip
- (name "python2-sip")
- (native-inputs
- `(("python" ,python-2)))))
-
(define-public python-pyqt
(package
(name "python-pyqt")
@@ -1877,17 +1897,17 @@ module provides support functions to the automatically generated code.")
(string-append "https://www.riverbankcomputing.com/static/"
"Downloads/PyQt5/" version "/PyQt5-"
version ".tar.gz")))
- (file-name (string-append "PyQt5-"version ".tar.gz"))
+ (file-name (string-append "PyQt5-" version ".tar.gz"))
(sha256
(base32
"1z74295i69cha52llsqffzhb5zz7qnbjc64h8qg21l91jgf0harp"))
- (patches (search-patches "pyqt-configure.patch"
- "pyqt-public-sip.patch"))))
+ (patches (search-patches "pyqt-configure.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("qtbase" ,qtbase))) ; for qmake
(propagated-inputs
- `(("python-sip" ,python-sip)))
+ `(("python-sip" ,python-sip)
+ ("python-pyqt5-sip" ,python-pyqt5-sip)))
(inputs
`(("python" ,python-wrapper)
("qtbase" ,qtbase)
@@ -1956,6 +1976,25 @@ framework. The bindings are implemented as a set of Python modules and
contain over 620 classes.")
(license license:gpl3)))
+(define-public python-pyqt5-sip
+ (package
+ (name "python-pyqt5-sip")
+ (version "12.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyQt5_sip" version))
+ (sha256
+ (base32
+ "1gg032ys4pccwkdzmdryadc9a4lq85nr05pag9swrsdykbdl9s9h"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f)) ;; No test code.
+ (home-page "https://www.riverbankcomputing.com/software/sip/")
+ (synopsis "Sip module support for PyQt5")
+ (description "Sip module support for PyQt5")
+ (license license:lgpl2.1+)))
+
(define-public python-pyqtwebengine
(package
(name "python-pyqtwebengine")
@@ -2049,38 +2088,28 @@ itself.")
(inputs
(alist-delete "qtwebkit" (package-inputs python-pyqt)))))
-(define-public python2-pyqt
- (package/inherit python-pyqt
- (name "python2-pyqt")
- (propagated-inputs
- `(("python-enum34" ,python2-enum34)
- ("python-sip" ,python2-sip)))
- (native-inputs
- `(("python-sip" ,python2-sip)
- ("qtbase" ,qtbase)))
- (inputs
- `(("python" ,python-2)
- ("python2-enum34" ,python2-enum34)
- ,@(alist-delete "python" (package-inputs python-pyqt))))))
-
-(define-public python2-pyqtwebengine
- (package/inherit
- python-pyqtwebengine
- (name "python2-pyqtwebengine")
- (native-inputs
- `(("python" ,python-2)
- ("python-sip" ,python2-sip)
- ;; qtbase is required for qmake
- ("qtbase" ,qtbase)))
+(define-public python-pyqt-builder
+ (package
+ (name "python-pyqt-builder")
+ (version "1.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyQt-builder" version))
+ (sha256
+ (base32
+ "0nh0054c54ji3sm6d268fccf0y5f613spswwgwqd3rnn816hnljl"))))
+ (build-system python-build-system)
(inputs
- `(("python" ,python-2)
- ("python-sip" ,python2-sip)
- ("python-pyqt" ,python2-pyqt)
- ("qtbase" ,qtbase)
- ("qtsvg" ,qtsvg)
- ("qtdeclarative" ,qtdeclarative)
- ("qtwebchannel" ,qtwebchannel)
- ("qtwebengine" ,qtwebengine)))))
+ `(("python-sip" ,python-sip)))
+ (home-page "https://www.riverbankcomputing.com/static/Docs/PyQt-builder/")
+ (synopsis "PEP 517 compliant PyQt build system")
+ (description "PyQt-builder is a tool for generating Python bindings for C++
+libraries that use the Qt application framework. The bindings are built on
+top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.")
+ ;; Either version 2 or 3, but no other version. See the file
+ ;; 'pyqtbuild/builder.py' in the source distribution for more information.
+ (license (list license:gpl2 license:gpl3))))
(define-public python-qtpy
(package
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index afe93081b3..e6d5ef0203 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -172,6 +172,53 @@ To install the rtl-sdr udev rules, you must extend 'udev-service-type' with
this package. E.g.: @code{(udev-rules-service 'rtl-sdr rtl-sdr)}")
(license license:gpl2+)))
+(define-public airspyhf
+ (package
+ (name "airspyhf")
+ (version "1.6.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/airspy/airspyhf")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n699i5a9fzzhf80fcjlqq6p2a013rzlwmwv4nmwfafy6c8cr924"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libusb" ,libusb)))
+ (arguments
+ '(#:configure-flags '("-DINSTALL_UDEV_RULES=ON")
+ #:tests? #f ; No tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "tools/CMakeLists.txt"
+ (("DESTINATION \"/etc/udev/")
+ (string-append "DESTINATION \""
+ (assoc-ref outputs "out")
+ "/lib/udev/")))))
+ (add-after 'fix-paths 'fix-udev-rules
+ (lambda _
+ (substitute* "tools/52-airspyhf.rules"
+ ;; The plugdev group does not exist; use dialout as in
+ ;; the hackrf package.
+ (("GROUP=\"plugdev\"")
+ "GROUP=\"dialout\"")))))))
+ (home-page "https://github.com/airspy/airspyhf")
+ (synopsis "Software defined radio driver for Airspy HF+")
+ (description
+ "This package provides the driver and utilities for controlling the Airspy
+HF+ Software Defined Radio (SDR) over USB.
+
+To install the airspyhf udev rules, you must extend @code{udev-service-type}
+with this package. E.g.: @code{(udev-rules-service 'airspyhf airspyhf)}")
+ (license license:bsd-3)))
+
(define-public chirp
(package
(name "chirp")
@@ -466,7 +513,8 @@ environment.")
("python-mako" ,python-mako)
("python-six" ,python-six)))
(inputs
- `(("boost" ,boost)
+ `(("airspyhf" ,airspyhf)
+ ("boost" ,boost)
("fftwf" ,fftwf)
("gmp" ,gmp)
("gnuradio" ,gnuradio)
diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm
index 0841c1fd8d..0baed8fc17 100644
--- a/gnu/packages/rdf.scm
+++ b/gnu/packages/rdf.scm
@@ -61,7 +61,7 @@
(version "2.0.15")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.librdf.org/source/" name
+ (uri (string-append "https://download.librdf.org/source/" name
"-" version ".tar.gz"))
(patches
(search-patches "raptor2-heap-overflow.patch"))
@@ -76,7 +76,7 @@
("zlib" ,zlib)))
(arguments
`(#:parallel-tests? #f))
- (home-page "http://librdf.org/raptor/")
+ (home-page "https://librdf.org/raptor/")
(synopsis "RDF syntax library")
(description "Raptor is a C library providing a set of parsers and
serialisers that generate Resource Description Framework (RDF) triples
diff --git a/gnu/packages/rsync.scm b/gnu/packages/rsync.scm
index f90feaf57f..37b15663b9 100644
--- a/gnu/packages/rsync.scm
+++ b/gnu/packages/rsync.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
@@ -71,7 +71,7 @@ files in the destination.")
(define-public librsync
(package
(name "librsync")
- (version "2.3.1")
+ (version "2.3.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -80,7 +80,7 @@ files in the destination.")
(file-name (git-file-name name version))
(sha256
(base32
- "131cd4asmpm4nskidzgiy8xibbnpibvvbq857a0pcky77min5g4z"))))
+ "0bn29npmbw26akc6y54661irpdh6qcivcs6q48cgp3llklhhxp0q"))))
(build-system cmake-build-system)
(inputs
`(("popt" ,popt)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 806c6cf873..300726764e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -7159,7 +7159,7 @@ by RuboCop to deal with Ruby's Abstract Syntax Tree (AST), in particular:
(define-public ruby-rexml
(package
(name "ruby-rexml")
- (version "3.2.4")
+ (version "3.2.5")
(source
(origin
(method git-fetch) ;no tests in distributed gem
@@ -7168,8 +7168,7 @@ by RuboCop to deal with Ruby's Abstract Syntax Tree (AST), in particular:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0rhjjbkaq2f2cs8hyr2i4yjqpcyl8m0wmr2cypa401m3fvz4221i"))))
+ (base32 "13n6vaa80drqic2wri4q6k22qzvsn683vp5s8c9dllil6x04kn0x"))))
(build-system ruby-build-system)
(synopsis "XML toolkit for Ruby")
(description "Inspired by Electric XML library for Java, REXML aims to be
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 10be0aa28a..b5d526bfc3 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
+;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,6 +44,7 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bdw-gc)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages libevent)
@@ -411,94 +413,26 @@ implementation techniques and as an expository tool.")
(base32
"047wpjblfzmf1msz7snrp2c2h0zxyzlmbsqr9bwsyvz3frcg0888"))
(patches (search-patches
+ "racket-sh-via-rktio.patch"
+ ;; TODO: If we're no longer patching Racket source
+ ;; files with store paths, we may also fix the
+ ;; issue that necessitated the following patch:
"racket-store-checksum-override.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags
- '("--enable-libz"
+ `(#:configure-flags
+ `(,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH="
+ (assoc-ref %build-inputs "sh")
+ "/bin/sh")
+ "--enable-libz"
"--enable-liblz4")
+ #:modules
+ ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
#:phases
(modify-phases %standard-phases
- (add-before 'configure 'pre-configure-minimal
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Patch dynamically loaded libraries with their absolute paths.
- (let* ((library-path (search-path-as-string->list
- (getenv "LIBRARY_PATH")))
- (find-so (lambda (soname)
- (search-path
- library-path
- (format #f "~a.so" soname)))))
- (substitute* "collects/db/private/sqlite3/ffi.rkt"
- (("ffi-lib sqlite-so")
- (format #f "ffi-lib \"~a\"" (find-so "libsqlite3"))))
- (substitute* "collects/openssl/libssl.rkt"
- (("ffi-lib libssl-so")
- (format #f "ffi-lib \"~a\"" (find-so "libssl"))))
- (substitute* "collects/openssl/libcrypto.rkt"
- (("ffi-lib libcrypto-so")
- (format #f "ffi-lib \"~a\"" (find-so "libcrypto")))))
- (chdir "src")
- #t))
- (add-before 'pre-configure-minimal 'pre-configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; Patch dynamically loaded libraries with their absolute paths.
- (let* ((library-path (search-path-as-string->list
- (getenv "LIBRARY_PATH")))
- (find-so (lambda (soname)
- (search-path
- library-path
- (format #f "~a.so" soname))))
- (patch-ffi-libs (lambda (file libs)
- (for-each
- (lambda (lib)
- (substitute* file
- (((format #f "\"~a\"" lib))
- (format #f "\"~a\"" (find-so lib)))))
- libs))))
- (substitute* "share/pkgs/math-lib/math/private/bigfloat/gmp.rkt"
- (("ffi-lib libgmp-so")
- (format #f "ffi-lib \"~a\"" (find-so "libgmp"))))
- (substitute* "share/pkgs/math-lib/math/private/bigfloat/mpfr.rkt"
- (("ffi-lib libmpfr-so")
- (format #f "ffi-lib \"~a\"" (find-so "libmpfr"))))
- (substitute* "share/pkgs/readline-lib/readline/rktrl.rkt"
- (("\\(getenv \"PLT_READLINE_LIB\"\\)")
- (format #f "\"~a\"" (find-so "libedit"))))
- (for-each
- (lambda (x) (apply patch-ffi-libs x))
- '(("share/pkgs/draw-lib/racket/draw/unsafe/cairo-lib.rkt"
- ("libfontconfig" "libcairo"))
- ("share/pkgs/draw-lib/racket/draw/unsafe/glib.rkt"
- ("libglib-2.0" "libgmodule-2.0" "libgobject-2.0"))
- ("share/pkgs/draw-lib/racket/draw/unsafe/jpeg.rkt"
- ("libjpeg"))
- ("share/pkgs/draw-lib/racket/draw/unsafe/pango.rkt"
- ("libpango-1.0" "libpangocairo-1.0"))
- ("share/pkgs/draw-lib/racket/draw/unsafe/png.rkt"
- ("libpng"))
- ("share/pkgs/db-lib/db/private/odbc/ffi.rkt"
- ("libodbc"))
- ("share/pkgs/gui-lib/mred/private/wx/gtk/x11.rkt"
- ("libX11"))
- ("share/pkgs/gui-lib/mred/private/wx/gtk/gsettings.rkt"
- ("libgio-2.0"))
- ("share/pkgs/gui-lib/mred/private/wx/gtk/gtk3.rkt"
- ("libgdk-3" "libgtk-3"))
- ("share/pkgs/gui-lib/mred/private/wx/gtk/unique.rkt"
- ("libunique-1.0"))
- ("share/pkgs/gui-lib/mred/private/wx/gtk/utils.rkt"
- ("libgdk-x11-2.0" "libgdk_pixbuf-2.0" "libgtk-x11-2.0"))
- ("share/pkgs/gui-lib/mred/private/wx/gtk/gl-context.rkt"
- ("libGL"))
- ("share/pkgs/sgl/gl.rkt"
- ("libGL" "libGLU")))))
- #t))
- (add-after 'unpack 'patch-/bin/sh
- (lambda _
- (substitute* "collects/racket/system.rkt"
- (("/bin/sh") (which "sh")))
- #t))
- (add-after 'patch-/bin/sh 'patch-chez-configure
+ (add-after 'unpack 'patch-chez-configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "src/cs/c/Makefile.in"
(("/bin/sh") (which "sh")))
@@ -526,12 +460,69 @@ implementation techniques and as an expository tool.")
(("/bin/cp") (which "cp"))
(("/bin/echo") (which "echo")))
(substitute* "makefiles/installsh"
- (("/bin/true") (which "true")))))))
+ (("/bin/true") (which "true"))))
+ #t))
+ (add-before 'configure 'pre-configure-minimal
+ (lambda* (#:key inputs #:allow-other-keys)
+ (chdir "src")
+ #t))
+ (add-after 'build 'patch-config.rktd-lib-search-dirs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ ;; We do this between the `build` and `install` phases
+ ;; so that we have racket to read and write the hash table,
+ ;; but it comes before `raco setup`, when foreign libraries
+ ;; are needed to build the documentation.
+ (define out (assoc-ref outputs "out"))
+ (apply invoke
+ "./cs/c/racketcs"
+ "-e"
+ ,(format #f
+ "~s"
+ '(let* ((args
+ (vector->list
+ (current-command-line-arguments)))
+ (file (car args))
+ (extra-lib-search-dirs (cdr args)))
+ (write-to-file
+ (hash-update
+ (file->value file)
+ 'lib-search-dirs
+ (lambda (dirs)
+ (append dirs extra-lib-search-dirs))
+ null)
+ #:exists 'truncate/replace
+ file)))
+ "--"
+ "../etc/config.rktd"
+ (filter-map (lambda (lib)
+ (cond
+ ((assoc-ref inputs lib)
+ => (lambda (pth)
+ (string-append pth "/lib")))
+ (else
+ #f)))
+ '("cairo"
+ "fontconfig"
+ "glib"
+ "glu"
+ "gmp"
+ "gtk+"
+ "libjpeg"
+ "libpng"
+ "libx11"
+ "mesa"
+ "mpfr"
+ "openssl"
+ "pango"
+ "sqlite"
+ "unixodbc"
+ "libedit")))
+ #t)))
;; XXX: how to run them?
#:tests? #f))
(inputs
- `(;; Hardcode dynamically loaded libraries for better functionality.
- ;; sqlite and libraries for `racket/draw' are needed to build the doc.
+ `(;; sqlite and libraries for `racket/draw' are needed to build the doc.
+ ("sh" ,bash-minimal)
("zlib" ,zlib)
("zlib:static" ,zlib "static")
("lz4" ,lz4)
@@ -571,29 +562,21 @@ of languages such as Typed Racket, R5RS and R6RS Scheme, and Datalog.")
(inherit racket)
(name "racket-minimal")
(version (package-version racket))
- (source (origin
- (method url-fetch)
- (uri (list (string-append "https://mirror.racket-lang.org/installers/"
- version "/racket-minimal-src.tgz")
- ;; this mirror seems to have broken HTTPS:
- (string-append
- "http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
- version "/racket-minimal-src.tgz")))
- (sha256
- (base32
- "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21"))
- (patches (search-patches
- "racket-store-checksum-override.patch"))))
+ (source
+ (origin
+ (inherit (package-source racket))
+ (uri (list (string-append "https://mirror.racket-lang.org/installers/"
+ version "/racket-minimal-src.tgz")
+ ;; this mirror seems to have broken HTTPS:
+ (string-append
+ "http://mirror.informatik.uni-tuebingen.de/mirror/racket/"
+ version "/racket-minimal-src.tgz")))
+ (sha256 "0mwyffw4gcci8wmzxa3j28h03h0gsz55aard8qrk3lri8r2xyg21")))
(synopsis "Racket without bundled packages such as Dr. Racket")
- (arguments
- (substitute-keyword-arguments (package-arguments racket)
- ((#:phases phases)
- `(modify-phases ,phases
- ;; Delete fix that applies to files not included in the minimal package.
- (delete 'pre-configure)))))
(inputs
`(("openssl" ,openssl)
("sqlite" ,sqlite)
+ ("sh" ,bash-minimal)
("zlib" ,zlib)
("zlib:static" ,zlib "static")
("lz4" ,lz4)
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index b5f1dd141d..79d4d6e1b4 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
-;;; Copyright © 2015, 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2017, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
@@ -216,6 +216,28 @@ to code blocks.")
@url{Devhelp,https://wiki.gnome.org/Apps/Devhelp} documents.")
(license license:bsd-2)))
+(define-public python-sphinxcontrib-github-alt
+ (package
+ (name "python-sphinxcontrib-github-alt")
+ (version "1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sphinxcontrib_github_alt" version))
+ (sha256
+ (base32
+ "1x9af78vamjjcdrrhiah3wg613jv7gm8yh9vvqfrmf4vam6mimyg"))))
+ (build-system python-build-system)
+ (propagated-inputs
+ `(("python-docutils" ,python-docutils)
+ ("python-sphinx" ,python-sphinx)))
+ (home-page "https://github.com/jupyter/sphinxcontrib_github_alt")
+ (synopsis "Link to GitHub pages from Sphinx docs")
+ (description
+ "This package lets you link to GitHub issues, pull requests, commits and
+users from Sphinx docs.")
+ (license license:bsd-2)))
+
(define-public python-sphinxcontrib-htmlhelp
(package
(name "python-sphinxcontrib-htmlhelp")
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index eb6cb7b4e3..e800aebda7 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Petter <petter@mykolab.ch>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
@@ -44,7 +44,9 @@
(define-public syncthing
(package
(name "syncthing")
- (version "1.5.0")
+ (version "1.15.1")
+ ; XXX After the go-build-system can use "Go modules", stop using bundled
+ ; dependenices for Syncthing.
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@@ -52,68 +54,12 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
- "1394b8y4nllihnjngc0kjpdy7pvyh6v1h09hkn8rdmwxpsdkqkjb"))
- (modules '((guix build utils)))
- ;; Delete bundled ("vendored") free software source code.
- (snippet '(begin
- (delete-file-recursively "vendor")
- #t))))
+ "04b90zwinl7frxrpjliq41mkbhpnkszmhdc5j2vbqwyhd82warxq"))))
(build-system go-build-system)
;; The primary Syncthing executable goes to "out", while the auxiliary
;; server programs and utility tools go to "utils". This reduces the size
;; of "out" by ~80 MiB.
(outputs '("out" "utils"))
- ;; When updating Syncthing, check 'go.mod' in the source distribution to
- ;; ensure we are using the correct versions of these dependencies.
- (inputs
- `(("go-github-com-jackpal-go-nat-pmp"
- ,go-github-com-jackpal-go-nat-pmp)
- ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
- ("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
- ("go-github-com-chmduquesne-rollinghash"
- ,go-github-com-chmduquesne-rollinghash)
- ("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob)
- ("go-github-com-golang-groupcache-lru"
- ,go-github-com-golang-groupcache-lru)
- ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway)
- ("go-github-com-kballard-go-shellquote"
- ,go-github-com-kballard-go-shellquote)
- ("go-github-com-lib-pq" ,go-github-com-lib-pq)
- ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
- ("go-github-com-oschwald-geoip2-golang"
- ,go-github-com-oschwald-geoip2-golang)
- ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
- ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
- ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
- ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
- ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
- ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
- ("go-golang-org-x-time" ,go-golang-org-x-time)
- ("go-github-com-go-ldap-ldap" ,go-github-com-go-ldap-ldap)
- ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
- ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)
- ("go-github-com-prometheus-client-golang"
- ,go-github-com-prometheus-client-golang)
- ("go-golang-org-x-net" ,go-golang-org-x-net)
- ("go-golang-org-x-text" ,go-golang-org-x-text)
- ("go-github-com-audriusbutkevicius-recli"
- ,go-github-com-audriusbutkevicius-recli)
- ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
- ("go-github-com-vitrun-qart" ,go-github-com-vitrun-qart)
- ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
- ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
- ("go-github-com-flynn-archive-go-shlex"
- ,go-github-com-flynn-archive-go-shlex)
- ("go-github-com-getsentry-raven-go" ,go-github-com-getsentry-raven-go)
- ("go-github-com-maruel-panicparse" ,go-github-com-maruel-panicparse)
- ("go-github-com-ccding-go-stun" ,go-github-com-ccding-go-stun)
- ("go-github-com-audriusbutkevicius-pfilter" ,go-github-com-audriusbutkevicius-pfilter)
- ("go-github-com-lucas-clemente-quic-go" ,go-github-com-lucas-clemente-quic-go)
- ("go-github-com-willf-bloom" ,go-github-com-willf-bloom)
-
- ;; For tests.
- ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
-
(arguments
`(#:modules ((srfi srfi-26) ; for cut
(guix build utils)
@@ -136,8 +82,8 @@
;; updater and to build the utilities is to "build all" and then
;; "build syncthing" again with -no-upgrade.
;; https://github.com/syncthing/syncthing/issues/6118
- (invoke "go" "run" "build.go" "build" "all")
- (delete-file "syncthing")
+ (invoke "go" "run" "build.go")
+ (delete-file "bin/syncthing")
(invoke "go" "run" "build.go" "-no-upgrade" "build" "syncthing"))))
(replace 'check
@@ -149,10 +95,10 @@
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(utils (assoc-ref outputs "utils")))
- (with-directory-excursion "src/github.com/syncthing/syncthing"
- (install-file "syncthing" (string-append out "/bin"))
+ (with-directory-excursion "src/github.com/syncthing/syncthing/bin"
+ (install-file "../syncthing" (string-append out "/bin"))
(for-each (cut install-file <> (string-append utils "/bin/"))
- '("stcli" "stcompdirs" "stcrashreceiver"
+ '("stcompdirs" "stcrashreceiver"
"stdisco" "stdiscosrv" "stevents" "stfileinfo"
"stfinddevice" "stfindignored" "stgenfiles"
"stindex" "strelaypoolsrv" "strelaysrv" "stsigtool"
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index 709b3dd603..55a95792cb 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -143,7 +143,7 @@
(description
"[incr Tcl] is a widely used object-oriented system for Tcl. The name is
a play on C++, and [incr Tcl] provides a similar object model, including
-multiple inheritence and public and private classes and variables.")
+multiple inheritance and public and private classes and variables.")
(license license:public-domain)))
(define-public expect
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 82d1dc463c..e6bfe6c4f2 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -611,8 +611,8 @@ Telegram instant messenger.")
#:include-regexp ("\\.h$")))
args))))))
(synopsis "Parse tl scheme to tlo")
- (description "TL-Parser is a tl scheme to tlo file parser. It was formely
-a part of telegram-cli, but now being maintained separately.")
+ (description "TL-Parser is a tl scheme to tlo file parser. It was
+formerly a part of telegram-cli, but now being maintained separately.")
(home-page "https://github.com/vysheng/tl-parser")
(license license:gpl2+))))
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index df84cbd571..317f1a8416 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -7948,3 +7948,88 @@ desired for one font family is not available for another font family,
or if it differs from the weight desired for another font family. The
@code{mweights} package provides a solution to these difficulties.")
(license license:lppl)))
+
+(define-public texlive-cabin
+ (package
+ (inherit (simple-texlive-package
+ "texlive-cabin"
+ (list "/doc/fonts/cabin/"
+ "/fonts/enc/dvips/cabin/"
+ "/fonts/map/dvips/cabin/"
+ "/fonts/opentype/impallari/cabin/"
+ "/fonts/tfm/impallari/cabin/"
+ "/fonts/type1/impallari/cabin/"
+ "/fonts/vf/impallari/cabin/"
+ "/tex/latex/cabin/")
+ (base32
+ "0dfq9gqch80iyvp58spmpmqfc9h61sjvnddm81ba0af1p8ag8sfg")
+ #:trivial? #t))
+ (home-page "https://www.ctan.org/pkg/cabin")
+ (synopsis "Humanist Sans Serif font with LaTeX support")
+ (description "Cabin is a humanist sans with four weights, true
+italics and small capitals. According to its designer, Pablo
+Impallari, Cabin was inspired by the typefaces of Edward Johnston and
+Eric Gill. Cabin incorporates modern proportions, optical adjustments
+and some elements of the geometric sans. @code{cabin.sty} supports
+use of the font under LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX. It uses
+the @code{mweights} package to manage the user's view of all those
+font weights. An @code{sfdefault} option is provided to enable Cabin
+as the default text font. The @code{fontaxes} package is required for
+use with [pdf]LaTeX.")
+ (license (list license:silofl1.1 ;for Cabin
+ license:lppl)))) ;for support files
+
+(define-public texlive-newtx
+ (package
+ (inherit (simple-texlive-package
+ "texlive-newtx"
+ (list "/doc/fonts/newtx/"
+ "/fonts/afm/public/newtx/"
+ "/fonts/enc/dvips/newtx/"
+ "/fonts/map/dvips/newtx/"
+ "/fonts/opentype/public/newtx/"
+ "/fonts/tfm/public/newtx/"
+ "/fonts/type1/public/newtx/"
+ "/fonts/vf/public/newtx/"
+ "/tex/latex/newtx/")
+ (base32
+ "0rqjj33m6xkhrjzjhf24kxdg61az5sqsbcl0m7xqkf4akqybn22d")
+ #:trivial? #t))
+ (home-page "https://www.ctan.org/pkg/newtx")
+ (synopsis "Repackaging of the TX fonts with improved metrics")
+ (description "The @code{newtx} bundle splits
+@code{txfonts.sty} (from the TX fonts distribution) into two
+independent packages, @code{newtxtext.sty} and @code{newtxmath.sty},
+each with fixes and enhancements. @code{newtxmath}'s metrics have
+been re-evaluated to provide a less tight appearance and to provide a
+@code{libertine} option that substitutes Libertine italic and Greek
+letters for the existing math italic and Greek glyphs, making a
+mathematics package that matches Libertine text quite well.")
+ (license license:lppl1.3)))
+
+(define-public texlive-xcharter
+ (package
+ (inherit (simple-texlive-package
+ "texlive-xcharter"
+ (list "/doc/fonts/xcharter/"
+ "/fonts/afm/public/xcharter/"
+ "/fonts/enc/dvips/xcharter/"
+ "/fonts/map/dvips/xcharter/"
+ "/fonts/opentype/public/xcharter/"
+ "/fonts/tfm/public/xcharter/"
+ "/fonts/type1/public/xcharter/"
+ "/fonts/vf/public/xcharter/"
+ "/tex/latex/xcharter/")
+ (base32
+ "0krm4h53lw7h9jbmv5nc89fm4x7i8l574aig1l4mw8w3ziknwmi7")
+ #:trivial? #t))
+ (home-page "https://www.ctan.org/pkg/xcharter")
+ (synopsis "Extension of the Bitstream Charter fonts")
+ (description "@code{xcharter} repackages Bitstream Charter with an
+extended set of features. The extension provides small caps, oldstyle
+figures and superior figures in all four styles, accompanied by LaTeX
+font support files. The fonts themselves are provided in both Adobe
+Type 1 and OTF formats, with supporting files as necessary.")
+ (license (list (license:fsf-free
+ "http://mirrors.ctan.org/fonts/xcharter/README")
+ license:lppl1.3))))
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 3af1aec94b..66d4f6c484 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -861,14 +861,14 @@ Octave. TeXmacs is completely extensible via Guile.")
(define-public scintilla
(package
(name "scintilla")
- (version "4.4.6")
+ (version "5.0.1")
(source
(origin
(method url-fetch)
(uri (let ((v (apply string-append (string-split version #\.))))
(string-append "https://www.scintilla.org/scintilla" v ".tgz")))
(sha256
- (base32 "1p62dq2fgdkvdn2clz1xjdj09acv87rbifl67zhlz7skqip31y9d"))))
+ (base32 "0w5550fijkhmzvdydd8770qq9dgnbq1sd0a8rn4g6mwyfpcyhbfy"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk")
@@ -888,7 +888,8 @@ Octave. TeXmacs is completely extensible via Guile.")
(find-files "include/" "."))
#t))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("gcc" ,gcc-9) ;Code has C++17 requirements
+ ("pkg-config" ,pkg-config)
("python" ,python-wrapper)))
(inputs
`(("gtk+" ,gtk+)))
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index e7fa6e6777..ebddd9522a 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -3024,7 +3024,7 @@ If several repos are related, it helps to see their status together.")
(define-public ghq
(package
(name "ghq")
- (version "1.1.5")
+ (version "1.1.7")
(home-page "https://github.com/x-motemen/ghq")
(source (origin
(method git-fetch)
@@ -3034,7 +3034,7 @@ If several repos are related, it helps to see their status together.")
(file-name (git-file-name name version))
(sha256
(base32
- "098fik155viylq07az7crzbgswcvhpx0hr68xpvyx0rpri792jbq"))))
+ "155sfmhmh4ia3iinm1s8fk7fxyn5dxdryad9xkbg7mr3i3ikqjwh"))))
(build-system go-build-system)
(arguments
'(#:install-source? #f
diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm
index 4b18e0f41e..966afea849 100644
--- a/gnu/packages/visidata.scm
+++ b/gnu/packages/visidata.scm
@@ -31,14 +31,14 @@
(define-public visidata
(package
(name "visidata")
- (version "2.2.1")
+ (version "2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "visidata" version))
(sha256
(base32
- "181klx7223q6a600k9iqxrfxpq5w73h1g2ks1cfsnmlv7i6s9v9f"))))
+ "1g9g4gd3mqi23damxghwj76zxi2ig9vf4jv8dnvl7q7ssb7gz60d"))))
(build-system python-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 4eccd2c64f..adb48b1b97 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -293,24 +293,19 @@ and probably others.")
(define-public openconnect-sso
(package
(name "openconnect-sso")
- (version "0.6.2")
+ (version "0.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "openconnect-sso" version))
(sha256
(base32
- "1yybmscka3m5yxfkp1m5pqz2m8jlwdq9b0hx2w5l1jj6bzpl9fsf"))))
+ "0nb40zfpp38mz6389y0qvrr4mmak53swpg7578cldnhnk0g15qni"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Tests not included, building from git requires poetry.
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'adjust-package-version-requirements
- (lambda _
- (substitute* "setup.py"
- (("(pyxdg>=0.26),<0.27" _ pyxdg) pyxdg))
- #t))
(add-after 'unpack 'patch-openconnect
(lambda _
(substitute* "openconnect_sso/app.py"
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 52df3f4fbc..a48eb7ead5 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -18,6 +18,7 @@
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 Cage <cage-dev@twistfold.it>
;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca>
+;;; Copyright © 2021 Alexander Krotov <krotov@iitp.ru>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,20 +66,24 @@
#:use-module (gnu packages image)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libidn)
+ #:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
+ #:use-module (gnu packages mp3)
#:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
#:use-module (gnu packages webkit)
@@ -718,6 +723,39 @@ key-bindings and is fully configurable and extensible in Common Lisp.")
(define-public sbcl-next
(deprecated-package "sbcl-next" nyxt))
+(define-public lagrange
+ (package
+ (name "lagrange")
+ (version "1.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://git.skyjake.fi/skyjake/lagrange/releases/"
+ "download/v" version "/lagrange-" version ".tar.gz"))
+ (sha256
+ (base32 "14yj3l3h6i6ygdhyiwdg2cg6y5imlkql09r7dm5v7xm1ja0sr9lp"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #false)) ;no tests
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libunistring" ,libunistring)
+ ("mpg123" ,mpg123)
+ ("openssl" ,openssl)
+ ("pcre" ,pcre)
+ ("sdl2" ,sdl2)
+ ("zlib" ,zlib)))
+ (home-page "https://gmi.skyjake.fi/lagrange/")
+ (synopsis "Graphical Gemini client")
+ (description
+ "Lagrange is a desktop GUI client for browsing Geminispace. It offers
+modern conveniences familiar from web browsers, such as smooth scrolling,
+inline image viewing, multiple tabs, visual themes, Unicode fonts, bookmarks,
+history, and page outlines.")
+ (license license:bsd-2)))
+
(define-public gmni
(let ((commit "d8f0870446c471a42612d6a8e853ad9b723a6d39")
(revision "0"))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 653e1bf60e..30808b209a 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -22,7 +22,7 @@
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
-;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2019, 2020 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018, 2019 Julien Lepiller <julien@lepiller.eu>
@@ -397,6 +397,7 @@ the same, being completely separated from the Internet.")
"--with-http_v2_module"
"--with-pcre-jit"
"--with-debug"
+ "--with-stream"
;; Even when not cross-building, we pass the
;; --crossbuild option to avoid customizing for the
;; kernel version on the build machine.
@@ -1330,18 +1331,17 @@ parser written in ANSI C and a small validating JSON generator.")
(define-public libwebsockets
(package
(name "libwebsockets")
- (version "1.3")
+ (version "4.1.6")
(source (origin
;; The project does not publish tarballs, so we have to take
;; things from Git.
(method git-fetch)
(uri (git-reference
(url "https://github.com/warmcat/libwebsockets")
- (commit (string-append "v" version
- "-chrome37-firefox30"))))
+ (commit (string-append "v" version))))
(sha256
(base32
- "12fqh2d2098mgf0ls19p9lzibpsqhv7mc5rn1yvrbfnazmcr40g4"))
+ "0x56v4hsx92vm1zibfmnqb5g3v23kzciffn3fjlsc3sly2pknhsg"))
(file-name (string-append name "-" version))))
(build-system cmake-build-system)
@@ -1553,7 +1553,7 @@ used to validate and fix HTML data.")
(define-public esbuild
(package
(name "esbuild")
- (version "0.8.51")
+ (version "0.11.9")
(source
(origin
(method git-fetch)
@@ -1562,7 +1562,7 @@ used to validate and fix HTML data.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1j4qza2chng3az1h1fh9zbhxh99q7bfrqbgppyyq5947svi8fvaz"))
+ (base32 "0pi5ydvbcfi8dbq2ryw8z4197pf4jrlz8mj1vzkdff22ga9qcmxy"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -4684,14 +4684,14 @@ their web site.")
(define-public python-feedparser
(package
(name "python-feedparser")
- (version "5.2.1")
+ (version "6.0.2")
(source
(origin
(method url-fetch)
- (uri (pypi-uri "feedparser" version ".tar.bz2"))
+ (uri (pypi-uri "feedparser" version ".tar.gz"))
(sha256
(base32
- "00hb4qg2am06g81mygfi1jsbx8830024jm45g6qp9g8fr6am91yf"))))
+ "0x0hm9brh3j71645pydvlkrwxaaca9dnwd7xahwjyjaz882s200v"))))
(build-system python-build-system)
(arguments
'(#:tests? #f))
@@ -4705,11 +4705,32 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
license:freebsd-doc)))) ; documentation
(define-public python2-feedparser
- (package-with-python2 python-feedparser))
+ (package
+ (name "python2-feedparser")
+ (version "5.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "feedparser" version ".tar.bz2"))
+ (sha256
+ (base32
+ "00hb4qg2am06g81mygfi1jsbx8830024jm45g6qp9g8fr6am91yf"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f
+ #:python ,python-2))
+ (home-page
+ "https://github.com/kurtmckee/feedparser")
+ (synopsis "Parse feeds in Python")
+ (description
+ "Universal feed parser which handles RSS 0.9x, RSS 1.0, RSS 2.0,
+CDF, Atom 0.3, and Atom 1.0 feeds.")
+ (license (list license:bsd-2 ; source code
+ license:freebsd-doc)))) ; documentation
(define-public guix-data-service
- (let ((commit "410f58cb43f083623885a430700c6818a187cadc")
- (revision "26"))
+ (let ((commit "df2a0a73f1f35ea53ba6c07a6ad4c5347ba12b8f")
+ (revision "27"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@@ -4721,7 +4742,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(file-name (git-file-name name version))
(sha256
(base32
- "1jvxn3w6gwlvm52raf6zkjwg7bvfvbznsb9ch8ha0fcc6ccx7r60"))))
+ "1ss1prr98zdjkm97w24rd04lfnnvcw6xs0gwxqgd40briqisaa5g"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)
@@ -6829,18 +6850,19 @@ Web Server.")
(define-public java-eclipse-jetty-util
(package
(name "java-eclipse-jetty-util")
- (version "9.4.6")
+ (version "9.4.39")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/eclipse/jetty.project/"
- "archive/jetty-" version ".v20170531.tar.gz"))
+ "archive/jetty-" version ".v20210325.tar.gz"))
(sha256
(base32
- "0x7kbdvkmgr6kbsmbwiiyv3bb0d6wk25frgvld9cf8540136z9p1"))))
+ "0b4hy4zmdmfbqk9bzmxk7v75y2ysqiappkip4z3hb9lxjvjh0b19"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "eclipse-jetty-util.jar"
#:source-dir "src/main/java"
+ #:tests? #f; require junit 5
#:test-exclude
(list "**/Abstract*.java"
;; requires network
@@ -6859,11 +6881,6 @@ Web Server.")
(inputs
`(("slf4j" ,java-slf4j-api)
("servlet" ,java-javaee-servletapi)))
- (native-inputs
- `(("junit" ,java-junit)
- ("hamcrest" ,java-hamcrest-all)
- ("perf-helper" ,java-eclipse-jetty-perf-helper)
- ("test-helper" ,java-eclipse-jetty-test-helper)))
(home-page "https://www.eclipse.org/jetty/")
(synopsis "Utility classes for Jetty")
(description "The Jetty Web Server provides an HTTP server and Servlet
@@ -6924,6 +6941,7 @@ or embedded instantiation. This package provides utility classes.")
`(#:jar-name "eclipse-jetty-io.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:test-exclude (list "**/Abstract*.java"
;; Abstract class
"**/EndPointTest.java")
@@ -6965,6 +6983,7 @@ or embedded instantiation. This package provides IO-related utility classes."))
`(#:jar-name "eclipse-jetty-http.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir
@@ -7100,9 +7119,6 @@ or embedded instantiation. This package provides the JMX management.")))
("io" ,java-eclipse-jetty-io)
("jmx" ,java-eclipse-jetty-jmx)
("util" ,java-eclipse-jetty-util)))
- (native-inputs
- `(("test-classes" ,java-eclipse-jetty-http-test-classes)
- ,@(package-native-inputs java-eclipse-jetty-util)))
(synopsis "Core jetty server artifact")
(description "The Jetty Web Server provides an HTTP server and Servlet
container capable of serving static and dynamic content either from a standalone
@@ -7132,6 +7148,7 @@ artifact.")))
`(#:jar-name "eclipse-jetty-security.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:test-exclude (list "**/ConstraintTest.*") ; This test fails
#:phases
(modify-phases %standard-phases
@@ -7145,9 +7162,6 @@ artifact.")))
("http" ,java-eclipse-jetty-http)
("server" ,java-eclipse-jetty-server)
("util" ,java-eclipse-jetty-util)))
- (native-inputs
- `(("io" ,java-eclipse-jetty-io)
- ,@(package-native-inputs java-eclipse-jetty-util)))
(synopsis "Jetty security infrastructure")
(description "The Jetty Web Server provides an HTTP server and Servlet
container capable of serving static and dynamic content either from a standalone
@@ -7168,6 +7182,18 @@ infrastructure")))
`(("io" ,java-eclipse-jetty-io-9.2)
,@(package-native-inputs java-eclipse-jetty-util-9.2)))))
+(define-public java-eclipse-jetty-util-ajax
+ (package
+ (inherit java-eclipse-jetty-util)
+ (name "java-eclipse-jetty-util-ajax")
+ (arguments
+ `(#:jar-name "eclipse-jetty-util-ajax.jar"
+ #:source-dir "jetty-util-ajax/src/main/java"
+ #:tests? #f)); require junit 5
+ (inputs
+ `(("java-eclipse-jetty-util" ,java-eclipse-jetty-util)
+ ("java-javaee-servletapi" ,java-javaee-servletapi)))))
+
(define-public java-eclipse-jetty-servlet
(package
(inherit java-eclipse-jetty-util)
@@ -7176,6 +7202,7 @@ infrastructure")))
`(#:jar-name "eclipse-jetty-servlet.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
#:phases
(modify-phases %standard-phases
(add-before 'configure 'chdir
@@ -7185,8 +7212,8 @@ infrastructure")))
(inputs
`(("slf4j" ,java-slf4j-api)
("java-javaee-servletapi" ,java-javaee-servletapi)
+ ("java-eclipse-jetty-util-ajax" ,java-eclipse-jetty-util-ajax)
("http" ,java-eclipse-jetty-http)
- ("http-test" ,java-eclipse-jetty-http-test-classes)
("io" ,java-eclipse-jetty-io)
("jmx" ,java-eclipse-jetty-jmx)
("security" ,java-eclipse-jetty-security)
@@ -7276,6 +7303,7 @@ container.")))
`(#:jar-name "eclipse-jetty-webapp.jar"
#:source-dir "src/main/java"
#:jdk ,icedtea-8
+ #:tests? #f; require junit 5
;; One test fails
#:test-exclude (list "**/WebAppContextTest.java")
#:phases
@@ -7287,14 +7315,12 @@ container.")))
(inputs
`(("java-eclipse-jetty-util" ,java-eclipse-jetty-util)
("java-eclipse-jetty-http" ,java-eclipse-jetty-http)
+ ("java-eclipse-jetty-io" ,java-eclipse-jetty-io)
("java-eclipse-jetty-server" ,java-eclipse-jetty-server)
("java-eclipse-jetty-servlet" ,java-eclipse-jetty-servlet)
("java-eclipse-jetty-security" ,java-eclipse-jetty-security)
("java-eclipse-jetty-xml" ,java-eclipse-jetty-xml)
- ("java-javaee-servletapi" ,java-javaee-servletapi)))
- (native-inputs
- `(("java-eclipse-jetty-io" ,java-eclipse-jetty-io)
- ,@(package-native-inputs java-eclipse-jetty-util)))))
+ ("java-javaee-servletapi" ,java-javaee-servletapi)))))
(define-public java-eclipse-jetty-webapp-9.2
(package
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 4df1af27cb..f92b8f4d85 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -14,7 +14,7 @@
;;; Copyright © 2016 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017, 2019, 2020 Marius Bakke <marius@gnu.org>
-;;; Copyright © 2017, 2020 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2017, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
;;; Copyright © 2018, 2019 Meiyo Peng <meiyo@riseup.net>
@@ -44,6 +44,7 @@
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
+;;; Copyright © 2021 lasnesne <lasnesne@lagunposprasihopre.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -2191,7 +2192,7 @@ support, for easier unicode usage.")))))
(define-public xclickroot
(package
(name "xclickroot")
- (version "1.2")
+ (version "1.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2200,7 +2201,7 @@ support, for easier unicode usage.")))))
(file-name (git-file-name name version))
(sha256
(base32
- "1nd5qz0qz5j7gx2jsbcp234giwaa0xmg42vrcjrcf587q9ivakfl"))))
+ "0wnsfxvh4v02r2jjyh2n6jfkbj2dna2hlm6anl4b36lwji749k2k"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)))
@@ -2311,16 +2312,16 @@ start-up.")
(define-public xnotify
(package
(name "xnotify")
- (version "0.7.3")
+ (version "0.8.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/phillbush/xnotify")
- (commit version)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "09s29m8z4x3mc3wja2587ik3f6zg16b40adr3nllnpyy1mqnprq5"))))
+ "1jxms4md2mwfjgm2pgg3vakpp33800jbn9hnl0j4jyfc9f1ckbsv"))))
(build-system gnu-build-system)
(inputs
`(("libx11" ,libx11)
@@ -2451,3 +2452,39 @@ read and write, and compatible with JSON.")
"Hikari is a stacking Wayland compositor with additional tiling
capabilities. It is heavily inspired by the Calm Window manager(cwm).")
(license license:bsd-2)))
+
+(define-public wlogout
+ (package
+ (name "wlogout")
+ (version "1.1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ArtsyMacaw/wlogout")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1swhzkqkzli59c89pvrakfvicd00x7ga860c3x2pbb4y3xziqfvi"))))
+ (build-system meson-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("scdoc" ,scdoc)))
+ (inputs
+ `(("gtk-layer-shell" ,gtk-layer-shell)
+ ("gtk+" ,gtk+)))
+ (arguments
+ '(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* "main.c"
+ (("/usr/share") (string-append out "/share"))
+ (("/etc") (string-append out "/etc"))))
+ #t)))))
+ (home-page "https://github.com/ArtsyMacaw/wlogout")
+ (synopsis "Logout menu for Wayland")
+ (description "wlogout is a logout menu for Wayland environments.")
+ (license license:expat)))
diff --git a/gnu/services.scm b/gnu/services.scm
index ddd1bac30c..e7da0a026d 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -109,7 +110,11 @@
%boot-service
%activation-service
- etc-service))
+ etc-service)
+ #:re-export (;; Note: Re-export 'delete' to allow for proper syntax matching
+ ;; in 'modify-services' forms. See
+ ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26805#16>.
+ delete))
;;; Comment:
;;;
@@ -279,7 +284,11 @@ singleton service type NAME, of which the returned service is an instance."
(service type value)))
(define-syntax %modify-service
- (syntax-rules (=>)
+ (syntax-rules (=> delete)
+ ((_ svc (delete kind) clauses ...)
+ (if (eq? (service-kind svc) kind)
+ #f
+ (%modify-service svc clauses ...)))
((_ service)
service)
((_ svc (kind param => exp ...) clauses ...)
@@ -309,16 +318,18 @@ TYPE. Consider this example:
(mingetty-service-type config =>
(mingetty-configuration
(inherit config)
- (motd (plain-file \"motd\" \"Hi there!\")))))
+ (motd (plain-file \"motd\" \"Hi there!\"))))
+ (delete udev-service-type))
It changes the configuration of the GUIX-SERVICE-TYPE instance, and that of
-all the MINGETTY-SERVICE-TYPE instances.
+all the MINGETTY-SERVICE-TYPE instances, and it deletes instances of the
+UDEV-SERVICE-TYPE.
-This is a shorthand for (map (lambda (svc) ...) %base-services)."
+This is a shorthand for (filter-map (lambda (svc) ...) %base-services)."
((_ services clauses ...)
- (map (lambda (service)
- (%modify-service service clauses ...))
- services))))
+ (filter-map (lambda (service)
+ (%modify-service service clauses ...))
+ services))))
;;;
diff --git a/gnu/services/ci.scm b/gnu/services/ci.scm
new file mode 100644
index 0000000000..0b18521e76
--- /dev/null
+++ b/gnu/services/ci.scm
@@ -0,0 +1,127 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018, 2019, 2020, 2021 Christopher Baines <mail@cbaines.net>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify
+;;; it under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation, either version 3 of the License, or
+;;; (at your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu services ci)
+ #:use-module (guix gexp)
+ #:use-module (guix records)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu packages ci)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (gnu services shepherd)
+ #:use-module (gnu services admin)
+ #:use-module (gnu system shadow)
+ #:use-module (ice-9 match)
+ #:export (laminar-configuration
+ laminar-configuration?
+ laminar-configuration-home-directory
+ laminar-configuration-bind-http
+ laminar-configuration-bind-rpc
+ laminar-configuration-title
+ laminar-configuration-keep-rundirs
+ laminar-configuration-archive-url
+ laminar-configuration-base-url
+
+ laminar-service-type))
+
+;;;; Commentary:
+;;;
+;;; This module implements a service that to run instances of Laminar, a
+;;; continuous integration tool.
+;;;
+;;;; Code:
+
+(define-record-type* <laminar-configuration>
+ laminar-configuration make-laminar-configuration
+ laminar-configuration?
+ (laminar laminars-configuration-laminar
+ (default laminar))
+ (home-directory laminar-configuration-home-directory
+ (default "/var/lib/laminar"))
+ (bind-http laminar-configuration-bind-http
+ (default "*:8080"))
+ (bind-rpc laminar-configuration-bind-rpc
+ (default "unix-abstract:laminar"))
+ (title laminar-configuration-title
+ (default "Laminar"))
+ (keep-rundirs laminar-keep-rundirs
+ (default 0))
+ (archive-url laminar-archive-url
+ (default #f))
+ (base-url laminar-base-url
+ (default #f)))
+
+(define laminar-shepherd-service
+ (match-lambda
+ (($ <laminar-configuration> laminar home-directory
+ bind-http bind-rpc
+ title keep-rundirs archive-url
+ base-url)
+ (list (shepherd-service
+ (documentation "Run Laminar.")
+ (provision '(laminar))
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ (list #$(file-append laminar "/sbin/laminard"))
+ #:environment-variables
+ `(,(string-append "LAMINAR_HOME="
+ #$home-directory)
+ ,(string-append "LAMINAR_BIND_HTTP="
+ #$bind-http)
+ ,(string-append "LAMINAR_TITLE="
+ #$title)
+ ,(string-append "LAMINAR_KEEP_RUNDIRS="
+ #$(number->string
+ keep-rundirs))
+ ,@(if #$archive-url
+ (list
+ (string-append "LAMINAR_ARCHIVE_URL="
+ #$archive-url))
+ '())
+ ,@(if #$base-url
+ (list
+ (string-append "LAMINAR_BASE_URL="
+ #$base-url))
+ '()))
+ #:user "laminar"
+ #:group "laminar"))
+ (stop #~(make-kill-destructor)))))))
+
+(define (laminar-account config)
+ "Return the user accounts and user groups for CONFIG."
+ (list (user-group
+ (name "laminar")
+ (system? #t))
+ (user-account
+ (name "laminar")
+ (group "laminar")
+ (system? #t)
+ (comment "Laminar privilege separation user")
+ (home-directory (laminar-configuration-home-directory config))
+ (shell #~(string-append #$shadow "/sbin/nologin")))))
+
+(define laminar-service-type
+ (service-type
+ (name 'laminar)
+ (extensions
+ (list
+ (service-extension shepherd-root-service-type laminar-shepherd-service)
+ (service-extension account-service-type laminar-account)))
+ (default-value (laminar-configuration))
+ (description
+ "Run the Laminar continuous integration service.")))
diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index a841e7a50e..6ef3f3383c 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -115,7 +115,7 @@ host all all ::1/128 md5"))
(ident-file postgresql-config-file-ident-file
(default %default-postgres-ident))
(socket-directory postgresql-config-file-socket-directory
- (default "/var/run/postgresql"))
+ (default #false))
(extra-config postgresql-config-file-extra-config
(default '())))
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 231a9f66c7..761820ad2e 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -16,6 +16,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2021 Christopher Lemmer Webber <cwebber@dustycloud.org>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -55,6 +56,8 @@
#:use-module (gnu packages ntp)
#:use-module (gnu packages wicd)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages ipfs)
+ #:use-module (gnu build linux-container)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (guix modules)
@@ -197,6 +200,13 @@
yggdrasil-configuration-json-config
yggdrasil-configuration-package
+ ipfs-service-type
+ ipfs-configuration
+ ipfs-configuration?
+ ipfs-configuration-package
+ ipfs-configuration-gateway
+ ipfs-configuration-api
+
keepalived-configuration
keepalived-configuration?
keepalived-service-type))
@@ -1878,6 +1888,137 @@ See yggdrasil -genconf for config options.")
;;;
+;;; IPFS
+;;;
+
+(define-record-type* <ipfs-configuration>
+ ipfs-configuration
+ make-ipfs-configuration
+ ipfs-configuration?
+ (package ipfs-configuration-package
+ (default go-ipfs))
+ (gateway ipfs-configuration-gateway
+ (default "/ip4/127.0.0.1/tcp/8082"))
+ (api ipfs-configuration-api
+ (default "/ip4/127.0.0.1/tcp/5001")))
+
+(define %ipfs-home "/var/lib/ipfs")
+
+(define %ipfs-accounts
+ (list (user-account
+ (name "ipfs")
+ (group "ipfs")
+ (system? #t)
+ (comment "IPFS daemon user")
+ (home-directory "/var/lib/ipfs")
+ (shell (file-append shadow "/sbin/nologin")))
+ (user-group
+ (name "ipfs")
+ (system? #t))))
+
+(define (ipfs-binary config)
+ (file-append (ipfs-configuration-package config) "/bin/ipfs"))
+
+(define %ipfs-home-mapping
+ #~(file-system-mapping
+ (source #$%ipfs-home)
+ (target #$%ipfs-home)
+ (writable? #t)))
+
+(define %ipfs-environment
+ #~(list #$(string-append "HOME=" %ipfs-home)))
+
+(define (ipfs-shepherd-service config)
+ "Return a <shepherd-service> for IPFS with CONFIG."
+ (define ipfs-daemon-command
+ #~(list #$(ipfs-binary config) "daemon"))
+ (list
+ (with-imported-modules (source-module-closure
+ '((gnu build shepherd)
+ (gnu system file-systems)))
+ (shepherd-service
+ (provision '(ipfs))
+ ;; While IPFS is most useful when the machine is connected
+ ;; to the network, only loopback is required for starting
+ ;; the service.
+ (requirement '(loopback))
+ (documentation "Connect to the IPFS network")
+ (modules '((gnu build shepherd)
+ (gnu system file-systems)))
+ (start #~(make-forkexec-constructor/container
+ #$ipfs-daemon-command
+ #:namespaces '#$(fold delq %namespaces '(user net))
+ #:mappings (list #$%ipfs-home-mapping)
+ #:log-file "/var/log/ipfs.log"
+ #:user "ipfs"
+ #:group "ipfs"
+ #:environment-variables #$%ipfs-environment))
+ (stop #~(make-kill-destructor))))))
+
+(define (%ipfs-activation config)
+ "Return an activation gexp for IPFS with CONFIG"
+ (define (ipfs-config-command setting value)
+ #~(#$(ipfs-binary config) "config" #$setting #$value))
+ (define (set-config!-gexp setting value)
+ #~(system* #$@(ipfs-config-command setting value)))
+ (define settings
+ `(("Addresses.API" ,(ipfs-configuration-api config))
+ ("Addresses.Gateway" ,(ipfs-configuration-gateway config))))
+ (define inner-gexp
+ #~(begin
+ (umask #o077)
+ ;; Create $HOME/.ipfs structure
+ (system* #$(ipfs-binary config) "init")
+ ;; Apply settings
+ #$@(map (cute apply set-config!-gexp <>) settings)))
+ (define inner-script
+ (program-file "ipfs-activation-inner" inner-gexp))
+ ;; Run ipfs init and ipfs config from a container,
+ ;; in case the IPFS daemon was compromised at some point
+ ;; and ~/.ipfs is now a symlink to somewhere outside
+ ;; %ipfs-home.
+ (define container-gexp
+ (with-extensions (list shepherd)
+ (with-imported-modules (source-module-closure
+ '((gnu build shepherd)
+ (gnu system file-systems)))
+ #~(begin
+ (use-modules (gnu build shepherd)
+ (gnu system file-systems))
+ (let* ((constructor
+ (make-forkexec-constructor/container
+ (list #$inner-script)
+ #:namespaces '#$(fold delq %namespaces '(user))
+ #:mappings (list #$%ipfs-home-mapping)
+ #:user "ipfs"
+ #:group "ipfs"
+ #:environment-variables #$%ipfs-environment))
+ (pid (constructor)))
+ (waitpid pid))))))
+ ;; The activation may happen from the initrd, which uses
+ ;; a statically-linked guile, while the guix container
+ ;; procedures require a working dynamic-link.
+ (define container-script
+ (program-file "ipfs-activation-container" container-gexp))
+ #~(system* #$container-script))
+
+(define ipfs-service-type
+ (service-type
+ (name 'ipfs)
+ (extensions
+ (list (service-extension account-service-type
+ (const %ipfs-accounts))
+ (service-extension activation-service-type
+ %ipfs-activation)
+ (service-extension shepherd-root-service-type
+ ipfs-shepherd-service)))
+ (default-value (ipfs-configuration))
+ (description
+ "Run @command{ipfs daemon}, the reference implementation
+of the IPFS peer-to-peer storage network.")))
+
+
+;;;
;;; Keepalived
;;;
diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm
index f3df0b979f..8cb5633165 100644
--- a/gnu/services/version-control.scm
+++ b/gnu/services/version-control.scm
@@ -163,7 +163,7 @@ protocol.")
(define* (git-daemon-service #:key (config (git-daemon-configuration)))
"Return a service that runs @command{git daemon}, a simple TCP server to
-expose repositories over the Git protocol for annoymous access.
+expose repositories over the Git protocol for anonymous access.
The optional @var{config} argument should be a
@code{<git-daemon-configuration>} object, by default it allows read-only
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index 3d0935b3af..97adfa12fa 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -88,6 +88,13 @@
;;;
;;; Code:
+;; By default, the msize value is 8 KiB, which according to QEMU is
+;; insufficient and would degrade performance. The msize value should roughly
+;; match the bandwidth of the system's IO (see:
+;; https://wiki.qemu.org/Documentation/9psetup#msize). Use 100 MiB as a
+;; conservative default.
+(define %default-msize-value (* 100 (expt 2 20))) ;100 MiB
+
(define %linux-vm-file-systems
;; File systems mounted for 'derivation-in-linux-vm'. These are shared with
;; the host over 9p.
@@ -103,21 +110,23 @@
(type "9p")
(needed-for-boot? #t)
(flags '(read-only))
- (options "trans=virtio,cache=loose")
+ (options (format #f "trans=virtio,cache=loose,msize=~a"
+ %default-msize-value))
(check? #f))
(file-system
(mount-point "/xchg")
(device "xchg")
(type "9p")
(needed-for-boot? #t)
- (options "trans=virtio")
+ (options (format #f "trans=virtio,msize=~a" %default-msize-value))
(check? #f))
(file-system
(mount-point "/tmp")
(device "tmp")
(type "9p")
(needed-for-boot? #t)
- (options "trans=virtio,cache=loose")
+ (options (format #f "trans=virtio,cache=loose,msize=~a"
+ %default-msize-value))
(check? #f))))
(define not-config?
@@ -459,6 +468,7 @@ system that is passed to 'populate-root-file-system'."
(define* (system-docker-image os
#:key
(name "guix-docker-image")
+ (memory-size 256)
(register-closures? (has-guix-service-type? os))
shared-network?)
"Build a docker image. OS is the desired <operating-system>. NAME is the
@@ -552,6 +562,7 @@ the operating system."
(expression->derivation-in-linux-vm
name build
+ #:memory-size memory-size
#:make-disk-image? #f
#:single-file-output? #t
#:references-graphs `((,graph ,os)))))
@@ -581,7 +592,8 @@ the operating system."
(type "9p")
(flags (if writable? '() '(read-only)))
(options (string-append "trans=virtio"
- (if writable? "" ",cache=loose")))
+ (if writable? "" ",cache=loose")
+ ",msize=" (number->string %default-msize-value)))
(check? #f)
(create-mount-point? #t)))))
diff --git a/gnu/tests.scm b/gnu/tests.scm
index 3b10a6d5ac..eb636873a2 100644
--- a/gnu/tests.scm
+++ b/gnu/tests.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -74,13 +75,24 @@
(default "/dev/virtio-ports/org.gnu.guix.port.0"))
(imported-modules marionette-configuration-imported-modules
(default '()))
+ (extensions marionette-configuration-extensions
+ (default '())) ; list of packages
(requirements marionette-configuration-requirements ;list of symbols
(default '())))
+;; Hack: avoid indenting code beyond column 80 in marionette-shepherd-service.
+(define-syntax-rule (with-imported-modules-and-extensions imported-modules
+ extensions
+ gexp)
+ (with-imported-modules imported-modules
+ (with-extensions extensions
+ gexp)))
+
(define (marionette-shepherd-service config)
"Return the Shepherd service for the marionette REPL"
(match config
- (($ <marionette-configuration> device imported-modules requirement)
+ (($ <marionette-configuration> device imported-modules extensions
+ requirement)
(list (shepherd-service
(provision '(marionette))
@@ -90,7 +102,7 @@
(modules '((ice-9 match)
(srfi srfi-9 gnu)))
(start
- (with-imported-modules imported-modules
+ (with-imported-modules-and-extensions imported-modules extensions
#~(lambda ()
(define (self-quoting? x)
(letrec-syntax ((one-of (syntax-rules ()
@@ -154,11 +166,13 @@
(define* (marionette-operating-system os
#:key
(imported-modules '())
+ (extensions '())
(requirements '()))
"Return a marionetteed variant of OS such that OS can be used as a
marionette in a virtual machine--i.e., controlled from the host system. The
marionette service in the guest is started after the Shepherd services listed
-in REQUIREMENTS."
+in REQUIREMENTS. The packages in the list EXTENSIONS are made available from
+the backdoor REPL."
(operating-system
(inherit os)
;; Make sure the guest dies on error.
@@ -172,6 +186,7 @@ in REQUIREMENTS."
(services (cons (service marionette-service-type
(marionette-configuration
(requirements requirements)
+ (extensions extensions)
(imported-modules imported-modules)))
(operating-system-user-services os)))))
@@ -281,4 +296,9 @@ result."
"Return the list of system tests."
(reverse (fold-system-tests cons '())))
+
+;; Local Variables:
+;; eval: (put 'with-imported-modules-and-extensions 'scheme-indent-function 2)
+;; End:
+
;;; tests.scm ends here
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index e5f9b87b1d..9429a10b75 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -555,10 +555,6 @@ functionality tests.")
(start-service 'term-tty1))
marionette)
(marionette-type "root\n" marionette)
- (wait-for-screen-text marionette
- (lambda (text)
- (string-contains text "root@komputilo"))
- #:ocrad ocrad)
;; Start tmux and wait for it to be ready.
(marionette-type "tmux new-session 'echo 1 > /ready; bash'\n"
diff --git a/gnu/tests/ci.scm b/gnu/tests/ci.scm
new file mode 100644
index 0000000000..a8b39fcd01
--- /dev/null
+++ b/gnu/tests/ci.scm
@@ -0,0 +1,128 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2017, 2018, 2019, 2020, 2021 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
+;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu tests ci)
+ #:use-module (gnu tests)
+ #:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system shadow)
+ #:use-module (gnu system vm)
+ #:use-module (gnu services)
+ #:use-module (gnu services ci)
+ #:use-module (gnu services web)
+ #:use-module (gnu services networking)
+ #:use-module (guix gexp)
+ #:use-module (guix store)
+ #:export (%test-laminar))
+
+
+(define %laminar-os
+ ;; Operating system under test.
+ (simple-operating-system
+ (service dhcp-client-service-type)
+ (service laminar-service-type)))
+
+(define* (run-laminar-test #:optional (http-port 8080))
+ "Run tests in %LAMINAR-OS, which has laminar running and listening on
+HTTP-PORT."
+ (define os
+ (marionette-operating-system
+ %laminar-os
+ #:imported-modules '((gnu services herd)
+ (guix combinators))))
+
+ (define vm
+ (virtual-machine
+ (operating-system os)
+ (port-forwardings `((,http-port . 8080)))))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (srfi srfi-11) (srfi srfi-64)
+ (ice-9 match)
+ (gnu build marionette)
+ (web uri)
+ (web client)
+ (web response))
+
+ (define marionette
+ ;; Forward the guest's HTTP-PORT, where laminar is listening, to
+ ;; port 8080 in the host.
+ (make-marionette (list #$vm)))
+
+ (mkdir #$output)
+ (chdir #$output)
+
+ (test-begin "laminar")
+
+ (test-assert "service running"
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd))
+ (start-service 'laminar))
+ marionette))
+
+ (define* (retry-on-error f #:key times delay)
+ (let loop ((attempt 1))
+ (match (catch
+ #t
+ (lambda ()
+ (cons #t
+ (f)))
+ (lambda args
+ (cons #f
+ args)))
+ ((#t . return-value)
+ return-value)
+ ((#f . error-args)
+ (if (>= attempt times)
+ error-args
+ (begin
+ (sleep delay)
+ (loop (+ 1 attempt))))))))
+
+ (test-equal "http-get"
+ 200
+ (retry-on-error
+ (lambda ()
+ (let-values (((response text)
+ (http-get #$(format
+ #f
+ "http://localhost:~A/"
+ http-port)
+ ;; TODO: Why does decoding fail?
+ #:decode-body? #f)))
+ (response-code response)))
+ #:times 10
+ #:delay 5))
+
+ (test-end)
+ (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+
+ (gexp->derivation "laminar-test" test))
+
+(define %test-laminar
+ (system-test
+ (name "laminar")
+ (description "Connect to a running Laminar server.")
+ (value (run-laminar-test))))
diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm
index cbb856b016..92611b0a8d 100644
--- a/gnu/tests/docker.scm
+++ b/gnu/tests/docker.scm
@@ -303,5 +303,6 @@ docker-image} inside Docker.")
(inherit (simple-operating-system))
;; Use locales for a single libc to
;; reduce space requirements.
- (locale-libcs (list glibc))))
+ (locale-libcs (list glibc)))
+ #:memory-size 1024)
run-docker-system-test)))))
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index 219b8b482f..af7d8f0b21 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -164,10 +164,7 @@
"
local all all trust
host all all 127.0.0.1/32 trust
-host all all ::1/128 trust"))
- ;; XXX: Remove when postgresql default socket directory is
- ;; changed to /var/run/postgresql.
- (socket-directory #f)))))
+host all all ::1/128 trust"))))))
(service guix-data-service-type
(guix-data-service-configuration
(host "0.0.0.0")))
diff --git a/gnu/tests/monitoring.scm b/gnu/tests/monitoring.scm
index be69e1c259..8630f5818c 100644
--- a/gnu/tests/monitoring.scm
+++ b/gnu/tests/monitoring.scm
@@ -309,12 +309,7 @@ zabbix||{}
(service dhcp-client-service-type)
(service postgresql-service-type
(postgresql-configuration
- (postgresql postgresql)
- ;; XXX: Remove when postgresql default socket directory is
- ;; changed to /var/run/postgresql.
- (config-file
- (postgresql-config-file
- (socket-directory #f)))))
+ (postgresql postgresql)))
(service zabbix-front-end-service-type
(zabbix-front-end-configuration
(db-password "zabbix")))
diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm
index 022663aa67..453e63f52d 100644
--- a/gnu/tests/networking.scm
+++ b/gnu/tests/networking.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2017, 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -29,12 +30,15 @@
#:use-module (guix gexp)
#:use-module (guix store)
#:use-module (guix monads)
+ #:use-module (guix modules)
#:use-module (gnu packages bash)
#:use-module (gnu packages linux)
#:use-module (gnu packages networking)
+ #:use-module (gnu packages guile)
#:use-module (gnu services shepherd)
#:use-module (ice-9 match)
- #:export (%test-inetd %test-openvswitch %test-dhcpd %test-tor %test-iptables))
+ #:export (%test-inetd %test-openvswitch %test-dhcpd %test-tor %test-iptables
+ %test-ipfs))
(define %inetd-os
;; Operating system with 2 inetd services.
@@ -563,3 +567,89 @@ COMMIT
(name "iptables")
(description "Test a running iptables daemon.")
(value (run-iptables-test))))
+
+
+;;;
+;;; IPFS service
+;;;
+
+(define %ipfs-os
+ (simple-operating-system
+ (service ipfs-service-type)))
+
+(define (run-ipfs-test)
+ (define os
+ (marionette-operating-system %ipfs-os
+ #:imported-modules (source-module-closure
+ '((gnu services herd)
+ (guix ipfs)))
+ #:extensions (list guile-json-4)
+ #:requirements '(ipfs)))
+
+ (define test
+ (with-imported-modules '((gnu build marionette))
+ #~(begin
+ (use-modules (gnu build marionette)
+ (rnrs bytevectors)
+ (srfi srfi-64)
+ (ice-9 binary-ports))
+
+ (define marionette
+ (make-marionette (list #$(virtual-machine os))))
+
+ (define (ipfs-is-alive?)
+ (marionette-eval
+ '(begin
+ (use-modules (gnu services herd)
+ (srfi srfi-1))
+ (live-service-running
+ (find (lambda (live)
+ (memq 'ipfs
+ (live-service-provision live)))
+ (current-services))))
+ marionette))
+
+ ;; The default API endpoint port 5001 is used,
+ ;; so there is no need to parameterize %ipfs-base-url.
+ (define (add-data data)
+ (marionette-eval `(content-name (add-data ,data)) marionette))
+ (define (read-contents object)
+ (marionette-eval
+ `(let* ((input (read-contents ,object))
+ (all-input (get-bytevector-all input)))
+ (close-port input)
+ all-input)
+ marionette))
+
+ (marionette-eval '(use-modules (guix ipfs)) marionette)
+ (mkdir #$output)
+ (chdir #$output)
+
+ (test-begin "ipfs")
+
+ ;; Test the IPFS service.
+
+ (test-assert "ipfs is alive" (ipfs-is-alive?))
+
+ (test-assert "ipfs is listening on the gateway"
+ (let ((default-port 8082))
+ (wait-for-tcp-port default-port marionette)))
+
+ (test-assert "ipfs is listening on the API endpoint"
+ (let ((default-port 5001))
+ (wait-for-tcp-port default-port marionette)))
+
+ (define test-bv (string->utf8 "hello ipfs!"))
+ (test-equal "can upload and download a file to/from ipfs"
+ test-bv
+ (read-contents (add-data test-bv)))
+
+ (test-end)
+ (exit (= (test-runner-fail-count (test-runner-current)) 0)))))
+ (gexp->derivation "ipfs-test" test))
+
+(define %test-ipfs
+ (system-test
+ (name "ipfs")
+ (description "Test a running IPFS daemon configuration.")
+ (value (run-ipfs-test))))
diff --git a/gnu/tests/nfs.scm b/gnu/tests/nfs.scm
index 5d04af38fb..9b2b785176 100644
--- a/gnu/tests/nfs.scm
+++ b/gnu/tests/nfs.scm
@@ -410,5 +410,5 @@ directories can be mounted.")
(system-test
(name "nfs-root-fs")
(description "Test that an NFS server can be started and the exported
-directory can be used as root filesystem.")
+directory can be used as root file system.")
(value (run-nfs-root-fs-test))))
diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm
index cc0e79c8b2..7f4518acd2 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -569,12 +569,7 @@ HTTP-PORT."
(listen '("8080"))))))
(service postgresql-service-type
(postgresql-configuration
- (postgresql postgresql-10)
- ;; XXX: Remove when postgresql default socket directory is
- ;; changed to /var/run/postgresql.
- (config-file
- (postgresql-config-file
- (socket-directory #f)))))
+ (postgresql postgresql-10)))
(service patchwork-service-type
(patchwork-configuration
(patchwork patchwork)