git: 6ee9ad126964 - main - devel/appstream: New port - Provides a standard for creating app stores

From: Tobias C. Berner <tcberner_at_FreeBSD.org>
Date: Fri, 04 Mar 2022 05:37:04 UTC
The branch main has been updated by tcberner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6ee9ad12696427e7e83a0ec9f0b0e5b5b6bc97ed

commit 6ee9ad12696427e7e83a0ec9f0b0e5b5b6bc97ed
Author:     Tobias C. Berner <tcberner@FreeBSD.org>
AuthorDate: 2022-03-04 05:33:11 +0000
Commit:     Tobias C. Berner <tcberner@FreeBSD.org>
CommitDate: 2022-03-04 05:36:56 +0000

    devel/appstream: New port - Provides a standard for creating app stores
    
    AppStream is a collaborative effort for making machine-readable software
    metadata easily available to programs that need it. It is part of the
    Freedesktop ecosystem and provides a convenient way to retrieve information
    about available software.
    
    AppStream consists of a specification to describe individual software
    component metadata in XML (so-called MetaInfo files), as well as a
    derived specification for a metadata-collection format to provide a
    list of these metadata entries in XML or YAML for easy consumption by
    software centers and other tools which need to know about available
    software in a repository.
    
    WWW: https://www.freedesktop.org/wiki/Distributions/AppStream/
    
    PR:             258541
    Original by:    Olivier Duchateau <duchateau.olivier@gmail.com>
---
 devel/Makefile                               |  1 +
 devel/appstream/Makefile                     | 33 ++++++++++
 devel/appstream/distinfo                     |  3 +
 devel/appstream/files/patch-data_meson.build | 10 +++
 devel/appstream/files/patch-src_meson.build  | 11 ++++
 devel/appstream/pkg-descr                    | 13 ++++
 devel/appstream/pkg-plist                    | 92 ++++++++++++++++++++++++++++
 7 files changed, 163 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 9f30dfabd9a8..e413edc1f5bb 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -167,6 +167,7 @@
     SUBDIR += api-sanity-autotest
     SUBDIR += apitrace
     SUBDIR += app-builder
+    SUBDIR += appstream
     SUBDIR += appstream-glib
     SUBDIR += apr1
     SUBDIR += arachne-pnr
diff --git a/devel/appstream/Makefile b/devel/appstream/Makefile
new file mode 100644
index 000000000000..41a6911719fc
--- /dev/null
+++ b/devel/appstream/Makefile
@@ -0,0 +1,33 @@
+PORTNAME=	AppStream
+DISTVERSION=	0.15.2
+CATEGORIES=	devel
+MASTER_SITES=	https://www.freedesktop.org/software/${PORTNAME:tl}/releases/
+
+MAINTAINER=	desktop@FreeBSD.org
+COMMENT=	Machine-readable software metadata for desktop environments
+
+LICENSE=	GPLv2+ LGPL21+
+LICENSE_COMB=	multi
+
+BUILD_DEPENDS=	docbook-xsl>=0:textproc/docbook-xsl \
+		gperf>0:devel/gperf \
+		itstool:textproc/itstool \
+		lmdb>0:databases/lmdb \
+		valac:lang/vala
+LIB_DEPENDS=	libcurl.so:ftp/curl \
+		liblmdb.so:databases/lmdb \
+		libstemmer.so:textproc/snowballstemmer \
+		libxmlb.so:textproc/libxmlb \
+		libyaml.so:textproc/libyaml
+
+USES=		gettext gnome localbase:ldflags meson pkgconfig \
+		python:3.6+,build tar:xz
+
+USE_GNOME=	glib20 introspection:build libxml2 libxslt
+
+MESON_ARGS=	-Dstemming=true \
+		-Dvapi=true \
+		-Dapidocs=false \
+		-Dinstall-docs=false
+
+.include <bsd.port.mk>
diff --git a/devel/appstream/distinfo b/devel/appstream/distinfo
new file mode 100644
index 000000000000..e98b9cde6574
--- /dev/null
+++ b/devel/appstream/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1646369268
+SHA256 (AppStream-0.15.2.tar.xz) = 8f6c1cd288c7c59f5bf21746a6cfd1424cd9d7cbeb0b7920dbcdf9ef10e9c74a
+SIZE (AppStream-0.15.2.tar.xz) = 2463900
diff --git a/devel/appstream/files/patch-data_meson.build b/devel/appstream/files/patch-data_meson.build
new file mode 100644
index 000000000000..eec213898764
--- /dev/null
+++ b/devel/appstream/files/patch-data_meson.build
@@ -0,0 +1,10 @@
+--- data/meson.build.orig	2022-02-22 16:53:59 UTC
++++ data/meson.build
+@@ -68,6 +68,7 @@ test('as-validate_metainfo.cli',
+ )
+ 
+ install_data('appstream.conf',
++             rename: ['appstream.conf.sample'],
+              install_dir: get_option('sysconfdir'))
+ 
+ if get_option('compose')
diff --git a/devel/appstream/files/patch-src_meson.build b/devel/appstream/files/patch-src_meson.build
new file mode 100644
index 000000000000..6ca529fe1ded
--- /dev/null
+++ b/devel/appstream/files/patch-src_meson.build
@@ -0,0 +1,11 @@
+--- src/meson.build.orig	2022-03-04 04:48:59 UTC
++++ src/meson.build
+@@ -212,7 +212,7 @@ pkgc.generate(
+ # builds using libappstream. Fix this issue by post-processing the file.
+ sed_prog = find_program('sed')
+ pc_fixup = run_command(sed_prog,
+-                       '-i',
++                       '-i "" -e',
+                        '/^Requires.private\|^Libs.private/ d',
+                        join_paths(meson.project_build_root(), 'meson-private', 'appstream.pc'),
+                        check: false)
diff --git a/devel/appstream/pkg-descr b/devel/appstream/pkg-descr
new file mode 100644
index 000000000000..041451c62e3b
--- /dev/null
+++ b/devel/appstream/pkg-descr
@@ -0,0 +1,13 @@
+AppStream is a collaborative effort for making machine-readable software
+metadata easily available to programs that need it. It is part of the
+Freedesktop ecosystem and provides a convenient way to retrieve information
+about available software.
+
+AppStream consists of a specification to describe individual software
+component metadata in XML (so-called MetaInfo files), as well as a
+derived specification for a metadata-collection format to provide a
+list of these metadata entries in XML or YAML for easy consumption by
+software centers and other tools which need to know about available
+software in a repository.
+
+WWW: https://www.freedesktop.org/wiki/Distributions/AppStream/
diff --git a/devel/appstream/pkg-plist b/devel/appstream/pkg-plist
new file mode 100644
index 000000000000..c9bd69c66a28
--- /dev/null
+++ b/devel/appstream/pkg-plist
@@ -0,0 +1,92 @@
+bin/appstreamcli
+@sample etc/appstream.conf.sample
+include/appstream/appstream.h
+include/appstream/as-agreement-section.h
+include/appstream/as-agreement.h
+include/appstream/as-artifact.h
+include/appstream/as-branding.h
+include/appstream/as-bundle.h
+include/appstream/as-category.h
+include/appstream/as-checksum.h
+include/appstream/as-component.h
+include/appstream/as-content-rating.h
+include/appstream/as-context.h
+include/appstream/as-distro-details.h
+include/appstream/as-enum-types.h
+include/appstream/as-enums.h
+include/appstream/as-icon.h
+include/appstream/as-image.h
+include/appstream/as-issue.h
+include/appstream/as-launchable.h
+include/appstream/as-metadata.h
+include/appstream/as-pool.h
+include/appstream/as-provided.h
+include/appstream/as-relation.h
+include/appstream/as-release.h
+include/appstream/as-review.h
+include/appstream/as-screenshot.h
+include/appstream/as-spdx.h
+include/appstream/as-suggested.h
+include/appstream/as-translation.h
+include/appstream/as-utils.h
+include/appstream/as-validator-issue.h
+include/appstream/as-validator.h
+include/appstream/as-vercmp.h
+include/appstream/as-version.h
+include/appstream/as-video.h
+lib/girepository-1.0/AppStream-1.0.typelib
+lib/libappstream.so
+lib/libappstream.so.0.15.2
+lib/libappstream.so.4
+libdata/pkgconfig/appstream.pc
+man/man1/appstreamcli.1.gz
+share/gettext/its/metainfo.its
+share/gettext/its/metainfo.loc
+share/gir-1.0/AppStream-1.0.gir
+share/installed-tests/appstream/metainfo-validate.test
+share/locale/ain/LC_MESSAGES/appstream.mo
+share/locale/ar/LC_MESSAGES/appstream.mo
+share/locale/bn_BD/LC_MESSAGES/appstream.mo
+share/locale/ca/LC_MESSAGES/appstream.mo
+share/locale/ckb/LC_MESSAGES/appstream.mo
+share/locale/cs/LC_MESSAGES/appstream.mo
+share/locale/da/LC_MESSAGES/appstream.mo
+share/locale/de/LC_MESSAGES/appstream.mo
+share/locale/en_GB/LC_MESSAGES/appstream.mo
+share/locale/eo/LC_MESSAGES/appstream.mo
+share/locale/es/LC_MESSAGES/appstream.mo
+share/locale/et/LC_MESSAGES/appstream.mo
+share/locale/eu/LC_MESSAGES/appstream.mo
+share/locale/fi/LC_MESSAGES/appstream.mo
+share/locale/fr/LC_MESSAGES/appstream.mo
+share/locale/gd/LC_MESSAGES/appstream.mo
+share/locale/gl/LC_MESSAGES/appstream.mo
+share/locale/he/LC_MESSAGES/appstream.mo
+share/locale/hr/LC_MESSAGES/appstream.mo
+share/locale/hu/LC_MESSAGES/appstream.mo
+share/locale/id/LC_MESSAGES/appstream.mo
+share/locale/it/LC_MESSAGES/appstream.mo
+share/locale/ja/LC_MESSAGES/appstream.mo
+share/locale/ko/LC_MESSAGES/appstream.mo
+share/locale/lt/LC_MESSAGES/appstream.mo
+share/locale/nb/LC_MESSAGES/appstream.mo
+share/locale/nl/LC_MESSAGES/appstream.mo
+share/locale/oc/LC_MESSAGES/appstream.mo
+share/locale/pl/LC_MESSAGES/appstream.mo
+share/locale/pt/LC_MESSAGES/appstream.mo
+share/locale/pt_BR/LC_MESSAGES/appstream.mo
+share/locale/ro/LC_MESSAGES/appstream.mo
+share/locale/rom/LC_MESSAGES/appstream.mo
+share/locale/ru/LC_MESSAGES/appstream.mo
+share/locale/sk/LC_MESSAGES/appstream.mo
+share/locale/sl/LC_MESSAGES/appstream.mo
+share/locale/sr/LC_MESSAGES/appstream.mo
+share/locale/sr@latin/LC_MESSAGES/appstream.mo
+share/locale/sv/LC_MESSAGES/appstream.mo
+share/locale/tr/LC_MESSAGES/appstream.mo
+share/locale/uk/LC_MESSAGES/appstream.mo
+share/locale/zh_CN/LC_MESSAGES/appstream.mo
+share/locale/zh_TW/LC_MESSAGES/appstream.mo
+share/metainfo/org.freedesktop.appstream.cli.metainfo.xml
+share/vala/vapi/appstream.deps
+share/vala/vapi/appstream.vapi