From 88b9edb6b33423e70982f73704a87c495deb2581 Mon Sep 17 00:00:00 2001 From: "Pawel \"l0ner\" Soltys" Date: Fri, 27 Jan 2012 20:13:42 +0100 Subject: [PATCH] qt3: moved libxi to makedeps - added patches pulled form kdemod3, those prefixed with number come from http://websvn.kde.org/trunk/qt-copy/patches/ oters come form fedora, gentoo and debian - changed QTDIR to QT3DIR in order to allow Qt4 compatibility [is this needed? dunno but you never know] - added xinerama, xcursor, xrender options to configure - pulled libtool slay and Arch64 fix from kdemod3 PKGBUILDs - pulled GCC4 fix from kdemod3 PKGBUILDs --- arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD | 143 +++++++++++++----- .../trinity-qt3/qt-patches.tar.bz2 | Bin 0 -> 14103 bytes 2 files changed, 108 insertions(+), 35 deletions(-) create mode 100644 arch/3.5.13/trinity-base/trinity-qt3/qt-patches.tar.bz2 diff --git a/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD b/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD index 3b5091639..b03e0852c 100644 --- a/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD +++ b/arch/3.5.13/trinity-base/trinity-qt3/PKGBUILD @@ -3,43 +3,90 @@ pkgname=trinity-qt3 pkgver=3.8.8.d -pkgrel=4 +pkgrel=5 pkgdesc="The Qt3 gui toolkit - with Trinity upstream" arch=('i686' 'x86_64') url="http://trinitydesktop.org" license=('GPL') groups=('trinity-base') -depends=('libpng' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' 'libxft' - 'libxrandr' 'libmng') -makedepends=('libxi' - 'mysql' 'postgresql' 'unixodbc' 'sqlite3') +depends=('libpng' 'libjpeg' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' + 'libxft' 'libxrandr') +makedepends=('mysql' 'postgresql' 'sqlite3' 'unixodbc' 'libmng' 'libxi') # cups [add for cups support, add -cups to ./configure opts] optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') -provides=('trinity-qt3' 'qt3' 'qt3-enhanced' ) -conflicts=('qt3') -replaces=('qt3-enhanced') +provides=('qt3' 'qt3-enhanced') +replaces=('qt3-enhanced' 'qt3') options=('libtool' '!emptydirs') -source=('http://mirror.ets.kth.se/trinity/releases/3.5.13/dependencies/qt3-3.3.8.d.tar.gz' 'qt-odbc.patch') +source=('http://mirror.ets.kth.se/trinity/releases/3.5.13/dependencies/qt3-3.3.8.d.tar.gz' + 'qt-patches.tar.bz2') md5sums=('78dc675e84aed595375449818cbb589a' - '32772739fc53062e9151a6e283c52add') + 'a4b569f217d17cb1231c18aa48ecae20') _prefix="/opt/qt" build() { + msg "Patching source code..." + + cd $srcdir/qt3 + + # apply other qt patches from debian/gentoo + msg "- Applying patch: 0015-qiconview-finditem.patch" + patch -Np0 -i $srcdir/qt-patches/0015-qiconview-finditem.patch + msg "- Applying patch: 0017-qiconview-ctrl_rubber.patch" + patch -Np0 -i $srcdir/qt-patches/0017-qiconview-ctrl_rubber.patch + msg "- Applying patch: 0020-designer-deletetabs.patch" + patch -Np0 -i $srcdir/qt-patches/0020-designer-deletetabs.patch + msg "- Applying patch: 0035-qvaluelist-streaming-operator.patch" + patch -Np0 -i $srcdir/qt-patches/0035-qvaluelist-streaming-operator.patch + msg "- Applying patch: 0036-qprogressbar-optimization.patch" + patch -Np0 -i $srcdir/qt-patches/0036-qprogressbar-optimization.patch + msg "- Applying patch: 0046-qiconview-no-useless-scrollbar.patch" + patch -Np0 -i $srcdir/qt-patches/0046-qiconview-no-useless-scrollbar.patch + msg "- Applying patch: 0049-qiconview-rubber_on_move.patch" + patch -Np0 -i $srcdir/qt-patches/0049-qiconview-rubber_on_move.patch + msg "- Applying patch: 0078-argb-visual-hack.patch" + patch -Np0 -i $srcdir/qt-patches/0078-argb-visual-hack.patch + msg "- Applying patch: 0088-fix-xinput-clash.patch" + patch -Np0 -i $srcdir/qt-patches/0088-fix-xinput-clash.patch + msg "- Applying patch: gcc46-arch.patch" + patch -Np1 -i $srcdir/qt-patches/gcc46-arch.patch + msg "- Applying patch: qt-3.1.0-makefile.patch" + patch -Np1 -i $srcdir/qt-patches/qt-3.1.0-makefile.patch + msg "- Applying patch: qt-3.3.4-print-CJK.patch" + patch -Np1 -i $srcdir/qt-patches/qt-3.3.4-print-CJK.patch + msg "- Applying patch: qt-3.3.8-buffered-iconview.patch" + patch -Np1 -i $srcdir/qt-patches/qt-3.3.8-buffered-iconview.patch + msg "- Applying patch: qt-3.3.8.d-libpng15-1.patch" + patch -Np1 -i $srcdir/qt-patches/qt-3.3.8.d-libpng15-1.patch + msg "- Applying patch: qt-3.3.8-eyecandy.patch" + patch -Np1 -i $srcdir/qt-patches/qt-3.3.8-eyecandy.patch + msg "- Applying patch: qt-3.3.8-odbc.patch" + patch -Np1 -i $srcdir/qt-patches/qt-3.3.8-odbc.patch + msg "- Applying patch: qt-no-rpath.patch" + patch -Np1 -i $srcdir/qt-patches/qt-no-rpath.patch + msg "- Applying patch: qt-visibility.patch" + patch -Np1 -i $srcdir/qt-patches/qt-visibility.patch + msg "- Applying patch: qt-x11-free-3.3.4-gcc4-buildkey.patch" + patch -Np1 -i $srcdir/qt-patches/qt-x11-free-3.3.4-gcc4-buildkey.patch + msg "- Applying patch: qt-x11-free-3.3.4-gcc4.patch" + patch -Np1 -i $srcdir/qt-patches/qt-x11-free-3.3.4-gcc4.patch + + # change occurrences of $QTDIR into $QT3DIR + # anything. Qt4 compatibility? + find ${srcdir}/qt3 -type f -exec \ + sed -i 's/QTDIR/QT3DIR/g' {} + + msg "Setting enviroment variables..." - export QTDIR="${srcdir}/qt3/" - export PATH=${QTDIR}/bin:${PATH} - export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH} - export QMAKESPEC=$QTDIR/mkspecs/linux-g++ + export QT3DIR="${srcdir}/qt3/" + export PATH=${QT3DIR}/bin:${PATH} + export LD_LIBRARY_PATH=${QT3DIR}/lib:${LD_LIBRARY_PATH} + export QMAKESPEC=$QT3DIR/mkspecs/linux-g++ if [ "$CARCH" = "x86_64" ]; then export ARCH="-64" else unset ARCH fi - # fix build problem against new unixODBC - patch -p1 -i "${srcdir}"/qt-odbc.patch - cd "${srcdir}/qt3" rm -rf mkspecs/{*aix*,*bsd*,cygwin*,dgux*,darwin*,hpux*,hurd*,irix*,lynxos*,macx*,qnx*,reliant*,sco*,solaris*,tru64*,unixware*,win32*} @@ -68,9 +115,15 @@ build() { -no-g++-exceptions \ -thread \ -shared \ + -dlopen-opengl \ + -no-ipv6 \ -system-zlib \ - -system-lib{png,jpeg,mng} \ + -{system-lib,plugin-imgfmt-}{png,jpeg,mng} \ -qt-gif \ + -xinerama \ + -xcursor \ + -xrender \ + -xft \ -plugin-sql-{mysql,psql,sqlite,odbc} # 64bit fixes pulled from extras/qt3 PKGBUILD @@ -100,35 +153,55 @@ build() { make } -package() { +package() { msg "Packaging - $pkgname-$pkgver" cd "$srcdir/qt3" - # Build ld.so.conf file - echo "${_prefix}" > ${srcdir}/libqt-mt.conf - echo "${_prefix}/lib" >> ${srcdir}/libqt-mt.conf - echo "/opt/trinity/lib" >> ${srcdir}/libqt-mt.conf - # install -d -m755 ${pkgdir}/etc/ld.so.conf.d/ - install -D -m755 ${srcdir}/libqt-mt.conf ${pkgdir}/etc/ld.so.conf.d/libqt-mt.conf - - # Build and install qt.profile - echo "export QTDIR=${_prefix}" > ${srcdir}/qt.profile - echo "export QT_XFT=true" >> ${srcdir}/qt.profile - echo 'export PATH=$PATH:$QTDIR/bin' >> ${srcdir}/qt.profile - echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$QTDIR/pkgconfig' >> ${srcdir}/qt.profile - install -D -m755 ${srcdir}/qt.profile ${pkgdir}/etc/profile.d/qt3.sh - make INSTALL_ROOT="$pkgdir" install + msg "Cleaning package..." + rm -rf "${pkgdir}"/opt/qt/{phrasebooks,templates,translations} sed -i "s|-L${srcdir}/qt3/lib ||g" "${pkgdir}"/opt/qt/lib/*.prl + rm -f "${pkgdir}"/opt/qt/mkspecs/linux-g++$ARCH/linux-g++$ARCH + + # Fix issues with GCC4 + sed -i 's/\(char\*\)/const char*/g' $pkgdir/opt/qt/include/*.h + # Fix the mess we did fixing issues with GCC4 + sed -i 's/const u char/const uchar/g' $pkgdir/opt/qt/include/*.h + sed -i 's/u const char/const uchar/g' $pkgdir/opt/qt/include/*.h + sed -i 's/const const/const/g' $pkgdir/opt/qt/include/*.h + sed -i 's/uconst/ unsigned /g' $pkgdir/opt/qt/include/*.h + + sed -ie 's/define QTIMER_H/&\n#include "qglobal.h"/g' $pkgdir/opt/qt/include/qtimer.h + install -D -m755 qmake/qmake "${pkgdir}"/opt/qt/bin/qmake - ln -sf /opt/qt/bin/qtconfig "${pkgdir}"/opt/qt/bin/qt3config - rm -f "${pkgdir}"/opt/qt/mkspecs/linux-g++$ARCH/linux-g++$ARCH + # Build ld.so.conf file + install -d -m755 ${pkgdir}/etc/ld.so.conf.d/ + echo "${_prefix}/lib" >> ${pkgdir}/etc/ld.so.conf.d/qt3.conf + + # Build and install qt.profile + install -d -m755 ${pkgdir}/etc/profile.d/ + echo "export QT3DIR=${_prefix}" > ${pkgdir}/etc/ld.so.conf.d/qt3.sh + echo "export QT_XFT=true" >> ${pkgdir}/etc/ld.so.conf.d/qt3.sh + echo "export PATH=$PATH:$QT3DIR/bin" >> ${pkgdir}/etc/ld.so.conf.d/qt3.sh + echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$QT3DIR/pkgconfig" >> ${pkgdir}/etc/ld.so.conf.d/qt3.sh + + # ln -sf /opt/qt/bin/qtconfig "${pkgdir}"/opt/qt/bin/qt3config # install man pages install -d -m755 "${pkgdir}"/opt/qt/man cp -r "${srcdir}"/qt3/doc/man/{man1,man3} "${pkgdir}"/opt/qt/man/ + # libtoolslay + find $startdir/pkg -name '*.la' -exec rm {} \; + + # Arch64 fix + #if [ "$CARCH" = "x86_64" ]; then + # [ -d $pkgdir/opt/qt/mkspecs/linux-g++ ] || mkdir $pkgdir/opt/qt/mkspecs/linux-g++ + # cd $pkgdir/opt/qt/mkspecs/linux-g++ + # ln -s -v ../linux-g++-64/* . + #fi + } diff --git a/arch/3.5.13/trinity-base/trinity-qt3/qt-patches.tar.bz2 b/arch/3.5.13/trinity-base/trinity-qt3/qt-patches.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..3d444b9eec371c1a8066e2084c3d0b5cda0dce7e GIT binary patch literal 14103 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