diff --git a/media-libs/libheif/libheif-1.12.0.recipe b/media-libs/libheif/libheif-1.12.0.recipe new file mode 100644 index 000000000..e5c45e3ab --- /dev/null +++ b/media-libs/libheif/libheif-1.12.0.recipe @@ -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 +}