parent
e899e67e91
commit
b2c1a651fa
@ -0,0 +1,44 @@ |
||||
{ lib |
||||
, stdenv |
||||
, buildPythonPackage |
||||
, fetchFromGitHub |
||||
, cython |
||||
, zfs |
||||
}: |
||||
|
||||
buildPythonPackage rec { |
||||
pname = "py-libzfs"; |
||||
version = "22.02.4"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "truenas"; |
||||
repo = pname; |
||||
rev = "TS-${version}"; |
||||
sha256 = "sha256-BJG+cw07Qu4aL99pVKNd7JAgr+w/6Uv2eI46EB615/I="; |
||||
}; |
||||
|
||||
nativeBuildInputs = [ cython ]; |
||||
buildInputs = [ zfs ]; |
||||
|
||||
# Passing CFLAGS in configureFlags does not work, see https://github.com/truenas/py-libzfs/issues/107 |
||||
postPatch = lib.optionalString stdenv.isLinux '' |
||||
substituteInPlace configure \ |
||||
--replace \ |
||||
'CFLAGS="-DCYTHON_FALLTHROUGH"' \ |
||||
'CFLAGS="-DCYTHON_FALLTHROUGH -I${zfs.dev}/include/libzfs -I${zfs.dev}/include/libspl"' \ |
||||
--replace 'zof=false' 'zof=true' |
||||
''; |
||||
|
||||
pythonImportsCheck = [ "libzfs" ]; |
||||
|
||||
meta = with lib; { |
||||
description = "Python libzfs bindings"; |
||||
homepage = "https://github.com/truenas/py-libzfs"; |
||||
license = licenses.bsd2; |
||||
maintainers = with maintainers; [ chuangzhu ]; |
||||
# The project also supports macOS (OpenZFS on OSX, O3X), FreeBSD and OpenSolaris |
||||
# I don't have a machine to test out, thus only packaged for Linux |
||||
platforms = platforms.linux; |
||||
}; |
||||
} |
||||
|
Loading…
Reference in new issue