[packages/OpenImageIO] upstream patch for fixing build with recent libtiff

atler atler at pld-linux.org
Tue Aug 10 22:16:24 CEST 2021


commit 32cb9bc6c04bbeb113e51fe1f4954585dd571857
Author: Jan Palus <atler at pld-linux.org>
Date:   Tue Aug 10 22:15:43 2021 +0200

    upstream patch for fixing build with recent libtiff

 OpenImageIO.spec   |   2 ++
 tiff_defines.patch | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 102 insertions(+)
---
diff --git a/OpenImageIO.spec b/OpenImageIO.spec
index 47c925c..68a3cb6 100644
--- a/OpenImageIO.spec
+++ b/OpenImageIO.spec
@@ -39,6 +39,7 @@ Patch0:		%{name}-link.patch
 Patch1:		%{name}-system-squish.patch
 Patch2:		%{name}-system-libcineon.patch
 Patch3:		no-clang-format.patch
+Patch4:		tiff_defines.patch
 URL:		https://github.com/OpenImageIO/oiio
 BuildRequires:	Field3D-devel
 %{?with_ocio:BuildRequires:	OpenColorIO-devel}
@@ -381,6 +382,7 @@ Wiązanie Pythona do biblioteki OpenImageIO.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %{__rm} -r src/dds.imageio/squish
 # when using system pugixml, don't use hacked headers
diff --git a/tiff_defines.patch b/tiff_defines.patch
new file mode 100644
index 0000000..8d42ce8
--- /dev/null
+++ b/tiff_defines.patch
@@ -0,0 +1,100 @@
+From 571c8dd95c455804d9ede351d53b3eea8d47564b Mon Sep 17 00:00:00 2001
+From: Larry Gritz <lg at larrygritz.com>
+Date: Fri, 3 Apr 2020 09:47:07 -0700
+Subject: [PATCH] Protect against double definitions of GPSTAG values. (#2539)
+
+Prerelease snapshots of libtiff now define these in tiff.h.
+---
+ src/libOpenImageIO/exif.cpp | 70 ++++++++++++++++++++-----------------
+ 1 file changed, 37 insertions(+), 33 deletions(-)
+
+diff --git a/src/libOpenImageIO/exif.cpp b/src/libOpenImageIO/exif.cpp
+index d997f4c16e..51cb9ef911 100644
+--- a/src/libOpenImageIO/exif.cpp
++++ b/src/libOpenImageIO/exif.cpp
+@@ -528,40 +528,44 @@ pvt::exif_tagmap_ref()
+ 
+ 
+ 
++// 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,
+-    GPSTAG_LONGITUDEREF      = 3,
+-    GPSTAG_LONGITUDE         = 4,
+-    GPSTAG_ALTITUDEREF       = 5,
+-    GPSTAG_ALTITUDE          = 6,
+-    GPSTAG_TIMESTAMP         = 7,
+-    GPSTAG_SATELLITES        = 8,
+-    GPSTAG_STATUS            = 9,
+-    GPSTAG_MEASUREMODE       = 10,
+-    GPSTAG_DOP               = 11,
+-    GPSTAG_SPEEDREF          = 12,
+-    GPSTAG_SPEED             = 13,
+-    GPSTAG_TRACKREF          = 14,
+-    GPSTAG_TRACK             = 15,
+-    GPSTAG_IMGDIRECTIONREF   = 16,
+-    GPSTAG_IMGDIRECTION      = 17,
+-    GPSTAG_MAPDATUM          = 18,
+-    GPSTAG_DESTLATITUDEREF   = 19,
+-    GPSTAG_DESTLATITUDE      = 20,
+-    GPSTAG_DESTLONGITUDEREF  = 21,
+-    GPSTAG_DESTLONGITUDE     = 22,
+-    GPSTAG_DESTBEARINGREF    = 23,
+-    GPSTAG_DESTBEARING       = 24,
+-    GPSTAG_DESTDISTANCEREF   = 25,
+-    GPSTAG_DESTDISTANCE      = 26,
+-    GPSTAG_PROCESSINGMETHOD  = 27,
+-    GPSTAG_AREAINFORMATION   = 28,
+-    GPSTAG_DATESTAMP         = 29,
+-    GPSTAG_DIFFERENTIAL      = 30,
+-    GPSTAG_HPOSITIONINGERROR = 31
++    GPSTAG_VERSIONID            = 0,
++    GPSTAG_LATITUDEREF          = 1,
++    GPSTAG_LATITUDE             = 2,
++    GPSTAG_LONGITUDEREF         = 3,
++    GPSTAG_LONGITUDE            = 4,
++    GPSTAG_ALTITUDEREF          = 5,
++    GPSTAG_ALTITUDE             = 6,
++    GPSTAG_TIMESTAMP            = 7,
++    GPSTAG_SATELLITES           = 8,
++    GPSTAG_STATUS               = 9,
++    GPSTAG_MEASUREMODE          = 10,
++    GPSTAG_DOP                  = 11,
++    GPSTAG_SPEEDREF             = 12,
++    GPSTAG_SPEED                = 13,
++    GPSTAG_TRACKREF             = 14,
++    GPSTAG_TRACK                = 15,
++    GPSTAG_IMGDIRECTIONREF      = 16,
++    GPSTAG_IMGDIRECTION         = 17,
++    GPSTAG_MAPDATUM             = 18,
++    GPSTAG_DESTLATITUDEREF      = 19,
++    GPSTAG_DESTLATITUDE         = 20,
++    GPSTAG_DESTLONGITUDEREF     = 21,
++    GPSTAG_DESTLONGITUDE        = 22,
++    GPSTAG_DESTBEARINGREF       = 23,
++    GPSTAG_DESTBEARING          = 24,
++    GPSTAG_DESTDISTANCEREF      = 25,
++    GPSTAG_DESTDISTANCE         = 26,
++    GPSTAG_PROCESSINGMETHOD     = 27,
++    GPSTAG_AREAINFORMATION      = 28,
++    GPSTAG_DATESTAMP            = 29,
++    GPSTAG_DIFFERENTIAL         = 30,
++    GPSTAG_GPSHPOSITIONINGERROR = 31
+ };
++#endif
+ 
+ static const TagInfo gps_tag_table[] = {
+     // clang-format off
+@@ -596,7 +600,7 @@ static const TagInfo 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 }
+     // clang-format on
+ };
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/OpenImageIO.git/commitdiff/2026a03f7ec413786295a3b767e18819c21e94c0



More information about the pld-cvs-commit mailing list