diff --git a/media-libs/openimageio/openimageio-1.7.17.recipe b/media-libs/openimageio/openimageio-1.7.17.recipe new file mode 100644 index 000000000..80287f8b3 --- /dev/null +++ b/media-libs/openimageio/openimageio-1.7.17.recipe @@ -0,0 +1,119 @@ +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="669c59d06399dd882c3e2469bb3a4b33d537db150f6fe056495c3429b5c3838f" +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: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:libilmimf$secondaryArchSuffix + lib:libjpeg$secondaryArchSuffix + lib:libopencolorio$secondaryArchSuffix + lib:libpng16$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:libboost_system$secondaryArchSuffix + devel:libbz2$secondaryArchSuffix + devel:libcrypto$secondaryArchSuffix + devel:libfreetype$secondaryArchSuffix + devel:libgif$secondaryArchSuffix + devel:libglew$secondaryArchSuffix + devel:libhalf$secondaryArchSuffix + devel:libilmimf$secondaryArchSuffix + devel:libjpeg$secondaryArchSuffix + devel:libopencolorio$secondaryArchSuffix + devel:libpng16$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 + " + +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 \ + -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.7.17.patchset b/media-libs/openimageio/patches/openimageio-1.7.17.patchset new file mode 100644 index 000000000..fb541821a --- /dev/null +++ b/media-libs/openimageio/patches/openimageio-1.7.17.patchset @@ -0,0 +1,117 @@ +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 256ce4d..e8baa21 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 0aa25c0..c061ccc 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 b17c7f8..4b00d09 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..bd9ccb6 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.12.2 + +From 7fff1ebe616dee4d87698d4aac5155016f8da9ac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= +Date: Wed, 21 Jun 2017 19:15:08 +0200 +Subject: Search path fix + + +diff --git a/src/cmake/modules/FindFreetype.cmake b/src/cmake/modules/FindFreetype.cmake +index 9f3d16f..5619e3e 100644 +--- a/src/cmake/modules/FindFreetype.cmake ++++ b/src/cmake/modules/FindFreetype.cmake +@@ -24,6 +24,8 @@ FIND_PATH (FREETYPE_INCLUDE_DIRS ft2build.h + /usr/local/include/freetype2/freetype + /sw/include + /opt/local/include ++ /system/develop/headers/freetype2 ++ /system/develop/headers/x86/freetype2 + DOC "The directory where freetype.h resides") + FIND_LIBRARY (FREETYPE_LIBRARIES + NAMES FREETYPE freetype +@@ -36,6 +38,8 @@ FIND_LIBRARY (FREETYPE_LIBRARIES + /usr/local/lib + /sw/lib + /opt/local/lib ++ /system/lib ++ /system/lib/x86 + DOC "The FREETYPE library") + if (FREETYPE_INCLUDE_DIRS AND FREETYPE_LIBRARIES) + set (FREETYPE_FOUND TRUE) +-- +2.12.2