QtInterfaceFramework: Add support

Adds Qt Interface Framework module.

Task-number: QTBUG-94105
Change-Id: I3f8a1caf251e2e6b8be55e78361a3e0f2b95fca4
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
(cherry picked from commit d4572bf1b9)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Pasi Petäjäjärvi 2021-06-17 19:49:56 +03:00 committed by Samuli Piippo
parent 8927654c3e
commit 7b9b54e5d3
9 changed files with 148 additions and 0 deletions

View File

@ -18,6 +18,7 @@ RDEPENDS:${PN} += " \
nativesdk-qtbase-tools \
nativesdk-qtdeclarative-dev \
nativesdk-qtdeclarative-tools \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'nativesdk-qtinterfaceframework-dev nativesdk-qtinterfaceframework-tools', '', d)} \
nativesdk-qtquick3d-dev \
nativesdk-qtquick3d-tools \
nativesdk-qtremoteobjects-dev \
@ -37,4 +38,5 @@ RDEPENDS:${PN}:remove:mingw32 = " \
nativesdk-cmake \
nativesdk-ninja \
nativesdk-perl-modules \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'nativesdk-qtinterfaceframework-dev nativesdk-qtinterfaceframework-tools', '', d)} \
"

View File

@ -18,6 +18,7 @@ RDEPENDS:${PN} += " \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtdatavis3d', '', d)} \
qtdeviceutilities \
qtimageformats \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-python', 'qtinterfaceframework', '', d)} \
qtlottie \
qtmqtt \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtmultimedia', '', d)} \

View File

@ -27,6 +27,7 @@ SRCREV_qtdatavis3d = "a55e93db7a9a69a6dcf64f8df78228c7584c15a5"
SRCREV_qtdeclarative = "c9518ea703fa1fd739e8f7cdbe2cbc1aa46cf205"
SRCREV_qtdeviceutilities = "b6ff504fab5efc2692c0adac7fc64e729011f625"
SRCREV_qtimageformats = "9c5aa280c1df6e161b25f5b0c1a1a7d7b0ddb51c"
SRCREV_qtinterfaceframework = "01038ad500c2df3f8bdd9c40bd7633430ffa5db4"
SRCREV_qtlottie = "734dd09b28551859ad4d2208354cce11cf347058"
SRCREV_qtmqtt = "bb2dc4195dfe45008de883a7d0e85d8bc0a239b5"
SRCREV_qtmultimedia = "98336f92b84a8ecfde5cc01622471086579cfa52"

View File

@ -0,0 +1,34 @@
inherit systemd
SRC_URI += " \
file://ifmedia-simulation-server.service \
file://ifvehiclefunctions-simulation-server.service \
file://if-services.target \
file://simulation-server.conf \
"
do_install:append:class-target() {
install -m 0755 -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/ifmedia-simulation-server.service ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/ifvehiclefunctions-simulation-server.service ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/if-services.target ${D}${systemd_unitdir}/system/
install -m 0755 -d ${D}${sysconfdir}
install -m 0755 ${WORKDIR}/simulation-server.conf ${D}${sysconfdir}/
}
SYSTEMD_PACKAGES = "${PN}-simulation"
SYSTEMD_SERVICE:${PN}-simulation = " \
ifmedia-simulation-server.service \
ifvehiclefunctions-simulation-server.service \
if-services.target \
"
PACKAGES =+ "${PN}-simulation"
FILES:${PN}-simulation = " \
${QT6_INSTALL_BINDIR}/ifmedia-simulation-server \
${QT6_INSTALL_BINDIR}/ifvehiclefunctions-simulation-server \
${QT6_INSTALL_PLUGINSDIR}/interfaceframework/ \
${systemd_unitdir}/system \
${sysconfdir}/simulation-server.conf \
"

View File

@ -0,0 +1,3 @@
[Unit]
Description=Qt Interface Framework services
After=systemd-user-sessions.service

View File

@ -0,0 +1,13 @@
[Unit]
Description=ifmedia-simulation-server
PartOf=if-services.target
Before=if-services.target
[Service]
User=root
ExecStart=/usr/bin/ifmedia-simulation-server
Restart=on-failure
Environment=SERVER_CONF_PATH=/etc/simulation-server.conf
[Install]
WantedBy=if-services.target

View File

@ -0,0 +1,13 @@
[Unit]
Description=ifvehiclefunctions-simulation-server
PartOf=if-services.target
Before=if-services.target
[Service]
User=root
ExecStart=/usr/bin/ifvehiclefunctions-simulation-server
Restart=on-failure
Environment=SERVER_CONF_PATH=/etc/simulation-server.conf
[Install]
WantedBy=if-services.target

View File

@ -0,0 +1,8 @@
[remotesettings]
Registry=tcp://0.0.0.0:9999
[drivedata]
Registry=tcp://0.0.0.0:9998
[qtifmedia]
Registry=tcp://0.0.0.0:9997

View File

@ -0,0 +1,73 @@
DESCRIPTION = "Qt Interface Framework"
LICENSE = "(GFDL-1.3 & BSD & The-Qt-Company-GPL-Exception-1.0 & (LGPL-3.0 | GPL-2.0+)) | The-Qt-Company-Commercial"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPL3;md5=e6a600fd5e1d9cbde2d983680233ad02 \
file://LICENSE.GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LICENSE.GPL3;md5=d32239bcb673463ab874e80d47fae504 \
file://LICENSE.GPL3-EXCEPT;md5=763d8c535a234d9a3fb682c7ecb6c073 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"
inherit qt6-cmake pkgconfig
include recipes-qt/qt6/qt6-git.inc
include recipes-qt/qt6/qt6.inc
python() {
if 'meta-python' not in d.getVar('BBFILE_COLLECTIONS').split():
raise bb.parse.SkipRecipe('Requires meta-python to be present.')
}
# Default build and package these
REFERENCE_API ?= "1"
SIMULATION_SUPPORT ?= "1"
include ${@bb.utils.contains('SIMULATION_SUPPORT', '1', 'qtinterfaceframework.inc', '', d)}
FILES:${PN}-dev += " \
${QT6_INSTALL_DATADIR}/ifcodegen-templates \
"
PACKAGES =+ "${PN}-refapi-media"
FILES:${PN}-refapi-media = "\
${QT6_INSTALL_LIBDIR}/libQt6IfMedia.so.* \
${QT6_INSTALL_LIBDIR}/qml/QtInterfaceFramework/Media \
"
PACKAGES =+ "${PN}-refapi-vehiclefuntions"
FILES:${PN}-refapi-vehiclefuntions = "\
${QT6_INSTALL_LIBDIR}/libQt6IfVehicleFunctions.so.* \
${QT6_INSTALL_LIBDIR}/qml/QtInterfaceFramework/VehicleFunctions \
"
DEPENDS += "qtbase qtinterfaceframework-native"
PACKAGECONFIG ?= "ifcodegen remoteobjects interfaceframework \
${PACKAGECONFIG_REFERENCE_API} \
${PACKAGECONFIG_SIMULATION} \
"
PACKAGECONFIG[taglib] = "-DFEATURE_taglib=ON,-DFEATURE_taglib=OFF,taglib"
PACKAGECONFIG[host-tools-only] = "-DFEATURE_host_tools_only=ON,-DFEATURE_host_tools_only=OFF"
PACKAGECONFIG[ifcodegen] = "-DFEATURE_ifcodegen=ON,-DFEATURE_ifcodegen=OFF,python3-qface,python3-qface"
PACKAGECONFIG[remoteobjects] = "-DFEATURE_remoteobjects=ON,-DFEATURE_remoteobjects=OFF,qtremoteobjects qtremoteobjects-native"
#interfaceframework only
PACKAGECONFIG[interfaceframework] = "-DFEATURE_interfaceframework=ON,-DFEATURE_interfaceframework=OFF"
# reference API's
PACKAGECONFIG[ifmedia] = "-DFEATURE_ifmedia=ON,-DFEATURE_ifmedia=OFF, qtmultimedia qtdeclarative"
PACKAGECONFIG[ifvehiclefunctions] = "-DFEATURE_ifvehiclefunctions=ON,-DFEATURE_ifvehiclefunctions=OFF, qtdeclarative"
PACKAGECONFIG_REFERENCE_API ?= "${@bb.utils.contains('REFERENCE_API', '1', 'ifvehiclefunctions ifmedia taglib', '', d)}"
# simulation support
PACKAGECONFIG[no-media-simulation] = "-DFEATURE_media_qtro_backend=OFF -DFEATURE_media_qtro_simulation_server=OFF -DFEATURE_media_simulation_backend=OFF -DFEATURE_tuner_simulation_backend=OFF"
PACKAGECONFIG[no-vehiclefuntions-simulation] = "-DFEATURE_vehiclefunctions_qtro_backend=OFF -DFEATURE_vehiclefunctions_qtro_simulation_server=OFF -DFEATURE_vehiclefunctions_simulation_backend=OFF"
PACKAGECONFIG_SIMULATION ?= "${@bb.utils.contains('SIMULATION_SUPPORT', '1', '', 'no-media-simulation no-vehiclefuntions-simulation', d)}"
PACKAGECONFIG:class-native ??= "interfaceframework ifcodegen host-tools-only remoteobjects"
PACKAGECONFIG:class-nativesdk ??= "${PACKAGECONFIG:class-native}"
BBCLASSEXTEND = "native nativesdk"