diff --git a/media-libs/openimageio/openimageio-1.8.6.recipe b/media-libs/openimageio/openimageio-1.8.6.recipe new file mode 100644 index 000000000..5cb2a6519 --- /dev/null +++ b/media-libs/openimageio/openimageio-1.8.6.recipe @@ -0,0 +1,126 @@ +SUMMARY="A library to read and write images" +DESCRIPTION="OpenImageIO is a library for reading and writing images, and a \ +bunch of related classes, utilities, and applications. There is a particular \ +emphasis on formats and functionality used in professional, large-scale \ +animation and visual effects work for film. +OpenImageIO is used extensively in animation and VFX studios all over the \ +world, and is also incorporated into several commercial products." +HOMEPAGE="http://github.com/OpenImageIO/" +COPYRIGHT="2008-2017 Larry Gritz et al." +LICENSE="BSD (3-clause)" +REVISION="1" +SOURCE_URI="$HOMEPAGE/oiio/archive/Release-$portVersion.tar.gz" +CHECKSUM_SHA256="9e070d56c0f71496ca77290a78abd948af9c2799983bc27c22a36dcc16ffe2e3" +SOURCE_FILENAME="openimageio-$portVersion.tar.gz" +SOURCE_DIR="oiio-Release-$portVersion" +PATCHES="openimageio-$portVersion.patchset" + +ARCHITECTURES="x86 x86_64" +SECONDARY_ARCHITECTURES="!x86_gcc2 x86" + +PROVIDES=" + openimageio$secondaryArchSuffix = $portVersion + cmd:iconvert + cmd:idiff + cmd:igrep + cmd:iinfo + cmd:maketx + cmd:oiiotool + lib:libopenimageio$secondaryArchSuffix = $portVersion compat >= 1.8 + lib:libopenimageio_util$secondaryArchSuffix = $portVersion compat >= 1.8 + " +REQUIRES=" + haiku$secondaryArchSuffix +# lib:libavcodec$secondaryArchSuffix + lib:libboost_atomic$secondaryArchSuffix + lib:libboost_chrono$secondaryArchSuffix + lib:libboost_date_time$secondaryArchSuffix + lib:libboost_filesystem$secondaryArchSuffix + lib:libboost_regex$secondaryArchSuffix + lib:libboost_system$secondaryArchSuffix + lib:libboost_thread$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix + lib:libcrypto$secondaryArchSuffix + lib:libfreetype$secondaryArchSuffix + lib:libgif$secondaryArchSuffix + lib:libglew$secondaryArchSuffix + lib:libhalf$secondaryArchSuffix +# lib:libhdf5$secondaryArchSuffix + lib:libilmimf$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libopencolorio$secondaryArchSuffix + lib:libpng16$secondaryArchSuffix + lib:libraw$secondaryArchSuffix + lib:libssl$secondaryArchSuffix #yeah, really + lib:libtiff$secondaryArchSuffix + lib:libwebp$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +PROVIDES_devel=" + openimageio${secondaryArchSuffix}_devel = $portVersion + devel:libopenimageio$secondaryArchSuffix = $portVersion compat >= 1.8 + devel:libopenimageio_util$secondaryArchSuffix = $portVersion compat >= 1.8 + " +REQUIRES_devel=" + openimageio$secondaryArchSuffix == $portVersion base + devel:libboost_system$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel +# devel:libavcodec$secondaryArchSuffix + devel:libboost_system$secondaryArchSuffix + devel:libbz2$secondaryArchSuffix + devel:libcrypto$secondaryArchSuffix + devel:libfreetype$secondaryArchSuffix + devel:libgif$secondaryArchSuffix + devel:libglew$secondaryArchSuffix + devel:libhalf$secondaryArchSuffix +# devel:libhdf5$secondaryArchSuffix + devel:libilmimf$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libopencolorio$secondaryArchSuffix + devel:libpng16$secondaryArchSuffix + devel:libraw$secondaryArchSuffix + devel:libssl$secondaryArchSuffix + devel:libtiff$secondaryArchSuffix + devel:libwebp$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + mkdir -p build + cd build + cmake .. \ + -DUSE_OPENSSL=ON \ + -DUSE_PYTHON=OFF \ + -DCMAKE_CXX_FLAGS="-DBOOST_NO_CXX11_CONSTEXPR" \ + -DDOC_INSTALL_DIR=$docDir \ + -DFONTS_INSTALL_DIR="$fontsDir/ttfonts" \ + -DINCLUDE_INSTALL_DIR=$includeDir/OpenImageIO \ + -DMAN_INSTALL_DIR=$manDir \ + $cmakeDirArgs + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + prepareInstalledDevelLibs libOpenImageIO libOpenImageIO_Util + fixPkgconfig + + # devel package + packageEntries devel \ + $developDir +} diff --git a/media-libs/openimageio/patches/openimageio-1.8.6.patchset b/media-libs/openimageio/patches/openimageio-1.8.6.patchset new file mode 100644 index 000000000..482c53c9c --- /dev/null +++ b/media-libs/openimageio/patches/openimageio-1.8.6.patchset @@ -0,0 +1,87 @@ +From 0d155647f10278b130cf4cd74489665177656d35 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sun, 7 Jun 2015 22:05:26 +0000 +Subject: Haiku patch + + +diff --git a/src/libutil/farmhash.cpp b/src/libutil/farmhash.cpp +index 05250a6..2a2e0fa 100644 +--- a/src/libutil/farmhash.cpp ++++ b/src/libutil/farmhash.cpp +@@ -159,6 +159,13 @@ + #define bswap_64(x) bswap64(x) + #endif + ++#elif defined(__HAIKU__) ++ ++#undef bswap_32 ++#undef bswap_64 ++#define bswap_32 __builtin_bswap32 ++#define bswap_64 __builtin_bswap64 ++ + #else + + #undef bswap_32 +diff --git a/src/libutil/sysutil.cpp b/src/libutil/sysutil.cpp +index dda7bc7..75151a5 100644 +--- a/src/libutil/sysutil.cpp ++++ b/src/libutil/sysutil.cpp +@@ -77,6 +77,12 @@ + # include + #endif + ++#if defined (__HAIKU__) ++# include ++# include ++# include ++#endif ++ + #include + #include + #include +@@ -255,7 +261,7 @@ Sysutil::this_program_path () + size_t cb = sizeof(filename); + int r=1; + sysctl(mib, 4, filename, &cb, NULL, 0); +-#elif defined(__GNU__) || defined(__OpenBSD__) ++#elif defined(__GNU__) || defined(__OpenBSD__) || defined(__HAIKU__) + int r = 0; + #else + // No idea what platform this is +diff --git a/src/libutil/xxhash.cpp b/src/libutil/xxhash.cpp +index cfb1278..ef6698a 100644 +--- a/src/libutil/xxhash.cpp ++++ b/src/libutil/xxhash.cpp +@@ -126,8 +126,10 @@ typedef unsigned long long U64; + #if defined(__GNUC__) && !defined(XXH_USE_UNALIGNED_ACCESS) + # define _PACKED __attribute__ ((packed)) + #else ++#ifndef __HAIKU__ + # define _PACKED + #endif ++#endif + + #if !defined(XXH_USE_UNALIGNED_ACCESS) && !defined(__GNUC__) + # ifdef __IBMC__ +diff --git a/src/make/detectplatform.mk b/src/make/detectplatform.mk +index dacdc2e..4918389 100644 +--- a/src/make/detectplatform.mk ++++ b/src/make/detectplatform.mk +@@ -46,6 +46,14 @@ ifeq (${platform},unknown) + endif + endif + ++ # Haiku ++ ifeq (${uname},haiku) ++ platform := haiku ++ ifeq (${hw},x86_64) ++ platform := haiku64 ++ endif ++ endif ++ + # Windows + ifeq (${uname},cygwin) + platform := windows +-- +2.15.0 +