diff --git a/dev-libs/appstream/appstream-1.0.5.recipe b/dev-libs/appstream/appstream-1.0.5.recipe new file mode 100644 index 000000000..ed78a9b86 --- /dev/null +++ b/dev-libs/appstream/appstream-1.0.5.recipe @@ -0,0 +1,144 @@ +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$secondaryArchSuffix + 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 +} diff --git a/dev-libs/appstream/patches/appstream-1.0.5-haiku.patchset b/dev-libs/appstream/patches/appstream-1.0.5-haiku.patchset new file mode 100644 index 000000000..218b6bfd2 --- /dev/null +++ b/dev-libs/appstream/patches/appstream-1.0.5-haiku.patchset @@ -0,0 +1,38 @@ +From 066d7f81183d71158b961bb26667e149321f8409 Mon Sep 17 00:00:00 2001 +From: Sebastian Silva +Date: Wed, 11 Jun 2025 20:15:07 +0000 +Subject: [PATCH] Add Haiku + +--- + src/as-system-info.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/src/as-system-info.c b/src/as-system-info.c +index 0c7e27c..3d12f5b 100644 +--- a/src/as-system-info.c ++++ b/src/as-system-info.c +@@ -65,6 +65,9 @@ + #endif + + #include "as-utils-private.h" ++#ifdef __HAIKU__ ++#include ++#endif + + #define MB_IN_BYTES (1024 * 1024) + +@@ -519,6 +522,11 @@ as_get_physical_memory_total (void) + if (physpages > 0 && pagesize > 0) + return (physpages * pagesize) / MB_IN_BYTES; + return 0; ++#elif defined(__HAIKU__) ++ system_info info; ++ if (get_system_info(&info) != B_OK) ++ return 0; ++ return (guint64)info.max_pages * B_PAGE_SIZE; + #else + #error "Implementation of as_get_physical_memory_total() missing for this OS." + #endif +-- +2.48.1 +