diff --git a/pkgs/development/python-modules/rawpy/default.nix b/pkgs/development/python-modules/rawpy/default.nix new file mode 100644 index 000000000000..6931b96afcf9 --- /dev/null +++ b/pkgs/development/python-modules/rawpy/default.nix @@ -0,0 +1,90 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + cython, + setuptools, + + # nativeBuildInputs + pkg-config, + + # buildInputs + libraw, + + # dependencies + numpy, + + # tests + imageio, + pytestCheckHook, + scikit-image, +}: + +buildPythonPackage rec { + pname = "rawpy"; + version = "0.23.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "letmaik"; + repo = "rawpy"; + rev = "refs/tags/v${version}"; + hash = "sha256-s7/YbD5Jy9Jzry817djG63Zs4It8b1S95qmcJgPYGZQ="; + }; + + build-system = [ + cython + numpy + setuptools + ]; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libraw + ]; + + dependencies = [ + numpy + ]; + + env = { + RAWPY_USE_SYSTEM_LIBRAW = 1; + }; + + pythonImportsCheck = [ + "rawpy" + "rawpy._rawpy" + ]; + + # Delete the source files to load the library from the installed folder instead of the source files + preCheck = '' + rm -rf rawpy + ''; + + nativeCheckInputs = [ + imageio + pytestCheckHook + scikit-image + ]; + + disabledTests = [ + # rawpy._rawpy.LibRawFileUnsupportedError: b'Unsupported file format or not RAW file' + "testFoveonFileOpenAndPostProcess" + "testThumbExtractBitmap" + ]; + + meta = { + description = "RAW image processing for Python, a wrapper for libraw"; + homepage = "https://github.com/letmaik/rawpy"; + license = with lib.licenses; [ + lgpl21Only + mit + ]; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3f6ff72f5d2d..c5065e4563a8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -13666,6 +13666,8 @@ self: super: with self; { rawkit = callPackage ../development/python-modules/rawkit { }; + rawpy = callPackage ../development/python-modules/rawpy { }; + ray = callPackage ../development/python-modules/ray { }; raylib-python-cffi = callPackage ../development/python-modules/raylib-python-cffi {};