From 497529b6098b26b9939fad25bbe827ab05d11c3b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Sat, 26 Dec 2015 10:42:16 +0100 Subject: [PATCH] - updated to 1.6.8 --- 0002-Fix_IlmBase_issue.patch | 23 --------- 0003-Fix_multiarch_paths.patch | 39 -------------- OpenImageIO-build.patch | 91 --------------------------------- OpenImageIO-system-squish.patch | 7 ++- OpenImageIO-werror.patch | 26 +++++----- OpenImageIO.spec | 23 ++++----- fix-types.patch | 51 ++++++++++++++++++ system-pugixml.patch | 22 ++++++++ 8 files changed, 101 insertions(+), 181 deletions(-) delete mode 100644 0002-Fix_IlmBase_issue.patch delete mode 100644 0003-Fix_multiarch_paths.patch delete mode 100644 OpenImageIO-build.patch create mode 100644 fix-types.patch create mode 100644 system-pugixml.patch diff --git a/0002-Fix_IlmBase_issue.patch b/0002-Fix_IlmBase_issue.patch deleted file mode 100644 index 15f1fc4..0000000 --- a/0002-Fix_IlmBase_issue.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: "Matteo F. Vescovi" -Date: Fri, 21 Dec 2012 16:31:29 +0100 -Subject: Fix_IlmBase_issue - -This first patch hides the private symbols -even on kFreeBSD and Hurd, besides Linux. ---- - src/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index adb380c..71f9a3e 100644 ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -130,7 +130,7 @@ if (CMAKE_COMPILER_IS_CLANG OR CMAKE_COMPILER_IS_GNUCC) - # Turn default symbol visibility to hidden - set (VISIBILITY_COMMAND "-fvisibility=hidden -fvisibility-inlines-hidden") - add_definitions (${VISIBILITY_COMMAND}) -- if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") -+ if (CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU") - # Linux: also hide all the symbols of dependent libraries to - # prevent clashes if an app using OIIO is linked against - # other verions of our dependencies. diff --git a/0003-Fix_multiarch_paths.patch b/0003-Fix_multiarch_paths.patch deleted file mode 100644 index 436cc6a..0000000 --- a/0003-Fix_multiarch_paths.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: "Matteo F. Vescovi" -Date: Fri, 21 Dec 2012 16:34:56 +0100 -Subject: Fix_multiarch_paths - -This second patch adds multiarch paths to the -standard ones for ilm and openexr libraries. ---- - src/cmake/modules/FindIlmBase.cmake | 2 ++ - src/cmake/modules/FindOpenEXR.cmake | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/src/cmake/modules/FindIlmBase.cmake b/src/cmake/modules/FindIlmBase.cmake -index 9e2fe5b..041b470 100644 ---- a/src/cmake/modules/FindIlmBase.cmake -+++ b/src/cmake/modules/FindIlmBase.cmake -@@ -118,7 +118,9 @@ set (IlmBase_generic_include_paths - /opt/local/include) - set (IlmBase_generic_library_paths - /usr/lib -+ /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} - /usr/local/lib -+ /usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE} - /sw/lib - /opt/local/lib) - -diff --git a/src/cmake/modules/FindOpenEXR.cmake b/src/cmake/modules/FindOpenEXR.cmake -index bd37e8a..955c025 100644 ---- a/src/cmake/modules/FindOpenEXR.cmake -+++ b/src/cmake/modules/FindOpenEXR.cmake -@@ -114,7 +114,9 @@ set (OpenEXR_generic_include_paths - /opt/local/include) - set (OpenEXR_generic_library_paths - /usr/lib -+ /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE} - /usr/local/lib -+ /usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE} - /sw/lib - /opt/local/lib) - diff --git a/OpenImageIO-build.patch b/OpenImageIO-build.patch deleted file mode 100644 index 2b72b1b..0000000 --- a/OpenImageIO-build.patch +++ /dev/null @@ -1,91 +0,0 @@ ---- OpenImageIO-oiio-bcdad81/src/field3d.imageio/CMakeLists.txt~ 2013-11-01 18:03:46.000000000 +0100 -+++ OpenImageIO-oiio-bcdad81/src/field3d.imageio/CMakeLists.txt 2013-11-05 21:12:41.033996632 +0100 -@@ -1,5 +1,5 @@ - if (USE_FIELD3D) -- if (FIELD3D_FOUND and HDF5_FOUND) -+ if (FIELD3D_FOUND AND HDF5_FOUND) - include_directories (${FIELD3D_INCLUDES}) - add_oiio_plugin (field3dinput.cpp field3doutput.cpp - LINK_LIBRARIES ${FIELD3D_LIBRARY} - -From 77fd2276e12791dc17cb20526cd371d66140e416 Mon Sep 17 00:00:00 2001 -From: Larry Gritz -Date: Tue, 5 Nov 2013 16:05:43 -0800 -Subject: [PATCH] Make cleaner threads.h compile for the NOTHREADS case - ---- - src/include/thread.h | 27 ++++++++++++++++++++++----- - 1 file changed, 22 insertions(+), 5 deletions(-) - -diff --git a/src/include/thread.h b/src/include/thread.h -index e389ebb..ecf3e66 100644 ---- a/src/include/thread.h -+++ b/src/include/thread.h -@@ -128,6 +128,7 @@ class null_mutex { - void unlock () { } - void lock_shared () { } - void unlock_shared () { } -+ bool try_lock () { return true; } - }; - - /// Null lock that can be substituted for a real one to test how much -@@ -219,7 +220,9 @@ class thread_specific_ptr { - inline int - atomic_exchange_and_add (volatile int *at, int x) - { --#ifdef USE_GCC_ATOMICS -+#ifdef NOTHREADS -+ int r = *at; *at += x; return r; -+#elif defined(USE_GCC_ATOMICS) - return __sync_fetch_and_add ((int *)at, x); - #elif USE_TBB - atomic *a = (atomic *)at; -@@ -237,7 +240,9 @@ class thread_specific_ptr { - inline long long - atomic_exchange_and_add (volatile long long *at, long long x) - { --#ifdef USE_GCC_ATOMICS -+#ifdef NOTHREADS -+ long long r = *at; *at += x; return r; -+#elif defined(USE_GCC_ATOMICS) - return __sync_fetch_and_add (at, x); - #elif USE_TBB - atomic *a = (atomic *)at; -@@ -261,11 +266,17 @@ class thread_specific_ptr { - /// *at = newval; return true; - /// } else { - /// return false; --/// -+/// } - inline bool - atomic_compare_and_exchange (volatile int *at, int compareval, int newval) - { --#ifdef USE_GCC_ATOMICS -+#ifdef NOTHREADS -+ if (*at == compareval) { -+ *at = newval; return true; -+ } else { -+ return false; -+ } -+#elif defined(USE_GCC_ATOMICS) - return __sync_bool_compare_and_swap (at, compareval, newval); - #elif USE_TBB - atomic *a = (atomic *)at; -@@ -282,7 +293,13 @@ class thread_specific_ptr { - inline bool - atomic_compare_and_exchange (volatile long long *at, long long compareval, long long newval) - { --#ifdef USE_GCC_ATOMICS -+#ifdef NOTHREADS -+ if (*at == compareval) { -+ *at = newval; return true; -+ } else { -+ return false; -+ } -+#elif defined(USE_GCC_ATOMICS) - return __sync_bool_compare_and_swap (at, compareval, newval); - #elif USE_TBB - atomic *a = (atomic *)at; --- -1.8.4 - diff --git a/OpenImageIO-system-squish.patch b/OpenImageIO-system-squish.patch index 5001586..41b4827 100644 --- a/OpenImageIO-system-squish.patch +++ b/OpenImageIO-system-squish.patch @@ -1,7 +1,10 @@ --- OpenImageIO-oiio-7d98ca6/src/dds.imageio/CMakeLists.txt.orig 2011-11-05 08:35:00.000000000 +0100 +++ OpenImageIO-oiio-7d98ca6/src/dds.imageio/CMakeLists.txt 2011-11-18 21:22:02.993174921 +0100 -@@ -1 +1 @@ --add_oiio_plugin (ddsinput.cpp ddsoutput.cpp squish/alpha.cpp squish/clusterfit.cpp squish/colourblock.cpp squish/colourfit.cpp squish/colourset.cpp squish/maths.cpp squish/rangefit.cpp squish/singlecolourfit.cpp squish/squish.cpp) +@@ -1,4 +1,1 @@ +-add_oiio_plugin (ddsinput.cpp ddsoutput.cpp squish/alpha.cpp squish/clusterfit.cpp +- squish/colourblock.cpp squish/colourfit.cpp squish/colourset.cpp +- squish/maths.cpp squish/rangefit.cpp squish/singlecolourfit.cpp +- squish/squish.cpp) +add_oiio_plugin (ddsinput.cpp ddsoutput.cpp LINK_LIBRARIES squish) --- OpenImageIO-oiio-7d98ca6/src/dds.imageio/ddsinput.cpp.orig 2011-11-05 08:35:00.000000000 +0100 +++ OpenImageIO-oiio-7d98ca6/src/dds.imageio/ddsinput.cpp 2011-11-18 21:30:04.823191054 +0100 diff --git a/OpenImageIO-werror.patch b/OpenImageIO-werror.patch index 97f8045..c88bdde 100644 --- a/OpenImageIO-werror.patch +++ b/OpenImageIO-werror.patch @@ -9,17 +9,15 @@ case dpx::kUndefined: tmpstr = "Undefined"; break; ---- OpenImageIO-oiio-bcdad81/src/libOpenImageIO/imagebufalgo.cpp~ 2013-11-01 18:03:46.000000000 +0100 -+++ OpenImageIO-oiio-bcdad81/src/libOpenImageIO/imagebufalgo.cpp 2015-02-18 17:15:01.274966027 +0100 -@@ -1063,9 +1063,9 @@ - if (error) - continue; // ignore errors - // now, draw to our target surface -- for (int j = 0; j < slot->bitmap.rows; ++j) { -+ for (unsigned int j = 0; j < slot->bitmap.rows; ++j) { - int ry = y + j - slot->bitmap_top; -- for (int i = 0; i < slot->bitmap.width; ++i) { -+ for (unsigned int i = 0; i < slot->bitmap.width; ++i) { - int rx = x + i + slot->bitmap_left; - float b = slot->bitmap.buffer[slot->bitmap.pitch*j+i] / 255.0f; - R.getpixel (rx, ry, pixelcolor); + +--- /home/users/baggins/devel/PLD/rpm/BUILD/OpenImageIO-oiio-4070df8/src/libtexture/texturesys.cpp~ 2015-12-19 07:44:03.000000000 +0100 ++++ /home/users/baggins/devel/PLD/rpm/BUILD/OpenImageIO-oiio-4070df8/src/libtexture/texturesys.cpp 2015-12-26 10:38:06.735886871 +0100 +@@ -2038,7 +2038,7 @@ + int pixelsize = tile->pixelsize(); + int offset = pixelsize * (tile_t * spec.tile_width + tile_s); + offset += (firstchannel - id.chbegin()) * channelsize; +- DASSERT ((size_t)offset < spec.tile_width*spec.tile_height*spec.tile_depth*pixelsize); ++ DASSERT ((size_t)offset < (size_t)spec.tile_width*spec.tile_height*spec.tile_depth*pixelsize); + if (pixeltype == TypeDesc::UINT8) + texel_simd[j][i] = uchar2float4 ((const unsigned char *)(tile->bytedata() + offset)); + else if (pixeltype == TypeDesc::UINT16) diff --git a/OpenImageIO.spec b/OpenImageIO.spec index f6cd5fc..9d92718 100644 --- a/OpenImageIO.spec +++ b/OpenImageIO.spec @@ -16,15 +16,13 @@ Summary: Library for reading and writing images Summary(pl.UTF-8): Biblioteka do odczytu i zapisu obrazów Name: OpenImageIO -Version: 1.2.3 -Release: 23 +Version: 1.6.8 +Release: 1 License: BSD Group: Libraries Source0: https://github.com/OpenImageIO/oiio/tarball/Release-%{version}/%{name}-%{version}.tar.gz -# Source0-md5: 20066ae0e9026717242f64f107f7ee8e +# Source0-md5: 1f614ff6129c60bfcadbb4cefe86325d Patch0: %{name}-link.patch - -Patch2: %{name}-build.patch Patch3: %{name}-system-squish.patch Patch4: %{name}-system-ptex.patch Patch5: %{name}-system-dpx.patch @@ -32,6 +30,8 @@ Patch6: %{name}-system-libcineon.patch Patch7: %{name}-werror.patch Patch8: 0002-Fix_IlmBase_issue.patch Patch9: 0003-Fix_multiarch_paths.patch +Patch10: system-pugixml.patch +Patch11: fix-types.patch URL: https://sites.google.com/site/openimageio/home BuildRequires: Field3D-devel %{?with_ocio:BuildRequires: OpenColorIO-devel} @@ -305,26 +305,25 @@ Python binding for OpenImageIO library. Wiązanie Pythona do biblioteki OpenImageIO. %prep -%setup -q -n %{name}-oiio-bcdad81 +%setup -q -n %{name}-oiio-4070df8 %patch0 -p1 - -%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch8 -p1 -%patch9 -p1 +%patch10 -p1 +%patch11 -p1 %{__rm} -r src/dds.imageio/squish src/ptex.imageio/ptex # when using system pugixml, don't use hacked headers -%{__rm} src/include/pugi*.hpp +%{__rm} src/include/OpenImageIO/pugi*.{c,h}pp %build install -d build cd build -%cmake ../src \ +CXXFLAGS="%{rpmcxxflags} -std=c++11" \ +%cmake ../ \ %ifarch i386 i486 -DNOTHREADS=1 \ %endif diff --git a/fix-types.patch b/fix-types.patch new file mode 100644 index 0000000..35e205c --- /dev/null +++ b/fix-types.patch @@ -0,0 +1,51 @@ +--- OpenImageIO-oiio-4070df8/src/include/OpenImageIO/SHA1.h.orig 2015-12-26 10:27:30.663439300 +0100 ++++ OpenImageIO-oiio-4070df8/src/include/OpenImageIO/SHA1.h 2015-12-26 10:32:29.409487767 +0100 +@@ -103,6 +103,8 @@ + #include + #endif + ++#include ++ + // You can define the endian mode in your files without modifying the SHA-1 + // source files. Just #define SHA1_LITTLE_ENDIAN or #define SHA1_BIG_ENDIAN + // in your files, before including the SHA1.h header file. If you don't +@@ -156,7 +158,7 @@ + #ifdef _MSC_VER // Compiling with Microsoft compiler + #define UINT_8 unsigned __int8 + #else // !_MSC_VER +-#define UINT_8 unsigned char ++#define UINT_8 uint8_t + #endif // _MSC_VER + #endif + +@@ -164,11 +166,7 @@ + #ifdef _MSC_VER // Compiling with Microsoft compiler + #define UINT_32 unsigned __int32 + #else // !_MSC_VER +-#if (ULONG_MAX == 0xFFFFFFFF) +-#define UINT_32 unsigned long +-#else +-#define UINT_32 unsigned int +-#endif ++#define UINT_32 uint32_t + #endif // _MSC_VER + #endif // UINT_32 + +@@ -176,7 +174,7 @@ + #ifdef _MSC_VER // Compiling with Microsoft compiler + #define INT_64 __int64 + #else // !_MSC_VER +-#define INT_64 long long ++#define INT_64 int64_t + #endif // _MSC_VER + #endif // INT_64 + +@@ -184,7 +182,7 @@ + #ifdef _MSC_VER // Compiling with Microsoft compiler + #define UINT_64 unsigned __int64 + #else // !_MSC_VER +-#define UINT_64 unsigned long long ++#define UINT_64 uint64_t + #endif // _MSC_VER + #endif // UINT_64 + diff --git a/system-pugixml.patch b/system-pugixml.patch new file mode 100644 index 0000000..f422b6e --- /dev/null +++ b/system-pugixml.patch @@ -0,0 +1,22 @@ +--- OpenImageIO-oiio-4070df8/src/libOpenImageIO/formatspec.cpp~ 2015-12-19 07:44:03.000000000 +0100 ++++ OpenImageIO-oiio-4070df8/src/libOpenImageIO/formatspec.cpp 2015-12-26 10:06:44.635447040 +0100 +@@ -42,7 +42,7 @@ + #include "OpenImageIO/fmath.h" + #include "OpenImageIO/imageio.h" + #include "imageio_pvt.h" +-#include "OpenImageIO/pugixml.hpp" ++#include + + + OIIO_NAMESPACE_BEGIN +--- OpenImageIO-oiio-4070df8/src/libOpenImageIO/xmp.cpp~ 2015-12-19 07:44:03.000000000 +0100 ++++ OpenImageIO-oiio-4070df8/src/libOpenImageIO/xmp.cpp 2015-12-26 10:07:06.745648169 +0100 +@@ -37,7 +37,7 @@ + #include "OpenImageIO/strutil.h" + #include "OpenImageIO/fmath.h" + #include "OpenImageIO/imageio.h" +-#include "OpenImageIO/pugixml.hpp" ++#include + + #define DEBUG_XMP_READ 0 + #define DEBUG_XMP_WRITE 0 -- 2.44.0