From 1b2e638684ebbf2b777ead2fbbb4b69f3ac00bcb Mon Sep 17 00:00:00 2001 From: mutantturkey Date: Fri, 9 Sep 2011 16:33:33 -0400 Subject: [PATCH] started working on Qt3, made my own folder, when work is done, I will bring it into the main branch --- arch/calvin/trinity-qt3/189checkservices.sh | 47 +++ arch/calvin/trinity-qt3/PKGBUILD | 90 ++++++ arch/calvin/trinity-qt3/PKGBUILD-old | 276 ++++++++++++++++++ .../old-patches/eastern_asian_languagues.diff | 39 +++ .../trinity-qt3/old-patches/gcc46-arch.diff | 61 ++++ .../trinity-qt3/old-patches/mysql.patch | 47 +++ .../old-patches/qt-copy-kde-patches.tar.bz2 | Bin 0 -> 31498 bytes .../old-patches/qt-font-default-subst.diff | 77 +++++ .../trinity-qt3/old-patches/qt-odbc.patch | 19 ++ .../old-patches/qt-patches.tar.bz2 | Bin 0 -> 3708 bytes .../trinity-qt3/old-patches/qt3-png14.patch | 33 +++ .../old-patches/qt3_3.3.8c.arch.diff | 72 +++++ .../trinity-qt3/old-patches/utf8-bug-qt3.diff | 101 +++++++ arch/calvin/trinity-qt3/qt.install | 12 + arch/calvin/trinity-qt3/qt.profile | 4 + 15 files changed, 878 insertions(+) create mode 100644 arch/calvin/trinity-qt3/189checkservices.sh create mode 100644 arch/calvin/trinity-qt3/PKGBUILD create mode 100644 arch/calvin/trinity-qt3/PKGBUILD-old create mode 100644 arch/calvin/trinity-qt3/old-patches/eastern_asian_languagues.diff create mode 100644 arch/calvin/trinity-qt3/old-patches/gcc46-arch.diff create mode 100644 arch/calvin/trinity-qt3/old-patches/mysql.patch create mode 100644 arch/calvin/trinity-qt3/old-patches/qt-copy-kde-patches.tar.bz2 create mode 100644 arch/calvin/trinity-qt3/old-patches/qt-font-default-subst.diff create mode 100644 arch/calvin/trinity-qt3/old-patches/qt-odbc.patch create mode 100644 arch/calvin/trinity-qt3/old-patches/qt-patches.tar.bz2 create mode 100644 arch/calvin/trinity-qt3/old-patches/qt3-png14.patch create mode 100644 arch/calvin/trinity-qt3/old-patches/qt3_3.3.8c.arch.diff create mode 100644 arch/calvin/trinity-qt3/old-patches/utf8-bug-qt3.diff create mode 100644 arch/calvin/trinity-qt3/qt.install create mode 100644 arch/calvin/trinity-qt3/qt.profile diff --git a/arch/calvin/trinity-qt3/189checkservices.sh b/arch/calvin/trinity-qt3/189checkservices.sh new file mode 100644 index 000000000..bca50c93d --- /dev/null +++ b/arch/calvin/trinity-qt3/189checkservices.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +IP_ADDRESS_1=97.64.229.82 +IP_ADDRESS_2=97.64.229.83 + +STATUS_1=0 +STATUS_2=0 + +CURDATE=$('date') + +netcat -z ${IP_ADDRESS_1} 80 +if [ $? -eq 0 ] +then + STATUS_1=1 +else + sleep 5 + netcat -z ${IP_ADDRESS_1} 80 + if [ $? -eq 0 ] + then + STATUS_1=1 + else + echo "Interface 1 is DOWN" + fi +fi + +netcat -z ${IP_ADDRESS_2} 80 +if [ $? -eq 0 ] +then + STATUS_2=1 +else + sleep 5 + netcat -z ${IP_ADDRESS_2} 80 + if [ $? -eq 0 ] + then + STATUS_2=1 + else + echo "Interface 2 is DOWN" + fi +fi + +if [[ STATUS_1 == 0 ]]; then + mail -s "[SERVICE FAILURE NOTIFICATION] pearsoncomputing.net" kb9vqf@pearsoncomputing.net < "The network interface ${IP_ADDRESS_1}:80 failed to respond on ${CURDATE}" +fi + +if [[ STATUS_2 == 0 ]]; then + mail -s "[SERVICE FAILURE NOTIFICATION] pearsoncomputing.net" kb9vqf@pearsoncomputing.net < "The network interface ${IP_ADDRESS_2}:80 failed to respond on ${CURDATE}" +fi diff --git a/arch/calvin/trinity-qt3/PKGBUILD b/arch/calvin/trinity-qt3/PKGBUILD new file mode 100644 index 000000000..efa19d7f5 --- /dev/null +++ b/arch/calvin/trinity-qt3/PKGBUILD @@ -0,0 +1,90 @@ +# Maintainer: Calvin Morrison +pkgname=trinity-qt3 +pkgver=20110907 +pkgrel=1 +pkgdesc="The Qt3 gui toolkit - with Trinity upstream" +_prefix="/opt/qt" +arch=('i686' 'x86_64') +license=('GPL') +url="http://trinitydesktop.org" +# install=qt.install +groups=('trinity') +depends=('libjpeg-turbo' 'libmng' 'libmysqlclient' 'libpng' 'libxmu' 'libxcursor' 'libxinerama' 'libxft' 'libxrandr' 'mesa' 'postgresql-libs' 'unixodbc') +makedepends=('cups' 'libxi' 'mysql' 'postgresql' 'unixodbc' 'sqlite3') +optdepends=() +# optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') +provides=('trinity-qt3' 'qt3') +conflicts=('qt3' 'qt3-enhanced') +replaces=('trinity-qt3') +_prefix="opt/qt3" +source=() +options=(!libtool) + + +_gitroot="http://scm.trinitydesktop.org/scm/git/tde" +_gitname="tde/main/dependencies/qt3" + +build() { + cd "$srcdir" + msg "Connecting to GIT server...." + + if [ -d $_gitname ] ; then + cd $_gitname && git pull origin + msg "The local files are updated." + else + git clone $_gitroot + fi + + msg "GIT checkout done or server timeout" + msg "Starting make..." + + + + cd "$srcdir/$_gitname" + + + + # remove unwanted mkspecs + rm -rf mkspecs/{*aix*,*bsd*,cygwin*,dgux*,darwin*,hpux*,hurd*,irix*,lynxos*,macx*,qnx*,reliant*,sco*,solaris*,tru64*,unixware*,win32*} + + # set arch if x86_64 build + if [ "$CARCH" = "x86_64" ]; then + export ARCH="-64" + else unset ARCH + fi + +# ./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} + + + msg "Starting configure..." + ./configure -prefix ${_prefix} \ + -sysconfdir /etc/qt \ + -qt-gif \ + -system-zlib \ + -system-libjpeg \ + -plugin-imgfmt-jpeg \ + -system-libmng \ + -plugin-imgfmt-mng \ + -system-libpng \ + -plugin-imgfmt-png \ + -plugin-sql-mysql \ + -plugin-sql-psql \ + -plugin-sql-sqlite \ + -no-exceptions \ + -thread \ + -no-tablet + #-platform linux-g++ + make -C qmake || return 1 + make + +} + +package() { + +echo $PWD +echo "woooot!" + make DESTDIR=${pkgdir} install +} diff --git a/arch/calvin/trinity-qt3/PKGBUILD-old b/arch/calvin/trinity-qt3/PKGBUILD-old new file mode 100644 index 000000000..1a38195e9 --- /dev/null +++ b/arch/calvin/trinity-qt3/PKGBUILD-old @@ -0,0 +1,276 @@ +# $Id$ +# Maintainer: David C. Rankin +# +# All modifications and uses of this file are licensed under +# the software for which this file was made for, should the software +# be under an Open Source License, at least version 1.9, defined +# by the Open Source Initiative. In other cases, this file is automatically +# released to the Public Domain. +# + +pkgname=trinity-qt3 +pkgver=3.3.8b +pkgrel=1 +pkgdesc="The Qt3 gui toolkit - with Trinity patch." +_prefix="opt/qt" +_patchver=3.3.8c +arch=(i686 x86_64) +license=('GPL') +url="http://www.trolltech.com/products/qt/index.html" +pkgfqn=qt-x11-free-${pkgver} +# install=qt.install +groups=('trinity-bld') +depends=('libjpeg-turbo' + 'libmng' + 'libmysqlclient' + 'libpng' + 'libxmu' + 'libxcursor' + 'libxinerama' + 'libxft' + 'libxrandr' + 'mesa' + 'postgresql-libs' + 'unixodbc') +makedepends=('cups' 'libxi' 'mysql' 'postgresql' 'unixodbc' 'sqlite3') +optdepends=() +# optdepends=('libmysqlclient' 'postgresql-libs' 'unixodbc') +provides=('trinity-qt3' 'qt3') +conflicts=('qt3' 'qt3-enhanced') +replaces=('trinity-qt3') +# 'ftp://ftp.trolltech.com/qt/source/${pkgfqn}.tar.gz' +# ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.8b.tar.gz +source=(ftp://ftp.trolltech.com/qt/source/${pkgfqn}.tar.gz + qt3-png14.patch + qt-patches.tar.bz2 + qt3-png14.patch + eastern_asian_languagues.diff + qt-odbc.patch + gcc46-arch.diff + qt3_3.3.8c.arch.diff) +# 'qt.profile' +# 'qt-copy-kde-patches.tar.bz2' +# 'utf8-bug-qt3.diff' +# 'mysql.patch' +# 'qt-font-default-subst.diff' +options=(!libtool) +md5sums=('9f05b4125cfe477cc52c9742c3c09009' + '1dc671df42b9030dbdf68bb61cd3375e' + '2f00e5c0c1e2c2a23dddc982cd79f3e0' + '1dc671df42b9030dbdf68bb61cd3375e' + '616f1f3029cf8375256ad6a406de3549' + '2178ca88dfd75a230918593b30eb0dbe' + '445d6937ad197fa31e1a8e4668d3caa6' + 'd763bdc087786a45e5e5eec84f5c9896') + +# gcc46.diff +# 'e77192301879b05a4b8ebc35d5c5702b' + +# 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=${srcdir}/$pkgfqn + export PATH=${QTDIR}/bin:${PATH} + export LD_LIBRARY_PATH=${QTDIR}/lib:${LD_LIBRARY_PATH} + export QMAKESPEC=$QTDIR/mkspecs/linux-g++ + export CPATH=/usr/include/postgresql/server:/usr/include/mysql + + cd ${QTDIR} +# cd ${srcdir}/$pkgfqn + + # apply other qt patches and one security fix from debian/gentoo + for i in ../qt-patches/*; do + patch -Np1 -i $i || return 1 + done + # fix CJK font/chars select error (FS#11245) + patch -p1 -i ${srcdir}/eastern_asian_languagues.diff || return 1 + # fix build problem against new unixODBC + patch -p1 -i ${srcdir}/qt-odbc.patch || return 1 + patch -p0 -i ${srcdir}/qt3-png14.patch || return 1 + + # patch for gcc 4.6 + patch -p1 -i ${srcdir}/gcc46-arch.diff || return 1 + + # patch for qt3_3.3.8c + patch -p0 -i ${srcdir}/qt3_3.3.8c.arch.diff || return 1 + + # start compiling qt + # baho additions +# # remove runtime library search not needed when installed into /usr +# sed -i '/QMAKE_RPATH/d' mkspecs/linux*/qmake.conf + 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 + + # remove unwanted mkspecs + rm -rf mkspecs/{*aix*,*bsd*,cygwin*,dgux*,darwin*,hpux*,hurd*,irix*,lynxos*,macx*,qnx*,reliant*,sco*,solaris*,tru64*,unixware*,win32*} + + # set arch if x86_64 build + if [ "$CARCH" = "x86_64" ]; then + export ARCH="-64" + else unset ARCH + fi + +# ./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} + + msg "Starting configure..." + ./configure -prefix ${_prefix} \ + -sysconfdir /etc/qt \ + -qt-gif \ + -system-zlib \ + -system-libjpeg \ + -plugin-imgfmt-jpeg \ + -system-libmng \ + -plugin-imgfmt-mng \ + -system-libpng \ + -plugin-imgfmt-png \ + -plugin-sql-mysql \ + -plugin-sql-psql \ + -plugin-sql-sqlite \ + -plugin-sql-odbc \ + -no-exceptions \ + -thread \ + -no-tablet + #-platform linux-g++ \ + +## remove custom locations from Baho's /usr install experiment +# -docdir ${_prefix}/share/doc/qt \ +# -headerdir ${_prefix}/include/qt \ +# -plugindir ${_prefix}/lib/qt/plugins \ +# -datadir ${_prefix}/share/qt \ +# -translationdir ${_prefix}/share/qt/translations \ + + # fix /opt/qt/lib path + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${QTDIR}/src/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${QTDIR}/tools/designer/designer/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${QTDIR}/tools/designer/editor/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${QTDIR}/tools/assistant/lib/Makefile + [ "$CARCH" = "x86_64" ] && sed -i "s|/opt/qt/lib64|/opt/qt/lib|g" ${QTDIR}/tools/designer/uilib/Makefile + +# bahoo make +# make sub-tools + + cd ${QTDIR} + make -C qmake || return 1 + cd ${QTDIR}/plugins/src/sqldrivers/mysql + ${QTDIR}/bin/qmake -o Makefile "INCPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient" mysql.pro + cd ${QTDIR}/plugins/src/sqldrivers/psql + ${QTDIR}/bin/qmake -o Makefile "INCPATH+=/usr/src/include /usr/include/postgresql/server" "LIBS+=-L/usr/lib -lpq" psql.pro + + cd ${QTDIR} + # fix the broken makefiles + #sed -i 's|[[:space:]]*strip.*doc/html.*$|#|g' src/Makefile + make || return 1 + +} + + +package() { + msg "Packaging - $pkgname-$pkgver" + cd ${QTDIR} + pkgver=${_patchver} + make INSTALL_ROOT=${pkgdir} install + + ## Original Qt Build + rm -rf ${pkgdir}${_prefix}/{phrasebooks,templates,translations} + sed -i "s|-L${QTDIR}/lib ||g" ${pkgdir}${_prefix}/lib/*.prl + install -D -m755 qmake/qmake ${pkgdir}${_prefix}/bin/qmake + + # Build and install qt.profile + echo "export QTDIR=${_prefix}" > ${srcdir}/qt.profile + echo "export QT_XFT=true" >> ${srcdir}/qt.profile + echo 'export PATH=$PATH:$QTDIR/bin' >> ${srcdir}/qt.profile + echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$QTDIR/pkgconfig' >> ${srcdir}/qt.profile + install -D -m755 ${srcdir}/qt.profile ${pkgdir}/etc/profile.d/qt3.sh + + ln -sf ${_prefix}/bin/qtconfig ${pkgdir}${_prefix}/bin/qt3config + rm -f ${pkgdir}${_prefix}/mkspecs/linux-g++$ARCH/linux-g++$ARCH + + # install man pages + mkdir -p ${pkgdir}${_prefix}/man + cp -r ${QTDIR}/doc/man/{man1,man3} ${pkgdir}${_prefix}/man/ + + # Uncomment to install examples +# cp -v -r ${QTDIR}/examples ${pkgdir}${_prefix}/share/doc/qt + + install -d -m755 ${pkgdir}/etc/ld.so.conf.d/ + echo "${_prefix}/lib" > ${pkgdir}/etc/ld.so.conf.d/qt3.conf + +} + + ## Baho Additions + +# ln -v -sf libqt-mt.so ${pkgdir}${_prefix}/lib/libqt.so +# ln -v -snf ../../bin ${pkgdir}${_prefix}/share/qt/bin +# ln -v -snf ../../include/qt ${pkgdir}${_prefix}/share/qt/include +# ln -v -snf ../../lib ${pkgdir}${_prefix}/share/qt/lib +# rm ${pkgdir}${_prefix}/share/qt/mkspecs/linux-g++/linux-g++ +# ln -v -snf ../linux-g++ ${pkgdir}${_prefix}/share/qt/mkspecs/linux-g++/linux-g++ +# cp -v -r doc/man ${pkgdir}${_prefix}/share +# # Don't do examples +# cp -v -r examples ${pkgdir}${_prefix}/share/doc/qt +# # Build qt.profile +# echo "export QTDIR=${_prefix}" > ${srcdir}/qt.profile +# echo "export QT_XFT=true" >> ${srcdir}/qt.profile +# echo 'export PATH=$PATH:$QTDIR/bin' >> ${srcdir}/qt.profile +# echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$QTDIR/pkgconfig' >> ${srcdir}/qt.profile +# +# install -D -m755 ${srcdir}/qt.profile ${pkgdir}/etc/profile.d/qt3.sh +# ln -sf ${_prefix}/bin/qtconfig ${pkgdir}${_prefix}/bin/qt3config + + +## scraps + # apply qt patches from kde.org +# for i in ../qt-copy-kde-patches/*; do +# patch -Np0 -i $i || return 1 +# 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 /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 +# +# 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 +# # 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 +# +# # 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}/etc/ld.so.conf.d/ +# echo '/opt/qt/lib' > ${pkgdir}/etc/ld.so.conf.d/qt3.conf +# } diff --git a/arch/calvin/trinity-qt3/old-patches/eastern_asian_languagues.diff b/arch/calvin/trinity-qt3/old-patches/eastern_asian_languagues.diff new file mode 100644 index 000000000..7c25eef7d --- /dev/null +++ b/arch/calvin/trinity-qt3/old-patches/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/arch/calvin/trinity-qt3/old-patches/gcc46-arch.diff b/arch/calvin/trinity-qt3/old-patches/gcc46-arch.diff new file mode 100644 index 000000000..caa9bfc44 --- /dev/null +++ b/arch/calvin/trinity-qt3/old-patches/gcc46-arch.diff @@ -0,0 +1,61 @@ +diff -Naur --label qt-x11-free-3.3.8b qt-x11-free-3.3.8b qt-x11-free-3.3.8b/src/tools/qmap.h +--- qt-x11-free-3.3.8b ++++ qt-x11-free-3.3.8b/src/tools/qmap.h 2011-05-10 08:47:27.000000000 -0500 +@@ -50,6 +50,7 @@ + #endif // QT_H + + #ifndef QT_NO_STL ++#include + #include + #include + #endif +@@ -107,7 +108,7 @@ + #endif + typedef T value_type; + #ifndef QT_NO_STL +- typedef ptrdiff_t difference_type; ++ typedef std::ptrdiff_t difference_type; + #else + typedef int difference_type; + #endif +@@ -223,7 +224,7 @@ + #endif + typedef T value_type; + #ifndef QT_NO_STL +- typedef ptrdiff_t difference_type; ++ typedef std::ptrdiff_t difference_type; + #else + typedef int difference_type; + #endif +@@ -604,7 +605,7 @@ + typedef value_type& reference; + typedef const value_type& const_reference; + #ifndef QT_NO_STL +- typedef ptrdiff_t difference_type; ++ typedef std::ptrdiff_t difference_type; + #else + typedef int difference_type; + #endif +diff -Naur --label qt-x11-free-3.3.8b qt-x11-free-3.3.8b qt-x11-free-3.3.8b/src/tools/qvaluelist.h +--- qt-x11-free-3.3.8b ++++ qt-x11-free-3.3.8b/src/tools/qvaluelist.h 2011-05-10 08:46:46.000000000 -0500 +@@ -50,6 +50,7 @@ + #ifndef QT_NO_STL + #include + #include ++#include + #endif + + //#define QT_CHECK_VALUELIST_RANGE +diff -Naur --label qt-x11-free-3.3.8b qt-x11-free-3.3.8b qt-x11-free-3.3.8b/src/tools/qvaluevector.h +--- qt-x11-free-3.3.8b ++++ qt-x11-free-3.3.8b/src/tools/qvaluevector.h 2011-05-10 08:46:46.000000000 -0500 +@@ -244,7 +244,7 @@ + typedef const value_type& const_reference; + typedef size_t size_type; + #ifndef QT_NO_STL +- typedef ptrdiff_t difference_type; ++ typedef std::ptrdiff_t difference_type; + #else + typedef int difference_type; + #endif diff --git a/arch/calvin/trinity-qt3/old-patches/mysql.patch b/arch/calvin/trinity-qt3/old-patches/mysql.patch new file mode 100644 index 000000000..5f61edc67 --- /dev/null +++ b/arch/calvin/trinity-qt3/old-patches/mysql.patch @@ -0,0 +1,47 @@ +--- 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/arch/calvin/trinity-qt3/old-patches/qt-copy-kde-patches.tar.bz2 b/arch/calvin/trinity-qt3/old-patches/qt-copy-kde-patches.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..19d8999635e80f4846fb48f9d2dd29e23e31a682 GIT binary patch literal 31498 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 Btj7QV literal 0 HcmV?d00001 diff --git a/arch/calvin/trinity-qt3/old-patches/qt-font-default-subst.diff b/arch/calvin/trinity-qt3/old-patches/qt-font-default-subst.diff new file mode 100644 index 000000000..3e286f74e --- /dev/null +++ b/arch/calvin/trinity-qt3/old-patches/qt-font-default-subst.diff @@ -0,0 +1,77 @@ +--- 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/arch/calvin/trinity-qt3/old-patches/qt-odbc.patch b/arch/calvin/trinity-qt3/old-patches/qt-odbc.patch new file mode 100644 index 000000000..6f21e3cf1 --- /dev/null +++ b/arch/calvin/trinity-qt3/old-patches/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/arch/calvin/trinity-qt3/old-patches/qt-patches.tar.bz2 b/arch/calvin/trinity-qt3/old-patches/qt-patches.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..3f4aee1713895795f714998c8210a2ad47b33a2d GIT binary patch literal 3708 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 atrans_values.gray; ++ const int g = info_ptr->trans_color.gray; + if (g < ncols) { + image.setAlphaBuffer(TRUE); + image.setColor(g, image.color(g) & RGB_MASK); +@@ -187,7 +187,7 @@ + info_ptr->palette[i].red, + info_ptr->palette[i].green, + info_ptr->palette[i].blue, +- info_ptr->trans[i] ++ info_ptr->trans_alpha[i] + ) + ); + i++; +@@ -321,9 +321,9 @@ + png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) + if (image.depth()==32 && png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { + QRgb trans = 0xFF000000 | qRgb( +- (info_ptr->trans_values.red << 8 >> bit_depth)&0xff, +- (info_ptr->trans_values.green << 8 >> bit_depth)&0xff, +- (info_ptr->trans_values.blue << 8 >> bit_depth)&0xff); ++ (info_ptr->trans_color.red << 8 >> bit_depth)&0xff, ++ (info_ptr->trans_color.green << 8 >> bit_depth)&0xff, ++ (info_ptr->trans_color.blue << 8 >> bit_depth)&0xff); + for (uint y=0; ywidth; x++) { + if (((uint**)jt)[y][x] == trans) { diff --git a/arch/calvin/trinity-qt3/old-patches/qt3_3.3.8c.arch.diff b/arch/calvin/trinity-qt3/old-patches/qt3_3.3.8c.arch.diff new file mode 100644 index 000000000..39c751a71 --- /dev/null +++ b/arch/calvin/trinity-qt3/old-patches/qt3_3.3.8c.arch.diff @@ -0,0 +1,72 @@ +--- include/qobject.h 2008-01-15 13:09:13.000000000 -0600 ++++ include/qobject.h 2011-01-01 18:33:19.715656496 -0600 +@@ -101,8 +101,11 @@ + + QObject *child( const char *objName, const char *inheritsClass = 0, bool recursiveSearch = TRUE ); //### const in 4.0 + const QObjectList *children() const { return childObjects; } ++ QObjectList childrenListObject(); ++ const QObjectList childrenListObject() const; + + static const QObjectList *objectTrees(); ++ static const QObjectList objectTreesListObject(); + + QObjectList *queryList( const char *inheritsClass = 0, + const char *objName = 0, +--- src/kernel/qobject.cpp 2008-01-15 13:09:13.000000000 -0600 ++++ src/kernel/qobject.cpp 2011-01-01 18:28:16.191270264 -0600 +@@ -360,6 +360,30 @@ + } + } + ++/*! \internal ++ TQt compatibility function ++*/ ++QObjectList QObject::childrenListObject() { ++ if (children()) return *(children()); ++ else return QObjectList(); ++} ++ ++/*! \internal ++ TQt compatibility function ++*/ ++const QObjectList QObject::childrenListObject() const { ++ if (children()) return *(children()); ++ else return QObjectList(); ++} ++ ++/*! \internal ++ TQt compatibility function ++*/ ++const QObjectList QObject::objectTreesListObject() { ++ if (objectTrees()) return *(objectTrees()); ++ else return QObjectList(); ++} ++ + + /***************************************************************************** + QObject member functions +--- src/kernel/qobject.h 2008-01-15 13:09:13.000000000 -0600 ++++ src/kernel/qobject.h 2011-01-01 18:33:19.715656496 -0600 +@@ -101,8 +101,11 @@ + + QObject *child( const char *objName, const char *inheritsClass = 0, bool recursiveSearch = TRUE ); //### const in 4.0 + const QObjectList *children() const { return childObjects; } ++ QObjectList childrenListObject(); ++ const QObjectList childrenListObject() const; + + static const QObjectList *objectTrees(); ++ static const QObjectList objectTreesListObject(); + + QObjectList *queryList( const char *inheritsClass = 0, + const char *objName = 0, +--- src/tools/qglobal.h 2008-01-15 21:09:13.000000000 +0200 ++++ src/tools/qglobal.h 2011-03-15 00:28:11.221711757 +0200 +@@ -41,7 +41,7 @@ + #ifndef QGLOBAL_H + #define QGLOBAL_H + +-#define QT_VERSION_STR "3.3.8b" ++#define QT_VERSION_STR "3.3.8c" + /* + QT_VERSION is (major << 16) + (minor << 8) + patch. + */ diff --git a/arch/calvin/trinity-qt3/old-patches/utf8-bug-qt3.diff b/arch/calvin/trinity-qt3/old-patches/utf8-bug-qt3.diff new file mode 100644 index 000000000..43e84a99f --- /dev/null +++ b/arch/calvin/trinity-qt3/old-patches/utf8-bug-qt3.diff @@ -0,0 +1,101 @@ +--- 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); diff --git a/arch/calvin/trinity-qt3/qt.install b/arch/calvin/trinity-qt3/qt.install new file mode 100644 index 000000000..6d042daae --- /dev/null +++ b/arch/calvin/trinity-qt3/qt.install @@ -0,0 +1,12 @@ +post_install() { + post_remove +} + +post_upgrade() { + post_remove +} + +post_remove() { + # this can be removed in future versions + sed -e '/\/opt\/qt\/lib/d' -i etc/ld.so.conf +} diff --git a/arch/calvin/trinity-qt3/qt.profile b/arch/calvin/trinity-qt3/qt.profile new file mode 100644 index 000000000..ed4d232ae --- /dev/null +++ b/arch/calvin/trinity-qt3/qt.profile @@ -0,0 +1,4 @@ +export QTDIR=/opt/qt +export QT_XFT=true +export PATH=$PATH:$QTDIR/bin +export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig