aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO14
-rw-r--r--0001-Remove-super-shit-QPA-hueristics.patch72
-rw-r--r--PKGBUILD79
3 files changed, 115 insertions, 50 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fb5bca098ed4..8dc044828f23 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,11 +1,8 @@
-# Generated by mksrcinfo v8
-# Tue Jun 11 02:14:22 UTC 2019
pkgbase = qt-sdk-raspberry-pi
pkgdesc = Qt SDK for the Raspberry Pi 1/2/3
- pkgver = 5.13.0
- pkgrel = 1
+ pkgver = 5.15.0
+ pkgrel = 0
url = http://www.chaos-reins.com/qpi/
- install = qpi.install
arch = x86_64
license = LGPL3
license = GPL3
@@ -14,14 +11,13 @@ pkgbase = qt-sdk-raspberry-pi
makedepends = gcc
makedepends = gperf
makedepends = python
- depends = qpi-toolchain
optdepends = qtcreator: Integrated Raspberry Pi IDE development
- provides = qt-sdk-raspberry-pi
+ provides = qt-sdk
options = !strip
source = git://github.com/sirspudd/mkspecs.git
- source = https://download.qt.io/development_releases/qt/5.13/5.13.0-rc/single/qt-everywhere-src-5.13.0-rc.tar.xz
+ source = https://download.qt.io/development_releases/qt/5.15/5.15.0-beta1/single/qt-everywhere-src-5.15.0-beta1.tar.xz
sha256sums = SKIP
- sha256sums = 5febada464e27908e03d3d177389060d89821ecc3a4ac684a28e389d570a8b4b
+ sha256sums = 94a02e3e1879f7492340de675b65b9b98a671698063d28c97e91b78098724548
pkgname = qt-sdk-raspberry-pi
diff --git a/0001-Remove-super-shit-QPA-hueristics.patch b/0001-Remove-super-shit-QPA-hueristics.patch
new file mode 100644
index 000000000000..d104fe62f23e
--- /dev/null
+++ b/0001-Remove-super-shit-QPA-hueristics.patch
@@ -0,0 +1,72 @@
+From 77bc37d717d5072e7f8218bc3ec78fafe1117716 Mon Sep 17 00:00:00 2001
+From: Donald Carr <d@chaos-reins.com>
+Date: Mon, 16 Sep 2019 00:38:06 -0700
+Subject: [PATCH] Remove super shit QPA hueristics
+
+Change-Id: I7776958c24822b483de304f7c5d530666b3ae227
+---
+ src/core/content_browser_client_qt.cpp | 43 +++++++++++++++-----------
+ 1 file changed, 25 insertions(+), 18 deletions(-)
+
+diff --git a/src/core/content_browser_client_qt.cpp b/src/core/content_browser_client_qt.cpp
+index 16945020..af34baf3 100644
+--- a/src/core/content_browser_client_qt.cpp
++++ b/src/core/content_browser_client_qt.cpp
+@@ -168,29 +168,36 @@ public:
+ : gl::GLContext(0)
+ , m_handle(0)
+ {
+- QString platform = qApp->platformName().toLower();
+- QPlatformNativeInterface *pni = QGuiApplication::platformNativeInterface();
+- if (platform == QLatin1String("xcb") || platform == QLatin1String("offscreen")) {
++ if (qEnvironmentVariableIsSet(QT_WEBENGINE_SKIP_QPA_DETECTION)) {
+ if (gl::GetGLImplementation() == gl::kGLImplementationEGLGLES2)
+ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglcontext"), qtContext);
+ else
+ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("glxcontext"), qtContext);
+- } else if (platform == QLatin1String("cocoa"))
+- m_handle = pni->nativeResourceForContext(QByteArrayLiteral("cglcontextobj"), qtContext);
+- else if (platform == QLatin1String("qnx"))
+- m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglcontext"), qtContext);
+- else if (platform == QLatin1String("eglfs") || platform == QLatin1String("wayland")
+- || platform == QLatin1String("wayland-egl"))
+- m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglcontext"), qtContext);
+- else if (platform == QLatin1String("windows")) {
+- if (gl::GetGLImplementation() == gl::kGLImplementationEGLGLES2)
+- m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglContext"), qtContext);
+- else
+- m_handle = pni->nativeResourceForContext(QByteArrayLiteral("renderingcontext"), qtContext);
+ } else {
+- qFatal("%s platform not yet supported", platform.toLatin1().constData());
+- // Add missing platforms once they work.
+- Q_UNREACHABLE();
++ QString platform = qApp->platformName().toLower();
++ QPlatformNativeInterface *pni = QGuiApplication::platformNativeInterface();
++ if (platform == QLatin1String("xcb") || platform == QLatin1String("offscreen")) {
++ if (gl::GetGLImplementation() == gl::kGLImplementationEGLGLES2)
++ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglcontext"), qtContext);
++ else
++ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("glxcontext"), qtContext);
++ } else if (platform == QLatin1String("cocoa"))
++ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("cglcontextobj"), qtContext);
++ else if (platform == QLatin1String("qnx"))
++ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglcontext"), qtContext);
++ else if (platform == QLatin1String("eglfs") || platform == QLatin1String("wayland")
++ || platform == QLatin1String("wayland-egl"))
++ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglcontext"), qtContext);
++ else if (platform == QLatin1String("windows")) {
++ if (gl::GetGLImplementation() == gl::kGLImplementationEGLGLES2)
++ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("eglContext"), qtContext);
++ else
++ m_handle = pni->nativeResourceForContext(QByteArrayLiteral("renderingcontext"), qtContext);
++ } else {
++ qFatal("%s platform not yet supported", platform.toLatin1().constData());
++ // Add missing platforms once they work.
++ Q_UNREACHABLE();
++ }
+ }
+ }
+
+--
+2.23.0
+
diff --git a/PKGBUILD b/PKGBUILD
index bd5901de8dda..cf0c0d175665 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Donald Carr <sirspudd at gmail dot com>
+# Maintainer: Donald Carr <d at chaos-reins dot com>
# set -x
@@ -29,18 +29,18 @@ _target_host=false
_sysroot=""
_piver=""
_use_mesa=false
-_float=true
+_float=false
_shadow_build=true
# automatically disabled if you are building webengine
_debug=true
-_skip_qtscript=true
+_skip_qtscript=false
_skip_qtwebengine=false
-_skip_qtwidgets=true
+_skip_qtwidgets=false
_static_build=false
_build_from_local_src_tree=false
_patching=true
-_minimal=true
-_uber_minimal=true
+_minimal=false
+_uber_minimal=false
if [[ -z ${startdir} ]]; then
_building=false;
@@ -95,11 +95,12 @@ fi
# vars
_local_qt5_repo="${local_qt5_repo}"
-_pkgvermajmin="5.13"
+#_pkgvermajmin="5.15"
+_pkgvermajmin="6.0"
_pkgverpatch=".0"
# {alpha/beta/beta2/rc}
-_dev_suffix="rc3"
-pkgrel=3
+_dev_suffix="beta2"
+pkgrel=0
pkgver="${_pkgvermajmin}${_pkgverpatch}"
$_build_from_local_src_tree && pkgver=6.6.6
_pkgver=${pkgver}
@@ -121,6 +122,7 @@ case ${_piver} in
1)
_toolchain_name=armv6-rpi-linux-gnueabihf
_toolchain="/opt/${_toolchain_name}/bin/${_toolchain_name}-"
+ _float=true
# too problematic for me to care about
#_float=true
;;
@@ -130,6 +132,7 @@ case ${_piver} in
# eats shit when linking artriculate with ltcg
_toolchain_name=arm-cortexa9_neon-linux-gnueabihf
_toolchain="/opt/x-tools/${_toolchain_name}/bin/${_toolchain_name}-"
+ _float=true
#_mkspec="linux-rpi${_piver}-vc4-g++"
#_use_mesa=true
;;
@@ -137,24 +140,27 @@ case ${_piver} in
_toolchain_name=aarch64-rpi3-linux-gnu
_toolchain="/opt/x-tools/${_toolchain_name}/bin/${_toolchain_name}-"
_use_mesa=true
- _float=false
# just for projectmofo!
#_opengl_variant="desktop"
;;
4)
# yuck; here lies tinkerboard until I find a better way of generalizing this
#_toolchain="/opt/gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-"
- _toolchain="/opt/gcc-linaro-7.1.1-2017.08-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-"
+ _toolchain="${HOME}/x-tools/aarch64-spudd-linux-gnu/bin/aarch64-spudd-linux-gnu-"
+
+ # upstream mkspec is 32 bit
+ #_mkspec="linux-rasp-pi4-v3d-g++"
+ #_overwrite_mkspec=false
_use_mesa=true
- _mkspec="linux-tinker-g++"
;;
5)
# https://developer.nvidia.com/embedded/dlc/kernel-gcc-6-4-tool-chain
# took forever to find one that worked
+ #_toolchain="/usr/bin/aarch64-linux-gnu-"
_toolchain="/opt/gcc-linaro-6.4.1-2017.08-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-"
- _float=false
_mkspec="linux-jetson-nano-g++"
+ _opengl_variant="desktop"
;;
esac
@@ -175,7 +181,7 @@ $_build_from_local_src_tree && _patching=false
# PKGBUILD vars
-install=qpi.install
+#install=qpi.install
rm $install
touch $install
@@ -187,7 +193,6 @@ provides=($pkgname)
if $_static_build; then
pkgname="${pkgname}-static"
- _uber_minimal=true
fi
if $_building && $_uber_minimal; then
@@ -207,7 +212,7 @@ fi
$_skip_qtwebengine && _additional_configure_flags="$_additional_configure_flags -skip qtwebengine -no-icu"
$_skip_qtscript && _additional_configure_flags="$_additional_configure_flags -skip qtscript"
$_skip_qtwidgets && _additional_configure_flags="$_additional_configure_flags -no-widgets"
-$_static_build && _additional_configure_flags="$_additional_configure_flags -static"
+$_static_build && _additional_configure_flags="$_additional_configure_flags -static -ltcg"
$_float && _additional_configure_flags="$_additional_configure_flags -qreal float"
$_debug && _additional_configure_flags="$_additional_configure_flags -force-debug-info -separate-debug-info"
@@ -247,11 +252,18 @@ retired_exhaustive_uber_minimal_specific_configure_options="\
-no-linuxfb \
"
+if $_minimal; then
+ _additional_configure_flags="$_additional_configure_flags \
+ -no-xcb \
+ -qpa eglfs \
+ -egl \
+ "
+fi
+
if $_uber_minimal; then
- _exhaustive_uber_minimal_specific_configure_options="\
+ _additional_configure_flags="$_additional_configure_flags \
-no-direct2d \
-no-directfb \
- -no-mirclient \
-no-cups \
-no-iconv \
-no-gif \
@@ -260,10 +272,6 @@ if $_uber_minimal; then
-no-tslib \
-no-feature-bearermanagement \
-no-qml-debug \
- "
-
- _additional_configure_flags="$_additional_configure_flags $_exhaustive_uber_minimal_specific_configure_options"
- _additional_configure_flags="$_additional_configure_flags \
-no-ico \
-no-glib \
"
@@ -277,7 +285,6 @@ fi
#-journald \
_core_configure_options=" \
- -ltcg \
-qt-freetype \
-qt-harfbuzz \
-qt-libpng \
@@ -286,13 +293,8 @@ _core_configure_options=" \
-pkg-config \
-prefix ${_installprefix} \
-opengl ${_opengl_variant} \
- -no-xcb \
- -qpa eglfs \
- -egl \
-qt-sqlite \
- -optimized-qmake \
-optimized-tools \
- -optimize-size \
-confirm-license \
-opensource \
-v \
@@ -306,8 +308,8 @@ _core_configure_options=" \
-reduce-exports \
"
-_tar_xz_sha256="7a78efe372f4f9c0158afd82275a1f846f3c62dc19b55b2121f451d0f2bf3433"
-#_tar_xz_sha256="356f42d9087718f22f03d13d0c2cdfb308f91dc3cf0c6318bed33f2094cd9d6c"
+#_tar_xz_sha256="94a02e3e1879f7492340de675b65b9b98a671698063d28c97e91b78098724548"
+_tar_xz_sha256="9c4cc2fb781d682e86d8b3754a18a4d8969e02fa8509da31e5343065ead5fbd5"
source=("git://github.com/sirspudd/mkspecs.git")
sha256sums=("SKIP")
@@ -398,13 +400,7 @@ fi
if ! $_target_host && $_overwrite_mkspec; then
# Get our mkspec
rm -Rf $_mkspec_dir
- cp -r "${srcdir}/mkspecs/${_mkspec}" $_mkspec_dir
-fi
-
-if $_patching; then
- echo "Patching source"
- cd ${_srcdir}/qtdeclarative
- #patch -p1 < ${startdir}/0005-Fix-qtdeclarative-build-configured-with-qreal-float.patch
+ cp -rL "${srcdir}/mkspecs/${_mkspec}" $_mkspec_dir
fi
rm -Rf ${_bindir}
@@ -426,9 +422,9 @@ fi
# Prepare for breakage in all your Qt derived projects
#-qtnamespace "Pi${_piver}" \
-# -platform linux-clang \
if $_target_host; then
local _configure_line="${_srcdir}/configure \
+ -platform linux-clang \
${_core_configure_options} \
${_additional_configure_flags}"
# ${_arch_specific_configure_options} \
@@ -439,6 +435,7 @@ else
-qtlibinfix "Pi${_piver}" \
-sysroot ${_sysroot} \
-device ${_mkspec} \
+ -optimize-size \
-device-option CROSS_COMPILE=${_toolchain} \
${_additional_configure_flags}"
fi
@@ -473,7 +470,7 @@ create_install_script() {
package() {
adjust_bin_dir
- create_install_script
+ #create_install_script
# Qt is now installed to $pkgdir/$sysroot/$prefix
# manually generate/decompose host/target
@@ -528,7 +525,7 @@ fi
cd ${_libsdebugdir}
runuser -l ${_packaginguser} -c 'makepkg -d -f' || exit 1
- mv ${_libsdebugdir}/${_libsdebugpkgname}-${pkgver}-${pkgrel}-any.pkg.tar.xz ${startdir}
+ mv ${_libsdebugdir}/${_libsdebugpkgname}-${pkgver}-${pkgrel}-any.pkg.tar.* ${startdir}
fi
if $_static_build || $_target_host; then
@@ -559,7 +556,7 @@ fi
cd ${_libsdir}
runuser -l ${_packaginguser} -c 'makepkg -d -f' || exit 1
- mv ${_libsdir}/${_libspkgname}-${pkgver}-${pkgrel}-any.pkg.tar.xz ${startdir}
+ mv ${_libsdir}/${_libspkgname}-${pkgver}-${pkgrel}-any.pkg.tar.* ${startdir}
fi
cp ${_bindir}/configure_line ${_bindir}/config.summary ${_basepkgdir}