aboutsummarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorDonald Carr2017-01-30 16:50:51 -0800
committerDonald Carr2017-04-27 01:20:43 -0700
commitf96796f7a2e63d5c653efd91bd596e6894af352b (patch)
tree75102f9d4870dfa7be0d5623b1368d863a2cde9f /PKGBUILD
parentad71fedf815716a3c4174c9ba223e5429ac9cc5c (diff)
downloadaur-f96796f7a2e63d5c653efd91bd596e6894af352b.tar.gz
Catch unset pi ver
Change-Id: I66d15dd16d6681e917bda6bf84cde918604c8d4a Investigate while WebEngine is still not being built Change-Id: Iba9e17a21c12a8716c44df3845a35fd2b4042082 Remove broken sourcing of python 2 override Change-Id: I54e2d93a8c7808887e3d7ab15323ef2d0aebe0f9 Revert Raspberry Pi proprietary drive hostile change in QWebEngine Change-Id: Ia841e829b42916d74f1094f6fd2505ff6532f5c6 Move to Qt 5.9 alpha Change-Id: If8aa37f7d1581307f529072deb0fc8ecac67b5d2 Patch allowing Fedora compilation no longer applies Change-Id: I784f8c1ad788960778142be4622c5666903bd57b Reintroduce https://codereview.qt-project.org/#/c/177095/ since I fell asleep at the wheel integrating it Change-Id: I16e966177aa8ae9a17f3dafad0e9e2fb21d8f150 Don't pack non-existent debug Change-Id: I3cc7b497ffbebf9282d9abc7f39dfcce0e678178 Update patch to reflect 5.8 head Change-Id: Ia6bd20fb06a2d4ace2ab075953051af0bd90df25 Revert "Update patch to reflect 5.8 head" This reverts commit 7eb0dca49352d3e054b9e0ac55ee0af40346ded6. Not sure why it doesn't apply against 5.9 after rebasing against 5.8 HEAD :p See impact on build size of removing ltcg Change-Id: I0c759e3d728446760db0a069f58414454db7d66a Remove additional pi_ver check qt3d barfs on host Change-Id: I44d0dc60bc19d5ebe6d82d4586121b0073cbdab4 Create install script for host Change-Id: I410a88cf73ad18cdbec5e18fb0b6723d7d4b71ab Test patch to fix Qt Quick breakage in 5.9 alpha Change-Id: I0f536567d09b38874b93b8d04f72760a7dc9674e Introduce target host convenience Change-Id: Ib5d3e09cc1b5048aa512c88aeb8a772dc7df896a Start using install script everywhere Change-Id: Ib5e6b3fcdc9391ca27de141b2599ede8f377ede2 Bump version numbers Change-Id: I118a85f99a1194f8b3134edc8fe663f89281cb9b Move to the Qt 5.9 beta Change-Id: I67f75c231dcbd00fbefc2a9c629a6675363770fc Remove brcm blitting patch Change-Id: I43c3c819307695ab2a0e08d22c5d4dd1f5f6dbcd Introduce tmpfs usage where possible Change-Id: Iea58d08c5d3d6d22e61ae8052bb017a66ef470de Adjust src/bindir consistently Change-Id: If1a6dfe8d3639e1d503990923ac850a4e3db8a16 build tools for the host Change-Id: I9f13631278c9d016553debbc2e9a8cbb0146d4a1 General housekeeping Change-Id: If8423ded49b38611c3adb7c9837bb8262b436abc Introduce repackaging hack Change-Id: Ifedeb39572c34df0710e8851627fbbf41d184930 Allow for Qt to be dropped in as the system Qt Change-Id: I4f9f6d4b492aff89aa19576522cb13a05451af9f -Os does not appear to jive well with Clang 4 Change-Id: Id29a8121c9442eed198588ffda91ec131e60679b It is a pity providers can't coexist Change-Id: I59ea7371a630cba6b48060ebb7d93c155770efc6 Don't murder qtscript unduly Change-Id: I5df86e93cfae53c454dc40589d99112c68445bf6 Qt3D only barfs on the host Change-Id: I3650287f4f889b0e5c3602c7bb66c42049ceecfa Move to the beta2 move provides/conflicts to the libs Change-Id: If4767ddec68b687dea73f0bd9bd1aabdf88a135c Second packaging attempt Change-Id: I4316f905da27de2d763f38606ec0ba738695d87e Allow Qt builds to be used as system Qt on Arch Change-Id: I7e3a7b2b29df28a7e1c1d808f13a9a84c0458cbc Use of openssl 1.0 was kinda important Change-Id: Id8350d4dd262f22c85f0099420d9d61ac894bbca pcre2 is now a dependency Change-Id: I0029e278ee612bf25092e8634942890d8a8c917c Introduce minimal option Change-Id: I01603b9ef64333d90f050d0cd0239d80b8562e66 update source info Change-Id: Ib018f6b5eca66b6503b05946c5c1ccbd96018437
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD164
1 files changed, 110 insertions, 54 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 0bdf8696f9dc..b684262aca55 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,6 +19,8 @@
# Arch: build dependencies for the target device documented in PKGBUILD.libs
# Fedora: systemd-devel mesa-*-devel wayland*-devel fontconfig-devel libinput-devel freetype-devel qt5-qtdeclarative-devel
+pkgname="qt-sdk"
+
# Sanity check
_building=true
@@ -39,6 +41,18 @@ if [[ -z ${startdir} ]]; then
_building=false;
fi
+if [[ -f minimal ]]; then
+ _skip_qtscript=true;
+ _skip_web_engine=true;
+ _skip_qt_widgets=true;
+ _debug=false;
+ pkgname="${pkgname}-minimal"
+fi
+
+if [[ -f target_host ]]; then
+ _target_host=true;
+fi
+
# Sanity check options
if $_target_host; then
_piver=""
@@ -58,14 +72,14 @@ fi
# vars
_local_qt5_repo="/opt/dev/src/qtproject/qt5"
-_pkgvermajmin="5.8"
+_pkgvermajmin="5.9"
_pkgverpatch=".0"
-# -{alpha/beta/rc}
-_dev_suffix=""
-pkgrel=9
+# {alpha/beta/beta2/rc}
+_dev_suffix="beta2"
+pkgrel=3
pkgver="${_pkgvermajmin}${_pkgverpatch}"
$_build_from_head && pkgver=6.6.6
-_pkgver=${pkgver}${_dev_suffix}
+_pkgver=${pkgver}-${_dev_suffix}
_release_type="development_releases"
_mkspec="linux-rpi${_piver}-g++"
_additional_configure_flags=""
@@ -93,27 +107,27 @@ if $_target_host; then
_use_mesa=true
else
depends=("qpi${_piver}-toolchain")
- install=qpi.install
-
- rm $install
- touch $install
-fi
-
-if [[ -f testing ]]; then
- _skip_web_engine=true;
- _debug=false;
fi
if [[ -z "${_dev_suffix}" ]]; then _release_type="official_releases"; fi
$_build_from_head && _patching=false && _shadow_build=true
$_skip_web_engine && _additional_configure_flags="$_additional_configure_flags -skip qtwebengine"
+$_skip_qt_script && _additional_configure_flags="$_additional_configure_flags -skip qtscript"
+$_skip_qt_widgets && _additional_configure_flags="$_additional_configure_flags -no-widgets"
$_static_build && _additional_configure_flags="$_additional_configure_flags -static"
$_float && _additional_configure_flags="$_additional_configure_flags -qreal float"
+if $_skip_web_engine; then
+ _additional_configure_flags="$_additional_configure_flags -no-icu"
+fi
+
# PKGBUILD vars
-pkgname="qt-sdk"
+install=qpi.install
+
+rm $install
+touch $install
if [[ -n ${_piver} ]] || ! $_building; then
pkgname="${pkgname}-raspberry-pi${_piver}"
@@ -127,10 +141,15 @@ fi
_libspkgname="${pkgname}-target-libs"
_libsdebugpkgname="${pkgname}-target-libs-debug"
_packaginguser=$(whoami)
-_baseprefix=/opt
-_installprefix=${_baseprefix}/${pkgname}
_qt_package_name_prefix="qt-everywhere-opensource-src"
_source_package_name=${_qt_package_name_prefix}-${_pkgver}
+_baseprefix=/opt
+_installprefix=${_baseprefix}/${pkgname}
+
+if $_target_host; then
+ _baseprefix=/usr
+ _installprefix=${_baseprefix}
+fi
pkgdesc="Qt SDK for the Raspberry Pi 1/2/3"
arch=("x86_64")
@@ -140,35 +159,46 @@ optdepends=('qtcreator: Integrated Raspberry Pi IDE development')
makedepends=("git" "pkgconfig" "gcc" "gperf" "python")
#_provider=http://qt.mirror.constant.com/
_provider=https://download.qt.io
+_tmpfs_dir=/vortex
+
+_arch_specific_configure_options="\
+ -prefix /usr \
+ -docdir /usr/share/doc/qt \
+ -headerdir /usr/include/qt \
+ -archdatadir /usr/lib/qt \
+ -datadir /usr/share/qt \
+ -sysconfdir /etc/xdg \
+ -examplesdir /usr/share/doc/qt/examples \
+ -no-rpath"
# shouldn't be needed
_core_configure_options="\
- -prefix ${_installprefix} \
-optimized-tools \
+ -optimized-qmake \
-confirm-license \
-opensource \
-v \
-silent \
-release \
-fontconfig \
+ -system-sqlite \
-system-freetype \
+ -system-harfbuzz \
+ -dbus-linked \
+ -openssl-linked \
-pch \
-opengl es2 \
-egl \
-journald \
-make libs \
- -no-icu \
- -no-compile-examples \
- \
- -reduce-relocations \
- -reduce-exports \
-ltcg \
\
- -skip qtscript"
+ -reduce-relocations \
+ -reduce-exports"
if ! $_build_from_head; then
- source=("git://github.com/sirspudd/mkspecs.git" "${_provider}/${_release_type}/qt/${_pkgvermajmin}/${_pkgver}/single/${_source_package_name}.7z")
- sha256sums=("SKIP" "0efc79805cfeacc1bd2d10d8d6033e95b6c42cb5d68b1d5a1069b141006a2358")
+ source=("git://github.com/sirspudd/mkspecs.git" "${_provider}/${_release_type}/qt/${_pkgvermajmin}/${_pkgver}/single/${_source_package_name}.tar.xz")
+ sha256sums=("SKIP" "b74c30cd80474880b4a0c2f0ed6efdbda16ebe72cdc26f2a85bb025a42d5d838")
fi
options=('!strip')
@@ -196,36 +226,52 @@ if ! $_target_host; then
trap finish EXIT
fi
+adjust_bin_dir() {
+ if [[ -n ${_srcdir} ]]; then
+ _bindir="${_srcdir}"
+ else
+ # Probably repackaging: gonna have to make some assumptions
+ _bindir="${startdir}/src/${_source_package_name}"
+ fi
+ if $_shadow_build; then
+ _bindir="${_bindir}-build"
+ if [[ -d $_tmpfs_dir ]]; then
+ _bindir="${_tmpfs_dir}/${_bindir}"
+ fi
+ fi
+}
+
+adjust_src_dir() {
+ if $_build_from_head; then
+ if [[ -z $_local_qt5_repo ]]; then echo "Need to set a repo dir to build from head"; exit 1; fi
+ _srcdir=$_local_qt5_repo
+ fi
+}
+
build() {
# Qt tries to do the right thing and stores these, breaking cross compilation
unset LDFLAGS
unset CFLAGS
unset CXXFLAGS
- source ${startdir}/python_override_env
+ export PATH=${startdir}:${PATH}
+
+ _srcdir="${srcdir}/${_source_package_name}"
+ adjust_src_dir
+ adjust_bin_dir
- local _srcdir="${srcdir}/${_source_package_name}"
- local _bindir="${_srcdir}"
local _basedir="${_srcdir}/qtbase"
local _waylanddir="${_srcdir}/qtwayland"
local _declarativedir="${_srcdir}/qtdeclarative"
local _webenginedir="${_srcdir}/qtwebengine"
local _mkspec_dir="${_basedir}/mkspecs/devices/${_mkspec}"
- if $_shadow_build; then
- _bindir="${_srcdir}-build"
- rm -Rf ${_bindir}
- mkdir -p ${_bindir}
- fi
-
- if $_build_from_head; then
- if [[ -z $_local_qt5_repo ]]; then echo "Need to set a repo dir to build from head"; exit 1; fi
- _srcdir=$_local_qt5_repo
- fi
-
cd ${_srcdir}
-if ! $_target_host; then
+if $_target_host; then
+ echo "INCLUDEPATH += /usr/include/openssl-1.0" >> ${_basedir}/src/network/network.pro
+ export OPENSSL_LIBS='-L/usr/lib/openssl-1.0 -lssl -lcrypto'
+else
# Get our mkspec
rm -Rf $_mkspec_dir
cp -r "${srcdir}/mkspecs/${_mkspec}" $_mkspec_dir
@@ -241,16 +287,26 @@ if $_patching; then
sed -i "s/error/warning/" ${_reducerelocations} || exit 1
cd ${_basedir}
- patch -p1 < ${startdir}/0001-Check-lib64-as-well-as-lib.patch
+ #patch -p1 < ${startdir}/0001-Check-lib64-as-well-as-lib.patch
+
+ cd ${_declarativedir}
+ #patch -p1 < ${startdir}/0001-Fix-crash-in-QQuickPixmapReader-friends.patch
+
+ cd ${_waylanddir}
+ #patch -p1 < ${startdir}/0001-Fix-brcm-egl-build-by-correcting-commit-usage.patch
+
+ cd ${_webenginedir}
+ # reverse patch which breaks dynamic loading of EGL/GLESvs with rpi proprietary drivers
+ patch -p1 < ${startdir}/0001-Revert-Fully-qualify-libEGL.so.1-libEGLESv2.so.2-lib.patch
# Work around our embarresing propensity to stomp on your own tailored build configuration
- sed -i "s/O[23]/Os/" ${_basedir}/mkspecs/common/gcc-base.conf || exit 1
+ # sed -i "s/O[23]/Os/" ${_basedir}/mkspecs/common/gcc-base.conf || exit 1
fi
+ rm -Rf ${_bindir}
+ mkdir -p ${_bindir}
cd ${_bindir}
- # skipping on principle: qtscript xcb
-
# Too bleeding big
# -developer-build \
# -separate-debug-info \
@@ -264,11 +320,15 @@ fi
if $_target_host; then
local _configure_line="${_srcdir}/configure \
+ -platform linux-clang \
+ -make tools \
+ ${_arch_specific_configure_options} \
${_core_configure_options} \
${_additional_configure_flags}"
else
local _configure_line="${_srcdir}/configure \
${_core_configure_options} \
+ -prefix ${_installprefix} \
-hostprefix ${_installprefix} \
-qtlibinfix "Pi${_piver}" \
-sysroot ${_sysroot} \
@@ -293,16 +353,9 @@ create_install_script() {
}
package() {
- local _srcdir="${srcdir}/${_source_package_name}"
- local _bindir="${_srcdir}"
-
-if $_shadow_build; then
- _bindir="${_srcdir}-build"
-fi
+ adjust_bin_dir
-if ! $_target_host; then
- create_install_script
-fi
+ #create_install_script
# cleanup
rm -Rf ${pkgdir}
@@ -327,6 +380,7 @@ fi
local _profiledfn=qpi.sh
local _installed_dir="${pkgdir}/${_sysroot}/${_baseprefix}"
+
if $_target_host; then
_installed_dir="${pkgdir}/${_baseprefix}"
fi
@@ -373,7 +427,9 @@ fi
runuser -l ${_packaginguser} -c 'makepkg -d -f' || exit 1
mv ${_libsdir}/${_libspkgname}-${pkgver}-${pkgrel}-any.pkg.tar.xz ${startdir}
+if $_debug; then
cd ${_libsdebugdir}
runuser -l ${_packaginguser} -c 'makepkg -d -f' || exit 1
mv ${_libsdebugdir}/${_libsdebugpkgname}-${pkgver}-${pkgrel}-any.pkg.tar.xz ${startdir}
+fi
}