diff options
author | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-04-13 16:36:03 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-04-13 16:36:03 +0200 |
commit | b13ef6ee7489b78be7f700489792ea672de13d36 (patch) | |
tree | 36ccb42dc688901c6419130479ef851d46addb79 /gnu/packages | |
parent | 533a893cc6b03f100566760d6e0c8e0500ed7082 (diff) | |
parent | b5607d830c917c49ca9a7993962bd2b7c7be953c (diff) |
Merge remote-tracking branch 'upstream/master' into staging
Diffstat (limited to 'gnu/packages')
92 files changed, 2671 insertions, 917 deletions
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))) |