mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
Merge remote-tracking branch 'origin/python-team'
Change-Id: I08cf47c4ee8c4019615ba45cef4cca1bd362d31b
This commit is contained in:
commit
e417d6fe81
73 changed files with 5574 additions and 3350 deletions
|
@ -1927,7 +1927,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
|
||||
%D%/packages/patches/omake-fix-non-determinism.patch \
|
||||
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
|
||||
%D%/packages/patches/onionshare-cli-async-mode.patch \
|
||||
%D%/packages/patches/online-judge-tools.patch \
|
||||
%D%/packages/patches/onnx-optimizer-system-library.patch \
|
||||
%D%/packages/patches/onnx-1.13.1-use-system-googletest.patch \
|
||||
|
@ -2006,9 +2005,11 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/prusa-slicer-fix-tests.patch \
|
||||
%D%/packages/patches/prusa-wxwidgets-makefile-fix.patch \
|
||||
%D%/packages/patches/pthreadpool-system-libraries.patch \
|
||||
%D%/packages/patches/python-3.11-fix-tests.patch \
|
||||
%D%/packages/patches/python-3.12-fix-tests.patch \
|
||||
%D%/packages/patches/python-accupy-use-matplotx.patch \
|
||||
%D%/packages/patches/python-accupy-fix-use-of-perfplot.patch \
|
||||
%D%/packages/patches/python-bed-reader-use-store-samples.patch \
|
||||
%D%/packages/patches/python-chai-drop-python2.patch \
|
||||
%D%/packages/patches/python-clarabel-blas.patch \
|
||||
%D%/packages/patches/python-docrepr-fix-tests.patch \
|
||||
|
@ -2023,7 +2024,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-sgmllib3k-assertions.patch \
|
||||
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
|
||||
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
|
||||
%D%/packages/patches/python-wxwidgets-type-errors.patch \
|
||||
%D%/packages/patches/qcodeeditor-qt6.patch \
|
||||
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
|
||||
%D%/packages/patches/qtdeclarative-disable-qmlcache.patch \
|
||||
|
@ -2130,6 +2130,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-memcached-syntax-warnings.patch \
|
||||
%D%/packages/patches/python-mox3-python3.6-compat.patch \
|
||||
%D%/packages/patches/python-packaging-test-arch.patch \
|
||||
%D%/packages/patches/python-property-cached-asyncio-3_11.patch \
|
||||
%D%/packages/patches/python-pyan3-fix-absolute-path-bug.patch \
|
||||
%D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
|
||||
%D%/packages/patches/python-pytorch-fix-codegen.patch \
|
||||
|
@ -2143,6 +2144,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/python-vaex-core-fix-tsl-use.patch \
|
||||
%D%/packages/patches/python-vega-datasets-remove-la-riots-code.patch \
|
||||
%D%/packages/patches/python-versioneer-guix-support.patch \
|
||||
%D%/packages/patches/python-werkzeug-tests.patch \
|
||||
|
@ -2329,7 +2331,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/tpetra-remove-duplicate-using.patch \
|
||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||
%D%/packages/patches/transmission-4.0.6-fix-build.patch \
|
||||
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \
|
||||
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
%D%/packages/patches/tup-unbundle-dependencies.patch \
|
||||
|
|
|
@ -1065,25 +1065,29 @@ memory, disks, network and processes.")
|
|||
(uri (pypi-uri "bpytop" version))
|
||||
(sha256
|
||||
(base32 "1clvajbv7pzlya9s1xs6dvjic8rv3kx7aqiwnjxapiypx246gdjk"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
(list python-psutil))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; sanity-check phase fail, but the application seems to be working
|
||||
(delete 'sanity-check)
|
||||
(list
|
||||
#:tests? #f ; No tests in Pypi archive.
|
||||
#: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 'install 'install-themes
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((themes (string-append (assoc-ref outputs "out")
|
||||
"/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python))
|
||||
"/site-packages/bpytop-themes")))
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((themes (string-append (site-packages inputs outputs)
|
||||
"/bpytop-themes")))
|
||||
(mkdir-p themes)
|
||||
(copy-recursively "themes" themes)))))))
|
||||
(home-page
|
||||
"https://github.com/aristocratos/bpytop")
|
||||
(inputs
|
||||
(list python-psutil))
|
||||
(native-inputs
|
||||
(list python-poetry-core))
|
||||
(home-page "https://github.com/aristocratos/bpytop")
|
||||
(synopsis "Resource monitor")
|
||||
(description "Resource monitor that shows usage and stats for processor,
|
||||
memory, disks, network and processes. It's a Python port and continuation of
|
||||
|
@ -3280,7 +3284,7 @@ provides the following commands:
|
|||
;; variable in the tests/cpan.scm test.
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_PYTHONPATH")
|
||||
(files (list "lib/python3.10/site-packages")))))
|
||||
(files (list "lib/python3.11/site-packages")))))
|
||||
(home-page "https://www.ansible.com/")
|
||||
(synopsis "Radically simple IT automation")
|
||||
(description "Ansible aims to be a radically simple IT automation system.
|
||||
|
|
|
@ -179,7 +179,7 @@ C/C++ programs to use its capabilities without restrictions or overhead.")
|
|||
(define-public zbar
|
||||
(package
|
||||
(name "zbar")
|
||||
(version "0.23.92")
|
||||
(version "0.23.93")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -189,7 +189,7 @@ C/C++ programs to use its capabilities without restrictions or overhead.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0k3g0ql2m4dnflppp9r3k804d927g7zslczblzcrbvhp02g6n5an"))))
|
||||
(base32 "0x71clkkm4w765c2d5h3svr29w08dj03r6785f9jwqx5r4ral0za"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -738,7 +738,10 @@ file system.")
|
|||
(base32
|
||||
"11as7n2mj3nbqsqb3ivyv9985n73i022s748qvjg36cs8ig50afx"))))
|
||||
(build-system pyproject-build-system)
|
||||
(inputs (list python-requests python-argcomplete python-urllib3 gnupg))
|
||||
(inputs (list python-requests
|
||||
python-argcomplete
|
||||
python-urllib3-1.26
|
||||
gnupg))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
|
|
|
@ -2059,7 +2059,10 @@ simulated Astronomical data in Python.")
|
|||
"--ignore=astroML/density_estimation/tests/test_bayesian_blocks.py"
|
||||
"--ignore=astroML/density_estimation/tests/test_bayesian_blocks.py"
|
||||
"--ignore=astroML/density_estimation/tests/test_hist_binwidth.py"
|
||||
"--ignore=astroML/density_estimation/tests/test_hist_binwidth.py")
|
||||
"--ignore=astroML/density_estimation/tests/test_hist_binwidth.py"
|
||||
;; Disalbe tests with NumPy, see
|
||||
;; <https://github.com/astroML/astroML/issues/281>.
|
||||
"--ignore=astroML/tests/test_resample.py")
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-build-system
|
||||
|
@ -2085,11 +2088,18 @@ simulated Astronomical data in Python.")
|
|||
;; Some tests need this
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(propagated-inputs (list python-astropy python-matplotlib python-numpy
|
||||
python-scikit-learn python-scipy))
|
||||
(native-inputs (list python-pytest-astropy-header python-pytest-cov
|
||||
python-pytest-doctestplus python-pytest-remotedata
|
||||
(native-inputs
|
||||
(list python-pytest-astropy-header
|
||||
python-pytest-cov
|
||||
python-pytest-doctestplus
|
||||
python-pytest-remotedata
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-astropy
|
||||
python-matplotlib
|
||||
python-numpy
|
||||
python-scikit-learn
|
||||
python-scipy))
|
||||
(home-page "https://astroml.org")
|
||||
(synopsis "Tools for machine learning and data mining in astronomy")
|
||||
(description "This package provides tools for machine learning and data
|
||||
|
@ -2136,7 +2146,9 @@ mining in astronomy.")
|
|||
"test_table_comp[t16-t26]"
|
||||
;; UnboundLocalError: local variable 'ihd'
|
||||
;; referenced before assignment
|
||||
"test_delay_doc_updates")
|
||||
"test_delay_doc_updates"
|
||||
;; assert 13 == 1
|
||||
"test_skip_meta")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
@ -2488,6 +2500,46 @@ attempting to maintain ISTP compliance
|
|||
"This package contains a helper functionality to test ROMAN and JWST.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cesium
|
||||
(package
|
||||
(name "python-cesium")
|
||||
(version "0.12.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cesium" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jr0ycqz9ns6mcskm4sxx92k40fj3v0x9knjaw5ac9f3mpqxsfbv"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The installed test files contain the /gnu/store location, not the
|
||||
;; location of the discovered test files from the build directory.
|
||||
;; The test framework doesn't like this. The easiest way around
|
||||
;; this mismatch is to jump to the output directory.
|
||||
(add-before 'check 'check-chdir
|
||||
(lambda _ (chdir #$output))))))
|
||||
(propagated-inputs
|
||||
(list python-click ;XXX required by python-dask
|
||||
python-cloudpickle
|
||||
python-dask
|
||||
python-gatspy
|
||||
python-joblib
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-scikit-learn
|
||||
python-scipy
|
||||
python-toolz))
|
||||
(native-inputs (list python-cython python-pytest python-setuptools-scm
|
||||
python-setuptools python-wheel))
|
||||
(home-page "https://pypi.org/project/cesium/")
|
||||
(synopsis "Library for time-series feature extraction and processing")
|
||||
(description
|
||||
"Cesium is a library for time-series feature extraction and processing.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-cmyt
|
||||
(package
|
||||
(name "python-cmyt")
|
||||
|
@ -3132,7 +3184,9 @@ zooming windows, star catalog access, cuts, star pick/FWHM, thumbnails, etc.")
|
|||
"--ignore=glue_astronomy/io/spectral_cube/tests/test_spectral_cube.py"
|
||||
"--ignore=glue_astronomy/io/spectral_cube/tests/test_spectral_cube.py"
|
||||
"--ignore=glue_astronomy/translators/tests/test_trace.py"
|
||||
"--ignore=glue_astronomy/translators/tests/test_trace.py")))
|
||||
"--ignore=glue_astronomy/translators/tests/test_trace.py"
|
||||
;; This is a Numpy DeprecationWarning, remove it on next update.
|
||||
"-k" "not test_spectral_cube_io")))
|
||||
(propagated-inputs
|
||||
(list python-astropy
|
||||
python-glue-core
|
||||
|
|
|
@ -647,17 +647,25 @@ Filter) modules follow the convention of 1V / Octave.")
|
|||
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
(list
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib")
|
||||
#:tests? #f ; no check target
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
|
||||
"--enable-fftw3f"
|
||||
"--enable-jack"
|
||||
"--enable-sndfile"
|
||||
"--enable-samplerate"
|
||||
"--enable-avcodec")))
|
||||
"--enable-avcodec")
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* '("waflib/Context.py"
|
||||
"waflib/ConfigSet.py")
|
||||
(("'rU'") "'r'")))))))
|
||||
(inputs
|
||||
(list jack-1
|
||||
(list jack-2
|
||||
libsndfile
|
||||
libsamplerate
|
||||
ffmpeg-4 ;for libavcodec
|
||||
|
@ -2664,7 +2672,13 @@ partial release of the General MIDI sound set.")
|
|||
#:configure-flags
|
||||
#~(list
|
||||
;; Add the output lib directory to the RUNPATH.
|
||||
(string-append "--ldflags=-Wl,-rpath=" #$output "/lib"))))
|
||||
(string-append "--ldflags=-Wl,-rpath=" #$output "/lib"))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* "wscript"
|
||||
(("'rU'") "'r'")))))))
|
||||
(inputs
|
||||
(list libsndfile
|
||||
boost
|
||||
|
@ -2872,6 +2886,14 @@ synchronous execution of all clients, and low latency operation.")
|
|||
#:configure-flags '("--dbus" "--alsa")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Python 3.11 has removed the 'U' (universal newline) mode. It has
|
||||
;; been the default since Python 3.3.
|
||||
(add-after 'unpack 'python-compatibility
|
||||
(lambda _
|
||||
(substitute* '("waflib/Context.py"
|
||||
"waflib/ConfigSet.py")
|
||||
(("m='rU'") "m='r'")
|
||||
(("read\\('rU'") "read('r'"))))
|
||||
(add-before 'configure 'set-linkflags
|
||||
(lambda _
|
||||
;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp
|
||||
|
|
|
@ -1443,7 +1443,9 @@ borgmatic is powered by borg.")
|
|||
python-pytest-mock
|
||||
python-pytest-qt
|
||||
python-pytest-runner
|
||||
python-setuptools-git))
|
||||
python-setuptools
|
||||
python-setuptools-git
|
||||
python-wheel))
|
||||
(inputs
|
||||
(list borg
|
||||
python-appdirs
|
||||
|
|
|
@ -402,7 +402,7 @@ setup against another one.")
|
|||
(define-public python-locust
|
||||
(package
|
||||
(name "python-locust")
|
||||
(version "2.32.5")
|
||||
(version "2.33.2")
|
||||
;; The archive on Pypi has no tests.
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -412,7 +412,7 @@ setup against another one.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nmhk2k0mbza9slqgms42s6hsfwwmyr275l90an02qaypx066l1n"))))
|
||||
"055is6plxjajzp7v5q108n90j5mvdaylpna98kw9zsqn7mvfq7ms"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -484,10 +484,21 @@ setup against another one.")
|
|||
"not test_ramp_up_from_0_to_100_000_users_with_50_user_classes_and_1000_workers_and_5000_spawn_rate"
|
||||
;; This test fails with "AssertionError:
|
||||
;; 'stopped' != 'stopping'".
|
||||
"not test_distributed_shape") " and "))
|
||||
"not test_distributed_shape"
|
||||
;; This test fails with AssertionError:
|
||||
;; "locust [...] != .locust-real"
|
||||
"not test_invalid_stop_timeout_string"
|
||||
) " and "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; The build system attempts to detect the version by spawning git.
|
||||
(add-after 'unpack 'pretend-version
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("^dynamic = \\[\"version\"\\].*$")
|
||||
(format #f "version = ~s~%" #$version))
|
||||
(("^source = \"vcs\".*$")
|
||||
"source = \"static\"\n"))))
|
||||
(add-after 'unpack 'fix-version
|
||||
(lambda _
|
||||
(let ((tuple (list
|
||||
|
@ -518,9 +529,15 @@ version_tuple = __version_tuple__
|
|||
|
||||
")))))
|
||||
(substitute* "pyproject.toml"
|
||||
(("setuptools = \">=70.0.0\"") "setuptools = \">=67.0.0\"")
|
||||
(("^version =.*") (string-append "version = \"" #$version "\"\n"))
|
||||
(("enable = true") "enable = false"))))
|
||||
(("\"setuptools>=.*\",")
|
||||
(string-append "\"setuptools>="
|
||||
#$(package-version
|
||||
(this-package-input "python-setuptools"))
|
||||
"\","))
|
||||
(("^version =.*")
|
||||
(string-append "version = \"" #$version "\"\n"))
|
||||
(("enable = true")
|
||||
"enable = false"))))
|
||||
(add-before 'check 'increase-resource-limits
|
||||
(lambda _
|
||||
;; XXX: Copied from ungoogled-chromium.
|
||||
|
@ -552,8 +569,8 @@ version_tuple = __version_tuple__
|
|||
python-werkzeug))
|
||||
(native-inputs
|
||||
(list nss-certs-for-test
|
||||
python-poetry-core
|
||||
python-poetry-dynamic-versioning
|
||||
python-hatchling
|
||||
python-hatch-vcs
|
||||
python-pyquery
|
||||
python-pytest
|
||||
python-retry))
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -70,6 +70,7 @@
|
|||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
|
@ -79,6 +80,7 @@
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages unicode)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python))
|
||||
|
@ -436,7 +438,7 @@ other lower-level build files.")))
|
|||
(define-public scons
|
||||
(package
|
||||
(name "scons")
|
||||
(version "4.4.0")
|
||||
(version "4.5.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -446,7 +448,7 @@ other lower-level build files.")))
|
|||
(patches (search-patches "scons-test-environment.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1czswx1fj2j48rspkrvarkr43k0vii9rsmz054c9yby1dq362fgr"))))
|
||||
"1skz1kzhwsp54i71jrsg46rkxwicfici7pq6qmfhlqd5zhrg21zb"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -467,6 +469,8 @@ other lower-level build files.")))
|
|||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; remove these tests as they require a read/write filesystem
|
||||
(delete-file "SCons/Variables/PathVariableTests.py")
|
||||
(invoke "python" "runtest.py" "--all" "--unit-only" ))))
|
||||
(add-after 'install 'move-manuals
|
||||
(lambda _
|
||||
|
@ -483,7 +487,7 @@ other lower-level build files.")))
|
|||
stray-manuals))))))))
|
||||
(native-inputs
|
||||
;; TODO: Add 'fop' when available in Guix to generate manuals.
|
||||
(list python-wheel
|
||||
(list python-setuptools python-lxml python-wheel
|
||||
;;For tests.
|
||||
python-psutil))
|
||||
(home-page "https://scons.org/")
|
||||
|
|
|
@ -1027,40 +1027,43 @@ definition language, a safe runtime engine for test suites and a powerful
|
|||
report generation engine.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-gixy
|
||||
;; The 0.1.20 release is missing some important fixes.
|
||||
;; XXX: Commit 'e9008dcbd11f43ccac109b0cf2bf98a94e76b449' breaks tests
|
||||
;; since it improperly removes an import.
|
||||
(let ((commit "303eb6887ddecab18138b6e427b04ae77c41d2f1")
|
||||
(revision "0")
|
||||
(base-version "0.1.20"))
|
||||
(define-public python-gixy-ng
|
||||
(package
|
||||
(name "python-gixy")
|
||||
(version (git-version base-version revision commit))
|
||||
(source (origin
|
||||
(name "python-gixy-ng")
|
||||
(version "0.2.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/yandex/gixy")
|
||||
(commit commit)))
|
||||
(url "https://github.com/dvershinin/gixy")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gymjcnvjx9snyrzdbmjnk93ibb161q72xam29vnl3yyac4r1330"))))
|
||||
(base32 "0dipvy8y1nlhpka0cdk6hyv1j2388y7isbajpwskjrgqc5vayqx8"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-nose python-setuptools python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-cached-property python-configargparse
|
||||
python-jinja2 python-six
|
||||
;; XXX: gixy is incompatible with pyparsing >= 3.x.
|
||||
;; See <https://github.com/yandex/gixy/pull/132> and
|
||||
;; <https://github.com/yandex/gixy/pull/122>.
|
||||
python-pyparsing-2.4.7))
|
||||
(home-page "https://github.com/yandex/gixy")
|
||||
;; This package currently doesn't test properly, but we can't add
|
||||
;; pytest because it propagates another version of python-pyparsing
|
||||
;; that takes precedence over the right one.
|
||||
(propagated-inputs (list python-configargparse
|
||||
python-jinja2
|
||||
python-pyparsing-2.4.7
|
||||
python-six))
|
||||
(native-inputs (list python-cached-property
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(home-page "https://github.com/dvershinin/gixy")
|
||||
(synopsis "Static NGINX configuration analyzer")
|
||||
(description "Gixy is a static analyzer whose main goal is to help
|
||||
prevent common NGINX misconfigurations. It provides the @command{gixy}
|
||||
command.")
|
||||
(license license:mpl2.0))))
|
||||
command.
|
||||
|
||||
Note: This is an actively maintained fork of the original @code{python-gixy}
|
||||
package.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-deprecated/public python-gixy python-gixy-ng
|
||||
(package/inherit python-gixy-ng
|
||||
(name "python-gixy")))
|
||||
|
||||
(define-public googletest
|
||||
(package
|
||||
|
@ -1413,34 +1416,6 @@ syntax validation, ...
|
|||
(define-public python-parameterized
|
||||
(package
|
||||
(name "python-parameterized")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "parameterized" version))
|
||||
(sha256
|
||||
(base32 "0p1vhfw552rgd7gb2vy4l4l4k8mnbdz7f3chgzvk0r0qsqvzzfs1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
(invoke "nosetests" "-v")
|
||||
(format #t "test suite not run~%"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(list python-mock python-nose))
|
||||
(home-page "https://github.com/wolever/parameterized")
|
||||
(synopsis "Parameterized testing with any Python test framework")
|
||||
(description
|
||||
"Parameterized is a Python library that aims to fix parameterized testing
|
||||
for every Python test framework. It supports nose, py.test, and unittest.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public python-parameterized-next
|
||||
(package
|
||||
(inherit python-parameterized)
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
|
@ -1450,18 +1425,29 @@ for every Python test framework. It supports nose, py.test, and unittest.")
|
|||
(base32 "1c89vc40zj5aj2zvbvw875wqpyf0x6xrqhm3q5jg797g5hkhbjbz"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(list
|
||||
#:test-flags #~(list "parameterized/test.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(substitute* "parameterized/test.py"
|
||||
(("import mock") "from unittest import mock"))
|
||||
(invoke "python3" "-m" "unittest")))))))
|
||||
;; It's taken from NixOS package definition.
|
||||
;; <https://github.com/wolever/parameterized/issues/167>,
|
||||
;; <https://github.com/wolever/parameterized/pull/162>.
|
||||
(("assert_equal\\(missing, \\[\\])") "")
|
||||
(("assertRaisesRegexp") "assertRaisesRegex")))))))
|
||||
(native-inputs
|
||||
(list python-jinja2
|
||||
(list python-pytest
|
||||
python-mock
|
||||
python-setuptools
|
||||
python-wheel))))
|
||||
python-wheel))
|
||||
(home-page "https://github.com/wolever/parameterized")
|
||||
(synopsis "Parameterized testing with any Python test framework")
|
||||
(description
|
||||
"Parameterized is a Python library that aims to fix parameterized testing
|
||||
for every Python test framework. It supports nose, py.test, and unittest.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public python-minimock
|
||||
(package
|
||||
|
@ -2004,35 +1990,29 @@ Python's @code{random.seed}.")
|
|||
(define-public python-pytest-runner
|
||||
(package
|
||||
(name "python-pytest-runner")
|
||||
(version "6.0.0")
|
||||
(version "6.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-runner" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11dnhxnjmh4nf1j8rnvx944ha3wg8ggrgrwdcx4c7d19xmi57n5l"))))
|
||||
"16zly218ij0n6fxzqsasia3vh9xkzl9w0cs9pwvqy057hnap7m3h"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; FIXME: The test suite requires 'python-pytest-virtualenv',
|
||||
;; but that introduces a circular dependency.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(let ((circa-1980 (* 10 366 24 60 60)))
|
||||
(setenv "SOURCE_DATE_EPOCH" (number->string circa-1980))
|
||||
(invoke "python" "-m" "build" "--wheel" "--no-isolation" "."))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((whl (car (find-files "dist" "\\.whl$"))))
|
||||
(invoke "pip" "--no-cache-dir" "--no-input"
|
||||
"install" "--no-deps" "--prefix" #$output whl)))))))
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
(list python-pip python-pypa-build python-pytest
|
||||
python-setuptools python-setuptools-scm python-wheel))
|
||||
(list python-pytest
|
||||
python-pytest-checkdocs
|
||||
python-pytest-enabler
|
||||
;; python-pytest-virtualenv
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-types-setuptools
|
||||
python-wheel))
|
||||
(home-page "https://github.com/pytest-dev/pytest-runner")
|
||||
(synopsis "Invoke py.test as a distutils command")
|
||||
(description
|
||||
|
@ -2825,13 +2805,13 @@ instantly.")
|
|||
(define-public python-crosshair
|
||||
(package
|
||||
(name "python-crosshair")
|
||||
(version "0.0.76")
|
||||
(version "0.0.84")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "crosshair-tool" version))
|
||||
(sha256
|
||||
(base32 "1yvbhzs7r85gn4d7drl7p7vi1f5cga1xyy3mzxy3fglyf8kxyakh"))))
|
||||
(base32 "1j6icn5f206yld9871p7a3v45jg8d8v4bhxh09lq3kzi09gr7maz"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -2853,7 +2833,7 @@ instantly.")
|
|||
(("typing-inspect>=0.7.1") "typing-inspect>=0.6.0")
|
||||
;; 'sanity-check fails for z3-solver, although it is
|
||||
;; included in 'propagated-inputs.
|
||||
(("z3-solver==4.13.0.0") ""))))
|
||||
(("z3-solver>=4.13.0.0") ""))))
|
||||
(add-before 'check 'set-test-env
|
||||
(lambda _
|
||||
(setenv "PYTHONHASHSEED" "0")))))) ;tests rely on this value
|
||||
|
@ -2863,10 +2843,16 @@ instantly.")
|
|||
python-mypy
|
||||
python-numpy
|
||||
python-pytest
|
||||
python-pytest-xdist))
|
||||
python-pytest-xdist
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-typeshed-client
|
||||
(list python-importlib-metadata
|
||||
python-packaging
|
||||
;; python-pygls
|
||||
python-typeshed-client
|
||||
python-typing-inspect
|
||||
python-typing-extensions
|
||||
z3))
|
||||
(home-page "https://crosshair.readthedocs.io")
|
||||
(synopsis "Analysis tool for Python using symbolic execution")
|
||||
|
@ -3132,39 +3118,6 @@ produces a given output. As mypy can be told to display the type of an
|
|||
expression this allows you to check mypys type interference.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public python-pytest-pep8
|
||||
(package
|
||||
(name "python-pytest-pep8")
|
||||
(version "1.0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-pep8" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06032agzhw1i9d9qlhfblnl3dw5hcyxhagn7b120zhrszbjzfbh3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Fails with recent pytest and pep8. See upstream issues #8 and #12.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-dependencies
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'pytest-cache', ") "")))) ; Included in recent pytest
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "-v")))))))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-pep8))
|
||||
(home-page "https://bitbucket.org/pytest-dev/pytest-pep8")
|
||||
(synopsis "Py.test plugin to check PEP8 requirements")
|
||||
(description "Pytest plugin for checking PEP8 compliance.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-perf
|
||||
(package
|
||||
(name "python-pytest-perf")
|
||||
|
@ -3231,19 +3184,13 @@ each of the environments.")
|
|||
(sha256
|
||||
(base32
|
||||
"0959qfxb4ayvfxvmpargvh4zfhwdq5l77gczhzv33bhmfblk8ccm"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
;; It's easier to run tests after install.
|
||||
;; Make installed package available for running the tests
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "py.test" "-vv" "-k" "not test_syntax_error"))))))
|
||||
(list
|
||||
#:test-flags
|
||||
'(list "-k" "not test_syntax_error")))
|
||||
(native-inputs
|
||||
(list python-coverage python-pytest python-pytest-pep8))
|
||||
(list python-coverage python-pytest python-setuptools python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-pyflakes))
|
||||
(home-page "https://github.com/fschulze/pytest-flakes")
|
||||
|
@ -3485,7 +3432,6 @@ backported from Python 2.7 for Python 2.4+.")
|
|||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-mock
|
||||
python-nose
|
||||
python-assertpy
|
||||
python-pathpy
|
||||
python-pyhamcrest
|
||||
|
@ -3541,37 +3487,6 @@ tests written in a natural language style, backed up by Python code.")
|
|||
JSON APIs with Behave.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-rednose
|
||||
(package
|
||||
(name "python-rednose")
|
||||
(version "1.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "rednose" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11x5nx5b4wdq04s7vj1gcdl07jvvkfb37p0r5lg773gr5rr8mj6h"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-setup.py
|
||||
(lambda _
|
||||
;; Six is only required for tests and later versions
|
||||
;; work fine.
|
||||
(substitute* "setup.py"
|
||||
(("six==1.10.0") "six"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
(list python-colorama python-termstyle))
|
||||
(native-inputs
|
||||
(list python-six python-nose))
|
||||
(home-page "https://github.com/JBKahn/rednose")
|
||||
(synopsis "Colored output for Python nosetests")
|
||||
(description "This package provides colored output for the
|
||||
@command{nosetests} command of the Python Nose unit test framework.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-nose-exclude
|
||||
(package
|
||||
(name "python-nose-exclude")
|
||||
|
@ -3632,30 +3547,6 @@ running your code against a large number of randomly generated input
|
|||
scenarios.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-nose-randomly
|
||||
(package
|
||||
(name "python-nose-randomly")
|
||||
(version "1.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nose-randomly" version))
|
||||
(sha256
|
||||
(base32 "0z662rqhfk4bjmg806mn4frb8nz4gbh7mrddsrhfffp1g4yklj3y"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-nose python-numpy))
|
||||
(home-page "https://github.com/adamchainz/nose-randomly")
|
||||
(synopsis
|
||||
"Nose plugin to randomly order tests and control random.seed")
|
||||
(description
|
||||
"This is a @code{Nose} plugin to randomly order tests which can be quite
|
||||
powerful in discovering hidden flaws in the tests themselves, while helping to
|
||||
reduce inter-test dependencies. It also helps in controlling @code{random.seed},
|
||||
by resetting it to a repeatable number for each test, enabling the tests to
|
||||
create data based on random numbers and yet remain repeatable.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-nose-timer
|
||||
(package
|
||||
(name "python-nose-timer")
|
||||
|
@ -4398,23 +4289,25 @@ directories and files.")
|
|||
(define-public python-pytest-regressions
|
||||
(package
|
||||
(name "python-pytest-regressions")
|
||||
(version "2.5.0")
|
||||
(version "2.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-regressions" version))
|
||||
(uri (pypi-uri "pytest_regressions" version))
|
||||
(sha256
|
||||
(base32 "1nbg20m83jsj9p12fm4qn5b7hc3vqb5h5fzfi6zvmwygq627i341"))))
|
||||
(base32 "0pph1935rq180ax0szwwf3c6zq2v40snypagr49914i31570cc2c"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; Do not fail on warning.
|
||||
;; DeprecationWarning: module 'sre_constants' is deprecated
|
||||
#:test-flags #~(list "-W" "ignore::DeprecationWarning")))
|
||||
(native-inputs
|
||||
(list python-matplotlib
|
||||
python-numpy
|
||||
(list python-numpy
|
||||
python-pandas
|
||||
python-pillow
|
||||
python-restructuredtext-lint
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-pytest))
|
||||
python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-pytest-datadir
|
||||
python-pyyaml))
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2020, 2021, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020, 2021, 2023, 2024, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020, 2021, 2022, 2024 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
|
@ -45,6 +45,7 @@
|
|||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
|
||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1549,7 +1550,7 @@ tools:
|
|||
;; header
|
||||
(package
|
||||
(name "cpp-httplib")
|
||||
(version "0.18.5")
|
||||
(version "0.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1557,7 +1558,7 @@ tools:
|
|||
(url "https://github.com/yhirose/cpp-httplib")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1jc31n4xdrknal4i1dvf8j6j9kafpczi0w5gbbi89xlir9dgm5kp"))
|
||||
(base32 "0w5klyfsaws793xb0cbkjxg7lwrdm6f3m4z4v7pzkwl957f9q70m"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -1606,7 +1607,7 @@ library.")
|
|||
(define-public cpplint
|
||||
(package
|
||||
(name "cpplint")
|
||||
(version "1.5.5")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1616,7 +1617,7 @@ library.")
|
|||
(url "https://github.com/cpplint/cpplint")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "13l86aq0h1jga949k79k9x3hw2xqchjc162sclg2f99vz98zcz15"))
|
||||
(base32 "06km4wh4944az1hk61g5w8pjhbvbccpgarz1dy7vhwkhfvmvggnk"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
|
@ -1625,6 +1626,11 @@ library.")
|
|||
,@%pyproject-build-system-modules)
|
||||
#:phases
|
||||
#~(modify-phases (@ (guix build pyproject-build-system) %standard-phases)
|
||||
(add-after 'unpack 'patch-build-system
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("setuptools\\.build_meta:__legacy__")
|
||||
"setuptools.build_meta"))))
|
||||
(add-before 'wrap 'reduce-GUIX_PYTHONPATH
|
||||
(lambda _
|
||||
;; Hide the transitive native inputs from GUIX_PYTHONPATH
|
||||
|
@ -1651,9 +1657,11 @@ library.")
|
|||
(getenv "TMP_PYTHONPATH")))))))
|
||||
(native-inputs
|
||||
(list python-coverage
|
||||
python-parameterized
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-runner
|
||||
python-pytest-timeout
|
||||
python-setuptools
|
||||
python-testfixtures
|
||||
python-wheel))
|
||||
|
@ -2614,6 +2622,40 @@ union, difference & exclusive-or, and line & polygon offsetting.
|
|||
The library is based on Vatti's clipping algorithm.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public clipper2
|
||||
(package
|
||||
(inherit clipper)
|
||||
(name "clipper2")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AngusJohnson/Clipper2")
|
||||
(commit (string-append "Clipper2_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1w8cmx712k45cb8gh9dakmbmybiwdx8c0b45mwpcldywx2lwxi2j"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(for-each
|
||||
delete-file-recursively
|
||||
'("CSharp" "DLL" "Delphi")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DUSE_EXTERNAL_GTEST=ON"
|
||||
"-DCLIPPER2_EXAMPLES=OFF")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "CPP"))))))
|
||||
(native-inputs (list googletest))
|
||||
(home-page "https://github.com/AngusJohnson/Clipper2")
|
||||
(description
|
||||
(string-append (package-description clipper) "\
|
||||
Note: This package is a major update of the original clipper library."))))
|
||||
|
||||
(define-public pcg-cpp
|
||||
(let ((commit "ffd522e7188bef30a00c74dc7eb9de5faff90092")
|
||||
(revision "2"))
|
||||
|
@ -3754,6 +3796,26 @@ file name and location, as well as filters with friendly names (such as
|
|||
\"source files\" or \"image files\") where supported.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public string-view-lite
|
||||
(package
|
||||
(name "string-view-lite")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/martinmoene/string-view-lite")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mfp3lmqx7ac0545akxd2v05rrapa3byz8q4gb9rqy94pcqbfyc5"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://github.com/martinmoene/string-view-lite")
|
||||
(synopsis "C++17 string-view for older C++")
|
||||
(description "This package provides a compatibility header-only library
|
||||
for C++17 string-view.")
|
||||
(license license:boost1.0)))
|
||||
|
||||
(define-public tsl-hopscotch-map
|
||||
(package
|
||||
(name "tsl-hopscotch-map")
|
||||
|
|
|
@ -47545,8 +47545,45 @@ without performing I/O.")
|
|||
("rust-rustversion" ,rust-rustversion-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-notify-7
|
||||
(package
|
||||
(name "rust-notify")
|
||||
(version "7.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "notify" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "02a0a1n0raxqslwhfprwmz7w34v54r42006q0m8bmy89jz1v8cy5"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:cargo-inputs (list rust-bitflags-2
|
||||
rust-crossbeam-channel-0.5
|
||||
rust-filetime-0.2
|
||||
rust-fsevent-sys-4
|
||||
rust-inotify-0.10
|
||||
rust-kqueue-1
|
||||
rust-libc-0.2
|
||||
rust-log-0.4
|
||||
rust-mio-1
|
||||
rust-notify-types-1
|
||||
rust-walkdir-2
|
||||
rust-windows-sys-0.52)
|
||||
#:cargo-development-inputs (list rust-insta-1
|
||||
rust-nix-0.27
|
||||
rust-serde-json-1
|
||||
rust-tempfile-3)))
|
||||
(home-page "https://github.com/notify-rs/notify")
|
||||
(synopsis "Cross-platform filesystem notification library")
|
||||
(description "This package contains a cross-platform filesystem
|
||||
notification library.")
|
||||
(license license:cc0)))
|
||||
|
||||
(define-public rust-notify-6
|
||||
(package
|
||||
(inherit rust-notify-7)
|
||||
(name "rust-notify")
|
||||
(version "6.1.1")
|
||||
(source
|
||||
|
@ -47556,7 +47593,6 @@ without performing I/O.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0bad98r0ilkhhq2jg3zs11zcqasgbvxia8224wpasm74n65vs1b2"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
|
||||
("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
|
||||
|
@ -47572,12 +47608,7 @@ without performing I/O.")
|
|||
("rust-windows-sys" ,rust-windows-sys-0.48))
|
||||
#:cargo-development-inputs (("rust-nix" ,rust-nix-0.23)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(home-page "https://github.com/notify-rs/notify")
|
||||
(synopsis "Cross-platform filesystem notification library")
|
||||
(description "This package contains a cross-platform filesystem
|
||||
notification library.")
|
||||
(license license:cc0)))
|
||||
("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-notify-5
|
||||
(package
|
||||
|
@ -47740,6 +47771,29 @@ client and server")
|
|||
Rust dbus client and server.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-notify-types-1
|
||||
(package
|
||||
(name "rust-notify-types")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "notify-types" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0x5idrpxzf70ng88rz28dqmgx1jyddf0vxx1x3csw09fw6skqpaq"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-instant" ,rust-instant-0.1)
|
||||
("rust-serde" ,rust-serde-1))
|
||||
#:cargo-development-inputs (("rust-insta" ,rust-insta-1)
|
||||
("rust-rstest" ,rust-rstest-0.21)
|
||||
("rust-serde-json" ,rust-serde-json-1))))
|
||||
(home-page "https://github.com/notify-rs/notify")
|
||||
(synopsis "Types used by the notify crate")
|
||||
(description "This package provides rust types used by the notify crate.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-notmuch-0.8
|
||||
(package
|
||||
(name "rust-notmuch")
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021 c4droid <c4droid@foxmail.com>
|
||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,9 +31,11 @@
|
|||
#:use-module (gnu packages engineering)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-compression)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages bioinformatics) ;python-intervaltree
|
||||
#:use-module (gnu packages emulators))
|
||||
|
@ -123,24 +126,26 @@ chains of gadgets to execute system calls.")
|
|||
(define-public pwntools
|
||||
(package
|
||||
(name "pwntools")
|
||||
(version "4.4.0")
|
||||
(version "4.15.0b1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pwntools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qw7j0wwm1878aia08gyw5xljjr26qsbp45w65n4qff672sha5n5"))))
|
||||
"091fsk9rvbjkcsp8mmww0ka26dvznmj4pbqwaiygcw90g3v94zgd"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ;XXX: needs a specific version of unicorn
|
||||
(propagated-inputs
|
||||
(list capstone
|
||||
python-colored-traceback
|
||||
python-dateutil
|
||||
python-intervaltree
|
||||
python-mako
|
||||
python-packaging
|
||||
python-paramiko
|
||||
python-pathlib2
|
||||
python-psutil
|
||||
python-pyelftools
|
||||
python-pygments
|
||||
|
@ -148,9 +153,14 @@ chains of gadgets to execute system calls.")
|
|||
python-pysocks
|
||||
python-requests
|
||||
ropgadget
|
||||
python-rpyc
|
||||
python-six
|
||||
python-sortedcontainers
|
||||
python-unix-ar
|
||||
python-zstandard
|
||||
unicorn))
|
||||
(native-inputs
|
||||
(list python-setuptools python-toml python-wheel))
|
||||
(home-page "https://github.com/Gallopsled/pwntools")
|
||||
(synopsis
|
||||
"Capture-the-flag (CTF) framework and exploit development library")
|
||||
|
|
|
@ -3371,20 +3371,24 @@ coroutine-specific markup.")
|
|||
(define-public python-asyncpg
|
||||
(package
|
||||
(name "python-asyncpg")
|
||||
(version "0.25.0")
|
||||
(version "0.30.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asyncpg" version))
|
||||
(sha256
|
||||
(base32 "0h1573lp4607nppflnnjrhn7yrfy6i54cm98gi4qbcikjykfdy33"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-typing-extensions))
|
||||
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list postgresql
|
||||
python-cython
|
||||
python-pytest
|
||||
python-uvloop))
|
||||
python-uvloop
|
||||
python-distro
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-async-timeout))
|
||||
(home-page "https://github.com/MagicStack/asyncpg")
|
||||
(synopsis "Fast PostgreSQL database client library for Python")
|
||||
(description "@code{asyncpg} is a database interface library designed
|
||||
|
@ -4574,7 +4578,11 @@ reasonable substitute.")
|
|||
"test_tfunction_load_delete"
|
||||
"test_tfunction_list"
|
||||
;; AssertionError: assert 3 == 2
|
||||
"test_acl_list")
|
||||
"test_acl_list"
|
||||
;; XXX: This test occasionally fails on i686-linux
|
||||
#$@(if (target-x86-32?)
|
||||
'("test_geopos")
|
||||
'()))
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
@ -4608,7 +4616,7 @@ reasonable substitute.")
|
|||
(define-public python-rq
|
||||
(package
|
||||
(name "python-rq")
|
||||
(version "1.11.1")
|
||||
(version "2.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4617,24 +4625,20 @@ reasonable substitute.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dnjm2s036l4j4ypq0h903vh132dp2wiwjrn8jicz1nw829dqpzf"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1w9aqvbvh1mfpgng0mdcskxl5y3ybcqqai5dnwgvg18am0xxhya6"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-redis
|
||||
(lambda _
|
||||
(invoke "redis-server" "--daemonize" "yes")))
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Drop test that needs the SDK for Sentry.io.
|
||||
(delete-file "tests/test_sentry.py")
|
||||
;; Ensure 'rq' and 'rqworker' ends up on PATH.
|
||||
(setenv "PATH" (string-append out "/bin:"
|
||||
(getenv "PATH")))
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(invoke "redis-server" "--daemonize" "yes"))))))
|
||||
(native-inputs
|
||||
(list python-mock python-psutil python-pytest redis))
|
||||
(list python-hatchling
|
||||
python-mock
|
||||
python-psutil
|
||||
python-pytest
|
||||
redis))
|
||||
(propagated-inputs
|
||||
(list python-click python-redis))
|
||||
(home-page "https://python-rq.org/")
|
||||
|
@ -4648,7 +4652,7 @@ is designed to have a low barrier to entry.")
|
|||
(define-public python-rq-scheduler
|
||||
(package
|
||||
(name "python-rq-scheduler")
|
||||
(version "0.10.0")
|
||||
(version "0.14")
|
||||
(home-page "https://github.com/rq/rq-scheduler")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -4658,21 +4662,30 @@ is designed to have a low barrier to entry.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xg6yazqs5kbr2ayvhvljs1h5vgx5k5dds613fmhswln7gglf9hk"))))
|
||||
(build-system python-build-system)
|
||||
"09fh9m2vcl1jndq35xp1x0j8ih009r71qmhn2pkl93fykrqfavyn"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" (string-append "not test_cron"
|
||||
" and not test_job_creation_with"
|
||||
" and not test_job_with_crontab"))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-redis
|
||||
(lambda _
|
||||
(invoke "redis-server" "--daemonize" "yes")))
|
||||
(replace 'check
|
||||
(add-after 'unpack 'loosen-requirements
|
||||
(lambda _
|
||||
(substitute* "run_tests.py"
|
||||
(("/usr/bin/env")
|
||||
(which "env")))
|
||||
(invoke "./run_tests.py"))))))
|
||||
(substitute* "setup.py"
|
||||
(("crontab>=[0-9.]*")
|
||||
"python-crontab")))))))
|
||||
(native-inputs
|
||||
(list redis which))
|
||||
(list python-crontab
|
||||
python-freezegun
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-wheel
|
||||
redis))
|
||||
(propagated-inputs
|
||||
(list python-croniter python-rq))
|
||||
(synopsis "Job scheduling capabilities for RQ (Redis Queue)")
|
||||
|
@ -4724,14 +4737,15 @@ provides support for parsing, splitting and formatting SQL statements.")
|
|||
(define-public python-sql
|
||||
(package
|
||||
(name "python-sql")
|
||||
(version "1.3.0")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-sql" version))
|
||||
(uri (pypi-uri "python_sql" version))
|
||||
(sha256
|
||||
(base32 "0xnimfzlxj1ddrb5xj3s4gaii278a0gpxrvwmdmrdxgjfdi3lq4x"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0dnd0vai9z1fjkppv2xv2f4vlwwz0dqa137f39mrbjw744vm4pvk"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(home-page "https://python-sql.tryton.org/")
|
||||
(synopsis "Library to write SQL queries in a pythonic way")
|
||||
(description "@code{python-sql} is a library to write SQL queries, that
|
||||
|
@ -5359,7 +5373,7 @@ other traditional Python scientific computing packages.")
|
|||
(define-public python-fastparquet
|
||||
(package
|
||||
(name "python-fastparquet")
|
||||
(version "2024.2.0")
|
||||
(version "2024.11.0")
|
||||
(source
|
||||
(origin
|
||||
;; Fastparquet uses setuptools-scm to find the current version. This
|
||||
|
@ -5372,7 +5386,7 @@ other traditional Python scientific computing packages.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0f32dj1xvd11l0siznqd33dpjlhg9siylcjcfkcdlqfcy45jfj3v"))))
|
||||
(base32 "0dhmyag06d073g1q58npbcikr9hjd6jgf05721gkl6m1gsprv7hq"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -5398,6 +5412,13 @@ other traditional Python scientific computing packages.")
|
|||
;; Cython extensions need to be built for the check phase.
|
||||
(lambda _
|
||||
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-pytest
|
||||
python-pytest-xdist
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-cramjam
|
||||
python-fsspec
|
||||
|
@ -5405,11 +5426,6 @@ other traditional Python scientific computing packages.")
|
|||
python-numpy
|
||||
python-packaging
|
||||
python-pandas))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-pytest-runner
|
||||
python-pytest-xdist
|
||||
python-setuptools-scm))
|
||||
(home-page "https://github.com/dask/fastparquet")
|
||||
(synopsis "Python implementation of the Parquet file format")
|
||||
(description
|
||||
|
|
|
@ -148,26 +148,10 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
|||
;; This CVE seems fixed since 4.2.1.
|
||||
(lint-hidden-cve . ("CVE-2023-31047"))))))
|
||||
|
||||
(define-public python-django-3.2
|
||||
(package
|
||||
(inherit python-django-4.2)
|
||||
(version "3.2.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Django" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g3zm2glh76g31q06g6fwkwvkrphjj3mnap5sgk1hx3v9r44rpm5"))))
|
||||
(native-search-paths '()) ;no need for TZDIR
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-django-4.2)
|
||||
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
|
||||
(append python-pytz)))))
|
||||
|
||||
;; archivebox requires django>=3.1.3,<3.2
|
||||
(define-public python-django-3.1.14
|
||||
(package
|
||||
(inherit python-django-3.2)
|
||||
(inherit python-django-4.2)
|
||||
(version "3.1.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -176,7 +160,7 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
|||
(base32
|
||||
"0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j"))))
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-django-3.2)
|
||||
(modify-inputs (package-propagated-inputs python-django-4.2)
|
||||
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
|
||||
(append python-pytz)))))
|
||||
|
||||
|
@ -1055,35 +1039,37 @@ support, and optional data-URI image and font embedding.")
|
|||
(define-public python-django-rq
|
||||
(package
|
||||
(name "python-django-rq")
|
||||
(version "2.7.0")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "django-rq" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aw0fi0lg80qgdp9fhjbnlhvfh2p09rgy1nj6hxpyhi37kihni2h"))))
|
||||
"1b371w4cdjlz83i2sg4gpx0z3svl3bfrn6zfy661374hv62xpnkv"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" "not test_scheduled_jobs and not test_started_jobs")
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "redis-server" "--daemonize" "yes")
|
||||
(invoke "django-admin" "test" "django_rq"
|
||||
"--settings=django_rq.tests.settings"
|
||||
"--pythonpath=.")))))))
|
||||
(setenv "DJANGO_SETTINGS_MODULE" "django_rq.tests.settings")
|
||||
(setenv "PYTHONPATH" (getcwd))))))))
|
||||
(native-inputs
|
||||
(list python-django-redis
|
||||
python-mock
|
||||
python-pytest
|
||||
python-pytest-django
|
||||
python-rq-scheduler
|
||||
python-setuptools
|
||||
python-wheel
|
||||
redis
|
||||
tzdata-for-tests))
|
||||
(propagated-inputs
|
||||
(list python-django python-rq))
|
||||
(list python-django python-redis python-rq python-pyaml))
|
||||
(home-page "https://github.com/ui/django-rq")
|
||||
(synopsis "Django integration with RQ")
|
||||
(description
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix utils)
|
||||
|
@ -51,6 +52,7 @@
|
|||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
|
@ -315,6 +317,8 @@ format, and supports the file types JPG, GIF, TIFF, PNG, and PNM for embedded
|
|||
objects.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
;; XXX: This project looks not maintained, and some tests fail to pass, see
|
||||
;; <https://github.com/spyder-ide/docrepr/issues/49>.
|
||||
(define-public python-docrepr
|
||||
(package
|
||||
(name "python-docrepr")
|
||||
|
@ -329,9 +333,10 @@ objects.")
|
|||
(base32
|
||||
"1ma5gwy93m1djd3zdlnqfrwhgr8ic1qbsz5kkrb9f987ax40lfkd"))
|
||||
(patches (search-patches "python-docrepr-fix-tests.patch"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; all tests fail
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-sources
|
||||
|
@ -344,17 +349,13 @@ objects.")
|
|||
;; https://github.com/spyder-ide/docrepr/issues/54).
|
||||
(substitute* "docrepr/utils.py"
|
||||
(("except TypeError")
|
||||
"except (TypeError, shutil.Error)"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-p" "no:warnings" "-vv")))))))
|
||||
"except (TypeError, shutil.Error)")))))))
|
||||
(native-inputs
|
||||
(list python-ipython
|
||||
python-matplotlib
|
||||
python-numpy
|
||||
python-pytest
|
||||
python-pytest-asyncio))
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-docutils
|
||||
python-jinja2
|
||||
|
|
|
@ -249,7 +249,7 @@ tags = [\"WS_X11\"]")
|
|||
(string-append "[tool.sip.project]
|
||||
sip-include-dirs = [\""
|
||||
#$(this-package-input "python-pyqt")
|
||||
"/lib/python3.10/site-packages/PyQt5/bindings\"]")))
|
||||
"/lib/python3.11/site-packages/PyQt5/bindings\"]")))
|
||||
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
|
||||
(("PDFTOHTML = 'pdftohtml'")
|
||||
(string-append "PDFTOHTML = \""
|
||||
|
|
|
@ -3138,7 +3138,9 @@ Microwave engineering.")
|
|||
python-scipy
|
||||
python-sympy
|
||||
python-wheel))
|
||||
(native-inputs (list python-pytest))
|
||||
(native-inputs (list python-pytest
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(home-page "https://github.com/mph-/lcapy")
|
||||
(synopsis "Symbolic linear circuit analysis")
|
||||
(description "Lcapy is a Python package for linear circuit analysis. It
|
||||
|
@ -5188,22 +5190,23 @@ more.")
|
|||
(package
|
||||
(name "python-asyncua")
|
||||
(version "1.1.5")
|
||||
(source (origin
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/FreeOpcUa/opcua-asyncio.git")
|
||||
(commit (string-append "v" version))
|
||||
;; XXX: It clones <https://github.com/OPCFoundation/UA-Nodeset>
|
||||
;; submodule, check if it may be unbundled.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0aisj8cpfhq50h4pv2p0c9iw5cqy3hxhn5adp8wd01c46dhg6y2x"))))
|
||||
(base32 "0aisj8cpfhq50h4pv2p0c9iw5cqy3hxhn5adp8wd01c46dhg6y2x"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-asynctest
|
||||
(list python-pytest
|
||||
python-pytest-asyncio-0.21
|
||||
python-pytest-mock
|
||||
python-pytest-runner
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
|
@ -5342,7 +5345,7 @@ and mogan.")
|
|||
(("'\" [+] python_path [+]")
|
||||
(string-append "'\" + std::string(\""
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/python3.10/site-packages"
|
||||
"/lib/python3.11/site-packages"
|
||||
"\") +")))))
|
||||
(add-before 'check 'prepare-checks
|
||||
(lambda _
|
||||
|
|
|
@ -2035,33 +2035,6 @@ compatible directories.")
|
|||
(home-page "https://github.com/trapexit/mergerfs-tools")
|
||||
(license license:isc))))
|
||||
|
||||
(define-public python-dropbox
|
||||
(package
|
||||
(name "python-dropbox")
|
||||
(version "12.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "dropbox" version))
|
||||
(sha256
|
||||
(base32 "0qlrc2ykl7zmv808apqv5ycfzrwnm13ngz1daizh9kszmpapy1ah"))
|
||||
(snippet
|
||||
'(begin
|
||||
(use-modules (guix build utils))
|
||||
(substitute* "setup.py"
|
||||
(("pytest-runner==5\\.2\\.0") "pytest-runner"))))))
|
||||
(build-system python-build-system)
|
||||
(arguments '(#:tests? #f)) ; Tests not included in the release tarball.
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-runner))
|
||||
(propagated-inputs
|
||||
(list python-requests python-six python-stone))
|
||||
(home-page "https://www.dropbox.com/developers")
|
||||
(synopsis "Official Dropbox API Client")
|
||||
(description "This package provides a Python SDK for integrating with the
|
||||
Dropbox API v2.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public dbxfs
|
||||
(package
|
||||
(name "dbxfs")
|
||||
|
|
|
@ -1039,15 +1039,23 @@ of Bitcoin BIP-0039.")
|
|||
(package
|
||||
(name "python-u2flib-host")
|
||||
(version "3.0.3")
|
||||
(source (origin
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-u2flib-host" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02pwafd5kyjpc310ys0pgnd0adff1laz18naxxwsfrllqafqnrxb"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "02pwafd5kyjpc310ys0pgnd0adff1laz18naxxwsfrllqafqnrxb"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
"--deselect=test/test_soft.py::TestSoftU2FDevice::test_registeration"
|
||||
"--deselect=test/test_reg_auth.py::TestRegister::test_register" "-k"
|
||||
"not test_forget")))
|
||||
(propagated-inputs (list python-hidapi python-requests))
|
||||
(native-inputs (list python-cryptography))
|
||||
(native-inputs (list python-cryptography python-pytest python-setuptools
|
||||
python-wheel))
|
||||
(home-page "https://github.com/Yubico/python-u2flib-host")
|
||||
(synopsis "Python based U2F host library")
|
||||
(description
|
||||
|
@ -1063,15 +1071,19 @@ of Bitcoin BIP-0039.")
|
|||
(method url-fetch)
|
||||
(uri (pypi-uri "ledgerblue" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ghpvxgih1zarp788qi1xh5xmprv6yhaxglfbix4974i7r4pszqy"))))
|
||||
(base32 "0ghpvxgih1zarp788qi1xh5xmprv6yhaxglfbix4974i7r4pszqy"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests
|
||||
(native-inputs
|
||||
(list python-setuptools python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-bleak
|
||||
(list
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'pretend-version
|
||||
(lambda _
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
|
||||
#$version))))))
|
||||
(native-inputs (list python-setuptools python-setuptools-scm python-wheel))
|
||||
(propagated-inputs (list python-bleak
|
||||
python-pyelftools
|
||||
python-pycryptodome
|
||||
python-ecpy
|
||||
|
@ -1216,9 +1228,11 @@ the KeepKey Hardware Wallet.")
|
|||
(sha256
|
||||
(base32
|
||||
"03zj602m2rln9yvr08dswy56vzkbldp8b074ixwzz525dafblr92"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(inputs
|
||||
(list python-ledgerblue python-trezor-agent))
|
||||
(native-inputs
|
||||
(list python-setuptools python-wheel))
|
||||
(home-page "https://github.com/romanz/trezor-agent")
|
||||
(synopsis "Ledger as hardware SSH/GPG agent")
|
||||
(description "This package allows using Ledger as hardware SSH/GPG agent.")
|
||||
|
@ -1414,42 +1428,22 @@ Luhn and family of ISO/IEC 7064 check digit algorithms.")
|
|||
(define-public python-duniterpy
|
||||
(package
|
||||
(name "python-duniterpy")
|
||||
(version "1.1.1")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "duniterpy" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.duniter.org/clients/python/duniterpy")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0h0fsawsrjd50lb1bkysb21ph39qlhmiymd3r5vs695qxvbwaqaa"))))
|
||||
(base32 "1ysh9b5lzg053hv4iw3zbn7hid05qssiwmrl8sir8qlk958r8x60"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required
|
||||
;; positional argument: 'value'".
|
||||
`(#:tests? #f
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'loosen-requirements
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("mnemonic = \"\\^0\\.19")
|
||||
"mnemonic = \">=0.19")
|
||||
(("jsonschema = \"\\^3\\.2")
|
||||
"jsonschema = \">=3.2"))))
|
||||
(add-after 'unpack 'adjust-for-new-libnacl
|
||||
(lambda _
|
||||
;; Mimic upstream commit ad8f6a26e9e7067; remove
|
||||
;; for newer versions of duniterpy.
|
||||
(substitute* "pyproject.toml"
|
||||
(("libnacl = \"1\\.8")
|
||||
"libnacl = \">=1.9"))
|
||||
(substitute* "duniterpy/key/ascii_armor.py"
|
||||
(("from libnacl\\.version import version as libnacl_version")
|
||||
"import importlib.metadata
|
||||
libnacl_version = importlib.metadata.version('libnacl')")))))))
|
||||
(native-inputs
|
||||
(list python-poetry-core))
|
||||
(list python-poetry-core-next
|
||||
python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-base58
|
||||
(list python-base58
|
||||
python-graphql-core
|
||||
python-jsonschema
|
||||
python-libnacl
|
||||
|
|
|
@ -505,14 +505,19 @@ subroutinizer for fontTools.")
|
|||
(uri (pypi-uri "cu2qu" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; XXX: Try to remove it when updating python-fonttools.
|
||||
(list #:test-flags #~(list "-k" "not test_ignore_single_points")))
|
||||
(propagated-inputs (list python-fonttools))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-defcon
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-wheel
|
||||
unzip))
|
||||
(home-page "https://github.com/googlefonts/cu2qu")
|
||||
(synopsis "Cubic-to-quadratic bezier curve conversion")
|
||||
|
|
|
@ -68,6 +68,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system qt)
|
||||
|
@ -128,6 +129,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages polkit)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
|
@ -789,7 +791,7 @@ other applications that need to directly deal with input devices.")
|
|||
(define-public libei
|
||||
(package
|
||||
(name "libei")
|
||||
(version "1.3.0")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -797,7 +799,7 @@ other applications that need to directly deal with input devices.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0idbl20ax060s7m435rszfv7c0bvpinjvq45qbqwvcvp0hg8r9y8"))
|
||||
"04ll43616pyfm7c835azdggx9x3vfykpcg3pzmsfz4f2vl5whalm"))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
|
@ -819,17 +821,18 @@ other applications that need to directly deal with input devices.")
|
|||
;; liboeffis-1.0.pc requires.private libelogind
|
||||
(list elogind))
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
(list dbus
|
||||
doxygen
|
||||
libxml2
|
||||
munit
|
||||
pkg-config
|
||||
python
|
||||
python-attrs
|
||||
python-black
|
||||
python-dbusmock
|
||||
python-jinja2
|
||||
python-pytest
|
||||
python-structlog
|
||||
python-pyaml
|
||||
valgrind/interactive))
|
||||
(home-page "https://libinput.pages.freedesktop.org/libei/")
|
||||
(synopsis "Emulated Input protocol implementation")
|
||||
|
@ -2872,17 +2875,19 @@ encoding names are iconv-compatible.")
|
|||
(define-public python-cchardet
|
||||
(package
|
||||
(name "python-cchardet")
|
||||
(version "2.1.7")
|
||||
(version "2.2.0a2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cchardet" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bqfz85cd51sw0bvhvdq9ikccxi2ld7g5jpni4jkq1a5clrvca64"))))
|
||||
(build-system python-build-system)
|
||||
"08wq5yfaafbjipabfc6kpyvivkk2394w7isv0mwx5agcf8cbnwnx"))))
|
||||
(build-system pyproject-build-system)
|
||||
(inputs
|
||||
(list uchardet))
|
||||
(native-inputs
|
||||
(list python-setuptools python-wheel))
|
||||
(home-page "https://github.com/PyYoshi/cChardet")
|
||||
(synopsis "High-performance character encoding detection for Python")
|
||||
(description "cChardet is a character encoding detector, written in
|
||||
|
|
|
@ -67,10 +67,10 @@
|
|||
#:use-module (gnu packages ibus)
|
||||
#:use-module (gnu packages inkscape)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls)
|
||||
|
|
|
@ -7479,60 +7479,6 @@ almost all of them.")
|
|||
principles are simplicity and standards compliance.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public d-feet
|
||||
(package
|
||||
(name "d-feet")
|
||||
(version "0.3.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jqw5ndpgyb0zxh0g21ai1911lfrm56vz18xbccfqm4sk95wwcw7"))
|
||||
(patches
|
||||
(search-patches "d-feet-drop-unused-meson-argument.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; The test suite requires a running X server.
|
||||
(system "Xvfb :1 &")
|
||||
(setenv "DISPLAY" ":1")))
|
||||
(add-before 'install 'disable-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/")))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(wrap-program (search-input-file outputs "bin/d-feet")
|
||||
`("GUIX_PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH")))
|
||||
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))
|
||||
(native-inputs
|
||||
(list `(,glib "bin")
|
||||
intltool
|
||||
itstool
|
||||
libxml2
|
||||
pkg-config
|
||||
python-pep8
|
||||
xorg-server-for-tests))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
gobject-introspection
|
||||
gtk+
|
||||
python-wrapper
|
||||
python-pygobject))
|
||||
(home-page "https://wiki.gnome.org/Apps/DFeet")
|
||||
(synopsis "D-Bus debugger")
|
||||
(description
|
||||
"D-Feet is a D-Bus debugger, which can be used to inspect D-Bus interfaces
|
||||
of running programs and invoke methods on those interfaces.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public d-spy
|
||||
(package
|
||||
(name "d-spy")
|
||||
|
@ -7574,6 +7520,9 @@ programs via D-Bus. It also ships a library for integration into development
|
|||
environments.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public d-feet
|
||||
(deprecated-package "d-feet" d-spy))
|
||||
|
||||
(define-public yelp-xsl
|
||||
(package
|
||||
(name "yelp-xsl")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015-2021, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2019, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
|
||||
|
@ -585,10 +585,17 @@ interface (FFI) of Guile.")
|
|||
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'set-environment
|
||||
(lambda _
|
||||
;; GPGME is built with large file support, so we need to set
|
||||
;; _FILE_OFFSET_BITS to 64 in all users of the GPGME library.
|
||||
,@(if (or (target-x86-32?) (target-arm32?))
|
||||
`((substitute* "setup.py"
|
||||
(("extra_macros = dict\\(\\)")
|
||||
"extra_macros = { \"_FILE_OFFSET_BITS\": 64 }")))
|
||||
'())
|
||||
(substitute* "setup.py"
|
||||
(("cc") (which "gcc")))
|
||||
#t)))
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2017, 2023 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2020, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
||||
;;; Copyright © 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
|
@ -142,6 +142,14 @@
|
|||
"--with-intl-api")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python-3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* '("python/mozbuild/mozpack/files.py"
|
||||
"python/mozbuild/mozbuild/util.py"
|
||||
"python/mozbuild/mozbuild/action/process_define_files.py"
|
||||
"python/mozbuild/mozbuild/backend/base.py"
|
||||
"python/mozbuild/mozbuild/preprocessor.py")
|
||||
(("\"rU\"") "\"r\""))))
|
||||
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||
(lambda _
|
||||
(let ((null-hash
|
||||
|
@ -278,6 +286,15 @@ in C/C++.")
|
|||
(substitute-keyword-arguments (package-arguments mozjs)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'python-3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* '("python/mozbuild/mozpack/files.py"
|
||||
"python/mozbuild/mozbuild/util.py"
|
||||
"python/mozbuild/mozbuild/action/process_define_files.py"
|
||||
"python/mozbuild/mozbuild/backend/base.py"
|
||||
"python/mozbuild/mozbuild/preprocessor.py"
|
||||
"python/mozbuild/mozbuild/virtualenv.py")
|
||||
(("'rU'") "'r'"))))
|
||||
(add-after 'unpack 'patch-for-python-3.10
|
||||
(lambda _
|
||||
;; Some classes were moved from collections to collections.abc
|
||||
|
@ -1650,7 +1667,7 @@ their corresponding VERSION, SOURCE and LOCALES variables."
|
|||
(setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
|
||||
(setenv "GUIX_PYTHONPATH"
|
||||
(string-append (getcwd)
|
||||
"/obj/_virtualenvs/build/lib/python3.10/site-packages"))
|
||||
"/obj/_virtualenvs/build/lib/python3.11/site-packages"))
|
||||
(setenv "BUILD_BACKENDS" "FasterMake,RecursiveMake")))
|
||||
(replace 'build ;build and install data files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
|
|
@ -389,9 +389,9 @@ subplots, multiple-axes, polar charts, and bubble charts.")
|
|||
(patches (search-patches "python-louvain-fix-test.patch"))
|
||||
(sha256
|
||||
(base32 "0sx53l555rwq0z7if8agirjgw4ddp8r9b949wwz8vlig03sjvfmp"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-setuptools-57)) ;for use_2to3 support
|
||||
(list python-setuptools python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-networkx python-numpy))
|
||||
(home-page "https://github.com/taynaud/python-louvain")
|
||||
|
|
|
@ -209,7 +209,7 @@ structure and layout algorithms.")
|
|||
(define-public python-uqbar
|
||||
(package
|
||||
(name "python-uqbar")
|
||||
(version "0.6.9")
|
||||
(version "0.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -218,27 +218,23 @@ structure and layout algorithms.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "037qj3rymm6xzdpklddfhmfp2p1bq9fi3jrvxj6gmharphd5z869"))))
|
||||
(base32 "1limp2m2smg0l3v6vn2fwhjcw1d8gakw5v0q7krb03q539qiql87"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments ; XXX: Disable failing tests.
|
||||
(list #:test-flags '(list "tests" "-k" "not test_find_executable \
|
||||
and not test_sphinx_book_text_broken_strict")))
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "--pyargs" "uqbar")))
|
||||
(native-inputs
|
||||
(list graphviz
|
||||
python-flake8
|
||||
python-isort
|
||||
python-mypy
|
||||
python-defusedxml
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools
|
||||
python-typing-extensions
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-black python-sphinx-5 python-unidecode
|
||||
(package/inherit python-sphinx-rtd-theme
|
||||
(propagated-inputs
|
||||
(modify-inputs
|
||||
(package-propagated-inputs python-sphinx-rtd-theme)
|
||||
(replace "python-sphinx" python-sphinx-5))))))
|
||||
(list python-black
|
||||
python-sphinx
|
||||
python-unidecode))
|
||||
(home-page "https://github.com/josiah-wolf-oberholtzer/uqbar")
|
||||
(synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX")
|
||||
(description
|
||||
|
|
|
@ -1812,63 +1812,55 @@ processing pipelines.")
|
|||
(define-public labelme
|
||||
(package
|
||||
(name "labelme")
|
||||
(version "4.5.13")
|
||||
;; It's the latest available version which does not require not packaged
|
||||
;; <https://github.com/wkentaro/osam>.
|
||||
(version "5.2.1")
|
||||
(source
|
||||
(origin
|
||||
;; PyPi tarball lacks tests.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/wkentaro/labelme.git")
|
||||
(url "https://github.com/wkentaro/labelme")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0cmi2xb4dgh7738l259rgwhn9l134f0vnaaqc2gflc5yr3lqhrv2"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1xpyad6rlkxyx51jaai4xhdy15k1gvm62xnkjn152hc1vj1c77sr"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'loosen-requirements
|
||||
(lambda _
|
||||
;; Don't require an outdated version of matplotlib.
|
||||
(substitute* "setup.py"
|
||||
(("matplotlib<3\\.3")
|
||||
"matplotlib"))))
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-m" "not gpu"
|
||||
;; Fails when invoking help2man for unknown reason.
|
||||
"--ignore=tests/docs_tests/man_tests/test_labelme_1.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-xserver
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server")))
|
||||
(let ((xorg-server #$(this-package-native-input "xorg-server")))
|
||||
;; Options taken from CI workflow.
|
||||
(system (string-append xorg-server "/bin/Xvfb :99 -screen 0 "
|
||||
"1920x1200x24 -ac +extension GLX +render "
|
||||
"-noreset &"))
|
||||
(setenv "DISPLAY" ":99.0"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
;; Fails when invoking help2man for unknown reason.
|
||||
(delete-file "tests/docs_tests/man_tests/test_labelme_1.py")
|
||||
;; One test hangs.
|
||||
(delete-file "tests/labelme_tests/widgets_tests/test_label_dialog.py")
|
||||
;; Calls incompatible function signatures.
|
||||
(delete-file "tests/labelme_tests/widgets_tests/test_label_list_widget.py")
|
||||
(setenv "MPLBACKEND" "agg")
|
||||
(invoke "pytest" "-v" "tests" "-m" "not gpu")))))))
|
||||
(setenv "DISPLAY" ":99.0")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-qt
|
||||
xorg-server-for-tests
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-imgviz
|
||||
python-matplotlib
|
||||
python-natsort
|
||||
python-numpy
|
||||
python-pillow
|
||||
python-pyyaml
|
||||
python-qtpy
|
||||
python-termcolor))
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-qt xorg-server-for-tests))
|
||||
(home-page "https://github.com/wkentaro/labelme")
|
||||
(synopsis
|
||||
"Image Polygonal Annotation")
|
||||
(synopsis "Image Polygonal Annotation")
|
||||
(description
|
||||
"Image and video labeling tool supporting different shapes like
|
||||
polygons, rectangles, circles, lines, points and VOC/COCO export.")
|
||||
"Image and video labeling tool supporting different shapes like polygons,
|
||||
rectangles, circles, lines, points and VOC/COCO export.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public charls
|
||||
|
|
|
@ -2761,6 +2761,10 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
|
|||
(guix build utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("\"rU\"") "\"r\""))))
|
||||
(add-after 'install 'glib-or-gtk-wrap
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
|
||||
(add-after 'install 'wrap-program
|
||||
|
|
|
@ -919,7 +919,7 @@ parsers")
|
|||
;; unmaintained clone of <https://github.com/ircdocs/parser-tests>
|
||||
;; which is packed in Guix as python-irc-parser-tests. Tests data
|
||||
;; (YAML files) are distributed as Python package and located in
|
||||
;; <lib/python3.10/site-packages/parser_tests/data/>.
|
||||
;; <lib/python3.11/site-packages/parser_tests/data/>.
|
||||
(add-before 'check 'install-testcases-data
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
|
|
|
@ -122,7 +122,8 @@ information.")
|
|||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools))
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-pandas))
|
||||
(home-page "https://github.com/IndEcol/country_converter")
|
||||
|
|
|
@ -64,13 +64,6 @@
|
|||
(sha256
|
||||
(base32 "1qrhzazq10dz64y9mawr3ns595fsdhrj1wvbb42xhmcl66r1xq8a"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
;; Because python-jsonschema has an old python-webcolor. Remove this
|
||||
;; when python-team branch is merged.
|
||||
'(modify-phases %standard-phases
|
||||
(delete 'sanity-check))))
|
||||
(propagated-inputs (list python-argon2-cffi
|
||||
python-ipykernel
|
||||
python-ipython-genutils
|
||||
|
@ -96,7 +89,7 @@
|
|||
python-pytest-jupyter
|
||||
python-pytest-tornasync
|
||||
python-requests
|
||||
python-requests-unixsocket
|
||||
python-requests-unixsocket2
|
||||
python-testpath))
|
||||
(home-page "https://github.com/jupyter/nbclassic")
|
||||
(synopsis "Jupyter Notebook as a Jupyter Server extension")
|
||||
|
@ -601,7 +594,7 @@ JavaScript build steps.")
|
|||
(setenv "PATH"
|
||||
(string-append #$output "/bin:" (getenv "PATH"))))))))
|
||||
(propagated-inputs
|
||||
(list python-anyio/without-dataclasses
|
||||
(list python-anyio
|
||||
python-argon2-cffi
|
||||
python-jinja2
|
||||
python-jupyter-client
|
||||
|
@ -1062,13 +1055,13 @@ a notebook.")
|
|||
(define-public python-ipympl
|
||||
(package
|
||||
(name "python-ipympl")
|
||||
(version "0.9.1")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ipympl" version))
|
||||
(sha256
|
||||
(base32 "11rppjdqzgs4pfiq8gww5xkpbk21fp86vvv839v56b9rqq06j2b4"))))
|
||||
(base32 "12qgiy08klqb5gipm23yzh09p5g2k8ihcq2bprprdya84acw2rf8"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-ipython
|
||||
|
@ -1079,7 +1072,7 @@ a notebook.")
|
|||
python-pillow
|
||||
python-traitlets))
|
||||
(native-inputs
|
||||
(list python-jupyter-packaging))
|
||||
(list python-hatchling python-jupyter-packaging))
|
||||
(home-page "https://matplotlib.org/ipympl/")
|
||||
(synopsis "Matplotlib Jupyter Extension")
|
||||
(description "Leveraging the Jupyter interactive widgets framework, ipympl
|
||||
|
|
|
@ -663,7 +663,7 @@ output), and Binutils.")
|
|||
(rename-file (string-append #$output "/share/opt-viewer")
|
||||
opt-viewer-share))))
|
||||
;; The build daemon goes OOM on i686-linux on this phase.
|
||||
#$@(if (and (version>=? version "16.0")
|
||||
#$@(if (and (version>=? version "15.0")
|
||||
(target-x86-32?))
|
||||
#~((delete 'make-dynamic-linker-cache))
|
||||
#~()))))
|
||||
|
|
|
@ -234,8 +234,16 @@ family of functions.")
|
|||
(sha256
|
||||
(base32 "0cgysij0dix0fikyz2x4f8jvaskm5s5a04s07chzaz2dw1fpxdq8"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments ; disable flaky test
|
||||
(list #:test-flags '(list "-k" "not test_integrate_variable[x23-i]")))
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
'(list "-k"
|
||||
(string-append
|
||||
;; Disable flaky test
|
||||
"not test_integrate_variable[x23-i]"
|
||||
;; XXX This test fails because the length of arguments
|
||||
;; is longer than the length of inputs.
|
||||
" and not test_function_of_numeric_array"))))
|
||||
(propagated-inputs (list python-makefun python-multipledispatch
|
||||
python-numpy python-opt-einsum
|
||||
python-typing-extensions))
|
||||
|
@ -423,33 +431,25 @@ machine learning algorithms based on GPs.")
|
|||
(define-public python-ml-collections
|
||||
(package
|
||||
(name "python-ml-collections")
|
||||
(version "0.1.1")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ml_collections" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/ml_collections")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1k38psfzqsqnl99fl578bd07zdmvfkja61r3sgjs2fj3xircrvrz"))))
|
||||
(base32 "1f3rwbgnnvgh2jgnkwxfjdw18yly41hlx9fy56h0x36zyy8p0j21"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; TODO: we can't seem to run the config_flags tests, because
|
||||
;; the installed Python files conflict with those from the
|
||||
;; source directory, resulting in constants to be defined more
|
||||
;; than once.
|
||||
(invoke "pytest" "ml_collections/config_dict/tests"
|
||||
;; This one fails because we're testing the __main__
|
||||
;; class, not config_dict_test.
|
||||
"-k" "not testJSONConversionBestEffort")))))))
|
||||
#:test-flags '(list "--pyargs" "ml_collections/config_dict/tests")))
|
||||
(propagated-inputs
|
||||
(list python-absl-py python-contextlib2 python-pyyaml python-six))
|
||||
(native-inputs (list python-mock python-pytest python-setuptools
|
||||
python-wheel))
|
||||
(list python-absl-py python-pyyaml))
|
||||
(native-inputs (list python-pylint
|
||||
python-pytest
|
||||
python-pytest-xdist
|
||||
python-flit-core))
|
||||
(home-page "https://github.com/google/ml_collections")
|
||||
(synopsis "Python collections designed for Machine Learning usecases")
|
||||
(description
|
||||
|
@ -1843,7 +1843,7 @@ in terms of new algorithms.")
|
|||
pybind11
|
||||
python-coverage
|
||||
python-fb-re2
|
||||
python-parameterized-next
|
||||
python-parameterized
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-setuptools
|
||||
|
@ -2553,7 +2553,7 @@ standard feature selection algorithms.")
|
|||
(define-public python-cleanlab
|
||||
(package
|
||||
(name "python-cleanlab")
|
||||
(version "2.7.0")
|
||||
(version "2.7.1")
|
||||
;; The version on pypi does not come with tests.
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -2563,7 +2563,7 @@ standard feature selection algorithms.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f8v5246nzy22r7zswv9vbpxc7wxaqjwry9iq0fqjp2ffch88h6j"))))
|
||||
"073w45azq496x4bhrh8mdywcrg3gk33n13w1pqh1kiykw826ld9b"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -2681,37 +2681,37 @@ Covariance Matrix Adaptation Evolution Strategy (CMA-ES) for Python.")
|
|||
(license license:expat)))
|
||||
|
||||
(define-public python-autograd
|
||||
(let* ((commit "c6d81ce7eede6db801d4e9a92b27ec5d409d0eab")
|
||||
(revision "0")
|
||||
(version (git-version "1.5" revision commit)))
|
||||
(package
|
||||
(name "python-autograd")
|
||||
(home-page "https://github.com/HIPS/autograd")
|
||||
(source (origin
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(url "https://github.com/HIPS/autograd")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"04kljgydng42xlg044h6nbzxpban1ivd6jzb8ydkngfq88ppipfk"))
|
||||
(base32 "1fpnmm3mzw355iq7w751j4mjfcr0yh324cxidba1l22652gg8r8m"))
|
||||
(file-name (git-file-name name version))))
|
||||
(version version)
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-nose python-pytest python-setuptools python-wheel))
|
||||
(list python-hatchling
|
||||
python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-future python-numpy))
|
||||
(list python-future
|
||||
python-numpy))
|
||||
(home-page "https://github.com/HIPS/autograd")
|
||||
(synopsis "Efficiently computes derivatives of NumPy code")
|
||||
(description "Autograd can automatically differentiate native Python and
|
||||
NumPy code. It can handle a large subset of Python's features, including loops,
|
||||
ifs, recursion and closures, and it can even take derivatives of derivatives
|
||||
of derivatives. It supports reverse-mode differentiation
|
||||
(description
|
||||
"Autograd can automatically differentiate native Python and NumPy code.
|
||||
It can handle a large subset of Python's features, including loops, ifs,
|
||||
recursion and closures, and it can even take derivatives of derivatives of
|
||||
derivatives. It supports reverse-mode differentiation
|
||||
(a.k.a. backpropagation), which means it can efficiently take gradients of
|
||||
scalar-valued functions with respect to array-valued arguments, as well as
|
||||
forward-mode differentiation, and the two can be composed arbitrarily. The
|
||||
main intended application of Autograd is gradient-based optimization.")
|
||||
(license license:expat))))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public lightgbm
|
||||
(package
|
||||
|
@ -3370,8 +3370,14 @@ Python.")
|
|||
;; SOURCE_DATE_EPOCH is respected, which we set to some time in
|
||||
;; 1980.
|
||||
(lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800")))
|
||||
(add-after 'unpack 'python3.10-compatibility
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
;; Py_TYPE was changed to an inline static function in Python
|
||||
;; 3.11, so it cannot be used on the left-hand side.
|
||||
(substitute* "tensorflow/python/lib/core/bfloat16.cc"
|
||||
(("Py_TYPE\\(&NPyBfloat16_Descr\\) = &PyArrayDescr_Type;")
|
||||
"Py_SET_TYPE(&NPyBfloat16_Descr, &PyArrayDescr_Type);"))
|
||||
|
||||
;; See https://github.com/tensorflow/tensorflow/issues/20517#issuecomment-406373913
|
||||
(substitute* '("tensorflow/python/eager/pywrap_tfe_src.cc"
|
||||
"tensorflow/python/lib/core/ndarray_tensor.cc"
|
||||
|
@ -3421,6 +3427,16 @@ Python.")
|
|||
(string-append m
|
||||
" and not isinstance(existing, type(object.__or__))")))
|
||||
|
||||
;; ArgSpec has been replaced with FullArgSpec.
|
||||
(substitute* "tensorflow/python/util/tf_inspect.py"
|
||||
(("ArgSpec = _inspect.ArgSpec") "\
|
||||
ArgSpec = namedtuple('ArgSpec', [ 'args', 'varargs', 'keywords', 'defaults' ])
|
||||
def makeargspec(s):
|
||||
return ArgSpec(args=s.args, varargs=s.varargs, keywords=s.varkw, defaults=s.defaults)
|
||||
")
|
||||
(("_inspect.getargspec\\((.*)\\)" m target)
|
||||
(string-append "makeargspec(_inspect.getfullargspec(" target "))")))
|
||||
|
||||
;; Fix the build with numpy >= 1.19.
|
||||
;; Suggested in https://github.com/tensorflow/tensorflow/issues/41086#issuecomment-656833081
|
||||
(substitute* "tensorflow/python/lib/core/bfloat16.cc"
|
||||
|
@ -3441,7 +3457,22 @@ Python.")
|
|||
(substitute* '("tensorflow/python/framework/fast_tensor_util.pyx"
|
||||
"tensorflow/python/estimator/canned/linear_testing_utils.py")
|
||||
(("np.asscalar") "np.ndarray.item"))))
|
||||
(add-after 'python3.10-compatibility 'chdir
|
||||
(add-after 'python3.11-compatibility 'numpy-compatibility
|
||||
(lambda _
|
||||
(substitute* (cons* "tensorflow/compiler/xla/python/xla_client.py"
|
||||
"tensorflow/contrib/layers/python/ops/sparse_ops_test.py"
|
||||
(find-files "tensorflow/python/" "\\.py$"))
|
||||
(("np.object") "object"))
|
||||
(substitute* (append
|
||||
'("tensorflow/compiler/tests/unary_ops_test.py"
|
||||
"tensorflow/compiler/xla/python/xla_client.py"
|
||||
"tensorflow/compiler/xla/python/xla_client_test.py")
|
||||
(find-files "tensorflow/python/" "\\.py$")
|
||||
(find-files "tensorflow/contrib/" "\\.py$"))
|
||||
(("np.bool,") "bool,")
|
||||
(("np.bool\\)") "bool)")
|
||||
(("np.bool:") "bool:"))))
|
||||
(add-after 'numpy-compatibility 'chdir
|
||||
(lambda _ (chdir "tensorflow/contrib/cmake")))
|
||||
(add-after 'chdir 'disable-downloads
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -4169,7 +4200,7 @@ project, and it will potentially also do the same for the Lime project.")
|
|||
(propagated-inputs
|
||||
(list python-h5py python-numpy))
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-cov python-pytest-pep8
|
||||
(list python-pytest python-pytest-cov
|
||||
python-pytest-xdist))
|
||||
(home-page "https://github.com/keras-team/keras-applications")
|
||||
(synopsis "Reference implementations of popular deep learning models")
|
||||
|
@ -4339,7 +4370,6 @@ with image data, text data, and sequence data.")
|
|||
python-pandas
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-pep8
|
||||
python-pytest-timeout
|
||||
python-pytest-xdist
|
||||
python-pyux
|
||||
|
@ -5558,7 +5588,10 @@ Note: currently this package does not provide GPU support.")
|
|||
;; These refuse to be run on CPU and really want a GPU
|
||||
" and not test_add_random_walk_pe"
|
||||
" and not test_asap"
|
||||
" and not test_two_hop"))
|
||||
" and not test_two_hop"
|
||||
;; Failed when switched to python@3.11
|
||||
;; typing module internals
|
||||
" and not test_type_repr"))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-top-level-directories
|
||||
|
@ -6315,7 +6348,7 @@ tokenizers, @code{rust-tokenizers}.")
|
|||
python-tokenizers
|
||||
python-tqdm))
|
||||
(native-inputs
|
||||
(list python-parameterized-next
|
||||
(list python-parameterized
|
||||
python-pytest python-setuptools python-wheel))
|
||||
(home-page "https://github.com/huggingface/transformers")
|
||||
(synopsis "Machine Learning for PyTorch and TensorFlow")
|
||||
|
@ -6459,34 +6492,33 @@ of Hidden Markov Models.")
|
|||
(define-public python-lap
|
||||
(package
|
||||
(name "python-lap")
|
||||
(version "0.4.0")
|
||||
(version "0.5.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "lap" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fqfxpq4jg9h4wxjw540gjmvfg1ccc1nssk7i9njg7qfdybxknn4"))))
|
||||
(build-system python-build-system)
|
||||
"1za4mf5nd7vzwd24sy2mfxrk8mnwq7d8rv6h96yh8v5flx7422sp"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(invoke "python" "setup.py" "build"
|
||||
"--cpu-baseline=sse2")))
|
||||
(replace 'check
|
||||
(list
|
||||
#:test-flags #~(list "-v" #$output)
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'check 'check-cleanup
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The tests must be run from elsewhere.
|
||||
(mkdir-p "/tmp/test")
|
||||
(copy-recursively "lap/tests" "/tmp/test")
|
||||
(with-directory-excursion "/tmp/test"
|
||||
(invoke "pytest" "-vv"))))))))
|
||||
(for-each
|
||||
delete-file-recursively
|
||||
(find-files #$output
|
||||
(lambda (file stat)
|
||||
(or (member (basename file)
|
||||
'("tests" ".pytest_cache"))))
|
||||
#:directories? #t))))))))
|
||||
(propagated-inputs
|
||||
(list python-numpy
|
||||
python-scipy))
|
||||
(list python-numpy))
|
||||
(native-inputs
|
||||
(list python-cython python-pytest))
|
||||
(list python-cython python-pytest python-setuptools python-wheel))
|
||||
(home-page "https://github.com/gatagat/lap")
|
||||
(synopsis "Linear Assignment Problem solver (LAPJV/LAPMOD)")
|
||||
(description "Lap is a linear assignment problem solver using Jonker-Volgenant
|
||||
|
@ -6581,24 +6613,23 @@ inference.")
|
|||
(define-public python-linear-operator
|
||||
(package
|
||||
(name "python-linear-operator")
|
||||
(version "0.5.2")
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "linear_operator" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03drb4hn9nn8jrqd9vbalihhahgpdm956hbs05bix7svradhknaw"))))
|
||||
"0m56f3zrm8xh1bpwh4g7jfc79rf4j94g6zmz663b58pig4w6dqm9"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-jaxtyping
|
||||
python-mpmath
|
||||
python-pytorch
|
||||
python-scipy
|
||||
python-typeguard))
|
||||
(native-inputs (list python-flake8
|
||||
python-flake8-print
|
||||
python-pytest
|
||||
python-scipy))
|
||||
(native-inputs (list python-pytest
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-twine))
|
||||
python-typeguard
|
||||
python-wheel))
|
||||
(home-page "https://github.com/cornellius-gp/linear_operator/")
|
||||
(synopsis "Linear operator implementation")
|
||||
(description "LinearOperator is a PyTorch package for abstracting away the
|
||||
|
@ -6608,29 +6639,34 @@ linear algebra routines needed for structured matrices (or operators).")
|
|||
(define-public python-gpytorch
|
||||
(package
|
||||
(name "python-gpytorch")
|
||||
(version "1.12")
|
||||
(version "1.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gpytorch" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pwsccll1hrgkifdmlxzcn6cvnwvyq2cimqzbfgihr13yw51cb6w"))))
|
||||
"13cs6dx8qa5j4ygji9w5xbmaqc68ihqyzz33fyyf9qa6d8gc2b03"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-flags
|
||||
#~(list "-k" (string-append
|
||||
;; test_deprecated_methods fails with an AssertionError.
|
||||
#~(list "-k" (string-append "not test_deprecated_methods"))))
|
||||
(propagated-inputs (list python-linear-operator
|
||||
"not test_deprecated_methods"
|
||||
;; This test is flaky: Expects gradients of 0 exactly,
|
||||
;; can get negligible ones (e-10 to e-16).
|
||||
" and not test_optimization_optimal_error")
|
||||
;; Ignore lenghty tests of little relevance.
|
||||
"--ignore=test/examples/")))
|
||||
(propagated-inputs (list python-jaxtyping
|
||||
python-linear-operator
|
||||
python-mpmath
|
||||
python-scikit-learn
|
||||
python-scipy))
|
||||
(native-inputs (list python-coverage
|
||||
python-flake8
|
||||
python-flake8-print
|
||||
python-nbval
|
||||
(native-inputs (list python-nbval
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-twine))
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(home-page "https://gpytorch.ai")
|
||||
(synopsis "Implementation of Gaussian Processes in PyTorch")
|
||||
(description
|
||||
|
@ -6640,7 +6676,7 @@ linear algebra routines needed for structured matrices (or operators).")
|
|||
(define-public python-botorch
|
||||
(package
|
||||
(name "python-botorch")
|
||||
(version "0.11.3")
|
||||
(version "0.13.0")
|
||||
(source (origin
|
||||
(method git-fetch) ;no tests in PyPI
|
||||
(uri (git-reference
|
||||
|
@ -6649,7 +6685,7 @@ linear algebra routines needed for structured matrices (or operators).")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nf9zrg1khvckb8kdpffqc3bnlhc0x03jd1560qmjamwl3j59m02"))))
|
||||
"1sxgxdq892vg5xj30kb86003b9rwsipc95c7p1zdv865y4f38a8y"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-flags #~(list "-k" "not test_all_cases_covered")
|
||||
|
@ -6668,9 +6704,12 @@ linear algebra routines needed for structured matrices (or operators).")
|
|||
python-pyro-ppl
|
||||
python-pytorch
|
||||
python-scipy))
|
||||
(native-inputs (list python-pytest
|
||||
(native-inputs (list python-pyre-extensions
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools-scm))
|
||||
python-setuptools
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(home-page "https://botorch.org")
|
||||
(synopsis "Bayesian Optimization in PyTorch")
|
||||
(description
|
||||
|
@ -6779,7 +6818,7 @@ simple speech recognition.")
|
|||
"library_dirs=["
|
||||
"'" #$vosk-api "/lib'"
|
||||
"],\n\t"
|
||||
"libraries=['vosk', 'python3.10'],\n\t"
|
||||
"libraries=['vosk', 'python3.11'],\n\t"
|
||||
"include_dirs=["
|
||||
"'" #$vosk-api "/src'" "])")))
|
||||
(substitute* "vosk/__init__.py"
|
||||
|
|
|
@ -3588,14 +3588,17 @@ an SMTP transaction before a message is committed to queue.")
|
|||
(define-public mailman
|
||||
(package
|
||||
(name "mailman")
|
||||
(version "3.3.2")
|
||||
(version "3.3.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mailman" version))
|
||||
(sha256
|
||||
(base32 "0a5ckbf8hc3y28b7p5psp0d4bxk601jlr5pd3hhh545xd8d9f0dg"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0cjn8karkgrapgiv3ra6ddcngkf5c5779hrq369mvwi6ygy7ir0d"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; XXX: Too much failing tests to try and isolate them.
|
||||
(list #:tests? #f))
|
||||
(propagated-inputs
|
||||
(list gunicorn
|
||||
python-aiosmtpd
|
||||
|
@ -3620,7 +3623,7 @@ an SMTP transaction before a message is committed to queue.")
|
|||
python-zope-event
|
||||
python-zope-interface))
|
||||
(native-inputs
|
||||
(list python-nose))
|
||||
(list python-pytest python-pdm-backend))
|
||||
(home-page "https://www.list.org")
|
||||
(synopsis "Mailing list manager")
|
||||
(description
|
||||
|
@ -3755,21 +3758,17 @@ interfaces interacting with Mailman.")
|
|||
(define-public python-mailman-hyperkitty
|
||||
(package
|
||||
(name "python-mailman-hyperkitty")
|
||||
(version "1.2.0")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mailman-hyperkitty" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ni6vf1yi14c0l895fk278x4na7ymhpkl1q0vnpzbkzplpa7200i"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-requests python-zope-interface))
|
||||
(inputs
|
||||
(list mailman))
|
||||
(native-inputs
|
||||
(list python-mock python-nose python-nose2))
|
||||
(base32 "0f6c1fs28w3r9k9mbg7gsv6pa45aayaadaa0dn4q5dfcqvxrvmpq"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-requests python-zope-interface))
|
||||
(inputs (list mailman))
|
||||
(native-inputs (list python-nose2 python-setuptools python-wheel))
|
||||
(home-page "https://gitlab.com/mailman/mailman-hyperkitty/")
|
||||
(synopsis "Mailman archiver plugin for HyperKitty")
|
||||
(description
|
||||
|
@ -4681,18 +4680,20 @@ the RFC 8617 Authenticated Received Chain (ARC) protocol.")
|
|||
(define-public python-authheaders
|
||||
(package
|
||||
(name "python-authheaders")
|
||||
(version "0.13.0")
|
||||
(version "0.16.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "authheaders" version))
|
||||
(sha256
|
||||
(base32
|
||||
"14k6i72k5f8dyvps8vc0aq0cczc8lvqpgjfjzsy6qqychjvjcmwk"))))
|
||||
(build-system python-build-system)
|
||||
"12hl93336w64iyqalpv4rma2ijigav68qy1xmgziibdi7inxr3hi"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-authres python-dkimpy python-dnspython
|
||||
python-publicsuffix2))
|
||||
(native-inputs
|
||||
(list python-setuptools python-wheel))
|
||||
(home-page "https://github.com/ValiMail/authentication-headers")
|
||||
(synopsis "Library wrapping email authentication header verification and generation")
|
||||
(description
|
||||
|
@ -4707,30 +4708,27 @@ DKIM and ARC sign messages and output the corresponding signature headers.")
|
|||
(define-public python-aiosmtpd
|
||||
(package
|
||||
(name "python-aiosmtpd")
|
||||
(version "1.2.2")
|
||||
(version "1.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aio-libs/aiosmtpd")
|
||||
(commit version)))
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0083d6nf75xv8nq1il6jabz36v6c452svy4p402csxwwih5pw6sk"))
|
||||
(base32 "0b5y94zc8pq75sjwsifblzgjnliyclkwypi68b2zffrxcdnz27r2"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-failing-tests
|
||||
(lambda _
|
||||
;; This test uses an expired certificate.
|
||||
(delete-file "aiosmtpd/tests/test_smtps.py")
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "python" "-m" "nose2" "-v"))))))
|
||||
;; This QA test requires git.
|
||||
(list #:test-flags ''("-k" "not test_ge_master")))
|
||||
(native-inputs
|
||||
(list python-flufl-testing python-nose2))
|
||||
(list python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-cov
|
||||
python-pytest-mock
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-atpublic))
|
||||
(home-page "https://aiosmtpd.readthedocs.io/")
|
||||
|
|
|
@ -108,6 +108,7 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system ruby)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages astronomy)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
|
@ -3551,46 +3552,51 @@ ASCII text files using Gmsh's own scripting language.")
|
|||
(define-public veusz
|
||||
(package
|
||||
(name "veusz")
|
||||
(version "3.3.1")
|
||||
(version "3.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "veusz" version))
|
||||
(sha256
|
||||
(base32 "1q7hi1qwwg4pgiz62isvv1pia85m13bspdpp1q3mrnwl11in0ag0"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1lcmcfr0dcam8g1fp5qip8jnxglxx7i62ln3ix6l4c2bbv21l5y2"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(;; Tests will fail because they depend on optional packages like
|
||||
;; python-astropy, which is not packaged.
|
||||
(list
|
||||
;; Tests currently fail with exception TypeError:
|
||||
;; calling <function version ...> returned 3.6.2, not a test
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Veusz will append 'PyQt5' to sip_dir by default. That is not how
|
||||
;; the path is defined in Guix, therefore we have to change it.
|
||||
(add-after 'unpack 'fix-sip-dir
|
||||
#~(modify-phases %standard-phases
|
||||
;; Veusz uses python's site-packages to look for pyqt5_include_dir.
|
||||
(add-after 'unpack 'fix-pyqt5-include-dir
|
||||
(lambda _
|
||||
(substitute* "pyqtdistutils.py"
|
||||
(("os.path.join\\(sip_dir, 'PyQt5'\\)") "sip_dir"))))
|
||||
;; Now we have to pass the correct sip_dir to setup.py.
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; We need to tell setup.py where to locate QtCoremod.sip
|
||||
((@@ (guix build python-build-system) call-setuppy)
|
||||
"build_ext"
|
||||
(list (string-append "--sip-dir="
|
||||
(search-input-directory inputs "share/sip"))))))
|
||||
(substitute* "pyqt_setuptools.py"
|
||||
(("get_path\\('platlib'\\)")
|
||||
(format #f "~s"
|
||||
(string-append
|
||||
#$(this-package-input "python-pyqt")
|
||||
"/lib/python"
|
||||
#$(version-major+minor
|
||||
(package-version python-wrapper))
|
||||
"/site-packages"))))))
|
||||
;; Ensure that icons are found at runtime.
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-program (string-append out "/bin/veusz")
|
||||
(add-after 'wrap 'wrap-executable
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(wrap-program (string-append #$output "/bin/veusz")
|
||||
`("QT_PLUGIN_PATH" prefix
|
||||
,(list (string-append (assoc-ref inputs "qtsvg")
|
||||
"/lib/qt5/plugins/"))))))))))
|
||||
,(list (string-append
|
||||
(string-join
|
||||
(list #$(this-package-input "qtbase")
|
||||
#$(this-package-input "qtsvg")
|
||||
#$(this-package-input "qtwayland"))
|
||||
"/lib/qt5/plugins:")
|
||||
"/lib/qt5/plugins")))))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
;;("python-astropy" ,python-astropy) ;; FIXME: Package this.
|
||||
qttools-5 python-sip-4))
|
||||
python-astropy
|
||||
python-setuptools
|
||||
python-wheel
|
||||
qttools-5))
|
||||
(inputs
|
||||
(list bash-minimal
|
||||
ghostscript ;optional, for EPS/PS output
|
||||
|
@ -3598,7 +3604,8 @@ ASCII text files using Gmsh's own scripting language.")
|
|||
python-h5py ;optional, for HDF5 data
|
||||
python-pyqt
|
||||
qtbase-5
|
||||
qtsvg-5))
|
||||
qtsvg-5
|
||||
qtwayland-5))
|
||||
(propagated-inputs
|
||||
(list python-numpy))
|
||||
(home-page "https://veusz.github.io/")
|
||||
|
@ -4346,7 +4353,15 @@ recurrence relations.")
|
|||
;; These tests fails with unexpected keyword arguments
|
||||
;; in calls to cplot.
|
||||
#~(list "--deselect" "tests/test_u3.py::test_write_single"
|
||||
"--deselect" "tests/test_u3.py::test_write_tree")))
|
||||
"--deselect" "tests/test_u3.py::test_write_tree"
|
||||
"-k" (string-join
|
||||
;; Tests fail in arrays comprising.
|
||||
(list "not test_chebyshev1_p11[2-y2]"
|
||||
"test_chebyshev1_p11[4-y4]"
|
||||
"test_eval[1-ref1]"
|
||||
"test_eval[t2-ref2]"
|
||||
"test_eval[t3-ref3]")
|
||||
" and not "))))
|
||||
(native-inputs
|
||||
(list python-matplotx
|
||||
python-meshio
|
||||
|
@ -4437,6 +4452,35 @@ bindings to almost all functions of PETSc.")
|
|||
;; <https://github.com/dimpase/primecountpy/issues/16>.
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public python-pyglm
|
||||
(package
|
||||
(name "python-pyglm")
|
||||
(version "2.8.1")
|
||||
(source
|
||||
(origin
|
||||
;; Test files are not included in the archive in pypi.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Zuzu-Typ/PyGLM")
|
||||
(commit version)
|
||||
;; XXX: Attempt to use Guix's glm@1.0.1 failed, try to figure out
|
||||
;; how to fix it.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ra54m0pb5aca7q6ymappjsyxdzdy17yz8rrhlql04k0p9lnf1v8"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(home-page "https://github.com/Zuzu-Typ/PyGLM")
|
||||
(synopsis "OpenGL Mathematics library for Python")
|
||||
(description "PyGLM is a Python extension library which brings the OpenGL
|
||||
Mathematics (GLM) library to Python.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public python-quadpy
|
||||
(package
|
||||
(name "python-quadpy")
|
||||
|
@ -4454,6 +4498,12 @@ bindings to almost all functions of PETSc.")
|
|||
(base32
|
||||
"1f989dipv7lqxvalfrvvlmhlxyl67a87lavyyqrr1mh88glhl592"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; AssertionError: Lebedev(047) -- observed: 41, expected: 47 (max err:
|
||||
;; 4.910e-15).
|
||||
#~(list "--deselect=tests/test_u3.py::test_scheme_spherical[lebedev_047]")))
|
||||
(native-inputs
|
||||
(list python-accupy
|
||||
python-pytest
|
||||
|
@ -7171,39 +7221,29 @@ with C89.")
|
|||
(define-public glm
|
||||
(package
|
||||
(name "glm")
|
||||
(version "0.9.9.8")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/g-truc/glm/releases/download/"
|
||||
version "/glm-" version ".zip"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/g-truc/glm")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0k6yk9v46h690rshdx49x98y5qspkzibld1wb51jwcm35vba7qip"))))
|
||||
(base32 "0890rvv3czi3nqj11dc2m3wcdfv0dm0nr63wfcpfikk9sk6b4w8s"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-before 'configure 'set-environment
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'post-install
|
||||
(lambda _
|
||||
;; Pass "-fno-ipa-modref" flag to the compiler to work
|
||||
;; around a test failure with GCC 11. This is a
|
||||
;; header-only library so these flags only affect tests.
|
||||
;; See <https://github.com/g-truc/glm/pull/1087>.
|
||||
(setenv "CXXFLAGS" "-O2 -g -fno-ipa-modref")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Since version 0.9.9.6, 'make install' is not supported
|
||||
;; and we have to do it "manually". Upstream discussion:
|
||||
;; <https://github.com/g-truc/glm/pull/968>.
|
||||
(let* ((source (string-append "../glm"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(inc (string-append out "/include"))
|
||||
(lib (string-append out "/lib"))
|
||||
(pkgconfig (string-append lib "/pkgconfig")))
|
||||
(with-directory-excursion source
|
||||
(mkdir-p inc)
|
||||
(let* ((doc (string-append #$output "/share/doc/glm"))
|
||||
(pkgconfig (string-append #$output "/lib/pkgconfig")))
|
||||
(mkdir-p doc)
|
||||
(mkdir-p pkgconfig)
|
||||
(copy-recursively "glm" (string-append inc "/glm"))
|
||||
(copy-recursively "cmake" (string-append lib "/cmake"))
|
||||
(copy-recursively "../source/doc/api" (string-append doc "/html"))
|
||||
(install-file "../source/doc/manual.pdf" doc)
|
||||
(call-with-output-file (string-append pkgconfig "/glm.pc")
|
||||
(lambda (port)
|
||||
(format port
|
||||
|
@ -7213,8 +7253,7 @@ includedir=${prefix}/include
|
|||
Name: GLM
|
||||
Description: OpenGL Mathematics
|
||||
Version: ~a
|
||||
Cflags: -I${includedir}~%" out ,(version-prefix version 3)))))
|
||||
#t))))))
|
||||
Cflags: -I${includedir}~%" #$output #$version)))))))))
|
||||
(native-inputs
|
||||
(list unzip))
|
||||
(home-page "https://glm.g-truc.net/")
|
||||
|
@ -11079,7 +11118,7 @@ Mathics3.")
|
|||
(propagated-inputs (list python-django-4.2
|
||||
python-mathics-scanner
|
||||
python-mathics-core
|
||||
python-networkx-next
|
||||
python-networkx
|
||||
python-pygments
|
||||
python-requests))
|
||||
(native-inputs (list python-pytest python-setuptools python-wheel))
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages medical)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix download)
|
||||
|
@ -29,6 +30,7 @@
|
|||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages kde-frameworks) ; kirigami
|
||||
#: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)
|
||||
|
@ -93,18 +95,26 @@ Health Federation.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09vrfqn511vswnj2q9m7srlwdgz066qvqpmja6sg1yl1ibh3cbpr"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:use-setuptools? #f
|
||||
#:phases (modify-phases %standard-phases
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-/usr
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* '("setup.py"
|
||||
"src/openmolar/settings/localsettings.py")
|
||||
(("/usr")
|
||||
(assoc-ref outputs "out"))) #t)))))
|
||||
(inputs (list python-pyqtwebengine python-pyqt+qscintilla
|
||||
python-mysqlclient qscintilla))
|
||||
(("/usr") #$output))))
|
||||
(add-after 'unpack 'set-acceptable-version
|
||||
(lambda _
|
||||
(substitute* "src/openmolar/settings/version.py"
|
||||
((#$version) "1.1.6")))))))
|
||||
(native-inputs
|
||||
(list python-setuptools python-wheel))
|
||||
(inputs (list python-pyqtwebengine
|
||||
python-pyqt+qscintilla
|
||||
python-mysqlclient
|
||||
qscintilla))
|
||||
(propagated-inputs (list qtwebengine-5))
|
||||
(home-page "https://openmolar.com/om1")
|
||||
(synopsis "Dental practice management software")
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -68,6 +69,7 @@
|
|||
#:use-module (gnu packages prometheus)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages rrdtool)
|
||||
|
@ -433,23 +435,24 @@ historical data.")
|
|||
(define-public python-carbon
|
||||
(package
|
||||
(name "python-carbon")
|
||||
(version "1.1.8")
|
||||
(version "1.1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "carbon" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wb91fipk1niciffq5xwqbh8g7rl7ghdam4m97cjbig12i5qr4cm"))))
|
||||
(build-system python-build-system)
|
||||
"0p6yjxif5ly5wkllnaw41w2zy9y0nffgfk91v861fn6c26lmnfy1"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Don't install to /opt
|
||||
(add-after 'unpack 'do-not-install-to-/opt
|
||||
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-cachetools python-txamqp python-urllib3 python-whisper))
|
||||
(list python-cachetools python-twisted python-txamqp python-urllib3))
|
||||
(home-page "https://graphiteapp.org/")
|
||||
(synopsis "Backend data caching and persistence daemon for Graphite")
|
||||
(description "Carbon is a backend data caching and persistence daemon for
|
||||
|
@ -459,19 +462,23 @@ and persisting them to disk using the Whisper time-series library.")
|
|||
(license license:asl2.0)))
|
||||
|
||||
(define-public graphite-web
|
||||
(let ((commit "49c28e2015d605ad9ec93524f7076dd924a4731a")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "graphite-web")
|
||||
(version "1.1.10")
|
||||
(version (git-version "1.1.10" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "graphite-web" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/graphite-project/graphite-web")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nnk3kwn0b6bq9xnmv9bac6hpcbdgpgwf283c1ck5nm80panh61z"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0bcc6jh7gyp8f54dzy4zza1z46gk3530r952pi86irf834z106sg"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;XXX: not in PyPI release & requires database
|
||||
`(#:tests? #f ;XXX: Requires database, unable to run now
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
|
@ -480,13 +487,33 @@ and persisting them to disk using the Whisper time-series library.")
|
|||
;; Allow newer versions of django-tagging.
|
||||
(("django-tagging==") "django-tagging>=")
|
||||
;; And Django.
|
||||
(("Django>=1\\.8,<3\\.1") "Django>=1.8,<4"))))
|
||||
(("Django>=3\\.2,<4") "Django>=4,<5"))))
|
||||
;; Don't install to /opt
|
||||
(add-after 'unpack 'do-not-install-to-/opt
|
||||
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
|
||||
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(mkdir-p "storage/log/webapp")
|
||||
(with-directory-excursion "webapp"
|
||||
(invoke "./manage.py" "test" "--pythonpath=." "tests"
|
||||
"-k" (string-join
|
||||
(list
|
||||
"not test_dashboard_save_temporary_xss_key"
|
||||
"test_dashboard_save_temporary_xss_name")
|
||||
" and not ")))))))))
|
||||
(native-inputs
|
||||
(list python-carbon
|
||||
python-mock
|
||||
python-pytest
|
||||
python-rrdtool
|
||||
python-setuptools
|
||||
python-tzdata
|
||||
python-wheel
|
||||
python-whisper))
|
||||
(propagated-inputs
|
||||
(list python-cairocffi
|
||||
python-django-3.2
|
||||
python-django-4.2
|
||||
python-django-tagging
|
||||
python-pyparsing
|
||||
python-pytz
|
||||
|
@ -497,7 +524,7 @@ and persisting them to disk using the Whisper time-series library.")
|
|||
(description "Graphite is a scalable real-time graphing system that does
|
||||
two things: store numeric time-series data, and render graphs of this data on
|
||||
demand.")
|
||||
(license license:asl2.0)))
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public python-prometheus-client
|
||||
(package
|
||||
|
@ -838,6 +865,25 @@ display resumes.
|
|||
@end itemize")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public python-rrdtool
|
||||
(package
|
||||
(name "python-rrdtool")
|
||||
(version "0.1.16")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "rrdtool" version))
|
||||
(sha256
|
||||
(base32 "0l8lbarzfwbwnq9jm9gv4mmrxgjlb9hbz27sa8b703qa7s5zy2jz"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #f)) ; No tests in pypi archive
|
||||
(inputs (list rrdtool))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(home-page "https://github.com/commx/python-rrdtool")
|
||||
(synopsis "Python bindings for rrdtool")
|
||||
(description "This package provides Python bindings for rrdtool.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public python-statsd
|
||||
(package
|
||||
(name "python-statsd")
|
||||
|
|
|
@ -1858,7 +1858,11 @@ typographic detail of symbols on the page.")
|
|||
(base32 "1y8s55b4mlsigm0xkk6qjpp08c75rv0swvjp0lj3cs6lgqdjxdjl"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list lilypond python-pytest python-setuptools python-wheel))
|
||||
(list lilypond
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list abjad))
|
||||
(home-page "https://abjad.github.io")
|
||||
|
@ -3809,8 +3813,14 @@ follows a traditional multi-track tape recorder control paradigm.")
|
|||
(base32 "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* '("waflib/Context.py"
|
||||
"waflib/ConfigSet.py")
|
||||
(("'rU'") "'r'"))))
|
||||
(add-after 'unpack 'remove-sse-flags
|
||||
(lambda* (#:key system #:allow-other-keys)
|
||||
(unless (or (string-prefix? "x86_64" system)
|
||||
|
@ -4617,8 +4627,8 @@ standard MIDI file with the csvmidi program.")
|
|||
(license license:public-domain)))
|
||||
|
||||
(define-public mididings
|
||||
(let ((commit "d98265be8afe7da20a5c7cfd0515f0d5fae5c53a")
|
||||
(revision "1"))
|
||||
(let ((commit "bc71ea9c86bdc0b02364b11ab7331e8b3a86bb4f")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "mididings")
|
||||
(version (git-version "0" revision commit))
|
||||
|
@ -4630,8 +4640,8 @@ standard MIDI file with the csvmidi program.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a8i4yac5jjkq0vh73nwkv0j7vnvfwbzzagam4xdl1gpnc26n5xi"))))
|
||||
(build-system pyproject-build-system)
|
||||
"1f0f8bpqbc1av0ggv6wjicymc2klliwdl1m5blmjcvy39q3cwd59"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
|
@ -4647,6 +4657,7 @@ standard MIDI file with the csvmidi program.")
|
|||
(list alsa-lib
|
||||
boost
|
||||
jack-2
|
||||
python
|
||||
`(,python "tk")
|
||||
python-dbus
|
||||
python-decorator
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2024, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2021 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
|
||||
|
@ -911,21 +911,22 @@ systems with no further dependencies.")
|
|||
(define-public blueman
|
||||
(package
|
||||
(name "blueman")
|
||||
(version "2.3.4")
|
||||
(version "2.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/blueman-project/blueman/releases"
|
||||
"/download/" version "/blueman-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0lh1aqpdq6vi4agrgmm7fifjbxz2s5qcs3hr7nfjrwrp2j1361n2"))))
|
||||
(base32 "1w45dr2cmy32cvxwqaybf5m2ziraj929f4lxcwapv266r1a92kyk"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "--enable-polkit"
|
||||
(list
|
||||
#:configure-flags '(list "--enable-polkit"
|
||||
"--without-systemdsystemunitdir" ; Not required
|
||||
"--without-systemduserunitdir") ; Not required
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Python references are not being patched in patch-phase of build,
|
||||
;; despite using python-wrapper as input. So we patch them manually.
|
||||
(add-after 'unpack 'patch-python-references
|
||||
|
@ -939,8 +940,8 @@ systems with no further dependencies.")
|
|||
(search-input-file inputs
|
||||
(string-append
|
||||
"/bin/python"
|
||||
,(version-major+minor
|
||||
(package-version python)))))))))
|
||||
#$(version-major+minor
|
||||
(package-version (this-package-input "python-wrapper"))))))))))
|
||||
;; Fix loading of external programs.
|
||||
(add-after 'unpack 'patch-external-programs
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -956,7 +957,7 @@ systems with no further dependencies.")
|
|||
;; Fix loading of pulseaudio libraries.
|
||||
(add-after 'unpack 'patch-pulseaudio-libraries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((pulseaudio (assoc-ref inputs "pulseaudio"))
|
||||
(let* ((pulseaudio #$(this-package-input "pulseaudio"))
|
||||
(pulse (string-append pulseaudio "/lib/libpulse.so.0"))
|
||||
(pulse-glib (string-append pulseaudio
|
||||
"/lib/libpulse-mainloop-glib.so.0")))
|
||||
|
@ -967,12 +968,11 @@ systems with no further dependencies.")
|
|||
;; Fix running of blueman programs.
|
||||
(add-after 'glib-or-gtk-wrap 'wrap-blueman-progs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin/blueman-"))
|
||||
(libexec (string-append out "/libexec/blueman-"))
|
||||
(lib (string-append out "/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python))
|
||||
(let* ((bin (string-append #$output "/bin/blueman-"))
|
||||
(libexec (string-append #$output "/libexec/blueman-"))
|
||||
(lib (string-append #$output "/lib/python"
|
||||
#$(version-major+minor
|
||||
(package-version (this-package-input "python-wrapper")))
|
||||
"/site-packages")))
|
||||
(for-each
|
||||
(lambda (program)
|
||||
|
|
|
@ -115,20 +115,30 @@ formatters, and other extensions.")
|
|||
(define-public python-debtcollector
|
||||
(package
|
||||
(name "python-debtcollector")
|
||||
(version "1.19.0")
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "debtcollector" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06c7vyn184y9f0lsrwaz13aq63hdz5fjrd191b8nifx6acsni42f"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0vzarkvjclci98d8lvkix6qj59f7rxp1qg2x6q6is7qfbg91g29a"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet #~(begin
|
||||
(substitute* "test-requirements.txt"
|
||||
(("^(coverage|hacking|pre-commit).*")
|
||||
""))))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-pbr python-six python-wrapt))
|
||||
(list python-pbr python-wrapt))
|
||||
(native-inputs
|
||||
(list ;; Tests.
|
||||
python-subunit python-testrepository python-testtools))
|
||||
(list python-doc8
|
||||
python-fixtures
|
||||
python-openstackdocstheme
|
||||
python-reno
|
||||
python-setuptools
|
||||
python-stestr
|
||||
python-testtools
|
||||
python-wheel))
|
||||
(home-page "https://www.openstack.org/")
|
||||
(synopsis
|
||||
"Find deprecated patterns and strategies in Python code")
|
||||
|
@ -386,11 +396,11 @@ extensions.")
|
|||
python-fixtures
|
||||
python-jsonschema
|
||||
python-netaddr
|
||||
python-oslo.concurrency
|
||||
python-oslo.config
|
||||
python-oslo.log
|
||||
python-oslo.serialization
|
||||
python-oslo.utils
|
||||
python-oslo-concurrency
|
||||
python-oslo-config
|
||||
python-oslo-log
|
||||
python-oslo-serialization
|
||||
python-oslo-utils
|
||||
python-paramiko
|
||||
python-prettytable
|
||||
python-pyyaml
|
||||
|
@ -437,7 +447,7 @@ OpenStack deployment.")
|
|||
python-httplib2
|
||||
python-iso8601
|
||||
python-jsonschema
|
||||
python-oslo.log
|
||||
python-oslo-log
|
||||
python-paramiko
|
||||
python-six))
|
||||
(native-inputs
|
||||
|
@ -455,9 +465,9 @@ common features used in Tempest.")
|
|||
;;; Packages from the Oslo library
|
||||
;;;
|
||||
|
||||
(define-public python-oslo.concurrency
|
||||
(define-public python-oslo-concurrency
|
||||
(package
|
||||
(name "python-oslo.concurrency")
|
||||
(name "python-oslo-concurrency")
|
||||
(version "5.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -490,8 +500,8 @@ common features used in Tempest.")
|
|||
python-fixtures
|
||||
python-stestr
|
||||
python-eventlet))
|
||||
(propagated-inputs (list python-fasteners python-oslo.config
|
||||
python-oslo.i18n python-oslo.utils))
|
||||
(propagated-inputs (list python-fasteners python-oslo-config
|
||||
python-oslo-i18n python-oslo-utils))
|
||||
(home-page "https://docs.openstack.org/oslo.concurrency/latest/")
|
||||
(synopsis "Oslo Concurrency library")
|
||||
(description "The Oslo Concurrency Library provides utilities for safely
|
||||
|
@ -499,9 +509,9 @@ running multi-thread, multi-process applications using locking mechanisms and
|
|||
for running external processes.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public python-oslo.config
|
||||
(define-public python-oslo-config
|
||||
(package
|
||||
(name "python-oslo.config")
|
||||
(name "python-oslo-config")
|
||||
(version "8.7.1")
|
||||
(source
|
||||
(origin
|
||||
|
@ -515,7 +525,7 @@ for running external processes.")
|
|||
(propagated-inputs
|
||||
(list python-debtcollector
|
||||
python-netaddr
|
||||
python-oslo.i18n
|
||||
python-oslo-i18n
|
||||
python-rfc3986
|
||||
python-requests
|
||||
python-stevedore
|
||||
|
@ -527,9 +537,9 @@ for running external processes.")
|
|||
.ini style configuration files.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public python-oslo.context
|
||||
(define-public python-oslo-context
|
||||
(package
|
||||
(name "python-oslo.context")
|
||||
(name "python-oslo-context")
|
||||
(version "5.0.0")
|
||||
(source
|
||||
(origin
|
||||
|
@ -566,9 +576,9 @@ about a request context. The request context is usually populated in the WSGI
|
|||
pipeline and used by various modules such as logging.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public python-oslo.i18n
|
||||
(define-public python-oslo-i18n
|
||||
(package
|
||||
(name "python-oslo.i18n")
|
||||
(name "python-oslo-i18n")
|
||||
(version "3.20.0")
|
||||
(source
|
||||
(origin
|
||||
|
@ -592,9 +602,9 @@ internationalization (i18n) features, especially translation for text strings
|
|||
in an application or library.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public python-oslo.log
|
||||
(define-public python-oslo-log
|
||||
(package
|
||||
(name "python-oslo.log")
|
||||
(name "python-oslo-log")
|
||||
(version "5.0.0")
|
||||
(source
|
||||
(origin
|
||||
|
@ -612,11 +622,11 @@ in an application or library.")
|
|||
(propagated-inputs
|
||||
(list python-dateutil
|
||||
python-debtcollector
|
||||
python-oslo.config
|
||||
python-oslo.context
|
||||
python-oslo.i18n
|
||||
python-oslo.utils
|
||||
python-oslo.serialization
|
||||
python-oslo-config
|
||||
python-oslo-context
|
||||
python-oslo-i18n
|
||||
python-oslo-utils
|
||||
python-oslo-serialization
|
||||
python-pyinotify))
|
||||
(native-inputs
|
||||
(list python-fixtures python-oslotest python-stestr python-testtools
|
||||
|
@ -629,9 +639,9 @@ configuration for all OpenStack projects. It also provides custom formatters,
|
|||
handlers and support for context specific logging (like resource id’s etc).")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public python-oslo.serialization
|
||||
(define-public python-oslo-serialization
|
||||
(package
|
||||
(name "python-oslo.serialization")
|
||||
(name "python-oslo-serialization")
|
||||
(version "4.2.0")
|
||||
(source
|
||||
(origin
|
||||
|
@ -647,10 +657,10 @@ handlers and support for context specific logging (like resource id’s etc).")
|
|||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests? (invoke "stestr" "run")))))))
|
||||
(propagated-inputs
|
||||
(list python-msgpack python-oslo.utils python-pbr python-pytz))
|
||||
(list python-msgpack python-oslo-utils python-pbr python-pytz))
|
||||
(native-inputs
|
||||
;; For tests.
|
||||
(list python-netaddr python-oslo.i18n python-oslotest python-stestr))
|
||||
(list python-netaddr python-oslo-i18n python-oslotest python-stestr))
|
||||
(home-page "https://launchpad.net/oslo")
|
||||
(synopsis "Oslo serialization library")
|
||||
(description
|
||||
|
@ -757,9 +767,9 @@ documentation from the OpenStack project.")
|
|||
for debugging, and better support for mocking results.")
|
||||
(license asl2.0)))
|
||||
|
||||
(define-public python-oslo.utils
|
||||
(define-public python-oslo-utils
|
||||
(package
|
||||
(name "python-oslo.utils")
|
||||
(name "python-oslo-utils")
|
||||
(version "4.12.0")
|
||||
(source
|
||||
(origin
|
||||
|
@ -776,7 +786,7 @@ for debugging, and better support for mocking results.")
|
|||
(when tests? (invoke "stestr" "run")))))))
|
||||
(propagated-inputs
|
||||
(list python-debtcollector
|
||||
python-oslo.i18n
|
||||
python-oslo-i18n
|
||||
python-iso8601
|
||||
python-netaddr
|
||||
python-netifaces
|
||||
|
@ -843,8 +853,8 @@ handling.")
|
|||
python-hacking
|
||||
python-lxml
|
||||
python-oauthlib
|
||||
python-oslo.config
|
||||
python-oslo.utils
|
||||
python-oslo-config
|
||||
python-oslo-utils
|
||||
python-oslotest
|
||||
python-pbr
|
||||
python-pyyaml
|
||||
|
@ -907,10 +917,10 @@ process of writing new clients.")
|
|||
python-iso8601
|
||||
python-keystoneauth1
|
||||
python-netaddr
|
||||
python-oslo.config
|
||||
python-oslo.i18n
|
||||
python-oslo.serialization
|
||||
python-oslo.utils
|
||||
python-oslo-config
|
||||
python-oslo-i18n
|
||||
python-oslo-serialization
|
||||
python-oslo-utils
|
||||
python-prettytable
|
||||
python-requests
|
||||
python-six
|
||||
|
@ -1071,7 +1081,7 @@ regardless of whether they are bundled or not.")
|
|||
python-statsd
|
||||
python-stestr
|
||||
python-testscenarios
|
||||
python-oslo.config
|
||||
python-oslo-config
|
||||
python-oslotest))
|
||||
(propagated-inputs (list python-appdirs
|
||||
python-cryptography
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
|
@ -59,7 +60,19 @@
|
|||
"test_copy_cut_paste"
|
||||
;; AttributeError: 'NoneType' object has no attribute
|
||||
;; 'isEnabled'
|
||||
"test_item_context_menu")
|
||||
"test_item_context_menu"
|
||||
;; Tests fail with error: Failed: CALL ERROR: Exceptions
|
||||
;; caught in Qt event loop.
|
||||
"test_create_new_window"
|
||||
"test_new_window"
|
||||
"test_dont_load_swp_on_new_window"
|
||||
"test_toolbox"
|
||||
"test_widgettoolgrid"
|
||||
"test_editlinksnode"
|
||||
"test_links_edit"
|
||||
"test_links_edit_widget"
|
||||
"test_flattened"
|
||||
"test_tooltree_registry")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
@ -71,12 +84,18 @@
|
|||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
(setenv "QT_PLUGIN_PATH"
|
||||
(string-append #$(this-package-input "qtbase") "/lib/qt6/plugins:"
|
||||
(getenv "QT_PLUGIN_PATH")))
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen"))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-qt
|
||||
python-setuptools
|
||||
python-trubar
|
||||
python-wheel))
|
||||
(inputs
|
||||
(list qtbase))
|
||||
(propagated-inputs
|
||||
(list python-anyqt
|
||||
python-cachecontrol
|
||||
|
|
|
@ -1123,6 +1123,34 @@ Anaconda Cloud. Anaconda Cloud is useful for sharing packages, notebooks and
|
|||
environments.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-conda-inject
|
||||
(package
|
||||
(name "python-conda-inject")
|
||||
(version "1.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/koesterlab/conda-inject")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1aig9l676wc2sjb20y7rdqf0hfcfjhh92yfiy82mf7kfnv7rp3rk"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; tests require setting up Conda
|
||||
(native-inputs
|
||||
(list python-poetry-core))
|
||||
(propagated-inputs
|
||||
(list python-pyyaml))
|
||||
(home-page "https://github.com/koesterlab/conda-inject")
|
||||
(synopsis "Inject a conda environment into the current python environment")
|
||||
(description
|
||||
"This package provides helper functions for injecting a conda
|
||||
environment into the current python environment (by modifying @code{sys.path},
|
||||
without actually changing the current python environment).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-conda-package-handling
|
||||
(package
|
||||
(name "python-conda-package-handling")
|
||||
|
@ -1315,7 +1343,7 @@ written entirely in Python.")
|
|||
(define-public conan
|
||||
(package
|
||||
(name "conan")
|
||||
(version "2.0.9")
|
||||
(version "2.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ; no tests in PyPI archive
|
||||
|
@ -1324,13 +1352,74 @@ written entirely in Python.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ykfj7c3i0b57s7ql3p2lawxdzd2cn36f3k8p64lyzla8rwv4xdx"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "00mrx1ighvf6r6fy2iqxr286w3jfd0gwlzcqsw15cm9axblx5av9"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build python-build-system)
|
||||
#:modules '((guix build pyproject-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 format))
|
||||
#:test-flags
|
||||
(let ((system (or (%current-target-system)
|
||||
(%current-system))))
|
||||
#~(list "-n" (number->string (parallel-job-count))
|
||||
"-m" "not slow"
|
||||
"--ignore=test/performance/"
|
||||
;; E ModuleNotFoundError: No module named 'docker'
|
||||
"--ignore=test/functional/command/runner_test.py"
|
||||
;; Disable problematic tests.
|
||||
"-k"
|
||||
(string-append
|
||||
;; These tests rely on networking.
|
||||
"not download_retries_errors "
|
||||
"and not ftp "
|
||||
;; These tests are for old versions of cmake.
|
||||
"and not test_custom_cmake_3_16 "
|
||||
"and not test_custom_cmake_3_17 "
|
||||
"and not test_custom_cmake_3_19 "
|
||||
;; Guix sets PKG_CONFIG_PATH itself, which is not
|
||||
;; expected by the following test.
|
||||
"and not pkg_config_path "
|
||||
"and not compare " ;caused by newer node-semver?
|
||||
;; This test hard-codes a compiler version.
|
||||
"and not test_toolchain "
|
||||
;; The 'test_list' tests may fail
|
||||
;; non-deterministically (see:
|
||||
;; https://github.com/conan-io/conan/issues/13583).
|
||||
"and not test_list "
|
||||
;; These tests fail when Autoconf attempt to load a
|
||||
;; shared library in the same directory (see:
|
||||
;; https://github.com/conan-io/conan/issues/13577).
|
||||
"and not test_other_client_can_link_autotools "
|
||||
"and not test_autotools_lib_template "
|
||||
;; Sometimes fail: https://github.com/conan-io/conan/issues/15936
|
||||
"and not test_basic_parallel_install "
|
||||
;; These tests require additional build tools
|
||||
"and not test_premake "
|
||||
"and not test_sconsdeps "
|
||||
;; Unclear why libc is not found properly
|
||||
"and not test_profile_detect_libc "
|
||||
#$(if (not (string-prefix? "x86_64" system))
|
||||
;; These tests either assume the machine is
|
||||
;; x86_64, or require a cross-compiler to target
|
||||
;; it.
|
||||
(string-append
|
||||
"and not cpp_package "
|
||||
"and not exclude_code_analysis "
|
||||
"and not cmakedeps_multi "
|
||||
"and not locally_build_linux "
|
||||
"and not custom_configuration "
|
||||
"and not package_from_system "
|
||||
"and not cross_build_command "
|
||||
"and not test_package "
|
||||
"and not test_same ")
|
||||
"")
|
||||
#$(if (not (or (string-prefix? "x86_64" system)
|
||||
(string-prefix? "i686" system)))
|
||||
;; This test only works with default arch "x86",
|
||||
;; "x86_64", "sparc" or "sparcv9".
|
||||
"and not settings_as_a_dict_conanfile "
|
||||
""))))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
|
@ -1345,21 +1434,22 @@ written entirely in Python.")
|
|||
;; The test suite expects GCC 9 to be used (see:
|
||||
;; https://github.com/conan-io/conan/issues/13575). Render the
|
||||
;; check version agnostic.
|
||||
(substitute* "conans/test/functional/toolchains/meson/_base.py"
|
||||
(substitute* "test/functional/toolchains/meson/_base.py"
|
||||
(("__GNUC__9")
|
||||
"__GNUC__"))))
|
||||
(add-after 'unpack 'use-current-cmake-for-tests
|
||||
(lambda _
|
||||
(substitute* (find-files "conans/test" "\\.py$")
|
||||
(("@pytest.mark.tool\\(\"cmake\", \"3.23\")")
|
||||
(substitute* (find-files "test" "\\.py$")
|
||||
(("@pytest.mark.tool\\(\"cmake\", \".*\")")
|
||||
"@pytest.mark.tool(\"cmake\")"))))
|
||||
(add-before 'check 'configure-tests
|
||||
(lambda _
|
||||
(let* ((cmake-version #$(version-major+minor
|
||||
(package-version cmake)))
|
||||
(package-version
|
||||
(this-package-native-input "cmake"))))
|
||||
(pkg-config-version #$(version-major+minor
|
||||
(package-version pkg-config))))
|
||||
(call-with-output-file "conans/test/conftest_user.py"
|
||||
(call-with-output-file "test/conftest_user.py"
|
||||
(lambda (port)
|
||||
(format port "\
|
||||
tools_locations = {
|
||||
|
@ -1378,61 +1468,12 @@ tools_locations = {
|
|||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? outputs #:allow-other-keys)
|
||||
(define system #$(or (%current-target-system)
|
||||
(%current-system)))
|
||||
(add-before 'check 'configure-tests
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "CONFIG_SHELL" (which "sh"))
|
||||
(setenv "PATH" (string-append (getenv "PATH") ":"
|
||||
#$output "/bin"))
|
||||
(invoke "python" "-m" "pytest" "-vv"
|
||||
"-n" (number->string (parallel-job-count))
|
||||
"-m" "not slow"
|
||||
;; Disable problematic tests.
|
||||
"-k"
|
||||
(string-append
|
||||
;; These tests rely on networking.
|
||||
"not download_retries_errors "
|
||||
"and not ftp "
|
||||
;; Guix sets PKG_CONFIG_PATH itself, which is not
|
||||
;; expected by the following test.
|
||||
"and not pkg_config_path "
|
||||
"and not compare " ;caused by newer node-semver?
|
||||
;; This test hard-codes a compiler version.
|
||||
"and not test_toolchain "
|
||||
;; The 'test_list' tests may fail
|
||||
;; non-deterministically (see:
|
||||
;; https://github.com/conan-io/conan/issues/13583).
|
||||
"and not test_list "
|
||||
;; These tests fail when Autoconf attempt to load a
|
||||
;; shared library in the same directory (see:
|
||||
;; https://github.com/conan-io/conan/issues/13577).
|
||||
"and not test_other_client_can_link_autotools "
|
||||
"and not test_autotools_lib_template "
|
||||
;; Sometimes fail: https://github.com/conan-io/conan/issues/15936
|
||||
"and not test_basic_parallel_install "
|
||||
(if (not (string-prefix? "x86_64" system))
|
||||
;; These tests either assume the machine is
|
||||
;; x86_64, or require a cross-compiler to target
|
||||
;; it.
|
||||
(string-append
|
||||
"and not cpp_package "
|
||||
"and not exclude_code_analysis "
|
||||
"and not cmakedeps_multi "
|
||||
"and not locally_build_linux "
|
||||
"and not custom_configuration "
|
||||
"and not package_from_system "
|
||||
"and not cross_build_command "
|
||||
"and not test_package "
|
||||
"and not test_same ")
|
||||
"")
|
||||
(if (not (or (string-prefix? "x86_64" system)
|
||||
(string-prefix? "i686" system)))
|
||||
;; This test only works with default arch "x86",
|
||||
;; "x86_64", "sparc" or "sparcv9".
|
||||
"and not settings_as_a_dict_conanfile "
|
||||
"")))))))))
|
||||
#$output "/bin"))))))))
|
||||
(propagated-inputs
|
||||
(list python-bottle
|
||||
python-colorama
|
||||
|
@ -1450,7 +1491,7 @@ tools_locations = {
|
|||
python-requests
|
||||
python-six
|
||||
python-tqdm
|
||||
python-urllib3))
|
||||
python-urllib3-1.26))
|
||||
(inputs
|
||||
(list coreutils)) ;for printenv
|
||||
(native-inputs
|
||||
|
@ -1467,7 +1508,9 @@ tools_locations = {
|
|||
python-parameterized
|
||||
python-pytest
|
||||
python-pytest-xdist
|
||||
python-setuptools
|
||||
python-webtest
|
||||
python-wheel
|
||||
which))
|
||||
(home-page "https://conan.io")
|
||||
(synopsis "Decentralized C/C++ package manager")
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
Specifying the `async_mode` parameter seems to have been a workaround for
|
||||
packaging on Windows and macOS. If not given, flask_socketio.SocketIO will
|
||||
probe for an available asynchronous model, e.g. `eventlet`, and otherwise gets
|
||||
stuck if `gevent-socketio` is not available.
|
||||
|
||||
c.f. https://github.com/onionshare/onionshare/commit/ec7fa4ef16c9e1ba6028ee927c23f76c399a17a6
|
||||
and https://github.com/onionshare/onionshare/issues/1510
|
||||
|
||||
diff --git a/cli/onionshare_cli/web/web.py b/cli/onionshare_cli/web/web.py
|
||||
index 64844b5..7e1b095 100644
|
||||
--- a/cli/onionshare_cli/web/web.py
|
||||
+++ b/cli/onionshare_cli/web/web.py
|
||||
@@ -164,10 +164,10 @@ class Web:
|
||||
elif self.mode == "chat":
|
||||
if self.common.verbose:
|
||||
self.socketio = SocketIO(
|
||||
- async_mode="gevent", logger=True, engineio_logger=True
|
||||
+ logger=True, engineio_logger=True
|
||||
)
|
||||
else:
|
||||
- self.socketio = SocketIO(async_mode="gevent")
|
||||
+ self.socketio = SocketIO()
|
||||
self.socketio.init_app(self.app)
|
||||
self.chat_mode = ChatModeWeb(self.common, self)
|
||||
|
430
gnu/packages/patches/python-3.11-fix-tests.patch
Normal file
430
gnu/packages/patches/python-3.11-fix-tests.patch
Normal file
|
@ -0,0 +1,430 @@
|
|||
From f0698133e7d6c353a3e6ae0fc62e57ba558a9bc0 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Wed, 28 Oct 2020 22:55:05 -0400
|
||||
Subject: [PATCH] Skip problematic Python 3 tests in Guix.
|
||||
|
||||
A subset of the hunks in this patch is tracked upstream at
|
||||
https://bugs.python.org/issue38845, which was contributed by Tanguy Le
|
||||
Carrour <tanguy@bioneland.org>.
|
||||
---
|
||||
Lib/ctypes/test/test_callbacks.py | 3 +++
|
||||
Lib/ctypes/test/test_find.py | 1 +
|
||||
Lib/ctypes/test/test_libc.py | 3 +++
|
||||
Lib/distutils/tests/test_archive_util.py | 2 ++
|
||||
Lib/distutils/tests/test_sdist.py | 1 +
|
||||
Lib/test/_test_multiprocessing.py | 2 ++
|
||||
Lib/test/test_asyncio/test_base_events.py | 2 ++
|
||||
Lib/test/test_generators.py | 1 +
|
||||
Lib/test/test_pathlib.py | 3 +--
|
||||
Lib/test/test_pdb.py | 4 ++--
|
||||
Lib/test/test_regrtest.py | 2 ++
|
||||
Lib/test/test_resource.py | 1 +
|
||||
Lib/test/test_shutil.py | 2 ++
|
||||
Lib/test/test_signal.py | 4 ++++
|
||||
Lib/test/test_socket.py | 8 ++++++++
|
||||
Lib/test/test_spwd.py | 6 ++----
|
||||
Lib/test/test_tarfile.py | 9 ++++++---
|
||||
Lib/test/test_threading.py | 3 +++
|
||||
Lib/test/test_unicodedata.py | 1 +
|
||||
Tools/scripts/run_tests.py | 2 +-
|
||||
20 files changed, 48 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/Lib/ctypes/test/test_callbacks.py b/Lib/ctypes/test/test_callbacks.py
|
||||
index d8e9c5a760..94fc5929c9 100644
|
||||
--- a/Lib/ctypes/test/test_callbacks.py
|
||||
+++ b/Lib/ctypes/test/test_callbacks.py
|
||||
@@ -5,6 +5,7 @@ from test import support
|
||||
from ctypes import *
|
||||
from ctypes.test import need_symbol
|
||||
import _ctypes_test
|
||||
+import platform
|
||||
|
||||
class Callbacks(unittest.TestCase):
|
||||
functype = CFUNCTYPE
|
||||
@@ -178,6 +179,8 @@ class SampleCallbacksTestCase(unittest.TestCase):
|
||||
|
||||
self.assertLess(diff, 0.01, "%s not less than 0.01" % diff)
|
||||
|
||||
+ @unittest.skipIf(platform.machine() in ['mips64'],
|
||||
+ "This test fails on this platform")
|
||||
def test_issue_8959_a(self):
|
||||
from ctypes.util import find_library
|
||||
libc_path = find_library("c")
|
||||
diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py
|
||||
index 92ac1840ad..c8eb75dedd 100644
|
||||
--- a/Lib/ctypes/test/test_find.py
|
||||
+++ b/Lib/ctypes/test/test_find.py
|
||||
@@ -116,6 +116,7 @@ class FindLibraryLinux(unittest.TestCase):
|
||||
with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None):
|
||||
self.assertNotEqual(find_library('c'), None)
|
||||
|
||||
+ @unittest.skipIf(True, "ldconfig is not used on Guix")
|
||||
def test_find_library_with_ld(self):
|
||||
with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \
|
||||
unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None):
|
||||
diff --git a/Lib/ctypes/test/test_libc.py b/Lib/ctypes/test/test_libc.py
|
||||
index 56285b5ff8..c088ab3db8 100644
|
||||
--- a/Lib/ctypes/test/test_libc.py
|
||||
+++ b/Lib/ctypes/test/test_libc.py
|
||||
@@ -2,6 +2,7 @@ import unittest
|
||||
|
||||
from ctypes import *
|
||||
import _ctypes_test
|
||||
+import platform
|
||||
|
||||
lib = CDLL(_ctypes_test.__file__)
|
||||
|
||||
@@ -17,6 +18,8 @@ class LibTest(unittest.TestCase):
|
||||
import math
|
||||
self.assertEqual(lib.my_sqrt(2.0), math.sqrt(2.0))
|
||||
|
||||
+ @unittest.skipIf(platform.machine() in ['mips64'],
|
||||
+ "This test fails on this platform")
|
||||
def test_qsort(self):
|
||||
comparefunc = CFUNCTYPE(c_int, POINTER(c_char), POINTER(c_char))
|
||||
lib.my_qsort.argtypes = c_void_p, c_size_t, c_size_t, comparefunc
|
||||
diff --git a/Lib/distutils/tests/test_archive_util.py b/Lib/distutils/tests/test_archive_util.py
|
||||
index e9aad0e40f..8bbaa51ee5 100644
|
||||
--- a/Lib/distutils/tests/test_archive_util.py
|
||||
+++ b/Lib/distutils/tests/test_archive_util.py
|
||||
@@ -333,6 +333,7 @@ class ArchiveUtilTestCase(support.TempdirManager,
|
||||
self.assertEqual(os.path.basename(res), 'archive.tar.xz')
|
||||
self.assertEqual(self._tarinfo(res), self._created_files)
|
||||
|
||||
+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
|
||||
def test_make_archive_owner_group(self):
|
||||
# testing make_archive with owner and group, with various combinations
|
||||
# this works even if there's not gid/uid support
|
||||
@@ -362,6 +363,7 @@ class ArchiveUtilTestCase(support.TempdirManager,
|
||||
|
||||
@unittest.skipUnless(ZLIB_SUPPORT, "Requires zlib")
|
||||
@unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
|
||||
+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
|
||||
def test_tarfile_root_owner(self):
|
||||
tmpdir = self._create_files()
|
||||
base_name = os.path.join(self.mkdtemp(), 'archive')
|
||||
diff --git a/Lib/distutils/tests/test_sdist.py b/Lib/distutils/tests/test_sdist.py
|
||||
index 23db126959..6e2329df7d 100644
|
||||
--- a/Lib/distutils/tests/test_sdist.py
|
||||
+++ b/Lib/distutils/tests/test_sdist.py
|
||||
@@ -443,6 +443,7 @@ class SDistTestCase(BasePyPIRCCommandTestCase):
|
||||
"The tar command is not found")
|
||||
@unittest.skipIf(find_executable('gzip') is None,
|
||||
"The gzip command is not found")
|
||||
+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
|
||||
def test_make_distribution_owner_group(self):
|
||||
# now building a sdist
|
||||
dist, cmd = self.get_cmd()
|
||||
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
|
||||
index e47905c863..31a5a9c308 100644
|
||||
--- a/Lib/test/_test_multiprocessing.py
|
||||
+++ b/Lib/test/_test_multiprocessing.py
|
||||
@@ -1577,6 +1577,7 @@ class _TestCondition(BaseTestCase):
|
||||
if pid is not None:
|
||||
os.kill(pid, signal.SIGINT)
|
||||
|
||||
+ @unittest.skipIf(True, "This fails for unknown reasons on Guix")
|
||||
def test_wait_result(self):
|
||||
if isinstance(self, ProcessesMixin) and sys.platform != 'win32':
|
||||
pid = os.getpid()
|
||||
@@ -3905,6 +3906,7 @@ class _TestSharedMemory(BaseTestCase):
|
||||
sms.close()
|
||||
|
||||
@unittest.skipIf(os.name != "posix", "not feasible in non-posix platforms")
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
def test_shared_memory_SharedMemoryServer_ignores_sigint(self):
|
||||
# bpo-36368: protect SharedMemoryManager server process from
|
||||
# KeyboardInterrupt signals.
|
||||
diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py
|
||||
index 533d5cc7f5..c4f860cc3b 100644
|
||||
--- a/Lib/test/test_asyncio/test_base_events.py
|
||||
+++ b/Lib/test/test_asyncio/test_base_events.py
|
||||
@@ -1341,6 +1341,8 @@ class BaseEventLoopWithSelectorTests(test_utils.TestCase):
|
||||
self._test_create_connection_ip_addr(m_socket, False)
|
||||
|
||||
@patch_socket
|
||||
+ @unittest.skipUnless(support.is_resource_enabled('network'),
|
||||
+ 'network is not enabled')
|
||||
def test_create_connection_service_name(self, m_socket):
|
||||
m_socket.getaddrinfo = socket.getaddrinfo
|
||||
sock = m_socket.socket.return_value
|
||||
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
|
||||
index 3bf1522808..04bac8a7db 100644
|
||||
--- a/Lib/test/test_generators.py
|
||||
+++ b/Lib/test/test_generators.py
|
||||
@@ -33,6 +33,7 @@ class SignalAndYieldFromTest(unittest.TestCase):
|
||||
else:
|
||||
return "FAILED"
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment')
|
||||
def test_raise_and_yield_from(self):
|
||||
gen = self.generator1()
|
||||
gen.send(None)
|
||||
diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py
|
||||
index 3da35710b9..5404f9193d 100644
|
||||
--- a/Lib/test/test_pathlib.py
|
||||
+++ b/Lib/test/test_pathlib.py
|
||||
@@ -2408,10 +2408,7 @@ class PosixPathTest(_BasePathTest, unittest.TestCase):
|
||||
self.assertEqual(given, expect)
|
||||
self.assertEqual(set(p.rglob("FILEd*")), set())
|
||||
|
||||
- @unittest.skipUnless(hasattr(pwd, 'getpwall'),
|
||||
- 'pwd module does not expose getpwall()')
|
||||
- @unittest.skipIf(sys.platform == "vxworks",
|
||||
- "no home directory on VxWorks")
|
||||
+ @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests")
|
||||
def test_expanduser(self):
|
||||
P = self.cls
|
||||
support.import_module('pwd')
|
||||
diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
|
||||
index 8016f81e5a..10190486b4 100644
|
||||
--- a/Lib/test/test_pdb.py
|
||||
+++ b/Lib/test/test_pdb.py
|
||||
@@ -1219,11 +1219,11 @@ def test_pdb_issue_20766():
|
||||
> <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
|
||||
-> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
|
||||
(Pdb) continue
|
||||
- pdb 1: <built-in function default_int_handler>
|
||||
+ pdb 1: 1
|
||||
> <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function()
|
||||
-> print('pdb %d: %s' % (i, sess._previous_sigint_handler))
|
||||
(Pdb) continue
|
||||
- pdb 2: <built-in function default_int_handler>
|
||||
+ pdb 2: 1
|
||||
"""
|
||||
|
||||
|
||||
diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
|
||||
index a77638b10a..2069b349a8 100644
|
||||
--- a/Lib/test/test_regrtest.py
|
||||
+++ b/Lib/test/test_regrtest.py
|
||||
@@ -811,6 +811,7 @@ class ArgsTestCase(BaseTestCase):
|
||||
output = self.run_tests('--fromfile', filename)
|
||||
self.check_executed_tests(output, tests)
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
|
||||
def test_interrupted(self):
|
||||
code = TEST_INTERRUPTED
|
||||
test = self.create_test('sigint', code=code)
|
||||
@@ -828,6 +829,7 @@ class ArgsTestCase(BaseTestCase):
|
||||
% (self.TESTNAME_REGEX, len(tests)))
|
||||
self.check_line(output, regex)
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.')
|
||||
def test_slowest_interrupted(self):
|
||||
# Issue #25373: test --slowest with an interrupted test
|
||||
code = TEST_INTERRUPTED
|
||||
diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py
|
||||
index e5ece5284c..5299e54507 100644
|
||||
--- a/Lib/test/test_resource.py
|
||||
+++ b/Lib/test/test_resource.py
|
||||
@@ -148,6 +148,7 @@ class ResourceTest(unittest.TestCase):
|
||||
|
||||
@unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit')
|
||||
@support.requires_linux_version(2, 6, 36)
|
||||
+ @unittest.skipIf(True, "Bug: the PermissionError is not raised")
|
||||
def test_prlimit(self):
|
||||
self.assertRaises(TypeError, resource.prlimit)
|
||||
self.assertRaises(ProcessLookupError, resource.prlimit,
|
||||
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
|
||||
index e19af64be0..1b893df6fa 100644
|
||||
--- a/Lib/test/test_shutil.py
|
||||
+++ b/Lib/test/test_shutil.py
|
||||
@@ -1427,6 +1427,7 @@ class TestArchives(BaseTest, unittest.TestCase):
|
||||
base_name = os.path.join(tmpdir, 'archive')
|
||||
self.assertRaises(ValueError, make_archive, base_name, 'xxx')
|
||||
|
||||
+ @unittest.skipIf(True, "The Guix build container has no root user")
|
||||
@support.requires_zlib()
|
||||
def test_make_archive_owner_group(self):
|
||||
# testing make_archive with owner and group, with various combinations
|
||||
@@ -1455,6 +1456,7 @@ class TestArchives(BaseTest, unittest.TestCase):
|
||||
self.assertTrue(os.path.isfile(res))
|
||||
|
||||
|
||||
+ @unittest.skipIf(True, "The Guix build container has no root user")
|
||||
@support.requires_zlib()
|
||||
@unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
|
||||
def test_tarfile_root_owner(self):
|
||||
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
|
||||
index 45553a6a42..55623f01a3 100644
|
||||
--- a/Lib/test/test_signal.py
|
||||
+++ b/Lib/test/test_signal.py
|
||||
@@ -78,7 +78,8 @@ class PosixTests(unittest.TestCase):
|
||||
self.assertLess(len(s), signal.NSIG)
|
||||
|
||||
@unittest.skipUnless(sys.executable, "sys.executable required.")
|
||||
@support.requires_subprocess()
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
def test_keyboard_interrupt_exit_code(self):
|
||||
"""KeyboardInterrupt triggers exit via SIGINT."""
|
||||
process = subprocess.run(
|
||||
@@ -128,7 +129,8 @@ class WindowsSignalTests(unittest.TestCase):
|
||||
signal.signal(7, handler)
|
||||
|
||||
@unittest.skipUnless(sys.executable, "sys.executable required.")
|
||||
@support.requires_subprocess()
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
def test_keyboard_interrupt_exit_code(self):
|
||||
"""KeyboardInterrupt triggers an exit using STATUS_CONTROL_C_EXIT."""
|
||||
# We don't test via os.kill(os.getpid(), signal.CTRL_C_EVENT) here
|
||||
@@ -1245,6 +1247,7 @@ class StressTest(unittest.TestCase):
|
||||
|
||||
class RaiseSignalTest(unittest.TestCase):
|
||||
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
def test_sigint(self):
|
||||
with self.assertRaises(KeyboardInterrupt):
|
||||
signal.raise_signal(signal.SIGINT)
|
||||
@@ -1275,6 +1278,7 @@ class RaiseSignalTest(unittest.TestCase):
|
||||
|
||||
class PidfdSignalTest(unittest.TestCase):
|
||||
|
||||
+ @unittest.skipUnless(sys.stdin.isatty(), "KeyboardInterrupts require a TTY device")
|
||||
@unittest.skipUnless(
|
||||
hasattr(signal, "pidfd_send_signal"),
|
||||
"pidfd support not built in",
|
||||
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
|
||||
index aefba4f397..6c89f558d5 100755
|
||||
--- a/Lib/test/test_socket.py
|
||||
+++ b/Lib/test/test_socket.py
|
||||
@@ -1009,6 +1009,8 @@ class GeneralModuleTests(unittest.TestCase):
|
||||
if not fqhn in all_host_names:
|
||||
self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names)))
|
||||
|
||||
+ @unittest.skipUnless(support.is_resource_enabled('network'),
|
||||
+ 'network is not enabled')
|
||||
def test_host_resolution(self):
|
||||
for addr in [socket_helper.HOSTv4, '10.0.0.1', '255.255.255.255']:
|
||||
self.assertEqual(socket.gethostbyname(addr), addr)
|
||||
@@ -1140,6 +1142,8 @@ class GeneralModuleTests(unittest.TestCase):
|
||||
self.assertWarns(DeprecationWarning, socket.ntohs, k)
|
||||
self.assertWarns(DeprecationWarning, socket.htons, k)
|
||||
|
||||
+ @unittest.skipUnless(os.path.exists("/etc/services"),
|
||||
+ "getservbyname uses /etc/services, which is not in the chroot")
|
||||
def testGetServBy(self):
|
||||
eq = self.assertEqual
|
||||
# Find one service that exists, then check all the related interfaces.
|
||||
@@ -1489,6 +1493,8 @@ class GeneralModuleTests(unittest.TestCase):
|
||||
raise
|
||||
self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None)
|
||||
|
||||
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
|
||||
+ "getaddrinfo() will fail")
|
||||
def testGetaddrinfo(self):
|
||||
try:
|
||||
socket.getaddrinfo('localhost', 80)
|
||||
@@ -1571,6 +1577,8 @@ class GeneralModuleTests(unittest.TestCase):
|
||||
# only IP addresses are allowed
|
||||
self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0)
|
||||
|
||||
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
|
||||
+ "getaddrinfo() will fail")
|
||||
@unittest.skipUnless(support.is_resource_enabled('network'),
|
||||
'network is not enabled')
|
||||
def test_idna(self):
|
||||
diff --git a/Lib/test/test_spwd.py b/Lib/test/test_spwd.py
|
||||
index 07793c84c8..fec672bcbe 100644
|
||||
--- a/Lib/test/test_spwd.py
|
||||
+++ b/Lib/test/test_spwd.py
|
||||
@@ -5,8 +5,7 @@ from test import support
|
||||
spwd = support.import_module('spwd')
|
||||
|
||||
|
||||
-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0,
|
||||
- 'root privileges required')
|
||||
+@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
|
||||
class TestSpwdRoot(unittest.TestCase):
|
||||
|
||||
def test_getspall(self):
|
||||
@@ -56,8 +55,7 @@ class TestSpwdRoot(unittest.TestCase):
|
||||
self.assertRaises(TypeError, spwd.getspnam, bytes_name)
|
||||
|
||||
|
||||
-@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0,
|
||||
- 'non-root user required')
|
||||
+@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow')
|
||||
class TestSpwdNonRoot(unittest.TestCase):
|
||||
|
||||
def test_getspnam_exception(self):
|
||||
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
|
||||
index 29cde91bf7..8d0f20e8bf 100644
|
||||
--- a/Lib/test/test_tarfile.py
|
||||
+++ b/Lib/test/test_tarfile.py
|
||||
@@ -2607,9 +2607,12 @@ def root_is_uid_gid_0():
|
||||
import pwd, grp
|
||||
except ImportError:
|
||||
return False
|
||||
- if pwd.getpwuid(0)[0] != 'root':
|
||||
- return False
|
||||
- if grp.getgrgid(0)[0] != 'root':
|
||||
+ try:
|
||||
+ if pwd.getpwuid(0)[0] != 'root':
|
||||
+ return False
|
||||
+ if grp.getgrgid(0)[0] != 'root':
|
||||
+ return False
|
||||
+ except KeyError:
|
||||
return False
|
||||
return True
|
||||
|
||||
diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py
|
||||
index 0e7ed67de7..6539a2983b 100644
|
||||
--- a/Lib/test/test_tools/test_freeze.py
|
||||
+++ b/Lib/test/test_tools/test_freeze.py
|
||||
@@ -23,6 +23,7 @@
|
||||
'test is too slow with PGO')
|
||||
class TestFreeze(unittest.TestCase):
|
||||
|
||||
+ @unittest.skipIf(True, 'Fails on Guix.')
|
||||
@support.requires_resource('cpu') # Building Python is slow
|
||||
def test_freeze_simple_script(self):
|
||||
script = textwrap.dedent("""
|
||||
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
|
||||
index c21cdf8eb7..6c9d575032 100644
|
||||
--- a/Lib/test/test_threading.py
|
||||
+++ b/Lib/test/test_threading.py
|
||||
@@ -1398,5 +1398,6 @@ class MiscTestCase(unittest.TestCase):
|
||||
signal.signal(signum, handler)
|
||||
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
|
||||
def test_interrupt_main_subthread(self):
|
||||
# Calling start_new_thread with a function that executes interrupt_main
|
||||
# should raise KeyboardInterrupt upon completion.
|
||||
@@ -1409,6 +1410,8 @@ class InterruptMainTests(unittest.TestCase):
|
||||
t.join()
|
||||
t.join()
|
||||
|
||||
+
|
||||
+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build container.')
|
||||
def test_interrupt_main_mainthread(self):
|
||||
# Make sure that if interrupt_main is called in main thread that
|
||||
# KeyboardInterrupt is raised instantly.
|
||||
diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
|
||||
index b552d2bd17..28b1144e15 100644
|
||||
--- a/Lib/test/test_unicodedata.py
|
||||
+++ b/Lib/test/test_unicodedata.py
|
||||
@@ -309,6 +309,7 @@ class UnicodeMiscTest(UnicodeDatabaseTest):
|
||||
self.assertEqual(len(lines), 1,
|
||||
r"\u%.4x should not be a linebreak" % i)
|
||||
|
||||
+@requires_resource('network')
|
||||
class NormalizationTest(unittest.TestCase):
|
||||
@staticmethod
|
||||
def check_version(testfile):
|
||||
diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
|
||||
index bcfa5e943b..1f2484971b 100644
|
||||
--- a/Tools/scripts/run_tests.py
|
||||
+++ b/Tools/scripts/run_tests.py
|
||||
@@ -41,7 +41,7 @@ def main(regrtest_args):
|
||||
else:
|
||||
args.extend(['-j', '0']) # Use all CPU cores
|
||||
if not any(is_resource_use_flag(arg) for arg in regrtest_args):
|
||||
- args.extend(['-u', 'all,-largefile,-audio,-gui'])
|
||||
+ args.extend(['-u', 'all,-largefile,-audio,-gui,-network'])
|
||||
|
||||
if cross_compile and hostrunner:
|
||||
# If HOSTRUNNER is set and -p/--python option is not given, then
|
||||
--
|
||||
2.29.2
|
||||
|
147
gnu/packages/patches/python-bed-reader-use-store-samples.patch
Normal file
147
gnu/packages/patches/python-bed-reader-use-store-samples.patch
Normal file
|
@ -0,0 +1,147 @@
|
|||
From 7e6bcdfeed54500ca533d2f0eb12078248c43c77 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <7e6bcdfeed54500ca533d2f0eb12078248c43c77.1743682382.git.ngraves@ngraves.fr>
|
||||
From: Nicolas Graves <ngraves@ngraves.fr>
|
||||
Date: Thu, 3 Apr 2025 11:33:58 +0200
|
||||
Subject: [PATCH] samples: Use deterministic samples in Guix.
|
||||
|
||||
---
|
||||
bed_reader/_sample_data.py | 86 +++++++++-----------------------------
|
||||
1 file changed, 19 insertions(+), 67 deletions(-)
|
||||
|
||||
diff --git a/bed_reader/_sample_data.py b/bed_reader/_sample_data.py
|
||||
index 6ca4cc0..6a1146e 100644
|
||||
--- a/bed_reader/_sample_data.py
|
||||
+++ b/bed_reader/_sample_data.py
|
||||
@@ -1,33 +1,8 @@
|
||||
+import os
|
||||
import tempfile
|
||||
from pathlib import Path, PurePath
|
||||
from typing import Union
|
||||
|
||||
-try:
|
||||
- import pooch
|
||||
-
|
||||
- """
|
||||
- Load sample data.
|
||||
- """
|
||||
-
|
||||
- POOCH = pooch.create(
|
||||
- # Use the default cache folder for the OS
|
||||
- path=pooch.os_cache("bed_reader"),
|
||||
- # The remote data is on Github
|
||||
- base_url="https://raw.githubusercontent.com/"
|
||||
- + "fastlmm/bed-sample-files/main/",
|
||||
- # If this is a development version, get the data from the master branch
|
||||
- version_dev="main",
|
||||
- # The registry specifies the files that can be fetched
|
||||
- env="BED_READER_DATA_DIR",
|
||||
- )
|
||||
-
|
||||
- # Get registry file from package_data
|
||||
- registry_file = Path(__file__).parent / "tests/registry.txt"
|
||||
- # Load this registry file
|
||||
- POOCH.load_registry(registry_file)
|
||||
-except ImportError:
|
||||
- pooch = None
|
||||
-
|
||||
|
||||
def sample_file(filepath: Union[str, Path]) -> str:
|
||||
"""Retrieve a sample .bed file. (Also retrieves associated .fam and .bim files).
|
||||
@@ -40,50 +15,41 @@ def sample_file(filepath: Union[str, Path]) -> str:
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
- Local name of sample .bed file.
|
||||
-
|
||||
-
|
||||
- .. note::
|
||||
- This function requires the :mod:`pooch` package. Install `pooch` with:
|
||||
-
|
||||
- .. code-block:: bash
|
||||
-
|
||||
- pip install --upgrade bed-reader[samples]
|
||||
-
|
||||
-
|
||||
- By default this function puts files under the user's cache directory.
|
||||
- Override this by setting
|
||||
- the `BED_READER_DATA_DIR` environment variable.
|
||||
+ Local path of sample .bed file.
|
||||
|
||||
Example
|
||||
--------
|
||||
|
||||
.. doctest::
|
||||
|
||||
- >>> # pip install bed-reader[samples] # if needed
|
||||
>>> from bed_reader import sample_file
|
||||
>>>
|
||||
>>> file_name = sample_file("small.bed")
|
||||
>>> print(f"The local file name is '{file_name}'")
|
||||
The local file name is '...small.bed'
|
||||
-
|
||||
"""
|
||||
- if pooch is None:
|
||||
- raise ImportError(
|
||||
- "The function sample_file() requires pooch. "
|
||||
- + "Install it with 'pip install --upgrade bed-reader[samples]'.",
|
||||
+ filepath = Path(filepath)
|
||||
+ sample_dir = os.environ.get("BED_READER_DATA_DIR")
|
||||
+ if sample_dir is None:
|
||||
+ raise EnvironmentError(
|
||||
+ "BED_READER_DATA_DIR environment variable is not set. "
|
||||
+ "This should point to the directory containing the sample files."
|
||||
)
|
||||
|
||||
- filepath = Path(filepath)
|
||||
- file_string = str(filepath)
|
||||
- if file_string.lower().endswith(".bed"):
|
||||
- POOCH.fetch(file_string[:-4] + ".fam")
|
||||
- POOCH.fetch(file_string[:-4] + ".bim")
|
||||
- return POOCH.fetch(file_string)
|
||||
+ file_path = Path(sample_dir) / filepath
|
||||
+
|
||||
+ # Check if file exists
|
||||
+ if not file_path.exists():
|
||||
+ raise FileNotFoundError(
|
||||
+ f"Sample file '{filepath}' not found in {sample_dir}. "
|
||||
+ f"Make sure you're using the latest samples in BED_READER_DATA_DIR."
|
||||
+ )
|
||||
+
|
||||
+ return str(file_path)
|
||||
|
||||
|
||||
def sample_url(filepath: Union[str, Path]) -> str:
|
||||
- """Retrieve a URL to a sample .bed file. (Also makes ready associated .fam and .bim files).
|
||||
+ """Retrieve a URL to a sample .bed file.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
@@ -95,25 +61,11 @@ def sample_url(filepath: Union[str, Path]) -> str:
|
||||
str
|
||||
URL to sample .bed file.
|
||||
|
||||
-
|
||||
- .. note::
|
||||
- This function requires the :mod:`pooch` package. Install `pooch` with:
|
||||
-
|
||||
- .. code-block:: bash
|
||||
-
|
||||
- pip install --upgrade bed-reader[samples]
|
||||
-
|
||||
-
|
||||
- By default this function puts files under the user's cache directory.
|
||||
- Override this by setting
|
||||
- the `BED_READER_DATA_DIR` environment variable.
|
||||
-
|
||||
Example
|
||||
--------
|
||||
|
||||
.. doctest::
|
||||
|
||||
- >>> # pip install bed-reader[samples] # if needed
|
||||
>>> from bed_reader import sample_url
|
||||
>>>
|
||||
>>> url = sample_url("small.bed")
|
||||
--
|
||||
2.49.0
|
||||
|
201
gnu/packages/patches/python-property-cached-asyncio-3_11.patch
Normal file
201
gnu/packages/patches/python-property-cached-asyncio-3_11.patch
Normal file
|
@ -0,0 +1,201 @@
|
|||
From d89186b47dc25c5ef5907c146edf3f792d50774b Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <d89186b47dc25c5ef5907c146edf3f792d50774b.1743608515.git.ngraves@ngraves.fr>
|
||||
From: Nicolas Graves <ngraves@ngraves.fr>
|
||||
Date: Wed, 2 Apr 2025 17:29:45 +0200
|
||||
Subject: [PATCH] Update to python 3.11
|
||||
|
||||
---
|
||||
property_cached/__init__.py | 21 +++-------
|
||||
tests/test_async_cached_property.py | 3 +-
|
||||
tests/test_coroutine_cached_property.py | 51 ++++++++++---------------
|
||||
3 files changed, 27 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/property_cached/__init__.py b/property_cached/__init__.py
|
||||
index 3353048..c033542 100644
|
||||
--- a/property_cached/__init__.py
|
||||
+++ b/property_cached/__init__.py
|
||||
@@ -3,6 +3,7 @@ import functools
|
||||
import pkg_resources
|
||||
import threading
|
||||
import weakref
|
||||
+from inspect import iscoroutinefunction
|
||||
from time import time
|
||||
|
||||
|
||||
@@ -31,12 +32,12 @@ class cached_property(property):
|
||||
if obj is None:
|
||||
return self
|
||||
|
||||
- if asyncio and asyncio.iscoroutinefunction(self.func):
|
||||
- return self._wrap_in_coroutine(obj)
|
||||
-
|
||||
value = self.cache.get(obj, self._sentinel)
|
||||
if value is self._sentinel:
|
||||
- value = self.cache[obj] = self.func(obj)
|
||||
+ if iscoroutinefunction(self.func):
|
||||
+ self.cache[obj] = value = asyncio.ensure_future(self.func(obj))
|
||||
+ else:
|
||||
+ self.cache[obj] = value = self.func(obj)
|
||||
|
||||
return value
|
||||
|
||||
@@ -49,18 +50,6 @@ class cached_property(property):
|
||||
def __delete__(self, obj):
|
||||
del self.cache[obj]
|
||||
|
||||
- def _wrap_in_coroutine(self, obj):
|
||||
-
|
||||
- @functools.wraps(obj)
|
||||
- @asyncio.coroutine
|
||||
- def wrapper():
|
||||
- value = self.cache.get(obj, self._sentinel)
|
||||
- if value is self._sentinel:
|
||||
- self.cache[obj] = value = asyncio.ensure_future(self.func(obj))
|
||||
- return value
|
||||
-
|
||||
- return wrapper()
|
||||
-
|
||||
|
||||
class threaded_cached_property(cached_property):
|
||||
"""
|
||||
diff --git a/tests/test_async_cached_property.py b/tests/test_async_cached_property.py
|
||||
index 1af139d..32b3410 100644
|
||||
--- a/tests/test_async_cached_property.py
|
||||
+++ b/tests/test_async_cached_property.py
|
||||
@@ -9,8 +9,7 @@ import property_cached as cached_property
|
||||
|
||||
def unittest_run_loop(f):
|
||||
def wrapper(*args, **kwargs):
|
||||
- coro = asyncio.coroutine(f)
|
||||
- future = coro(*args, **kwargs)
|
||||
+ future = f(*args, **kwargs)
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(future)
|
||||
|
||||
diff --git a/tests/test_coroutine_cached_property.py b/tests/test_coroutine_cached_property.py
|
||||
index 40e443b..5864301 100644
|
||||
--- a/tests/test_coroutine_cached_property.py
|
||||
+++ b/tests/test_coroutine_cached_property.py
|
||||
@@ -14,8 +14,7 @@ import property_cached as cached_property
|
||||
|
||||
def unittest_run_loop(f):
|
||||
def wrapper(*args, **kwargs):
|
||||
- coro = asyncio.coroutine(f)
|
||||
- future = coro(*args, **kwargs)
|
||||
+ future = f(*args, **kwargs)
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(future)
|
||||
|
||||
@@ -33,14 +32,12 @@ def CheckFactory(cached_property_decorator):
|
||||
self.control_total = 0
|
||||
self.cached_total = 0
|
||||
|
||||
- @asyncio.coroutine
|
||||
- def add_control(self):
|
||||
+ async def add_control(self):
|
||||
self.control_total += 1
|
||||
return self.control_total
|
||||
|
||||
@cached_property_decorator
|
||||
- @asyncio.coroutine
|
||||
- def add_cached(self):
|
||||
+ async def add_cached(self):
|
||||
self.cached_total += 1
|
||||
return self.cached_total
|
||||
|
||||
@@ -52,74 +49,68 @@ class TestCachedProperty(unittest.TestCase):
|
||||
|
||||
cached_property_factory = cached_property.cached_property
|
||||
|
||||
- @asyncio.coroutine
|
||||
- def assert_control(self, check, expected):
|
||||
+ async def assert_control(self, check, expected):
|
||||
"""
|
||||
Assert that both `add_control` and 'control_total` equal `expected`
|
||||
"""
|
||||
- value = yield from check.add_control()
|
||||
+ value = await check.add_control()
|
||||
self.assertEqual(value, expected)
|
||||
self.assertEqual(check.control_total, expected)
|
||||
|
||||
- @asyncio.coroutine
|
||||
- def assert_cached(self, check, expected):
|
||||
+ async def assert_cached(self, check, expected):
|
||||
"""
|
||||
Assert that both `add_cached` and 'cached_total` equal `expected`
|
||||
"""
|
||||
print("assert_cached", check.add_cached)
|
||||
- value = yield from check.add_cached
|
||||
+ value = await check.add_cached
|
||||
self.assertEqual(value, expected)
|
||||
self.assertEqual(check.cached_total, expected)
|
||||
|
||||
@unittest_run_loop
|
||||
- @asyncio.coroutine
|
||||
- def test_cached_property(self):
|
||||
+ async def test_cached_property(self):
|
||||
Check = CheckFactory(self.cached_property_factory)
|
||||
check = Check()
|
||||
|
||||
# The control shows that we can continue to add 1
|
||||
- yield from self.assert_control(check, 1)
|
||||
- yield from self.assert_control(check, 2)
|
||||
+ await self.assert_control(check, 1)
|
||||
+ await self.assert_control(check, 2)
|
||||
|
||||
# The cached version demonstrates how nothing is added after the first
|
||||
- yield from self.assert_cached(check, 1)
|
||||
- yield from self.assert_cached(check, 1)
|
||||
+ await self.assert_cached(check, 1)
|
||||
+ await self.assert_cached(check, 1)
|
||||
|
||||
# The cache does not expire
|
||||
with freeze_time("9999-01-01"):
|
||||
- yield from self.assert_cached(check, 1)
|
||||
+ await self.assert_cached(check, 1)
|
||||
|
||||
# Typically descriptors return themselves if accessed though the class
|
||||
# rather than through an instance.
|
||||
self.assertTrue(isinstance(Check.add_cached, self.cached_property_factory))
|
||||
|
||||
@unittest_run_loop
|
||||
- @asyncio.coroutine
|
||||
- def test_reset_cached_property(self):
|
||||
+ async def test_reset_cached_property(self):
|
||||
Check = CheckFactory(self.cached_property_factory)
|
||||
check = Check()
|
||||
|
||||
# Run standard cache assertion
|
||||
- yield from self.assert_cached(check, 1)
|
||||
- yield from self.assert_cached(check, 1)
|
||||
+ await self.assert_cached(check, 1)
|
||||
+ await self.assert_cached(check, 1)
|
||||
|
||||
# Clear the cache
|
||||
del check.add_cached
|
||||
|
||||
# Value is cached again after the next access
|
||||
- yield from self.assert_cached(check, 2)
|
||||
- yield from self.assert_cached(check, 2)
|
||||
+ await self.assert_cached(check, 2)
|
||||
+ await self.assert_cached(check, 2)
|
||||
|
||||
@unittest_run_loop
|
||||
- @asyncio.coroutine
|
||||
- def test_none_cached_property(self):
|
||||
+ async def test_none_cached_property(self):
|
||||
class Check(object):
|
||||
def __init__(self):
|
||||
self.cached_total = None
|
||||
|
||||
@self.cached_property_factory
|
||||
- @asyncio.coroutine
|
||||
- def add_cached(self):
|
||||
+ async def add_cached(self):
|
||||
return self.cached_total
|
||||
|
||||
- yield from self.assert_cached(Check(), None)
|
||||
+ await self.assert_cached(Check(), None)
|
||||
--
|
||||
2.49.0
|
||||
|
|
@ -5,16 +5,15 @@ It seems that we cannot easily change the destination folder of these
|
|||
files though, so this variable must be set on a per-package basis (and
|
||||
non through search-path).
|
||||
|
||||
--- sip/sipbuild/builder.py 2023-03-22 09:06:37.588792878 +0100
|
||||
+++ sip/sipbuild/builder.py 2023-03-22 09:10:35.830181134 +0100
|
||||
@@ -254,6 +254,10 @@
|
||||
--- sip/sipbuild/builder.py
|
||||
+++ sip/sipbuild/builder.py
|
||||
@@ -227,5 +227,9 @@
|
||||
os.path.join(project.target_dir,
|
||||
project.get_bindings_dir()))
|
||||
|
||||
+ # Add extra bindings from environment for GNU Guix.
|
||||
+ # Add extra bindings from environment for GNU Guix
|
||||
+ if 'SIP_INCLUDE_DIRS' in os.environ:
|
||||
+ sip_include_dirs.extend(os.environ['SIP_INCLUDE_DIRS'].split(os.pathsep))
|
||||
+
|
||||
# Generate the sip.h file for the shared sip module.
|
||||
copy_sip_h(abi_major_version, project.build_dir,
|
||||
project.sip_module, version_info=project.version_info)
|
||||
# Generate the code for each set of bindings.
|
||||
api_files = []
|
||||
|
|
67
gnu/packages/patches/python-vaex-core-fix-tsl-use.patch
Normal file
67
gnu/packages/patches/python-vaex-core-fix-tsl-use.patch
Normal file
|
@ -0,0 +1,67 @@
|
|||
From 8cb8808b3ceccf4ab3ac542739ef490abe7e76b3 Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <8cb8808b3ceccf4ab3ac542739ef490abe7e76b3.1743597010.git.ngraves@ngraves.fr>
|
||||
From: Nicolas Graves <ngraves@ngraves.fr>
|
||||
Date: Wed, 2 Apr 2025 14:29:40 +0200
|
||||
Subject: [PATCH] Fix tsl map use
|
||||
|
||||
---
|
||||
packages/vaex-core/src/hash_string.hpp | 25 ++++++++++++++++---------
|
||||
1 file changed, 16 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/packages/vaex-core/src/hash_string.hpp b/packages/vaex-core/src/hash_string.hpp
|
||||
index d3b60199..0ed69d1c 100644
|
||||
--- a/packages/vaex-core/src/hash_string.hpp
|
||||
+++ b/packages/vaex-core/src/hash_string.hpp
|
||||
@@ -39,13 +39,15 @@ class hash_base : public hash_common<Derived, T, hashmap<T, int64_t>> {
|
||||
for (int i = 0; i < nmaps; i++) {
|
||||
string_arrays.emplace_back(std::make_shared<StringList64>());
|
||||
StringList64 *strings = string_arrays[i].get();
|
||||
- // equal_to<string_ref>& eq = this->maps[i].key_eq();
|
||||
- this->maps[i].m_ht.strings_equals = strings;
|
||||
- this->maps[i].m_ht.strings_hash = strings;
|
||||
+ equal_to<key_type> eq;
|
||||
+ eq.strings_equals = strings;
|
||||
+ hash<key_type> h;
|
||||
+ h.strings_hash = strings;
|
||||
+ this->maps[i] = hashmap_type(8, h, eq);
|
||||
}
|
||||
};
|
||||
|
||||
- virtual std::string _get(hashmap_type &map, typename hashmap_type::key_type key) override { return map.m_ht.strings_equals->get(key.index); };
|
||||
+ virtual std::string _get(hashmap_type &map, typename hashmap_type::key_type key) override { return string_arrays[0]->get(key.index); };
|
||||
|
||||
size_t bytes_used() const {
|
||||
int64_t buffer_size = 0; // collect buffer size
|
||||
@@ -391,9 +393,12 @@ class ordered_set : public hash_base<ordered_set<T>, T, T, V> {
|
||||
template <class SL>
|
||||
static ordered_set *create(std::shared_ptr<SL> keys, int64_t null_value, int64_t nan_count, int64_t null_count, std::string *fingerprint) {
|
||||
ordered_set *set = new ordered_set(1);
|
||||
- set->maps[0].m_ht.strings_equals = keys.get();
|
||||
- set->maps[0].m_ht.strings_hash = keys.get();
|
||||
set->string_arrays[0] = keys;
|
||||
+ equal_to<key_type> eq;
|
||||
+ eq.strings_equals = keys.get();
|
||||
+ hash<key_type> h;
|
||||
+ h.strings_hash = keys.get();
|
||||
+ set->maps[0] = hashmap_type(keys->length, h, eq);
|
||||
{
|
||||
size_t size = keys->length;
|
||||
set->maps[0].reserve(size);
|
||||
@@ -701,9 +706,11 @@ class index_hash : public hash_base<index_hash<T>, T, T, V> {
|
||||
// string_arrays_overflow.emplace_back(std::make_shared<StringList64>());
|
||||
// for each key in overflow, it should be present in the main string array
|
||||
StringList64 *strings = this->string_arrays[i].get();
|
||||
- // equal_to<string_ref>& eq = this->maps[i].key_eq();
|
||||
- overflows[i].m_ht.strings_equals = strings;
|
||||
- overflows[i].m_ht.strings_hash = strings;
|
||||
+ equal_to<key_type> eq;
|
||||
+ eq.strings_equals = strings;
|
||||
+ hash<key_type> h;
|
||||
+ h.strings_hash = strings;
|
||||
+ overflows[i] = overflow_type(8, h, eq);
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
Merged upstream but not yet released (see:
|
||||
https://github.com/wxWidgets/Phoenix/pull/2387/commits/5d9f7aa185cd18da3e93ae1d0033fb9172d7a714).
|
||||
|
||||
From 5d9f7aa185cd18da3e93ae1d0033fb9172d7a714 Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Date: Mon, 1 May 2023 13:53:55 -0400
|
||||
Subject: [PATCH] agw: Fix TypeError caused by floats with Python 3.10
|
||||
extensions.
|
||||
|
||||
This fixes the following error:
|
||||
|
||||
File "/lib/python3.10/site-packages/wx/lib/agw/pygauge.py", line 380, in OnPaint
|
||||
dc.DrawText(drawString, textXPos, textYPos)
|
||||
TypeError: DC.DrawText(): arguments did not match any overloaded call:
|
||||
overload 1: argument 2 has unexpected type 'float'
|
||||
overload 2: argument 2 has unexpected type 'float'
|
||||
TimeLeft: 3.0
|
||||
|
||||
Visible when using Python 3.10 or newer.
|
||||
---
|
||||
wx/lib/agw/pygauge.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/wx/lib/agw/pygauge.py b/wx/lib/agw/pygauge.py
|
||||
index b8654436a..da42e6f61 100644
|
||||
--- a/wx/lib/agw/pygauge.py
|
||||
+++ b/wx/lib/agw/pygauge.py
|
||||
@@ -367,12 +367,12 @@ def OnPaint(self, event):
|
||||
drawString = self._drawIndicatorText_formatString.format(drawValue)
|
||||
rect = self.GetClientRect()
|
||||
(textWidth, textHeight, descent, extraLeading) = dc.GetFullTextExtent(drawString)
|
||||
- textYPos = (rect.height-textHeight)/2
|
||||
+ textYPos = (rect.height-textHeight)//2
|
||||
|
||||
if textHeight > rect.height:
|
||||
textYPos = 0-descent+extraLeading
|
||||
|
||||
- textXPos = (rect.width-textWidth)/2
|
||||
+ textXPos = (rect.width-textWidth)//2
|
||||
|
||||
if textWidth>rect.width:
|
||||
textXPos = 0
|
|
@ -1,22 +0,0 @@
|
|||
Work around trytond.module not being a real namespace module.
|
||||
|
||||
Solution is to add all trytond module's locations to
|
||||
trytond.modules._path__. This will make trytond.module behave much
|
||||
like a namespace module.
|
||||
Adding to __path__ is done in update_egg_modules() to ensure __path__
|
||||
is updated whenever the list of egg modules is updated.
|
||||
|
||||
*** a/trytond/modules/__init__.py 1970-01-01 01:00:01.000000000 +0100
|
||||
--- b/trytond/modules/__init__.py 2021-12-02 18:12:15.385101986 +0100
|
||||
***************
|
||||
*** 38,43 ****
|
||||
--- 38,46 ----
|
||||
import pkg_resources
|
||||
for ep in pkg_resources.iter_entry_points('trytond.modules'):
|
||||
EGG_MODULES[ep.name] = ep
|
||||
+ path = os.path.join(ep.dist.location, 'trytond', 'modules')
|
||||
+ if not path in __path__ and os.path.isdir(path):
|
||||
+ __path__.append(path)
|
||||
except ImportError:
|
||||
pass
|
||||
|
|
@ -366,7 +366,7 @@ you to figure out what is going on in that merge you keep avoiding.")
|
|||
(define-public patchwork
|
||||
(package
|
||||
(name "patchwork")
|
||||
(version "3.1.1")
|
||||
(version "3.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -375,7 +375,7 @@ you to figure out what is going on in that merge you keep avoiding.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0is9d4gf93jcbyshyj2k3kjyrjnvimrm6bai6dbcx630md222j5w"))))
|
||||
"04ikawdyhjwspxvhazbp5f5vym672y0jcw8rd2m75h9ipcpnyxim"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(;; TODO: Tests require a running database
|
||||
|
@ -499,7 +499,7 @@ if __name__ == \"__main__\":
|
|||
(inputs
|
||||
(list python-wrapper))
|
||||
(propagated-inputs
|
||||
(list python-django-3.2
|
||||
(list python-django
|
||||
;; TODO: Make this configurable
|
||||
python-psycopg2
|
||||
python-mysqlclient
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2014, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017, 2018, 2019, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017-2019, 2022-2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
|
@ -175,7 +175,7 @@ internal RPC protocols and file formats.")
|
|||
(package
|
||||
(inherit protobuf)
|
||||
(name "protobuf")
|
||||
(version "3.20.2")
|
||||
(version "3.20.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -186,7 +186,7 @@ internal RPC protocols and file formats.")
|
|||
(snippet '(delete-file-recursively "third_party"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hsscx9jm8qv3afgwc764rx9sx1ylkrr54xw1wc0mfjbl8mpw5m0"))))
|
||||
"0ggyfrfal7wms4n8pba224jwpjxn19rigd5y90m3x2bg97ych775"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments (substitute-keyword-arguments (package-arguments protobuf)
|
||||
;; XXX: insists on using bundled googletest
|
||||
|
@ -467,21 +467,18 @@ mechanism for serializing structured data.")
|
|||
(define-public python-protobuf
|
||||
(package
|
||||
(name "python-protobuf")
|
||||
(version "3.20.2")
|
||||
(version "3.20.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "protobuf" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l0p2lczs5iahgkhzm3298pjl49bk9iiwngkglg7ll7fkqqwlbbi"))))
|
||||
"1wh5f4rnzbv46xy1rx62cprhg5hqf2py06s9b7rfpzwwki12fd1f"))))
|
||||
(build-system python-build-system)
|
||||
(inputs (list protobuf))
|
||||
(arguments
|
||||
`(;; Favor C++ implementation from protobuf over the native Python
|
||||
;; implementation. The additional dependency yields significant
|
||||
;; performance improvements for some workloads.
|
||||
#:configure-flags '("--cpp_implementation")))
|
||||
;; The C++ implementation is not compatible with Python 3.11, so we cannot
|
||||
;; pass --cpp_implementation any more.
|
||||
(inputs (list protobuf-3.20))
|
||||
(home-page "https://github.com/google/protobuf")
|
||||
(synopsis "Protocol buffers is a data interchange format")
|
||||
(description
|
||||
|
|
|
@ -344,18 +344,6 @@ facilitate packaging Python projects, where packaging includes:
|
|||
license:asl2.0 ;packaging is dual ASL2/BSD-2
|
||||
license:bsd-2))))
|
||||
|
||||
;; This is the last version with use_2to3 support.
|
||||
(define-public python-setuptools-57
|
||||
(package
|
||||
(inherit python-setuptools)
|
||||
(version "57.5.0")
|
||||
(source (origin
|
||||
(inherit (package-source python-setuptools))
|
||||
(uri (pypi-uri "setuptools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"091sp8lrin7qllrhhx7y0iiv5gdb1d3l8a1ip5knk77ma1njdlyr"))))))
|
||||
|
||||
(define-public python-wheel
|
||||
(package
|
||||
(name "python-wheel")
|
||||
|
@ -412,14 +400,14 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
|
|||
(define-public python-pyparsing
|
||||
(package
|
||||
(name "python-pyparsing")
|
||||
(version "3.0.6")
|
||||
(version "3.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyparsing" version))
|
||||
(sha256
|
||||
(base32 "109b9r802wb472hgmxclljprh5cid0w3p6mk9alba7pg2c0frgfr"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "02jz5rv3vx46xvjszda467l269jz9narlrwd0a83mpk6zma0i631"))))
|
||||
(build-system pyproject-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
`(#:tests? #f ;no test target
|
||||
|
@ -440,6 +428,7 @@ installed with a newer @code{pip} or with wheel's own command line utility.")
|
|||
(find-files dir ".*")))
|
||||
(list "docs" "htmldoc" "examples")
|
||||
(list doc html-doc examples))))))))
|
||||
(native-inputs (list python-flit-core))
|
||||
(home-page "https://github.com/pyparsing/pyparsing")
|
||||
(synopsis "Python parsing class library")
|
||||
(description
|
||||
|
@ -459,7 +448,8 @@ that client code uses to construct the grammar directly in Python code.")
|
|||
(method url-fetch)
|
||||
(uri (pypi-uri "pyparsing" version))
|
||||
(sha256
|
||||
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))))
|
||||
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))
|
||||
(native-inputs (list python-setuptools python-wheel))))
|
||||
|
||||
(define-public python-packaging-bootstrap
|
||||
(package
|
||||
|
@ -569,6 +559,16 @@ a light weight, fully compliant, self-contained package allowing PEP 517
|
|||
compatible build front-ends to build Poetry managed projects.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-poetry-core-next
|
||||
(package/inherit python-poetry-core
|
||||
(version "2.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "poetry_core" version))
|
||||
(sha256
|
||||
(base32 "015a0802radb2x5wsbywm4fggv4s1srh8zyml5v58xgrxg8bpnzr"))))))
|
||||
|
||||
;;; This package exists to bootstrap python-tomli.
|
||||
(define-public python-flit-core-bootstrap
|
||||
(package
|
||||
|
|
|
@ -288,27 +288,70 @@ Avocado machine readable outputs this one is streamlined (per test results).
|
|||
@end table")
|
||||
(license license:gpl2))) ;some files are under GPLv2 only
|
||||
|
||||
(define-public python-pytest-black
|
||||
(package
|
||||
(name "python-pytest-black")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest_black" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04dmhv8dzh356qdxz6hrwfz3nk3mlc9shicgpns5r03rydap9dzc"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-black
|
||||
python-pytest
|
||||
python-toml))
|
||||
;; Project maintenance has been changed, see
|
||||
;; <https://github.com/shopkeep/pytest-black/issues/70>.
|
||||
(home-page "https://github.com/coherent-oss/pytest-black")
|
||||
(synopsis "Pytest plugin to enable format checking with black")
|
||||
(description
|
||||
"This package provides a pytest plugin to enable format checking with the
|
||||
Python code formatter \"black\".")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-freezer
|
||||
(package
|
||||
(name "python-pytest-freezer")
|
||||
(version "0.4.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest_freezer" version))
|
||||
(sha256
|
||||
(base32 "0an8y6ri3bhij4137gphdw2yg6rq7if4nb1qjj7zjsy4kjy1dgr1"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-flit-core))
|
||||
(propagated-inputs
|
||||
(list python-freezegun
|
||||
python-pytest))
|
||||
(home-page "https://github.com/pytest-dev/pytest-freezer/")
|
||||
(synopsis "Pytest plugin providing a fixture interface for spulec/freezegun")
|
||||
(description
|
||||
"Pytest plugin providing a fixture interface for
|
||||
@url{https://github.com/spulec/freezegun, freezegun}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-beartype
|
||||
(package
|
||||
(name "python-beartype")
|
||||
(version "0.10.4")
|
||||
(version "0.19.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "beartype" version))
|
||||
(sha256
|
||||
(base32 "0amzckgw9c93bl4jf0q6322j9wyyf3i8vl03yixfkrpllzv6kv14"))))
|
||||
(base32 "0wv598iv9c2s6ivfiara9pnkdlnas8xjw063wvyi0dswpb0xyhny"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
"beartype_test"
|
||||
;; These tests rely on git through the "get_main_readme_file" helper.
|
||||
"-k" (string-append "not test_doc_readme "
|
||||
"and not test_sphinx "
|
||||
"and not test_pep561_mypy"))))
|
||||
(native-inputs (list python-pytest python-setuptools python-wheel))
|
||||
(native-inputs
|
||||
(list python-hatchling python-numpy python-pygments python-pytest))
|
||||
(home-page "https://github.com/beartype/beartype")
|
||||
(synopsis "Fast runtime type checking for Python")
|
||||
(description "Beartype aims to be a very fast runtime type checking tool
|
||||
|
@ -2628,6 +2671,8 @@ them using any Python VM with basically no runtime overhead.")
|
|||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; This one started failing with the last update of Numpy.
|
||||
"--ignore=tests/test_beartype.py"
|
||||
;; Multiple failures due to undefined names (typing package must be
|
||||
;; too outdated, or perhaps they use a newer pandas).
|
||||
"--ignore=tests/test_mypy.py"
|
||||
|
@ -2846,7 +2891,7 @@ help in debugging failures and optimizing the scheduler to improve speed.")
|
|||
(define-public python-pytest-subprocess
|
||||
(package
|
||||
(name "python-pytest-subprocess")
|
||||
(version "1.5.2")
|
||||
(version "1.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;no tests in PyPI archive
|
||||
|
@ -2856,16 +2901,16 @@ help in debugging failures and optimizing the scheduler to improve speed.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mncfyn0vkbf7d03zc8wmv7nl354ck5i9gfblp9220ihc52whhy0"))))
|
||||
"1yb5y6dqzf6k5a07yzdpw8w50bm7zbsdvv06ii7c7vyg9wx5iw6y"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs (list python-anyio
|
||||
python-coverage
|
||||
(native-inputs
|
||||
(list python-anyio
|
||||
python-docutils
|
||||
python-nox
|
||||
python-pygments
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-rerunfailures
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(home-page "https://github.com/aklajnert/pytest-subprocess")
|
||||
(synopsis "Fake subprocess for Pytest")
|
||||
|
@ -2950,25 +2995,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple)))))))))
|
|||
in an opinionated way.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-parameterizedtestcase
|
||||
(package
|
||||
(name "python-parameterizedtestcase")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "parameterizedtestcase" version))
|
||||
(sha256
|
||||
(base32 "0zhjmsd16xacg4vd7zb75kw8q9khn52wvad634v1bvz7swaivk2c"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-setuptools-57)) ;for use_2to3
|
||||
(home-page
|
||||
"https://github.com/msabramo/python_unittest_parameterized_test_case")
|
||||
(synopsis "Parameterized tests for Python's unittest module")
|
||||
(description "This package provides parameterized tests for Python's
|
||||
@code{unittest} module taking inspiration from pytest.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-rerunfailures
|
||||
(package
|
||||
(name "python-pytest-rerunfailures")
|
||||
|
@ -3271,13 +3297,13 @@ attachments).
|
|||
(define-public python-vcrpy
|
||||
(package
|
||||
(name "python-vcrpy")
|
||||
(version "6.0.2")
|
||||
(version "7.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "vcrpy" version))
|
||||
(sha256
|
||||
(base32 "02fwmmc33qqybzbj1lvdz458g1fffm5cgnqihj4larw4268kvqc8"))))
|
||||
(base32 "0l1sdfc51024jclqv9104nagpirxx8w0gcn5h0bdxv950jnr2qqp"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -3290,22 +3316,23 @@ attachments).
|
|||
"test_testcase_playback")
|
||||
" and not "))))
|
||||
(native-inputs
|
||||
(list nss-certs-for-test
|
||||
python-flask
|
||||
(list python-aiohttp
|
||||
python-boto3
|
||||
python-httplib2
|
||||
python-ipaddress
|
||||
python-mock
|
||||
python-httpx
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-aiohttp
|
||||
python-pytest-asyncio
|
||||
python-pytest-httpbin
|
||||
python-requests
|
||||
python-setuptools
|
||||
python-tornado
|
||||
python-urllib3
|
||||
python-werkzeug
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-pyyaml
|
||||
python-six
|
||||
python-wrapt
|
||||
python-yarl))
|
||||
(list python-pyyaml python-wrapt python-yarl))
|
||||
(home-page "https://github.com/kevin1024/vcrpy")
|
||||
(synopsis "Automatically mock your HTTP interactions")
|
||||
(description
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2024 TakeV <takev@disroot.org>
|
||||
;;; Copyright © 2023 Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||
;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -764,6 +765,33 @@ install: libbitshuffle.so
|
|||
(inputs '())
|
||||
(native-inputs '())))
|
||||
|
||||
(define-public python-unix-ar
|
||||
(package
|
||||
(name "python-unix-ar")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "unix_ar" version))
|
||||
(sha256
|
||||
(base32 "0kicwxsh28x8r34a7cgzv2i65gsd4qjw2vf29pwq4fpsf3n2i4xz"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; These tests have timestamp-related issues.
|
||||
(list #:test-flags
|
||||
#~(list "-m" "unittest" "-k" "not test_add and not test_addfile")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-flags #:allow-other-keys)
|
||||
(apply invoke "python" test-flags))))))
|
||||
(native-inputs (list python-pytest python-setuptools python-wheel))
|
||||
(home-page "https://github.com/getninjas/unix_ar")
|
||||
(synopsis "AR file handling in Python")
|
||||
(description "This package provides utilities to handle AR files in
|
||||
Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-zipp
|
||||
(package
|
||||
(name "python-zipp")
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2019, 2022, 2024 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2019, 2022, 2024, 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
;;; Copyright © 2016, 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
|
@ -57,6 +57,7 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages certs)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages crates-tls)
|
||||
|
@ -141,17 +142,19 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
|
|||
(uri (pypi-uri "passlib" version))
|
||||
(sha256
|
||||
(base32 "015y5qaw9qnxr29lg60dml1g5rbqd4586wy5n8m41ib55gvm1zfy"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-nose))
|
||||
(propagated-inputs
|
||||
(list python-bcrypt))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'set-PYTHON_EGG_CACHE
|
||||
;; Some tests require access to "$HOME/.cython".
|
||||
(lambda _ (setenv "PYTHON_EGG_CACHE" "/tmp"))))))
|
||||
(lambda _
|
||||
(setenv "PYTHON_EGG_CACHE" "/tmp"))))))
|
||||
(native-inputs
|
||||
(list python-nose python-setuptools python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-argon2-cffi python-bcrypt python-cryptography))
|
||||
(home-page "https://bitbucket.org/ecollins/passlib")
|
||||
(synopsis "Comprehensive password hashing framework")
|
||||
(description
|
||||
|
@ -162,32 +165,6 @@ useful for a wide range of tasks, from verifying a hash found in /etc/shadow,
|
|||
to providing full-strength password hashing for multi-user application.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-pyblake2
|
||||
(package
|
||||
(name "python-pyblake2")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyblake2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gz9hgznv5zw4qjq43xa56y0yikimx30gffvibxzm0nv5sq7xk2w"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/dchest/pyblake2")
|
||||
(synopsis "BLAKE2 hash function for Python")
|
||||
(description "BLAKE2 is a cryptographic hash function, which offers
|
||||
stronger security while being as fast as MD5 or SHA-1, and comes in two
|
||||
flavors: @code{BLAKE2b}, optimized for 64-bit platforms and produces digests
|
||||
of any size between 1 and 64 bytes, and @code{BLAKE2s}, optimized for 8- to
|
||||
32-bit platforms and produces digests of any size between 1 and 32 bytes.
|
||||
|
||||
This package provides a Python interface for BLAKE2.")
|
||||
;; The COPYING file declares it as public domain, with the option to
|
||||
;; alternatively use and redistribute it under a variety of permissive
|
||||
;; licenses. cc0 is explicitly mentioned in setup.py and pyblake2module.c.
|
||||
(license (list license:public-domain license:cc0))))
|
||||
|
||||
(define-public python-paramiko
|
||||
(package
|
||||
(name "python-paramiko")
|
||||
|
@ -455,13 +432,7 @@ blake3, a cryptographic hash function.")
|
|||
;; Those tests uses PKCS12, which has been removed in
|
||||
;; pyopenssl 23.3.0:
|
||||
"not test_custom_not_before_not_after"
|
||||
"test_ca_cert_in_mem"
|
||||
;; Those tests try to download certificates:
|
||||
"test_file_wildcard"
|
||||
"test_file_wildcard_subdomains"
|
||||
"test_in_mem_parent_wildcard_cert"
|
||||
"test_in_mem_parent_wildcard_cert_at_tld"
|
||||
"test_in_mem_parent_wildcard_cert_2")
|
||||
"test_ca_cert_in_mem")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
|
@ -474,7 +445,7 @@ blake3, a cryptographic hash function.")
|
|||
(propagated-inputs
|
||||
(list python-pyopenssl python-tldextract))
|
||||
(native-inputs
|
||||
(list python-pytest-cov python-setuptools python-wheel))
|
||||
(list nss-certs-for-test python-pytest-cov python-setuptools python-wheel))
|
||||
(home-page "https://github.com/ikreymer/certauth")
|
||||
(synopsis "Certificate authority creation tool")
|
||||
(description "This package provides a small library, built on top of
|
||||
|
@ -658,7 +629,13 @@ ciphers, message digests and key derivation functions.")
|
|||
;; PyOpenSSL runs tests against a certificate with a fixed
|
||||
;; expiry time. To ensure successful builds in the future,
|
||||
;; set the time to roughly the release date.
|
||||
(invoke "faketime" "2024-07-20" "pytest" "-vv" "-k"
|
||||
(invoke "faketime" "2024-07-20" "pytest" "-vv"
|
||||
"--deselect"
|
||||
;; This test seems to fail when using faketime, at
|
||||
;; least on aarch64-linux with OSError: [Errno 22]
|
||||
;; Invalid argument
|
||||
"tests/test_ssl.py::TestDTLS::test_timeout"
|
||||
"-k"
|
||||
;; This test tries to look up certificates from
|
||||
;; the compiled-in default path in OpenSSL, which
|
||||
;; does not exist in the build environment.
|
||||
|
@ -1657,17 +1634,14 @@ signatures.")
|
|||
(uri (pypi-uri "PGPy" version))
|
||||
(sha256
|
||||
(base32 "10w3h934fi1ijx72ppn67a50yhkf8n1db6xx02gk2fjc7wsjx717"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest")))))))
|
||||
(list #:test-flags
|
||||
;; All broken tests are in this file.
|
||||
;; They fail with ValueError: key_size must be at least 1024-bits.
|
||||
#~(list "--ignore" "tests/test_10_exceptions.py")))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-wheel))
|
||||
(list python-pytest python-setuptools python-wheel))
|
||||
(propagated-inputs (list python-cryptography python-pyasn1))
|
||||
(home-page "https://github.com/SecurityInnovation/PGPy")
|
||||
(synopsis "Python implementation of OpenPGP")
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
;;; Copyright © 2024 Marco Baggio <marco.baggio@mdc-berlin.de>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -67,6 +68,7 @@
|
|||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -82,6 +84,7 @@
|
|||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
|
@ -372,7 +375,21 @@ Features:
|
|||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags #~(list "--pyargs" "numdifftools")
|
||||
#:test-flags
|
||||
#~(list "--pyargs" "numdifftools"
|
||||
"-k" (string-join
|
||||
;; Tests failing with error: TypeError: a must be an array
|
||||
;; of real numbers, see
|
||||
;; <https://github.com/pbrod/numdifftools/issues/72>.
|
||||
(list "not test_high_order_derivative"
|
||||
"test_low_order_derivative_on_example_functions"
|
||||
"test_sinx_div_x"
|
||||
"test_complex_hessian_issue_35"
|
||||
|
||||
"numdifftools.fornberg.Taylor"
|
||||
"numdifftools.fornberg.derivative"
|
||||
"numdifftools.fornberg.taylor")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
|
@ -1052,6 +1069,172 @@ utilizing the power of scikit-learn, e.g., for pre-processing or doing
|
|||
cross-validation.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public python-snakemake-interface-common
|
||||
(package
|
||||
(name "python-snakemake-interface-common")
|
||||
(version "1.17.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/snakemake/snakemake-interface-common")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19fyqs048zdvrmq5sdayzch850kwsyv2x6xn57cjjzcm4zpjrh9w"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python3" "tests/tests.py")))))))
|
||||
(native-inputs (list python-poetry-core python-pytest))
|
||||
(propagated-inputs (list python-argparse-dataclass python-configargparse))
|
||||
(home-page "https://github.com/snakemake/snakemake-interface-common")
|
||||
(synopsis "Common functions and classes for Snakemake and its plugins")
|
||||
(description "This package provides common functions and classes
|
||||
for Snakemake and its plugins.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-snakemake-interface-executor-plugins
|
||||
(package
|
||||
(name "python-snakemake-interface-executor-plugins")
|
||||
(version "9.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/snakemake/"
|
||||
"snakemake-interface-executor-plugins"))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kjjcgkk1rbavb687x5ayw35ayhsnhpg9262k317x911wqpsj2fm"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python3" "tests/tests.py")))))))
|
||||
(propagated-inputs (list python-argparse-dataclass
|
||||
python-snakemake-interface-common
|
||||
python-throttler))
|
||||
(native-inputs (list python-poetry-core python-pytest))
|
||||
(home-page (string-append "https://github.com/snakemake/"
|
||||
"python-snakemake-interface-executor-plugins"))
|
||||
(synopsis "Interface for Snakemake executor plugins")
|
||||
(description
|
||||
"This package provides a stable interface for interactions between Snakemake and
|
||||
its executor plugins.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-snakemake-interface-report-plugins
|
||||
(package
|
||||
(name "python-snakemake-interface-report-plugins")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/snakemake/"
|
||||
"snakemake-interface-report-plugins"))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0i6z9vk6nv2m3jsym0glrb7h9isdlfza2yq14vbqcslybdi9ykfa"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;circular dependency on snakemake
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python3" "tests/tests.py")))))))
|
||||
(propagated-inputs (list python-snakemake-interface-common python-pytest))
|
||||
(native-inputs (list python-poetry-core))
|
||||
(home-page (string-append "https://github.com/snakemake/"
|
||||
"python-snakemake-interface-report-plugins"))
|
||||
(synopsis "Interface for Snakemake report plugins")
|
||||
(description "This package provides a stable interface for interactions
|
||||
between Snakemake and its report plugins.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-snakemake-interface-software-deployment-plugins
|
||||
(package
|
||||
(name "python-snakemake-interface-software-deployment-plugins")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/snakemake/"
|
||||
"snakemake-interface-software-deployment-plugins"))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0b4kkznfyfck9f92pkimhyl13ljisfn67rsilm1a5inq2ywpmxba"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python3" "tests/tests.py")))))))
|
||||
(propagated-inputs (list python-argparse-dataclass
|
||||
python-snakemake-interface-common))
|
||||
(native-inputs (list python-poetry-core))
|
||||
(home-page (string-append "https://github.com/snakemake/"
|
||||
"snakemake-interface-software-deployment-plugins"))
|
||||
(synopsis "Interface for Snakemake software deployment plugins")
|
||||
(description
|
||||
"This package provides a stable interface for interactions between Snakemake and
|
||||
its software deployment plugins.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-snakemake-interface-storage-plugins
|
||||
(package
|
||||
(name "python-snakemake-interface-storage-plugins")
|
||||
(version "3.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/snakemake/"
|
||||
"snakemake-interface-storage-plugins"))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05n5xgwagb01nyzi8xfvp0nvdfl24lxidgksm7k86p68n1rijd5a"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;circular dependency on snakemake
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python3" "tests/tests.py")))))))
|
||||
(propagated-inputs (list python-reretry python-snakemake-interface-common
|
||||
python-throttler python-wrapt))
|
||||
(native-inputs (list python-poetry-core python-pytest))
|
||||
(home-page (string-append "https://github.com/snakemake/"
|
||||
"snakemake-interface-storage-plugins"))
|
||||
(synopsis "Interface for Snakemake storage plugins")
|
||||
(description
|
||||
"This package provides a stable interface for interactions between
|
||||
Snakemake and its storage plugins.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-tdda
|
||||
(package
|
||||
(name "python-tdda")
|
||||
|
@ -1643,7 +1826,7 @@ doing practical, real world data analysis in Python.")
|
|||
(lambda _
|
||||
(copy-recursively
|
||||
(string-append #$output
|
||||
"/lib/python3.10/site-packages/pandas/_libs")
|
||||
"/lib/python3.11/site-packages/pandas/_libs")
|
||||
"pandas/_libs"))))))
|
||||
(propagated-inputs
|
||||
(list python-dateutil
|
||||
|
@ -2465,7 +2648,7 @@ objects.")
|
|||
(define-public python-pytensor
|
||||
(package
|
||||
(name "python-pytensor")
|
||||
(version "2.18.1")
|
||||
(version "2.28.3") ; the minimal version supporting SciPy 1.12.0
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2474,52 +2657,65 @@ objects.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qa0y13xfm6w7ry7gp0lv84c8blyg34a9ns7ynwqyhf9majq08s5"))))
|
||||
"1yz1yslms6kdmy4sgnvbnghhclcpkc80z3vaw9c2y3b3j1fs9b4v"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
;; XXX: Full test suite takes about 20-30min to complete in single
|
||||
;; thread, attempt to run tests in parallel with pytest-xdist fails even
|
||||
;; so upstream provides a support for that, try to figure out how to
|
||||
;; improve it.
|
||||
;;
|
||||
;; Upstream implements a script, showing slow tests which may be used to
|
||||
;; exclude even more hanging/slow ones, see
|
||||
;; <scripts/slowest_tests/extract-slow-tests.py>.
|
||||
;;
|
||||
;; Skip computationally intensive tests.
|
||||
#~(list "--ignore" "tests/scan/"
|
||||
"--ignore" "tests/tensor/"
|
||||
"--ignore" "tests/sandbox/"
|
||||
"--ignore" "tests/sparse/sandbox/"
|
||||
;; Tests hang while running from these files.
|
||||
"--ignore" "tests/compile/test_compilelock.py"
|
||||
"--ignore" "tests/link/jax/test_tensor_basic.py"
|
||||
;; XXX: Tests finish with error in these files, check why.
|
||||
"--ignore" "tests/compile/function/test_types.py"
|
||||
"--ignore" "tests/link/numba/test_basic.py"
|
||||
"--ignore" "tests/link/numba/test_blockwise.py"
|
||||
"--ignore" "tests/link/numba/test_elemwise.py"
|
||||
"-k" (string-join
|
||||
;; Skip benchmark tests.
|
||||
(list "not test_elemwise_speed"
|
||||
"test_logsumexp_benchmark"
|
||||
"test_fused_elemwise_benchmark"
|
||||
"test_scan_multiple_output"
|
||||
"test_vector_taps_benchmark"
|
||||
"test_cython_performance"
|
||||
;; Assertion fails in tests.
|
||||
"test_choose_signature"
|
||||
"test_fgraph_to_python_names")
|
||||
" and not ")
|
||||
;; Tests collection selects pytensor, which does not contain
|
||||
;; tests and fails to pass; manually provide a test directory
|
||||
;; instead.
|
||||
"tests")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Replace version manually because pytensor uses
|
||||
;; versioneer, which requires git metadata.
|
||||
(add-after 'unpack 'versioneer
|
||||
(lambda _
|
||||
(with-output-to-file "setup.cfg"
|
||||
(lambda ()
|
||||
(display "\
|
||||
[versioneer]
|
||||
VCS = git
|
||||
style = pep440
|
||||
versionfile_source = pytensor/_version.py
|
||||
versionfile_build = pytensor/_version.py
|
||||
tag_prefix =
|
||||
parentdir_prefix = pytensor-
|
||||
")))
|
||||
(invoke "versioneer" "install")
|
||||
(substitute* "setup.py"
|
||||
(("versioneer.get_version\\(\\)")
|
||||
(string-append "\"" #$version "\"")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" "/tmp") ; required for most tests
|
||||
;; Test discovery fails, have to call pytest by hand.
|
||||
;; test_tensor_basic.py file requires JAX.
|
||||
(invoke "python" "-m" "pytest" "-vv"
|
||||
"--ignore" "tests/link/jax/test_tensor_basic.py"
|
||||
;; Skip benchmark tests.
|
||||
"-k" (string-append
|
||||
"not test_elemwise_speed"
|
||||
" and not test_logsumexp_benchmark"
|
||||
" and not test_fused_elemwise_benchmark"
|
||||
" and not test_scan_multiple_output"
|
||||
" and not test_vector_taps_benchmark"
|
||||
" and not test_cython_performance")
|
||||
;; Skip computationally intensive tests.
|
||||
"--ignore" "tests/scan/"
|
||||
"--ignore" "tests/tensor/"
|
||||
"--ignore" "tests/sandbox/"
|
||||
"--ignore" "tests/sparse/sandbox/")))))))
|
||||
(("version=versioneer.get_version\\(),")
|
||||
(format #f "version=~s," #$version)))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; It is required for most tests.
|
||||
(setenv "HOME" "/tmp")
|
||||
;; Cython extensions have to be built before running the tests.
|
||||
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||
(native-inputs (list python-cython
|
||||
python-pytest
|
||||
python-pytest-mock
|
||||
|
@ -2663,6 +2859,9 @@ annotations on an existing boxplots and barplots generated by seaborn.")
|
|||
(sha256
|
||||
(base32 "0jrq2vhan2h280h6cw1sm5hys2nzmf19w4py64k3nrkc320z9mni"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
;; This is a Numpy DeprecationWarning, remove it on next update.
|
||||
(list #:test-flags ''("-k" "not test_h5_io")))
|
||||
;; Pint is optional, but we do not propagate it due to its size.
|
||||
(native-inputs
|
||||
(list python-pint
|
||||
|
@ -2878,32 +3077,6 @@ and more
|
|||
@end itemize")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public python-pyglm
|
||||
(package
|
||||
(name "python-pyglm")
|
||||
(version "2.5.7")
|
||||
(source
|
||||
(origin
|
||||
;; Test files are not included in the archive in pypi.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Zuzu-Typ/PyGLM")
|
||||
(commit version)
|
||||
;; Checkout the bundled `glm` submodule. PyGLM uses the
|
||||
;; currently unreleased GLM_EXT_matrix_integer feature. Can
|
||||
;; maybe unbundle once glm@0.9.9.9 is released.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08v0cgkwsf8rxscx5g9c5p1dy38rvak2fy3q6hg985if1nj6d9ks"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/Zuzu-Typ/PyGLM")
|
||||
(synopsis "OpenGL Mathematics library for Python")
|
||||
(description "PyGLM is a Python extension library which brings the OpenGL
|
||||
Mathematics (GLM) library to Python.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public python-dask-expr
|
||||
(package
|
||||
(name "python-dask-expr")
|
||||
|
@ -3794,18 +3967,37 @@ it can be used for displaying many qualitatively different samples.")
|
|||
(package
|
||||
(name "python-paramz")
|
||||
(version "0.9.6")
|
||||
(source (origin
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sods/paramz")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ywc2jzj40m6wmq227j3snxvp4434s0m1xk1abg6v6mr87pv2sa9"))))
|
||||
(base32 "1ywc2jzj40m6wmq227j3snxvp4434s0m1xk1abg6v6mr87pv2sa9"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k"
|
||||
;; Two tests fail with error: TypeError: arrays to stack must be
|
||||
;; passed as a "sequence" type such as list or tuple.
|
||||
(string-append "not test_raveled_index"
|
||||
" and not test_regular_expression_misc")
|
||||
"paramz/tests/array_core_tests.py"
|
||||
"paramz/tests/cacher_tests.py"
|
||||
"paramz/tests/examples_tests.py"
|
||||
"paramz/tests/index_operations_tests.py"
|
||||
"paramz/tests/init_tests.py"
|
||||
"paramz/tests/lists_and_dicts_tests.py"
|
||||
"paramz/tests/model_tests.py"
|
||||
"paramz/tests/observable_tests.py"
|
||||
"paramz/tests/parameterized_tests.py"
|
||||
"paramz/tests/pickle_tests.py"
|
||||
"paramz/tests/verbose_optimize_tests.py")))
|
||||
(native-inputs
|
||||
(list python-nose
|
||||
(list python-pytest
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
|
@ -4055,16 +4247,10 @@ numerical computation.")
|
|||
(sha256
|
||||
(base32
|
||||
"0jb5lia0q742d1713jk33vlj41y61sf52j6pgk7pvhxvfxglgxjr"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-numpy))
|
||||
(native-inputs (list python-pytest python-pytest-cov python-pytest-pep8))
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-cov python-setuptools python-wheel))
|
||||
(home-page "https://github.com/dgasmith/opt_einsum")
|
||||
(synopsis "Optimizing numpys einsum function")
|
||||
(description
|
||||
|
@ -4080,24 +4266,44 @@ documentation for more information.")
|
|||
(define-public python-vaex-core
|
||||
(package
|
||||
(name "python-vaex-core")
|
||||
(version "4.17.1")
|
||||
(version "4.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "vaex-core" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://www.github.com/maartenbreddels/vaex")
|
||||
(commit (string-append "core-v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rzx5px3fwi5mh1z8y91brvffk7dkhj287lnmqp8zp6836kkqhya"))
|
||||
(modules '((guix build utils)))
|
||||
(base32 "1sp096msbzgjlwi8c1ink2bp4pjff9pvikqz1y1li8d3in4gpgdr"))
|
||||
(patches
|
||||
(search-patches "python-vaex-core-fix-tsl-use.patch"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)))
|
||||
(snippet
|
||||
;; Remove bundled libraries
|
||||
'(for-each delete-file-recursively
|
||||
(list "vendor/boost"
|
||||
"vendor/pcre"
|
||||
"vendor/pybind11")))))
|
||||
#~(begin
|
||||
;; Delete everything except for vaex-core itself:
|
||||
(define (delete-except exception)
|
||||
(lambda (file)
|
||||
(unless (member file `("." ".." ,exception))
|
||||
(delete-file-recursively file))))
|
||||
(for-each (delete-except "packages") (scandir "."))
|
||||
(with-directory-excursion "packages"
|
||||
(for-each (delete-except "vaex-core") (scandir ".")))
|
||||
(for-each (lambda (file)
|
||||
(unless (member file '("." ".."))
|
||||
(rename-file
|
||||
(string-append "packages/vaex-core/" file)
|
||||
file)))
|
||||
(scandir "packages/vaex-core"))
|
||||
(delete-file-recursively "packages")
|
||||
(delete-file-recursively "vendor")))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments (list #:tests? #false)) ;require vaex.server and others, which require vaex-core.
|
||||
(arguments
|
||||
;; require vaex.server and others, which require vaex-core.
|
||||
(list #:tests? #false))
|
||||
(inputs
|
||||
(list boost pcre pybind11-2.3))
|
||||
(list boost pcre pybind11 string-view-lite tsl-hopscotch-map))
|
||||
(propagated-inputs
|
||||
(list python-aplus
|
||||
python-blake3
|
||||
|
@ -4321,6 +4527,125 @@ compagnies.")
|
|||
neuronal models")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public snakemake
|
||||
(package
|
||||
(name "snakemake")
|
||||
(version "8.29.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "snakemake" version))
|
||||
(sha256
|
||||
(base32 "1ilpmrjmnc529p4gw2x23ik1d8b5pm6k1dhq08dknvfjsf3vgyjr"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list
|
||||
;; XXX: Unclear why these tests fail.
|
||||
"--ignore=tests/test_report_href/test_script.py"
|
||||
"--ignore=tests/test_script_py/scripts/test_explicit_import.py"
|
||||
"--ignore=tests/test_output_index.py"
|
||||
;; We don't care about testing old python@3.7 on Guix.
|
||||
"--ignore=tests/test_conda_python_3_7_script/test_script.py"
|
||||
;; Those require additional snakemake plugins.
|
||||
"--ignore=tests/test_api.py"
|
||||
"--ignore=tests/test_executor_test_suite.py"
|
||||
;; We don't care about lints.
|
||||
"--ignore=tests/test_linting.py"
|
||||
;; These tests attempt to change S3 buckets on AWS and fail
|
||||
;; because there are no AWS credentials.
|
||||
"--ignore=tests/test_tibanna"
|
||||
;; It's a similar story with this test, which requires access
|
||||
;; to the Google Storage service.
|
||||
"--ignore=tests/test_google_lifesciences")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'avoid-assets-download
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("^from assets import Assets") "")
|
||||
(("^Assets\\.deploy\\(\\)") ""))))
|
||||
;; For cluster execution Snakemake will call Python. Since there is
|
||||
;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
|
||||
;; fix this by calling the snakemake wrapper instead.
|
||||
(add-after 'unpack 'call-wrapper-not-wrapped-snakemake
|
||||
(lambda _
|
||||
(substitute* "snakemake/executors/__init__.py"
|
||||
(("self\\.get_python_executable\\(\\),")
|
||||
"")
|
||||
(("\"-m snakemake\"")
|
||||
(string-append "\"" #$output
|
||||
"/bin/snakemake" "\""))
|
||||
;; The snakemake command produced by format_job_exec contains
|
||||
;; references to /gnu/store. Prior to patching above that's
|
||||
;; just a reference to Python; after patching it's a reference
|
||||
;; to the snakemake executable.
|
||||
;;
|
||||
;; In Tibanna execution mode Snakemake arranges for a certain
|
||||
;; Docker image to be deployed to AWS. It then passes its own
|
||||
;; command line to Tibanna. This is misguided because it only
|
||||
;; ever works if the local Snakemake command was run inside
|
||||
;; the same Docker image. In the case of using Guix this is
|
||||
;; never correct, so we need to replace the store reference.
|
||||
(("tibanna_args.command = command")
|
||||
(string-append
|
||||
"tibanna_args.command = command.replace('"
|
||||
#$output "/bin/snakemake', 'python3 -m snakemake')")))))
|
||||
(add-after 'unpack 'patch-version
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("version=versioneer.get_version\\(\\)")
|
||||
(format #f "version=~s" #$version)))
|
||||
(substitute* '("snakemake/_version.py"
|
||||
"versioneer.py")
|
||||
(("0\\+unknown") #$version))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" "/tmp")))))))
|
||||
(propagated-inputs
|
||||
(list python-appdirs
|
||||
python-conda-inject
|
||||
python-configargparse
|
||||
python-connection-pool
|
||||
python-dpath
|
||||
python-gitpython
|
||||
python-humanfriendly
|
||||
python-immutables
|
||||
python-jinja2
|
||||
python-jsonschema
|
||||
python-nbformat
|
||||
python-packaging
|
||||
python-psutil
|
||||
python-pulp
|
||||
python-pyyaml
|
||||
python-requests
|
||||
python-reretry
|
||||
python-smart-open
|
||||
python-snakemake-interface-common
|
||||
python-snakemake-interface-executor-plugins
|
||||
python-snakemake-interface-report-plugins
|
||||
python-snakemake-interface-storage-plugins
|
||||
python-tabulate
|
||||
python-throttler
|
||||
python-wrapt
|
||||
python-yte))
|
||||
(native-inputs
|
||||
(list python-docutils
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-setuptools
|
||||
python-tomli
|
||||
python-wheel))
|
||||
(home-page "https://snakemake.readthedocs.io")
|
||||
(synopsis "Python-based execution environment for make-like workflows")
|
||||
(description
|
||||
"Snakemake aims to reduce the complexity of creating workflows by
|
||||
providing a clean and modern domain specific specification language (DSL) in
|
||||
Python style, together with a fast and comfortable execution environment.")
|
||||
(license license:expat)))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
;;; of a merge conflict, place them above by existing packages with similar
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -660,6 +660,405 @@ def contents() -> str:
|
|||
(variable "PYTHONTZPATH")
|
||||
(files (list "share/zoneinfo")))))))
|
||||
|
||||
(define-public python-3.11
|
||||
(package
|
||||
(inherit python-3.10)
|
||||
(name "python")
|
||||
(version "3.11.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.python.org/ftp/python/"
|
||||
version "/Python-" version ".tar.xz"))
|
||||
(patches (search-patches
|
||||
"python-3-deterministic-build-info.patch"
|
||||
"python-3.11-fix-tests.patch"
|
||||
"python-3-hurd-configure.patch"
|
||||
"python-3-search-paths.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qrvsxg5g0b0pgz2iigxic2j3g6b2c59iva46vins8ydl33j169a"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete the bundled copy of libexpat.
|
||||
(delete-file-recursively "Modules/expat")
|
||||
(substitute* "Modules/Setup"
|
||||
;; Link Expat instead of embedding the bundled one.
|
||||
(("^#pyexpat.*") "pyexpat pyexpat.c -lexpat\n"))
|
||||
;; Delete windows binaries
|
||||
(for-each delete-file
|
||||
(find-files "Lib/distutils/command" "\\.exe$"))))))
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:configure-flags
|
||||
#~(list "--enable-shared" ;allow embedding
|
||||
"--with-system-expat" ;for XML support
|
||||
"--with-system-ffi" ;build ctypes
|
||||
"--with-ensurepip=install" ;install pip and setuptools
|
||||
"--with-computed-gotos" ;main interpreter loop optimization
|
||||
"--enable-unicode=ucs4"
|
||||
"--without-static-libpython"
|
||||
"--enable-loadable-sqlite-extensions"
|
||||
|
||||
;; FIXME: These flags makes Python significantly faster,
|
||||
;; but leads to non-reproducible binaries.
|
||||
;; "--with-lto" ;increase size by 20MB, but 15% speedup
|
||||
;; "--enable-optimizations"
|
||||
|
||||
;; Prevent the installed _sysconfigdata.py from retaining
|
||||
;; a reference to coreutils.
|
||||
"INSTALL=install -c"
|
||||
"MKDIR_P=mkdir -p"
|
||||
|
||||
;; Add a reference to libxcrypt in LIBS so that the
|
||||
;; sysconfigdata file records it and propagates it to programs
|
||||
;; linking against Python.
|
||||
(let ((libxcrypt
|
||||
(false-if-exception
|
||||
(dirname
|
||||
(search-input-file %build-inputs
|
||||
"lib/libcrypt.so.1")))))
|
||||
(string-append
|
||||
"LIBS="
|
||||
(if libxcrypt
|
||||
(string-append "-L" libxcrypt)
|
||||
"")))
|
||||
|
||||
;; Disable runtime check failing if cross-compiling, see:
|
||||
;; https://lists.yoctoproject.org/pipermail/poky/2013-June/008997.html
|
||||
#$@(if (%current-target-system)
|
||||
'("ac_cv_buggy_getaddrinfo=no"
|
||||
"ac_cv_file__dev_ptmx=no"
|
||||
"ac_cv_file__dev_ptc=no")
|
||||
'())
|
||||
;; -fno-semantic-interposition reinstates some
|
||||
;; optimizations by gcc leading to around 15% speedup.
|
||||
;; This is the default starting from python 3.10.
|
||||
"CFLAGS=-fno-semantic-interposition"
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"
|
||||
" -fno-semantic-interposition"))
|
||||
;; With no -j argument tests use all available cpus, so provide one.
|
||||
#:make-flags
|
||||
`(list (string-append (format #f "TESTOPTS=-j~d"
|
||||
(parallel-job-count))
|
||||
;; those tests fail on low-memory systems
|
||||
" --exclude"
|
||||
" test_mmap"
|
||||
" test_socket"
|
||||
" test_threading"
|
||||
" test_asyncio"
|
||||
" test_shutdown"
|
||||
,@(if (system-hurd?)
|
||||
'(" test_posix" ;multiple errors
|
||||
" test_time"
|
||||
" test_pty"
|
||||
" test_shutil"
|
||||
" test_tempfile" ;chflags: invalid argument:
|
||||
;; tbv14c9t/dir0/dir0/dir0/test0.txt
|
||||
" test_os" ;stty: 'standard input':
|
||||
;; Inappropriate ioctl for device
|
||||
" test_openpty" ;No such file or directory
|
||||
" test_selectors" ;assertEqual(NUM_FDS // 2, len(fds))
|
||||
;; 32752 != 4
|
||||
" test_compileall" ;multiple errors
|
||||
" test_poll" ;list index out of range
|
||||
" test_subprocess" ;runs over 10min
|
||||
" test_asyncore" ;multiple errors
|
||||
" test_threadsignals"
|
||||
" test_eintr" ;Process return code is -14
|
||||
" test_io" ;multiple errors
|
||||
" test_logging"
|
||||
" test_signal"
|
||||
" test_flags" ;ERROR
|
||||
" test_bidirectional_pty"
|
||||
" test_create_unix_connection"
|
||||
" test_unix_sock_client_ops"
|
||||
" test_open_unix_connection"
|
||||
" test_open_unix_connection_error"
|
||||
" test_read_pty_output"
|
||||
" test_write_pty"
|
||||
" test_concurrent_futures" ;freeze
|
||||
" test_venv" ;freeze
|
||||
" test_multiprocessing_forkserver" ;runs over 10min
|
||||
" test_multiprocessing_spawn" ;runs over 10min
|
||||
" test_builtin"
|
||||
" test_capi"
|
||||
" test_dbm_ndbm"
|
||||
" test_exceptions"
|
||||
" test_faulthandler"
|
||||
" test_getopt"
|
||||
" test_importlib"
|
||||
" test_json"
|
||||
" test_multiprocessing_fork"
|
||||
" test_multiprocessing_main_handling"
|
||||
" test_pdb "
|
||||
" test_regrtest"
|
||||
" test_sqlite")
|
||||
'())))
|
||||
|
||||
#:modules
|
||||
'((ice-9 ftw)
|
||||
(ice-9 match)
|
||||
(guix build utils)
|
||||
(guix build gnu-build-system))
|
||||
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
#$@(if (system-hurd?)
|
||||
`((add-after 'unpack
|
||||
'disable-multi-processing
|
||||
(lambda _
|
||||
(substitute* "Makefile.pre.in"
|
||||
(("-j0")
|
||||
"-j1")))))
|
||||
'())
|
||||
(add-before 'configure 'patch-lib-shells
|
||||
(lambda _
|
||||
;; This variable is used in setup.py to enable cross compilation
|
||||
;; specific switches. As it is not set properly by configure
|
||||
;; script, set it manually.
|
||||
#$@(if (%current-target-system)
|
||||
'((setenv "_PYTHON_HOST_PLATFORM" ""))
|
||||
'())
|
||||
;; Filter for existing files, since some may not exist in all
|
||||
;; versions of python that are built with this recipe.
|
||||
(substitute* (filter file-exists?
|
||||
'("Lib/subprocess.py"
|
||||
"Lib/popen2.py"
|
||||
"Lib/distutils/tests/test_spawn.py"
|
||||
"Lib/test/support/__init__.py"
|
||||
"Lib/test/test_subprocess.py"))
|
||||
(("/bin/sh")
|
||||
(which "sh")))))
|
||||
(add-before 'configure 'do-not-record-configure-flags
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
;; Remove configure flags from the installed '_sysconfigdata.py'
|
||||
;; and 'Makefile' so we don't end up keeping references to the
|
||||
;; build tools.
|
||||
;;
|
||||
;; Preserve at least '--with-system-ffi' since otherwise the
|
||||
;; thing tries to build libffi, fails, and we end up with a
|
||||
;; Python that lacks ctypes.
|
||||
(substitute* "configure"
|
||||
(("^CONFIG_ARGS=.*$")
|
||||
(format #f "CONFIG_ARGS='~a'\n"
|
||||
(if (member "--with-system-ffi"
|
||||
configure-flags)
|
||||
"--with-system-ffi" ""))))))
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
;; 'Lib/test/test_site.py' needs a valid $HOME
|
||||
(setenv "HOME"
|
||||
(getcwd))))
|
||||
(add-after 'unpack 'set-source-file-times-to-1980
|
||||
;; XXX One of the tests uses a ZIP library to pack up some of the
|
||||
;; source tree, and fails with "ZIP does not support timestamps
|
||||
;; before 1980". Work around this by setting the file times in the
|
||||
;; source tree to sometime in early 1980.
|
||||
(lambda _
|
||||
(let ((circa-1980 (* 10 366 24 60 60)))
|
||||
(ftw "."
|
||||
(lambda (file stat flag)
|
||||
(utime file circa-1980 circa-1980) #t)))))
|
||||
(add-after 'unpack 'remove-windows-binaries
|
||||
(lambda _
|
||||
;; Delete .exe from embedded .whl (zip) files
|
||||
(for-each (lambda (whl)
|
||||
(let ((dir "whl-content")
|
||||
(circa-1980 (* 10 366 24 60 60)))
|
||||
(mkdir-p dir)
|
||||
(with-directory-excursion dir
|
||||
(let ((whl (string-append "../" whl)))
|
||||
(invoke "unzip" whl)
|
||||
(for-each delete-file
|
||||
(find-files "." "\\.exe$"))
|
||||
(delete-file whl)
|
||||
;; Reset timestamps to prevent them from ending
|
||||
;; up in the Zip archive.
|
||||
(ftw "."
|
||||
(lambda (file stat flag)
|
||||
(utime file circa-1980
|
||||
circa-1980) #t))
|
||||
(apply invoke "zip" "-X" whl
|
||||
(find-files "."
|
||||
#:directories? #t))))
|
||||
(delete-file-recursively dir)))
|
||||
(find-files "Lib/ensurepip" "\\.whl$"))))
|
||||
(add-after 'install 'remove-tests
|
||||
;; Remove 25 MiB of unneeded unit tests. Keep test_support.*
|
||||
;; because these files are used by some libraries out there.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(match (scandir (string-append out "/lib")
|
||||
(lambda (name)
|
||||
(string-prefix? "python" name)))
|
||||
((pythonX.Y)
|
||||
(let ((testdir (string-append out "/lib/" pythonX.Y
|
||||
"/test")))
|
||||
(with-directory-excursion testdir
|
||||
(for-each delete-file-recursively
|
||||
(scandir testdir
|
||||
(match-lambda
|
||||
((or "." "..")
|
||||
#f)
|
||||
("support" #f)
|
||||
(file (not (string-prefix?
|
||||
"test_support."
|
||||
file))))))
|
||||
(call-with-output-file "__init__.py"
|
||||
(const #t))))
|
||||
(let ((libdir (string-append out "/lib/" pythonX.Y)))
|
||||
(for-each (lambda (directory)
|
||||
(let ((dir (string-append libdir "/"
|
||||
directory)))
|
||||
(when (file-exists? dir)
|
||||
(delete-file-recursively dir))))
|
||||
'("email/test" "ctypes/test"
|
||||
"unittest/test"
|
||||
"tkinter/test"
|
||||
"sqlite3/test"
|
||||
"bsddb/test"
|
||||
"lib-tk/test"
|
||||
"json/tests"
|
||||
"distutils/tests"))))))))
|
||||
(add-after 'remove-tests 'move-tk-inter
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
;; When Tkinter support is built move it to a separate output so
|
||||
;; that the main output doesn't contain a reference to Tcl/Tk.
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(tk (assoc-ref outputs "tk")))
|
||||
(when tk
|
||||
(match (find-files out "tkinter.*\\.so")
|
||||
((tkinter.so)
|
||||
;; The .so is in OUT/lib/pythonX.Y/lib-dynload, but we
|
||||
;; want it under TK/lib/pythonX.Y/site-packages.
|
||||
(let* ((len (string-length out))
|
||||
(target (string-append tk "/"
|
||||
(string-drop (dirname
|
||||
(dirname
|
||||
tkinter.so))
|
||||
len)
|
||||
"/site-packages")))
|
||||
(install-file tkinter.so target)
|
||||
(delete-file tkinter.so))))
|
||||
;; Remove explicit store path references.
|
||||
(let ((tcl (assoc-ref inputs "tcl"))
|
||||
(tk (assoc-ref inputs "tk")))
|
||||
(substitute* (find-files (string-append out "/lib")
|
||||
"^(_sysconfigdata_.*\\.py|Makefile)$")
|
||||
(((string-append "-L" tk "/lib"))
|
||||
"")
|
||||
(((string-append "-L" tcl "/lib"))
|
||||
"")))))))
|
||||
(add-after 'move-tk-inter 'move-idle
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; when idle is built, move it to a separate output to save some
|
||||
;; space (5MB)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(idle (assoc-ref outputs "idle")))
|
||||
(when idle
|
||||
(for-each (lambda (file)
|
||||
(let ((target (string-append idle
|
||||
"/bin/"
|
||||
(basename
|
||||
file))))
|
||||
(install-file file
|
||||
(dirname target))
|
||||
(delete-file file)))
|
||||
(find-files (string-append out "/bin")
|
||||
"^idle"))
|
||||
(match (find-files out "^idlelib$"
|
||||
#:directories? #t)
|
||||
((idlelib)
|
||||
(let* ((len (string-length out))
|
||||
(target (string-append idle "/"
|
||||
(string-drop
|
||||
idlelib len)
|
||||
"/site-packages")))
|
||||
(mkdir-p (dirname target))
|
||||
(rename-file idlelib target))))))))
|
||||
(add-after 'move-idle 'rebuild-bytecode
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Disable hash randomization to ensure the generated .pycs
|
||||
;; are reproducible.
|
||||
(setenv "PYTHONHASHSEED" "0")
|
||||
|
||||
(for-each (lambda (output)
|
||||
;; XXX: Delete existing pycs generated by the build
|
||||
;; system beforehand because the -f argument does
|
||||
;; not necessarily overwrite all files, leading to
|
||||
;; indeterministic results.
|
||||
(for-each (lambda (pyc)
|
||||
(delete-file pyc))
|
||||
(find-files output "\\.pyc$"))
|
||||
|
||||
(apply invoke
|
||||
#$(if (%current-target-system)
|
||||
"python3"
|
||||
#~(string-append #$output "/bin/python3"))
|
||||
`("-m" "compileall"
|
||||
"-o" "0"
|
||||
"-o" "1"
|
||||
"-o" "2"
|
||||
"-f" ;force rebuild
|
||||
"--invalidation-mode=unchecked-hash"
|
||||
;; Don't build lib2to3, because it's Python
|
||||
;; 2 code.
|
||||
"-x" "lib2to3/.*"
|
||||
,output)))
|
||||
(map cdr outputs))))
|
||||
(add-before 'check 'set-TZDIR
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
;; test_email requires the Olson time zone database.
|
||||
(setenv "TZDIR"
|
||||
(string-append (assoc-ref (or native-inputs
|
||||
inputs) "tzdata")
|
||||
"/share/zoneinfo"))))
|
||||
(add-after 'install 'add-libxcrypt-reference-pkgconfig
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((libxcrypt
|
||||
(false-if-exception
|
||||
(dirname
|
||||
(search-input-file inputs "lib/libcrypt.so.1")))))
|
||||
(when libxcrypt
|
||||
(substitute*
|
||||
(find-files (string-append #$output "/lib/pkgconfig")
|
||||
".*\\.pc")
|
||||
(("Libs:")
|
||||
(string-append "Libs: " "-L" libxcrypt " -lcrypt")))))))
|
||||
(add-after 'install 'install-sitecustomize.py
|
||||
#$(customize-site version)))))
|
||||
(inputs (list bzip2
|
||||
expat
|
||||
gdbm
|
||||
libffi ;for ctypes
|
||||
libxcrypt ;crypto module slated for removal in 3.13
|
||||
sqlite ;for sqlite extension
|
||||
openssl
|
||||
readline
|
||||
zlib
|
||||
tcl
|
||||
tk)) ;for tkinter
|
||||
(native-inputs `(("tzdata" ,tzdata-for-tests)
|
||||
("unzip" ,unzip)
|
||||
("zip" ,(@ (gnu packages compression) zip))
|
||||
("pkg-config" ,pkg-config)
|
||||
("sitecustomize.py" ,(local-file (search-auxiliary-file
|
||||
"python/sitecustomize.py")))
|
||||
;; When cross-compiling, a native version of Python itself is needed.
|
||||
,@(if (%current-target-system)
|
||||
`(("python" ,this-package)
|
||||
("which" ,which))
|
||||
'())))
|
||||
(native-search-paths
|
||||
(list (guix-pythonpath-search-path version)
|
||||
;; Used to locate tzdata by the zoneinfo module introduced in
|
||||
;; Python 3.9.
|
||||
(search-path-specification
|
||||
(variable "PYTHONTZPATH")
|
||||
(files (list "share/zoneinfo")))))))
|
||||
|
||||
(define-public python-3.12
|
||||
(package
|
||||
(name "python-next")
|
||||
|
@ -1051,7 +1450,7 @@ data types.")
|
|||
(define-public python-next python-3.12)
|
||||
|
||||
;; Current 3.x version.
|
||||
(define-public python-3 python-3.10)
|
||||
(define-public python-3 python-3.11)
|
||||
|
||||
;; Current major version.
|
||||
(define-public python python-3)
|
||||
|
@ -1088,10 +1487,10 @@ data types.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments python)
|
||||
((#:configure-flags flags '())
|
||||
`(cons "--with-pydebug" ,flags))))
|
||||
(synopsis
|
||||
"Python with the debug hooks enabled")
|
||||
((#:configure-flags configure-flags)
|
||||
#~(append #$configure-flags
|
||||
(list "--with-pydebug")))))
|
||||
(synopsis "Python with the debug hooks enabled")
|
||||
(description
|
||||
"This variant of Python provides an interpreter built with
|
||||
@code{--with-pydebug} to help develop and debug extensions. See
|
||||
|
|
|
@ -4033,7 +4033,7 @@ Python.")
|
|||
(define-public python-sip
|
||||
(package
|
||||
(name "python-sip")
|
||||
(version "6.8.6")
|
||||
(version "6.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4043,18 +4043,20 @@ Python.")
|
|||
"/sip-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0ykxq0607f2sdwbl5cxbp0y8pl14bsgzc9nhifpxbibfivj5kjbz"))
|
||||
"176jylhzs2ci2r9f3l75k9dpwhp1dn0qv2cy9phdp62cgmlia1gs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Relax setuptools dependency
|
||||
#~(substitute* "pyproject.toml"
|
||||
(("\"setuptools>=.*\",") "\"setuptools\",")))
|
||||
(patches (search-patches "python-sip-include-dirs.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No test system found.
|
||||
(native-inputs
|
||||
(list python-wrapper python-setuptools python-setuptools-scm-next))
|
||||
(list python-setuptools python-setuptools-scm-next python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-tomli
|
||||
python-packaging
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(list python-packaging python-setuptools))
|
||||
(home-page "https://www.riverbankcomputing.com/software/sip/intro")
|
||||
(synopsis "Python binding creator for C and C++ libraries")
|
||||
(description
|
||||
|
@ -5137,7 +5139,7 @@ color-related widgets.")
|
|||
(define-public python-shiboken-2
|
||||
(package
|
||||
(name "python-shiboken-2")
|
||||
(version "5.15.10")
|
||||
(version "5.15.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://qt/QtForPython/pyside2/PySide2-"
|
||||
|
@ -5145,7 +5147,7 @@ color-related widgets.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fnkx8ax2lkin3bpqbz4zbdrdin2ixb4d6s3c0xghh9sc79r3xia"))))
|
||||
"0q3ky0fai3wr8kr1q82vdg5byhbn5sfdymmb554afpi72zyxcgkd"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list clang-toolchain
|
||||
|
|
|
@ -3272,7 +3272,6 @@ satellites.")
|
|||
(native-inputs
|
||||
(list python-mock
|
||||
python-mox3
|
||||
python-pep8
|
||||
python-pytest
|
||||
python-pytest-mock
|
||||
python-pyyaml
|
||||
|
|
|
@ -81,10 +81,15 @@
|
|||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
#~(list "-k" (string-join
|
||||
(list
|
||||
;; These require Internet access.
|
||||
#~(list "-k" (string-append "not test_latex_images"
|
||||
" and not test_build_latex_doc[lualatex-manual]"
|
||||
" and not est_build_latex_doc[lualatex-howto]"))
|
||||
"not test_latex_images"
|
||||
"test_build_latex_doc[lualatex-manual]"
|
||||
"est_build_latex_doc[lualatex-howto]"
|
||||
;; AssertionError: assert...list of weak references to the object...
|
||||
"test_autodoc_default_options")
|
||||
" and not "))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
|
@ -192,7 +197,10 @@ sources.")
|
|||
" and not test_viewcode"
|
||||
;; These fail with pygments 2.10+. They are harmless.
|
||||
" and not test_additional_targets_should_not_be_translated"
|
||||
" and not test_additional_targets_should_be_translated"))
|
||||
" and not test_additional_targets_should_be_translated"
|
||||
;; As in Sphinx@6:
|
||||
;; AssertionError: assert...list of weak references to the object...
|
||||
" and not test_autodoc_default_options"))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
|
@ -262,25 +270,6 @@ sources.")
|
|||
(texlive-updmap.cfg
|
||||
(list texlive-cm-super texlive-tex-gyre))))))
|
||||
|
||||
;; Some packages do not support Sphinx 5 yet. Remove when unused.
|
||||
(define-public python-sphinx-4
|
||||
(package
|
||||
(inherit python-sphinx-5)
|
||||
(version "4.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Sphinx" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rp28jryxwy24y8vpacclqihbizyi6b1s6id86pibvm46ybcmy3v"))))
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-sphinx)
|
||||
(replace "python-docutils" python-docutils-0.15)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs python-sphinx)
|
||||
(delete python-flit-core)
|
||||
(append python-setuptools python-wheel)))))
|
||||
|
||||
(define-public python-sphinxcontrib-apidoc
|
||||
(package
|
||||
(name "python-sphinxcontrib-apidoc")
|
||||
|
@ -603,7 +592,15 @@ supported with @code{sphinx-issues}.")
|
|||
(sha256
|
||||
(base32 "1ivqz6yv96a2jp59kylg1gbkrmzq6zwilppz3ij0zrkjn25zb97k"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-docutils-0.15 python-sphinx-4))
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'loosen-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("sphinx>=2,<5")
|
||||
"sphinx>=2,<6")))))))
|
||||
(propagated-inputs (list python-docutils-0.16 python-sphinx-5))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-regressions
|
||||
|
@ -1229,13 +1226,6 @@ enabled web server.")
|
|||
documenting acceptable argument types and return value types of functions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-sphinx-autodoc-typehints-5
|
||||
(package/inherit python-sphinx-autodoc-typehints
|
||||
(propagated-inputs
|
||||
(modify-inputs
|
||||
(package-propagated-inputs python-sphinx-autodoc-typehints)
|
||||
(replace "python-sphinx" python-sphinx-5)))))
|
||||
|
||||
(define-public python-sphinx-pytest
|
||||
(package
|
||||
(name "python-sphinx-pytest")
|
||||
|
|
|
@ -916,7 +916,7 @@ comparison and diagnostics.")
|
|||
(define-public python-pymc
|
||||
(package
|
||||
(name "python-pymc")
|
||||
(version "5.11.0")
|
||||
(version "5.21.0")
|
||||
(source (origin
|
||||
(method git-fetch) ; no tests in PyPI
|
||||
(uri (git-reference
|
||||
|
@ -925,28 +925,17 @@ comparison and diagnostics.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x94qzq3z02fxlliz1xfdpb2pbn7nhp4skzcxz6qdavbj9xqcxys"))))
|
||||
"0azkbl0mpanza35ibdqdm21bf45n3xi26wy01lnxzxqblcjcny9l"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ; tests are too computationally intensive
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'versioneer
|
||||
(lambda _
|
||||
(with-output-to-file "setup.cfg"
|
||||
(lambda ()
|
||||
(display "\
|
||||
[versioneer]
|
||||
VCS = git
|
||||
style = pep440
|
||||
versionfile_source = pymc/_version.py
|
||||
versionfile_build = pymc/_version.py
|
||||
tag_prefix =
|
||||
parentdir_prefix = pymc-
|
||||
")))
|
||||
(invoke "versioneer" "install")
|
||||
(substitute* "setup.py"
|
||||
(("versioneer.get_version\\(\\)")
|
||||
(string-append "\"" #$version "\"")))))
|
||||
(("version=versioneer.get_version\\(),")
|
||||
(format #f "version=~s," #$version)))))
|
||||
;; To create the compiledir for tests.
|
||||
(add-before 'check 'write-permissions
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
|
@ -1009,24 +998,18 @@ and a lot more.")
|
|||
(define-public python-patsy
|
||||
(package
|
||||
(name "python-patsy")
|
||||
(version "0.5.2")
|
||||
(version "1.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "patsy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17dn72519gvwifw3i8mzwlslxmxkl8ihzfrxg1iblsk70iwdwlsh"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests? (invoke "pytest" "-vv")))))))
|
||||
"1i60b6s8zj0w2ks63ip4mr8z14p6pixp76rm9q2qr0gc3qwsk1p7"))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs
|
||||
(list python-numpy python-scipy python-six))
|
||||
(list python-numpy python-scipy))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(list python-pytest python-pytest-cov python-setuptools python-wheel))
|
||||
(home-page "https://github.com/pydata/patsy")
|
||||
(synopsis "Describe statistical models and build design matrices")
|
||||
(description
|
||||
|
@ -3333,7 +3316,7 @@ statistical summary in arrays and enumerables.")
|
|||
(define-public python-pgmpy
|
||||
(package
|
||||
(name "python-pgmpy")
|
||||
(version "0.1.24")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;pypi package does not include test data
|
||||
|
@ -3343,8 +3326,14 @@ statistical summary in arrays and enumerables.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fvzh6v0yhgdryczamvzhfy2ymywkh0ssx4rl47xnfvi43hnij90"))))
|
||||
"1hg6wrg3jcac71zn4gknni1wrn38wa86ka3sgp2bndz59mx6sr2s"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list #:test-flags
|
||||
#~(list "-k" (string-append
|
||||
"not test_pillai"
|
||||
" and not test_estimate_with_cache_no_llm_calls"
|
||||
" and not test_estimate_with_orientations"))))
|
||||
(propagated-inputs (list python-daft
|
||||
python-joblib
|
||||
python-networkx
|
||||
|
@ -3358,7 +3347,11 @@ statistical summary in arrays and enumerables.")
|
|||
python-statsmodels
|
||||
python-tqdm))
|
||||
(native-inputs (list python-mock
|
||||
python-pytest))
|
||||
python-pyro-ppl
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-wheel
|
||||
python-xgboost))
|
||||
(home-page "https://github.com/pgmpy/pgmpy")
|
||||
(synopsis "Probabilistic Graphical Models library")
|
||||
(description "This package provides a library for Probabilistic
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
|
@ -261,7 +262,7 @@ networks.")
|
|||
(define-public onionshare-cli
|
||||
(package
|
||||
(name "onionshare-cli")
|
||||
(version "2.6")
|
||||
(version "2.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -270,32 +271,53 @@ networks.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bhrp019a0923h7dnfxhgvgvdp81blvnsbnvzy34hp827abxf3ic"))
|
||||
(patches (search-patches "onionshare-cli-async-mode.patch"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "16yr25llnbgl2iwk458ca0rhrxsmpfx72q4gdg4a52i6g546p3hd"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(list python-cython-3
|
||||
python-poetry-core
|
||||
python-pytest
|
||||
python-wheel))
|
||||
(inputs
|
||||
;; TODO: obfs4proxy
|
||||
(list python-click
|
||||
python-cffi
|
||||
python-colorama
|
||||
python-eventlet
|
||||
python-flask
|
||||
python-flask-httpauth
|
||||
python-flask-compress
|
||||
python-flask-socketio
|
||||
python-pynacl
|
||||
python-gevent
|
||||
python-gevent-websocket
|
||||
python-packaging
|
||||
python-psutil
|
||||
python-pycryptodome
|
||||
python-pynacl
|
||||
python-pysocks
|
||||
python-qrcode
|
||||
python-requests
|
||||
python-setuptools
|
||||
python-stem
|
||||
python-unidecode
|
||||
python-urllib3
|
||||
python-urllib3-next
|
||||
python-waitress
|
||||
python-werkzeug
|
||||
tor))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
;; All tests passed, and the CLI is working in runtime, relax
|
||||
;; Poetry way too strict requirements.
|
||||
(substitute* "cli/pyproject.toml"
|
||||
(("2.3.2") "^3.0.0") ; flask = "2.3.2"
|
||||
(("5.3.4") "5.5.1") ; flask-socketio = "5.3.4"
|
||||
(("23.9.1") "24.11.1") ; gevent = "^23.9.1"
|
||||
(("7.4.2") "8.0.0") ; qrcode = "^7.4.2"
|
||||
(("70.0.0") "67.6.1") ; setuptools = ">=70.0.0"
|
||||
(("1.8.1") "^1.8.1") ; stem = "1.8.1"
|
||||
(("3.0.6") "^3.0.6") ; werkzeug = "3.0.6"
|
||||
(("0.41.2") "0.40.0")))) ; wheel = "^0.41.2"
|
||||
(add-after 'unpack 'bake-tor
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (list "cli/onionshare_cli/common.py"
|
||||
|
@ -307,16 +329,15 @@ networks.")
|
|||
(search-input-directory inputs "share/tor")))))
|
||||
(add-before 'build 'change-directory
|
||||
(lambda _ (chdir "cli")))
|
||||
(replace 'check
|
||||
(add-before 'check 'pre-check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" "/tmp")
|
||||
;; Greendns is not needed for testing, and if eventlet tries to
|
||||
;; load it, an OSError is thrown when getprotobyname is called.
|
||||
;; Thankfully there is an environment variable to disable the
|
||||
;; greendns import, so use it:
|
||||
(setenv "EVENTLET_NO_GREENDNS" "yes")
|
||||
(invoke "pytest" "-v" "./tests")))))))
|
||||
;; Greendns is not needed for testing, and if eventlet tries
|
||||
;; to load it, an OSError is thrown when getprotobyname is
|
||||
;; called. Thankfully there is an environment variable to
|
||||
;; disable the greendns import, so use it:
|
||||
(setenv "EVENTLET_NO_GREENDNS" "yes")))))))
|
||||
(home-page "https://onionshare.org/")
|
||||
(synopsis "Securely and anonymously share files")
|
||||
(description "OnionShare lets you securely and anonymously share files,
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -23,24 +24,29 @@
|
|||
(define-module (gnu packages tryton)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages finance)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages pdf)
|
||||
#: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)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system python))
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system pyproject))
|
||||
|
||||
(define (guix-trytonpath-search-path version)
|
||||
"Generate a GUIX_TRYTOND_MODULES_PATH search path specification, using
|
||||
|
@ -58,41 +64,49 @@ installed in the same environments. Collecting only paths actually containing
|
|||
(define-public trytond
|
||||
(package
|
||||
(name "trytond")
|
||||
(version "6.2.10")
|
||||
(version "7.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "trytond" version))
|
||||
(sha256
|
||||
(base32 "0s53ig8snbs9936h99pwa0lwhcrd3j3cbpwlmf90mf1chrif7zca"))
|
||||
(patches (search-patches "trytond-add-egg-modules-to-path.patch"
|
||||
"trytond-add-guix_trytond_path.patch"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1bwa631qz07k6s5fbki3ph6sx0ch9yss2q4sa1jb67z6angiwv5f"))
|
||||
(patches (search-patches "trytond-add-guix_trytond_path.patch"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
'(list "-k"
|
||||
(string-append
|
||||
;; "modules" is [None], but should be a list of modules.
|
||||
"not ModuleTestCase"
|
||||
;; fixture 'self' not found
|
||||
" and not test_method"))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-before 'check 'preparations
|
||||
(lambda _
|
||||
(setenv "DB_NAME" ":memory:")
|
||||
(setenv "HOME" "/tmp"))))))
|
||||
(propagated-inputs
|
||||
(list python-dateutil
|
||||
python-defusedxml
|
||||
python-genshi
|
||||
python-lxml
|
||||
python-magic
|
||||
python-passlib
|
||||
python-polib
|
||||
python-psycopg2
|
||||
python-relatorio
|
||||
python-sql
|
||||
python-werkzeug-1.0 ;setup.py requires werkzeug<2
|
||||
python-wrapt))
|
||||
python-werkzeug))
|
||||
(native-inputs
|
||||
(list python-mock python-pillow))
|
||||
(list python-pillow
|
||||
python-pydot
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-wheel
|
||||
tzdata-for-tests))
|
||||
(native-search-paths
|
||||
(list (guix-trytonpath-search-path (package-version python))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'preparations
|
||||
(lambda _
|
||||
(setenv "DB_NAME" ":memory:")
|
||||
(setenv "HOME" "/tmp")
|
||||
#t)))))
|
||||
(home-page "https://www.tryton.org/")
|
||||
(synopsis "Tryton Server")
|
||||
(description "Tryton is a three-tier high-level general purpose
|
||||
|
@ -104,30 +118,33 @@ and security.")
|
|||
(define-public tryton
|
||||
(package
|
||||
(name "tryton")
|
||||
(version "6.2.7")
|
||||
(version "7.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "tryton" version))
|
||||
(sha256
|
||||
(base32 "1bvwkrj2mmnddaif60g2np2jpx8lq5ka32xlhd4rlnshnbryrm5q"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "0q0qa4pjbpc0h8r9hlnm5dh315w5i7mzqpdrlw1c8qvigpl1rf7g"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'change-home
|
||||
(lambda _
|
||||
;; Change from /homeless-shelter to /tmp for write permission.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(add-after 'install 'wrap-gi-python
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program (string-append out "/bin/tryton")
|
||||
(lambda _
|
||||
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||
(wrap-program (string-append #$output "/bin/tryton")
|
||||
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
|
||||
(native-inputs
|
||||
(list `(,glib "bin")
|
||||
gobject-introspection))
|
||||
gobject-introspection
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(inputs (list bash-minimal)) ;for wrap-program
|
||||
(propagated-inputs
|
||||
(list (librsvg-for-system)
|
||||
|
@ -145,19 +162,20 @@ and security.")
|
|||
(define-public python-proteus
|
||||
(package
|
||||
(name "python-proteus")
|
||||
(version "6.2.3")
|
||||
(version "7.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "proteus" version))
|
||||
(sha256
|
||||
(base32 "0xx8kqzgs66rgz6bk5favnjs0akz6znz81vmjwpwp2wpq7094fsr"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "1q3d0hkvmfsmxbx2qqp8zpslyy11mzwh0q2dkrh958yfyrzi1550"))))
|
||||
(build-system pyproject-build-system)
|
||||
;; Tests require python-trytond-party which requires python-proteus.
|
||||
(arguments
|
||||
`(#:tests? #f))
|
||||
(propagated-inputs
|
||||
(list python-dateutil python-defusedxml))
|
||||
(native-inputs (list python-setuptools python-wheel))
|
||||
(home-page "http://www.tryton.org/")
|
||||
(synopsis "Library to access a Tryton server as a client")
|
||||
(description
|
||||
|
|
|
@ -2702,7 +2702,7 @@ execution of any hook written in any language before every commit.")
|
|||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "HGEXTENSIONPATH")
|
||||
(files '("lib/python3.10/site-packages/hgext3rd")))))
|
||||
(files '("lib/python3.11/site-packages/hgext3rd")))))
|
||||
(home-page "https://www.mercurial-scm.org/")
|
||||
(synopsis "Decentralized version control system")
|
||||
(description
|
||||
|
@ -4312,50 +4312,47 @@ defects faster.")
|
|||
(license license:expat)))
|
||||
|
||||
(define-public gita
|
||||
(let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "gita")
|
||||
(version (git-version "0.12.9" revision commit))
|
||||
(source (origin
|
||||
(version "0.16.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nosarthur/gita")
|
||||
(commit commit)))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1k03zgcbhl91cgyh4k7ywyjp00y63q4bqbimncqh5b3lni8l8j5l"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list git ;for tests
|
||||
python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-pyyaml))
|
||||
(base32 "118dzmjgml0c32yllr2178ash2hvgn201i463bv4y0qbywajm9ax"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(substitute* "tests/test_main.py"
|
||||
(("'gita\\\\n'") "'source\\n'")
|
||||
(("'gita'") "'source'"))
|
||||
(invoke (search-input-file inputs "/bin/git")
|
||||
"init")
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke (search-input-file inputs "/bin/pytest")
|
||||
"-vv" "tests")))
|
||||
(list
|
||||
#:test-flags #~(list "--ignore" "tests/test_main.py")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(invoke (string-append
|
||||
#$(this-package-native-input "git-minimal") "/bin/git")
|
||||
"init")))
|
||||
(add-after 'install 'install-shell-completions
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lambda _
|
||||
(let* ((out #$output)
|
||||
(bash-completion (string-append out "/etc/bash_completion.d"))
|
||||
(zsh-completion (string-append out "/etc/zsh/site-functions")))
|
||||
(mkdir-p bash-completion)
|
||||
(copy-file ".gita-completion.bash"
|
||||
(copy-file "auto-completion/bash/.gita-completion.bash"
|
||||
(string-append bash-completion "/gita"))
|
||||
(mkdir-p zsh-completion)
|
||||
(copy-file ".gita-completion.zsh"
|
||||
(copy-file "auto-completion/zsh/.gita-completion.zsh"
|
||||
(string-append zsh-completion "/_gita"))))))))
|
||||
(native-inputs
|
||||
(list git-minimal/pinned ;for tests
|
||||
python-pytest
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-argcomplete))
|
||||
(home-page "https://github.com/nosarthur/gita")
|
||||
(synopsis "Command-line tool to manage multiple Git repos")
|
||||
(description "This package provides a command-line tool to manage
|
||||
|
@ -4369,7 +4366,7 @@ commit message side by side
|
|||
@end itemize
|
||||
|
||||
If several repos are related, it helps to see their status together.")
|
||||
(license license:expat))))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghq
|
||||
(package
|
||||
|
|
|
@ -3221,7 +3221,7 @@ YouTube.com and many more sites.")
|
|||
python-mutagen
|
||||
python-pycryptodomex
|
||||
python-requests-next ; TODO Remove this special package
|
||||
python-urllib3-next ; TODO Remove this one too
|
||||
python-urllib3-1.26 ; TODO Remove this one too
|
||||
python-websockets))
|
||||
(native-inputs
|
||||
(append
|
||||
|
@ -3799,34 +3799,28 @@ and custom quantization matrices.")
|
|||
(define-public streamlink
|
||||
(package
|
||||
(name "streamlink")
|
||||
(version "6.3.1")
|
||||
(version "7.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "streamlink" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i2qym2plm4gpcq50vl67j69m8a4zz9mb8gi2xryx28pbnpdzh4k"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(substitute* "pyproject.toml"
|
||||
(("trio >=0\\.22") "trio >=0.21"))))))
|
||||
(build-system python-build-system)
|
||||
"1mvg8lw3rkng6ciryziqh9r4ffj0ls7k0sv3byk3439s5d2qxh31"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(list
|
||||
#:test-flags #~(list "-k" "not test_no_cache")))
|
||||
(native-inputs
|
||||
(list python-freezegun
|
||||
python-requests-mock
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-trio))
|
||||
python-pytest-trio
|
||||
python-requests-mock
|
||||
python-setuptools
|
||||
python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-certifi
|
||||
python-exceptiongroup
|
||||
python-isodate
|
||||
python-lxml
|
||||
python-pycountry
|
||||
|
@ -3835,7 +3829,6 @@ and custom quantization matrices.")
|
|||
python-requests
|
||||
python-trio
|
||||
python-trio-websocket
|
||||
python-typing-extensions
|
||||
python-urllib3
|
||||
python-websocket-client))
|
||||
(home-page "https://github.com/streamlink/streamlink")
|
||||
|
|
|
@ -7217,6 +7217,12 @@ efficient where possible.")
|
|||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-rednose-dependency
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'rednose'") ""))
|
||||
(substitute* '("requirements.txt" "setup.cfg")
|
||||
(("rednose.*") ""))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
|
@ -7230,7 +7236,6 @@ efficient where possible.")
|
|||
python-httplib2
|
||||
python-nose
|
||||
python-pyparsing
|
||||
python-rednose
|
||||
python-requests
|
||||
python-sure
|
||||
python-tornado))
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2023 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2025 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -37,6 +38,7 @@
|
|||
#:use-module ((guix licenses) #:prefix l:)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -57,7 +59,9 @@
|
|||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#: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 sdl)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages web)
|
||||
|
@ -318,26 +322,38 @@ and many other languages.")
|
|||
(define-public python-wxpython
|
||||
(package
|
||||
(name "python-wxpython")
|
||||
(version "4.2.0")
|
||||
(version "4.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "wxPython" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1iw6xp76b3fmdqwbqmsx9i1razzpfki5z1hq6l8mszlxa32fng36"))
|
||||
(base32 "1fp2717a96hd5pdai6hlzc4pngdazxas55apjv2w5zb71xjv1g2x"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove bundled wxwidgets
|
||||
(delete-file-recursively "ext/wxWidgets")))
|
||||
(patches (search-patches "python-wxwidgets-type-errors.patch"))))
|
||||
(build-system python-build-system)
|
||||
(snippet #~(begin
|
||||
;; Remove bundled wxWidgets
|
||||
(delete-file-recursively "ext/wxWidgets")))))
|
||||
(build-system pyproject-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
(list
|
||||
#:modules '((guix build pyproject-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 ftw)
|
||||
(ice-9 match)
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-avoid-circular-import
|
||||
(lambda _
|
||||
(substitute* "wx/__init__.py"
|
||||
(("^import wx\\.__version__.*$") "\
|
||||
try:
|
||||
import wx.__version__
|
||||
except ImportError:
|
||||
pass\n")
|
||||
(("^__version__ = .*")
|
||||
(format #f "__version__ = ~s~%" #$version)))))
|
||||
(add-before 'build 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Configure the build options provided to the 'build.py' build
|
||||
|
@ -357,11 +373,24 @@ and many other languages.")
|
|||
(string-append "#" all)))
|
||||
;; The build script tries to write to demo/version.py. So, we set
|
||||
;; correct write permissions.
|
||||
(chmod "demo/version.py" #o644))))))
|
||||
(chmod "demo/version.py" #o644)))
|
||||
(add-before 'check 'add-missing-.so
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((site (site-packages inputs outputs)))
|
||||
(with-directory-excursion (string-append site "/wx")
|
||||
(for-each
|
||||
(match-lambda
|
||||
("siplib"
|
||||
(rename-file "siplib" "siplib.so"))
|
||||
((? (cut string-prefix? "_" <>) file)
|
||||
(unless (string-prefix? "__" file)
|
||||
(rename-file file (string-append file ".so"))))
|
||||
(_ #t))
|
||||
(scandir ".")))))))))
|
||||
(inputs
|
||||
(list gtk+ wxwidgets))
|
||||
(native-inputs
|
||||
(list pkg-config python-waf))
|
||||
(list pkg-config python-setuptools python-waf python-wheel))
|
||||
(propagated-inputs
|
||||
(list python-attrdict3 python-numpy python-pillow python-six))
|
||||
(home-page "https://wxpython.org/")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue