lol
1{ lib, stdenv
2, fetchFromGitHub
3, boost
4, cmake
5, giflib
6, ilmbase
7, libjpeg
8, libpng
9, libtiff
10, opencolorio
11, openexr
12, robin-map
13, unzip
14, fmt
15}:
16
17stdenv.mkDerivation rec {
18 pname = "openimageio";
19 version = "2.4.15.0";
20
21 src = fetchFromGitHub {
22 owner = "OpenImageIO";
23 repo = "oiio";
24 rev = "v${version}";
25 hash = "sha256-I2/JPmUBDb0bw7qbSZcAkYHB2q2Uo7En7ZurMwWhg/M=";
26 };
27
28 # Workaround broken zlib version detecion in CMake < 3.37.
29 postPatch = ''
30 substituteInPlace ./src/cmake/Config.cmake.in \
31 --replace " @ZLIB_VERSION@" ""
32 '';
33
34 outputs = [ "bin" "out" "dev" "doc" ];
35
36 nativeBuildInputs = [
37 cmake
38 unzip
39 ];
40
41 buildInputs = [
42 boost
43 giflib
44 ilmbase
45 libjpeg
46 libpng
47 libtiff
48 opencolorio
49 openexr
50 robin-map
51 ];
52
53 propagatedBuildInputs = [
54 fmt
55 ];
56
57 cmakeFlags = [
58 "-DUSE_PYTHON=OFF"
59 "-DUSE_QT=OFF"
60 # GNUInstallDirs
61 "-DCMAKE_INSTALL_LIBDIR=lib" # needs relative path for pkg-config
62 # Do not install a copy of fmt header files
63 "-DINTERNALIZE_FMT=OFF"
64 ];
65
66 postFixup = ''
67 substituteInPlace $dev/lib/cmake/OpenImageIO/OpenImageIOTargets-*.cmake \
68 --replace "\''${_IMPORT_PREFIX}/lib/lib" "$out/lib/lib"
69 '';
70
71 meta = with lib; {
72 homepage = "https://openimageio.org";
73 description = "A library and tools for reading and writing images";
74 license = licenses.bsd3;
75 maintainers = with maintainers; [ goibhniu ];
76 platforms = platforms.unix;
77 };
78}