diff options
author | Pasi Petäjäjärvi <pasi.petajajarvi@qt.io> | 2021-06-17 19:49:56 +0300 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@qt.io> | 2021-12-29 10:56:34 +0200 |
commit | 7b9b54e5d32ff530345ad5c099a4c92caec2ae78 (patch) | |
tree | 36415f726f4a6341b5905c7b02778d4ca9ae0b00 | |
parent | 8927654c3e57e8240bb59faf16a60b6f0293a8e7 (diff) |
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 d4572bf1b9ae141f85752d6c97dcb6041fd91e8f)
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
9 files changed, 148 insertions, 0 deletions
diff --git a/recipes-qt/packagegroups/nativesdk-packagegroup-qt6-toolchain-host.bb b/recipes-qt/packagegroups/nativesdk-packagegroup-qt6-toolchain-host.bb index efe01f0..cf9c0f4 100644 --- a/recipes-qt/packagegroups/nativesdk-packagegroup-qt6-toolchain-host.bb +++ b/recipes-qt/packagegroups/nativesdk-packagegroup-qt6-toolchain-host.bb @@ -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)} \ " diff --git a/recipes-qt/packagegroups/packagegroup-qt6-addons.bb b/recipes-qt/packagegroups/packagegroup-qt6-addons.bb index 59b69cb..555f4ac 100644 --- a/recipes-qt/packagegroups/packagegroup-qt6-addons.bb +++ b/recipes-qt/packagegroups/packagegroup-qt6-addons.bb @@ -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)} \ diff --git a/recipes-qt/qt6/qt6-git.inc b/recipes-qt/qt6/qt6-git.inc index 4def346..96296fb 100644 --- a/recipes-qt/qt6/qt6-git.inc +++ b/recipes-qt/qt6/qt6-git.inc @@ -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" diff --git a/recipes-qt/qt6/qtinterfaceframework.inc b/recipes-qt/qt6/qtinterfaceframework.inc new file mode 100644 index 0000000..02bfdc3 --- /dev/null +++ b/recipes-qt/qt6/qtinterfaceframework.inc @@ -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 \ + " diff --git a/recipes-qt/qt6/qtinterfaceframework/if-services.target b/recipes-qt/qt6/qtinterfaceframework/if-services.target new file mode 100644 index 0000000..24d990e --- /dev/null +++ b/recipes-qt/qt6/qtinterfaceframework/if-services.target @@ -0,0 +1,3 @@ +[Unit] +Description=Qt Interface Framework services +After=systemd-user-sessions.service diff --git a/recipes-qt/qt6/qtinterfaceframework/ifmedia-simulation-server.service b/recipes-qt/qt6/qtinterfaceframework/ifmedia-simulation-server.service new file mode 100644 index 0000000..2ecba90 --- /dev/null +++ b/recipes-qt/qt6/qtinterfaceframework/ifmedia-simulation-server.service @@ -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 diff --git a/recipes-qt/qt6/qtinterfaceframework/ifvehiclefunctions-simulation-server.service b/recipes-qt/qt6/qtinterfaceframework/ifvehiclefunctions-simulation-server.service new file mode 100644 index 0000000..0929118 --- /dev/null +++ b/recipes-qt/qt6/qtinterfaceframework/ifvehiclefunctions-simulation-server.service @@ -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 diff --git a/recipes-qt/qt6/qtinterfaceframework/simulation-server.conf b/recipes-qt/qt6/qtinterfaceframework/simulation-server.conf new file mode 100644 index 0000000..6b0a7af --- /dev/null +++ b/recipes-qt/qt6/qtinterfaceframework/simulation-server.conf @@ -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 diff --git a/recipes-qt/qt6/qtinterfaceframework_git.bb b/recipes-qt/qt6/qtinterfaceframework_git.bb new file mode 100644 index 0000000..ba3d327 --- /dev/null +++ b/recipes-qt/qt6/qtinterfaceframework_git.bb @@ -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" + |