Files
haikuports/media-libs/openexr/openexr-2.2.1.recipe

128 lines
3.7 KiB
Bash

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="2"
SOURCE_URI="https://download.savannah.nongnu.org/releases/openexr/openexr-$portVersion.tar.gz"
CHECKSUM_SHA256="8f9a5af6131583404261931d9a5c83de0a425cb4b8b25ddab2b169fbf113aecd"
if [ $effectiveTargetArchitecture = "x86_gcc2" ]; then
PATCHES="openexr-$portVersion.patchset"
fi
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
libVersion="23.0.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
openexr$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:libilmimf$secondaryArchSuffix = $libVersionCompat
lib:libilmimf_2_2$secondaryArchSuffix = $libVersionCompat
lib:libilmimfutil$secondaryArchSuffix = $libVersionCompat
lib:libilmimfutil_2_2$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libhalf$secondaryArchSuffix
lib:libiex_2_2$secondaryArchSuffix
lib:libiexmath_2_2$secondaryArchSuffix
lib:libilmthread_2_2$secondaryArchSuffix
lib:libimath_2_2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
openexr${secondaryArchSuffix}_devel = $portVersion
devel:libilmimf$secondaryArchSuffix = $libVersionCompat
devel:libilmimf_2_2$secondaryArchSuffix = $libVersionCompat
devel:libilmimfutil$secondaryArchSuffix = $libVersionCompat
devel:libilmimfutil_2_2$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
openexr$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libhalf$secondaryArchSuffix
devel:libiex$secondaryArchSuffix
devel:libiexMath$secondaryArchSuffix
devel:libilmthread$secondaryArchSuffix
devel:libimath$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
pathSecondaryArchSuffix=$(echo ${secondaryArchSuffix} | sed s/^_//g)
IlmBasePkgconfig=$(find /packages/ilmbase${secondaryArchSuffix}_devel-\
${portVersion}-*/ilmbase${secondaryArchSuffix}/develop/lib/\
${pathSecondaryArchSuffix}/pkgconfig/IlmBase.pc | sed s/IlmBase\.pc//g)
export PKG_CONFIG_PATH+=:$IlmBasePkgconfig
./bootstrap
if [ $effectiveTargetArchitecture = "x86_gcc2" ]; then
export CXXFLAGS="-Dios_base=ios -ftemplate-depth-30"
fi
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
# remove libtool library files
rm $libDir/libIlmImf*.la
# prepare development documentation
mkdir -p $developDocDir
mv $dataDir/doc $developDocDir
# prepare autom4te script
mkdir -p $developDir
mv $dataDir/aclocal $developDir
#clear empty directory
rmdir $dataDir
# prepare development lib links
prepareInstalledDevelLibs libIlmImf-2_2 libIlmImf \
libIlmImfUtil-2_2 libIlmImfUtil
fixPkgconfig
# devel package
packageEntries devel $developDir
}
TEST()
{
make check
}