Files
haikuports/dev-libs/appstream/appstream-1.0.5.recipe
2025-07-03 05:48:53 +00:00

145 lines
3.8 KiB
Bash

SUMMARY="Tools and libraries to work with AppStream metadata"
DESCRIPTION="AppStream is a cross-distro effort for better app stores. \
It provides metadata for software components and makes it available to software \
centers like GNOME Software and KDE Discover."
HOMEPAGE="https://github.com/ximion/appstream"
COPYRIGHT="Matthias Klumpp"
LICENSE="GNU LGPL v2.1"
REVISION="1"
SOURCE_URI="https://github.com/ximion/appstream/archive/refs/tags/v$portVersion/appstream-$portVersion.tar.gz"
CHECKSUM_SHA256="dd33b1375ba4221ffee060e2778c478e8150d7b1108c6309148f5fb1ca6e90c0"
SOURCE_DIR="appstream-$portVersion"
PATCHES="appstream-1.0.5-haiku.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="$portVersion"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
PROVIDES="
appstream$secondaryArchSuffix = $portVersion
cmd:appstreamcli
lib:libappstream$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libgirepository_1.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libstemmer$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxmlb$secondaryArchSuffix
lib:libyaml_0$secondaryArchSuffix
lib:libzstd$secondaryArchSuffix
"
PROVIDES_devel="
appstream${secondaryArchSuffix}_devel = $portVersion
devel:libappstream$secondaryArchSuffix = $libVersionCompat
devel:libAppStreamQt$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
appstream$secondaryArchSuffix == $portVersion base
devel:libffi$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libpcre2_8$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
PROVIDES_qt6="
appstream_qt6$secondaryArchSuffix = $portVersion
lib:libAppStreamQt$secondaryArchSuffix = $libVersionCompat
devel:libAppStreamQt$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_qt6="
appstream$secondaryArchSuffix == $portVersion base
appstream${secondaryArchSuffix}_devel == $portVersion
haiku$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
qt6_tools${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libgio_2.0$secondaryArchSuffix
devel:libgirepository_1.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgobject_2.0$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libstemmer$secondaryArchSuffix >= 3
devel:libxml2$secondaryArchSuffix
devel:libxmlb$secondaryArchSuffix
devel:libyaml_0$secondaryArchSuffix
"
BUILD_PREREQUIRES="
docbook_xsl_stylesheets
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:gperf
cmd:itstool
cmd:ld$secondaryArchSuffix
cmd:meson
cmd:msgfmt$secondaryArchSuffix
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
cmd:xsltproc
"
PATCH()
{
sed -i "s|stemmer_inc_dirs = include_directories(\['/usr/include'\])|#&|" meson.build
}
BUILD()
{
meson setup Build \
--buildtype=release \
--prefix="$prefix" \
--bindir="$prefix/bin" \
--libdir="$libDir" \
--includedir="$includeDir" \
--datadir="$dataDir" \
--localedir="$dataDir/locale" \
--sysconfdir="$settingsDir" \
-Dc_args="-I$includeDir" \
-Dcpp_args="-I$includeDir" \
-Dsystemd=false \
-Dgir=true \
-Dapidocs=false \
-Dcompose=false \
-Dqt=true
ninja -C Build
}
INSTALL()
{
ninja install -C Build
# cleanup
rm -rf $dataDir/metainfo $prefix/share
prepareInstalledDevelLibs \
libappstream \
libAppStreamQt
fixPkgconfig
packageEntries qt6 \
$libDir/libAppStreamQt* \
$developLibDir/libAppStreamQt* \
$libDir/cmake \
$includeDir/AppStreamQt
packageEntries devel \
$developDir
}