From 1ff61dbc551689ec9051bd1a1500c410db64d909 Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Wed, 8 Feb 2012 10:33:01 -0500 Subject: [PATCH] extra/qt3 to 3.3.8b-1 --- extra/qt3/PKGBUILD | 33 ++--- extra/qt3/mysql.patch | 47 ------- extra/qt3/qt-copy-kde-patches.tar.bz2 | Bin 31498 -> 29688 bytes extra/qt3/qt-font-default-subst.diff | 77 ------------ extra/qt3/qt3-png15.patch | 172 +++++++++++++------------- extra/qt3/utf8-bug-qt3.diff | 101 --------------- 6 files changed, 98 insertions(+), 332 deletions(-) delete mode 100644 extra/qt3/mysql.patch delete mode 100644 extra/qt3/qt-font-default-subst.diff delete mode 100644 extra/qt3/utf8-bug-qt3.diff diff --git a/extra/qt3/PKGBUILD b/extra/qt3/PKGBUILD index 4eb941140..b4cb5fc36 100644 --- a/extra/qt3/PKGBUILD +++ b/extra/qt3/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 145340 2011-12-21 20:47:29Z andrea $ +# $Id: PKGBUILD 149356 2012-02-07 05:40:02Z eric $ # Maintainer: Eric BĂ©langer # ALARM: Kevin Mihelich @@ -8,8 +8,9 @@ plugrel=1 pkgname=qt3 -pkgver=3.3.8 -pkgrel=22 +pkgver=3.3.8b +pkgrel=1 +epoch=1 pkgdesc="The QT3 gui toolkit" arch=('i686' 'x86_64') url="http://www.trolltech.com/products/qt/index.html" @@ -20,18 +21,14 @@ makedepends=('mysql' 'postgresql' 'unixodbc' 'sqlite3') optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') options=('!libtool') install=qt.install -source=(ftp://ftp.trolltech.com/qt/source/qt-x11-free-${pkgver}.tar.bz2 - qt.profile qt3-png15.patch 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) -sha1sums=('91b192cb8e80679607d24ae35d6e20ed68d149d7' +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) +sha1sums=('745def6250dc7f337dbb265e20bf38dcb41fd854' 'd2e257a9011208b2cb81b9cf47915b9a2f9dab83' '3d19510c46016a1a211d97bf8f82b01498b1b33c' - '9cb2e5bec782069692ee337cfa171539d9d73753' + '33418e5b117458af23c72cdbffc0c339bc34bdc4' '116afa0e737bdf27ea27f9b3653aeb56db9ec151' - 'ca5ecb29c7f1c826d48703339a3371038e306bb7' - 'd928ff55adb52c4bab2fb268df022651551cd70c' - 'bb6aad81cce143c23ff7840b1d79f6b2007a0c04' '40c7b8f06a21f809ddeb8b5560e9da63ccac6a17' '1346320614f6f86fbeb10b9fbad721dea29f5b61' 'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f' @@ -49,18 +46,12 @@ build() { cd "${srcdir}"/qt-x11-free-${pkgver} # apply qt patches from kde.org for i in ../qt-copy-kde-patches/*; do - patch -Np0 -i $i + patch -p0 -i $i done # apply other qt patches and one security fix from debian/gentoo for i in ../qt-patches/*; do - patch -Np1 -i $i + patch -p1 -i $i done - # fix utf8 bug - patch -p0 -i "${srcdir}"/utf8-bug-qt3.diff - # fix asia fonts - patch -p0 -i "${srcdir}"/qt-font-default-subst.diff - # fix segfaults on exit when using mysql DB driver - patch -p0 -i "${srcdir}"/mysql.patch # fix CJK font/chars select error (FS#11245) patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff # fix build problem against new unixODBC @@ -68,7 +59,7 @@ build() { # fix build with gcc 4.6.0 patch -p1 -i "${srcdir}"/gcc-4.6.patch - patch -p0 -i "${srcdir}"/qt3-png15.patch + patch -p0 -i "${srcdir}"/qt3-png15.patch # Arch Linux ARM patch patch -p1 -i ${srcdir}/arm.patch diff --git a/extra/qt3/mysql.patch b/extra/qt3/mysql.patch deleted file mode 100644 index 5f61edc67..000000000 --- a/extra/qt3/mysql.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- src/sql/drivers/mysql/qsql_mysql.cpp -+++ src/sql/drivers/mysql/qsql_mysql.cpp -@@ -37,7 +37,6 @@ - #include "qsql_mysql.h" - #include - --#include - #include - #include - #include -@@ -341,14 +340,6 @@ int QMYSQLResult::numRowsAffected() - } - - ///////////////////////////////////////////////////////// --static void qServerEnd() --{ --#ifndef Q_NO_MYSQL_EMBEDDED --# if MYSQL_VERSION_ID >= 40000 -- mysql_server_end(); --# endif // MYSQL_VERSION_ID --#endif // Q_NO_MYSQL_EMBEDDED --} - - static void qServerInit() - { -@@ -366,9 +357,7 @@ static void qServerInit() - qWarning( "QMYSQLDriver::qServerInit: unable to start server." ); - # endif - } -- qAddPostRoutine(qServerEnd); - init = TRUE; -- - # endif // MYSQL_VERSION_ID - #endif // Q_NO_MYSQL_EMBEDDED - } -@@ -411,6 +400,11 @@ QMYSQLDriver::~QMYSQLDriver() - QSqlOpenExtension *ext = qSqlOpenExtDict()->take( this ); - delete ext; - } -+#ifndef Q_NO_MYSQL_EMBEDDED -+# if MYSQL_VERSION_ID > 40000 -+ mysql_server_end(); -+# endif -+#endif - } - - bool QMYSQLDriver::hasFeature( DriverFeature f ) const diff --git a/extra/qt3/qt-copy-kde-patches.tar.bz2 b/extra/qt3/qt-copy-kde-patches.tar.bz2 index 19d8999635e80f4846fb48f9d2dd29e23e31a682..519f7173ac9cbfc6c082306b382f4c4baf7ca4b1 100644 GIT binary patch literal 29688 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%0Dy>O3(= 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 Btj7QV diff --git a/extra/qt3/qt-font-default-subst.diff b/extra/qt3/qt-font-default-subst.diff deleted file mode 100644 index 3e286f74e..000000000 --- a/extra/qt3/qt-font-default-subst.diff +++ /dev/null @@ -1,77 +0,0 @@ ---- src/kernel/qfontdatabase_x11.cpp -+++ src/kernel/qfontdatabase_x11.cpp -@@ -1589,15 +1589,6 @@ QFontEngine *loadEngine( QFont::Script s - if (script == QFont::Latin) - // add Euro character - FcCharSetAddChar(cs, 0x20ac); -- if (script == QFont::Han_SimplifiedChinese) -- FcCharSetAddChar(cs, 0x3400); -- if (script == QFont::Han_TraditionalChinese){ -- FcCharSetAddChar(cs, 0x3435); -- FcCharSetAddChar(cs, 0xE000); -- FcCharSetAddChar(cs, 0xF6B1); -- } -- if (script == QFont::MiscellaneousSymbols) -- FcCharSetAddChar(cs, 0x2714); - FcPatternAddCharSet(pattern, FC_CHARSET, cs); - FcCharSetDestroy(cs); - } -@@ -1813,7 +1804,11 @@ static QFontEngine *loadFontConfigFont(c - FcPatternPrint(pattern); - #endif - -+ // XftFontMatch calls the right ConfigSubstitute variants, but as we use -+ // FcFontMatch/Sort here we have to do it manually. - FcConfigSubstitute(0, pattern, FcMatchPattern); -+ XftDefaultSubstitute(QPaintDevice::x11AppDisplay(), QPaintDevice::x11AppScreen(), pattern); -+ - // qDebug("1: pattern contains:"); - // FcPatternPrint(pattern); - -@@ -1847,10 +1842,6 @@ static QFontEngine *loadFontConfigFont(c - value.u.s = (const FcChar8 *)cs.data(); - FcPatternAddWeak(pattern, FC_FAMILY, value, FcTrue); - } --#ifdef FONT_MATCH_DEBUG -- printf("final pattern contains:\n"); -- FcPatternPrint(pattern); --#endif - } - - if (script != QFont::Unicode) { -@@ -1860,19 +1851,15 @@ static QFontEngine *loadFontConfigFont(c - if (script == QFont::Latin) - // add Euro character - FcCharSetAddChar(cs, 0x20ac); -- if (script == QFont::Han_SimplifiedChinese) -- FcCharSetAddChar(cs, 0x3400); -- if (script == QFont::Han_TraditionalChinese) { -- FcCharSetAddChar(cs, 0x3435); -- FcCharSetAddChar(cs, 0xE000); -- FcCharSetAddChar(cs, 0xF6B1); -- } -- if (script == QFont::MiscellaneousSymbols) -- FcCharSetAddChar(cs, 0x2714); - FcPatternAddCharSet(pattern, FC_CHARSET, cs); - FcCharSetDestroy(cs); - } - -+#ifdef FONT_MATCH_DEBUG -+ printf("final pattern contains:\n"); -+ FcPatternPrint(pattern); -+#endif -+ - QFontEngine *fe = 0; - - for( int jj = (FcGetVersion() >= 20392 ? 0 : 1); jj < 2; ++jj ) { ---- src/kernel/qfontdatabase.cpp -+++ src/kernel/qfontdatabase.cpp -@@ -554,7 +554,7 @@ static const unsigned short sample_chars - // GeometricSymbols, - { 0x2500, 0x0 }, - // MiscellaneousSymbols, -- { 0x2640, 0x0 }, -+ { 0x2640, 0x2714, 0x0 }, - // EnclosedAndSquare, - { 0x2460, 0x0 }, - // Braille, diff --git a/extra/qt3/qt3-png15.patch b/extra/qt3/qt3-png15.patch index 29517b796..e64fea36a 100644 --- a/extra/qt3/qt3-png15.patch +++ b/extra/qt3/qt3-png15.patch @@ -4,16 +4,16 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $ +++ src/kernel/qpngio.cpp @@ -43,6 +43,7 @@ #include "qiodevice.h" - + #include +#include - - + + #ifdef Q_OS_TEMP @@ -123,9 +124,24 @@ void setup_qt( QImage& image, png_struct png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, - 0, 0, 0); - + 0, 0, 0); + + png_colorp info_ptr_palette = NULL; + int info_ptr_num_palette = 0; + if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) { @@ -30,44 +30,44 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $ + + if ( color_type == PNG_COLOR_TYPE_GRAY ) { - // Black & White or 8-bit grayscale + // Black & White or 8-bit grayscale - if ( bit_depth == 1 && info_ptr->channels == 1 ) { + if ( bit_depth == 1 && png_get_channels(png_ptr, info_ptr) == 1 ) { - png_set_invert_mono( png_ptr ); - png_read_update_info( png_ptr, info_ptr ); - if (!image.create( width, height, 1, 2, QImage::BigEndian )) + png_set_invert_mono( png_ptr ); + png_read_update_info( png_ptr, info_ptr ); + if (!image.create( width, height, 1, 2, QImage::BigEndian )) @@ -159,7 +175,7 @@ void setup_qt( QImage& image, png_struct - image.setColor( i, qRgba(c,c,c,0xff) ); - } - if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) { + image.setColor( i, qRgba(c,c,c,0xff) ); + } + if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) { - const int g = info_ptr->trans_values.gray; + const int g = info_ptr_trans_color->gray; - if (g < ncols) { - image.setAlphaBuffer(TRUE); - image.setColor(g, image.color(g) & RGB_MASK); + if (g < ncols) { + image.setAlphaBuffer(TRUE); + image.setColor(g, image.color(g) & RGB_MASK); @@ -168,7 +184,7 @@ void setup_qt( QImage& image, png_struct - } + } } else if ( color_type == PNG_COLOR_TYPE_PALETTE && png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE) - && info_ptr->num_palette <= 256 ) + && info_ptr_num_palette <= 256 ) { - // 1-bit and 8-bit color - if ( bit_depth != 1 ) + // 1-bit and 8-bit color + if ( bit_depth != 1 ) @@ -176,28 +192,28 @@ void setup_qt( QImage& image, png_struct - png_read_update_info( png_ptr, info_ptr ); - png_get_IHDR(png_ptr, info_ptr, - &width, &height, &bit_depth, &color_type, 0, 0, 0); + png_read_update_info( png_ptr, info_ptr ); + png_get_IHDR(png_ptr, info_ptr, + &width, &height, &bit_depth, &color_type, 0, 0, 0); - if (!image.create(width, height, bit_depth, info_ptr->num_palette, + if (!image.create(width, height, bit_depth, info_ptr_num_palette, - QImage::BigEndian)) - return; - int i = 0; - if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) { - image.setAlphaBuffer( TRUE ); + QImage::BigEndian)) + return; + int i = 0; + if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) { + image.setAlphaBuffer( TRUE ); - while ( i < info_ptr->num_trans ) { + while ( i < info_ptr_num_trans ) { - image.setColor(i, qRgba( + image.setColor(i, qRgba( - info_ptr->palette[i].red, - info_ptr->palette[i].green, - info_ptr->palette[i].blue, @@ -76,104 +76,104 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $ + info_ptr_palette[i].green, + info_ptr_palette[i].blue, + info_ptr_trans_alpha[i] - ) - ); - i++; - } - } + ) + ); + i++; + } + } - while ( i < info_ptr->num_palette ) { + while ( i < info_ptr_num_palette ) { - image.setColor(i, qRgba( + image.setColor(i, qRgba( - info_ptr->palette[i].red, - info_ptr->palette[i].green, - info_ptr->palette[i].blue, + info_ptr_palette[i].red, + info_ptr_palette[i].green, + info_ptr_palette[i].blue, - 0xff - ) - ); + 0xff + ) + ); @@ -284,7 +300,7 @@ void read_png_image(QImageIO* iio) - return; + return; } - + - if (setjmp(png_ptr->jmpbuf)) { + if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); - iio->setStatus(-4); - return; + png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); + iio->setStatus(-4); + return; @@ -469,7 +485,7 @@ bool QPNGImageWriter::writeImage(const Q - return FALSE; + return FALSE; } - + - if (setjmp(png_ptr->jmpbuf)) { + if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_write_struct(&png_ptr, &info_ptr); - return FALSE; + png_destroy_write_struct(&png_ptr, &info_ptr); + return FALSE; } @@ -491,10 +507,16 @@ bool QPNGImageWriter::writeImage(const Q - + png_set_write_fn(png_ptr, (void*)this, qpiw_write_fn, qpiw_flush_fn); - + +#warning XXXtnn not too sure about this -+/* ++/* +according to png.h, channels is only used on read, not writes, so we +should be able to comment this out. + info_ptr->channels = - (image.depth() == 32) - ? (image.hasAlphaBuffer() ? 4 : 3) - : 1; + (image.depth() == 32) + ? (image.hasAlphaBuffer() ? 4 : 3) + : 1; +*/ - + png_set_IHDR(png_ptr, info_ptr, image.width(), image.height(), - image.depth() == 1 ? 1 : 8 /* per channel */, + image.depth() == 1 ? 1 : 8 /* per channel */, @@ -504,11 +526,12 @@ bool QPNGImageWriter::writeImage(const Q - : PNG_COLOR_TYPE_RGB - : PNG_COLOR_TYPE_PALETTE, 0, 0, 0); - + : PNG_COLOR_TYPE_RGB + : PNG_COLOR_TYPE_PALETTE, 0, 0, 0); + + png_color_8 sig_bit; + sig_bit.red = 8; + sig_bit.green = 8; + sig_bit.blue = 8; + png_set_sBIT(png_ptr, info_ptr, &sig_bit); - + - //png_set_sBIT(png_ptr, info_ptr, 8); - info_ptr->sig_bit.red = 8; - info_ptr->sig_bit.green = 8; - info_ptr->sig_bit.blue = 8; - + if (image.depth() == 1 && image.bitOrder() == QImage::LittleEndian) png_set_packswap(png_ptr); @@ -522,11 +545,14 @@ bool QPNGImageWriter::writeImage(const Q - png_set_PLTE(png_ptr, info_ptr, palette, num_palette); - int* trans = new int[num_palette]; - int num_trans = 0; + png_set_PLTE(png_ptr, info_ptr, palette, num_palette); + int* trans = new int[num_palette]; + int num_trans = 0; + png_colorp info_ptr_palette = NULL; + int tmp; + png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &tmp); - for (int i=0; ipalette[i].red = qRed(rgb); - info_ptr->palette[i].green = qGreen(rgb); - info_ptr->palette[i].blue = qBlue(rgb); + info_ptr_palette[i].red = qRed(rgb); + info_ptr_palette[i].green = qGreen(rgb); + info_ptr_palette[i].blue = qBlue(rgb); - if (image.hasAlphaBuffer()) { - trans[i] = rgb >> 24; - if (trans[i] < 255) { + if (image.hasAlphaBuffer()) { + trans[i] = rgb >> 24; + if (trans[i] < 255) { @@ -534,6 +560,7 @@ bool QPNGImageWriter::writeImage(const Q - } - } - } + } + } + } + png_set_PLTE(png_ptr, info_ptr, info_ptr_palette, num_palette); - if (num_trans) { - copy_trans = new png_byte[num_trans]; - for (int i=0; isig_bit.alpha = 8; + png_color_8p sig_bit; @@ -181,26 +181,26 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $ + sig_bit->alpha = 8; + png_set_sBIT(png_ptr, info_ptr, sig_bit); } - + // Swap ARGB to RGBA (normal PNG format) before saving on @@ -1030,7 +1060,7 @@ int QPNGFormat::decode(QImage& img, QIma - return -1; - } - + return -1; + } + - if (setjmp((png_ptr)->jmpbuf)) { + if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_read_struct(&png_ptr, &info_ptr, 0); - image = 0; - return -1; + png_destroy_read_struct(&png_ptr, &info_ptr, 0); + image = 0; + return -1; @@ -1057,7 +1087,7 @@ int QPNGFormat::decode(QImage& img, QIma - + if ( !png_ptr ) return 0; - + - if (setjmp(png_ptr->jmpbuf)) { + if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_read_struct(&png_ptr, &info_ptr, 0); - image = 0; - state = MovieStart; + png_destroy_read_struct(&png_ptr, &info_ptr, 0); + image = 0; + state = MovieStart; @@ -1117,7 +1147,7 @@ void QPNGFormat::end(png_structp png, pn consumer->frameDone(QPoint(offx,offy),r); consumer->end(); @@ -208,5 +208,5 @@ $NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $ - unused_data = (int)png->buffer_size; // Since libpng doesn't tell us + unused_data = png_process_data_pause(png, 0); } - + #ifdef PNG_USER_CHUNKS_SUPPORTED diff --git a/extra/qt3/utf8-bug-qt3.diff b/extra/qt3/utf8-bug-qt3.diff deleted file mode 100644 index 43e84a99f..000000000 --- a/extra/qt3/utf8-bug-qt3.diff +++ /dev/null @@ -1,101 +0,0 @@ ---- src/codecs/qutfcodec.cpp -+++ src/codecs/qutfcodec.cpp -@@ -154,6 +154,7 @@ - - class QUtf8Decoder : public QTextDecoder { - uint uc; -+ uint min_uc; - int need; - bool headerDone; - public: -@@ -167,8 +168,9 @@ - result.setLength( len ); // worst case - QChar *qch = (QChar *)result.unicode(); - uchar ch; -+ int error = -1; - for (int i=0; i= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) { -+ *qch++ = QChar::replacement; - } else { - if (headerDone || QChar(uc) != QChar::byteOrderMark) - *qch++ = uc; -@@ -190,6 +194,7 @@ - } - } else { - // error -+ i = error; - *qch++ = QChar::replacement; - need = 0; - } -@@ -200,12 +205,21 @@ - } else if ((ch & 0xe0) == 0xc0) { - uc = ch & 0x1f; - need = 1; -+ error = i; -+ min_uc = 0x80; - } else if ((ch & 0xf0) == 0xe0) { - uc = ch & 0x0f; - need = 2; -+ error = i; -+ min_uc = 0x800; - } else if ((ch&0xf8) == 0xf0) { - uc = ch & 0x07; - need = 3; -+ error = i; -+ min_uc = 0x10000; -+ } else { -+ // error -+ *qch++ = QChar::replacement; - } - } - } ---- src/tools/qstring.cpp -+++ src/tools/qstring.cpp -@@ -5805,6 +5805,7 @@ - result.setLength( len ); // worst case - QChar *qch = (QChar *)result.unicode(); - uint uc = 0; -+ uint min_uc = 0; - int need = 0; - int error = -1; - uchar ch; -@@ -5822,6 +5823,12 @@ - unsigned short low = uc%0x400 + 0xdc00; - *qch++ = QChar(high); - *qch++ = QChar(low); -+ } else if (uc < min_uc || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) { -+ // overlong seqence, UTF16 surrogate or BOM -+ i = error; -+ qch = addOne(qch, result); -+ *qch++ = QChar(0xdbff); -+ *qch++ = QChar(0xde00+((uchar)utf8[i])); - } else { - *qch++ = uc; - } -@@ -5844,14 +5851,17 @@ - uc = ch & 0x1f; - need = 1; - error = i; -+ min_uc = 0x80; - } else if ((ch & 0xf0) == 0xe0) { - uc = ch & 0x0f; - need = 2; - error = i; -+ min_uc = 0x800; - } else if ((ch&0xf8) == 0xf0) { - uc = ch & 0x07; - need = 3; - error = i; -+ min_uc = 0x10000; - } else { - // Error - qch = addOne(qch, result);