summaryrefslogtreecommitdiffstats
path: root/abs/core/qt3
diff options
context:
space:
mode:
authorJames Meyer <james.meyer@operamail.com>2013-02-19 21:10:18 (GMT)
committerJames Meyer <james.meyer@operamail.com>2013-02-19 21:10:18 (GMT)
commit2648e999d277eac5c3d331a3609bcc73fafbea71 (patch)
tree40951fb8e7fdbe28a0baa324ae615055203f1e2e /abs/core/qt3
parentc759b5e0c4aa6fc37412b4dee2cf9ad993fd376d (diff)
parent7e6f7ca174e1af67178dc5293a312a4a733eb095 (diff)
downloadlinhes_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/PKGBUILD139
-rw-r--r--abs/core/qt3/eastern_asian_languagues.diff39
-rw-r--r--abs/core/qt3/gcc-4.6.patch33
-rw-r--r--abs/core/qt3/mysql.patch47
-rw-r--r--abs/core/qt3/qt-copy-kde-patches.tar.bz2bin31498 -> 29688 bytes
-rw-r--r--abs/core/qt3/qt-font-default-subst.diff77
-rw-r--r--abs/core/qt3/qt-odbc.patch19
-rw-r--r--abs/core/qt3/qt-patches.tar.bz2bin3627 -> 3708 bytes
-rw-r--r--abs/core/qt3/qt.install22
-rw-r--r--abs/core/qt3/qt3-png15.patch212
-rw-r--r--abs/core/qt3/utf8-bug-qt3.diff101
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
index 19d8999..519f717 100644
--- a/abs/core/qt3/qt-copy-kde-patches.tar.bz2
+++ b/abs/core/qt3/qt-copy-kde-patches.tar.bz2
Binary files differ
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
index 4e46465..3f4aee1 100644
--- a/abs/core/qt3/qt-patches.tar.bz2
+++ b/abs/core/qt3/qt-patches.tar.bz2
Binary files differ
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);