summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/algebra.scm45
-rw-r--r--gnu/packages/android.scm4
-rw-r--r--gnu/packages/astronomy.scm846
-rw-r--r--gnu/packages/audio.scm69
-rw-r--r--gnu/packages/avr-xyz.scm10
-rw-r--r--gnu/packages/bioinformatics.scm72
-rw-r--r--gnu/packages/build-tools.scm86
-rw-r--r--gnu/packages/cdrom.scm98
-rw-r--r--gnu/packages/check.scm87
-rw-r--r--gnu/packages/cpp.scm54
-rw-r--r--gnu/packages/cups.scm26
-rw-r--r--gnu/packages/databases.scm143
-rw-r--r--gnu/packages/debian.scm235
-rw-r--r--gnu/packages/electronics.scm103
-rw-r--r--gnu/packages/emacs-xyz.scm91
-rw-r--r--gnu/packages/emulators.scm10
-rw-r--r--gnu/packages/engineering.scm4
-rw-r--r--gnu/packages/fcitx5.scm138
-rw-r--r--gnu/packages/file-systems.scm87
-rw-r--r--gnu/packages/finance.scm123
-rw-r--r--gnu/packages/games.scm4
-rw-r--r--gnu/packages/gcc.scm4
-rw-r--r--gnu/packages/geo.scm249
-rw-r--r--gnu/packages/graphviz.scm11
-rw-r--r--gnu/packages/image-processing.scm174
-rw-r--r--gnu/packages/image-viewers.scm38
-rw-r--r--gnu/packages/ipfs.scm230
-rw-r--r--gnu/packages/kde-frameworks.scm34
-rw-r--r--gnu/packages/kde-plasma.scm47
-rw-r--r--gnu/packages/language.scm2
-rw-r--r--gnu/packages/machine-learning.scm223
-rw-r--r--gnu/packages/mail.scm26
-rw-r--r--gnu/packages/mate.scm226
-rw-r--r--gnu/packages/maths.scm14
-rw-r--r--gnu/packages/mpd.scm34
-rw-r--r--gnu/packages/music.scm65
-rw-r--r--gnu/packages/parallel.scm78
-rw-r--r--gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch67
-rw-r--r--gnu/packages/patches/dolphin-emu-unbundle-watcher.patch56
-rw-r--r--gnu/packages/patches/safeint-disable-tests.patch42
-rw-r--r--gnu/packages/prolog.scm4
-rw-r--r--gnu/packages/python-check.scm48
-rw-r--r--gnu/packages/python-compression.scm30
-rw-r--r--gnu/packages/python-crypto.scm31
-rw-r--r--gnu/packages/python-web.scm46
-rw-r--r--gnu/packages/python-xyz.scm358
-rw-r--r--gnu/packages/radio.scm52
-rw-r--r--gnu/packages/ruby-check.scm26
-rw-r--r--gnu/packages/serialization.scm20
-rw-r--r--gnu/packages/sphinx.scm18
-rw-r--r--gnu/packages/statistics.scm671
-rw-r--r--gnu/packages/time.scm17
-rw-r--r--gnu/packages/tls.scm112
-rw-r--r--gnu/packages/version-control.scm13
-rw-r--r--gnu/packages/video.scm252
-rw-r--r--gnu/packages/vpn.scm85
-rw-r--r--gnu/packages/web.scm4
57 files changed, 3250 insertions, 2492 deletions
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 83572e2fc6..564002202d 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -401,7 +401,7 @@ precision.")
(define-public giac
(package
(name "giac")
- (version "1.9.0-998")
+ (version "2.0.0-10")
(source
(origin
(method url-fetch)
@@ -413,7 +413,7 @@ precision.")
"https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/"
"stable/main/source/giac_" version ".tar.gz"))
(sha256
- (base32 "1r71kl21xxf3872r0q25r2b9wpg03zrp08rsnpyqrhajmxb0ljbz"))))
+ (base32 "1lzb0jjmkg5ml1qfl0m00qqng4sxgfqwrbq10gpkp4b301k2ckv1"))))
(build-system gnu-build-system)
(arguments
(list
@@ -428,12 +428,12 @@ precision.")
(substitute* (cons "micropython-1.12/xcas/Makefile"
(find-files "doc" "^Makefile"))
(("/bin/cp") (which "cp")))))
- (add-after 'unpack 'disable-failing-test
- ;; FIXME: Tests failing. Not sure why.
- (lambda _
- (substitute* "check/Makefile.in"
- (("chk_fhan(4|11)") "")
- (("chk_fhan(14|21)") "")))) ;fail specifically on i686
+ (replace 'bootstrap
+ (lambda _
+ ;; XXX: Regenerate "src/mkjs" to avoid a build error because
+ ;; the default file is bogus in a Guix environment.
+ (delete-file "src/mkjs")
+ (invoke "autoreconf" "-vfi")))
(add-after 'install 'fix-doc
(lambda _
;; Most French documentation has a non-commercial license, so we
@@ -454,7 +454,7 @@ precision.")
;; TODO: Unbundle "libmicropython.a".
(list ao
fltk-1.3
- glpk-4
+ glpk
gmp
gsl
libjpeg-turbo
@@ -474,9 +474,12 @@ precision.")
perl
tcsh))
(native-inputs
- (list bison
+ (list autoconf
+ automake
+ bison
flex
hevea
+ libtool
python-wrapper
readline
(texlive-local-tree)))
@@ -1235,6 +1238,28 @@ features, and more.")
(synopsis "Micro-benchmarks of the Eigen linear algebra library")))
+(define-public eigen-for-onnxruntime
+ (let ((commit "1d8b82b0740839c0de7f1242a3585e3390ff5f33")
+ (revision "0"))
+ (package/inherit eigen
+ (name "eigen")
+ (version (git-version "3.4.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/libeigen/eigen")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0pxh81jjnz97ndwaanla6zch1128bfdrf2kgqxgxyjvqbdg1vqwi"))))
+ ;; XXX: Some tests fail, but onnxruntime will move on to the next
+ ;; release soon enough.
+ (arguments
+ (substitute-keyword-arguments (package-arguments eigen)
+ ((#:tests? tests? #t)
+ #f))))))
+
(define-public eigen-for-tensorflow
(let ((changeset "fd6845384b86")
(revision "1"))
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index f804f98a0f..f9bc43f952 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -772,7 +772,7 @@ line. The project also attempts to maintain the same terminal output.")
(define-public android-udev-rules
(package
(name "android-udev-rules")
- (version "20210501")
+ (version "20250525")
(source
(origin
(method git-fetch)
@@ -781,7 +781,7 @@ line. The project also attempts to maintain the same terminal output.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0pl1wfd7k9vz8mvy2jb2icc5f11c5p07aixpyhjs6gi5cyaywm5f"))))
+ (base32 "1m5ngii9alsia81nk0cr8d13kpkrizbk7gpf9ai5yq8m9bsd9q70"))))
(build-system trivial-build-system)
(native-inputs `(("source" ,source)))
(arguments
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 5f5c8b8885..0960b567a5 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -2011,6 +2011,40 @@ implementation package such as asdf-astropy.")
python-wheel))
(propagated-inputs '()))))
+(define-public python-asdf-wcs-schemas
+ (hidden-package
+ (package
+ (name "python-asdf-wcs-schemas")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asdf_wcs_schemas" version))
+ (sha256
+ (base32 "1dar2pzf2plwyl1rbmnv8fqvx1ljgpf3z39d4ybmn690djjdsyxg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "tests")))
+ (native-inputs
+ (list python-asdf
+ python-pytest
+ python-pytest-openfiles
+ python-setuptools-next
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-asdf-coordinates-schemas
+ python-asdf-standard
+ python-asdf-transform-schemas))
+ (home-page "https://github.com/asdf-format/asdf-wcs-schemas")
+ (synopsis "ASDF WCS Schemas")
+ (description
+ "This package provides ASDF schemas for validating World Coordinate
+System (WCS) tags. Users should not need to install this directly; instead,
+install an implementation package such as gwcs.")
+ (license license:bsd-3))))
+
(define-public python-asdf-zarr
(package
(name "python-asdf-zarr")
@@ -4573,6 +4607,40 @@ observationally-derived galaxy merger catalogs.")
satellite.")
(license license:bsd-3)))
+(define-public python-jplephem
+ (package
+ (name "python-jplephem")
+ (version "2.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jplephem" version))
+ (sha256
+ (base32 "0b2rgb7pvwnl72pqjryf9c812mmdxr69fwiym7mnz05l2xrcr6hd"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "unittest" "discover" "-s" "test")))))))
+ (native-inputs
+ (list python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-numpy))
+ (home-page "https://github.com/brandon-rhodes/python-jplephem")
+ (synopsis "Python version of NASA DE4xx ephemerides")
+ (description
+ "@code{skyfield} computes positions for the stars, planets, and
+satellites in orbit around the Earth. Its results should agree with the
+positions generated by the United States Naval Observatory and their
+Astronomical Almanac to within 0.0005 arcseconds (half a @emph{mas} or
+milliarcsecond).")
+ (license license:expat)))
+
(define-public python-jwst
(package
(name "python-jwst")
@@ -5325,6 +5393,179 @@ profiles. In particular, PetroFit includes tools for performing accurate
photometry, segmentations, Petrosian profiling, and Sérsic fitting.")
(license license:bsd-3)))
+(define-public python-photutils
+ (package
+ (name "python-photutils")
+ (version "2.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "photutils" version))
+ (sha256
+ (base32 "1h1bf8694pf9qdv9gf0934v6dk08d3ybrj858salqnfz6prnfnzb"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--pyargs" "photutils"
+ "--numprocesses" (number->string (min 8 (parallel-job-count))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "/tmp"
+ (apply invoke "pytest" "-vv" test-flags))))))))
+ (propagated-inputs
+ (list python-astropy
+ python-bottleneck
+ python-gwcs
+ python-matplotlib
+ python-numpy
+ python-rasterio
+ python-regions
+ python-scikit-image
+ python-scipy
+ python-shapely
+ python-tqdm))
+ (native-inputs
+ (list python-cython-3
+ python-extension-helpers
+ python-pytest-astropy
+ python-pytest-xdist
+ python-setuptools
+ python-setuptools-scm))
+ (home-page "https://github.com/astropy/photutils")
+ (synopsis "Source detection and photometry")
+ (description "Photutils is an Astropy package for detection and photometry
+of astronomical sources.")
+ (license license:bsd-3)))
+
+(define-public python-pint-pulsar
+ (package
+ (name "python-pint-pulsar")
+ (version "1.1.3")
+ (source
+ (origin
+ (method git-fetch) ; no tests data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/nanograv/PINT")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n66z7v30q1981hx4q5vy3mibrh453gak8dd938038r5mwddya3f"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; Tests failing with assertion on not correct precision
+ ;; or missing data files.
+ (list "not test_astropy_observatory"
+ "test_copy_wideband_fitter_object"
+ "test_IERS_B_builtin_agree_with_IERS_Auto_dX"
+ "test_astropy_observatory"
+ "test_time_construction_jds_exact[tdb]"
+ "test_copy_toa_object"
+ "test_copy_residuals"
+ "test_copy_fitter_object")
+ " and not ")
+ ;; XXX: The most of the tests require additional data, select
+ ;; files where they may run without it and check how to enable
+ ;; more.
+ "tests/test_Galactic.py"
+ "tests/test_all_component_and_model_builder.py"
+ "tests/test_astrometry.py"
+ "tests/test_astropy_observatory.py"
+ "tests/test_astropy_times.py"
+ "tests/test_astropy_version.py"
+ "tests/test_binary_generic.py"
+ "tests/test_binconvert.py"
+ "tests/test_compare.py"
+ "tests/test_compare_model.py"
+ "tests/test_compare_model_ecl_vs_icrs.py"
+ "tests/test_convert_parfile.py"
+ "tests/test_copy.py"
+ "tests/test_covariance_matrix.py"
+ "tests/test_datafiles.py"
+ "tests/test_derived_quantities.py"
+ "tests/test_derivedparams.py"
+ "tests/test_dmxrange_add_sub.py"
+ "tests/test_erfautils.py"
+ "tests/test_eventstats.py"
+ "tests/test_funcpar.py"
+ "tests/test_kepler.py"
+ "tests/test_leapsec.py"
+ "tests/test_model_manual.py"
+ "tests/test_numpy.py"
+ "tests/test_observatory_envar.py"
+ "tests/test_observatory_metadata.py"
+ "tests/test_parfile.py"
+ "tests/test_parunits.py"
+ "tests/test_pb.py"
+ "tests/test_phase.py"
+ "tests/test_pickle.py"
+ "tests/test_plk_widget.py"
+ "tests/test_plot_utils.py"
+ "tests/test_plrednoise.py"
+ "tests/test_pmtransform_units.py"
+ "tests/test_precision.py"
+ "tests/test_prefix_param_inheritance.py"
+ "tests/test_priors.py"
+ "tests/test_process_parfile.py"
+ "tests/test_pulsar_mjd.py"
+ "tests/test_pulsar_position.py"
+ "tests/test_reduced_precision.py"
+ "tests/test_satobs.py"
+ "tests/test_t2binary2pint.py"
+ "tests/test_tcb2tdb.py"
+ "tests/test_templates.py"
+ "tests/test_variety_parfiles.py"
+ "tests/test_version.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-deprecated-scripts
+ ;; ImportError: cannot import name 'CompositeMCMCFitter' from
+ ;; 'pint.mcmc_fitter'.
+ ;;
+ ;; Removed in 1.1.3: Broken fitter class `CompositeMCMCFitter`
+ ;; (this fitter was added seemingly to deal with combined radio and
+ ;; high-energy datasets, but has since been broken for a while.)
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("event_optimize_multiple.*") "")))))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-versioneer
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-corner
+ python-emcee
+ python-jplephem
+ python-loguru
+ python-matplotlib
+ python-nestle
+ python-numdifftools
+ python-numpy
+ python-pyerfa
+ python-scipy
+ python-uncertainties))
+ (home-page "https://github.com/nanograv/PINT")
+ (synopsis "Software for high-precision pulsar timing")
+ (description
+ "PINT is not TEMPO3 - package providing a Pulsar Timing, written in
+Python from scratch.
+Features:
+@itemize
+@item a robust system to produce high-precision timing results that is
+completely independent of TEMPO and Tempo2
+@item a system that is easy to extend and modify due to a good design
+and the use of a modern programming language, techniques, and libraries
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-pixell
(package
(name "python-pixell")
@@ -5588,6 +5829,63 @@ Features:
@end itemize")
(license license:expat)))
+(define-public python-pysat
+ (package
+ (name "python-pysat")
+ (version "3.2.2")
+ (source
+ (origin
+ (method git-fetch) ; no tests data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/pysat/pysat")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gm71zafigwc94s37wqyl86yjabpq6wx9izwxag74wg1ynhqyvf0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--durations=10" ; report 10 slowest tests
+ ;; Tests require pysatSpaceWeather which is not packed yet.
+ "--ignore=pysat/tests/test_utils_files.py"
+ "-k" "not test_from_os")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Do not run test coverage.
+ (substitute* "pyproject.toml"
+ ((".*addopts.*cov.*") ""))
+ ;; No such file or directory: '/homeless-shelter/.pysat'
+ (setenv "HOME" "/tmp")
+ (mkdir "pysatData")
+ (invoke "python" "-c"
+ "import pysat; pysat.params['data_dirs'] = 'pysatData'"))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-dask
+ python-netcdf4
+ python-numpy
+ python-pandas
+ python-portalocker
+ python-scipy
+ python-toolz
+ python-xarray))
+ (home-page "https://github.com/pysat/pysat")
+ (synopsis "Supports science analysis across disparate data platforms")
+ (description
+ "The Python Satellite Data Analysis Toolkit (pysat) provides a simple and
+flexible interface for robust data analysis from beginning to end - including
+downloading, loading, cleaning, managing, processing, and analyzing
+data. Pysat's plug-in design allows analysis support for any data, including
+user provided data sets.")
+ (license license:bsd-3)))
+
(define-public python-pysiril
(package
(name "python-pysiril")
@@ -5926,6 +6224,69 @@ PSF} describing how the optical system spreads light from sources.")
observations from the Nancy Grace Roman Space Telescope.")
(license license:bsd-3))))
+(define-public python-sbpy
+ (package
+ (name "python-sbpy")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sbpy" version))
+ (sha256
+ (base32 "1xqi29rrh7v05zmvyl8gffrkrw5rlcxig1w6xw1v8f7ikydb5plv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home-env
+ (lambda _
+ ;; Tests require HOME to be set.
+ ;; No such file or directory: '/homeless-shelter/.astropy'
+ (setenv "HOME" "/tmp"))))))
+ (propagated-inputs
+ (list python-ads
+ python-astropy
+ python-astroquery
+ python-ginga
+ python-numpy
+ python-photutils
+ ;python-pyoorb ;not packed yet in Guix
+ python-pyyaml
+ python-scipy
+ python-synphot))
+ (native-inputs
+ (list python-pytest
+ python-pytest-astropy
+ python-pytest-doctestplus
+ python-pytest-remotedata
+ python-pytest-xdist
+ python-setuptools-scm))
+ (home-page "https://sbpy.org")
+ (synopsis "Python module for small-body planetary astronomy")
+ (description
+ "@code{sbpy} is a package for small-body planetary astronomy. It is
+meant to supplement functionality provided by @code{astropy} with functions
+and methods that are frequently used in the context of planetary astronomy
+with a clear focus on asteroids and comets.
+Features:
+@itemize
+@item observation planning tools tailored to moving objects
+@item photometry models for resolved and unresolved observations
+@item wrappers and tools for astrometry and orbit fitting
+@item spectroscopy analysis tools and models for reflected solar light and
+emission from gas
+@item cometary gas and dust coma simulation and analysis tools
+@item asteroid thermal models for flux estimation and size/albedo estimation
+@item image enhancement tools for comet comae and PSF subtraction tools
+@item lightcurve and shape analysis tools
+@item access tools for various databases for orbital and physical data, as
+well as ephemerides services
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-sep
(package/inherit libsep
(name "python-sep")
@@ -5954,6 +6315,68 @@ observations from the Nancy Grace Roman Space Telescope.")
(list python-numpy))
(synopsis "Python library for Source Extraction and Photometry")))
+(define-public python-sep-pjw
+ (package
+ (name "python-sep-pjw")
+ (version "1.3.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sep_pjw" version))
+ (sha256
+ (base32 "0lhxfq1acc6qc8nszfdrpwq6dizaypz3b6frknfv5qm59mb488r0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "test.py")))
+ (native-inputs
+ (list python-cython
+ python-pytest
+ python-setuptools
+ python-setuptools-scm-next
+ python-wheel))
+ (propagated-inputs
+ (list python-numpy
+ python-sep))
+ (home-page "https://github.com/PJ-Watson/sep-pjw")
+ (synopsis "Alternative fork of SEP library")
+ (description
+ "This package provides an alternative maintained fork of SEP python
+library with bug fixtures.")
+ (license (list license:expat license:lgpl3+ license:bsd-3))))
+
+(define-public python-sgp4
+ (package
+ (name "python-sgp4")
+ (version "2.24")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sgp4" version))
+ (sha256
+ (base32 "0ll3gxjf697llh6nvisxnj2h4hl23nq1m24ymsykz8kf4ygj8man"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-numpy))
+ (home-page "https://github.com/brandon-rhodes/python-sgp4")
+ (synopsis "Track earth satellite TLE orbits using SGP4")
+ (description
+ "This package provides a Python implementation for computations of the
+position and velocity of an earth-orbiting satellite, given the satellite’s
+@acronym{TLE, Two-line element set} orbital elements from a source like
+@url{CelesTrak, https://celestrak.org/}.
+
+It implements the most recent version of @acronym{SGP4, Simplified General
+Perturbation models}, and is regularly run against the SGP4 test suite to make
+sure that its satellite position predictions agree to within 0.1 mm with the
+predictions of the standard distribution of the algorithm. This error is far
+less than the 1–3 km/day by which satellites themselves deviate from the ideal
+orbits described in TLE files.")
+ (license license:expat)))
+
(define-public python-sirilic
(package
(name "python-sirilic")
@@ -6391,88 +6814,6 @@ instruments.")
(license (list license:bsd-3 ; licenses/LICENSE.rst, same as python-astropy
license:expat)))) ; licenses/KOSMOS_LICENSE
-(define-public python-jplephem
- (package
- (name "python-jplephem")
- (version "2.22")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "jplephem" version))
- (sha256
- (base32 "0b2rgb7pvwnl72pqjryf9c812mmdxr69fwiym7mnz05l2xrcr6hd"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "unittest" "discover" "-s" "test")))))))
- (native-inputs
- (list python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-numpy))
- (home-page "https://github.com/brandon-rhodes/python-jplephem")
- (synopsis "Python version of NASA DE4xx ephemerides")
- (description
- "@code{skyfield} computes positions for the stars, planets, and
-satellites in orbit around the Earth. Its results should agree with the
-positions generated by the United States Naval Observatory and their
-Astronomical Almanac to within 0.0005 arcseconds (half a @emph{mas} or
-milliarcsecond).")
- (license license:expat)))
-
-(define-public python-photutils
- (package
- (name "python-photutils")
- (version "2.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "photutils" version))
- (sha256
- (base32 "1h1bf8694pf9qdv9gf0934v6dk08d3ybrj858salqnfz6prnfnzb"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--pyargs" "photutils"
- "--numprocesses" (number->string (min 8 (parallel-job-count))))
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? test-flags #:allow-other-keys)
- (when tests?
- (with-directory-excursion "/tmp"
- (apply invoke "pytest" "-vv" test-flags))))))))
- (propagated-inputs
- (list python-astropy
- python-bottleneck
- python-gwcs
- python-matplotlib
- python-numpy
- python-rasterio
- python-regions
- python-scikit-image
- python-scipy
- python-shapely
- python-tqdm))
- (native-inputs
- (list python-cython-3
- python-extension-helpers
- python-pytest-astropy
- python-pytest-xdist
- python-setuptools
- python-setuptools-scm))
- (home-page "https://github.com/astropy/photutils")
- (synopsis "Source detection and photometry")
- (description "Photutils is an Astropy package for detection and photometry
-of astronomical sources.")
- (license license:bsd-3)))
-
;; XXX: The project is archived, maintained fork is available see
;; <https://github.com/poliastro/poliastro/issues/1640>.
;; Maintained fork <https://github.com/pleiszenburg/hapsira>.
@@ -6756,38 +7097,6 @@ re-gridding of images from one world coordinate system to another e.g.
changing the pixel resolution, orientation, coordinate system.")
(license license:bsd-3)))
-(define-public python-sgp4
- (package
- (name "python-sgp4")
- (version "2.24")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sgp4" version))
- (sha256
- (base32 "0ll3gxjf697llh6nvisxnj2h4hl23nq1m24ymsykz8kf4ygj8man"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-numpy))
- (home-page "https://github.com/brandon-rhodes/python-sgp4")
- (synopsis "Track earth satellite TLE orbits using SGP4")
- (description
- "This package provides a Python implementation for computations of the
-position and velocity of an earth-orbiting satellite, given the satellite’s
-@acronym{TLE, Two-line element set} orbital elements from a source like
-@url{CelesTrak, https://celestrak.org/}.
-
-It implements the most recent version of @acronym{SGP4, Simplified General
-Perturbation models}, and is regularly run against the SGP4 test suite to make
-sure that its satellite position predictions agree to within 0.1 mm with the
-predictions of the standard distribution of the algorithm. This error is far
-less than the 1–3 km/day by which satellites themselves deviate from the ideal
-orbits described in TLE files.")
- (license license:expat)))
-
(define-public python-spectral-cube
(package
(name "python-spectral-cube")
@@ -7393,63 +7702,6 @@ astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo,
N-Chilada and RAMSES AMR outputs.")
(license license:gpl3+)))
-(define-public python-pysat
- (package
- (name "python-pysat")
- (version "3.2.2")
- (source
- (origin
- (method git-fetch) ; no tests data in the PyPI tarball
- (uri (git-reference
- (url "https://github.com/pysat/pysat")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0gm71zafigwc94s37wqyl86yjabpq6wx9izwxag74wg1ynhqyvf0"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--durations=10" ; report 10 slowest tests
- ;; Tests require pysatSpaceWeather which is not packed yet.
- "--ignore=pysat/tests/test_utils_files.py"
- "-k" "not test_from_os")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Do not run test coverage.
- (substitute* "pyproject.toml"
- ((".*addopts.*cov.*") ""))
- ;; No such file or directory: '/homeless-shelter/.pysat'
- (setenv "HOME" "/tmp")
- (mkdir "pysatData")
- (invoke "python" "-c"
- "import pysat; pysat.params['data_dirs'] = 'pysatData'"))))))
- (native-inputs
- (list python-pytest
- python-pytest-xdist
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-dask
- python-netcdf4
- python-numpy
- python-pandas
- python-portalocker
- python-scipy
- python-toolz
- python-xarray))
- (home-page "https://github.com/pysat/pysat")
- (synopsis "Supports science analysis across disparate data platforms")
- (description
- "The Python Satellite Data Analysis Toolkit (pysat) provides a simple and
-flexible interface for robust data analysis from beginning to end - including
-downloading, loading, cleaning, managing, processing, and analyzing
-data. Pysat's plug-in design allows analysis support for any data, including
-user provided data sets.")
- (license license:bsd-3)))
-
(define-public python-pysiaf
(package
(name "python-pysiaf")
@@ -7544,99 +7796,6 @@ photometric systems are available, and users can incorporate their own filters,
spectra, and data.")
(license license:bsd-3))))
-(define-public python-sbpy
- (package
- (name "python-sbpy")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sbpy" version))
- (sha256
- (base32 "1xqi29rrh7v05zmvyl8gffrkrw5rlcxig1w6xw1v8f7ikydb5plv"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'set-home-env
- (lambda _
- ;; Tests require HOME to be set.
- ;; No such file or directory: '/homeless-shelter/.astropy'
- (setenv "HOME" "/tmp"))))))
- (propagated-inputs
- (list python-ads
- python-astropy
- python-astroquery
- python-ginga
- python-numpy
- python-photutils
- ;python-pyoorb ;not packed yet in Guix
- python-pyyaml
- python-scipy
- python-synphot))
- (native-inputs
- (list python-pytest
- python-pytest-astropy
- python-pytest-doctestplus
- python-pytest-remotedata
- python-pytest-xdist
- python-setuptools-scm))
- (home-page "https://sbpy.org")
- (synopsis "Python module for small-body planetary astronomy")
- (description
- "@code{sbpy} is a package for small-body planetary astronomy. It is
-meant to supplement functionality provided by @code{astropy} with functions
-and methods that are frequently used in the context of planetary astronomy
-with a clear focus on asteroids and comets.
-Features:
-@itemize
-@item observation planning tools tailored to moving objects
-@item photometry models for resolved and unresolved observations
-@item wrappers and tools for astrometry and orbit fitting
-@item spectroscopy analysis tools and models for reflected solar light and
-emission from gas
-@item cometary gas and dust coma simulation and analysis tools
-@item asteroid thermal models for flux estimation and size/albedo estimation
-@item image enhancement tools for comet comae and PSF subtraction tools
-@item lightcurve and shape analysis tools
-@item access tools for various databases for orbital and physical data, as
-well as ephemerides services
-@end itemize")
- (license license:bsd-3)))
-
-(define-public python-sep-pjw
- (package
- (name "python-sep-pjw")
- (version "1.3.8")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sep_pjw" version))
- (sha256
- (base32 "0lhxfq1acc6qc8nszfdrpwq6dizaypz3b6frknfv5qm59mb488r0"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags #~(list "test.py")))
- (native-inputs
- (list python-cython
- python-pytest
- python-setuptools
- python-setuptools-scm-next
- python-wheel))
- (propagated-inputs
- (list python-numpy
- python-sep))
- (home-page "https://github.com/PJ-Watson/sep-pjw")
- (synopsis "Alternative fork of SEP library")
- (description
- "This package provides an alternative maintained fork of SEP python
-library with bug fixtures.")
- (license (list license:expat license:lgpl3+ license:bsd-3))))
-
(define-public python-asdf-standard
(package
(name "python-asdf-standard")
@@ -7745,165 +7904,6 @@ implementation package such as asdf-astropy.")
"This package provides ASDF schemas for validating FITS tags.")
(license license:bsd-3)))))
-(define-public python-asdf-wcs-schemas
- (hidden-package
- (package
- (name "python-asdf-wcs-schemas")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "asdf_wcs_schemas" version))
- (sha256
- (base32 "1dar2pzf2plwyl1rbmnv8fqvx1ljgpf3z39d4ybmn690djjdsyxg"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags #~(list "tests")))
- (native-inputs
- (list python-asdf
- python-pytest
- python-pytest-openfiles
- python-setuptools-next
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-asdf-coordinates-schemas
- python-asdf-standard
- python-asdf-transform-schemas))
- (home-page "https://github.com/asdf-format/asdf-wcs-schemas")
- (synopsis "ASDF WCS Schemas")
- (description
- "This package provides ASDF schemas for validating World Coordinate
-System (WCS) tags. Users should not need to install this directly; instead,
-install an implementation package such as gwcs.")
- (license license:bsd-3))))
-
-(define-public python-pint-pulsar
- (package
- (name "python-pint-pulsar")
- (version "1.1.3")
- (source
- (origin
- (method git-fetch) ; no tests data in the PyPI tarball
- (uri (git-reference
- (url "https://github.com/nanograv/PINT")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0n66z7v30q1981hx4q5vy3mibrh453gak8dd938038r5mwddya3f"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "-k" (string-join
- ;; Tests failing with assertion on not correct precision
- ;; or missing data files.
- (list "not test_astropy_observatory"
- "test_copy_wideband_fitter_object"
- "test_IERS_B_builtin_agree_with_IERS_Auto_dX"
- "test_astropy_observatory"
- "test_time_construction_jds_exact[tdb]"
- "test_copy_toa_object"
- "test_copy_residuals"
- "test_copy_fitter_object")
- " and not ")
- ;; XXX: The most of the tests require additional data, select
- ;; files where they may run without it and check how to enable
- ;; more.
- "tests/test_Galactic.py"
- "tests/test_all_component_and_model_builder.py"
- "tests/test_astrometry.py"
- "tests/test_astropy_observatory.py"
- "tests/test_astropy_times.py"
- "tests/test_astropy_version.py"
- "tests/test_binary_generic.py"
- "tests/test_binconvert.py"
- "tests/test_compare.py"
- "tests/test_compare_model.py"
- "tests/test_compare_model_ecl_vs_icrs.py"
- "tests/test_convert_parfile.py"
- "tests/test_copy.py"
- "tests/test_covariance_matrix.py"
- "tests/test_datafiles.py"
- "tests/test_derived_quantities.py"
- "tests/test_derivedparams.py"
- "tests/test_dmxrange_add_sub.py"
- "tests/test_erfautils.py"
- "tests/test_eventstats.py"
- "tests/test_funcpar.py"
- "tests/test_kepler.py"
- "tests/test_leapsec.py"
- "tests/test_model_manual.py"
- "tests/test_numpy.py"
- "tests/test_observatory_envar.py"
- "tests/test_observatory_metadata.py"
- "tests/test_parfile.py"
- "tests/test_parunits.py"
- "tests/test_pb.py"
- "tests/test_phase.py"
- "tests/test_pickle.py"
- "tests/test_plk_widget.py"
- "tests/test_plot_utils.py"
- "tests/test_plrednoise.py"
- "tests/test_pmtransform_units.py"
- "tests/test_precision.py"
- "tests/test_prefix_param_inheritance.py"
- "tests/test_priors.py"
- "tests/test_process_parfile.py"
- "tests/test_pulsar_mjd.py"
- "tests/test_pulsar_position.py"
- "tests/test_reduced_precision.py"
- "tests/test_satobs.py"
- "tests/test_t2binary2pint.py"
- "tests/test_tcb2tdb.py"
- "tests/test_templates.py"
- "tests/test_variety_parfiles.py"
- "tests/test_version.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-deprecated-scripts
- ;; ImportError: cannot import name 'CompositeMCMCFitter' from
- ;; 'pint.mcmc_fitter'.
- ;;
- ;; Removed in 1.1.3: Broken fitter class `CompositeMCMCFitter`
- ;; (this fitter was added seemingly to deal with combined radio and
- ;; high-energy datasets, but has since been broken for a while.)
- (lambda _
- (substitute* "pyproject.toml"
- (("event_optimize_multiple.*") "")))))))
- (native-inputs
- (list python-pytest
- python-setuptools
- python-versioneer
- python-wheel))
- (propagated-inputs
- (list python-astropy
- python-corner
- python-emcee
- python-jplephem
- python-loguru
- python-matplotlib
- python-nestle
- python-numdifftools
- python-numpy
- python-pyerfa
- python-scipy
- python-uncertainties))
- (home-page "https://github.com/nanograv/PINT")
- (synopsis "Software for high-precision pulsar timing")
- (description
- "PINT is not TEMPO3 - package providing a Pulsar Timing, written in
-Python from scratch.
-Features:
-@itemize
-@item a robust system to produce high-precision timing results that is
-completely independent of TEMPO and Tempo2
-@item a system that is easy to extend and modify due to a good design
-and the use of a modern programming language, techniques, and libraries
-@end itemize")
- (license license:bsd-3)))
-
(define-public python-rad
(package
(name "python-rad")
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 153eed9d9a..95c0de66eb 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -50,6 +50,7 @@
;;; Copyright © 2024 mio <stigma@disroot.org>
;;; Copyright © 2024 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2024 Roman Scherer <roman@burningswell.com>
+;;; Copyright © 2024 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Junker <dk@junkeria.club>
;;; Copyright © 2025 Sughosha <sughosha@disroot.org>
;;; Copyright © 2025 Andrew Wong <wongandj@icloud.com>
@@ -3473,16 +3474,28 @@ provided by Pipewire.")
(define-public python-pyaudio
(package
(name "python-pyaudio")
- (version "0.2.12")
+ (version "0.2.14")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyAudio" version))
(sha256
- (base32 "17pvc27pn2xbisbq7nibhidyw8h2kyms7g2xbyx7nlxwfbdzbpam"))))
- (build-system python-build-system)
- (inputs
- (list portaudio))
+ (base32 "11rgpnahh2kr3x4plr0r7kpccmbplm35cj669wglv6dlg4wgzpvq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; XXX: Most tests require access to devices.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (setenv "PYTHONPATH" (string-append (getcwd) "/tests"))
+ (apply invoke "python" test-flags)))))))
+ (native-inputs
+ (list python-numpy python-setuptools python-wheel))
+ (inputs (list portaudio))
(home-page "https://people.csail.mit.edu/hubert/pyaudio/")
(synopsis "Bindings for PortAudio v19")
(description "This package provides bindings for PortAudio v19, the
@@ -3673,6 +3686,52 @@ one-dimensional sample-rate conversion library.")
files.")
(license license:expat)))
+(define-public python-wavefile
+ (package
+ (name "python-wavefile")
+ (version "1.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "wavefile" version))
+ (sha256
+ (base32 "120r003xy0cv6a4d4cjxv140im007klgkvzfgc57m70rcbnggi7p"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; Assertion fail to compare files.
+ (list "not test_allFormats"
+ "test_commonFormats"
+ "test_majorFormats"
+ "test_subtypeFormats")
+ " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-libsndfile-path
+ (lambda _
+ (substitute* "wavefile/libsndfile.py"
+ (("'libsndfile")
+ (string-append "'" #$(this-package-input "libsndfile")
+ "/lib/libsndfile"))))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-cov
+ python-setuptools-next))
+ (inputs
+ (list libsndfile
+ portaudio))
+ (propagated-inputs
+ (list python-numpy
+ python-pyaudio))
+ (home-page "https://github.com/vokimon/python-wavefile")
+ (synopsis "Pythonic audio file reader and writer")
+ (description
+ "This package provides pythonic libsndfile wrapper to read and write audio
+files.")
+ (license license:gpl3+)))
+
(define-public audio-to-midi
(package
(name "audio-to-midi")
diff --git a/gnu/packages/avr-xyz.scm b/gnu/packages/avr-xyz.scm
index c684b6183b..4a3571175e 100644
--- a/gnu/packages/avr-xyz.scm
+++ b/gnu/packages/avr-xyz.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
+;;; Copyright © 2022, 2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -34,6 +34,7 @@
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages avr)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
@@ -64,6 +65,13 @@
#:tests? #f
#:phases #~(modify-phases %standard-phases
(delete 'configure)
+ (add-after 'unpack 'disable-shared-library
+ (lambda _
+ ;; XXX: "libsimavr.so"" fails to build due to a linker
+ ;; error. Disable the shared library for now.
+ (substitute* "simavr/Makefile"
+ (("ifeq \\(\\$\\{shell uname\\}, Linux\\)")
+ "ifeq (1, 0)"))))
(replace 'check
(lambda* (#:key tests? outputs #:allow-other-keys)
(when tests?
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index c9d745c0d6..55087ed54a 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -21337,32 +21337,35 @@ repeated areas between contigs.")
(define-public vembrane
(package
(name "vembrane")
- (version "0.13.2")
+ (version "1.0.7")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/vembrane/vembrane")
- (commit (string-append "v" version))))
+ (url "https://github.com/vembrane/vembrane")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1gdih56gpqd8ks3sd4ah844kac09hi3g073k9gvazb32ah50900w"))))
+ "127wmwj0162nfaql68jwxlkz7rbnjya70xrj4j8zwvcnxcj7x5v3"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "pyproject.toml"
- (("pysam = \"\\^0.19\"") "pysam = \"^0.20\"")
- (("numpy = \\{ version = \"\\^1.23\"")
- "numpy = { version = \"^1\"")))))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-poetry-core
+ (lambda _
+ ;; Patch to use the core poetry API.
+ (substitute* "pyproject.toml"
+ (("poetry.masonry.api") "poetry.core.masonry.api")))))))
(inputs
- (list python-asttokens python-intervaltree python-numpy
- python-pysam python-pyyaml))
+ (list python-asttokens
+ python-intervaltree
+ python-numpy
+ python-pysam
+ python-pyyaml))
(native-inputs
- (list poetry python-pytest))
+ (list python-poetry-core
+ python-pytest))
(home-page "https://github.com/vembrane/vembrane")
(synopsis "Filter VCF/BCF files with Python expressions")
(description "Vembrane simultaneously filters variants based on
@@ -24051,24 +24054,35 @@ parser for Python.")
(define-public nanosv
(package
- (name "nanosv")
- (version "1.2.4")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "NanoSV" version))
- (sha256
- (base32
- "1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg"))))
- (build-system python-build-system)
- (inputs
- (list python-configparser python-pysam python-pyvcf3))
- (home-page "https://github.com/mroosmalen/nanosv")
- (synopsis "Structural variation detection tool for Oxford Nanopore data")
- (description "NanoSV is a software package that can be used to identify
+ (name "nanosv")
+ (version "1.2.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "NanoSV" version))
+ (sha256
+ (base32 "1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ; No tests upstream, even in git.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("'pyvcf'")
+ "'pyvcf3'")))))))
+ (native-inputs (list python-setuptools python-wheel))
+ (inputs (list python-configparser python-pysam python-pyvcf3))
+ (home-page "https://github.com/mroosmalen/nanosv")
+ (synopsis "Structural variation detection tool for Oxford Nanopore data")
+ (description
+ "NanoSV is a software package that can be used to identify
structural genomic variations in long-read sequencing data, such as data
produced by Oxford Nanopore Technologies’ MinION, GridION or PromethION
instruments, or Pacific Biosciences RSII or Sequel sequencers.")
- (license license:expat)))
+ (license license:expat)))
(define-public python-strawc
(package
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 170d32f3e3..caf7efe197 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -720,29 +720,27 @@ a build worked by accident.")
(file-name (git-file-name name version))
(sha256
(base32 "1sqdnkka3c6b6hwnrmlwrgy7w62cp8raq8mph9pgd2lydzzbvwlp"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'install 'fix-filename
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- ;; Main osc tool is renamed in spec file, not setup.py, let's
- ;; do that too.
- (rename-file
- (string-append bin "osc-wrapper.py")
- (string-append bin "osc"))
- #t))))))
- (native-inputs
- (list python-chardet))
- (inputs
- (list python-m2crypto python-pycurl rpm)) ; for python-rpm
+ (list
+ ;; XXX: Tests require a config file.
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'fix-filename
+ (lambda _
+ (with-directory-excursion (string-append #$output "/bin")
+ ;; osc tool is renamed in spec file, not setup.py.
+ (rename-file "osc-wrapper.py" "osc")))))))
+ (native-inputs (list python-chardet python-setuptools python-wheel))
+ (inputs (list python-m2crypto python-pycurl rpm)) ;for python-rpm
(home-page "https://github.com/openSUSE/osc")
(synopsis "Open Build Service command line tool")
- (description "@command{osc} is a command line interface to the Open Build
-Service. It allows you to checkout, commit, perform reviews etc. The vast
-majority of the OBS functionality is available via commands and the rest can
-be reached via direct API calls.")
+ (description
+ "@command{osc} is a command line interface to the Open Build Service. It
+allows you to checkout, commit, perform reviews etc. The vast majority of the
+OBS functionality is available via commands and the rest can be reached via
+direct API calls.")
(license license:gpl2+)))
(define-public compdb
@@ -774,28 +772,36 @@ right compilation options.")
(name "compiledb")
(version "0.10.1")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "compiledb" version))
- (sha256
- (base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6"))))
- (build-system python-build-system)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nickdiego/compiledb")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qricdgqzry7j3rmgwyd43av3c2kxpzkh6f9zcqbzrjkn78qbpd4"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'no-compat-shim-dependency
- ;; shutilwhich is only needed for python 3.3 and earlier
- (lambda _
- (substitute* "setup.py" (("^ *'shutilwhich'\n") ""))
- (substitute* "compiledb/compiler.py" (("shutilwhich") "shutil")))))))
- (propagated-inputs
- (list python-bashlex python-click))
- (native-inputs
- (list python-pytest))
- (home-page
- "https://github.com/nickdiego/compiledb")
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'no-compat-shim-dependency
+ ;; shutilwhich is only needed for python 3.3 and earlier
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "setup.py"
+ (("^ *'shutilwhich'\n")
+ ""))
+ (substitute* "compiledb/compiler.py"
+ (("shutilwhich")
+ "shutil"))
+ (substitute* "tests/data/multiple_commands_oneline.txt"
+ (("/bin/echo")
+ (search-input-file inputs "bin/echo"))))))))
+ (propagated-inputs (list python-bashlex python-click))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/nickdiego/compiledb")
(synopsis
- "Generate Clang JSON Compilation Database files for make-based build systems")
+ "Generate Clang JSON Compilation Database files for make-based build systems")
(description
"@code{compiledb} provides a @code{make} python wrapper script which,
besides executing the make build command, updates the JSON compilation
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index bcfdc26778..d20cbf31e0 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -717,69 +717,44 @@ from an audio CD.")
(name "abcde")
(version "2.9.3")
(home-page "https://abcde.einval.com/")
- (source (origin
- (method url-fetch)
- (uri (string-append home-page "/download/abcde-"
- version ".tar.gz"))
- (sha256
- (base32
- "091ip2iwb6b67bhjsj05l0sxyq2whqjycbzqpkfbpm4dlyxx0v04"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "Makefile"
- (("/usr/bin/install")
- "install"))))))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append home-page "/download/abcde-" version ".tar.gz"))
+ (sha256
+ (base32 "091ip2iwb6b67bhjsj05l0sxyq2whqjycbzqpkfbpm4dlyxx0v04"))))
(build-system gnu-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (substitute* "Makefile"
- (("^prefix = .*$")
- (string-append "prefix = "
- (assoc-ref outputs "out")
- "\n"))
- (("^sysconfdir = .*$")
- (string-append "sysconfdir = "
- (assoc-ref outputs "out")
- "/etc/\n")))))
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((wget (assoc-ref inputs "wget"))
- (vorbis (assoc-ref inputs "vorbis-tools"))
- (parano (assoc-ref inputs "cdparanoia"))
- (which (assoc-ref inputs "which"))
- (discid (assoc-ref inputs "cd-discid"))
- (perl-discid (assoc-ref inputs "perl-musicbrainz-discid"))
- (perl-ws (assoc-ref inputs "perl-webservice-musicbrainz"))
- (perl-mojo (assoc-ref inputs "perl-mojolicious"))
- (flac (assoc-ref inputs "flac"))
- (out (assoc-ref outputs "out")))
- (define (wrap file)
- (wrap-program file
- `("PATH" ":" prefix
- (,(string-append out "/bin:"
- wget "/bin:"
- flac "/bin:"
- which "/bin:"
- vorbis "/bin:"
- discid "/bin:"
- parano "/bin")))
- `("PERL5LIB" ":" prefix
- (,(string-append perl-discid
- "/lib/perl5/site_perl:"
- perl-ws
- "/lib/perl5/site_perl:"
- perl-mojo
- "/lib/perl5/site_perl")))))
-
- (for-each wrap
- (find-files (string-append out "/bin")
- ".*"))))))
- #:tests? #f)) ; no test target
-
+ (list
+ #:tests? #f ; No test target.
+ #:modules `((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:make-flags
+ #~(list (string-append "INSTALL="
+ #$(this-package-native-input "coreutils-minimal")
+ "/bin/install -c")
+ (string-append "prefix = " #$output)
+ (string-append "sysconfdir = " #$output "/etc/"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'install 'wrap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each
+ (cut wrap-program <>
+ `("PATH" ":" prefix
+ ,(map (compose dirname (cut search-input-file inputs <>))
+ (list "/bin/wget"
+ "/bin/flac"
+ "/bin/which"
+ "/bin/ogginfo"
+ "/bin/cd-discid"
+ "/bin/cdparanoia")))
+ `("PERL5LIB" ":" prefix
+ (,(getenv "PERL5LIB"))))
+ (find-files (string-append #$output "/bin"))))))))
+ (native-inputs (list coreutils-minimal))
(inputs (list bash-minimal
wget
which
@@ -793,7 +768,6 @@ from an audio CD.")
;; A couple of Python and Perl scripts are included.
python
perl))
-
(synopsis "Command-line audio CD ripper")
(description
"abcde is a front-end command-line utility (actually, a shell script)
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 004ddef446..9272c1dfc1 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2237,26 +2237,24 @@ side-effects (such as setting environment variables).")
(define-public python-scripttest
(package
(name "python-scripttest")
- (version "1.3")
+ (version "2.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "scripttest" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pypa/scripttest")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0f4w84k8ck82syys7yg9maz93mqzc8p5ymis941x034v44jzq74m"))))
- (build-system python-build-system)
- (native-inputs
- (list python-pytest))
- (arguments
- ;; Tests not shipped with PyPI archive, and require TLS CA cert.
- (list #:tests? #f))
- (home-page (string-append "https://web.archive.org/web/20161029233413/"
- "http://pythonpaste.org/scripttest/"))
+ (base32 "07cyrh4yp8497radz8cx7la2p8yr78r77xm62hh77hcs1migznaf"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (home-page "https://github.com/pypa/scripttest")
(synopsis "Python library to test command-line scripts")
- (description "Scripttest is a Python helper library for testing
-interactive command-line applications. With it you can run a script in a
-subprocess and see the output as well as any file modifications.")
+ (description
+ "Scripttest is a Python helper library for testing interactive
+command-line applications. With it you can run a script in a subprocess and
+see the output as well as any file modifications.")
(license license:expat)))
(define-public python-testtools-bootstrap
@@ -2907,32 +2905,23 @@ failures.")
(package
(name "python-pytest-freezegun")
(version "0.4.2")
- (source (origin
- ;; The test suite is not included in the PyPI archive.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ktosiek/pytest-freezegun")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
- (build-system python-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ktosiek/pytest-freezegun")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
+ (build-system pyproject-build-system)
(propagated-inputs (list python-freezegun python-pytest))
- (native-inputs (list unzip))
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/ktosiek/pytest-freezegun")
(synopsis "Pytest plugin to freeze time in test fixtures")
- (description "The @code{pytest-freezegun} plugin wraps tests and fixtures
-with @code{freeze_time}, which controls (i.e., freeze) the time seen
-by the test.")
+ (description
+ "The @code{pytest-freezegun} plugin wraps tests and fixtures with
+@code{freeze_time}, which controls (i.e., freeze) the time seen by the test.")
(license license:expat)))
(define-public python-pytest-mypy
@@ -3215,26 +3204,6 @@ pragmas to control it from within your code. Additionally, it is
possible to write plugins to add your own checks.")
(license license:gpl2+)))
-(define-public python-pytest-capturelog
- (package
- (name "python-pytest-capturelog")
- (version "0.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pytest-capturelog" version ".tar.gz"))
- (sha256
- (base32
- "038049nyjl7di59ycnxvc9nydivc5m8np3hqq84j2iirkccdbs5n"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-pytest))
- (home-page "https://bitbucket.org/memedough/pytest-capturelog/overview")
- (synopsis "Pytest plugin to catch log messages")
- (description
- "Python-pytest-catchlog is a pytest plugin to catch log messages.")
- (license license:expat)))
-
(define-public python-nosexcover
(package
(name "python-nosexcover")
diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm
index aac96f96a7..e060795da9 100644
--- a/gnu/packages/cpp.scm
+++ b/gnu/packages/cpp.scm
@@ -3664,34 +3664,36 @@ getopt(), getopt_long() and getopt_long_only().")
(define-public safeint
(package
(name "safeint")
- (version "3.0.27")
- (home-page "https://github.com/dcleblanc/SafeInt")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url home-page)
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "01d2dpdhyw3lghmamknb6g39w2gg0sv53pgxlrs2la8h694z6x7s"))))
+ (version "3.0.28")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dcleblanc/SafeInt")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bgqvyz5zp4mqzkm9545r3564n52bcdnq8bjn6azhxdsmap26g56"))
+ (patches
+ (search-patches "safeint-disable-tests.patch"))))
(build-system cmake-build-system)
(arguments
- (list #:phases #~(modify-phases %standard-phases
- (replace 'install
- (lambda _
- (let ((include-dir (string-append #$output
- "/include")))
- (with-directory-excursion "../source"
- (install-file "SafeInt.hpp" include-dir)
- (install-file "safe_math.h" include-dir)
- (install-file "safe_math_impl.h" include-dir)))))
- (add-after 'install 'install-doc
- (lambda _
- (let ((doc-dir (string-append #$output
- "/share/doc/safeint")))
- (with-directory-excursion "../source"
- (install-file "helpfile.md" doc-dir))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'install
+ (lambda _
+ (let ((include-dir (string-append #$output "/include")))
+ (with-directory-excursion "../source"
+ (install-file "SafeInt.hpp" include-dir)
+ (install-file "safe_math.h" include-dir)
+ (install-file "safe_math_impl.h" include-dir)))))
+ (add-after 'install 'install-doc
+ (lambda _
+ (let ((doc-dir (string-append #$output "/share/doc/safeint")))
+ (with-directory-excursion "../source"
+ (install-file "helpfile.md" doc-dir))))))))
+ (home-page "https://github.com/dcleblanc/SafeInt")
(synopsis "C and C++ library for managing integer overflows")
(description
"SafeInt is a class library for C++ that manages integer overflows. It
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 8322818b77..e448e68090 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -53,6 +53,7 @@
#:use-module (gnu packages polkit)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages scanner)
@@ -61,6 +62,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
@@ -1078,20 +1080,24 @@ obtained and installed separately.")
(define-public python-pycups
(package
(name "python-pycups")
- (version "2.0.1")
+ (version "2.0.4")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "pycups" version ".tar.bz2"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/zdohnal/pycups")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "140c7073bkhx8w9qpaynllhynkkg0rzj3a4wjh9fnj15yvjlqhsp"))))
- (build-system python-build-system)
+ (base32 "1fx2b04wr9mv87lxk8jpglkyaqwj7bhlj6hnai0dji3jm503dqlb"))))
+ (build-system pyproject-build-system)
(arguments
- '(;; Tests require CUPS to be running
- #:tests? #f))
- (inputs
- (list cups))
+ (list
+ ;; XXX: Tests require CUPS to be running, a cups configuration, and
+ ;; access to associated printers.
+ #:tests? #f))
+ (inputs (list cups))
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/zdohnal/pycups")
(synopsis "Python bindings for libcups")
(description
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 881047af9d..00fa390886 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -3964,35 +3964,30 @@ with relational data.")
(define-public aerich
(package
(name "aerich")
- (version "0.7.2")
+ (version "0.8.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tortoise/aerich")
- (commit (string-append "v" version))))
+ (url "https://github.com/tortoise/aerich")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0pcy945bg890p12s7cyw0mg7hxwsxyy570j600sbf7kwj2d3lilg"))))
+ (base32 "1cln1ik7519n6k4lnh06w956lp8xjb0khkkpsmaj8wqlm0jbvdbi"))))
(build-system pyproject-build-system)
(native-inputs
- (list poetry
- python-bandit
- python-cryptography
- python-isort
- python-pydantic
+ (list python-cryptography
python-pytest
+ python-poetry-core
python-pytest-asyncio
- python-pytest-mock
- python-pytest-xdist))
+ python-pytest-mock))
(propagated-inputs
- (list python-asyncmy
+ (list python-asyncclick
+ python-asyncmy
python-asyncpg
- python-click
- python-ddlparse
python-dictdiffer
- python-tomlkit
+ python-pydantic
+ python-tomli-w
python-tortoise-orm))
(home-page "https://github.com/tortoise/aerich")
(synopsis "Database migrations tool for Tortoise @acronym{ORM, Object Relational
@@ -4118,47 +4113,41 @@ etc., and an SQL engine for performing simple SQL queries.")
(package
(name "python-lmdb")
(version "1.0.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "lmdb" version))
- (sha256
- (base32
- "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
- (modules '((guix build utils)))
- (snippet
- ;; Delete bundled lmdb source files.
- '(begin
- (for-each delete-file (list "lib/lmdb.h"
- "lib/mdb.c"
- "lib/midl.c"
- "lib/midl.h"))
- #t))))
- (build-system python-build-system)
- (inputs
- (list lmdb))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "lmdb" version))
+ (sha256
+ (base32 "1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
+ (snippet
+ ;; Delete bundled lmdb source files.
+ #~(for-each delete-file
+ '("lib/lmdb.h" "lib/mdb.c" "lib/midl.c" "lib/midl.h")))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'use-system-lmdb
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((lmdb (assoc-ref inputs "lmdb")))
- (setenv "LMDB_PURE" "set") ; don't apply env-copy-txn.patch
- (setenv "LMDB_FORCE_SYSTEM" "set")
- (setenv "LMDB_INCLUDEDIR" (string-append lmdb "/include"))
- (setenv "LMDB_LIBDIR" (string-append lmdb "/lib"))
- #t))))
- ;; Tests fail with: ‘lmdb.tool: Please specify environment (--env)’.
- #:tests? #f))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'use-system-lmdb
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((lmdb (assoc-ref inputs "lmdb")))
+ (setenv "LMDB_PURE" "set") ;don't apply env-copy-txn.patch
+ (setenv "LMDB_FORCE_SYSTEM" "set")
+ (setenv "LMDB_INCLUDEDIR"
+ (string-append lmdb "/include"))
+ (setenv "LMDB_LIBDIR"
+ (string-append lmdb "/lib"))))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (inputs (list lmdb))
(home-page "https://github.com/dw/py-lmdb")
(synopsis "Python binding for the ‘Lightning’ database (LMDB)")
(description
"python-lmdb or py-lmdb is a Python binding for the @dfn{Lightning
Memory-Mapped Database} (LMDB), a high-performance key-value store.")
- (license
- (list license:openldap2.8
- ;; ‘lib/win32/inttypes.h’ and ‘lib/win32-stdint/stdint.h’ are BSD-3,
- ;; but not actually needed on platforms currently supported by Guix.
- license:bsd-3))))
+ (license (list license:openldap2.8
+ ;; ‘lib/win32/inttypes.h’ and ‘lib/win32-stdint/stdint.h’ are BSD-3,
+ ;; but not actually needed on platforms currently supported by Guix.
+ license:bsd-3))))
(define-public virtuoso-ose
(package
@@ -4399,34 +4388,28 @@ You might also want to install the following optional dependencies:
(name "python-alchemy-mock")
(version "0.4.3")
(home-page "https://github.com/miki725/alchemy-mock")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "alchemy-mock" version))
- (sha256
- (base32
- "0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r"))
- (snippet
- #~(begin (use-modules (guix build utils))
- (substitute* "alchemy_mock/comparison.py"
- (("collections\\.Mapping") "collections.abc.Mapping"))))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/miki725/alchemy-mock")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "053gj8d8ca5kpp7v61wd7lcm9mqp9xqz3d8pp9spdbcjsaqz9nk9"))
+ (snippet #~(begin
+ (use-modules (guix build utils))
+ (substitute* "alchemy_mock/comparison.py"
+ (("collections\\.Mapping")
+ "collections.abc.Mapping"))))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (replace 'check
- (lambda _
- ;; Create pytest.ini that adds doctest options to
- ;; prevent test failure. Taken from tox.ini.
- (call-with-output-file "pytest.ini"
- (lambda (port)
- (format port "[pytest]
-doctest_optionflags=IGNORE_EXCEPTION_DETAIL
-")))
- (invoke "pytest" "-vv" "--doctest-modules"
- "alchemy_mock/"))))))
- (native-inputs
- (list python-mock python-pytest))
- (propagated-inputs
- (list python-six python-sqlalchemy))
+ (list
+ #:test-flags
+ #~(list "--doctest-modules" "alchemy_mock")))
+ (native-inputs (list python-mock python-pytest python-setuptools
+ python-wheel))
+ (propagated-inputs (list python-sqlalchemy))
(synopsis "Mock helpers for SQLAlchemy")
(description
"This package provides mock helpers for SQLAlchemy that makes it easy
@@ -4858,13 +4841,13 @@ files or Python scripts that define a list of migration steps.")
(define-public python-mysqlclient
(package
(name "python-mysqlclient")
- (version "2.2.4")
+ (version "2.2.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mysqlclient" version))
(sha256
- (base32 "0hdznfz9095d2qhl7awbp39s7wpqbxn37xzan487qzaf8srrzg1k"))))
+ (base32 "0i9q2vj6rb4w2iggk0mcp9jla2rm91sx7jcrgv7grm8njjsj5bi4"))))
(build-system pyproject-build-system)
(arguments
(list #:test-flags
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
index c54473f6f1..dcaf39c7a3 100644
--- a/gnu/packages/debian.scm
+++ b/gnu/packages/debian.scm
@@ -59,7 +59,7 @@
(define-public debian-archive-keyring
(package
(name "debian-archive-keyring")
- (version "2023.4")
+ (version "2025.1")
(source
(origin
(method git-fetch)
@@ -68,10 +68,10 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0gn24dgzpg9zwq2hywkac4ljr5lrh7smyqxm21k2bivl0bhc4ca6"))))
+ (base32 "11i6gpff0sa7a6cngj3n3ysdphw745zp39zlhpw4iiv6mmqmp99m"))))
(build-system gnu-build-system)
(arguments
- '(#:test-target "verify-results"
+ '(#:tests? #f ; no tests
#:parallel-build? #f ; has race conditions
#:phases
(modify-phases %standard-phases
@@ -158,6 +158,105 @@ contains the archive keys used for that.")
;; "The keys in the keyrings don't fall under any copyright."
(license license:public-domain)))
+(define-public elxr-archive-keyring
+ (package
+ (name "elxr-archive-keyring")
+ (version "2024.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.com/elxr/packages/elxr-archive-keyring")
+ (commit (string-append "upstream/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1cw7sn22g82g01g7xb4fp8pb6nvb4lck269w1i91rfcmhqxb4iz7"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "elxr-archive-keyring.gpg"
+ (string-append #$output "/share/keyrings/")))))))
+ (native-inputs (list gnupg))
+ (home-page "https://pkg.elxr.org/pkg/elxr-archive-keyring")
+ (synopsis "GnuPG archive keys of the Elxr archive")
+ (description "The Elxr distribution signs its packages. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ;; the keys
+ license:gpl2+))))
+
+(define-public kali-archive-keyring
+ (package
+ (name "kali-archive-keyring")
+ (version "2025.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://gitlab.com/kalilinux/packages/kali-archive-keyring")
+ (commit (string-append "kali/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "07iwh24myf3s2ziqd2wwzclm48vyv0qvddz0rb6771laaal4wd7w"))
+ (modules '((guix build utils)))
+ (snippet #~(delete-file-recursively "debian"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "kali-archive-keyring.gpg"
+ (string-append #$output "/share/keyrings/")))))))
+ (native-inputs (list gnupg))
+ (home-page "https://pkg.kali.org/pkg/kali-archive-keyring")
+ (synopsis "GnuPG archive keys of the Kali archive")
+ (description "The Kali distribution signs its packages. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ;; the keys
+ license:gpl2+))))
+
+(define-public pardus-archive-keyring
+ (package
+ (name "pardus-archive-keyring")
+ (version "2021.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://depo.pardus.org.tr/pardus/pool/main/p/"
+ "pardus-archive-keyring/pardus-archive-keyring_"
+ version ".tar.xz"))
+ (sha256
+ (base32 "0h4y9clpcfprx7fq2yy2bb22ykax5a0wlw8zlcq9kbiya83q02yr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda _
+ (install-file "keyrings/pardus-archive-keyring.gpg"
+ (string-append #$output "/share/keyrings/")))))))
+ (native-inputs (list jetring))
+ (home-page "https://tracker.pardus.org.tr/yirmiuc/pardus-archive-keyring")
+ (synopsis "GnuPG archive keys of the Pardus archive")
+ (description "The Pardus distribution signs its packages. This package
+contains the archive keys used for that.")
+ (license (list license:public-domain ;; the keys
+ license:gpl2+))))
+
(define-public pureos-archive-keyring
(package
(name "pureos-archive-keyring")
@@ -403,84 +502,74 @@ debbugs server.")
(define-public debootstrap
(package
(name "debootstrap")
- (version "1.0.134")
+ (version "1.0.141")
(source
- (origin
- (method git-fetch)
- (uri (git-reference
+ (origin
+ (method git-fetch)
+ (uri (git-reference
(url "https://salsa.debian.org/installer-team/debootstrap.git")
(commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0k9gi6gn8qlqs81r2q1hx5wfyax3nvpkk450girdra7dh54iidr4"))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xdw29cygp0ii65kz8ns8hf0lfrwdjhaxf3sm6q304cm0ic2m7aj"))))
(build-system gnu-build-system)
(arguments
(list
- #:phases
- #~(modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((debian #$(this-package-input "debian-archive-keyring"))
- (pureos #$(this-package-input "pureos-archive-keyring"))
- (trisquel #$(this-package-input "trisquel-keyring"))
- (ubuntu #$(this-package-input "ubuntu-keyring")))
- (substitute* "Makefile"
- (("/usr") ""))
- (substitute* '("scripts/etch"
- "scripts/potato"
- "scripts/sarge"
- "scripts/sid"
- "scripts/woody"
- "scripts/woody.buildd")
- (("/usr") debian))
- (substitute* "scripts/gutsy"
- (("/usr") ubuntu))
- (substitute* "scripts/amber"
- (("/usr/share/keyrings/pureos-archive-keyring.gpg")
- (string-append
- pureos
- "/share/keyrings/pureos-archive-keyring.gpg")))
- (substitute* "scripts/robur"
- (("/usr/share/keyrings/trisquel-archive-keyring.gpg")
- (string-append
- trisquel
- "/share/keyrings/trisquel-archive-keyring.gpg")))
- (substitute* "debootstrap"
- (("=/usr") (string-append "=" #$output))
- (("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg")))
- ;; Include the keyring locations by default.
- (substitute* (find-files "scripts")
- (("keyring.*(debian-archive-keyring.gpg)"_ keyring)
- (string-append "keyring " debian "/share/keyrings/" keyring))
- (("keyring.*(pureos-archive-keyring.gpg)" _ keyring)
- (string-append "keyring " pureos "/share/keyrings/" keyring))
- (("keyring.*(trisquel-archive-keyring.gpg)" _ keyring)
- (string-append "keyring " trisquel "/share/keyrings/" keyring))
- (("keyring.*(ubuntu-archive-keyring.gpg)" _ keyring)
- (string-append "keyring " ubuntu "/share/keyrings/" keyring)))
- ;; Ensure PATH works both in guix and within the debian chroot
- ;; workaround for: https://bugs.debian.org/929889
- (substitute* "functions"
- (("PATH=/sbin:/usr/sbin:/bin:/usr/bin")
- "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin"))
- (substitute* (find-files "scripts")
- (("/usr/share/zoneinfo")
- (search-input-directory inputs "/share/zoneinfo"))))))
- (add-after 'install 'install-man-file
- (lambda* (#:key outputs #:allow-other-keys)
- (install-file "debootstrap.8"
- (string-append #$output "/share/man/man8"))))
- (add-after 'install 'wrap-executable
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((debootstrap (string-append #$output "/sbin/debootstrap"))
- (path (getenv "PATH")))
- (wrap-program debootstrap
- `("PATH" ":" prefix (,path)))))))
- #:make-flags #~(list (string-append "DESTDIR=" #$output))
- #:tests? #f)) ; no tests
+ #:tests? #f ; no tests
+ #:modules '((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 textual-ports)
+ (srfi srfi-1)
+ (srfi srfi-26))
+ #:make-flags #~(list (string-append "DESTDIR=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "Makefile"
+ (("/usr") ""))
+ (substitute* "debootstrap"
+ (("=/usr") (string-append "=" #$output))
+ (("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg")))
+ ;; XXX: For unsupported distros (here, tangly is abandonned), we
+ ;; simply remove the scripts, otherwise the following substitute*
+ ;; will error.
+ (for-each
+ delete-file
+ (find-files
+ "scripts"
+ (lambda (file stat)
+ (let ((content (call-with-input-file file get-string-all)))
+ (any (compose (cut string-contains content <>)
+ (cut string-append "/usr/share/keyrings/" <>
+ "-archive-keyring.gpg"))
+ (list "tanglu"))))))
+ (substitute* (find-files "scripts")
+ ;; Include the keyring locations by default.
+ (("/usr(/share/keyrings/.*.gpg)"_ keyring)
+ (search-input-file inputs keyring))
+ ;; Patch zoneinfo.
+ (("/usr/share/zoneinfo")
+ (search-input-directory inputs "/share/zoneinfo")))
+ ;; Ensure PATH works both in guix and within the debian chroot
+ ;; workaround for: https://bugs.debian.org/929889
+ (substitute* "functions"
+ (("PATH=/sbin:/usr/sbin:/bin:/usr/bin")
+ "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin"))))
+ (add-after 'install 'install-man-file
+ (lambda _
+ (install-file "debootstrap.8"
+ (string-append #$output "/share/man/man8"))))
+ (add-after 'install 'wrap-executable
+ (lambda _
+ (wrap-program (string-append #$output "/sbin/debootstrap")
+ `("PATH" ":" prefix (,(getenv "PATH")))))))))
(inputs
(list debian-archive-keyring
+ elxr-archive-keyring
+ kali-archive-keyring
+ pardus-archive-keyring
pureos-archive-keyring
trisquel-keyring
ubuntu-keyring
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 05bee696b2..df9f8be91a 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -85,6 +85,40 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
+(define-public camv-rnd
+ (package
+ (name "camv-rnd")
+ (version "1.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://repo.hu/projects/camv-rnd/"
+ "releases/camv-rnd-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1dp1vj5rpxlddx40paa9i727c92is3bz6z6pa0y6dy2nsjcm86fs"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; The configure script doesn't tolerate most of our configure
+ ;; flags.
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (setenv "LIBRND_PREFIX" #$(this-package-input "librnd"))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (inputs (list librnd))
+ (home-page "http://repo.hu/projects/route-rnd/")
+ (synopsis "Viewer for electronic boards in CAM file formats")
+ (description
+ "@code{Camv-rnd} is a viewer for @acronym{PCB, Printed Circuit Board}
+supporting gerber, excellon and g-code. It is part of the RiNgDove EDA
+suite.")
+ (license license:gpl2+)))
+
(define-public comedilib
(package
(name "comedilib")
@@ -919,6 +953,75 @@ netlists from the drawn schematic, allowing the simulation of the circuit.")
(home-page "https://xschem.sourceforge.io/stefan/index.html")
(license license:gpl2+)))
+(define-public route-rnd
+ (package
+ (name "route-rnd")
+ (version "0.9.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://repo.hu/projects/route-rnd/"
+ "releases/route-rnd-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fy3b48s72lpicyap3y6jr9fyvb2ri42jb0gqxk6s927a278bfhc"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:make-flags #~(list (string-append "PREFIX=" #$output))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; The configure script doesn't tolerate most of our configure
+ ;; flags.
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (setenv "LIBRND_PREFIX" #$(this-package-input "librnd"))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (inputs (list librnd))
+ (home-page "http://repo.hu/projects/route-rnd/")
+ (synopsis "Automatic routing for electronics boards")
+ (description
+ "@code{Route-rnd} is a generic external autorouter for @acronym{PCB,
+Printed Circuit Board} using tEDAx file format, part of the RiNgDove EDA
+suite.")
+ (license license:gpl2+)))
+
+(define-public sch-rnd
+ (package
+ (name "sch-rnd")
+ (version "1.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://repo.hu/projects/sch-rnd/"
+ "releases/sch-rnd-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07a1ik0rpsa5cscg9l7i5rnipx76543s7cdnkg802747rral7yj5"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:test-target "test"
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ ;; The configure script doesn't tolerate most of our configure
+ ;; flags.
+ (lambda _
+ (setenv "CC" #$(cc-for-target))
+ (setenv "LIBRND_PREFIX" #$(this-package-input "librnd"))
+ (invoke "./configure" (string-append "--prefix=" #$output)))))))
+ (inputs (list librnd))
+ (home-page "http://repo.hu/projects/sch-rnd/")
+ (synopsis "Scriptable editor of schematics for electronics boards")
+ (description
+ "@code{Sch-rnd} is a standalone and workflow agnostic schematics capture
+tool for @acronym{PCB, Printed Circuit Board}, part of the RiNgDove EDA
+suite.")
+ (license license:gpl2+)))
+
(define-public sigrok-cli
(package
(name "sigrok-cli")
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 86ab5354f6..9ccacb7e56 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -8490,29 +8490,23 @@ column by drawing a thin line down the length of the editing window.")
(license license:gpl3+)))
(define-public emacs-greader
- (let ((commit "d58c1ee051afe384e23455b7c8b72ee1eae4850f")) ;version bump
+ (let ((commit "07266f027f9e3d4b690142f525b5bbde2cb4b19e")) ;version bump
(package
(name "emacs-greader")
- (version "0.12.5")
+ (version "0.12.7")
(source
(origin
(uri (git-reference
- (url "https://gitlab.com/michelangelo-rodriguez/greader")
- (commit commit)))
+ (url "https://gitlab.com/michelangelo-rodriguez/greader")
+ (commit commit)))
(method git-fetch)
(file-name (git-file-name name version))
(sha256
- (base32 "1wh9xbz4az4b90m2r2ffmrvwlv2ig75bxycmkqghaz4hhx2gkvaz"))))
+ (base32 "1qg9a3msnh95rj4jmih2j48r8dsisiqd8nlrj1qf3mfl4xr1kb7c"))))
(build-system emacs-build-system)
(arguments
- (list
- #:phases #~(modify-phases %standard-phases
- (add-after 'unpack 'add-requires
- (lambda _
- (substitute* "greader-dict.el"
- ((";;; Code:")
- ";;; Code:\n(require 'greader)\n")))))))
- (inputs (list espeak-ng))
+ (list #:tests? #f)) ;no tests
+ (inputs (list emacs-compat espeak-ng))
(home-page "https://gitlab.com/michelangelo-rodriguez/greader")
(synopsis
"Gnamù Reader, or Greader, sends buffer contents to a speech engine")
@@ -8521,7 +8515,7 @@ column by drawing a thin line down the length of the editing window.")
Text To Speech} engine, such as Espeak-NG or Speech Dispatcher.
The mode supports timer reading, automatic scrolling of buffers in modes like
-Info mode, and repeating reading of regions or the whole buffer. It also
+Info mode, and repeating reading of regions or the whole buffer. It also
includes a feature to facilitate the compilation of Espeak-NG
pronunciations.")
(license license:gpl3+))))
@@ -32788,32 +32782,30 @@ statistics with the help of @code{tokei}.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
+ (base32 "0zkl9jkjbx0lmp9ylv4rqg1zwqibk053s4rp7s1h0i18nzk7vn8j"))))
(build-system emacs-build-system)
- (inputs
- (list youtube-dl))
(arguments
- `(#:tests? #f ; Error : standard input is not a tty
- #:test-command (list "make" "simulate")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'configure
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((youtube-dl (assoc-ref inputs "youtube-dl")))
- ;; .el is read-only in git.
- (chmod "youtube-dl.el" #o644)
- ;; Specify the absolute file names of the various
- ;; programs so that everything works out-of-the-box.
- (emacs-substitute-variables
- "youtube-dl.el"
- ("youtube-dl-program"
- (string-append youtube-dl "/bin/youtube-dl")))))))))
+ (list
+ #:tests? #f ; Error : standard input is not a tty
+ #:test-command #~(list "make" "simulate")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; .el is read-only in git.
+ (chmod "youtube-dl.el" #o644)
+ ;; Specify the absolute file names of the various
+ ;; programs so that everything works out-of-the-box.
+ (emacs-substitute-variables
+ "youtube-dl.el"
+ ("youtube-dl-program"
+ (search-input-file inputs "bin/yt-dlp"))))))))
+ (inputs (list yt-dlp))
(home-page "https://github.com/skeeto/youtube-dl-emacs/")
(synopsis "Emacs youtube-dl download manager")
(description "This package manages a video download queue for
-@command{youtube-dl}, which serves as the back end. It manages a single
-@command{youtube-dl} subprocess, downloading one video at a time. New videos
+@command{yt-dlp}, which serves as the back end. It manages a single
+@command{yt-dlp} subprocess, downloading one video at a time. New videos
can be queued at any time.")
(license license:unlicense))))
@@ -32834,27 +32826,28 @@ can be queued at any time.")
(base32 "0y62lkgsg19j05dpd6sp6zify8vq8xvpc8caqiy4rwi7p4ahacsf"))))
(build-system emacs-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'configure
- (lambda* (#:key inputs #:allow-other-keys)
- ;; .el is read-only in git.
- (make-file-writable "ytdl.el")
- ;; Specify the absolute file names of the various programs so
- ;; that everything works out-of-the-box.
- (emacs-substitute-variables "ytdl.el"
- ("ytdl-command"
- (search-input-file inputs "/bin/youtube-dl"))))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; .el is read-only in git.
+ (make-file-writable "ytdl.el")
+ ;; Specify the absolute file names of the various programs so
+ ;; that everything works out-of-the-box.
+ (emacs-substitute-variables "ytdl.el"
+ ("ytdl-command"
+ (search-input-file inputs "/bin/yt-dlp"))))))))
(inputs
- (list youtube-dl))
+ (list yt-dlp))
(propagated-inputs
(list emacs-async emacs-dash))
(home-page "https://gitlab.com/tuedachu/ytdl")
(synopsis "Emacs interface for youtube-dl")
(description
- "This package manages a video download queue for @command{youtube-dl},
+ "This package manages a video download queue for @command{yt-dlp},
which serves as the back end. New videos can be queued at any time. All
-youtube-dl backends are supported. It is possible to create download profiles
+yt-dlp backends are supported. It is possible to create download profiles
depending on the downloaded URL.")
(license license:gpl3+))))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 7c8202dd71..b456507324 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -468,10 +468,10 @@ It aims to support Nintendo DSi and 3DS as well.")
"rangeset"
"rcheevos") ;submodule
(with-directory-excursion "Externals"
+ ;; Note: Not copying implot sources here, which would
+ ;; introduce a top-level circular dependency.
(copy-recursively #$dolphin-rcheevos-submodule
- "rcheevos/rcheevos")
- (copy-recursively #$(package-source implot)
- "implot/implot"))
+ "rcheevos/rcheevos"))
(for-each delete-file
(find-files
@@ -495,6 +495,10 @@ It aims to support Nintendo DSi and 3DS as well.")
(guix build utils))
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-implot-source
+ (lambda _
+ (copy-recursively #$(package-source implot)
+ "Externals/implot/implot")))
(add-before 'configure 'generate-fonts&hardcode-libvulkan-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((fontfile
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index cba13fff86..944204debd 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3228,7 +3228,7 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
(define-public python-scikit-rf
(package
(name "python-scikit-rf")
- (version "1.7.0")
+ (version "1.8.0")
(source (origin
(method git-fetch) ;PyPI misses some files required for tests
(uri (git-reference
@@ -3236,7 +3236,7 @@ Newton-Raphson power flow solvers in the C++ library lightsim2grid, and the
(commit (string-append "v" version))))
(sha256
(base32
- "148bfdbh0y69f5xhxb49jqvc6gabk0n4i0fl1j5f3fnm9vaypyis"))
+ "0hzgqsj2jnbimb8klijak44bhm7f3lnxvppaddgq1zxr063sj0y1"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(propagated-inputs (list python-numpy
diff --git a/gnu/packages/fcitx5.scm b/gnu/packages/fcitx5.scm
index ac6c80a952..5648fa8f4a 100644
--- a/gnu/packages/fcitx5.scm
+++ b/gnu/packages/fcitx5.scm
@@ -92,7 +92,7 @@ client.")
(define-public fcitx5
(package
(name "fcitx5")
- (version "5.1.12")
+ (version "5.1.14")
(source
(origin
(method url-fetch)
@@ -100,36 +100,36 @@ client.")
"https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-"
version "_dict.tar.zst"))
(sha256
- (base32 "1zsmqicp4x2kpbrrh1r87ji3gsfxvl9ipgdni81b3mv6dv999nhr"))))
+ (base32 "1893994lrffzclblvw1jpcccqrqbpch8p5nd9jhc06ahajbz2nkk"))))
(arguments
(list #:configure-flags #~(list "-DUSE_SYSTEMD=OFF")))
(build-system cmake-build-system)
(inputs
- `(("cairo" ,cairo)
- ("cairo-xcb" ,cairo-xcb)
- ("dbus" ,dbus)
- ("enchant" ,enchant)
- ("expat" ,expat)
- ("fmt" ,fmt)
- ("gdk-pixbuf" ,gdk-pixbuf)
- ("gettext" ,gettext-minimal)
- ("glib" ,glib)
- ("iso-codes" ,iso-codes/pinned)
- ("json-c" ,json-c)
- ("libevent" ,libevent)
- ("libuuid" ,util-linux "lib")
- ("libuv" ,libuv)
- ("libxcb" ,libxcb)
- ("libxkbcommon" ,libxkbcommon)
- ("libxkbfile" ,libxkbfile)
- ("pango" ,pango)
- ("wayland" ,wayland)
- ("wayland-protocols" ,wayland-protocols)
- ("xcb-imdkit" ,xcb-imdkit)
- ("xcb-util" ,xcb-util)
- ("xcb-util-keysyms" ,xcb-util-keysyms)
- ("xcb-util-wm" ,xcb-util-wm)
- ("xkeyboard-config" ,xkeyboard-config)))
+ (list cairo
+ cairo-xcb
+ dbus
+ enchant
+ expat
+ fmt
+ gdk-pixbuf
+ gettext-minimal
+ glib
+ iso-codes/pinned
+ json-c
+ libevent
+ libuv
+ libxcb
+ libxkbcommon
+ libxkbfile
+ pango
+ `(,util-linux "lib") ;For libuuid.
+ wayland
+ wayland-protocols
+ xcb-imdkit
+ xcb-util
+ xcb-util-keysyms
+ xcb-util-wm
+ xkeyboard-config))
(native-inputs
(list extra-cmake-modules
zstd
@@ -151,7 +151,7 @@ client.")
(define-public fcitx5-lua
(package
(name "fcitx5-lua")
- (version "5.0.14")
+ (version "5.0.15")
(source
(origin
(method url-fetch)
@@ -159,7 +159,7 @@ client.")
"https://download.fcitx-im.org/fcitx5/fcitx5-lua/fcitx5-lua-"
version ".tar.zst"))
(sha256
- (base32 "0lmw62pd8x5ys8ci0dz43pw8q8401zjcfs24gjslbljhc4aqnp9r"))))
+ (base32 "1yp5z97m8n7fwvxps1gn8pflg69j3yawgabz36bpd4wl43zkgchg"))))
(build-system cmake-build-system)
(arguments
(list
@@ -177,14 +177,14 @@ client.")
(define-public libime
(package
(name "libime")
- (version "1.1.10")
+ (version "1.1.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5/libime/libime-"
version "_dict.tar.zst"))
(sha256
- (base32 "17mdxbj8bb6vmjwfghy0hm0vvzcank835ayz9h8nhsaiap46nx54"))))
+ (base32 "1ms8vmv9fdr2czf7511jxiw7wyclvbkd82xkk16hahcvrszbrjqb"))))
(build-system cmake-build-system)
(inputs
(list fcitx5 boost (list zstd "lib")))
@@ -199,7 +199,7 @@ editors.")
(define-public fcitx5-gtk
(package
(name "fcitx5-gtk")
- (version "5.1.3")
+ (version "5.1.4")
(source
(origin
(method url-fetch)
@@ -207,7 +207,7 @@ editors.")
"/fcitx5-gtk/fcitx5-gtk-"
version ".tar.zst"))
(sha256
- (base32 "1j2cmqmcdzfv8cxnjd75mfkfpd7r1a1iqdqc8zdx8dc88vz4dmis"))))
+ (base32 "0lwl17mbfm3pxpd3y7h4sxf77npr16hyzygrc7a6v26bx6ycbkqx"))))
(build-system cmake-build-system)
(arguments
(list
@@ -317,7 +317,7 @@ IM module for GTK+3 applications.
(define-public fcitx5-qt
(package
(name "fcitx5-qt")
- (version "5.1.9")
+ (version "5.1.10")
(source
(origin
(method url-fetch)
@@ -325,7 +325,7 @@ IM module for GTK+3 applications.
"/fcitx5-qt/fcitx5-qt-"
version ".tar.zst"))
(sha256
- (base32 "1s45iyyyl0js5p15zb3hxwsjspj0p3p4m81c7x9bz00a60b58m1i"))))
+ (base32 "0v07g2nsdjcijl81i7zrv3krr9w4nh88lkri0xq9l9cbri91h0mf"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags
@@ -356,7 +356,7 @@ for Qt based application.")
(define-public fcitx5-anthy
(package
(name "fcitx5-anthy")
- (version "5.1.6")
+ (version "5.1.7")
(source
(origin
(method url-fetch)
@@ -364,7 +364,7 @@ for Qt based application.")
"/fcitx5-anthy/fcitx5-anthy-"
version ".tar.zst"))
(sha256
- (base32 "08lw5d9kpjmgdss76rqf0qzs39jw371fnbb56k3z64wjg1h3722w"))))
+ (base32 "1vfv0i62z9dclm5zcxk2v57x46z85m36w2yvskpfwyc8nwald3lm"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; no tests
@@ -380,7 +380,7 @@ the Anthy input method.")
(define-public fcitx5-skk
(package
(name "fcitx5-skk")
- (version "5.1.6")
+ (version "5.1.7")
(source
(origin
(method git-fetch)
@@ -389,7 +389,7 @@ the Anthy input method.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "109fx80iaa896652lwhfdr8x9h4vmw6pc9fwns3cwp610p9x21yn"))))
+ (base32 "0xvsbsc9ybq6j0xnvq3wiidw9f6kh5n8jr3z69b7hshw59jirjaq"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ; no tests
@@ -416,14 +416,14 @@ backend.")
(define-public fcitx5-chewing
(package
(name "fcitx5-chewing")
- (version "5.1.7")
+ (version "5.1.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fcitx/fcitx5-chewing")
(commit version)))
(sha256
- (base32 "1hr5ylyzm5r02la5lh6alrp6g19y0dm9ccydd9ygy30srd26pga0"))
+ (base32 "1l9hps0w1da3rjmkipzgb13fyh1nhalapgynywvjd1zvj9njazrs"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -445,7 +445,7 @@ backend.")
(define-public fcitx5-chinese-addons
(package
(name "fcitx5-chinese-addons")
- (version "5.1.8")
+ (version "5.1.9")
(source
(origin
(method url-fetch)
@@ -453,32 +453,32 @@ backend.")
"/fcitx5-chinese-addons/fcitx5-chinese-addons-"
version "_dict.tar.zst"))
(sha256
- (base32 "06ls6ww60y7l39bjk1h1xvjq9c3va5cib6hs4y0xk9p69f2s41l3"))))
+ (base32 "0j0xx4kil93ixa81j08y4mm5qfpl32qf3fdlcw2sbjn92v238hbv"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
- '("-DUSE_WEBKIT=off")
- #:phases
- (modify-phases %standard-phases
- (add-before 'configure 'split-outputs
- ;; Build with GUI supports requires Qt and increase package closure
- ;; by 800M on x86_64, so place it under another output.
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "gui/pinyindictmanager/CMakeLists.txt"
- (("\\$\\{CMAKE_INSTALL_LIBDIR\\}" _)
- (string-append (assoc-ref outputs "gui") "/lib"))))))))
+ (list #:configure-flags
+ #~(list "-DUSE_WEBKIT=off")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'split-outputs
+ ;; Build with GUI supports requires Qt and increase package
+ ;; closure by 800M on x86_64, so place it under another output.
+ (lambda _
+ (substitute* "gui/pinyindictmanager/CMakeLists.txt"
+ (("\\$\\{CMAKE_INSTALL_LIBDIR\\}" _)
+ (string-append #$output:gui "/lib"))))))))
(inputs
- `(("fcitx5" ,fcitx5)
- ("fcitx5-lua" ,fcitx5-lua)
- ("boost" ,boost)
- ("libime",libime)
- ("curl" ,curl)
- ("gettext" ,gettext-minimal)
- ("fmt" ,fmt)
- ("opencc" ,opencc)
- ("qtbase" ,qtbase)
- ("fcitx5-qt" ,fcitx5-qt)
- ("qtwebengine" ,qtwebengine)))
+ (list boost
+ curl
+ fcitx5
+ fcitx5-lua
+ fcitx5-qt
+ fmt
+ gettext-minimal
+ libime
+ opencc
+ qtbase
+ qtwebengine))
(native-inputs
(list extra-cmake-modules pkg-config))
(outputs '("out" "gui"))
@@ -506,7 +506,7 @@ including input methods previous bundled inside Fcitx 4:
(define-public fcitx5-configtool
(package
(name "fcitx5-configtool")
- (version "5.1.8")
+ (version "5.1.10")
(source
(origin
(method url-fetch)
@@ -514,7 +514,7 @@ including input methods previous bundled inside Fcitx 4:
"https://download.fcitx-im.org/fcitx5"
"/fcitx5-configtool/fcitx5-configtool-" version ".tar.zst"))
(sha256
- (base32 "1kg0hddds7raqf5y4qw2x02hb4i5impv4hjfm2qvcn3g775rzrq6"))))
+ (base32 "1fb21mbc0k33cadslq0rjwi5y7fxm5jzgdk9yna3h2r62sdmdb60"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
@@ -626,7 +626,7 @@ for Fcitx 5 with following color variants:
(define-public fcitx5-rime
(package
(name "fcitx5-rime")
- (version "5.1.10")
+ (version "5.1.11")
(source (origin
(method url-fetch)
(uri (string-append "https://download.fcitx-im.org/fcitx5"
@@ -634,7 +634,7 @@ for Fcitx 5 with following color variants:
".tar.zst"))
(sha256
(base32
- "12c5cjpqkz37b6s106p7r4k56mssz1m8q2f6py82zbg0ybsvn980"))))
+ "1xk5a0nfnxy1xaml6pdibpqf92wl2237ayyrpnkmamaxvgvw3kvi"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ;no tests
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index 7408389b91..236cdbf960 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -2496,38 +2496,59 @@ filtering and ordering functionality.
(license license:gpl3+)))
(define-public watcher
- (package
- (name "watcher")
- (version "0.13.6")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/e-dant/watcher")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1ikcdskb3z3wggxb12vi0y3rng2hcswl0fpk6sjqqlz34nvwijcr"))))
- (build-system cmake-build-system)
- (arguments
- (list #:configure-flags
- #~(list "-DBUILD_TESTING=ON"
- ;; This is needed to find 'snitch' from the system.
- "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
- (substitute* "../source/tool/test/.ctx"
- (("../../out")
- "../../../build")
- (("which") "command -v"))
- (invoke "../source/tool/test/all"))))))
- (native-inputs (list jq snitch))
- (home-page "https://github.com/e-dant/watcher")
- (synopsis "File system watcher program and library")
- (description "Watcher may be used as a library or a program that can be
+ (let ((commit "0aff9ee86f0b62f17d7b0105cae6304ef1bcfbb2")
+ (revision "0"))
+ (package
+ (name "watcher")
+ (version (git-version "0.13.6" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/e-dant/watcher")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10bwdqnhgpsk2w60331npspkqjvdgb0jh2by89g8d3hwfjibk3p4"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; The test suite is currently flaky
+ ;; (see: https://github.com/e-dant/watcher/issues/85).
+ #:tests? #f
+ #:configure-flags
+ #~(list "-DBUILD_TESTING=ON"
+ ;; This is needed to find 'snitch' from the system.
+ "-DFETCHCONTENT_TRY_FIND_PACKAGE_MODE=ALWAYS")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-.pc-files-prefix
+ ;; There are some issues with the new .pc files (see:
+ ;; <https://github.com/e-dant/watcher/issues/82>).
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("\"\\$\\{CMAKE_INSTALL_LIBDIR}\"")
+ "\"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}\"")
+ (("\\$\\{CMAKE_INSTALL_INCLUDEDIR}/wtr")
+ "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/wtr"))
+ (substitute* "watcher.pc.in"
+ (("@PC_WATCHER_PREFIX@")
+ #$output))
+ (substitute* "watcher-c/watcher-c.pc.in"
+ (("@PC_LIBWATCHER_C_PREFIX@")
+ #$output))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+ (substitute* "../source/tool/test/.ctx"
+ (("../../out")
+ "../../../build"))
+ (invoke "../source/tool/test/all")))))))
+ (native-inputs (list jq snitch))
+ (home-page "https://github.com/e-dant/watcher")
+ (synopsis "File system watcher program and library")
+ (description "Watcher may be used as a library or a program that can be
used to efficiently watch a file system for changes. This package provides
the following components:
@table @asis
@@ -2540,4 +2561,4 @@ Command-line interface (CLI)
@item @command{tw}
Minimal, more human-readable CLI variant
@end table")
- (license license:expat)))
+ (license license:expat))))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 205f252b7d..3da97f5b4b 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -1001,28 +1001,35 @@ the Monero GUI client.")
(license license:bsd-3)))
(define-public python-bech32
- (package
- (name "python-bech32")
- (version "1.2.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "bech32" version))
- (sha256
- (base32
- "16fq5cfy5id9hp123ylhpl55pf38xwk0hv7sziqpig838qhvhvbx"))))
- (build-system python-build-system)
- (home-page "https://github.com/fiatjaf/bech32")
- (synopsis "Reference implementation for Bech32 and Segwit addresses")
- (description "This package provides a python reference implementation for
+ ;; XXX: No tags upstream.
+ (let ((commit "231e4d88b15f3dc8faf7d339f365b84f6ab5cbcc")
+ (revision "0"))
+ (package
+ (name "python-bech32")
+ (version (git-version "1.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/fiatjaf/bech32")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0wq6q0yrw3x42d81v445xy4nh2qlrn7swsydgpv81dkay11kajrz"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/fiatjaf/bech32")
+ (synopsis "Reference implementation for Bech32 and Segwit addresses")
+ (description "This package provides a python reference implementation for
Bech32 and segwit addresses.")
- (license license:expat)))
+ (license license:expat))))
(define-public python-trezor-agent
;; It is called 'libagent' in pypi; i.e. this is the library as opposed to
;; the toplevel app called trezor-agent.
(package
(name "python-trezor-agent")
- (version "0.14.7")
+ (version "0.15.0")
(source
(origin
(method git-fetch)
@@ -1031,22 +1038,21 @@ Bech32 and segwit addresses.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04dds5bbw73nk36zm8d02qw6qr92nrlcf8r1cq8ba96mzi34jbk0"))))
- (build-system python-build-system)
+ (base32 "09y55ys3x5krszh58yhl5gpdri0zrlhfld6psrmiyxfbp344asin"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'remove-requires-backports-shutil-which
- ;; Remove requires on backport of shutil_which, as python 3.4+ has
- ;; a built-in implementation supported in python-trezor-agent.
- (lambda _
- (substitute* "setup.py"
- (("'backports.shutil_which>=3.5.1',") ""))))
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-v")))))))
+ (list
+ #:test-flags
+ ;; XXX: Requires $HOME to be /run/user.
+ #~(list "-k" "not test_get_agent_sock_path")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-requires-backports-shutil-which
+ ;; Remove requires on backport of shutil_which, as python 3.4+ has
+ ;; a built-in implementation supported in python-trezor-agent.
+ (lambda _
+ (substitute* "setup.py"
+ (("'backports.shutil_which>=3.5.1',") "")))))))
(propagated-inputs
(list python-bech32
python-configargparse
@@ -1064,7 +1070,9 @@ Bech32 and segwit addresses.")
(native-inputs ; Only needed for running the tests
(list gnupg
python-mock
- python-pytest))
+ python-pytest
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Use hardware wallets as SSH and GPG agent")
(description
@@ -1340,7 +1348,7 @@ the KeepKey Hardware Wallet.")
(uri (origin-uri (package-source python-trezor-agent)))
(file-name (git-file-name name version))
(sha256
- (base32 "04dds5bbw73nk36zm8d02qw6qr92nrlcf8r1cq8ba96mzi34jbk0"))
+ (base32 "09y55ys3x5krszh58yhl5gpdri0zrlhfld6psrmiyxfbp344asin"))
(modules
'((guix build utils)
(ice-9 ftw)
@@ -1360,45 +1368,40 @@ the KeepKey Hardware Wallet.")
(scandir "./agents/trezor/"
(negate (cut member <> '("." "..") string=))))
(delete-file-recursively "./agents")
- ;; Without deleting ./contrib the sanity-check phase fails. Reported
- ;; upstream as https://github.com/romanz/trezor-agent/issues/429.
- (delete-file-recursively "./contrib")
;; Without deleting ./libagent setuptools complains as follows:
;; "error: Multiple top-level packages discovered in a flat-layout: ['contrib', 'libagent']."
(delete-file-recursively "./libagent")))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- (("'trezor\\[hidapi]>=0.12.0,<0.13'")
- "'trezor[hidapi]>=0.13'"))))
- (add-after 'wrap 'fixup-agent-py
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out")))
- ;; The wrap phase also wraps trezor_agent.py (besides the
- ;; public facing executable called trezor-agent). We need to
- ;; undo that wrapping. The reason this is needed is that the
- ;; python easy install generates a toplevel script (?) that
- ;; messes with argv[0] and then re-opens the python
- ;; module. This fails when the wrapped file is actually a shell
- ;; script, not a python file.
- (delete-file (string-append out "/bin/.trezor_agent.py-real"))
- ;; Overwrite the wrapped one with the real thing.
- (install-file "./trezor_agent.py"
- (string-append out "/bin"))))))))
- (build-system python-build-system)
+ (list
+ #:tests? #f ; No tests there.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'wrap 'fixup-agent-py
+ (lambda _
+ ;; The wrap phase also wraps trezor_agent.py (besides the public
+ ;; facing executable called trezor-agent). We need to undo that
+ ;; wrapping. The reason this is needed is that the python easy
+ ;; install generates a toplevel script (?) that messes with
+ ;; argv[0] and then re-opens the python module. This fails when
+ ;; the wrapped file is actually a shell script, not a python file.
+ (delete-file
+ (string-append #$output "/bin/.trezor_agent.py-real"))
+ ;; Overwrite the wrapped one with the real thing.
+ (install-file "./trezor_agent.py"
+ (string-append #$output "/bin")))))))
(inputs
(list python-trezor python-trezor-agent))
(native-inputs ; Only needed for running the tests
(list python-attrs
python-bech32
- python-simple-rlp))
+ python-simple-rlp
+ python-setuptools
+ python-wheel))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Using Trezor as hardware SSH/GPG agent")
- (description "This package allows using Trezor as a hardware SSH/GPG
-agent.")
+ (description
+ "This package allows using Trezor as a hardware SSH/GPG agent.")
(license license:lgpl3)))
(define-public keepkey-agent
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 12d4efff4a..c41ec45a6f 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -5345,7 +5345,7 @@ falling, themeable graphics and sounds, and replays.")
(define-public wesnoth
(package
(name "wesnoth")
- (version "1.18.3")
+ (version "1.18.5")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5354,7 +5354,7 @@ falling, themeable graphics and sounds, and replays.")
(file-name (git-file-name name version))
(sha256
(base32
- "0habv0whb0y0r52sjln7yin1nfm3vjjxqlavm7jarcrg2s3v743k"))))
+ "16mrdpz1yq12ppnrmm4yv768zmh08qjdxh892pzc5i17n7xkmpy4"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f ;no test target
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index aa1454ca96..caeba83735 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -918,14 +918,14 @@ It also includes runtime support libraries for these languages.")
(define-public gcc-15
(package
(inherit gcc-14)
- (version "15.1.0")
+ (version "15.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
- "1skcy1a3wwb8k25f9l1qy11nj8b5089f05dpzzn1zw302v19xc72"))
+ "0knj4ph6y7r7yhnp1v4339af7mki5nkh7ni9b948433bhabdk3s3"))
(patches (search-patches "gcc-12-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils)))
diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm
index ecb324d738..a1095a7fba 100644
--- a/gnu/packages/geo.scm
+++ b/gnu/packages/geo.scm
@@ -96,6 +96,7 @@
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
+ #:use-module (gnu packages fribidi)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
@@ -1293,6 +1294,61 @@ amenities/points of interest, building footprints, elevation data,
street bearings/orientations, and speed/travel time.")
(license license:expat)))
+(define-public python-owslib
+ (package
+ (name "python-owslib")
+ (version "0.34.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/geopython/OWSLib")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14pb96h0nl4c6hs58i2z7mx0fpd4g886ajflbrs69hwiqj2x8a3f"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list
+ ;; XXX: Those tests require network access.
+ "-k" (string-join
+ (list "not test_ows_interfaces_wcs"
+ "test_system_readonly"
+ "test_sampling_features_readonly"
+ "test_datastreams_readonly"
+ "test_observations_readonly"
+ "test_system_history")
+ " and not ")
+ ;; XXX: Not collected properly.
+ "--ignore-glob=tests/doctests/*")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'cleanup-build-directory
+ (lambda _
+ (delete-file-recursively "build"))))))
+ (native-inputs
+ (list python-dateutil
+ python-pyproj
+ python-pyyaml
+ python-pytest
+ python-pytest-cov
+ python-pytest-httpserver
+ python-pytz
+ python-requests
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-lxml))
+ (synopsis "Interface for Open Geospatial Consortium web service")
+ (description
+ "OWSLib is a Python package for client programming with Open Geospatial
+Consortium (OGC) web service (hence OWS) interface standards, and their related
+content models.")
+ (home-page "https://geopython.github.io/OWSLib/")
+ (license license:bsd-3)))
+
(define-public mapnik
;; There hasn't been a release since early 2021, and it fails to build with
;; Boost 1.77+.
@@ -3907,107 +3963,114 @@ time. Interactively visualize vector, raster and volume data.")
(license license:gpl2+)))
(define-public navit
- (package
- (name "navit")
- (version "0.5.6")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/navit-gps/navit")
- (commit (string-append "v" version))))
- (sha256
- (base32
- "1jhlif0sc5m8wqb5j985g1xba2ki7b7mm14pkvzdghjd0q0gf15s"))
- (file-name (git-file-name name version))))
- (build-system cmake-build-system)
- (arguments
- (list
- ;; There are no tests
- #:tests? #f
- ;; With -DSAMPLE_MAP=TRUE (the default), it tries to download a
- ;; map during the build process.
- #:configure-flags #~(list "-DSAMPLE_MAP=FALSE")
- #:phases
- #~(modify-phases %standard-phases
- (add-after
- 'unpack 'patch-navit-config
- (lambda _
- ;; For now this package only supports SDL, so if we keep
- ;; the configuration as-is, Navit doesn't start.
- (substitute*
- "navit/navit_shipped.xml"
- (("<graphics type=\"gtk_drawing_area\"/>")
- "<graphics type=\"sdl\"/>"))
- ;; Users are expected to be able to add XML files inside
- ;; $NAVIT_SHAREDIR, however that directory is in the store.
- (substitute*
- "navit/navit_shipped.xml"
- (("<xi:include href=\"\\$NAVIT_SHAREDIR/maps/\\*\\.xml\"/>")
- "<xi:include href=\"$NAVIT_USER_DATADIR/maps/*.xml\"/>"))
- ;; Navit also works without GPS but in that case there is
- ;; no automatic zooming, so we need zoom buttons to be able
- ;; to manually zoom in or out.
- (substitute*
- "navit/navit_shipped.xml"
- (((string-append
- "<osd enabled=\"no\" type=\"button\" x=\"-96\" y=\"-96\" "
- "command=\"zoom_in()"))
- (string-append
- "<osd enabled=\"yes\" type=\"button\" x=\"-96\" y=\"-96\" "
- "command=\"zoom_in()"))
- (((string-append
- "<osd enabled=\"no\" type=\"button\" x=\"0\" y=\"-96\" "
- "command=\"zoom_out()"))
- (string-append
- "<osd enabled=\"yes\" type=\"button\" x=\"0\" y=\"-96\" "
- "command=\"zoom_out()\" src=\"zoom_out.png\"/>")))))
- (add-before
- 'build 'set-cache
- ;; During the build, svg icons are converted in different
- ;; formats, and this needs XDG_CACHE_HOME to work.
- (lambda _
- (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache"))))))
- (inputs (list dbus-glib
- espeak
- freeglut
- freeimage
- freetype
- glib
- gettext-minimal
- gpsd
- gdk-pixbuf
- imlib2
- python
- sdl
- sdl-image))
- (native-inputs (list fontconfig
- (librsvg-for-system)
- pkg-config))
- (home-page "https://www.navit-project.org")
- (synopsis "Car navigation system with routing engine that uses vector maps data")
- (description "Navit is a car navigation system with a routing engine.
+ ;; XXX: The latest commit provides compatibility with GCC 14, switch to tag
+ ;; when a fresh release is available.
+ (let ((commit "2418e3f42af0641c734f93f3d6d20d3025ad2182")
+ (revision "0"))
+ (package
+ (name "navit")
+ (version (git-version "0.5.6" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/navit-gps/navit")
+ (commit commit)))
+ (sha256
+ (base32
+ "0s7rhg1xyj56g19fh84znj6fzdiglgf010appjydivn5gkyzb9kq"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; There are no tests
+ #:tests? #f
+ ;; With -DSAMPLE_MAP=TRUE (the default), it tries to download a
+ ;; map during the build process.
+ #:configure-flags #~(list "-DSAMPLE_MAP=FALSE")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after
+ 'unpack 'patch-navit-config
+ (lambda _
+ ;; For now this package only supports SDL, so if we keep
+ ;; the configuration as-is, Navit doesn't start.
+ (substitute*
+ "navit/navit_shipped.xml"
+ (("<graphics type=\"gtk_drawing_area\"/>")
+ "<graphics type=\"sdl\"/>"))
+ ;; Users are expected to be able to add XML files inside
+ ;; $NAVIT_SHAREDIR, however that directory is in the store.
+ (substitute*
+ "navit/navit_shipped.xml"
+ (("<xi:include href=\"\\$NAVIT_SHAREDIR/maps/\\*\\.xml\"/>")
+ "<xi:include href=\"$NAVIT_USER_DATADIR/maps/*.xml\"/>"))
+ ;; Navit also works without GPS but in that case there is
+ ;; no automatic zooming, so we need zoom buttons to be able
+ ;; to manually zoom in or out.
+ (substitute*
+ "navit/navit_shipped.xml"
+ (((string-append
+ "<osd enabled=\"no\" type=\"button\" x=\"-96\" y=\"-96\" "
+ "command=\"zoom_in()"))
+ (string-append
+ "<osd enabled=\"yes\" type=\"button\" x=\"-96\" y=\"-96\" "
+ "command=\"zoom_in()"))
+ (((string-append
+ "<osd enabled=\"no\" type=\"button\" x=\"0\" y=\"-96\" "
+ "command=\"zoom_out()"))
+ (string-append
+ "<osd enabled=\"yes\" type=\"button\" x=\"0\" y=\"-96\" "
+ "command=\"zoom_out()\" src=\"zoom_out.png\"/>")))))
+ (add-before
+ 'build 'set-cache
+ ;; During the build, svg icons are converted in different
+ ;; formats, and this needs XDG_CACHE_HOME to work.
+ (lambda _
+ (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache"))))))
+ (inputs (list dbus-glib
+ espeak
+ freeglut
+ freeimage
+ freetype
+ fribidi
+ glib
+ gettext-minimal
+ gpsd
+ gdk-pixbuf
+ imlib2
+ python
+ sdl
+ sdl-image))
+ (native-inputs (list fontconfig
+ (librsvg-for-system)
+ libxslt
+ pkg-config
+ protobuf-c))
+ (home-page "https://www.navit-project.org")
+ (synopsis "Car navigation system with routing engine that uses vector maps data")
+ (description
+ "Navit is a car navigation system with a routing engine.
-It is meant to work with touchscreen devices, but it also works
-without a touchscreen. It also supports text to speech.
+It is meant to work with touchscreen devices, but it also works without a
+touchscreen. It also supports text to speech.
-It can be configured extensively through its own configuration file
-format. For instance we can configure the graphical interface, and
-which map data is to be displayed at which zoom level.
+It can be configured extensively through its own configuration file format.
+For instance we can configure the graphical interface, and which map data is
+to be displayed at which zoom level.
It supports different routing profiles: bike, car, car_avoid_toll,
car_pedantic, car_shortest, horse, pedestrian, truck.
-It can use gpsd or NMEA GPS directly to get position data. It also
-works without GPS: in this case users can also enter position data
-directly.
+It can use gpsd or NMEA GPS directly to get position data. It also works
+without GPS: in this case users can also enter position data directly.
-It can also be used to log GPS data to files using the GPX or NMEA
-formats, or to replay NMEA data.
+It can also be used to log GPS data to files using the GPX or NMEA formats, or
+to replay NMEA data.
-For maps, it can uses its own \"binfile\" map format, or Garmin map
-file format, and data from OpenStreetMap, Garmin maps, Marco Polo
-Grosser Reiseplaner, Routeplaner Europa 2007, Map + Route.")
- (license license:gpl2)))
+For maps, it can uses its own \"binfile\" map format, or Garmin map file
+format, and data from OpenStreetMap, Garmin maps, Marco Polo Grosser
+Reiseplaner, Routeplaner Europa 2007, Map + Route.")
+ (license license:gpl2))))
(define-public laszip
(package
diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm
index 40a5cf7401..1e78a9de27 100644
--- a/gnu/packages/graphviz.scm
+++ b/gnu/packages/graphviz.scm
@@ -327,7 +327,7 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
(file-name (git-file-name name version))
(sha256
(base32 "1l34ahvcz90j3j7aspp9wqvxpq10mzgq7l0sanrj142ihdnbahvy"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
@@ -350,13 +350,12 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
(setenv "LD_LIBRARY_PATH"
(dirname lib)))))
;; We wrap xdot, so that we don't propagate gtk+ and graphviz
- (add-after 'install 'wrap
+ (replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (graphviz (assoc-ref inputs "graphviz"))
+ (let ((graphviz (assoc-ref inputs "graphviz"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(python-path (getenv "GUIX_PYTHONPATH")))
- (wrap-program (string-append out "/bin/xdot")
+ (wrap-program (string-append #$output "/bin/xdot")
`("PATH" ":" prefix
(,(string-append graphviz "/bin")))
`("GI_TYPELIB_PATH" ":" prefix
@@ -381,6 +380,8 @@ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(srcdir)/predicates_init.c \
python-numpy
python-pycairo
python-pygobject
+ python-setuptools
+ python-wheel
vulkan-loader))
(home-page "https://pypi.org/project/xdot/")
(synopsis "Interactive viewer for graphviz dot files")
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 0f5cf2a302..a4a73b9435 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -88,6 +88,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages opencl)
@@ -108,6 +109,7 @@
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
+ #:use-module (gnu packages statistics)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages textutils)
@@ -1286,9 +1288,16 @@ libraries designed for computer vision research and implementation.")
;; For a remote MODULE, use the commit in
;; 'Modules/Remote/MODULE.remote.cmake'.
;; MorphologicalContourInterpolation is required by itk-snap.
- (let* ((module-commit "821bf9b3ef8eaaab10391ed060dc9ca5e4d37b39")
- (module-file (git-file-name "ITKMorphologicalContourInterpolation"
- module-commit)))
+ ;; SimpleITKFilters and GenericLabelInterpolator are required by simpleitk.
+ (let* ((module-mci-commit "821bf9b3ef8eaaab10391ed060dc9ca5e4d37b39")
+ (module-mci-file (git-file-name "ITKMorphologicalContourInterpolation"
+ module-mci-commit))
+ (module-sitkf-commit "bb896868fc6480835495d0da4356d5db009592a6")
+ (module-sitkf-file (git-file-name "ITKSimpleITKFilters"
+ module-sitkf-commit))
+ (module-gli-commit "ebf2436469ccf82c08fab54b7446f699ad0eae01")
+ (module-gli-file (git-file-name "ITKGenericLabelInterpolator"
+ module-gli-commit)))
(package
(name "insight-toolkit")
(version "5.4.4")
@@ -1343,6 +1352,8 @@ libraries designed for computer vision research and implementation.")
;; Python is not built with Py_LIMITED_API.
"-DITK_USE_PYTHON_LIMITED_API=OFF"
"-DModule_MorphologicalContourInterpolation=ON"
+ "-DModule_SimpleITKFilters=ON"
+ "-DModule_GenericLabelInterpolator=ON"
"-DCMAKE_CXX_STANDARD=17"
"-DBUILD_TESTING=OFF")
@@ -1376,12 +1387,21 @@ libraries designed for computer vision research and implementation.")
(lambda _
;; ITK module MorphologicalContourInterpolation
;; is for ITK-SNAP.
- (symlink #$(this-package-native-input module-file)
+ (symlink #$(this-package-native-input module-mci-file)
"Modules/Remote/MorphologicalContourInterpolation")
(delete-file
(string-append
"Modules/Remote/"
- "MorphologicalContourInterpolation.remote.cmake"))))
+ "MorphologicalContourInterpolation.remote.cmake"))
+ ;; ITK modules SimpleITKFilters and GenericLabelInterpolator
+ ;; are for SimpleITK.
+ (symlink #$(this-package-native-input module-sitkf-file)
+ "Modules/Remote/SimpleITKFilters")
+ (delete-file "Modules/Remote/SimpleITKFilters.remote.cmake")
+ (symlink #$(this-package-native-input module-gli-file)
+ "Modules/Remote/GenericLabelInterpolator")
+ (delete-file
+ "Modules/Remote/GenericLabelInterpolator.remote.cmake")))
(add-after 'unpack 'fix-numpy-bool
(lambda _
;; <https://github.com/InsightSoftwareConsortium/ITK/pull/5402>
@@ -1423,11 +1443,33 @@ libraries designed for computer vision research and implementation.")
(url (string-append
"https://github.com/KitwareMedical/"
"ITKMorphologicalContourInterpolation"))
- (commit module-commit)))
- (file-name module-file)
+ (commit module-mci-commit)))
+ (file-name module-mci-file)
(sha256
(base32
- "00myhgvlk3n062i8bnknz1d10zkv3jlvs7f4jnk24727gd4v2n4i")))))
+ "00myhgvlk3n062i8bnknz1d10zkv3jlvs7f4jnk24727gd4v2n4i")))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append
+ "https://github.com/InsightSoftwareConsortium/"
+ "ITKSimpleITKFilters"))
+ (commit module-sitkf-commit)))
+ (file-name module-sitkf-file)
+ (sha256
+ (base32
+ "13nys94wl4k77f89i8y1dm3y4pmgmw3rrc0la1rzl0vi9h1qixii")))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append
+ "https://github.com/InsightSoftwareConsortium/"
+ "ITKGenericLabelInterpolator"))
+ (commit module-gli-commit)))
+ (file-name module-gli-file)
+ (sha256
+ (base32
+ "1khakqh6pzdg6csli8jypzrhcdr9xmhnzgwz265krv8r5mbnndrg")))))
;; The 'CMake/ITKSetStandardCompilerFlags.cmake' file normally sets
;; '-mtune=native -march=corei7', suggesting there's something to be
@@ -1708,6 +1750,122 @@ Scan Tailer Advanced is a fork of Scan Tailer that merges Scan Tailor Featured
and Scan Tailor Enhanced versions as well as including many more bug fixes.")
(license license:gpl3+))))
+(define-public simpleitk
+ (package
+ (name "simpleitk")
+ (version "2.5.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SimpleITK/SimpleITK")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1ykrfrfh2012cg1122689w23pan2y731sszfpb701zhsb6fwv7j7"))))
+ (build-system cmake-build-system)
+ (outputs '("out" "python" "r"))
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-DBUILD_SHARED_LIBS=ON"
+ "-DWRAP_LUA=OFF"
+ "-DWRAP_PYTHON=ON"
+ "-DWRAP_R=ON"
+ "-DSimpleITK_PYTHON_USE_VIRTUALENV=OFF")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'early-GTest-discovery
+ (lambda _
+ ;; Find GTest before targets link to 'GTest::GTest'.
+ (substitute* "Testing/Unit/CMakeLists.txt"
+ (("add_subdirectory\\(TestBase\\)" anchor)
+ (string-append "find_package(GTest REQUIRED)\n" anchor)))))
+ (add-after 'unpack 'extract-test-data
+ (lambda _
+ (invoke "tar" "xvf"
+ #$(this-package-native-input
+ (string-append "SimpleITKData-" version ".tar.gz"))
+ "--strip-components=1")))
+ (add-after 'unpack 'fix-runpath
+ (lambda _
+ ;; The SWIG-generated shared libraries do not have SimpleITK's
+ ;; libraries in their RUNPATH.
+ (define (cmake-snippet start)
+ (string-append
+ start
+ "set_target_properties(${SWIG_MODULE_SimpleITK_TARGET_NAME} "
+ "PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE "
+ "INSTALL_RPATH \"" #$output "/lib\")\n"))
+ (substitute* "Wrapping/Python/CMakeLists.txt"
+ (("^set\\(SWIG_MODULE_SimpleITKPython.*" anchor)
+ (cmake-snippet anchor)))
+ (substitute* "Wrapping/R/CMakeLists.txt"
+ (("^set\\(SWIG_MODULE_SimpleITKR.*" anchor)
+ (cmake-snippet anchor)))))
+ (add-after 'unpack 'patch-cmake-config-itk-path
+ (lambda _
+ ;; Allow building SimpleITK C++ projects without ITK installed
+ ;; in the profile.
+ #$(let*
+ ((itk (this-package-input "insight-toolkit"))
+ (itk-version (package-version itk))
+ (itk-version-major+minor
+ (version-major+minor itk-version)))
+ #~(substitute* "SimpleITKConfig.cmake.in"
+ (((string-append
+ "find_package\\(ITK \"@ITK_VERSION@\" "
+ "EXACT REQUIRED\\)"))
+ (string-append
+ "find_package(ITK \"" #$itk-version
+ "\" EXACT REQUIRED PATHS " #$itk
+ "/lib/cmake/ITK-"
+ #$itk-version-major+minor ")"))))))
+ (add-after 'install 'install-language-extension-modules
+ (lambda _
+ (with-directory-excursion "Wrapping/Python"
+ (invoke "python3" "setup.py" "bdist_wheel")
+ (apply invoke "pip" "--no-cache-dir" "--no-input" "install"
+ "--no-deps" "--prefix" #$output:python
+ (find-files "dist" "\\.whl$")))
+ (let ((r-package-path
+ (string-append #$output:r "/site-library/SimpleITK")))
+ (mkdir-p r-package-path)
+ (copy-recursively "Wrapping/R/R_libs/SimpleITK"
+ r-package-path))))
+ (delete 'check)
+ (add-after 'install 'check-after-install
+ ;; Run the tests when the SimpleITK libraries are where the
+ ;; language extension modules expect them to be.
+ (assoc-ref %standard-phases 'check)))))
+ (home-page "https://simpleitk.org")
+ (inputs (list insight-toolkit python r-minimal))
+ (native-inputs
+ (list googletest
+ lua
+ python-numpy ;for tests
+ python-pip
+ python-setuptools
+ python-wheel
+ swig-next
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/SimpleITK/SimpleITK/releases/download/v"
+ version "/SimpleITKData-" version ".tar.gz"))
+ (sha256
+ (base32
+ "13y44qqsgsvbrm84073i8clhggdgk8f36i6102sjg4j3fq790gal")))))
+ (synopsis "Simplified interface to @acronym{ITK, Insight Toolkit}")
+ (description
+ "SimpleITK is an image analysis toolkit built on top of @acronym{ITK,
+Insight Toolkit}. It provides a simplified interface to most of the
+image filters and the input/output and registration frameworks in
+@acronym{ITK, Insight Toolkit}. It is written in C++ and provides
+bindings for interpreted languages. This package includes the C++,
+Python and R interfaces.")
+ (license license:asl2.0)))
+
(define-public stiff
(package
(name "stiff")
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm
index 3e1c30b8d7..af80f441c7 100644
--- a/gnu/packages/image-viewers.scm
+++ b/gnu/packages/image-viewers.scm
@@ -1156,7 +1156,7 @@ synchronization of multiple instances.")
(define-public hydrus-network
(package
(name "hydrus-network")
- (version "495") ;upstream has a weekly release cycle
+ (version "630") ;upstream has a weekly release cycle
(source
(origin
(method git-fetch)
@@ -1166,7 +1166,7 @@ synchronization of multiple instances.")
(file-name (git-file-name name version))
(sha256
(base32
- "03zhrcmjzbk37sl9nwjahfmr8aflss84c4xhg5ci5b8jvbbqmr1j"))
+ "0x133m93nx2rphs0zymmhfknp1274r2fh2jc91rrv9vmdqfh9yyc"))
(modules '((guix build utils)))
(snippet
;; Remove pre-built binaries from bin/.
@@ -1177,7 +1177,7 @@ synchronization of multiple instances.")
#:phases
#~(let ((static-dir "/share/hydrus/static"))
(modify-phases %standard-phases
- ;; Hydrus is a python program but does not uses setup.py or any
+ ;; Hydrus is a python program but does not use setup.py or any
;; other build system to build itself - it's delivered ready to
;; run from the source.
(replace 'check
@@ -1185,7 +1185,7 @@ synchronization of multiple instances.")
(setenv "DISPLAY" ":0")
(setenv "XDG_CACHE_HOME" (getcwd))
(setenv "HOME" (getcwd))
- (invoke "xvfb-run" "python" "test.py")))
+ (invoke "xvfb-run" "python" "hydrus_test.py")))
;; XXX: program help files are not built. Updating
;; python-pymdown-extensions to its latest version might be the
;; solution, but this would require also packaging its new build
@@ -1207,15 +1207,17 @@ synchronization of multiple instances.")
(substitute* "HydrusConstants.py"
(("STATIC_DIR = .*")
(string-append "STATIC_DIR = \"" out static-dir "\"\n")))
- (substitute* "HydrusFlashHandling.py"
- (("SWFRENDER_PATH = .*\n")
- (string-append "SWFRENDER_PATH = \"" swfrender "\"\n")))
- (substitute* "HydrusVideoHandling.py"
- (("FFMPEG_PATH = .*\n")
- (string-append "FFMPEG_PATH = \"" ffmpeg "\"\n")))
- (substitute* "networking/HydrusNATPunch.py"
- (("UPNPC_PATH = .*\n")
- (string-append "UPNPC_PATH = \"" upnpc "\"\n"))))))))
+ (with-directory-excursion "files"
+ (substitute* "HydrusFlashHandling.py"
+ (("SWFRENDER_PATH = .*\n")
+ (string-append "SWFRENDER_PATH = \"" swfrender "\"\n")))
+ (substitute* "HydrusVideoHandling.py"
+ (("FFMPEG_PATH = .*\n")
+ (string-append "FFMPEG_PATH = \"" ffmpeg "\"\n"))))
+ (with-directory-excursion "networking"
+ (substitute* "HydrusNATPunch.py"
+ (("UPNPC_PATH = .*\n")
+ (string-append "UPNPC_PATH = \"" upnpc "\"\n")))))))))
;; Since everything lives in hydrus's root directory, it needs to
;; be spread out to comply with guix's expectations.
(replace 'install
@@ -1232,9 +1234,9 @@ synchronization of multiple instances.")
#$(this-package-input "python"))
"/site-packages/hydrus"))
(mkdir (string-append out "/bin"))
- (copy-file "client.py" client)
+ (copy-file "hydrus_client.py" client)
(chmod client #o0555)
- (copy-file "server.py" server)
+ (copy-file "hydrus_server.py" server)
(chmod server #o0555))))))))
;; All native-inputs are only needed for the the check phase
(native-inputs
@@ -1248,6 +1250,7 @@ synchronization of multiple instances.")
python-cbor2
python-chardet
python-cloudscraper
+ python-dateparser
python-html5lib
python-lxml
python-lz4
@@ -1255,11 +1258,8 @@ synchronization of multiple instances.")
opencv ; its python bindings are a drop-in replacement for opencv-python-headless
python-pillow
python-psutil
- python-pylzma
python-pyopenssl
- ;; Since hydrus' version 494 it supports python-pyside-6 but it's not yet
- ;; in guix. pyside-2 is still supported as a fallback.
- python-pyside-2
+ python-pyside-6
python-pysocks
python-mpv
python-pyyaml
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index f0ee0fd807..96153a4415 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -374,6 +374,63 @@ provides a single @code{GetBlock/AddBlock} interface that seamlessly retrieves
data either locally or from a remote peer through the exchange.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-cid
+ (package
+ (name "go-github-com-ipfs-go-cid")
+ (version "0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-cid")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gfd5dg0shj2daraai2kkf8sg24jp5cr6dsv857wp4q1ni612a23"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-cid"))
+ (propagated-inputs
+ (list go-github-com-multiformats-go-multihash
+ go-github-com-multiformats-go-multibase
+ go-github-com-multiformats-go-varint))
+ (home-page "https://github.com/ipfs/go-cid")
+ (synopsis "Content ID v1 implemented in Go")
+ (description
+ "Implementation in Go of the @url{https://github.com/ipld/cid, CID spec}. It is
+used in @code{go-ipfs} and related packages to refer to a typed hunk of data.")
+ (license license:expat)))
+
+(define-public go-github-com-ipfs-go-cidutil
+ (package
+ (name "go-github-com-ipfs-go-cidutil")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-cidutil")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0j18wf42rfxrrh2fjdbjsjvjqxwgvg46b9wl6y5ig22fx5hvpm1n"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-cidutil"))
+ (propagated-inputs
+ (list go-github-com-ipfs-go-cid
+ go-github-com-multiformats-go-multibase
+ go-github-com-multiformats-go-multicodec
+ go-github-com-multiformats-go-multihash))
+ (home-page "https://github.com/ipfs/go-cidutil")
+ (synopsis "Utility functions and types for working with CIDs")
+ (description
+ "@code{go-cidutil} implements various utilities and helper functions for working
+with @url{https://github.com/ipld/cid, CIDs}.")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-go-ds-badger4
(package
(name "go-github-com-ipfs-go-ds-badger4")
@@ -618,63 +675,6 @@ datastore, giving a clean interface for getting and putting block objects.")
@url{https://github.com/ipfs/go-block-format, IPFS blocks}.")
(license license:expat)))
-(define-public go-github-com-ipfs-go-cid
- (package
- (name "go-github-com-ipfs-go-cid")
- (version "0.4.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-cid")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0gfd5dg0shj2daraai2kkf8sg24jp5cr6dsv857wp4q1ni612a23"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-cid"))
- (propagated-inputs
- (list go-github-com-multiformats-go-multihash
- go-github-com-multiformats-go-multibase
- go-github-com-multiformats-go-varint))
- (home-page "https://github.com/ipfs/go-cid")
- (synopsis "Content ID v1 implemented in Go")
- (description
- "Implementation in Go of the @url{https://github.com/ipld/cid, CID spec}. It is
-used in @code{go-ipfs} and related packages to refer to a typed hunk of data.")
- (license license:expat)))
-
-(define-public go-github-com-ipfs-go-cidutil
- (package
- (name "go-github-com-ipfs-go-cidutil")
- (version "0.1.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-cidutil")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0j18wf42rfxrrh2fjdbjsjvjqxwgvg46b9wl6y5ig22fx5hvpm1n"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-cidutil"))
- (propagated-inputs
- (list go-github-com-ipfs-go-cid
- go-github-com-multiformats-go-multibase
- go-github-com-multiformats-go-multicodec
- go-github-com-multiformats-go-multihash))
- (home-page "https://github.com/ipfs/go-cidutil")
- (synopsis "Utility functions and types for working with CIDs")
- (description
- "@code{go-cidutil} implements various utilities and helper functions for working
-with @url{https://github.com/ipld/cid, CIDs}.")
- (license license:expat)))
-
(define-public go-github-com-ipfs-go-ipfs-cmds
(package
(name "go-github-com-ipfs-go-ipfs-cmds")
@@ -1136,6 +1136,34 @@ implementation of @code{go-ipld-format}")
"An implementation of a @url{https://cbor.io/, CBOR} encoded merkledag object.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-ipld-format
+ (package
+ (name "go-github-com-ipfs-go-ipld-format")
+ (version "0.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-ipld-format")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0zl172ncmx9h5z2p3d0j1377xm9glw4zfyamks31p0pvvx2kyn7c"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-ipld-format"))
+ (propagated-inputs
+ (list go-github-com-multiformats-go-multihash
+ go-github-com-ipfs-go-block-format
+ go-github-com-ipfs-go-cid))
+ (home-page "https://github.com/ipfs/go-ipld-format")
+ (synopsis "IPLD Node and Resolver interfaces in Go")
+ (description
+ "@code{go-ipld-format} is a set of interfaces that a type needs to implement in
+order to be a part of the @acronym{IPLD, InterPlanetary Linked Data} merkle-forest.")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-go-ipld-git
(package
(name "go-github-com-ipfs-go-ipld-git")
@@ -1178,34 +1206,6 @@ IPLD graph as detailed below. Objects are demonstrated here using both
@url{https://ipld.io/docs/schemas/,IPLD Schemas} and example JSON forms.")
(license license:expat)))
-(define-public go-github-com-ipfs-go-ipld-format
- (package
- (name "go-github-com-ipfs-go-ipld-format")
- (version "0.6.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-ipld-format")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0zl172ncmx9h5z2p3d0j1377xm9glw4zfyamks31p0pvvx2kyn7c"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-ipld-format"))
- (propagated-inputs
- (list go-github-com-multiformats-go-multihash
- go-github-com-ipfs-go-block-format
- go-github-com-ipfs-go-cid))
- (home-page "https://github.com/ipfs/go-ipld-format")
- (synopsis "IPLD Node and Resolver interfaces in Go")
- (description
- "@code{go-ipld-format} is a set of interfaces that a type needs to implement in
-order to be a part of the @acronym{IPLD, InterPlanetary Linked Data} merkle-forest.")
- (license license:expat)))
-
(define-public go-github-com-ipfs-go-ipld-legacy
(package
(name "go-github-com-ipfs-go-ipld-legacy")
@@ -1284,6 +1284,36 @@ Graphs, DAG} data structures as specified in
@url{https://docs.ipfs.tech/concepts/merkle-dag}.")
(license license:expat)))
+(define-public go-github-com-ipfs-go-metrics-interface
+ (package
+ (name "go-github-com-ipfs-go-metrics-interface")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ipfs/go-metrics-interface")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0d7jh9aclmxq4z5hynn4lc0ab8c8rip92xkc224vjw2y7kg6jyvg"))))
+ (build-system go-build-system)
+ (arguments
+ (list
+ #:import-path "github.com/ipfs/go-metrics-interface"))
+ (propagated-inputs
+ (list go-github-com-ipfs-go-cid
+ go-github-com-ipfs-go-datastore
+ go-github-com-multiformats-go-base32
+ go-github-com-multiformats-go-multihash))
+ (home-page "https://github.com/ipfs/go-metrics-interface")
+ ;; XXX: The project neither has no a proper description, nor a README, see
+ ;; <https://github.com/ipfs/go-metrics-interface/issues/1>.
+ (synopsis "Metrics interface for IPFS")
+ (description
+ "Metrics interface for IPFS (Kubo).")
+ (license license:expat)))
+
(define-public go-github-com-ipfs-go-metrics-prometheus
(package
(name "go-github-com-ipfs-go-metrics-prometheus")
@@ -1770,36 +1800,6 @@ their levels to be controlled individually.")
(list
#:import-path "github.com/ipfs/go-log"))))
-(define-public go-github-com-ipfs-go-metrics-interface
- (package
- (name "go-github-com-ipfs-go-metrics-interface")
- (version "0.3.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ipfs/go-metrics-interface")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0d7jh9aclmxq4z5hynn4lc0ab8c8rip92xkc224vjw2y7kg6jyvg"))))
- (build-system go-build-system)
- (arguments
- (list
- #:import-path "github.com/ipfs/go-metrics-interface"))
- (propagated-inputs
- (list go-github-com-ipfs-go-cid
- go-github-com-ipfs-go-datastore
- go-github-com-multiformats-go-base32
- go-github-com-multiformats-go-multihash))
- (home-page "https://github.com/ipfs/go-metrics-interface")
- ;; XXX: The project neither has no a proper description, nor a README, see
- ;; <https://github.com/ipfs/go-metrics-interface/issues/1>.
- (synopsis "Metrics interface for IPFS")
- (description
- "Metrics interface for IPFS (Kubo).")
- (license license:expat)))
-
(define-public go-github-com-ipshipyard-p2p-forge
(package
(name "go-github-com-ipshipyard-p2p-forge")
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index f8e80851f2..472fdb5372 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -2752,40 +2752,6 @@ but may be a runtime requirement for Qt-based software to support certain image
formats.")
(license license:lgpl2.1+)))
-(define-public kimageformats-5
- (package
- (inherit kimageformats)
- (name "kimageformats")
- (version "5.116.0")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://kde/stable/frameworks/"
- (version-major+minor version) "/"
- name "-" version ".tar.xz"))
- (sha256
- (base32
- "174g32s3m7irzv2h3lk7bmp3yfc7zrmp7lmp02n3m5ppbv6rn4bw"))))
- (native-inputs
- (list extra-cmake-modules pkg-config))
- (inputs
- (list karchive-5 ; for Krita and OpenRaster images
- openexr-2 ; for OpenEXR high dynamic-range images
- qtbase-5
- qtimageformats-5))
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'check-setup
- (lambda _
- ;; make Qt render "offscreen", required for tests
- (setenv "QT_QPA_PLATFORM" "offscreen"))))
- #:configure-flags #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
- (assoc-ref %build-inputs
- "ilmbase")
- "/include/OpenEXR"))))))
-
(define-public kjobwidgets
(package
(name "kjobwidgets")
diff --git a/gnu/packages/kde-plasma.scm b/gnu/packages/kde-plasma.scm
index 097207a089..8c6e858ccf 100644
--- a/gnu/packages/kde-plasma.scm
+++ b/gnu/packages/kde-plasma.scm
@@ -440,6 +440,53 @@ concept.")
(home-page "https://invent.kde.org/plasma/kactivitymanagerd")
(license (list license:gpl2 license:gpl3))))
+(define-public klassy
+ (package
+ (name "klassy")
+ (version "6.4.breeze6.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/paulmcauley/klassy")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0hrr8kg988qzpk8mccc8kk9lah9b89wx0h47s1981wvb9bci5dpr"))))
+ (build-system qt-build-system)
+ (native-inputs (list extra-cmake-modules))
+ (inputs (list qtsvg
+ kirigami
+ qtdeclarative
+ kconfig
+ kconfigwidgets
+ kcoreaddons
+ kcolorscheme
+ kdecoration
+ kcmutils
+ kguiaddons
+ kiconthemes
+ kwindowsystem
+ ki18n))
+ (arguments
+ (list
+ #:qtbase qtbase
+ #:tests? #f ; No tests.
+ #:configure-flags
+ #~(list "-DBUILD_QT5=OFF")))
+ (home-page "https://github.com/paulmcauley/klassy")
+ (synopsis "Customizable window decoration for the KDE Plasma desktop")
+ (description
+ "Klassy is a highly customizable binary Window Decoration,
+Application Style and Global Theme plugin for recent versions of the KDE Plasma
+desktop.")
+ (license (list license:bsd-3
+ license:cc0
+ license:expat
+ license:gpl2
+ license:gpl2+
+ license:gpl3))))
+
(define-public krdp
(package
(name "krdp")
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 356aaacbc8..dc10309668 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -941,6 +941,8 @@ and manipulation.")
(build-system gnu-build-system)
(arguments
(list #:parallel-tests? #f ;Concurrency issues in tests.
+ ;; relax gcc 14 strictness
+ #:configure-flags #~(list "CFLAGS=-g2 -O2 -Wno-error=int-conversion")
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'symlink-skk-jisyo
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 34dd73e32e..d673618fec 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
;;; Copyright © 2020-2025 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2022, 2023, 2024 Nicolas Graves <ngraves@ngraves.fr>
+;;; Copyright © 2022-2025 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Kiran Shila <me@kiranshila.com>
;;; Copyright © 2022 Wiktor Zelazny <wzelazny@vurv.cz>
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
@@ -76,6 +76,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
+ #:use-module (gnu packages calendar)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -220,6 +221,40 @@ representations and sentence classification.")
family of functions.")
(license license:expat)))
+(define-public python-faster-whisper
+ (package
+ (name "python-faster-whisper")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SYSTRAN/faster-whisper")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0g9cdvphifn4rqhh7p4z1d3pp6bhcx0jmcahjigvcgry0qsijgfn"))))
+ (build-system pyproject-build-system)
+ ;; XXX: Currently tests requires model download, which we'd rather avoid
+ ;; in Guix unless we're sure about the FOSS weights. To test in source :
+ ;; guix shell -D python-faster-whisper -- pytest
+ (arguments (list #:tests? #f))
+ (propagated-inputs (list (list onnxruntime "python")
+ python-av
+ python-ctranslate2
+ python-huggingface-hub
+ python-tokenizers
+ python-tqdm))
+ (native-inputs (list python-numpy
+ python-pytest
+ python-setuptools-next))
+ (home-page "https://github.com/SYSTRAN/faster-whisper")
+ (synopsis "Whisper transcription reimplementation")
+ (description
+ "This package provides a reimplementation of OpenAI's Whisper model using
+CTranslate2, which is a inference engine for transformer models.")
+ (license license:expat)))
+
(define-public python-fasttext
(package
(inherit fasttext)
@@ -1501,37 +1536,25 @@ unsupervised text tokenizer.")
(define-public python-sentence-transformers
(package
(name "python-sentence-transformers")
- (version "3.0.1")
+ (version "5.1.0")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "sentence_transformers" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/UKPLab/sentence-transformers/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1xmzbyrlp6wa7adf42n67c544db17nz95b10ri603lf4gi9jqgca"))))
+ (base32
+ "1jkj77q25b21nxrdszvlw127jnx1m7x8czldiq2mfyj76yjk0ymj"))))
(build-system pyproject-build-system)
(arguments
- (list
- #:test-flags
- '(list
- ;; Missing fixture / train or test data.
- ;; Requires internet access.
- "--ignore=tests/test_sentence_transformer.py"
- "--ignore=tests/test_train_stsb.py"
- "--ignore=tests/test_compute_embeddings.py"
- "--ignore=tests/test_cross_encoder.py"
- "--ignore=tests/test_model_card_data.py"
- "--ignore=tests/test_multi_process.py"
- "--ignore=tests/test_pretrained_stsb.py"
- "-k" (string-append
- "not test_LabelAccuracyEvaluator"
- " and not test_ParaphraseMiningEvaluator"
- " and not test_cmnrl_same_grad"
- " and not test_paraphrase_mining"
- " and not test_simple_encode"))))
+ (list #:tests? #f)) ;network access is required
(propagated-inputs (list python-huggingface-hub
python-numpy
python-pillow
python-pytorch
+ python-typing-extensions
python-scikit-learn
python-scipy
python-tqdm
@@ -1843,6 +1866,139 @@ aim is to provide all such passes along with ONNX so that they can be re-used
with a single function call.")
(license license:expat)))
+(define-public onnxruntime
+ (package
+ (name "onnxruntime")
+ (version "1.22.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/microsoft/onnxruntime")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0z2s79l4wdilssw9lmj319ypyyqi2y0dx0fpwr2yhq8bax3ci50n"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:modules '((guix build cmake-build-system)
+ (guix build utils)
+ ((guix build pyproject-build-system) #:prefix py:))
+ #:imported-modules (append %cmake-build-system-modules
+ %pyproject-build-system-modules)
+ #:configure-flags
+ #~(list "-Donnxruntime_BUILD_UNIT_TESTS=OFF"
+ "-Donnxruntime_BUILD_SHARED_LIB=ON"
+ "-Donnxruntime_ENABLE_LTO=ON"
+ "-Donnxruntime_ENABLE_PYTHON=ON"
+ "-Donnxruntime_USE_FULL_PROTOBUF=OFF"
+ ;; XXX: Fixes build with gcc@14.
+ "-DCMAKE_CXX_FLAGS=-Wl,-z,noexecstack")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "cmake")))
+ (add-after 'unpack 'relax-dependencies
+ (lambda _
+ (with-output-to-file "cmake/external/eigen.cmake"
+ (lambda _
+ (display "find_package(Eigen3 REQUIRED)\n")))
+ (substitute* "cmake/external/abseil-cpp.cmake"
+ (("20240722")
+ (car (string-split #$(package-version
+ (this-package-input "abseil-cpp"))
+ #\.))))))
+ (add-after 'install 'build-python
+ (lambda _
+ (invoke "python3" "../setup.py" "bdist_wheel")))
+ (add-after 'build-python 'install-python
+ (lambda* (#:key inputs #:allow-other-keys)
+ ((assoc-ref py:%standard-phases 'install)
+ #:inputs inputs
+ #:outputs `(("out" . ,#$output:python)))))
+ (add-after 'install-python 'add-install-to-pythonpath
+ (lambda* (#:key inputs #:allow-other-keys)
+ ((assoc-ref py:%standard-phases 'add-install-to-pythonpath)
+ #:inputs inputs
+ #:outputs `(("out" . ,#$output:python)))))
+ (delete 'check)
+ (add-after 'add-install-to-pythonpath 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (with-directory-excursion "../onnxruntime/test/python"
+ ((assoc-ref py:%standard-phases 'check)
+ #:tests? tests?
+ #:test-flags
+ `(;; XXX: NotImplementedError
+ "--ignore-glob=quantization/*"
+ ;; XXX: These tests require transformer models or have
+ ;; import issues.
+ "--ignore=transformers/test_generation.py"
+ "--ignore=transformers/test_gpt2_benchmark.py"
+ "--ignore=transformers/test_gpt2_to_onnx.py"
+ "--ignore=transformers/test_optimizer_huggingface_bert.py"
+ "--ignore=transformers/test_parity_huggingface_gpt_attention.py"
+ "--ignore=transformers/test_shape_infer_helper.py"
+ ;; XXX: onnxscript ModuleNotFound
+ "--ignore=transformers/test_gelu_fusions.py"
+ "--ignore=transformers/test_gemma3_vision.py"
+ ;; XXX: Other failing tests.
+ "-k" ,(string-append
+ "not test_gelu_is_fused_by_default"
+ " and not test_inverse"))))))
+ (add-after 'check 'python-sanity-check
+ (lambda* (#:key tests? inputs #:allow-other-keys)
+ ((assoc-ref py:%standard-phases 'sanity-check)
+ #:inputs `(("sanity-check.py" . ,#$(default-sanity-check.py))
+ ,@inputs)
+ #:outputs `(("out" . ,#$output:python))))))))
+ (outputs (list "out" "python"))
+ (inputs
+ (list abseil-cpp
+ boost
+ cpuinfo
+ dlpack
+ c++-gsl
+ date
+ eigen-for-onnxruntime
+ flatbuffers-23.5
+ googletest
+ nlohmann-json
+ onnx
+ protobuf
+ pybind11
+ re2-next
+ safeint
+ zlib))
+ (native-inputs
+ (list pkg-config
+ python-einops
+ python-wrapper
+ python-numpy
+ python-parameterized
+ python-psutil
+ python-pytest
+ python-pytorch
+ python-sentencepiece
+ python-setuptools-next))
+ (propagated-inputs
+ (list python-coloredlogs
+ python-flatbuffers
+ python-protobuf
+ python-sympy))
+ (home-page "https://github.com/microsoft/onnxruntime")
+ (synopsis "Cross-platform, high performance scoring engine for ML models")
+ (description
+ "ONNX Runtime is a performance-focused complete scoring engine
+for Open Neural Network Exchange (ONNX) models, with an open
+extensible architecture to continually address the latest developments
+in AI and Deep Learning. ONNX Runtime stays up to date with the ONNX
+standard with complete implementation of all ONNX operators, and
+supports all ONNX releases (1.2+) with both future and backwards
+compatibility.")
+ (license license:expat)))
+
(define-public rxcpp
(package
(name "rxcpp")
@@ -6669,22 +6825,25 @@ simple speech recognition.")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/ideasman42/nerd-dictation")
- (commit commit)))
+ (url "https://github.com/ideasman42/nerd-dictation")
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0frdpswv6w3cwj3c7wd5w8gj3s1hvpdwd48qhfhfxf7imahz9bqf"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'chdir
- (lambda _ (chdir "package/python"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "package/python"))))))
+ (native-inputs (list python-setuptools python-wheel))
(propagated-inputs (list python-vosk))
(home-page "https://github.com/ideasman42/nerd-dictation")
(synopsis "Offline speech-to-text for desktop Linux")
- (description "\
-This package provides simple access speech to text for using in
+ (description
+ "This package provides simple access speech to text for using in
Linux without being tied to a desktop environment, using the @code{vosk-api}.
The user configuration lets you manipulate text using Python string
operations. It has zero overhead, as this relies on manual activation and
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 9dcc4660d0..e6bc71710b 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -4726,23 +4726,23 @@ and Conformance}
(uri (pypi-uri "dkimpy" version))
(sha256
(base32 "088iz5cqjqh4c7141d94pvn13bh25aizqlrifwv6fs5g16zj094s"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'patch-source-shebangs 'patch-more-source
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((openssl (assoc-ref inputs "openssl")))
- (substitute* "dkim/dknewkey.py"
- (("/usr/bin/openssl") (string-append openssl "/bin/openssl"))))
- #t))
- (replace 'check
- (lambda _
- (invoke "python" "test.py"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'patch-more-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "dkim/dknewkey.py"
+ (("/usr/bin/openssl")
+ (search-input-file inputs "bin/openssl")))))
+ (replace 'check
+ (lambda _
+ (invoke "python" "test.py"))))))
(propagated-inputs
(list python-dnspython))
(native-inputs
- (list python-authres python-pynacl))
+ (list python-authres python-pynacl python-setuptools python-wheel))
(inputs
(list openssl))
(home-page "https://launchpad.net/dkimpy")
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index b0e9322b76..119fc5988a 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -27,13 +27,13 @@
(define-module (gnu packages mate)
#:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages)
+ #:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
+ #:use-module (guix packages)
#:use-module (guix utils)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system glib-or-gtk)
- #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages attr)
#:use-module (gnu packages autotools)
@@ -61,12 +61,12 @@
#:use-module (gnu packages javascript)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages linux)
- #:use-module (gnu packages multiprecision)
#:use-module (gnu packages messaging)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages nss)
- #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pdf)
#:use-module (gnu packages photo)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
@@ -74,8 +74,8 @@
#:use-module (gnu packages tex)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public mate-common
@@ -167,37 +167,42 @@ actions.")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://mate/" (version-major+minor version) "/"
- name "-" version ".tar.xz"))
+ (uri (string-append "mirror://mate/"
+ (version-major+minor version)
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
(sha256
- (base32
- "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna"))))
+ (base32 "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna"))))
(build-system gnu-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'autoconf
- (lambda _
- (setenv "SHELL" (which "sh"))
- (setenv "CONFIG_SHELL" (which "sh"))
- (invoke "sh" "autogen.sh"))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'autoconf
+ (lambda _
+ (setenv "SHELL" (which "sh"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+ (invoke "sh" "autogen.sh"))))))
(native-inputs
;; autoconf-wrapper is required due to the non-standard
;; 'autoconf phase.
- `(("autoconf" ,autoconf-wrapper)
- ("automake" ,automake)
- ("intltool" ,intltool)
- ("icon-naming-utils" ,icon-naming-utils)
- ("libtool" ,libtool)
- ("mate-common" ,mate-common)
- ("pkg-config" ,pkg-config)
- ("which" ,which)))
+ (list autoconf-wrapper
+ automake
+ intltool
+ icon-naming-utils
+ libtool
+ mate-common
+ pkg-config
+ which))
(home-page "https://mate-desktop.org/")
(synopsis "MATE desktop environment icon theme faenza")
(description
- "Icon theme using Faenza and Faience icon themes and some
-customized icons for MATE. Furthermore it includes some icons
-from Mint-X-F and Faenza-Fresh icon packs.")
+ "Icon theme using Faenza and Faience icon themes and some customized
+icons for MATE. Furthermore it includes some icons from Mint-X-F and
+Faenza-Fresh icon packs.")
(license license:gpl2+)))
(define-public mate-themes
@@ -262,39 +267,48 @@ desktop and the mate-about program.")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://mate/" (version-major+minor version) "/"
- "libmateweather-" version ".tar.xz"))
+ (uri (string-append "mirror://mate/"
+ (version-major+minor version)
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
(sha256
(base32 "1dfj68q3x9camd7h94pcwv8a5969cv5d4p979gcbk4xknpg76hsm"))))
(build-system gnu-build-system)
(arguments
- '(#:configure-flags
- (list (string-append "--with-zoneinfo-dir=/var/empty"))
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'fix-tzdata-location
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "TZDIR" (search-input-directory inputs "/share/zoneinfo"))
- (substitute* "data/check-timezones.sh"
- (("/usr/share/zoneinfo/zone.tab")
- (search-input-file inputs "/share/zoneinfo/zone.tab"))
- ;; XXX: Ignore this test for now, which requires tzdata-2023c.
- (("exit 1") "exit 0")))))))
+ (list
+ #:configure-flags #~(list "--with-zoneinfo-dir=/var/empty")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'fix-tzdata-location
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZDIR"
+ (search-input-directory inputs "/share/zoneinfo"))
+ (substitute* "data/check-timezones.sh"
+ (("/usr/share/zoneinfo/zone.tab")
+ (search-input-file inputs "/share/zoneinfo/zone.tab"))
+ ;; XXX: Ignore this test for now, which requires tzdata-2023c.
+ (("exit 1")
+ "exit 0")))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("dconf" ,dconf)
- ("glib:bin" ,glib "bin")))
+ (list dconf
+ (list glib "bin")
+ intltool
+ pkg-config))
(inputs
- (list gtk+ tzdata-for-tests))
+ (list gtk+
+ tzdata-for-tests))
(propagated-inputs
- ;; both of these are requires.private in mateweather.pc
- (list libsoup-minimal-2 libxml2))
+ ;; both of these are requires.private in mateweather.pc
+ (list libsoup-minimal-2
+ libxml2))
(home-page "https://mate-desktop.org/")
(synopsis "MATE library for weather information from the Internet")
(description
- "This library provides access to weather information from the internet for
-the MATE desktop environment.")
+ "This library provides access to weather information from the internet
+for the MATE desktop environment.")
(license license:lgpl2.1+)))
(define-public mate-terminal
@@ -807,24 +821,24 @@ hypertext navigation, and table-of-contents bookmarks.")
"0ylm46wgg7linppid6pdfaixhdb8zgyrxl3lxz17x0am2k718c0y"))))
(build-system glib-or-gtk-build-system)
(arguments
- `(#:configure-flags '("--disable-update-mimedb")
- #:tests? #f ; tests fail even with display set
- #:phases
- (modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Tests require a running X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- ;; For the missing /etc/machine-id.
- (setenv "DBUS_FATAL_WARNINGS" "0")
- #t)))))
+ (list
+ #:tests? #f ; tests fail even with display set
+ #:configure-flags #~(list "--disable-update-mimedb")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0"))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)
- ("glib:bin" ,glib "bin")
- ("xorg-server" ,xorg-server)
- ("gobject-introspection" ,gobject-introspection)))
+ (list pkg-config
+ intltool
+ (list glib "bin")
+ xorg-server
+ gobject-introspection))
(inputs
(list exempi
gtk+
@@ -837,8 +851,8 @@ hypertext navigation, and table-of-contents bookmarks.")
startup-notification))
(native-search-paths
(list (search-path-specification
- (variable "CAJA_EXTENSIONDIR")
- (files (list "lib/caja/extensions-2.0/**")))))
+ (variable "CAJA_EXTENSIONDIR")
+ (files (list "lib/caja/extensions-2.0/**")))))
(home-page "https://mate-desktop.org/")
(synopsis "File manager for the MATE desktop")
(description
@@ -914,6 +928,44 @@ applications associated with them. Caja is also responsible for handling the
icons on the MATE desktop. It works on local and remote file systems.")
(license license:gpl2+)))
+(define-public python-caja
+ (package
+ (name "python-caja")
+ (version "1.28.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://mate/"
+ (version-major+minor version)
+ "/"
+ name
+ "-"
+ version
+ ".tar.xz"))
+ (sha256
+ (base32 "1ml0yrkbly1mz5gmz1wynn3zff5900szncc4rk83xqyzvcww4mmh"))))
+ (build-system glib-or-gtk-build-system)
+ (arguments
+ (list
+ #:configure-flags
+ #~(list (string-append "--with-cajadir="
+ #$output
+ "/lib/caja/extensions-2.0/"))))
+ (native-inputs
+ (list pkg-config
+ gettext-minimal
+ python-wrapper))
+ (inputs
+ (list caja
+ gtk+
+ python-pygobject))
+ (home-page "https://mate-desktop.org/")
+ (synopsis "Python bindings for Caja components")
+ (description
+ "This package provides Python bindings to Caja, a file manager for the
+MATE desktop.")
+ (license license:gpl2+)))
+
(define-public mate-control-center
(package
(name "mate-control-center")
@@ -927,22 +979,22 @@ icons on the MATE desktop. It works on local and remote file systems.")
(base32 "1g0lg4x3idilaxhwq1s90pajkvv9i012kzrnk0pxqj2jzl2cgwpb"))))
(build-system glib-or-gtk-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-before 'configure 'use-elogind-as-systemd
- (lambda _
- (substitute* "configure"
- (("systemd") "libelogind"))))
- (add-before 'build 'fix-polkit-action
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make sure the polkit file refers to the right
- ;; executable.
- (let ((out (assoc-ref outputs "out")))
- (substitute*
- '("capplets/display/org.mate.randr.policy.in"
- "capplets/display/org.mate.randr.policy")
- (("/usr/sbin")
- (string-append out "/sbin")))
- #t))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'use-elogind-as-systemd
+ (lambda _
+ (substitute* "configure"
+ (("systemd") "libelogind"))))
+ (add-before 'build 'fix-polkit-action
+ (lambda _
+ ;; Make sure the polkit file refers to the right
+ ;; executable.
+ (substitute*
+ '("capplets/display/org.mate.randr.policy.in"
+ "capplets/display/org.mate.randr.policy")
+ (("/usr/sbin")
+ (string-append #$output "/sbin"))))))))
(native-inputs
(list pkg-config
intltool
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7974a2f0b7..0c36a60948 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -829,20 +829,6 @@ translator for the language. In addition to the C library, a stand-alone
LP/MIP solver is included in the package.")
(license license:gpl3+)))
-(define-public glpk-4
- (package
- (inherit glpk)
- (name "glpk")
- (version "4.65")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/glpk/glpk-"
- version ".tar.gz"))
- (sha256
- (base32
- "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2"))))))
-
(define-public linasm
(package
(name "linasm")
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index a4f8538bd2..d3df3507f0 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -39,6 +39,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
@@ -74,6 +75,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
@@ -358,20 +360,28 @@ information about tracks being played to a scrobbler, such as Libre.FM.")
(package
(name "python-mpd2")
(version "3.0.4")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "python-mpd2" version))
- (sha256
- (base32
- "1r8saq1460yfa0sxfrvxqs2r453wz2xchlc9gzbpqznr49786rvs"))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Mic92/python-mpd2")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06j1n43sg3blp89xwgm64yssz6478y5r09xwdg9mnsgihpjpm89a"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _ (invoke "python" "-m" "pytest" "mpd/tests.py"))))))
+ (list
+ #:test-flags #~(list "-m" "unittest" "mpd.tests")
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (if tests?
+ (apply invoke "python" test-flags)
+ (format #t "test suite not run~%")))))))
(native-inputs
- (list python-mock python-pytest))
+ (list python-mock python-setuptools python-wheel))
(home-page "https://github.com/Mic92/python-mpd2")
(synopsis "Python MPD client library")
(description "Python-mpd2 is a Python library which provides a client
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 860d63b366..982285299b 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -4205,17 +4205,22 @@ of tags.")
(package
(name "python-musicbrainzngs")
(version "0.7.1")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "musicbrainzngs" version))
- (sha256
- (base32
- "09z6k07pxncfgfc8clfmmxl2xqbd7h8x8bjzwr95hc0bzl00275b"))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alastair/python-musicbrainzngs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05rv5wmasamwxkbs8v9lbp2js6y5hhqz6c58c2afz2b202yp932m"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://python-musicbrainzngs.readthedocs.org/")
(synopsis "Python bindings for MusicBrainz NGS webservice")
- (description "Musicbrainzngs implements Python bindings of the MusicBrainz
-web service. This library can be used to retrieve music metadata from the
+ (description
+ "Musicbrainzngs implements Python bindings of the MusicBrainz web
+service. This library can be used to retrieve music metadata from the
MusicBrainz database.")
;; 'musicbrainzngs/compat.py' is ISC licensed.
(license (list license:bsd-2 license:isc))))
@@ -4279,24 +4284,32 @@ websites such as Libre.fm.")
(sha256
(base32
"0j7qivaa04bpdz3anmgci5833dgiyfqqwq9fdrpl9m68b34gl773"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-requests eyed3 python-beautifulsoup4 youtube-dl))
+ (build-system pyproject-build-system)
(arguments
- '(#:modules ((guix build python-build-system)
- (guix build utils)
- (srfi srfi-26))
- #:phases (modify-phases %standard-phases
- (add-before 'build 'change-directory
- (lambda _
- (chdir "instantmusic-0.1") #t))
- (add-before 'install 'fix-file-permissions
- (lambda _
- ;; Fix some read-only files that would cause a build failure
- (for-each (cut chmod <> #o644)
- (find-files "instantmusic.egg-info"
- "PKG-INFO|.*\\.txt"))
- #t)))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'change-directory
+ (lambda _
+ (chdir "instantmusic-0.1")))
+ (add-before 'build 'patch-yt-dlp
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "bin/instantmusic"
+ (("youtube-dl")
+ (search-input-file inputs "bin/yt-dlp")))
+ (substitute* "setup.py"
+ (("youtube-dl")
+ "yt-dlp"))))
+ (add-before 'install 'fix-file-permissions
+ (lambda _
+ ;; Fix some read-only files that would cause a build failure
+ (for-each (lambda (file)
+ (chmod file #o644))
+ (find-files "instantmusic.egg-info"
+ "PKG-INFO|.*\\.txt")))))))
+ (native-inputs (list python-setuptools python-wheel))
+ (inputs (list yt-dlp))
+ (propagated-inputs (list python-requests eyed3 python-beautifulsoup4))
(home-page "https://github.com/yask123/Instant-Music-Downloader")
(synopsis "Command-line program to download a song from YouTube")
(description "InstantMusic downloads a song from YouTube in MP3 format.
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 9874b2b910..b99b57459c 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2015-2018, 2020-2025 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015-2025 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2020, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
@@ -10,13 +10,15 @@
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019-2024 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
+;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024, 2025 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2024 Romain Garbage <romain.garbage@inria.fr>
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -497,6 +499,78 @@ can use the same high-level API to link their software with different
cluster/resource management systems.")
(license license:gpl3+)))
+(define-public python-pathos
+ (package
+ (name "python-pathos")
+ (version "0.3.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pathos" version))
+ (sha256
+ (base32 "0m077iw5fml4r7csgi4j7ngvdmg1y9jxly64gi56argq1qnr3m5s"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ ;; XXX: Tests freeze when invoked with Pytest directly, this step
+ ;; is taken from project's tox.ini.
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (invoke "python" "./pathos/tests/__main__.py")))))))
+ (native-inputs
+ (list python-setuptools-next))
+ (propagated-inputs
+ (list python-dill
+ python-multiprocess
+ python-pox
+ python-ppft))
+ (home-page "https://pypi.org/project/pathos/")
+ (synopsis
+ "Parallel graph management and execution in heterogeneous computing")
+ (description
+ "Python-pathos is a framework for heterogeneous computing. It provides a
+consistent high-level interface for configuring and launching parallel
+computations across heterogeneous resources. Python-pathos provides
+configurable launchers for parallel and distributed computing, where each
+launcher contains the syntactic logic to configure and launch jobs in an
+execution environment.")
+ (license license:bsd-3)))
+
+(define-public python-ppft
+ (package
+ (name "python-ppft")
+ (version "1.7.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ppft" version))
+ (sha256
+ (base32
+ "15hvw39m2r3chm8zbqgkld0m1cl049rxidln4a6jnk72rx479xzk"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (invoke "python" "./ppft/tests/__main__.py")))))))
+ (native-inputs
+ (list python-setuptools-next))
+ (home-page "https://pypi.org/project/ppft/")
+ (synopsis "Fork of Parallel Python")
+ (description
+ "This package is a fork of Parallel Python. The Parallel Python
+module (@code{pp}) provides an easy and efficient way to create
+parallel-enabled applications for @dfn{symmetric multiprocessing} (SMP)
+computers and clusters. It features cross-platform portability and dynamic
+load balancing.")
+ (license license:bsd-3)))
+
(define-public python-schwimmbad
(package
(name "python-schwimmbad")
diff --git a/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch b/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
index 1c91823785..8c6e954926 100644
--- a/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
+++ b/gnu/packages/patches/dolphin-emu-unbundle-tinygltf.patch
@@ -1,46 +1,9 @@
Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13824
-diff --git a/CMake/DolphinLibraryTools.cmake b/CMake/DolphinLibraryTools.cmake
-index 4c395a8ef9..efa0d6a9e2 100644
---- a/CMake/DolphinLibraryTools.cmake
-+++ b/CMake/DolphinLibraryTools.cmake
-@@ -1,14 +1,3 @@
--# like add_library(new ALIAS old) but avoids add_library cannot create ALIAS target "new" because target "old" is imported but not globally visible. on older cmake
--# This can be replaced with a direct alias call once our minimum is cmake 3.18
--function(dolphin_alias_library new old)
-- string(REPLACE "::" "" library_no_namespace ${old})
-- if (NOT TARGET _alias_${library_no_namespace})
-- add_library(_alias_${library_no_namespace} INTERFACE)
-- target_link_libraries(_alias_${library_no_namespace} INTERFACE ${old})
-- endif()
-- add_library(${new} ALIAS _alias_${library_no_namespace})
--endfunction()
--
- # Makes an imported target if it doesn't exist. Useful for when find scripts from older versions of cmake don't make the targets you need
- function(dolphin_make_imported_target_if_missing target lib)
- if(${lib}_FOUND AND NOT TARGET ${target})
-@@ -85,7 +74,7 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
- endif()
- if(${library}_FOUND)
- message(STATUS "Using system ${library}")
-- dolphin_alias_library(${alias} PkgConfig::${library})
-+ add_library(${alias} ALIAS PkgConfig::${library})
- set(${library}_TYPE "System" PARENT_SCOPE)
- else()
- dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c277e2a10a..67b72179f3 100644
+index 964a33ac13..7779cf2eac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -1,7 +1,7 @@
- ########################################
- # General setup
- #
--cmake_minimum_required(VERSION 3.13)
-+cmake_minimum_required(VERSION 3.18)
-
- cmake_policy(SET CMP0079 NEW) # let target_link_libraries() link to a target defined in a different directory
- cmake_policy(SET CMP0080 OLD) # allow using BundleUtilities at configure time
@@ -657,7 +657,11 @@ add_subdirectory(Externals/glslang)
if(WIN32 OR APPLE)
add_subdirectory(Externals/spirv_cross)
@@ -48,7 +11,7 @@ index c277e2a10a..67b72179f3 100644
-add_subdirectory(Externals/tinygltf)
+
+dolphin_find_optional_system_library(TinyGLTF Externals/tinygltf)
-+if(NOT DEFINED tinygltf)
++if(NOT TARGET tinygltf)
+ add_library(tinygltf ALIAS tinygltf::tinygltf) # using system library
+endif()
@@ -65,6 +28,32 @@ index 0d86268bbe..9e6a99c6f8 100644
-target_include_directories(tinygltf INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(tinygltf INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/tinygltf)
dolphin_disable_warnings(tinygltf)
+diff --git a/Externals/tinygltf/exports.props b/Externals/tinygltf/exports.props
+index 7e2fde81cf..09f43c1bae 100644
+--- a/Externals/tinygltf/exports.props
++++ b/Externals/tinygltf/exports.props
+@@ -2,7 +2,7 @@
+ <Project>
+ <ItemDefinitionGroup>
+ <ClCompile>
+- <AdditionalIncludeDirectories>$(ExternalsDir)tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>$(ExternalsDir)tinygltf\tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>TINYGLTF_NOEXCEPTION;TINYGLTF_NO_EXTERNAL_IMAGE;TINYGLTF_USE_CPP14;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemDefinitionGroup>
+diff --git a/Externals/tinygltf/tinygltf.vcxproj b/Externals/tinygltf/tinygltf.vcxproj
+index e33d949e56..4995626f22 100644
+--- a/Externals/tinygltf/tinygltf.vcxproj
++++ b/Externals/tinygltf/tinygltf.vcxproj
+@@ -17,7 +17,7 @@
+ <PropertyGroup Label="UserMacros" />
+ <ItemDefinitionGroup>
+ <ClCompile>
+- <AdditionalIncludeDirectories>tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
++ <AdditionalIncludeDirectories>tinygltf\tinygltf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ </ItemDefinitionGroup>
+ <ItemGroup>
diff --git a/Source/Core/VideoCommon/Assets/MeshAsset.cpp b/Source/Core/VideoCommon/Assets/MeshAsset.cpp
index bde8c8aab6..13eb2b4448 100644
--- a/Source/Core/VideoCommon/Assets/MeshAsset.cpp
diff --git a/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch b/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
index c18a6c2ec4..d6046d440c 100644
--- a/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
+++ b/gnu/packages/patches/dolphin-emu-unbundle-watcher.patch
@@ -1,50 +1,30 @@
Upstream-status: https://github.com/dolphin-emu/dolphin/pull/13823
-diff --git a/CMake/DolphinLibraryTools.cmake b/CMake/DolphinLibraryTools.cmake
-index 4c395a8ef9..fb806b1b90 100644
---- a/CMake/DolphinLibraryTools.cmake
-+++ b/CMake/DolphinLibraryTools.cmake
-@@ -92,3 +92,30 @@ function(dolphin_find_optional_system_library_pkgconfig library search alias bun
- set(${library}_TYPE "Bundled" PARENT_SCOPE)
- endif()
- endfunction()
-+
-+# This can be used for header-only libraries that doesn't offer a
-+# pkg-config or CMake file. It uses CMake's find_file. LIBRARY is the
-+# name of the library providing it, INCLUDE is the header file name
-+# without its installation prefix (e.g. "wtr/watcher.hpp") while
-+# BUNDLED_PATH is the root directory of the bundled library.
-+function(dolphin_find_optional_system_include library include bundled_path)
-+ dolphin_optional_system_library(use_system ${library})
-+ string(TOUPPER ${library} upperlib)
-+ if(use_system)
-+ find_file(${library}_INCLUDE ${include})
-+ if((NOT ${library}_INCLUDE) AND (NOT ${use_system} STREQUAL "AUTO"))
-+ message(FATAL_ERROR "No system ${library} headers found. \
-+Please install it or set USE_SYSTEM_${upperlib} to AUTO or OFF.")
-+ endif()
-+ endif()
-+ if(${library}_INCLUDE)
-+ message(STATUS "Using system ${library} headers")
-+ set(${library}_TYPE "System" PARENT_SCOPE)
-+ add_library(${library} INTERFACE IMPORTED GLOBAL)
-+ set_target_properties(${library} PROPERTIES
-+ INTERFACE_INCLUDE_DIRECTORIES ${${library}_INCLUDE})
-+ else()
-+ dolphin_add_bundled_library(${library} ${use_system} ${bundled_path})
-+ set(${library}_TYPE "Bundled" PARENT_SCOPE)
-+ endif()
-+endfunction()
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c277e2a10a..12b1c36ef0 100644
+index c277e2a10a..9b9ec00f91 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -786,7 +786,7 @@ if (USE_RETRO_ACHIEVEMENTS)
+@@ -786,7 +786,9 @@ if (USE_RETRO_ACHIEVEMENTS)
add_subdirectory(Externals/rcheevos)
endif()
-add_subdirectory(Externals/watcher)
-+dolphin_find_optional_system_include(watcher wtr/watcher.hpp Externals/watcher)
++dolphin_find_optional_system_library_pkgconfig(
++ WATCHER watcher watcher::watcher Externals/watcher
++)
########################################
# Pre-build events: Define configuration variables and write SCM info header
+diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt
+index ee738ba4e3..629c739c8d 100644
+--- a/Source/Core/Common/CMakeLists.txt
++++ b/Source/Core/Common/CMakeLists.txt
+@@ -186,7 +186,7 @@ PRIVATE
+ FatFs
+ Iconv::Iconv
+ spng::spng
+- watcher
++ watcher::watcher
+ ${VTUNE_LIBRARIES}
+ )
+
diff --git a/gnu/packages/patches/safeint-disable-tests.patch b/gnu/packages/patches/safeint-disable-tests.patch
new file mode 100644
index 0000000000..baecd85b1b
--- /dev/null
+++ b/gnu/packages/patches/safeint-disable-tests.patch
@@ -0,0 +1,42 @@
+---
+ Test/GccTest/CMakeLists.txt | 18 ------------------
+ 1 file changed, 18 deletions(-)
+
+diff --git a/Test/GccTest/CMakeLists.txt b/Test/GccTest/CMakeLists.txt
+index 8a3bef4..9254d70 100644
+--- a/Test/GccTest/CMakeLists.txt
++++ b/Test/GccTest/CMakeLists.txt
+@@ -105,15 +105,6 @@ else()
+
+ target_compile_options(CompileTest_gcc PUBLIC -Wall)
+
+- add_executable(CompileTest_gcc17
+- ../CompileTest.cpp
+- ../ConstExpr.cpp
+- ../CleanCompile.cpp
+- ../../SafeInt.hpp
+- )
+-
+- target_compile_options(CompileTest_gcc17 PUBLIC -Wall -std=c++17)
+-
+ add_executable(CompileTest_gcc14
+ ../CompileTest.cpp
+ ../ConstExpr.cpp
+@@ -132,15 +123,6 @@ else()
+
+ target_compile_options(CompileTest_gcc14_NoEH PUBLIC -Wall -std=c++14 -fno-exceptions)
+
+- add_executable(CompileTest_gcc98
+- ../CompileTest.cpp
+- ../ConstExpr.cpp
+- ../CleanCompile.cpp
+- ../../SafeInt.hpp
+- )
+-
+- target_compile_options(CompileTest_gcc98 PUBLIC -D SAFEINT_USE_CPLUSCPLUS_98 -Wall -std=c++98 -fno-exceptions)
+-
+ add_executable(safe_math_test_gcc
+ ../c_safe_math/safe_math_test.c
+ ../c_safe_math/safe_math_test.h
+--
+2.50.1
diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm
index 61c2f13951..e16cbc0e96 100644
--- a/gnu/packages/prolog.scm
+++ b/gnu/packages/prolog.scm
@@ -185,7 +185,7 @@ it.")
(define-public trealla
(package
(name "trealla")
- (version "2.82.2")
+ (version "2.82.9")
(source
(origin
(method git-fetch)
@@ -194,7 +194,7 @@ it.")
(url "https://github.com/trealla-prolog/trealla")
(commit (string-append "v" version))))
(sha256
- (base32 "0ahcc7whfl1izzdqmqsxr87i997x07c0sg6ribawmwfpwqf7r0xa"))
+ (base32 "15vah9mk81di4srd7rd8ggwl9k2hbzra9bmgkk73fdnmd9db3ryr"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index b98e9dfa09..f43b49163d 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -1249,18 +1249,10 @@ Python program.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "0fg8jflcf4c929gd4zbcrk73d08waaqjfjmdjrgnv54mzl35pjxl"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
+ (base32 "0fg8jflcf4c929gd4zbcrk73d08waaqjfjmdjrgnv54mzl35pjxl"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-numpy python-pytest))
+ (list python-numpy python-pytest python-setuptools python-wheel))
(home-page "https://github.com/kaste/mockito-python")
(synopsis "Mocking library for Python")
(description "This package provides a Python implementation of the Java
@@ -1268,7 +1260,6 @@ library of the same name. It eases monkey patching, for example to stub out
side effects when unit testing.")
(license license:expat)))
-
(define-public python-mypy
(package
(name "python-mypy")
@@ -1608,13 +1599,13 @@ flake8 to check PEP-8 naming conventions.")
(method url-fetch)
(uri (pypi-uri "pyannotate" version))
(sha256
- (base32
- "16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84"))))
- (build-system python-build-system)
+ (base32 "16bm0mf7wxvy0lgmcs1p8n1ji8pnvj1jvj8zk3am70dkp825iv84"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-setuptools python-wheel))
(propagated-inputs
(list python-mypy-extensions python-six))
- (home-page
- "https://github.com/dropbox/pyannotate")
+ (home-page "https://github.com/dropbox/pyannotate")
(synopsis "Auto-generate PEP-484 annotations")
(description "This package, PyAnnotate, is used to auto-generate PEP-484
annotations.")
@@ -1979,18 +1970,21 @@ of the project to ensure it renders properly.")
(version "1.0.2")
(source
(origin
- (method url-fetch)
- (uri
- (pypi-uri "pytest_click" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Stranger6667/pytest-click")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1rcv4m850rl7djzdgzz2zhjd8g5ih8w6l0sj2f9hsynymlsq82xl"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-click python-pytest))
+ (base32 "197nvlqlyfrqpy5lrkmfh1ywpr6j9zipxl9d7syg2a2n7jz3a8rj"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
+ (propagated-inputs (list python-click python-pytest))
(home-page "https://github.com/Stranger6667/pytest-click")
- (synopsis "Py.test plugin for Click")
- (description "This package provides a plugin to test Python click
-interfaces with pytest.")
+ (synopsis "Pytest plugin for Click")
+ (description
+ "This package provides a plugin to test Python click interfaces with
+pytest.")
(license license:expat)))
(define-public python-pytest-console-scripts
diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm
index 66f6828377..9166620f28 100644
--- a/gnu/packages/python-compression.scm
+++ b/gnu/packages/python-compression.scm
@@ -168,7 +168,6 @@ to access its data, so it can be used as a drop-in replacement.")
python-coverage
python-coveralls
python-hypothesis
- python-pyannotate
python-pytest
python-pytest-cov
python-setuptools
@@ -394,8 +393,7 @@ library.")
(build-system pyproject-build-system)
(propagated-inputs (list python-importlib-metadata))
(native-inputs
- (list python-pyannotate
- python-pytest
+ (list python-pytest
python-setuptools-scm
python-setuptools
python-wheel))
@@ -561,29 +559,26 @@ Python.")
(define-public python-lzo
(package
(name "python-lzo")
- (version "1.14")
+ (version "1.15")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-lzo" version))
(sha256
- (base32 "0315nq6r39n51n8qqamb7xv0ib0qrh76q7g3a1977172mbndijw3"))))
- (build-system python-build-system)
+ (base32 "0jbv6853p8flk65ks0nw37f6f5v0ryi6nhppv5fm3863ql0alym5"))))
+ (build-system pyproject-build-system)
(arguments
(list
- #:test-target "check"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-setuppy
- (lambda _
+ (lambda* (#:key inputs #:allow-other-keys)
(substitute* "setup.py"
(("include_dirs.append\\(.*\\)")
- (string-append "include_dirs.append('"
- #$(this-package-input "lzo")
- "/include/lzo"
- "')"))))))))
- (inputs
- (list lzo))
+ (format #f "include_dirs.append(~s)"
+ (search-input-directory inputs "include/lzo")))))))))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (inputs (list lzo))
(home-page "https://github.com/jd-boyd/python-lzo")
(synopsis "Python bindings for the LZO data compression library")
(description
@@ -639,9 +634,10 @@ the LZ4 frame format.")
(method url-fetch)
(uri (pypi-uri "lzstring" version))
(sha256
- (base32
- "18ly9pppy2yspxzw7k1b23wk77k7m44rz2g0271bqgqrk3jn3yhs"))))
- (build-system python-build-system)
+ (base32 "18ly9pppy2yspxzw7k1b23wk77k7m44rz2g0271bqgqrk3jn3yhs"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-setuptools python-wheel))
(propagated-inputs
(list python-future))
(home-page "https://github.com/gkovacs/lz-string-python")
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index a80da0d470..79bbf1b08b 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -917,23 +917,24 @@ Python.")
(define-public python-josepy
(package
(name "python-josepy")
- (version "1.13.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "josepy" version))
- (sha256
- (base32
- "1jaxqyp53paks2z8zyzr50gqvzfxbar7r2qf98kqak4aizrxlcc9"))))
- (build-system python-build-system)
- (arguments
- ;; TODO: some test dependencies are missing (see pyproject.toml).
- '(#:tests? #f))
- (propagated-inputs
- (list python-cryptography python-pyopenssl))
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/certbot/josepy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1zplnfrmc4nps9lgl3fz434ja7lmi9v8waydflzvpi75kf5fqxc1"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-poetry-core python-pytest))
+ (propagated-inputs (list python-cryptography))
(home-page "https://github.com/certbot/josepy")
(synopsis "JOSE protocol implementation in Python")
- (description "This package provides a Python implementation of the JOSE
-protocol (Javascript Object Signing and Encryption).")
+ (description
+ "This package provides a Python implementation of the JOSE protocol
+(Javascript Object Signing and Encryption).")
(license license:asl2.0)))
(define pycryptodome-unbundle-tomcrypt-snippet
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index c78af1a279..4f6a237ae0 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -2663,20 +2663,13 @@ API, but uses asyncio to parallelise downloading the files.")
(method url-fetch)
(uri (pypi-uri "html2text" version))
(sha256
- (base32
- "1fvv4z6dblii2wk1x82981ag8yhxbim1v2ksgywxsndh2s7335p2"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "pytest" "test/"))))))
- (native-inputs
- (list python-pytest))
+ (base32 "1fvv4z6dblii2wk1x82981ag8yhxbim1v2ksgywxsndh2s7335p2"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/Alir3z4/html2text")
(synopsis "Convert HTML into plain text")
- (description "html2text takes HTML and converts it into plain ASCII text
+ (description
+ "html2text takes HTML and converts it into plain ASCII text
which is also valid markdown. html2text was originally written by Aaron
Swartz.")
(license license:gpl3+)))
@@ -8382,17 +8375,19 @@ association.")
(define-public python-livereload
(package
(name "python-livereload")
- (version "2.6.3")
+ (version "2.7.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "livereload" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/lepture/python-livereload")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0scqjnhg3ap81v36ghp0pik774dnfdkwqsx5j1jfbzarbs32yvvp"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-six python-tornado))
+ (base32 "19wkdd1grw6mcd4qi8iaw4jdr207h3m24951vgy69j7g904lynjq"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-django python-setuptools python-wheel))
+ (propagated-inputs (list python-tornado))
(home-page "https://github.com/lepture/python-livereload")
(synopsis "Python LiveReload")
(description
@@ -9327,11 +9322,12 @@ using a pure Python implementation.")
(uri (pypi-uri "pyjsparser" version))
(sha256
(base32 "0ycmf9fsvwliqmm1n6sfz7x71y7i2kbfgn39d8lsbiccfxmxlq5y"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
+ (native-inputs (list python-setuptools python-wheel))
(home-page "https://github.com/PiotrDabkowski/pyjsparser")
(synopsis "Fast JavaScript parser")
- (description "This package provides a fast JavaScript parser (based on
-esprima.js)")
+ (description
+ "This package provides a fast JavaScript parser (based on esprima.js)")
(license license:expat)))
(define-public python-js2py
@@ -10932,7 +10928,9 @@ metadata from HTML markup. Currently, extruct supports:
(uri (pypi-uri "wadllib" version))
(sha256
(base32 "1z65crvdsjxh9nahz1g6q021ijmv85ixmq88l96d61qh5imavndc"))))
- (build-system python-build-system)
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-setuptools python-wheel))
(propagated-inputs (list python-lazr-uri))
(home-page "https://launchpad.net/wadllib")
(synopsis "Web Application Description Language (WADL) navigation library")
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 92e517e959..0107f3f08e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -166,6 +166,7 @@
;;; Copyright © 2025, Cayetano Santos <csantosb@inventati.org>
;;; Copyright © 2025 Jake Forster <jakecameron.forster@gmail.com>
;;; Copyright © 2025 Luis Felipe López Acevedo <sirgazil@zoho.com>
+;;; Copyright © 2025 Josep Bigorra <jjbigorra@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -189,7 +190,6 @@
#:use-module (gnu packages aidc)
#:use-module (gnu packages algebra)
#:use-module (gnu packages attr)
- #:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
@@ -262,7 +262,6 @@
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
- #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -382,6 +381,55 @@ These aspects include CPU, network fabrics, etc. In addition, it offers
APIs to detect, query, and compare them.")
(license license:expat)))
+(define-public python-asyncclick
+ (package
+ (name "python-asyncclick")
+ (version "8.2.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asyncclick" version))
+ (sha256
+ (base32 "0q26q8r1x5j9nz72xcb80vjx5maha6yswdmw2li4mwqyzdxnnkq1"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: 1397 passed, 29 skipped, 72 deselected, 4 xfailed
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; See: <https://github.com/python-trio/asyncclick/issues/42>.
+ (list "not test_confirm_repeat[asyncio]"
+ "test_confirm_repeat[trio]"
+ "test_file_prompt_default_format[asyncio-file_kwargs0]"
+ "test_file_prompt_default_format[asyncio-file_kwargs1]"
+ "test_file_prompt_default_format[asyncio-file_kwargs2]"
+ "test_file_prompt_default_format[trio-file_kwargs0]"
+ "test_file_prompt_default_format[trio-file_kwargs1]"
+ "test_file_prompt_default_format[trio-file_kwargs2]"
+ "test_prompts[asyncio]"
+ "test_prompts[trio]"
+ ;; Requires less
+ "test_echo_via_pager")
+ " and not "))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-conftest
+ ;; See: <https://github.com/python-trio/asyncclick/pull/39>.
+ (lambda _
+ (substitute* "tests/conftest.py"
+ (("from click") "from asyncclick")))))))
+ (native-inputs
+ (list python-anyio
+ python-flit-core-next
+ python-pytest
+ python-trio))
+ (home-page "https://github.com/python-trio/asyncclick")
+ (synopsis "Python composable command line utility, trio-compatible version ")
+ (description
+ "AsyncClick is a fork of Click that works well with anyio, Trio, or
+asyncio.")
+ (license license:bsd-3)))
+
(define-public python-asyncstdlib
(package
(name "python-asyncstdlib")
@@ -927,6 +975,34 @@ of Ordered Set.")
your terminal.")
(license license:expat)))
+(define-public python-puccinialin
+ (package
+ (name "python-puccinialin")
+ (version "0.1.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "puccinialin" version))
+ (sha256
+ (base32 "00nnqcvvyn10zxkhgzcfn8czwvdzm0vh5z16plb0dxspccd69dmv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:tests? #f)) ;no tests in PyPI or Git
+ (native-inputs
+ (list python-hatchling))
+ (propagated-inputs
+ (list python-httpx
+ python-platformdirs
+ python-tqdm))
+ (home-page "https://github.com/konstin/puccinialin")
+ (synopsis "Helper for bootstrapping Rust-based build back-ends for Python")
+ (description
+ "This tool helps to install Rust into a temporary directory, allowing
+support of Rust-based Python builds. Cargo and rustc are installed into a
+cache directory, to avoid modifying the host's environment, and further
+activated using a set of environment variables.")
+ (license (list license:expat license:asl2.0))))
+
(define-public python-pyxdameraulevenshtein
(package
(name "python-pyxdameraulevenshtein")
@@ -5850,36 +5926,6 @@ videos in a notebook.")
audio playback capability for Python 3 on OSX, Windows, and Linux.")
(license license:expat))) ; MIT license
-(define-public python-wavefile
- (package
- (name "python-wavefile")
- (version "1.6.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "wavefile" version))
- (sha256
- (base32
- "04mdcxq7n1vnwb9y65j0cwpy91ik5rh9vki1f45xqnh4ygz91n75"))))
- (build-system python-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-libsndfile-path
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "wavefile/libsndfile.py"
- (("'libsndfile")
- (string-append "'" (assoc-ref inputs "libsndfile")
- "/lib/libsndfile"))))))))
- (inputs
- (list libsndfile portaudio))
- (propagated-inputs (list python-numpy python-pyaudio))
- (home-page "https://github.com/vokimon/python-wavefile")
- (synopsis "Pythonic audio file reader and writer")
- (description
- "This package provides pythonic libsndfile wrapper to read and write audio
-files.")
- (license license:gpl3+)))
-
(define-public python-jsonalias
(package
(name "python-jsonalias")
@@ -10780,27 +10826,37 @@ objects.")
"This is a Python library for color math and conversions.")
(license license:bsd-3)))
+(define-public python-colormath2
+ (package
+ (inherit python-colormath)
+ (name "python-colormath2")
+ (version "3.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "colormath2" version))
+ (sha256
+ (base32 "1yigkhvjgbl9nrlijn4iwcs6k7i5y58drix1331cd1hb9wzn35z7"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-networkx python-numpy))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/bkmgit/python-colormath2")))
+
(define-public python-spectra
(package
(name "python-spectra")
- (version "0.0.11")
+ (version "0.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "spectra" version))
(sha256
- (base32
- "1f322x914bhkg6r5gv1vmnir3iy0k5kih0fd2gp3rdkw32jn5cwf"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _ (invoke "nosetests" "-v"))))))
+ (base32 "0gva48a1rn5yxj6dgy76dnndqaf09k5q2l9r41h2a66b84rf6c3a"))))
+ (build-system pyproject-build-system)
(propagated-inputs
- (list python-colormath))
+ (list python-colormath2))
(native-inputs
- (list python-nose))
+ (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/jsvine/spectra")
(synopsis "Color scales and color conversion")
(description
@@ -27975,21 +28031,20 @@ belong to tagged versions.")
(method url-fetch)
(uri (pypi-uri "setuptools-git" version))
(sha256
- (base32
- "0i84qjwp5m0l9qagdjww2frdh63r37km1c48mrvbmaqsl1ni6r7z"))))
- (build-system python-build-system)
+ (base32 "0i84qjwp5m0l9qagdjww2frdh63r37km1c48mrvbmaqsl1ni6r7z"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- ;; This is needed for tests.
- (add-after 'unpack 'configure-git
- (lambda _
- (setenv "HOME" "/tmp")
- (invoke "git" "config" "--global" "user.email" "guix")
- (invoke "git" "config" "--global" "user.name" "guix")
- #t)))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; This is needed for tests.
+ (add-after 'unpack 'configure-git
+ (lambda _
+ (setenv "HOME" "/tmp")
+ (invoke "git" "config" "--global" "user.email" "guix")
+ (invoke "git" "config" "--global" "user.name" "guix"))))))
(native-inputs
- `(("git" ,git-minimal)))
+ (list git-minimal python-setuptools python-wheel))
(home-page "https://github.com/msabramo/setuptools-git")
(synopsis "Setuptools revision control system plugin for Git")
(description
@@ -30245,13 +30300,13 @@ N-dimensional arrays for Python.")
(define-public python-dill
(package
(name "python-dill")
- (version "0.3.9")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dill" version))
(sha256
- (base32 "0b2inivjahjlph54a70x6wi3pax4qsgclhlw0blbz37nvmyjdal1"))))
+ (base32 "1w5w5hlijw7ahqji45ssyvdip5pv074h4nw97bsj8ws7vz9g2cq6"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -30280,14 +30335,14 @@ the saved state of the original interpreter session.")
(define-public python-multiprocess
(package
(name "python-multiprocess")
- (version "0.70.17")
+ (version "0.70.18")
(source
(origin
(method url-fetch)
(uri (pypi-uri "multiprocess" version))
(sha256
(base32
- "0ypm9yj1ng1s96hk2iwll190dkpc2j5zras8kay9x00n6hdg3qja"))))
+ "03bdxiincqq3g66vl3sf5ygagjz5sbrpr83djlipprmkwql72ngr"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -30319,7 +30374,7 @@ preload_resources\
(format #t "test suite not run~%")))))))
(propagated-inputs
(list python-dill))
- (native-inputs (list python-setuptools python-wheel))
+ (native-inputs (list python-setuptools-next))
(home-page "https://pypi.org/project/multiprocess/")
(synopsis "Multiprocessing and multithreading in Python")
(description
@@ -31299,26 +31354,22 @@ by Igor Pavlov.")
(define-public python-ifaddr
(package
(name "python-ifaddr")
- (version "0.1.7")
+ (version "0.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ifaddr" version))
(sha256
- (base32
- "150sxdlicwrphmhnv03ykxplyd2jdrxz0mikgnivavgilrn8m7hz"))))
- (build-system python-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _ (invoke "nosetests"))))))
+ (base32 "1m5fqjqf53m31qrl8fxp2sbwf4mvk5mbjpw2jm2x8rgpmg5by36c"))
+ (snippet #~(delete-file "ifaddr/_win32.py"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-nose))
+ (list python-pytest python-setuptools python-wheel))
(home-page "https://github.com/pydron/ifaddr")
(synopsis "Network interface and IP address enumeration library")
- (description "This package provides a network interface and IP address
-enumeration library in Python.")
+ (description
+ "This package provides a network interface and IP address enumeration
+library in Python.")
(license license:expat)))
(define-public python-zeroconf
@@ -32123,56 +32174,33 @@ layer and then tune the behaviour with any of the lower layers including the
native API of @code{python-argparse}.")
(license license:lgpl3+)))
-(define-public python-ppft
- (package
- (name "python-ppft")
- (version "1.6.6.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ppft" version))
- (sha256
- (base32
- "1z1invkhszc5d2mvgr221v7cszzifcc77mz0pv3wjp6x5q2768cy"))))
- (build-system python-build-system)
- (arguments '(#:tests? #f)) ; there are none
- (propagated-inputs
- (list python-six))
- (home-page "https://pypi.org/project/ppft/")
- (synopsis "Fork of Parallel Python")
- (description
- "This package is a fork of Parallel Python. The Parallel Python
-module (@code{pp}) provides an easy and efficient way to create
-parallel-enabled applications for @dfn{symmetric multiprocessing} (SMP)
-computers and clusters. It features cross-platform portability and dynamic
-load balancing.")
- (license license:bsd-3)))
-
(define-public python-pox
(package
(name "python-pox")
- (version "0.2.7")
+ (version "0.3.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pox" version))
(sha256
(base32
- "0y17ckc2p6i6709s279sjdj4q459mpcc38ymg9zv9y6vl6jf3bq6"))))
- (build-system python-build-system)
+ "01gnsgz6wfmpmb57qr4cgpkampiy6l7c1kxa0hlacn81c0wyvvl4"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (mkdir-p "/tmp/guix")
- (setenv "SHELL" "bash")
- (setenv "USERNAME" "guix")
- (setenv "HOME" "/tmp/guix") ; must end on USERNAME...
- (invoke "py.test" "-vv")
- #t)))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (mkdir-p "/tmp/guix")
+ (setenv "SHELL" "bash")
+ (setenv "USERNAME" "guix")
+ (setenv "HOME" "/tmp/guix") ; must end on USERNAME...
+ (invoke "python" "./pox/tests/__main__.py")))))))
(native-inputs
- (list python-pytest which))
+ (list python-setuptools-next
+ which)) ;pox/tests/test_shutils.py
(home-page "https://pypi.org/project/pox/")
(synopsis "Python utilities for file system exploration and automated builds")
(description
@@ -32185,39 +32213,6 @@ discovery of what has been installed on an operating system, and where the
essential tools are located.")
(license license:bsd-3)))
-(define-public python-pathos
- (package
- (name "python-pathos")
- (version "0.2.5")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pathos" version))
- (sha256
- (base32
- "0in8hxdz7k081ijn6q94gr39ycy7363sx4zysmbwyvd7snqjrbi1"))))
- (build-system python-build-system)
- (arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda _
- (invoke "python" "./tests/__main__.py"))))))
- (propagated-inputs
- (list python-dill python-multiprocess python-pox python-ppft))
- (native-inputs
- (list python-pytest))
- (home-page "https://pypi.org/project/pathos/")
- (synopsis
- "Parallel graph management and execution in heterogeneous computing")
- (description
- "Python-pathos is a framework for heterogeneous computing. It provides a
-consistent high-level interface for configuring and launching parallel
-computations across heterogeneous resources. Python-pathos provides configurable
-launchers for parallel and distributed computing, where each launcher contains
-the syntactic logic to configure and launch jobs in an execution environment.")
- (license license:bsd-3)))
-
(define-public python-flit
(package
(name "python-flit")
@@ -32367,17 +32362,20 @@ memoization.")
(version "0.8")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "cson" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/avakar/pycson")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32 "00cyvigg4npbph39ghkg77xbxisa6plf75vii24igxfizik0337f"))))
- (build-system python-build-system)
- (propagated-inputs
- (list python-speg))
+ (base32 "0d2zbmak0hzsl1w71dgc8x4q4vdfbpk46vwyi9vvvqv7gdqj59fn"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list python-pytest python-setuptools python-wheel))
+ (propagated-inputs (list python-speg))
(home-page "https://github.com/avakar/pycson")
(synopsis "Parser for Coffeescript Object Notation (CSON)")
- (description "This package is a parser for Coffeescript Object
-Notation (CSON).")
+ (description
+ "This package is a parser for Coffeescript Object Notation (CSON).")
(license license:expat)))
(define-public python-aionotify
@@ -32830,30 +32828,6 @@ prevent debuggers and other applications from inspecting the memory within
your process.")
(license license:expat)))
-(define-public python-owslib
- (package
- (name "python-owslib")
- (version "0.19.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "OWSLib" version))
- (sha256
- (base32 "0v8vg0naa9rywvd31cpq65ljbdclpsrx09788v4xj7lg10np8nk0"))))
- (build-system python-build-system)
- (arguments
- ;; TODO: package dependencies required for tests.
- '(#:tests? #f
- #:phases (modify-phases %standard-phases
- (delete 'sanity-check))))
- (synopsis "Interface for Open Geospatial Consortium web service")
- (description
- "OWSLib is a Python package for client programming with Open Geospatial
-Consortium (OGC) web service (hence OWS) interface standards, and their related
-content models.")
- (home-page "https://geopython.github.io/OWSLib/")
- (license license:bsd-3)))
-
(define-public python-xattr
(package
(name "python-xattr")
@@ -37410,18 +37384,30 @@ It implements advanced Python dictionaries with dot notation access.")
(name "python-aspectlib")
(version "1.5.2")
(source
- (origin
- (method url-fetch)
- (uri (pypi-uri "aspectlib" version))
- (sha256
- (base32 "1am4ycf292zbmgz791z393v63w7qrynf8q5p9db2wwf2qj1fqxfj"))))
- (build-system python-build-system)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ionelmc/python-aspectlib")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mfhflg33684gkp6ckkywshn4xa3vqaia521kcagaxgr3xm6c9pv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list ;; XXX: Require more dependencies.
+ "--ignore=tests/test_integrations.py"
+ "--ignore=tests/test_integrations_py3.py"
+ ;; XXX: Unimportant warning errors.
+ "-k" (string-append "not test_story_empty_play_proxy_class"
+ " and not test_story_half_play_proxy_class"))))
+ (native-inputs (list python-pytest python-setuptools python-tornado python-wheel))
(propagated-inputs (list python-fields))
(home-page "https://github.com/ionelmc/python-aspectlib")
- (synopsis
- "Python monkey-patching and decorators")
+ (synopsis "Python monkey-patching and decorators")
(description
- "This package provides an aspect-oriented programming, monkey-patch
+ "This package provides an aspect-oriented programming, monkey-patch
and decorators library. It is useful when changing behavior in existing
code is desired. It includes tools for debugging and testing:
simple mock/record and a complete capture/replay framework.")
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 7b989d38f9..665a074d65 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -1668,34 +1668,6 @@ users.")
(home-page "https://hamlib.github.io/")
(license (list license:gpl2+ license:lgpl2.1+))))
-(define wsjtx-hamlib
- ;; Fork of hamlib with custom patches used by wsjtx.
- (package
- (inherit hamlib)
- (name "wsjtx-hamlib")
- (version "2.5.2")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.code.sf.net/u/bsomervi/hamlib.git")
- (commit (string-append "wsjtx-" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1bgf7bz2280739a7ip7lvpns0i7x6svryxfmsp32cff2dr146lz3"))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("libtool" ,libtool)
- ("texinfo" ,texinfo)
- ,@(package-native-inputs hamlib)))
- (arguments
- `(#:configure-flags '("--disable-static"
- "--with-lua-binding"
- "--with-python-binding"
- "--with-tcl-binding"
- "--with-xml-support")))))
-
(define-public jtdx-hamlib
;; Fork of hamlib with custom patches used by jtdx.
(package
@@ -1909,10 +1881,7 @@ focused on DXing and being shaped by community of DXers.JTDX")
(("set \\(ENV\\{PKG_CONFIG_PATH\\}.*\\)")
"set (__pc_path $ENV{PKG_CONFIG_PATH})
list (APPEND __pc_path \"${__hamlib_pc_path}\")
- set (ENV{PKG_CONFIG_PATH} \"${__pc_path}\")"))
- (substitute* "HamlibTransceiver.hpp"
- (("#ifdef JS8_USE_LEGACY_HAMLIB")
- "#if 1"))))
+ set (ENV{PKG_CONFIG_PATH} \"${__pc_path}\")"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
@@ -1928,11 +1897,11 @@ focused on DXing and being shaped by community of DXers.JTDX")
(list boost
fftw
fftwf
+ hamlib
libusb
qtbase-5
qtmultimedia-5
- qtserialport-5
- wsjtx-hamlib))
+ qtserialport-5))
(home-page "http://js8call.com/")
(synopsis "Weak-signal ham radio communication program")
(description
@@ -2081,7 +2050,7 @@ gain and standing wave ratio.")
(define-public dump1090
(package
(name "dump1090")
- (version "8.2")
+ (version "10.2")
(source
(origin
(method git-fetch)
@@ -2090,12 +2059,17 @@ gain and standing wave ratio.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "16ylywy2fdwf5kqr8kgl9lbzy1zwx4ckj9y122k3h86pfkswljs9"))))
+ (base32 "0dc1f18n1xlamdhxg96db6cm6kp04cqzxb36qmd141d0rca7qcli"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove FPGA firmware binary.
+ (delete-file-recursively "bladerf")))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(inputs
- (list bladerf hackrf libusb ncurses rtl-sdr))
+ (list bladerf hackrf libusb ncurses rtl-sdr soapysdr))
(arguments
(list
#:test-target "test"
@@ -2838,7 +2812,7 @@ based devices in packet mode over a serial link.")
(define-public cm256cc
(package
(name "cm256cc")
- (version "1.1.0")
+ (version "1.1.1")
(source
(origin
(method git-fetch)
@@ -2847,7 +2821,7 @@ based devices in packet mode over a serial link.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1n9v7g6d370263bgqrjv38s9aq5953rzy7jvd8i30xq6aram9djg"))))
+ (base32 "07gx6yb17m9kd885qpf98cryn1acp546qg80c0rncy3hic0hd6pf"))))
(build-system cmake-build-system)
(arguments
;; Disable some SIMD features for reproducibility.
diff --git a/gnu/packages/ruby-check.scm b/gnu/packages/ruby-check.scm
index 151f00e145..5ff48039bd 100644
--- a/gnu/packages/ruby-check.scm
+++ b/gnu/packages/ruby-check.scm
@@ -28,7 +28,7 @@
;;; Copyright © 2022 Stephen Paul Weber <singpolyma@singpolyma.net>
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;; Copyright © 2022 Tom Fitzhenry <tom@tom-fitzhenry.me.uk>
-;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023, 2025 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
@@ -113,37 +113,19 @@ converting AsciiDoc content to HTML5, DocBook 5, PDF, and other formats.")
(define-public ruby-builder
(package
(name "ruby-builder")
- (version "3.2.4")
+ (version "3.3.0")
(source (origin
(method url-fetch)
(uri (rubygems-uri "builder" version))
(sha256
(base32
- "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"))))
+ "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"))))
(build-system ruby-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch
- (lambda _
- (substitute* "rakelib/tags.rake"
- (("File\\.exists\\?") "File.exist?"))
-
- ;; TODO This test is broken
- ;; https://github.com/tenderlove/builder/issues/13
- (substitute* "test/test_blankslate.rb"
- (("test_late_included_module_in_kernel_is_ok")
- "test_late_included_module_in_kernel_is_ok
- skip(\"test expected to fail\")
-"))
- (substitute* "rakelib/tags.rake"
- (("RVM_GEMDIR = .*") "RVM_GEMDIR = 'no-rvm-please'\n")))))))
(synopsis "Ruby library to create structured data")
(description "Builder provides a number of builder objects that make it
easy to create structured data. Currently the following builder objects are
supported: XML Markup and XML Events.")
- (home-page "https://github.com/tenderlove/builder")
+ (home-page "https://github.com/rails/builder")
(license license:expat)))
(define-public ruby-cucumber-ci-environment
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 5b2f023736..445571f3c0 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -997,6 +997,26 @@ game development and other performance-critical applications.")
((#:configure-flags flags #~'())
#~(append #$flags '("-DCMAKE_POSITION_INDEPENDENT_CODE=ON")))))))
+(define-public flatbuffers-23.5
+ (hidden-package
+ (package
+ (inherit flatbuffers)
+ ;; needed explicitly by onnxruntime
+ (version "23.5.26")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/flatbuffers")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "flatbuffers" version))
+ (sha256
+ (base32 "0cd12dvkzqdafz46q4302mzgpzbz589zmmiga7bq07f2sqy4vrvv"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments flatbuffers)
+ ((#:configure-flags flags #~'())
+ #~(append #$flags '("-DCMAKE_POSITION_INDEPENDENT_CODE=ON"))))))))
+
(define-public go-github-com-google-flatbuffers
(package/inherit flatbuffers
(name "go-github-com-google-flatbuffers")
diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm
index 1211a5f3e7..90bf376b39 100644
--- a/gnu/packages/sphinx.scm
+++ b/gnu/packages/sphinx.scm
@@ -1331,22 +1331,12 @@ executed during the Sphinx build process.")
(method url-fetch)
(uri (pypi-uri "sphobjinv" version))
(sha256
- (base32
- "10x4g92agj6aai0lj0xpcx58zlm1zamzws1w9dczsl1izpz07ij7"))
- (patches (search-patches
- "python-sphobjinv-defer-ssl-import.patch"))))
- (build-system python-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest")))))))
+ (base32 "10x4g92agj6aai0lj0xpcx58zlm1zamzws1w9dczsl1izpz07ij7"))
+ (patches (search-patches "python-sphobjinv-defer-ssl-import.patch"))))
+ (build-system pyproject-build-system)
(native-inputs
(list python-dictdiffer python-pytest python-pytest-check
- python-sphinx python-stdio-mgr))
+ python-setuptools python-wheel python-sphinx python-stdio-mgr))
(propagated-inputs
(list python-attrs python-certifi python-jsonschema))
(home-page "https://github.com/bskinn/sphobjinv")
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index e685cdf4a5..9770e73f52 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -25,6 +25,7 @@
;;; Copyright © 2024-2025 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2025 Jonas Freimuth <jonas.freimuth@posteo.de>
;;; Copyright © 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2025 Rikard Nordgren <hrn@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -119,6 +120,96 @@
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
+(define-public jags
+ (package
+ (name "jags")
+ (version "4.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/mcmc-jags/JAGS/"
+ (version-major version) ".x/Source/"
+ "JAGS-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0aa2w4g5057vn1qjp954s2kwxfmy1h7p5yn56fyi7sz9nmaq69gr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:configure-flags
+ #~(list "--with-lapack=-lopenblas"
+ "--with-blas=-lopenblas")))
+ (home-page "https://mcmc-jags.sourceforge.net/")
+ (native-inputs
+ (list gfortran openblas))
+ (synopsis "Gibbs sampler")
+ (description "JAGS is Just Another Gibbs Sampler. It is a program for
+analysis of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC)
+simulation not wholly unlike BUGS. JAGS was written with three aims in mind:
+
+@enumerate
+@item To have a cross-platform engine for the BUGS language;
+@item To be extensible, allowing users to write their own functions,
+ distributions and samplers;
+@item To be a platform for experimentation with ideas in Bayesian modelling.
+@end enumerate\n")
+ (license license:gpl2)))
+
+(define-public java-jdistlib
+ (package
+ (name "java-jdistlib")
+ (version "0.4.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/jdistlib/jdistlib-"
+ version "-src.jar"))
+ (sha256
+ (base32
+ "1pkj8aahw9ydr1isbaqrkd05nvq98ik5jwwhf3yf3rky3z869v11"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "jdistlib.jar"
+ #:jdk ,icedtea-8
+ #:tests? #f ; no dedicated test directory
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-broken-encoding
+ (lambda _
+ (with-fluids ((%default-port-encoding "ISO-8859-1"))
+ (substitute* "src/jdistlib/Beta.java"
+ (("Scheff.+-Tukey") "Scheffe-Tukey")))
+ #t)))))
+ (propagated-inputs
+ (list java-jtransforms))
+ (native-inputs
+ (list java-junit))
+ (home-page "https://jdistlib.sourceforge.net/")
+ (synopsis "Java library of statistical distributions")
+ (description "JDistlib is the Java Statistical Distribution Library, a
+Java package that provides routines for various statistical distributions.")
+ ;; The files that were translated from R code are under GPLv2+; some files
+ ;; are under the GPLv3, which is a mistake. The author confirmed in an
+ ;; email that this whole project should be under GPLv2+.
+ (license license:gpl2+)))
+
+(define-public libxls
+ (package
+ (name "libxls")
+ (version "1.6.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/libxls/libxls/releases/download/"
+ "v" version "/libxls-" version ".tar.gz"))
+ (sha256
+ (base32 "0b327zafbwnfxj75n722z6a6zw195rs5bjmm5wskl9dml1p87yxj"))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/libxls/libxls")
+ (synopsis "Read binary (.xls) Excel spreadsheet files")
+ (description
+ "libxls is a C library to read .xls spreadsheet files in the binary OLE
+BIFF8 format as created by Excel 97 and later versions. It cannot write them.
+
+This package also provides @command{xls2csv} to export Excel files to CSV.")
+ (license license:bsd-2)))
(define-public pspp
(package
@@ -174,59 +265,107 @@ can be imported from spreadsheets, text files and database sources and it can
be output in text, PostScript, PDF or HTML.")
(license license:gpl3+)))
-(define-public jags
+(define-public python-altair
(package
- (name "jags")
- (version "4.3.1")
+ (name "python-altair")
+ (version "5.3.0")
(source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/mcmc-jags/JAGS/"
- (version-major version) ".x/Source/"
- "JAGS-" version ".tar.gz"))
+ (method git-fetch) ; no tests in PyPI
+ (uri (git-reference
+ (url "https://github.com/altair-viz/altair")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0aa2w4g5057vn1qjp954s2kwxfmy1h7p5yn56fyi7sz9nmaq69gr"))))
- (build-system gnu-build-system)
+ "1lx3pkphi36pljns6jjxhyn9fbrana8f1y6gcg4yca48nvwlfssl"))))
+ (build-system pyproject-build-system)
(arguments
- (list #:configure-flags
- #~(list "--with-lapack=-lopenblas"
- "--with-blas=-lopenblas")))
- (home-page "https://mcmc-jags.sourceforge.net/")
- (native-inputs
- (list gfortran openblas))
- (synopsis "Gibbs sampler")
- (description "JAGS is Just Another Gibbs Sampler. It is a program for
-analysis of Bayesian hierarchical models using Markov Chain Monte Carlo (MCMC)
-simulation not wholly unlike BUGS. JAGS was written with three aims in mind:
-
-@enumerate
-@item To have a cross-platform engine for the BUGS language;
-@item To be extensible, allowing users to write their own functions,
- distributions and samplers;
-@item To be a platform for experimentation with ideas in Bayesian modelling.
-@end enumerate\n")
- (license license:gpl2)))
+ (list #:test-flags
+ ;; XXX: This test file requires hard to package python-anywidgets.
+ #~(list "--ignore=tests/test_jupyter_chart.py"
+ "-k" (string-join
+ (list
+ ;; these tests open an external connection.
+ "not test_from_and_to_json_roundtrip"
+ "test_render_examples_to_chart"
+ ;; introduces a circular dependency on altair-viewer.
+ "not test_save_html"
+ ;; these tests require the vl-convert vega compiler
+ "test_vegalite_compiler"
+ "test_to_dict_with_format_vega"
+ "test_to_json_with_format_vega"
+ "test_to_url"
+ "test_renderer_with_none_embed_options"
+ "test_jupyter_renderer_mimetype")
+ " and not "))))
+ (propagated-inputs (list python-jinja2
+ python-jsonschema
+ python-numpy
+ python-pandas
+ python-setuptools
+ python-toolz
+ python-typing-extensions))
+ (native-inputs (list python-black
+ python-hatchling
+ python-ipython
+ python-pytest
+ python-vega-datasets))
+ (home-page "https://altair-viz.github.io/")
+ (synopsis "Declarative statistical visualization library for Python")
+ (description
+ "Vega-Altair is a declarative statistical visualization library for Python.")
+ (license license:expat)))
-(define-public libxls
+(define-public python-arviz
(package
- (name "libxls")
- (version "1.6.3")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://github.com/libxls/libxls/releases/download/"
- "v" version "/libxls-" version ".tar.gz"))
- (sha256
- (base32 "0b327zafbwnfxj75n722z6a6zw195rs5bjmm5wskl9dml1p87yxj"))))
- (build-system gnu-build-system)
- (home-page "https://github.com/libxls/libxls")
- (synopsis "Read binary (.xls) Excel spreadsheet files")
+ (name "python-arviz")
+ (version "0.21.0")
+ (source (origin
+ (method git-fetch) ; PyPI misses some test files
+ (uri (git-reference
+ (url "https://github.com/arviz-devs/arviz")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "02bqpl61gzn65vhwspi6gx9ln2wlwh8xm418i8vhmls44rvszcxf"))))
+ (build-system pyproject-build-system)
+ (arguments
+ ;; FIXME: matplotlib tests fail because of the "--save" test flag.
+ (list #:test-flags #~'("--ignore"
+ "arviz/tests/base_tests/test_plots_matplotlib.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-radon
+ (lambda _
+ (delete-file
+ ;; This dataset is loaded remotely, it's not supposed to
+ ;; be copied locally.
+ "arviz/data/example_data/code/radon/radon.json")))
+ (add-before 'check 'write-permission
+ (lambda _
+ ;; 3 tests require write permission.
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs (list python-cloudpickle python-pytest))
+ (propagated-inputs (list python-dm-tree
+ python-h5netcdf
+ python-matplotlib
+ python-numpy
+ python-packaging
+ python-pandas
+ python-scipy
+ python-typing-extensions
+ python-xarray
+ python-xarray-einstats
+ python-setuptools
+ python-wheel))
+ (home-page "https://github.com/arviz-devs/arviz")
+ (synopsis "Exploratory analysis of Bayesian models")
(description
- "libxls is a C library to read .xls spreadsheet files in the binary OLE
-BIFF8 format as created by Excel 97 and later versions. It cannot write them.
-
-This package also provides @command{xls2csv} to export Excel files to CSV.")
- (license license:bsd-2)))
+ "ArviZ is a Python package for exploratory analysis of Bayesian models.
+It includes functions for posterior analysis, data storage, model checking,
+comparison and diagnostics.")
+ (license license:asl2.0)))
;; Update this package together with the set of recommended packages: r-boot,
;; r-class, r-cluster, r-codetools, r-foreign, r-kernsmooth, r-lattice,
@@ -468,6 +607,42 @@ publication-quality data plots. A large amount of 3rd-party packages are
available, greatly increasing its breadth and scope.")
(license license:gpl3+)))
+(define-public python-chaospy
+ (package
+ (name "python-chaospy")
+ (version "4.3.13")
+ (source (origin ;; PyPI misses Pytest fixtures.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jonathf/chaospy")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bn4jmwygs5h0dskbniivj20qblgm75pyi9hcjf47r25kawd730m"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; The deprecation warnings break the tests.
+ (add-after 'unpack 'dont-treat-deprecation-warnings-as-error
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("\"error::DeprecationWarning\",") "")))))))
+ (propagated-inputs (list python-importlib-metadata python-numpoly
+ python-numpy python-scipy))
+ (native-inputs (list python-pytest python-scikit-learn python-setuptools
+ python-wheel))
+ (home-page "https://chaospy.readthedocs.io/en/master/")
+ (synopsis "Numerical tool for performing uncertainty quantification")
+ (description "Chaospy is a numerical toolbox for performing uncertainty
+quantification using polynomial chaos expansions, advanced Monte Carlo
+methods implemented in Python. It also include a full suite of tools for
+doing low-discrepancy sampling, quadrature creation, polynomial manipulations,
+and a lot more.")
+ (license license:expat)))
+
(define-public python-dcor
(package
(name "python-dcor")
@@ -835,55 +1010,29 @@ Keizer et al. (2013) <doi:10.1038/psp.2013.24>, and Jonsson et al.
and Vega-Lite examples.")
(license license:expat)))
-(define-public python-altair
+(define-public python-emcee
(package
- (name "python-altair")
- (version "5.3.0")
- (source (origin
- (method git-fetch) ; no tests in PyPI
- (uri (git-reference
- (url "https://github.com/altair-viz/altair")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1lx3pkphi36pljns6jjxhyn9fbrana8f1y6gcg4yca48nvwlfssl"))))
+ (name "python-emcee")
+ (version "3.1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "emcee" version))
+ (sha256
+ (base32 "0zb3ihja3hyj6zjbhkpxhyyppnv58q2jjg0yd1lwmydqdaplvbqi"))))
(build-system pyproject-build-system)
- (arguments
- (list #:test-flags
- ;; XXX: This test file requires hard to package python-anywidgets.
- #~(list "--ignore=tests/test_jupyter_chart.py"
- "-k" (string-join
- (list
- ;; these tests open an external connection.
- "not test_from_and_to_json_roundtrip"
- "test_render_examples_to_chart"
- ;; introduces a circular dependency on altair-viewer.
- "not test_save_html"
- ;; these tests require the vl-convert vega compiler
- "test_vegalite_compiler"
- "test_to_dict_with_format_vega"
- "test_to_json_with_format_vega"
- "test_to_url"
- "test_renderer_with_none_embed_options"
- "test_jupyter_renderer_mimetype")
- " and not "))))
- (propagated-inputs (list python-jinja2
- python-jsonschema
- python-numpy
- python-pandas
- python-setuptools
- python-toolz
- python-typing-extensions))
- (native-inputs (list python-black
- python-hatchling
- python-ipython
+ (propagated-inputs (list python-numpy))
+ (native-inputs (list python-coverage
python-pytest
- python-vega-datasets))
- (home-page "https://altair-viz.github.io/")
- (synopsis "Declarative statistical visualization library for Python")
+ python-pytest-cov
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (home-page "https://emcee.readthedocs.io/en/stable/")
+ (synopsis "Ensemble sampling toolkit for MCMC")
(description
- "Vega-Altair is a declarative statistical visualization library for Python.")
+ "@code{emcee} is a Python implementation of the affine-invariant ensemble
+sampler for Markov chain Monte Carlo (MCMC).")
(license license:expat)))
(define-public python-george
@@ -1044,57 +1193,6 @@ is widely used in many areas of astrophysical research.")
algorithms for evaluating Bayesian evidence.")
(license license:expat)))
-(define-public python-arviz
- (package
- (name "python-arviz")
- (version "0.21.0")
- (source (origin
- (method git-fetch) ; PyPI misses some test files
- (uri (git-reference
- (url "https://github.com/arviz-devs/arviz")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "02bqpl61gzn65vhwspi6gx9ln2wlwh8xm418i8vhmls44rvszcxf"))))
- (build-system pyproject-build-system)
- (arguments
- ;; FIXME: matplotlib tests fail because of the "--save" test flag.
- (list #:test-flags #~'("--ignore"
- "arviz/tests/base_tests/test_plots_matplotlib.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-radon
- (lambda _
- (delete-file
- ;; This dataset is loaded remotely, it's not supposed to
- ;; be copied locally.
- "arviz/data/example_data/code/radon/radon.json")))
- (add-before 'check 'write-permission
- (lambda _
- ;; 3 tests require write permission.
- (setenv "HOME" "/tmp"))))))
- (native-inputs (list python-cloudpickle python-pytest))
- (propagated-inputs (list python-dm-tree
- python-h5netcdf
- python-matplotlib
- python-numpy
- python-packaging
- python-pandas
- python-scipy
- python-typing-extensions
- python-xarray
- python-xarray-einstats
- python-setuptools
- python-wheel))
- (home-page "https://github.com/arviz-devs/arviz")
- (synopsis "Exploratory analysis of Bayesian models")
- (description
- "ArviZ is a Python package for exploratory analysis of Bayesian models.
-It includes functions for posterior analysis, data storage, model checking,
-comparison and diagnostics.")
- (license license:asl2.0)))
-
(define-public python-pymc
(package
(name "python-pymc")
@@ -1141,42 +1239,6 @@ modeling focusing on advanced Markov chain Monte Carlo (MCMC) and variational
inference (VI) algorithms.")
(license license:asl2.0)))
-(define-public python-chaospy
- (package
- (name "python-chaospy")
- (version "4.3.13")
- (source (origin ;; PyPI misses Pytest fixtures.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jonathf/chaospy")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1bn4jmwygs5h0dskbniivj20qblgm75pyi9hcjf47r25kawd730m"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- ;; The deprecation warnings break the tests.
- (add-after 'unpack 'dont-treat-deprecation-warnings-as-error
- (lambda _
- (substitute* "pyproject.toml"
- (("\"error::DeprecationWarning\",") "")))))))
- (propagated-inputs (list python-importlib-metadata python-numpoly
- python-numpy python-scipy))
- (native-inputs (list python-pytest python-scikit-learn python-setuptools
- python-wheel))
- (home-page "https://chaospy.readthedocs.io/en/master/")
- (synopsis "Numerical tool for performing uncertainty quantification")
- (description "Chaospy is a numerical toolbox for performing uncertainty
-quantification using polynomial chaos expansions, advanced Monte Carlo
-methods implemented in Python. It also include a full suite of tools for
-doing low-discrepancy sampling, quadrature creation, polynomial manipulations,
-and a lot more.")
- (license license:expat)))
-
(define-public python-patsy
(package
(name "python-patsy")
@@ -1301,31 +1363,6 @@ uncertainties and are backed by strong theoretical guarantees thanks to
conformal prediction methods intervals.")
(license license:bsd-3)))
-(define-public python-emcee
- (package
- (name "python-emcee")
- (version "3.1.6")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "emcee" version))
- (sha256
- (base32 "0zb3ihja3hyj6zjbhkpxhyyppnv58q2jjg0yd1lwmydqdaplvbqi"))))
- (build-system pyproject-build-system)
- (propagated-inputs (list python-numpy))
- (native-inputs (list python-coverage
- python-pytest
- python-pytest-cov
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (home-page "https://emcee.readthedocs.io/en/stable/")
- (synopsis "Ensemble sampling toolkit for MCMC")
- (description
- "@code{emcee} is a Python implementation of the affine-invariant ensemble
-sampler for Markov chain Monte Carlo (MCMC).")
- (license license:expat)))
-
(define-public python-statsmodels
(package
(name "python-statsmodels")
@@ -3095,43 +3132,6 @@ editing and rich syntax highlight. One would consider Radian as a IPython
clone for R, though its design is more aligned to Julia.")
(license license:expat)))
-(define-public java-jdistlib
- (package
- (name "java-jdistlib")
- (version "0.4.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/jdistlib/jdistlib-"
- version "-src.jar"))
- (sha256
- (base32
- "1pkj8aahw9ydr1isbaqrkd05nvq98ik5jwwhf3yf3rky3z869v11"))))
- (build-system ant-build-system)
- (arguments
- `(#:jar-name "jdistlib.jar"
- #:jdk ,icedtea-8
- #:tests? #f ; no dedicated test directory
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-broken-encoding
- (lambda _
- (with-fluids ((%default-port-encoding "ISO-8859-1"))
- (substitute* "src/jdistlib/Beta.java"
- (("Scheff.+-Tukey") "Scheffe-Tukey")))
- #t)))))
- (propagated-inputs
- (list java-jtransforms))
- (native-inputs
- (list java-junit))
- (home-page "https://jdistlib.sourceforge.net/")
- (synopsis "Java library of statistical distributions")
- (description "JDistlib is the Java Statistical Distribution Library, a
-Java package that provides routines for various statistical distributions.")
- ;; The files that were translated from R code are under GPLv2+; some files
- ;; are under the GPLv3, which is a mistake. The author confirmed in an
- ;; email that this whole project should be under GPLv2+.
- (license license:gpl2+)))
-
(define-public emacs-ess
(package
(name "emacs-ess")
@@ -3276,32 +3276,6 @@ statistical analysis programs such as R, Julia, and JAGS.")
files, including Rmarkdown files.")
(license license:gpl3+)))
-(define-public readstat
- (let ((commit "718d49155e327471ed9bf4a8c157f849f285b46c")
- (revision "0"))
- (package
- (name "readstat")
- (version (git-version "1.1.9" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/WizardMac/ReadStat")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "121axcx4shd0fqlcr1mk7y841sd59r9mx473c4av8gs81xfhcg0h"))))
- (build-system gnu-build-system)
- (native-inputs
- (list autoconf automake gettext-minimal libtool))
- (inputs
- (list zlib))
- (home-page "https://github.com/WizardMac/ReadStat")
- (synopsis "Convert SAS, Stata, and SPSS files")
- (description "Command-line tool and C library for reading files from
-popular stats packages like SAS, Stata and SPSS.")
- (license license:expat))))
-
(define-public python-pyreadstat
(package
(name "python-pyreadstat")
@@ -3346,59 +3320,6 @@ files into/from Pandas DataFrames. It is a wrapper around the C library
@code{readstat}.")
(license license:asl2.0)))
-(define-public xlispstat
- (let ((commit "f1bea6053df658ee48612bf1f63c35de99e2c649")
- (revision "0"))
- (package
- (name "xlispstat")
- (version (git-version "3.52.23" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/jhbadger/xlispstat.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1p0cmgy19kbkxia139cb5w9dnkp2cdqp5n3baag6cq3prn3n71mf"))))
- (build-system gnu-build-system)
- (arguments
- `(#:parallel-build? #f ; Parallel builds are not supported
- #:configure-flags (list "--with-gcc")
- #:phases
- (modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (with-output-to-file "exit.lsp"
- (lambda () (display "(exit)")))
- (invoke "./xlisp" "tests/test" "exit")))))))
- (inputs (list tcsh
- libx11
- libxmu
- libxext
- libxpm
- libxaw
- ncurses
- gnuplot))
- (native-inputs (list pkg-config))
- (synopsis "Statistical analysis environment with interactive graphics")
- (description "XLISP-STAT is a statistical environment based on a Lisp
-dialect called XLISP. To facilitate statistical computations, standard
-functions for addition, logarithms, etc., have been modified to operate on
-lists and arrays of numbers, and a number of basic statistical functions have
-been added. Many of these functions have been written in Lisp, and additional
-functions can be added easily by a user. Several basic forms of plots,
-including histograms, scatterplots, rotatable plots and scatterplot matrices
-are provided. These plots support various forms of interactive highlighting
-operations and can be linked so points highlighted in one plot will be
-highlighted in all linked plots. Interactions with the plots are controlled
-by the mouse, menus and dialog boxes. An object-oriented programming system
-is used to allow menus, dialogs, and the response to mouse actions to be
- customized.")
- (home-page "https://homepage.divms.uiowa.edu/~luke/xls/xlsinfo/")
- (license license:expat))))
-
(define-public r-rlrsim
(package
(name "r-rlrsim")
@@ -3537,6 +3458,67 @@ simple slopes, standardized coefficients, regions of significance (Johnson &
Neyman, 1936; cf. Spiller et al., 2012), etc.")
(license license:gpl3)))
+(define-public r-vpc
+ (package
+ (name "r-vpc")
+ (version "1.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ronkeizer/vpc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bkp0zy1pswrqgcsdvxvc7gyfl544k89qrjqdcj4aqkif0bfqmx8"))))
+ (build-system r-build-system)
+ (native-inputs
+ (list r-testit))
+ (propagated-inputs
+ (list r-classint
+ r-dplyr
+ r-ggplot2
+ r-mass
+ r-readr
+ r-stringr
+ r-survival
+ r-tidyr))
+ (home-page "https://vpc.ronkeizer.com/")
+ (synopsis "Create visual predictive checks")
+ (description
+ "Visual predictive checks are a commonly used diagnostic plot in
+pharmacometrics, showing how certain statistics (percentiles) for observed
+data compare to those same statistics for data simulated from a model. The
+package can generate VPCs for continuous, categorical, censored, and
+(repeated) time-to-event data.")
+ (license license:expat)))
+
+(define-public readstat
+ (let ((commit "718d49155e327471ed9bf4a8c157f849f285b46c")
+ (revision "0"))
+ (package
+ (name "readstat")
+ (version (git-version "1.1.9" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/WizardMac/ReadStat")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "121axcx4shd0fqlcr1mk7y841sd59r9mx473c4av8gs81xfhcg0h"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake gettext-minimal libtool))
+ (inputs
+ (list zlib))
+ (home-page "https://github.com/WizardMac/ReadStat")
+ (synopsis "Convert SAS, Stata, and SPSS files")
+ (description "Command-line tool and C library for reading files from
+popular stats packages like SAS, Stata and SPSS.")
+ (license license:expat))))
+
(define-public ruby-enumerable-statistics
(package
(name "ruby-enumerable-statistics")
@@ -3634,3 +3616,56 @@ statistical summary in arrays and enumerables.")
can be used for learning (Structure and Parameter), inference (Probabilistic
and Causal), and simulations in Bayesian Networks.")
(license license:expat)))
+
+(define-public xlispstat
+ (let ((commit "f1bea6053df658ee48612bf1f63c35de99e2c649")
+ (revision "0"))
+ (package
+ (name "xlispstat")
+ (version (git-version "3.52.23" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jhbadger/xlispstat.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1p0cmgy19kbkxia139cb5w9dnkp2cdqp5n3baag6cq3prn3n71mf"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:parallel-build? #f ; Parallel builds are not supported
+ #:configure-flags (list "--with-gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-output-to-file "exit.lsp"
+ (lambda () (display "(exit)")))
+ (invoke "./xlisp" "tests/test" "exit")))))))
+ (inputs (list tcsh
+ libx11
+ libxmu
+ libxext
+ libxpm
+ libxaw
+ ncurses
+ gnuplot))
+ (native-inputs (list pkg-config))
+ (synopsis "Statistical analysis environment with interactive graphics")
+ (description "XLISP-STAT is a statistical environment based on a Lisp
+dialect called XLISP. To facilitate statistical computations, standard
+functions for addition, logarithms, etc., have been modified to operate on
+lists and arrays of numbers, and a number of basic statistical functions have
+been added. Many of these functions have been written in Lisp, and additional
+functions can be added easily by a user. Several basic forms of plots,
+including histograms, scatterplots, rotatable plots and scatterplot matrices
+are provided. These plots support various forms of interactive highlighting
+operations and can be linked so points highlighted in one plot will be
+highlighted in all linked plots. Interactions with the plots are controlled
+by the mouse, menus and dialog boxes. An object-oriented programming system
+is used to allow menus, dialogs, and the response to mouse actions to be
+ customized.")
+ (home-page "https://homepage.divms.uiowa.edu/~luke/xls/xlsinfo/")
+ (license license:expat))))
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index 2fe41d1358..3ec115f318 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -411,20 +411,23 @@ business day calculation.")
(version "2.6")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "parsedatetime" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bear/parsedatetime")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0mfl0ixshqkwx7z5siaib7ix5j2iahb1jqfpyhqp42wan7xnicsc"))))
- (build-system python-build-system)
+ (base32 "001rxkawjjjffbqzjg96znkhj4z6q7ky349rldd8yx6vk8cgdc2m"))))
+ (build-system pyproject-build-system)
(native-inputs
- (list python-nose python-pyicu python-pytest python-pytest-runner))
+ (list python-pyicu python-pytest python-setuptools python-wheel))
(propagated-inputs
(list python-future))
(home-page "https://github.com/bear/parsedatetime/")
(synopsis "Parse human-readable date/time text")
(description
- "Parse human-readable date/time text.")
+ "This package provides some tools to parse human-readable date/time text
+in Python.")
(license asl2.0)))
(define-public python-ciso8601
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 7eefc31928..8dd820429c 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -50,6 +50,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system perl)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system python)
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial)
@@ -77,6 +78,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -710,48 +712,48 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "2.3.0")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "acme" version))
- (sha256
- (base32
- "1z6293g4pyxvx5w7v07j8wnaxyr7srsqfqvgly888b8k52fq9ipa"))))
- (build-system python-build-system)
+ (version "4.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "acme" version))
+ (sha256
+ (base32 "0h8ckyal5j8lkm24fd52dajy38mxa76zh4q022i28f6b3878rxhd"))))
+ (build-system pyproject-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'build 'build-documentation
- (lambda _
- (invoke "make" "-C" "docs" "man" "info")))
- (add-after 'install 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (man (string-append out "/share/man/man1"))
- (info (string-append out "/info")))
- (install-file "docs/_build/texinfo/acme-python.info" info)
- (install-file "docs/_build/man/acme-python.1" man))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv")))))))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "setup.py"
+ (("'PyOpenSSL.*',")
+ "'PyOpenSSL',"))))
+ (add-after 'build 'build-documentation
+ (lambda _
+ (invoke "make" "-C" "docs" "man" "info")))
+ (add-after 'install 'install-documentation
+ (lambda _
+ (let ((man (string-append #$output "/share/man/man1"))
+ (info (string-append #$output "/info")))
+ (install-file "docs/_build/texinfo/acme-python.info" info)
+ (install-file "docs/_build/man/acme-python.1" man)))))))
(native-inputs
(list python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-wheel
;; For documentation
python-sphinx
python-sphinxcontrib-programoutput
python-sphinx-rtd-theme
texinfo))
(propagated-inputs
- (list python-chardet
+ (list python-cryptography
python-josepy
- python-requests
- python-requests-toolbelt
- python-pytz
+ python-pyopenssl
python-pyrfc3339
- python-pyasn1
- python-cryptography
- python-pyopenssl))
+ python-requests))
(home-page "https://github.com/certbot/certbot")
(synopsis "ACME protocol implementation in Python")
(description "ACME protocol implementation in Python")
@@ -763,30 +765,33 @@ netcat implementation that supports TLS.")
;; Certbot and python-acme are developed in the same repository, and their
;; versions should remain synchronized.
(version (package-version python-acme))
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "certbot" version))
- (sha256
- (base32
- "12nd9nmdj3bf1xlvhj1ln473xbyv4qzxf6qhz0djbca7jl59zlwk"))))
- (build-system python-build-system)
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "certbot" version))
+ (sha256
+ (base32 "0yy287h1sjdkm5cj4wazq316igwwla856yqcmi4yqaq7ib55c7pv"))))
+ (build-system pyproject-build-system)
(arguments
- `(,@(substitute-keyword-arguments (package-arguments python-acme)
- ((#:phases phases)
- `(modify-phases ,phases
- (replace 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (man1 (string-append out "/share/man/man1"))
- (man7 (string-append out "/share/man/man7"))
- (info (string-append out "/info")))
- (install-file "docs/_build/texinfo/Certbot.info" info)
- (install-file "docs/_build/man/certbot.1" man1)
- (install-file "docs/_build/man/certbot.7" man7)
- #t))))))))
+ (substitute-keyword-arguments (package-arguments python-acme)
+ ((#:test-flags flags '())
+ ;; XXX: No time zone found with key Asia/Sanghai, pytz version?
+ #~(list "-k" "not test_add_time_interval"))
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (replace 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((man1 (string-append #$output "/share/man/man1"))
+ (man7 (string-append #$output "/share/man/man7"))
+ (info (string-append #$output "/info")))
+ (install-file "docs/_build/texinfo/Certbot.info" info)
+ (install-file "docs/_build/man/certbot.1" man1)
+ (install-file "docs/_build/man/certbot.7" man7))))))))
(native-inputs
(list python-mock
python-pytest
+ python-setuptools
+ python-wheel
;; For documentation
python-sphinx
python-sphinx-rtd-theme
@@ -806,8 +811,9 @@ netcat implementation that supports TLS.")
python-requests
python-pytz))
(synopsis "Let's Encrypt client by the Electronic Frontier Foundation")
- (description "Certbot automatically receives and installs X.509 certificates
-to enable Transport Layer Security (TLS) on servers. It interoperates with the
+ (description
+ "Certbot automatically receives and installs X.509 certificates to enable
+Transport Layer Security (TLS) on servers. It interoperates with the
Let’s Encrypt certificate authority (CA), which issues browser-trusted
certificates for free.")
(home-page "https://certbot.eff.org/")
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 45f42f63d1..cb54059240 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -4847,7 +4847,7 @@ developer workflow, and project and release management.")
(define-public hut
(package
(name "hut")
- (version "0.6.0")
+ (version "0.7.0")
(source
(origin
(method git-fetch)
@@ -4856,16 +4856,7 @@ developer workflow, and project and release management.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "14cia976i2jdzyzw4wk9fhkh6zqgmb09ryf31ys24smmfcdfxyf1"))
- (modules '((guix build utils)))
- (snippet
- #~(begin
- ;; XXX: Module name has been changed upstream, it's already
- ;; adjusted on master, consider to remove in the next refresh
- ;; cycle.
- (substitute* (find-files "." "\\.go$")
- (("git.sr.ht/~emersion/go-scfg")
- "codeberg.org/emersion/go-scfg"))))))
+ (base32 "0scw4nvm3qpg7l6anhljkixn3g36k03ikg6pl0hs76a3wkf89km5"))))
(build-system go-build-system)
(arguments
(list
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index f4966439cb..fedc4827aa 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -96,6 +96,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
+ #:use-module (guix deprecation)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
@@ -2943,23 +2944,30 @@ Jellyfin. It has support for various media files without transcoding.")
(define-public gallery-dl
(package
(name "gallery-dl")
- (version "1.28.2")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/mikf/gallery-dl"
- "/releases/download/v" version "/gallery_dl-"
- version ".tar.gz"))
- (sha256
- (base32
- "0j4hxp1lbcxgg34ilzhcpxvswgnvvrlk66pn3w9ksv5g8jdz7rpi"))))
- (build-system python-build-system)
+ (version "1.30.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mikf/gallery-dl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "15sgvk81s61v4yzzv1s5ksr4z77qhmv7ynyn34zrx5x41g72hgpz"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; XXX: A lot of those require network.
+ #:test-flags #~(list "--ignore=test/test_results.py")))
+ (native-inputs (list python-pytest python-setuptools python-wheel))
(inputs (list python-requests ffmpeg))
(home-page "https://github.com/mikf/gallery-dl")
(synopsis "Command-line program to download images from several sites")
- (description "Gallery-dl is a command-line program that downloads image
-galleries and collections from several image hosting sites. While this package
-can use youtube-dl or yt-dlp packages to download videos, the focus is more on
-images and image hosting sites.")
+ (description
+ "Gallery-dl is a command-line program that downloads image galleries and
+collections from several image hosting sites. While this package can use
+yt-dlp packages to download videos, the focus is more on images and image
+hosting sites.")
(license license:gpl2)))
(define-public mpv-mpris
@@ -3172,88 +3180,7 @@ to download videos from Austria's national television broadcaster.")
video streaming services of the Finnish national broadcasting company Yle.")
(license license:gpl3+)))
-(define-public youtube-dl
- (package
- (name "youtube-dl")
- (version "2021.12.17")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://youtube-dl.org/downloads/latest/"
- "youtube-dl-" version ".tar.gz"))
- (sha256
- (base32
- "1prm84ci1n1kjzhikhrsbxbgziw6br822psjnijm2ibqnz49jfwz"))
- (snippet
- '(begin
- ;; Delete the pre-generated files, except for the man page
- ;; which requires 'pandoc' to build.
- (for-each delete-file '("youtube-dl"
- ;;pandoc is needed to generate
- ;;"youtube-dl.1"
- "youtube-dl.bash-completion"
- "youtube-dl.fish"
- "youtube-dl.zsh"))))))
- (build-system python-build-system)
- (arguments
- ;; The problem here is that the directory for the man page and completion
- ;; files is relative, and for some reason, setup.py uses the
- ;; auto-detected sys.prefix instead of the user-defined "--prefix=FOO".
- ;; So, we need pass the prefix directly. In addition, make sure the Bash
- ;; completion file is called 'youtube-dl' rather than
- ;; 'youtube-dl.bash-completion'.
- `(#:tests? #f ; Many tests fail. The test suite can be run with pytest.
- #:phases (modify-phases %standard-phases
- (add-after 'unpack 'default-to-the-ffmpeg-input
- (lambda _
- ;; See <https://issues.guix.gnu.org/43418#5>.
- ;; ffmpeg is big but required to request free formats
- ;; from, e.g., YouTube so pull it in unconditionally.
- ;; Continue respecting the --ffmpeg-location argument.
- (substitute* "youtube_dl/postprocessor/ffmpeg.py"
- (("\\.get\\('ffmpeg_location'\\)" match)
- (format #f "~a or '~a'" match (which "ffmpeg"))))))
- (add-before 'build 'build-generated-files
- (lambda _
- ;; Avoid the make targets that require pandoc.
- (invoke "make"
- "PYTHON=python"
- "youtube-dl"
- ;;"youtube-dl.1" ; needs pandoc
- "youtube-dl.bash-completion"
- "youtube-dl.zsh"
- "youtube-dl.fish")))
- (add-before 'install 'fix-the-data-directories
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((prefix (assoc-ref outputs "out")))
- (mkdir "bash-completion")
- (rename-file "youtube-dl.bash-completion"
- "bash-completion/youtube-dl")
- (substitute* "setup.py"
- (("youtube-dl\\.bash-completion")
- "bash-completion/youtube-dl")
- (("'etc/")
- (string-append "'" prefix "/etc/"))
- (("'share/")
- (string-append "'" prefix "/share/"))))))
- (add-after 'install 'install-completion
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (zsh (string-append out
- "/share/zsh/site-functions")))
- (mkdir-p zsh)
- (copy-file "youtube-dl.zsh"
- (string-append zsh "/_youtube-dl"))))))))
- (native-inputs
- (list zip))
- (inputs
- (list ffmpeg))
- (synopsis "Download videos from YouTube.com and other sites")
- (description
- "Youtube-dl is a small command-line program to download videos from
-YouTube.com and many more sites.")
- (home-page "https://yt-dl.org")
- (properties '((release-monitoring-url . "https://yt-dl.org/downloads/")))
- (license license:public-domain)))
+(define-deprecated/public-alias youtube-dl yt-dlp)
(define-public yt-dlp
(package
@@ -3407,8 +3334,7 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
perl-term-readline-gnu
perl-unicode-linebreak
xdg-utils
- ;; Some videos play without youtube-dl, but others silently fail to.
- youtube-dl))
+ yt-dlp))
(arguments
`(#:modules ((guix build perl-build-system)
(guix build utils)
@@ -3421,9 +3347,9 @@ audio, images) from the Web. It can use either mpv or vlc for playback.")
(add-after 'unpack 'refer-to-inputs
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "lib/WWW/YoutubeViewer.pm"
- (("'youtube-dl'")
- (format #f "'~a/bin/youtube-dl'"
- (assoc-ref inputs "youtube-dl"))))
+ (("'yt-dlp'")
+ (format #f "'~a'"
+ (search-input-file inputs "bin/yt-dlp"))))
(substitute* '("bin/gtk2-youtube-viewer"
"bin/gtk3-youtube-viewer")
(("'xdg-open'")
@@ -5100,44 +5026,6 @@ specifications.")
Content System specification.")
(license license:lgpl2.1+)))
-(define-public mps-youtube
- (package
- (name "mps-youtube")
- (version "0.2.8")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/mps-youtube/mps-youtube")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1w1jhw9rg3dx7vp97cwrk5fymipkcy2wrbl1jaa38ivcjhqg596y"))))
- (build-system python-build-system)
- (arguments
- ;; Tests need to be disabled until #556 upstream is fixed. It reads as if the
- ;; test suite results differ depending on the country and also introduce
- ;; non-determinism in the tests.
- ;; https://github.com/mps-youtube/mps-youtube/issues/556
- '(#:tests? #f
- #:phases (modify-phases %standard-phases
- ;; Loading this as a library will create cache directories,
- ;; etc; which fails in the build container.
- (delete 'sanity-check))))
- (propagated-inputs
- (list python-pafy python-pygobject)) ; For mpris2 support
- (home-page "https://github.com/mps-youtube/mps-youtube")
- (synopsis "Terminal based YouTube player and downloader")
- (description
- "@code{mps-youtube} is based on mps, a terminal based program to
-search, stream and download music. This implementation uses YouTube as
-a source of content and can play and download video as well as audio.
-It can use either mpv or mplayer for playback, and for conversion of
-formats ffmpeg or libav is used. Users should install one of the
-supported players in addition to this package.")
- (license license:gpl3+)))
-
(define-public handbrake
(package
(name "handbrake")
@@ -6759,6 +6647,92 @@ and press \"Record\". Peek is optimized for generating animated GIFs, but you
can also directly record to WebM or MP4 if you prefer.")
(license license:gpl3+)))
+(define-public python-yewtube
+ (package
+ (name "python-yewtube")
+ (version "2.12.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mps-youtube/yewtube")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1bvn1zcycsq2gnvs10hn82ic8zp9q4s9gmmi6flahg3wavpnspzr"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "mps_youtube/__init__.py"
+ (("from pip\\._vendor import pkg_resources.*")
+ "")
+ (("__version__ =.*")
+ (format #f "__version__ = ~s~%"
+ #$(package-version this-package))))
+ (substitute* "requirements.txt"
+ (("httpx.*")
+ "httpx\n"))))
+ (add-before 'check 'configure-tests
+ (lambda _
+ (setenv "HOME" (getcwd))))
+ ;; XXX: This can happen when some side-effects happens at
+ ;; initialization. See https://codeberg.org/guix/guix/issues/1089
+ (add-before 'sanity-check 'patch-script
+ (lambda _
+ (substitute* (string-append #$output "/bin/.yt-real")
+ (("import mps_youtube as mod")
+ "from mps_youtube.main import main")
+ (("sys\\.exit \\(mod\\.main\\.main \\(\\)\\)")
+ "sys.exit(main())"))))
+ (replace 'sanity-check
+ (lambda _
+ (invoke (string-append #$output "/bin/yt") "-h"))))))
+ (native-inputs
+ (list python-dbus
+ python-pygobject
+ python-pytest
+ python-setuptools-next
+ python-wheel))
+ (propagated-inputs
+ (list python-pylast
+ python-pyperclip
+ python-requests
+ python-youtube-search
+ yt-dlp))
+ (home-page "https://github.com/mps-youtube/yewtube")
+ (synopsis "Terminal based YouTube player and downloader")
+ (description
+ "This package provides a terminal based @code{YouTube} player and
+downloader. It does not require a Youtube API key.")
+ (license license:gpl3+)))
+
+(define-deprecated/public-alias mps-youtube python-yewtube)
+
+(define-public python-youtube-search
+ (package
+ (name "python-youtube-search")
+ (version "1.6.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "youtube-search-python" version))
+ (sha256
+ (base32 "1xgw6nqypnj3ymjkfyzc1vvwar73qvp08prnp15ypmzcd7bx2s25"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list python-httpx))
+ (native-inputs (list python-setuptools python-wheel))
+ (home-page "https://github.com/alexmercerind/youtube-search-python")
+ (synopsis "Search for YouTube videos, channels & playlists")
+ (description
+ "This package provides tools to search for @code{YouTube} videos,
+channels and playlists; as well as getting video metadata from links. This
+package does not rely on the @code{YouTube} Data API v3.")
+ (license license:expat)))
+
(define-public wf-recorder
(package
(name "wf-recorder")
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index e511423525..8c4204ce8f 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -798,6 +798,12 @@ others.")
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'use-poetry-core
+ (lambda _
+ ;; Patch to use the core poetry API.
+ (substitute* "pyproject.toml"
+ (("poetry.masonry.api")
+ "poetry.core.masonry.api"))))
(add-after 'unpack 'patch-openconnect
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "openconnect_sso/app.py"
@@ -807,7 +813,6 @@ others.")
"\""))))))))
(inputs
(list openconnect
- poetry
python-attrs
python-colorama
python-keyring
@@ -822,7 +827,8 @@ others.")
python-toml
qtwebengine-5))
(native-inputs
- (list python-pytest
+ (list python-poetry-core
+ python-pytest
python-pytest-asyncio
python-pytest-httpserver))
(home-page "https://github.com/vlaci/openconnect-sso")
@@ -1050,35 +1056,31 @@ DNS domain name queries.")
(version "1.5.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri name version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/albertodonato/sshoot")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "05i54nga4vy660yy9yf6dl376yj0jc51303yr295qk3k9w0k96yd"))))
- (build-system python-build-system)
+ (base32 "0725p0l2gx881hsjw3nj44n4gm1kv9hirv5cd4d9yr1ba87whp3q"))))
+ (build-system pyproject-build-system)
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-paths
- (lambda _
- (substitute* "sshoot/tests/test_manager.py"
- (("/bin/sh") (which "sh")))))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "pytest" "-vv" "--pyargs" "sshoot")))))))
- (inputs
- (list python-argcomplete
- python-prettytable
- python-pyyaml
- python-pyxdg
- python-toolrack))
- ;; For tests only.
- (native-inputs
- (list python-pytest python-pytest-mock))
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "sshoot/tests/test_manager.py"
+ (("/bin/sh")
+ (search-input-file inputs "bin/sh"))))))))
+ (inputs (list python-argcomplete python-prettytable python-pyyaml
+ python-pyxdg python-toolrack))
+ (native-inputs (list python-pytest python-pytest-mock python-setuptools
+ python-wheel))
(home-page "https://github.com/albertodonato/sshoot")
(synopsis "VPN session manager (sshuttle)")
- (description "sshoot provides a command-line interface to manage multiple
+ (description
+ "sshoot provides a command-line interface to manage multiple
@command{sshuttle} virtual private networks. It supports flexible profiles
with configuration options for most of @command{sshuttle}’s features.")
(license license:gpl3+)))
@@ -1297,22 +1299,27 @@ L2TP allows you to tunnel PPP over UDP.")
(version "0.16.1")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "vpn-slice" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dlenski/vpn-slice")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1anfx4hn2ggm6sbwqmqx68s3l2rjcy4z4l038xqb440jnk8jvl18"))))
- (build-system python-build-system)
+ (base32 "16shhgypw78d9982r7v293h8fbmpl4wvjb6076w66baincn599ag"))))
+ (build-system pyproject-build-system)
(arguments
(list
+ #:tests? #f ; No tests.
#:phases
- '(modify-phases %standard-phases
- (add-after 'unpack 'patch-FHS-file-names
- (lambda _
- (substitute* "vpn_slice/linux.py"
- (("/sbin/iptables")
- (which "iptables"))
- (("/sbin/ip")
- (which "ip"))))))))
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-FHS-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "vpn_slice/linux.py"
+ (("/sbin/iptables")
+ (search-input-file inputs "/sbin/iptables"))
+ (("/sbin/ip")
+ (search-input-file inputs "/sbin/ip"))))))))
+ (native-inputs (list python-setuptools python-wheel))
(inputs (list python-dnspython python-setproctitle iproute iptables))
(home-page "https://github.com/dlenski/vpn-slice")
(synopsis "Split tunneling replacement for vpnc-script")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index fd57213a12..de59e8dbb8 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1141,7 +1141,7 @@ similar to live activity monitoring provided with NGINX plus.")
(define-public lighttpd
(package
(name "lighttpd")
- (version "1.4.79")
+ (version "1.4.80")
(source (origin
(method url-fetch)
(uri (string-append "https://download.lighttpd.net/lighttpd/"
@@ -1149,7 +1149,7 @@ similar to live activity monitoring provided with NGINX plus.")
"lighttpd-" version ".tar.xz"))
(sha256
(base32
- "1gc4c352jlqqgxyrgz2f5s7li1vxpd15ykza3wnp125dncjsca9v"))))
+ "1wsvy92dsyhlq99b7rvlj5n72m7rqggr27jxajnnpvmjx1qhypyc"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags