mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 11:40:06 +02:00
libheif, new recipe (#6045)
This commit is contained in:
129
media-libs/libheif/libheif-1.12.0.recipe
Normal file
129
media-libs/libheif/libheif-1.12.0.recipe
Normal file
@@ -0,0 +1,129 @@
|
||||
SUMMARY="HEIF file format decoder and encoder"
|
||||
DESCRIPTION="libheif is an ISO/IEC 23008-12:2017 HEIF and AVIF (AV1 Image \
|
||||
File Format) file format decoder and encoder.
|
||||
|
||||
HEIF and AVIF are new image file formats employing HEVC (h.265) or AV1 image \
|
||||
coding, respectively, for the best compression ratios currently possible.
|
||||
|
||||
libheif makes use of libde265 for HEIF image decoding and x265 for encoding.
|
||||
For AVIF, libaom, dav1d, or rav1e are used as codecs."
|
||||
HOMEPAGE="https://github.com/strukturag/libheif"
|
||||
COPYRIGHT="2017-2020 Struktur AG"
|
||||
LICENSE="MIT
|
||||
GNU LGPL v3"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/strukturag/libheif/archive/refs/tags/v$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="086145b0d990182a033b0011caadb1b642da84f39ab83aa66d005610650b3c65"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
commandBinDir=$binDir
|
||||
commandSuffix=$secondaryArchSuffix
|
||||
if [ "$targetArchitecture" = x86_gcc2 ]; then
|
||||
commandSuffix=
|
||||
commandBinDir=$prefix/bin
|
||||
fi
|
||||
|
||||
libVersion="$portVersion"
|
||||
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
|
||||
|
||||
PROVIDES="
|
||||
libheif$secondaryArchSuffix = $portVersion
|
||||
lib:libheif$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libdav1d$secondaryArchSuffix
|
||||
lib:libde265$secondaryArchSuffix
|
||||
lib:libx265$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
libheif${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libheif$secondaryArchSuffix = $libVersionCompat
|
||||
"
|
||||
REQUIRES_devel="
|
||||
libheif$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
SUMMARY_tools="Tools for libheif package"
|
||||
PROVIDES_tools="
|
||||
libheif${secondaryArchSuffix}_tools
|
||||
cmd:heif_convert$commandSuffix = $portVersion
|
||||
cmd:heif_enc$commandSuffix = $portVersion
|
||||
cmd:heif_info$commandSuffix = $portVersion
|
||||
cmd:heif_thumbnailer$commandSuffix = $portVersion
|
||||
"
|
||||
REQUIRES_tools="
|
||||
libheif$secondaryArchSuffix == $portVersion base
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libdav1d$secondaryArchSuffix
|
||||
lib:libde265$secondaryArchSuffix
|
||||
lib:libx265$secondaryArchSuffix
|
||||
lib:libjpeg$secondaryArchSuffix
|
||||
lib:libpng16$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libdav1d$secondaryArchSuffix
|
||||
devel:libde265$secondaryArchSuffix
|
||||
devel:libx265$secondaryArchSuffix
|
||||
devel:libjpeg$secondaryArchSuffix
|
||||
devel:libpng16$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:aclocal
|
||||
cmd:autoconf
|
||||
cmd:automake
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
defineDebugInfoPackage libheif$secondaryArchSuffix \
|
||||
$libDir/libheif.so.$libVersion \
|
||||
"$(getPackagePrefix tools)"/bin/heif-convert \
|
||||
"$(getPackagePrefix tools)"/bin/heif-enc \
|
||||
"$(getPackagePrefix tools)"/bin/heif-info \
|
||||
"$(getPackagePrefix tools)"/bin/heif-thumbnailer
|
||||
|
||||
BUILD()
|
||||
{
|
||||
./autogen.sh
|
||||
|
||||
runConfigure --omit-dirs binDir ./configure \
|
||||
--bindir=$commandBinDir \
|
||||
--disable-gdk-pixbuf \
|
||||
--enable-tests
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
|
||||
# remove libtool file
|
||||
rm $libDir/*.la
|
||||
|
||||
prepareInstalledDevelLib libheif
|
||||
fixPkgconfig
|
||||
|
||||
packageEntries devel \
|
||||
$developDir
|
||||
|
||||
packageEntries tools \
|
||||
$commandBinDir \
|
||||
$manDir \
|
||||
$dataDir
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
make test
|
||||
}
|
||||
Reference in New Issue
Block a user