diff options
author | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-12-08 11:15:02 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-12-17 13:58:05 +0000 |
commit | 41591d4f8c586aa801220fac0924556f406c58bd (patch) | |
tree | 85a2803d48a094fb0ba3a76b9e3d0870a4e5edc2 /recipes-demo | |
parent | 4830bcef14e7f49cdc851c646a69c9bb9bd92e82 (diff) |
SPEC-3723: restructure meta-agl-demo
All demo related components should be in here now.
We keep the packagegroups on purpose for now to stay backward-compatible.
v2: layer does pass yocto-check-layer, dependencies adapted
v3: remove the dynamic-layer setup, use all-in-one approach
v4: Fixed comments from Paul Barker. Tnx!
v5: Removed wayland/weston/agl-compositor additions, except for demo
specific weston-init bbappend
Follow-up changes required later:
- massaging packagegroups
- scrub of recipes
Bug-AGL: SPEC-3723
Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I47cefd8c23d46b2cdd063470e3f7d97d5ad952d8
Diffstat (limited to 'recipes-demo')
48 files changed, 1519 insertions, 0 deletions
diff --git a/recipes-demo/alexa-viewer/alexa-viewer_git.bb b/recipes-demo/alexa-viewer/alexa-viewer_git.bb new file mode 100644 index 000000000..f73a97acb --- /dev/null +++ b/recipes-demo/alexa-viewer/alexa-viewer_git.bb @@ -0,0 +1,35 @@ +SUMMARY = "Demo voice capabilities template viewer for Alexa voiceagent" +DESCRIPTION = "Demo voice capabilities template viewer for Alexa voiceagent" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/alexa-viewer" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +DEPENDS = " \ + qtquickcontrols2 \ + qlibhomescreen \ + af-binder \ + libqtappfw \ + wayland-native \ + wayland \ + qtwayland \ + qtwayland-native \ +" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/alexa-viewer;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +inherit cmake_qt5 aglwgt + +OECMAKE_CXX_FLAGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '' , '-DQT_NO_DEBUG_OUTPUT', d)}" + +RDEPENDS_${PN} = " \ + libqtappfw \ + libafbwsc \ + qlibhomescreen \ + agl-service-voice-high-capabilities \ +" diff --git a/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb b/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb new file mode 100644 index 000000000..da15ac83b --- /dev/null +++ b/recipes-demo/cluster-dashboard/cluster-dashboard_git.bb @@ -0,0 +1,29 @@ +SUMMARY = "Instrument Cluster Dashboard AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster dashboard" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-dashboard" +SECTION = "apps" + +LICENSE = "Apache-2.0 & BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \ + file://app/cluster-gauges.qml;beginline=9;endline=48;md5=54187d50b29429abee6095fe8b7c1a78" + +SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-dashboard;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 qtwebsockets libqtappfw glib-2.0 \ + wayland-native wayland qtwayland qtwayland-native" + +inherit pkgconfig cmake_qt5 aglwgt + +RDEPENDS_${PN} += " \ + qtquickcontrols \ + qtquickcontrols-qmlplugins \ + qtquickcontrols2 \ + qtquickcontrols2-qmlplugins \ + libqtappfw \ + agl-service-signal-composer \ +" diff --git a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb new file mode 100644 index 000000000..44feecb15 --- /dev/null +++ b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb @@ -0,0 +1,29 @@ +SUMMARY = "Minimal cluster demo gauges that can be used standalone" +DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster gauges as a wayland compositor" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-gauges" +SECTION = "apps" + +LICENSE = "Apache-2.0 & BSD" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \ + file://app/cluster-gauges.qml;beginline=10;endline=49;md5=54187d50b29429abee6095fe8b7c1a78" + +SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-gauges;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 qtwebsockets" + +inherit pkgconfig cmake_qt5 aglwgt + +RDEPENDS_${PN} += " \ + qtquickcontrols \ + qtquickcontrols-qmlplugins \ + qtquickcontrols2 \ + qtquickcontrols2-qmlplugins \ + qtwebsockets \ + qtwebsockets-qmlplugins \ + kms-conf \ +" diff --git a/recipes-demo/cluster-receiver/cluster-receiver_git.bb b/recipes-demo/cluster-receiver/cluster-receiver_git.bb new file mode 100644 index 000000000..534351f23 --- /dev/null +++ b/recipes-demo/cluster-receiver/cluster-receiver_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Instrument Cluster Receiver AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster remote display" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-receiver" +SECTION = "apps" + +LICENSE = "Apache-2.0 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=374fee6a7817f1e1a5a7bfb7b7989553" + +SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-receiver;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "wayland wayland-native \ + gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" + +inherit cmake pkgconfig aglwgt + +RDEPENDS_${PN} += " \ + gstreamer1.0-plugins-base \ + gstreamer1.0-plugins-good \ + gstreamer1.0-plugins-bad \ +" diff --git a/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb b/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb new file mode 100644 index 000000000..10728d569 --- /dev/null +++ b/recipes-demo/cluster-receiver/qt-cluster-receiver_git.bb @@ -0,0 +1,28 @@ +SUMMARY = "Instrument Cluster Receiver AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster remote display" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/admin/repos/apps/agl-qt-cluster-demo-receiver" +SECTION = "apps" + +LICENSE = "Apache-2.0 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \ + file://app/surface.hpp;beginline=5;endline=21;md5=5351c531a191f0e3463aafcd0a6a00a3" + +SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-qt-cluster-demo-receiver;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "wayland wayland-native \ + qtwayland qtwayland-native \ + qtquickcontrols2 qtwebsockets qtbase qtdeclarative \ + gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" + +inherit cmake_qt5 pkgconfig aglwgt + +RDEPENDS_${PN} += " \ + gstreamer1.0-plugins-base \ + gstreamer1.0-plugins-good \ + gstreamer1.0-plugins-bad \ +" diff --git a/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.json b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.json new file mode 100644 index 000000000..90180dcaf --- /dev/null +++ b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/areas.json @@ -0,0 +1,40 @@ +{ + "areas": [ + { + "name": "fullscreen", + "rect": { + "x": 0, + "y": 0, + "w": 1920, + "h": 1080 + } + }, + { + "name": "normal.full", + "rect": { + "x": 640, + "y": 180, + "w": 640, + "h": 720 + } + }, + { + "name": "restriction.normal", + "rect": { + "x": 640, + "y": 180, + "w": 640, + "h": 720 + } + }, + { + "name": "on_screen", + "rect": { + "x": 640, + "y": 180, + "w": 640, + "h": 720 + } + } + ] +} diff --git a/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json new file mode 100644 index 000000000..5c6a5b35d --- /dev/null +++ b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/layers.json @@ -0,0 +1,47 @@ +{ + "description": "Layer mapping", + "mappings": [ + { + "name": "BackGroundLayer", + "role" : "receiver", + "id_range_begin": 0, + "id_range_end": 0, + "comment": "Work Around: This is a special fallback layer that not stopping wayland event loop." + }, + { + "name": "FarHomeScreen", + "role": "homescreen", + "id_range_begin": 100, + "id_range_end": 199, + "comment": "FarHomeScreen is the part of HomeScreen. The z order of this layer is lower than NearHomeScreen" + }, + { + "name": "Apps", + "role": "receiver|fallback", + "id_range_begin": 1000, + "id_range_end": 2999, + "comment": "Application layer" + }, + { + "name": "Popup", + "role": "popup*", + "id_range_begin": 4000, + "id_range_end": 4999, + "comment": "This layer is for popup application layer" + }, + { + "name": "Restriction", + "role": "restriction", + "id_range_begin": 5000, + "id_range_end": 5999, + "comment": "This layer is for restriction notification on driving. This is used by restriction role" + }, + { + "name": "OnScreen", + "role": "^on_screen.*", + "id_range_begin": 6000, + "id_range_end": 6999, + "comment": "System notification layer. For example, on_screen_low_battery_alert to notify user" + } + ] +} diff --git a/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db new file mode 100644 index 000000000..13702144a --- /dev/null +++ b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf/roles.db @@ -0,0 +1,34 @@ +{ + "roles":[ + { + "category": "homescreen", + "role": "homescreen", + "area": "fullscreen", + "layer": "homescreen", + }, + { + "category": "debug", + "role": "receiver | fallback", + "area": "normal.full", + "layer": "apps", + }, + { + "category": "restriction", + "role": "restriction", + "area": "restriction.normal", + "layer": "restriction", + }, + { + "category": "pop_up", + "role": "on_screen | on_screen_phone", + "area": "on_screen", + "layer": "on_screen", + }, + { + "category": "system_alert", + "role": "system_alert", + "area": "on_screen", + "layer": "on_screen", + } + ] +} diff --git a/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb new file mode 100644 index 000000000..4be666bc4 --- /dev/null +++ b/recipes-demo/cluster-windowmanager-conf/cluster-windowmanager-conf_1.0.bb @@ -0,0 +1,19 @@ +SUMMARY = "Cluster demo windowmanager configuration" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://layers.json \ + file://areas.json \ + file://roles.db \ +" + +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${sysconfdir}/xdg/windowmanager + install -m 0644 ${WORKDIR}/layers.json ${D}${sysconfdir}/xdg/windowmanager/layers.json + install -m 0644 ${WORKDIR}/areas.json ${D}${sysconfdir}/xdg/windowmanager/areas.json + install -m 0644 ${WORKDIR}/roles.db ${D}${sysconfdir}/xdg/windowmanager/roles.db +} + +#FILES_${PN} += "${sysconfdir}/*" diff --git a/recipes-demo/dashboard/dashboard_git.bb b/recipes-demo/dashboard/dashboard_git.bb new file mode 100644 index 000000000..70a8793d2 --- /dev/null +++ b/recipes-demo/dashboard/dashboard_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "Dashboard for CES2017 AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating dashboard on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/dashboard" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/dashboard;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 qttools-native libqtappfw" + +inherit qmake5 aglwgt + +RDEPENDS_${PN} += " \ + libqtappfw \ + agl-service-signal-composer \ +" diff --git a/recipes-demo/homescreen-demo-ci/homescreen-demo-ci_git.bb b/recipes-demo/homescreen-demo-ci/homescreen-demo-ci_git.bb new file mode 100644 index 000000000..c3814f114 --- /dev/null +++ b/recipes-demo/homescreen-demo-ci/homescreen-demo-ci_git.bb @@ -0,0 +1,37 @@ +SUMMARY = "homescreen-demo-ci AGL client shell for testing in CI" +DESCRIPTION = "homescreen-demo-ci AGL client shell for testing in CI" +HOMEPAGE = "http://docs.automotivelinux.org" +LICENSE = "MIT" +SECTION = "apps" +LIC_FILES_CHKSUM = "file://COPYING;md5=374fee6a7817f1e1a5a7bfb7b7989553" + +DEPENDS = "\ + qtbase \ + qtdeclarative \ + qtquickcontrols2 \ + agl-service-homescreen \ + agl-service-weather \ + libqtappfw \ + libhomescreen \ + libafb-helpers-qt \ + wayland-native \ + wayland \ + qtwayland \ + qtwayland-native \ +" + +inherit qmake5 systemd pkgconfig aglwgt + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/homescreen-demo-ci;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" + +OE_QMAKE_CXXFLAGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '' , '-DQT_NO_DEBUG_OUTPUT', d)}" + +RDEPENDS_${PN} += " \ + libqtappfw \ +" diff --git a/recipes-demo/homescreen/homescreen_git.bb b/recipes-demo/homescreen/homescreen_git.bb new file mode 100644 index 000000000..bfdf06e72 --- /dev/null +++ b/recipes-demo/homescreen/homescreen_git.bb @@ -0,0 +1,37 @@ +SUMMARY = "AGL Home Screen Application" +DESCRIPTION = "AGL Home Screen Application build with recipe method" +HOMEPAGE = "http://docs.automotivelinux.org" +LICENSE = "Apache-2.0" +SECTION = "apps" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +DEPENDS = "\ + qtbase \ + qtdeclarative \ + qtquickcontrols2 \ + agl-service-homescreen \ + agl-service-weather \ + libqtappfw \ + libhomescreen \ + libafb-helpers-qt \ + wayland-native \ + wayland \ + qtwayland \ + qtwayland-native \ +" + +inherit qmake5 systemd pkgconfig aglwgt + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/homescreen;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" + +OE_QMAKE_CXXFLAGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '' , '-DQT_NO_DEBUG_OUTPUT', d)}" + +RDEPENDS_${PN} += " \ + libqtappfw \ +" diff --git a/recipes-demo/html5-background/html5-background_git.bb b/recipes-demo/html5-background/html5-background_git.bb new file mode 100644 index 000000000..c0ac220f5 --- /dev/null +++ b/recipes-demo/html5-background/html5-background_git.bb @@ -0,0 +1,13 @@ +SUMMARY = "AGL HTML5 Background Application" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://github.com/AGL-web-applications/background.git;protocol=https;branch=master" +SRCREV = "3b8dae349d428c0230b9885f86d421d43cda5638" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/html5-dashboard/html5-dashboard_git.bb b/recipes-demo/html5-dashboard/html5-dashboard_git.bb new file mode 100644 index 000000000..ac874755e --- /dev/null +++ b/recipes-demo/html5-dashboard/html5-dashboard_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "AGL HTML5 dashboard Application" +HOMEPAGE = "https://git.automotivelinux.org/apps/html5-dashboard/" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/html5-dashboard;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/html5-homescreen/html5-homescreen_git.bb b/recipes-demo/html5-homescreen/html5-homescreen_git.bb new file mode 100644 index 000000000..37ca70737 --- /dev/null +++ b/recipes-demo/html5-homescreen/html5-homescreen_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "AGL HTML5 Homescreen Application" +HOMEPAGE = "https://git.automotivelinux.org/apps/html5-homescreen/" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/html5-homescreen;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/html5-hvac/html5-hvac_git.bb b/recipes-demo/html5-hvac/html5-hvac_git.bb new file mode 100644 index 000000000..7fc89aed9 --- /dev/null +++ b/recipes-demo/html5-hvac/html5-hvac_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "AGL HTML5 HVAC Application" +HOMEPAGE = "https://git.automotivelinux.org/apps/html5-hvac/" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/html5-hvac;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/html5-launcher/html5-launcher_git.bb b/recipes-demo/html5-launcher/html5-launcher_git.bb new file mode 100644 index 000000000..47760f676 --- /dev/null +++ b/recipes-demo/html5-launcher/html5-launcher_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "AGL HTML5 Launcher Application" +HOMEPAGE = "https://git.automotivelinux.org/apps/html5-launcher/" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/html5-launcher;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/html5-mediaplayer/html5-mediaplayer_git.bb b/recipes-demo/html5-mediaplayer/html5-mediaplayer_git.bb new file mode 100644 index 000000000..a87b9bcf4 --- /dev/null +++ b/recipes-demo/html5-mediaplayer/html5-mediaplayer_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "AGL HTML5 Mediaplayer Application" +HOMEPAGE = "https://git.automotivelinux.org/apps/html5-mediaplayer/" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/html5-mediaplayer;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/html5-mixer/html5-mixer_git.bb b/recipes-demo/html5-mixer/html5-mixer_git.bb new file mode 100644 index 000000000..97b1195c8 --- /dev/null +++ b/recipes-demo/html5-mixer/html5-mixer_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "AGL HTML5 Mixer Application" +HOMEPAGE = "https://git.automotivelinux.org/apps/html5-mixer/" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/html5-mixer;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/html5-settings/html5-settings_git.bb b/recipes-demo/html5-settings/html5-settings_git.bb new file mode 100644 index 000000000..a167b1428 --- /dev/null +++ b/recipes-demo/html5-settings/html5-settings_git.bb @@ -0,0 +1,15 @@ +SUMMARY = "AGL HTML5 Settings Application" +HOMEPAGE = "https://git.automotivelinux.org/apps/html5-settings/" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/html5-settings;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +DEPENDS = "nodejs-native" + +inherit aglwgt diff --git a/recipes-demo/hvac/hvac_git.bb b/recipes-demo/hvac/hvac_git.bb new file mode 100644 index 000000000..5e36e2d41 --- /dev/null +++ b/recipes-demo/hvac/hvac_git.bb @@ -0,0 +1,22 @@ +SUMMARY = "HVAC for CES2017 AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating HVAC on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/hvac" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/hvac;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 libhomescreen \ + qttools-native \ + libqtappfw" + +RDEPENDS_${PN} = "agl-service-hvac libqtappfw" + +inherit qmake5 aglwgt diff --git a/recipes-demo/inputeventmanager/inputeventmanager_git.bb b/recipes-demo/inputeventmanager/inputeventmanager_git.bb new file mode 100644 index 000000000..16ee007f7 --- /dev/null +++ b/recipes-demo/inputeventmanager/inputeventmanager_git.bb @@ -0,0 +1,30 @@ +SUMMARY = "AGL InputEventManager Application" +DESCRIPTION = "InputEventManager" +HOMEPAGE = "http://docs.automotivelinux.org" +LICENSE = "Apache-2.0" +SECTION = "apps" +S = "${WORKDIR}/git/" + +inherit qmake5 systemd +DEPENDS = " qtbase " + +LIC_FILES_CHKSUM = "file://inputeventmanager/LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/inputeventmanager.git;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "b2f1646ac78cf61acd66c643b7638bd1b007d5a0" +# PV needs to be modified with SRCPV to work AUTOREV correctly +PV = "0.0+git${SRCPV}" + +PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" + +do_install() { + install -d ${D}/usr/AGL/${PN} + install -m 0755 ${B}/inputeventmanager/InputEventManager ${D}/usr/AGL/${PN}/ + + install -d ${D}${systemd_user_unitdir} + install -m 0644 ${S}/inputeventmanager/conf/InputEventManager.service ${D}${systemd_user_unitdir} +} + +FILES_${PN} += "/usr/AGL/${PN}/ ${systemd_user_unitdir}" +FILES_${PN}-dbg += "/usr/AGL/${PN}/.debug" + diff --git a/recipes-demo/launcher/launcher_git.bb b/recipes-demo/launcher/launcher_git.bb new file mode 100644 index 000000000..5b1de0134 --- /dev/null +++ b/recipes-demo/launcher/launcher_git.bb @@ -0,0 +1,28 @@ +SUMMARY = "AGL Launcher Application" +DESCRIPTION = "AGL Launcher Application build with recipe method" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/launcher" +SECTION = "apps" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +DEPENDS = "\ + qtbase \ + qtdeclarative \ + qtquickcontrols2 \ + qtwebsockets \ + qlibhomescreen \ + wayland-native \ + wayland \ + qtwayland \ + qtwayland-native \ +" + +inherit qmake5 systemd pkgconfig aglwgt + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/launcher;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git/" + +PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:" diff --git a/recipes-demo/mediaplayer/mediaplayer_git.bb b/recipes-demo/mediaplayer/mediaplayer_git.bb new file mode 100644 index 000000000..974b20275 --- /dev/null +++ b/recipes-demo/mediaplayer/mediaplayer_git.bb @@ -0,0 +1,24 @@ +SUMMARY = "Media Player for CES2017 AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating Media Player on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/mediaplayer" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/mediaplayer;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 \ + qtwebsockets \ + libqtappfw \ + libhomescreen \ +" + +inherit qmake5 aglwgt + +RDEPENDS_${PN} += "agl-service-mediaplayer libqtappfw" diff --git a/recipes-demo/messaging/messaging_git.bb b/recipes-demo/messaging/messaging_git.bb new file mode 100644 index 000000000..d2e3ff80d --- /dev/null +++ b/recipes-demo/messaging/messaging_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "Messaging application for AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating messaging on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/messaging" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/messaging;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 \ + libqtappfw \ + libhomescreen \ +" + +inherit qmake5 aglwgt + +RDEPENDS_${PN} += "agl-service-bluetooth-map libqtappfw" diff --git a/recipes-demo/mixer/mixer_git.bb b/recipes-demo/mixer/mixer_git.bb new file mode 100644 index 000000000..1e4a2717c --- /dev/null +++ b/recipes-demo/mixer/mixer_git.bb @@ -0,0 +1,28 @@ +SUMMARY = "Mixer for CES2017 AGL Demonstration" +DESCRIPTION = "AGL HMI application for control of PipeWire mixer elements" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/mixer" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/mixer;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 \ + qtwebsockets \ + libafb-helpers-qt \ +" + +RDEPENDS_${PN} += "agl-service-audiomixer" + +PROVIDES += "virtual/mixer" +RPROVIDES_${PN} += "virtual/mixer" + +inherit cmake_qt5 aglwgt + +OECMAKE_CXX_FLAGS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', '' , '-DQT_NO_DEBUG_OUTPUT', d)}" diff --git a/recipes-demo/navigation/navigation-demo_git.bb b/recipes-demo/navigation/navigation-demo_git.bb new file mode 100644 index 000000000..7f3fcdf10 --- /dev/null +++ b/recipes-demo/navigation/navigation-demo_git.bb @@ -0,0 +1,32 @@ +SUMMARY = "Navigation demo based on Qt examples" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/navigation" +SECTION = "apps" + +LICENSE = "BSD-3-Clause & CC0v1" +LIC_FILES_CHKSUM = "file://LICENSE;md5=b6bbd37d85cd2b68082aa7be27853da1 \ + file://LICENSE.for_car_png;md5=65d3616852dbf7b1a6d4b53b00626032 \ + " + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/navigation;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +RPROVIDES_${PN} = "virtual/navigation" + +DEPENDS += "qtquickcontrols2 \ + libhomescreen \ + qtvirtualkeyboard \ + qtlocation \ + " + +RDEPENDS_${PN} = " \ + agl-service-gps \ + agl-service-geoclue \ + agl-service-geofence \ + qtlocation \ + qtvirtualkeyboard \ + " + +inherit qmake5 aglwgt diff --git a/recipes-demo/navigation/ondemandnavi-config/naviconfig.ini b/recipes-demo/navigation/ondemandnavi-config/naviconfig.ini new file mode 100644 index 000000000..356c6ae61 --- /dev/null +++ b/recipes-demo/navigation/ondemandnavi-config/naviconfig.ini @@ -0,0 +1,9 @@ +{ + "mapAccessToken":"MAPBOX_ACCESS_TOKEN", + "speed":60, + "interval":100, + "latitude":36.1363, + "longitude":-115.151, + "mapStyleUrls":"mapbox://styles/v1/mapbox/streets-v11", + "enableOSM":true +} diff --git a/recipes-demo/navigation/ondemandnavi-config_1.0.bb b/recipes-demo/navigation/ondemandnavi-config_1.0.bb new file mode 100644 index 000000000..212971f26 --- /dev/null +++ b/recipes-demo/navigation/ondemandnavi-config_1.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "AGL Reference On Demand Navigation application config." +DESCRIPTION = "Config file for on-demand navigation app." +HOMEPAGE = "https://github.com/YoshitoMomiyama/aglqtnavigation.git" +SECTION = "apps" +LICENSE = "Proprietary" + +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" + +SRC_URI = "file://naviconfig.ini \ + " + +inherit allarch + +MAPBOX_ACCESS_TOKEN ?= "Please set mapbox access token" + +do_compile[noexec] = "1" + +do_install () { + install -D -m 644 ${WORKDIR}/naviconfig.ini ${D}${sysconfdir}/naviconfig.ini + sed -i -e 's/MAPBOX_ACCESS_TOKEN/${MAPBOX_ACCESS_TOKEN}/' ${D}${sysconfdir}/naviconfig.ini +} diff --git a/recipes-demo/navigation/ondemandnavi_git.bb b/recipes-demo/navigation/ondemandnavi_git.bb new file mode 100644 index 000000000..c06dcae22 --- /dev/null +++ b/recipes-demo/navigation/ondemandnavi_git.bb @@ -0,0 +1,33 @@ +SUMMARY = "AGL Reference On Demand Navigation application." +DESCRIPTION = "Demo AGL navigation application based on QtLocation widget." +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/ondemandnavi" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +DEPENDS += "qtquickcontrols2 \ + qlibhomescreen \ + qtlocation \ + libqtappfw \ +" + +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/ondemandnavi;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +S = "${WORKDIR}/git" + +inherit qmake5 aglwgt pkgconfig + +RDEPENDS_${PN} += "qtlocation \ + flite \ + libqtappfw \ + openjtalk \ + gstreamer1.0 \ + ondemandnavi-config \ +" + +RPROVIDES_${PN} = "virtual/navigation" + diff --git a/recipes-demo/navigation/poiapp-api-key_1.0.bb b/recipes-demo/navigation/poiapp-api-key_1.0.bb new file mode 100644 index 000000000..d353d7dd5 --- /dev/null +++ b/recipes-demo/navigation/poiapp-api-key_1.0.bb @@ -0,0 +1,21 @@ +SUMMARY = "AGL Reference POI application API key." +DESCRIPTION = "Preload the API key for the AGL POI application." +HOMEPAGE = "https://github.com/AGLExport/genivi-navi-yelp-client" +SECTION = "apps" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM="file://${COMMON_LICENSE_DIR}/Proprietary;md5=0557f9d92cf58f2ccdd50f62f8ac0b28" + +inherit allarch + +do_fetch[noexec] = "1" +do_unpack[noexec] = "1" +do_compile[noexec] = "1" + +POIAPP_CLIENT_ID ?= "" +POIAPP_API_KEY ?= "" + +do_install () { + install -d ${D}${sysconfdir} + echo "${POIAPP_CLIENT_ID}" > ${D}${sysconfdir}/poikey + echo "${POIAPP_API_KEY}" >> ${D}${sysconfdir}/poikey +} diff --git a/recipes-demo/navigation/poiapp/0001-add-display-permission.patch b/recipes-demo/navigation/poiapp/0001-add-display-permission.patch new file mode 100644 index 000000000..25a8fc313 --- /dev/null +++ b/recipes-demo/navigation/poiapp/0001-add-display-permission.patch @@ -0,0 +1,21 @@ +Add display permission + +Add display permission required to work with the running as non-root +change for applications. + +Upstream-Status: pending + +Signed-off-by: Scott Murray <scott.murray@konsulko.com> + +diff --git a/config.xml.in b/config.xml.in +index b8cfccd..bec206d 100755 +--- a/config.xml.in ++++ b/config.xml.in +@@ -13,6 +13,7 @@ + <feature name="urn:AGL:widget:required-permission"> + <param name="urn:AGL:permission::public:no-htdocs" value="required" /> + <param name="http://tizen.org/privilege/internal/dbus" value="required" /> ++ <param name="urn:AGL:permission::public:display" value="required" /> + </feature> + <license>GPL</license> + </widget> diff --git a/recipes-demo/navigation/poiapp_git.bb b/recipes-demo/navigation/poiapp_git.bb new file mode 100644 index 000000000..2942bf07c --- /dev/null +++ b/recipes-demo/navigation/poiapp_git.bb @@ -0,0 +1,21 @@ +SUMMARY = "AGL Reference POI application." +DESCRIPTION = "This application provides the function of destination search to AGL. It uses the API provided by AGL Reference Navigation. This application uses yelp WebAPI." +HOMEPAGE = "https://github.com/AGLExport/genivi-navi-yelp-client" +SECTION = "apps" + +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE;md5=4ee23c52855c222cba72583d301d2338" + +DEPENDS += "qtbase json-c \ + libhomescreen \ + libqtappfw \ + " + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/poi-yelp;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +S = "${WORKDIR}/git" + +inherit cmake_qt5 pkgconfig aglwgt + +RDEPENDS_${PN} = "qtbase libqtappfw" diff --git a/recipes-demo/navigation/tbtnavi_git.bb b/recipes-demo/navigation/tbtnavi_git.bb new file mode 100644 index 000000000..d2e8e633e --- /dev/null +++ b/recipes-demo/navigation/tbtnavi_git.bb @@ -0,0 +1,36 @@ +SUMMARY = "AGL Reference Navigation Cluster Streaming application" +DESCRIPTION = "Demo AGL turn by turn cluster navigation application based on QtLocation widget." +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/admin/repos/apps/tbtnavi" +SECTION = "apps" + +LICENSE = "Apache-2.0 & ISC & BSD-3-Clause & BSL-1.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \ + file://LICENSE.mapbox-cheap-ruler-cpp;md5=761263ee6bdc98e8697d9fbc897021ba \ + file://LICENSE.mapbox-geometry.hpp;md5=6e44f5d6aeec54f40fc84eebe3c6fc6c \ + file://LICENSE.mapbox-variant;md5=79558839a9db3e807e4ae6f8cd100c1c \ + file://include/mapbox/recursive_wrapper.hpp;beginline=4;endline=13;md5=cd3341aae76c0cf8345935abd20f0051 \ +" + +DEPENDS += "qtbase \ + qtquickcontrols2 \ + qlibhomescreen \ + qtlocation \ + libqtappfw \ + wayland-native \ + qtwayland-native \ +" + +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/tbtnavi;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +S = "${WORKDIR}/git" + +inherit qmake5 aglwgt pkgconfig + +RDEPENDS_${PN} += "qtlocation \ + ondemandnavi-config \ + agl-service-navigation \ + libqtappfw \ +" diff --git a/recipes-demo/onscreenapp/onscreenapp_git.bb b/recipes-demo/onscreenapp/onscreenapp_git.bb new file mode 100644 index 000000000..b0f63d162 --- /dev/null +++ b/recipes-demo/onscreenapp/onscreenapp_git.bb @@ -0,0 +1,18 @@ +SUMMARY = "onscreenapp for displaying onscreen" +DESCRIPTION = "AGL HMI Application for displaying onscreen" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/onscreenapp" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/onscreenapp;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 libhomescreen qlibhomescreen" + +inherit qmake5 aglwgt diff --git a/recipes-demo/phone/phone_git.bb b/recipes-demo/phone/phone_git.bb new file mode 100644 index 000000000..a8781852d --- /dev/null +++ b/recipes-demo/phone/phone_git.bb @@ -0,0 +1,24 @@ +SUMMARY = "Phone for CES2017 AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating phone on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/phone" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/phone;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 \ + libqtappfw \ + libhomescreen \ + gstreamer1.0 \ +" + +inherit qmake5 aglwgt + +RDEPENDS_${PN} += "agl-service-telephony agl-service-bluetooth-pbap libqtappfw" diff --git a/recipes-demo/qtquickcontrols2-agl-style/qtquickcontrols2-agl-style_git.bb b/recipes-demo/qtquickcontrols2-agl-style/qtquickcontrols2-agl-style_git.bb new file mode 100644 index 000000000..e9e8b2b37 --- /dev/null +++ b/recipes-demo/qtquickcontrols2-agl-style/qtquickcontrols2-agl-style_git.bb @@ -0,0 +1,28 @@ +SUMMARY = "AGL QtQuickControls2 style customizations" +HOMEPAGE = "https://git.automotivelinux.org/gerrit/#/admin/projects/src/qtquickcontrols2-agl-style" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=815ca599c9df247a0c7f619bab123dad" + +DEPENDS = "qtquickcontrols2" + +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qtquickcontrols2-agl-style;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "c02692a3c20d9aed1192137a67d5be882c60e71f" + +S = "${WORKDIR}/git/" + +inherit qmake5 + +FILES_${PN} += "${OE_QMAKE_PATH_QML}/QtQuick/Controls.2/AGL/*" + +RDEPENDS_${PN} += " \ + qtquickcontrols-qmlplugins \ + qtquickcontrols2-qmlplugins \ + qtsvg-plugins \ +" + +do_install_append_class-target() { + install -d ${D}/${sysconfdir}/afm/unit.env.d + echo "QT_QUICK_CONTROLS_STYLE=AGL" > ${D}${sysconfdir}/afm/unit.env.d/qtquickcontrols2-style +} diff --git a/recipes-demo/qtquickcontrols2-agl/qtquickcontrols2-agl_git.bb b/recipes-demo/qtquickcontrols2-agl/qtquickcontrols2-agl_git.bb new file mode 100644 index 000000000..0a432db0e --- /dev/null +++ b/recipes-demo/qtquickcontrols2-agl/qtquickcontrols2-agl_git.bb @@ -0,0 +1,23 @@ +SUMMARY = "AGL demo custom QtQuickControls2 widgets" +HOMEPAGE = "https://git.automotivelinux.org/gerrit/#/admin/projects/src/qtquickcontrols2-agl" +LICENSE = "MPL-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=815ca599c9df247a0c7f619bab123dad" + +DEPENDS = "qtquickcontrols2" + +PV = "1.0+git${SRCPV}" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qtquickcontrols2-agl;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "22b538aae1f69de5273f1e42a854cfab23a32b60" + +S = "${WORKDIR}/git/" + +inherit qmake5 + +FILES_${PN} += "${OE_QMAKE_PATH_QML}/AGL/Demo/Controls/*" + +RDEPENDS_${PN} += " \ + qtquickcontrols-qmlplugins \ + qtquickcontrols2-qmlplugins \ + qtsvg-plugins \ +" diff --git a/recipes-demo/radio/files/presets-ALS.conf b/recipes-demo/radio/files/presets-ALS.conf new file mode 100644 index 000000000..ff5592272 --- /dev/null +++ b/recipes-demo/radio/files/presets-ALS.conf @@ -0,0 +1,12 @@ +[fmPresets] +1\frequency=76100000 +1\title=Inter FM +2\frequency=77100000 +2\title=The Open University of Japan +3\frequency=80000000 +3\title=TOKYO FM +4\frequency=81300000 +4\title=J-WAVE +5\frequency=82500000 +5\title=NHK FM Tokyo +size=5 diff --git a/recipes-demo/radio/files/presets-CES.conf b/recipes-demo/radio/files/presets-CES.conf new file mode 100644 index 000000000..83caeffe1 --- /dev/null +++ b/recipes-demo/radio/files/presets-CES.conf @@ -0,0 +1,14 @@ +[fmPresets] +1\frequency=93100000 +1\title=93.1 The Mountain +2\frequency=94100000 +2\title=Mix 94.1 +3\frequency=96300000 +3\title=96.3 KKLZ +4\frequency=102700000 +4\title=102.7 THE COYOTE +5\frequency=88900000 +5\title=News 88.9 +6\frequency=91500000 +6\title=KUNV +size=6 diff --git a/recipes-demo/radio/files/presets-FOSDEM.conf b/recipes-demo/radio/files/presets-FOSDEM.conf new file mode 100644 index 000000000..b88364f72 --- /dev/null +++ b/recipes-demo/radio/files/presets-FOSDEM.conf @@ -0,0 +1,14 @@ +[fmPresets] +1\frequency=92100000 +1\title=92.1 Radio Campus +2\frequency=92500000 +2\title=92.5 RTBF La Première +3\frequency=93200000 +3\title=93.2 RTBF Classic 21 +4\frequency=98800000 +4\title=98.8 FM Brussel +5\frequency=103700000 +5\title=103.7 NRJ +6\frequency=104000000 +6\title=104.0 Bel RTL +size=6 diff --git a/recipes-demo/radio/radio_git.bb b/recipes-demo/radio/radio_git.bb new file mode 100644 index 000000000..7b0934faa --- /dev/null +++ b/recipes-demo/radio/radio_git.bb @@ -0,0 +1,37 @@ +SUMMARY = "Radio for CES2017 AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating Radio on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/radio" +SECTION = "apps" + +LICENSE = "Apache-2.0 & GPLv2+" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/radio;protocol=https;branch=${AGL_BRANCH} \ + file://presets-ALS.conf \ + file://presets-CES.conf \ + file://presets-FOSDEM.conf \ +" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS = "qtquickcontrols2 rtl-sdr" +DEPENDS += "libhomescreen libqtappfw" + +inherit qmake5 aglwgt + +# ALS, CES, FOSDEM available +AGL_RADIO_PRESETS_LOCALE ?= "CES" +do_install_append() { + install -d ${D}${sysconfdir}/xdg/AGL + install -m 0644 ${WORKDIR}/presets-CES.conf ${D}${sysconfdir}/xdg/AGL/radio-presets-CES.conf + install -m 0644 ${WORKDIR}/presets-ALS.conf ${D}${sysconfdir}/xdg/AGL/radio-presets-ALS.conf + install -m 0644 ${WORKDIR}/presets-FOSDEM.conf ${D}${sysconfdir}/xdg/AGL/radio-presets-FOSDEM.conf + install -m 0644 ${WORKDIR}/presets-${AGL_RADIO_PRESETS_LOCALE}.conf ${D}${sysconfdir}/xdg/AGL/radio-presets.conf +} + +FILES_${PN} += "${sysconfdir}/xdg/AGL/*" + +RDEPENDS_${PN} += "agl-service-radio libqtappfw" diff --git a/recipes-demo/settings/settings_git.bb b/recipes-demo/settings/settings_git.bb new file mode 100644 index 000000000..776c764ca --- /dev/null +++ b/recipes-demo/settings/settings_git.bb @@ -0,0 +1,27 @@ +SUMMARY = "Settings for CES2017 AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating Settings on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/settings" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/settings;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "libqtappfw qtquickcontrols2 qt-qrcode" +DEPENDS += "libhomescreen qtvirtualkeyboard" + +# runtime dependencies +RDEPENDS_${PN} += " \ + qt-qrcode \ + agl-service-bluetooth \ + agl-service-network \ + libqtappfw \ +" + +inherit qmake5 aglwgt diff --git a/recipes-demo/simple-can-simulator/files/simple_can_simulator.py b/recipes-demo/simple-can-simulator/files/simple_can_simulator.py new file mode 100755 index 000000000..83f88706e --- /dev/null +++ b/recipes-demo/simple-can-simulator/files/simple_can_simulator.py @@ -0,0 +1,381 @@ +#!/usr/bin/env python3 +# Copyright (c) 2016 Alex Bencz +# Copyright (c) 2019 Konsulko Group, smurray@konsulko.com +# Copyright (c) 2020 The Linux Foundation, jsmoeller@linuxfoundation.org +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# +# CANSocket from: +# +# https://github.com/abencz/python_socketcan/blob/master/python_socketcan_example.py +# + +import sys +import socket +import argparse +import struct +import errno +import threading +import time + +class CANSocket(object): + FORMAT = "<IB3x8s" + FD_FORMAT = "<IB3x64s" + + def __init__(self, interface=None): + self.sock = socket.socket(socket.PF_CAN, socket.SOCK_RAW, socket.CAN_RAW) + if interface is not None: + self.bind(interface) + + def bind(self, interface): + self.sock.bind((interface,)) + self.sock.setsockopt(socket.SOL_CAN_RAW, socket.CAN_RAW_FD_FRAMES, 1) + + def send(self, can_id, data, flags=0): + can_id = can_id | flags + can_pkt = struct.pack(self.FORMAT, can_id, len(data), data) + self.sock.send(can_pkt) + + def sendfd(self, can_id, data, flags=0): + can_id = can_id | flags + datafd = data.ljust(64, b'\x00'); + can_pkt = struct.pack(self.FD_FORMAT, can_id, len(datafd), datafd) + self.sock.send(can_pkt) + + def recv(self, flags=0): + can_pkt = self.sock.recv(72) + + if len(can_pkt) == 16: + can_id, length, data = struct.unpack(self.FORMAT, can_pkt) + else: + can_id, length, data = struct.unpack(self.FD_FORMAT, can_pkt) + + can_id &= socket.CAN_EFF_MASK + return (can_id, data[:length]) + +class VehicleSimulator(object): + DEFAULT_IDLE_RPM = 600 + + def __init__(self): + self.CRUISEMODE = False + self.CRUISEACTIVE = False + self.CRUISESPEED = 0 + self.CRUISERPM = 0 + self.freq = 10 + self.vehicle_speed = 0 + self.engine_speed = self.DEFAULT_IDLE_RPM + self.thread = threading.Thread(target=self.run, daemon=True) + self.lock = threading.Lock() + + def reset(self): + with self.lock: + self.vehicle_speed = 0 + self.engine_speed = self.DEFAULT_IDLE_RPM + + def start(self): + self.thread.start() + + def get_engine_speed(self): + with self.lock: + return int(self.engine_speed) + + def get_vehicle_speed(self): + with self.lock: + return int(self.vehicle_speed) + + def accelerate(self, target_speed, target_rpm, duration, bycruise = False): + if target_speed <= self.vehicle_speed: + return + v = (target_speed - self.vehicle_speed) / (duration * self.freq) + r = (target_rpm - self.engine_speed) / (duration * self.freq) + while self.vehicle_speed < target_speed and (not self.CRUISEACTIVE or bycruise): + with self.lock: + self.vehicle_speed += v; + self.engine_speed += r; + time.sleep(1 / self.freq) + + def brake(self, target_speed, target_rpm, duration, bycruise = False): + if target_speed >= self.vehicle_speed: + return + v = (self.vehicle_speed - target_speed) / (duration * self.freq) + r = (self.engine_speed - target_rpm) / (duration * self.freq) + while self.vehicle_speed > target_speed and (not self.CRUISEACTIVE or bycruise): + with self.lock: + self.vehicle_speed -= v; + self.engine_speed -= r; + time.sleep(1 / self.freq) + + def increase(self, bycruise = True): + if self.CRUISEACTIVE: + target_speed = self.vehicle_speed + 5 + target_rpm = self.engine_speed * 1.1 + self.accelerate(target_speed, target_rpm, 2, bycruise) + + def decrease(self, bycruise = True): + if self.CRUISEACTIVE: + target_speed = self.vehicle_speed - 5 + target_rpm = self.engine_speed * 0.9 + self.brake(target_speed, target_rpm, 2, bycruise) + + def resume(self, bycruise = True): + target_speed = self.CRUISESPEED + target_rpm = self.CRUISERPM + current_speed = self.get_vehicle_speed() + if target_speed > current_speed: + self.accelerate(target_speed, target_rpm, 2, bycruise) + else: + self.brake(target_speed, target_rpm, 2, bycruise) + + def run(self): + while True: + if not self.CRUISEACTIVE: + self.accelerate(80, 3000, 5) + self.accelerate(104, 4000, 3) + self.brake(80, 3000, 3) + self.accelerate(104, 4000, 6) + self.brake(40, 2000, 4) + self.accelerate(90, 3000, 5) + self.brake(1, 650, 5) + if not self.CRUISEACTIVE: + self.reset() + time.sleep(5) + +class DiagnosticMessageHandler(object): + def __init__(self, can_sock, simulator, verbose=False): + self.can_sock = can_sock + self.simulator = simulator + self.verbose = verbose + self.thread = threading.Thread(target=self.run, daemon=True) + + def start(self): + self.thread.start() + + def run(self): + while True: + can_id, data = self.can_sock.recv() + #print('%03X#%s' % (can_id, ''.join(format(x, '02X') for x in data))) + if can_id == 0x7df: + # OBD-II request + if data[1] == 0x01 and data[2] == 0x0C: + # Engine speed + speed = self.simulator.get_engine_speed() + #print('engine speed = %d' % speed) + if speed > 16383.75: + speed = 16383.75 + reply = [ 0x04, 0x41, 0x0C ] + reply.append(4 * speed // 256) + reply.append(4 * speed % 256) + # pad remaining bytes to make 8 + reply.append(0) + reply.append(0) + reply.append(0) + self.can_sock.send(0x7e8, bytes(reply), 0) + elif data[1] == 0x01 and data[2] == 0x0D: + # Vehicle speed + speed = int(self.simulator.get_vehicle_speed()) % 256 + #print('vehicle speed = %d' % speed) + reply = [ 0x03, 0x41, 0x0D ] + reply.append(speed) + # pad remaining bytes to make 8 + reply.append(0) + reply.append(0) + reply.append(0) + reply.append(0) + self.can_sock.send(0x7e8, bytes(reply), 0) + +class SteeringWheelMessageHandler(object): + def __init__(self, can_sock, simulator, verbose=False): + self.can_sock = can_sock + self.simulator = simulator + self.verbose = verbose + self.thread = threading.Thread(target=self.run, daemon=True) + self.buttonpressed = False + self.buttonenabled = False + self.buttoncancel = False + self.buttondec = False + self.buttoninc = False + self.cruisemode = False + self.cruiseactive = False + + def start(self): + self.thread.start() + + def run(self): + while True: + can_id, data = self.can_sock.recv() + #print('%03X#%s' % (can_id, ''.join(format(x, '02X') for x in data))) + if can_id == 0x21: + #print('%03X#%s' % (can_id, ''.join(format(x, '02X') for x in data))) + if data: + #if data[6]: + #print('data6: %02X' % (data[6])) + if data[6] == 0x80 and not self.buttonpressed: + # we do skip any further lin messages + # two buttons at the same time won't work + # (aka unlikely w/o twisting fingers) + self.buttonpressed = True + self.buttonenabled = True + if data[6] == 0x08 and not self.buttonpressed: + self.buttonpressed = True + self.buttoncancel = True + if data[6] == 0x10 and not self.buttonpressed: + self.buttonpressed = True + self.buttondec = True + if data[6] == 0x40 and not self.buttonpressed: + self.buttonpressed = True + self.buttoninc = True + if data[6] == 0x00 and self.buttonpressed: + #now handle it as the button was released + if self.buttonenabled: + self.buttonenabled = False + self.cruisemode = not self.cruisemode + #print("set cruisemode to %s" % self.cruisemode) + self.simulator.CRUISEMODE = self.cruisemode + # disable/reset all if going off + if not self.cruisemode: + self.cruiseactive = False + self.simulator.CRUISEACTIVE = self.cruiseactive + self.simulator.CRUISESPEED = 0 + self.simulator.CRUISERPM = 0 + #print("set cruiseactive to %s" % self.cruiseactive) + if self.buttoncancel: + self.buttoncancel = False + self.simulator.CRUISESPEED = self.simulator.get_vehicle_speed() + self.simulator.CRUISERPM = self.simulator.get_engine_speed() + #print("set cruisespeed to %d" % self.simulator.CRUISESPEED ) + #print("set cruiserpm to %d" % self.simulator.CRUISERPM ) + self.cruiseactive = False + #print("set cruiseactive to %s" % self.cruiseactive ) + self.simulator.CRUISEACTIVE = self.cruiseactive + if self.buttondec: + self.buttondec = False + if self.cruiseactive: + #print("decrease") + self.simulator.decrease() + else: + # set speed + #print("set speed") + self.simulator.CRUISESPEED = self.simulator.get_vehicle_speed() + self.simulator.CRUISERPM = self.simulator.get_engine_speed() + #print("set cruisespeed to %d" % self.simulator.CRUISESPEED ) + #print("set cruiserpm to %d" % self.simulator.CRUISERPM ) + self.cruiseactive = not self.cruiseactive + #print("set cruiseactive to %s" % self.cruiseactive ) + self.simulator.CRUISEACTIVE = self.cruiseactive + if self.buttoninc: + self.buttoninc = False + if self.cruiseactive: + #print("increase") + self.simulator.increase() + else: + if self.simulator.CRUISESPEED > 0: + # resume + self.cruiseactive = not self.cruiseactive + self.simulator.CRUISEACTIVE = self.cruiseactive + #print("set cruiseactive to %s" % self.cruiseactive ) + #print("resume") + self.simulator.resume() + self.buttonpressed = False + + +class StatusMessageSender(object): + def __init__(self, can_sock, simulator, verbose=False): + self.can_sock = can_sock + self.simulator = simulator + self.verbose = verbose + self.thread = threading.Thread(target=self.run, daemon=True) + + def start(self): + self.thread.start() + + def run(self): + while True: + # Engine speed + speed = self.simulator.get_engine_speed() + if self.verbose: + print('engine speed = %d' % speed) + if speed > 16383.75: + speed = 16383.75 + # Message is 1 byte unknown, 1 byte fuel level, 2 bytes engine speed (4x), fuel low @ bit 55 + msg = [ 0, 0 ] + speed *= 4 + msg.append(speed // 256) + msg.append(speed % 256) + # pad remaining bytes to make 8 + msg.append(0) + msg.append(0) + msg.append(0) + msg.append(0) + self.can_sock.send(0x3d9, bytes(msg), 0) + + # Vehicle speed + speed = int(self.simulator.get_vehicle_speed()) % 256 + if self.verbose: + print('vehicle speed = %d' % speed) + # Message is 15 bits speed (64x), left aligned + msg = [ ] + # Note: extra 2x to yield required left-alignment + speed *= 128 + msg.append(speed // 256) + msg.append(speed % 256) + # pad remaining bytes to make 8 + msg.append(0) + msg.append(0) + msg.append(0) + msg.append(0) + msg.append(0) + msg.append(0) + self.can_sock.send(0x3e9, bytes(msg), 0) + + # Sleep 100 ms + time.sleep(0.1) + +def main(): + parser = argparse.ArgumentParser(description='Simple CAN vehicle simulator.') + parser.add_argument('interface', type=str, help='interface name (e.g. vcan0)') + parser.add_argument('-v', '--verbose', help='increase output verbosity', action='store_true') + args = parser.parse_args() + + try: + can_sock = CANSocket(args.interface) + diag_can_sock = CANSocket(args.interface) + steeringwheel_can_sock = CANSocket(args.interface) + except OSError as e: + sys.stderr.write('Could not listen on interface {0}\n'.format(args.interface)) + sys.exit(e.errno) + + print('Using {0}'.format(args.interface)) + sim = VehicleSimulator() + status_sender = StatusMessageSender(can_sock, sim, args.verbose) + diag_handler = DiagnosticMessageHandler(diag_can_sock, sim, args.verbose) + steeringwheel_handler = SteeringWheelMessageHandler(steeringwheel_can_sock, sim, args.verbose) + sim.start() + status_sender.start() + diag_handler.start() + steeringwheel_handler.start() + try: + while True: + time.sleep(60) + except (KeyboardInterrupt, SystemExit): + #sim.stop() + sys.exit(0) + +if __name__ == '__main__': + main() diff --git a/recipes-demo/simple-can-simulator/simple-can-simulator.bb b/recipes-demo/simple-can-simulator/simple-can-simulator.bb new file mode 100644 index 000000000..bca448763 --- /dev/null +++ b/recipes-demo/simple-can-simulator/simple-can-simulator.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Simulator that generates CAN messages of a driving car" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" + +SRC_URI = "file://simple_can_simulator.py" + +do_configure[noexec] = "1" +do_compile[noexec] = "1" + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/simple_can_simulator.py ${D}${sbindir} +} + +RDEPENDS_${PN} = "python3" diff --git a/recipes-demo/taskmanager/taskmanager_git.bb b/recipes-demo/taskmanager/taskmanager_git.bb new file mode 100644 index 000000000..68965eb55 --- /dev/null +++ b/recipes-demo/taskmanager/taskmanager_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Task Manager for AGL Demonstration" +DESCRIPTION = "AGL HMI Application for demonstrating task visualisation and management on AGL Distribution" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/taskmanager" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/taskmanager;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "qtquickcontrols2 \ + qtwebsockets \ + qtcharts \ + libqtappfw \ + libhomescreen \ +" + +inherit qmake5 aglwgt + +RDEPENDS_${PN} += "agl-service-taskmanager libqtappfw" diff --git a/recipes-demo/telematics-recorder/telematics-recorder_git.bb b/recipes-demo/telematics-recorder/telematics-recorder_git.bb new file mode 100644 index 000000000..1636cb000 --- /dev/null +++ b/recipes-demo/telematics-recorder/telematics-recorder_git.bb @@ -0,0 +1,25 @@ +SUMMARY = "Telematics Recorder AGL Demonstration" +DESCRIPTION = "AGL Application for demonstrating telematics recorder functionality" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-telematics-demo-recorder" +SECTION = "apps" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" + +SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-telematics-demo-recorder;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AUTOREV}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS = "glib-2.0 mosquitto" + +inherit cmake aglwgt + +RDEPENDS_${PN} += " \ + agl-service-can-low-level \ + agl-service-gps \ + agl-service-network \ + libmosquitto1 \ +" diff --git a/recipes-demo/waltham-receiver/waltham-receiver_git.bb b/recipes-demo/waltham-receiver/waltham-receiver_git.bb new file mode 100644 index 000000000..d793b0669 --- /dev/null +++ b/recipes-demo/waltham-receiver/waltham-receiver_git.bb @@ -0,0 +1,26 @@ +SUMMARY = "Waltham-receiver" +DESCRIPTION = "Waltham-receiver is a demo application for testing out Waltham" +HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/apps/waltham-receiver.git" +SECTION = "apps" + +LICENSE = "Apache-2.0 & MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=374fee6a7817f1e1a5a7bfb7b7989553" + +SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/waltham-receiver.git;protocol=https;branch=${AGL_BRANCH}" +SRCREV = "${AGL_APP_REVISION}" + +PV = "1.0+git${SRCPV}" +S = "${WORKDIR}/git" + +# build-time dependencies +DEPENDS += "waltham wayland wayland-native \ + gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" + +inherit cmake pkgconfig aglwgt + +RDEPENDS_${PN} += " \ + gstreamer1.0-plugins-base \ + gstreamer1.0-plugins-good \ + gstreamer1.0-plugins-bad \ + waltham \ +" |