Merge branch 'staging' into core-updates

This commit is contained in:
Marius Bakke 2022-09-16 19:11:43 +02:00
commit 7e0f2728a4
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
37 changed files with 756 additions and 290 deletions

93
NEWS
View File

@ -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

View File

@ -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)))

View File

@ -1321,7 +1321,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 \

View File

@ -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/")

View File

@ -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)))

View File

@ -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")

View File

@ -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")

View File

@ -441,7 +441,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")
@ -470,7 +470,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")

View File

@ -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

View File

@ -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

View File

@ -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+)))

View File

@ -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)))

View File

@ -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.

View File

@ -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)

View File

@ -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
@ -779,6 +779,7 @@ OpenType variant of these fonts.")
(assoc-ref font:%standard-phases 'install)))))
(native-inputs
(list python-fonttools
python-glyphsets
python-pcpp
python-opentype-sanitizer
python-sfdlib

View File

@ -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))
@ -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
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")
@ -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

View File

@ -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)))

View File

@ -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)
@ -823,42 +824,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.
@ -866,15 +897,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

View File

@ -9730,8 +9730,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")

View File

@ -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)))

View File

@ -8717,7 +8717,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
@ -8726,10 +8726,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"
@ -8759,6 +8758,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
@ -8787,10 +8788,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"
@ -8808,9 +8811,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
@ -8824,7 +8825,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))

View File

@ -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.")

View File

@ -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

View File

@ -116,7 +116,6 @@
(inputs
`(("keyutils" ,keyutils)
("libevent" ,libevent)
("libnfsidmap" ,libnfsidmap)
("rpcsvc-proto" ,rpcsvc-proto) ;for 'rpcgen'
("sqlite" ,sqlite)
("lvm2" ,lvm2)

View File

@ -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

View File

@ -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
(add-after 'unpack 'loosen-requirements
(lambda _
(setenv "SCIPY_USE_PYTHRAN" "0")))
(add-before 'build 'change-home-dir
(substitute* "pyproject.toml"
(("numpy==") "numpy>=")
(("meson==") "meson>="))))
(replace 'build
(lambda _
;; Change from /homeless-shelter to /tmp for write permission.
(setenv "HOME" "/tmp")))
(add-before 'build 'configure-openblas
;; ZIP does not support timestamps before 1980.
(setenv "SOURCE_DATE_EPOCH" "315532800")
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
(replace 'install
(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
(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

View File

@ -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.
;;;
@ -10030,6 +10031,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")
@ -11559,6 +11578,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")
@ -22283,7 +22336,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

View File

@ -741,7 +741,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")
@ -765,7 +765,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,

View File

@ -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)

View File

@ -3,6 +3,7 @@
;;; Copyright © 20182021 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.")

View File

@ -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)

View File

@ -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")

View File

@ -1517,7 +1517,7 @@ virtualization library.")
(list dconf
gtk+
gtk-vnc
gtksourceview
gtksourceview-4
libvirt
libvirt-glib
libosinfo

View File

@ -5717,14 +5717,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

View File

@ -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

View File

@ -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

View File

@ -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