Add 'meta-qt5/' from commit '5cd79448e4b5a730922c0c63161a5b2ee5f0b344'

git-subtree-dir: meta-qt5
git-subtree-mainline: 97ae37a446
git-subtree-split: 5cd79448e4
This commit is contained in:
Holger Hans Peter Freyther 2014-07-30 17:26:11 +02:00
commit 1772239406
135 changed files with 5008 additions and 0 deletions

17
meta-qt5/COPYING.MIT Normal file
View File

@ -0,0 +1,17 @@
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.

32
meta-qt5/README Normal file
View File

@ -0,0 +1,32 @@
This layer depends on:
URI: git://github.com/openembedded/oe-core.git
branch: master
revision: HEAD
URI: git://github.com/openembedded/meta-oe.git
layers: meta-ruby
branch: master
revision: HEAD
When building stuff like qtdeclarative, qtquick, qtwebkit, make sure that
you have required PACKAGECONFIG options enabled in qtbase build, see qtbase.inc
for detail.
Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-qt5]' in the subject'
When sending single patches, please using something like:
'git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix=meta-qt5][PATCH'
You are encouraged to fork the mirror on github[1] to share your
patches. This is preferred for patch sets consisting of more than one
patch. Other services like gitorious, repo.or.cz or self hosted setups
are of course accepted as well, 'git fetch <remote>' works the same on
all of them. We recommend github because it is free, easy to use, has
been proven to be reliable and has a really good web GUI.
1. https://github.com/meta-qt5/meta-qt5/
Main layer maintainers:
Martin 'JaMa' Jansa <martin.jansa@gmail.com>
Otavio Salvador <otavio@ossystems.com.br>

View File

@ -0,0 +1,33 @@
inherit cmake
inherit qmake5_paths
EXTRA_OECMAKE += " \
-DOE_QMAKE_PATH_PREFIX=${OE_QMAKE_PATH_PREFIX} \
-DOE_QMAKE_PATH_HEADERS=${OE_QMAKE_PATH_HEADERS} \
-DOE_QMAKE_PATH_LIBS=${OE_QMAKE_PATH_LIBS} \
-DOE_QMAKE_PATH_ARCHDATA=${OE_QMAKE_PATH_ARCHDATA} \
-DOE_QMAKE_PATH_DATA=${OE_QMAKE_PATH_DATA} \
-DOE_QMAKE_PATH_BINS=${OE_QMAKE_PATH_BINS} \
-DOE_QMAKE_PATH_LIBEXECS=${OE_QMAKE_PATH_LIBEXECS} \
-DOE_QMAKE_PATH_PLUGINS=${OE_QMAKE_PATH_PLUGINS} \
-DOE_QMAKE_PATH_IMPORTS=${OE_QMAKE_PATH_IMPORTS} \
-DOE_QMAKE_PATH_QML=${OE_QMAKE_PATH_QML} \
-DOE_QMAKE_PATH_TRANSLATIONS=${OE_QMAKE_PATH_TRANSLATIONS} \
-DOE_QMAKE_PATH_DOCS=${OE_QMAKE_PATH_DOCS} \
-DOE_QMAKE_PATH_SETTINGS=${OE_QMAKE_PATH_SETTINGS} \
-DOE_QMAKE_PATH_EXAMPLES=${OE_QMAKE_PATH_EXAMPLES} \
-DOE_QMAKE_PATH_TESTS=${OE_QMAKE_PATH_TESTS} \
-DOE_QMAKE_PATH_HOST_PREFIX=${OE_QMAKE_PATH_HOST_PREFIX} \
-DOE_QMAKE_PATH_HOST_BINS=${OE_QMAKE_PATH_HOST_BINS} \
-DOE_QMAKE_PATH_HOST_DATA=${OE_QMAKE_PATH_HOST_DATA} \
-DOE_QMAKE_PATH_HOST_LIBS=${OE_QMAKE_PATH_HOST_LIBS} \
-DOE_QMAKE_PATH_EXTERNAL_HOST_BINS=${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
-DOE_QMAKE_PATH_QT_HEADERS=${OE_QMAKE_PATH_QT_HEADERS} \
-DOE_QMAKE_PATH_QT_ARCHDATA=${OE_QMAKE_PATH_QT_ARCHDATA} \
-DOE_QMAKE_PATH_QT_DATA=${OE_QMAKE_PATH_QT_DATA} \
-DOE_QMAKE_PATH_QT_BINS=${OE_QMAKE_PATH_QT_BINS} \
-DOE_QMAKE_PATH_QT_TRANSLATIONS=${OE_QMAKE_PATH_QT_TRANSLATIONS} \
-DOE_QMAKE_PATH_QT_DOCS=${OE_QMAKE_PATH_QT_DOCS} \
-DOE_QMAKE_PATH_QT_SETTINGS=${OE_QMAKE_PATH_QT_SETTINGS} \
-DOE_QMAKE_PATH_QT_EXAMPLES=${OE_QMAKE_PATH_QT_EXAMPLES} \
-DOE_QMAKE_PATH_QT_TESTS=${OE_QMAKE_PATH_QT_TESTS}"

View File

@ -0,0 +1,56 @@
# Copyright (C) 2014 O.S. Systems Software LTDA.
TOOLCHAIN_HOST_TASK += "nativesdk-packagegroup-qt5-toolchain-host"
TOOLCHAIN_TARGET_TASK += "packagegroup-qt5-toolchain-target"
# This allow reuse of Qt paths
inherit qmake5_paths
toolchain_create_sdk_env_script_append () {
echo 'export PATH=${SDKPATHNATIVE}${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 OE_QMAKE_LIBDIR_QT=${SDKTARGETSYSROOT}${OE_QMAKE_PATH_LIBS}' >> $script
echo 'export OE_QMAKE_INCDIR_QT=${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_HEADERS}' >> $script
echo 'export OE_QMAKE_MOC=${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/moc' >> $script
echo 'export OE_QMAKE_UIC=${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/uic' >> $script
echo 'export OE_QMAKE_RCC=${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/rcc' >> $script
echo 'export OE_QMAKE_QDBUSCPP2XML=${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qdbuscpp2xml' >> $script
echo 'export OE_QMAKE_QDBUSXML2CPP=${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qdbusxml2cpp' >> $script
echo 'export OE_QMAKE_QT_CONFIG=${SDKTARGETSYSROOT}${OE_QMAKE_PATH_LIBS}/${QT_DIR_NAME}/mkspecs/qconfig.pri' >> $script
echo 'export QMAKESPEC=${SDKTARGETSYSROOT}${OE_QMAKE_PATH_LIBS}/${QT_DIR_NAME}/mkspecs/linux-oe-g++' >> $script
echo 'export QT_CONF_PATH=${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qt.conf' >> $script
# make a symbolic link to mkspecs for compatibility with QTCreator
(cd ${SDK_OUTPUT}/${SDKPATHNATIVE}; \
ln -sf ${SDKTARGETSYSROOT}${libdir}/${QT_DIR_NAME}/mkspecs mkspecs;)
# Generate a qt.conf file to be deployed with the SDK
qtconf=${SDK_OUTPUT}/${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}/qt.conf
touch $qtconf
echo '[Paths]' >> $qtconf
echo 'Prefix = ${SDKTARGETSYSROOT}' >> $qtconf
echo 'Headers = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_HEADERS}' >> $qtconf
echo 'Libraries = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_LIBS}' >> $qtconf
echo 'ArchData = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_ARCHDATA}' >> $qtconf
echo 'Data = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_DATA}' >> $qtconf
echo 'Binaries = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_BINS}' >> $qtconf
echo 'LibraryExecutables = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_LIBEXECS}' >> $qtconf
echo 'Plugins = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_PLUGINS}' >> $qtconf
echo 'Imports = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_IMPORTS}' >> $qtconf
echo 'Qml2Imports = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QML}' >> $qtconf
echo 'Translations = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_TRANSLATIONS}' >> $qtconf
echo 'Documentation = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_DOCS}' >> $qtconf
echo 'Settings = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_SETTINGS}' >> $qtconf
echo 'Examples = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_EXAMPLES}' >> $qtconf
echo 'Tests = ${SDKTARGETSYSROOT}${OE_QMAKE_PATH_QT_TESTS}' >> $qtconf
echo 'HostPrefix = ${SDKPATHNATIVE}' >> $qtconf
echo 'HostBinaries = ${SDKPATHNATIVE}${OE_QMAKE_PATH_HOST_BINS}' >> $qtconf
}
PACKAGE_GROUP_qtcreator-debug = "packagegroup-qt5-qtcreator-debug"

View File

@ -0,0 +1,15 @@
#
# QMake variables for Qt
#
inherit qmake5_base
QT5TOOLSDEPENDS ?= "qtbase-native"
DEPENDS_prepend = "${QT5TOOLSDEPENDS} "
do_configure() {
qmake5_base_do_configure
}
do_install() {
qmake5_base_do_install
}

View File

@ -0,0 +1,186 @@
# This is useful for target recipes to reference native mkspecs
QMAKE_MKSPEC_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}/${QT_DIR_NAME}"
QMAKE_MKSPEC_PATH_TARGET = "${STAGING_LIBDIR}/${QT_DIR_NAME}"
QMAKE_MKSPEC_PATH = "${QMAKE_MKSPEC_PATH_TARGET}"
QMAKE_MKSPEC_PATH_class-native = "${QMAKE_MKSPEC_PATH_NATIVE}"
QMAKE_MKSPEC_PATH_class-nativesdk = "${QMAKE_MKSPEC_PATH_NATIVE}"
# hardcode linux, because that's what 0001-Add-linux-oe-g-platform.patch adds
OE_QMAKE_PLATFORM_NATIVE = "linux-oe-g++"
OE_QMAKE_PLATFORM = "linux-oe-g++"
# Add -d to show debug output from every qmake call, but it prints *a lot*, better to add it only to debugged recipe
OE_QMAKE_DEBUG_OUTPUT ?= ""
# Paths in .prl files contain SYSROOT value
SSTATE_SCAN_FILES += "*.pri *.prl"
# drop default -e and add needed OE_QMAKE vars explicitly
# the problem is that when generated Makefile has:
# CFLAGS = -pipe $(OE_QMAKE_CFLAGS) -O2 -pthread -D_REENTRANT -Wall -W -fPIC $(DEFINES)
# then OE_QMAKE_CFLAGS are exported and used correctly, but then whole CFLAGS is overwritten from env (and -fPIC lost and build fails)
EXTRA_OEMAKE = " \
MAKEFLAGS='${PARALLEL_MAKE}' \
OE_QMAKE_COMPILER='${OE_QMAKE_COMPILER}' \
OE_QMAKE_CC='${OE_QMAKE_CC}' \
OE_QMAKE_CXX='${OE_QMAKE_CXX}' \
OE_QMAKE_CFLAGS='${OE_QMAKE_CFLAGS}' \
OE_QMAKE_CXXFLAGS='${OE_QMAKE_CXXFLAGS}' \
OE_QMAKE_LINK='${OE_QMAKE_LINK}' \
OE_QMAKE_LDFLAGS='${OE_QMAKE_LDFLAGS}' \
OE_QMAKE_AR='${OE_QMAKE_AR}' \
OE_QMAKE_STRIP='${OE_QMAKE_STRIP}' \
OE_QMAKE_WAYLAND_SCANNER='${OE_QMAKE_WAYLAND_SCANNER}' \
"
OE_QMAKESPEC = "${QMAKE_MKSPEC_PATH_NATIVE}/mkspecs/${OE_QMAKE_PLATFORM_NATIVE}"
OE_XQMAKESPEC = "${QMAKE_MKSPEC_PATH}/mkspecs/${OE_QMAKE_PLATFORM}"
OE_QMAKE_QMAKE = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake"
OE_QMAKE_COMPILER = "${CC}"
OE_QMAKE_CC = "${CC}"
OE_QMAKE_CFLAGS = "${CFLAGS}"
OE_QMAKE_CXX = "${CXX}"
OE_QMAKE_CXXFLAGS = "${CXXFLAGS}"
OE_QMAKE_LINK = "${CXX}"
OE_QMAKE_LDFLAGS = "${LDFLAGS}"
OE_QMAKE_AR = "${AR}"
OE_QMAKE_STRIP = "echo"
OE_QMAKE_WAYLAND_SCANNER = "${STAGING_BINDIR_NATIVE}/wayland-scanner"
# this one needs to be exported, because qmake reads it from shell env
export QT_CONF_PATH = "${WORKDIR}/qt.conf"
inherit qmake5_paths
do_generate_qt_config_file() {
cat > ${QT_CONF_PATH} <<EOF
[Paths]
Prefix = ${OE_QMAKE_PATH_PREFIX}
Headers = ${OE_QMAKE_PATH_HEADERS}
Libraries = ${OE_QMAKE_PATH_LIBS}
ArchData = ${OE_QMAKE_PATH_ARCHDATA}
Data = ${OE_QMAKE_PATH_DATA}
Binaries = ${OE_QMAKE_PATH_BINS}
LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}
Plugins = ${OE_QMAKE_PATH_PLUGINS}
Imports = ${OE_QMAKE_PATH_IMPORTS}
Qml2Imports = ${OE_QMAKE_PATH_QML}
Translations = ${OE_QMAKE_PATH_TRANSLATIONS}
Documentation = ${OE_QMAKE_PATH_DOCS}
Settings = ${OE_QMAKE_PATH_SETTINGS}
Examples = ${OE_QMAKE_PATH_EXAMPLES}
Tests = ${OE_QMAKE_PATH_TESTS}
HostBinaries = ${OE_QMAKE_PATH_HOST_BINS}
HostData = ${OE_QMAKE_PATH_HOST_DATA}
HostLibraries = ${OE_QMAKE_PATH_HOST_LIBS}
HostSpec = ${OE_QMAKESPEC}
TartgetSpec = ${OE_XQMAKESPEC}
ExternalHostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
Sysroot = ${STAGING_DIR_TARGET}
EOF
}
#
# Allows to override following values (as in version 5.0.1)
# Prefix The default prefix for all paths.
# Documentation The location for documentation upon install.
# Headers The location for all headers.
# Libraries The location of installed libraries.
# LibraryExecutables The location of installed executables required by libraries at runtime.
# Binaries The location of installed Qt binaries (tools and applications).
# Plugins The location of installed Qt plugins.
# Imports The location of installed QML extensions to import (QML 1.x).
# Qml2Imports The location of installed QML extensions to import (QML 2.x).
# ArchData The location of general architecture-dependent Qt data.
# Data The location of general architecture-independent Qt data.
# Translations The location of translation information for Qt strings.
# Examples The location for examples upon install.
# Tests The location of installed Qt testcases.
# Settings The location for Qt settings. Not applicable on Windows.
# For bootstrapped
# Sysroot The location of target sysroot
# HostPrefix The prefix for host tools when cross compiling (building tools for both systems)
# HostBinaries The location where to install host tools
# HostData The location where to install host data
# ExternalHostBinaries The location where we already have host tools (when cross compiling, but reusing existing tools)
# TargetSpec The location where to install target mkspec
# HostSpec The location where to install host mkspec
# qmake works fine with separate B, use it by default
SEPB = "${WORKDIR}/build"
B = "${SEPB}"
CONFIGURESTAMPFILE = "${WORKDIR}/qmake5_base_configure.sstate"
qmake5_base_preconfigure() {
if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${S}" != "${B}" ]; then
echo "Previously configured separate build directory detected, cleaning ${B}"
rm -rf ${B}
mkdir ${B}
fi
fi
}
qmake5_base_postconfigure(){
if [ -n "${CONFIGURESTAMPFILE}" ]; then
echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
fi
}
EXTRAQCONFFUNCS ??= ""
do_configure[prefuncs] += "qmake5_base_preconfigure ${EXTRAQCONFFUNCS}"
do_configure[postfuncs] += "qmake5_base_postconfigure"
addtask generate_qt_config_file after do_patch before do_configure
qmake5_base_do_configure () {
if [ -z "${QMAKE_PROFILES}" ]; then
PROFILES="`ls ${S}/*.pro`"
else
PROFILES="${QMAKE_PROFILES}"
bbnote "qmake using profiles: '${QMAKE_PROFILES}'"
fi
if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
AFTER="-after"
QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
bbnote "qmake postvar substitution: '${EXTRA_QMAKEVARS_POST}'"
fi
if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
bbnote "qmake prevar substitution: '${EXTRA_QMAKEVARS_PRE}'"
fi
# for config.tests to read this
export QMAKE_MAKE_ARGS="${EXTRA_OEMAKE}"
CMD="${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} -r $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST"
${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} -r $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling $CMD"
}
qmake5_base_do_install() {
# Fix install paths for all
find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_TARGET},(INSTALL_ROOT),g"
oe_runmake install INSTALL_ROOT=${D}
# everything except HostData and HostBinaries is prefixed with sysroot value,
# but we cannot remove sysroot override, because that's useful for pkg-config etc
# In some cases like QtQmlDevTools in qtdeclarative, the sed above does not work,
# fix them manually
if [ -d ${D}${STAGING_DIR_TARGET} ] ; then
echo "Some files are installed in wrong directory ${D}${STAGING_DIR_TARGET}"
cp -ra ${D}${STAGING_DIR_TARGET}/* ${D}
rm -rf ${D}${STAGING_DIR_TARGET}
# remove empty dirs
TMP=`dirname ${D}/${STAGING_DIR_TARGET}`
while test ${TMP} != ${D}; do
rmdir ${TMP}
TMP=`dirname ${TMP}`;
done
fi
}

View File

@ -0,0 +1,41 @@
# If your distribution supports only qt5, or you don't care
# about conflicts with qt4, then you can add qmake5_paths.bbclass
# to your distro layer and flatten all QT_DIR_NAME directories
QT_DIR_NAME ?= "qt5"
OE_QMAKE_PATH_PREFIX = "${prefix}"
OE_QMAKE_PATH_HEADERS = "${includedir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_LIBS = "${libdir}"
OE_QMAKE_PATH_ARCHDATA = "${libdir}"
OE_QMAKE_PATH_DATA = "${datadir}"
OE_QMAKE_PATH_BINS = "${bindir}"
OE_QMAKE_PATH_LIBEXECS = "${libdir}/${QT_DIR_NAME}/libexec"
OE_QMAKE_PATH_PLUGINS = "${libdir}/${QT_DIR_NAME}/plugins"
OE_QMAKE_PATH_IMPORTS = "${libdir}/${QT_DIR_NAME}/imports"
OE_QMAKE_PATH_QML = "${libdir}/${QT_DIR_NAME}/qml"
OE_QMAKE_PATH_TRANSLATIONS = "${datadir}/translations"
OE_QMAKE_PATH_DOCS = "${docdir}"
OE_QMAKE_PATH_SETTINGS = "${sysconfdir}"
OE_QMAKE_PATH_EXAMPLES = "${datadir}/examples"
OE_QMAKE_PATH_TESTS = "${datadir}/tests"
OE_QMAKE_PATH_HOST_PREFIX = ""
OE_QMAKE_PATH_HOST_BINS = "${bindir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_HOST_DATA = "${QMAKE_MKSPEC_PATH_TARGET}"
OE_QMAKE_PATH_HOST_LIBS = "${STAGING_LIBDIR}"
OE_QMAKE_PATH_EXTERNAL_HOST_BINS = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}"
# for qt5 components we're using QT_DIR_NAME subdirectory in more
# variables, because we don't want conflicts with qt4
# This block is usefull for components which install their
# own files without QT_DIR_NAME but need to reference paths e.g.
# with QT headers
OE_QMAKE_PATH_QT_HEADERS = "${includedir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_QT_ARCHDATA = "${libdir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_QT_DATA = "${datadir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_QT_BINS = "${bindir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_QT_TRANSLATIONS = "${datadir}/${QT_DIR_NAME}/translations"
OE_QMAKE_PATH_QT_DOCS = "${docdir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_QT_SETTINGS = "${sysconfdir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_QT_EXAMPLES = "${datadir}/${QT_DIR_NAME}/examples"
OE_QMAKE_PATH_QT_TESTS = "${datadir}/${QT_DIR_NAME}/tests"

View File

@ -0,0 +1,23 @@
# Select which version you prefer by defining QT5_VERSION and including this file
# possible values now "5.2.1", "5.2.1+git%"
QT5_VERSION ?= "5.2.1"
PREFERRED_VERSION_qtbase-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtbase = "${QT5_VERSION}"
PREFERRED_VERSION_qtdeclarative = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtgraphicaleffects = "${QT5_VERSION}"
PREFERRED_VERSION_qtimageformats = "${QT5_VERSION}"
PREFERRED_VERSION_qtmultimedia = "${QT5_VERSION}"
PREFERRED_VERSION_qtquick1 = "${QT5_VERSION}"
PREFERRED_VERSION_qtquickcontrols = "${QT5_VERSION}"
PREFERRED_VERSION_qtsensors = "${QT5_VERSION}"
PREFERRED_VERSION_qtserialport = "${QT5_VERSION}"
PREFERRED_VERSION_qtscript = "${QT5_VERSION}"
PREFERRED_VERSION_qtsvg = "${QT5_VERSION}"
PREFERRED_VERSION_qttools-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit-examples = "${QT5_VERSION}"
PREFERRED_VERSION_qtxmlpatterns = "${QT5_VERSION}"

28
meta-qt5/conf/layer.conf Normal file
View File

@ -0,0 +1,28 @@
# It really depends on order of the layers appearing in BBLAYERS
# variable in toplevel bblayers.conf file, where bitbake will search
# for .inc files and others where bitbake uses BBPATH since it will
# search the directories from first to last as specified in BBPATH
# Therefore if you want a given layer to be considered high priority
# for the .inc and .conf etc. then consider it adding at the beginning
# of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolve
# the recipe contention so the order of directories in BBFILES does
# not matter.
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "qt5-layer"
BBFILE_PATTERN_qt5-layer := "^${LAYERDIR}/"
# Define the priority for recipes (.bb files) from this layer,
# choosing carefully how this layer interacts with all of the
# other layers.
BBFILE_PRIORITY_qt5-layer = "7"
LICENSE_PATH += "${LAYERDIR}/licenses"
IMAGE_FEATURES[validitems] += "qtcreator-debug"

View File

@ -0,0 +1,628 @@
TECHNOLOGY PREVIEW LICENSE AGREEMENT
For individuals and/or legal entities resident in the Americas (North
America, Central America and South America), the applicable licensing
terms are specified under the heading "Technology Preview License
Agreement: The Americas".
For individuals and/or legal entities not resident in The Americas, the
applicable licensing terms are specified under the heading "Technology
Preview License Agreement: Rest of the World".
TECHNOLOGY PREVIEW LICENSE AGREEMENT: The Americas
Agreement version 2.4
This Technology Preview License Agreement ("Agreement")is a legal agreement
between Digia USA, Inc. ("Digia"), with its registered office at 32 W.
Loockerman Street, Suite 201, City of Dover, County of Kent, Delaware 19904,
U.S.A. and you (either an individual or a legal entity) ("Licensee")
for the Licensed Software (as defined below).
1. DEFINITIONS
"Affiliate" of a Party shall mean an entity (i) which is directly or
indirectly controlling such Party; (ii) which is under the same direct
or indirect ownership or control as such Party; or (iii) which is
directly or indirectly owned or controlled by such Party. For these
purposes, an entity shall be treated as being controlled by another if
that other entity has fifty percent (50 %) or more of the votes in such
entity, is able to direct its affairs and/or to control the composition
of its board of directors or equivalent body.
"Applications" shall mean Licensee's software products created using the
Licensed Software which may include portions of the Licensed Software.
"Term" shall mean the period of time six (6) months from the later of
(a) the Effective Date; or (b) the date the Licensed Software was
initially delivered to Licensee by Digia. If no specific Effective Date
is set forth in the Agreement, the Effective Date shall be deemed to be
the date the Licensed Software was initially delivered to Licensee.
"Licensed Software" shall mean the computer software, "online" or
electronic documentation, associated media and printed materials,
including the source code, example programs and the documentation
delivered by Digia to Licensee in conjunction with this Agreement.
"Party" or "Parties" shall mean Licensee and/or Digia.
2. OWNERSHIP
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and
treaties. The Licensed Software is licensed, not sold.
If Licensee provides any findings, proposals, suggestions or other
feedback ("Feedback") to Digia regarding the Licensed Software, Digia
shall own all right, title and interest including the intellectual
property rights in and to such Feedback, excluding however any existing
patent rights of Licensee. To the extent Licensee owns or controls any
patents for such Feedback Licensee hereby grants to Digia and its
Affiliates, a worldwide, perpetual, non-transferable, sublicensable,
royalty-free license to (i) use, copy and modify Feedback and to create
derivative works thereof, (ii) to make (and have made), use, import,
sell, offer for sale, lease, dispose, offer for disposal or otherwise
exploit any products or services of Digia containing Feedback, and
(iii) sublicense all the foregoing rights to third party licensees and
customers of Digia and/or its Affiliates.
3. VALIDITY OF THE AGREEMENT
By installing, copying, or otherwise using the Licensed Software,
Licensee agrees to be bound by the terms of this Agreement. If Licensee
does not agree to the terms of this Agreement, Licensee may not install,
copy, or otherwise use the Licensed Software. Upon Licensee's acceptance
of the terms and conditions of this Agreement, Digia grants Licensee the
right to use the Licensed Software in the manner provided below.
4. LICENSES
4.1. Using and Copying
Digia grants to Licensee a non-exclusive, non-transferable, time-limited
license to use and copy the Licensed Software for sole purpose of
designing, developing and testing Applications, and evaluating and the
Licensed Software during the Term.
Licensee may install copies of the Licensed Software on an unlimited
number of computers provided that (a) if an individual, only such
individual; or (b) if a legal entity only its employees; use the
Licensed Software for the authorized purposes.
4.2 No Distribution or Modifications
Licensee may not disclose, modify, sell, market, commercialise,
distribute, loan, rent, lease, or license the Licensed Software or any
copy of it or use the Licensed Software for any purpose that is not
expressly granted in this Section 4. Licensee may not alter or remove
any details of ownership, copyright, trademark or other property right
connected with the Licensed Software. Licensee may not distribute any
software statically or dynamically linked with the Licensed Software.
4.3 No Technical Support
Digia has no obligation to furnish Licensee with any technical support
whatsoever. Any such support is subject to separate agreement between
the Parties.
5. PRE-RELEASE CODE
The Licensed Software contains pre-release code that is not at the level
of performance and compatibility of a final, generally available,
product offering. The Licensed Software may not operate correctly and
may be substantially modified prior to the first commercial product
release, if any. Digia is not obligated to make this or any later
version of the Licensed Software commercially available. The License
Software is "Not for Commercial Use" and may only be used for the
purposes described in Section 4. The Licensed Software may not be used
in a live operating environment where it may be relied upon to perform
in the same manner as a commercially released product or with data that
has not been sufficiently backed up.
6. THIRD PARTY SOFTWARE
The Licensed Software may provide links to third party libraries or code
(collectively "Third Party Software") to implement various functions.
Third Party Software does not comprise part of the Licensed Software. In
some cases, access to Third Party Software may be included along with
the Licensed Software delivery as a convenience for development and
testing only. Such source code and libraries may be listed in the
".../src/3rdparty" source tree delivered with the Licensed Software or
documented in the Licensed Software where the Third Party Software is
used, as may be amended from time to time, do not comprise the Licensed
Software. Licensee acknowledges (1) that some part of Third Party
Software may require additional licensing of copyright and patents from
the owners of such, and (2) that distribution of any of the Licensed
Software referencing any portion of a Third Party Software may require
appropriate licensing from such third parties.
7. LIMITED WARRANTY AND WARRANTY DISCLAIMER
The Licensed Software is licensed to Licensee "as is". To the maximum
extent permitted by applicable law, Digia on behalf of itself and its
suppliers, disclaims all warranties and conditions, either express or
implied, including, but not limited to, implied warranties of
merchantability, fitness for a particular purpose, title and
non-infringement with regard to the Licensed Software.
8. LIMITATION OF LIABILITY
If, Digia's warranty disclaimer notwithstanding, Digia is held liable to
Licensee, whether in contract, tort or any other legal theory, based on
the Licensed Software, Digia's entire liability to Licensee and
Licensee's exclusive remedy shall be, at Digia's option, either (A)
return of the price Licensee paid for the Licensed Software, or (B)
repair or replacement of the Licensed Software, provided Licensee
returns to Digia all copies of the Licensed Software as originally
delivered to Licensee. Digia shall not under any circumstances be liable
to Licensee based on failure of the Licensed Software if the failure
resulted from accident, abuse or misapplication, nor shall Digia under
any circumstances be liable for special damages, punitive or exemplary
damages, damages for loss of profits or interruption of business or for
loss or corruption of data. Any award of damages from Digia to Licensee
shall not exceed the total amount Licensee has paid to Digia in
connection with this Agreement.
9. CONFIDENTIALITY
Each party acknowledges that during the Term of this Agreement it shall
have access to information about the other party's business, business
methods, business plans, customers, business relations, technology, and
other information, including the terms of this Agreement, that is
confidential and of great value to the other party, and the value of
which would be significantly reduced if disclosed to third parties (the
"Confidential Information"). Accordingly, when a party (the "Receiving
Party") receives Confidential Information from another party (the
"Disclosing Party"), the Receiving Party shall, and shall obligate its
employees and agents and employees and agents of its Affiliates to: (i)
maintain the Confidential Information in strict confidence; (ii) not
disclose the Confidential Information to a third party without the
Disclosing Party's prior written approval; and (iii) not, directly or
indirectly, use the Confidential Information for any purpose other than
for exercising its rights and fulfilling its responsibilities pursuant
to this Agreement. Each party shall take reasonable measures to protect
the Confidential Information of the other party, which measures shall
not be less than the measures taken by such party to protect its own
confidential and proprietary information.
"Confidential Information" shall not include information that (a) is or
becomes generally known to the public through no act or omission of the
Receiving Party; (b) was in the Receiving Party's lawful possession
prior to the disclosure hereunder and was not subject to limitations on
disclosure or use; (c) is developed by the Receiving Party without
access to the Confidential Information of the Disclosing Party or by
persons who have not had access to the Confidential Information of the
Disclosing Party as proven by the written records of the Receiving
Party; (d) is lawfully disclosed to the Receiving Party without
restrictions, by a third party not under an obligation of
confidentiality; or (e) the Receiving Party is legally compelled to
disclose the information, in which case the Receiving Party shall assert
the privileged and confidential nature of the information and cooperate
fully with the Disclosing Party to protect against and prevent
disclosure of any Confidential Information and to limit the scope of
disclosure and the dissemination of disclosed Confidential Information
by all legally available means.
The obligations of the Receiving Party under this Section shall continue
during the Initial Term and for a period of five (5) years after
expiration or termination of this Agreement. To the extent that the
terms of the Non-Disclosure Agreement between Digia and Licensee
conflict with the terms of this Section 9, this Section 9 shall be
controlling over the terms of the Non-Disclosure Agreement.
10. GENERAL PROVISIONS
10.1 No Assignment
Licensee shall not be entitled to assign or transfer all or any of its
rights, benefits and obligations under this Agreement without the prior
written consent of Digia, which shall not be unreasonably withheld.
10.2 Termination
Digia may terminate the Agreement at any time immediately upon written
notice by Digia to Licensee if Licensee breaches this Agreement.
Upon termination of this Agreement, Licensee shall return to Digia all
copies of Licensed Software that were supplied by Digia. All other
copies of Licensed Software in the possession or control of Licensee
must be erased or destroyed. An officer of Licensee must promptly
deliver to Digia a written confirmation that this has occurred.
10.3 Surviving Sections
Any terms and conditions that by their nature or otherwise reasonably
should survive a cancellation or termination of this Agreement shall
also be deemed to survive. Such terms and conditions include, but are
not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4,
10.5, 10.6, 10.7, and 10.8 of this Agreement.
10.4 Entire Agreement
This Agreement constitutes the complete agreement between the parties
and supersedes all prior or contemporaneous discussions,
representations, and proposals, written or oral, with respect to the
subject matters discussed herein, with the exception of the
non-disclosure agreement executed by the parties in connection with this
Agreement ("Non-Disclosure Agreement"), if any, shall be subject to
Section 9. No modification of this Agreement shall be effective unless
contained in a writing executed by an authorized representative of each
party. No term or condition contained in Licensee's purchase order shall
apply unless expressly accepted by Digia in writing. If any provision of
the Agreement is found void or unenforceable, the remainder shall remain
valid and enforceable according to its terms. If any remedy provided is
determined to have failed for its essential purpose, all limitations of
liability and exclusions of damages set forth in this Agreement shall
remain in effect.
10.5 Export Control
Licensee acknowledges that the Licensed Software may be subject to
export control restrictions of various countries. Licensee shall fully
comply with all applicable export license restrictions and requirements
as well as with all laws and regulations relating to the importation of
the Licensed Software and shall procure all necessary governmental
authorizations, including without limitation, all necessary licenses,
approvals, permissions or consents, where necessary for the
re-exportation of the Licensed Software.,
10.6 Governing Law and Legal Venue
This Agreement shall be governed by and construed in accordance with the
federal laws of the United States of America and the internal laws of
the State of New York without given effect to any choice of law rule
that would result in the application of the laws of any other
jurisdiction. The United Nations Convention on Contracts for the
International Sale of Goods (CISG) shall not apply. Each Party (a)
hereby irrevocably submits itself to and consents to the jurisdiction of
the United States District Court for the Southern District of New York
(or if such court lacks jurisdiction, the state courts of the State of
New York) for the purposes of any action, claim, suit or proceeding
between the Parties in connection with any controversy, claim, or
dispute arising out of or relating to this Agreement; and (b) hereby
waives, and agrees not to assert by way of motion, as a defense or
otherwise, in any such action, claim, suit or proceeding, any claim that
is not personally subject to the jurisdiction of such court(s), that the
action, claim, suit or proceeding is brought in an inconvenient forum or
that the venue of the action, claim, suit or proceeding is improper.
Notwithstanding the foregoing, nothing in this Section 9.6 is intended
to, or shall be deemed to, constitute a submission or consent to, or
selection of, jurisdiction, forum or venue for any action for patent
infringement, whether or not such action relates to this Agreement.
10.7 No Implied License
There are no implied licenses or other implied rights granted under this
Agreement, and all rights, save for those expressly granted hereunder,
shall remain with Digia and its licensors. In addition, no licenses or
immunities are granted to the combination of the Licensed Software with
any other software or hardware not delivered by Digia under this
Agreement.
10.8 Government End Users
A "U.S. Government End User" shall mean any agency or entity of the
government of the United States. The following shall apply if Licensee
is a U.S. Government End User. The Licensed Software is a "commercial
item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
consisting of "commercial computer software" and "commercial computer
software documentation," as such terms are used in 48 C.F.R. 12.212
(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
through 227.7202-4 (June 1995), all U.S. Government End Users acquire
the Licensed Software with only those rights set forth herein. The
Licensed Software (including related documentation) is provided to U.S.
Government End Users: (a) only as a commercial end item; and (b) only
pursuant to this Agreement.
TECHNOLOGY PREVIEW LICENSE AGREEMENT: Rest of the World
Agreement version 2.4
This Technology Preview License Agreement ("Agreement") is a legal
agreement between Digia Finland Ltd ("Digia"), with its registered office at
Valimotie 21,FI-00380 Helsinki, Finland and you (either an individual or a
legal entity) ("Licensee") for the Licensed Software.
1. DEFINITIONS
"Affiliate" of a Party shall mean an entity (i) which is directly or
indirectly controlling such Party; (ii) which is under the same direct
or indirect ownership or control as such Party; or (iii) which is
directly or indirectly owned or controlled by such Party. For these
purposes, an entity shall be treated as being controlled by another if
that other entity has fifty percent (50 %) or more of the votes in such
entity, is able to direct its affairs and/or to control the composition
of its board of directors or equivalent body.
"Applications" shall mean Licensee's software products created using the
Licensed Software which may include portions of the Licensed Software.
"Term" shall mean the period of time six (6) months from the later of
(a) the Effective Date; or (b) the date the Licensed Software was
initially delivered to Licensee by Digia. If no specific Effective Date
is set forth in the Agreement, the Effective Date shall be deemed to be
the date the Licensed Software was initially delivered to Licensee.
"Licensed Software" shall mean the computer software, "online" or
electronic documentation, associated media and printed materials,
including the source code, example programs and the documentation
delivered by Digia to Licensee in conjunction with this Agreement.
"Party" or "Parties" shall mean Licensee and/or Digia.
2. OWNERSHIP
The Licensed Software is protected by copyright laws and international
copyright treaties, as well as other intellectual property laws and
treaties. The Licensed Software is licensed, not sold.
If Licensee provides any findings, proposals, suggestions or other
feedback ("Feedback") to Digia regarding the Licensed Software, Digia
shall own all right, title and interest including the intellectual
property rights in and to such Feedback, excluding however any existing
patent rights of Licensee. To the extent Licensee owns or controls any
patents for such Feedback Licensee hereby grants to Digia and its
Affiliates, a worldwide, perpetual, non-transferable, sublicensable,
royalty-free license to (i) use, copy and modify Feedback and to create
derivative works thereof, (ii) to make (and have made), use, import,
sell, offer for sale, lease, dispose, offer for disposal or otherwise
exploit any products or services of Digia containing Feedback, and
(iii) sublicense all the foregoing rights to third party licensees and
customers of Digia and/or its Affiliates.
3. VALIDITY OF THE AGREEMENT
By installing, copying, or otherwise using the Licensed Software,
Licensee agrees to be bound by the terms of this Agreement. If Licensee
does not agree to the terms of this Agreement, Licensee may not install,
copy, or otherwise use the Licensed Software. Upon Licensee's acceptance
of the terms and conditions of this Agreement, Digia grants Licensee the
right to use the Licensed Software in the manner provided below.
4. LICENSES
4.1. Using and Copying
Digia grants to Licensee a non-exclusive, non-transferable, time-limited
license to use and copy the Licensed Software for sole purpose of
designing, developing and testing Applications, and evaluating and the
Licensed Software during the Term.
Licensee may install copies of the Licensed Software on an unlimited
number of computers provided that (a) if an individual, only such
individual; or (b) if a legal entity only its employees; use the
Licensed Software for the authorized purposes.
4.2 No Distribution or Modifications
Licensee may not disclose, modify, sell, market, commercialise,
distribute, loan, rent, lease, or license the Licensed Software or any
copy of it or use the Licensed Software for any purpose that is not
expressly granted in this Section 4. Licensee may not alter or remove
any details of ownership, copyright, trademark or other property right
connected with the Licensed Software. Licensee may not distribute any
software statically or dynamically linked with the Licensed Software.
4.3 No Technical Support
Digia has no obligation to furnish Licensee with any technical support
whatsoever. Any such support is subject to separate agreement between
the Parties.
5. PRE-RELEASE CODE
The Licensed Software contains pre-release code that is not at the level
of performance and compatibility of a final, generally available,
product offering. The Licensed Software may not operate correctly and
may be substantially modified prior to the first commercial product
release, if any. Digia is not obligated to make this or any later
version of the Licensed Software commercially available. The License
Software is "Not for Commercial Use" and may only be used for the
purposes described in Section 4. The Licensed Software may not be used
in a live operating environment where it may be relied upon to perform
in the same manner as a commercially released product or with data that
has not been sufficiently backed up.
6. THIRD PARTY SOFTWARE
The Licensed Software may provide links to third party libraries or code
(collectively "Third Party Software") to implement various functions.
Third Party Software does not comprise part of the Licensed Software. In
some cases, access to Third Party Software may be included along with
the Licensed Software delivery as a convenience for development and
testing only. Such source code and libraries may be listed in the
".../src/3rdparty" source tree delivered with the Licensed Software or
documented in the Licensed Software where the Third Party Software is
used, as may be amended from time to time, do not comprise the Licensed
Software. Licensee acknowledges (1) that some part of Third Party
Software may require additional licensing of copyright and patents from
the owners of such, and (2) that distribution of any of the Licensed
Software referencing any portion of a Third Party Software may require
appropriate licensing from such third parties.
7. LIMITED WARRANTY AND WARRANTY DISCLAIMER
The Licensed Software is licensed to Licensee "as is". To the maximum
extent permitted by applicable law, Digia on behalf of itself and its
suppliers, disclaims all warranties and conditions, either express or
implied, including, but not limited to, implied warranties of
merchantability, fitness for a particular purpose, title and
non-infringement with regard to the Licensed Software.
8. LIMITATION OF LIABILITY
If, Digia's warranty disclaimer notwithstanding, Digia is held liable to
Licensee, whether in contract, tort or any other legal theory, based on
the Licensed Software, Digia's entire liability to Licensee and
Licensee's exclusive remedy shall be, at Digia's option, either (A)
return of the price Licensee paid for the Licensed Software, or (B)
repair or replacement of the Licensed Software, provided Licensee
returns to Digia all copies of the Licensed Software as originally
delivered to Licensee. Digia shall not under any circumstances be liable
to Licensee based on failure of the Licensed Software if the failure
resulted from accident, abuse or misapplication, nor shall Digia under
any circumstances be liable for special damages, punitive or exemplary
damages, damages for loss of profits or interruption of business or for
loss or corruption of data. Any award of damages from Digia to Licensee
shall not exceed the total amount Licensee has paid to Digia in
connection with this Agreement.
9. CONFIDENTIALITY
Each party acknowledges that during the Term of this Agreement it shall
have access to information about the other party's business, business
methods, business plans, customers, business relations, technology, and
other information, including the terms of this Agreement, that is
confidential and of great value to the other party, and the value of
which would be significantly reduced if disclosed to third parties (the
"Confidential Information"). Accordingly, when a party (the "Receiving
Party") receives Confidential Information from another party (the
"Disclosing Party"), the Receiving Party shall, and shall obligate its
employees and agents and employees and agents of its Affiliates to: (i)
maintain the Confidential Information in strict confidence; (ii) not
disclose the Confidential Information to a third party without the
Disclosing Party's prior written approval; and (iii) not, directly or
indirectly, use the Confidential Information for any purpose other than
for exercising its rights and fulfilling its responsibilities pursuant
to this Agreement. Each party shall take reasonable measures to protect
the Confidential Information of the other party, which measures shall
not be less than the measures taken by such party to protect its own
confidential and proprietary information.
"Confidential Information" shall not include information that (a) is or
becomes generally known to the public through no act or omission of the
Receiving Party; (b) was in the Receiving Party's lawful possession
prior to the disclosure hereunder and was not subject to limitations on
disclosure or use; (c) is developed by the Receiving Party without
access to the Confidential Information of the Disclosing Party or by
persons who have not had access to the Confidential Information of the
Disclosing Party as proven by the written records of the Receiving
Party; (d) is lawfully disclosed to the Receiving Party without
restrictions, by a third party not under an obligation of
confidentiality; or (e) the Receiving Party is legally compelled to
disclose the information, in which case the Receiving Party shall assert
the privileged and confidential nature of the information and cooperate
fully with the Disclosing Party to protect against and prevent
disclosure of any Confidential Information and to limit the scope of
disclosure and the dissemination of disclosed Confidential Information
by all legally available means.
The obligations of the Receiving Party under this Section shall continue
during the Initial Term and for a period of five (5) years after
expiration or termination of this Agreement. To the extent that the
terms of the Non-Disclosure Agreement between Digia and Licensee
conflict with the terms of this Section 9, this Section 9 shall be
controlling over the terms of the Non-Disclosure Agreement.
10. GENERAL PROVISIONS
10.1 No Assignment
Licensee shall not be entitled to assign or transfer all or any of its
rights, benefits and obligations under this Agreement without the prior
written consent of Digia, which shall not be unreasonably withheld.
10.2 Termination
Digia may terminate the Agreement at any time immediately upon written
notice by Digia to Licensee if Licensee breaches this Agreement.
Upon termination of this Agreement, Licensee shall return to Digia all
copies of Licensed Software that were supplied by Digia. All other
copies of Licensed Software in the possession or control of Licensee
must be erased or destroyed. An officer of Licensee must promptly
deliver to Digia a written confirmation that this has occurred.
10.3 Surviving Sections
Any terms and conditions that by their nature or otherwise reasonably
should survive a cancellation or termination of this Agreement shall
also be deemed to survive. Such terms and conditions include, but are
not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4,
10.5, 10.6, 10.7, and 10.8 of this Agreement.
10.4 Entire Agreement
This Agreement constitutes the complete agreement between the parties
and supersedes all prior or contemporaneous discussions,
representations, and proposals, written or oral, with respect to the
subject matters discussed herein, with the exception of the
non-disclosure agreement executed by the parties in connection with this
Agreement ("Non-Disclosure Agreement"), if any, shall be subject to
Section 9. No modification of this Agreement shall be effective unless
contained in a writing executed by an authorized representative of each
party. No term or condition contained in Licensee's purchase order shall
apply unless expressly accepted by Digia in writing. If any provision of
the Agreement is found void or unenforceable, the remainder shall remain
valid and enforceable according to its terms. If any remedy provided is
determined to have failed for its essential purpose, all limitations of
liability and exclusions of damages set forth in this Agreement shall
remain in effect.
10.5 Export Control
Licensee acknowledges that the Licensed Software may be subject to
export control restrictions of various countries. Licensee shall fully
comply with all applicable export license restrictions and requirements
as well as with all laws and regulations relating to the importation of
the Licensed Software and shall procure all necessary governmental
authorizations, including without limitation, all necessary licenses,
approvals, permissions or consents, where necessary for the
re-exportation of the Licensed Software.,
10.6 Governing Law and Legal Venue
This Agreement shall be construed and interpreted in accordance with the
laws of Finland, excluding its choice of law provisions. Any disputes
arising out of or relating to this Agreement shall be resolved in
arbitration under the Rules of Arbitration of the Chamber of Commerce of
Helsinki, Finland. The arbitration tribunal shall consist of one (1), or
if either Party so requires, of three (3), arbitrators. The award shall
be final and binding and enforceable in any court of competent
jurisdiction. The arbitration shall be held in Helsinki, Finland and the
process shall be conducted in the English language.
10.7 No Implied License
There are no implied licenses or other implied rights granted under this
Agreement, and all rights, save for those expressly granted hereunder,
shall remain with Digia and its licensors. In addition, no licenses or
immunities are granted to the combination of the Licensed Software with
any other software or hardware not delivered by Digia under this
Agreement.
10.8 Government End Users
A "U.S. Government End User" shall mean any agency or entity of the
government of the United States. The following shall apply if Licensee
is a U.S. Government End User. The Licensed Software is a "commercial
item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995),
consisting of "commercial computer software" and "commercial computer
software documentation," as such terms are used in 48 C.F.R. 12.212
(Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
through 227.7202-4 (June 1995), all U.S. Government End Users acquire
the Licensed Software with only those rights set forth herein. The
Licensed Software (including related documentation) is provided to U.S.
Government End Users: (a) only as a commercial end item; and (b) only
pursuant to this Agreement.

View File

@ -0,0 +1,20 @@
# Ugly hack to work around undefined OE_QMAKE_PATH_EXTERNAL_HOST_BINS variable
# and possibly missing qmake binary (qtbase-native can be removed from sysroot
# e.g. in order to upgrade it, even when there is target qtbase)
#| -- Performing Test run_pic_test - Success
#| CMake Error at tmp-eglibc/sysroots/qemuarm/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:27 (message):
#| The imported target "Qt5::Core" references the file
#|
#| "/qmake"
#|
#| but this file does not exist. Possible reasons include:
do_configure_prepend() {
sed -i 's/^find_package(Qt5Core QUIET)$/#find_package(Qt5Core QUIET)/g' ${S}/Tests/RunCMake/CMakeLists.txt
sed -i 's/^find_package(Qt5Core REQUIRED)/#find_package(Qt5Core REQUIRED)/g' ${S}/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
sed -i 's/^ find_package(Qt5Widgets REQUIRED)/# find_package(Qt5Widgets REQUIRED)/g' ${S}/Tests/QtAutomoc/CMakeLists.txt
# sed -i 's/^find_package(Qt5Core REQUIRED)/#find_package(Qt5Core REQUIRED)/g' ${S}/Tests/Qt4And5Automoc/CMakeLists.txt
sed -i 's/^ find_package(Qt5Widgets QUIET NO_MODULE)/# find_package(Qt5Widgets QUIET NO_MODULE)/g' ${S}/Tests/CMakeLists.txt
sed -i 's/^find_package(Qt5Widgets QUIET)/#find_package(Qt5Widgets QUIET)/g' ${S}/Source/QtDialog/CMakeLists.txt
}

View File

@ -0,0 +1,20 @@
# Ugly hack to work around undefined OE_QMAKE_PATH_EXTERNAL_HOST_BINS variable
# and possibly missing qmake binary (qtbase-native can be removed from sysroot
# e.g. in order to upgrade it, even when there is target qtbase)
#| -- Performing Test run_pic_test - Success
#| CMake Error at tmp-eglibc/sysroots/qemuarm/usr/lib/cmake/Qt5Core/Qt5CoreConfig.cmake:27 (message):
#| The imported target "Qt5::Core" references the file
#|
#| "/qmake"
#|
#| but this file does not exist. Possible reasons include:
do_configure_prepend() {
sed -i 's/^find_package(Qt5Core QUIET)$/#find_package(Qt5Core QUIET)/g' ${S}/Tests/RunCMake/CMakeLists.txt
sed -i 's/^find_package(Qt5Core REQUIRED)/#find_package(Qt5Core REQUIRED)/g' ${S}/Tests/RunCMake/IncompatibleQt/IncompatibleQt.cmake
sed -i 's/^ find_package(Qt5Widgets REQUIRED)/# find_package(Qt5Widgets REQUIRED)/g' ${S}/Tests/QtAutomoc/CMakeLists.txt
sed -i 's/^find_package(Qt5Core REQUIRED)/#find_package(Qt5Core REQUIRED)/g' ${S}/Tests/Qt4And5Automoc/CMakeLists.txt
sed -i 's/^ find_package(Qt5Widgets QUIET NO_MODULE)/# find_package(Qt5Widgets QUIET NO_MODULE)/g' ${S}/Tests/CMakeLists.txt
sed -i 's/^find_package(Qt5Widgets QUIET)/#find_package(Qt5Widgets QUIET)/g' ${S}/Source/QtDialog/CMakeLists.txt
}

View File

@ -0,0 +1,40 @@
SUMMARY = "Qt5 technology demo"
DESCRIPTION = "Cinematic Experience collects many of the new Qt5 QtQuick 2.0 features into the same UX demo application. It uses particles, sprites, path animation, custom shaders etc. features which Qt5 introduces for QML UIs."
HOMEPAGE = "http://quitcoding.com/?page=work#cinex"
LICENSE = "CC-BY-3.0"
LIC_FILES_CHKSUM = "file://README;beginline=38;endline=50;md5=51babd597624b70752069953876aaa18"
SRC_URI = "http://quitcoding.com/download/Qt5_CinematicExperience_rpi_1.0.tgz"
SRC_URI[md5sum] = "935a5db0a6b2a72c67236e72f52be7d1"
SRC_URI[sha256sum] = "0dd602983ced5f7c0cfd5ad0fbfe2b0b7e3c9ff715e4ef23eef818ccc2b6c60b"
S = "${WORKDIR}/Qt5_CinematicExperience_rpi_${PV}/"
# other version available for small screens
#SRC_URI = "http://quitcoding.com/download/Qt5_CinematicExperience_1.0.tgz"
#SRC_URI[md5sum] = "1c4f9bf5411c985fc5d3dbfc5d826a29"
#SRC_URI[sha256sum] = "0e547e0259667915a24e84ade5efdcd0c553f81786734452c2c8dbce19a19f44"
#S = "${WORKDIR}/Qt5_CinematicExperience_${PV}/"
DEPENDS = "qtdeclarative qtgraphicaleffects"
RDEPENDS_${PN} = "qtdeclarative-qmlplugins qtgraphicaleffects-qmlplugins"
require recipes-qt/qt5/qt5.inc
do_install() {
install -d ${D}${datadir}/${P}
install -m 0755 ${B}/Qt5_CinematicExperience ${D}${datadir}/${P}
cp -a ${S}/content ${D}${datadir}/${P}
install -m 0644 ${S}/Qt5_CinematicExperience.qml ${D}${datadir}/${P}
install -d ${D}${bindir}
echo "#!/bin/sh" > ${D}${bindir}/Qt5_CinematicExperience
echo "export QML_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/Qt5_CinematicExperience
echo "export QML2_IMPORT_PATH=${datadir}/${P}" >> ${D}${bindir}/Qt5_CinematicExperience
echo "${datadir}/${P}/Qt5_CinematicExperience \$* " >> ${D}${bindir}/Qt5_CinematicExperience
chmod +x ${D}${bindir}/Qt5_CinematicExperience
}
FILES_${PN}-dbg += "${datadir}/${P}/.debug"
FILES_${PN} += "${datadir}"

View File

@ -0,0 +1,71 @@
From 0b30c0e223f35ec7e27b04142135afc3f298a776 Mon Sep 17 00:00:00 2001
From: Holger Hans Peter Freyther <holger@moiji-mobile.com>
Date: Fri, 21 Mar 2014 20:25:19 +0100
Subject: [PATCH] Add wrapper for the resetFailedUnit command
---
src/sdmanager.cpp | 14 ++++++++++++++
src/sdmanager.h | 2 ++
src/sdmanager_p.h | 1 +
3 files changed, 17 insertions(+)
diff --git a/src/sdmanager.cpp b/src/sdmanager.cpp
index 6bcd459..b3b41f7 100644
--- a/src/sdmanager.cpp
+++ b/src/sdmanager.cpp
@@ -333,6 +333,15 @@ Job::Ptr SystemdPrivate::stopUnit(const QString &name, const Systemd::Mode mode)
return job;
}
+void SystemdPrivate::resetFailedUnit(const QString& name)
+{
+ QDBusPendingReply<QDBusObjectPath> reply = isdface.ResetFailedUnit(name);
+ reply.waitForFinished();
+
+ if (reply.isError())
+ qDebug() << reply.error().message();
+}
+
QString SystemdPrivate::modeToString(const Systemd::Mode mode)
{
switch(mode) {
@@ -447,6 +456,11 @@ Job::Ptr Systemd::stopUnit(const QString &name, const Systemd::Mode mode)
return globalSystemd()->stopUnit(name, mode);
}
+void Systemd::resetFailedUnit(const QString &name)
+{
+ return globalSystemd()->resetFailedUnit(name);
+}
+
Notifier* Systemd::notifier()
{
return globalSystemd();
diff --git a/src/sdmanager.h b/src/sdmanager.h
index 80fb25a..de09f43 100644
--- a/src/sdmanager.h
+++ b/src/sdmanager.h
@@ -185,6 +185,8 @@ namespace Systemd
*/
SDQT_EXPORT Job::Ptr stopUnit(const QString &name, const Mode mode);
+ SDQT_EXPORT void resetFailedUnit(const QString &name);
+
SDQT_EXPORT Notifier* notifier();
}
diff --git a/src/sdmanager_p.h b/src/sdmanager_p.h
index defee8f..674ce4f 100644
--- a/src/sdmanager_p.h
+++ b/src/sdmanager_p.h
@@ -53,6 +53,7 @@ public:
Job::Ptr restartUnit(const QString &name, const Mode mode);
Job::Ptr startUnit(const QString &name, const Mode mode);
Job::Ptr stopUnit(const QString &name, const Mode mode);
+ void resetFailedUnit(const QString &name);
protected Q_SLOTS:
void onJobNew(const uint id, const QDBusObjectPath &job, const QString &unit);
--
1.9.0

View File

@ -0,0 +1,18 @@
diff --git a/QtSystemd.pc.cmake b/QtSystemd.pc.cmake
index 6b6c0e5..c3bdd42 100644
--- a/QtSystemd.pc.cmake
+++ b/QtSystemd.pc.cmake
@@ -1,6 +1,6 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=@CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@
+libdir=${prefix}/lib@LIB_SUFFIX@
includedir=${prefix}/include/QtSystemd
Name: QtSystemd
@@ -9,4 +9,4 @@ Version: @VERSION@
Requires: systemd
Cflags: -I${includedir} @CMAKE_INCLUDE_PATH@
-Libs: -L${libdir} -lQtSystemd @CMAKE_LIBRARY_PATH@
+Libs: -L${libdir} -lQtSystemd

View File

@ -0,0 +1,20 @@
DESCRIPTION = "Qt Wrapper for systemd"
HOMEPAGE = "https://github.com/ilpianista/libsystemd-qt"
LICENSE = "LGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
inherit cmake_qt5
DEPENDS += "systemd qtbase"
RDEPENDS_${PN} = "dbus"
PV = "208+git${SRCPV}"
SRC_URI = "git://github.com/ilpianista/libsystemd-qt;branch=master \
file://fix-pkgconfig.patch \
file://0001-Add-wrapper-for-the-resetFailedUnit-command.patch "
S= "${WORKDIR}/git"
SRCREV = "398056b33314fc583dd8d8422e5c2f8b797fdb3b"
FILES_${PN}-dev += "${libdir}/cmake/* ${libdir}/qt5/mkspecs/features/*"

View File

@ -0,0 +1,34 @@
From 33554f9b3fd493c7e28617fd01466ffa87251f27 Mon Sep 17 00:00:00 2001
From: Samuel Stirtzel <s.stirtzel@googlemail.com>
Date: Wed, 1 Aug 2012 13:21:51 +0200
Subject: [PATCH] Fix MALIIT_INSTALL_PRF to allow the build with openembedded
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
---
config.pri | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/config.pri b/config.pri
index b037b8c..43409f3 100644
--- a/config.pri
+++ b/config.pri
@@ -161,9 +161,11 @@ contains(QT_MAJOR_VERSION, 4) {
QT_WIDGETS = gui widgets
}
-MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
-local-install {
- MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
+isEmpty(MALIIT_INSTALL_PRF) {
+ MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features
+ local-install {
+ MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX)
+ }
}
defineTest(outputFile) {
--
1.7.9.5

View File

@ -0,0 +1,34 @@
From fb6acbd2af9ed288c1c4f4200fc73d8d9955486a Mon Sep 17 00:00:00 2001
From: Samuel Stirtzel <s.stirtzel@googlemail.com>
Date: Wed, 1 Aug 2012 13:33:10 +0200
Subject: [PATCH] Fix QT_IM_PLUGIN_PATH to allow openembedded to build Maliit
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
---
input-context/input-context.pri | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/input-context/input-context.pri b/input-context/input-context.pri
index d94e6a3..d460e70 100644
--- a/input-context/input-context.pri
+++ b/input-context/input-context.pri
@@ -25,8 +25,10 @@ for(OPTION,$$list($$lower($$COV_OPTION))){
QMAKE_CLEAN += $$OBJECTS_DIR/*.gcno $$OBJECTS_DIR/*.gcda
-QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods
-QT_PREFIX = $$[QT_INSTALL_PREFIX]
-local-install {
- QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX)
+isEmpty(QT_IM_PLUGIN_PATH) {
+ QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods
+ QT_PREFIX = $$[QT_INSTALL_PREFIX]
+ local-install {
+ QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX)
+ }
}
--
1.7.9.5

View File

@ -0,0 +1,23 @@
From cc33efdedbec9e9a55e9a0c6756516fd84d42e53 Mon Sep 17 00:00:00 2001
From: Samuel Stirtzel <s.stirtzel@googlemail.com>
Date: Fri, 1 Mar 2013 11:31:41 +0100
Subject: [PATCH] Link to libmaliit-1,0 in inputcontext plugin
Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
---
.../input-context-plugin/input-context-plugin.pro | 2 ++
1 file changed, 2 insertions(+)
diff --git a/input-context/input-context-plugin/input-context-plugin.pro b/input-context/input-context-plugin/input-context-plugin.pro
index eefbe93..296e2fa 100644
--- a/input-context/input-context-plugin/input-context-plugin.pro
+++ b/input-context/input-context-plugin/input-context-plugin.pro
@@ -15,3 +15,5 @@ CONFIG += plugin
INSTALLS += target
target.path += $$QT_IM_PLUGIN_PATH
+
+LIBS += -L../../lib -l"maliit-1.0"
--
1.7.9.5

View File

@ -0,0 +1,6 @@
[Desktop Entry]
Name=Maliit server
Exec=/usr/bin/maliit-server
Icon=
Type=Application
Categories=Utility;

View File

@ -0,0 +1,94 @@
DESCRIPTION = "A virtual keyboard for touch-screen based user interfaces"
HOMEPAGE = "https://wiki.maliit.org/Main_Page"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad"
inherit qmake5
SRC_URI = "git://github.com/maliit/framework.git;branch=master \
file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \
file://maliit-server.desktop \
"
SRCREV = "dbc0403f329d7f6ce2f5a09e6ff5adbd2548a8c9"
PV = "0.99.0+git${SRCPV}"
PACKAGES =+ "${PN}-gtk"
GTKIMMODULES_PACKAGES = "${PN}-gtk"
DEPENDS = "qtdeclarative"
# FIXME: Do we need something like this with qt5?
#RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
RRECOMMENDS_${PN} = "maliit-plugins-qt5"
FILES_${PN} += "\
${libdir}/*.so* \
${bindir} \
${datadir}/applications/maliit-server.desktop \
${datadir}/dbus-1 \
"
FILES_${PN}-dbg += "\
${libdir}/maliit-framework-tests \
"
FILES_${PN}-dev += "\
${includedir}/maliit \
${libdir}/pkgconfig \
${libdir}/qt5/mkspecs \
"
EXTRA_QMAKEVARS_PRE = "\
PREFIX=${prefix} \
LIBDIR=${libdir} \
DATADIR=${datadir} \
QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \
MALIIT_INSTALL_PRF=${QMAKE_MKSPEC_PATH}/mkspecs/features \
SCHEMADIR=${sysconfdir}/gconf/schemas \
CONFIG+=disable-gconf \
CONFIG+=disable-gtk-cache-update \
CONFIG+=local-install \
CONFIG+=nosdk \
CONFIG+=nodoc \
CONFIG+=noxcb \
CONFIG+=enable-dbus-activation \
"
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
do_install_append() {
#Fix absolute paths
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}/${QT_DIR_NAME}/mkspecs/features/maliit-framework.prf
sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${libdir}/${QT_DIR_NAME}/mkspecs/features/maliit-plugins.prf
install -d ${D}${datadir}/applications
install -m 644 ${WORKDIR}/maliit-server.desktop ${D}${datadir}/applications
}
pkg_postinst_${PN} () {
#!/bin/sh
# should run online
if [ "x$D" != "x" ]; then
exit 1
fi
echo "export QT_IM_MODULE=Maliit" >> /etc/xprofile
ln -s /usr/share/applications/maliit-server.desktop /etc/xdg/autostart/maliit-server.desktop
}
pkg_postrm_${PN} () {
#!/bin/sh
# should run online
if [ "x$D" = "x" ]; then
exit 1
fi
if [ -e "/etc/xprofile" ]; then
sed -i -e "g|export QT_IM_MODULE=Maliit|d" /etc/xprofile
fi
rm -f /etc/xdg/autostart/maliit-server.desktop
}
S = "${WORKDIR}/git"

View File

@ -0,0 +1,35 @@
DESCRIPTION = "Plugins for a virtual keyboard for touch-screen based user interfaces"
HOMEPAGE = "https://wiki.maliit.org/Main_Page"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
inherit qmake5
DEPENDS = "maliit-framework-qt5"
RDEPENDS_${PN} += "qtsvg-plugins"
SRC_URI = "git://github.com/maliit/plugins.git;branch=master"
SRCREV = "c6a348592607248a771a3dde5a0e33dc3c433a2a"
PV = "0.99.0+git${SRCPV}"
EXTRA_QMAKEVARS_PRE = "\
PREFIX=${prefix} \
MALIIT_INSTALL_PRF=${QMAKE_MKSPEC_PATH}/mkspecs/features \
MALIIT_PLUGINS_DATA_DIR=${datadir} \
LIBDIR=${libdir} \
CONFIG+=nodoc \
"
FILES_${PN} += "\
${libdir}/maliit \
${datadir} \
"
FILES_${PN}-dbg += "${libdir}/maliit/plugins/.debug"
S= "${WORKDIR}/git"
EXTRA_OEMAKE += "INSTALL_ROOT=${D}"

View File

@ -0,0 +1,7 @@
SUMMARY = "Meta package for building an installable Qt5 toolchain and SDK"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
inherit populate_sdk populate_sdk_qt5

View File

@ -0,0 +1,14 @@
# 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 \
nativesdk-qtbase-tools \
"

View File

@ -0,0 +1,16 @@
# Copyright (C) 2014 O.S. Systems Software LTDA.
SUMMARY = "Remote debugging tools for QtCreator integration"
LICENSE = "MIT"
inherit packagegroup
# Override by distro if needed
VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon ?= "openssh-sshd"
RDEPENDS_${PN} = " \
gdbserver \
${VIRTUAL-RUNTIME_qtcreator-debug-ssh-daemon} \
openssh-sftp-server \
qtdeclarative-plugins \
"

View File

@ -0,0 +1,40 @@
# Copyright (C) 2014 O.S. Systems Software LTDA.
DESCRIPTION = "Target packages for Qt5 SDK"
LICENSE = "MIT"
inherit packagegroup
PACKAGEGROUP_DISABLE_COMPLEMENTARY = "1"
# Requires meta-ruby to work
USE_RUBY = " \
qtwebkit-mkspecs \
qtwebkit-dev \
"
RDEPENDS_${PN} += " \
packagegroup-core-standalone-sdk-target \
libsqlite3-dev \
qtbase-mkspecs \
qtscript-mkspecs \
qtxmlpatterns-mkspecs \
qtdeclarative-mkspecs \
qtsensors-mkspecs \
qt3d-mkspecs \
qtlocation-mkspecs \
qtsvg-mkspecs \
qtbase-dev \
qtdeclarative-dev \
qtscript-dev \
qt3d-dev \
qtlocation-dev \
qtsensors-dev \
qtsvg-dev \
qtxmlpatterns-dev \
qtdeclarative-dev \
qtdeclarative-plugins \
qtdeclarative-qmlplugins \
qtgraphicaleffects-dev \
${@base_contains('BBFILE_COLLECTIONS', 'ruby-layer', '${USE_RUBY}', '', d)} \
"

View File

@ -0,0 +1,28 @@
SUMMARY = "Qt Simple Image Viewer"
DESCRIPTION = "A simple image viewer using a mix of C++ and qml code for demonstration."
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=11c7965a9059e287de5d93b98adf6d1a"
DEPENDS = "qtdeclarative"
SRCREV = "7b9810b0f02f9ac74fae3ead6e2e9fb5c1382173"
SRC_URI = "git://code.ossystems.com.br/qt/qsiv;protocol=http"
S = "${WORKDIR}/git"
inherit qmake5
EXTRA_QMAKEVARS_PRE += "target.path=${libdir}/${P}"
do_install_append() {
install -d ${D}${bindir}
echo "#!/bin/sh" > ${D}${bindir}/qsiv
echo "export QML_IMPORT_PATH=${libdir}/${P}/qml/qsiv" >> ${D}${bindir}/qsiv
echo "export QML2_IMPORT_PATH=${libdir}/${P}/qml/qsiv" >> ${D}${bindir}/qsiv
echo "${libdir}/${P}/qsiv \$* " >> ${D}${bindir}/qsiv
chmod +x ${D}${bindir}/qsiv
}
FILES_${PN} += "${libdir}/${P}"
RDEPENDS_${PN} += "qtdeclarative-qmlplugins"
FILES_${PN}-dbg += "${libdir}/${P}/.debug"

View File

@ -0,0 +1,12 @@
inherit nativesdk qmake5_base
# we don't want conflicts with qt4
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"

View File

@ -0,0 +1,223 @@
DESCRIPTION = "SDK version of Qt/[X11|Mac|Embedded]"
DEPENDS = "nativesdk-zlib nativesdk-dbus qtbase-native"
SECTION = "libs"
HOMEPAGE = "http://qt-project.org"
QT_MODULE = "qtbase"
require nativesdk-qt5.inc
# it's already included with newer oe-core, but include it here for dylan
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qtbase:"
PR = "r1"
# common with -native and target version
SRC_URI += "\
file://0001-Add-linux-oe-g-platform.patch \
file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
file://0003-Add-external-hostbindir-option.patch \
file://0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch \
file://0005-qt_module-Fix-pkgconfig-replacement.patch \
file://0006-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch \
file://0007-configure.prf-Allow-to-add-extra-arguments-to-make.patch \
file://0008-configure-make-pulseaudio-alsa-freetype-a-configurab.patch \
file://0009-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determ.patch \
"
# common with -native
SRC_URI += " \
file://0010-Always-build-uic.patch \
"
# specific for nativesdk version
SRC_URI += " \
file://0011-configure-preserve-built-qmake-and-swap-with-native-.patch \
file://0012-configure-bump-path-length-from-256-to-512-character.patch \
"
PACKAGES = "${PN}-tools-dbg ${PN}-tools-dev ${PN}-tools-staticdev ${PN}-tools"
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
FILES_${PN}-tools-dev = " \
${includedir} \
${FILES_SOLIBSDEV} ${libdir}/*.la \
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
"
FILES_${PN}-tools-staticdev = " \
${libdir}/libQt5Bootstrap.a \
"
FILES_${PN}-tools-dbg = " \
${libdir}/.debug \
${OE_QMAKE_PATH_BINS}/.debug \
"
FILES_${PN}-tools = " \
${libdir}/lib*${SOLIBS} \
${OE_QMAKE_PATH_BINS}/* \
"
# qttools binaries are placed in a subdir of bin in order to avoid
# collisions with qt4. This would trigger debian.bbclass to rename the
# package, since it doesn't detect binaries in subdirs. Explicitly
# disable package auto-renaming for the tools-package.
DEBIAN_NOAUTONAME_${PN}-tools = "1"
QT_CONFIG_FLAGS += " \
-reduce-relocations \
-shared \
-silent \
-no-pch \
-no-rpath \
-pkg-config \
${EXTRA_OECONF} \
"
# qtbase is exception, as these are used as install path for sysroots
OE_QMAKE_PATH_HOST_DATA = "${libdir}/${QT_DIR_NAME}"
OE_QMAKE_PATH_HOST_LIBS = "${libdir}"
do_generate_qt_config_file() {
cat > ${QT_CONF_PATH} <<EOF
[Paths]
Prefix = ${OE_QMAKE_PATH_PREFIX}
Headers = ${OE_QMAKE_PATH_HEADERS}
Libraries = ${OE_QMAKE_PATH_LIBS}
ArchData = ${OE_QMAKE_PATH_ARCHDATA}
Data = ${OE_QMAKE_PATH_DATA}
Binaries = ${OE_QMAKE_PATH_BINS}
LibraryExecutables = ${OE_QMAKE_PATH_LIBEXECS}
Plugins = ${OE_QMAKE_PATH_PLUGINS}
Imports = ${OE_QMAKE_PATH_IMPORTS}
Qml2Imports = ${OE_QMAKE_PATH_QML}
Translations = ${OE_QMAKE_PATH_TRANSLATIONS}
Documentation = ${OE_QMAKE_PATH_DOCS}
Settings = ${OE_QMAKE_PATH_SETTINGS}
Examples = ${OE_QMAKE_PATH_EXAMPLES}
Tests = ${OE_QMAKE_PATH_TESTS}
HostBinaries = ${OE_QMAKE_PATH_HOST_BINS}
HostData = ${OE_QMAKE_PATH_HOST_DATA}
HostLibraries = ${OE_QMAKE_PATH_HOST_LIBS}
HostSpec = ${OE_QMAKESPEC}
TartgetSpec = ${OE_XQMAKESPEC}
ExternalHostBinaries = ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}
Sysroot =
EOF
}
do_generate_qt_config_file_append() {
cat >> ${QT_CONF_PATH} <<EOF
[EffectivePaths]
Prefix=..
EOF
}
# qtbase is exception, we need to use mkspecs from ${S}
QMAKE_MKSPEC_PATH = "${B}"
# qtbase is exception, configure script is using our get(X)QEvalMakeConf and setBootstrapEvalVariable functions to read it from shell
export OE_QMAKE_COMPILER
export OE_QMAKE_CC
export OE_QMAKE_CFLAGS
export OE_QMAKE_CXX
export OE_QMAKE_CXXFLAGS
export OE_QMAKE_LINK
export OE_QMAKE_LDFLAGS
export OE_QMAKE_AR
export OE_QMAKE_STRIP
# another exception is that we need to run bin/qmake, because EffectivePaths are relative to qmake location
OE_QMAKE_QMAKE_ORIG = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake"
OE_QMAKE_QMAKE = "bin/qmake"
do_configure() {
# we need symlink in path relative to source, because
# EffectivePaths:Prefix is relative to qmake location
# Also, configure expects qmake-native to swap with real one
if [ ! -e ${B}/bin/qmake-native ]; then
mkdir ${B}/bin
ln -sf ${OE_QMAKE_QMAKE_ORIG} ${B}/bin/qmake-native
fi
${S}/configure -v \
-dont-process \
-opensource -confirm-license \
-sysroot ${STAGING_DIR_NATIVE} \
-no-gcc-sysroot \
-system-zlib \
-no-libjpeg \
-no-libpng \
-no-gif \
-no-accessibility \
-no-cups \
-no-nis \
-no-gui \
-no-qml-debug \
-no-sql-mysql \
-no-sql-sqlite \
-no-opengl \
-no-openssl \
-no-xcb \
-verbose \
-release \
-prefix ${OE_QMAKE_PATH_PREFIX} \
-bindir ${OE_QMAKE_PATH_BINS} \
-libdir ${OE_QMAKE_PATH_LIBS} \
-datadir ${OE_QMAKE_PATH_DATA} \
-sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
-docdir ${OE_QMAKE_PATH_DOCS} \
-headerdir ${OE_QMAKE_PATH_HEADERS} \
-archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
-libexecdir ${OE_QMAKE_PATH_LIBEXECS} \
-plugindir ${OE_QMAKE_PATH_PLUGINS} \
-importdir ${OE_QMAKE_PATH_IMPORTS} \
-qmldir ${OE_QMAKE_PATH_QML} \
-translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \
-testsdir ${OE_QMAKE_PATH_TESTS} \
-hostbindir ${OE_QMAKE_PATH_HOST_BINS} \
-hostdatadir ${OE_QMAKE_PATH_HOST_DATA} \
-external-hostbindir ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
-no-glib \
-no-iconv \
-silent \
-nomake examples \
-nomake tests \
-nomake libs \
-no-compile-examples \
-no-rpath \
-platform ${OE_QMAKESPEC} \
-xplatform linux-oe-g++ \
${QT_CONFIG_FLAGS}
bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
do_install() {
# Fix install paths for all
find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
oe_runmake install INSTALL_ROOT=${D}
# replace the native qmake installed above with nativesdk version
rm -rf ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
install -m 755 ${B}/bin/qmake-real ${D}${OE_QMAKE_PATH_HOST_BINS}/qmake
# for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
# e.g. qt3d, qtwayland
ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
# remove things unused in nativesdk, we need the headers, Qt5Core
# and Qt5Bootstrap.
rm -rf ${D}${datadir} \
${D}/${OE_QMAKE_PATH_PLUGINS} \
${D}${libdir}/cmake \
${D}${libdir}/pkgconfig
find ${D}${libdir} -maxdepth 1 -name 'lib*' -and \
-not -name 'libQt5Core.so*' -and \
-not -name 'libQt5Bootstrap.a' \
-exec rm '{}' ';'
}

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "fa005301a2000b92b61b63edc042567b"
SRC_URI[sha256sum] = "acdfd1aa2548ebea1d922e8e24e5c59f5fc3b2beae7c8003ba47d773bfcc94c0"

View File

@ -0,0 +1,34 @@
DEPENDS = "nativesdk-qtbase qtbase-native"
QT_MODULE = "qttools"
require nativesdk-qt5.inc
# it's already included with newer oe-core, but include it here for dylan
FILESEXTRAPATHS =. "${FILE_DIRNAME}/qttools:"
SRC_URI += "file://0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch"
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
FILES_${PN}-dbg = " \
${OE_QMAKE_PATH_BINS}/.debug \
"
FILES_${PN} = " \
${OE_QMAKE_PATH_BINS}/* \
"
do_configure() {
${OE_QMAKE_QMAKE} ${OE_QMAKE_DEBUG_OUTPUT} -r ${S} CONFIG+=linguistonly
}
do_install() {
# Fix install paths for all
find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_HOST},(INSTALL_ROOT),g"
oe_runmake install INSTALL_ROOT=${D}
# remove things unused in nativesdk
rm -rf ${D}${libdir}
}

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "f56b2e6c537f6853d9bf10380c39418b"
SRC_URI[sha256sum] = "ff2f850f63798441aaaa0b18c741460acdd62c74d6a9e6a76521956e4bcb27d5"

View File

@ -0,0 +1,16 @@
require qt5.inc
DEPENDS += "qtdeclarative"
LICENSE = "GFDL-1.3 & LGPL-2.1 & DIGIA-TPLA-2.4 | GPL-3.0"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
file://LICENSE.PREVIEW.COMMERCIAL;md5=9d94dadfab8b246782ffea02082ee13a \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \
file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
"
FILES_${PN}-qmlplugins += " \
${OE_QMAKE_PATH_QML}/*/*/*.bez \
${OE_QMAKE_PATH_QML}/*/*/*.obj \
"

View File

@ -0,0 +1,14 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "master"
# last tag before this SRCREV is 5.0.0-beta1, but version says 5.3.0 already
SRCREV = "d3338a9f7fcac109d7bc7f600d5974ff333782ad"
do_configure_prepend() {
# Temporary hack to get qt3d build for Qt 5.1.0
if ! grep -q MODULE_VERSION ${S}/.qmake.conf; then
echo "MODULE_VERSION = 5.3.0" >> ${S}/.qmake.conf
fi
}

View File

@ -0,0 +1,19 @@
# Copyright (C) 2012 O.S. Systems Software LTDA.
# Copyright (C) 2013 Martin Jansa <martin.jansa@gmail.com>
QT_VERSION ?= "${PV}"
# it's different for RC versions
QT_VERSION_DIR ?= "5.2"
SRC_URI += " \
http://download.qt-project.org/official_releases/qt/${QT_VERSION_DIR}/${QT_VERSION}/submodules/${QT_MODULE}-opensource-src-${QT_VERSION}.tar.xz \
"
S = "${WORKDIR}/${QT_MODULE}-opensource-src-${QT_VERSION}"
LICENSE = "GFDL-1.3 & LGPL-2.1 | GPL-3.0"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"

View File

@ -0,0 +1,23 @@
# Copyright (C) 2012 O.S. Systems Software LTDA.
# Copyright (C) 2013-2014 Martin Jansa <martin.jansa@gmail.com>
QT_MODULE_BRANCH ?= "stable"
# each module needs to define valid SRCREV
SRC_URI += " \
git://qt.gitorious.org/qt/${QT_MODULE}.git;branch=${QT_MODULE_BRANCH} \
"
S = "${WORKDIR}/git"
PV = "5.2.1+git${SRCPV}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-git:"
DEFAULT_PREFERENCE = "-1"
LICENSE = "GFDL-1.3 & LGPL-2.1 | GPL-3.0"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"

View File

@ -0,0 +1,19 @@
inherit native qmake5_base
# we don't want conflicts with qt4
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
# Regenerate header files when they are included in source tarball
# Otherwise cmake files don't set PRIVATE_HEADERS correctly
do_configure_prepend() {
rm -rf ${S}/include
mkdir -p ${S}/.git || true
}

View File

@ -0,0 +1,161 @@
# Copyright (C) 2012 O.S. Systems Software LTDA.
# Copyright (C) 2013 Martin Jansa <martin.jansa@gmail.com>
inherit qmake5
PACKAGECONFIG_OPENSSL ?= "openssl"
QT_MODULE ?= "${BPN}"
# we don't want conflicts with qt4
OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
# If Qt5 (qtbase) is machine specific, then everything will be,
# because the (initial) qtbase configuration becomes part of Qt5/qmake
python __anonymous() {
barch = d.getVar("BUILD_ARCH", True) or ''
tarch = d.getVar("TARGET_ARCH", True) or ''
# do not do anything if we are building a native package
if barch != tarch:
tarch = d.getVar("QT_PACKAGES_ARCH", True) or ''
if tarch:
d.setVar("PACKAGE_ARCH", tarch)
}
# Regenerate header files when they are included in source tarball
# Otherwise cmake files don't set PRIVATE_HEADERS correctly
do_configure_prepend() {
rm -rf ${S}/include
mkdir -p ${S}/.git || true
}
PACKAGES =. "${PN}-qmlplugins-dbg ${PN}-tools-dbg ${PN}-plugins-dbg ${PN}-qmlplugins ${PN}-tools ${PN}-plugins ${PN}-mkspecs ${PN}-examples-dev ${PN}-examples-staticdev ${PN}-examples-dbg ${PN}-examples "
# extra -dbg packages
FILES_${PN}-qmlplugins-dbg = " \
${OE_QMAKE_PATH_QML}/*/.debug \
${OE_QMAKE_PATH_QML}/*/*/.debug \
${OE_QMAKE_PATH_QML}/*/*/*/.debug \
${OE_QMAKE_PATH_IMPORTS}/*/.debug \
${OE_QMAKE_PATH_IMPORTS}/*/*/.debug \
${OE_QMAKE_PATH_IMPORTS}/*/*/*/.debug \
"
FILES_${PN}-tools-dbg = " \
${OE_QMAKE_PATH_BINS}/.debug \
"
FILES_${PN}-plugins-dbg = " \
${OE_QMAKE_PATH_PLUGINS}/*/.debug/* \
"
# extra packages
# qmlplugins 1-4 levels of subdirs qmldir + *{.so,*.qmltypes,*.qml,*js}
FILES_${PN}-qmlplugins = " \
${OE_QMAKE_PATH_QML}/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_QML}/*/qmldir \
${OE_QMAKE_PATH_QML}/*/*.qmltypes \
${OE_QMAKE_PATH_QML}/*/*.qml \
${OE_QMAKE_PATH_QML}/*/*.js \
${OE_QMAKE_PATH_QML}/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_QML}/*/*/qmldir \
${OE_QMAKE_PATH_QML}/*/*/*.qmltypes \
${OE_QMAKE_PATH_QML}/*/*/*.qml \
${OE_QMAKE_PATH_QML}/*/*/*.js \
${OE_QMAKE_PATH_QML}/*/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_QML}/*/*/*/qmldir \
${OE_QMAKE_PATH_QML}/*/*/*/*.qmltypes \
${OE_QMAKE_PATH_QML}/*/*/*/*.qml \
${OE_QMAKE_PATH_QML}/*/*/*/*.js \
${OE_QMAKE_PATH_QML}/*/*/*/*.png \
${OE_QMAKE_PATH_QML}/*/*/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_QML}/*/*/*/*/qmldir \
${OE_QMAKE_PATH_QML}/*/*/*/*/*.qmltypes \
${OE_QMAKE_PATH_QML}/*/*/*/*/*.qml \
${OE_QMAKE_PATH_QML}/*/*/*/*/*.js \
${OE_QMAKE_PATH_QML}/*/*/*/*/*/*.png \
${OE_QMAKE_PATH_IMPORTS}/*.qmltypes \
${OE_QMAKE_PATH_IMPORTS}/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_IMPORTS}/*/*.qmltypes \
${OE_QMAKE_PATH_IMPORTS}/*/qmldir \
${OE_QMAKE_PATH_IMPORTS}/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_IMPORTS}/*/*/*.qmltypes \
${OE_QMAKE_PATH_IMPORTS}/*/*/qmldir \
${OE_QMAKE_PATH_IMPORTS}/*/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_IMPORTS}/*/*/*/*.qmltypes \
${OE_QMAKE_PATH_IMPORTS}/*/*/*/qmldir \
"
FILES_${PN}-tools = " \
${OE_QMAKE_PATH_BINS}/* \
"
FILES_${PN}-plugins = " \
${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
"
FILES_${PN}-mkspecs = "\
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
"
# modifications to normal packages
FILES_${PN} += " \
${OE_QMAKE_PATH_LIBS}/lib*${SOLIBS} \
${OE_QMAKE_PATH_LIBEXECS} \
"
FILES_${PN}-dev += " \
${OE_QMAKE_PATH_LIBS}/lib*${SOLIBSDEV} \
${OE_QMAKE_PATH_LIBS}/pkgconfig \
${OE_QMAKE_PATH_LIBS}/cmake/* \
${OE_QMAKE_PATH_LIBS}/*.prl \
${OE_QMAKE_PATH_LIBS}/*.la \
${OE_QMAKE_PATH_DATA}/* \
${OE_QMAKE_PATH_HEADERS}/* \
"
FILES_${PN}-dbg += " \
${OE_QMAKE_PATH_LIBS}/.debug \
${OE_QMAKE_PATH_LIBEXECS}/.debug \
"
FILES_${PN}-staticdev += " \
${OE_QMAKE_PATH_LIBS}/*.a \
"
FILES_${PN}-examples = " \
${OE_QMAKE_PATH_EXAMPLES}/*/* \
"
FILES_${PN}-examples-dev = " \
${OE_QMAKE_PATH_EXAMPLES}/*${SOLIBSDEV} \
${OE_QMAKE_PATH_EXAMPLES}/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*${SOLIBSDEV} \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*/*${SOLIBSDEV} \
"
FILES_${PN}-examples-dbg = " \
${OE_QMAKE_PATH_EXAMPLES}/.debug \
${OE_QMAKE_PATH_EXAMPLES}/*/.debug \
${OE_QMAKE_PATH_EXAMPLES}/*/*/.debug \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/.debug \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/.debug \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/.debug \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/.debug \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*/.debug \
"
FILES_${PN}-examples-staticdev = " \
${OE_QMAKE_PATH_EXAMPLES}/*.a \
${OE_QMAKE_PATH_EXAMPLES}/*/*.a \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*.a \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*.a \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*.a \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*.a \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*.a \
${OE_QMAKE_PATH_EXAMPLES}/*/*/*/*/*/*/*/*.a \
"
PATH_prepend = "${STAGING_DIR_NATIVE}${OE_QMAKE_PATH_QT_BINS}:"

View File

@ -0,0 +1,107 @@
DESCRIPTION = "Native version of Qt/[X11|Mac|Embedded]"
DEPENDS = "zlib-native dbus-native"
SECTION = "libs"
HOMEPAGE = "http://qt-project.org"
QT_MODULE = "qtbase"
require qt5-native.inc
# common with target version
# common with -native and target version
SRC_URI += "\
file://0001-Add-linux-oe-g-platform.patch \
file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
file://0003-Add-external-hostbindir-option.patch \
file://0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch \
file://0005-qt_module-Fix-pkgconfig-replacement.patch \
file://0006-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch \
file://0007-configure.prf-Allow-to-add-extra-arguments-to-make.patch \
file://0008-configure-make-pulseaudio-alsa-freetype-a-configurab.patch \
file://0009-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determ.patch \
"
# specific for native version
SRC_URI += " \
file://0010-Always-build-uic.patch \
"
QT_CONF_PATH = "${B}/qt.conf"
do_generate_qt_config_file() {
:
}
EXTRA_OECONF = " \
-dont-process \
-prefix ${prefix} \
-sysroot ${STAGING_DIR_NATIVE} \
-no-gcc-sysroot \
-system-zlib \
-no-libjpeg \
-no-libpng \
-no-gif \
-no-accessibility \
-no-cups \
-no-nis \
-no-gui \
-no-qml-debug \
-no-sql-mysql \
-no-sql-sqlite \
-no-opengl \
-no-openssl \
-no-xcb \
-no-icu \
-verbose \
-release \
-prefix ${OE_QMAKE_PATH_PREFIX} \
-bindir ${OE_QMAKE_PATH_BINS} \
-libdir ${OE_QMAKE_PATH_LIBS} \
-headerdir ${OE_QMAKE_PATH_HEADERS} \
-archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
-datadir ${OE_QMAKE_PATH_DATA} \
-docdir ${OE_QMAKE_PATH_DOCS} \
-sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
-no-glib \
-no-iconv \
-silent \
-nomake examples \
-nomake tests \
-no-rpath \
-platform linux-oe-g++ \
"
# qtbase is exception, configure script is using our get(X)QEvalMakeConf and setBootstrapEvalVariable functions to read it from shell
export OE_QMAKE_COMPILER
export OE_QMAKE_CC
export OE_QMAKE_CFLAGS
export OE_QMAKE_CXX
export OE_QMAKE_CXXFLAGS
export OE_QMAKE_LINK
export OE_QMAKE_LDFLAGS
export OE_QMAKE_AR
export OE_QMAKE_STRIP
do_configure_prepend() {
(echo o; echo yes) | ${S}/configure ${EXTRA_OECONF} || die "Configuring qt failed. EXTRA_OECONF was ${EXTRA_OECONF}"
bin/qmake ${OE_QMAKE_DEBUG_OUTPUT} ${S} -o Makefile || die "Configuring qt with qmake failed. EXTRA_OECONF was ${EXTRA_OECONF}"
}
do_install() {
# Fix install paths for all
find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE},(INSTALL_ROOT)${STAGING_DIR_NATIVE},g"
oe_runmake install INSTALL_ROOT=${D}
if [ -d ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE} ] ; then
echo "Some files are installed in wrong directory ${D}${STAGING_DIR_NATIVE}"
cp -ra ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}/* ${D}${STAGING_DIR_NATIVE}
rm -rf ${D}${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}
# remove empty dirs
TMP=`dirname ${D}/${STAGING_DIR_NATIVE}${STAGING_DIR_NATIVE}`
while test ${TMP} != ${D}${STAGING_DIR_NATIVE}; do
rmdir ${TMP}
TMP=`dirname ${TMP}`;
done
fi
}

View File

@ -0,0 +1,11 @@
require qt5-${PV}.inc
require ${PN}.inc
do_install_append() {
# for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
# e.g. qt3d, qtwayland
ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
}
SRC_URI[md5sum] = "fa005301a2000b92b61b63edc042567b"
SRC_URI[sha256sum] = "acdfd1aa2548ebea1d922e8e24e5c59f5fc3b2beae7c8003ba47d773bfcc94c0"

View File

@ -0,0 +1,12 @@
require qt5-git.inc
require ${PN}.inc
do_install_append() {
# for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
# e.g. qt3d, qtwayland
ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
}
QT_MODULE_BRANCH = "release"
# v5.2.1 + 168 commits
SRCREV = "08cbbde61778276ccdda73d89fd64d02c623779f"

View File

@ -0,0 +1,247 @@
require qt5.inc
# common with -native
SRC_URI += "\
file://0001-Add-linux-oe-g-platform.patch \
file://0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch \
file://0003-Add-external-hostbindir-option.patch \
file://0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch \
file://0005-qt_module-Fix-pkgconfig-replacement.patch \
file://0006-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch \
file://0007-configure.prf-Allow-to-add-extra-arguments-to-make.patch \
file://0008-configure-make-pulseaudio-alsa-freetype-a-configurab.patch \
file://0009-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determ.patch \
"
SRC_URI += "\
file://0010-qmake-is-already-built-in-qtbase-native.patch \
file://0011-Allow-building-a-separate-qmake-for-the-target.patch \
file://0013-QOpenGLPaintDevice-sub-area-support.patch \
file://0014-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \
file://0016-eglfs-Fix-quad-coordinates.patch \
"
DEPENDS += "qtbase-native"
# for syncqt
RDEPENDS_${PN}-tools += "perl"
# separate some parts of PACKAGECONFIG which are often changed
# be aware that you need to add icu to build qtwebkit, default
# PACKAGECONFIG is kept rather minimal for people who don't need
# stuff like webkit (and it's easier to add options than remove)
# gl or gles needs to be enabled in order to build qtdeclarative
# http://qt.gitorious.org/qt/qtdeclarative/commit/e988998a08b1420ed10bd02d9d4b3b8ed2289df9
PACKAGECONFIG_GL ?= "${@base_contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)}"
PACKAGECONFIG_FB ?= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
PACKAGECONFIG_X11 ?= "${@base_contains('DISTRO_FEATURES', 'x11', 'xcb xvideo xsync xshape xrender xrandr xfixes xinput2 xinput xinerama xcursor gtkstyle', '', d)}"
PACKAGECONFIG_FONTS ?= ""
PACKAGECONFIG_SYSTEM ?= "jpeg libpng zlib"
PACKAGECONFIG_MULTIMEDIA ?= "${@base_contains('DISTRO_FEATURES', 'pulseaudio', 'pulseaudio', '', d)}"
PACKAGECONFIG_DISTRO ?= ""
# Either release or debug, can be overridden in bbappends
PACKAGECONFIG_RELEASE ?= "release"
# This is in qt5.inc, because qtwebkit-examples are using it to enable ca-certificates dependency
# PACKAGECONFIG_OPENSSL ?= "openssl"
PACKAGECONFIG_DEFAULT ?= "dbus udev tools libs"
PACKAGECONFIG ?= " \
${PACKAGECONFIG_RELEASE} \
${PACKAGECONFIG_DEFAULT} \
${PACKAGECONFIG_OPENSSL} \
${PACKAGECONFIG_SYSTEM} \
${PACKAGECONFIG_DISTRO} \
"
PACKAGECONFIG[release] = "-release,-debug"
PACKAGECONFIG[developer] = "-developer-build"
PACKAGECONFIG[sm] = "-sm,-no-sm"
PACKAGECONFIG[tests] = "-make tests,-nomake tests"
PACKAGECONFIG[examples] = "-make examples -compile-examples,-nomake examples"
PACKAGECONFIG[tools] = "-make tools,-nomake tools"
# only for completeness, configure will add libs even if you try to explicitly remove it
PACKAGECONFIG[libs] = "-make libs,-nomake libs"
# accessibility is required to compile qtquickcontrols
PACKAGECONFIG[accessibility] = "-accessibility,-no-accessibility"
PACKAGECONFIG[glib] = "-glib,-no-glib,glib-2.0"
# use either system freetype or bundled freetype, if you disable freetype completely
# fontdatabases/basic/qbasicfontdatabase.cpp will fail to build and system freetype
# works only together with fontconfig
PACKAGECONFIG[freetype] = "-system-freetype,-freetype,freetype"
PACKAGECONFIG[jpeg] = "-system-libjpeg,-no-libjpeg,jpeg"
PACKAGECONFIG[libpng] = "-system-libpng,-no-libpng,libpng"
PACKAGECONFIG[zlib] = "-system-zlib,-qt-zlib,zlib"
PACKAGECONFIG[pcre] = "-system-pcre,-qt-pcre,pcre"
# gl or gles2 is needed in order to build qtdeclarative (qtdeclarative.do_configure fails to find quick module without)
PACKAGECONFIG[gl] = "-opengl desktop -no-eglfs,,virtual/libgl"
PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2 virtual/egl"
PACKAGECONFIG[tslib] = "-tslib,-no-tslib,tslib"
PACKAGECONFIG[dbus] = "-dbus,-no-dbus,dbus"
PACKAGECONFIG[xcb] = "-xcb,-no-xcb,xcb-util-wm xcb-util-image xcb-util-keysyms"
PACKAGECONFIG[sql-ibase] = "-sql-ibase,-no-sql-ibase"
PACKAGECONFIG[sql-mysql] = "-sql-mysql,-no-sql-mysql,mysql"
PACKAGECONFIG[sql-psql] = "-sql-psql,-no-sql-psql,postgresql"
PACKAGECONFIG[sql-odbc] = "-sql-odbc,-no-sql-odbc"
PACKAGECONFIG[sql-oci] = "-sql-oci,-no-sql-oci"
PACKAGECONFIG[sql-tds] = "-sql-tds,-no-sql-tds"
PACKAGECONFIG[sql-db2] = "-sql-db2,-no-sql-db2"
PACKAGECONFIG[sql-sqlite2] = "-sql-sqlite2,-no-sql-sqlite2,sqlite"
PACKAGECONFIG[sql-sqlite] = "-sql-sqlite,-no-sql-sqlite,sqlite3"
PACKAGECONFIG[xcursor] = "-xcursor,-no-xcursor,libxcursor"
PACKAGECONFIG[xinerama] = "-xinerama,-no-xinerama,libxinerama"
PACKAGECONFIG[xinput] = "-xinput,-no-xinput"
PACKAGECONFIG[xinput2] = "-xinput2,-no-xinput2"
PACKAGECONFIG[xfixes] = "-xfixes,-no-xfixes,libxfixes"
PACKAGECONFIG[xrandr] = "-xrandr,-no-xrandr,libxrandr"
PACKAGECONFIG[xrender] = "-xrender,-no-xrender,libxrender"
PACKAGECONFIG[xshape] = "-xshape,-no-xshape"
PACKAGECONFIG[xsync] = "-xsync,-no-xsync"
PACKAGECONFIG[xvideo] = "-xvideo,-no-xvideo"
PACKAGECONFIG[openvg] = "-openvg,-no-openvg"
PACKAGECONFIG[iconv] = "-iconv,-no-iconv,virtual/libiconv"
PACKAGECONFIG[xkb] = "-xkb,-no-xkb,libxkbcommon"
PACKAGECONFIG[evdev] = "-evdev,-no-evdev"
PACKAGECONFIG[mtdev] = "-mtdev,-no-mtdev,mtdev"
# depends on glib
PACKAGECONFIG[fontconfig] = "-fontconfig,-no-fontconfig,fontconfig"
PACKAGECONFIG[gtkstyle] = "-gtkstyle,-no-gtkstyle,gtk+"
PACKAGECONFIG[directfb] = "-directfb,-no-directfb,directfb"
PACKAGECONFIG[linuxfb] = "-linuxfb,-no-linuxfb"
PACKAGECONFIG[mitshm] = "-mitshm,-no-mitshm,mitshm"
PACKAGECONFIG[kms] = "-kms,-no-kms,virtual/mesa virtual/egl"
# needed for qtdeclarative (qtdeclarative.do_configure fails to find quick module without)
PACKAGECONFIG[icu] = "-icu,-no-icu,icu"
PACKAGECONFIG[udev] = "-libudev,-no-libudev,udev"
# use -openssl-linked here to ensure that RDEPENDS for libcrypto and libssl are detected
PACKAGECONFIG[openssl] = "-openssl-linked,-no-openssl,openssl"
PACKAGECONFIG[alsa] = "-alsa,-no-alsa,alsa-lib"
PACKAGECONFIG[pulseaudio] = "-pulseaudio,-no-pulseaudio,pulseaudio"
PACKAGECONFIG[nis] = "-nis,-no-nis"
PACKAGECONFIG[widgets] = "-widgets,-no-widgets"
QT_CONFIG_FLAGS += " \
-reduce-relocations \
-shared \
-silent \
-no-pch \
-no-rpath \
-pkg-config \
-no-qpa-platform-guard \
${EXTRA_OECONF} \
"
do_generate_qt_config_file_append() {
cat >> ${QT_CONF_PATH} <<EOF
[EffectivePaths]
Prefix=..
EOF
}
# qtbase is exception, we need to use mkspecs from ${S}
QMAKE_MKSPEC_PATH = "${B}"
# another exception is that we need to run bin/qmake, because EffectivePaths are relative to qmake location
OE_QMAKE_QMAKE_ORIG = "${STAGING_BINDIR_NATIVE}/${QT_DIR_NAME}/qmake"
OE_QMAKE_QMAKE = "bin/qmake"
# qtbase is exception, configure script is using our get(X)QEvalMakeConf and setBootstrapEvalVariable functions to read it from shell
export OE_QMAKE_COMPILER
export OE_QMAKE_CC
export OE_QMAKE_CFLAGS
export OE_QMAKE_CXX
export OE_QMAKE_CXXFLAGS
export OE_QMAKE_LINK
export OE_QMAKE_LDFLAGS
export OE_QMAKE_AR
export OE_QMAKE_STRIP
do_configure() {
# we need symlink in path relative to source, because
# EffectivePaths:Prefix is relative to qmake location
if [ ! -e ${B}/bin/qmake ]; then
mkdir ${B}/bin
ln -sf ${OE_QMAKE_QMAKE_ORIG} ${B}/bin/qmake
fi
${S}/configure -v \
-dont-process \
-opensource -confirm-license \
-sysroot ${STAGING_DIR_TARGET} \
-no-gcc-sysroot \
-prefix ${OE_QMAKE_PATH_PREFIX} \
-bindir ${OE_QMAKE_PATH_BINS} \
-libdir ${OE_QMAKE_PATH_LIBS} \
-datadir ${OE_QMAKE_PATH_DATA} \
-sysconfdir ${OE_QMAKE_PATH_SETTINGS} \
-docdir ${OE_QMAKE_PATH_DOCS} \
-headerdir ${OE_QMAKE_PATH_HEADERS} \
-archdatadir ${OE_QMAKE_PATH_ARCHDATA} \
-libexecdir ${OE_QMAKE_PATH_LIBEXECS} \
-plugindir ${OE_QMAKE_PATH_PLUGINS} \
-importdir ${OE_QMAKE_PATH_IMPORTS} \
-qmldir ${OE_QMAKE_PATH_QML} \
-translationdir ${OE_QMAKE_PATH_TRANSLATIONS} \
-testsdir ${OE_QMAKE_PATH_TESTS} \
-examplesdir ${OE_QMAKE_PATH_EXAMPLES} \
-hostbindir ${OE_QMAKE_PATH_HOST_BINS} \
-hostdatadir ${OE_QMAKE_PATH_HOST_DATA} \
-external-hostbindir ${OE_QMAKE_PATH_EXTERNAL_HOST_BINS} \
-platform ${OE_QMAKESPEC} \
-xplatform linux-oe-g++ \
${QT_CONFIG_FLAGS}
qmake5_base_do_configure
}
do_compile_append() {
# Build qmake for the target arch
# Disable for now, because doesn't work well with separate ${B}
# cp -ra ${S}/qmake ${B}
# cd ${B}/qmake
# ${OE_QMAKE_QMAKE}
# Fix to use headers in ${B}
# sed '/INCPATH/s#${S}#${B}#g' -i Makefile
# oe_runmake CC="${CC}" CXX="${CXX}"
# cd ${B}
}
do_install_append() {
### Fix up the binaries to the right location
### TODO: FIX
# qemu built on host breaks do_package, remove it here (will be replaces with right qemu when do_compile is fixed
# ERROR: objcopy failed with exit code 1 (cmd was 'arm-oe-linux-gnueabi-objcopy' --only-keep-debug '/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.1-r0.0/package/usr/bin/qmake' '/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.1-r0.0/package/usr/bin/.debug/qmake')
rm -f ${D}/${bindir}/${QT_DIR_NAME}/qmake
# install fonts manually if they are missing
if [ ! -d ${D}/${OE_QMAKE_PATH_LIBS}/fonts ]; then
cp -a ${S}/lib/fonts ${D}/${OE_QMAKE_PATH_LIBS}
fi
}
PACKAGES =. " \
${PN}-fonts \
${PN}-fonts-ttf-vera \
${PN}-fonts-ttf-dejavu \
${PN}-fonts-pfa \
${PN}-fonts-pfb \
${PN}-fonts-qpf \
"
RRECOMMENDS_${PN}-fonts = " \
${PN}-fonts-ttf-vera \
${PN}-fonts-ttf-dejavu \
${PN}-fonts-pfa \
${PN}-fonts-pfb \
${PN}-fonts-qpf \
"
ALLOW_EMPTY_${PN}-fonts = "1"
FILES_${PN}-fonts-ttf-vera = "${OE_QMAKE_PATH_LIBS}/fonts/Vera*.ttf"
FILES_${PN}-fonts-ttf-dejavu = "${OE_QMAKE_PATH_LIBS}/fonts/DejaVu*.ttf"
FILES_${PN}-fonts-pfa = "${OE_QMAKE_PATH_LIBS}/fonts/*.pfa"
FILES_${PN}-fonts-pfb = "${OE_QMAKE_PATH_LIBS}/fonts/*.pfb"
FILES_${PN}-fonts-qpf = "${OE_QMAKE_PATH_LIBS}/fonts/*.qpf*"
FILES_${PN}-fonts = "${OE_QMAKE_PATH_LIBS}/fonts/README \
${OE_QMAKE_PATH_LIBS}/fonts/fontdir"

View File

@ -0,0 +1,304 @@
From f883ec8652ee603d9bb9def7eb669ed82c493961 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Mon, 15 Apr 2013 04:29:32 +0200
Subject: [PATCH 01/14] Add linux-oe-g++ platform
* This qmake.conf unlike other platforms reads most variables from
shell environment, because it's easier for qt recipes to export
*FLAGS or CC specific for given recipe
* configure: add getQEvalMakeConf and getXQEvalMakeConf
Allow expansion of $(...) references from qmake.conf to generate
qmake environment from shell environment as exported by qmake5_base
* OE_QMAKE_CXX in order to allow compiler version check to succeed
which allows WebKit to be enabled.
* Other variables in order to let config.tests to use our -platform
settings
* Add setBootstrapEvalVariable to bootstrap qmake with our environment
too, this allows us to use -platform linux-oe-g++ also for native
recipe
* disable gdb_dwarf_index
* qmake is trying to call native gdb and we don't depend on gdb-native
(or even provide gdb-native)
* fixes errors like this:
/bin/sh: gdb: command not found
/bin/sh: line 0: test: -gt: unary operator expected
which are not fatal, but still misleading in do_configure output
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 54 ++++++++++++++++---
mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++
mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++
3 files changed, 187 insertions(+), 7 deletions(-)
create mode 100644 mkspecs/linux-oe-g++/qmake.conf
create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h
diff --git a/configure b/configure
index aaa59bd..0e74f29 100755
--- a/configure
+++ b/configure
@@ -324,6 +324,16 @@ getQMakeConf()
getSingleQMakeVariable "$1" "$specvals"
}
+# OE qmake.conf is reading some variables from shell env
+# read them from qmake.conf, replace qmake () syntax with shell and eval
+getQEvalMakeConf()
+{
+ VAL=`getQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
+ EVAL=`eval "echo ${VAL}"`
+# echo "Running getQEvalMakeConf: var='$1', val='`getQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2
+ eval "echo ${VAL}"
+}
+
getXQMakeConf()
{
if [ -z "$xspecvals" ]; then
@@ -333,6 +343,16 @@ getXQMakeConf()
getSingleQMakeVariable "$1" "$xspecvals"
}
+# OE qmake.conf is reading some variables from shell env
+# read them from qmake.conf, replace qmake () syntax with shell and eval
+getXQEvalMakeConf()
+{
+ VAL=`getXQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
+ EVAL=`eval "echo ${VAL}"`
+# echo "Running getXQEvalMakeConf: var='$1', val='`getXQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2
+ eval "echo ${VAL}"
+}
+
compilerSupportsFlag()
{
cat >conftest.cpp <<EOF
@@ -548,6 +568,18 @@ fi
# initalize variables
#-------------------------------------------------------------------------------
+# Export all OE variables for qmake.conf from shell env to QMakeVars
+OE_VARIABLES="AR CC CFLAGS COMPILER CXX CXXFLAGS LDFLAGS LINK QT_CONFIG STRIP"
+for varname in $OE_VARIABLES; do
+ qmakevarname="${varname}"
+ cmd=`echo \
+'if [ -n "\$OE_QMAKE_'${varname}'" ]; then
+ QMakeVar set OE_QMAKE_'${qmakevarname}' "\$OE_QMAKE_'${varname}'"
+# echo "Exporting OE_QMAKE_'${qmakevarname}' value=\"\$OE_QMAKE_'${varname}'\"" >&2
+fi'`
+ eval "$cmd"
+done
+
SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
for varname in $SYSTEM_VARIABLES; do
qmakevarname="${varname}"
@@ -3362,7 +3394,7 @@ if [ "$XPLATFORM_MAC" = "yes" ] && [ "$CFG_QGTKSTYLE" = "auto" ]; then
CFG_QGTKSTYLE=no
fi
-QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
+QMAKE_CONF_COMPILER=`getXQEvalMakeConf QMAKE_CXX`
TEST_COMPILER=$QMAKE_CONF_COMPILER
@@ -3397,7 +3429,7 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
exit 1
fi
fi
-TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
+TEST_COMPILER_CXXFLAGS=`getXQEvalMakeConf QMAKE_CXXFLAGS`
GCC_MACHINE_DUMP=
case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
@@ -3878,6 +3910,14 @@ setBootstrapVariable()
getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
}
+# OE qmake.conf is reading some variables from shell env
+# read them from qmake.conf, replace qmake () syntax with shell and eval
+setBootstrapEvalVariable()
+{
+ getQEvalMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
+}
+
+
# build qmake
if true; then ###[ '!' -f "$outpath/bin/qmake" ];
echo "Creating qmake..."
@@ -3916,11 +3956,11 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
fi
[ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
- setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
- setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
- setBootstrapVariable QMAKE_CFLAGS
- setBootstrapVariable QMAKE_CXXFLAGS
- setBootstrapVariable QMAKE_LFLAGS
+ setBootstrapEvalVariable QMAKE_CC CC "$CC_TRANSFORM"
+ setBootstrapEvalVariable QMAKE_CXX CXX "$CC_TRANSFORM"
+ setBootstrapEvalVariable QMAKE_CFLAGS
+ setBootstrapEvalVariable QMAKE_CXXFLAGS
+ setBootstrapEvalVariable QMAKE_LFLAGS
if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
setBootstrapVariable QMAKE_CFLAGS_RELEASE
diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
new file mode 100644
index 0000000..ca26b10
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qmake.conf
@@ -0,0 +1,40 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
+
+MAKEFILE_GENERATOR = UNIX
+CONFIG += incremental
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+
+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
+QMAKE_AR = $(OE_QMAKE_AR) cqs
+QMAKE_STRIP = $(OE_QMAKE_STRIP)
+QMAKE_WAYLAND_SCANNER = $(OE_QMAKE_WAYLAND_SCANNER)
+
+include(../common/gcc-base-unix.conf)
+
+# *FLAGS from gcc-base.conf
+QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS)
+QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS)
+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
+
+include(../common/g++-unix.conf)
+
+# tc settings from g++-base.conf
+QMAKE_COMPILER = $(OE_QMAKE_COMPILER)
+QMAKE_CC = $(OE_QMAKE_CC)
+QMAKE_CXX = $(OE_QMAKE_CXX)
+
+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
+
+QMAKE_LINK = $(OE_QMAKE_LINK)
+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
+QMAKE_LINK_C = $(OE_QMAKE_LINK)
+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
+
+# for the SDK
+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
+
+load(qt_config)
diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h
new file mode 100644
index 0000000..dd12003
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qplatformdefs.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+// Get Qt defines/settings
+
+#include "qglobal.h"
+
+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
+
+// 1) need to reset default environment if _BSD_SOURCE is defined
+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
+// 3) it seems older glibc need this to include the X/Open stuff
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+#endif
+
+#include <unistd.h>
+
+
+// We are hot - unistd.h should have turned on the specific APIs we requested
+
+#include <features.h>
+#include <pthread.h>
+#include <dirent.h>
+#include <fcntl.h>
+#include <grp.h>
+#include <pwd.h>
+#include <signal.h>
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/ipc.h>
+#include <sys/time.h>
+#include <sys/shm.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <netinet/in.h>
+#ifndef QT_NO_IPV6IFNAME
+#include <net/if.h>
+#endif
+
+#define QT_USE_XOPEN_LFS_EXTENSIONS
+#include "../common/posix/qplatformdefs.h"
+
+#undef QT_SOCKLEN_T
+
+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
+#define QT_SOCKLEN_T socklen_t
+#else
+#define QT_SOCKLEN_T int
+#endif
+
+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
+#define QT_SNPRINTF ::snprintf
+#define QT_VSNPRINTF ::vsnprintf
+#endif
+
+#endif // QPLATFORMDEFS_H
--
1.8.5.3

View File

@ -0,0 +1,36 @@
From 841d1f06f3fd2f59f6b18067b02d5fcfc93aaa7a Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 02/14] qlibraryinfo: allow to set qt.conf from the outside
using the environment
Allow to set a qt.conf from the outside using the environment. This allows
to inject new prefixes and other paths into qmake. This is needed when using
the same qmake binary to build qt/x11 and qt/embedded
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/corelib/global/qlibraryinfo.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 1c3b09f..c647a16 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -149,7 +149,10 @@ QLibrarySettings::QLibrarySettings()
QSettings *QLibraryInfoPrivate::findConfiguration()
{
- QString qtconfig = QStringLiteral(":/qt/etc/qt.conf");
+ QByteArray config = getenv("QT_CONF_PATH");
+ QString qtconfig = QFile::decodeName(config);
+ if(!QFile::exists(qtconfig))
+ qtconfig = QStringLiteral(":/qt/etc/qt.conf");
#ifdef QT_BOOTSTRAPPED
if(!QFile::exists(qtconfig))
qtconfig = qt_libraryInfoFile();
--
1.8.5.3

View File

@ -0,0 +1,228 @@
From 3648eeddaed0cf31fba226ec713d2321f398974f Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 6 Apr 2013 13:15:07 +0200
Subject: [PATCH 03/14] Add -external-hostbindir option
* when cross-compiling it's sometimes useful to use existing tools from machine
(or in OpenEmbedded built with separate native recipe) when building for target
* this way we can skip bootstraping tools we already have
* qt_functions: temporary remove isEmpty check
* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value
* isEmpty works correctly only with qmake variables (e.g. $$FOO -
isEmpty(FOO)), but doesn't work with system properties like $$[FOO].
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 15 +++++++++++++++
mkspecs/features/qt_functions.prf | 9 ++++++++-
mkspecs/features/qt_tool.prf | 3 +--
qmake/property.cpp | 1 +
qtbase.pro | 12 +++++++++---
src/corelib/global/qlibraryinfo.cpp | 3 ++-
src/corelib/global/qlibraryinfo.h | 1 +
tools/configure/configureapp.cpp | 8 ++++++++
8 files changed, 45 insertions(+), 7 deletions(-)
diff --git a/configure b/configure
index 0e74f29..7f3f2f0 100755
--- a/configure
+++ b/configure
@@ -788,6 +788,7 @@ QT_HOST_BINS=
QT_HOST_LIBS=
QT_HOST_DATA=
QT_EXT_PREFIX=
+QT_EXTERNAL_HOST_BINS=
#flags for SQL drivers
QT_CFLAGS_PSQL=
@@ -907,6 +908,7 @@ while [ "$#" -gt 0 ]; do
-testsdir| \
-hostdatadir| \
-hostbindir| \
+ -external-hostbindir| \
-hostlibdir| \
-extprefix| \
-sysroot| \
@@ -1120,6 +1122,9 @@ while [ "$#" -gt 0 ]; do
extprefix)
QT_EXT_PREFIX="$VAL"
;;
+ external-hostbindir)
+ QT_EXTERNAL_HOST_BINS="$VAL"
+ ;;
pkg-config)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_PKGCONFIG="$VAL"
@@ -2236,6 +2241,10 @@ Installation options:
-hostdatadir <dir> . Data used by qmake will be installed to <dir>
(default HOSTPREFIX)
+ -external-hostbindir <dir> Use external host executables instead of building them
+ (not used by defaut)
+
+
Configure options:
The defaults (*) are usually acceptable. A plus (+) denotes a default value
@@ -3151,6 +3160,11 @@ fi
# command line and environment validation
#-------------------------------------------------------------------------------
+# default is empty, don't call makeabs if it is empty
+if [ ! -z "$QT_EXTERNAL_HOST_BINS" ]; then
+ QT_EXTERNAL_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_EXTERNAL_HOST_BINS"`
+fi
+
# update QT_CONFIG to show our current predefined configuration
CFG_QCONFIG_PATH=$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h
case "$CFG_QCONFIG" in
@@ -3838,6 +3852,7 @@ static const char qt_configure_prefix_path_strs[][256 + 12] = {
"qt_hbinpath=$QT_HOST_BINS",
"qt_hlibpath=$QT_HOST_LIBS",
"qt_hdatpath=$QT_HOST_DATA",
+ "qt_ebinpath=$QT_EXTERNAL_HOST_BINS",
"qt_targspec=$shortxspec",
"qt_hostspec=$shortspec",
#endif
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 1dacfed..7229845 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -193,7 +193,14 @@ defineTest(qtAddRpathLink) {
defineTest(qtPrepareTool) {
$$1 = $$eval(QT_TOOL.$${2}.binary)
isEmpty($$1) {
- $$1 = $$[QT_HOST_BINS]/$$2
+ $$1 = $$[QT_EXTERNAL_HOST_BINS]/$$2
+ # for some reason isEmpty does not work here, FIXME before submitting upstream
+ # DEBUG 1: mkspecs/features/qt_functions.prf:198: calling built-in isEmpty(/OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/qt5)
+ # DEBUG 1: mkspecs/features/qt_functions.prf:198: test function returned true
+ # DEBUG 1: mkspecs/features/qt_functions.prf:198: taking 'then' branch
+ !exists($$[QT_EXTERNAL_HOST_BINS]/$$2) {
+ $$1 = $$[QT_HOST_BINS]/$$2
+ }
exists($$eval($$1).pl) {
$$1 = perl -w $$eval($$1).pl
} else: contains(QMAKE_HOST.os, Windows) {
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index f0864f9..50bfac8 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -15,8 +15,7 @@ CONFIG += console
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
-# Non-bootstrapped tools always need this because of the environment setup.
-!build_pass:if(!host_build|!force_bootstrap|force_independent) {
+!build_pass:if(!host_build|!force_bootstrap|force_independent):!exists($$[QT_EXTERNAL_HOST_BINS]) {
isEmpty(MODULE):MODULE = $$TARGET
!host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private)
diff --git a/qmake/property.cpp b/qmake/property.cpp
index e50485c..71291ad 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -75,6 +75,7 @@ static const struct {
{ "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
{ "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
{ "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
{ "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
{ "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
};
diff --git a/qtbase.pro b/qtbase.pro
index 140a137..4e01d5b 100644
--- a/qtbase.pro
+++ b/qtbase.pro
@@ -70,16 +70,22 @@ CONFIG -= qt
#qmake
qmake.path = $$[QT_HOST_BINS]
+qmake.files = $$OUT_PWD/bin/qmake
+!isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ qmake.files = $$[QT_EXTERNAL_HOST_BINS]/bin/qmake
+}
equals(QMAKE_HOST.os, Windows) {
- qmake.files = $$OUT_PWD/bin/qmake.exe
-} else {
- qmake.files = $$OUT_PWD/bin/qmake
+ qmake.files = $${qmake.files}.exe
}
INSTALLS += qmake
#syncqt
syncqt.path = $$[QT_HOST_BINS]
syncqt.files = $$PWD/bin/syncqt.pl
+syncqt.files = $$PWD/bin/syncqt.pl
+!isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ syncqt.files = $$[QT_EXTERNAL_HOST_BINS]/bin/syncqt.pl
+}
INSTALLS += syncqt
# If we are doing a prefix build, create a "module" pri which enables
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index c647a16..da82913 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -281,7 +281,7 @@ QLibraryInfo::isDebugBuild()
*/
static const struct {
- char key[19], value[13];
+ char key[21], value[13];
} qtConfEntries[] = {
{ "Prefix", "." },
{ "Documentation", "doc" }, // should be ${Data}/doc
@@ -307,6 +307,7 @@ static const struct {
{ "HostBinaries", "bin" },
{ "HostLibraries", "lib" },
{ "HostData", "." },
+ { "ExternalHostBinaries", "" },
{ "TargetSpec", "" },
{ "HostSpec", "" },
#endif
diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
index 17864b5..a14bc0f 100644
--- a/src/corelib/global/qlibraryinfo.h
+++ b/src/corelib/global/qlibraryinfo.h
@@ -84,6 +84,7 @@ public:
HostBinariesPath,
HostLibrariesPath,
HostDataPath,
+ ExternalHostBinariesPath,
TargetSpecPath,
HostSpecPath,
LastHostPath = HostSpecPath,
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 5ab413a..50a192b 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1186,6 +1186,13 @@ void Configure::parseCmdLine()
dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i);
}
+ else if (configCmdLine.at(i) == "-external-hostbindir") {
+ ++i;
+ if (i == argCount)
+ break;
+ dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i);
+ }
+
else if (configCmdLine.at(i) == "-make-tool") {
++i;
if (i == argCount)
@@ -3852,6 +3859,7 @@ void Configure::generateQConfigCpp()
<< " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
<< " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << endl
<< " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl
+ << " \"qt_ebinpath=" << formatPath(dictionary["QT_EXTERNAL_HOST_BINS"]) << "\"," << endl
<< " \"qt_targspec=" << targSpec << "\"," << endl
<< " \"qt_hostspec=" << hostSpec << "\"," << endl
<< "#endif" << endl
--
1.8.5.3

View File

@ -0,0 +1,29 @@
From 698f073fb8cc6dc1ced277b6ae2056cb9d02f2d5 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:33:33 +0200
Subject: [PATCH 04/14] configureapp: Prefix default LIBDIRS and INCDIRS with
SYSROOT
Upstream-Status: Pending
---
tools/configure/configureapp.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 50a192b..46eabe4 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -3213,8 +3213,8 @@ void Configure::generateQConfigPri()
configStream << " QT_ARCH = " << dictionary["QT_ARCH"] << endl;
if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) {
// FIXME: add detection
- configStream << " QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib" << endl;
- configStream << " QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include" << endl;
+ configStream << " QMAKE_DEFAULT_LIBDIRS = $$[QT_SYSROOT]/lib $$[QT_SYSROOT]/usr/lib" << endl;
+ configStream << " QMAKE_DEFAULT_INCDIRS = $$[QT_SYSROOT]/usr/include $$[QT_SYSROOT]/usr/local/include" << endl;
}
configStream << "}" << endl;
if (dictionary["QT_EDITION"].contains("OPENSOURCE"))
--
1.8.5.3

View File

@ -0,0 +1,99 @@
From 7999eeb3f2ab1150aa301ec26ae9bf0788d09c9e Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 23:15:37 +0200
Subject: [PATCH 05/14] qt_module: Fix pkgconfig replacement
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* in situation like this:
QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm
QT_INSTALL_LIBS:/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib
QT_INSTALL_LIBS/raw:/usr/lib
QT_INSTALL_LIBS/get:/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib
I don't want the replacement like this:
sed
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/include,/usr/include/qt5,g"
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib,/usr/lib,g"
"../../lib/pkgconfig/Qt5Core.pc"
>"/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/image/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/Qt5Core.pc"
because that way I'll end with -L/usr/lib in .pc file which is
cross-compile unfriendly, keeping ${libdir}/${includedir} works better
in my case
* qt_module: Fix paths in .prl files
* qmake does not prefix them with QT_SYSROOT when using them
so e.g. when building qtdeclarative we get -L/usr/lib to LINKAGE
variable, which is unsafe for cross-compilation
* writting QT_SYSROOT in .prl files is dangerous for sstate when
builds are in different directories, so we need
SSTATE_SCAN_FILES += "*.pri *.prl"
to make them relocateble
* fix paths in packageconfig files
This reverts parts of:
enable path replacement in installed prl files on all platforms
Task-number: QTBUG-33794
Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
mkspecs/features/qt_module.prf | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 11509ee..be9b929 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -135,30 +135,36 @@ load(qt_installs)
rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
else: \
rplbase = $$MODULE_BASE_OUTDIR
-include_replace.match = $$rplbase/include
-include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
-include_replace.CONFIG = path
+pkgconfig_include_replace.match = $$rplbase/include
+pkgconfig_include_replace.replace = "\$$\\{includedir}"
+pkgconfig_include_replace.CONFIG = path
+pkgconfig_lib_replace.match = $$rplbase/lib
+pkgconfig_lib_replace.replace = "\$$\\{libdir}"
+pkgconfig_lib_replace.CONFIG = path
lib_replace.match = $$rplbase/lib
host_build: \
lib_replace.replace = $$[QT_HOST_LIBS]
else: \
lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
lib_replace.CONFIG = path
-QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
+lafile_replace.match = "-L$$[QT_INSTALL_LIBS/raw]"
+lafile_replace.replace = ""
+lafile_replace.CONFIG = path
+QMAKE_PRL_INSTALL_REPLACE += lib_replace lafile_replace
unix|win32-g++* {
CONFIG += create_pc
QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace
- QMAKE_PKGCONFIG_INCDIR = $$include_replace.replace
+ QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw]
QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME
QMAKE_PKGCONFIG_DESTDIR = pkgconfig
- QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace
+ QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace
}
unix {
CONFIG += create_libtool explicitlib
QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace
- QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
+ QMAKE_LIBTOOL_INSTALL_REPLACE += lib_replace lafile_replace
}
unix|win32-g++* {
--
1.8.5.3

View File

@ -0,0 +1,43 @@
From ebd38fc708cf7190e47a75754235f56fa5d86300 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Wed, 8 May 2013 23:54:35 +0200
Subject: [PATCH 06/14] configure: don't export SYSTEM_VARIABLES to .qmake.vars
* linux-oe-g++ should handle this correctly and exporting LD as QMAKE_LINK is
causing issues as we need g++ to be used as linker
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/configure b/configure
index 7f3f2f0..13dd619 100755
--- a/configure
+++ b/configure
@@ -581,20 +581,6 @@ fi'`
done
SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
-for varname in $SYSTEM_VARIABLES; do
- qmakevarname="${varname}"
- # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
- if [ "${varname}" = "LDFLAGS" ]; then
- qmakevarname="LFLAGS"
- elif [ "${varname}" = "LD" ]; then
- qmakevarname="LINK"
- fi
- cmd=`echo \
-'if [ -n "\$'${varname}'" ]; then
- QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
-fi'`
- eval "$cmd"
-done
# Use CC/CXX to run config.tests
mkdir -p "$outpath/config.tests"
rm -f "$outpath/config.tests/.qmake.cache"
--
1.8.5.3

View File

@ -0,0 +1,37 @@
From 828eecd8f361cb965bd40f535435efa91665c8e5 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 9 May 2013 10:06:50 +0200
Subject: [PATCH 07/14] configure.prf: Allow to add extra arguments to make
* sometimes we would like to add -e or define some variable and respect it from both
Makefiles used in configure tests and also Makefiles to build the application
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/configure.prf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
index 39144e7..de48b07 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -54,12 +54,12 @@ defineTest(qtCompileTest) {
qmake_configs = "\"CONFIG -= qt debug_and_release app_bundle lib_bundle\""
# Clean up after previous run
- exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean")
+ exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean")
mkpath($$test_out_dir)|error("Aborting.")
qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) $$qmake_configs $$shell_quote($$test_dir)") {
- qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE") {
+ qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS)") {
log("yes$$escape_expand(\\n)")
msg = "test $$1 succeeded"
write_file($$QMAKE_CONFIG_LOG, msg, append)
--
1.8.5.3

View File

@ -0,0 +1,52 @@
From 3923edc900d1b3dd23e0a6af3a32255707cd497c Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Tue, 28 Feb 2012 15:10:24 +0000
Subject: [PATCH 08/14] configure: make pulseaudio, alsa, freetype a
configurable option
Allows disabling pulseaudio, alsa, freetype support at configure time
making builds more deterministic.
Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/configure b/configure
index 13dd619..66c2ae0 100755
--- a/configure
+++ b/configure
@@ -1810,6 +1810,27 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ pulseaudio)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_PULSEAUDIO="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
+ alsa)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_ALSA="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
+ freetype)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
+ CFG_LIBFREETYPE="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
gtkstyle)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_QGTKSTYLE="$VAL"
--
1.8.5.3

View File

@ -0,0 +1,85 @@
From acbd622d1b91c1aa9ec8c48d10d91354d175345c Mon Sep 17 00:00:00 2001
From: Simon Busch <morphis@gravedo.de>
Date: Mon, 22 Jul 2013 21:09:41 +0000
Subject: [PATCH 09/14] cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to
determine path to host binaries
Upstream-Status: Inappropiate (configuration)
Signed-off-by: Simon Busch <morphis@gravedo.de>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++---
src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++--
src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +-
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
index 9bda70e..6e3605a 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake$$CMAKE_BIN_SUFFIX\")
!!ENDIF
_qt5_Core_check_file_exists(${imported_location})
@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::moc)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc$$CMAKE_BIN_SUFFIX\")
!!ENDIF
_qt5_Core_check_file_exists(${imported_location})
@@ -37,7 +37,7 @@ if (NOT TARGET Qt5::rcc)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc$$CMAKE_BIN_SUFFIX\")
!!ENDIF
_qt5_Core_check_file_exists(${imported_location})
diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
index 1d94715..617efa8 100644
--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
!!ENDIF
_qt5_DBus_check_file_exists(${imported_location})
@@ -20,7 +20,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
!!ENDIF
_qt5_DBus_check_file_exists(${imported_location})
diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
index e5650ff..16ff007 100644
--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
@@ -5,7 +5,7 @@ if (NOT TARGET Qt5::uic)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
!!ELSE
- set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic$$CMAKE_BIN_SUFFIX\")
!!ENDIF
_qt5_Widgets_check_file_exists(${imported_location})
--
1.8.5.3

View File

@ -0,0 +1,38 @@
From 8a10c6d053fe438aec007e4a73b60ac59716ccd4 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 16 Nov 2013 00:32:30 +0100
Subject: [PATCH 10/12] Always build uic
Even if we are not building gui or widgets. This tool is needed later
as a native tool when compiling the target.
Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/src.pro | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/src.pro b/src/src.pro
index b7887a6..8801544 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -145,7 +145,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent
}
}
}
-SUBDIRS += src_plugins src_tools_qdoc
+SUBDIRS += src_plugins src_tools_qdoc src_tools_uic
nacl: SUBDIRS -= src_network src_testlib
@@ -156,4 +156,4 @@ TR_EXCLUDE = \
src_tools_bootstrap_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
sub-tools.depends = $$TOOLS
-QMAKE_EXTRA_TARGETS = sub-tools
\ No newline at end of file
+QMAKE_EXTRA_TARGETS = sub-tools
--
1.8.5.3

View File

@ -0,0 +1,30 @@
From 77a18a9fe2d0e4a1dcd95e2d78c85eb37452bc73 Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net>
Date: Mon, 29 Oct 2012 20:07:49 -0700
Subject: [PATCH 10/14] qmake is already built in qtbase-native
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 66c2ae0..ac836aa 100755
--- a/configure
+++ b/configure
@@ -3941,7 +3941,7 @@ setBootstrapEvalVariable()
# build qmake
-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+if false; then ###[ '!' -f "$outpath/bin/qmake" ];
echo "Creating qmake..."
mkdir -p "$outpath/qmake" || exit
--
1.8.5.3

View File

@ -0,0 +1,30 @@
From dd14f3eda61669c66c95dbcbca3afbd61f9aa746 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Mon, 29 Oct 2012 20:26:36 -0700
Subject: [PATCH 11/14] Allow building a separate qmake for the target
Upstream-Status: Inappropriate [config]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qmake/qmake.pro | 2 ++
1 file changed, 2 insertions(+)
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 89d6ea5..7c605b9 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -8,6 +8,8 @@ CONFIG -= qt
DEFINES += \
QT_BUILD_QMAKE \
PROEVALUATOR_FULL
+DESTDIR = ../bin/
+TARGET = qmake
VPATH += \
../src/corelib/global \
--
1.8.5.3

View File

@ -0,0 +1,30 @@
From 441b2ebc41013505b9f5b6a4db43526506f84e47 Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@ti.com>
Date: Mon, 11 Nov 2013 20:22:34 -0500
Subject: [PATCH 11/12] configure: preserve built qmake and swap with native
one
Let configure script build the real qmake, but right after it's built, swap
it with a native qmake for further internal use, preserving the real one.
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
configure | 2 ++
1 file changed, 2 insertions(+)
diff --git a/configure b/configure
index 66c2ae0..d423cce 100755
--- a/configure
+++ b/configure
@@ -4085,6 +4085,8 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
(cd "$outpath/qmake"; "$MAKE") || exit 2
fi # Build qmake
+mv "$outpath/bin/qmake" "$outpath/bin/qmake-real"
+mv "$outpath/bin/qmake-native" "$outpath/bin/qmake"
echo "Running configuration tests..."
--
1.8.5.3

View File

@ -0,0 +1,29 @@
From 63313ba681ad5bb0ef83c3b8908387939c2b41d5 Mon Sep 17 00:00:00 2001
From: Denys Dmytriyenko <denys@ti.com>
Date: Mon, 11 Nov 2013 20:27:30 -0500
Subject: [PATCH 12/12] configure: bump path length from 256 to 512 characters
Increase the path length that gets hardcoded into generated config.cpp file
from 256 to 512 characters, as nativesdk path can be quite long.
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index d423cce..1ea4102 100755
--- a/configure
+++ b/configure
@@ -3823,7 +3823,7 @@ static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$
static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
/* Installation Info */
-static const char qt_configure_prefix_path_strs[][256 + 12] = {
+static const char qt_configure_prefix_path_strs[][512 + 12] = {
#ifndef QT_BUILD_QMAKE
"qt_prfxpath=$QT_SYSROOT_PREFIX",
"qt_docspath=$QT_SYSROOT_DOCS",
--
1.8.5.3

View File

@ -0,0 +1,154 @@
From 2fad0a6fa3c06577995ac44ed0a2a12eaef819c2 Mon Sep 17 00:00:00 2001
From: Jani Hautakangas <jani.hautakangas@ixonos.com>
Date: Thu, 16 May 2013 09:52:07 +0300
Subject: [PATCH 13/14] QOpenGLPaintDevice sub-area support
Allows creating QOpenGLPaintDevice targetting sub-area
of binded framebuffer.
Upstream-Status: Pending
Change-Id: Ida2f079aa1ac0b87d36b54129e226399dbcdda80
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/gui/opengl/qopenglpaintdevice.cpp | 12 ++++++++++++
src/gui/opengl/qopenglpaintdevice.h | 2 ++
src/gui/opengl/qopenglpaintengine.cpp | 10 +++++++---
src/gui/opengl/qopenglpaintengine_p.h | 1 +
src/gui/opengl/qopengltextureglyphcache.cpp | 2 +-
5 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp
index fa392d1..5df1762 100644
--- a/src/gui/opengl/qopenglpaintdevice.cpp
+++ b/src/gui/opengl/qopenglpaintdevice.cpp
@@ -111,6 +111,7 @@ class QOpenGLPaintDevicePrivate
public:
QOpenGLPaintDevicePrivate(const QSize &size);
+ QPoint offset;
QSize size;
QOpenGLContext *ctx;
@@ -159,6 +160,12 @@ QOpenGLPaintDevice::QOpenGLPaintDevice(int width, int height)
{
}
+QOpenGLPaintDevice::QOpenGLPaintDevice(int x, int y, int width, int height)
+ : d_ptr(new QOpenGLPaintDevicePrivate(QSize(width, height)))
+{
+ d_ptr->offset = QPoint(x,y);
+}
+
/*!
Destroys the QOpenGLPaintDevice.
*/
@@ -228,6 +235,11 @@ QOpenGLContext *QOpenGLPaintDevice::context() const
return d_ptr->ctx;
}
+QPoint QOpenGLPaintDevice::offset() const
+{
+ return d_ptr->offset;
+}
+
/*!
Returns the pixel size of the paint device.
diff --git a/src/gui/opengl/qopenglpaintdevice.h b/src/gui/opengl/qopenglpaintdevice.h
index c05571c..01eb1bc 100644
--- a/src/gui/opengl/qopenglpaintdevice.h
+++ b/src/gui/opengl/qopenglpaintdevice.h
@@ -62,12 +62,14 @@ public:
QOpenGLPaintDevice();
explicit QOpenGLPaintDevice(const QSize &size);
QOpenGLPaintDevice(int width, int height);
+ QOpenGLPaintDevice(int x, int y, int width, int height);
virtual ~QOpenGLPaintDevice();
int devType() const { return QInternal::OpenGL; }
QPaintEngine *paintEngine() const;
QOpenGLContext *context() const;
+ QPoint offset() const;
QSize size() const;
void setSize(const QSize &size);
void setDevicePixelRatio(qreal devicePixelRatio);
diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp
index 0513551..f6aeb15 100644
--- a/src/gui/opengl/qopenglpaintengine.cpp
+++ b/src/gui/opengl/qopenglpaintengine.cpp
@@ -1985,7 +1985,10 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev)
for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i)
d->vertexAttributeArraysEnabledState[i] = false;
+ const QPoint offset = d->device->offset();
const QSize sz = d->device->size();
+ d->x = offset.x();
+ d->y = offset.y();
d->width = sz.width();
d->height = sz.height();
d->mode = BrushDrawingMode;
@@ -2073,7 +2076,7 @@ void QOpenGL2PaintEngineEx::ensureActive()
d->device->ensureActiveTarget();
d->transferMode(BrushDrawingMode);
- glViewport(0, 0, d->width, d->height);
+ glViewport(d->x, d->y, d->width, d->height);
d->needsSync = false;
d->lastMaskTextureUsed = 0;
d->shaderManager->setDirty();
@@ -2116,6 +2119,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest()
if (bounds == QRect(0, 0, width, height)) {
glDisable(GL_SCISSOR_TEST);
} else {
+ bounds = QRect(bounds.x(), bounds.y(), bounds.width(), bounds.height());
glEnable(GL_SCISSOR_TEST);
setScissor(bounds);
}
@@ -2124,14 +2128,14 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest()
void QOpenGL2PaintEngineExPrivate::setScissor(const QRect &rect)
{
- const int left = rect.left();
+ const int left = rect.left() + x;
const int width = rect.width();
int bottom = height - (rect.top() + rect.height());
if (device->paintFlipped()) {
bottom = rect.top();
}
+ bottom += y;
const int height = rect.height();
-
glScissor(left, bottom, width, height);
}
diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h
index d51f0e5..0d4b38d 100644
--- a/src/gui/opengl/qopenglpaintengine_p.h
+++ b/src/gui/opengl/qopenglpaintengine_p.h
@@ -264,6 +264,7 @@ public:
QOpenGL2PaintEngineEx* q;
QOpenGLEngineShaderManager* shaderManager;
QOpenGLPaintDevice* device;
+ int x, y;
int width, height;
QOpenGLContext *ctx;
EngineMode mode;
diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp
index 3b62d1d..a5d1f7e 100644
--- a/src/gui/opengl/qopengltextureglyphcache.cpp
+++ b/src/gui/opengl/qopengltextureglyphcache.cpp
@@ -273,7 +273,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
funcs.glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo);
if (pex != 0) {
- glViewport(0, 0, pex->width, pex->height);
+ glViewport(pex->x, pex->y, pex->width, pex->height);
pex->updateClipScissorTest();
} else {
m_blitProgram->disableAttributeArray(int(QT_VERTEX_COORDS_ATTR));
--
1.8.5.3

View File

@ -0,0 +1,63 @@
From c8995c6eb6cf4bfa8daf1e3e96bd4885a096f405 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Wed, 5 Feb 2014 18:35:08 +0100
Subject: [PATCH 14/14] eglfs: fix egl error for platforms only supporting one
window/surface
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
running qmlscene -platform eglfs <filename>.qml
caused
EGL Error : Could not create the egl surface: error = 0x3003
Rebased version of [1-2]
Upstream-Status: unknown
[1] http://repository.timesys.com/buildsources/q/qt-everywhere-opensource/qt-everywhere-opensource-5.1.1/qt-everywhere-opensource-5.1.1-qeglfswindow.cpp.patch
[2] https://github.com/prabindh/qt-configs/blob/master/qt5_1.0_Feb13/qeglfswindow.cpp.patch
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
src/plugins/platforms/eglfs/qeglfswindow.cpp | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/plugins/platforms/eglfs/qeglfswindow.cpp b/src/plugins/platforms/eglfs/qeglfswindow.cpp
index bba00da..567820c 100644
--- a/src/plugins/platforms/eglfs/qeglfswindow.cpp
+++ b/src/plugins/platforms/eglfs/qeglfswindow.cpp
@@ -87,6 +87,16 @@ void QEglFSWindow::create()
if (m_flags.testFlag(Created))
return;
+ static EGLSurface __singleWindowSurface;
+ if(QEglFSHooks::hooks() && !QEglFSHooks::hooks()->hasCapability(QPlatformIntegration::MultipleWindows) && (__singleWindowSurface))
+ {
+ m_surface = __singleWindowSurface;
+#ifdef QEGL_EXTRA_DEBUG
+ qWarning("Surface recreate request, re-using %x\n", m_surface);
+#endif
+ return;
+ }
+
m_flags = Created;
m_wid = newWId();
@@ -130,6 +140,11 @@ void QEglFSWindow::create()
resetSurface();
+ if(QEglFSHooks::hooks() && !QEglFSHooks::hooks()->hasCapability(QPlatformIntegration::MultipleWindows))
+ {
+ __singleWindowSurface = m_surface;
+ }
+
screen->setPrimarySurface(m_surface);
if (m_flags.testFlag(IsRaster)) {
--
1.8.5.3

View File

@ -0,0 +1,42 @@
From 99979159a404df09495c8ddd6a052837f66b8739 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Peter=20K=C3=BCmmel?= <syntheticpp@gmx.net>
Date: Fri, 7 Feb 2014 13:12:37 +0100
Subject: [PATCH] Fix linuxfb argument 'mmsize' parsing
Parse first for 'mmsize' because the regex for 'size' also fits to 'mmsize'.
Upstream-Status: Backport
Task-number: QTBUG-29133
Change-Id: Idc4950270818e496d5d94a97a172b7c780f069b1
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Signed-off-by: Jonathan Liu <net147@gmail.com>
---
src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
index 735a43d..33a9523 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
+++ b/src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp
@@ -333,6 +333,8 @@ bool QLinuxFbScreen::initialize()
foreach (const QString &arg, mArgs) {
if (arg == QLatin1String("nographicsmodeswitch"))
doSwitchToGraphicsMode = false;
+ else if (mmSizeRx.indexIn(arg) != -1)
+ userMmSize = QSize(mmSizeRx.cap(1).toInt(), mmSizeRx.cap(2).toInt());
else if (sizeRx.indexIn(arg) != -1)
userGeometry.setSize(QSize(sizeRx.cap(1).toInt(), sizeRx.cap(2).toInt()));
else if (offsetRx.indexIn(arg) != -1)
@@ -341,8 +343,6 @@ bool QLinuxFbScreen::initialize()
ttyDevice = ttyRx.cap(1);
else if (fbRx.indexIn(arg) != -1)
fbDevice = fbRx.cap(1);
- else if (mmSizeRx.indexIn(arg) != -1)
- userMmSize = QSize(mmSizeRx.cap(1).toInt(), mmSizeRx.cap(2).toInt());
}
if (fbDevice.isEmpty()) {
--
1.7.1

View File

@ -0,0 +1,39 @@
From 84756d94c73885803ad8044099ab47c0c49b5076 Mon Sep 17 00:00:00 2001
From: Laszlo Agocs <laszlo.agocs@digia.com>
Date: Thu, 23 Jan 2014 11:45:22 +0100
Subject: [PATCH] eglfs: Fix quad coordinates
Prevent artifacts on raster windows by properly mapping
the coordinates to [-1,1].
Upstream-Status: Backport
Task-number: QTBUG-36370
Change-Id: I95d0d03952f597ef4ce6a950c6533a3af2df964a
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Signed-off-by: Jonathan Liu <net147@gmail.com>
---
src/plugins/platforms/eglfs/qeglfscompositor.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/plugins/platforms/eglfs/qeglfscompositor.cpp b/src/plugins/platforms/eglfs/qeglfscompositor.cpp
index 845bb5b..1efc4f7 100644
--- a/src/plugins/platforms/eglfs/qeglfscompositor.cpp
+++ b/src/plugins/platforms/eglfs/qeglfscompositor.cpp
@@ -153,10 +153,11 @@ void QEglFSCompositor::render(QEglFSWindow *window, uint texture, bool raster)
QPoint tl = r.topLeft();
QPoint br = r.bottomRight();
+ // Map to [-1,1]
GLfloat x1 = (tl.x() / sr.width()) * 2 - 1;
- GLfloat x2 = (br.x() / sr.width()) * 2 - 1;
GLfloat y1 = ((sr.height() - tl.y()) / sr.height()) * 2 - 1;
- GLfloat y2 = ((sr.height() - br.y()) / sr.height()) * 2 - 1;
+ GLfloat x2 = ((br.x() + 1) / sr.width()) * 2 - 1;
+ GLfloat y2 = ((sr.height() - (br.y() + 1)) / sr.height()) * 2 - 1;
if (!raster)
qSwap(y1, y2);
--
1.7.1

View File

@ -0,0 +1,7 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI += "file://0015-Fix-linuxfb-argument-mmsize-parsing.patch"
SRC_URI[md5sum] = "fa005301a2000b92b61b63edc042567b"
SRC_URI[sha256sum] = "acdfd1aa2548ebea1d922e8e24e5c59f5fc3b2beae7c8003ba47d773bfcc94c0"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 172 commits
SRCREV = "bf0336a02502b3ed4d399c1cf5b4a56b1e858d42"

View File

@ -0,0 +1,13 @@
require qt5.inc
DEPENDS += "qtbase qtdeclarative"
PACKAGECONFIG ??= ""
PACKAGECONFIG[bluez4] = ",,bluez4"
do_configure_prepend() {
# disable bluez test if it isn't enabled by PACKAGECONFIG
sed -i 's/^qtCompileTest(bluez)/OE_BLUEZ_ENABLED:qtCompileTest(bluez)/g' ${S}/qtconnectivity.pro
}
EXTRA_QMAKEVARS_PRE += "${@base_contains('PACKAGECONFIG', 'bluez4', 'CONFIG+=OE_BLUEZ_ENABLED', '', d)}"

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "cb2ef624b28b6ba61d6a467b8b3c314a"
SRC_URI[sha256sum] = "ec31e1c3cd5aea4d7dff946802a7fde2599bb8a1931d4bb49cb0854371cf1223"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${BPN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 25 commits
SRCREV = "9902dfdbc44934ce2e8072bc237ca8cdbfb3402b"

View File

@ -0,0 +1,18 @@
require qt5.inc
SRC_URI += " \
file://0001-qmltestexample-fix-link.patch \
"
DEPENDS += "qtbase"
PACKAGECONFIG ??= "qtxmlpatterns"
PACKAGECONFIG[qtxmlpatterns] = ",,qtxmlpatterns"
do_configure_prepend() {
# disable qtxmlpatterns test if it isn't enabled by PACKAGECONFIG
sed -e 's/^\(qtHaveModule(xmlpatterns)\)/OE_QTXMLPATTERNS_ENABLED:\1/' -i ${S}/src/imports/imports.pro
sed -e 's/^\(!qtHaveModule(xmlpatterns)\)/!OE_QTXMLPATTERNS_ENABLED|\1/' -i ${S}/tests/auto/quick/quick.pro
}
EXTRA_QMAKEVARS_PRE += "${@base_contains('PACKAGECONFIG', 'qtxmlpatterns', 'CONFIG+=OE_QTXMLPATTERNS_ENABLED', '', d)}"

View File

@ -0,0 +1,88 @@
From 64ca7961376fa896d82c2a3db2d42cbb6b68c069 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
Date: Sun, 26 May 2013 14:26:19 +0200
Subject: [PATCH 1/2] qmltestexample: fix link
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
else we get :
ld: warning: libQt5Quick.so.5, needed by libQt5QuickTest.so, not found
Upstream-Status: Inappropriate
Change-Id: I63088ff73bec6a8559dfae132f8bd40b62487450
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
examples/qmltest/qmltest/qmltest.pro | 2 +-
tests/auto/qml/qjsengine/qjsengine.pro | 2 +-
tests/auto/qml/qtqmlmodules/qtqmlmodules.pro | 2 +-
tests/auto/qmltest/qmltest.pro | 1 +
tools/qmltestrunner/qmltestrunner.pro | 2 +-
5 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/examples/qmltest/qmltest/qmltest.pro b/examples/qmltest/qmltest/qmltest.pro
index b5893c5..1b00e6c 100644
--- a/examples/qmltest/qmltest/qmltest.pro
+++ b/examples/qmltest/qmltest/qmltest.pro
@@ -14,7 +14,7 @@ TESTDATA += tst_basic.qml tst_item.qml
# This code exists solely for the purpose of building this example
# inside the examples/ hierarchy.
-QT += qml qmltest
+QT += qml qmltest quick
macx: CONFIG -= app_bundle
diff --git a/tests/auto/qml/qjsengine/qjsengine.pro b/tests/auto/qml/qjsengine/qjsengine.pro
index a62eb75..73b6917 100644
--- a/tests/auto/qml/qjsengine/qjsengine.pro
+++ b/tests/auto/qml/qjsengine/qjsengine.pro
@@ -1,7 +1,7 @@
CONFIG += testcase
CONFIG += parallel_test
TARGET = tst_qjsengine
-QT += qml qml-private widgets testlib gui-private
+QT += qml qml-private widgets testlib gui-private quick
macx:CONFIG -= app_bundle
SOURCES += tst_qjsengine.cpp
diff --git a/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro b/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro
index c6d442e..3181dcd 100644
--- a/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro
+++ b/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro
@@ -8,5 +8,5 @@ macx:CONFIG -= app_bundle
TESTDATA = data/*
-QT += core-private qml-private testlib gui gui-private
+QT += core-private qml-private testlib gui gui-private quick
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
diff --git a/tests/auto/qmltest/qmltest.pro b/tests/auto/qmltest/qmltest.pro
index 7662cb1..a8f8ae2 100644
--- a/tests/auto/qmltest/qmltest.pro
+++ b/tests/auto/qmltest/qmltest.pro
@@ -4,6 +4,7 @@ CONFIG += qmltestcase
CONFIG += console
SOURCES += tst_qmltest.cpp
+QT += quick
importFiles.files = borderimage buttonclick createbenchmark events qqmlbinding selftests
diff --git a/tools/qmltestrunner/qmltestrunner.pro b/tools/qmltestrunner/qmltestrunner.pro
index 1bb913e..56f2dd5 100644
--- a/tools/qmltestrunner/qmltestrunner.pro
+++ b/tools/qmltestrunner/qmltestrunner.pro
@@ -1,6 +1,6 @@
SOURCES += main.cpp
-QT += qml qmltest
+QT += qml qmltest quick
CONFIG += no_import_scan
load(qt_tool)
--
1.8.5.3

View File

@ -0,0 +1,41 @@
From a13535b21b8406d65c8f139306d8324bda05443b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20H=C3=A4nel?= <florian.haenel@basyskom.com>
Date: Wed, 5 Jun 2013 19:23:32 +0200
Subject: [PATCH 2/2] Fix wrong calculation of viewPort for transitions
Viewport is calculated wrong for horizontal layout in a second instance
Task-number: QTBUG-29944
Task-Number: QTBUG-31546
Upstream-Status: Pending
Looks like backport of https://codereview.qt-project.org/49226 but this
one was applied in previous patch, this change looks the same but is
in different part of qquickitemview.cpp and ISN'T applied yet in dev
branch.
Signed-off-by: Florian Haenel <florian.haenel@lge.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Change-Id: I136ae4484278d14f796613505e3f38c65ec51ebe
---
src/quick/items/qquickitemview.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index d7b9847..a54d282 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1835,7 +1835,7 @@ void QQuickItemViewPrivate::layout()
prepareVisibleItemTransitions();
- QRectF viewBounds(0, position(), q->width(), q->height());
+ QRectF viewBounds(q->contentX(), q->contentY(), q->width(), q->height());
for (QList<FxViewItem*>::Iterator it = releasePendingTransition.begin();
it != releasePendingTransition.end(); ) {
FxViewItem *item = *it;
--
1.8.5.3

View File

@ -0,0 +1,9 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI += " \
file://0003-Fix-wrong-calculation-of-viewPort-for-transitions.patch \
"
SRC_URI[md5sum] = "a23fba03a4b48f36fe8b51d326d08acc"
SRC_URI[sha256sum] = "7e32b8d6e1d64ca4bdfa92d15f9b4217a1b24239ef40e8826eeccbe918866690"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 81 commits
SRCREV = "7ceefa60ab4f79d5f40e7051edf80c1a77ae7734"

View File

@ -0,0 +1,5 @@
require qt5.inc
DEPENDS += "qtdeclarative"
RDEPENDS_${PN}-dev = ""

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "8dde8593750e33a79f49c5a2f03caf0c"
SRC_URI[sha256sum] = "5abb17ee60d68cf49c4f8f0b69c3f1e4d0a2f7b32cda8d6901d9c35447cc3482"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 3 commits
SRCREV = "1fbbe87e6d5dc84bff70bd90b71d07f9982a8bc3"

View File

@ -0,0 +1,3 @@
require qt5.inc
DEPENDS += "qtbase tiff"

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "9b88aa6f3888c7c7f5253c147ae4bf8f"
SRC_URI[sha256sum] = "a6a0454769566fec1757fb09b1f33c9fc70d4016acbb04ebc6e493ddedfef124"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 1 commits
SRCREV = "dde6daeccdf0a3f8d49fe1777b49046576b12218"

View File

@ -0,0 +1,4 @@
require qt5.inc
DEPENDS += "qtbase qt3d"
# qtsystems qtmultimedia

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "4de8ca8ac1a3e5db20a903286fb78840"
SRC_URI[sha256sum] = "9543fcdcab5cf02be60e395e8145e1ec87d03a3d1f129a0dde92102283a9b536"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 13 commits
SRCREV = "2ba9fd5550eb7766c20b3a61679e88ec4a6c8a54"

View File

@ -0,0 +1,17 @@
require qt5.inc
DEPENDS += "qtdeclarative alsa-lib"
PACKAGECONFIG ??= ""
PACKAGECONFIG[openal] = ",,openal-soft"
PACKAGECONFIG[gstreamer010] = ",,gstreamer gst-plugins-base"
do_configure_prepend() {
# disable openal test if it isn't enabled by PACKAGECONFIG
sed -i 's/^qtCompileTest(openal)/OE_OPENAL_ENABLED:qtCompileTest(openal)/g' ${S}/qtmultimedia.pro
# disable gstreamer-0.10 test if it isn't enabled by PACKAGECONFIG
sed -i 's/^\( *\)qtCompileTest(gstreamer) {/\1OE_GSTREAMER010_ENABLED:qtCompileTest(gstreamer) {/g' ${S}/qtmultimedia.pro
}
EXTRA_QMAKEVARS_PRE += "${@base_contains('PACKAGECONFIG', 'openal', 'CONFIG+=OE_OPENAL_ENABLED', '', d)}"
EXTRA_QMAKEVARS_PRE += "${@base_contains('PACKAGECONFIG', 'gstreamer010', 'CONFIG+=OE_GSTREAMER010_ENABLED', '', d)}"

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "26dc22c59fbbad9fdf0699d5f887166a"
SRC_URI[sha256sum] = "62688cb7d8daa4d7050353fe39536c5edd97228a10185b9662a29b8c8cff1fa2"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 17 commits
SRCREV = "db7f7cc5654ddec60297259bc9f86f5f777749cd"

View File

@ -0,0 +1,4 @@
require qt5.inc
DEPENDS += "qtscript qtsvg qtxmlpatterns qtwebkit"
# qttools

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "6abbf131adffdf3cba63704d5d35f921"
SRC_URI[sha256sum] = "8b2bb3250b9e09a4c568069bc4c7cfeddbdcda50b24f0bfecc7f85df3120ff65"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 2 commits
SRCREV = "07d8ce32b1112dcb590c793ee51cb713e514011b"

View File

@ -0,0 +1,5 @@
require qt5.inc
DEPENDS += "qtdeclarative"
RDEPENDS_${PN}-dev = ""

View File

@ -0,0 +1,6 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "027bc7d05fe740b21284dc909c9f11ac"
SRC_URI[sha256sum] = "eb03a69402576984d588923e994c3cb672d8479ac9b68ed90da15d0c2fd82aac"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 15 commits
SRCREV = "1c54d411ad6e98c3779a412750aec8b93d587872"

View File

@ -0,0 +1,3 @@
require qt5.inc
DEPENDS += "qtbase"

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "b8af09bb297d4c62e64df5418fe99dc9"
SRC_URI[sha256sum] = "6621350d5eff65cb6f9853247246f30a2d4cdb465c14923ff7ccbd8c3a9cdefa"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 1 commits
SRCREV = "f89d64ca722acf4a1a38c5e136bb01eff2525978"

View File

@ -0,0 +1,3 @@
require qt5.inc
DEPENDS += "qtbase qtdeclarative"

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "045f98acba9fba0358a6a50356be0841"
SRC_URI[sha256sum] = "09403e7e088f30da828e452559a6904d7c43420d423a429d6529285f99b1e407"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 2 commits
SRCREV = "9a8319a39a06d6cf3163978301d650b8f3558c62"

View File

@ -0,0 +1,9 @@
require qt5.inc
# whitespace change in LGPL_EXCEPTION.txt and a bit different formating in LICENSE.LGPL
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4fbd65380cdd255951079008b364516c \
file://LICENSE.FDL;md5=3801d7932fdc07fd9efe89f9854a6caa \
file://LGPL_EXCEPTION.txt;md5=eb6c371255e1262c55ae9b652a90b528\
"
DEPENDS += "qtbase"

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "2993ad7e92a0b6b41e3cb0e0e345d251"
SRC_URI[sha256sum] = "f5754e4ba61843b7dfdf946a91b7d857a5cb470608b840f92452e72f24c67347"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 28 commits
SRCREV = "03546732fa696467d23b24224fad2822bc6a9043"

View File

@ -0,0 +1,3 @@
require qt5.inc
DEPENDS += "qtbase"

View File

@ -0,0 +1,6 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "3f5487fe2bd5024f18f63a8d0eb4294d"
SRC_URI[sha256sum] = "788f69557ff6d28073d6ef2b3300b42b987fba1d122f7884ba0269023cab44ef"

View File

@ -0,0 +1,6 @@
require qt5-git.inc
require ${PN}.inc
QT_MODULE_BRANCH = "release"
# v5.2.1 + 1 commits
SRCREV = "ae68091e0d6023410bc657cf54e7fa9b6c8bbcc2"

Some files were not shown because too many files have changed in this diff Show More