about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/openimageio
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/openimageio')
-rw-r--r--nixpkgs/pkgs/development/libraries/openimageio/default.nix78
1 files changed, 78 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/openimageio/default.nix b/nixpkgs/pkgs/development/libraries/openimageio/default.nix
new file mode 100644
index 000000000000..f2e98e0d34b6
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openimageio/default.nix
@@ -0,0 +1,78 @@
+{ lib, stdenv
+, fetchFromGitHub
+, boost
+, cmake
+, giflib
+, ilmbase
+, libjpeg
+, libpng
+, libtiff
+, opencolorio
+, openexr
+, robin-map
+, unzip
+, fmt
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openimageio";
+  version = "2.5.5.0";
+
+  src = fetchFromGitHub {
+    owner = "OpenImageIO";
+    repo = "oiio";
+    rev = "v${version}";
+    hash = "sha256-FtUZqk1m9ahdnwhrBeMFkUbV0dangMY/w9ShevCASfo=";
+  };
+
+  # Workaround broken zlib version detecion in CMake < 3.37.
+  postPatch = ''
+    substituteInPlace ./src/cmake/Config.cmake.in \
+      --replace " @ZLIB_VERSION@" ""
+  '';
+
+  outputs = [ "bin" "out" "dev" "doc" ];
+
+  nativeBuildInputs = [
+    cmake
+    unzip
+  ];
+
+  buildInputs = [
+    boost
+    giflib
+    ilmbase
+    libjpeg
+    libpng
+    libtiff
+    opencolorio
+    openexr
+    robin-map
+  ];
+
+  propagatedBuildInputs = [
+    fmt
+  ];
+
+  cmakeFlags = [
+    "-DUSE_PYTHON=OFF"
+    "-DUSE_QT=OFF"
+    # GNUInstallDirs
+    "-DCMAKE_INSTALL_LIBDIR=lib" # needs relative path for pkg-config
+    # Do not install a copy of fmt header files
+    "-DINTERNALIZE_FMT=OFF"
+  ];
+
+  postFixup = ''
+    substituteInPlace $dev/lib/cmake/OpenImageIO/OpenImageIOTargets-*.cmake \
+      --replace "\''${_IMPORT_PREFIX}/lib/lib" "$out/lib/lib"
+  '';
+
+  meta = with lib; {
+    homepage = "https://openimageio.org";
+    description = "A library and tools for reading and writing images";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ goibhniu ];
+    platforms = platforms.unix;
+  };
+}