diff --git a/.ilmbase.metadata b/.ilmbase.metadata new file mode 100644 index 0000000..7f31364 --- /dev/null +++ b/.ilmbase.metadata @@ -0,0 +1 @@ +20597d2a27e3b580e0972576e6b07bf4836b5dc6 SOURCES/ilmbase-1.0.3.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/ilmbase-1.0.2-no_undefined.patch b/SOURCES/ilmbase-1.0.2-no_undefined.patch new file mode 100644 index 0000000..da46ddb --- /dev/null +++ b/SOURCES/ilmbase-1.0.2-no_undefined.patch @@ -0,0 +1,31 @@ +diff -up ilmbase-1.0.2/IlmThread/Makefile.am.pthread_hack ilmbase-1.0.2/IlmThread/Makefile.am +--- ilmbase-1.0.2/IlmThread/Makefile.am.pthread_hack 2006-12-08 16:23:08.000000000 -0600 ++++ ilmbase-1.0.2/IlmThread/Makefile.am 2010-12-08 09:25:35.753537799 -0600 +@@ -11,7 +11,7 @@ libIlmThread_la_SOURCES = IlmThreadPool. + IlmThreadMutexPosix.cpp + + libIlmThread_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ -no-undefined +-libIlmThread_la_LIBADD = ../Iex/libIex.la ++libIlmThread_la_LIBADD = ../Iex/libIex.la $(PTHREAD_LIBS) + + libIlmThreadincludedir = $(includedir)/OpenEXR + +@@ -23,4 +23,4 @@ noinst_HEADERS = + EXTRA_DIST = $(noinst_HEADERS) IlmThreadMutexWin32.cpp IlmThreadSemaphoreWin32.cpp \ + IlmThreadWin32.cpp + +-INCLUDES = -I$(top_builddir) -I$(top_srcdir)/Iex -I$(top_srcdir)/config +\ No newline at end of file ++INCLUDES = -I$(top_builddir) -I$(top_srcdir)/Iex -I$(top_srcdir)/config +diff -up ilmbase-1.0.2/IlmThread/Makefile.in.pthread_hack ilmbase-1.0.2/IlmThread/Makefile.in +--- ilmbase-1.0.2/IlmThread/Makefile.in.pthread_hack 2010-07-22 20:13:12.000000000 -0500 ++++ ilmbase-1.0.2/IlmThread/Makefile.in 2010-12-08 09:26:10.136971078 -0600 +@@ -208,7 +208,7 @@ libIlmThread_la_SOURCES = IlmThreadPool. + IlmThreadMutexPosix.cpp + + libIlmThread_la_LDFLAGS = -version-info @LIBTOOL_VERSION@ -no-undefined +-libIlmThread_la_LIBADD = ../Iex/libIex.la ++libIlmThread_la_LIBADD = ../Iex/libIex.la $(PTHREAD_LIBS) + libIlmThreadincludedir = $(includedir)/OpenEXR + libIlmThreadinclude_HEADERS = IlmThreadPool.h IlmThread.h \ + IlmThreadSemaphore.h IlmThreadMutex.h diff --git a/SOURCES/ilmbase-1.0.3-pkgconfig.patch b/SOURCES/ilmbase-1.0.3-pkgconfig.patch new file mode 100644 index 0000000..bbc704f --- /dev/null +++ b/SOURCES/ilmbase-1.0.3-pkgconfig.patch @@ -0,0 +1,8 @@ +diff -up ilmbase-1.0.3/IlmBase.pc.in.pkgconfig ilmbase-1.0.3/IlmBase.pc.in +--- ilmbase-1.0.3/IlmBase.pc.in.pkgconfig 2012-07-17 18:27:25.000000000 -0500 ++++ ilmbase-1.0.3/IlmBase.pc.in 2012-09-08 11:11:15.913468312 -0500 +@@ -9,3 +9,4 @@ Description: Base math and exception lib + Version: @ILMBASE_VERSION@ + Libs: -L${libdir} -lImath -lHalf -lIex -lIexMath -lIlmThread @PTHREAD_LIBS@ + Cflags: @PTHREAD_CFLAGS@ -I${OpenEXR_includedir} ++Requires.private: gl glu diff --git a/SOURCES/ilmbase-1.0.3-secondary.patch b/SOURCES/ilmbase-1.0.3-secondary.patch new file mode 100644 index 0000000..d358fbb --- /dev/null +++ b/SOURCES/ilmbase-1.0.3-secondary.patch @@ -0,0 +1,12 @@ +diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary ilmbase-1.0.3/IexMath/IexMathFpu.cpp +--- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.secondary 2012-09-04 10:26:55.000000000 +0200 ++++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-09-04 10:27:20.000000000 +0200 +@@ -27,7 +27,7 @@ + #endif + + +-#ifdef HAVE_UCONTEXT_H ++#if defined(HAVE_UCONTEXT_H) && (defined(__x86_64__) || defined(__i386__)) + + + #include diff --git a/SOURCES/ilmbase-1.0.3-so6.patch b/SOURCES/ilmbase-1.0.3-so6.patch new file mode 100644 index 0000000..d66bee1 --- /dev/null +++ b/SOURCES/ilmbase-1.0.3-so6.patch @@ -0,0 +1,12 @@ +diff -up ilmbase-1.0.3/configure.ac.so6 ilmbase-1.0.3/configure.ac +--- ilmbase-1.0.3/configure.ac.so6 2012-07-30 17:06:57.000000000 -0500 ++++ ilmbase-1.0.3/configure.ac 2012-08-05 21:22:35.519448537 -0500 +@@ -8,7 +8,7 @@ AM_INIT_AUTOMAKE(1.6.3) dnl Require aut + AM_MAINTAINER_MODE + + +-LIBTOOL_CURRENT=7 ++LIBTOOL_CURRENT=6 + LIBTOOL_REVISION=0 + LIBTOOL_AGE=0 + LIBTOOL_VERSION=$LIBTOOL_CURRENT:$LIBTOOL_REVISION:$LIBTOOL_AGE diff --git a/SOURCES/ilmbase-1.0.3-ucontext.patch b/SOURCES/ilmbase-1.0.3-ucontext.patch new file mode 100644 index 0000000..2a57508 --- /dev/null +++ b/SOURCES/ilmbase-1.0.3-ucontext.patch @@ -0,0 +1,28 @@ +diff -up ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext ilmbase-1.0.3/IexMath/IexMathFpu.cpp +--- ilmbase-1.0.3/IexMath/IexMathFpu.cpp.ucontext 2012-07-26 20:51:55.000000000 +0200 ++++ ilmbase-1.0.3/IexMath/IexMathFpu.cpp 2012-08-02 23:33:14.815036891 +0200 +@@ -228,6 +228,7 @@ clearExceptions () + const uint16_t cwRestoreMask = ~((3 << 10) | (3 << 8)); + const uint16_t cwRestoreVal = (0 << 10) | (3 << 8); + ++#if 0 + inline void + restoreControlRegs (const ucontext_t & ucon, bool clearExceptions) + { +@@ -235,7 +236,7 @@ restoreControlRegs (const ucontext_t & u + setMxcsr (ucon.uc_mcontext.fpregs->mxcsr, clearExceptions); + } + +-#if 0 ++#endif + + // + // Ugly, the mxcsr isn't defined in GNU libc ucontext_t, but +@@ -255,7 +256,6 @@ restoreControlRegs (const ucontext_t & u + setMxcsr (kfp->magic == 0 ? kfp->mxcsr : 0, clearExceptions); + } + +-#endif + + } // namespace FpuControl + diff --git a/SPECS/ilmbase.spec b/SPECS/ilmbase.spec new file mode 100644 index 0000000..c2668c7 --- /dev/null +++ b/SPECS/ilmbase.spec @@ -0,0 +1,183 @@ + +Name: ilmbase +Version: 1.0.3 +Release: 5%{?dist} +Summary: Abstraction/convenience libraries + +Group: System Environment/Libraries +License: BSD +URL: http://www.openexr.com/ +Source0: https://github.com/downloads/openexr/openexr/ilmbase-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: automake libtool +BuildRequires: pkgconfig +# silly rpm, won't pick up rpm dependencies for items not in it's buildroot +# see http://bugzilla.redhat.com/866302 +BuildRequires: pkgconfig(gl) pkgconfig(glu) + +## upstreamable patches +# revert soname bump +# upstream missed bumping to so7 for OpenEXR-1.7.0, decided to do so now for +# OpenEXR-1.7.1. given fedora has shipped OpenEXR-1.7.0 since f15, bumping +# ABI now makes little sense. +Patch50: ilmbase-1.0.3-so6.patch +# explicitly add $(PTHREAD_LIBS) to libIlmThread linkage (helps workaround below) +Patch51: ilmbase-1.0.2-no_undefined.patch +# the FPU exception code is x86 specific +Patch52: ilmbase-1.0.3-secondary.patch +# add Requires.private: gl glu to IlmBase.pc +Patch53: ilmbase-1.0.3-pkgconfig.patch + +## upstream patches +# fix build on i686/32bit +# https://github.com/openexr/openexr/issues/3 +Patch100: ilmbase-1.0.3-ucontext.patch + +%description +Half is a class that encapsulates the ilm 16-bit floating-point format. + +IlmThread is a thread abstraction library for use with OpenEXR +and other software packages. + +Imath implements 2D and 3D vectors, 3x3 and 4x4 matrices, quaternions +and other useful 2D and 3D math functions. + +Iex is an exception-handling library. + +%package devel +Summary: Headers and libraries for building apps that use %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +%description devel +%{summary}. + + +%prep +%setup -q + +%patch50 -p1 -b .so6 +%patch51 -p1 -b .no_undefined +%patch52 -p1 -b .secondary +%patch53 -p1 -b .pkgconfig +%if %{__isa_bits} == 32 +%patch100 -p1 -b .ucontext +%endif +./bootstrap + + +%build +%configure --disable-static + +# manually set PTHREAD_LIBS to include -lpthread until libtool bogosity is fixed, +# https://bugzilla.redhat.com/show_bug.cgi?id=661333 +make %{?_smp_mflags} PTHREAD_LIBS="-pthread -lpthread" + + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" + +rm -fv $RPM_BUILD_ROOT%{_libdir}/lib*.la + + +%check +export PKG_CONFIG_PATH=%{buildroot}%{_datadir}/pkgconfig:%{buildroot}%{_libdir}/pkgconfig +test "$(pkg-config --modversion IlmBase)" = "%{version}" +# is the known-failure ix86-specific or 32bit specific? guess we'll find out -- rex +%ifarch %{ix86} +make check ||: +%else +make check +%endif + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING NEWS README +%{_libdir}/libHalf.so.6* +%{_libdir}/libIex.so.6* +%{_libdir}/libIexMath.so.6* +%{_libdir}/libIlmThread.so.6* +%{_libdir}/libImath.so.6* + +%files devel +%defattr(-,root,root,-) +%{_includedir}/OpenEXR/ +%{_libdir}/lib*.so +%{_libdir}/pkgconfig/IlmBase.pc + + +%changelog +* Thu Feb 14 2013 Fedora Release Engineering - 1.0.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Oct 15 2012 Rex Dieter 1.0.3-4 +- ilmbase-devel missing dependency on libGLU-devel (#866302) + +* Sat Sep 08 2012 Rex Dieter - 1.0.3-3 +- IlmBase.pc: +Requires.private: gl glu +- -devel: drop hard-coded libGL/pkgconfig deps, let rpm autodetect now + +* Tue Sep 04 2012 Dan Horák 1.0.3-2 +- fix build on non-x86 arches + +* Sun Aug 05 2012 Rex Dieter 1.0.3-1 +- ilmbase-1.0.3 +- ix86 fix courtesy of Nicolas Chauvet + +* Thu Jul 19 2012 Fedora Release Engineering - 1.0.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.0.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Feb 09 2011 Fedora Release Engineering - 1.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Dec 08 2010 Rex Dieter - 1.0.2-2 +- libIlmThread missing -pthread linkage (#661115) +- %%install: INSTALL="install -p" +- -devel: tighten dep using %%?_isa + +* Wed Jul 28 2010 Rex Dieter - 1.0.2-1 +- ilmbase-1.0.2 + +* Fri Jul 24 2009 Fedora Release Engineering - 1.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon May 4 2009 Ville Skyttä - 1.0.1-5 +- Fix spelling error in summary. + +* Tue Feb 24 2009 Fedora Release Engineering - 1.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Dec 12 2008 Rex Dieter 1.0.1-3 +- rebuild for pkgconfig deps + +* Fri Feb 08 2008 Rex Dieter 1.0.1-2 +- respin (gcc43) + +* Mon Jan 07 2008 Rex Dieter 1.0.1-1 +- ilmbase-1.0.1 + +* Fri Oct 12 2007 Rex Dieter 1.0.0-3 +- include *.tar.sig in sources + +* Mon Oct 08 2007 Rex Dieter 1.0.0-2 +- update %%summary +- -devel: +Requires: libGL-devel libGLU-devel +- make install ... INSTALL="install -p" to preserve timestamps + + +* Thu Aug 09 2007 Rex Dieter 1.0.0-1 +- ilmbase-1.0.0 (first try) +