aboutsummaryrefslogtreecommitdiff
path: root/ports-mgmt/appstream-generator
diff options
context:
space:
mode:
Diffstat (limited to 'ports-mgmt/appstream-generator')
-rw-r--r--ports-mgmt/appstream-generator/Makefile40
-rw-r--r--ports-mgmt/appstream-generator/distinfo6
-rw-r--r--ports-mgmt/appstream-generator/files/patch-meson.build13
-rw-r--r--ports-mgmt/appstream-generator/files/patch-src_backends_freebsd_fbsdpkg.h10
-rw-r--r--ports-mgmt/appstream-generator/files/patch-src_config.h11
-rw-r--r--ports-mgmt/appstream-generator/files/patch-src_engine.cpp19
6 files changed, 81 insertions, 18 deletions
diff --git a/ports-mgmt/appstream-generator/Makefile b/ports-mgmt/appstream-generator/Makefile
index 58763479d837..d52b76e5a107 100644
--- a/ports-mgmt/appstream-generator/Makefile
+++ b/ports-mgmt/appstream-generator/Makefile
@@ -1,7 +1,7 @@
PORTNAME= appstream-generator
DISTVERSIONPREFIX= v
-DISTVERSION= 0.9.1
-PORTREVISION= 3
+DISTVERSION= 0.10.1
+PORTREVISION= 1
CATEGORIES= ports-mgmt
MAINTAINER= arrowd@FreeBSD.org
@@ -11,39 +11,49 @@ WWW= https://github.com/ximion/appstream-generator
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= girtod:lang/gir-to-d \
- ldc2:lang/ldc \
- xsltproc:textproc/libxslt \
+BUILD_DEPENDS= nlohmann-json>=3:devel/nlohmann-json \
+ inja>=3:devel/inja \
+ catch2>0:devel/catch2 \
+ ${LOCALBASE}/include/__generator.hpp:devel/stdgenerator \
${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl
LIB_DEPENDS= libappstream.so:devel/appstream \
libappstream-compose.so:devel/appstream-compose \
+ libCatch2.so:devel/catch2 \
libcurl.so:ftp/curl \
- libglibd-2.0.so:devel/glibd \
liblmdb.so:databases/lmdb \
- libphobos2-ldc-shared.so:lang/ldc
-RUN_DEPENDS= ${LOCALBASE}/share/icons/hicolor/index.theme:misc/hicolor-icon-theme
+ libicuuc.so:devel/icu \
+ libtbb.so:devel/onetbb \
+ libfyaml.so:textproc/libfyaml
-USES= gnome libarchive meson pkgconfig
+USES= compiler:c++23-lang gnome libarchive meson pkgconfig
-USE_GNOME= glib20
+USE_GNOME= glib20 libxml2 libxslt:build
+USE_CXXSTD= c++23
USE_GITHUB= yes
-GH_ACCOUNT= arrowd
-GH_TAGNAME= 5e71cac08bae0aa8e812f5dc5508b3b501ee5678
+GH_ACCOUNT= ximion
OPTIONS_DEFINE= MANPAGES
MANPAGES_BUILD_DEPENDS= xsltproc:textproc/libxslt
-MESON_ARGS= -Ddownload-js=false -Dlocalbase=${LOCALBASE} -Drpmmd=false
+MESON_ARGS= -Ddownload-js=false -Dbackward=false
+
+CFLAGS+= -fexperimental-library
DATADIR= ${PREFIX}/share/appstream
OPTIONS_SUB= yes
-PIE_UNSAFE= yes
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == i386 || ${ARCH} == powerpc || ${ARCH:Marmv?}
+post-patch:
+ @${REINPLACE_CMD} -e "/tbb_dep/s|'tbb'|'tbb32'|" \
+ ${WRKSRC}/meson.build
+.endif
post-install:
cd ${WRKSRC}/data && \
${COPYTREE_SHARE} templates ${STAGEDIR}${DATADIR}
${INSTALL_SCRIPT} ${PATCHDIR}/poudriere-hook-bulk.sh ${STAGEDIR}${DATADIR}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/ports-mgmt/appstream-generator/distinfo b/ports-mgmt/appstream-generator/distinfo
index 42bb482df23d..1808e31bcdd8 100644
--- a/ports-mgmt/appstream-generator/distinfo
+++ b/ports-mgmt/appstream-generator/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1752666020
-SHA256 (arrowd-appstream-generator-v0.9.1-5e71cac08bae0aa8e812f5dc5508b3b501ee5678_GH0.tar.gz) = fa51b029a5e5f98cc71cee336b6695b0f8a944cf58f39bcb2ca9653fc174c57b
-SIZE (arrowd-appstream-generator-v0.9.1-5e71cac08bae0aa8e812f5dc5508b3b501ee5678_GH0.tar.gz) = 549119
+TIMESTAMP = 1759931829
+SHA256 (ximion-appstream-generator-v0.10.1_GH0.tar.gz) = 002c509c54daa39b3bc179afca84227c9675368264040d19e7847540b7d0ed48
+SIZE (ximion-appstream-generator-v0.10.1_GH0.tar.gz) = 580502
diff --git a/ports-mgmt/appstream-generator/files/patch-meson.build b/ports-mgmt/appstream-generator/files/patch-meson.build
new file mode 100644
index 000000000000..59bb727a1897
--- /dev/null
+++ b/ports-mgmt/appstream-generator/files/patch-meson.build
@@ -0,0 +1,13 @@
+--- meson.build.orig 2025-09-25 21:14:13 UTC
++++ meson.build
+@@ -57,8 +57,8 @@ endif
+ #
+ # Compiler flags
+ #
+-add_project_arguments('-D_POSIX_C_SOURCE=201710L', language: 'c')
+-add_project_arguments('-D_POSIX_C_SOURCE=201710L', language: 'cpp')
++#add_project_arguments('-D_POSIX_C_SOURCE=201710L', language: 'c')
++#add_project_arguments('-D_POSIX_C_SOURCE=201710L', language: 'cpp')
+
+ if get_option('maintainer')
+ maintainer_c_args = [
diff --git a/ports-mgmt/appstream-generator/files/patch-src_backends_freebsd_fbsdpkg.h b/ports-mgmt/appstream-generator/files/patch-src_backends_freebsd_fbsdpkg.h
new file mode 100644
index 000000000000..8ea32db22c6b
--- /dev/null
+++ b/ports-mgmt/appstream-generator/files/patch-src_backends_freebsd_fbsdpkg.h
@@ -0,0 +1,10 @@
+--- src/backends/freebsd/fbsdpkg.h.orig 2025-09-25 21:14:13 UTC
++++ src/backends/freebsd/fbsdpkg.h
+@@ -24,6 +24,7 @@
+ #include <vector>
+ #include <unordered_map>
+ #include <memory>
++#include <mutex>
+ #include <cstdint>
+ #include <nlohmann/json.hpp>
+
diff --git a/ports-mgmt/appstream-generator/files/patch-src_config.h b/ports-mgmt/appstream-generator/files/patch-src_config.h
new file mode 100644
index 000000000000..f53b0ebb8062
--- /dev/null
+++ b/ports-mgmt/appstream-generator/files/patch-src_config.h
@@ -0,0 +1,11 @@
+--- src/config.h.orig 2025-10-02 19:33:23 UTC
++++ src/config.h
+@@ -44,7 +44,7 @@ inline constexpr std::array<ImageSize, 6> AllowedIconS
+ /**
+ * Fake package name AppStream Generator uses internally to inject additional metainfo on users' request
+ */
+-inline constexpr std::string EXTRA_METAINFO_FAKE_PKGNAME = "+extra-metainfo";
++inline const std::string EXTRA_METAINFO_FAKE_PKGNAME = "+extra-metainfo";
+
+ /**
+ * Describes a suite in a software repository.
diff --git a/ports-mgmt/appstream-generator/files/patch-src_engine.cpp b/ports-mgmt/appstream-generator/files/patch-src_engine.cpp
new file mode 100644
index 000000000000..d99f8a59a7e8
--- /dev/null
+++ b/ports-mgmt/appstream-generator/files/patch-src_engine.cpp
@@ -0,0 +1,19 @@
+--- src/engine.cpp.orig 2025-10-02 19:33:23 UTC
++++ src/engine.cpp
+@@ -35,6 +35,7 @@
+
+ #include <tbb/parallel_for.h>
+ #include <tbb/parallel_for_each.h>
++#include <tbb/parallel_invoke.h>
+ #include <tbb/blocked_range.h>
+ #include <tbb/task_arena.h>
+ #include <inja/inja.hpp>
+@@ -68,7 +69,7 @@ Engine::Engine()
+ // Configure a TBB task arena to limit parallelism a little (use half the available CPU cores, or at least 6
+ // threads) This avoids having too many parallel downloads on high-core-count machines, and also leaves some room
+ // for additional parallelism of the used libraries, e.g. for image processing.
+- const auto numCPU = std::thread::hardware_concurrency();
++ std::int32_t const numCPU = std::thread::hardware_concurrency();
+ const auto maxThreads = std::max(numCPU > 6 ? 6L : numCPU, std::lround(numCPU * 0.60));
+ m_taskArena = std::make_unique<tbb::task_arena>(maxThreads);
+