about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/openimageio
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
committerAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
commit99fcaeccb89621dd492203ce1f2d551c06f228ed (patch)
tree41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/openimageio
parent59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff)
parent75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff)
downloadnixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/nixos/modules/config/console.nix
	nixpkgs/nixos/modules/services/mail/mailman.nix
	nixpkgs/nixos/modules/services/mail/public-inbox.nix
	nixpkgs/nixos/modules/services/mail/rss2email.nix
	nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
	nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
	nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/go/module.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/interpreters/python/default.nix
	nixpkgs/pkgs/development/node-packages/overrides.nix
	nixpkgs/pkgs/development/tools/b4/default.nix
	nixpkgs/pkgs/servers/dict/dictd-db.nix
	nixpkgs/pkgs/servers/mail/public-inbox/default.nix
	nixpkgs/pkgs/tools/security/pinentry/default.nix
	nixpkgs/pkgs/tools/text/unoconv/default.nix
	nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/openimageio')
-rw-r--r--nixpkgs/pkgs/development/libraries/openimageio/1.x.nix80
-rw-r--r--nixpkgs/pkgs/development/libraries/openimageio/2539_backport.patch31
-rw-r--r--nixpkgs/pkgs/development/libraries/openimageio/default.nix72
3 files changed, 183 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/openimageio/1.x.nix b/nixpkgs/pkgs/development/libraries/openimageio/1.x.nix
new file mode 100644
index 000000000000..90d8df5f5a5a
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openimageio/1.x.nix
@@ -0,0 +1,80 @@
+{ lib, stdenv, fetchFromGitHub, boost, cmake, ilmbase, libjpeg, libpng, libtiff
+, opencolorio_1, openexr, unzip
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openimageio";
+  version = "1.8.17";
+
+  src = fetchFromGitHub {
+    owner = "OpenImageIO";
+    repo = "oiio";
+    rev = "Release-${version}";
+    sha256 = "0zq34szprgkrrayg5sl3whrsx2l6lr8nw4hdrnwv2qhn70jbi2w2";
+  };
+
+  outputs = [ "bin" "out" "dev" "doc" ];
+
+  nativeBuildInputs = [ cmake unzip ];
+  buildInputs = [
+    boost ilmbase libjpeg libpng
+    libtiff opencolorio_1 openexr
+  ];
+
+  cmakeFlags = [
+    "-DUSE_PYTHON=OFF"
+  ];
+
+  makeFlags = [
+    "ILMBASE_HOME=${ilmbase.dev}"
+    "OPENEXR_HOME=${openexr.dev}"
+    "USE_PYTHON=0"
+    "INSTALLDIR=${placeholder "out"}"
+    "dist_dir="
+  ];
+
+  patches = [
+    # Backported from https://github.com/OpenImageIO/oiio/pull/2539 for 1.8.17
+    ./2539_backport.patch
+  ];
+
+  meta = with lib; {
+    homepage = "http://www.openimageio.org";
+    description = "A library and tools for reading and writing images";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.goibhniu ];
+    platforms = platforms.unix;
+    knownVulnerabilities = [
+      # all discovered in 2.x but there is no reason to
+      # believe that these or similar vulnerabilties aren't
+      # present in the totally unmaintained 1.x branch
+      "CVE-2022-36354"
+      "CVE-2022-38143"
+      "CVE-2022-41639"
+      "CVE-2022-41649"
+      "CVE-2022-41684"
+      "CVE-2022-41794"
+      "CVE-2022-41837"
+      "CVE-2022-41838"
+      "CVE-2022-41977"
+      "CVE-2022-41981"
+      "CVE-2022-41988"
+      "CVE-2022-41999"
+      "CVE-2022-43592"
+      "CVE-2022-43593"
+      "CVE-2022-43594"
+      "CVE-2022-43595"
+      "CVE-2022-43596"
+      "CVE-2022-43597"
+      "CVE-2022-43598"
+      "CVE-2022-43599"
+      "CVE-2022-43600"
+      "CVE-2022-43601"
+      "CVE-2022-43602"
+      "CVE-2022-43603"
+      "CVE-2023-22845"
+      "CVE-2023-24472"
+      "CVE-2023-24473"
+    ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/libraries/openimageio/2539_backport.patch b/nixpkgs/pkgs/development/libraries/openimageio/2539_backport.patch
new file mode 100644
index 000000000000..c484b2ef9cf9
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openimageio/2539_backport.patch
@@ -0,0 +1,31 @@
+diff --git a/src/libOpenImageIO/exif.cpp b/src/libOpenImageIO/exif.cpp
+index 10b75c21..0287d9c5 100644
+--- a/src/libOpenImageIO/exif.cpp
++++ b/src/libOpenImageIO/exif.cpp
+@@ -213,6 +213,9 @@ static const EXIF_tag_info exif_tag_table[] = {
+ 
+ 
+ 
++// libtiff > 4.1.0 defines these in tiff.h. For older libtiff, let's define
++// them ourselves.
++#ifndef GPSTAG_VERSIONID
+ enum GPSTag {
+     GPSTAG_VERSIONID = 0, 
+     GPSTAG_LATITUDEREF = 1,  GPSTAG_LATITUDE = 2,
+@@ -237,6 +240,7 @@ enum GPSTag {
+     GPSTAG_DIFFERENTIAL = 30,
+     GPSTAG_HPOSITIONINGERROR = 31
+ };
++#endif
+ 
+ static const EXIF_tag_info gps_tag_table[] = {
+     { GPSTAG_VERSIONID,		"GPS:VersionID",	TIFF_BYTE, 4 }, 
+@@ -270,7 +274,7 @@ static const EXIF_tag_info gps_tag_table[] = {
+     { GPSTAG_AREAINFORMATION,	"GPS:AreaInformation",	TIFF_UNDEFINED, 1 },
+     { GPSTAG_DATESTAMP,		"GPS:DateStamp",	TIFF_ASCII, 0 },
+     { GPSTAG_DIFFERENTIAL,	"GPS:Differential",	TIFF_SHORT, 1 },
+-    { GPSTAG_HPOSITIONINGERROR,	"GPS:HPositioningError",TIFF_RATIONAL, 1 },
++    { GPSTAG_GPSHPOSITIONINGERROR,     "GPS:HPositioningError",TIFF_RATIONAL, 1 },
+     { -1, NULL }  // signal end of table
+ };
+ 
diff --git a/nixpkgs/pkgs/development/libraries/openimageio/default.nix b/nixpkgs/pkgs/development/libraries/openimageio/default.nix
new file mode 100644
index 000000000000..cf717cc33f35
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openimageio/default.nix
@@ -0,0 +1,72 @@
+{ lib, stdenv
+, fetchFromGitHub
+, boost
+, cmake
+, giflib
+, ilmbase
+, libjpeg
+, libpng
+, libtiff
+, opencolorio
+, openexr
+, robin-map
+, unzip
+, fmt
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openimageio";
+  version = "2.4.12.0";
+
+  src = fetchFromGitHub {
+    owner = "OpenImageIO";
+    repo = "oiio";
+    rev = "v${version}";
+    hash = "sha256-0Jilfe4jNNnpsbodJBFIyxjWqOA99MwmzAriwJgvqVs=";
+  };
+
+  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;
+  };
+}