The package rpms/OpenImageIO.git has added or updated architecture specific content in
its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/OpenImageIO.git/commit/?id=b74dc2....
Change:
-%ifnarch i686 armv7hl
Thanks.
Full change:
============
commit b74dc292350bb93c3397e3d7eea184681dff0469
Author: Richard Shaw <hobbes1069(a)gmail.com>
Date: Thu Jan 18 12:39:55 2018 -0600
Add openjpeg2 to build dependencies.
Re-enable dcmtk for 32bit arches.
diff --git a/OpenImageIO-dcmtk.patch b/OpenImageIO-dcmtk.patch
index ab22bd7..17a37dd 100644
--- a/OpenImageIO-dcmtk.patch
+++ b/OpenImageIO-dcmtk.patch
@@ -1,3 +1,143 @@
+From 9e1b3f343d9cc7c217d55a1630aab15e1956b17c Mon Sep 17 00:00:00 2001
+From: Larry Gritz <lg(a)larrygritz.com>
+Date: Tue, 16 Jan 2018 22:24:04 -0800
+Subject: [PATCH 1/3] Fix dcmtk build errors on some platforms
+
+Fixes #1841
+---
+ src/dicom.imageio/dicominput.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/dicom.imageio/dicominput.cpp b/src/dicom.imageio/dicominput.cpp
+index aebbc0859..d5a9613e3 100644
+--- a/src/dicom.imageio/dicominput.cpp
++++ b/src/dicom.imageio/dicominput.cpp
+@@ -297,13 +297,13 @@ DICOMInput::read_metadata ()
+ m_spec.attribute (name, (float)val);
+ // N.B. we cast to float. Will anybody care?
+ } else if (evr == EVR_SL || evr == EVR_IS) {
+- int val;
++ Sint32 val;
+ if (dataset->findAndGetSint32 (tag, val).good())
+- m_spec.attribute (name, val);
++ m_spec.attribute (name, static_cast<int>(val));
+ } else if (evr == EVR_UL) {
+- unsigned int val;
++ Uint32 val;
+ if (dataset->findAndGetUint32 (tag, val).good())
+- m_spec.attribute (name, TypeDesc::UINT32, &val);
++ m_spec.attribute (name, static_cast<unsigned int>(val));
+ } else if (evr == EVR_US) {
+ unsigned short val;
+ if (dataset->findAndGetUint16 (tag, val).good())
+
+From 533c1e71a7b3a984ddcca84a5c49f706027b6929 Mon Sep 17 00:00:00 2001
+From: Larry Gritz <lg(a)larrygritz.com>
+Date: Tue, 16 Jan 2018 23:22:40 -0800
+Subject: [PATCH 2/3] DCMTK version enforcement
+
+Have CMake figure out the version of DCMTK found.
+Reject anything older than 3.6.1.
+Older versions botched some preprocessor symbols in ways that are painful
+to deal with, so since the ones that work (>= 3.6.1) date from 2011 (!),
+I don't think it's too stringent a requirement.
+---
+ src/cmake/externalpackages.cmake | 2 +-
+ src/cmake/modules/FindDCMTK.cmake | 31 +++++++++++++++++++++++++------
+ 2 files changed, 26 insertions(+), 7 deletions(-)
+
+diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
+index 4c8a1f9d3..a41d7fa1c 100644
+--- a/src/cmake/externalpackages.cmake
++++ b/src/cmake/externalpackages.cmake
+@@ -478,7 +478,7 @@ endif()
+ ###########################################################################
+ # DCMTK
+ if (USE_DICOM)
+- find_package (DCMTK)
++ find_package (DCMTK 3.6.1)
+ if (NOT DCMTK_FOUND)
+ set (DCMTK_INCLUDE_DIR "")
+ set (DCMTK_LIBRARIES "")
+diff --git a/src/cmake/modules/FindDCMTK.cmake b/src/cmake/modules/FindDCMTK.cmake
+index 9b2edca1b..83f395614 100644
+--- a/src/cmake/modules/FindDCMTK.cmake
++++ b/src/cmake/modules/FindDCMTK.cmake
+@@ -1,6 +1,3 @@
+-# FIXME: CMake >= 3.5 has its own FindDCMTK.cmake, so when our minimum
+-# cmake is at least that, we can remove this file.
+-
+ # Module to find DCMTK
+ #
+ # This module will first look into the directories defined by the variables:
+@@ -8,9 +5,11 @@
+ #
+ # This module defines the following variables:
+ #
+-# DCMTK_FOUND - True if DCMTK was found.
+-# DCMTK_INCLUDES - where to find DCMTK headers
+-# DCMTK_LIBRARIES - list of libraries to link against when using DCMTK
++# DCMTK_FOUND True if DCMTK was found.
++# DCMTK_INCLUDES Where to find DCMTK headers
++# DCMTK_LIBRARIES List of libraries to link against when using DCMTK
++# DCMTK_VERSION Version of DCMTK (e.g., 3.6.2)
++# DCMTK_VERSION_NUMBER Int version of DCMTK (e.g., 362 for 3.6.2)
+
+ include (FindPackageHandleStandardArgs)
+ include (FindPackageMessage)
+@@ -53,6 +52,13 @@ foreach (COMPONENT dcmimage dcmimgle dcmdata oflog ofstd iconv)
+ endif ()
+ endforeach()
+
++message (STATUS "DCMTK_INCLUDE_DIR = ${DCMTK_INCLUDE_DIR}")
++if (DCMTK_INCLUDE_DIR AND EXISTS
"${DCMTK_INCLUDE_DIR}/dcmtk/config/osconfig.h")
++ file(STRINGS "${DCMTK_INCLUDE_DIR}/dcmtk/config/osconfig.h" TMP REGEX
"^#define PACKAGE_VERSION[ \t].*$")
++ string(REGEX MATCHALL "[0-9.]+" DCMTK_VERSION ${TMP})
++ file(STRINGS "${DCMTK_INCLUDE_DIR}/dcmtk/config/osconfig.h" TMP REGEX
"^#define PACKAGE_VERSION_NUMBER[ \t].*$")
++ string(REGEX MATCHALL "[0-9.]+" DCMTK_VERSION_NUMBER ${TMP})
++endif ()
+
+ if (DCMTK_INCLUDE_DIR AND DCMTK_LIBRARIES)
+ set(DCMTK_FOUND TRUE)
+@@ -60,9 +66,22 @@ if (DCMTK_INCLUDE_DIR AND DCMTK_LIBRARIES)
+ if (NOT DCMTK_FIND_QUIETLY)
+ message(STATUS "Found DCMTK library ${DCMTK_LIBRARIES}")
+ message(STATUS "Found DCMTK includes ${DCMTK_INCLUDES}")
++ message(STATUS "Found DCMTK short version number
${DCMTK_VERSION_NUMBER}")
+ endif ()
+ else()
+ set(DCMTK_FOUND FALSE)
+ message(STATUS "DCMTK not found. Specify DCMTK_PATH to locate it")
+ endif()
+
++include (FindPackageHandleStandardArgs)
++find_package_handle_standard_args (DCMTK
++ REQUIRED_VARS DCMTK_INCLUDE_DIR DCMTK_LIBRARIES
++ VERSION_VAR DCMTK_VERSION
++ )
++
++mark_as_advanced (
++ DCMTK_INCLUDE_DIR
++ DCMTK_LIBRARIES
++ DCMTK_VERSION
++ DCMTK_VERSION_NUMBER
++ )
+
+From b1eb9c97eaa11b423b5bb279e1a60e0a30490ea2 Mon Sep 17 00:00:00 2001
+From: Larry Gritz <lg(a)larrygritz.com>
+Date: Tue, 16 Jan 2018 23:26:27 -0800
+Subject: [PATCH 3/3] dcmtk: More conservative goards on certain symbols.
+
+EVR_OD, EVR_UC, EVR_UR were added part way through 3.6.1 releases.
+So test for them with 3.6.2 minimum not 3.6.1.
+
+(Thanks, Richard Shaw, for the tip on this one.)
+---
+ src/dicom.imageio/dicominput.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/dicom.imageio/dicominput.cpp b/src/dicom.imageio/dicominput.cpp
+index d5a9613e3..23294d346 100644
--- a/src/dicom.imageio/dicominput.cpp
+++ b/src/dicom.imageio/dicominput.cpp
@@ -288,7 +288,7 @@ DICOMInput::read_metadata ()
diff --git a/OpenImageIO.spec b/OpenImageIO.spec
index 377da02..b504b29 100644
--- a/OpenImageIO.spec
+++ b/OpenImageIO.spec
@@ -1,21 +1,18 @@
-%global subname oiio
-#global beta beta1
-
Name: OpenImageIO
Version: 1.8.7
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Library for reading and writing images
Group: Development/Libraries
License: BSD
URL:
https://sites.google.com/site/openimageio/home
-Source0:
https://github.com/%{name}/%{subname}/archive/Release-%{version}.tar.gz#/...
+Source0:
https://github.com/%{name}/oiio/archive/Release-%{version}.tar.gz#/%{name...
# Images for test suite
#Source1: oiio-images.tar.gz
Patch0: OpenImageIO-man.patch
-#Patch1: OpenImageIO-dcmtk.patch
+Patch1: OpenImageIO-dcmtk.patch
Patch2: OpenImageIO-as_needed.patch
Patch3: OpenImageIO-GLES.patch
@@ -30,16 +27,14 @@ BuildRequires: boost-devel
BuildRequires: glew-devel
BuildRequires: OpenEXR-devel ilmbase-devel
BuildRequires: python2-devel
-BuildRequires: libpng-devel libtiff-devel libjpeg-turbo-devel giflib-devel
+BuildRequires: libpng-devel libtiff-devel libjpeg-turbo-devel openjpeg2-devel
+BuildRequires: giflib-devel
%if ! 0%{?rhel}
BuildRequires: libwebp-devel
BuildRequires: Field3D-devel
%endif
BuildRequires: hdf5-devel
-# Builds fail for 32bit systems.
-%ifnarch i686 armv7hl
BuildRequires: dcmtk-devel
-%endif
BuildRequires: zlib-devel
BuildRequires: jasper-devel
BuildRequires: pugixml-devel
@@ -54,7 +49,7 @@ BuildRequires: OpenColorIO-devel
# We don't want to provide private python extension libs
%{?filter_setup:
-%filter_provides_in %{python_sitearch}/.*\.so$
+%filter_provides_in %{python2_sitearch}/.*\.so$
%filter_setup
}
@@ -151,6 +146,8 @@ rm -rf build/linux && mkdir -p build/linux && pushd
build/linux
-DBOOST_INCLUDEDIR=%{_includedir}/boost148 \
-DBOOST_LIBRARYDIR=%{_libdir}/boost148 \
%endif
+ -DJPEG_INCLUDE_DIR=%{_includedir} \
+ -DOPENJPEG_INCLUDE_DIR=$(pkgconf --variable=includedir libopenjp2) \
-DVERBOSE=TRUE \
../../
@@ -182,7 +179,7 @@ cp -a src/doc/*.1 %{buildroot}%{_mandir}/man1
%{_libdir}/libOpenImageIO_Util.so.*
%files -n python2-openimageio
-%{python_sitearch}/OpenImageIO.so
+%{python2_sitearch}/OpenImageIO.so
%files utils
%exclude %{_bindir}/iv
@@ -202,6 +199,10 @@ cp -a src/doc/*.1 %{buildroot}%{_mandir}/man1
%changelog
+* Thu Jan 18 2018 Richard Shaw <hobbes1069(a)gmail.com> - 1.8.7-3
+- Add openjpeg2 to build dependencies.
+- Re-enable dcmtk for 32bit arches.
+
* Sat Jan 13 2018 Richard Shaw <hobbes1069(a)gmail.com> - 1.8.7-2
- Rebuild for OpenColorIO 1.1.0.