diff options
author | Donald Carr | 2017-01-30 16:50:51 -0800 |
---|---|---|
committer | Donald Carr | 2017-04-27 01:20:43 -0700 |
commit | f96796f7a2e63d5c653efd91bd596e6894af352b (patch) | |
tree | 75102f9d4870dfa7be0d5623b1368d863a2cde9f /PKGBUILD | |
parent | ad71fedf815716a3c4174c9ba223e5429ac9cc5c (diff) | |
download | aur-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-- | PKGBUILD | 164 |
1 files changed, 110 insertions, 54 deletions
@@ -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 } |