diff options
author | James Meyer <james.meyer@operamail.com> | 2013-02-19 21:10:18 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2013-02-19 21:10:18 (GMT) |
commit | 2648e999d277eac5c3d331a3609bcc73fafbea71 (patch) | |
tree | 40951fb8e7fdbe28a0baa324ae615055203f1e2e /abs/core/qt3 | |
parent | c759b5e0c4aa6fc37412b4dee2cf9ad993fd376d (diff) | |
parent | 7e6f7ca174e1af67178dc5293a312a4a733eb095 (diff) | |
download | linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.zip linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.gz linhes_pkgbuild-2648e999d277eac5c3d331a3609bcc73fafbea71.tar.bz2 |
Merge branch 'testing'
# By James Meyer (1091) and others
# Via James Meyer (5) and others
* testing: (1148 commits)
LinHES-config: during install don't kill off lirc. This keeps the remote active all the way to the finish
Change version numbers to 8.0 to match the release number. LinHES-conifg LinHES-system mythdb-initial runit-scripts supplemental-web
LinHES-conifig: mv_install.py for the last partition don't go all the way to the end. Gotta leave room for gpt tables.
xf86-video-ati: xorg ati driver.
LinHES-config: timezip.py add syncing up of parental lvl passwords and starting level with MBE.
LinHES-system: correct the logic for breaking out of the wmctrl loop. As written it would break out of the inner loop..but not the 60 iteration loop.
e16_theme_settings: remove slide-in prop for new windows. For whatever reason this was preventing mplayer from being positioned correctly for appletrailers.
LinHES-config, mythinstall: change case of hd_pvr and serial to all lower refs #902
zilog-firmware: firmware for TX support of the hdpvr and pvr-150 In general I can't recommend anybody using these transmitters but including the firmware just in case someone really wants to
linhes-udev-rules: added hdprv_lirc rule. All of these lirc rules are limited to exactly one device. If more then one device is present then only the last device in init will get the symlink
runit-scripts: fix logging for igdeamon, add support to remote init script so that the blaster is always the first device in the chain. added support specificly for hd_pvr
LinHES-system: add lh_system_restore and lh_system_backup. These scripts are called from the mythmenu. refs #900
iguanair: rebuild with python 2.7
LinHES-system: msg_daemon.py fix init and nasty bug related to timeout. In a nutshell timeout wouldn't work unless a msg without a timeout was called first.
linhes-udev-rules: add rules for mce,streamzap,serial lirc devices.
mythinstall: recompile for matching libs
mythtv: latest .25-fixes and change mythbackup/restore call lh_system_$op to replace mythbackup/mythrestore. mythbackup no longer works correctly with the new windowmanager
linhes-scripts: myth2mp3, myth2x264, myth2xvid: use mythutil to get cutlist
LinHES-config, supplimental-web: Fix proxy numbering for Ceton infiniTV
linhes-system: add additional stuff to the system backup and also introduced an exclude file. The exclude/include files are locate in /home/mythtv/backup_config/
...
Diffstat (limited to 'abs/core/qt3')
-rw-r--r-- | abs/core/qt3/PKGBUILD | 139 | ||||
-rw-r--r-- | abs/core/qt3/eastern_asian_languagues.diff | 39 | ||||
-rw-r--r-- | abs/core/qt3/gcc-4.6.patch | 33 | ||||
-rw-r--r-- | abs/core/qt3/mysql.patch | 47 | ||||
-rw-r--r-- | abs/core/qt3/qt-copy-kde-patches.tar.bz2 | bin | 31498 -> 29688 bytes | |||
-rw-r--r-- | abs/core/qt3/qt-font-default-subst.diff | 77 | ||||
-rw-r--r-- | abs/core/qt3/qt-odbc.patch | 19 | ||||
-rw-r--r-- | abs/core/qt3/qt-patches.tar.bz2 | bin | 3627 -> 3708 bytes | |||
-rw-r--r-- | abs/core/qt3/qt.install | 22 | ||||
-rw-r--r-- | abs/core/qt3/qt3-png15.patch | 212 | ||||
-rw-r--r-- | abs/core/qt3/utf8-bug-qt3.diff | 101 |
11 files changed, 389 insertions, 300 deletions
diff --git a/abs/core/qt3/PKGBUILD b/abs/core/qt3/PKGBUILD index 131cbb1..cdd4ac7 100644 --- a/abs/core/qt3/PKGBUILD +++ b/abs/core/qt3/PKGBUILD @@ -1,59 +1,65 @@ -# $Id: PKGBUILD 4788 2008-07-10 10:21:45Z pierre $ -# Maintainer: Tobias Powalowski <tpowa@archlinux.org> -# Contributor: John Proctor <jproctor@prium.net> +# $Id: PKGBUILD 149356 2012-02-07 05:40:02Z eric $ +# Maintainer: Eric Bélanger <eric@archlinux.org> + pkgname=qt3 -pkgver=3.3.8 -pkgrel=9 -pkgdesc="The QT gui toolkit." -arch=(i686 x86_64) -license=('GPL') +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" -pkgfqn=qt-x11-free-${pkgver} +license=('GPL') +depends=('libpng' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' 'libxft' + 'libxrandr' 'libmng') +makedepends=('mysql' 'postgresql' 'unixodbc' 'sqlite3') +optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') +options=('!libtool') install=qt.install -depends=('libpng' 'libjpeg' 'libxmu' 'libxcursor' 'libxinerama' 'mesa' \ - 'libxft' 'libxrandr') -makedepends=('mysql' 'postgresql>=8.2.3' 'sqlite3' 'unixodbc' 'libmng') -source=(ftp://ftp.trolltech.com/qt/source/${pkgfqn}.tar.bz2 qt.profile \ - qt-copy-kde-patches.tar.bz2 qt-patches.tar.bz2 utf8-bug-qt3.diff \ - qt-font-default-subst.diff mysql.patch) -options=(!libtool) -md5sums=('cf3c43a7dfde5bfb76f8001102fe6e85' - 'f72d1eb4eb49b9a9467c1f6035194266' - 'f2a2dbdbfee9422c90efc3ef3f86197c' - 'c8937968e9807b3cdcdf0505728d99ce' - 'f6b3b39040f2b8f19ba1cf1445468c28' - '9370d82e85f2c799335ed0dcc1d53189' - '7d40ed1bd40d33d8b9b27a2076a5d22a') +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) +sha1sums=('745def6250dc7f337dbb265e20bf38dcb41fd854' + 'd2e257a9011208b2cb81b9cf47915b9a2f9dab83' + '3d19510c46016a1a211d97bf8f82b01498b1b33c' + '33418e5b117458af23c72cdbffc0c339bc34bdc4' + '116afa0e737bdf27ea27f9b3653aeb56db9ec151' + '40c7b8f06a21f809ddeb8b5560e9da63ccac6a17' + '1346320614f6f86fbeb10b9fbad721dea29f5b61' + 'd9b83b8f6f9c8bd98d290dc1d0e9913a00b62c3f') # qt-copy-kde-patches come from http://websvn.kde.org/trunk/qt-copy/patches/ # other qt-patches come from fedora and gentoo build() { unset QMAKESPEC - export QTDIR=$startdir/src/$pkgfqn + export QTDIR="${srcdir}"/qt-x11-free-${pkgver} export PATH=${QTDIR}/bin:${PATH} export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH} export QMAKESPEC=$QTDIR/mkspecs/linux-g++ - cd $startdir/src/$pkgfqn + cd "${srcdir}"/qt-x11-free-${pkgver} # apply qt patches from kde.org for i in ../qt-copy-kde-patches/*; do - patch -Np0 -i $i || return 1 + 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 || return 1 + patch -p1 -i $i done - # fix utf8 bug - patch -Np0 -i ../utf8-bug-qt3.diff || return 1 - # fix asia fonts - patch -Np0 -i ../qt-font-default-subst.diff || return 1 - # fix segfaults on exit when using mysql DB driver - patch -Np0 -i ../mysql.patch || return 1 + # fix CJK font/chars select error (FS#11245) + patch -p1 -i "${srcdir}"/eastern_asian_languagues.diff + # fix build problem against new unixODBC + 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-png15.patch # start compiling qt sed -i 's|-cp -P -f|-cp -L -f|' qmake/Makefile.unix rm -rf doc/html examples tutorial sed -i "s|sub-tutorial sub-examples||" Makefile sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++/qmake.conf + sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-32/qmake.conf + sed -i "s|-O2|$CXXFLAGS|" mkspecs/linux-g++-64/qmake.conf sed -i "s|-I. |$CXXFLAGS -I. |" qmake/Makefile.unix sed -i "s|read acceptance|acceptance=yes|" configure @@ -65,37 +71,54 @@ build() { else unset ARCH fi - ./configure -prefix /opt/qt -platform linux-g++$ARCH \ - -system-zlib -qt-gif -release -shared -sm -nis -thread -stl \ - -{system-lib,plugin-imgfmt-}{png,jpeg,mng} \ - -no-g++-exceptions -plugin-sql-{mysql,psql,sqlite,odbc} + ./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} # fix /opt/qt/lib path - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" $startdir/src/$pkgfqn/src/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" $startdir/src/$pkgfqn/tools/designer/designer/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" $startdir/src/$pkgfqn/tools/designer/editor/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" $startdir/src/$pkgfqn/tools/assistant/lib/Makefile - [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" $startdir/src/$pkgfqn/tools/designer/uilib/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/src/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/designer/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/editor/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/assistant/lib/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" "${srcdir}"/qt-x11-free-${pkgver}/tools/designer/uilib/Makefile - cd $startdir/src/$pkgfqn - make -C qmake || return 1 - cd $startdir/src/$pkgfqn/plugins/src/sqldrivers/mysql - $startdir/src/$pkgfqn/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro - cd $startdir/src/$pkgfqn/plugins/src/sqldrivers/psql - $startdir/src/$pkgfqn/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro + cd "${srcdir}"/qt-x11-free-${pkgver} + make -C qmake + cd "${srcdir}"/qt-x11-free-${pkgver}/plugins/src/sqldrivers/mysql + "${srcdir}"/qt-x11-free-${pkgver}/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro + cd "${srcdir}"/qt-x11-free-${pkgver}/plugins/src/sqldrivers/psql + "${srcdir}"/qt-x11-free-${pkgver}/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro - cd $startdir/src/$pkgfqn + cd "${srcdir}"/qt-x11-free-${pkgver} # fix the broken makefiles #sed -i 's|[[:space:]]*strip.*doc/html.*$|#|g' src/Makefile - make || return 1 - make INSTALL_ROOT=$startdir/pkg install - rm -rf $startdir/pkg/opt/qt/{phrasebooks,templates,translations} - sed -i "s|-L$startdir/src/$pkgfqn/lib ||g" $startdir/pkg/opt/qt/lib/*.prl - install -D -m755 qmake/qmake $startdir/pkg/opt/qt/bin/qmake - install -D -m755 $startdir/qt.profile $startdir/pkg/etc/profile.d/qt3.sh - rm -f $startdir/pkg/opt/qt/mkspecs/linux-g++$ARCH/linux-g++$ARCH + make +} + +package() { + cd "${srcdir}"/qt-x11-free-${pkgver} + make INSTALL_ROOT="${pkgdir}" install + rm -rf "${pkgdir}"/opt/qt/{phrasebooks,templates,translations} + sed -i "s|-L${srcdir}/qt-x11-free-${pkgver}/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 $startdir/pkg/opt/qt/man - cp -r $startdir/src/$pkgfqn/doc/man/{man1,man3} $startdir/pkg/opt/qt/man/ + install -d -m755 "${pkgdir}"/opt/qt/man + cp -r "${srcdir}"/qt-x11-free-${pkgver}/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 } diff --git a/abs/core/qt3/eastern_asian_languagues.diff b/abs/core/qt3/eastern_asian_languagues.diff new file mode 100644 index 0000000..7c25eef --- /dev/null +++ b/abs/core/qt3/eastern_asian_languagues.diff @@ -0,0 +1,39 @@ +--- qt-x11-free-3.3.8b/src/kernel/qfontdatabase.cpp 2008-01-15 21:09:13.000000000 +0200 ++++ qt-x11-free-3.3.8b/src/kernel/qfontdatabase.cpp 2008-03-10 11:34:22.000000000 +0200 +@@ -966,20 +966,22 @@ + + #ifdef Q_WS_X11 + if (script == QFont::Han) { +- // modify script according to locale +- static QFont::Script defaultHan = QFont::UnknownScript; +- if (defaultHan == QFont::UnknownScript) { +- QCString locale = setlocale(LC_ALL, NULL); +- if (locale.contains("ko")) +- defaultHan = QFont::Han_Korean; +- else if (locale.contains("zh_TW") || locale.contains("zh_HK")) +- defaultHan = QFont::Han_TraditionalChinese; +- else if (locale.contains("zh")) +- defaultHan = QFont::Han_SimplifiedChinese; +- else +- defaultHan = QFont::Han_Japanese; +- } +- script = defaultHan; ++ // modify script according to locale ++ static QFont::Script defaultHan; ++ QCString locale = setlocale(LC_ALL, NULL); ++ ++ if (locale.contains("ko")) ++ defaultHan = QFont::Han_Korean; ++ else if (locale.contains("zh_TW") || locale.contains("zh_HK")) ++ defaultHan = QFont::Han_TraditionalChinese; ++ else if (locale.contains("zh")) ++ defaultHan = QFont::Han_SimplifiedChinese; ++ else if (locale.contains("ja")) ++ defaultHan = QFont::Han_Japanese; ++ else ++ defaultHan = QFont::Han; // don't change ++ ++ script = defaultHan; + } + #endif + diff --git a/abs/core/qt3/gcc-4.6.patch b/abs/core/qt3/gcc-4.6.patch new file mode 100644 index 0000000..bcbffce --- /dev/null +++ b/abs/core/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 <cstddef> + #ifndef QT_NO_STL + #include <iterator> + #include <map> +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 <cstddef> + #ifndef QT_NO_STL + #include <iterator> + #include <list> +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 <cstddef> + #ifndef QT_NO_STL + #include <vector> + #endif diff --git a/abs/core/qt3/mysql.patch b/abs/core/qt3/mysql.patch deleted file mode 100644 index 5f61edc..0000000 --- a/abs/core/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 <private/qsqlextension_p.h> - --#include <qapplication.h> - #include <qdatetime.h> - #include <qvaluevector.h> - #include <qsqlrecord.h> -@@ -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/abs/core/qt3/qt-copy-kde-patches.tar.bz2 b/abs/core/qt3/qt-copy-kde-patches.tar.bz2 Binary files differindex 19d8999..519f717 100644 --- a/abs/core/qt3/qt-copy-kde-patches.tar.bz2 +++ b/abs/core/qt3/qt-copy-kde-patches.tar.bz2 diff --git a/abs/core/qt3/qt-font-default-subst.diff b/abs/core/qt3/qt-font-default-subst.diff deleted file mode 100644 index 3e286f7..0000000 --- a/abs/core/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/abs/core/qt3/qt-odbc.patch b/abs/core/qt3/qt-odbc.patch new file mode 100644 index 0000000..6f21e3c --- /dev/null +++ b/abs/core/qt3/qt-odbc.patch @@ -0,0 +1,19 @@ +diff -up qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp +--- qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp.orig 2009-02-24 11:32:27.000000000 +0100 ++++ qt-x11-free-3.3.8/src/sql/drivers/odbc/qsql_odbc.cpp 2009-02-24 11:33:43.000000000 +0100 +@@ -57,13 +57,13 @@ + #endif + + // newer platform SDKs use SQLLEN instead of SQLINTEGER +-#ifdef SQLLEN ++#if defined(SQLLEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX) + # define QSQLLEN SQLLEN + #else + # define QSQLLEN SQLINTEGER + #endif + +-#ifdef SQLULEN ++#if defined(SQLULEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX) + # define QSQLULEN SQLULEN + #else + # define QSQLULEN SQLUINTEGER diff --git a/abs/core/qt3/qt-patches.tar.bz2 b/abs/core/qt3/qt-patches.tar.bz2 Binary files differindex 4e46465..3f4aee1 100644 --- a/abs/core/qt3/qt-patches.tar.bz2 +++ b/abs/core/qt3/qt-patches.tar.bz2 diff --git a/abs/core/qt3/qt.install b/abs/core/qt3/qt.install index 4e2d6b6..6d042da 100644 --- a/abs/core/qt3/qt.install +++ b/abs/core/qt3/qt.install @@ -1,24 +1,12 @@ post_install() { - if ! [ `grep '/opt/qt/lib' etc/ld.so.conf` ]; then - echo "/opt/qt/lib" >>etc/ld.so.conf - sbin/ldconfig -r . - fi - echo "INFORMATION:" - echo "Documentation is seperated it's called qt3-doc" + post_remove } post_upgrade() { - /bin/true + post_remove } -pre_remove() { - cat etc/ld.so.conf | grep -v '/opt/qt/lib' >/tmp/.pacqt - mv /tmp/.pacqt etc/ld.so.conf - chmod 644 etc/ld.so.conf - sbin/ldconfig -r . +post_remove() { + # this can be removed in future versions + sed -e '/\/opt\/qt\/lib/d' -i etc/ld.so.conf } - -op=$1 -shift - -$op $* diff --git a/abs/core/qt3/qt3-png15.patch b/abs/core/qt3/qt3-png15.patch new file mode 100644 index 0000000..e64fea3 --- /dev/null +++ b/abs/core/qt3/qt3-png15.patch @@ -0,0 +1,212 @@ +$NetBSD: patch-as,v 1.5 2011/03/25 15:28:26 wiz Exp $ + +--- src/kernel/qpngio.cpp.orig 2007-02-02 10:01:15.000000000 -0400 ++++ src/kernel/qpngio.cpp +@@ -43,6 +43,7 @@ + #include "qiodevice.h" + + #include <png.h> ++#include <zlib.h> + + + #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); + ++ png_colorp info_ptr_palette = NULL; ++ int info_ptr_num_palette = 0; ++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_PLTE)) { ++ png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &info_ptr_num_palette); ++ } ++ ++ png_bytep info_ptr_trans_alpha = NULL; ++ int info_ptr_num_trans = 0; ++ png_color_16p info_ptr_trans_color = NULL; ++ ++ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { ++ png_get_tRNS(png_ptr, info_ptr, &info_ptr_trans_alpha, &info_ptr_num_trans, &info_ptr_trans_color); ++ } ++ ++ + if ( color_type == PNG_COLOR_TYPE_GRAY ) { + // 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 )) +@@ -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) ) { +- 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); +@@ -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 ) +@@ -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); +- 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 ); +- while ( i < info_ptr->num_trans ) { ++ while ( i < info_ptr_num_trans ) { + image.setColor(i, qRgba( +- info_ptr->palette[i].red, +- info_ptr->palette[i].green, +- info_ptr->palette[i].blue, +- info_ptr->trans[i] ++ info_ptr_palette[i].red, ++ info_ptr_palette[i].green, ++ info_ptr_palette[i].blue, ++ info_ptr_trans_alpha[i] + ) + ); + i++; + } + } +- while ( i < info_ptr->num_palette ) { ++ while ( i < info_ptr_num_palette ) { + 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 + ) + ); +@@ -284,7 +300,7 @@ void read_png_image(QImageIO* iio) + 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; +@@ -469,7 +485,7 @@ bool QPNGImageWriter::writeImage(const Q + return FALSE; + } + +- if (setjmp(png_ptr->jmpbuf)) { ++ if (setjmp(png_jmpbuf(png_ptr))) { + 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; ++*/ + + png_set_IHDR(png_ptr, info_ptr, image.width(), image.height(), + 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_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_colorp info_ptr_palette = NULL; ++ int tmp; ++ png_get_PLTE(png_ptr, info_ptr, &info_ptr_palette, &tmp); + for (int i=0; i<num_palette; i++) { + QRgb rgb=image.color(i); +- info_ptr->palette[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) { +@@ -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; i<num_trans; i++) +@@ -544,7 +571,10 @@ bool QPNGImageWriter::writeImage(const Q + } + + if ( image.hasAlphaBuffer() ) { +- info_ptr->sig_bit.alpha = 8; ++ png_color_8p sig_bit; ++ png_get_sBIT(png_ptr, info_ptr, &sig_bit); ++ 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; + } + +- if (setjmp((png_ptr)->jmpbuf)) { ++ if (setjmp(png_jmpbuf(png_ptr))) { + 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; +@@ -1117,7 +1147,7 @@ void QPNGFormat::end(png_structp png, pn + consumer->frameDone(QPoint(offx,offy),r); + consumer->end(); + state = FrameStart; +- 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/abs/core/qt3/utf8-bug-qt3.diff b/abs/core/qt3/utf8-bug-qt3.diff deleted file mode 100644 index 43e84a9..0000000 --- a/abs/core/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<len; i++) { -- ch = *chars++; -+ ch = chars[i]; - if (need) { - if ( (ch&0xc0) == 0x80 ) { - uc = (uc << 6) | (ch & 0x3f); -@@ -182,6 +184,8 @@ - *qch++ = QChar(high); - *qch++ = QChar(low); - headerDone = TRUE; -+ } else if ((uc < min_uc) || (uc >= 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); |