diff --git a/pkgs/development/python-modules/pyeclib/default.nix b/pkgs/development/python-modules/pyeclib/default.nix new file mode 100644 index 000000000000..2c4169ea73ca --- /dev/null +++ b/pkgs/development/python-modules/pyeclib/default.nix @@ -0,0 +1,35 @@ +{ lib, buildPythonPackage, fetchPypi, liberasurecode, six }: + +buildPythonPackage rec { + pname = "pyeclib"; + version = "1.6.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "sha256-gBHjHuia5/uZymkWZgyH4BCEZqmWK9SXowAQIJdOO7E="; + }; + + postPatch = '' + # patch dlopen call + substituteInPlace src/c/pyeclib_c/pyeclib_c.c \ + --replace "liberasurecode.so" "${liberasurecode}/lib/liberasurecode.so" + ''; + + preBuild = '' + # required for the custom find_library function in setup.py + export LD_LIBRARY_PATH="${lib.makeLibraryPath [ liberasurecode ]}" + ''; + + buildInputs = [ liberasurecode ]; + + checkInputs = [ six ]; + + pythonImportsCheck = [ "pyeclib" ]; + + meta = with lib; { + description = "This library provides a simple Python interface for implementing erasure codes."; + homepage = "https://github.com/openstack/pyeclib"; + license = licenses.bsd2; + maintainers = teams.openstack.members; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d7da64784785..58b39b97d8b3 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6194,6 +6194,8 @@ in { pyechonest = callPackage ../development/python-modules/pyechonest { }; + pyeclib = callPackage ../development/python-modules/pyeclib { }; + pyeconet = callPackage ../development/python-modules/pyeconet { }; pyedimax = callPackage ../development/python-modules/pyedimax { };