1{ lib, pkg-config, fetchPypi, buildPythonPackage
2, buildPackages
3, zstd, pytest }:
4
5buildPythonPackage rec {
6 pname = "zstd";
7 version = "1.5.2.6";
8
9 src = fetchPypi {
10 inherit pname version;
11 sha256 = "sha256-9ECFjRmIkOX/UX3/MtFejDG7c1BqiW+br20BTv5i9/w=";
12 };
13
14 postPatch = ''
15 substituteInPlace setup.py \
16 --replace "/usr/bin/pkg-config" "${buildPackages.pkg-config}/bin/${buildPackages.pkg-config.targetPrefix}pkg-config"
17 '';
18
19 nativeBuildInputs = [ pkg-config ];
20 buildInputs = [ zstd ];
21
22 setupPyBuildFlags = [
23 "--external"
24 "--include-dirs=${zstd}/include"
25 "--libraries=zstd"
26 "--library-dirs=${zstd}/lib"
27 ];
28
29 # Running tests via setup.py triggers an attempt to recompile with the vendored zstd
30 ZSTD_EXTERNAL = 1;
31 VERSION = zstd.version;
32 PKG_VERSION = version;
33
34 checkInputs = [ pytest ];
35 checkPhase = ''
36 pytest
37 '';
38
39 meta = with lib; {
40 description = "Simple python bindings to Yann Collet ZSTD compression library";
41 homepage = "https://github.com/sergey-dryabzhinsky/python-zstd";
42 license = licenses.bsd2;
43 maintainers = with maintainers; [
44 eadwu
45 ];
46 };
47}