diff --git a/community/openimageio/PKGBUILD b/community/openimageio/PKGBUILD index b029b51bf..27dee9fac 100644 --- a/community/openimageio/PKGBUILD +++ b/community/openimageio/PKGBUILD @@ -7,7 +7,7 @@ pkgname=openimageio pkgver=1.4.16 -pkgrel=4 +pkgrel=5 pkgdesc="A library for reading and writing images, including classes, utilities, and applications" arch=(i686 x86_64) url="http://www.openimageio.org/" @@ -17,14 +17,20 @@ makedepends=('cmake' 'qt4' 'python2' 'boost' 'mesa' 'git') optdepends=('qt4: iv image viewer' 'python2: bindings support') source=(git+git://github.com/OpenImageIO/oiio.git#tag=Release-${pkgver} + ustring-cxx11-std-string.patch + fix-compiler-warning.patch stdmath.patch) md5sums=('SKIP' + 'ec2e922a5297331901fd9331fcfb6bdb' + 'f41243f93ad9370060efdad931750289' '7b819bf20cf2c13cbde5fc6511e39f35') prepare() { cd oiio - patch -Np1 < $srcdir/stdmath.patch + patch -Np1 < "$srcdir/ustring-cxx11-std-string.patch" + patch -Np1 < "$srcdir/fix-compiler-warning.patch" + patch -Np1 < "$srcdir/stdmath.patch" } build() { diff --git a/community/openimageio/fix-compiler-warning.patch b/community/openimageio/fix-compiler-warning.patch new file mode 100644 index 000000000..ad67c33c8 --- /dev/null +++ b/community/openimageio/fix-compiler-warning.patch @@ -0,0 +1,22 @@ +From 4e3371d2e37512c5fa8b1f297ad9af52417fec9e Mon Sep 17 00:00:00 2001 +From: Larry Gritz +Date: Wed, 11 Feb 2015 15:27:40 -0800 +Subject: [PATCH] Fix compiler warning about unused variable + +--- + src/ptex.imageio/ptex/PtexHalf.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/ptex.imageio/ptex/PtexHalf.cpp b/src/ptex.imageio/ptex/PtexHalf.cpp +index a880971..3c17369 100644 +--- a/src/ptex.imageio/ptex/PtexHalf.cpp ++++ b/src/ptex.imageio/ptex/PtexHalf.cpp +@@ -80,7 +80,7 @@ static bool PtexHalfInit() + return 1; + } + +-static bool PtexHalfInitialized = PtexHalfInit(); ++bool PtexHalfInitialized = PtexHalfInit(); + + + /** Handle exceptional cases for half-to-float conversion */ diff --git a/community/openimageio/ustring-cxx11-std-string.patch b/community/openimageio/ustring-cxx11-std-string.patch new file mode 100644 index 000000000..db4a17c93 --- /dev/null +++ b/community/openimageio/ustring-cxx11-std-string.patch @@ -0,0 +1,35 @@ +From a2ccfad7c4962a5203ea2cf755fd102b4c67f997 Mon Sep 17 00:00:00 2001 +From: Larry Gritz +Date: Fri, 26 Jun 2015 11:46:23 -0700 +Subject: [PATCH] ustring fixes for new gcc (5.1+) std::string ABI + +This makes it work (and adds a test). +We still need to return and do something more clever for that case. +I'll need to install gcc 5.1 first to see how the internals work. +But in the mean time, at least this will unbreak things for people +already on gcc 5.1. + +Fixes #1174 +--- + src/libutil/ustring.cpp | 7 ++++++- + src/libutil/ustring_test.cpp | 2 ++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/libutil/ustring.cpp b/src/libutil/ustring.cpp +index 1d12533..4b4a8c2 100644 +--- a/src/libutil/ustring.cpp ++++ b/src/libutil/ustring.cpp +@@ -318,7 +318,12 @@ ustring::TableRep::TableRep (string_view strref, size_t hash) + // the std::string to make it point to our chars! In such a case, the + // destructor will be careful not to allow a deallocation. + +-#if defined(__GNUC__) && !defined(_LIBCPP_VERSION) ++#if defined(__GNUC__) && !defined(_LIBCPP_VERSION) && defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI ++ // NEW gcc ABI ++ // FIXME -- do something smart with this. ++ ++#elif defined(__GNUC__) && !defined(_LIBCPP_VERSION) ++ // OLD gcc ABI + // It turns out that the first field of a gcc std::string is a pointer + // to the characters within the basic_string::_Rep. We merely redirect + // that pointer, though for std::string to function properly, the chars