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/ocaml-4.09-multiple-definitions.patch \
|
||||||
%D%/packages/patches/omake-fix-non-determinism.patch \
|
%D%/packages/patches/omake-fix-non-determinism.patch \
|
||||||
%D%/packages/patches/oneko-remove-nonfree-characters.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/online-judge-tools.patch \
|
||||||
%D%/packages/patches/onnx-optimizer-system-library.patch \
|
%D%/packages/patches/onnx-optimizer-system-library.patch \
|
||||||
%D%/packages/patches/onnx-1.13.1-use-system-googletest.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-slicer-fix-tests.patch \
|
||||||
%D%/packages/patches/prusa-wxwidgets-makefile-fix.patch \
|
%D%/packages/patches/prusa-wxwidgets-makefile-fix.patch \
|
||||||
%D%/packages/patches/pthreadpool-system-libraries.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-3.12-fix-tests.patch \
|
||||||
%D%/packages/patches/python-accupy-use-matplotx.patch \
|
%D%/packages/patches/python-accupy-use-matplotx.patch \
|
||||||
%D%/packages/patches/python-accupy-fix-use-of-perfplot.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-chai-drop-python2.patch \
|
||||||
%D%/packages/patches/python-clarabel-blas.patch \
|
%D%/packages/patches/python-clarabel-blas.patch \
|
||||||
%D%/packages/patches/python-docrepr-fix-tests.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-sgmllib3k-assertions.patch \
|
||||||
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
|
%D%/packages/patches/python-sphobjinv-defer-ssl-import.patch \
|
||||||
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.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/qcodeeditor-qt6.patch \
|
||||||
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
|
%D%/packages/patches/qtdeclarative-5-disable-qmlcache.patch \
|
||||||
%D%/packages/patches/qtdeclarative-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-memcached-syntax-warnings.patch \
|
||||||
%D%/packages/patches/python-mox3-python3.6-compat.patch \
|
%D%/packages/patches/python-mox3-python3.6-compat.patch \
|
||||||
%D%/packages/patches/python-packaging-test-arch.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-absolute-path-bug.patch \
|
||||||
%D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
|
%D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
|
||||||
%D%/packages/patches/python-pytorch-fix-codegen.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-robotframework-sshlibrary-rf5-compat.patch \
|
||||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||||
%D%/packages/patches/python-unittest2-remove-argparse.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-vega-datasets-remove-la-riots-code.patch \
|
||||||
%D%/packages/patches/python-versioneer-guix-support.patch \
|
%D%/packages/patches/python-versioneer-guix-support.patch \
|
||||||
%D%/packages/patches/python-werkzeug-tests.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/tpetra-remove-duplicate-using.patch \
|
||||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||||
%D%/packages/patches/transmission-4.0.6-fix-build.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/trytond-add-guix_trytond_path.patch \
|
||||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||||
%D%/packages/patches/tup-unbundle-dependencies.patch \
|
%D%/packages/patches/tup-unbundle-dependencies.patch \
|
||||||
|
|
|
@ -1065,25 +1065,29 @@ memory, disks, network and processes.")
|
||||||
(uri (pypi-uri "bpytop" version))
|
(uri (pypi-uri "bpytop" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1clvajbv7pzlya9s1xs6dvjic8rv3kx7aqiwnjxapiypx246gdjk"))))
|
(base32 "1clvajbv7pzlya9s1xs6dvjic8rv3kx7aqiwnjxapiypx246gdjk"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(inputs
|
|
||||||
(list python-psutil))
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:tests? #f ; No tests in Pypi archive.
|
||||||
;; sanity-check phase fail, but the application seems to be working
|
#:phases
|
||||||
(delete 'sanity-check)
|
#~(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
|
(add-after 'install 'install-themes
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
(let ((themes (string-append (assoc-ref outputs "out")
|
(let ((themes (string-append (site-packages inputs outputs)
|
||||||
"/lib/python"
|
"/bpytop-themes")))
|
||||||
,(version-major+minor
|
|
||||||
(package-version python))
|
|
||||||
"/site-packages/bpytop-themes")))
|
|
||||||
(mkdir-p themes)
|
(mkdir-p themes)
|
||||||
(copy-recursively "themes" themes)))))))
|
(copy-recursively "themes" themes)))))))
|
||||||
(home-page
|
(inputs
|
||||||
"https://github.com/aristocratos/bpytop")
|
(list python-psutil))
|
||||||
|
(native-inputs
|
||||||
|
(list python-poetry-core))
|
||||||
|
(home-page "https://github.com/aristocratos/bpytop")
|
||||||
(synopsis "Resource monitor")
|
(synopsis "Resource monitor")
|
||||||
(description "Resource monitor that shows usage and stats for processor,
|
(description "Resource monitor that shows usage and stats for processor,
|
||||||
memory, disks, network and processes. It's a Python port and continuation of
|
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.
|
;; variable in the tests/cpan.scm test.
|
||||||
(list (search-path-specification
|
(list (search-path-specification
|
||||||
(variable "GUIX_PYTHONPATH")
|
(variable "GUIX_PYTHONPATH")
|
||||||
(files (list "lib/python3.10/site-packages")))))
|
(files (list "lib/python3.11/site-packages")))))
|
||||||
(home-page "https://www.ansible.com/")
|
(home-page "https://www.ansible.com/")
|
||||||
(synopsis "Radically simple IT automation")
|
(synopsis "Radically simple IT automation")
|
||||||
(description "Ansible aims to be a radically simple IT automation system.
|
(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
|
(define-public zbar
|
||||||
(package
|
(package
|
||||||
(name "zbar")
|
(name "zbar")
|
||||||
(version "0.23.92")
|
(version "0.23.93")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -189,7 +189,7 @@ C/C++ programs to use its capabilities without restrictions or overhead.")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0k3g0ql2m4dnflppp9r3k804d927g7zslczblzcrbvhp02g6n5an"))))
|
(base32 "0x71clkkm4w765c2d5h3svr29w08dj03r6785f9jwqx5r4ral0za"))))
|
||||||
(build-system glib-or-gtk-build-system)
|
(build-system glib-or-gtk-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
|
|
@ -738,7 +738,10 @@ file system.")
|
||||||
(base32
|
(base32
|
||||||
"11as7n2mj3nbqsqb3ivyv9985n73i022s748qvjg36cs8ig50afx"))))
|
"11as7n2mj3nbqsqb3ivyv9985n73i022s748qvjg36cs8ig50afx"))))
|
||||||
(build-system pyproject-build-system)
|
(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))
|
(native-inputs (list python-setuptools python-wheel))
|
||||||
(arguments
|
(arguments
|
||||||
(list #:phases #~(modify-phases %standard-phases
|
(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_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")
|
"--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
|
#:phases
|
||||||
'(modify-phases %standard-phases
|
'(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-build-system
|
(add-after 'unpack 'patch-build-system
|
||||||
|
@ -2085,11 +2088,18 @@ simulated Astronomical data in Python.")
|
||||||
;; Some tests need this
|
;; Some tests need this
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "HOME" "/tmp"))))))
|
(setenv "HOME" "/tmp"))))))
|
||||||
(propagated-inputs (list python-astropy python-matplotlib python-numpy
|
(native-inputs
|
||||||
python-scikit-learn python-scipy))
|
(list python-pytest-astropy-header
|
||||||
(native-inputs (list python-pytest-astropy-header python-pytest-cov
|
python-pytest-cov
|
||||||
python-pytest-doctestplus python-pytest-remotedata
|
python-pytest-doctestplus
|
||||||
|
python-pytest-remotedata
|
||||||
python-wheel))
|
python-wheel))
|
||||||
|
(propagated-inputs
|
||||||
|
(list python-astropy
|
||||||
|
python-matplotlib
|
||||||
|
python-numpy
|
||||||
|
python-scikit-learn
|
||||||
|
python-scipy))
|
||||||
(home-page "https://astroml.org")
|
(home-page "https://astroml.org")
|
||||||
(synopsis "Tools for machine learning and data mining in astronomy")
|
(synopsis "Tools for machine learning and data mining in astronomy")
|
||||||
(description "This package provides tools for machine learning and data
|
(description "This package provides tools for machine learning and data
|
||||||
|
@ -2136,7 +2146,9 @@ mining in astronomy.")
|
||||||
"test_table_comp[t16-t26]"
|
"test_table_comp[t16-t26]"
|
||||||
;; UnboundLocalError: local variable 'ihd'
|
;; UnboundLocalError: local variable 'ihd'
|
||||||
;; referenced before assignment
|
;; referenced before assignment
|
||||||
"test_delay_doc_updates")
|
"test_delay_doc_updates"
|
||||||
|
;; assert 13 == 1
|
||||||
|
"test_skip_meta")
|
||||||
" and not "))
|
" and not "))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-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.")
|
"This package contains a helper functionality to test ROMAN and JWST.")
|
||||||
(license license:bsd-3)))
|
(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
|
(define-public python-cmyt
|
||||||
(package
|
(package
|
||||||
(name "python-cmyt")
|
(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/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")))
|
"--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
|
(propagated-inputs
|
||||||
(list python-astropy
|
(list python-astropy
|
||||||
python-glue-core
|
python-glue-core
|
||||||
|
|
|
@ -647,17 +647,25 @@ Filter) modules follow the convention of 1V / Octave.")
|
||||||
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
|
"1npks71ljc48w6858l9bq30kaf5nph8z0v61jkfb70xb9np850nl"))))
|
||||||
(build-system waf-build-system)
|
(build-system waf-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ; no check target
|
|
||||||
#:configure-flags
|
|
||||||
(list
|
(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-fftw3f"
|
||||||
"--enable-jack"
|
"--enable-jack"
|
||||||
"--enable-sndfile"
|
"--enable-sndfile"
|
||||||
"--enable-samplerate"
|
"--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
|
(inputs
|
||||||
(list jack-1
|
(list jack-2
|
||||||
libsndfile
|
libsndfile
|
||||||
libsamplerate
|
libsamplerate
|
||||||
ffmpeg-4 ;for libavcodec
|
ffmpeg-4 ;for libavcodec
|
||||||
|
@ -2664,7 +2672,13 @@ partial release of the General MIDI sound set.")
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
#~(list
|
#~(list
|
||||||
;; Add the output lib directory to the RUNPATH.
|
;; 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
|
(inputs
|
||||||
(list libsndfile
|
(list libsndfile
|
||||||
boost
|
boost
|
||||||
|
@ -2872,6 +2886,14 @@ synchronous execution of all clients, and low latency operation.")
|
||||||
#:configure-flags '("--dbus" "--alsa")
|
#:configure-flags '("--dbus" "--alsa")
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-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
|
(add-before 'configure 'set-linkflags
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp
|
;; 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-mock
|
||||||
python-pytest-qt
|
python-pytest-qt
|
||||||
python-pytest-runner
|
python-pytest-runner
|
||||||
python-setuptools-git))
|
python-setuptools
|
||||||
|
python-setuptools-git
|
||||||
|
python-wheel))
|
||||||
(inputs
|
(inputs
|
||||||
(list borg
|
(list borg
|
||||||
python-appdirs
|
python-appdirs
|
||||||
|
|
|
@ -402,7 +402,7 @@ setup against another one.")
|
||||||
(define-public python-locust
|
(define-public python-locust
|
||||||
(package
|
(package
|
||||||
(name "python-locust")
|
(name "python-locust")
|
||||||
(version "2.32.5")
|
(version "2.33.2")
|
||||||
;; The archive on Pypi has no tests.
|
;; The archive on Pypi has no tests.
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -412,7 +412,7 @@ setup against another one.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0nmhk2k0mbza9slqgms42s6hsfwwmyr275l90an02qaypx066l1n"))))
|
"055is6plxjajzp7v5q108n90j5mvdaylpna98kw9zsqn7mvfq7ms"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(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"
|
"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:
|
;; This test fails with "AssertionError:
|
||||||
;; 'stopped' != 'stopping'".
|
;; '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
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
;; The build system attempts to detect the version by spawning git.
|
;; 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
|
(add-after 'unpack 'fix-version
|
||||||
(lambda _
|
(lambda _
|
||||||
(let ((tuple (list
|
(let ((tuple (list
|
||||||
|
@ -518,9 +529,15 @@ version_tuple = __version_tuple__
|
||||||
|
|
||||||
")))))
|
")))))
|
||||||
(substitute* "pyproject.toml"
|
(substitute* "pyproject.toml"
|
||||||
(("setuptools = \">=70.0.0\"") "setuptools = \">=67.0.0\"")
|
(("\"setuptools>=.*\",")
|
||||||
(("^version =.*") (string-append "version = \"" #$version "\"\n"))
|
(string-append "\"setuptools>="
|
||||||
(("enable = true") "enable = false"))))
|
#$(package-version
|
||||||
|
(this-package-input "python-setuptools"))
|
||||||
|
"\","))
|
||||||
|
(("^version =.*")
|
||||||
|
(string-append "version = \"" #$version "\"\n"))
|
||||||
|
(("enable = true")
|
||||||
|
"enable = false"))))
|
||||||
(add-before 'check 'increase-resource-limits
|
(add-before 'check 'increase-resource-limits
|
||||||
(lambda _
|
(lambda _
|
||||||
;; XXX: Copied from ungoogled-chromium.
|
;; XXX: Copied from ungoogled-chromium.
|
||||||
|
@ -552,8 +569,8 @@ version_tuple = __version_tuple__
|
||||||
python-werkzeug))
|
python-werkzeug))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list nss-certs-for-test
|
(list nss-certs-for-test
|
||||||
python-poetry-core
|
python-hatchling
|
||||||
python-poetry-dynamic-versioning
|
python-hatch-vcs
|
||||||
python-pyquery
|
python-pyquery
|
||||||
python-pytest
|
python-pytest
|
||||||
python-retry))
|
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 protobuf)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages python-build)
|
#:use-module (gnu packages python-build)
|
||||||
|
#:use-module (gnu packages python-check)
|
||||||
#:use-module (gnu packages python-crypto)
|
#:use-module (gnu packages python-crypto)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
|
@ -79,6 +80,7 @@
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
#:use-module (gnu packages unicode)
|
#:use-module (gnu packages unicode)
|
||||||
#:use-module (gnu packages version-control)
|
#:use-module (gnu packages version-control)
|
||||||
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system pyproject)
|
#:use-module (guix build-system pyproject)
|
||||||
#:use-module (guix build-system python))
|
#:use-module (guix build-system python))
|
||||||
|
@ -436,7 +438,7 @@ other lower-level build files.")))
|
||||||
(define-public scons
|
(define-public scons
|
||||||
(package
|
(package
|
||||||
(name "scons")
|
(name "scons")
|
||||||
(version "4.4.0")
|
(version "4.5.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -446,7 +448,7 @@ other lower-level build files.")))
|
||||||
(patches (search-patches "scons-test-environment.patch"))
|
(patches (search-patches "scons-test-environment.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1czswx1fj2j48rspkrvarkr43k0vii9rsmz054c9yby1dq362fgr"))))
|
"1skz1kzhwsp54i71jrsg46rkxwicfici7pq6qmfhlqd5zhrg21zb"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -467,7 +469,9 @@ other lower-level build files.")))
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(when tests?
|
(when tests?
|
||||||
(invoke "python" "runtest.py" "--all" "--unit-only"))))
|
;; 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
|
(add-after 'install 'move-manuals
|
||||||
(lambda _
|
(lambda _
|
||||||
;; XXX: For some reason manuals get installed to the top-level
|
;; XXX: For some reason manuals get installed to the top-level
|
||||||
|
@ -483,7 +487,7 @@ other lower-level build files.")))
|
||||||
stray-manuals))))))))
|
stray-manuals))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
;; TODO: Add 'fop' when available in Guix to generate manuals.
|
;; TODO: Add 'fop' when available in Guix to generate manuals.
|
||||||
(list python-wheel
|
(list python-setuptools python-lxml python-wheel
|
||||||
;;For tests.
|
;;For tests.
|
||||||
python-psutil))
|
python-psutil))
|
||||||
(home-page "https://scons.org/")
|
(home-page "https://scons.org/")
|
||||||
|
|
|
@ -1027,40 +1027,43 @@ definition language, a safe runtime engine for test suites and a powerful
|
||||||
report generation engine.")
|
report generation engine.")
|
||||||
(license license:bsd-3)))
|
(license license:bsd-3)))
|
||||||
|
|
||||||
(define-public python-gixy
|
(define-public python-gixy-ng
|
||||||
;; 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"))
|
|
||||||
(package
|
(package
|
||||||
(name "python-gixy")
|
(name "python-gixy-ng")
|
||||||
(version (git-version base-version revision commit))
|
(version "0.2.7")
|
||||||
(source (origin
|
(source
|
||||||
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/yandex/gixy")
|
(url "https://github.com/dvershinin/gixy")
|
||||||
(commit commit)))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "0dipvy8y1nlhpka0cdk6hyv1j2388y7isbajpwskjrgqc5vayqx8"))))
|
||||||
"0gymjcnvjx9snyrzdbmjnk93ibb161q72xam29vnl3yyac4r1330"))))
|
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs (list python-nose python-setuptools python-wheel))
|
;; This package currently doesn't test properly, but we can't add
|
||||||
(propagated-inputs
|
;; pytest because it propagates another version of python-pyparsing
|
||||||
(list python-cached-property python-configargparse
|
;; that takes precedence over the right one.
|
||||||
python-jinja2 python-six
|
(propagated-inputs (list python-configargparse
|
||||||
;; XXX: gixy is incompatible with pyparsing >= 3.x.
|
python-jinja2
|
||||||
;; See <https://github.com/yandex/gixy/pull/132> and
|
python-pyparsing-2.4.7
|
||||||
;; <https://github.com/yandex/gixy/pull/122>.
|
python-six))
|
||||||
python-pyparsing-2.4.7))
|
(native-inputs (list python-cached-property
|
||||||
(home-page "https://github.com/yandex/gixy")
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
|
(home-page "https://github.com/dvershinin/gixy")
|
||||||
(synopsis "Static NGINX configuration analyzer")
|
(synopsis "Static NGINX configuration analyzer")
|
||||||
(description "Gixy is a static analyzer whose main goal is to help
|
(description "Gixy is a static analyzer whose main goal is to help
|
||||||
prevent common NGINX misconfigurations. It provides the @command{gixy}
|
prevent common NGINX misconfigurations. It provides the @command{gixy}
|
||||||
command.")
|
command.
|
||||||
(license license:mpl2.0))))
|
|
||||||
|
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
|
(define-public googletest
|
||||||
(package
|
(package
|
||||||
|
@ -1413,34 +1416,6 @@ syntax validation, ...
|
||||||
(define-public python-parameterized
|
(define-public python-parameterized
|
||||||
(package
|
(package
|
||||||
(name "python-parameterized")
|
(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")
|
(version "0.9.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -1450,18 +1425,29 @@ for every Python test framework. It supports nose, py.test, and unittest.")
|
||||||
(base32 "1c89vc40zj5aj2zvbvw875wqpyf0x6xrqhm3q5jg797g5hkhbjbz"))))
|
(base32 "1c89vc40zj5aj2zvbvw875wqpyf0x6xrqhm3q5jg797g5hkhbjbz"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:test-flags #~(list "parameterized/test.py")
|
||||||
(replace 'check
|
#:phases
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
#~(modify-phases %standard-phases
|
||||||
(when tests?
|
(add-after 'unpack 'fix-tests
|
||||||
|
(lambda _
|
||||||
(substitute* "parameterized/test.py"
|
(substitute* "parameterized/test.py"
|
||||||
(("import mock") "from unittest import mock"))
|
;; It's taken from NixOS package definition.
|
||||||
(invoke "python3" "-m" "unittest")))))))
|
;; <https://github.com/wolever/parameterized/issues/167>,
|
||||||
|
;; <https://github.com/wolever/parameterized/pull/162>.
|
||||||
|
(("assert_equal\\(missing, \\[\\])") "")
|
||||||
|
(("assertRaisesRegexp") "assertRaisesRegex")))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-jinja2
|
(list python-pytest
|
||||||
|
python-mock
|
||||||
python-setuptools
|
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
|
(define-public python-minimock
|
||||||
(package
|
(package
|
||||||
|
@ -2004,35 +1990,29 @@ Python's @code{random.seed}.")
|
||||||
(define-public python-pytest-runner
|
(define-public python-pytest-runner
|
||||||
(package
|
(package
|
||||||
(name "python-pytest-runner")
|
(name "python-pytest-runner")
|
||||||
(version "6.0.0")
|
(version "6.0.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "pytest-runner" version))
|
(uri (pypi-uri "pytest-runner" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"11dnhxnjmh4nf1j8rnvx944ha3wg8ggrgrwdcx4c7d19xmi57n5l"))))
|
"16zly218ij0n6fxzqsasia3vh9xkzl9w0cs9pwvqy057hnap7m3h"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
;; FIXME: The test suite requires 'python-pytest-virtualenv',
|
;; FIXME: The test suite requires 'python-pytest-virtualenv',
|
||||||
;; but that introduces a circular dependency.
|
;; but that introduces a circular dependency.
|
||||||
#:tests? #f
|
#: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)))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pip python-pypa-build python-pytest
|
(list python-pytest
|
||||||
python-setuptools python-setuptools-scm python-wheel))
|
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")
|
(home-page "https://github.com/pytest-dev/pytest-runner")
|
||||||
(synopsis "Invoke py.test as a distutils command")
|
(synopsis "Invoke py.test as a distutils command")
|
||||||
(description
|
(description
|
||||||
|
@ -2825,13 +2805,13 @@ instantly.")
|
||||||
(define-public python-crosshair
|
(define-public python-crosshair
|
||||||
(package
|
(package
|
||||||
(name "python-crosshair")
|
(name "python-crosshair")
|
||||||
(version "0.0.76")
|
(version "0.0.84")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "crosshair-tool" version))
|
(uri (pypi-uri "crosshair-tool" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1yvbhzs7r85gn4d7drl7p7vi1f5cga1xyy3mzxy3fglyf8kxyakh"))))
|
(base32 "1j6icn5f206yld9871p7a3v45jg8d8v4bhxh09lq3kzi09gr7maz"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -2853,7 +2833,7 @@ instantly.")
|
||||||
(("typing-inspect>=0.7.1") "typing-inspect>=0.6.0")
|
(("typing-inspect>=0.7.1") "typing-inspect>=0.6.0")
|
||||||
;; 'sanity-check fails for z3-solver, although it is
|
;; 'sanity-check fails for z3-solver, although it is
|
||||||
;; included in 'propagated-inputs.
|
;; included in 'propagated-inputs.
|
||||||
(("z3-solver==4.13.0.0") ""))))
|
(("z3-solver>=4.13.0.0") ""))))
|
||||||
(add-before 'check 'set-test-env
|
(add-before 'check 'set-test-env
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "PYTHONHASHSEED" "0")))))) ;tests rely on this value
|
(setenv "PYTHONHASHSEED" "0")))))) ;tests rely on this value
|
||||||
|
@ -2863,10 +2843,16 @@ instantly.")
|
||||||
python-mypy
|
python-mypy
|
||||||
python-numpy
|
python-numpy
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-xdist))
|
python-pytest-xdist
|
||||||
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-typeshed-client
|
(list python-importlib-metadata
|
||||||
|
python-packaging
|
||||||
|
;; python-pygls
|
||||||
|
python-typeshed-client
|
||||||
python-typing-inspect
|
python-typing-inspect
|
||||||
|
python-typing-extensions
|
||||||
z3))
|
z3))
|
||||||
(home-page "https://crosshair.readthedocs.io")
|
(home-page "https://crosshair.readthedocs.io")
|
||||||
(synopsis "Analysis tool for Python using symbolic execution")
|
(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.")
|
expression this allows you to check mypys type interference.")
|
||||||
(license (list license:expat license:asl2.0))))
|
(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
|
(define-public python-pytest-perf
|
||||||
(package
|
(package
|
||||||
(name "python-pytest-perf")
|
(name "python-pytest-perf")
|
||||||
|
@ -3231,19 +3184,13 @@ each of the environments.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0959qfxb4ayvfxvmpargvh4zfhwdq5l77gczhzv33bhmfblk8ccm"))))
|
"0959qfxb4ayvfxvmpargvh4zfhwdq5l77gczhzv33bhmfblk8ccm"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:test-flags
|
||||||
(delete 'check)
|
'(list "-k" "not test_syntax_error")))
|
||||||
(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"))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-coverage python-pytest python-pytest-pep8))
|
(list python-coverage python-pytest python-setuptools python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-pyflakes))
|
(list python-pyflakes))
|
||||||
(home-page "https://github.com/fschulze/pytest-flakes")
|
(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)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-mock
|
(list python-mock
|
||||||
python-nose
|
|
||||||
python-assertpy
|
python-assertpy
|
||||||
python-pathpy
|
python-pathpy
|
||||||
python-pyhamcrest
|
python-pyhamcrest
|
||||||
|
@ -3541,37 +3487,6 @@ tests written in a natural language style, backed up by Python code.")
|
||||||
JSON APIs with Behave.")
|
JSON APIs with Behave.")
|
||||||
(license license:expat)))
|
(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
|
(define-public python-nose-exclude
|
||||||
(package
|
(package
|
||||||
(name "python-nose-exclude")
|
(name "python-nose-exclude")
|
||||||
|
@ -3632,30 +3547,6 @@ running your code against a large number of randomly generated input
|
||||||
scenarios.")
|
scenarios.")
|
||||||
(license license:expat)))
|
(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
|
(define-public python-nose-timer
|
||||||
(package
|
(package
|
||||||
(name "python-nose-timer")
|
(name "python-nose-timer")
|
||||||
|
@ -4398,23 +4289,25 @@ directories and files.")
|
||||||
(define-public python-pytest-regressions
|
(define-public python-pytest-regressions
|
||||||
(package
|
(package
|
||||||
(name "python-pytest-regressions")
|
(name "python-pytest-regressions")
|
||||||
(version "2.5.0")
|
(version "2.7.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "pytest-regressions" version))
|
(uri (pypi-uri "pytest_regressions" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1nbg20m83jsj9p12fm4qn5b7hc3vqb5h5fzfi6zvmwygq627i341"))))
|
(base32 "0pph1935rq180ax0szwwf3c6zq2v40snypagr49914i31570cc2c"))))
|
||||||
(build-system pyproject-build-system)
|
(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
|
(native-inputs
|
||||||
(list python-matplotlib
|
(list python-numpy
|
||||||
python-numpy
|
|
||||||
python-pandas
|
python-pandas
|
||||||
python-pillow
|
python-pytest
|
||||||
python-restructuredtext-lint
|
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-setuptools-scm
|
python-setuptools-scm))
|
||||||
python-pytest))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-pytest-datadir
|
(list python-pytest-datadir
|
||||||
python-pyyaml))
|
python-pyyaml))
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||||
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
;;; 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 Brice Waegeneire <brice@waegenei.re>
|
||||||
;;; Copyright © 2020, 2021, 2022, 2024 Vinicius Monego <monego@posteo.net>
|
;;; Copyright © 2020, 2021, 2022, 2024 Vinicius Monego <monego@posteo.net>
|
||||||
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||||
|
@ -45,6 +45,7 @@
|
||||||
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
;;; Copyright © 2025 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||||
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
|
;;; Copyright © 2025 Sergio Pastor Pérez <sergio.pastorperez@gmail.com>
|
||||||
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
|
||||||
|
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -1549,7 +1550,7 @@ tools:
|
||||||
;; header
|
;; header
|
||||||
(package
|
(package
|
||||||
(name "cpp-httplib")
|
(name "cpp-httplib")
|
||||||
(version "0.18.5")
|
(version "0.20.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -1557,7 +1558,7 @@ tools:
|
||||||
(url "https://github.com/yhirose/cpp-httplib")
|
(url "https://github.com/yhirose/cpp-httplib")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1jc31n4xdrknal4i1dvf8j6j9kafpczi0w5gbbi89xlir9dgm5kp"))
|
(base32 "0w5klyfsaws793xb0cbkjxg7lwrdm6f3m4z4v7pzkwl957f9q70m"))
|
||||||
(file-name (git-file-name name version))))
|
(file-name (git-file-name name version))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -1606,7 +1607,7 @@ library.")
|
||||||
(define-public cpplint
|
(define-public cpplint
|
||||||
(package
|
(package
|
||||||
(name "cpplint")
|
(name "cpplint")
|
||||||
(version "1.5.5")
|
(version "2.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -1616,7 +1617,7 @@ library.")
|
||||||
(url "https://github.com/cpplint/cpplint")
|
(url "https://github.com/cpplint/cpplint")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "13l86aq0h1jga949k79k9x3hw2xqchjc162sclg2f99vz98zcz15"))
|
(base32 "06km4wh4944az1hk61g5w8pjhbvbccpgarz1dy7vhwkhfvmvggnk"))
|
||||||
(file-name (git-file-name name version))))
|
(file-name (git-file-name name version))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -1625,6 +1626,11 @@ library.")
|
||||||
,@%pyproject-build-system-modules)
|
,@%pyproject-build-system-modules)
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases (@ (guix build pyproject-build-system) %standard-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
|
(add-before 'wrap 'reduce-GUIX_PYTHONPATH
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Hide the transitive native inputs from GUIX_PYTHONPATH
|
;; Hide the transitive native inputs from GUIX_PYTHONPATH
|
||||||
|
@ -1651,9 +1657,11 @@ library.")
|
||||||
(getenv "TMP_PYTHONPATH")))))))
|
(getenv "TMP_PYTHONPATH")))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-coverage
|
(list python-coverage
|
||||||
|
python-parameterized
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-cov
|
python-pytest-cov
|
||||||
python-pytest-runner
|
python-pytest-runner
|
||||||
|
python-pytest-timeout
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-testfixtures
|
python-testfixtures
|
||||||
python-wheel))
|
python-wheel))
|
||||||
|
@ -2614,6 +2622,40 @@ union, difference & exclusive-or, and line & polygon offsetting.
|
||||||
The library is based on Vatti's clipping algorithm.")
|
The library is based on Vatti's clipping algorithm.")
|
||||||
(license license:boost1.0)))
|
(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
|
(define-public pcg-cpp
|
||||||
(let ((commit "ffd522e7188bef30a00c74dc7eb9de5faff90092")
|
(let ((commit "ffd522e7188bef30a00c74dc7eb9de5faff90092")
|
||||||
(revision "2"))
|
(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.")
|
\"source files\" or \"image files\") where supported.")
|
||||||
(license license:zlib)))
|
(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
|
(define-public tsl-hopscotch-map
|
||||||
(package
|
(package
|
||||||
(name "tsl-hopscotch-map")
|
(name "tsl-hopscotch-map")
|
||||||
|
|
|
@ -47545,8 +47545,45 @@ without performing I/O.")
|
||||||
("rust-rustversion" ,rust-rustversion-1)
|
("rust-rustversion" ,rust-rustversion-1)
|
||||||
("rust-tempfile" ,rust-tempfile-3))))))
|
("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
|
(define-public rust-notify-6
|
||||||
(package
|
(package
|
||||||
|
(inherit rust-notify-7)
|
||||||
(name "rust-notify")
|
(name "rust-notify")
|
||||||
(version "6.1.1")
|
(version "6.1.1")
|
||||||
(source
|
(source
|
||||||
|
@ -47556,7 +47593,6 @@ without performing I/O.")
|
||||||
(file-name (string-append name "-" version ".tar.gz"))
|
(file-name (string-append name "-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0bad98r0ilkhhq2jg3zs11zcqasgbvxia8224wpasm74n65vs1b2"))))
|
(base32 "0bad98r0ilkhhq2jg3zs11zcqasgbvxia8224wpasm74n65vs1b2"))))
|
||||||
(build-system cargo-build-system)
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
|
`(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-2)
|
||||||
("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
|
("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
|
||||||
|
@ -47572,12 +47608,7 @@ without performing I/O.")
|
||||||
("rust-windows-sys" ,rust-windows-sys-0.48))
|
("rust-windows-sys" ,rust-windows-sys-0.48))
|
||||||
#:cargo-development-inputs (("rust-nix" ,rust-nix-0.23)
|
#:cargo-development-inputs (("rust-nix" ,rust-nix-0.23)
|
||||||
("rust-serde-json" ,rust-serde-json-1)
|
("rust-serde-json" ,rust-serde-json-1)
|
||||||
("rust-tempfile" ,rust-tempfile-3))))
|
("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)))
|
|
||||||
|
|
||||||
(define-public rust-notify-5
|
(define-public rust-notify-5
|
||||||
(package
|
(package
|
||||||
|
@ -47740,6 +47771,29 @@ client and server")
|
||||||
Rust dbus client and server.")
|
Rust dbus client and server.")
|
||||||
(license (list license:expat license:asl2.0))))
|
(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
|
(define-public rust-notmuch-0.8
|
||||||
(package
|
(package
|
||||||
(name "rust-notmuch")
|
(name "rust-notmuch")
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2021 c4droid <c4droid@foxmail.com>
|
;;; Copyright © 2021 c4droid <c4droid@foxmail.com>
|
||||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||||
|
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -30,9 +31,11 @@
|
||||||
#:use-module (gnu packages engineering)
|
#:use-module (gnu packages engineering)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#: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-crypto)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages time)
|
#:use-module (gnu packages time)
|
||||||
#:use-module (gnu packages bioinformatics) ;python-intervaltree
|
#:use-module (gnu packages bioinformatics) ;python-intervaltree
|
||||||
#:use-module (gnu packages emulators))
|
#:use-module (gnu packages emulators))
|
||||||
|
@ -123,24 +126,26 @@ chains of gadgets to execute system calls.")
|
||||||
(define-public pwntools
|
(define-public pwntools
|
||||||
(package
|
(package
|
||||||
(name "pwntools")
|
(name "pwntools")
|
||||||
(version "4.4.0")
|
(version "4.15.0b1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "pwntools" version))
|
(uri (pypi-uri "pwntools" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1qw7j0wwm1878aia08gyw5xljjr26qsbp45w65n4qff672sha5n5"))))
|
"091fsk9rvbjkcsp8mmww0ka26dvznmj4pbqwaiygcw90g3v94zgd"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:tests? #f)) ;XXX: needs a specific version of unicorn
|
'(#:tests? #f)) ;XXX: needs a specific version of unicorn
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list capstone
|
(list capstone
|
||||||
|
python-colored-traceback
|
||||||
python-dateutil
|
python-dateutil
|
||||||
python-intervaltree
|
python-intervaltree
|
||||||
python-mako
|
python-mako
|
||||||
python-packaging
|
python-packaging
|
||||||
python-paramiko
|
python-paramiko
|
||||||
|
python-pathlib2
|
||||||
python-psutil
|
python-psutil
|
||||||
python-pyelftools
|
python-pyelftools
|
||||||
python-pygments
|
python-pygments
|
||||||
|
@ -148,9 +153,14 @@ chains of gadgets to execute system calls.")
|
||||||
python-pysocks
|
python-pysocks
|
||||||
python-requests
|
python-requests
|
||||||
ropgadget
|
ropgadget
|
||||||
|
python-rpyc
|
||||||
python-six
|
python-six
|
||||||
python-sortedcontainers
|
python-sortedcontainers
|
||||||
|
python-unix-ar
|
||||||
|
python-zstandard
|
||||||
unicorn))
|
unicorn))
|
||||||
|
(native-inputs
|
||||||
|
(list python-setuptools python-toml python-wheel))
|
||||||
(home-page "https://github.com/Gallopsled/pwntools")
|
(home-page "https://github.com/Gallopsled/pwntools")
|
||||||
(synopsis
|
(synopsis
|
||||||
"Capture-the-flag (CTF) framework and exploit development library")
|
"Capture-the-flag (CTF) framework and exploit development library")
|
||||||
|
|
|
@ -3371,20 +3371,24 @@ coroutine-specific markup.")
|
||||||
(define-public python-asyncpg
|
(define-public python-asyncpg
|
||||||
(package
|
(package
|
||||||
(name "python-asyncpg")
|
(name "python-asyncpg")
|
||||||
(version "0.25.0")
|
(version "0.30.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "asyncpg" version))
|
(uri (pypi-uri "asyncpg" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0h1573lp4607nppflnnjrhn7yrfy6i54cm98gi4qbcikjykfdy33"))))
|
(base32 "0lf8xbrsb2ycpqx1vzlb05p48g5sh9zq24a8yh17cw5nia9fjlf5"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(propagated-inputs (list python-typing-extensions))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list postgresql
|
(list postgresql
|
||||||
python-cython
|
python-cython
|
||||||
python-pytest
|
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")
|
(home-page "https://github.com/MagicStack/asyncpg")
|
||||||
(synopsis "Fast PostgreSQL database client library for Python")
|
(synopsis "Fast PostgreSQL database client library for Python")
|
||||||
(description "@code{asyncpg} is a database interface library designed
|
(description "@code{asyncpg} is a database interface library designed
|
||||||
|
@ -4574,7 +4578,11 @@ reasonable substitute.")
|
||||||
"test_tfunction_load_delete"
|
"test_tfunction_load_delete"
|
||||||
"test_tfunction_list"
|
"test_tfunction_list"
|
||||||
;; AssertionError: assert 3 == 2
|
;; 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 "))
|
" and not "))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
|
@ -4608,7 +4616,7 @@ reasonable substitute.")
|
||||||
(define-public python-rq
|
(define-public python-rq
|
||||||
(package
|
(package
|
||||||
(name "python-rq")
|
(name "python-rq")
|
||||||
(version "1.11.1")
|
(version "2.3.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -4617,24 +4625,20 @@ reasonable substitute.")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0dnjm2s036l4j4ypq0h903vh132dp2wiwjrn8jicz1nw829dqpzf"))))
|
(base32 "1w9aqvbvh1mfpgng0mdcskxl5y3ybcqqai5dnwgvg18am0xxhya6"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases (modify-phases %standard-phases
|
(list
|
||||||
|
#:phases #~(modify-phases %standard-phases
|
||||||
(add-before 'check 'start-redis
|
(add-before 'check 'start-redis
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "redis-server" "--daemonize" "yes")))
|
(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")))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-mock python-psutil python-pytest redis))
|
(list python-hatchling
|
||||||
|
python-mock
|
||||||
|
python-psutil
|
||||||
|
python-pytest
|
||||||
|
redis))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-click python-redis))
|
(list python-click python-redis))
|
||||||
(home-page "https://python-rq.org/")
|
(home-page "https://python-rq.org/")
|
||||||
|
@ -4648,7 +4652,7 @@ is designed to have a low barrier to entry.")
|
||||||
(define-public python-rq-scheduler
|
(define-public python-rq-scheduler
|
||||||
(package
|
(package
|
||||||
(name "python-rq-scheduler")
|
(name "python-rq-scheduler")
|
||||||
(version "0.10.0")
|
(version "0.14")
|
||||||
(home-page "https://github.com/rq/rq-scheduler")
|
(home-page "https://github.com/rq/rq-scheduler")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -4658,21 +4662,30 @@ is designed to have a low barrier to entry.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0xg6yazqs5kbr2ayvhvljs1h5vgx5k5dds613fmhswln7gglf9hk"))))
|
"09fh9m2vcl1jndq35xp1x0j8ih009r71qmhn2pkl93fykrqfavyn"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(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
|
(add-before 'check 'start-redis
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "redis-server" "--daemonize" "yes")))
|
(invoke "redis-server" "--daemonize" "yes")))
|
||||||
(replace 'check
|
(add-after 'unpack 'loosen-requirements
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "run_tests.py"
|
(substitute* "setup.py"
|
||||||
(("/usr/bin/env")
|
(("crontab>=[0-9.]*")
|
||||||
(which "env")))
|
"python-crontab")))))))
|
||||||
(invoke "./run_tests.py"))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list redis which))
|
(list python-crontab
|
||||||
|
python-freezegun
|
||||||
|
python-pytest
|
||||||
|
python-setuptools
|
||||||
|
python-wheel
|
||||||
|
redis))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-croniter python-rq))
|
(list python-croniter python-rq))
|
||||||
(synopsis "Job scheduling capabilities for RQ (Redis Queue)")
|
(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
|
(define-public python-sql
|
||||||
(package
|
(package
|
||||||
(name "python-sql")
|
(name "python-sql")
|
||||||
(version "1.3.0")
|
(version "1.5.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "python-sql" version))
|
(uri (pypi-uri "python_sql" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0xnimfzlxj1ddrb5xj3s4gaii278a0gpxrvwmdmrdxgjfdi3lq4x"))))
|
(base32 "0dnd0vai9z1fjkppv2xv2f4vlwwz0dqa137f39mrbjw744vm4pvk"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
|
(native-inputs (list python-setuptools python-wheel))
|
||||||
(home-page "https://python-sql.tryton.org/")
|
(home-page "https://python-sql.tryton.org/")
|
||||||
(synopsis "Library to write SQL queries in a pythonic way")
|
(synopsis "Library to write SQL queries in a pythonic way")
|
||||||
(description "@code{python-sql} is a library to write SQL queries, that
|
(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
|
(define-public python-fastparquet
|
||||||
(package
|
(package
|
||||||
(name "python-fastparquet")
|
(name "python-fastparquet")
|
||||||
(version "2024.2.0")
|
(version "2024.11.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
;; Fastparquet uses setuptools-scm to find the current version. This
|
;; Fastparquet uses setuptools-scm to find the current version. This
|
||||||
|
@ -5372,7 +5386,7 @@ other traditional Python scientific computing packages.")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0f32dj1xvd11l0siznqd33dpjlhg9siylcjcfkcdlqfcy45jfj3v"))))
|
(base32 "0dhmyag06d073g1q58npbcikr9hjd6jgf05721gkl6m1gsprv7hq"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -5398,6 +5412,13 @@ other traditional Python scientific computing packages.")
|
||||||
;; Cython extensions need to be built for the check phase.
|
;; Cython extensions need to be built for the check phase.
|
||||||
(lambda _
|
(lambda _
|
||||||
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
(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
|
(propagated-inputs
|
||||||
(list python-cramjam
|
(list python-cramjam
|
||||||
python-fsspec
|
python-fsspec
|
||||||
|
@ -5405,11 +5426,6 @@ other traditional Python scientific computing packages.")
|
||||||
python-numpy
|
python-numpy
|
||||||
python-packaging
|
python-packaging
|
||||||
python-pandas))
|
python-pandas))
|
||||||
(native-inputs
|
|
||||||
(list python-cython
|
|
||||||
python-pytest-runner
|
|
||||||
python-pytest-xdist
|
|
||||||
python-setuptools-scm))
|
|
||||||
(home-page "https://github.com/dask/fastparquet")
|
(home-page "https://github.com/dask/fastparquet")
|
||||||
(synopsis "Python implementation of the Parquet file format")
|
(synopsis "Python implementation of the Parquet file format")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -148,26 +148,10 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
||||||
;; This CVE seems fixed since 4.2.1.
|
;; This CVE seems fixed since 4.2.1.
|
||||||
(lint-hidden-cve . ("CVE-2023-31047"))))))
|
(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
|
;; archivebox requires django>=3.1.3,<3.2
|
||||||
(define-public python-django-3.1.14
|
(define-public python-django-3.1.14
|
||||||
(package
|
(package
|
||||||
(inherit python-django-3.2)
|
(inherit python-django-4.2)
|
||||||
(version "3.1.14")
|
(version "3.1.14")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -176,7 +160,7 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
||||||
(base32
|
(base32
|
||||||
"0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j"))))
|
"0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j"))))
|
||||||
(propagated-inputs
|
(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.
|
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
|
||||||
(append python-pytz)))))
|
(append python-pytz)))))
|
||||||
|
|
||||||
|
@ -1055,35 +1039,37 @@ support, and optional data-URI image and font embedding.")
|
||||||
(define-public python-django-rq
|
(define-public python-django-rq
|
||||||
(package
|
(package
|
||||||
(name "python-django-rq")
|
(name "python-django-rq")
|
||||||
(version "2.7.0")
|
(version "3.0.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "django-rq" version))
|
(uri (pypi-uri "django-rq" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0aw0fi0lg80qgdp9fhjbnlhvfh2p09rgy1nj6hxpyhi37kihni2h"))))
|
"1b371w4cdjlz83i2sg4gpx0z3svl3bfrn6zfy661374hv62xpnkv"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
#:test-flags
|
||||||
|
#~(list "-k" "not test_scheduled_jobs and not test_started_jobs")
|
||||||
#:phases
|
#:phases
|
||||||
'(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(replace 'check
|
(add-before 'check 'pre-check
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(when tests?
|
(when tests?
|
||||||
(invoke "redis-server" "--daemonize" "yes")
|
(invoke "redis-server" "--daemonize" "yes")
|
||||||
(invoke "django-admin" "test" "django_rq"
|
(setenv "DJANGO_SETTINGS_MODULE" "django_rq.tests.settings")
|
||||||
"--settings=django_rq.tests.settings"
|
(setenv "PYTHONPATH" (getcwd))))))))
|
||||||
"--pythonpath=.")))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-django-redis
|
(list python-django-redis
|
||||||
python-mock
|
python-pytest
|
||||||
|
python-pytest-django
|
||||||
python-rq-scheduler
|
python-rq-scheduler
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-wheel
|
python-wheel
|
||||||
redis
|
redis
|
||||||
tzdata-for-tests))
|
tzdata-for-tests))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-django python-rq))
|
(list python-django python-redis python-rq python-pyaml))
|
||||||
(home-page "https://github.com/ui/django-rq")
|
(home-page "https://github.com/ui/django-rq")
|
||||||
(synopsis "Django integration with RQ")
|
(synopsis "Django integration with RQ")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#:use-module (guix build-system copy)
|
#:use-module (guix build-system copy)
|
||||||
#:use-module (guix build-system perl)
|
#:use-module (guix build-system perl)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
|
#:use-module (guix build-system pyproject)
|
||||||
#:use-module (guix build-system qt)
|
#:use-module (guix build-system qt)
|
||||||
#:use-module (guix deprecation)
|
#:use-module (guix deprecation)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
|
@ -51,6 +52,7 @@
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages bison)
|
#:use-module (gnu packages bison)
|
||||||
#:use-module (gnu packages kde-frameworks)
|
#: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.")
|
objects.")
|
||||||
(license license:artistic2.0)))
|
(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
|
(define-public python-docrepr
|
||||||
(package
|
(package
|
||||||
(name "python-docrepr")
|
(name "python-docrepr")
|
||||||
|
@ -329,9 +333,10 @@ objects.")
|
||||||
(base32
|
(base32
|
||||||
"1ma5gwy93m1djd3zdlnqfrwhgr8ic1qbsz5kkrb9f987ax40lfkd"))
|
"1ma5gwy93m1djd3zdlnqfrwhgr8ic1qbsz5kkrb9f987ax40lfkd"))
|
||||||
(patches (search-patches "python-docrepr-fix-tests.patch"))))
|
(patches (search-patches "python-docrepr-fix-tests.patch"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
#:tests? #f ; all tests fail
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-sources
|
(add-after 'unpack 'patch-sources
|
||||||
|
@ -344,17 +349,13 @@ objects.")
|
||||||
;; https://github.com/spyder-ide/docrepr/issues/54).
|
;; https://github.com/spyder-ide/docrepr/issues/54).
|
||||||
(substitute* "docrepr/utils.py"
|
(substitute* "docrepr/utils.py"
|
||||||
(("except TypeError")
|
(("except TypeError")
|
||||||
"except (TypeError, shutil.Error)"))))
|
"except (TypeError, shutil.Error)")))))))
|
||||||
(replace 'check
|
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
|
||||||
(when tests?
|
|
||||||
(invoke "pytest" "-p" "no:warnings" "-vv")))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-ipython
|
(list python-ipython
|
||||||
python-matplotlib
|
python-matplotlib
|
||||||
python-numpy
|
python-numpy
|
||||||
python-pytest
|
python-setuptools
|
||||||
python-pytest-asyncio))
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-docutils
|
(list python-docutils
|
||||||
python-jinja2
|
python-jinja2
|
||||||
|
|
|
@ -249,7 +249,7 @@ tags = [\"WS_X11\"]")
|
||||||
(string-append "[tool.sip.project]
|
(string-append "[tool.sip.project]
|
||||||
sip-include-dirs = [\""
|
sip-include-dirs = [\""
|
||||||
#$(this-package-input "python-pyqt")
|
#$(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"
|
(substitute* "src/calibre/ebooks/pdf/pdftohtml.py"
|
||||||
(("PDFTOHTML = 'pdftohtml'")
|
(("PDFTOHTML = 'pdftohtml'")
|
||||||
(string-append "PDFTOHTML = \""
|
(string-append "PDFTOHTML = \""
|
||||||
|
|
|
@ -3138,7 +3138,9 @@ Microwave engineering.")
|
||||||
python-scipy
|
python-scipy
|
||||||
python-sympy
|
python-sympy
|
||||||
python-wheel))
|
python-wheel))
|
||||||
(native-inputs (list python-pytest))
|
(native-inputs (list python-pytest
|
||||||
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
(home-page "https://github.com/mph-/lcapy")
|
(home-page "https://github.com/mph-/lcapy")
|
||||||
(synopsis "Symbolic linear circuit analysis")
|
(synopsis "Symbolic linear circuit analysis")
|
||||||
(description "Lcapy is a Python package for linear circuit analysis. It
|
(description "Lcapy is a Python package for linear circuit analysis. It
|
||||||
|
@ -5188,22 +5190,23 @@ more.")
|
||||||
(package
|
(package
|
||||||
(name "python-asyncua")
|
(name "python-asyncua")
|
||||||
(version "1.1.5")
|
(version "1.1.5")
|
||||||
(source (origin
|
(source
|
||||||
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/FreeOpcUa/opcua-asyncio.git")
|
(url "https://github.com/FreeOpcUa/opcua-asyncio.git")
|
||||||
(commit (string-append "v" version))
|
(commit (string-append "v" version))
|
||||||
|
;; XXX: It clones <https://github.com/OPCFoundation/UA-Nodeset>
|
||||||
|
;; submodule, check if it may be unbundled.
|
||||||
(recursive? #t)))
|
(recursive? #t)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "0aisj8cpfhq50h4pv2p0c9iw5cqy3hxhn5adp8wd01c46dhg6y2x"))))
|
||||||
"0aisj8cpfhq50h4pv2p0c9iw5cqy3hxhn5adp8wd01c46dhg6y2x"))))
|
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-asynctest
|
(list python-pytest
|
||||||
python-pytest-asyncio-0.21
|
python-pytest-asyncio-0.21
|
||||||
python-pytest-mock
|
python-pytest-mock
|
||||||
python-pytest-runner
|
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-wheel))
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
@ -5342,7 +5345,7 @@ and mogan.")
|
||||||
(("'\" [+] python_path [+]")
|
(("'\" [+] python_path [+]")
|
||||||
(string-append "'\" + std::string(\""
|
(string-append "'\" + std::string(\""
|
||||||
(assoc-ref outputs "out")
|
(assoc-ref outputs "out")
|
||||||
"/lib/python3.10/site-packages"
|
"/lib/python3.11/site-packages"
|
||||||
"\") +")))))
|
"\") +")))))
|
||||||
(add-before 'check 'prepare-checks
|
(add-before 'check 'prepare-checks
|
||||||
(lambda _
|
(lambda _
|
||||||
|
|
|
@ -2035,33 +2035,6 @@ compatible directories.")
|
||||||
(home-page "https://github.com/trapexit/mergerfs-tools")
|
(home-page "https://github.com/trapexit/mergerfs-tools")
|
||||||
(license license:isc))))
|
(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
|
(define-public dbxfs
|
||||||
(package
|
(package
|
||||||
(name "dbxfs")
|
(name "dbxfs")
|
||||||
|
|
|
@ -1039,15 +1039,23 @@ of Bitcoin BIP-0039.")
|
||||||
(package
|
(package
|
||||||
(name "python-u2flib-host")
|
(name "python-u2flib-host")
|
||||||
(version "3.0.3")
|
(version "3.0.3")
|
||||||
(source (origin
|
(source
|
||||||
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "python-u2flib-host" version))
|
(uri (pypi-uri "python-u2flib-host" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "02pwafd5kyjpc310ys0pgnd0adff1laz18naxxwsfrllqafqnrxb"))))
|
||||||
"02pwafd5kyjpc310ys0pgnd0adff1laz18naxxwsfrllqafqnrxb"))))
|
(build-system pyproject-build-system)
|
||||||
(build-system python-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))
|
(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")
|
(home-page "https://github.com/Yubico/python-u2flib-host")
|
||||||
(synopsis "Python based U2F host library")
|
(synopsis "Python based U2F host library")
|
||||||
(description
|
(description
|
||||||
|
@ -1063,15 +1071,19 @@ of Bitcoin BIP-0039.")
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "ledgerblue" version))
|
(uri (pypi-uri "ledgerblue" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "0ghpvxgih1zarp788qi1xh5xmprv6yhaxglfbix4974i7r4pszqy"))))
|
||||||
"0ghpvxgih1zarp788qi1xh5xmprv6yhaxglfbix4974i7r4pszqy"))))
|
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f)) ; no tests
|
(list
|
||||||
(native-inputs
|
#:tests? #f
|
||||||
(list python-setuptools python-wheel))
|
#:phases
|
||||||
(propagated-inputs
|
#~(modify-phases %standard-phases
|
||||||
(list python-bleak
|
(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-pyelftools
|
||||||
python-pycryptodome
|
python-pycryptodome
|
||||||
python-ecpy
|
python-ecpy
|
||||||
|
@ -1216,9 +1228,11 @@ the KeepKey Hardware Wallet.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"03zj602m2rln9yvr08dswy56vzkbldp8b074ixwzz525dafblr92"))))
|
"03zj602m2rln9yvr08dswy56vzkbldp8b074ixwzz525dafblr92"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list python-ledgerblue python-trezor-agent))
|
(list python-ledgerblue python-trezor-agent))
|
||||||
|
(native-inputs
|
||||||
|
(list python-setuptools python-wheel))
|
||||||
(home-page "https://github.com/romanz/trezor-agent")
|
(home-page "https://github.com/romanz/trezor-agent")
|
||||||
(synopsis "Ledger as hardware SSH/GPG agent")
|
(synopsis "Ledger as hardware SSH/GPG agent")
|
||||||
(description "This package allows using 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
|
(define-public python-duniterpy
|
||||||
(package
|
(package
|
||||||
(name "python-duniterpy")
|
(name "python-duniterpy")
|
||||||
(version "1.1.1")
|
(version "1.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method git-fetch)
|
||||||
(uri (pypi-uri "duniterpy" version))
|
(uri (git-reference
|
||||||
|
(url "https://git.duniter.org/clients/python/duniterpy")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0h0fsawsrjd50lb1bkysb21ph39qlhmiymd3r5vs695qxvbwaqaa"))))
|
(base32 "1ysh9b5lzg053hv4iw3zbn7hid05qssiwmrl8sir8qlk958r8x60"))))
|
||||||
(build-system pyproject-build-system)
|
(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
|
(native-inputs
|
||||||
(list python-poetry-core))
|
(list python-poetry-core-next
|
||||||
|
python-pytest))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-attrs
|
(list python-base58
|
||||||
python-base58
|
|
||||||
python-graphql-core
|
python-graphql-core
|
||||||
python-jsonschema
|
python-jsonschema
|
||||||
python-libnacl
|
python-libnacl
|
||||||
|
|
|
@ -505,14 +505,19 @@ subroutinizer for fontTools.")
|
||||||
(uri (pypi-uri "cu2qu" version ".zip"))
|
(uri (pypi-uri "cu2qu" version ".zip"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c"))))
|
(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))
|
(propagated-inputs (list python-fonttools))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-cython
|
(list python-cython
|
||||||
python-defcon
|
python-defcon
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-runner
|
python-pytest-runner
|
||||||
|
python-setuptools
|
||||||
python-setuptools-scm
|
python-setuptools-scm
|
||||||
|
python-wheel
|
||||||
unzip))
|
unzip))
|
||||||
(home-page "https://github.com/googlefonts/cu2qu")
|
(home-page "https://github.com/googlefonts/cu2qu")
|
||||||
(synopsis "Cubic-to-quadratic bezier curve conversion")
|
(synopsis "Cubic-to-quadratic bezier curve conversion")
|
||||||
|
|
|
@ -68,6 +68,7 @@
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (guix build-system meson)
|
#:use-module (guix build-system meson)
|
||||||
#:use-module (guix build-system perl)
|
#:use-module (guix build-system perl)
|
||||||
|
#:use-module (guix build-system pyproject)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system glib-or-gtk)
|
#:use-module (guix build-system glib-or-gtk)
|
||||||
#:use-module (guix build-system qt)
|
#:use-module (guix build-system qt)
|
||||||
|
@ -128,6 +129,7 @@
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages polkit)
|
#:use-module (gnu packages polkit)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
#:use-module (gnu packages python-crypto)
|
#:use-module (gnu packages python-crypto)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages qt)
|
#:use-module (gnu packages qt)
|
||||||
|
@ -789,7 +791,7 @@ other applications that need to directly deal with input devices.")
|
||||||
(define-public libei
|
(define-public libei
|
||||||
(package
|
(package
|
||||||
(name "libei")
|
(name "libei")
|
||||||
(version "1.3.0")
|
(version "1.4.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -797,7 +799,7 @@ other applications that need to directly deal with input devices.")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0idbl20ax060s7m435rszfv7c0bvpinjvq45qbqwvcvp0hg8r9y8"))
|
"04ll43616pyfm7c835azdggx9x3vfykpcg3pzmsfz4f2vl5whalm"))
|
||||||
(snippet
|
(snippet
|
||||||
#~(begin
|
#~(begin
|
||||||
(use-modules (guix build utils))
|
(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
|
;; liboeffis-1.0.pc requires.private libelogind
|
||||||
(list elogind))
|
(list elogind))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list doxygen
|
(list dbus
|
||||||
|
doxygen
|
||||||
libxml2
|
libxml2
|
||||||
munit
|
munit
|
||||||
pkg-config
|
pkg-config
|
||||||
python
|
python
|
||||||
python-attrs
|
python-attrs
|
||||||
python-black
|
|
||||||
python-dbusmock
|
python-dbusmock
|
||||||
python-jinja2
|
python-jinja2
|
||||||
python-pytest
|
python-pytest
|
||||||
python-structlog
|
python-structlog
|
||||||
|
python-pyaml
|
||||||
valgrind/interactive))
|
valgrind/interactive))
|
||||||
(home-page "https://libinput.pages.freedesktop.org/libei/")
|
(home-page "https://libinput.pages.freedesktop.org/libei/")
|
||||||
(synopsis "Emulated Input protocol implementation")
|
(synopsis "Emulated Input protocol implementation")
|
||||||
|
@ -2872,17 +2875,19 @@ encoding names are iconv-compatible.")
|
||||||
(define-public python-cchardet
|
(define-public python-cchardet
|
||||||
(package
|
(package
|
||||||
(name "python-cchardet")
|
(name "python-cchardet")
|
||||||
(version "2.1.7")
|
(version "2.2.0a2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "cchardet" version))
|
(uri (pypi-uri "cchardet" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1bqfz85cd51sw0bvhvdq9ikccxi2ld7g5jpni4jkq1a5clrvca64"))))
|
"08wq5yfaafbjipabfc6kpyvivkk2394w7isv0mwx5agcf8cbnwnx"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list uchardet))
|
(list uchardet))
|
||||||
|
(native-inputs
|
||||||
|
(list python-setuptools python-wheel))
|
||||||
(home-page "https://github.com/PyYoshi/cChardet")
|
(home-page "https://github.com/PyYoshi/cChardet")
|
||||||
(synopsis "High-performance character encoding detection for Python")
|
(synopsis "High-performance character encoding detection for Python")
|
||||||
(description "cChardet is a character encoding detector, written in
|
(description "cChardet is a character encoding detector, written in
|
||||||
|
|
|
@ -67,10 +67,10 @@
|
||||||
#:use-module (gnu packages ibus)
|
#:use-module (gnu packages ibus)
|
||||||
#:use-module (gnu packages inkscape)
|
#:use-module (gnu packages inkscape)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages pcre)
|
#:use-module (gnu packages pcre)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages python-science)
|
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages ssh)
|
#:use-module (gnu packages ssh)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
|
|
|
@ -7479,60 +7479,6 @@ almost all of them.")
|
||||||
principles are simplicity and standards compliance.")
|
principles are simplicity and standards compliance.")
|
||||||
(license license:gpl2+)))
|
(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
|
(define-public d-spy
|
||||||
(package
|
(package
|
||||||
(name "d-spy")
|
(name "d-spy")
|
||||||
|
@ -7574,6 +7520,9 @@ programs via D-Bus. It also ships a library for integration into development
|
||||||
environments.")
|
environments.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public d-feet
|
||||||
|
(deprecated-package "d-feet" d-spy))
|
||||||
|
|
||||||
(define-public yelp-xsl
|
(define-public yelp-xsl
|
||||||
(package
|
(package
|
||||||
(name "yelp-xsl")
|
(name "yelp-xsl")
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014, 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||||
;;; Copyright © 2015-2021, 2024 Efraim Flashner <efraim@flashner.co.il>
|
;;; 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 Christine Lemmer-Webber <cwebber@dustycloud.org>
|
||||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||||
;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
|
;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
|
||||||
|
@ -585,10 +585,17 @@ interface (FFI) of Guile.")
|
||||||
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
|
"1ji3ynhp36m1ccx7bmaq75dhij9frpn19v9mpi4aajn8csl194il"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
`(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-before 'build 'set-environment
|
(add-before 'build 'set-environment
|
||||||
(lambda _
|
(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"
|
(substitute* "setup.py"
|
||||||
(("cc") (which "gcc")))
|
(("cc") (which "gcc")))
|
||||||
#t)))
|
#t)))
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
;;; Copyright © 2017, 2023 Clément Lassieur <clement@lassieur.org>
|
;;; Copyright © 2017, 2023 Clément Lassieur <clement@lassieur.org>
|
||||||
;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
|
;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
|
||||||
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; 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 © 2019 Ivan Petkov <ivanppetkov@gmail.com>
|
||||||
;;; Copyright © 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
;;; Copyright © 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
|
||||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||||
|
@ -142,6 +142,14 @@
|
||||||
"--with-intl-api")
|
"--with-intl-api")
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-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
|
(add-after 'patch-source-shebangs 'patch-cargo-checksums
|
||||||
(lambda _
|
(lambda _
|
||||||
(let ((null-hash
|
(let ((null-hash
|
||||||
|
@ -278,6 +286,15 @@ in C/C++.")
|
||||||
(substitute-keyword-arguments (package-arguments mozjs)
|
(substitute-keyword-arguments (package-arguments mozjs)
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
#~(modify-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
|
(add-after 'unpack 'patch-for-python-3.10
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Some classes were moved from collections to collections.abc
|
;; 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 "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
|
||||||
(setenv "GUIX_PYTHONPATH"
|
(setenv "GUIX_PYTHONPATH"
|
||||||
(string-append (getcwd)
|
(string-append (getcwd)
|
||||||
"/obj/_virtualenvs/build/lib/python3.10/site-packages"))
|
"/obj/_virtualenvs/build/lib/python3.11/site-packages"))
|
||||||
(setenv "BUILD_BACKENDS" "FasterMake,RecursiveMake")))
|
(setenv "BUILD_BACKENDS" "FasterMake,RecursiveMake")))
|
||||||
(replace 'build ;build and install data files
|
(replace 'build ;build and install data files
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(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"))
|
(patches (search-patches "python-louvain-fix-test.patch"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0sx53l555rwq0z7if8agirjgw4ddp8r9b949wwz8vlig03sjvfmp"))))
|
(base32 "0sx53l555rwq0z7if8agirjgw4ddp8r9b949wwz8vlig03sjvfmp"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-setuptools-57)) ;for use_2to3 support
|
(list python-setuptools python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-networkx python-numpy))
|
(list python-networkx python-numpy))
|
||||||
(home-page "https://github.com/taynaud/python-louvain")
|
(home-page "https://github.com/taynaud/python-louvain")
|
||||||
|
|
|
@ -209,7 +209,7 @@ structure and layout algorithms.")
|
||||||
(define-public python-uqbar
|
(define-public python-uqbar
|
||||||
(package
|
(package
|
||||||
(name "python-uqbar")
|
(name "python-uqbar")
|
||||||
(version "0.6.9")
|
(version "0.7.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -218,27 +218,23 @@ structure and layout algorithms.")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "037qj3rymm6xzdpklddfhmfp2p1bq9fi3jrvxj6gmharphd5z869"))))
|
(base32 "1limp2m2smg0l3v6vn2fwhjcw1d8gakw5v0q7krb03q539qiql87"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments ; XXX: Disable failing tests.
|
(arguments
|
||||||
(list #:test-flags '(list "tests" "-k" "not test_find_executable \
|
(list
|
||||||
and not test_sphinx_book_text_broken_strict")))
|
#:test-flags #~(list "--pyargs" "uqbar")))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list graphviz
|
(list graphviz
|
||||||
python-flake8
|
python-defusedxml
|
||||||
python-isort
|
|
||||||
python-mypy
|
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-cov
|
python-pytest-cov
|
||||||
python-setuptools
|
python-setuptools
|
||||||
|
python-typing-extensions
|
||||||
python-wheel))
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-black python-sphinx-5 python-unidecode
|
(list python-black
|
||||||
(package/inherit python-sphinx-rtd-theme
|
python-sphinx
|
||||||
(propagated-inputs
|
python-unidecode))
|
||||||
(modify-inputs
|
|
||||||
(package-propagated-inputs python-sphinx-rtd-theme)
|
|
||||||
(replace "python-sphinx" python-sphinx-5))))))
|
|
||||||
(home-page "https://github.com/josiah-wolf-oberholtzer/uqbar")
|
(home-page "https://github.com/josiah-wolf-oberholtzer/uqbar")
|
||||||
(synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX")
|
(synopsis "Tools for building documentation with Sphinx, Graphviz and LaTeX")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -1812,63 +1812,55 @@ processing pipelines.")
|
||||||
(define-public labelme
|
(define-public labelme
|
||||||
(package
|
(package
|
||||||
(name "labelme")
|
(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
|
(source
|
||||||
(origin
|
(origin
|
||||||
;; PyPi tarball lacks tests.
|
;; PyPi tarball lacks tests.
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/wkentaro/labelme.git")
|
(url "https://github.com/wkentaro/labelme")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0cmi2xb4dgh7738l259rgwhn9l134f0vnaaqc2gflc5yr3lqhrv2"))))
|
(base32 "1xpyad6rlkxyx51jaai4xhdy15k1gvm62xnkjn152hc1vj1c77sr"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:test-flags
|
||||||
(add-after 'unpack 'loosen-requirements
|
#~(list "-m" "not gpu"
|
||||||
(lambda _
|
;; Fails when invoking help2man for unknown reason.
|
||||||
;; Don't require an outdated version of matplotlib.
|
"--ignore=tests/docs_tests/man_tests/test_labelme_1.py")
|
||||||
(substitute* "setup.py"
|
#:phases
|
||||||
(("matplotlib<3\\.3")
|
#~(modify-phases %standard-phases
|
||||||
"matplotlib"))))
|
|
||||||
(add-before 'check 'start-xserver
|
(add-before 'check 'start-xserver
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(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.
|
;; Options taken from CI workflow.
|
||||||
(system (string-append xorg-server "/bin/Xvfb :99 -screen 0 "
|
(system (string-append xorg-server "/bin/Xvfb :99 -screen 0 "
|
||||||
"1920x1200x24 -ac +extension GLX +render "
|
"1920x1200x24 -ac +extension GLX +render "
|
||||||
"-noreset &"))
|
"-noreset &"))
|
||||||
(setenv "DISPLAY" ":99.0"))))
|
(setenv "DISPLAY" ":99.0")))))))
|
||||||
(replace 'check
|
(native-inputs
|
||||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
(list python-pytest
|
||||||
(when tests?
|
python-pytest-qt
|
||||||
(add-installed-pythonpath inputs outputs)
|
xorg-server-for-tests
|
||||||
;; Fails when invoking help2man for unknown reason.
|
python-wheel))
|
||||||
(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")))))))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-imgviz
|
(list python-imgviz
|
||||||
python-matplotlib
|
python-matplotlib
|
||||||
|
python-natsort
|
||||||
python-numpy
|
python-numpy
|
||||||
python-pillow
|
python-pillow
|
||||||
python-pyyaml
|
python-pyyaml
|
||||||
python-qtpy
|
python-qtpy
|
||||||
python-termcolor))
|
python-termcolor))
|
||||||
(native-inputs
|
|
||||||
(list python-pytest python-pytest-qt xorg-server-for-tests))
|
|
||||||
(home-page "https://github.com/wkentaro/labelme")
|
(home-page "https://github.com/wkentaro/labelme")
|
||||||
(synopsis
|
(synopsis "Image Polygonal Annotation")
|
||||||
"Image Polygonal Annotation")
|
|
||||||
(description
|
(description
|
||||||
"Image and video labeling tool supporting different shapes like
|
"Image and video labeling tool supporting different shapes like polygons,
|
||||||
polygons, rectangles, circles, lines, points and VOC/COCO export.")
|
rectangles, circles, lines, points and VOC/COCO export.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public charls
|
(define-public charls
|
||||||
|
|
|
@ -2761,6 +2761,10 @@ GIF, TIFF, WEBP, BMP, PNG, XPM formats.")
|
||||||
(guix build utils))
|
(guix build utils))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'python3.11-compatibility
|
||||||
|
(lambda _
|
||||||
|
(substitute* "setup.py"
|
||||||
|
(("\"rU\"") "\"r\""))))
|
||||||
(add-after 'install 'glib-or-gtk-wrap
|
(add-after 'install 'glib-or-gtk-wrap
|
||||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
|
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
|
||||||
(add-after 'install 'wrap-program
|
(add-after 'install 'wrap-program
|
||||||
|
|
|
@ -919,7 +919,7 @@ parsers")
|
||||||
;; unmaintained clone of <https://github.com/ircdocs/parser-tests>
|
;; unmaintained clone of <https://github.com/ircdocs/parser-tests>
|
||||||
;; which is packed in Guix as python-irc-parser-tests. Tests data
|
;; which is packed in Guix as python-irc-parser-tests. Tests data
|
||||||
;; (YAML files) are distributed as Python package and located in
|
;; (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
|
(add-before 'check 'install-testcases-data
|
||||||
(lambda* (#:key import-path #:allow-other-keys)
|
(lambda* (#:key import-path #:allow-other-keys)
|
||||||
(with-directory-excursion (string-append "src/" import-path)
|
(with-directory-excursion (string-append "src/" import-path)
|
||||||
|
|
|
@ -122,7 +122,8 @@ information.")
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pytest
|
(list python-pytest
|
||||||
python-setuptools))
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-pandas))
|
(list python-pandas))
|
||||||
(home-page "https://github.com/IndEcol/country_converter")
|
(home-page "https://github.com/IndEcol/country_converter")
|
||||||
|
|
|
@ -64,13 +64,6 @@
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1qrhzazq10dz64y9mawr3ns595fsdhrj1wvbb42xhmcl66r1xq8a"))))
|
(base32 "1qrhzazq10dz64y9mawr3ns595fsdhrj1wvbb42xhmcl66r1xq8a"))))
|
||||||
(build-system pyproject-build-system)
|
(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
|
(propagated-inputs (list python-argon2-cffi
|
||||||
python-ipykernel
|
python-ipykernel
|
||||||
python-ipython-genutils
|
python-ipython-genutils
|
||||||
|
@ -96,7 +89,7 @@
|
||||||
python-pytest-jupyter
|
python-pytest-jupyter
|
||||||
python-pytest-tornasync
|
python-pytest-tornasync
|
||||||
python-requests
|
python-requests
|
||||||
python-requests-unixsocket
|
python-requests-unixsocket2
|
||||||
python-testpath))
|
python-testpath))
|
||||||
(home-page "https://github.com/jupyter/nbclassic")
|
(home-page "https://github.com/jupyter/nbclassic")
|
||||||
(synopsis "Jupyter Notebook as a Jupyter Server extension")
|
(synopsis "Jupyter Notebook as a Jupyter Server extension")
|
||||||
|
@ -601,7 +594,7 @@ JavaScript build steps.")
|
||||||
(setenv "PATH"
|
(setenv "PATH"
|
||||||
(string-append #$output "/bin:" (getenv "PATH"))))))))
|
(string-append #$output "/bin:" (getenv "PATH"))))))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-anyio/without-dataclasses
|
(list python-anyio
|
||||||
python-argon2-cffi
|
python-argon2-cffi
|
||||||
python-jinja2
|
python-jinja2
|
||||||
python-jupyter-client
|
python-jupyter-client
|
||||||
|
@ -1062,13 +1055,13 @@ a notebook.")
|
||||||
(define-public python-ipympl
|
(define-public python-ipympl
|
||||||
(package
|
(package
|
||||||
(name "python-ipympl")
|
(name "python-ipympl")
|
||||||
(version "0.9.1")
|
(version "0.9.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "ipympl" version))
|
(uri (pypi-uri "ipympl" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "11rppjdqzgs4pfiq8gww5xkpbk21fp86vvv839v56b9rqq06j2b4"))))
|
(base32 "12qgiy08klqb5gipm23yzh09p5g2k8ihcq2bprprdya84acw2rf8"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-ipython
|
(list python-ipython
|
||||||
|
@ -1079,7 +1072,7 @@ a notebook.")
|
||||||
python-pillow
|
python-pillow
|
||||||
python-traitlets))
|
python-traitlets))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-jupyter-packaging))
|
(list python-hatchling python-jupyter-packaging))
|
||||||
(home-page "https://matplotlib.org/ipympl/")
|
(home-page "https://matplotlib.org/ipympl/")
|
||||||
(synopsis "Matplotlib Jupyter Extension")
|
(synopsis "Matplotlib Jupyter Extension")
|
||||||
(description "Leveraging the Jupyter interactive widgets framework, ipympl
|
(description "Leveraging the Jupyter interactive widgets framework, ipympl
|
||||||
|
|
|
@ -663,7 +663,7 @@ output), and Binutils.")
|
||||||
(rename-file (string-append #$output "/share/opt-viewer")
|
(rename-file (string-append #$output "/share/opt-viewer")
|
||||||
opt-viewer-share))))
|
opt-viewer-share))))
|
||||||
;; The build daemon goes OOM on i686-linux on this phase.
|
;; 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?))
|
(target-x86-32?))
|
||||||
#~((delete 'make-dynamic-linker-cache))
|
#~((delete 'make-dynamic-linker-cache))
|
||||||
#~()))))
|
#~()))))
|
||||||
|
|
|
@ -234,8 +234,16 @@ family of functions.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0cgysij0dix0fikyz2x4f8jvaskm5s5a04s07chzaz2dw1fpxdq8"))))
|
(base32 "0cgysij0dix0fikyz2x4f8jvaskm5s5a04s07chzaz2dw1fpxdq8"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments ; disable flaky test
|
(arguments
|
||||||
(list #:test-flags '(list "-k" "not test_integrate_variable[x23-i]")))
|
(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
|
(propagated-inputs (list python-makefun python-multipledispatch
|
||||||
python-numpy python-opt-einsum
|
python-numpy python-opt-einsum
|
||||||
python-typing-extensions))
|
python-typing-extensions))
|
||||||
|
@ -423,33 +431,25 @@ machine learning algorithms based on GPs.")
|
||||||
(define-public python-ml-collections
|
(define-public python-ml-collections
|
||||||
(package
|
(package
|
||||||
(name "python-ml-collections")
|
(name "python-ml-collections")
|
||||||
(version "0.1.1")
|
(version "1.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method git-fetch)
|
||||||
(uri (pypi-uri "ml_collections" version))
|
(uri (git-reference
|
||||||
|
(url "https://github.com/google/ml_collections")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1k38psfzqsqnl99fl578bd07zdmvfkja61r3sgjs2fj3xircrvrz"))))
|
(base32 "1f3rwbgnnvgh2jgnkwxfjdw18yly41hlx9fy56h0x36zyy8p0j21"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:phases
|
#:test-flags '(list "--pyargs" "ml_collections/config_dict/tests")))
|
||||||
#~(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")))))))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-absl-py python-contextlib2 python-pyyaml python-six))
|
(list python-absl-py python-pyyaml))
|
||||||
(native-inputs (list python-mock python-pytest python-setuptools
|
(native-inputs (list python-pylint
|
||||||
python-wheel))
|
python-pytest
|
||||||
|
python-pytest-xdist
|
||||||
|
python-flit-core))
|
||||||
(home-page "https://github.com/google/ml_collections")
|
(home-page "https://github.com/google/ml_collections")
|
||||||
(synopsis "Python collections designed for Machine Learning usecases")
|
(synopsis "Python collections designed for Machine Learning usecases")
|
||||||
(description
|
(description
|
||||||
|
@ -1843,7 +1843,7 @@ in terms of new algorithms.")
|
||||||
pybind11
|
pybind11
|
||||||
python-coverage
|
python-coverage
|
||||||
python-fb-re2
|
python-fb-re2
|
||||||
python-parameterized-next
|
python-parameterized
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-runner
|
python-pytest-runner
|
||||||
python-setuptools
|
python-setuptools
|
||||||
|
@ -2553,7 +2553,7 @@ standard feature selection algorithms.")
|
||||||
(define-public python-cleanlab
|
(define-public python-cleanlab
|
||||||
(package
|
(package
|
||||||
(name "python-cleanlab")
|
(name "python-cleanlab")
|
||||||
(version "2.7.0")
|
(version "2.7.1")
|
||||||
;; The version on pypi does not come with tests.
|
;; The version on pypi does not come with tests.
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -2563,7 +2563,7 @@ standard feature selection algorithms.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0f8v5246nzy22r7zswv9vbpxc7wxaqjwry9iq0fqjp2ffch88h6j"))))
|
"073w45azq496x4bhrh8mdywcrg3gk33n13w1pqh1kiykw826ld9b"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -2681,37 +2681,37 @@ Covariance Matrix Adaptation Evolution Strategy (CMA-ES) for Python.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public python-autograd
|
(define-public python-autograd
|
||||||
(let* ((commit "c6d81ce7eede6db801d4e9a92b27ec5d409d0eab")
|
|
||||||
(revision "0")
|
|
||||||
(version (git-version "1.5" revision commit)))
|
|
||||||
(package
|
(package
|
||||||
(name "python-autograd")
|
(name "python-autograd")
|
||||||
(home-page "https://github.com/HIPS/autograd")
|
(version "1.7.0")
|
||||||
(source (origin
|
(source
|
||||||
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url home-page)
|
(url "https://github.com/HIPS/autograd")
|
||||||
(commit commit)))
|
(commit (string-append "v" version))))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "1fpnmm3mzw355iq7w751j4mjfcr0yh324cxidba1l22652gg8r8m"))
|
||||||
"04kljgydng42xlg044h6nbzxpban1ivd6jzb8ydkngfq88ppipfk"))
|
|
||||||
(file-name (git-file-name name version))))
|
(file-name (git-file-name name version))))
|
||||||
(version version)
|
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-nose python-pytest python-setuptools python-wheel))
|
(list python-hatchling
|
||||||
|
python-pytest))
|
||||||
(propagated-inputs
|
(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")
|
(synopsis "Efficiently computes derivatives of NumPy code")
|
||||||
(description "Autograd can automatically differentiate native Python and
|
(description
|
||||||
NumPy code. It can handle a large subset of Python's features, including loops,
|
"Autograd can automatically differentiate native Python and NumPy code.
|
||||||
ifs, recursion and closures, and it can even take derivatives of derivatives
|
It can handle a large subset of Python's features, including loops, ifs,
|
||||||
of derivatives. It supports reverse-mode differentiation
|
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
|
(a.k.a. backpropagation), which means it can efficiently take gradients of
|
||||||
scalar-valued functions with respect to array-valued arguments, as well as
|
scalar-valued functions with respect to array-valued arguments, as well as
|
||||||
forward-mode differentiation, and the two can be composed arbitrarily. The
|
forward-mode differentiation, and the two can be composed arbitrarily. The
|
||||||
main intended application of Autograd is gradient-based optimization.")
|
main intended application of Autograd is gradient-based optimization.")
|
||||||
(license license:expat))))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public lightgbm
|
(define-public lightgbm
|
||||||
(package
|
(package
|
||||||
|
@ -3370,8 +3370,14 @@ Python.")
|
||||||
;; SOURCE_DATE_EPOCH is respected, which we set to some time in
|
;; SOURCE_DATE_EPOCH is respected, which we set to some time in
|
||||||
;; 1980.
|
;; 1980.
|
||||||
(lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800")))
|
(lambda _ (setenv "SOURCE_DATE_EPOCH" "315532800")))
|
||||||
(add-after 'unpack 'python3.10-compatibility
|
(add-after 'unpack 'python3.11-compatibility
|
||||||
(lambda _
|
(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
|
;; See https://github.com/tensorflow/tensorflow/issues/20517#issuecomment-406373913
|
||||||
(substitute* '("tensorflow/python/eager/pywrap_tfe_src.cc"
|
(substitute* '("tensorflow/python/eager/pywrap_tfe_src.cc"
|
||||||
"tensorflow/python/lib/core/ndarray_tensor.cc"
|
"tensorflow/python/lib/core/ndarray_tensor.cc"
|
||||||
|
@ -3421,6 +3427,16 @@ Python.")
|
||||||
(string-append m
|
(string-append m
|
||||||
" and not isinstance(existing, type(object.__or__))")))
|
" 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.
|
;; Fix the build with numpy >= 1.19.
|
||||||
;; Suggested in https://github.com/tensorflow/tensorflow/issues/41086#issuecomment-656833081
|
;; Suggested in https://github.com/tensorflow/tensorflow/issues/41086#issuecomment-656833081
|
||||||
(substitute* "tensorflow/python/lib/core/bfloat16.cc"
|
(substitute* "tensorflow/python/lib/core/bfloat16.cc"
|
||||||
|
@ -3441,7 +3457,22 @@ Python.")
|
||||||
(substitute* '("tensorflow/python/framework/fast_tensor_util.pyx"
|
(substitute* '("tensorflow/python/framework/fast_tensor_util.pyx"
|
||||||
"tensorflow/python/estimator/canned/linear_testing_utils.py")
|
"tensorflow/python/estimator/canned/linear_testing_utils.py")
|
||||||
(("np.asscalar") "np.ndarray.item"))))
|
(("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")))
|
(lambda _ (chdir "tensorflow/contrib/cmake")))
|
||||||
(add-after 'chdir 'disable-downloads
|
(add-after 'chdir 'disable-downloads
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(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
|
(propagated-inputs
|
||||||
(list python-h5py python-numpy))
|
(list python-h5py python-numpy))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pytest python-pytest-cov python-pytest-pep8
|
(list python-pytest python-pytest-cov
|
||||||
python-pytest-xdist))
|
python-pytest-xdist))
|
||||||
(home-page "https://github.com/keras-team/keras-applications")
|
(home-page "https://github.com/keras-team/keras-applications")
|
||||||
(synopsis "Reference implementations of popular deep learning models")
|
(synopsis "Reference implementations of popular deep learning models")
|
||||||
|
@ -4339,7 +4370,6 @@ with image data, text data, and sequence data.")
|
||||||
python-pandas
|
python-pandas
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-cov
|
python-pytest-cov
|
||||||
python-pytest-pep8
|
|
||||||
python-pytest-timeout
|
python-pytest-timeout
|
||||||
python-pytest-xdist
|
python-pytest-xdist
|
||||||
python-pyux
|
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
|
;; These refuse to be run on CPU and really want a GPU
|
||||||
" and not test_add_random_walk_pe"
|
" and not test_add_random_walk_pe"
|
||||||
" and not test_asap"
|
" 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
|
#:phases
|
||||||
'(modify-phases %standard-phases
|
'(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'delete-top-level-directories
|
(add-after 'unpack 'delete-top-level-directories
|
||||||
|
@ -6315,7 +6348,7 @@ tokenizers, @code{rust-tokenizers}.")
|
||||||
python-tokenizers
|
python-tokenizers
|
||||||
python-tqdm))
|
python-tqdm))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-parameterized-next
|
(list python-parameterized
|
||||||
python-pytest python-setuptools python-wheel))
|
python-pytest python-setuptools python-wheel))
|
||||||
(home-page "https://github.com/huggingface/transformers")
|
(home-page "https://github.com/huggingface/transformers")
|
||||||
(synopsis "Machine Learning for PyTorch and TensorFlow")
|
(synopsis "Machine Learning for PyTorch and TensorFlow")
|
||||||
|
@ -6459,34 +6492,33 @@ of Hidden Markov Models.")
|
||||||
(define-public python-lap
|
(define-public python-lap
|
||||||
(package
|
(package
|
||||||
(name "python-lap")
|
(name "python-lap")
|
||||||
(version "0.4.0")
|
(version "0.5.12")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "lap" version))
|
(uri (pypi-uri "lap" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0fqfxpq4jg9h4wxjw540gjmvfg1ccc1nssk7i9njg7qfdybxknn4"))))
|
"1za4mf5nd7vzwd24sy2mfxrk8mnwq7d8rv6h96yh8v5flx7422sp"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:test-flags #~(list "-v" #$output)
|
||||||
(replace 'build
|
#:phases
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
#~(modify-phases %standard-phases
|
||||||
(invoke "python" "setup.py" "build"
|
(add-after 'check 'check-cleanup
|
||||||
"--cpu-baseline=sse2")))
|
|
||||||
(replace 'check
|
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(when tests?
|
(when tests?
|
||||||
;; The tests must be run from elsewhere.
|
(for-each
|
||||||
(mkdir-p "/tmp/test")
|
delete-file-recursively
|
||||||
(copy-recursively "lap/tests" "/tmp/test")
|
(find-files #$output
|
||||||
(with-directory-excursion "/tmp/test"
|
(lambda (file stat)
|
||||||
(invoke "pytest" "-vv"))))))))
|
(or (member (basename file)
|
||||||
|
'("tests" ".pytest_cache"))))
|
||||||
|
#:directories? #t))))))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-numpy
|
(list python-numpy))
|
||||||
python-scipy))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-cython python-pytest))
|
(list python-cython python-pytest python-setuptools python-wheel))
|
||||||
(home-page "https://github.com/gatagat/lap")
|
(home-page "https://github.com/gatagat/lap")
|
||||||
(synopsis "Linear Assignment Problem solver (LAPJV/LAPMOD)")
|
(synopsis "Linear Assignment Problem solver (LAPJV/LAPMOD)")
|
||||||
(description "Lap is a linear assignment problem solver using Jonker-Volgenant
|
(description "Lap is a linear assignment problem solver using Jonker-Volgenant
|
||||||
|
@ -6581,24 +6613,23 @@ inference.")
|
||||||
(define-public python-linear-operator
|
(define-public python-linear-operator
|
||||||
(package
|
(package
|
||||||
(name "python-linear-operator")
|
(name "python-linear-operator")
|
||||||
(version "0.5.2")
|
(version "0.6")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "linear_operator" version))
|
(uri (pypi-uri "linear_operator" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"03drb4hn9nn8jrqd9vbalihhahgpdm956hbs05bix7svradhknaw"))))
|
"0m56f3zrm8xh1bpwh4g7jfc79rf4j94g6zmz663b58pig4w6dqm9"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(propagated-inputs (list python-jaxtyping
|
(propagated-inputs (list python-jaxtyping
|
||||||
|
python-mpmath
|
||||||
python-pytorch
|
python-pytorch
|
||||||
python-scipy
|
python-scipy))
|
||||||
python-typeguard))
|
(native-inputs (list python-pytest
|
||||||
(native-inputs (list python-flake8
|
|
||||||
python-flake8-print
|
|
||||||
python-pytest
|
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-setuptools-scm
|
python-setuptools-scm
|
||||||
python-twine))
|
python-typeguard
|
||||||
|
python-wheel))
|
||||||
(home-page "https://github.com/cornellius-gp/linear_operator/")
|
(home-page "https://github.com/cornellius-gp/linear_operator/")
|
||||||
(synopsis "Linear operator implementation")
|
(synopsis "Linear operator implementation")
|
||||||
(description "LinearOperator is a PyTorch package for abstracting away the
|
(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
|
(define-public python-gpytorch
|
||||||
(package
|
(package
|
||||||
(name "python-gpytorch")
|
(name "python-gpytorch")
|
||||||
(version "1.12")
|
(version "1.14")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "gpytorch" version))
|
(uri (pypi-uri "gpytorch" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1pwsccll1hrgkifdmlxzcn6cvnwvyq2cimqzbfgihr13yw51cb6w"))))
|
"13cs6dx8qa5j4ygji9w5xbmaqc68ihqyzz33fyyf9qa6d8gc2b03"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:test-flags
|
(list #:test-flags
|
||||||
|
#~(list "-k" (string-append
|
||||||
;; test_deprecated_methods fails with an AssertionError.
|
;; test_deprecated_methods fails with an AssertionError.
|
||||||
#~(list "-k" (string-append "not test_deprecated_methods"))))
|
"not test_deprecated_methods"
|
||||||
(propagated-inputs (list python-linear-operator
|
;; 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-mpmath
|
||||||
python-scikit-learn
|
python-scikit-learn
|
||||||
python-scipy))
|
python-scipy))
|
||||||
(native-inputs (list python-coverage
|
(native-inputs (list python-nbval
|
||||||
python-flake8
|
|
||||||
python-flake8-print
|
|
||||||
python-nbval
|
|
||||||
python-pytest
|
python-pytest
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-twine))
|
python-setuptools-scm
|
||||||
|
python-wheel))
|
||||||
(home-page "https://gpytorch.ai")
|
(home-page "https://gpytorch.ai")
|
||||||
(synopsis "Implementation of Gaussian Processes in PyTorch")
|
(synopsis "Implementation of Gaussian Processes in PyTorch")
|
||||||
(description
|
(description
|
||||||
|
@ -6640,7 +6676,7 @@ linear algebra routines needed for structured matrices (or operators).")
|
||||||
(define-public python-botorch
|
(define-public python-botorch
|
||||||
(package
|
(package
|
||||||
(name "python-botorch")
|
(name "python-botorch")
|
||||||
(version "0.11.3")
|
(version "0.13.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch) ;no tests in PyPI
|
(method git-fetch) ;no tests in PyPI
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -6649,7 +6685,7 @@ linear algebra routines needed for structured matrices (or operators).")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0nf9zrg1khvckb8kdpffqc3bnlhc0x03jd1560qmjamwl3j59m02"))))
|
"1sxgxdq892vg5xj30kb86003b9rwsipc95c7p1zdv865y4f38a8y"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:test-flags #~(list "-k" "not test_all_cases_covered")
|
(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-pyro-ppl
|
||||||
python-pytorch
|
python-pytorch
|
||||||
python-scipy))
|
python-scipy))
|
||||||
(native-inputs (list python-pytest
|
(native-inputs (list python-pyre-extensions
|
||||||
|
python-pytest
|
||||||
python-pytest-cov
|
python-pytest-cov
|
||||||
python-setuptools-scm))
|
python-setuptools
|
||||||
|
python-setuptools-scm
|
||||||
|
python-wheel))
|
||||||
(home-page "https://botorch.org")
|
(home-page "https://botorch.org")
|
||||||
(synopsis "Bayesian Optimization in PyTorch")
|
(synopsis "Bayesian Optimization in PyTorch")
|
||||||
(description
|
(description
|
||||||
|
@ -6779,7 +6818,7 @@ simple speech recognition.")
|
||||||
"library_dirs=["
|
"library_dirs=["
|
||||||
"'" #$vosk-api "/lib'"
|
"'" #$vosk-api "/lib'"
|
||||||
"],\n\t"
|
"],\n\t"
|
||||||
"libraries=['vosk', 'python3.10'],\n\t"
|
"libraries=['vosk', 'python3.11'],\n\t"
|
||||||
"include_dirs=["
|
"include_dirs=["
|
||||||
"'" #$vosk-api "/src'" "])")))
|
"'" #$vosk-api "/src'" "])")))
|
||||||
(substitute* "vosk/__init__.py"
|
(substitute* "vosk/__init__.py"
|
||||||
|
|
|
@ -3588,14 +3588,17 @@ an SMTP transaction before a message is committed to queue.")
|
||||||
(define-public mailman
|
(define-public mailman
|
||||||
(package
|
(package
|
||||||
(name "mailman")
|
(name "mailman")
|
||||||
(version "3.3.2")
|
(version "3.3.10")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "mailman" version))
|
(uri (pypi-uri "mailman" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0a5ckbf8hc3y28b7p5psp0d4bxk601jlr5pd3hhh545xd8d9f0dg"))))
|
(base32 "0cjn8karkgrapgiv3ra6ddcngkf5c5779hrq369mvwi6ygy7ir0d"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
|
(arguments
|
||||||
|
;; XXX: Too much failing tests to try and isolate them.
|
||||||
|
(list #:tests? #f))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list gunicorn
|
(list gunicorn
|
||||||
python-aiosmtpd
|
python-aiosmtpd
|
||||||
|
@ -3620,7 +3623,7 @@ an SMTP transaction before a message is committed to queue.")
|
||||||
python-zope-event
|
python-zope-event
|
||||||
python-zope-interface))
|
python-zope-interface))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-nose))
|
(list python-pytest python-pdm-backend))
|
||||||
(home-page "https://www.list.org")
|
(home-page "https://www.list.org")
|
||||||
(synopsis "Mailing list manager")
|
(synopsis "Mailing list manager")
|
||||||
(description
|
(description
|
||||||
|
@ -3755,21 +3758,17 @@ interfaces interacting with Mailman.")
|
||||||
(define-public python-mailman-hyperkitty
|
(define-public python-mailman-hyperkitty
|
||||||
(package
|
(package
|
||||||
(name "python-mailman-hyperkitty")
|
(name "python-mailman-hyperkitty")
|
||||||
(version "1.2.0")
|
(version "1.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "mailman-hyperkitty" version))
|
(uri (pypi-uri "mailman-hyperkitty" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "0f6c1fs28w3r9k9mbg7gsv6pa45aayaadaa0dn4q5dfcqvxrvmpq"))))
|
||||||
"1ni6vf1yi14c0l895fk278x4na7ymhpkl1q0vnpzbkzplpa7200i"))))
|
(build-system pyproject-build-system)
|
||||||
(build-system python-build-system)
|
(propagated-inputs (list python-requests python-zope-interface))
|
||||||
(propagated-inputs
|
(inputs (list mailman))
|
||||||
(list python-requests python-zope-interface))
|
(native-inputs (list python-nose2 python-setuptools python-wheel))
|
||||||
(inputs
|
|
||||||
(list mailman))
|
|
||||||
(native-inputs
|
|
||||||
(list python-mock python-nose python-nose2))
|
|
||||||
(home-page "https://gitlab.com/mailman/mailman-hyperkitty/")
|
(home-page "https://gitlab.com/mailman/mailman-hyperkitty/")
|
||||||
(synopsis "Mailman archiver plugin for HyperKitty")
|
(synopsis "Mailman archiver plugin for HyperKitty")
|
||||||
(description
|
(description
|
||||||
|
@ -4681,18 +4680,20 @@ the RFC 8617 Authenticated Received Chain (ARC) protocol.")
|
||||||
(define-public python-authheaders
|
(define-public python-authheaders
|
||||||
(package
|
(package
|
||||||
(name "python-authheaders")
|
(name "python-authheaders")
|
||||||
(version "0.13.0")
|
(version "0.16.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "authheaders" version))
|
(uri (pypi-uri "authheaders" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"14k6i72k5f8dyvps8vc0aq0cczc8lvqpgjfjzsy6qqychjvjcmwk"))))
|
"12hl93336w64iyqalpv4rma2ijigav68qy1xmgziibdi7inxr3hi"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-authres python-dkimpy python-dnspython
|
(list python-authres python-dkimpy python-dnspython
|
||||||
python-publicsuffix2))
|
python-publicsuffix2))
|
||||||
|
(native-inputs
|
||||||
|
(list python-setuptools python-wheel))
|
||||||
(home-page "https://github.com/ValiMail/authentication-headers")
|
(home-page "https://github.com/ValiMail/authentication-headers")
|
||||||
(synopsis "Library wrapping email authentication header verification and generation")
|
(synopsis "Library wrapping email authentication header verification and generation")
|
||||||
(description
|
(description
|
||||||
|
@ -4707,30 +4708,27 @@ DKIM and ARC sign messages and output the corresponding signature headers.")
|
||||||
(define-public python-aiosmtpd
|
(define-public python-aiosmtpd
|
||||||
(package
|
(package
|
||||||
(name "python-aiosmtpd")
|
(name "python-aiosmtpd")
|
||||||
(version "1.2.2")
|
(version "1.4.6")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/aio-libs/aiosmtpd")
|
(url "https://github.com/aio-libs/aiosmtpd")
|
||||||
(commit version)))
|
(commit (string-append "v" version))))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0083d6nf75xv8nq1il6jabz36v6c452svy4p402csxwwih5pw6sk"))
|
(base32 "0b5y94zc8pq75sjwsifblzgjnliyclkwypi68b2zffrxcdnz27r2"))
|
||||||
(file-name (git-file-name name version))))
|
(file-name (git-file-name name version))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
;; This QA test requires git.
|
||||||
(modify-phases %standard-phases
|
(list #:test-flags ''("-k" "not test_ge_master")))
|
||||||
(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"))))))
|
|
||||||
(native-inputs
|
(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
|
(propagated-inputs
|
||||||
(list python-atpublic))
|
(list python-atpublic))
|
||||||
(home-page "https://aiosmtpd.readthedocs.io/")
|
(home-page "https://aiosmtpd.readthedocs.io/")
|
||||||
|
|
|
@ -108,6 +108,7 @@
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system ruby)
|
#:use-module (guix build-system ruby)
|
||||||
#:use-module (gnu packages algebra)
|
#:use-module (gnu packages algebra)
|
||||||
|
#:use-module (gnu packages astronomy)
|
||||||
#:use-module (gnu packages audio)
|
#:use-module (gnu packages audio)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages backup)
|
#:use-module (gnu packages backup)
|
||||||
|
@ -3551,46 +3552,51 @@ ASCII text files using Gmsh's own scripting language.")
|
||||||
(define-public veusz
|
(define-public veusz
|
||||||
(package
|
(package
|
||||||
(name "veusz")
|
(name "veusz")
|
||||||
(version "3.3.1")
|
(version "3.6.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "veusz" version))
|
(uri (pypi-uri "veusz" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1q7hi1qwwg4pgiz62isvv1pia85m13bspdpp1q3mrnwl11in0ag0"))))
|
(base32 "1lcmcfr0dcam8g1fp5qip8jnxglxx7i62ln3ix6l4c2bbv21l5y2"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(;; Tests will fail because they depend on optional packages like
|
(list
|
||||||
;; python-astropy, which is not packaged.
|
;; Tests currently fail with exception TypeError:
|
||||||
|
;; calling <function version ...> returned 3.6.2, not a test
|
||||||
#:tests? #f
|
#:tests? #f
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
;; Veusz will append 'PyQt5' to sip_dir by default. That is not how
|
;; Veusz uses python's site-packages to look for pyqt5_include_dir.
|
||||||
;; the path is defined in Guix, therefore we have to change it.
|
(add-after 'unpack 'fix-pyqt5-include-dir
|
||||||
(add-after 'unpack 'fix-sip-dir
|
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "pyqtdistutils.py"
|
(substitute* "pyqt_setuptools.py"
|
||||||
(("os.path.join\\(sip_dir, 'PyQt5'\\)") "sip_dir"))))
|
(("get_path\\('platlib'\\)")
|
||||||
;; Now we have to pass the correct sip_dir to setup.py.
|
(format #f "~s"
|
||||||
(replace 'build
|
(string-append
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
#$(this-package-input "python-pyqt")
|
||||||
;; We need to tell setup.py where to locate QtCoremod.sip
|
"/lib/python"
|
||||||
((@@ (guix build python-build-system) call-setuppy)
|
#$(version-major+minor
|
||||||
"build_ext"
|
(package-version python-wrapper))
|
||||||
(list (string-append "--sip-dir="
|
"/site-packages"))))))
|
||||||
(search-input-directory inputs "share/sip"))))))
|
|
||||||
;; Ensure that icons are found at runtime.
|
;; Ensure that icons are found at runtime.
|
||||||
(add-after 'install 'wrap-executable
|
(add-after 'wrap 'wrap-executable
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "out")))
|
(wrap-program (string-append #$output "/bin/veusz")
|
||||||
(wrap-program (string-append out "/bin/veusz")
|
|
||||||
`("QT_PLUGIN_PATH" prefix
|
`("QT_PLUGIN_PATH" prefix
|
||||||
,(list (string-append (assoc-ref inputs "qtsvg")
|
,(list (string-append
|
||||||
"/lib/qt5/plugins/"))))))))))
|
(string-join
|
||||||
|
(list #$(this-package-input "qtbase")
|
||||||
|
#$(this-package-input "qtsvg")
|
||||||
|
#$(this-package-input "qtwayland"))
|
||||||
|
"/lib/qt5/plugins:")
|
||||||
|
"/lib/qt5/plugins")))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list pkg-config
|
(list pkg-config
|
||||||
;;("python-astropy" ,python-astropy) ;; FIXME: Package this.
|
python-astropy
|
||||||
qttools-5 python-sip-4))
|
python-setuptools
|
||||||
|
python-wheel
|
||||||
|
qttools-5))
|
||||||
(inputs
|
(inputs
|
||||||
(list bash-minimal
|
(list bash-minimal
|
||||||
ghostscript ;optional, for EPS/PS output
|
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-h5py ;optional, for HDF5 data
|
||||||
python-pyqt
|
python-pyqt
|
||||||
qtbase-5
|
qtbase-5
|
||||||
qtsvg-5))
|
qtsvg-5
|
||||||
|
qtwayland-5))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-numpy))
|
(list python-numpy))
|
||||||
(home-page "https://veusz.github.io/")
|
(home-page "https://veusz.github.io/")
|
||||||
|
@ -4346,7 +4353,15 @@ recurrence relations.")
|
||||||
;; These tests fails with unexpected keyword arguments
|
;; These tests fails with unexpected keyword arguments
|
||||||
;; in calls to cplot.
|
;; in calls to cplot.
|
||||||
#~(list "--deselect" "tests/test_u3.py::test_write_single"
|
#~(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
|
(native-inputs
|
||||||
(list python-matplotx
|
(list python-matplotx
|
||||||
python-meshio
|
python-meshio
|
||||||
|
@ -4437,6 +4452,35 @@ bindings to almost all functions of PETSc.")
|
||||||
;; <https://github.com/dimpase/primecountpy/issues/16>.
|
;; <https://github.com/dimpase/primecountpy/issues/16>.
|
||||||
(license license:gpl2+)))
|
(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
|
(define-public python-quadpy
|
||||||
(package
|
(package
|
||||||
(name "python-quadpy")
|
(name "python-quadpy")
|
||||||
|
@ -4454,6 +4498,12 @@ bindings to almost all functions of PETSc.")
|
||||||
(base32
|
(base32
|
||||||
"1f989dipv7lqxvalfrvvlmhlxyl67a87lavyyqrr1mh88glhl592"))))
|
"1f989dipv7lqxvalfrvvlmhlxyl67a87lavyyqrr1mh88glhl592"))))
|
||||||
(build-system pyproject-build-system)
|
(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
|
(native-inputs
|
||||||
(list python-accupy
|
(list python-accupy
|
||||||
python-pytest
|
python-pytest
|
||||||
|
@ -7171,39 +7221,29 @@ with C89.")
|
||||||
(define-public glm
|
(define-public glm
|
||||||
(package
|
(package
|
||||||
(name "glm")
|
(name "glm")
|
||||||
(version "0.9.9.8")
|
(version "1.0.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method git-fetch)
|
||||||
(uri (string-append "https://github.com/g-truc/glm/releases/download/"
|
(uri (git-reference
|
||||||
version "/glm-" version ".zip"))
|
(url "https://github.com/g-truc/glm")
|
||||||
|
(commit version)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0k6yk9v46h690rshdx49x98y5qspkzibld1wb51jwcm35vba7qip"))))
|
(base32 "0890rvv3czi3nqj11dc2m3wcdfv0dm0nr63wfcpfikk9sk6b4w8s"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases (modify-phases %standard-phases
|
(list
|
||||||
(add-before 'configure 'set-environment
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'install 'post-install
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Pass "-fno-ipa-modref" flag to the compiler to work
|
(let* ((doc (string-append #$output "/share/doc/glm"))
|
||||||
;; around a test failure with GCC 11. This is a
|
(pkgconfig (string-append #$output "/lib/pkgconfig")))
|
||||||
;; header-only library so these flags only affect tests.
|
(mkdir-p doc)
|
||||||
;; 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)
|
|
||||||
(mkdir-p pkgconfig)
|
(mkdir-p pkgconfig)
|
||||||
(copy-recursively "glm" (string-append inc "/glm"))
|
(copy-recursively "../source/doc/api" (string-append doc "/html"))
|
||||||
(copy-recursively "cmake" (string-append lib "/cmake"))
|
(install-file "../source/doc/manual.pdf" doc)
|
||||||
(call-with-output-file (string-append pkgconfig "/glm.pc")
|
(call-with-output-file (string-append pkgconfig "/glm.pc")
|
||||||
(lambda (port)
|
(lambda (port)
|
||||||
(format port
|
(format port
|
||||||
|
@ -7213,8 +7253,7 @@ includedir=${prefix}/include
|
||||||
Name: GLM
|
Name: GLM
|
||||||
Description: OpenGL Mathematics
|
Description: OpenGL Mathematics
|
||||||
Version: ~a
|
Version: ~a
|
||||||
Cflags: -I${includedir}~%" out ,(version-prefix version 3)))))
|
Cflags: -I${includedir}~%" #$output #$version)))))))))
|
||||||
#t))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list unzip))
|
(list unzip))
|
||||||
(home-page "https://glm.g-truc.net/")
|
(home-page "https://glm.g-truc.net/")
|
||||||
|
@ -11079,7 +11118,7 @@ Mathics3.")
|
||||||
(propagated-inputs (list python-django-4.2
|
(propagated-inputs (list python-django-4.2
|
||||||
python-mathics-scanner
|
python-mathics-scanner
|
||||||
python-mathics-core
|
python-mathics-core
|
||||||
python-networkx-next
|
python-networkx
|
||||||
python-pygments
|
python-pygments
|
||||||
python-requests))
|
python-requests))
|
||||||
(native-inputs (list python-pytest python-setuptools python-wheel))
|
(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/>.
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
(define-module (gnu packages medical)
|
(define-module (gnu packages medical)
|
||||||
|
#:use-module (guix build-system pyproject)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix build-system qt)
|
#:use-module (guix build-system qt)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
@ -29,6 +30,7 @@
|
||||||
#:use-module (gnu packages databases)
|
#:use-module (gnu packages databases)
|
||||||
#:use-module (gnu packages kde-frameworks) ; kirigami
|
#:use-module (gnu packages kde-frameworks) ; kirigami
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
#:use-module (gnu packages python-crypto)
|
#:use-module (gnu packages python-crypto)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
|
@ -93,18 +95,26 @@ Health Federation.")
|
||||||
".tar.gz"))
|
".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "09vrfqn511vswnj2q9m7srlwdgz066qvqpmja6sg1yl1ibh3cbpr"))))
|
(base32 "09vrfqn511vswnj2q9m7srlwdgz066qvqpmja6sg1yl1ibh3cbpr"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:use-setuptools? #f
|
(list
|
||||||
#:phases (modify-phases %standard-phases
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-/usr
|
(add-after 'unpack 'patch-/usr
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(substitute* '("setup.py"
|
(substitute* '("setup.py"
|
||||||
"src/openmolar/settings/localsettings.py")
|
"src/openmolar/settings/localsettings.py")
|
||||||
(("/usr")
|
(("/usr") #$output))))
|
||||||
(assoc-ref outputs "out"))) #t)))))
|
(add-after 'unpack 'set-acceptable-version
|
||||||
(inputs (list python-pyqtwebengine python-pyqt+qscintilla
|
(lambda _
|
||||||
python-mysqlclient qscintilla))
|
(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))
|
(propagated-inputs (list qtwebengine-5))
|
||||||
(home-page "https://openmolar.com/om1")
|
(home-page "https://openmolar.com/om1")
|
||||||
(synopsis "Dental practice management software")
|
(synopsis "Dental practice management software")
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||||
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
|
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
|
||||||
|
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -68,6 +69,7 @@
|
||||||
#:use-module (gnu packages prometheus)
|
#:use-module (gnu packages prometheus)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages python-build)
|
#:use-module (gnu packages python-build)
|
||||||
|
#:use-module (gnu packages python-science)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages rrdtool)
|
#:use-module (gnu packages rrdtool)
|
||||||
|
@ -433,23 +435,24 @@ historical data.")
|
||||||
(define-public python-carbon
|
(define-public python-carbon
|
||||||
(package
|
(package
|
||||||
(name "python-carbon")
|
(name "python-carbon")
|
||||||
(version "1.1.8")
|
(version "1.1.10")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "carbon" version))
|
(uri (pypi-uri "carbon" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1wb91fipk1niciffq5xwqbh8g7rl7ghdam4m97cjbig12i5qr4cm"))))
|
"0p6yjxif5ly5wkllnaw41w2zy9y0nffgfk91v861fn6c26lmnfy1"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
`(#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
;; Don't install to /opt
|
;; Don't install to /opt
|
||||||
(add-after 'unpack 'do-not-install-to-/opt
|
(add-after 'unpack 'do-not-install-to-/opt
|
||||||
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
|
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
|
||||||
|
(native-inputs (list python-setuptools python-wheel))
|
||||||
(propagated-inputs
|
(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/")
|
(home-page "https://graphiteapp.org/")
|
||||||
(synopsis "Backend data caching and persistence daemon for Graphite")
|
(synopsis "Backend data caching and persistence daemon for Graphite")
|
||||||
(description "Carbon is a backend data caching and persistence daemon for
|
(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)))
|
(license license:asl2.0)))
|
||||||
|
|
||||||
(define-public graphite-web
|
(define-public graphite-web
|
||||||
|
(let ((commit "49c28e2015d605ad9ec93524f7076dd924a4731a")
|
||||||
|
(revision "2"))
|
||||||
(package
|
(package
|
||||||
(name "graphite-web")
|
(name "graphite-web")
|
||||||
(version "1.1.10")
|
(version (git-version "1.1.10" revision commit))
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method git-fetch)
|
||||||
(uri (pypi-uri "graphite-web" version))
|
(uri (git-reference
|
||||||
|
(url "https://github.com/graphite-project/graphite-web")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "0bcc6jh7gyp8f54dzy4zza1z46gk3530r952pi86irf834z106sg"))))
|
||||||
"0nnk3kwn0b6bq9xnmv9bac6hpcbdgpgwf283c1ck5nm80panh61z"))))
|
(build-system pyproject-build-system)
|
||||||
(build-system python-build-system)
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ;XXX: not in PyPI release & requires database
|
`(#:tests? #f ;XXX: Requires database, unable to run now
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'relax-requirements
|
(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.
|
;; Allow newer versions of django-tagging.
|
||||||
(("django-tagging==") "django-tagging>=")
|
(("django-tagging==") "django-tagging>=")
|
||||||
;; And Django.
|
;; And Django.
|
||||||
(("Django>=1\\.8,<3\\.1") "Django>=1.8,<4"))))
|
(("Django>=3\\.2,<4") "Django>=4,<5"))))
|
||||||
;; Don't install to /opt
|
;; Don't install to /opt
|
||||||
(add-after 'unpack 'do-not-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
|
(propagated-inputs
|
||||||
(list python-cairocffi
|
(list python-cairocffi
|
||||||
python-django-3.2
|
python-django-4.2
|
||||||
python-django-tagging
|
python-django-tagging
|
||||||
python-pyparsing
|
python-pyparsing
|
||||||
python-pytz
|
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
|
(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
|
two things: store numeric time-series data, and render graphs of this data on
|
||||||
demand.")
|
demand.")
|
||||||
(license license:asl2.0)))
|
(license license:asl2.0))))
|
||||||
|
|
||||||
(define-public python-prometheus-client
|
(define-public python-prometheus-client
|
||||||
(package
|
(package
|
||||||
|
@ -838,6 +865,25 @@ display resumes.
|
||||||
@end itemize")
|
@end itemize")
|
||||||
(license license:bsd-2)))
|
(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
|
(define-public python-statsd
|
||||||
(package
|
(package
|
||||||
(name "python-statsd")
|
(name "python-statsd")
|
||||||
|
|
|
@ -1858,7 +1858,11 @@ typographic detail of symbols on the page.")
|
||||||
(base32 "1y8s55b4mlsigm0xkk6qjpp08c75rv0swvjp0lj3cs6lgqdjxdjl"))))
|
(base32 "1y8s55b4mlsigm0xkk6qjpp08c75rv0swvjp0lj3cs6lgqdjxdjl"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list lilypond python-pytest python-setuptools python-wheel))
|
(list lilypond
|
||||||
|
python-pytest
|
||||||
|
python-pytest-cov
|
||||||
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list abjad))
|
(list abjad))
|
||||||
(home-page "https://abjad.github.io")
|
(home-page "https://abjad.github.io")
|
||||||
|
@ -3809,8 +3813,14 @@ follows a traditional multi-track tape recorder control paradigm.")
|
||||||
(base32 "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"))))
|
(base32 "1lz2mvk4gqsyf92yxd3aaldx0d0qi28h4rnnvsaz4ls0ccqm80nk"))))
|
||||||
(build-system waf-build-system)
|
(build-system waf-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#: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
|
(add-after 'unpack 'remove-sse-flags
|
||||||
(lambda* (#:key system #:allow-other-keys)
|
(lambda* (#:key system #:allow-other-keys)
|
||||||
(unless (or (string-prefix? "x86_64" system)
|
(unless (or (string-prefix? "x86_64" system)
|
||||||
|
@ -4617,8 +4627,8 @@ standard MIDI file with the csvmidi program.")
|
||||||
(license license:public-domain)))
|
(license license:public-domain)))
|
||||||
|
|
||||||
(define-public mididings
|
(define-public mididings
|
||||||
(let ((commit "d98265be8afe7da20a5c7cfd0515f0d5fae5c53a")
|
(let ((commit "bc71ea9c86bdc0b02364b11ab7331e8b3a86bb4f")
|
||||||
(revision "1"))
|
(revision "2"))
|
||||||
(package
|
(package
|
||||||
(name "mididings")
|
(name "mididings")
|
||||||
(version (git-version "0" revision commit))
|
(version (git-version "0" revision commit))
|
||||||
|
@ -4630,8 +4640,8 @@ standard MIDI file with the csvmidi program.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1a8i4yac5jjkq0vh73nwkv0j7vnvfwbzzagam4xdl1gpnc26n5xi"))))
|
"1f0f8bpqbc1av0ggv6wjicymc2klliwdl1m5blmjcvy39q3cwd59"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:phases
|
#:phases
|
||||||
|
@ -4647,6 +4657,7 @@ standard MIDI file with the csvmidi program.")
|
||||||
(list alsa-lib
|
(list alsa-lib
|
||||||
boost
|
boost
|
||||||
jack-2
|
jack-2
|
||||||
|
python
|
||||||
`(,python "tk")
|
`(,python "tk")
|
||||||
python-dbus
|
python-dbus
|
||||||
python-decorator
|
python-decorator
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
|
;;; 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 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2015, 2016, 2017, 2021 Stefan Reichör <stefan@xsteve.at>
|
;;; Copyright © 2015, 2016, 2017, 2021 Stefan Reichör <stefan@xsteve.at>
|
||||||
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
|
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
|
||||||
|
@ -911,21 +911,22 @@ systems with no further dependencies.")
|
||||||
(define-public blueman
|
(define-public blueman
|
||||||
(package
|
(package
|
||||||
(name "blueman")
|
(name "blueman")
|
||||||
(version "2.3.4")
|
(version "2.4.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://github.com/blueman-project/blueman/releases"
|
(uri (string-append "https://github.com/blueman-project/blueman/releases"
|
||||||
"/download/" version "/blueman-" version ".tar.xz"))
|
"/download/" version "/blueman-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0lh1aqpdq6vi4agrgmm7fifjbxz2s5qcs3hr7nfjrwrp2j1361n2"))))
|
(base32 "1w45dr2cmy32cvxwqaybf5m2ziraj929f4lxcwapv266r1a92kyk"))))
|
||||||
(build-system glib-or-gtk-build-system)
|
(build-system glib-or-gtk-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags (list "--enable-polkit"
|
(list
|
||||||
|
#:configure-flags '(list "--enable-polkit"
|
||||||
"--without-systemdsystemunitdir" ; Not required
|
"--without-systemdsystemunitdir" ; Not required
|
||||||
"--without-systemduserunitdir") ; Not required
|
"--without-systemduserunitdir") ; Not required
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
;; Python references are not being patched in patch-phase of build,
|
;; Python references are not being patched in patch-phase of build,
|
||||||
;; despite using python-wrapper as input. So we patch them manually.
|
;; despite using python-wrapper as input. So we patch them manually.
|
||||||
(add-after 'unpack 'patch-python-references
|
(add-after 'unpack 'patch-python-references
|
||||||
|
@ -939,8 +940,8 @@ systems with no further dependencies.")
|
||||||
(search-input-file inputs
|
(search-input-file inputs
|
||||||
(string-append
|
(string-append
|
||||||
"/bin/python"
|
"/bin/python"
|
||||||
,(version-major+minor
|
#$(version-major+minor
|
||||||
(package-version python)))))))))
|
(package-version (this-package-input "python-wrapper"))))))))))
|
||||||
;; Fix loading of external programs.
|
;; Fix loading of external programs.
|
||||||
(add-after 'unpack 'patch-external-programs
|
(add-after 'unpack 'patch-external-programs
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
@ -956,7 +957,7 @@ systems with no further dependencies.")
|
||||||
;; Fix loading of pulseaudio libraries.
|
;; Fix loading of pulseaudio libraries.
|
||||||
(add-after 'unpack 'patch-pulseaudio-libraries
|
(add-after 'unpack 'patch-pulseaudio-libraries
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(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 (string-append pulseaudio "/lib/libpulse.so.0"))
|
||||||
(pulse-glib (string-append pulseaudio
|
(pulse-glib (string-append pulseaudio
|
||||||
"/lib/libpulse-mainloop-glib.so.0")))
|
"/lib/libpulse-mainloop-glib.so.0")))
|
||||||
|
@ -967,12 +968,11 @@ systems with no further dependencies.")
|
||||||
;; Fix running of blueman programs.
|
;; Fix running of blueman programs.
|
||||||
(add-after 'glib-or-gtk-wrap 'wrap-blueman-progs
|
(add-after 'glib-or-gtk-wrap 'wrap-blueman-progs
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((bin (string-append #$output "/bin/blueman-"))
|
||||||
(bin (string-append out "/bin/blueman-"))
|
(libexec (string-append #$output "/libexec/blueman-"))
|
||||||
(libexec (string-append out "/libexec/blueman-"))
|
(lib (string-append #$output "/lib/python"
|
||||||
(lib (string-append out "/lib/python"
|
#$(version-major+minor
|
||||||
,(version-major+minor
|
(package-version (this-package-input "python-wrapper")))
|
||||||
(package-version python))
|
|
||||||
"/site-packages")))
|
"/site-packages")))
|
||||||
(for-each
|
(for-each
|
||||||
(lambda (program)
|
(lambda (program)
|
||||||
|
|
|
@ -115,20 +115,30 @@ formatters, and other extensions.")
|
||||||
(define-public python-debtcollector
|
(define-public python-debtcollector
|
||||||
(package
|
(package
|
||||||
(name "python-debtcollector")
|
(name "python-debtcollector")
|
||||||
(version "1.19.0")
|
(version "3.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "debtcollector" version))
|
(uri (pypi-uri "debtcollector" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "0vzarkvjclci98d8lvkix6qj59f7rxp1qg2x6q6is7qfbg91g29a"))
|
||||||
"06c7vyn184y9f0lsrwaz13aq63hdz5fjrd191b8nifx6acsni42f"))))
|
(modules '((guix build utils)))
|
||||||
(build-system python-build-system)
|
(snippet #~(begin
|
||||||
|
(substitute* "test-requirements.txt"
|
||||||
|
(("^(coverage|hacking|pre-commit).*")
|
||||||
|
""))))))
|
||||||
|
(build-system pyproject-build-system)
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-pbr python-six python-wrapt))
|
(list python-pbr python-wrapt))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list ;; Tests.
|
(list python-doc8
|
||||||
python-subunit python-testrepository python-testtools))
|
python-fixtures
|
||||||
|
python-openstackdocstheme
|
||||||
|
python-reno
|
||||||
|
python-setuptools
|
||||||
|
python-stestr
|
||||||
|
python-testtools
|
||||||
|
python-wheel))
|
||||||
(home-page "https://www.openstack.org/")
|
(home-page "https://www.openstack.org/")
|
||||||
(synopsis
|
(synopsis
|
||||||
"Find deprecated patterns and strategies in Python code")
|
"Find deprecated patterns and strategies in Python code")
|
||||||
|
@ -386,11 +396,11 @@ extensions.")
|
||||||
python-fixtures
|
python-fixtures
|
||||||
python-jsonschema
|
python-jsonschema
|
||||||
python-netaddr
|
python-netaddr
|
||||||
python-oslo.concurrency
|
python-oslo-concurrency
|
||||||
python-oslo.config
|
python-oslo-config
|
||||||
python-oslo.log
|
python-oslo-log
|
||||||
python-oslo.serialization
|
python-oslo-serialization
|
||||||
python-oslo.utils
|
python-oslo-utils
|
||||||
python-paramiko
|
python-paramiko
|
||||||
python-prettytable
|
python-prettytable
|
||||||
python-pyyaml
|
python-pyyaml
|
||||||
|
@ -437,7 +447,7 @@ OpenStack deployment.")
|
||||||
python-httplib2
|
python-httplib2
|
||||||
python-iso8601
|
python-iso8601
|
||||||
python-jsonschema
|
python-jsonschema
|
||||||
python-oslo.log
|
python-oslo-log
|
||||||
python-paramiko
|
python-paramiko
|
||||||
python-six))
|
python-six))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
|
@ -455,9 +465,9 @@ common features used in Tempest.")
|
||||||
;;; Packages from the Oslo library
|
;;; Packages from the Oslo library
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define-public python-oslo.concurrency
|
(define-public python-oslo-concurrency
|
||||||
(package
|
(package
|
||||||
(name "python-oslo.concurrency")
|
(name "python-oslo-concurrency")
|
||||||
(version "5.0.0")
|
(version "5.0.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -490,8 +500,8 @@ common features used in Tempest.")
|
||||||
python-fixtures
|
python-fixtures
|
||||||
python-stestr
|
python-stestr
|
||||||
python-eventlet))
|
python-eventlet))
|
||||||
(propagated-inputs (list python-fasteners python-oslo.config
|
(propagated-inputs (list python-fasteners python-oslo-config
|
||||||
python-oslo.i18n python-oslo.utils))
|
python-oslo-i18n python-oslo-utils))
|
||||||
(home-page "https://docs.openstack.org/oslo.concurrency/latest/")
|
(home-page "https://docs.openstack.org/oslo.concurrency/latest/")
|
||||||
(synopsis "Oslo Concurrency library")
|
(synopsis "Oslo Concurrency library")
|
||||||
(description "The Oslo Concurrency Library provides utilities for safely
|
(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.")
|
for running external processes.")
|
||||||
(license asl2.0)))
|
(license asl2.0)))
|
||||||
|
|
||||||
(define-public python-oslo.config
|
(define-public python-oslo-config
|
||||||
(package
|
(package
|
||||||
(name "python-oslo.config")
|
(name "python-oslo-config")
|
||||||
(version "8.7.1")
|
(version "8.7.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -515,7 +525,7 @@ for running external processes.")
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-debtcollector
|
(list python-debtcollector
|
||||||
python-netaddr
|
python-netaddr
|
||||||
python-oslo.i18n
|
python-oslo-i18n
|
||||||
python-rfc3986
|
python-rfc3986
|
||||||
python-requests
|
python-requests
|
||||||
python-stevedore
|
python-stevedore
|
||||||
|
@ -527,9 +537,9 @@ for running external processes.")
|
||||||
.ini style configuration files.")
|
.ini style configuration files.")
|
||||||
(license asl2.0)))
|
(license asl2.0)))
|
||||||
|
|
||||||
(define-public python-oslo.context
|
(define-public python-oslo-context
|
||||||
(package
|
(package
|
||||||
(name "python-oslo.context")
|
(name "python-oslo-context")
|
||||||
(version "5.0.0")
|
(version "5.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(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.")
|
pipeline and used by various modules such as logging.")
|
||||||
(license asl2.0)))
|
(license asl2.0)))
|
||||||
|
|
||||||
(define-public python-oslo.i18n
|
(define-public python-oslo-i18n
|
||||||
(package
|
(package
|
||||||
(name "python-oslo.i18n")
|
(name "python-oslo-i18n")
|
||||||
(version "3.20.0")
|
(version "3.20.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -592,9 +602,9 @@ internationalization (i18n) features, especially translation for text strings
|
||||||
in an application or library.")
|
in an application or library.")
|
||||||
(license asl2.0)))
|
(license asl2.0)))
|
||||||
|
|
||||||
(define-public python-oslo.log
|
(define-public python-oslo-log
|
||||||
(package
|
(package
|
||||||
(name "python-oslo.log")
|
(name "python-oslo-log")
|
||||||
(version "5.0.0")
|
(version "5.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -612,11 +622,11 @@ in an application or library.")
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-dateutil
|
(list python-dateutil
|
||||||
python-debtcollector
|
python-debtcollector
|
||||||
python-oslo.config
|
python-oslo-config
|
||||||
python-oslo.context
|
python-oslo-context
|
||||||
python-oslo.i18n
|
python-oslo-i18n
|
||||||
python-oslo.utils
|
python-oslo-utils
|
||||||
python-oslo.serialization
|
python-oslo-serialization
|
||||||
python-pyinotify))
|
python-pyinotify))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-fixtures python-oslotest python-stestr python-testtools
|
(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).")
|
handlers and support for context specific logging (like resource id’s etc).")
|
||||||
(license asl2.0)))
|
(license asl2.0)))
|
||||||
|
|
||||||
(define-public python-oslo.serialization
|
(define-public python-oslo-serialization
|
||||||
(package
|
(package
|
||||||
(name "python-oslo.serialization")
|
(name "python-oslo-serialization")
|
||||||
(version "4.2.0")
|
(version "4.2.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -647,10 +657,10 @@ handlers and support for context specific logging (like resource id’s etc).")
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(when tests? (invoke "stestr" "run")))))))
|
(when tests? (invoke "stestr" "run")))))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-msgpack python-oslo.utils python-pbr python-pytz))
|
(list python-msgpack python-oslo-utils python-pbr python-pytz))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
;; For tests.
|
;; 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")
|
(home-page "https://launchpad.net/oslo")
|
||||||
(synopsis "Oslo serialization library")
|
(synopsis "Oslo serialization library")
|
||||||
(description
|
(description
|
||||||
|
@ -757,9 +767,9 @@ documentation from the OpenStack project.")
|
||||||
for debugging, and better support for mocking results.")
|
for debugging, and better support for mocking results.")
|
||||||
(license asl2.0)))
|
(license asl2.0)))
|
||||||
|
|
||||||
(define-public python-oslo.utils
|
(define-public python-oslo-utils
|
||||||
(package
|
(package
|
||||||
(name "python-oslo.utils")
|
(name "python-oslo-utils")
|
||||||
(version "4.12.0")
|
(version "4.12.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
|
@ -776,7 +786,7 @@ for debugging, and better support for mocking results.")
|
||||||
(when tests? (invoke "stestr" "run")))))))
|
(when tests? (invoke "stestr" "run")))))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-debtcollector
|
(list python-debtcollector
|
||||||
python-oslo.i18n
|
python-oslo-i18n
|
||||||
python-iso8601
|
python-iso8601
|
||||||
python-netaddr
|
python-netaddr
|
||||||
python-netifaces
|
python-netifaces
|
||||||
|
@ -843,8 +853,8 @@ handling.")
|
||||||
python-hacking
|
python-hacking
|
||||||
python-lxml
|
python-lxml
|
||||||
python-oauthlib
|
python-oauthlib
|
||||||
python-oslo.config
|
python-oslo-config
|
||||||
python-oslo.utils
|
python-oslo-utils
|
||||||
python-oslotest
|
python-oslotest
|
||||||
python-pbr
|
python-pbr
|
||||||
python-pyyaml
|
python-pyyaml
|
||||||
|
@ -907,10 +917,10 @@ process of writing new clients.")
|
||||||
python-iso8601
|
python-iso8601
|
||||||
python-keystoneauth1
|
python-keystoneauth1
|
||||||
python-netaddr
|
python-netaddr
|
||||||
python-oslo.config
|
python-oslo-config
|
||||||
python-oslo.i18n
|
python-oslo-i18n
|
||||||
python-oslo.serialization
|
python-oslo-serialization
|
||||||
python-oslo.utils
|
python-oslo-utils
|
||||||
python-prettytable
|
python-prettytable
|
||||||
python-requests
|
python-requests
|
||||||
python-six
|
python-six
|
||||||
|
@ -1071,7 +1081,7 @@ regardless of whether they are bundled or not.")
|
||||||
python-statsd
|
python-statsd
|
||||||
python-stestr
|
python-stestr
|
||||||
python-testscenarios
|
python-testscenarios
|
||||||
python-oslo.config
|
python-oslo-config
|
||||||
python-oslotest))
|
python-oslotest))
|
||||||
(propagated-inputs (list python-appdirs
|
(propagated-inputs (list python-appdirs
|
||||||
python-cryptography
|
python-cryptography
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#:use-module (gnu packages graph)
|
#:use-module (gnu packages graph)
|
||||||
#:use-module (gnu packages machine-learning)
|
#:use-module (gnu packages machine-learning)
|
||||||
#:use-module (gnu packages python-build)
|
#:use-module (gnu packages python-build)
|
||||||
|
#:use-module (gnu packages python-check)
|
||||||
#:use-module (gnu packages python-crypto)
|
#:use-module (gnu packages python-crypto)
|
||||||
#:use-module (gnu packages python-science)
|
#:use-module (gnu packages python-science)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
|
@ -59,7 +60,19 @@
|
||||||
"test_copy_cut_paste"
|
"test_copy_cut_paste"
|
||||||
;; AttributeError: 'NoneType' object has no attribute
|
;; AttributeError: 'NoneType' object has no attribute
|
||||||
;; 'isEnabled'
|
;; '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 "))
|
" and not "))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
|
@ -71,12 +84,18 @@
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "HOME" "/tmp")
|
(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"))))))
|
(setenv "QT_QPA_PLATFORM" "offscreen"))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pytest
|
(list python-pytest
|
||||||
|
python-pytest-qt
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-trubar
|
python-trubar
|
||||||
python-wheel))
|
python-wheel))
|
||||||
|
(inputs
|
||||||
|
(list qtbase))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-anyqt
|
(list python-anyqt
|
||||||
python-cachecontrol
|
python-cachecontrol
|
||||||
|
|
|
@ -1123,6 +1123,34 @@ Anaconda Cloud. Anaconda Cloud is useful for sharing packages, notebooks and
|
||||||
environments.")
|
environments.")
|
||||||
(license license:bsd-3)))
|
(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
|
(define-public python-conda-package-handling
|
||||||
(package
|
(package
|
||||||
(name "python-conda-package-handling")
|
(name "python-conda-package-handling")
|
||||||
|
@ -1315,7 +1343,7 @@ written entirely in Python.")
|
||||||
(define-public conan
|
(define-public conan
|
||||||
(package
|
(package
|
||||||
(name "conan")
|
(name "conan")
|
||||||
(version "2.0.9")
|
(version "2.7.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch) ; no tests in PyPI archive
|
(method git-fetch) ; no tests in PyPI archive
|
||||||
|
@ -1324,13 +1352,74 @@ written entirely in Python.")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1ykfj7c3i0b57s7ql3p2lawxdzd2cn36f3k8p64lyzla8rwv4xdx"))))
|
(base32 "00mrx1ighvf6r6fy2iqxr286w3jfd0gwlzcqsw15cm9axblx5av9"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:modules '((guix build python-build-system)
|
#:modules '((guix build pyproject-build-system)
|
||||||
(guix build utils)
|
(guix build utils)
|
||||||
(ice-9 format))
|
(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
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'patch-paths
|
(add-after 'unpack 'patch-paths
|
||||||
|
@ -1345,21 +1434,22 @@ written entirely in Python.")
|
||||||
;; The test suite expects GCC 9 to be used (see:
|
;; The test suite expects GCC 9 to be used (see:
|
||||||
;; https://github.com/conan-io/conan/issues/13575). Render the
|
;; https://github.com/conan-io/conan/issues/13575). Render the
|
||||||
;; check version agnostic.
|
;; check version agnostic.
|
||||||
(substitute* "conans/test/functional/toolchains/meson/_base.py"
|
(substitute* "test/functional/toolchains/meson/_base.py"
|
||||||
(("__GNUC__9")
|
(("__GNUC__9")
|
||||||
"__GNUC__"))))
|
"__GNUC__"))))
|
||||||
(add-after 'unpack 'use-current-cmake-for-tests
|
(add-after 'unpack 'use-current-cmake-for-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* (find-files "conans/test" "\\.py$")
|
(substitute* (find-files "test" "\\.py$")
|
||||||
(("@pytest.mark.tool\\(\"cmake\", \"3.23\")")
|
(("@pytest.mark.tool\\(\"cmake\", \".*\")")
|
||||||
"@pytest.mark.tool(\"cmake\")"))))
|
"@pytest.mark.tool(\"cmake\")"))))
|
||||||
(add-before 'check 'configure-tests
|
(add-before 'check 'configure-tests
|
||||||
(lambda _
|
(lambda _
|
||||||
(let* ((cmake-version #$(version-major+minor
|
(let* ((cmake-version #$(version-major+minor
|
||||||
(package-version cmake)))
|
(package-version
|
||||||
|
(this-package-native-input "cmake"))))
|
||||||
(pkg-config-version #$(version-major+minor
|
(pkg-config-version #$(version-major+minor
|
||||||
(package-version pkg-config))))
|
(package-version pkg-config))))
|
||||||
(call-with-output-file "conans/test/conftest_user.py"
|
(call-with-output-file "test/conftest_user.py"
|
||||||
(lambda (port)
|
(lambda (port)
|
||||||
(format port "\
|
(format port "\
|
||||||
tools_locations = {
|
tools_locations = {
|
||||||
|
@ -1378,61 +1468,12 @@ tools_locations = {
|
||||||
(add-before 'check 'set-home
|
(add-before 'check 'set-home
|
||||||
(lambda _
|
(lambda _
|
||||||
(setenv "HOME" "/tmp")))
|
(setenv "HOME" "/tmp")))
|
||||||
(replace 'check
|
(add-before 'check 'configure-tests
|
||||||
(lambda* (#:key tests? outputs #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(define system #$(or (%current-target-system)
|
|
||||||
(%current-system)))
|
|
||||||
(when tests?
|
(when tests?
|
||||||
(setenv "CONFIG_SHELL" (which "sh"))
|
(setenv "CONFIG_SHELL" (which "sh"))
|
||||||
(setenv "PATH" (string-append (getenv "PATH") ":"
|
(setenv "PATH" (string-append (getenv "PATH") ":"
|
||||||
#$output "/bin"))
|
#$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 "
|
|
||||||
"")))))))))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-bottle
|
(list python-bottle
|
||||||
python-colorama
|
python-colorama
|
||||||
|
@ -1450,7 +1491,7 @@ tools_locations = {
|
||||||
python-requests
|
python-requests
|
||||||
python-six
|
python-six
|
||||||
python-tqdm
|
python-tqdm
|
||||||
python-urllib3))
|
python-urllib3-1.26))
|
||||||
(inputs
|
(inputs
|
||||||
(list coreutils)) ;for printenv
|
(list coreutils)) ;for printenv
|
||||||
(native-inputs
|
(native-inputs
|
||||||
|
@ -1467,7 +1508,9 @@ tools_locations = {
|
||||||
python-parameterized
|
python-parameterized
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-xdist
|
python-pytest-xdist
|
||||||
|
python-setuptools
|
||||||
python-webtest
|
python-webtest
|
||||||
|
python-wheel
|
||||||
which))
|
which))
|
||||||
(home-page "https://conan.io")
|
(home-page "https://conan.io")
|
||||||
(synopsis "Decentralized C/C++ package manager")
|
(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
|
files though, so this variable must be set on a per-package basis (and
|
||||||
non through search-path).
|
non through search-path).
|
||||||
|
|
||||||
--- sip/sipbuild/builder.py 2023-03-22 09:06:37.588792878 +0100
|
--- sip/sipbuild/builder.py
|
||||||
+++ sip/sipbuild/builder.py 2023-03-22 09:10:35.830181134 +0100
|
+++ sip/sipbuild/builder.py
|
||||||
@@ -254,6 +254,10 @@
|
@@ -227,5 +227,9 @@
|
||||||
os.path.join(project.target_dir,
|
os.path.join(project.target_dir,
|
||||||
project.get_bindings_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:
|
+ if 'SIP_INCLUDE_DIRS' in os.environ:
|
||||||
+ sip_include_dirs.extend(os.environ['SIP_INCLUDE_DIRS'].split(os.pathsep))
|
+ sip_include_dirs.extend(os.environ['SIP_INCLUDE_DIRS'].split(os.pathsep))
|
||||||
+
|
+
|
||||||
# Generate the sip.h file for the shared sip module.
|
# Generate the code for each set of bindings.
|
||||||
copy_sip_h(abi_major_version, project.build_dir,
|
api_files = []
|
||||||
project.sip_module, version_info=project.version_info)
|
|
||||||
|
|
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
|
(define-public patchwork
|
||||||
(package
|
(package
|
||||||
(name "patchwork")
|
(name "patchwork")
|
||||||
(version "3.1.1")
|
(version "3.2.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(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))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0is9d4gf93jcbyshyj2k3kjyrjnvimrm6bai6dbcx630md222j5w"))))
|
"04ikawdyhjwspxvhazbp5f5vym672y0jcw8rd2m75h9ipcpnyxim"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(;; TODO: Tests require a running database
|
`(;; TODO: Tests require a running database
|
||||||
|
@ -499,7 +499,7 @@ if __name__ == \"__main__\":
|
||||||
(inputs
|
(inputs
|
||||||
(list python-wrapper))
|
(list python-wrapper))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-django-3.2
|
(list python-django
|
||||||
;; TODO: Make this configurable
|
;; TODO: Make this configurable
|
||||||
python-psycopg2
|
python-psycopg2
|
||||||
python-mysqlclient
|
python-mysqlclient
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
;;; Copyright © 2014, 2022 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2014, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
|
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
|
||||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
;;; 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 © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||||
|
@ -175,7 +175,7 @@ internal RPC protocols and file formats.")
|
||||||
(package
|
(package
|
||||||
(inherit protobuf)
|
(inherit protobuf)
|
||||||
(name "protobuf")
|
(name "protobuf")
|
||||||
(version "3.20.2")
|
(version "3.20.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
|
@ -186,7 +186,7 @@ internal RPC protocols and file formats.")
|
||||||
(snippet '(delete-file-recursively "third_party"))
|
(snippet '(delete-file-recursively "third_party"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1hsscx9jm8qv3afgwc764rx9sx1ylkrr54xw1wc0mfjbl8mpw5m0"))))
|
"0ggyfrfal7wms4n8pba224jwpjxn19rigd5y90m3x2bg97ych775"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments (substitute-keyword-arguments (package-arguments protobuf)
|
(arguments (substitute-keyword-arguments (package-arguments protobuf)
|
||||||
;; XXX: insists on using bundled googletest
|
;; XXX: insists on using bundled googletest
|
||||||
|
@ -467,21 +467,18 @@ mechanism for serializing structured data.")
|
||||||
(define-public python-protobuf
|
(define-public python-protobuf
|
||||||
(package
|
(package
|
||||||
(name "python-protobuf")
|
(name "python-protobuf")
|
||||||
(version "3.20.2")
|
(version "3.20.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "protobuf" version))
|
(uri (pypi-uri "protobuf" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0l0p2lczs5iahgkhzm3298pjl49bk9iiwngkglg7ll7fkqqwlbbi"))))
|
"1wh5f4rnzbv46xy1rx62cprhg5hqf2py06s9b7rfpzwwki12fd1f"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(inputs (list protobuf))
|
;; The C++ implementation is not compatible with Python 3.11, so we cannot
|
||||||
(arguments
|
;; pass --cpp_implementation any more.
|
||||||
`(;; Favor C++ implementation from protobuf over the native Python
|
(inputs (list protobuf-3.20))
|
||||||
;; implementation. The additional dependency yields significant
|
|
||||||
;; performance improvements for some workloads.
|
|
||||||
#:configure-flags '("--cpp_implementation")))
|
|
||||||
(home-page "https://github.com/google/protobuf")
|
(home-page "https://github.com/google/protobuf")
|
||||||
(synopsis "Protocol buffers is a data interchange format")
|
(synopsis "Protocol buffers is a data interchange format")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -344,18 +344,6 @@ facilitate packaging Python projects, where packaging includes:
|
||||||
license:asl2.0 ;packaging is dual ASL2/BSD-2
|
license:asl2.0 ;packaging is dual ASL2/BSD-2
|
||||||
license: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
|
(define-public python-wheel
|
||||||
(package
|
(package
|
||||||
(name "python-wheel")
|
(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
|
(define-public python-pyparsing
|
||||||
(package
|
(package
|
||||||
(name "python-pyparsing")
|
(name "python-pyparsing")
|
||||||
(version "3.0.6")
|
(version "3.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "pyparsing" version))
|
(uri (pypi-uri "pyparsing" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "109b9r802wb472hgmxclljprh5cid0w3p6mk9alba7pg2c0frgfr"))))
|
(base32 "02jz5rv3vx46xvjszda467l269jz9narlrwd0a83mpk6zma0i631"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(outputs '("out" "doc"))
|
(outputs '("out" "doc"))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f ;no test target
|
`(#: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 ".*")))
|
(find-files dir ".*")))
|
||||||
(list "docs" "htmldoc" "examples")
|
(list "docs" "htmldoc" "examples")
|
||||||
(list doc html-doc examples))))))))
|
(list doc html-doc examples))))))))
|
||||||
|
(native-inputs (list python-flit-core))
|
||||||
(home-page "https://github.com/pyparsing/pyparsing")
|
(home-page "https://github.com/pyparsing/pyparsing")
|
||||||
(synopsis "Python parsing class library")
|
(synopsis "Python parsing class library")
|
||||||
(description
|
(description
|
||||||
|
@ -459,7 +448,8 @@ that client code uses to construct the grammar directly in Python code.")
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "pyparsing" version))
|
(uri (pypi-uri "pyparsing" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))))
|
(base32 "1hgc8qrbq1ymxbwfbjghv01fm3fbpjwpjwi0bcailxxzhf3yq0y2"))))
|
||||||
|
(native-inputs (list python-setuptools python-wheel))))
|
||||||
|
|
||||||
(define-public python-packaging-bootstrap
|
(define-public python-packaging-bootstrap
|
||||||
(package
|
(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.")
|
compatible build front-ends to build Poetry managed projects.")
|
||||||
(license license:expat)))
|
(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.
|
;;; This package exists to bootstrap python-tomli.
|
||||||
(define-public python-flit-core-bootstrap
|
(define-public python-flit-core-bootstrap
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -288,27 +288,70 @@ Avocado machine readable outputs this one is streamlined (per test results).
|
||||||
@end table")
|
@end table")
|
||||||
(license license:gpl2))) ;some files are under GPLv2 only
|
(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
|
(define-public python-beartype
|
||||||
(package
|
(package
|
||||||
(name "python-beartype")
|
(name "python-beartype")
|
||||||
(version "0.10.4")
|
(version "0.19.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "beartype" version))
|
(uri (pypi-uri "beartype" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0amzckgw9c93bl4jf0q6322j9wyyf3i8vl03yixfkrpllzv6kv14"))))
|
(base32 "0wv598iv9c2s6ivfiara9pnkdlnas8xjw063wvyi0dswpb0xyhny"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(native-inputs
|
||||||
(list
|
(list python-hatchling python-numpy python-pygments python-pytest))
|
||||||
#: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))
|
|
||||||
(home-page "https://github.com/beartype/beartype")
|
(home-page "https://github.com/beartype/beartype")
|
||||||
(synopsis "Fast runtime type checking for Python")
|
(synopsis "Fast runtime type checking for Python")
|
||||||
(description "Beartype aims to be a very fast runtime type checking tool
|
(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
|
(list
|
||||||
#:test-flags
|
#:test-flags
|
||||||
#~(list
|
#~(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
|
;; Multiple failures due to undefined names (typing package must be
|
||||||
;; too outdated, or perhaps they use a newer pandas).
|
;; too outdated, or perhaps they use a newer pandas).
|
||||||
"--ignore=tests/test_mypy.py"
|
"--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
|
(define-public python-pytest-subprocess
|
||||||
(package
|
(package
|
||||||
(name "python-pytest-subprocess")
|
(name "python-pytest-subprocess")
|
||||||
(version "1.5.2")
|
(version "1.5.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch) ;no tests in PyPI archive
|
(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))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1mncfyn0vkbf7d03zc8wmv7nl354ck5i9gfblp9220ihc52whhy0"))))
|
"1yb5y6dqzf6k5a07yzdpw8w50bm7zbsdvv06ii7c7vyg9wx5iw6y"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs (list python-anyio
|
(native-inputs
|
||||||
python-coverage
|
(list python-anyio
|
||||||
python-docutils
|
python-docutils
|
||||||
python-nox
|
|
||||||
python-pygments
|
python-pygments
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-asyncio
|
python-pytest-asyncio
|
||||||
python-pytest-rerunfailures
|
python-pytest-rerunfailures
|
||||||
|
python-setuptools
|
||||||
python-wheel))
|
python-wheel))
|
||||||
(home-page "https://github.com/aklajnert/pytest-subprocess")
|
(home-page "https://github.com/aklajnert/pytest-subprocess")
|
||||||
(synopsis "Fake subprocess for Pytest")
|
(synopsis "Fake subprocess for Pytest")
|
||||||
|
@ -2950,25 +2995,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple)))))))))
|
||||||
in an opinionated way.")
|
in an opinionated way.")
|
||||||
(license license:expat)))
|
(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
|
(define-public python-pytest-rerunfailures
|
||||||
(package
|
(package
|
||||||
(name "python-pytest-rerunfailures")
|
(name "python-pytest-rerunfailures")
|
||||||
|
@ -3271,13 +3297,13 @@ attachments).
|
||||||
(define-public python-vcrpy
|
(define-public python-vcrpy
|
||||||
(package
|
(package
|
||||||
(name "python-vcrpy")
|
(name "python-vcrpy")
|
||||||
(version "6.0.2")
|
(version "7.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "vcrpy" version))
|
(uri (pypi-uri "vcrpy" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "02fwmmc33qqybzbj1lvdz458g1fffm5cgnqihj4larw4268kvqc8"))))
|
(base32 "0l1sdfc51024jclqv9104nagpirxx8w0gcn5h0bdxv950jnr2qqp"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -3290,22 +3316,23 @@ attachments).
|
||||||
"test_testcase_playback")
|
"test_testcase_playback")
|
||||||
" and not "))))
|
" and not "))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list nss-certs-for-test
|
(list python-aiohttp
|
||||||
python-flask
|
python-boto3
|
||||||
python-httplib2
|
python-httplib2
|
||||||
python-ipaddress
|
python-httpx
|
||||||
python-mock
|
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-cov
|
python-pytest-cov
|
||||||
|
python-pytest-aiohttp
|
||||||
|
python-pytest-asyncio
|
||||||
python-pytest-httpbin
|
python-pytest-httpbin
|
||||||
|
python-requests
|
||||||
python-setuptools
|
python-setuptools
|
||||||
|
python-tornado
|
||||||
python-urllib3
|
python-urllib3
|
||||||
|
python-werkzeug
|
||||||
python-wheel))
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-pyyaml
|
(list python-pyyaml python-wrapt python-yarl))
|
||||||
python-six
|
|
||||||
python-wrapt
|
|
||||||
python-yarl))
|
|
||||||
(home-page "https://github.com/kevin1024/vcrpy")
|
(home-page "https://github.com/kevin1024/vcrpy")
|
||||||
(synopsis "Automatically mock your HTTP interactions")
|
(synopsis "Automatically mock your HTTP interactions")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
;;; Copyright © 2024 TakeV <takev@disroot.org>
|
;;; Copyright © 2024 TakeV <takev@disroot.org>
|
||||||
;;; Copyright © 2023 Ivan Vilata i Balaguer <ivan@selidor.net>
|
;;; Copyright © 2023 Ivan Vilata i Balaguer <ivan@selidor.net>
|
||||||
;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
|
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -764,6 +765,33 @@ install: libbitshuffle.so
|
||||||
(inputs '())
|
(inputs '())
|
||||||
(native-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
|
(define-public python-zipp
|
||||||
(package
|
(package
|
||||||
(name "python-zipp")
|
(name "python-zipp")
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
;;; 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 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||||
;;; Copyright © 2016, 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
|
;;; Copyright © 2016, 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||||
|
@ -57,6 +57,7 @@
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages certs)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages crates-io)
|
#:use-module (gnu packages crates-io)
|
||||||
#:use-module (gnu packages crates-tls)
|
#:use-module (gnu packages crates-tls)
|
||||||
|
@ -141,17 +142,19 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
|
||||||
(uri (pypi-uri "passlib" version))
|
(uri (pypi-uri "passlib" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "015y5qaw9qnxr29lg60dml1g5rbqd4586wy5n8m41ib55gvm1zfy"))))
|
(base32 "015y5qaw9qnxr29lg60dml1g5rbqd4586wy5n8m41ib55gvm1zfy"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(native-inputs
|
|
||||||
(list python-nose))
|
|
||||||
(propagated-inputs
|
|
||||||
(list python-bcrypt))
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
(add-before 'check 'set-PYTHON_EGG_CACHE
|
(add-before 'check 'set-PYTHON_EGG_CACHE
|
||||||
;; Some tests require access to "$HOME/.cython".
|
;; 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")
|
(home-page "https://bitbucket.org/ecollins/passlib")
|
||||||
(synopsis "Comprehensive password hashing framework")
|
(synopsis "Comprehensive password hashing framework")
|
||||||
(description
|
(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.")
|
to providing full-strength password hashing for multi-user application.")
|
||||||
(license license:bsd-3)))
|
(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
|
(define-public python-paramiko
|
||||||
(package
|
(package
|
||||||
(name "python-paramiko")
|
(name "python-paramiko")
|
||||||
|
@ -455,13 +432,7 @@ blake3, a cryptographic hash function.")
|
||||||
;; Those tests uses PKCS12, which has been removed in
|
;; Those tests uses PKCS12, which has been removed in
|
||||||
;; pyopenssl 23.3.0:
|
;; pyopenssl 23.3.0:
|
||||||
"not test_custom_not_before_not_after"
|
"not test_custom_not_before_not_after"
|
||||||
"test_ca_cert_in_mem"
|
"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")
|
|
||||||
" and not "))
|
" and not "))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
|
@ -474,7 +445,7 @@ blake3, a cryptographic hash function.")
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-pyopenssl python-tldextract))
|
(list python-pyopenssl python-tldextract))
|
||||||
(native-inputs
|
(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")
|
(home-page "https://github.com/ikreymer/certauth")
|
||||||
(synopsis "Certificate authority creation tool")
|
(synopsis "Certificate authority creation tool")
|
||||||
(description "This package provides a small library, built on top of
|
(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
|
;; PyOpenSSL runs tests against a certificate with a fixed
|
||||||
;; expiry time. To ensure successful builds in the future,
|
;; expiry time. To ensure successful builds in the future,
|
||||||
;; set the time to roughly the release date.
|
;; 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
|
;; This test tries to look up certificates from
|
||||||
;; the compiled-in default path in OpenSSL, which
|
;; the compiled-in default path in OpenSSL, which
|
||||||
;; does not exist in the build environment.
|
;; does not exist in the build environment.
|
||||||
|
@ -1657,17 +1634,14 @@ signatures.")
|
||||||
(uri (pypi-uri "PGPy" version))
|
(uri (pypi-uri "PGPy" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "10w3h934fi1ijx72ppn67a50yhkf8n1db6xx02gk2fjc7wsjx717"))))
|
(base32 "10w3h934fi1ijx72ppn67a50yhkf8n1db6xx02gk2fjc7wsjx717"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list #:test-flags
|
||||||
(modify-phases %standard-phases
|
;; All broken tests are in this file.
|
||||||
(replace 'check
|
;; They fail with ValueError: key_size must be at least 1024-bits.
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
#~(list "--ignore" "tests/test_10_exceptions.py")))
|
||||||
(when tests?
|
|
||||||
(invoke "pytest")))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pytest
|
(list python-pytest python-setuptools python-wheel))
|
||||||
python-wheel))
|
|
||||||
(propagated-inputs (list python-cryptography python-pyasn1))
|
(propagated-inputs (list python-cryptography python-pyasn1))
|
||||||
(home-page "https://github.com/SecurityInnovation/PGPy")
|
(home-page "https://github.com/SecurityInnovation/PGPy")
|
||||||
(synopsis "Python implementation of OpenPGP")
|
(synopsis "Python implementation of OpenPGP")
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
;;; Copyright © 2024 Marco Baggio <marco.baggio@mdc-berlin.de>
|
;;; Copyright © 2024 Marco Baggio <marco.baggio@mdc-berlin.de>
|
||||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
|
;;; Copyright © 2024 Rick Huijzer <ikbenrickhuyzer@gmail.com>
|
||||||
|
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -67,6 +68,7 @@
|
||||||
#:use-module (gnu packages maths)
|
#:use-module (gnu packages maths)
|
||||||
#:use-module (gnu packages mpi)
|
#:use-module (gnu packages mpi)
|
||||||
#:use-module (gnu packages pcre)
|
#:use-module (gnu packages pcre)
|
||||||
|
#:use-module (gnu packages package-management)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
@ -82,6 +84,7 @@
|
||||||
#:use-module (gnu packages ssh)
|
#:use-module (gnu packages ssh)
|
||||||
#:use-module (gnu packages statistics)
|
#:use-module (gnu packages statistics)
|
||||||
#:use-module (gnu packages time)
|
#:use-module (gnu packages time)
|
||||||
|
#:use-module (gnu packages version-control)
|
||||||
#:use-module (gnu packages xdisorg)
|
#:use-module (gnu packages xdisorg)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
#:use-module (gnu packages xorg)
|
#:use-module (gnu packages xorg)
|
||||||
|
@ -372,7 +375,21 @@ Features:
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(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
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'relax-requirements
|
(add-after 'unpack 'relax-requirements
|
||||||
|
@ -1052,6 +1069,172 @@ utilizing the power of scikit-learn, e.g., for pre-processing or doing
|
||||||
cross-validation.")
|
cross-validation.")
|
||||||
(license license:gpl3+))))
|
(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
|
(define-public python-tdda
|
||||||
(package
|
(package
|
||||||
(name "python-tdda")
|
(name "python-tdda")
|
||||||
|
@ -1643,7 +1826,7 @@ doing practical, real world data analysis in Python.")
|
||||||
(lambda _
|
(lambda _
|
||||||
(copy-recursively
|
(copy-recursively
|
||||||
(string-append #$output
|
(string-append #$output
|
||||||
"/lib/python3.10/site-packages/pandas/_libs")
|
"/lib/python3.11/site-packages/pandas/_libs")
|
||||||
"pandas/_libs"))))))
|
"pandas/_libs"))))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-dateutil
|
(list python-dateutil
|
||||||
|
@ -2465,7 +2648,7 @@ objects.")
|
||||||
(define-public python-pytensor
|
(define-public python-pytensor
|
||||||
(package
|
(package
|
||||||
(name "python-pytensor")
|
(name "python-pytensor")
|
||||||
(version "2.18.1")
|
(version "2.28.3") ; the minimal version supporting SciPy 1.12.0
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -2474,52 +2657,65 @@ objects.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0qa0y13xfm6w7ry7gp0lv84c8blyg34a9ns7ynwqyhf9majq08s5"))))
|
"1yz1yslms6kdmy4sgnvbnghhclcpkc80z3vaw9c2y3b3j1fs9b4v"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(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
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
;; Replace version manually because pytensor uses
|
;; Replace version manually because pytensor uses
|
||||||
;; versioneer, which requires git metadata.
|
;; versioneer, which requires git metadata.
|
||||||
(add-after 'unpack 'versioneer
|
(add-after 'unpack 'versioneer
|
||||||
(lambda _
|
(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")
|
(invoke "versioneer" "install")
|
||||||
(substitute* "setup.py"
|
(substitute* "setup.py"
|
||||||
(("versioneer.get_version\\(\\)")
|
(("version=versioneer.get_version\\(),")
|
||||||
(string-append "\"" #$version "\"")))))
|
(format #f "version=~s," #$version)))))
|
||||||
(replace 'check
|
(add-before 'check 'pre-check
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda _
|
||||||
(when tests?
|
;; It is required for most tests.
|
||||||
(setenv "HOME" "/tmp") ; required for most tests
|
(setenv "HOME" "/tmp")
|
||||||
;; Test discovery fails, have to call pytest by hand.
|
;; Cython extensions have to be built before running the tests.
|
||||||
;; test_tensor_basic.py file requires JAX.
|
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
|
||||||
(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/")))))))
|
|
||||||
(native-inputs (list python-cython
|
(native-inputs (list python-cython
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-mock
|
python-pytest-mock
|
||||||
|
@ -2663,6 +2859,9 @@ annotations on an existing boxplots and barplots generated by seaborn.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0jrq2vhan2h280h6cw1sm5hys2nzmf19w4py64k3nrkc320z9mni"))))
|
(base32 "0jrq2vhan2h280h6cw1sm5hys2nzmf19w4py64k3nrkc320z9mni"))))
|
||||||
(build-system pyproject-build-system)
|
(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.
|
;; Pint is optional, but we do not propagate it due to its size.
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pint
|
(list python-pint
|
||||||
|
@ -2878,32 +3077,6 @@ and more
|
||||||
@end itemize")
|
@end itemize")
|
||||||
(license license:gpl3)))
|
(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
|
(define-public python-dask-expr
|
||||||
(package
|
(package
|
||||||
(name "python-dask-expr")
|
(name "python-dask-expr")
|
||||||
|
@ -3794,18 +3967,37 @@ it can be used for displaying many qualitatively different samples.")
|
||||||
(package
|
(package
|
||||||
(name "python-paramz")
|
(name "python-paramz")
|
||||||
(version "0.9.6")
|
(version "0.9.6")
|
||||||
(source (origin
|
(source
|
||||||
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/sods/paramz")
|
(url "https://github.com/sods/paramz")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "1ywc2jzj40m6wmq227j3snxvp4434s0m1xk1abg6v6mr87pv2sa9"))))
|
||||||
"1ywc2jzj40m6wmq227j3snxvp4434s0m1xk1abg6v6mr87pv2sa9"))))
|
|
||||||
(build-system pyproject-build-system)
|
(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
|
(native-inputs
|
||||||
(list python-nose
|
(list python-pytest
|
||||||
python-setuptools
|
python-setuptools
|
||||||
python-wheel))
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
|
@ -4055,16 +4247,10 @@ numerical computation.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0jb5lia0q742d1713jk33vlj41y61sf52j6pgk7pvhxvfxglgxjr"))))
|
"0jb5lia0q742d1713jk33vlj41y61sf52j6pgk7pvhxvfxglgxjr"))))
|
||||||
(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" "-vv")))))))
|
|
||||||
(propagated-inputs (list python-numpy))
|
(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")
|
(home-page "https://github.com/dgasmith/opt_einsum")
|
||||||
(synopsis "Optimizing numpys einsum function")
|
(synopsis "Optimizing numpys einsum function")
|
||||||
(description
|
(description
|
||||||
|
@ -4080,24 +4266,44 @@ documentation for more information.")
|
||||||
(define-public python-vaex-core
|
(define-public python-vaex-core
|
||||||
(package
|
(package
|
||||||
(name "python-vaex-core")
|
(name "python-vaex-core")
|
||||||
(version "4.17.1")
|
(version "4.18.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method git-fetch)
|
||||||
(uri (pypi-uri "vaex-core" version))
|
(uri (git-reference
|
||||||
|
(url "https://www.github.com/maartenbreddels/vaex")
|
||||||
|
(commit (string-append "core-v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1rzx5px3fwi5mh1z8y91brvffk7dkhj287lnmqp8zp6836kkqhya"))
|
(base32 "1sp096msbzgjlwi8c1ink2bp4pjff9pvikqz1y1li8d3in4gpgdr"))
|
||||||
(modules '((guix build utils)))
|
(patches
|
||||||
|
(search-patches "python-vaex-core-fix-tsl-use.patch"))
|
||||||
|
(modules '((guix build utils)
|
||||||
|
(ice-9 ftw)))
|
||||||
(snippet
|
(snippet
|
||||||
;; Remove bundled libraries
|
#~(begin
|
||||||
'(for-each delete-file-recursively
|
;; Delete everything except for vaex-core itself:
|
||||||
(list "vendor/boost"
|
(define (delete-except exception)
|
||||||
"vendor/pcre"
|
(lambda (file)
|
||||||
"vendor/pybind11")))))
|
(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)
|
(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
|
(inputs
|
||||||
(list boost pcre pybind11-2.3))
|
(list boost pcre pybind11 string-view-lite tsl-hopscotch-map))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-aplus
|
(list python-aplus
|
||||||
python-blake3
|
python-blake3
|
||||||
|
@ -4321,6 +4527,125 @@ compagnies.")
|
||||||
neuronal models")
|
neuronal models")
|
||||||
(license license:bsd-3)))
|
(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
|
;;; 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
|
;;; 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")
|
(variable "PYTHONTZPATH")
|
||||||
(files (list "share/zoneinfo")))))))
|
(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
|
(define-public python-3.12
|
||||||
(package
|
(package
|
||||||
(name "python-next")
|
(name "python-next")
|
||||||
|
@ -1051,7 +1450,7 @@ data types.")
|
||||||
(define-public python-next python-3.12)
|
(define-public python-next python-3.12)
|
||||||
|
|
||||||
;; Current 3.x version.
|
;; Current 3.x version.
|
||||||
(define-public python-3 python-3.10)
|
(define-public python-3 python-3.11)
|
||||||
|
|
||||||
;; Current major version.
|
;; Current major version.
|
||||||
(define-public python python-3)
|
(define-public python python-3)
|
||||||
|
@ -1088,10 +1487,10 @@ data types.")
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments python)
|
(substitute-keyword-arguments (package-arguments python)
|
||||||
((#:configure-flags flags '())
|
((#:configure-flags configure-flags)
|
||||||
`(cons "--with-pydebug" ,flags))))
|
#~(append #$configure-flags
|
||||||
(synopsis
|
(list "--with-pydebug")))))
|
||||||
"Python with the debug hooks enabled")
|
(synopsis "Python with the debug hooks enabled")
|
||||||
(description
|
(description
|
||||||
"This variant of Python provides an interpreter built with
|
"This variant of Python provides an interpreter built with
|
||||||
@code{--with-pydebug} to help develop and debug extensions. See
|
@code{--with-pydebug} to help develop and debug extensions. See
|
||||||
|
|
|
@ -4033,7 +4033,7 @@ Python.")
|
||||||
(define-public python-sip
|
(define-public python-sip
|
||||||
(package
|
(package
|
||||||
(name "python-sip")
|
(name "python-sip")
|
||||||
(version "6.8.6")
|
(version "6.10.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
@ -4043,18 +4043,20 @@ Python.")
|
||||||
"/sip-" version ".tar.gz")))
|
"/sip-" version ".tar.gz")))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0ykxq0607f2sdwbl5cxbp0y8pl14bsgzc9nhifpxbibfivj5kjbz"))
|
"176jylhzs2ci2r9f3l75k9dpwhp1dn0qv2cy9phdp62cgmlia1gs"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; Relax setuptools dependency
|
||||||
|
#~(substitute* "pyproject.toml"
|
||||||
|
(("\"setuptools>=.*\",") "\"setuptools\",")))
|
||||||
(patches (search-patches "python-sip-include-dirs.patch"))))
|
(patches (search-patches "python-sip-include-dirs.patch"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:tests? #f)) ; No test system found.
|
(list #:tests? #f)) ; No test system found.
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-wrapper python-setuptools python-setuptools-scm-next))
|
(list python-setuptools python-setuptools-scm-next python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-tomli
|
(list python-packaging python-setuptools))
|
||||||
python-packaging
|
|
||||||
python-setuptools
|
|
||||||
python-wheel))
|
|
||||||
(home-page "https://www.riverbankcomputing.com/software/sip/intro")
|
(home-page "https://www.riverbankcomputing.com/software/sip/intro")
|
||||||
(synopsis "Python binding creator for C and C++ libraries")
|
(synopsis "Python binding creator for C and C++ libraries")
|
||||||
(description
|
(description
|
||||||
|
@ -5137,7 +5139,7 @@ color-related widgets.")
|
||||||
(define-public python-shiboken-2
|
(define-public python-shiboken-2
|
||||||
(package
|
(package
|
||||||
(name "python-shiboken-2")
|
(name "python-shiboken-2")
|
||||||
(version "5.15.10")
|
(version "5.15.16")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://qt/QtForPython/pyside2/PySide2-"
|
(uri (string-append "mirror://qt/QtForPython/pyside2/PySide2-"
|
||||||
|
@ -5145,7 +5147,7 @@ color-related widgets.")
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0fnkx8ax2lkin3bpqbz4zbdrdin2ixb4d6s3c0xghh9sc79r3xia"))))
|
"0q3ky0fai3wr8kr1q82vdg5byhbn5sfdymmb554afpi72zyxcgkd"))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list clang-toolchain
|
(list clang-toolchain
|
||||||
|
|
|
@ -3272,7 +3272,6 @@ satellites.")
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-mock
|
(list python-mock
|
||||||
python-mox3
|
python-mox3
|
||||||
python-pep8
|
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-mock
|
python-pytest-mock
|
||||||
python-pyyaml
|
python-pyyaml
|
||||||
|
|
|
@ -81,10 +81,15 @@
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:test-flags
|
#:test-flags
|
||||||
|
#~(list "-k" (string-join
|
||||||
|
(list
|
||||||
;; These require Internet access.
|
;; These require Internet access.
|
||||||
#~(list "-k" (string-append "not test_latex_images"
|
"not test_latex_images"
|
||||||
" and not test_build_latex_doc[lualatex-manual]"
|
"test_build_latex_doc[lualatex-manual]"
|
||||||
" and not est_build_latex_doc[lualatex-howto]"))
|
"est_build_latex_doc[lualatex-howto]"
|
||||||
|
;; AssertionError: assert...list of weak references to the object...
|
||||||
|
"test_autodoc_default_options")
|
||||||
|
" and not "))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
|
@ -192,7 +197,10 @@ sources.")
|
||||||
" and not test_viewcode"
|
" and not test_viewcode"
|
||||||
;; These fail with pygments 2.10+. They are harmless.
|
;; These fail with pygments 2.10+. They are harmless.
|
||||||
" and not test_additional_targets_should_not_be_translated"
|
" 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
|
#:phases
|
||||||
'(modify-phases %standard-phases
|
'(modify-phases %standard-phases
|
||||||
(add-before 'check 'pre-check
|
(add-before 'check 'pre-check
|
||||||
|
@ -262,25 +270,6 @@ sources.")
|
||||||
(texlive-updmap.cfg
|
(texlive-updmap.cfg
|
||||||
(list texlive-cm-super texlive-tex-gyre))))))
|
(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
|
(define-public python-sphinxcontrib-apidoc
|
||||||
(package
|
(package
|
||||||
(name "python-sphinxcontrib-apidoc")
|
(name "python-sphinxcontrib-apidoc")
|
||||||
|
@ -603,7 +592,15 @@ supported with @code{sphinx-issues}.")
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1ivqz6yv96a2jp59kylg1gbkrmzq6zwilppz3ij0zrkjn25zb97k"))))
|
(base32 "1ivqz6yv96a2jp59kylg1gbkrmzq6zwilppz3ij0zrkjn25zb97k"))))
|
||||||
(build-system pyproject-build-system)
|
(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
|
(native-inputs
|
||||||
(list python-pytest
|
(list python-pytest
|
||||||
python-pytest-regressions
|
python-pytest-regressions
|
||||||
|
@ -1229,13 +1226,6 @@ enabled web server.")
|
||||||
documenting acceptable argument types and return value types of functions.")
|
documenting acceptable argument types and return value types of functions.")
|
||||||
(license license:expat)))
|
(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
|
(define-public python-sphinx-pytest
|
||||||
(package
|
(package
|
||||||
(name "python-sphinx-pytest")
|
(name "python-sphinx-pytest")
|
||||||
|
|
|
@ -916,7 +916,7 @@ comparison and diagnostics.")
|
||||||
(define-public python-pymc
|
(define-public python-pymc
|
||||||
(package
|
(package
|
||||||
(name "python-pymc")
|
(name "python-pymc")
|
||||||
(version "5.11.0")
|
(version "5.21.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method git-fetch) ; no tests in PyPI
|
(method git-fetch) ; no tests in PyPI
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
|
@ -925,28 +925,17 @@ comparison and diagnostics.")
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0x94qzq3z02fxlliz1xfdpb2pbn7nhp4skzcxz6qdavbj9xqcxys"))))
|
"0azkbl0mpanza35ibdqdm21bf45n3xi26wy01lnxzxqblcjcny9l"))))
|
||||||
(build-system pyproject-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list #:tests? #f ; tests are too computationally intensive
|
(list #:tests? #f ; tests are too computationally intensive
|
||||||
#:phases #~(modify-phases %standard-phases
|
#:phases #~(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'versioneer
|
(add-after 'unpack 'versioneer
|
||||||
(lambda _
|
(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")
|
(invoke "versioneer" "install")
|
||||||
(substitute* "setup.py"
|
(substitute* "setup.py"
|
||||||
(("versioneer.get_version\\(\\)")
|
(("version=versioneer.get_version\\(),")
|
||||||
(string-append "\"" #$version "\"")))))
|
(format #f "version=~s," #$version)))))
|
||||||
;; To create the compiledir for tests.
|
;; To create the compiledir for tests.
|
||||||
(add-before 'check 'write-permissions
|
(add-before 'check 'write-permissions
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
|
@ -1009,24 +998,18 @@ and a lot more.")
|
||||||
(define-public python-patsy
|
(define-public python-patsy
|
||||||
(package
|
(package
|
||||||
(name "python-patsy")
|
(name "python-patsy")
|
||||||
(version "0.5.2")
|
(version "1.0.1")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "patsy" version))
|
(uri (pypi-uri "patsy" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"17dn72519gvwifw3i8mzwlslxmxkl8ihzfrxg1iblsk70iwdwlsh"))))
|
"1i60b6s8zj0w2ks63ip4mr8z14p6pixp76rm9q2qr0gc3qwsk1p7"))))
|
||||||
(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" "-vv")))))))
|
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-numpy python-scipy python-six))
|
(list python-numpy python-scipy))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pytest))
|
(list python-pytest python-pytest-cov python-setuptools python-wheel))
|
||||||
(home-page "https://github.com/pydata/patsy")
|
(home-page "https://github.com/pydata/patsy")
|
||||||
(synopsis "Describe statistical models and build design matrices")
|
(synopsis "Describe statistical models and build design matrices")
|
||||||
(description
|
(description
|
||||||
|
@ -3333,7 +3316,7 @@ statistical summary in arrays and enumerables.")
|
||||||
(define-public python-pgmpy
|
(define-public python-pgmpy
|
||||||
(package
|
(package
|
||||||
(name "python-pgmpy")
|
(name "python-pgmpy")
|
||||||
(version "0.1.24")
|
(version "1.0.0")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch) ;pypi package does not include test data
|
(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))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0fvzh6v0yhgdryczamvzhfy2ymywkh0ssx4rl47xnfvi43hnij90"))))
|
"1hg6wrg3jcac71zn4gknni1wrn38wa86ka3sgp2bndz59mx6sr2s"))))
|
||||||
(build-system pyproject-build-system)
|
(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
|
(propagated-inputs (list python-daft
|
||||||
python-joblib
|
python-joblib
|
||||||
python-networkx
|
python-networkx
|
||||||
|
@ -3358,7 +3347,11 @@ statistical summary in arrays and enumerables.")
|
||||||
python-statsmodels
|
python-statsmodels
|
||||||
python-tqdm))
|
python-tqdm))
|
||||||
(native-inputs (list python-mock
|
(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")
|
(home-page "https://github.com/pgmpy/pgmpy")
|
||||||
(synopsis "Probabilistic Graphical Models library")
|
(synopsis "Probabilistic Graphical Models library")
|
||||||
(description "This package provides a library for Probabilistic
|
(description "This package provides a library for Probabilistic
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages libevent)
|
#:use-module (gnu packages libevent)
|
||||||
|
#:use-module (gnu packages libffi)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
@ -261,7 +262,7 @@ networks.")
|
||||||
(define-public onionshare-cli
|
(define-public onionshare-cli
|
||||||
(package
|
(package
|
||||||
(name "onionshare-cli")
|
(name "onionshare-cli")
|
||||||
(version "2.6")
|
(version "2.6.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -270,32 +271,53 @@ networks.")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1bhrp019a0923h7dnfxhgvgvdp81blvnsbnvzy34hp827abxf3ic"))
|
(base32 "16yr25llnbgl2iwk458ca0rhrxsmpfx72q4gdg4a52i6g546p3hd"))))
|
||||||
(patches (search-patches "onionshare-cli-async-mode.patch"))))
|
(build-system pyproject-build-system)
|
||||||
(build-system python-build-system)
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pytest))
|
(list python-cython-3
|
||||||
|
python-poetry-core
|
||||||
|
python-pytest
|
||||||
|
python-wheel))
|
||||||
(inputs
|
(inputs
|
||||||
;; TODO: obfs4proxy
|
|
||||||
(list python-click
|
(list python-click
|
||||||
|
python-cffi
|
||||||
python-colorama
|
python-colorama
|
||||||
python-eventlet
|
python-eventlet
|
||||||
python-flask
|
python-flask
|
||||||
python-flask-httpauth
|
python-flask-compress
|
||||||
python-flask-socketio
|
python-flask-socketio
|
||||||
python-pynacl
|
python-gevent
|
||||||
|
python-gevent-websocket
|
||||||
|
python-packaging
|
||||||
python-psutil
|
python-psutil
|
||||||
python-pycryptodome
|
python-pynacl
|
||||||
python-pysocks
|
python-pysocks
|
||||||
|
python-qrcode
|
||||||
python-requests
|
python-requests
|
||||||
|
python-setuptools
|
||||||
python-stem
|
python-stem
|
||||||
python-unidecode
|
python-unidecode
|
||||||
python-urllib3
|
python-urllib3-next
|
||||||
|
python-waitress
|
||||||
|
python-werkzeug
|
||||||
tor))
|
tor))
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-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
|
(add-after 'unpack 'bake-tor
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
(substitute* (list "cli/onionshare_cli/common.py"
|
(substitute* (list "cli/onionshare_cli/common.py"
|
||||||
|
@ -307,16 +329,15 @@ networks.")
|
||||||
(search-input-directory inputs "share/tor")))))
|
(search-input-directory inputs "share/tor")))))
|
||||||
(add-before 'build 'change-directory
|
(add-before 'build 'change-directory
|
||||||
(lambda _ (chdir "cli")))
|
(lambda _ (chdir "cli")))
|
||||||
(replace 'check
|
(add-before 'check 'pre-check
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(when tests?
|
(when tests?
|
||||||
(setenv "HOME" "/tmp")
|
(setenv "HOME" "/tmp")
|
||||||
;; Greendns is not needed for testing, and if eventlet tries to
|
;; Greendns is not needed for testing, and if eventlet tries
|
||||||
;; load it, an OSError is thrown when getprotobyname is called.
|
;; to load it, an OSError is thrown when getprotobyname is
|
||||||
;; Thankfully there is an environment variable to disable the
|
;; called. Thankfully there is an environment variable to
|
||||||
;; greendns import, so use it:
|
;; disable the greendns import, so use it:
|
||||||
(setenv "EVENTLET_NO_GREENDNS" "yes")
|
(setenv "EVENTLET_NO_GREENDNS" "yes")))))))
|
||||||
(invoke "pytest" "-v" "./tests")))))))
|
|
||||||
(home-page "https://onionshare.org/")
|
(home-page "https://onionshare.org/")
|
||||||
(synopsis "Securely and anonymously share files")
|
(synopsis "Securely and anonymously share files")
|
||||||
(description "OnionShare lets you 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 Maxime Devos <maximedevos@telenet.be>
|
||||||
;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
|
;;; Copyright © 2025 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -23,24 +24,29 @@
|
||||||
(define-module (gnu packages tryton)
|
(define-module (gnu packages tryton)
|
||||||
#:use-module ((guix licenses) #:prefix license:)
|
#:use-module ((guix licenses) #:prefix license:)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages bash)
|
#:use-module (gnu packages bash)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
#:use-module (gnu packages databases)
|
#:use-module (gnu packages databases)
|
||||||
#:use-module (gnu packages finance)
|
#:use-module (gnu packages finance)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages gnome)
|
#:use-module (gnu packages gnome)
|
||||||
|
#:use-module (gnu packages graphviz)
|
||||||
#:use-module (gnu packages gtk)
|
#:use-module (gnu packages gtk)
|
||||||
#:use-module (gnu packages pdf)
|
#:use-module (gnu packages pdf)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
#:use-module (gnu packages python-crypto)
|
#:use-module (gnu packages python-crypto)
|
||||||
#:use-module (gnu packages python-web)
|
#:use-module (gnu packages python-web)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
#:use-module (gnu packages time)
|
#:use-module (gnu packages time)
|
||||||
#:use-module (gnu packages xml)
|
#:use-module (gnu packages xml)
|
||||||
|
#:use-module (guix gexp)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
#:use-module (guix utils)
|
#: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)
|
(define (guix-trytonpath-search-path version)
|
||||||
"Generate a GUIX_TRYTOND_MODULES_PATH search path specification, using
|
"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
|
(define-public trytond
|
||||||
(package
|
(package
|
||||||
(name "trytond")
|
(name "trytond")
|
||||||
(version "6.2.10")
|
(version "7.4.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "trytond" version))
|
(uri (pypi-uri "trytond" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0s53ig8snbs9936h99pwa0lwhcrd3j3cbpwlmf90mf1chrif7zca"))
|
(base32 "1bwa631qz07k6s5fbki3ph6sx0ch9yss2q4sa1jb67z6angiwv5f"))
|
||||||
(patches (search-patches "trytond-add-egg-modules-to-path.patch"
|
(patches (search-patches "trytond-add-guix_trytond_path.patch"))))
|
||||||
"trytond-add-guix_trytond_path.patch"))))
|
(build-system pyproject-build-system)
|
||||||
(build-system python-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
|
(propagated-inputs
|
||||||
(list python-dateutil
|
(list python-dateutil
|
||||||
python-defusedxml
|
python-defusedxml
|
||||||
python-genshi
|
python-genshi
|
||||||
python-lxml
|
python-lxml
|
||||||
python-magic
|
|
||||||
python-passlib
|
python-passlib
|
||||||
python-polib
|
python-polib
|
||||||
python-psycopg2
|
|
||||||
python-relatorio
|
python-relatorio
|
||||||
python-sql
|
python-sql
|
||||||
python-werkzeug-1.0 ;setup.py requires werkzeug<2
|
python-werkzeug))
|
||||||
python-wrapt))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-mock python-pillow))
|
(list python-pillow
|
||||||
|
python-pydot
|
||||||
|
python-pytest
|
||||||
|
python-setuptools
|
||||||
|
python-wheel
|
||||||
|
tzdata-for-tests))
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list (guix-trytonpath-search-path (package-version python))))
|
(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/")
|
(home-page "https://www.tryton.org/")
|
||||||
(synopsis "Tryton Server")
|
(synopsis "Tryton Server")
|
||||||
(description "Tryton is a three-tier high-level general purpose
|
(description "Tryton is a three-tier high-level general purpose
|
||||||
|
@ -104,30 +118,33 @@ and security.")
|
||||||
(define-public tryton
|
(define-public tryton
|
||||||
(package
|
(package
|
||||||
(name "tryton")
|
(name "tryton")
|
||||||
(version "6.2.7")
|
(version "7.4.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "tryton" version))
|
(uri (pypi-uri "tryton" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "1bvwkrj2mmnddaif60g2np2jpx8lq5ka32xlhd4rlnshnbryrm5q"))))
|
(base32 "0q0qa4pjbpc0h8r9hlnm5dh315w5i7mzqpdrlw1c8qvigpl1rf7g"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
(add-before 'check 'change-home
|
(add-before 'check 'change-home
|
||||||
(lambda _
|
(lambda _
|
||||||
;; Change from /homeless-shelter to /tmp for write permission.
|
;; Change from /homeless-shelter to /tmp for write permission.
|
||||||
(setenv "HOME" "/tmp")))
|
(setenv "HOME" "/tmp")))
|
||||||
(add-after 'install 'wrap-gi-python
|
(add-after 'install 'wrap-gi-python
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
(lambda _
|
||||||
(let ((out (assoc-ref outputs "out"))
|
(let ((gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
||||||
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
|
(wrap-program (string-append #$output "/bin/tryton")
|
||||||
(wrap-program (string-append out "/bin/tryton")
|
|
||||||
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
|
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list `(,glib "bin")
|
(list `(,glib "bin")
|
||||||
gobject-introspection))
|
gobject-introspection
|
||||||
|
python-pytest
|
||||||
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
(inputs (list bash-minimal)) ;for wrap-program
|
(inputs (list bash-minimal)) ;for wrap-program
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list (librsvg-for-system)
|
(list (librsvg-for-system)
|
||||||
|
@ -145,19 +162,20 @@ and security.")
|
||||||
(define-public python-proteus
|
(define-public python-proteus
|
||||||
(package
|
(package
|
||||||
(name "python-proteus")
|
(name "python-proteus")
|
||||||
(version "6.2.3")
|
(version "7.4.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "proteus" version))
|
(uri (pypi-uri "proteus" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0xx8kqzgs66rgz6bk5favnjs0akz6znz81vmjwpwp2wpq7094fsr"))))
|
(base32 "1q3d0hkvmfsmxbx2qqp8zpslyy11mzwh0q2dkrh958yfyrzi1550"))))
|
||||||
(build-system python-build-system)
|
(build-system pyproject-build-system)
|
||||||
;; Tests require python-trytond-party which requires python-proteus.
|
;; Tests require python-trytond-party which requires python-proteus.
|
||||||
(arguments
|
(arguments
|
||||||
`(#:tests? #f))
|
`(#:tests? #f))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-dateutil python-defusedxml))
|
(list python-dateutil python-defusedxml))
|
||||||
|
(native-inputs (list python-setuptools python-wheel))
|
||||||
(home-page "http://www.tryton.org/")
|
(home-page "http://www.tryton.org/")
|
||||||
(synopsis "Library to access a Tryton server as a client")
|
(synopsis "Library to access a Tryton server as a client")
|
||||||
(description
|
(description
|
||||||
|
|
|
@ -2702,7 +2702,7 @@ execution of any hook written in any language before every commit.")
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list (search-path-specification
|
(list (search-path-specification
|
||||||
(variable "HGEXTENSIONPATH")
|
(variable "HGEXTENSIONPATH")
|
||||||
(files '("lib/python3.10/site-packages/hgext3rd")))))
|
(files '("lib/python3.11/site-packages/hgext3rd")))))
|
||||||
(home-page "https://www.mercurial-scm.org/")
|
(home-page "https://www.mercurial-scm.org/")
|
||||||
(synopsis "Decentralized version control system")
|
(synopsis "Decentralized version control system")
|
||||||
(description
|
(description
|
||||||
|
@ -4312,50 +4312,47 @@ defects faster.")
|
||||||
(license license:expat)))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public gita
|
(define-public gita
|
||||||
(let ((commit "e41b504dca90a25e9be27f296da7ce22e5782893")
|
|
||||||
(revision "1"))
|
|
||||||
(package
|
(package
|
||||||
(name "gita")
|
(name "gita")
|
||||||
(version (git-version "0.12.9" revision commit))
|
(version "0.16.7.2")
|
||||||
(source (origin
|
(source
|
||||||
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
(uri (git-reference
|
(uri (git-reference
|
||||||
(url "https://github.com/nosarthur/gita")
|
(url "https://github.com/nosarthur/gita")
|
||||||
(commit commit)))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "118dzmjgml0c32yllr2178ash2hvgn201i463bv4y0qbywajm9ax"))))
|
||||||
"1k03zgcbhl91cgyh4k7ywyjp00y63q4bqbimncqh5b3lni8l8j5l"))))
|
(build-system pyproject-build-system)
|
||||||
(build-system python-build-system)
|
|
||||||
(native-inputs
|
|
||||||
(list git ;for tests
|
|
||||||
python-pytest))
|
|
||||||
(propagated-inputs
|
|
||||||
(list python-pyyaml))
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:test-flags #~(list "--ignore" "tests/test_main.py")
|
||||||
(replace 'check
|
#:phases
|
||||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
#~(modify-phases %standard-phases
|
||||||
(substitute* "tests/test_main.py"
|
(add-before 'check 'pre-check
|
||||||
(("'gita\\\\n'") "'source\\n'")
|
(lambda _
|
||||||
(("'gita'") "'source'"))
|
(invoke (string-append
|
||||||
(invoke (search-input-file inputs "/bin/git")
|
#$(this-package-native-input "git-minimal") "/bin/git")
|
||||||
"init")
|
"init")))
|
||||||
(add-installed-pythonpath inputs outputs)
|
|
||||||
(invoke (search-input-file inputs "/bin/pytest")
|
|
||||||
"-vv" "tests")))
|
|
||||||
(add-after 'install 'install-shell-completions
|
(add-after 'install 'install-shell-completions
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda _
|
||||||
(let* ((out (assoc-ref outputs "out"))
|
(let* ((out #$output)
|
||||||
(bash-completion (string-append out "/etc/bash_completion.d"))
|
(bash-completion (string-append out "/etc/bash_completion.d"))
|
||||||
(zsh-completion (string-append out "/etc/zsh/site-functions")))
|
(zsh-completion (string-append out "/etc/zsh/site-functions")))
|
||||||
(mkdir-p bash-completion)
|
(mkdir-p bash-completion)
|
||||||
(copy-file ".gita-completion.bash"
|
(copy-file "auto-completion/bash/.gita-completion.bash"
|
||||||
(string-append bash-completion "/gita"))
|
(string-append bash-completion "/gita"))
|
||||||
(mkdir-p zsh-completion)
|
(mkdir-p zsh-completion)
|
||||||
(copy-file ".gita-completion.zsh"
|
(copy-file "auto-completion/zsh/.gita-completion.zsh"
|
||||||
(string-append zsh-completion "/_gita"))))))))
|
(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")
|
(home-page "https://github.com/nosarthur/gita")
|
||||||
(synopsis "Command-line tool to manage multiple Git repos")
|
(synopsis "Command-line tool to manage multiple Git repos")
|
||||||
(description "This package provides a command-line tool to manage
|
(description "This package provides a command-line tool to manage
|
||||||
|
@ -4369,7 +4366,7 @@ commit message side by side
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
If several repos are related, it helps to see their status together.")
|
If several repos are related, it helps to see their status together.")
|
||||||
(license license:expat))))
|
(license license:expat)))
|
||||||
|
|
||||||
(define-public ghq
|
(define-public ghq
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -3221,7 +3221,7 @@ YouTube.com and many more sites.")
|
||||||
python-mutagen
|
python-mutagen
|
||||||
python-pycryptodomex
|
python-pycryptodomex
|
||||||
python-requests-next ; TODO Remove this special package
|
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))
|
python-websockets))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(append
|
(append
|
||||||
|
@ -3799,34 +3799,28 @@ and custom quantization matrices.")
|
||||||
(define-public streamlink
|
(define-public streamlink
|
||||||
(package
|
(package
|
||||||
(name "streamlink")
|
(name "streamlink")
|
||||||
(version "6.3.1")
|
(version "7.1.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "streamlink" version))
|
(uri (pypi-uri "streamlink" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0i2qym2plm4gpcq50vl67j69m8a4zz9mb8gi2xryx28pbnpdzh4k"))
|
"1mvg8lw3rkng6ciryziqh9r4ffj0ls7k0sv3byk3439s5d2qxh31"))))
|
||||||
(snippet
|
(build-system pyproject-build-system)
|
||||||
#~(begin (use-modules (guix build utils))
|
|
||||||
(substitute* "pyproject.toml"
|
|
||||||
(("trio >=0\\.22") "trio >=0.21"))))))
|
|
||||||
(build-system python-build-system)
|
|
||||||
(arguments
|
(arguments
|
||||||
`(#:phases
|
(list
|
||||||
(modify-phases %standard-phases
|
#:test-flags #~(list "-k" "not test_no_cache")))
|
||||||
(replace 'check
|
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
|
||||||
(when tests?
|
|
||||||
(invoke "python" "-m" "pytest")))))))
|
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-freezegun
|
(list python-freezegun
|
||||||
python-requests-mock
|
|
||||||
python-pytest
|
python-pytest
|
||||||
python-pytest-asyncio
|
python-pytest-trio
|
||||||
python-pytest-trio))
|
python-requests-mock
|
||||||
|
python-setuptools
|
||||||
|
python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-certifi
|
(list python-certifi
|
||||||
|
python-exceptiongroup
|
||||||
python-isodate
|
python-isodate
|
||||||
python-lxml
|
python-lxml
|
||||||
python-pycountry
|
python-pycountry
|
||||||
|
@ -3835,7 +3829,6 @@ and custom quantization matrices.")
|
||||||
python-requests
|
python-requests
|
||||||
python-trio
|
python-trio
|
||||||
python-trio-websocket
|
python-trio-websocket
|
||||||
python-typing-extensions
|
|
||||||
python-urllib3
|
python-urllib3
|
||||||
python-websocket-client))
|
python-websocket-client))
|
||||||
(home-page "https://github.com/streamlink/streamlink")
|
(home-page "https://github.com/streamlink/streamlink")
|
||||||
|
|
|
@ -7217,6 +7217,12 @@ efficient where possible.")
|
||||||
(list
|
(list
|
||||||
#:phases
|
#:phases
|
||||||
'(modify-phases %standard-phases
|
'(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'remove-rednose-dependency
|
||||||
|
(lambda _
|
||||||
|
(substitute* "setup.py"
|
||||||
|
(("'rednose'") ""))
|
||||||
|
(substitute* '("requirements.txt" "setup.cfg")
|
||||||
|
(("rednose.*") ""))))
|
||||||
(replace 'check
|
(replace 'check
|
||||||
(lambda* (#:key tests? #:allow-other-keys)
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
(when tests?
|
(when tests?
|
||||||
|
@ -7230,7 +7236,6 @@ efficient where possible.")
|
||||||
python-httplib2
|
python-httplib2
|
||||||
python-nose
|
python-nose
|
||||||
python-pyparsing
|
python-pyparsing
|
||||||
python-rednose
|
|
||||||
python-requests
|
python-requests
|
||||||
python-sure
|
python-sure
|
||||||
python-tornado))
|
python-tornado))
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
;;; Copyright © 2023 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
;;; Copyright © 2023 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
||||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;; Copyright © 2025 Ekaitz Zarraga <ekaitz@elenq.tech>
|
;;; Copyright © 2025 Ekaitz Zarraga <ekaitz@elenq.tech>
|
||||||
|
;;; Copyright © 2025 Nicolas Graves <ngraves@ngraves.fr>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -37,6 +38,7 @@
|
||||||
#:use-module ((guix licenses) #:prefix l:)
|
#:use-module ((guix licenses) #:prefix l:)
|
||||||
#:use-module (guix build-system glib-or-gtk)
|
#:use-module (guix build-system glib-or-gtk)
|
||||||
#:use-module (guix build-system perl)
|
#:use-module (guix build-system perl)
|
||||||
|
#:use-module (guix build-system pyproject)
|
||||||
#:use-module (guix build-system python)
|
#:use-module (guix build-system python)
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
|
@ -57,7 +59,9 @@
|
||||||
#:use-module (gnu packages photo)
|
#:use-module (gnu packages photo)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
#:use-module (gnu packages python-build)
|
||||||
#:use-module (gnu packages python-xyz)
|
#:use-module (gnu packages python-xyz)
|
||||||
|
#:use-module (gnu packages qt)
|
||||||
#:use-module (gnu packages sdl)
|
#:use-module (gnu packages sdl)
|
||||||
#:use-module (gnu packages video)
|
#:use-module (gnu packages video)
|
||||||
#:use-module (gnu packages web)
|
#:use-module (gnu packages web)
|
||||||
|
@ -318,26 +322,38 @@ and many other languages.")
|
||||||
(define-public python-wxpython
|
(define-public python-wxpython
|
||||||
(package
|
(package
|
||||||
(name "python-wxpython")
|
(name "python-wxpython")
|
||||||
(version "4.2.0")
|
(version "4.2.2")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "wxPython" version))
|
(uri (pypi-uri "wxPython" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32 "1fp2717a96hd5pdai6hlzc4pngdazxas55apjv2w5zb71xjv1g2x"))
|
||||||
"1iw6xp76b3fmdqwbqmsx9i1razzpfki5z1hq6l8mszlxa32fng36"))
|
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet #~(begin
|
||||||
'(begin
|
;; Remove bundled wxWidgets
|
||||||
;; Remove bundled wxwidgets
|
(delete-file-recursively "ext/wxWidgets")))))
|
||||||
(delete-file-recursively "ext/wxWidgets")))
|
(build-system pyproject-build-system)
|
||||||
(patches (search-patches "python-wxwidgets-type-errors.patch"))))
|
|
||||||
(build-system python-build-system)
|
|
||||||
(outputs '("out" "debug"))
|
(outputs '("out" "debug"))
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
#:modules '((guix build pyproject-build-system)
|
||||||
|
(guix build utils)
|
||||||
|
(ice-9 ftw)
|
||||||
|
(ice-9 match)
|
||||||
|
(srfi srfi-26))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-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
|
(add-before 'build 'configure
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
;; Configure the build options provided to the 'build.py' build
|
;; Configure the build options provided to the 'build.py' build
|
||||||
|
@ -357,11 +373,24 @@ and many other languages.")
|
||||||
(string-append "#" all)))
|
(string-append "#" all)))
|
||||||
;; The build script tries to write to demo/version.py. So, we set
|
;; The build script tries to write to demo/version.py. So, we set
|
||||||
;; correct write permissions.
|
;; 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
|
(inputs
|
||||||
(list gtk+ wxwidgets))
|
(list gtk+ wxwidgets))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list pkg-config python-waf))
|
(list pkg-config python-setuptools python-waf python-wheel))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-attrdict3 python-numpy python-pillow python-six))
|
(list python-attrdict3 python-numpy python-pillow python-six))
|
||||||
(home-page "https://wxpython.org/")
|
(home-page "https://wxpython.org/")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue