summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS93
-rw-r--r--gnu/build/marionette.scm22
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/audio.scm2
-rw-r--r--gnu/packages/bioinformatics.scm2
-rw-r--r--gnu/packages/bootloaders.scm7
-rw-r--r--gnu/packages/build-tools.scm79
-rw-r--r--gnu/packages/check.scm4
-rw-r--r--gnu/packages/chemistry.scm2
-rw-r--r--gnu/packages/cpp.scm4
-rw-r--r--gnu/packages/ebook.scm41
-rw-r--r--gnu/packages/education.scm75
-rw-r--r--gnu/packages/enchant.scm2
-rw-r--r--gnu/packages/engineering.scm2
-rw-r--r--gnu/packages/fonts.scm7
-rw-r--r--gnu/packages/fontutils.scm165
-rw-r--r--gnu/packages/fpga.scm29
-rw-r--r--gnu/packages/geo.scm121
-rw-r--r--gnu/packages/gnome.scm6
-rw-r--r--gnu/packages/gtk.scm4
-rw-r--r--gnu/packages/irods.scm2
-rw-r--r--gnu/packages/java.scm20
-rw-r--r--gnu/packages/monitoring.scm16
-rw-r--r--gnu/packages/networking.scm4
-rw-r--r--gnu/packages/nfs.scm1
-rw-r--r--gnu/packages/patches/java-antlr4-fix-code-too-large.java90
-rw-r--r--gnu/packages/python-science.scm112
-rw-r--r--gnu/packages/python-xyz.scm59
-rw-r--r--gnu/packages/security-token.scm4
-rw-r--r--gnu/packages/simulation.scm2
-rw-r--r--gnu/packages/spice.scm48
-rw-r--r--gnu/packages/telegram.scm2
-rw-r--r--gnu/packages/video.scm10
-rw-r--r--gnu/packages/virtualization.scm2
-rw-r--r--gnu/packages/web.scm4
-rw-r--r--gnu/packages/xdisorg.scm2
-rw-r--r--gnu/services/desktop.scm14
-rw-r--r--gnu/system/install.scm2
38 files changed, 764 insertions, 298 deletions
diff --git a/NEWS b/NEWS
index 12a6d8a8f9..96f411b4c2 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,7 @@
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -16,8 +17,12 @@ Please send Guix bug reports to bug-guix@gnu.org.
** Package management
*** New ‘guix home’ command, for home environment management
*** New ‘guix shell’ command, the successor to ‘guix environment’
+*** New ‘guix system edit’ command, to edit services
*** New ‘deb’ format for the ‘guix pack’ command
*** New ‘guix import minetest’ command, to import Minetest extensions
+*** New ‘guix import elm’ command, to import Elm packages
+*** New ‘guix import egg’ command, to import CHICKEN egg packages
+*** New ‘guix import hexpm’ command, to import Erlang and Elixir packages
*** New 'guix style' command, to auto-format package definitions
*** ‘guix import texlive’ rewritten to use the TLPDB as its source
*** ‘guix import elpa’ now supports the non-GNU ELPA repository
@@ -25,26 +30,75 @@ Please send Guix bug reports to bug-guix@gnu.org.
*** ‘guix import cran’ can now import a specific version
*** New updater (see ‘guix refresh’): ‘generic-git’
*** ‘guix graph’ has a new ‘--max-depth’ option
+*** ‘guix deploy’ has a new ‘--execute’ option
*** ‘--with-commit’ option now accepts strings returned by ‘git describe’
+*** Align tabular data output by commands like ‘guix package --list-available’
+*** Improved ‘guix import go’ importer via a new PEG parser
+*** Improved Software Heritage downloader
+*** New 'web.archive.org’ download fall-back
+*** Various performance enhancements
+*** New ‘--tune’ package transformation option
+*** ‘guix refresh’ ‘-L’ option is repurposed to ‘load-path’ modification
+*** ‘guix system image’ supersedes the ‘docker-image’ sub-command
+
** Distribution
*** The installation script can now enable local substitute servers discovery
*** More control over boot-time file system checks and repairs
*** XFS file systems can be created by the installer and mounted by label/UUID
*** New interface for declaring swap space
*** GNOME is now at version 42
+*** TeX Live is now at version 2021
+*** Python is now faster thanks to being built with optimizations
*** The Rust bootstrap now starts from 1.54 instead of 1.19
*** Most Python 2 packages have been removed
*** Guix now makes use of parallel xz compression
*** Faster shared libraries discovery via a per-package dynamic linker cache
-*** Build phases are no longer required to return a boolean
-*** Package inputs can now be provided without explicit labels
+*** Package inputs can now be plain package lists
*** A package origin can now be a single file rather than an archive
*** Multiple Tex Live trees can now be used via GUIX_TEXMF
*** A new sanity-check phase detects packaging problems at build time
-*** G-Expressions can now be used to author build phases
*** Fetching sources can now fall-back to use Disarchive
+*** Improved CI and infrastructure
+*** Multiple cross-compilation tooling addition and fixes
+*** Many Qt 6 modules are now packaged
+*** Configuring setuid programs is now more flexible
+*** Add support for the XFS file system
+*** Add partial support for LUKS2 headers when using GRUB
+*** GDM now supports Wayland
+*** Guix System static networking support is improved
+*** The installer final configuration is prettified
+*** The installer external command handling is improved
+*** The installer now has a crash dump upload mechanism
+*** Emacs now supports native compilation
+*** GRUB bootloader now supports chain-loading
+
** Programming interfaces
*** (guix records) now supports “field sanitizers”
+*** Build phases are no longer required to return a boolean
+*** G-Expressions can now be used to author build phases
+*** Various improvements to the helpers in (gnu service configuration)
+*** New ‘modify-inputs’ macro to ease customizing a list of package inputs
+*** New ‘this-package-input’ and ‘this-package-native-input’ macros
+*** ‘texlive-union’ is now deprecated in favor of ‘texlive-updmap.cfg’
+*** New (guix cpu) module
+*** New (guix least-authority) module
+*** New (guix plaform) module
+*** New (guix read-print) module
+
+It provides a comment-preserving reader and a comment-preserving
+pretty-printer smarter than (ice-9 pretty-print).
+
+*** New ‘channel-build-system’
+
+This build system lets you build Guix instances from channel specifications,
+similar to how 'guix time-machine' would do it, as regular packages.
+
+*** New ‘elm-build-system’
+*** New ‘rebar-build-system’
+*** New services
+anonip, bitmask, fail2ban, gitile, greetd, jami, lightdm, log-cleanup,
+nar-herder, opendht, rasdaemon, seatd, strongswan
+
** Noteworthy bug fixes
*** Fall back to Software Heritage when cloning a channel
(<https://issues.guix.gnu.org/44187>)
@@ -56,13 +110,42 @@ Please send Guix bug reports to bug-guix@gnu.org.
(<https://issues.guix.gnu.org/24937>)
*** File system flags are validated before system instantiation
(<https://issues.guix.gnu.org/51425>)
-*** Fonts can now be discovered in any profile
+*** Fonts can now be discovered in any profile via XDG_DATA_DIRS
+ (<https://issues.guix.gnu.org/31403>)
*** Python modules discovery no longer uses PYTHONPATH
*** Various Python reproducibility fixes
-*** Installer now supports MSDOS disk labels on UEFI systems
+*** The installer now supports MSDOS disk labels on UEFI systems
(<https://issues.guix.gnu.org/47889>)
+*** The installer can now properly mount FAT16 partitions
+ (<https://issues.guix.gnu.org/48419>)
+*** The installer no longer crashes when deleting a free space partition
*** Emacs handles major upgrades better without a re-login
(<https://bugs.gnu.org/47458>)
+*** The bootloader configuration now accepts multiple targets
+ (<https://issues.guix.gnu.org/40997>.)
+*** A file system mount point is always created when ‘create?’ is true
+ (<https://issues.guix.gnu.org/40158>)
+*** Build the man database only if ‘man-db’ is in the profile
+*** gdk-pixbuf now discovers pixbuf loaders via a search path
+ (<https://issues.guix.gnu.org/50957>)
+*** Gitolite home directory permissions are fixed
+ (https://issues.guix.gnu.org/56444)
+*** The man-db database is indexed via man pages names
+ (https://issues.guix.gnu.org/38838)
+*** ‘chfn’ can now change the user's full name
+ (https://issues.guix.gnu.org/52539)
+*** Gnome settings Bluetooth panel is now working
+ (https://issues.guix.gnu.org/32166)
+*** Inferiors are now caching store connections
+ (https://issues.guix.gnu.org/48007)
+*** The installer doesn't segfault when removing an extended partition
+*** The installer doesn't ship an older Guix revision
+ (https://issues.guix.gnu.org/53210)
+*** The installer cannot proceed without any non-root user accounts
+ (https://issues.guix.gnu.org/54666)
+*** <operating-system> compiler truly honors the 'system' argument
+ (https://issues.guix.gnu.org/55951)
+
* Changes in 1.3.0 (since 1.2.0)
** Package management
*** POWER9 (powerpc64le-linux) is now supported as a technology preview
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index 06b699bd7b..5ebf783892 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -178,7 +178,18 @@ QEMU monitor and to the guest's backdoor REPL."
(($ <marionette> command pid monitor (= force repl))
(write exp repl)
(newline repl)
- (read repl))))
+ (with-exception-handler
+ (lambda (exn)
+ (simple-format
+ (current-error-port)
+ "error reading marionette response: ~A
+ remaining response: ~A\n"
+ exn
+ (get-line repl))
+ (raise-exception exn))
+ (lambda ()
+ (read repl))
+ #:unwind? #t))))
(define* (wait-for-file file marionette
#:key (timeout 10) (read 'read))
@@ -187,7 +198,14 @@ FILE has not shown up after TIMEOUT seconds, raise an error."
(match (marionette-eval
`(let loop ((i ,timeout))
(cond ((file-exists? ,file)
- (cons 'success (call-with-input-file ,file ,read)))
+ (cons 'success
+ (let ((content
+ (call-with-input-file ,file ,read)))
+ (if (eof-object? content)
+ ;; #<eof> can't be read, so convert to the
+ ;; empty string
+ ""
+ content))))
((> i 0)
(sleep 1)
(loop (- i 1)))
diff --git a/gnu/local.mk b/gnu/local.mk
index d05f9ff557..b4c032da90 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1327,7 +1327,6 @@ dist_patch_DATA = \
%D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \
%D%/packages/patches/jamvm-2.0.0-opcode-guard.patch \
%D%/packages/patches/java-antlr4-Add-standalone-generator.patch \
- %D%/packages/patches/java-antlr4-fix-code-too-large.java \
%D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
%D%/packages/patches/java-commons-collections-fix-java8.patch \
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 663123e638..fd27c1cc71 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -3615,7 +3615,7 @@ stretching and pitch scaling of audio. This package contains the library.")
(base32 "0nvhdzy0m3bchk3dpnspv2f518p2v9fjcrv36z1sva1pv9a2g35w"))))
(build-system cmake-build-system)
(native-inputs
- (list catch-framework2))
+ (list catch2))
(inputs
(list fftw))
(home-page "https://mixxxdj.github.io/libkeyfinder/")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f9904a0f56..4e9de568a0 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -3792,7 +3792,7 @@ comment or quality sections.")
(inputs
(list gsl openblas zlib))
(native-inputs
- `(("catch" ,catch-framework2-1)
+ `(("catch" ,catch2-1)
("perl" ,perl)
("shunit2" ,shunit2)
("which" ,which)))
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index b521b57ecd..210bc30536 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -600,7 +600,12 @@ also initializes the boards (RAM etc).")
(("'cc'") "'gcc'"))
(substitute* "tools/patman/test_util.py"
;; python3-coverage is simply called coverage in guix.
- (("python3-coverage") "coverage"))
+ (("python3-coverage") "coverage")
+
+ ;; Don't require 100% coverage since it's brittle and can
+ ;; fail with newer versions of coverage or dependencies.
+ (("raise ValueError\\('Test coverage failure'\\)")
+ "print('Continuing anyway since Guix does not care :O')"))
(substitute* "test/run"
;; Make it easier to find test failures.
(("#!/bin/bash") "#!/bin/bash -x")
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index b5b9d501f9..84a62d0fd6 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -45,9 +45,11 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
+ #:use-module (gnu packages ninja)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pcre)
#:use-module (gnu packages pkg-config)
@@ -62,7 +64,7 @@
#:use-module (gnu packages rpc)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tls)
- #:use-module (gnu packages ninja)
+ #:use-module (gnu packages version-control)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
@@ -342,6 +344,81 @@ resembles Python.")
;; TODO: Bump this in the next rebuild cycle.
(define-public meson meson-0.60)
+(define-public meson-python
+ (package
+ (name "meson-python")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "meson_python" version))
+ (sha256
+ (base32
+ "0k2yn0iws1n184sdznzmfw4xgbqgq5cn02hpc7m0xdaxryj1ybs4"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'avoid-ninja-dependency
+ (lambda _
+ ;; Avoid dependency on the "ninja" PyPI distribution,
+ ;; which is a meta-package that simply downloads and
+ ;; installs ninja from the web ...
+ (substitute* "pyproject.toml"
+ (("'ninja',")
+ ""))))
+ (replace 'build
+ (lambda _
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "tests" "-k"
+ (string-append
+ "not "
+ ;; These tests require a git checkout.
+ (string-join '("test_contents_unstaged"
+ "test_no_pep621"
+ "test_pep621"
+ "test_dynamic_version"
+ "test_contents"
+ "test_contents_subdirs")
+ " and not ")))))))))
+ (propagated-inputs
+ (list meson-0.63 ;>=0.62 required
+ ninja
+ ;; XXX: python-meson forcefully sets the RUNPATH of binaries
+ ;; for vendoring purposes, and uses PatchELF for that(!). This
+ ;; functionality is not useful in Guix, but removing this
+ ;; dependency is tricky. There is discussion upstream about making
+ ;; it optional, but for now we'll just carry it:
+ ;; https://github.com/FFY00/meson-python/issues/125
+ patchelf
+ python-colorama
+ python-pyproject-metadata
+ python-tomli
+ python-wheel))
+ (native-inputs
+ (list python-pypa-build
+ python-wheel
+
+ ;; For tests.
+ pkg-config
+ python-gitpython
+ python-pytest
+ python-pytest-mock))
+ (home-page "https://github.com/FFY00/mesonpy")
+ (synopsis "Meson-based build backend for Python")
+ (description
+ "meson-python is a PEP 517 build backend for Meson projects.")
+ (license license:expat)))
+
(define-public premake4
(package
(name "premake")
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 2286944ed2..a02f4621ac 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -440,7 +440,7 @@ PyUnit and others.")
multi-paradigm automated test framework for C++ and Objective-C.")
(license license:boost1.0)))
-(define-public catch-framework2-1
+(define-public catch2-1
(package
(name "catch2")
(version "1.12.2")
@@ -469,7 +469,7 @@ multi-paradigm automated test framework for C++ and Objective-C.")
a multi-paradigm automated test framework for C++ and Objective-C.")
(license license:boost1.0)))
-(define-public catch-framework2
+(define-public catch2
(package
(name "catch2")
(version "2.13.8")
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
index 735d599d2d..c517610fe8 100644
--- a/gnu/packages/chemistry.scm
+++ b/gnu/packages/chemistry.scm
@@ -559,7 +559,7 @@ symmetries written in C. Spglib can be used to:
glm
netcdf))
(native-inputs
- (list catch-framework2 python-setuptools))
+ (list catch2 python-setuptools))
(home-page "https://pymol.org")
(synopsis "Molecular visualization system")
(description "PyMOL is a capable molecular viewer and renderer. It can be
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index 6289c9520f..d03e0bc7e1 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -531,7 +531,7 @@ functions, class methods, and stl containers.
(modules '((guix build utils)))
(snippet '(delete-file-recursively "./test/thirdparty"))))
(inputs
- (list catch-framework2-1))
+ (list catch2-1))
(build-system cmake-build-system)
(arguments
'(#:phases
@@ -1264,7 +1264,7 @@ services including database, analytic, and machine learning technologies.")
(lambda _
(invoke "./tests"))))))
(native-inputs
- (list catch-framework2))
+ (list catch2))
(synopsis "C++11/14/17 std::expected with functional-style extensions")
(description "@code{std::expected} is proposed as the preferred way to
represent objects which will either have an expected value, or an unexpected
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index c3a27cb113..df4064ae56 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2020 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
+;;; Copyright © 2021 Mathieu Laparie <mlaparie@disr.it>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -678,3 +679,43 @@ format documents, with the following features:
@item handling encrypted documents
@end itemize\n")
(license license:lgpl3+)))
+
+(define-public python-ebooklib
+ (package
+ (name "python-ebooklib")
+ (version "0.17.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "EbookLib" version))
+ (sha256
+ (base32
+ "1w972g0kmh9cdxf3kjr7v4k99wvv4lxv3rxkip39c08550nf48zy"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-lxml python-six))
+ (home-page "https://github.com/aerkalov/ebooklib")
+ (synopsis "Ebook library which can handle EPUB2/EPUB3 and Kindle format")
+ (description
+ "Ebook library which can handle EPUB2/EPUB3 and Kindle format.")
+ (license license:agpl3+)))
+
+(define-public shirah
+ (package
+ (name "shirah")
+ (version "1.0.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "shirah_reader" version))
+ (sha256
+ (base32
+ "0j15v435lz68c1mj5clfx5dmfyjc6jvvz2q8hqvv799mb2faj42y"))))
+ (build-system python-build-system)
+ (propagated-inputs (list python-beautifulsoup4 python-ebooklib
+ python-syllables python-termcolor))
+ (home-page "https://github.com/hallicopter/shirah-reader")
+ (synopsis "Terminal ebook reader with an optional RSVP mode")
+ (description
+ "@command{shirah} is a curses based terminal ebook reader that can
+display ebooks in the usual way or with Rapid Serial Visual Presentation, a
+method to enable speedreading by showing the text word by word at configurable
+speeds.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index afe93ef842..54cd00d08d 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
+;;; Copyright © 2022 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +36,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
+ #:use-module (gnu packages django)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
@@ -45,6 +47,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages golang)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages javascript)
#:use-module (gnu packages kde)
@@ -1075,3 +1078,75 @@ machine, and more.")
(description "Commandline client for exercism.io, a free service providing
mentored learning for programming languages.")
(license license:expat)))
+
+(define-public mazo
+ (package
+ (name "mazo")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/luis-felipe/mazo.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06246380i5rxycniwg5syn0aldd2zy10cbqk1lgyc0qfqb2lyrwj"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:use-setuptools? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'build)
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (let* ((out (assoc-ref outputs "out"))
+ (home (string-append out "/tmp")))
+ (add-installed-pythonpath inputs outputs)
+ (setenv "HOME" home)
+ (invoke "python3" "manage.py" "test")))))
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (script (string-append bin "/mazo"))
+ (share (string-append out "/share"))
+ (help (string-append share "/help/C/mazo"))
+ (icons (string-append
+ share
+ "/icons/hicolor/scalable/apps"))
+ (apps (string-append share "/applications"))
+ (site (string-append
+ (site-packages inputs outputs)
+ "/mazo")))
+ (mkdir-p help)
+ (mkdir-p bin)
+ (copy-file "mazo.py" script)
+ (chmod script #o555)
+ (install-file "icons/mazo.svg" icons)
+ (install-file "lugare.ulkeva.Mazo.desktop" apps)
+ (copy-recursively "help/C/mazo" help)
+ (copy-recursively "mazo" site)))))))
+ (native-inputs
+ (list python-django
+ python-django-cleanup
+ python-django-svg-image-form-field
+ python-pillow
+ python-pycairo))
+ (propagated-inputs
+ (list gstreamer
+ gtk+
+ python
+ python-django
+ python-django-cleanup
+ python-django-svg-image-form-field
+ python-pillow
+ python-pycairo
+ python-pygobject
+ yelp))
+ (home-page "https://luis-felipe.gitlab.io/mazo/")
+ (synopsis "Memorize concepts using multimedia flash cards")
+ (description "Mazo is a learning application that helps you memorize
+simple concepts using multimedia flash cards and spaced reviews.")
+ (license license:public-domain)))
diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm
index 4b31c3131b..1f82b2447e 100644
--- a/gnu/packages/enchant.scm
+++ b/gnu/packages/enchant.scm
@@ -58,7 +58,7 @@
(base32 "0wbb6dwmzlsyy224y0liis0azgzwbjdvcyzc31pw1aw6vbp36na6"))))
(build-system cmake-build-system)
(native-inputs
- (list catch-framework2
+ (list catch2
git-minimal
perl
;;FIX-ME: Building with ronn fails.
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 673ea8023b..5c84b9ede0 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3218,7 +3218,7 @@ perform various useful functions such as:
;; with all of these.
(inputs
`(("boost" ,boost)
- ("catch2" ,catch-framework2)
+ ("catch2" ,catch2)
("cgal" ,cgal)
("eigen" ,eigen)
("embree" ,embree)
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index edcd888f73..39242f0bec 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -756,7 +756,7 @@ OpenType variant of these fonts.")
(define-public font-amiri
(package
(name "font-amiri")
- (version "0.114")
+ (version "0.117")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -765,7 +765,7 @@ OpenType variant of these fonts.")
(file-name (git-file-name name version))
(sha256
(base32
- "01d54i68pmy37fhvxv8kld3iqlc1m0vr871zd66y5y4c7kn2v7as"))))
+ "1z2hdmny52bapakf96y5xfr29f8ax7q6nj651zrihnnhfdriqfx1"))))
(build-system gnu-build-system)
(arguments
(list
@@ -778,7 +778,8 @@ OpenType variant of these fonts.")
(replace 'install
(assoc-ref font:%standard-phases 'install)))))
(native-inputs
- (list python-fonttools
+ (list python-fonttools-next
+ python-glyphsets
python-pcpp
python-opentype-sanitizer
python-sfdlib
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 257c7d4e37..3806d78b1e 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -138,16 +138,22 @@ them as it goes.")
(define-public python-afdko
(package
(name "python-afdko")
- (version "3.8.1")
+ (version "3.9.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "afdko" version))
(sha256
- (base32 "171r9f7n8fgz37dkcgpzj508lxfafcyzzx43ps12j1z2nk1sk905"))
+ (base32 "0k1204vykgx32saa495s1lgmz1dixcp8bjiv486imx77killvm02"))
(modules '((guix build utils)))
(snippet
#~(begin
+ (substitute*
+ "tests/buildcff2vf_data/expected_output/SHSansJPVFTest.ttx"
+ ;; Adjust expected output to match newer fonttools. Taken from:
+ ;; https://github.com/adobe-type-tools/afdko/commit/7c526390a10e
+ (("FDSelect format=\"3\"")
+ "FDSelect format=\"0\""))
(with-directory-excursion "c/makeotf/lib/hotconv"
;; Delete ANTLR-generated code.
(for-each delete-file
@@ -158,6 +164,27 @@ them as it goes.")
(list
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'use-c++17
+ (lambda _
+ ;; ANTLR4 4.10 and later require C++ 17.
+ (substitute* "CMakeLists.txt"
+ (("CMAKE_CXX_STANDARD 11")
+ "CMAKE_CXX_STANDARD 17"))))
+ (add-after 'unpack 'use-system-libxml2
+ (lambda _
+ ;; XXX: These horrifying substitutions revert this upstream
+ ;; PR: <https://github.com/adobe-type-tools/afdko/pull/1527>.
+ ;; Hopefully it's only temporary..!
+ (substitute* (find-files "." "^CMakeLists.txt$")
+ (("\\(\\(NOT \\$\\{LibXml2_FOUND\\}\\) OR \
+\"\\$\\{CMAKE_SYSTEM\\}\" MATCHES \"Linux\"\\)")
+ "(NOT ${LibXml2_FOUND})")
+ (("\\(\\(\\$\\{LibXml2_FOUND\\}\\) AND \
+\\(NOT \"\\$\\{CMAKE_SYSTEM\\}\" MATCHES \"Linux\"\\)\\)")
+ "(${LibXml2_FOUND})"))
+ (substitute* "cmake/ExternalLibXML2.cmake"
+ (("set\\(LIBXML2_STATIC_INCLUDE_DIR")
+ "set(LIBXML2_INCLUDE_DIR)"))))
(add-after 'unpack 'patch-problematic-requirements
(lambda _
(substitute* "requirements.txt"
@@ -177,7 +204,8 @@ them as it goes.")
(format #f "include_directories(SYSTEM ~a)"
(search-input-directory inputs
"include/antlr4-runtime"))))
- (substitute* "c/makeotf/lib/hotconv/CMakeLists.txt"
+ (substitute* '("c/makeotf/lib/hotconv/CMakeLists.txt"
+ "c/makeotf/lib/cffread/CMakeLists.txt")
(("antlr4_static")
"antlr4-runtime"))))
(add-after 'unpack 'regenerate-hotconv-grammar
@@ -198,7 +226,8 @@ them as it goes.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
- (invoke "pytest" "-vv"))))
+ (invoke "pytest" "-vv" "--dist" "loadfile" "-n"
+ (number->string (parallel-job-count))))))
(add-after 'check 'wrap
(assoc-ref %standard-phases 'wrap))
(add-before 'wrap 'wrap-PATH
@@ -216,11 +245,16 @@ them as it goes.")
(list antlr4
openjdk ;required by antlr4
ninja
+ pkg-config
python-pytest
+ python-pytest-xdist
python-scikit-build
python-setuptools-scm
python-wheel))
- (inputs (list java-antlr4-runtime-cpp `(,util-linux "lib")))
+ (inputs
+ (list java-antlr4-runtime-cpp
+ libxml2
+ `(,util-linux "lib")))
(propagated-inputs
(list psautohint
python-booleanoperations
@@ -349,13 +383,13 @@ Kit for OpenType (AFDKO) @command{tx} tool.")
(define-public python-compreffor
(package
(name "python-compreffor")
- (version "0.5.1.post1")
+ (version "0.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "compreffor" version))
(sha256
- (base32 "1r3wqd67qnz8p6irv68mvadqv1nklgzw53376iarw3pq4gxrma36"))))
+ (base32 "0r6vlxrm73j719f5q3n6sy737p2424n7qam52am83p55j0fb9h5f"))))
(build-system python-build-system)
(arguments
(list
@@ -405,13 +439,13 @@ converts any cubic curves to quadratic. The most useful function is probably
(define-public python-ufo2ft
(package
(name "python-ufo2ft")
- (version "2.26.0")
+ (version "2.28.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ufo2ft" version))
(sha256
- (base32 "0a6iq5g6qdxj7nvip8nnf0mf8y5wmpd3wwq0dv7d4nm9bjrh0r6m"))))
+ (base32 "068hm62s1iphyg66w96vgiif6ahpcsaf8fr44rk6jdf71f6fyqd5"))))
(build-system python-build-system)
(native-inputs
(list python-pytest python-pytest-runner python-setuptools-scm))
@@ -421,7 +455,7 @@ converts any cubic curves to quadratic. The most useful function is probably
python-compreffor
python-cu2qu
python-defcon
- python-fonttools
+ python-fonttools-next
python-skia-pathops
python-ufolib2))
(home-page "https://github.com/googlefonts/ufo2ft")
@@ -436,13 +470,13 @@ to generate OpenType font binaries from Unified Font Objects (UFOs).")
(define-public python-fontmath
(package
(name "python-fontmath")
- (version "0.9.1")
+ (version "0.9.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fontMath" version ".zip"))
(sha256
- (base32 "001756zxn2386dm4svgqjgw5026hvyacxl09b2qlk7s06phpcphw"))))
+ (base32 "014407hpvqdx123g06i664qrfq86bf9l621x7jllpgqw3rqir2sc"))))
(build-system python-build-system)
(propagated-inputs (list python-fonttools))
(native-inputs
@@ -509,13 +543,13 @@ implementing the pen protocol for manipulating glyphs.")
(hidden-package
(package
(name "python-fontparts-bootstrap")
- (version "0.10.4")
+ (version "0.10.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fontParts" version ".zip"))
(sha256
- (base32 "1ic453q86s5hsw8mxnclk1vr4qp69fd67gywhv23zqwz9a7kb7lh"))))
+ (base32 "0i5ww6yl9m74wnjd7gyvjkdh7m56haql4gv7lasmppdipay2209g"))))
(build-system python-build-system)
(propagated-inputs
(list python-booleanoperations
@@ -540,6 +574,101 @@ process. FontParts is the successor of RoboFab.")
(alist-delete 'hidden?
(package-properties python-fontparts-bootstrap)))))
+(define-public python-glyphslib
+ (package
+ (name "python-glyphslib")
+ (version "6.0.7")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "glyphsLib" version))
+ (sha256
+ (base32
+ "0mkkwd09g76hvif603ij5aqicxh47zvhgyyd0pjcjmpdy6dr70yw"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ ;; The Zip format does not support pre-1980 time stamps.
+ (let ((circa-1980 (* 10 366 24 60 60)))
+ (setenv "SOURCE_DATE_EPOCH" (number->string circa-1980))
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))))
+ (replace 'install
+ (lambda _
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "GUIX_PYTHONPATH"
+ (string-append (getcwd) ":" (getenv "GUIX_PYTHONPATH")))
+ (invoke "pytest" "-vv"
+ ;; These fail because the test data has not yet been
+ ;; updated for newer FontTools:
+ ;; https://github.com/googlefonts/glyphsLib/issues/787
+ ;; Re-enable for versions > 6.0.7.
+ "--ignore=tests/builder/designspace_gen_test.py"
+ "--ignore=tests/builder/interpolation_test.py"
+ )))))))
+ (native-inputs
+ (list python-pypa-build
+ python-setuptools-scm
+ python-wheel
+
+ ;; For tests.
+ python-pytest
+ python-xmldiff))
+ (propagated-inputs
+ (list python-defcon
+ python-fonttools-next
+ python-openstep-plist
+ python-ufolib2
+ python-ufo2ft
+ python-ufonormalizer))
+ (home-page "https://github.com/googlefonts/glyphsLib")
+ (synopsis "Bridge Glyphs source files to UFOs")
+ (description
+ "This package provides a bridge from Glyphs source files (@file{.glyphs})
+to UFOs and DesignSpace files via @code{defcon} and @code{designspaceLib}.")
+ (license license:asl2.0)))
+
+(define-public python-glyphsets
+ (package
+ (name "python-glyphsets")
+ (version "0.5.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "glyphsets" version))
+ (sha256
+ (base32
+ "1dc24i0hkd85gkkg3bqjhagjyw3xsqxazd86yh2l60c1wr5n9y6g"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'loosen-version-constraints
+ (lambda _
+ (substitute* "setup.py"
+ (("setuptools_scm>=4,<6\\.1")
+ "setuptools_scm>=4"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv" "tests/testglyphdata.py")
+ (invoke "pytest" "-vv" "tests/testusage.py")))))))
+ (native-inputs (list python-pytest python-setuptools-scm))
+ (propagated-inputs
+ (list python-defcon python-fonttools python-glyphslib))
+ (home-page "https://github.com/googlefonts/glyphsets/")
+ (synopsis "Evaluate coverage of glyph sets")
+ (description
+ "This package provides an API with data about glyph sets for many
+different scripts and languages.")
+ (license license:asl2.0)))
+
(define-public python-opentype-sanitizer
(package
(name "python-opentype-sanitizer")
@@ -652,7 +781,7 @@ suite of the @code{psautohint} package.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
- (propagated-inputs (list python-fonttools))
+ (propagated-inputs (list python-fonttools-next))
(native-inputs
(list psautohint-font-data
python-fs
@@ -1493,7 +1622,7 @@ generate bitmaps.")
(propagated-inputs
(list python-attrs
python-cattrs
- python-fonttools))
+ python-fonttools-next))
(home-page "https://github.com/daltonmaag/statmake")
(synopsis "Apply OpenType STAT information to a variable font")
(description
@@ -1556,13 +1685,13 @@ API-compatible with defcon.")
(define-public python-defcon-bootstrap
(package
(name "python-defcon-bootstrap")
- (version "0.10.0")
+ (version "0.10.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "defcon" version ".zip"))
(sha256
- (base32 "0g0bjwzdj6sskyh8snbxsxza3czdmvb807qv38mizx631cm8c2d0"))))
+ (base32 "0i1a306b8c42dpbplwxj6ili2aac5lwq2ir6r1jswicysvk9dqxf"))))
(build-system python-build-system)
(propagated-inputs (list python-fontpens-bootstrap python-fonttools-full))
(native-inputs
diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm
index 58b81bf83a..11c56477a8 100644
--- a/gnu/packages/fpga.scm
+++ b/gnu/packages/fpga.scm
@@ -58,7 +58,8 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages boost)
#:use-module (gnu packages algebra)
- #:use-module (gnu packages libftdi))
+ #:use-module (gnu packages libftdi)
+ #:use-module (gnu packages libusb))
(define-public abc
(let ((commit "5ae4b975c49c")
@@ -584,3 +585,29 @@ libraries, optionally encrypted, into other simulators.")
hardware designs in Verilog.")
(home-page "https://zipcpu.com/")
(license license:lgpl3+))))
+
+(define-public openfpgaloader
+ (package
+ (name "openfpgaloader")
+ (version "0.9.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/trabucayre/openFPGALoader.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1v3bwzhsrnsn304cqhd5azn68cl847qv8w8cb8bl7372jiqz5wqq"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list libftdi libusb hidapi zlib))
+ (arguments
+ `(#:tests? #f)) ; No tests exist
+ (synopsis "Utility for programming FPGA")
+ (description "This package provides a program to transfer a bitstream
+to an FPGA.")
+ (home-page "https://f4pga.org/")
+ (license license:asl2.0)))
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index 7789564c84..2c3a17a201 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -65,6 +65,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages cups)
@@ -824,42 +825,72 @@ street bearings/orientations, and speed/travel time.")
(license license:expat)))
(define-public mapnik
- (package
- (name "mapnik")
- (version "3.1.0")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mapnik/mapnik/releases/download/v"
- version "/mapnik-v" version ".tar.bz2"))
- (sha256
- (base32
- "0qb2irykja5qhr9apz9r230pcxap9v3j85fi98mj2xd9sa163ms3"))))
- (build-system scons-build-system)
- (inputs
- (list boost
- cairo
- freetype
- harfbuzz
- icu4c
- libjpeg-turbo
- libpng
- libtiff
- libwebp
- libxml2
- proj.4
- sqlite
- zlib))
- (native-inputs
- (list pkg-config postgresql))
- (arguments
- `(#:scons-flags
- (list "CC=gcc"
- (string-append "PREFIX=" %output)
- (string-append "CUSTOM_LDFLAGS=-Wl,-rpath=" %output "/lib"))))
- (home-page "https://mapnik.org/")
- (synopsis "Toolkit for developing mapping applications")
- (description "Mapnik is a toolkit for developing mapping applications. It
+ ;; There hasn't been a release since early 2021, and it fails to build with
+ ;; Boost 1.77+.
+ (let ((commit "81103491b467e17218140f50bc0bb9dc8c1f0317")
+ (revision "0"))
+ (package
+ (name "mapnik")
+ (version (git-version "3.1.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mapnik/mapnik")
+ (commit commit)
+ ;; TODO: Un-bundle mapbox dependencies (not yet packaged).
+ (recursive? #t))) ;for mapbox dependencies and test data
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "094nam57bdd5nak88qy33z2p3kjahk3vk2nk56m5jkcr5d3hlnx2"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:cmake cmake ;for FIND_PACKAGE_ARGS
+ #:configure-flags
+ #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
+ #$(this-package-native-input "catch2")
+ "/include/catch2"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-system-catch2
+ (lambda _
+ (substitute* "test/CMakeLists.txt"
+ (("GIT_TAG.*v2.13.7" all)
+ (string-append all "\n"
+ " FIND_PACKAGE_ARGS NAMES Catch2"))
+ (("^include.*Catch2_SOURCE_DIR.*contrib/Catch.cmake.*")
+ "include(Catch)\n"))))
+ (add-after 'unpack 'disable-problematic-tests
+ (lambda _
+ ;; The 'ogr' test fails for unknown reasons. Mark it as
+ ;; expected to fail (see:
+ ;; https://github.com/mapnik/mapnik/issues/4329).
+ (substitute* "test/unit/datasource/ogr.cpp"
+ (("TEST_CASE\\(\"ogr\"" all)
+ (string-append all ", \"[!shouldfail]\""))))))))
+ (native-inputs
+ (list catch2
+ pkg-config
+ postgresql))
+ (inputs
+ (list boost
+ cairo
+ freetype
+ gdal
+ harfbuzz
+ icu4c
+ libjpeg-turbo
+ libpng
+ libtiff
+ libwebp
+ libxml2
+ proj
+ sqlite
+ zlib))
+ (home-page "https://mapnik.org/")
+ (synopsis "Toolkit for developing mapping applications")
+ (description "Mapnik is a toolkit for developing mapping applications. It
is basically a collection of geographic objects like maps, layers,
datasources, features, and geometries. At its core is a C++ shared library
providing algorithms and patterns for spatial data access and visualization.
@@ -867,15 +898,15 @@ The library does not rely on any specific windowing system and can be deployed
to any server environment. It is intended to play fair in a multi-threaded
environment and is aimed primarily, but not exclusively, at web-based
development.")
- (license (list license:lgpl2.1+
- ;; demo/viewer, demo/python/rundemo.py
- license:gpl2+
- ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
- license:boost1.0
- ;; deps/mapnik/sparsehash
- license:bsd-3
- ;; deps/agg
- (license:non-copyleft "file://deps/agg/copying")))))
+ (license (list license:lgpl2.1+
+ ;; demo/viewer, demo/python/rundemo.py
+ license:gpl2+
+ ;; deps/boost, deps/mapbox, deps/agg/include/agg_conv_offset.h
+ license:boost1.0
+ ;; deps/mapnik/sparsehash
+ license:bsd-3
+ ;; deps/agg
+ (license:non-copyleft "file://deps/agg/copying"))))))
(define-public spatialite-gui
(package
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 670f12fed9..49089fefd6 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -9830,8 +9830,10 @@ associations for GNOME.")
gobject-introspection
gsettings-desktop-schemas
pkg-config))
- (inputs
- (list rest-next))
+ (propagated-inputs
+ ;; These dependencies are required by govirt-1.0.pc.
+ (list glib
+ rest-next))
(synopsis "GoVirt Library")
(description "GoVirt is a GObject wrapper for the oVirt REST API.")
(home-page "https://gitlab.gnome.org/GNOME/libgovirt")
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 61e271ab19..8d72205cbc 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -434,8 +434,8 @@ handling for GTK+-2.x.")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pango/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ (version-major+minor version)
+ "/pango-" version ".tar.xz"))
(patches (search-patches "pango-skip-libthai-test.patch"))
(sha256
(base32
diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm
index e9ac0d5297..58ef3bf474 100644
--- a/gnu/packages/irods.scm
+++ b/gnu/packages/irods.scm
@@ -154,7 +154,7 @@
("unixodbc" ,unixodbc)
("zeromq" ,zeromq)))
(native-inputs
- `(("catch2" ,catch-framework2)
+ `(("catch2" ,catch2)
("clang" ,clang-toolchain-6)
("clang-runtime" ,clang-runtime-6)
("libcxx+libcxxabi" ,libcxx+libcxxabi-6)))
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 91a729b7ad..c25a330c2a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -8701,7 +8701,7 @@ actual rendering.")
(define-public java-antlr4-runtime
(package
(name "java-antlr4-runtime")
- (version "4.8")
+ (version "4.10.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -8710,10 +8710,9 @@ actual rendering.")
(file-name (git-file-name name version))
(sha256
(base32
- "1qal3add26qxskm85nk7r758arladn5rcyjinmhlhznmpbbv9j8m"))
+ "0ldvd9jm4nrivaw7i7wh1q40q6xgzmzirsywiakbhg8sppagqlv7"))
(patches
- (search-patches "java-antlr4-Add-standalone-generator.patch"
- "java-antlr4-fix-code-too-large.java"))))
+ (search-patches "java-antlr4-Add-standalone-generator.patch"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "java-antlr4-runtime.jar"
@@ -8743,6 +8742,8 @@ sources by ANTLR.")
;; TODO: try to run the tests under
;; runtime-testsuite/test/org/antlr/v4/test/runtime/cpp with antlr4.
#:tests? #f ;no CMake test target
+ ;; TODO: Building the tests wants to download googletest.
+ #:configure-flags #~'("-DANTLR_BUILD_CPP_TESTS=OFF")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
@@ -8771,10 +8772,12 @@ generated sources by ANTLR.")))
(arguments
`(#:jar-name "antlr4.jar"
#:source-dir "tool/src"
- #:test-dir "tool-testsuite/test:runtime-testsuite/test:runtime-testsuite/annotations/src"
+ #:test-dir "tool-testsuite/test:runtime-testsuite/test"
#:test-include (list "**/Test*.java")
#:test-exclude (list
- ;; no runnable method
+ ;; These have no runnable methods and fail because
+ ;; test-include above is too broad.
+ "**/TestContext.java"
"**/TestOutputReading.java"
;; no @Test methods
"**/TestParserErrors.java"
@@ -8792,9 +8795,7 @@ generated sources by ANTLR.")))
"**/TestFullContextParsing.java"
"**/TestCompositeLexers.java"
;; Null pointer exception
- "**/TestCompositeGrammars.java"
- ;; Wrong assumption on emoji
- "**/TestUnicodeData.java")
+ "**/TestCompositeGrammars.java")
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-build.xml
@@ -8808,7 +8809,6 @@ generated sources by ANTLR.")))
(add-after 'bin-install 'check
(lambda _
(invoke "ant" "compile-tests")
- (invoke "ant" "check" "-Dtest.home=runtime-testsuite/annotations/src")
(invoke "ant" "check" "-Dtest.home=runtime-testsuite/test")
(invoke "ant" "check" "-Dtest.home=tool-testsuite/test")
#t))
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index 47845700ee..e2cdf7c448 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -311,7 +311,7 @@ through a text-based interface.")
(define-public python-pyzabbix
(package
(name "python-pyzabbix")
- (version "1.0.0")
+ (version "1.2.1")
(home-page "https://github.com/lukecyca/pyzabbix")
;; No tests on PyPI, use the git checkout.
(source
@@ -321,26 +321,20 @@ through a text-based interface.")
(file-name (git-file-name name version))
(sha256
(base32
- "146pv8bj6pv8max1lkm07560b9zcc268c927kff6rcib47qxfnn2"))))
+ "0ad5xac67brmwc3wd0f87pjplly3cqyrz1dp725lzz2hrjgiaqi8"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- ;; Permit newer versions of httpretty.
- (substitute* "setup.py"
- (("httpretty<0\\.8\\.7")
- "httpretty"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
- (invoke "nosetests")
+ (invoke "pytest" "-vv" "tests")
(format #t "test suite not run~%")))))))
(native-inputs
;; For tests.
- (list python-httpretty python-nose))
+ (list python-requests-mock python-pytest))
(propagated-inputs
- (list python-requests python-semantic-version))
+ (list python-packaging python-requests))
(synopsis "Python interface to the Zabbix API")
(description
"@code{pyzabbix} is a Python module for working with the Zabbix API.")
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 8aef0d19ee..8a9d698691 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -1378,7 +1378,7 @@ between different versions of ØMQ.")
(native-inputs
(list pkg-config))
(inputs
- (list catch-framework2 zeromq))
+ (list catch2 zeromq))
(home-page "https://zeromq.org")
(synopsis "C++ bindings for the ØMQ messaging library")
(description
@@ -3603,7 +3603,7 @@ communication over HTTP.")
(build-system cmake-build-system)
(inputs ; TODO: Need to force-keep references on some inputs, e.g. boost.
(list zlib
- catch-framework2
+ catch2
openssl
boost
pcre
diff --git a/gnu/packages/nfs.scm b/gnu/packages/nfs.scm
index ce951543ff..d5ebe6a760 100644
--- a/gnu/packages/nfs.scm
+++ b/gnu/packages/nfs.scm
@@ -116,7 +116,6 @@
(inputs
`(("keyutils" ,keyutils)
("libevent" ,libevent)
- ("libnfsidmap" ,libnfsidmap)
("rpcsvc-proto" ,rpcsvc-proto) ;for 'rpcgen'
("sqlite" ,sqlite)
("lvm2" ,lvm2)
diff --git a/gnu/packages/patches/java-antlr4-fix-code-too-large.java b/gnu/packages/patches/java-antlr4-fix-code-too-large.java
deleted file mode 100644
index 9e9f92349d..0000000000
--- a/gnu/packages/patches/java-antlr4-fix-code-too-large.java
+++ /dev/null
@@ -1,90 +0,0 @@
-From d22db2048534bdf3d9615117291f9d86564ff10d Mon Sep 17 00:00:00 2001
-From: Julien Lepiller <julien@lepiller.eu>
-Date: Sat, 19 Sep 2020 21:05:48 +0200
-Subject: [PATCH] Separate addPropertyAliases in two methods
-
-The quantity of data used to generate addPropertyAliases creates a big
-method, that is too big for java and results in "error: code too large".
-This is most likely due to added data between the expected version of
-icu and the actual version of icu in Guix.
----
- .../org/antlr/v4/tool/templates/unicodedata.st | 17 ++++++++++++++---
- .../unicode/UnicodeDataTemplateController.java | 18 ++++++++++--------
- 2 files changed, 24 insertions(+), 11 deletions(-)
-
-diff --git a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st
-index 0f22c73..3573873 100644
---- a/tool/resources/org/antlr/v4/tool/templates/unicodedata.st
-+++ b/tool/resources/org/antlr/v4/tool/templates/unicodedata.st
-@@ -1,4 +1,4 @@
--unicodedata(propertyCodePointRanges, propertyAliases) ::= <<
-+unicodedata(propertyCodePointRanges, propertyAliasesA, propertyAliasesB) ::= <<
- package org.antlr.v4.unicode;
-
- import java.util.Arrays;
-@@ -15,7 +15,7 @@ import org.antlr.v4.runtime.misc.Interval;
- */
- public abstract class UnicodeData {
- private static final Map\<String, IntervalSet\> propertyCodePointRanges = new HashMap\<\>(<length(propertyCodePointRanges)>);
-- private static final Map\<String, String\> propertyAliases = new HashMap\<\>(<length(propertyAliases)>);
-+ private static final Map\<String, String\> propertyAliases = new HashMap\<\>(<length(propertyAliasesA)> + <length(propertyAliasesB)>);
-
- // Work around Java 64k bytecode method limit by splitting up static
- // initialization into one method per Unicode property
-@@ -30,9 +30,20 @@ static private void addProperty<i>() {
- propertyCodePointRanges.put("<k>".toLowerCase(Locale.US), codePointRanges);
- \}}; separator="\n\n">
-
-+ // Property aliases
-+ static private void addPropertyAliases1() {
-+ <propertyAliasesA.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliasesA.(k)>".toLowerCase(Locale.US)); }; separator="\n">
-+ }
-+
-+ // Property aliases
-+ static private void addPropertyAliases2() {
-+ <propertyAliasesB.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliasesB.(k)>".toLowerCase(Locale.US)); }; separator="\n">
-+ }
-+
- // Property aliases
- static private void addPropertyAliases() {
-- <propertyAliases.keys:{ k | propertyAliases.put("<k>".toLowerCase(Locale.US), "<propertyAliases.(k)>".toLowerCase(Locale.US)); }; separator="\n">
-+ addPropertyAliases1();
-+ addPropertyAliases2();
- }
-
- // Put it all together
-diff --git a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java
-index da244a3..dc591cb 100644
---- a/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java
-+++ b/tool/src/org/antlr/v4/unicode/UnicodeDataTemplateController.java
-@@ -78,17 +78,19 @@ public abstract class UnicodeDataTemplateController {
- addTR35ExtendedPictographicPropertyCodesToCodePointRanges(propertyCodePointRanges);
- addEmojiPresentationPropertyCodesToCodePointRanges(propertyCodePointRanges);
-
-- Map<String, String> propertyAliases = new LinkedHashMap<>();
-- addUnicodeCategoryCodesToNames(propertyAliases);
-- addUnicodeBinaryPropertyCodesToNames(propertyAliases);
-- addUnicodeScriptCodesToNames(propertyAliases);
-- addUnicodeBlocksToNames(propertyAliases);
-- addUnicodeIntPropertyCodesToNames(propertyAliases);
-- propertyAliases.put("EP", "Extended_Pictographic");
-+ Map<String, String> propertyAliases1 = new LinkedHashMap<>();
-+ Map<String, String> propertyAliases2 = new LinkedHashMap<>();
-+ addUnicodeCategoryCodesToNames(propertyAliases1);
-+ addUnicodeBinaryPropertyCodesToNames(propertyAliases1);
-+ addUnicodeScriptCodesToNames(propertyAliases1);
-+ addUnicodeBlocksToNames(propertyAliases2);
-+ addUnicodeIntPropertyCodesToNames(propertyAliases2);
-+ propertyAliases2.put("EP", "Extended_Pictographic");
-
- Map<String, Object> properties = new LinkedHashMap<>();
- properties.put("propertyCodePointRanges", propertyCodePointRanges);
-- properties.put("propertyAliases", propertyAliases);
-+ properties.put("propertyAliasesA", propertyAliases1);
-+ properties.put("propertyAliasesB", propertyAliases2);
- return properties;
- }
-
---
-2.28.0
-
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 3548345326..d1698e5f67 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -42,6 +42,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages build-tools)
#:use-module (gnu packages check)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
@@ -75,81 +76,86 @@
(define-public python-scipy
(package
(name "python-scipy")
- (version "1.8.0")
+ (version "1.9.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scipy" version))
(sha256
- (base32 "1gghkwn93niyasm36333xbqrnn3yiadq9d97wnc9mg14nzbg5m1i"))))
- (outputs '("out" "doc"))
+ (base32 "1jcb94xal7w7ax80kaivqqics36v8smi4a3xngyxbrh0i538rli6"))))
(build-system python-build-system)
(arguments
(list
- #:modules '((guix build utils)
- (guix build python-build-system)
- (ice-9 format))
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'disable-pythran
- (lambda _
- (setenv "SCIPY_USE_PYTHRAN" "0")))
- (add-before 'build 'change-home-dir
+ (add-after 'unpack 'loosen-requirements
(lambda _
- ;; Change from /homeless-shelter to /tmp for write permission.
- (setenv "HOME" "/tmp")))
- (add-before 'build 'configure-openblas
+ (substitute* "pyproject.toml"
+ (("numpy==") "numpy>=")
+ (("meson==") "meson>="))))
+ (replace 'build
(lambda _
- (call-with-output-file "site.cfg"
- (lambda (port)
- (format port
- "\
-[blas]
-libraries = openblas
-library_dirs = ~a/lib
-include_dirs = ~:*~a/include
-
-[atlas]
-library_dirs = ~:*~a/lib
-atlas_libs = openblas~%" #$(this-package-input "openblas"))))))
- (add-before 'build 'parallelize-build
+ ;; ZIP does not support timestamps before 1980.
+ (setenv "SOURCE_DATE_EPOCH" "315532800")
+ (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+ (replace 'install
(lambda _
- (setenv "NPY_NUM_BUILD_JOBS"
- (number->string (parallel-job-count)))))
- (add-before 'check 'install-doc
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((data (string-append (assoc-ref outputs "doc") "/share"))
- (doc (string-append data "/doc/" #$name "-" #$version))
- (html (string-append doc "/html")))
- (with-directory-excursion "doc"
- ;; Build doc.
- (invoke "make" "html"
- ;; Building the documentation takes a very long time.
- ;; Parallelize it.
- (string-append "SPHINXOPTS=-j"
- (number->string (parallel-job-count))))
- ;; Install doc.
- (mkdir-p html)
- (copy-recursively "build/html" html)))))
+ (let ((whl (car (find-files "dist" "\\.whl$"))))
+ (invoke "pip" "--no-cache-dir" "--no-input"
+ "install" "--no-deps" "--prefix" #$output whl))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (invoke "./runtests.py" "-vv" "--no-build" "--mode=fast"
- "-j" (number->string (parallel-job-count)))))))))
- (propagated-inputs (list python-numpy python-matplotlib python-pyparsing))
+ ;; Step out of the source directory to avoid interference.
+ (with-directory-excursion "/tmp"
+ (invoke "python" "-c"
+ (string-append
+ "import scipy; scipy.test('fast', parallel="
+ (number->string (parallel-job-count))
+ ", verbose=2)"))))))
+ (add-after 'check 'install-doc
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; FIXME: Documentation cannot be built because it requires
+ ;; a newer version of pydata-sphinx-theme, which currently
+ ;; cannot build without internet access:
+ ;; <https://github.com/pydata/pydata-sphinx-theme/issues/628>.
+ ;; Keep the phase for easy testing.
+ (let ((sphinx-build (false-if-exception
+ (search-input-file input "bin/sphinx-build"))))
+ (if sphinx-build
+ (let* ((doc (assoc-ref outputs "doc"))
+ (data (string-append doc "/share"))
+ (docdir (string-append
+ data "/doc/"
+ #$(package-name this-package) "-"
+ #$(package-version this-package)))
+ (html (string-append docdir "/html")))
+ (with-directory-excursion "doc"
+ ;; Build doc.
+ (invoke "make" "html"
+ ;; Building the documentation takes a very long time.
+ ;; Parallelize it.
+ (string-append "SPHINXOPTS=-j"
+ (number->string (parallel-job-count))))
+ ;; Install doc.
+ (mkdir-p html)
+ (copy-recursively "build/html" html)))
+ (format #t "sphinx-build not found, skipping~%"))))))))
+ (propagated-inputs
+ (list python-numpy python-matplotlib python-pyparsing python-pythran))
(inputs (list openblas pybind11))
(native-inputs
(list gfortran
- perl
+ ;; XXX: Adding gfortran shadows GCC headers, causing a compilation
+ ;; failure. Somehow also providing GCC works around it ...
+ gcc
+ meson-python
+ pkg-config
python-cython
- python-numpydoc
- python-pydata-sphinx-theme
+ python-pypa-build
python-pytest
python-pytest-xdist
- python-sphinx-4
- python-sphinx-panels
- python-threadpoolctl
- which))
+ python-threadpoolctl))
(home-page "https://scipy.org/")
(synopsis "The Scipy library provides efficient numerical routines")
(description "The SciPy library is one of the core packages that make up
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e149e8d6b2..56a07564c9 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -128,6 +128,7 @@
;;; Copyright © 2022 Marek Felšöci <marek@felsoci.sk>
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
+;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -10025,6 +10026,24 @@ function signatures.")
"This package provides a YAML template engine with Python expressions.")
(license license:expat)))
+(define-public python-syllables
+ (package
+ (name "python-syllables")
+ (version "1.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "syllables" version))
+ (sha256
+ (base32
+ "0wkl6h0rg6fbsxfp0a8fnibf3l4l6lbh6z12cvcilgb6qhxzpmv3"))))
+ (build-system python-build-system)
+ (home-page "https://github.com/prosegrinder/python-syllables")
+ (synopsis "Package for estimating the number of syllables in a word")
+ (description
+ "This package provides a Python package for estimating the number of
+syllables in a word.")
+ (license license:gpl3)))
+
(define-public python-sympy
(package
(name "python-sympy")
@@ -11381,14 +11400,14 @@ from an XML-based format.")
(define-public python-fonttools-next
(package
(inherit python-fonttools-full)
- (version "4.32.0")
+ (version "4.37.1")
(source (origin
(inherit (package-source python-fonttools-full))
(method url-fetch)
(uri (pypi-uri "fonttools" version ".zip"))
(sha256
(base32
- "14nk43z0dmznypm3zp4sdc04x1y608jawlnmwdkk32a947khvaar"))))))
+ "1ryc1wca2v92wn24baryj5fr32lspl8rbsig32fnkxp1islf21j6"))))))
(define-public python-ly
(package
@@ -11566,6 +11585,40 @@ reading and writing MessagePack data.")
and MAC network addresses.")
(license license:bsd-3)))
+(define-public python-openstep-plist
+ (package
+ (name "python-openstep-plist")
+ (version "0.3.0")
+ (home-page "https://github.com/fonttools/openstep-plist")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1rxjgzh0p069ncsr2986rn32vhdqyq35irbqg2559jh18456mkca"))))
+ (build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'pretend-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+ #$(package-version this-package))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-vv")))))))
+ (native-inputs
+ (list python-cython python-pytest python-setuptools-scm))
+ (synopsis "OpenStep plist parser and writer")
+ (description
+ "This package provides a parser for the \"old style\" OpenStep property
+list format (also known as ASCII plist), written in Cython.")
+ (license license:expat)))
+
(define-public python-wrapt
(package
(name "python-wrapt")
@@ -22298,7 +22351,7 @@ user-space file systems in Python.")
;; The following dependencies are used for tests.
("python-pytest" ,python-pytest)
- ("catch" ,catch-framework2-1)
+ ("catch" ,catch2-1)
("eigen" ,eigen)))
(arguments
`(#:configure-flags
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index 6e94bfa534..447a7a582d 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -739,7 +739,7 @@ an unprivileged user.")
(arguments
;; These tests do not require any device to be connected
'(#:configure-flags (list "-DCOMPILE_OFFLINE_TESTS=ON")))
- (native-inputs (list catch-framework2 doxygen graphviz pkg-config))
+ (native-inputs (list catch2 doxygen graphviz pkg-config))
(inputs (list hidapi libusb))
(home-page "https://github.com/Nitrokey/libnitrokey")
(synopsis "Communication library for Nitrokey")
@@ -763,7 +763,7 @@ an unprivileged user.")
(arguments
'(#:configure-flags (list "-DBUILD_TESTING=on")))
(native-inputs (list pkg-config qttools-5))
- (inputs (list catch-framework2))
+ (inputs (list catch2))
(home-page "https://github.com/tplgy/cppcodec")
(synopsis "Header library to encode/decode base64, base64url, etc.")
(description "This package provides library to encode/decode base64,
diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index b1bbb7f996..39b5620822 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -465,7 +465,7 @@ FFC is part of the FEniCS Project.")
("sundials" ,sundials-openmpi)
("zlib" ,zlib)))
(native-inputs
- `(("catch" ,catch-framework2-1)
+ `(("catch" ,catch2-1)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("ffc" ,python-fenics-ffc)
diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm
index 5d505b0ee2..2be724c455 100644
--- a/gnu/packages/spice.scm
+++ b/gnu/packages/spice.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,22 +24,26 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages nss)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages security-token)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages virtualization)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xiph)
@@ -369,35 +374,32 @@ share smart cards from client system to local or remote virtual machines.")
(define-public virt-viewer
(package
(name "virt-viewer")
- (version "7.0")
+ (version "11.0")
(source (origin
(method url-fetch)
(uri (string-append
- "https://virt-manager.org/download/sources/virt-viewer/"
- "virt-viewer-" version ".tar.gz"))
+ "https://virt-manager.org/download/sources/virt-viewer/"
+ "virt-viewer-" version ".tar.xz"))
(sha256
(base32
- "00y9vi69sja4pkrfnvrkwsscm41bqrjzvp8aijb20pvg6ymczhj7"))))
- (build-system gnu-build-system)
- (inputs
- (list gtk+ gtk-vnc libcap libxml2 spice-gtk))
+ "1l5bv6x6j21l487mk3n93ai121gg62n6b069r2jpf72cbhra4gx4"))))
+ (build-system meson-build-system)
(native-inputs
- `(("glib:bin" ,glib "bin")
- ("intltool" ,intltool)
- ("pkg-config" ,pkg-config)))
- (arguments
- `(#:configure-flags
- '("--with-spice-gtk")
- #:phases
- (modify-phases %standard-phases
- (add-after
- 'install 'wrap-remote-viewer
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
- (wrap-program (string-append out "/bin/remote-viewer")
- `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))
- #t)))))
+ (list `(,glib "bin")
+ gettext-minimal
+ perl ;for pod2man
+ pkg-config
+ python))
+ (inputs
+ (list bash-completion
+ gtk+
+ gtk-vnc
+ libcap
+ libgovirt
+ libvirt-glib
+ libxml2
+ spice-gtk
+ vte))
(synopsis "Graphical console client for virtual machines")
(description "Graphical console client for virtual machines using SPICE or
VNC.")
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 4976acbc0c..1a22d230d2 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -387,7 +387,7 @@ Telegram project, for its use in telegram desktop client.")
(inputs
`(("alsa" ,alsa-lib)
("c++-gsl" ,c++-gsl)
- ("catch" ,catch-framework2)
+ ("catch" ,catch2)
("codegen-source"
,(origin
(method git-fetch)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 7106913788..cc84444491 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -784,9 +784,15 @@ old-fashioned output methods with powerful ascii-art renderer.")
"/celluloid-" version ".tar.xz"))
(sha256
(base32 "0ns9xh582c8kajw4v2x5ap5jfiba3gxywqc2klc0v6fc3id1gqii"))))
- (build-system glib-or-gtk-build-system)
+ (build-system meson-build-system)
(native-inputs
- (list intltool pkg-config))
+ (list
+ desktop-file-utils ; for update-desktop-database
+ intltool
+ `(,glib "bin") ; for glib-compile-resources
+ `(,gtk "bin") ; for gtk-update-icon-cache
+ pkg-config
+ python-wrapper)) ; for generate-authors.py
(inputs
(list gtk libadwaita libepoxy mpv))
(home-page "https://github.com/celluloid-player/celluloid")
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index cebcc9742d..199156dbb9 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1517,7 +1517,7 @@ virtualization library.")
(list dconf
gtk+
gtk-vnc
- gtksourceview
+ gtksourceview-4
libvirt
libvirt-glib
libosinfo
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 13fe4cd2b1..3262dbbb10 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5708,14 +5708,14 @@ on the fly.")
(define-public hitch
(package
(name "hitch")
- (version "1.7.2")
+ (version "1.7.3")
(home-page "https://hitch-tls.org/")
(source (origin
(method url-fetch)
(uri (string-append home-page "source/hitch-" version ".tar.gz"))
(sha256
(base32
- "118p3a8wjvr0yhldpd1zm7d2cmgaw4vmyz9ib8m64z18qsz5rmnw"))))
+ "11wp50zs5irb5bj5xyanm060nlvna6ha328wqf6p2nvpbnaz86qs"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index c017085353..9908f29191 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -2893,7 +2893,7 @@ create layout indicator widgets.")
"1gxpgifzy0hnpd0ymw3r32amzr32z3bgb90ldjzl438p6h1q0i26"))))
(build-system cmake-build-system)
(native-inputs
- (list catch-framework2))
+ (list catch2))
(arguments
`(#:configure-flags '("-DWITH_GIT_CATCH=off")
#:phases
diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm
index 07e7500847..9b3eb12613 100644
--- a/gnu/services/desktop.scm
+++ b/gnu/services/desktop.scm
@@ -1034,7 +1034,7 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
'(ignore poweroff reboot halt kexec suspend hibernate hybrid-sleep lock))
(define (handle-action x)
(if (unspecified? x)
- "" ;empty serializer
+ x ;let the unspecified value go through
(enum x handle-actions)))
(define (sleep-list tokens)
(unless (valid-list? tokens char-set:user-name)
@@ -1042,10 +1042,18 @@ include the @command{udisksctl} command, part of UDisks, and GNOME Disks."
(string-join tokens " "))
(define-syntax ini-file-clause
(syntax-rules ()
+ ;; Produce an empty line when encountering an unspecified value. This
+ ;; is better than an empty string value, which can, in some cases, cause
+ ;; warnings such as "Failed to parse handle action setting".
((_ config (prop (parser getter)))
- (string-append prop "=" (parser (getter config)) "\n"))
+ (let ((value (parser (getter config))))
+ (if (unspecified? value)
+ ""
+ (string-append prop "=" value "\n"))))
((_ config str)
- (string-append str "\n"))))
+ (if (unspecified? str)
+ ""
+ (string-append str "\n")))))
(define-syntax-rule (ini-file config file clause ...)
(plain-file file (string-append (ini-file-clause config clause) ...)))
(ini-file
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index a7b7c246bf..003c49a3e7 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -476,7 +476,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m
;; non-functional:
;; <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00441.html>.
;; Thus, blacklist it.
- (kernel-arguments '("quiet" "modprobe.blacklist=radeon"))
+ (kernel-arguments '("quiet" "modprobe.blacklist=radeon,amdgpu"))
(file-systems
;; Note: the disk image build code overrides this root file system with