diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-04-09 18:28:16 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-04-12 18:46:15 +0000 |
commit | fd2e737e0678ee7d8081baef05b305146a2c0034 (patch) | |
tree | ac3e9b27576a0382335532d126f9a66d486bc638 /nixpkgs/pkgs/development/python-modules/pyturbojpeg | |
parent | cc207d720b6aa836e256c1ee9842bc739e630a8a (diff) | |
parent | 9e377a6ce42dccd9b624ae4ce8f978dc892ba0e2 (diff) | |
download | nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.gz nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.bz2 nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.lz nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.xz nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.zst nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.zip |
Merge remote-tracking branch 'nixpkgs/nixos-unstable'
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/pyturbojpeg')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix | 45 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/pyturbojpeg/lib-path.patch | 28 |
2 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix b/nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix new file mode 100644 index 000000000000..1eebc05d89e3 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/pyturbojpeg/default.nix @@ -0,0 +1,45 @@ +{ lib +, stdenv +, python +, buildPythonPackage +, fetchPypi +, substituteAll +, libjpeg_turbo +, numpy +}: + +buildPythonPackage rec { + pname = "pyturbojpeg"; + version = "1.4.1"; + + src = fetchPypi { + pname = "PyTurboJPEG"; + inherit version; + sha256 = "09688a93331281e566569b4d313e1d1a058ca32ccae1a2473847a10e4ca2f2a7"; + }; + + patches = [ + (substituteAll { + src = ./lib-path.patch; + libturbojpeg = "${libjpeg_turbo.out}/lib/libturbojpeg${stdenv.hostPlatform.extensions.sharedLibrary}"; + }) + ]; + + propagatedBuildInputs = [ + numpy + ]; + + # upstream has no tests, but we want to test whether the library is found + checkPhase = '' + ${python.interpreter} -c 'from turbojpeg import TurboJPEG; TurboJPEG()' + ''; + + pythonImportsCheck = [ "turbojpeg" ]; + + meta = with lib; { + description = "A Python wrapper of libjpeg-turbo for decoding and encoding JPEG image"; + homepage = "https://github.com/lilohuang/PyTurboJPEG"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/nixpkgs/pkgs/development/python-modules/pyturbojpeg/lib-path.patch b/nixpkgs/pkgs/development/python-modules/pyturbojpeg/lib-path.patch new file mode 100644 index 000000000000..30e6ed58bac7 --- /dev/null +++ b/nixpkgs/pkgs/development/python-modules/pyturbojpeg/lib-path.patch @@ -0,0 +1,28 @@ +diff --git a/turbojpeg.py b/turbojpeg.py +index 73edb38..bfa8c67 100644 +--- a/turbojpeg.py ++++ b/turbojpeg.py +@@ -408,22 +408,7 @@ class TurboJPEG(object): + + def __find_turbojpeg(self): + """returns default turbojpeg library path if possible""" +- lib_path = find_library('turbojpeg') +- if lib_path is not None: +- return lib_path +- for lib_path in DEFAULT_LIB_PATHS[platform.system()]: +- if os.path.exists(lib_path): +- return lib_path +- if platform.system() == 'Linux' and 'LD_LIBRARY_PATH' in os.environ: +- ld_library_path = os.environ['LD_LIBRARY_PATH'] +- for path in ld_library_path.split(':'): +- lib_path = os.path.join(path, 'libturbojpeg.so.0') +- if os.path.exists(lib_path): +- return lib_path +- raise RuntimeError( +- 'Unable to locate turbojpeg library automatically. ' +- 'You may specify the turbojpeg library path manually.\n' +- 'e.g. jpeg = TurboJPEG(lib_path)') ++ return '@libturbojpeg@' + + def __getaddr(self, nda): + """returns the memory address for a given ndarray""" |