_pkgbasename=qt pkgname="lib32-${_pkgbasename}" pkgver=4.8.7 pkgrel=8 pkgdesc='A cross-platform application and UI framework. (ELF32)' arch=('x86_64') url='http://www.qt.io' license=('GPL3' 'LGPL') depends=(lib32-{fontconfig,sqlite3,alsa-lib,glib2,dbus-core,openssl,gstreamer,gst-plugins-base} lib32-lib{png,tiff,mng,gl,sm,xrandr,xv,xi,xinerama,xcursor,xfixes,ffi,xml2} "${_pkgbasename}=${pkgver}") makedepends=('cups' lib32-{mesa,libcups,libxfixes,icu} ) _pkgfqn="${_pkgbasename}-everywhere-opensource-src-${pkgver}" source=("http://download.qt.io/official_releases/qt/4.8/${pkgver}/${_pkgfqn}.tar.gz" 'improve-cups-support.patch' 'moc-boost-workaround.patch' 'kubuntu_14_systemtrayicon.diff' 'kde4-settings.patch' 'glib-honor-ExcludeSocketNotifiers-flag.diff' 'disable-sslv3.patch' 'l-qclipboard_fix_recursive.patch' 'l-qclipboard_delay.patch' 'qt4-gcc6.patch' 'qt4-glibc-2.25.patch' 'qt4-icu59.patch' 'qt4-openssl-1.1.patch') md5sums=('d990ee66bf7ab0c785589776f35ba6ad' 'c439c7731c25387352d8453ca7574971' 'da387bde22ae1c446f12525d2a31f070' 'a523644faa8f98a73f55c4aa23c114a6' '66dfea63916c8dbf47b23cb012ffdccc' '85679531c8a7310317adfb7002d9f99a' '1803ab6313df762d807678e58fc85f53' '009de09b4e589a7770fba74405656c99' 'addc5e88d538ee55e17bd49ba337ca67' '98e00c5c7e5fee12e11ecbedd03f01ff' '296a06554222ff5839cccc41c5d3987e' 'dbd1bec8c33c27ec0ae640b25801d25b' '543b8d1f220bfe6116c3d08584c260e6') prepare() { cd "${srcdir}/${_pkgfqn}" # (FS#28381) (KDEBUG#180051) patch -p1 -i "${srcdir}"/improve-cups-support.patch # QTBUG#22829 patch -p1 -i "${srcdir}"/moc-boost-workaround.patch # http://blog.martin-graesslin.com/blog/2014/06/where-are-my-systray-icons/ patch -p1 -i "${srcdir}"/kubuntu_14_systemtrayicon.diff # FS#45106 patch -p0 -i "${srcdir}"/kde4-settings.patch # React to OpenSSL's OPENSSL_NO_SSL3 define patch -p1 -i "${srcdir}"/disable-sslv3.patch sed -i "s|-O2|${CXXFLAGS} -m32|" mkspecs/common/{g++,gcc}-base.conf sed -i "/^QMAKE_LFLAGS_RPATH/s| -Wl,-rpath,||g" mkspecs/common/gcc-base-unix.conf sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS} -m32|g" mkspecs/common/gcc-base.conf sed -i "/^QMAKE_LINK\s/s|g++|g++ -m32|g" mkspecs/common/g++-base.conf sed -i "s|-Wl,-O1|-m32 -Wl,-O1|" mkspecs/common/g++-unix.conf sed -e "s|-O2|${CXXFLAGS} -m32|" \ -e "/^QMAKE_RPATH/s| -Wl,-rpath,||g" \ -e "/^QMAKE_LINK\s/s|g++|g++ -m32|g" \ -e "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS} -m32|g" \ -i mkspecs/common/g++.conf cp mkspecs/common/linux{,32}.conf sed -i "/^QMAKE_LIBDIR\s/s|=|= /usr/lib32|g" mkspecs/common/linux32.conf sed -i "s|common/linux.conf|common/linux32.conf|" mkspecs/linux-g++-32/qmake.conf # Fix build with GCC6 (Fedora) patch -p1 -i "$srcdir"/qt4-gcc6.patch # Fix build of Qt4 applications with glibc 2.25 (Fedora) patch -p1 -i "$srcdir"/qt4-glibc-2.25.patch # Fix build with ICU 59 (pld-linux) patch -p1 -i "$srcdir"/qt4-icu59.patch # Fix build with OpenSSL 1.1 (Debian + OpenMandriva) #patch -p1 -i "$srcdir"/qt4-openssl-1.1.patch echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/3rdparty/javascriptcore/JavaScriptCore/JavaScriptCore.pri echo "QMAKE_CXXFLAGS += -std=gnu++98" >> src/plugins/accessible/qaccessiblebase.pri } build() { cd "${srcdir}/${_pkgfqn}" #export CC='clang' #export CXX='clang++' #export CXXFLAGS+=" -std=gnu++98" export QT4DIR=$srcdir/$_pkgfqn export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH} export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" ./configure -confirm-license -opensource -v -platform linux-g++-32 \ -prefix /usr \ -libdir /usr/lib32 \ -plugindir /usr/lib32/qt/plugins \ -importdir /usr/lib32/qt/imports \ -datadir /usr/share/qt \ -translationdir /usr/share/qt/translations \ -sysconfdir /etc \ -system-sqlite \ -no-phonon \ -no-phonon-backend \ -no-webkit \ -graphicssystem raster \ -openssl-linked \ -nomake demos \ -nomake examples \ -nomake docs \ -nomake tools \ -optimized-qmake \ -no-rpath \ -dbus-linked \ -reduce-relocations \ -no-openvg \ -xcursor make } package() { cd "${srcdir}/${_pkgfqn}" make install INSTALL_ROOT="${pkgdir}" # Fix wrong path in pkgconfig files find "${pkgdir}/usr/lib32/pkgconfig" -type f -name '*.pc' \ -exec perl -pi -e "s, -L${srcdir}/?\S+,,g" {} \; # Fix wrong path in prl files find "${pkgdir}/usr/lib32" -type f -name '*.prl' \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \; rm -rf "${pkgdir}/usr"/{include,share,bin} mkdir -p "${pkgdir}/usr/share/licenses" ln -s "${_pkgbasename}" "${pkgdir}/usr/share/licenses/${pkgname}" }