summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD104
1 files changed, 55 insertions, 49 deletions
diff --git a/PKGBUILD b/PKGBUILD
index f0ae3c4a2ff..afee8895af6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -22,13 +22,13 @@ _skip_web_engine=false
_static_build=false
_build_from_head=false
_local_qt5_repo="/opt/dev/src/qtproject/qt5"
-_wayland_compositor=true
-pkgver=5.6.0
-pkgrel=10
-
-# PKGBUILD
+pkgrel=1
_piver=1
+
+_pkgvermajmin="5.7"
+pkgver="${_pkgvermajmin}.0"
+
pkgname="qt-sdk-raspberry-pi${_piver}"
if $_static_build; then
@@ -36,7 +36,7 @@ if $_static_build; then
fi
if $_build_from_head; then
- _pkgver=6.6.6
+ pkgver=6.6.6
fi
provides=("${pkgname}")
@@ -44,18 +44,24 @@ conflicts=("${pkgname}")
_packaginguser=$(whoami)
_libspkgname="${pkgname}-target-libs"
_mkspec="linux-rpi${_piver}-g++"
-_pkgver=${pkgver}-rc
+
+_pkgver=${pkgver}-beta
+
_baseprefix=/opt
_installprefix=${_baseprefix}/${pkgname}
-_source_package_name=qt-everywhere-opensource-src-${_pkgver}
+_qt_package_name_prefix="qt-everywhere-opensource-src"
+_source_package_name=${_qt_package_name_prefix}-${_pkgver}
+
pkgdesc="Qt SDK for the Raspberry Pi${_piver}"
arch=("x86_64")
url="http://www.qt.io"
license=("LGPL3" "GPL3")
depends=("qpi-toolchain" "qtcreator")
makedepends=("git" "pkgconfig" "gcc")
-source=("git://github.com/sirspudd/mkspecs.git" "https://download.qt.io/development_releases/qt/5.6/${_pkgver}/single/${_source_package_name}.7z")
-sha256sums=("SKIP" "82ed4bc1bf7735747e1612f322f8723dfd84f05fa4dca9398863e6527a0c1971")
+source=("git://github.com/sirspudd/mkspecs.git" "https://download.qt.io/development_releases/qt/${_pkgvermajmin}/${_pkgver}/single/${_source_package_name}.7z")
+
+sha256sums=("SKIP" "d3df816772492d3d4e9bd542d5dfb45071821ab973ab8c426ae96fda4a47a8b9")
+
options=('!strip')
install=qpi.install
_fully_qualified_install_script="${startdir}/${install}"
@@ -78,7 +84,16 @@ fi
#end sanity check
-if $_static_build || $_skip_web_engine || [[ ${_piver} = "1" ]]; then
+# callbacks
+finish() {
+ if [[ -n ${startdir} ]]; then
+ cd ${startdir}
+ git checkout qpi.install
+ fi
+}
+trap finish EXIT
+
+if $_static_build || $_skip_web_engine || [[ ${_piver} = "1" ]] || [[ ${_piver} = "3" ]]; then
_device_configure_flags="$_device_configure_flags -skip qtwebengine"
fi
@@ -90,14 +105,14 @@ if $_build_from_head; then
_device_configure_flags="$_device_configure_flags -skip qt3d -skip qtsystems -skip qttools -skip qtwebkit"
fi
-if $_wayland_compositor; then
- _device_configure_flags="$_device_configure_flags -skip qtwayland"
-fi
-
build() {
local _srcdir="${srcdir}/${_source_package_name}"
- local _bindir="${_srcdir}-build"
- local _mkspec_dir="${_srcdir}/qtbase/mkspecs/devices/${_mkspec}"
+ local _basedir="${_srcdir}/qtbase"
+ local _waylanddir="${_srcdir}/qtwayland"
+ local _webenginedir="${_srcdir}/qtwebengine"
+ local _locationdir="${_srcdir}/qtlocation"
+ local _bindir="${_srcdir}"
+ local _mkspec_dir="${_basedir}/mkspecs/devices/${_mkspec}"
# Qt tries to do the right thing and stores these, breaking cross compilation
unset LDFLAGS
@@ -108,17 +123,13 @@ if $_build_from_head; then
_srcdir="${_local_qt5_repo}"
fi
+ cd ${_srcdir}
+
# Get our mkspec
rm -Rf $_mkspec_dir
cp -r "${srcdir}/mkspecs/${_mkspec}" $_mkspec_dir
- mkdir -p ${_bindir}
- cd ${_bindir}
-
- # skipping due to build issues: qtquickcontrols2
# skipping on principle: qtscript xcb
- # skipping because of the target in question: widgets qtwebchannel
- # TODO: qtwebengine, a little bulky but useful
# Too bleeding big
# -developer-build \
@@ -127,22 +138,37 @@ fi
# Chromium requires python2 to be the system python on your build host
# I literally symlink /usr/bin/python to /usr/bin/python2 on arch
- # patch
+ # build qtwebengine with our mkspec
local _webenginefileoverride="${_srcdir}/qtwebengine/tools/qmake/mkspecs/features/functions.prf"
sed -i "s/linux-clang/linux*/" ${_webenginefileoverride} || exit 1
- local _reducerelocations="${_srcdir}/qtbase/config.tests/unix/bsymbolic_functions.test"
+
+ # hard coded off, so we have to hard code it on
+ local _reducerelocations="${_basedir}/config.tests/unix/bsymbolic_functions.test"
sed -i "s/error/warning/" ${_reducerelocations} || exit 1
- # No longer required as we explicitly set CFLAGS = foo in the mkspec
# Work around our embarresing propensity to stomp on your own tailored build configuration
- sed -i "s/O[23]/Os/" ${_srcdir}/qtbase/mkspecs/common/gcc-base.conf || exit 1
+ sed -i "s/O[23]/Os/" ${_basedir}/mkspecs/common/gcc-base.conf || exit 1
+
+ # incorporate journald fix
+ local _patch_dir=${startdir}
+ cd ${_basedir}
+ patch -p1 < ${_patch_dir}/0001-Make-CFLAGS-CXXFLAGS-behave-consistently-in-config.t.patch
+ patch -p1 < ${_patch_dir}/0002-Adjust-egl-config.test-to-pass-sysrooted-libs.patch
+ cd ${_webenginedir}
+ patch -p1 < ${_patch_dir}/0001-Include-neon-support-for-any-fpu-.-neon.patch
+ patch -p1 < ${_patch_dir}/0001-Always-define-arm_thumb.patch
# end patch
+ mkdir -p ${_bindir}
+ cd ${_bindir}
+
# Breaks in qtwayland
# -qtnamespace Pi \
${_srcdir}/configure \
+ -no-icu \
+ -v \
-qreal float \
-release \
-silent \
@@ -158,14 +184,12 @@ fi
-prefix ${_installprefix} \
-opengl es2 \
-egl \
- -no-icu \
+ -journald \
\
- -no-widgets \
-make libs \
-no-xcb \
\
-skip qtscript \
- -skip qtenginio \
\
-sysroot ${_sysroot} \
-device ${_mkspec} \
@@ -173,16 +197,6 @@ fi
${_device_configure_flags} || exit 1
make || exit 1
-
-if $_wayland_compositor; then
- # regrettably required, as qtwayland barfs on shadow builds
- # as private header paths not included: no clue how to fix, bypassing
-
- cp -r "${_srcdir}/qtwayland" "${_bindir}" || exit 1
- cd "${_bindir}/qtwayland"
- ${_bindir}/qtbase/bin/qmake CONFIG+=wayland-compositor || exit 1
- make || exit 1
-fi
}
create_install_script()
@@ -196,7 +210,7 @@ create_install_script()
package() {
local _srcdir="${srcdir}/${_source_package_name}"
- local _bindir="${_srcdir}-build"
+ local _bindir="${_srcdir}"
create_install_script
@@ -207,12 +221,6 @@ package() {
cd "${_bindir}"
INSTALL_ROOT="$pkgdir" make install || exit 1
-if $_wayland_compositor; then
- # regrettably required
- cd "${_bindir}/qtwayland"
- INSTALL_ROOT="$pkgdir" make install || exit 1
-fi
-
# Qt is now installed to $pkgdir/$sysroot/$prefix
# manually generate/decompose host/target
local _libsdir="${startdir}/${_libspkgname}"
@@ -239,7 +247,5 @@ fi
cd ${_libsdir}
runuser -l ${_packaginguser} -c 'makepkg -d -f' || exit 1
- echo "the libs package for the Raspberry Pi${_piver} is in the ${_packaginguser} home directory awaiting deployment"
-
mv ${_libsdir}/${_libspkgname}-${pkgver}-${pkgrel}-any.pkg.tar.xz ${startdir}
}