diff --git a/media-libs/openexr/openexr24-2.4.0.recipe b/media-libs/openexr/openexr24-2.4.0.recipe new file mode 100644 index 000000000..cb4668351 --- /dev/null +++ b/media-libs/openexr/openexr24-2.4.0.recipe @@ -0,0 +1,120 @@ +SUMMARY="A high dynamic-range (HDR) image file format" +DESCRIPTION="OpenEXR is a high dynamic-range (HDR) image file format developed \ +by Industrial Light & Magic for use in computer imaging applications. OpenEXR \ +is used by ILM on all motion pictures currently in production. The first \ +movies to employ OpenEXR were Harry Potter and the Sorcerers Stone, Men in \ +Black II, Gangs of New York, and Signs. Since then, OpenEXR has become ILM's \ +main image file format." +HOMEPAGE="https://www.openexr.com/" +COPYRIGHT="2002-2017 Industrial Light & Magic" +LICENSE="BSD (3-clause)" +REVISION="1" +SOURCE_URI="https://github.com/openexr/openexr/archive/v$portVersion.tar.gz" +CHECKSUM_SHA256="4904c5ea7914a58f60a5e2fbc397be67e7a25c380d7d07c1c31a3eefff1c92f1" +SOURCE_FILENAME="openexr-$portVersion.tar.gz" +SOURCE_DIR="openexr-$portVersion" +PATCHES="openexr-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +libVersion="24.0.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + openexr24$secondaryArchSuffix = $portVersion + cmd:exr2aces$secondaryArchSuffix = $portVersion + cmd:exrenvmap$secondaryArchSuffix = $portVersion + cmd:exrheader$secondaryArchSuffix = $portVersion + cmd:exrmakepreview$secondaryArchSuffix = $portVersion + cmd:exrmaketiled$secondaryArchSuffix = $portVersion + cmd:exrmultipart$secondaryArchSuffix = $portVersion + cmd:exrmultiview$secondaryArchSuffix = $portVersion + cmd:exrstdattr$secondaryArchSuffix = $portVersion + lib:libhalf_2_4$secondaryArchSuffix = $libVersionCompat + lib:libiex_2_4$secondaryArchSuffix = $libVersionCompat + lib:libiexmath_2_4$secondaryArchSuffix = $libVersionCompat + lib:libilmimf_2_4$secondaryArchSuffix = $libVersionCompat + lib:libilmimfutil_2_4$secondaryArchSuffix = $libVersionCompat + lib:libilmthread_2_4$secondaryArchSuffix = $libVersionCompat + lib:libimath_2_4$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +PROVIDES_devel=" + openexr24${secondaryArchSuffix}_devel = $portVersion + devel:libhalf_2_4$secondaryArchSuffix = $libVersionCompat + devel:libiexmath_2_4$secondaryArchSuffix = $libVersionCompat + devel:libilmimf_2_4$secondaryArchSuffix = $libVersionCompat + devel:libilmimfutil_2_4$secondaryArchSuffix = $libVersionCompat + devel:libilmthread_2_4$secondaryArchSuffix = $libVersionCompat + devel:libimath_2_4$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + openexr24$secondaryArchSuffix == $portVersion base + " +CONFLICTS_devel=" + openexr${secondaryArchSuffix}_devel + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake >= 3.10 + cmd:gcc$secondaryArchSuffix + cmd:ld$secondaryArchSuffix + cmd:make + " + +BUILD() +{ + mkdir -p build && cd build + cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$prefix + make $jobArgs +} + +INSTALL() +{ + cd build + make install + + # prepare development documentation + mkdir -p $developDocDir + mv $prefix/share/doc $developDocDir + + #clear empty directory + rmdir $prefix/share + + mkdir -p $(dirname $includeDir) + mv $prefix/include $includeDir + if [ -n "$secondaryArchSuffix" ]; then + mv $prefix/lib $prefix/lib2 + mv $prefix/bin $prefix/bin2 + mkdir -p $(dirname $libDir) $(dirname $binDir) + mv $prefix/lib2 $libDir + mv $prefix/bin2 $binDir + fi + + rm $libDir/lib{Half,Iex,Imath,IexMath,IlmImf,IlmImfUtil,IlmThread}.* + + # prepare development lib links + prepareInstalledDevelLibs \ + libHalf-2_4 libIlmImf-2_4 \ + libImath-2_4 libIexMath-2_4 \ + libIlmImfUtil-2_4 libIlmThread-2_4 + fixPkgconfig + + # devel package + packageEntries devel $developDir $libDir/cmake +} + +TEST() +{ + cd build + make check +} diff --git a/media-libs/openexr/patches/openexr-2.4.0.patchset b/media-libs/openexr/patches/openexr-2.4.0.patchset new file mode 100644 index 000000000..8d5b6117b --- /dev/null +++ b/media-libs/openexr/patches/openexr-2.4.0.patchset @@ -0,0 +1,23 @@ +From 356bb966d5c09e2545bf48d6335fc674713b3431 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Sat, 26 Oct 2019 20:01:01 +0200 +Subject: define bswap_32 for Haiku. + + +diff --git a/OpenEXR/IlmImfTest/bswap_32.h b/OpenEXR/IlmImfTest/bswap_32.h +index 4df6ec0..4443e4b 100644 +--- a/OpenEXR/IlmImfTest/bswap_32.h ++++ b/OpenEXR/IlmImfTest/bswap_32.h +@@ -24,6 +24,9 @@ + #if defined(__BSWAP_RENAME) && !defined(__bswap_32) + #define bswap_32(x) bswap32(x) + #endif ++#elif defined(__HAIKU__) ++#include ++#define bswap_32(x) B_SWAP_INT32(x) + #else + #include + #endif +-- +2.23.0 +