Skip to content

Commit

Permalink
net-im/libquotient: flavorize port for Qt 5 and Qt 6
Browse files Browse the repository at this point in the history
- To allow for co-instability, the header files have been moved to a
  prefix. This location might change again in the future, if upstream
  adapts their build system for co-instability.

- The android related file is simply not cared about in the Qt6 version,
  to allow for co-instability.

Approved by:	adridg
  • Loading branch information
tcberner committed Sep 10, 2023
1 parent 62bc0ae commit 49eaa88
Show file tree
Hide file tree
Showing 4 changed files with 198 additions and 175 deletions.
38 changes: 30 additions & 8 deletions net-im/libquotient/Makefile
@@ -1,6 +1,8 @@
PORTNAME= libquotient
DISTVERSION= 0.8.1
PORTREVISION= 1
CATEGORIES= net-im
PKGNAMESUFFIX= -${FLAVOR}

MAINTAINER= adridg@FreeBSD.org
COMMENT= Matrix IM support library using Qt technologies
Expand All @@ -9,21 +11,41 @@ WWW= https://github.com/quotient-im/libQuotient
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING

LIB_DEPENDS= libqt5keychain.so:security/qtkeychain@qt5 \
LIB_DEPENDS= lib${FLAVOR}keychain.so:security/qtkeychain@${FLAVOR} \
libolm.so:security/olm

USES= cmake compiler:c++20-lang qt:5 tar:xz
USE_QT= concurrent core gui multimedia network \
buildtools:build qmake:build testlib:build

CONFLICTS= libqmatrixclient\*
FLAVORS= qt5 qt6
FLAVOR?= qt5

USES= cmake compiler:c++20-lang qt:${FLAVOR:S/qt//} tar:xz
USE_GITHUB= yes
GH_ACCOUNT= quotient-im
GH_PROJECT= libQuotient

CMAKE_OFF= Quotient_INSTALL_TESTS
USE_QT= ${_USE_QT_${FLAVOR}}
CMAKE_ARGS= ${_CMAKE_ARGS_${FLAVOR}} \
-DCMAKE_INSTALL_INCLUDEDIR:PATH=${_INCDIR_REL_${FLAVOR}}
CMAKE_ON= Quotient_ENABLE_E2EE
CMAKE_OFF= Quotient_INSTALL_TESTS

CONFLICTS= libqmatrixclient\*

PLIST_SUB= QUOTIENT_SUFFIX=${_QT_VER_SUFFIX_${FLAVOR}} \
QUOTIENT_INCDIR=${_INCDIR_REL_${FLAVOR}} \
QUOTIENT_QT5_ONLY=${_QT5_ONLY_${FLAVOR}}

# Flavorization
_USE_QT_qt5= concurrent core gui multimedia network \
buildtools:build qmake:build testlib:build
_USE_QT_qt6= base
_CMAKE_ARGS_qt5= -DBUILD_WITH_QT6:BOOL=FALSE
_CMAKE_ARGS_qt6= -DBUILD_WITH_QT6:BOOL=TRUE
_INCDIR_REL_qt5= include/QuotientQt5
_INCDIR_REL_qt6= include/QuotientQt6
_QT_VER_SUFFIX_qt5= #
_QT_VER_SUFFIX_qt6= Qt6
_QT5_ONLY_qt5= #
_QT5_ONLY_qt6= "@comment "


.include <bsd.port.options.mk>

Expand Down
328 changes: 164 additions & 164 deletions net-im/libquotient/pkg-plist
@@ -1,164 +1,164 @@
include/Quotient/accountregistry.h
include/Quotient/application-service/definitions/location.h
include/Quotient/application-service/definitions/protocol.h
include/Quotient/application-service/definitions/user.h
include/Quotient/avatar.h
include/Quotient/connection_p.h
include/Quotient/connection.h
include/Quotient/connectiondata.h
include/Quotient/connectionencryptiondata_p.h
include/Quotient/converters.h
include/Quotient/csapi/account-data.h
include/Quotient/csapi/admin.h
include/Quotient/csapi/administrative_contact.h
include/Quotient/csapi/appservice_room_directory.h
include/Quotient/csapi/banning.h
include/Quotient/csapi/capabilities.h
include/Quotient/csapi/content-repo.h
include/Quotient/csapi/create_room.h
include/Quotient/csapi/cross_signing.h
include/Quotient/csapi/definitions/auth_data.h
include/Quotient/csapi/definitions/client_device.h
include/Quotient/csapi/definitions/cross_signing_key.h
include/Quotient/csapi/definitions/device_keys.h
include/Quotient/csapi/definitions/event_filter.h
include/Quotient/csapi/definitions/key_backup_data.h
include/Quotient/csapi/definitions/openid_token.h
include/Quotient/csapi/definitions/public_rooms_response.h
include/Quotient/csapi/definitions/push_condition.h
include/Quotient/csapi/definitions/push_rule.h
include/Quotient/csapi/definitions/push_ruleset.h
include/Quotient/csapi/definitions/request_email_validation.h
include/Quotient/csapi/definitions/request_msisdn_validation.h
include/Quotient/csapi/definitions/request_token_response.h
include/Quotient/csapi/definitions/room_event_filter.h
include/Quotient/csapi/definitions/room_key_backup.h
include/Quotient/csapi/definitions/sync_filter.h
include/Quotient/csapi/definitions/third_party_signed.h
include/Quotient/csapi/definitions/user_identifier.h
include/Quotient/csapi/definitions/wellknown/full.h
include/Quotient/csapi/definitions/wellknown/homeserver.h
include/Quotient/csapi/definitions/wellknown/identity_server.h
include/Quotient/csapi/device_management.h
include/Quotient/csapi/directory.h
include/Quotient/csapi/event_context.h
include/Quotient/csapi/filter.h
include/Quotient/csapi/inviting.h
include/Quotient/csapi/joining.h
include/Quotient/csapi/key_backup.h
include/Quotient/csapi/keys.h
include/Quotient/csapi/kicking.h
include/Quotient/csapi/knocking.h
include/Quotient/csapi/leaving.h
include/Quotient/csapi/list_joined_rooms.h
include/Quotient/csapi/list_public_rooms.h
include/Quotient/csapi/login_token.h
include/Quotient/csapi/login.h
include/Quotient/csapi/logout.h
include/Quotient/csapi/message_pagination.h
include/Quotient/csapi/notifications.h
include/Quotient/csapi/openid.h
include/Quotient/csapi/peeking_events.h
include/Quotient/csapi/presence.h
include/Quotient/csapi/profile.h
include/Quotient/csapi/pusher.h
include/Quotient/csapi/pushrules.h
include/Quotient/csapi/read_markers.h
include/Quotient/csapi/receipts.h
include/Quotient/csapi/redaction.h
include/Quotient/csapi/refresh.h
include/Quotient/csapi/registration.h
include/Quotient/csapi/registration_tokens.h
include/Quotient/csapi/relations.h
include/Quotient/csapi/report_content.h
include/Quotient/csapi/room_event_by_timestamp.h
include/Quotient/csapi/room_send.h
include/Quotient/csapi/room_state.h
include/Quotient/csapi/room_upgrades.h
include/Quotient/csapi/rooms.h
include/Quotient/csapi/search.h
include/Quotient/csapi/space_hierarchy.h
include/Quotient/csapi/sso_login_redirect.h
include/Quotient/csapi/tags.h
include/Quotient/csapi/third_party_lookup.h
include/Quotient/csapi/third_party_membership.h
include/Quotient/csapi/threads_list.h
include/Quotient/csapi/to_device.h
include/Quotient/csapi/typing.h
include/Quotient/csapi/users.h
include/Quotient/csapi/versions.h
include/Quotient/csapi/voip.h
include/Quotient/csapi/wellknown.h
include/Quotient/csapi/whoami.h
include/Quotient/database.h
include/Quotient/e2ee/e2ee_common.h
include/Quotient/e2ee/qolmaccount.h
include/Quotient/e2ee/qolminboundsession.h
include/Quotient/e2ee/qolmmessage.h
include/Quotient/e2ee/qolmoutboundsession.h
include/Quotient/e2ee/qolmsession.h
include/Quotient/e2ee/qolmutility.h
include/Quotient/eventitem.h
include/Quotient/events/accountdataevents.h
include/Quotient/events/callevents.h
include/Quotient/events/directchatevent.h
include/Quotient/events/encryptedevent.h
include/Quotient/events/encryptionevent.h
include/Quotient/events/event.h
include/Quotient/events/eventcontent.h
include/Quotient/events/eventloader.h
include/Quotient/events/eventrelation.h
include/Quotient/events/filesourceinfo.h
include/Quotient/events/keyverificationevent.h
include/Quotient/events/reactionevent.h
include/Quotient/events/receiptevent.h
include/Quotient/events/redactionevent.h
include/Quotient/events/roomavatarevent.h
include/Quotient/events/roomcanonicalaliasevent.h
include/Quotient/events/roomcreateevent.h
include/Quotient/events/roomevent.h
include/Quotient/events/roomkeyevent.h
include/Quotient/events/roommemberevent.h
include/Quotient/events/roommessageevent.h
include/Quotient/events/roompowerlevelsevent.h
include/Quotient/events/roomtombstoneevent.h
include/Quotient/events/simplestateevents.h
include/Quotient/events/single_key_value.h
include/Quotient/events/stateevent.h
include/Quotient/events/stickerevent.h
include/Quotient/events/typingevent.h
include/Quotient/eventstats.h
include/Quotient/expected.h
include/Quotient/function_traits.h
include/Quotient/identity/definitions/request_email_validation.h
include/Quotient/identity/definitions/request_msisdn_validation.h
include/Quotient/jobs/basejob.h
include/Quotient/jobs/downloadfilejob.h
include/Quotient/jobs/mediathumbnailjob.h
include/Quotient/jobs/requestdata.h
include/Quotient/jobs/syncjob.h
include/Quotient/keyverificationsession.h
include/Quotient/logging_categories_p.h
include/Quotient/mxcreply.h
include/Quotient/networkaccessmanager.h
include/Quotient/networksettings.h
include/Quotient/omittable.h
include/Quotient/qt_connection_util.h
include/Quotient/quotient_common.h
include/Quotient/quotient_export.h
include/Quotient/room.h
include/Quotient/roomstateview.h
include/Quotient/settings.h
include/Quotient/ssosession.h
include/Quotient/syncdata.h
include/Quotient/uri.h
include/Quotient/uriresolver.h
include/Quotient/user.h
include/Quotient/util.h
lib/cmake/Quotient/QuotientConfig.cmake
lib/cmake/Quotient/QuotientConfigVersion.cmake
lib/cmake/Quotient/QuotientTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Quotient/QuotientTargets.cmake
lib/libQuotient.a
libdata/pkgconfig/Quotient.pc
share/ndk-modules/Android.mk
%%QUOTIENT_INCDIR%%/Quotient/accountregistry.h
%%QUOTIENT_INCDIR%%/Quotient/application-service/definitions/location.h
%%QUOTIENT_INCDIR%%/Quotient/application-service/definitions/protocol.h
%%QUOTIENT_INCDIR%%/Quotient/application-service/definitions/user.h
%%QUOTIENT_INCDIR%%/Quotient/avatar.h
%%QUOTIENT_INCDIR%%/Quotient/connection_p.h
%%QUOTIENT_INCDIR%%/Quotient/connection.h
%%QUOTIENT_INCDIR%%/Quotient/connectiondata.h
%%QUOTIENT_INCDIR%%/Quotient/connectionencryptiondata_p.h
%%QUOTIENT_INCDIR%%/Quotient/converters.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/account-data.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/admin.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/administrative_contact.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/appservice_room_directory.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/banning.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/capabilities.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/content-repo.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/create_room.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/cross_signing.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/auth_data.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/client_device.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/cross_signing_key.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/device_keys.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/event_filter.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/key_backup_data.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/openid_token.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/public_rooms_response.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/push_condition.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/push_rule.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/push_ruleset.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/request_email_validation.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/request_msisdn_validation.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/request_token_response.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/room_event_filter.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/room_key_backup.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/sync_filter.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/third_party_signed.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/user_identifier.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/wellknown/full.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/wellknown/homeserver.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/definitions/wellknown/identity_server.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/device_management.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/directory.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/event_context.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/filter.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/inviting.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/joining.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/key_backup.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/keys.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/kicking.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/knocking.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/leaving.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/list_joined_rooms.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/list_public_rooms.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/login_token.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/login.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/logout.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/message_pagination.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/notifications.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/openid.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/peeking_events.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/presence.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/profile.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/pusher.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/pushrules.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/read_markers.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/receipts.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/redaction.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/refresh.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/registration.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/registration_tokens.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/relations.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/report_content.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/room_event_by_timestamp.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/room_send.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/room_state.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/room_upgrades.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/rooms.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/search.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/space_hierarchy.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/sso_login_redirect.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/tags.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/third_party_lookup.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/third_party_membership.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/threads_list.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/to_device.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/typing.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/users.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/versions.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/voip.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/wellknown.h
%%QUOTIENT_INCDIR%%/Quotient/csapi/whoami.h
%%QUOTIENT_INCDIR%%/Quotient/database.h
%%QUOTIENT_INCDIR%%/Quotient/e2ee/e2ee_common.h
%%QUOTIENT_INCDIR%%/Quotient/e2ee/qolmaccount.h
%%QUOTIENT_INCDIR%%/Quotient/e2ee/qolminboundsession.h
%%QUOTIENT_INCDIR%%/Quotient/e2ee/qolmmessage.h
%%QUOTIENT_INCDIR%%/Quotient/e2ee/qolmoutboundsession.h
%%QUOTIENT_INCDIR%%/Quotient/e2ee/qolmsession.h
%%QUOTIENT_INCDIR%%/Quotient/e2ee/qolmutility.h
%%QUOTIENT_INCDIR%%/Quotient/eventitem.h
%%QUOTIENT_INCDIR%%/Quotient/events/accountdataevents.h
%%QUOTIENT_INCDIR%%/Quotient/events/callevents.h
%%QUOTIENT_INCDIR%%/Quotient/events/directchatevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/encryptedevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/encryptionevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/event.h
%%QUOTIENT_INCDIR%%/Quotient/events/eventcontent.h
%%QUOTIENT_INCDIR%%/Quotient/events/eventloader.h
%%QUOTIENT_INCDIR%%/Quotient/events/eventrelation.h
%%QUOTIENT_INCDIR%%/Quotient/events/filesourceinfo.h
%%QUOTIENT_INCDIR%%/Quotient/events/keyverificationevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/reactionevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/receiptevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/redactionevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roomavatarevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roomcanonicalaliasevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roomcreateevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roomevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roomkeyevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roommemberevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roommessageevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roompowerlevelsevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/roomtombstoneevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/simplestateevents.h
%%QUOTIENT_INCDIR%%/Quotient/events/single_key_value.h
%%QUOTIENT_INCDIR%%/Quotient/events/stateevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/stickerevent.h
%%QUOTIENT_INCDIR%%/Quotient/events/typingevent.h
%%QUOTIENT_INCDIR%%/Quotient/eventstats.h
%%QUOTIENT_INCDIR%%/Quotient/expected.h
%%QUOTIENT_INCDIR%%/Quotient/function_traits.h
%%QUOTIENT_INCDIR%%/Quotient/identity/definitions/request_email_validation.h
%%QUOTIENT_INCDIR%%/Quotient/identity/definitions/request_msisdn_validation.h
%%QUOTIENT_INCDIR%%/Quotient/jobs/basejob.h
%%QUOTIENT_INCDIR%%/Quotient/jobs/downloadfilejob.h
%%QUOTIENT_INCDIR%%/Quotient/jobs/mediathumbnailjob.h
%%QUOTIENT_INCDIR%%/Quotient/jobs/requestdata.h
%%QUOTIENT_INCDIR%%/Quotient/jobs/syncjob.h
%%QUOTIENT_INCDIR%%/Quotient/keyverificationsession.h
%%QUOTIENT_INCDIR%%/Quotient/logging_categories_p.h
%%QUOTIENT_INCDIR%%/Quotient/mxcreply.h
%%QUOTIENT_INCDIR%%/Quotient/networkaccessmanager.h
%%QUOTIENT_INCDIR%%/Quotient/networksettings.h
%%QUOTIENT_INCDIR%%/Quotient/omittable.h
%%QUOTIENT_INCDIR%%/Quotient/qt_connection_util.h
%%QUOTIENT_INCDIR%%/Quotient/quotient_common.h
%%QUOTIENT_INCDIR%%/Quotient/quotient_export.h
%%QUOTIENT_INCDIR%%/Quotient/room.h
%%QUOTIENT_INCDIR%%/Quotient/roomstateview.h
%%QUOTIENT_INCDIR%%/Quotient/settings.h
%%QUOTIENT_INCDIR%%/Quotient/ssosession.h
%%QUOTIENT_INCDIR%%/Quotient/syncdata.h
%%QUOTIENT_INCDIR%%/Quotient/uri.h
%%QUOTIENT_INCDIR%%/Quotient/uriresolver.h
%%QUOTIENT_INCDIR%%/Quotient/user.h
%%QUOTIENT_INCDIR%%/Quotient/util.h
lib/cmake/Quotient%%QUOTIENT_SUFFIX%%/Quotient%%QUOTIENT_SUFFIX%%Config.cmake
lib/cmake/Quotient%%QUOTIENT_SUFFIX%%/Quotient%%QUOTIENT_SUFFIX%%ConfigVersion.cmake
lib/cmake/Quotient%%QUOTIENT_SUFFIX%%/Quotient%%QUOTIENT_SUFFIX%%Targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/Quotient%%QUOTIENT_SUFFIX%%/Quotient%%QUOTIENT_SUFFIX%%Targets.cmake
lib/libQuotient%%QUOTIENT_SUFFIX%%.a
libdata/pkgconfig/Quotient%%QUOTIENT_SUFFIX%%.pc
%%QUOTIENT_QT5_ONLY%%share/ndk-modules/Android.mk

0 comments on commit 49eaa88

Please sign in to comment.