diff --git a/extra/qt3/PKGBUILD b/extra/qt3/PKGBUILD index 80f8bde89..8f2d7af80 100644 --- a/extra/qt3/PKGBUILD +++ b/extra/qt3/PKGBUILD @@ -4,6 +4,10 @@ # 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 +# ALARM: Michael Stevens +# - replaces arm.patch with arm_no_packed.patch +# As of GCC-4.7 there is no way to get a reference to a packed ushort. +# Therefore we need to replace the 'ushort &unicode()' with 'ushort *unicodep()' breaking the exsting API pkgname=qt3 pkgver=3.3.8b @@ -21,7 +25,7 @@ options=('!libtool') install=qt.install source=(ftp://ftp.trolltech.com/qt/source/qt-x11-free-${pkgver}.tar.gz qt.profile qt3-png15.patch qt-copy-kde-patches.tar.bz2 qt-patches.tar.bz2 - eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch arm.patch) + eastern_asian_languagues.diff qt-odbc.patch gcc-4.6.patch arm_no_packed.patch) sha1sums=('745def6250dc7f337dbb265e20bf38dcb41fd854' 'd2e257a9011208b2cb81b9cf47915b9a2f9dab83' '3d19510c46016a1a211d97bf8f82b01498b1b33c' @@ -30,7 +34,7 @@ sha1sums=('745def6250dc7f337dbb265e20bf38dcb41fd854' '40c7b8f06a21f809ddeb8b5560e9da63ccac6a17' '1346320614f6f86fbeb10b9fbad721dea29f5b61' 'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f' - 'f77e1bcd27205ab58a9025db9ddfd0da73979782') + '43565c3b33c5d6f7adb217e4afea49adb48f6c97') # qt-copy-kde-patches come from http://websvn.kde.org/trunk/qt-copy/patches/ # other qt-patches come from fedora and gentoo @@ -59,7 +63,7 @@ build() { patch -p0 -i "${srcdir}"/qt3-png15.patch # Arch Linux ARM patch - patch -p1 -i ${srcdir}/arm.patch + patch -p1 -i ${srcdir}/arm_no_packed.patch # start compiling qt sed -i 's|-cp -P -f|-cp -L -f|' qmake/Makefile.unix diff --git a/extra/qt3/arm_no_packed.patch b/extra/qt3/arm_no_packed.patch index 383acaa52..e68119c3c 100644 --- a/extra/qt3/arm_no_packed.patch +++ b/extra/qt3/arm_no_packed.patch @@ -1,5 +1,5 @@ ---- a/src/qt-x11-free-3.3.8b/src/tools/qglobal.h -+++ b/src/qt-x11-free-3.3.8b/src/tools/qglobal.h +--- qt-x11-free-3.3.8b/src/tools/qglobal.h ++++ qt-x11-free-3.3.8b/src/tools/qglobal.h @@ -323,6 +323,13 @@ # if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 # define Q_NO_PACKED_REFERENCE @@ -14,8 +14,8 @@ # endif # if !defined(__EXCEPTIONS) # define Q_NO_EXCEPTIONS ---- a/src/qt-x11-free-3.3.8b/src/tools/qlocale.cpp -+++ b/src/qt-x11-free-3.3.8b/src/tools/qlocale.cpp +--- qt-x11-free-3.3.8b/src/tools/qlocale.cpp ++++ qt-x11-free-3.3.8b/src/tools/qlocale.cpp @@ -3293,7 +3293,11 @@ QString QLocalePrivate::doubleToString(double d, if (zero().unicode() != '0') { @@ -28,8 +28,8 @@ } bool always_show_decpt = flags & Alternate; ---- a/src/qt-x11-free-3.3.8b/src/tools/qstring.cpp -+++ b/src/qt-x11-free-3.3.8b/src/tools/qstring.cpp +--- qt-x11-free-3.3.8b/src/tools/qstring.cpp ++++ qt-x11-free-3.3.8b/src/tools/qstring.cpp @@ -1933,7 +1933,11 @@ static QString replaceArgEscapes(const QString &s, const ArgEscapeData &d, int f if (field_width > 0) { // left padded @@ -54,8 +54,8 @@ } if (++repl_cnt == d.occurrences) { ---- a/src/qt-x11-free-3.3.8b/src/tools/qstring.h -+++ b/src/qt-x11-free-3.3.8b/src/tools/qstring.h +--- qt-x11-free-3.3.8b/src/tools/qstring.h ++++ qt-x11-free-3.3.8b/src/tools/qstring.h @@ -199,6 +199,10 @@ public: ushort unicode() const { return ucs; } #ifdef Q_NO_PACKED_REFERENCE