summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--redhat/tqt3/0084-compositing-properties.patch80
-rw-r--r--redhat/tqt3/assistant3.desktop9
-rw-r--r--redhat/tqt3/designer3.desktop11
-rw-r--r--redhat/tqt3/linguist3.desktop10
l---------redhat/tqt3/qt-3.1.0-makefile.patch1
l---------redhat/tqt3/qt-3.3.4-print-CJK.patch1
l---------redhat/tqt3/qt-3.3.6-fontrendering-gu-228452.patch1
l---------redhat/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch1
l---------redhat/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch1
l---------redhat/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch1
l---------redhat/tqt3/qt-x11-free-3.3.4-fullscreen.patch1
l---------redhat/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch1
l---------redhat/tqt3/qt-x11-free-3.3.6-strip.patch1
l---------redhat/tqt3/qt-x11-free-3.3.7-arm.patch1
l---------redhat/tqt3/qt-x11-free-3.3.8b-typo.patch1
-rw-r--r--redhat/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch134
-rw-r--r--redhat/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2bin0 -> 99943 bytes
-rwxr-xr-xredhat/tqt3/qt.csh34
-rwxr-xr-xredhat/tqt3/qt.sh32
l---------redhat/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch1
-rw-r--r--redhat/tqt3/qtconfig3.desktop9
-rw-r--r--redhat/tqt3/tqt3-3.4.0-embed.patch10
-rw-r--r--redhat/tqt3/tqt3-3.4.0-fontrendering-#214570.patch23
-rw-r--r--redhat/tqt3/tqt3-3.4.0-fontrendering-214371.patch15
-rw-r--r--redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch60
-rw-r--r--redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch11
-rw-r--r--redhat/tqt3/tqt3-3.4.0-nodebug.patch15
-rw-r--r--redhat/tqt3/tqt3-3.4.0-odbc.patch18
-rw-r--r--redhat/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch92
-rw-r--r--redhat/tqt3/tqt3-3.4.0-quiet.patch13
-rw-r--r--redhat/tqt3/tqt3-3.4.0-uic-nostdlib.patch12
-rw-r--r--redhat/tqt3/tqt3-3.4.0-umask.patch14
-rw-r--r--redhat/tqt3/tqt3-3.4.0.spec678
33 files changed, 1292 insertions, 0 deletions
diff --git a/redhat/tqt3/0084-compositing-properties.patch b/redhat/tqt3/0084-compositing-properties.patch
new file mode 100644
index 000000000..368b6c267
--- /dev/null
+++ b/redhat/tqt3/0084-compositing-properties.patch
@@ -0,0 +1,80 @@
+qt-bugs@ issue : none
+bugs.kde.org number : none
+applied: no
+author: Lubos Lunak <l.lunak@kde.org>
+
+This patch makes override-redirect windows (popup menu, dropdown menu,
+tooltip, combobox, etc.) also have more window properties like WM_CLASS,
+so they can be used when compositing.
+
+--- src/kernel/qwidget_x11.cpp.sav 2007-06-25 10:36:42.000000000 +0200
++++ src/kernel/qwidget_x11.cpp 2007-10-02 15:30:13.000000000 +0200
+@@ -557,7 +557,10 @@ void QWidget::create( WId window, bool i
+ wsa.save_under = True;
+ XChangeWindowAttributes( dpy, id, CWOverrideRedirect | CWSaveUnder,
+ &wsa );
+- x11SetWindowType();
++ XClassHint class_hint;
++ class_hint.res_name = (char *) qAppName(); // application name
++ class_hint.res_class = (char *) qAppClass(); // application class
++ XSetClassHint( dpy, id, &class_hint );
+ } else if ( topLevel && !desktop ) { // top-level widget
+ QWidget *p = parentWidget(); // real parent
+ if (p)
+@@ -620,8 +623,6 @@ void QWidget::create( WId window, bool i
+ else
+ XDeleteProperty(dpy, id, qt_xa_motif_wm_hints);
+
+- x11SetWindowType();
+-
+ // set _NET_WM_WINDOW_STATE
+ if (curr_winstate > 0)
+ XChangeProperty(dpy, id, qt_net_wm_state, XA_ATOM, 32, PropModeReplace,
+@@ -629,11 +630,6 @@ void QWidget::create( WId window, bool i
+ else
+ XDeleteProperty(dpy, id, qt_net_wm_state);
+
+- // set _NET_WM_PID
+- long curr_pid = getpid();
+- XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
+- (unsigned char *) &curr_pid, 1);
+-
+ #ifndef QT_NO_XSYNC
+ // set _NET_WM_SYNC_COUNTER
+ createSyncCounter();
+@@ -645,19 +641,31 @@ void QWidget::create( WId window, bool i
+ // when we create a toplevel widget, the frame strut should be dirty
+ fstrut_dirty = 1;
+
++ } else {
++ // non-toplevel widgets don't have a frame, so no need to
++ // update the strut
++ fstrut_dirty = 0;
++ }
++
++ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
++ x11SetWindowType();
++
++ // set _NET_WM_PID
++ long curr_pid = getpid();
++ XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
++ (unsigned char *) &curr_pid, 1);
++
+ // declare the widget's object name as window role
+ XChangeProperty( dpy, id,
+ qt_window_role, XA_STRING, 8, PropModeReplace,
+ (unsigned char *)name(), qstrlen( name() ) );
+
+ // set client leader property
++ if ( !qt_x11_wm_client_leader )
++ qt_x11_create_wm_client_leader();
+ XChangeProperty( dpy, id, qt_wm_client_leader,
+ XA_WINDOW, 32, PropModeReplace,
+ (unsigned char *)&qt_x11_wm_client_leader, 1 );
+- } else {
+- // non-toplevel widgets don't have a frame, so no need to
+- // update the strut
+- fstrut_dirty = 0;
+ }
+
+ if ( initializeWindow ) {
diff --git a/redhat/tqt3/assistant3.desktop b/redhat/tqt3/assistant3.desktop
new file mode 100644
index 000000000..49e718c5d
--- /dev/null
+++ b/redhat/tqt3/assistant3.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt3 Assistant
+Comment=Add translations to Qt3 applications
+Exec=assistant
+Icon=assistant3
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/redhat/tqt3/designer3.desktop b/redhat/tqt3/designer3.desktop
new file mode 100644
index 000000000..23f1f549a
--- /dev/null
+++ b/redhat/tqt3/designer3.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Qt3 Designer
+GenericName=Interface Designer
+Comment=Design GUIs for Qt3 applications
+Exec=designer
+Icon=designer3
+MimeType=application/x-designer;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/redhat/tqt3/linguist3.desktop b/redhat/tqt3/linguist3.desktop
new file mode 100644
index 000000000..c6fce02c8
--- /dev/null
+++ b/redhat/tqt3/linguist3.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Name=Qt3 Linguist
+Comment=Add translations to Qt3 applications
+Exec=linguist
+Icon=linguist3
+MimeType=application/x-linguist;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
diff --git a/redhat/tqt3/qt-3.1.0-makefile.patch b/redhat/tqt3/qt-3.1.0-makefile.patch
new file mode 120000
index 000000000..7d8ae65a2
--- /dev/null
+++ b/redhat/tqt3/qt-3.1.0-makefile.patch
@@ -0,0 +1 @@
+../qt3/qt-3.1.0-makefile.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-3.3.4-print-CJK.patch b/redhat/tqt3/qt-3.3.4-print-CJK.patch
new file mode 120000
index 000000000..99cdc6e1d
--- /dev/null
+++ b/redhat/tqt3/qt-3.3.4-print-CJK.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.4-print-CJK.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-3.3.6-fontrendering-gu-228452.patch b/redhat/tqt3/qt-3.3.6-fontrendering-gu-228452.patch
new file mode 120000
index 000000000..b015af122
--- /dev/null
+++ b/redhat/tqt3/qt-3.3.6-fontrendering-gu-228452.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.6-fontrendering-gu-228452.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch b/redhat/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
new file mode 120000
index 000000000..388a5cbe5
--- /dev/null
+++ b/redhat/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch b/redhat/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch
new file mode 120000
index 000000000..93c6ba3d8
--- /dev/null
+++ b/redhat/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.6-fontrendering-te_IN-211259.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch b/redhat/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch
new file mode 120000
index 000000000..4ded8f792
--- /dev/null
+++ b/redhat/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch
@@ -0,0 +1 @@
+../qt3/qt-3.3.8-fontrendering-as_IN-209972.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-x11-free-3.3.4-fullscreen.patch b/redhat/tqt3/qt-x11-free-3.3.4-fullscreen.patch
new file mode 120000
index 000000000..09d41d4b3
--- /dev/null
+++ b/redhat/tqt3/qt-x11-free-3.3.4-fullscreen.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.4-fullscreen.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch b/redhat/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
new file mode 120000
index 000000000..f8342f9f9
--- /dev/null
+++ b/redhat/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-x11-free-3.3.6-strip.patch b/redhat/tqt3/qt-x11-free-3.3.6-strip.patch
new file mode 120000
index 000000000..7121216bc
--- /dev/null
+++ b/redhat/tqt3/qt-x11-free-3.3.6-strip.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.6-strip.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-x11-free-3.3.7-arm.patch b/redhat/tqt3/qt-x11-free-3.3.7-arm.patch
new file mode 120000
index 000000000..b7682272a
--- /dev/null
+++ b/redhat/tqt3/qt-x11-free-3.3.7-arm.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.7-arm.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-x11-free-3.3.8b-typo.patch b/redhat/tqt3/qt-x11-free-3.3.8b-typo.patch
new file mode 120000
index 000000000..4e2537345
--- /dev/null
+++ b/redhat/tqt3/qt-x11-free-3.3.8b-typo.patch
@@ -0,0 +1 @@
+../qt3/qt-x11-free-3.3.8b-typo.patch \ No newline at end of file
diff --git a/redhat/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch b/redhat/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch
new file mode 100644
index 000000000..5e5d9773a
--- /dev/null
+++ b/redhat/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch
@@ -0,0 +1,134 @@
+diff -Nur qt-x11-free-3.3.5.orig/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp qt-x11-free-3.3.5/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp
+--- qt-x11-free-3.3.5.orig/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp 2005-10-13 16:09:36.000000000 +0200
++++ qt-x11-free-3.3.5/plugins/src/inputmethods/imsw-multi/qmultiinputcontext.cpp 2005-10-13 16:09:31.000000000 +0200
+@@ -306,8 +306,8 @@
+
+ currentIMKey = key;
+
+- qDebug( "QMultiInputContext::changeInputMethod(): index=%d, slave=%s",
+- imIndex, (const char *)_slave->identifierName() );
++ /* qDebug( "QMultiInputContext::changeInputMethod(): index=%d, slave=%s",
++ imIndex, (const char *)_slave->identifierName() ); */
+ }
+ }
+
+diff -Nur qt-x11-free-3.3.5.orig/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp qt-x11-free-3.3.5/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp
+--- qt-x11-free-3.3.5.orig/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp 2005-10-13 16:09:36.000000000 +0200
++++ qt-x11-free-3.3.5/plugins/src/inputmethods/simple/qsimpleinputcontext.cpp 2005-10-13 16:09:31.000000000 +0200
+@@ -140,7 +140,7 @@
+ // only one character. See description of
+ // QInputContext::filterEvent() about key compression.
+ val = text[0].unicode();
+- qDebug( "str = %s", (const char*)keyevent->text().local8Bit() );
++ // qDebug( "str = %s", (const char*)keyevent->text().local8Bit() );
+ }
+
+ // Store value
+@@ -164,14 +164,14 @@
+
+ void QSimpleInputContext::setFocus()
+ {
+- qDebug( "QSimpleInputContext: %p->setFocus(), focusWidget()=%p",
+- this, focusWidget() );
++ /* qDebug( "QSimpleInputContext: %p->setFocus(), focusWidget()=%p",
++ this, focusWidget() ); */
+ }
+
+ void QSimpleInputContext::unsetFocus()
+ {
+- qDebug( "QSimpleInputContext: %p->unsetFocus(), focusWidget()=%p",
+- this, focusWidget() );
++ /* qDebug( "QSimpleInputContext: %p->unsetFocus(), focusWidget()=%p",
++ this, focusWidget() ); */
+ reset();
+ }
+
+@@ -188,8 +188,8 @@
+ case QEvent::MouseButtonRelease:
+ case QEvent::MouseButtonDblClick:
+ case QEvent::MouseMove:
+- qDebug( "QSimpleInputContext::mouseHandler: "
+- "x=%d, type=%d, button=%d, state=%d", x, type, button, state );
++ /* qDebug( "QSimpleInputContext::mouseHandler: "
++ "x=%d, type=%d, button=%d, state=%d", x, type, button, state ); */
+ break;
+ default:
+ break;
+@@ -240,7 +240,7 @@
+
+ // no entries were found
+ if ( p == composeTable->data + composeTable->size ) {
+- qDebug( "no match" );
++ // qDebug( "no match" );
+ clearComposeBuffer();
+ return FALSE;
+ }
+@@ -250,18 +250,18 @@
+
+ // check if partial match
+ if ( composeBuffer[i] == 0 && p->keys[i] ) {
+- qDebug("partial match");
++ // qDebug("partial match");
+ return TRUE;
+ }
+
+ if ( composeBuffer[i] != p->keys[i] ) {
+- qDebug("different entry");
++ // qDebug("different entry");
+ clearComposeBuffer();
+ return i!=0;
+ }
+ }
+
+- qDebug("match exactly");
++ // qDebug("match exactly");
+
+ // match exactly
+ commitChar( p->value );
+diff -Nur qt-x11-free-3.3.5.orig/src/kernel/qinputcontext.cpp qt-x11-free-3.3.5/src/kernel/qinputcontext.cpp
+--- qt-x11-free-3.3.5.orig/src/kernel/qinputcontext.cpp 2005-10-13 16:09:37.000000000 +0200
++++ qt-x11-free-3.3.5/src/kernel/qinputcontext.cpp 2005-10-13 16:09:31.000000000 +0200
+@@ -526,17 +526,17 @@
+ return;
+
+ if ( type == QEvent::IMStart ) {
+- qDebug( "sending IMStart with %d chars to %p",
+- text.length(), receiver );
++ /* qDebug( "sending IMStart with %d chars to %p",
++ text.length(), receiver ); */
+ event = new QIMEvent( type, text, cursorPosition );
+ } else if ( type == QEvent::IMEnd ) {
+- qDebug( "sending IMEnd with %d chars to %p, text=%s",
+- text.length(), receiver, (const char*)text.local8Bit() );
++ /* qDebug( "sending IMEnd with %d chars to %p, text=%s",
++ text.length(), receiver, (const char*)text.local8Bit() ); */
+ event = new QIMEvent( type, text, cursorPosition );
+ } else if ( type == QEvent::IMCompose ) {
+- qDebug( "sending IMCompose to %p with %d chars, cpos=%d, sellen=%d, text=%s",
++ /* qDebug( "sending IMCompose to %p with %d chars, cpos=%d, sellen=%d, text=%s",
+ receiver, text.length(), cursorPosition, selLength,
+- (const char*)text.local8Bit() );
++ (const char*)text.local8Bit() ); */
+ event = new QIMComposeEvent( type, text, cursorPosition, selLength );
+ }
+
+--- qt-x11-free-3.3.5/plugins/src/inputmethods/xim/qximinputcontext_x11.cpp.quiet 2005-10-13 19:00:56.000000000 +0200
++++ qt-x11-free-3.3.5/plugins/src/inputmethods/xim/qximinputcontext_x11.cpp 2005-10-25 15:36:43.000000000 +0200
+@@ -356,7 +356,7 @@
+ #if !defined(QT_NO_XIM)
+ fontsetRefCount++;
+ if (! qt_xim) {
+- qWarning("QInputContext: no input method context available");
++ // qWarning("QInputContext: no input method context available");
+ return;
+ }
+
+@@ -742,7 +742,7 @@
+
+ void QXIMInputContext::close( const QString &errMsg )
+ {
+- qDebug( errMsg );
++ // qDebug( errMsg );
+ emit deletionRequested();
+ }
+
diff --git a/redhat/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 b/redhat/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2
new file mode 100644
index 000000000..7c122a375
--- /dev/null
+++ b/redhat/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2
Binary files differ
diff --git a/redhat/tqt3/qt.csh b/redhat/tqt3/qt.csh
new file mode 100755
index 000000000..7efcd89c5
--- /dev/null
+++ b/redhat/tqt3/qt.csh
@@ -0,0 +1,34 @@
+# Qt initialization script (csh)
+
+# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64,
+# When a conflict is found between two packages corresponding with different arches,
+# the installed file is the one from the preferred arch. This is very common for executables
+# in /usr/bin, for example. If the file /usr/bin/foo is found in an x86_64 package and in an
+# i386 package, the executable from x86_64 will be installe
+
+if ( $?QTDIR ) then
+ exit
+endif
+
+switch (`uname -m`)
+ case x86_64:
+ case ia64:
+ case s390x:
+ case ppc64:
+ set QTPREFIXES = "/usr/lib64/qt-3.3 /usr/lib/qt-3.3"
+ breaksw
+ case *:
+ set QTPREFIXES = "/usr/lib/qt-3.3 /usr/lib64/qt-3.3"
+endsw
+
+foreach QTPREFIX ( $QTPREFIXES )
+ test -d "$QTPREFIX" && setenv QTDIR $QTPREFIX && break
+end
+unset QTPREFIX QTPREFIXES
+
+if ( "${path}" !~ *$QTDIR/bin* ) then
+ set path = ( $QTDIR/bin $path )
+endif
+
+setenv QTINC $QTDIR/include
+setenv QTLIB $QTDIR/lib
diff --git a/redhat/tqt3/qt.sh b/redhat/tqt3/qt.sh
new file mode 100755
index 000000000..88b3e0cea
--- /dev/null
+++ b/redhat/tqt3/qt.sh
@@ -0,0 +1,32 @@
+# Qt initialization script (sh)
+
+# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64,
+# When a conflict is found between two packages corresponding with different arches,
+# the installed file is the one from the preferred arch. This is very common for executables
+# in /usr/bin, for example. If the file /usr/bin/foo is found in an x86_64 package and in an
+# i386 package, the executable from x86_64 will be installe
+
+if [ -z "${QTDIR}" ]; then
+
+case `uname -m` in
+ x86_64 | ia64 | s390x | ppc64 )
+ QT_PREFIXES="/usr/lib64/qt-3.3 /usr/lib/qt-3.3" ;;
+ * )
+ QT_PREFIXES="/usr/lib/qt-3.3 /usr/lib64/qt-3.3" ;;
+esac
+
+for QTDIR in ${QT_PREFIXES} ; do
+ test -d "${QTDIR}" && break
+done
+unset QT_PREFIXES
+
+if ! echo ${PATH} | /bin/grep -q $QTDIR/bin ; then
+ PATH=$QTDIR/bin:${PATH}
+fi
+
+QTINC="$QTDIR/include"
+QTLIB="$QTDIR/lib"
+
+export QTDIR QTINC QTLIB PATH
+
+fi
diff --git a/redhat/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch b/redhat/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
new file mode 120000
index 000000000..06a4852dc
--- /dev/null
+++ b/redhat/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch
@@ -0,0 +1 @@
+../qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch \ No newline at end of file
diff --git a/redhat/tqt3/qtconfig3.desktop b/redhat/tqt3/qtconfig3.desktop
new file mode 100644
index 000000000..11df0abab
--- /dev/null
+++ b/redhat/tqt3/qtconfig3.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=Qt3 Config
+Comment=Configure Qt3 behavior, styles, fonts
+Exec=qtconfig
+Icon=qtconfig3
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Settings;
diff --git a/redhat/tqt3/tqt3-3.4.0-embed.patch b/redhat/tqt3/tqt3-3.4.0-embed.patch
new file mode 100644
index 000000000..10d7704ae
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-embed.patch
@@ -0,0 +1,10 @@
+--- tqt3/tools/qembed/qembed.pro.qembed 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/tools/qembed/qembed.pro 2012-02-13 21:26:57.417973392 +0100
+@@ -3,5 +3,7 @@
+ TARGET = qembed
+ REQUIRES=full-config nocrosscompiler
+
++DESTDIR = ../../bin
+ target.path = $$bins.path
+ INSTALLS += target
++
diff --git a/redhat/tqt3/tqt3-3.4.0-fontrendering-#214570.patch b/redhat/tqt3/tqt3-3.4.0-fontrendering-#214570.patch
new file mode 100644
index 000000000..77ca43101
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-fontrendering-#214570.patch
@@ -0,0 +1,23 @@
+--- tqt3/src/kernel/qscriptengine_x11.cpp.fontrendering-#214570 2012-02-13 21:41:17.792005290 +0100
++++ tqt3/src/kernel/qscriptengine_x11.cpp 2012-02-13 21:42:38.785202528 +0100
+@@ -1243,7 +1243,7 @@
+ int script = item->script;
+ Q_ASSERT(script >= TQFont::Devanagari && script <= TQFont::Sinhala);
+ const unsigned short script_base = 0x0900 + 0x80*(script-TQFont::Devanagari);
+- const unsigned short ra = script_base + 0x30;
++ unsigned short ra = script_base + 0x30; //it was const unsigned short ra before modification
+ const unsigned short halant = script_base + 0x4d;
+ const unsigned short nukta = script_base + 0x3c;
+
+@@ -1291,6 +1291,11 @@
+ }
+ #endif
+
++ unsigned short *chkAssamese=reordered.data();
++ if((script == TQFont::Bengali) && (*chkAssamese==0x09F0)) //if it is assamese ra
++ {
++ ra = script_base + 0x70;
++ }
+ if (len != 1) {
+ unsigned short *uc = reordered.data();
+ bool beginsWithRa = FALSE;
diff --git a/redhat/tqt3/tqt3-3.4.0-fontrendering-214371.patch b/redhat/tqt3/tqt3-3.4.0-fontrendering-214371.patch
new file mode 100644
index 000000000..9dca7998d
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-fontrendering-214371.patch
@@ -0,0 +1,15 @@
+diff -pruN qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp
+--- qt-x11-free-3.3.6.org/src/kernel/qscriptengine_x11.cpp 2006-12-04 18:47:11.000000000 +0530
++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-12-05 12:05:10.000000000 +0530
+@@ -1412,7 +1412,10 @@ static bool indic_shape_syllable(QOpenTy
+ toPos += 2;
+ if (script == QFont::Devanagari || script == QFont::Gujarati || script == QFont::Bengali) {
+ if (matra_position == Post || matra_position == Split) {
+- toPos = matra+1;
++ if (matra_position == Post )
++ toPos = matra;
++ else
++ toPos = matra+1;
+ matra -= 2;
+ }
+ } else if (script == QFont::Kannada) {
diff --git a/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch b/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch
new file mode 100644
index 000000000..cdb543b25
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch
@@ -0,0 +1,60 @@
+--- tqt3/src/kernel/qscriptengine_x11.cpp.fontrendering-ml_IN-bz#209097 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/kernel/qscriptengine_x11.cpp 2012-02-13 21:36:07.227917886 +0100
+@@ -871,7 +871,7 @@
+ None, None, None, None,
+ None, None, None, Post,
+
+- Post, None, Below, None,
++ None, None, None, None,
+ None, Post, None, None,
+ None, None, None, None,
+ None, None, Post, Post,
+@@ -1274,6 +1274,16 @@
+ int base = 0;
+ int reph = -1;
+
++ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
++ bool is_special_conjuction_malayalam = false;
++
++ if ((len == 3) &&
++ ((reordered[2] == 0x0d30) || (reordered[2] == 0x0d31)) &&
++ (reordered[1] == 0x0d4d) &&
++ ((reordered[0] >= 0x0d15) && (reordered[0] <= 0x0d39))) {
++ is_special_conjuction_malayalam = true;
++ }
++
+ #ifdef INDIC_DEBUG
+ IDEBUG("original:");
+ for (i = 0; i < len; i++) {
+@@ -1550,6 +1560,15 @@
+ reph = i;
+ }
+
++ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
++ if (is_special_conjuction_malayalam) {
++ unsigned short temp;
++
++ temp = reordered[0];
++ reordered[0] = reordered[2];
++ reordered[2] = temp;
++ }
++
+ if (item->font->stringToCMap((const TQChar *)reordered.data(), len, item->glyphs, item->advances,
+ &item->num_glyphs, item->flags & TQTextEngine::RightToLeft) != TQFontEngine::NoError)
+ return FALSE;
+@@ -1661,6 +1680,15 @@
+
+ // halant always applies
+
++ //for the special conjuctions about Cons+0d4d+0d30 and Cons+0d40+0d31 of Malayalam
++ if (is_special_conjuction_malayalam) {
++ unsigned int temp;
++
++ temp = properties[0];
++ properties[0] = ~PreSubstProperty;
++ properties[2] = temp;
++ }
++
+ #ifdef INDIC_DEBUG
+ {
+ IDEBUG("OT properties:");
diff --git a/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch b/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch
new file mode 100644
index 000000000..276441c22
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch
@@ -0,0 +1,11 @@
+--- tqt3/src/kernel/qfont_x11.cpp.fontrendering-ml_IN-217657 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/kernel/qfont_x11.cpp 2012-02-13 21:45:39.903520249 +0100
+@@ -712,7 +712,7 @@
+ if ( script >= TQFont::Arabic && script <= TQFont::Khmer ) {
+ // complex script shaping. Have to do some hard work
+ int from = TQMAX( 0, pos - 8 );
+- int to = TQMIN( (int)str.length(), pos + 8 );
++ int to = str.length();
+ TQConstString cstr( str.unicode()+from, to-from);
+ TQTextEngine layout( cstr.string(), d );
+ layout.itemize( TQTextEngine::WidthOnly );
diff --git a/redhat/tqt3/tqt3-3.4.0-nodebug.patch b/redhat/tqt3/tqt3-3.4.0-nodebug.patch
new file mode 100644
index 000000000..ccfd411ff
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-nodebug.patch
@@ -0,0 +1,15 @@
+--- tqt3/src/tools/qgpluginmanager.cpp.ndebug 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/tools/qgpluginmanager.cpp 2012-02-13 19:25:05.653477747 +0100
+@@ -506,10 +506,12 @@
+ (*f).latin1(),
+ (const char*) TQFile::encodeName( old->library() ) );
+ } else {
++/*
+ qWarning("%s: Feature %s already defined in %s!",
+ (const char*) TQFile::encodeName( old->library() ),
+ (*f).latin1(),
+ (const char*) TQFile::encodeName( plugin->library() ) );
++*/
+ }
+ }
+ }
diff --git a/redhat/tqt3/tqt3-3.4.0-odbc.patch b/redhat/tqt3/tqt3-3.4.0-odbc.patch
new file mode 100644
index 000000000..3a5aea885
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-odbc.patch
@@ -0,0 +1,18 @@
+--- tqt3/src/sql/drivers/odbc/qsql_odbc.cpp.odbc 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/sql/drivers/odbc/qsql_odbc.cpp 2012-02-13 21:47:25.232367854 +0100
+@@ -61,13 +61,13 @@
+ #endif
+
+ // newer platform SDKs use SQLLEN instead of SQLINTEGER
+-#ifdef SQLLEN
++#if defined(SQLLEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define TQSQLLEN SQLLEN
+ #else
+ # define TQSQLLEN SQLINTEGER
+ #endif
+
+-#ifdef SQLULEN
++#if defined(SQLULEN) || defined(Q_OS_WIN64) || defined(Q_OS_UNIX)
+ # define TQSQLULEN SQLULEN
+ #else
+ # define TQSQLULEN SQLUINTEGER
diff --git a/redhat/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch b/redhat/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
new file mode 100644
index 000000000..88e066aa9
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
@@ -0,0 +1,92 @@
+--- qt-x11-free-3.3.6/src/widgets/qtextedit.cpp.preedit 2006-06-28 17:18:08.000000000 +0200
++++ qt-x11-free-3.3.6/src/widgets/qtextedit.cpp 2006-06-28 17:20:09.000000000 +0200
+@@ -1906,9 +1906,6 @@
+
+ void TQTextEdit::removeSelectedText( int selNum )
+ {
+- if(selNum != 0)
+- resetInputContext();
+-
+ TQTextCursor c1 = doc->selectionStartCursor( selNum );
+ c1.restoreState();
+ TQTextCursor c2 = doc->selectionEndCursor( selNum );
+@@ -3171,7 +3168,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ TQTextParagraph *p = doc->paragAt( para );
+ if ( !p )
+ return;
+@@ -3198,7 +3194,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ for ( int i = 0; i < (int)doc->numSelections(); ++i )
+ doc->removeSelection( i );
+
+@@ -3240,7 +3235,6 @@
+ if ( d->optimMode )
+ return;
+ #endif
+- resetInputContext();
+ TQTextParagraph *p = doc->paragAt( para );
+ if ( !p )
+ return;
+@@ -3285,7 +3279,6 @@
+ if ( isReadOnly() || !doc->commands()->isUndoAvailable() || !undoEnabled )
+ return;
+
+- resetInputContext();
+ for ( int i = 0; i < (int)doc->numSelections(); ++i )
+ doc->removeSelection( i );
+
+@@ -3336,7 +3329,6 @@
+ if ( isReadOnly() || !doc->commands()->isRedoAvailable() || !undoEnabled )
+ return;
+
+- resetInputContext();
+ for ( int i = 0; i < (int)doc->numSelections(); ++i )
+ doc->removeSelection( i );
+
+@@ -3450,7 +3442,6 @@
+ {
+ if ( isReadOnly() )
+ return;
+- resetInputContext();
+ normalCopy();
+ removeSelectedText();
+ updateMicroFocusHint();
+@@ -3938,7 +3929,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ if ( !isModified() && isReadOnly() &&
+ this->context() == context && this->text() == text )
+ return;
+@@ -4112,7 +4102,6 @@
+ if ( !p )
+ return;
+
+- resetInputContext();
+ if ( index > p->length() - 1 )
+ index = p->length() - 1;
+
+@@ -4169,7 +4158,6 @@
+ return;
+ }
+ #endif
+- resetInputContext();
+ if ( doc->hasSelection( selNum ) ) {
+ doc->removeSelection( selNum );
+ repaintChanged();
+@@ -5072,7 +5060,6 @@
+ {
+ if ( dc == doc )
+ return;
+- resetInputContext();
+ doc = dc;
+ delete cursor;
+ cursor = new QTextCursor( doc );
diff --git a/redhat/tqt3/tqt3-3.4.0-quiet.patch b/redhat/tqt3/tqt3-3.4.0-quiet.patch
new file mode 100644
index 000000000..cb6080ab5
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-quiet.patch
@@ -0,0 +1,13 @@
+--- tqt3/src/kernel/qpixmap_x11.cpp.quiet 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/kernel/qpixmap_x11.cpp 2012-02-13 21:24:08.190653338 +0100
+@@ -394,8 +394,8 @@
+ {
+ #if defined(QT_CHECK_STATE)
+ if ( qApp->type() == TQApplication::Tty ) {
+- qWarning( "TQPixmap: Cannot create a TQPixmap when no GUI "
+- "is being used" );
++// qWarning( "TQPixmap: Cannot create a TQPixmap when no GUI "
++// "is being used" );
+ }
+ #endif
+
diff --git a/redhat/tqt3/tqt3-3.4.0-uic-nostdlib.patch b/redhat/tqt3/tqt3-3.4.0-uic-nostdlib.patch
new file mode 100644
index 000000000..39a42e6f5
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-uic-nostdlib.patch
@@ -0,0 +1,12 @@
+--- qt-x11-free-3.3.2/tools/designer/uic/main.cpp.sopwith 2004-06-16 17:14:17.000000000 -0400
++++ qt-x11-free-3.3.2/tools/designer/uic/main.cpp 2004-06-16 17:21:43.000000000 -0400
+@@ -149,6 +149,9 @@
+ } else {
+ trmacro = &opt[1];
+ }
++ } else if ( opt == "nostdlib") {
++ TQStringList x;
++ TQApplication::setLibraryPaths(x);
+ } else if ( opt == "L" ) {
+ if ( !(n < argc-1) ) {
+ error = "Missing plugin path.";
diff --git a/redhat/tqt3/tqt3-3.4.0-umask.patch b/redhat/tqt3/tqt3-3.4.0-umask.patch
new file mode 100644
index 000000000..9c24f9903
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0-umask.patch
@@ -0,0 +1,14 @@
+--- tqt3/src/tools/qsettings.cpp.umask 2012-02-13 19:10:01.000000000 +0100
++++ tqt3/src/tools/qsettings.cpp 2012-02-13 19:28:00.802555882 +0100
+@@ -997,7 +997,10 @@
+ #endif
+
+ TQFile file( filename + ".tmp" );
+- if (! file.open(IO_WriteOnly)) {
++ mode_t old_umask = umask(0022);
++ bool f = file.open(IO_WriteOnly);
++ umask(old_umask);
++ if (! f) {
+
+ #ifdef QT_CHECK_STATE
+ qWarning("TQSettings::sync: failed to open '%s' for writing",
diff --git a/redhat/tqt3/tqt3-3.4.0.spec b/redhat/tqt3/tqt3-3.4.0.spec
new file mode 100644
index 000000000..87d7d2bd4
--- /dev/null
+++ b/redhat/tqt3/tqt3-3.4.0.spec
@@ -0,0 +1,678 @@
+# Always install under standard prefix
+%define _prefix /usr
+
+# This allows the legacy RHEL/Fedora patches to apply in TDE version.
+%define _default_patch_fuzz 2
+
+# The following QT4 packages should NOT be installed to
+# allow QT3 compilation (please uninstall them prior to compile)
+# qt
+# qt-sqlite
+# qt-mysql
+# qt-x11
+# qt-devel
+# ...maybe others !!!!
+
+%define _default_patch_fuzz 2
+
+Summary: The shared library for the Qt 3 GUI toolkit
+Version: 3.4.0
+Release: 1%{?dist}
+Name: tqt3
+
+Obsoletes: qt < 1:%{version}-%{release}
+Provides: qt = 1:%{version}-%{release}
+Obsoletes: qt3 < 1:%{version}-%{release}
+Provides: qt3 = 1:%{version}-%{release}
+
+License: QPL or GPLv2 or GPLv3
+Group: System Environment/Libraries
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Url: http://www.troll.no
+Source0: %{name}-%{version}.tar.gz
+Source2: qt.sh
+Source3: qt.csh
+Source4: designer3.desktop
+Source5: assistant3.desktop
+Source6: linguist3.desktop
+Source7: qtconfig3.desktop
+
+Patch1: qt-3.3.4-print-CJK.patch
+Patch2: tqt3-3.4.0-nodebug.patch
+Patch3: qt-3.1.0-makefile.patch
+Patch4: tqt3-3.4.0-umask.patch
+Patch5: qt-x11-free-3.3.6-strip.patch
+Patch7: tqt3-3.4.0-quiet.patch
+Patch8: tqt3-3.4.0-embed.patch
+Patch12: tqt3-3.4.0-uic-nostdlib.patch
+Patch13: qt-x11-free-3.3.6-qfontdatabase_x11.patch
+Patch27: tqt3-3.4.0-fontrendering-ml_IN-209097.patch
+Patch29: qt-3.3.8-fontrendering-as_IN-209972.patch
+Patch31: qt-3.3.6-fontrendering-te_IN-211259.patch
+Patch32: tqt3-3.4.0-fontrendering-214371.patch
+Patch33: tqt3-3.4.0-fontrendering-#214570.patch
+Patch34: qt-3.3.6-fontrendering-ml_IN-209974.patch
+Patch35: tqt3-3.4.0-fontrendering-ml_IN-217657.patch
+Patch37: qt-3.3.6-fontrendering-gu-228452.patch
+Patch38: tqt3-3.4.0-odbc.patch
+Patch39: qt-x11-free-3.3.7-arm.patch
+Patch40: qt-x11-free-3.3.8b-typo.patch
+
+# immodule patches
+Patch53: tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch
+
+# qt-copy patches
+Patch110: 0084-compositing-properties.patch
+
+# upstream patches
+Patch200: qt-x11-free-3.3.4-fullscreen.patch
+
+# TDE 3.5.13 patches
+Patch300: qt3-3.3.8.d-updates_zh-tw_translations.patch
+
+%define qt_dirname qt-3.3
+%define qtdir %{_libdir}/%{qt_dirname}
+%define qt_docdir %{_docdir}/qt-devel-%{version}
+
+%define smp 1
+%define immodule 1
+%define debug 0
+
+# MySQL plugins
+%define plugin_mysql -plugin-sql-mysql
+%define mysql_include_dir %{_includedir}/mysql
+%define mysql_lib_dir %{_libdir}/mysql
+
+# Postgres plugins
+%define plugin_psql -plugin-sql-psql
+
+# ODBC plugins
+%define plugin_odbc -plugin-sql-odbc
+
+# sqlite plugins
+%define plugin_sqlite -plugin-sql-sqlite
+
+%define plugins_style -qt-style-cde -qt-style-motifplus -qt-style-platinum -qt-style-sgi -qt-style-windows -qt-style-compact -qt-imgfmt-png -qt-imgfmt-jpeg -qt-imgfmt-mng
+%define plugins %{plugin_mysql} %{plugin_psql} %{plugin_odbc} %{plugin_sqlite} %{plugins_style}
+
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Requires: coreutils
+Requires: fontconfig >= 2.0
+Requires: /etc/ld.so.conf.d
+
+BuildRequires: desktop-file-utils
+BuildRequires: libmng-devel
+BuildRequires: glibc-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: zlib-devel
+BuildRequires: giflib-devel
+BuildRequires: perl
+BuildRequires: sed
+BuildRequires: findutils
+BuildRequires: cups-devel
+BuildRequires: tar
+BuildRequires: freetype-devel
+BuildRequires: fontconfig-devel
+BuildRequires: libXrender-devel
+BuildRequires: libXrandr-devel
+BuildRequires: libXcursor-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXft-devel
+BuildRequires: libXext-devel
+BuildRequires: libX11-devel
+BuildRequires: libSM-devel
+BuildRequires: libICE-devel
+BuildRequires: libXt-devel
+BuildRequires: libXmu-devel
+BuildRequires: libXi-devel
+BuildRequires: xorg-x11-proto-devel
+BuildRequires: mesa-libGL-devel
+BuildRequires: mesa-libGLU-devel
+BuildRequires: desktop-file-utils
+BuildRequires: mysql-devel
+BuildRequires: postgresql-devel
+BuildRequires: unixODBC-devel
+BuildRequires: sqlite-devel
+
+
+%package config
+Summary: Graphical configuration tool for programs using Qt 3
+Group: User Interface/Desktops
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+Obsoletes: qt-config < 1:%{version}-%{release}
+Provides: qt-config = 1:%{version}-%{release}
+Obsoletes: qt3-config < 1:%{version}-%{release}
+Provides: qt3-config = 1:%{version}-%{release}
+
+
+%package devel
+Summary: Development files for the Qt 3 GUI toolkit
+Group: Development/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+Requires: freetype-devel
+Requires: fontconfig-devel
+Requires: libXrender-devel
+Requires: libXrandr-devel
+Requires: libXcursor-devel
+Requires: libXinerama-devel
+Requires: libXft-devel
+Requires: libXext-devel
+Requires: libX11-devel
+Requires: libSM-devel
+Requires: libICE-devel
+Requires: libXt-devel
+Requires: xorg-x11-proto-devel
+Requires: libpng-devel
+Requires: libjpeg-devel
+Requires: libmng-devel
+Requires: mesa-libGL-devel
+Requires: mesa-libGLU-devel
+
+Obsoletes: qt-devel < 1:%{version}-%{release}
+Provides: qt-devel = 1:%{version}-%{release}
+Obsoletes: qt3-devel < 1:%{version}-%{release}
+Provides: qt3-devel = 1:%{version}-%{release}
+
+
+%package devel-docs
+Summary: Documentation for the Qt 3 GUI toolkit
+Group: Development/Libraries
+Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
+
+Obsoletes: qt-devel-docs < 1:%{version}-%{release}
+Provides: qt-devel-docs = 1:%{version}-%{release}
+Obsoletes: qt3-devel-docs < 1:%{version}-%{release}
+Provides: qt3-devel-docs = 1:%{version}-%{release}
+
+
+%package ODBC
+Summary: ODBC drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+Obsoletes: qt-ODBC < 1:%{version}-%{release}
+Provides: qt-ODBC = 1:%{version}-%{release}
+Obsoletes: qt3-ODBC < 1:%{version}-%{release}
+Provides: qt3-ODBC = 1:%{version}-%{release}
+
+
+%package MySQL
+Summary: MySQL drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+Obsoletes: qt-MySQL < 1:%{version}-%{release}
+Provides: qt-MySQL = 1:%{version}-%{release}
+Obsoletes: qt3-MySQL < 1:%{version}-%{release}
+Provides: qt3-MySQL = 1:%{version}-%{release}
+
+
+%package PostgreSQL
+Summary: PostgreSQL drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+Obsoletes: qt-PostgreSQL < 1:%{version}-%{release}
+Provides: qt-PostgreSQL = 1:%{version}-%{release}
+Obsoletes: qt3-PostgreSQL < 1:%{version}-%{release}
+Provides: qt3-PostgreSQL = 1:%{version}-%{release}
+
+
+%package sqlite
+Summary: sqlite drivers for Qt 3's SQL classes
+Group: System Environment/Libraries
+Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
+
+Obsoletes: qt-sqlite < 1:%{version}-%{release}
+Provides: qt-sqlite = 1:%{version}-%{release}
+Obsoletes: qt3-sqlite < 1:%{version}-%{release}
+Provides: qt3-sqlite = 1:%{version}-%{release}
+
+
+%package designer
+Summary: In3erface designer (IDE) for the Qt 3 toolkit
+Group: Development/Tools
+Requires: %{name}-devel = %{?epoch:%{epoch}:}%{version}-%{release}
+
+Obsoletes: qt-designer < 1:%{version}-%{release}
+Provides: qt-designer = 1:%{version}-%{release}
+Obsoletes: qt3-designer < 1:%{version}-%{release}
+Provides: qt3-designer = 1:%{version}-%{release}
+
+
+%description
+Qt is a GUI software toolkit which simplifies the task of writing and
+maintaining GUI (Graphical User Interface) applications
+for the X Window System.
+
+Qt is written in C++ and is fully object-oriented.
+
+This package contains the shared library needed to run Qt 3
+applications, as well as the README files for Qt 3.
+
+
+%description config
+Qt is a GUI software toolkit which simplifies the task of writing and
+maintaining GUI (Graphical User Interface) applications
+for the X Window System.
+
+Qt is written in C++ and is fully object-oriented.
+
+This package contains a graphical configuration tool for programs using Qt 3.
+
+
+%description devel
+The %{name}-devel package contains the files necessary to develop
+applications using the Qt GUI toolkit: the header files, the Qt meta
+object compiler.
+
+Install %{name}-devel if you want to develop GUI applications using the Qt 3
+toolkit.
+
+
+%description devel-docs
+The %{name}-devel-docs package contains the man pages, the HTML documentation and
+example programs for Qt 3.
+
+
+%description ODBC
+ODBC driver for Qt 3's SQL classes (QSQL)
+
+
+%description MySQL
+MySQL driver for Qt 3's SQL classes (QSQL)
+
+
+%description PostgreSQL
+PostgreSQL driver for Qt 3's SQL classes (QSQL)
+
+
+%description sqlite
+sqlite driver for Qt 3's SQL classes (QSQL)
+
+
+%description designer
+The %{name}-designer package contains an User Interface designer tool
+for the Qt 3 toolkit.
+
+
+%prep
+%setup -q -n %{name}
+%patch1 -p1 -b .cjk
+%patch2 -p1 -b .ndebug
+%patch3 -p1 -b .makefile
+%patch4 -p1 -b .umask
+%patch5 -p1
+%patch7 -p1 -b .quiet
+%patch8 -p1 -b .qembed
+%patch12 -p1 -b .nostdlib
+%patch13 -p1 -b .fonts
+%patch27 -p1 -b .fontrendering-ml_IN-bz#209097
+%patch29 -p1 -b .fontrendering-as_IN-bz#209972
+%patch31 -p1 -b .fontrendering-te_IN-bz#211259
+%patch32 -p1 -b .fontrendering-bz#214371
+%patch33 -p1 -b .fontrendering-#214570
+%patch34 -p1 -b .fontrendering-#209974
+%patch35 -p1 -b .fontrendering-ml_IN-217657
+%patch37 -p1 -b .fontrendering-gu-228452
+%patch38 -p1 -b .odbc
+# it's not 100% clear to me if this is safe for all archs -- Rex
+%ifarch armv5tel
+%patch39 -p1 -b .arm
+%endif
+%patch40 -p1
+
+# immodule patches
+%if %{immodule}
+%patch53 -p1 -b .resetinputcontext
+%endif
+
+# qt-copy patches
+%patch110 -p0 -b .0084-compositing-properties
+
+# upstream patches
+%patch200 -p1 -b .fullscreen
+
+# TDE 3.5.13 patches
+%patch300 -p1
+
+# convert to UTF-8
+iconv -f iso-8859-1 -t utf-8 < doc/man/man3/qdial.3qt > doc/man/man3/qdial.3qt_
+mv doc/man/man3/qdial.3qt_ doc/man/man3/qdial.3qt
+
+%build
+export QTDIR=`/bin/pwd`
+export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
+export PATH="$QTDIR/bin:$PATH"
+export QTDEST=%{qtdir}
+
+%if %{smp}
+ export SMP_MFLAGS="%{?_smp_mflags}"
+%endif
+
+%if %{immodule}
+ sh ./make-symlinks.sh
+%endif
+
+# set correct X11 prefix
+perl -pi -e "s,QMAKE_LIBDIR_X11.*,QMAKE_LIBDIR_X11\t=," mkspecs/*/qmake.conf
+perl -pi -e "s,QMAKE_INCDIR_X11.*,QMAKE_INCDIR_X11\t=," mkspecs/*/qmake.conf
+perl -pi -e "s,QMAKE_INCDIR_OPENGL.*,QMAKE_INCDIR_OPENGL\t=," mkspecs/*/qmake.conf
+perl -pi -e "s,QMAKE_LIBDIR_OPENGL.*,QMAKE_LIBDIR_OPENGL\t=," mkspecs/*/qmake.conf
+
+# don't use rpath
+perl -pi -e "s|-Wl,-rpath,| |" mkspecs/*/qmake.conf
+
+perl -pi -e "s|-O2|$INCLUDES %{optflags} -fno-strict-aliasing|g" mkspecs/*/qmake.conf
+
+# set correct lib path
+if [ "%{_lib}" == "lib64" ] ; then
+ perl -pi -e "s,/usr/lib /lib,/usr/%{_lib} /%{_lib},g" config.tests/{unix,x11}/*.test
+ perl -pi -e "s,/lib /usr/lib,/%{_lib} /usr/%{_lib},g" config.tests/{unix,x11}/*.test
+fi
+
+# build shared, threaded (default) libraries
+echo yes | ./configure \
+ -prefix $QTDEST \
+ -docdir %{qt_docdir} \
+%if %{_lib} == lib64
+ -platform linux-g++-64 \
+%else
+ -platform linux-g++ \
+%endif
+%if %{debug}
+ -debug \
+%else
+ -release \
+%endif
+ -shared \
+ -largefile \
+ -qt-gif \
+ -system-zlib \
+ -system-libpng \
+ -system-libmng \
+ -system-libjpeg \
+ -no-exceptions \
+ -enable-styles \
+ -enable-tools \
+ -enable-kernel \
+ -enable-widgets \
+ -enable-dialogs \
+ -enable-iconview \
+ -enable-workspace \
+ -enable-network \
+ -enable-canvas \
+ -enable-table \
+ -enable-xml \
+ -enable-opengl \
+ -enable-sql \
+ -qt-style-motif \
+ %{plugins} \
+ -stl \
+ -thread \
+ -cups \
+ -sm \
+ -xinerama \
+ -xrender \
+ -xkb \
+ -ipv6 \
+ -dlopen-opengl \
+ -xft \
+ -tablet
+
+make $SMP_MFLAGS src-qmake
+
+# build sqlite plugin
+pushd plugins/src/sqldrivers/sqlite
+qmake -o Makefile sqlite.pro
+popd
+
+# build psql plugin
+pushd plugins/src/sqldrivers/psql
+qmake -o Makefile "INCLUDEPATH+=%{_includedir}/pgsql %{_includedir}/pgsql/server %{_includedir}/pgsql/internal" "LIBS+=-lpq" psql.pro
+popd
+
+# build mysql plugin
+pushd plugins/src/sqldrivers/mysql
+qmake -o Makefile "INCLUDEPATH+=%{mysql_include_dir}" "LIBS+=-L%{mysql_lib_dir} -lmysqlclient" mysql.pro
+popd
+
+# build odbc plugin
+pushd plugins/src/sqldrivers/odbc
+qmake -o Makefile "LIBS+=-lodbc" odbc.pro
+popd
+
+make $SMP_MFLAGS src-moc
+make $SMP_MFLAGS sub-src
+make $SMP_MFLAGS sub-tools UIC="$QTDIR/bin/uic -nostdlib -L $QTDIR/plugins"
+
+%install
+rm -rf %{buildroot}
+
+export QTDIR=`/bin/pwd`
+export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
+export PATH="$QTDIR/bin:$PATH"
+export QTDEST=%{qtdir}
+
+make install INSTALL_ROOT=%{buildroot}
+
+for i in findtr qt20fix qtrename140 lrelease lupdate ; do
+ install bin/$i %{buildroot}%{qtdir}/bin/
+done
+
+mkdir -p %{buildroot}%{_libdir}/pkgconfig/
+mv %{buildroot}%{qtdir}/lib/pkgconfig/*.pc %{buildroot}%{_libdir}/pkgconfig/
+
+# install man pages
+mkdir -p %{buildroot}%{_mandir}
+cp -fR doc/man/* %{buildroot}%{_mandir}/
+
+# clean up
+make -C tutorial clean
+make -C examples clean
+
+# Make sure the examples can be built outside the source tree.
+# Our binaries fulfill all requirements, so...
+perl -pi -e "s,^DEPENDPATH.*,,g;s,^REQUIRES.*,,g" `find examples -name "*.pro"`
+
+# don't include Makefiles of qt examples/tutorials
+find examples -name "Makefile" | xargs rm -f
+find examples -name "*.obj" | xargs rm -rf
+find examples -name "*.moc" | xargs rm -rf
+find tutorial -name "Makefile" | xargs rm -f
+
+for a in */*/Makefile ; do
+ sed 's|^SYSCONF_MOC.*|SYSCONF_MOC = %{qtdir}/bin/moc|' < $a > ${a}.2
+ mv -v ${a}.2 $a
+done
+
+mkdir -p %{buildroot}/etc/profile.d
+install -m 644 %{SOURCE2} %{SOURCE3} %{buildroot}/etc/profile.d/
+
+# Add desktop files
+mkdir -p %{buildroot}%{_datadir}/applications
+desktop-file-install \
+ --dir %{buildroot}%{_datadir}/applications \
+ --vendor="qt" \
+ %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7}
+
+# Patch qmake to use qt-mt unconditionally
+perl -pi -e "s,-lqt ,-lqt-mt ,g;s,-lqt$,-lqt-mt,g" %{buildroot}%{qtdir}/mkspecs/*/qmake.conf
+
+# remove broken links
+rm -f %{buildroot}%{qtdir}/mkspecs/default/linux-g++*
+rm -f %{buildroot}%{qtdir}/lib/*.la
+
+mkdir -p %{buildroot}/etc/ld.so.conf.d
+echo "%{qtdir}/lib" > %{buildroot}/etc/ld.so.conf.d/qt-%{_arch}.conf
+
+# install icons
+mkdir %{buildroot}%{_datadir}/pixmaps
+install -m 644 tools/assistant/images/qt.png %{buildroot}%{_datadir}/pixmaps/qtconfig3.png
+install -m 644 tools/assistant/images/designer.png %{buildroot}%{_datadir}/pixmaps/designer3.png
+install -m 644 tools/assistant/images/assistant.png %{buildroot}%{_datadir}/pixmaps/assistant3.png
+install -m 644 tools/assistant/images/linguist.png %{buildroot}%{_datadir}/pixmaps/linguist3.png
+
+# own style directory
+mkdir -p %{buildroot}%{qtdir}/plugins/styles
+
+%clean
+rm -rf %{buildroot}
+
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root,-)
+%doc FAQ LICENSE* README* changes*
+%dir %{qtdir}
+%dir %{qtdir}/bin
+%dir %{qtdir}/lib
+%dir %{qtdir}/plugins
+%dir %{qtdir}/plugins/sqldrivers
+%dir %{qtdir}/plugins/styles
+%{qtdir}/translations
+%{qtdir}/plugins/designer/
+%if %{immodule}
+%{qtdir}/plugins/inputmethods
+%endif
+%config /etc/profile.d/*
+/etc/ld.so.conf.d/*
+%{qtdir}/lib/libtqui.so.*
+%{qtdir}/lib/libtqt*.so.*
+
+# TQT 3.4.0: WTF is this file ??
+%exclude %{_mandir}/README
+
+%files config
+%defattr(-,root,root,-)
+%{qtdir}/bin/qtconfig
+%{_datadir}/applications/*qtconfig*.desktop
+%{_datadir}/pixmaps/qtconfig3.png
+
+%files devel
+%defattr(-,root,root,-)
+%{qt_docdir}/
+%{qtdir}/bin/moc
+%{qtdir}/bin/uic
+%{qtdir}/bin/findtr
+%{qtdir}/bin/qt20fix
+%{qtdir}/bin/qtrename140
+%{qtdir}/bin/assistant
+%{qtdir}/bin/qm2ts
+%{qtdir}/bin/qmake
+%{qtdir}/bin/qembed
+%{qtdir}/bin/linguist
+%{qtdir}/bin/lupdate
+%{qtdir}/bin/lrelease
+%{qtdir}/include
+%{qtdir}/mkspecs
+%{qtdir}/lib/libtqt*.so
+%{qtdir}/lib/libtqui.so
+%{qtdir}/lib/libeditor.a
+%{qtdir}/lib/libdesigner*.a
+%{qtdir}/lib/libqassistantclient.a
+%{qtdir}/lib/*.prl
+%{qtdir}/phrasebooks
+%{_libdir}/pkgconfig/*
+%{_datadir}/applications/*linguist*.desktop
+%{_datadir}/applications/*assistant*.desktop
+%{_datadir}/pixmaps/linguist3.png
+%{_datadir}/pixmaps/assistant3.png
+
+# QT 3.3.8.D (TDE): 4 binaries have appeared
+%{qtdir}/bin/createcw
+%{qtdir}/bin/makeqpf
+%{qtdir}/bin/mergetr
+%{qtdir}/bin/msg2qm
+
+# QT 3.3.8.D (TDE): removes lots of unnecessary include files
+# (where do they come from ??? They were not in 3.3.8b !)
+%exclude %{qtdir}/include/btree.h
+%exclude %{qtdir}/include/crc32.h
+%exclude %{qtdir}/include/debian_qsql_odbc.h
+%exclude %{qtdir}/include/deflate.h
+%exclude %{qtdir}/include/ftglue.h
+%exclude %{qtdir}/include/ftxgdef.h
+%exclude %{qtdir}/include/ftxgpos.h
+%exclude %{qtdir}/include/ftxgsub.h
+%exclude %{qtdir}/include/ftxopen.h
+%exclude %{qtdir}/include/ftxopenf.h
+%exclude %{qtdir}/include/hash.h
+%exclude %{qtdir}/include/inffast.h
+%exclude %{qtdir}/include/inffixed.h
+%exclude %{qtdir}/include/inflate.h
+%exclude %{qtdir}/include/inftrees.h
+%exclude %{qtdir}/include/jchuff.h
+%exclude %{qtdir}/include/jconfig.h
+%exclude %{qtdir}/include/jdct.h
+%exclude %{qtdir}/include/jdhuff.h
+%exclude %{qtdir}/include/jerror.h
+%exclude %{qtdir}/include/jinclude.h
+%exclude %{qtdir}/include/jmemsys.h
+%exclude %{qtdir}/include/jmorecfg.h
+%exclude %{qtdir}/include/jversion.h
+%exclude %{qtdir}/include/moc_yacc.h
+%exclude %{qtdir}/include/opcodes.h
+%exclude %{qtdir}/include/os.h
+%exclude %{qtdir}/include/otlbuffer.h
+%exclude %{qtdir}/include/pager.h
+%exclude %{qtdir}/include/parse.h
+%exclude %{qtdir}/include/pngasmrd.h
+%exclude %{qtdir}/include/pngconf.h
+%exclude %{qtdir}/include/sqlite.h
+%exclude %{qtdir}/include/sqliteInt.h
+%exclude %{qtdir}/include/trees.h
+%exclude %{qtdir}/include/vdbe.h
+%exclude %{qtdir}/include/vdbeInt.h
+%exclude %{qtdir}/mkspecs/linux-g++-sparc
+
+%files devel-docs
+%defattr(-,root,root,-)
+%doc examples
+%doc tutorial
+%{_mandir}/*/*
+
+%files sqlite
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlite.so
+
+%files ODBC
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlodbc.so
+
+%files PostgreSQL
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlpsql.so
+
+%files MySQL
+%defattr(-,root,root,-)
+%{qtdir}/plugins/sqldrivers/libqsqlmysql.so
+
+%files designer
+%defattr(-,root,root,-)
+%{qtdir}/templates
+%{qtdir}/bin/designer
+%{_datadir}/applications/*designer*.desktop
+%{_datadir}/pixmaps/designer3.png
+
+
+%changelog
+* Mon Feb 13 2012 Francois Andriot <francois.andriot@free.fr> - 3.4.0-1
+- Initial build for TDE R14
+- Renames 'qt3' to 'tqt3'
+- Spec file based on 'qt3-3.3.8b-30' from RHEL 6
+
+* Sun Dec 18 2011 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-3
+- Updates zh_TW translations, thanks to Wei-Lun Chao .
+
+* Thu Nov 03 2011 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-2
+- Add missing BuildRequires
+
+* Fri Sep 02 2011 Francois Andriot <francois.andriot@free.fr> - 3.3.8.d-1
+- Initial build for RHEL 6, RHEL 5, and Fedora 15
+- Switch to Trinity Version
+- Spec file based on RHEL 6 'qt3-3.3.8b-29'