devel/appstream{,-qt,-compose}: Combine into a single port with SUBPACKAGES.

The Qt part was a bit complex as it had two FLAVORS. To work this out the
slave devel/appstream-qt port wasn't removed but instead switched to build
the master port without SUBPACKAGES and against Qt5 only.

The Qt subpackage of the master port is fixed to Qt6 instead. This will make it
possible to just remove Qt5 slave port when we get rid of Qt5 altogether.

Reviewed by: mat

Differential Revision: https://reviews.freebsd.org/D43445
This commit is contained in:
Gleb Popov 2024-01-13 14:53:02 +03:00
parent c6cb95d840
commit f292ea6fb5
13 changed files with 143 additions and 119 deletions

4
MOVED
View file

@ -2933,7 +2933,7 @@ net-im/libaccounts-qt5|net-im/libaccounts-qt|2024-01-05|Renamed to support flavo
devel/py-pygithub|devel/py-PyGithub|2024-01-06|Rename port match upstream
devel/freebsd-gcc9||2024-01-09|No longer able to build base system, use GCC 12 or later instead
net/downzemall|net/arrowdl|2024-01-11|Project was renamed upstream
misc/mc-nox11|misc/mc|2024-01-15|No longer useful (misc/mc does not require Xlib at runtime)
www/mongrel2||2024-01-15|Has expired: BROKEN for more than 2 years on all platforms after the EOL of 12
net/unison232|net/unison240|2024-01-15|Has expired: More recent versions are in the tree consider using net/unison240
science/libtensorflow1||2024-01-15|Has expired: Broken for more than a year
devel/appstream-compose||2024-01-15|Became a subpackage of devel/appstream
devel/appstream-qt|devel/appstream-qt5|2024-01-15|The Qt6 flavor became a subpackage of devel/appstream

View file

@ -182,9 +182,8 @@
SUBDIR += apitrace
SUBDIR += app-builder
SUBDIR += appstream
SUBDIR += appstream-compose
SUBDIR += appstream-glib
SUBDIR += appstream-qt
SUBDIR += appstream-qt5
SUBDIR += apr1
SUBDIR += arachne-pnr
SUBDIR += arcanist

View file

@ -1,24 +0,0 @@
PORTREVISION= 0
PKGNAMESUFFIX= Compose
COMMENT?= AppStream Compose application and library
LIB_DEPENDS= libappstream.so:devel/appstream \
libfreetype.so:print/freetype2 \
libfontconfig.so:x11-fonts/fontconfig \
libyaml.so:textproc/libyaml
USE_GNOME= cairo gdkpixbuf2 librsvg2 pango
MESON_ARGS= -Dcompose=true
MASTERDIR= ${.CURDIR}/../../devel/appstream
PLIST= ${.CURDIR}/pkg-plist
post-install:
# remove files belonging to the master port
${XARGS} -L 1 -I % ${RM} -rf ${STAGEDIR}${PREFIX}/% < ${MASTERDIR}/pkg-plist
${FIND} ${STAGEDIR}${PREFIX} -empty -delete
${RM} -rf ${STAGEDIR}${PREFIX}/etc ${STAGEDIR}${PREFIX}/man
.include "${MASTERDIR}/Makefile"

View file

@ -1,20 +0,0 @@
include/appstream-compose/appstream-compose.h
include/appstream-compose/asc-canvas.h
include/appstream-compose/asc-compose.h
include/appstream-compose/asc-directory-unit.h
include/appstream-compose/asc-enums-types.h
include/appstream-compose/asc-globals.h
include/appstream-compose/asc-hint.h
include/appstream-compose/asc-icon-policy.h
include/appstream-compose/asc-image.h
include/appstream-compose/asc-result.h
include/appstream-compose/asc-unit.h
include/appstream-compose/asc-utils.h
lib/girepository-1.0/AppStreamCompose-1.0.typelib
lib/libappstream-compose.so
lib/libappstream-compose.so.0
lib/libappstream-compose.so.1.0.0
libdata/pkgconfig/appstream-compose.pc
libexec/appstreamcli-compose
share/gir-1.0/AppStreamCompose-1.0.gir
share/metainfo/org.freedesktop.appstream.compose.metainfo.xml

View file

@ -1,34 +0,0 @@
PORTREVISION= 2
PKGNAMESUFFIX= Qt${FLAVOR:S/qt//}
COMMENT?= Qt bindings to AppStream
LIB_DEPENDS= libappstream.so:devel/appstream
FLAVORS= qt5 qt6
FLAVOR?= qt5
USES= qt:${FLAVOR:S/qt//}
_USE_QT_qt5= core buildtools:build qmake:build testlib:build
_USE_QT_qt6= base
USE_QT= ${_USE_QT_${FLAVOR}}
_MESON_ARGS_qt5= -Dqt5=true
_MESON_ARGS_qt6= -Dqt=true
MESON_ARGS= ${_MESON_ARGS_${FLAVOR}}
_QT_VER_SUFFIX_qt5= 5
_QT_VER_SUFFIX_qt6= #
PLIST_SUB= QT_VER_SUFFIX=${_QT_VER_SUFFIX_${FLAVOR}}
MASTERDIR= ${.CURDIR}/../appstream
PLIST= ${.CURDIR}/pkg-plist
post-install:
# remove files belonging to the master port
${XARGS} -L 1 -I % ${RM} -rf ${STAGEDIR}${PREFIX}/% < ${MASTERDIR}/pkg-plist
${FIND} ${STAGEDIR}${PREFIX} -empty -delete
${RM} -rf ${STAGEDIR}${PREFIX}/etc ${STAGEDIR}${PREFIX}/man
.include "${MASTERDIR}/Makefile"

View file

@ -1,30 +0,0 @@
include/AppStreamQt%%QT_VER_SUFFIX%%/appstreamqt_export.h
include/AppStreamQt%%QT_VER_SUFFIX%%/bundle.h
include/AppStreamQt%%QT_VER_SUFFIX%%/category.h
include/AppStreamQt%%QT_VER_SUFFIX%%/component-box.h
include/AppStreamQt%%QT_VER_SUFFIX%%/component.h
include/AppStreamQt%%QT_VER_SUFFIX%%/contentrating.h
include/AppStreamQt%%QT_VER_SUFFIX%%/developer.h
include/AppStreamQt%%QT_VER_SUFFIX%%/icon.h
include/AppStreamQt%%QT_VER_SUFFIX%%/image.h
include/AppStreamQt%%QT_VER_SUFFIX%%/launchable.h
include/AppStreamQt%%QT_VER_SUFFIX%%/metadata.h
include/AppStreamQt%%QT_VER_SUFFIX%%/pool.h
include/AppStreamQt%%QT_VER_SUFFIX%%/provided.h
include/AppStreamQt%%QT_VER_SUFFIX%%/relation-check-result.h
include/AppStreamQt%%QT_VER_SUFFIX%%/relation.h
include/AppStreamQt%%QT_VER_SUFFIX%%/release-list.h
include/AppStreamQt%%QT_VER_SUFFIX%%/release.h
include/AppStreamQt%%QT_VER_SUFFIX%%/screenshot.h
include/AppStreamQt%%QT_VER_SUFFIX%%/spdx.h
include/AppStreamQt%%QT_VER_SUFFIX%%/suggested.h
include/AppStreamQt%%QT_VER_SUFFIX%%/systeminfo.h
include/AppStreamQt%%QT_VER_SUFFIX%%/translation.h
include/AppStreamQt%%QT_VER_SUFFIX%%/utils.h
include/AppStreamQt%%QT_VER_SUFFIX%%/version.h
include/AppStreamQt%%QT_VER_SUFFIX%%/video.h
lib/cmake/AppStreamQt%%QT_VER_SUFFIX%%/AppStreamQt%%QT_VER_SUFFIX%%Config.cmake
lib/cmake/AppStreamQt%%QT_VER_SUFFIX%%/AppStreamQt%%QT_VER_SUFFIX%%ConfigVersion.cmake
lib/libAppStreamQt%%QT_VER_SUFFIX%%.so
lib/libAppStreamQt%%QT_VER_SUFFIX%%.so.1.0.0
lib/libAppStreamQt%%QT_VER_SUFFIX%%.so.3

View file

@ -0,0 +1,22 @@
PORTREVISION= 3
PKGNAMESUFFIX= -qt5
COMMENT= Qt5 bindings to AppStream
SUBPACKAGES=
LIB_DEPENDS= libappstream.so:devel/appstream
QT_FLAVOR= 5
MASTERDIR= ${.CURDIR}/../appstream
PLIST= ${.CURDIR}/pkg-plist
post-install:
# remove files belonging to the master port
${SED} -e 's|@@compose@@||' -e 's|@@qt6@@||' ${MASTERDIR}/pkg-plist \
| ${XARGS} -L 1 -I % ${RM} -rf ${STAGEDIR}${PREFIX}/%
${FIND} ${STAGEDIR}${PREFIX} -empty -delete
${RM} -rf ${STAGEDIR}${PREFIX}/etc ${STAGEDIR}${PREFIX}/share/man
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,30 @@
include/AppStreamQt5/appstreamqt_export.h
include/AppStreamQt5/bundle.h
include/AppStreamQt5/category.h
include/AppStreamQt5/component-box.h
include/AppStreamQt5/component.h
include/AppStreamQt5/contentrating.h
include/AppStreamQt5/developer.h
include/AppStreamQt5/icon.h
include/AppStreamQt5/image.h
include/AppStreamQt5/launchable.h
include/AppStreamQt5/metadata.h
include/AppStreamQt5/pool.h
include/AppStreamQt5/provided.h
include/AppStreamQt5/relation-check-result.h
include/AppStreamQt5/relation.h
include/AppStreamQt5/release-list.h
include/AppStreamQt5/release.h
include/AppStreamQt5/screenshot.h
include/AppStreamQt5/spdx.h
include/AppStreamQt5/suggested.h
include/AppStreamQt5/systeminfo.h
include/AppStreamQt5/translation.h
include/AppStreamQt5/utils.h
include/AppStreamQt5/version.h
include/AppStreamQt5/video.h
lib/cmake/AppStreamQt5/AppStreamQt5Config.cmake
lib/cmake/AppStreamQt5/AppStreamQt5ConfigVersion.cmake
lib/libAppStreamQt5.so
lib/libAppStreamQt5.so.1.0.0
lib/libAppStreamQt5.so.3

View file

@ -14,28 +14,45 @@ WWW= https://www.freedesktop.org/wiki/Distributions/AppStream/
LICENSE= GPLv2+ LGPL21+
LICENSE_COMB= multi
SUBPACKAGES?= compose qt6
BUILD_DEPENDS= docbook-xsl>=0:textproc/docbook-xsl \
gperf>0:devel/gperf \
itstool:textproc/itstool \
lmdb>0:databases/lmdb
LIB_DEPENDS?= libcurl.so:ftp/curl \
libfreetype.so:print/freetype2 \
libfontconfig.so:x11-fonts/fontconfig \
libstemmer.so:textproc/snowballstemmer \
libxmlb.so:textproc/libxmlb \
libyaml.so:textproc/libyaml \
libzstd.so:archivers/zstd
SELF_DEPENDS.compose= main
SELF_DEPENDS.qt6= main
USES+= gettext gnome localbase:ldflags meson pkgconfig \
python:build tar:xz vala:build
USES= gettext gnome localbase:ldflags meson pkgconfig \
qt:${QT_FLAVOR} tar:xz python:build vala:build
USE_GNOME+= glib20 introspection:build libxml2 libxslt:build
USE_QT= ${_USE_QT_${QT_FLAVOR}}
USE_GNOME= cairo gdkpixbuf2 glib20 introspection:build librsvg2 libxml2 \
libxslt:build pango
USE_LDCONFIG= yes
QT_FLAVOR?= 6
_USE_QT_5= core buildtools:build qmake:build testlib:build
_USE_QT_6= base
#CFLAGS+= -D__BSD_VISIBLE=1
MESON_ARGS+= -Dstemming=true \
MESON_ARGS+= -Dcompose=true \
-Dstemming=true \
-Dvapi=true \
-Dapidocs=false \
-Dinstall-docs=false \
-Dsystemd=false
-Dsystemd=false \
${_MESON_ARGS_qt${QT_FLAVOR}}
_MESON_ARGS_qt5= -Dqt5=true
_MESON_ARGS_qt6= -Dqt=true
post-patch:
${REINPLACE_CMD} \

View file

@ -0,0 +1,7 @@
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-compose is a library and a frontend CLI tool to scan filesystem and
generate AppStream XML.

View file

@ -0,0 +1,6 @@
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.
AppStreamQt provides a Qt-based C++ interface to the AppStream library.

View file

@ -1,4 +1,41 @@
bin/appstreamcli
@@qt6@@include/AppStreamQt/appstreamqt_export.h
@@qt6@@include/AppStreamQt/bundle.h
@@qt6@@include/AppStreamQt/category.h
@@qt6@@include/AppStreamQt/component-box.h
@@qt6@@include/AppStreamQt/component.h
@@qt6@@include/AppStreamQt/contentrating.h
@@qt6@@include/AppStreamQt/developer.h
@@qt6@@include/AppStreamQt/icon.h
@@qt6@@include/AppStreamQt/image.h
@@qt6@@include/AppStreamQt/launchable.h
@@qt6@@include/AppStreamQt/metadata.h
@@qt6@@include/AppStreamQt/pool.h
@@qt6@@include/AppStreamQt/provided.h
@@qt6@@include/AppStreamQt/relation-check-result.h
@@qt6@@include/AppStreamQt/relation.h
@@qt6@@include/AppStreamQt/release-list.h
@@qt6@@include/AppStreamQt/release.h
@@qt6@@include/AppStreamQt/screenshot.h
@@qt6@@include/AppStreamQt/spdx.h
@@qt6@@include/AppStreamQt/suggested.h
@@qt6@@include/AppStreamQt/systeminfo.h
@@qt6@@include/AppStreamQt/translation.h
@@qt6@@include/AppStreamQt/utils.h
@@qt6@@include/AppStreamQt/version.h
@@qt6@@include/AppStreamQt/video.h
@@compose@@include/appstream-compose/appstream-compose.h
@@compose@@include/appstream-compose/asc-canvas.h
@@compose@@include/appstream-compose/asc-compose.h
@@compose@@include/appstream-compose/asc-directory-unit.h
@@compose@@include/appstream-compose/asc-enums-types.h
@@compose@@include/appstream-compose/asc-globals.h
@@compose@@include/appstream-compose/asc-hint.h
@@compose@@include/appstream-compose/asc-icon-policy.h
@@compose@@include/appstream-compose/asc-image.h
@@compose@@include/appstream-compose/asc-result.h
@@compose@@include/appstream-compose/asc-unit.h
@@compose@@include/appstream-compose/asc-utils.h
include/appstream/appstream.h
include/appstream/as-agreement-section.h
include/appstream/as-agreement.h
@ -39,16 +76,27 @@ include/appstream/as-validator.h
include/appstream/as-vercmp.h
include/appstream/as-version.h
include/appstream/as-video.h
@@qt6@@lib/cmake/AppStreamQt/AppStreamQtConfig.cmake
@@qt6@@lib/cmake/AppStreamQt/AppStreamQtConfigVersion.cmake
lib/girepository-1.0/AppStream-1.0.typelib
@@compose@@lib/girepository-1.0/AppStreamCompose-1.0.typelib
@@qt6@@lib/libAppStreamQt.so
@@qt6@@lib/libAppStreamQt.so.1.0.0
@@qt6@@lib/libAppStreamQt.so.3
@@compose@@lib/libappstream-compose.so
@@compose@@lib/libappstream-compose.so.0
@@compose@@lib/libappstream-compose.so.1.0.0
lib/libappstream.so
lib/libappstream.so.1.0.0
lib/libappstream.so.5
@@compose@@libdata/pkgconfig/appstream-compose.pc
libdata/pkgconfig/appstream.pc
share/man/man1/appstreamcli.1.gz
@@compose@@libexec/appstreamcli-compose
share/appstream/appstream.conf
share/gettext/its/metainfo.its
share/gettext/its/metainfo.loc
share/gir-1.0/AppStream-1.0.gir
@@compose@@share/gir-1.0/AppStreamCompose-1.0.gir
share/installed-tests/appstream/metainfo-validate.test
share/locale/ain/LC_MESSAGES/appstream.mo
share/locale/ar/LC_MESSAGES/appstream.mo
@ -96,6 +144,9 @@ 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
@@compose@@share/man/man1/appstreamcli-compose.1.gz
share/man/man1/appstreamcli.1.gz
share/metainfo/org.freedesktop.appstream.cli.metainfo.xml
@@compose@@share/metainfo/org.freedesktop.appstream.compose.metainfo.xml
share/vala/vapi/appstream.deps
share/vala/vapi/appstream.vapi

View file

@ -9,7 +9,7 @@ WWW= https://www.kde.org/plasma-desktop
# TODO: update packagekit-qt5
#LIB_DEPENDS= libpackagekit-qt.so:ports-mgmt/packagekit-qt5
LIB_DEPENDS= libAppStreamQt5.so:devel/appstream-qt@qt5
LIB_DEPENDS= libAppStreamQt5.so:devel/appstream-qt5
USES= cmake compiler:c++11-lib cpe desktop-file-utils gettext kde:5 \
pkgconfig qt:5 tar:xz xorg