From f0c3b7655551d8ca7788856427d34c350b4138ee Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Mon, 16 May 2011 23:02:54 -0400 Subject: [PATCH] extra/qt3 to 3.3.8-20 --- extra/qt3/PKGBUILD | 129 ++++++++++++++++++++++++---------------- extra/qt3/gcc-4.6.patch | 33 ++++++++++ 2 files changed, 111 insertions(+), 51 deletions(-) create mode 100644 extra/qt3/gcc-4.6.patch diff --git a/extra/qt3/PKGBUILD b/extra/qt3/PKGBUILD index 76558cec9..343d7988f 100644 --- a/extra/qt3/PKGBUILD +++ b/extra/qt3/PKGBUILD @@ -1,8 +1,9 @@ -# $Id: PKGBUILD 114776 2011-03-15 23:09:15Z andrea $ -# Maintainer: Tobias Powalowski +# $Id: PKGBUILD 123699 2011-05-12 15:47:03Z andrea $ +# Maintainer: +# Contributor: Tobias Powalowski # Contributor: John Proctor -# PlugApps: Kevin Mihelich +# ALARM: Kevin Mihelich # - added arm.patch to fix compiling on ARM with GCC >= 4 # Source: http://lists.trolltech.com/qt-embedded-interest/2007-03/msg00003.html @@ -10,20 +11,29 @@ plugrel=1 pkgname=qt3 pkgver=3.3.8 -pkgrel=19 -pkgdesc="The QT gui toolkit." -arch=(i686 x86_64) +pkgrel=20 +pkgdesc="The QT3 gui toolkit" +arch=('i686' 'x86_64') license=('GPL') url="http://www.trolltech.com/products/qt/index.html" pkgfqn=qt-x11-free-${pkgver} install=qt.install -depends=('libpng>=1.4.0' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' \ - 'libxft' 'libxrandr' 'libmng>=1.0.10-3') -makedepends=('mysql' 'postgresql>=8.2.3' 'unixodbc' 'sqlite3') +depends=('libpng' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' 'libxft' + 'libxrandr' 'libmng') +makedepends=('mysql' 'postgresql' 'unixodbc' 'sqlite3') optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') -source=(ftp://ftp.trolltech.com/qt/source/${pkgfqn}.tar.bz2 qt3-png14.patch qt.profile \ - qt-copy-kde-patches.tar.bz2 qt-patches.tar.bz2 utf8-bug-qt3.diff \ - qt-font-default-subst.diff mysql.patch eastern_asian_languagues.diff qt-odbc.patch arm.patch) +source=("ftp://ftp.trolltech.com/qt/source/${pkgfqn}.tar.bz2" + qt3-png14.patch + qt.profile + qt-copy-kde-patches.tar.bz2 + qt-patches.tar.bz2 + utf8-bug-qt3.diff + qt-font-default-subst.diff + mysql.patch + eastern_asian_languagues.diff + qt-odbc.patch + gcc-4.6.patch + arm.patch) options=(!libtool) md5sums=('cf3c43a7dfde5bfb76f8001102fe6e85' '1dc671df42b9030dbdf68bb61cd3375e' @@ -35,6 +45,7 @@ md5sums=('cf3c43a7dfde5bfb76f8001102fe6e85' '7d40ed1bd40d33d8b9b27a2076a5d22a' '616f1f3029cf8375256ad6a406de3549' '2178ca88dfd75a230918593b30eb0dbe' + '75177de5b08e1efd437c887c6e606c5b' '88933d4af283bd5e8ff1b99f0dc35225') # qt-copy-kde-patches come from http://websvn.kde.org/trunk/qt-copy/patches/ @@ -42,33 +53,36 @@ md5sums=('cf3c43a7dfde5bfb76f8001102fe6e85' build() { unset QMAKESPEC - export QTDIR=${srcdir}/$pkgfqn + export QTDIR="${srcdir}"/$pkgfqn export PATH=${QTDIR}/bin:${PATH} export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH} export QMAKESPEC=$QTDIR/mkspecs/linux-g++ - cd ${srcdir}/$pkgfqn + cd "${srcdir}"/$pkgfqn # apply qt patches from kde.org for i in ../qt-copy-kde-patches/*; do - patch -Np0 -i $i || return 1 + patch -Np0 -i $i done # apply other qt patches and one security fix from debian/gentoo for i in ../qt-patches/*; do - patch -Np1 -i $i || return 1 + patch -Np1 -i $i done # fix utf8 bug - patch -Np0 -i ../utf8-bug-qt3.diff || return 1 + patch -p0 -i "${srcdir}"/utf8-bug-qt3.diff # fix asia fonts - patch -Np0 -i ../qt-font-default-subst.diff || return 1 + patch -p0 -i "${srcdir}"/qt-font-default-subst.diff # fix segfaults on exit when using mysql DB driver - patch -Np0 -i ../mysql.patch || return 1 + patch -p0 -i "${srcdir}"/mysql.patch # fix CJK font/chars select error (FS#11245) - patch -p1 -i ${srcdir}/eastern_asian_languagues.diff || return 1 + patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff # fix build problem against new unixODBC - patch -p1 -i ${srcdir}/qt-odbc.patch || return 1 + patch -p1 -i "${srcdir}"/qt-odbc.patch + # fix build with gcc 4.6.0 + patch -p1 -i "${srcdir}"/gcc-4.6.patch + + patch -p0 -i "${srcdir}"/qt3-png14.patch + # Arch Linux ARM patch + patch -p1 -i ${srcdir}/arm.patch || return 1 - patch -p0 -i ${srcdir}/qt3-png14.patch || return 1 - # PlugApps ARM patch - patch -p1 -i ${srcdir}/arm.patch || return1 # start compiling qt sed -i 's|-cp -P -f|-cp -L -f|' qmake/Makefile.unix rm -rf doc/html examples tutorial @@ -87,41 +101,54 @@ build() { else unset ARCH fi - ./configure -prefix /opt/qt -platform linux-g++$ARCH \ - -system-zlib -qt-gif -release -shared -sm -nis -thread -stl \ + ./configure -prefix /opt/qt \ + -platform linux-g++$ARCH \ + -system-zlib \ + -qt-gif \ + -release \ + -shared \ + -sm \ + -nis \ + -thread \ + -stl \ -system-lib{png,jpeg,mng} \ - -no-g++-exceptions -plugin-sql-{mysql,psql,sqlite,odbc} + -no-g++-exceptions \ + -plugin-sql-{mysql,psql,sqlite,odbc} # fix /opt/qt/lib path - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${srcdir}/$pkgfqn/src/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${srcdir}/$pkgfqn/tools/designer/designer/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${srcdir}/$pkgfqn/tools/designer/editor/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${srcdir}/$pkgfqn/tools/assistant/lib/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${srcdir}/$pkgfqn/tools/designer/uilib/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/$pkgfqn/src/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/$pkgfqn/tools/designer/designer/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/$pkgfqn/tools/designer/editor/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/$pkgfqn/tools/assistant/lib/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/$pkgfqn/tools/designer/uilib/Makefile - cd ${srcdir}/$pkgfqn - make -C qmake || return 1 - cd ${srcdir}/$pkgfqn/plugins/src/sqldrivers/mysql - ${srcdir}/$pkgfqn/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro - cd ${srcdir}/$pkgfqn/plugins/src/sqldrivers/psql - ${srcdir}/$pkgfqn/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro + cd "${srcdir}"/$pkgfqn + make -C qmake + cd "${srcdir}"/$pkgfqn/plugins/src/sqldrivers/mysql + "${srcdir}"/$pkgfqn/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro + cd "${srcdir}"/$pkgfqn/plugins/src/sqldrivers/psql + "${srcdir}"/$pkgfqn/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro - cd ${srcdir}/$pkgfqn + cd "${srcdir}"/$pkgfqn # fix the broken makefiles #sed -i 's|[[:space:]]*strip.*doc/html.*$|#|g' src/Makefile - make || return 1 - make INSTALL_ROOT=${pkgdir} install - rm -rf ${pkgdir}/opt/qt/{phrasebooks,templates,translations} - sed -i "s|-L${srcdir}/$pkgfqn/lib ||g" ${pkgdir}/opt/qt/lib/*.prl - install -D -m755 qmake/qmake ${pkgdir}/opt/qt/bin/qmake - install -D -m755 ${srcdir}/qt.profile ${pkgdir}/etc/profile.d/qt3.sh - ln -sf /opt/qt/bin/qtconfig ${pkgdir}/opt/qt/bin/qt3config - rm -f ${pkgdir}/opt/qt/mkspecs/linux-g++$ARCH/linux-g++$ARCH + make +} + +package() { + cd "${srcdir}"/$pkgfqn + make INSTALL_ROOT="${pkgdir}" install + rm -rf "${pkgdir}"/opt/qt/{phrasebooks,templates,translations} + sed -i "s|-L${srcdir}/$pkgfqn/lib ||g" "${pkgdir}"/opt/qt/lib/*.prl + install -D -m755 qmake/qmake "${pkgdir}"/opt/qt/bin/qmake + install -D -m755 "${srcdir}"/qt.profile "${pkgdir}"/etc/profile.d/qt3.sh + ln -sf /opt/qt/bin/qtconfig "${pkgdir}"/opt/qt/bin/qt3config + rm -f "${pkgdir}"/opt/qt/mkspecs/linux-g++$ARCH/linux-g++$ARCH # install man pages - mkdir -p ${pkgdir}/opt/qt/man - cp -r ${srcdir}/$pkgfqn/doc/man/{man1,man3} ${pkgdir}/opt/qt/man/ + install -d -m755 "${pkgdir}"/opt/qt/man + cp -r "${srcdir}"/$pkgfqn/doc/man/{man1,man3} "${pkgdir}"/opt/qt/man/ - install -d -m755 ${pkgdir}/etc/ld.so.conf.d/ - echo '/opt/qt/lib' > ${pkgdir}/etc/ld.so.conf.d/qt3.conf + install -d -m755 "${pkgdir}"/etc/ld.so.conf.d/ + echo '/opt/qt/lib' > "${pkgdir}"/etc/ld.so.conf.d/qt3.conf } diff --git a/extra/qt3/gcc-4.6.patch b/extra/qt3/gcc-4.6.patch new file mode 100644 index 000000000..bcbffcea6 --- /dev/null +++ b/extra/qt3/gcc-4.6.patch @@ -0,0 +1,33 @@ +diff -up qt-x11-free-3.3.8b/src/tools/qmap.h.cstddef qt-x11-free-3.3.8b/src/tools/qmap.h +--- qt-x11-free-3.3.8b/src/tools/qmap.h.cstddef 2008-01-15 13:09:13.000000000 -0600 ++++ qt-x11-free-3.3.8b/src/tools/qmap.h 2011-01-30 21:14:29.275088725 -0600 +@@ -49,6 +49,7 @@ + #include "qvaluelist.h" + #endif // QT_H + ++#include + #ifndef QT_NO_STL + #include + #include +diff -up qt-x11-free-3.3.8b/src/tools/qvaluelist.h.cstddef qt-x11-free-3.3.8b/src/tools/qvaluelist.h +--- qt-x11-free-3.3.8b/src/tools/qvaluelist.h.cstddef 2008-01-15 13:09:13.000000000 -0600 ++++ qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2011-01-30 21:14:01.765846592 -0600 +@@ -47,6 +47,7 @@ + #include "qdatastream.h" + #endif // QT_H + ++#include + #ifndef QT_NO_STL + #include + #include +diff -up qt-x11-free-3.3.8b/src/tools/qvaluevector.h.cstddef qt-x11-free-3.3.8b/src/tools/qvaluevector.h +--- qt-x11-free-3.3.8b/src/tools/qvaluevector.h.cstddef 2008-01-15 13:09:13.000000000 -0600 ++++ qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2011-01-30 21:14:01.765846592 -0600 +@@ -45,6 +45,7 @@ + #include "qdatastream.h" + #endif // QT_H + ++#include + #ifndef QT_NO_STL + #include + #endif