gnu: python-numcodecs: Unbundle c-blosc.
* gnu/packages/python-xyz.scm (python-numcodecs)[source]: Add snippet to remove bundled c-blosc sources and pre-built Cython files. [arguments]: Add build phase 'disable-avx2 and 'unbundle; replace 'check phase to run pytest; disable tests. [inputs]: Add c-blosc, lz4, zlib, and zstd. [native-inputs]: Add python-cython.
This commit is contained in:
		
							parent
							
								
									7850856591
								
							
						
					
					
						commit
						30474f25d0
					
				
					 1 changed files with 42 additions and 2 deletions
				
			
		|  | @ -22098,13 +22098,53 @@ tool).") | ||||||
|        (uri (pypi-uri "numcodecs" version)) |        (uri (pypi-uri "numcodecs" version)) | ||||||
|        (sha256 |        (sha256 | ||||||
|         (base32 |         (base32 | ||||||
|          "0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g")))) |          "0kbfr8pl3x9glsypbq8hzim003f16ml1b1cvgrh4w1sdvgal6j7g")) | ||||||
|  |        (modules '((guix build utils))) | ||||||
|  |        (snippet | ||||||
|  |         '(begin | ||||||
|  |            (delete-file-recursively "c-blosc") | ||||||
|  |            (for-each delete-file '("numcodecs/blosc.c" | ||||||
|  |                                    "numcodecs/compat_ext.c" | ||||||
|  |                                    "numcodecs/lz4.c" | ||||||
|  |                                    "numcodecs/vlen.c" | ||||||
|  |                                    "numcodecs/zstd.c")))))) | ||||||
|     (build-system python-build-system) |     (build-system python-build-system) | ||||||
|  |     (arguments | ||||||
|  |      `(#:tests? #false ; TODO: unclear why numcodecs.* are not found | ||||||
|  |        #:phases | ||||||
|  |        (modify-phases %standard-phases | ||||||
|  |          (add-after 'unpack 'disable-avx2 | ||||||
|  |            (lambda _ | ||||||
|  |              (setenv "DISABLE_NUMCODECS_AVX2" "1"))) | ||||||
|  |          (add-after 'unpack 'unbundle | ||||||
|  |            (lambda _ | ||||||
|  |              (substitute* "setup.py" | ||||||
|  |                (("sources=sources \\+ blosc_sources,") | ||||||
|  |                 "sources=sources,") | ||||||
|  |                (("extra_compile_args=extra_compile_args") | ||||||
|  |                 "extra_compile_args=list(base_compile_args)") | ||||||
|  |                (("'numcodecs.zstd',") | ||||||
|  |                 "'numcodecs.zstd', libraries=['zstd'], ") | ||||||
|  |                (("'numcodecs.lz4',") | ||||||
|  |                 "'numcodecs.lz4', libraries=['lz4'], ") | ||||||
|  |                (("'numcodecs.blosc',") | ||||||
|  |                 "'numcodecs.blosc', libraries=['blosc'], ")))) | ||||||
|  |          (replace 'check | ||||||
|  |            (lambda* (#:key tests? inputs outputs #:allow-other-keys) | ||||||
|  |              (when tests? | ||||||
|  |                (add-installed-pythonpath inputs outputs) | ||||||
|  |                (invoke "pytest" "-vv"))))))) | ||||||
|  |     (inputs | ||||||
|  |      `(("c-blosc" ,c-blosc) | ||||||
|  |        ("lz4" ,lz4) | ||||||
|  |        ("zlib" ,zlib) | ||||||
|  |        ("zstd" ,zstd "lib"))) | ||||||
|     (propagated-inputs |     (propagated-inputs | ||||||
|      `(("python-numpy" ,python-numpy) |      `(("python-numpy" ,python-numpy) | ||||||
|        ("python-msgpack" ,python-msgpack))) |        ("python-msgpack" ,python-msgpack))) | ||||||
|     (native-inputs |     (native-inputs | ||||||
|      `(("python-pytest" ,python-pytest) |      `(("python-cython" ,python-cython) | ||||||
|  |        ("python-pytest" ,python-pytest) | ||||||
|        ("python-setuptools-scm" ,python-setuptools-scm))) |        ("python-setuptools-scm" ,python-setuptools-scm))) | ||||||
|     (home-page "https://github.com/zarr-developers/numcodecs") |     (home-page "https://github.com/zarr-developers/numcodecs") | ||||||
|     (synopsis "Buffer compression and transformation codecs") |     (synopsis "Buffer compression and transformation codecs") | ||||||
|  |  | ||||||
		Reference in a new issue