Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make SDK which includes Qt5. #11

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions meta-webos/classes/webos_image.bbclass
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,6 @@ ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.contains("IMAGE_FEATURES", "read-only
inherit core-image
inherit webos_machine_impl_dep
inherit webos_filesystem_paths
QTSDKCLASS ?= '${@bb.utils.contains("SDK_OS", "linux", "populate_sdk_qt5", "", d)}'
inherit ${QTSDKCLASS}
do_rootfs[depends] += "libpbnjson-native:do_populate_sysroot"
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ PNBLACKLIST[qt5-creator] ?= "depends on blacklisted qttools"
PNBLACKLIST[qwt-qt5] ?= "depends on blacklisted qttools"
PNBLACKLIST[qt3d] ?= "license of current version does not allow redistribution"
PNBLACKLIST[qtlocation] ?= "has build dependency on qt3d"
PNBLACKLIST[packagegroup-qt5-toolchain-target] ?= "rdepends on headers from blacklisted qtwebkit, qttools, qt3d, qtlocation"
PNBLACKLIST[qt5-creator] ?= "rdepends on blacklisted qttools, packagegroup-qt5-toolchain-target, gcc-symlinks"
PNBLACKLIST[qtscript] ?= "unused in webOS world"
# https://anaconda.lgsvl.com/jenkins/job/webos-wearable-jansa-jethro-test-dependencies-qemux86/85/artifact/BUILD-ARTIFACTS/qemux86/2_max/failed/libconnman-qt5.log
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright (C) 2014 O.S. Systems Software LTDA.

SUMMARY = "Host packages for the Qt5 standalone SDK or external toolchain"
LICENSE = "MIT"

inherit nativesdk packagegroup

PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"

RDEPENDS_${PN} += " \
nativesdk-packagegroup-sdk-host \
nativesdk-qttools-tools \
nativesdk-qtbase-tools \
nativesdk-perl-modules \
nativesdk-qtwayland \
nativesdk-wayland-dev \
"
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# Copyright (C) 2014 O.S. Systems Software LTDA.

DESCRIPTION = "Target packages for Qt5 SDK"
LICENSE = "MIT"

inherit packagegroup

PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"

# Requires Ruby to work
USE_RUBY = " \
qttranslations-qtquick1 \
"

# Requires Wayland to work
USE_WAYLAND = " \
qtwayland-dev \
qtwayland-mkspecs \
qtwayland-plugins \
qtwayland-tools \
"

# Requires X11 to work
USE_X11 = " \
qtx11extras-dev \
qtx11extras-mkspecs \
"

RDEPENDS_${PN} += " \
packagegroup-core-standalone-sdk-target \
libsqlite3-dev \
qtbase-dev \
qtbase-fonts \
qtbase-mkspecs \
qtbase-plugins \
qtbase-staticdev \
qttranslations-qt \
qttranslations-qtbase \
qttranslations-qtconfig \
qttranslations-qthelp \
qttranslations-qtconnectivity \
qtdeclarative-dev \
qtdeclarative-mkspecs \
qtdeclarative-plugins \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtdeclarative-qmlplugins', '', d)} \
qttranslations-qmlviewer \
qttranslations-qtdeclarative \
qtenginio-dev \
qtenginio-mkspecs \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtenginio-qmlplugins', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtgraphicaleffects-qmlplugins', '', d)} \
qtimageformats-dev \
qtimageformats-plugins \
qttranslations-qtlocation \
qtmultimedia-dev \
qtmultimedia-mkspecs \
qtmultimedia-plugins \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtmultimedia-qmlplugins', '', d)} \
qttranslations-qtmultimedia \
qttranslations-qtscript \
qtsensors-dev \
qtsensors-mkspecs \
qtsensors-plugins \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtsensors-qmlplugins', '', d)} \
qtserialport-dev \
qtserialport-mkspecs \
qtsvg-dev \
qtsvg-mkspecs \
qtsvg-plugins \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '${USE_WAYLAND}', '', d)} \
${USE_RUBY} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${USE_X11}', '', d)} \
qtwebsockets-dev \
qtwebsockets-mkspecs \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebsockets-qmlplugins', '', d)} \
qttranslations-qtwebsockets \
qtwebchannel-dev \
qtwebchannel-mkspecs \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'qtwebchannel-qmlplugins', '', d)} \
qtxmlpatterns-dev \
qtxmlpatterns-mkspecs \
qttranslations-qtxmlpatterns \
"

RRECOMMENDS_${PN} += " \
qtquickcontrols-qmlplugins \
"
32 changes: 32 additions & 0 deletions meta-webos/recipes-qt/qt5/nativesdk-qtbase_git.bbappend
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright (c) 2018 LG Electronics, Inc.

EXTENDPRAUTO_append = "webos2"

fakeroot do_generate_qt_environment_file() {
mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d/
script=${D}${SDKPATHNATIVE}/environment-setup.d/qt5.sh

echo 'export PATH=${OE_QMAKE_PATH_HOST_BINS}:$PATH' > $script
echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script
echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script
echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script
echo 'export OE_QMAKE_CC=$CC' >> $script
echo 'export OE_QMAKE_CXX=$CXX' >> $script
echo 'export OE_QMAKE_LINK=$CXX' >> $script
echo 'export OE_QMAKE_AR=$AR' >> $script
echo 'export QT_CONF_PATH=${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script
echo 'export OE_QMAKE_LIBDIR_QT=`qmake -query QT_INSTALL_LIBS`' >> $script
echo 'export OE_QMAKE_INCDIR_QT=`qmake -query QT_INSTALL_HEADERS`' >> $script
echo 'export OE_QMAKE_MOC=${OE_QMAKE_PATH_HOST_BINS}/moc' >> $script
echo 'export OE_QMAKE_UIC=${OE_QMAKE_PATH_HOST_BINS}/uic' >> $script
echo 'export OE_QMAKE_RCC=${OE_QMAKE_PATH_HOST_BINS}/rcc' >> $script
echo 'export OE_QMAKE_QDBUSCPP2XML=${OE_QMAKE_PATH_HOST_BINS}/qdbuscpp2xml' >> $script
echo 'export OE_QMAKE_QDBUSXML2CPP=${OE_QMAKE_PATH_HOST_BINS}/qdbusxml2cpp' >> $script
echo 'export OE_QMAKE_QT_CONFIG=`qmake -query QT_INSTALL_LIBS`${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
echo 'export OE_QMAKE_PATH_HOST_BINS=${OE_QMAKE_PATH_HOST_BINS}' >> $script
echo 'export QMAKESPEC=`qmake -query QT_INSTALL_LIBS`${QT_DIR_NAME}/mkspecs/linux-oe-g++' >> $script
echo "export OE_QMAKE_WAYLAND_SCANNER=${OE_QMAKE_PATH_HOST_BINS}/wayland-scanner" >> $script

# Use relocable sysroot
sed -i -e 's:${SDKPATHNATIVE}:$OECORE_NATIVE_SYSROOT:g' $script
}
30 changes: 30 additions & 0 deletions meta-webos/recipes-qt/qt5/nativesdk-qtwayland_git.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
require ${TOPDIR}/meta-qt5/recipes-qt/qt5/nativesdk-qt5.inc
require ${TOPDIR}/meta-qt5/recipes-qt/qt5/qt5-git.inc

# There are no LGPLv3-only licensed files in this component.
LICENSE = "BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)"
LIC_FILES_CHKSUM = " \
file://LICENSE.LGPLv21;md5=4bfd28363f541b10d9f024181b8df516 \
file://LICENSE.LGPLv3;md5=e0459b45c5c4840b353141a8bbed91f0 \
file://LICENSE.GPLv3;md5=88e2b9117e6be406b5ed6ee4ca99a705 \
file://LGPL_EXCEPTION.txt;md5=9625233da42f9e0ce9d63651a9d97654 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
"

DEPENDS = "nativesdk-qtbase nativesdk-wayland"

# Patches from https://github.com/meta-qt5/qtwayland/commits/b5.6-native
# 5.6.meta-qt5-native.1
SRC_URI += " \
file://0001-Install-the-qtwaylandscanner-tool-to-the-native-side.patch \
"

do_configure() {
${OE_QMAKE_QMAKE} ${OE_QMAKE_DEBUG_OUTPUT} -r ${S}/src/qtwaylandscanner
}

do_install() {
oe_runmake install INSTALL_ROOT=${D}
}

SRCREV = "70575643cfece4f0aca4b40e77ac5d7c0e8042a2"
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
From 07ec1f1728be3dff2f93f939065b7fb58f1df434 Mon Sep 17 00:00:00 2001
From: Simon Busch <morphis@gravedo.de>
Date: Fri, 19 Jul 2013 13:35:14 +0000
Subject: [PATCH] Install the qtwaylandscanner tool to the native side

Upstream-Status: Inappropiate [configuration]

Signed-off-by: Simon Busch <morphis@gravedo.de>
---
src/qtwaylandscanner/qtwaylandscanner.pro | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/qtwaylandscanner/qtwaylandscanner.pro b/src/qtwaylandscanner/qtwaylandscanner.pro
index ac2d07b..7a46a24 100644
--- a/src/qtwaylandscanner/qtwaylandscanner.pro
+++ b/src/qtwaylandscanner/qtwaylandscanner.pro
@@ -1,6 +1,10 @@
option(host_build)

-SOURCES += qtwaylandscanner.cpp
+TARGET = qtwaylandscanner$$qtPlatformTargetSuffix()
+CONFIG += console warn_off
+QT = core

-load(qt_tool)
+SOURCES += qtwaylandscanner.cpp

+target.path = $$[QT_HOST_BINS]
+INSTALLS += target