diff --git a/pkgs/development/python-modules/lzallright/default.nix b/pkgs/development/python-modules/lzallright/default.nix new file mode 100644 index 000000000000..0c78957ed634 --- /dev/null +++ b/pkgs/development/python-modules/lzallright/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, callPackage +, fetchFromGitHub +, rustPlatform +}: + +buildPythonPackage rec { + pname = "lzallright"; + version = "0.2.3"; + + src = fetchFromGitHub { + owner = "vlaci"; + repo = pname; + rev = "v${version}"; + hash = "sha256-Zzif6WtecgAkNmml0kt0Z+Ewx0L30ahr+kwzYR5aUAM="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-+pV9q2QM6qFA1a5E10OAsE7KJEUsTiEiU1KqO4/2rFw="; + }; + + format = "pyproject"; + + nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ]; + + pythonImportsCheck = [ "lzallright" ]; + + doCheck = false; + + passthru.tests = { + pytest = callPackage ./tests.nix { }; + }; + + meta = with lib; { + description = '' + A Python 3.8+ binding for lzokay library which is an MIT licensed + a minimal, C++14 implementation of the LZO compression format. + ''; + homepage = "https://github.com/vlaci/lzallright"; + license = licenses.mit; + maintainers = with maintainers; [ vlaci ]; + }; +} diff --git a/pkgs/development/python-modules/lzallright/tests.nix b/pkgs/development/python-modules/lzallright/tests.nix new file mode 100644 index 000000000000..1093fc3c79e9 --- /dev/null +++ b/pkgs/development/python-modules/lzallright/tests.nix @@ -0,0 +1,15 @@ +{ lzallright, buildPythonPackage, pytestCheckHook }: + +buildPythonPackage { + inherit (lzallright) version src; + pname = "lzallright-tests"; + format = "other"; + + dontBuild = true; + dontInstall = true; + + nativeCheckInputs = [ + lzallright + pytestCheckHook + ]; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 81297e8e43e8..4c260b693c24 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5969,6 +5969,8 @@ self: super: with self; { lz4 = callPackage ../development/python-modules/lz4 { }; + lzallright = callPackage ../development/python-modules/lzallright { }; + lzstring = callPackage ../development/python-modules/lzstring { }; m2crypto = callPackage ../development/python-modules/m2crypto { };