exempi, new recipe (#10187)

This commit is contained in:
Schrijvers Luc
2024-03-04 15:53:21 +01:00
committed by GitHub
parent 83522ff067
commit 83b245153b

View File

@@ -0,0 +1,119 @@
SUMMARY="Port of the Adobe XMP SDK to work on UNIX"
DESCRIPTION="Exempi is an implementation of XMP. Version 2.x is based on Adobe XMP SDK and \
released under a BSD-style license like Adobes. The 3 clause BSD (aka New-BSD) license is \
compatible with GPL. The licensing is kept identical in order to allow two-way merging of the \
code (ie sending our change to the XMP SDK to Adobe for integration).
The API is C based and means to be used from any language and be easier to maintain ABI stability.
The overall changes include:
* STABLE C API/ABI for the library, instead of a C++ template based version.
* Rust bindings (available separately).
* No CLA to contribute.
* Build system based on automake.
* Code changes for more UNIX systems compatibility.
* Broader architecture support.
* WebP support.
* Test suite.
There is also a work in progress “exempi” command line tool starting in 2.2.0"
HOMEPAGE="https://libopenraw.freedesktop.org/"
COPYRIGHT="1999-2010 Adobe Systems Incorporated"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://libopenraw.freedesktop.org/download/exempi-$portVersion.tar.xz"
CHECKSUM_SHA256="ff538114e82c51e5287064dfbec7d9790ac91479bf2390bcc6408fad4d77fb12"
ARCHITECTURES="all x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
libVersion="8.1.5"
libVersionCompat="$libVersion compat >= ${libVersion%.*}"
PROVIDES="
exempi$secondaryArchSuffix = $portVersion
lib:libexempi$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
# lib:libexpat$secondaryArchSuffix
# lib:libiconv$secondaryArchSuffix
# lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
exempi${secondaryArchSuffix}_devel = $portVersion
devel:libexempi$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
exempi$secondaryArchSuffix == $portVersion base
"
PROVIDES_tools="
exempi${secondaryArchSuffix}_tools = $portVersion
cmd:exempi$commandSuffix = $portVersion
"
REQUIRES_tools="
$REQUIRES
exempi$secondaryArchSuffix == $portVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libboost_system$secondaryArchSuffix >= 1.83.0
devel:libexpat$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoreconf
cmd:gcc$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage exempi$secondaryArchSuffix \
$libDir/libexempi.so.$libVersion
BUILD()
{
export LDFLAGS="-lnetwork"
autoreconf -fi
runConfigure --omit-dirs "binDir" ./configure \
--bindir=$commandBinDir \
--disable-static
make $jobArgs
}
INSTALL()
{
make install
# remove libtool files
rm -f $libDir/*.la
prepareInstalledDevelLib \
libexempi
fixPkgconfig
packageEntries devel \
$developDir
packageEntries tools \
$commandBinDir \
$manDir
}
TEST()
{
make check
}