diff options
Diffstat (limited to 'redhat/dependencies')
64 files changed, 2916 insertions, 0 deletions
diff --git a/redhat/dependencies/qt3/0084-compositing-properties.patch b/redhat/dependencies/qt3/0084-compositing-properties.patch new file mode 100644 index 000000000..368b6c267 --- /dev/null +++ b/redhat/dependencies/qt3/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/dependencies/qt3/assistant3.desktop b/redhat/dependencies/qt3/assistant3.desktop new file mode 100644 index 000000000..49e718c5d --- /dev/null +++ b/redhat/dependencies/qt3/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/dependencies/qt3/designer3.desktop b/redhat/dependencies/qt3/designer3.desktop new file mode 100644 index 000000000..23f1f549a --- /dev/null +++ b/redhat/dependencies/qt3/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/dependencies/qt3/linguist3.desktop b/redhat/dependencies/qt3/linguist3.desktop new file mode 100644 index 000000000..c6fce02c8 --- /dev/null +++ b/redhat/dependencies/qt3/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/dependencies/qt3/qt-3.0.5-nodebug.patch b/redhat/dependencies/qt3/qt-3.0.5-nodebug.patch new file mode 100644 index 000000000..09d697fb4 --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.0.5-nodebug.patch @@ -0,0 +1,15 @@ +--- qt-x11-free-3.0.5/src/tools/qgpluginmanager.cpp.bero 2002-08-21 15:16:19.000000000 +0200 ++++ qt-x11-free-3.0.5/src/tools/qgpluginmanager.cpp 2002-08-21 15:16:41.000000000 +0200 +@@ -501,10 +501,10 @@ + (*f).latin1(), + (const char*) QFile::encodeName( old->library() ) ); + } else { +- qWarning("%s: Feature %s already defined in %s!", ++/* qWarning("%s: Feature %s already defined in %s!", + (const char*) QFile::encodeName( old->library() ), + (*f).latin1(), +- (const char*) QFile::encodeName( plugin->library() ) ); ++ (const char*) QFile::encodeName( plugin->library() ) ); */ + } + } + } diff --git a/redhat/dependencies/qt3/qt-3.1.0-makefile.patch b/redhat/dependencies/qt3/qt-3.1.0-makefile.patch new file mode 100644 index 000000000..009ab81fb --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.1.0-makefile.patch @@ -0,0 +1,11 @@ +--- qt-x11-free-3.1.0/Makefile.orig 2002-11-14 15:44:17.000000000 +0100 ++++ qt-x11-free-3.1.0/Makefile 2002-11-14 15:49:33.000000000 +0100 +@@ -11,7 +11,7 @@ + install: FORCE + @$(MAKE) qt.install + +-all: symlinks src-qmake src-moc sub-src sub-tools sub-tutorial sub-examples ++all: symlinks src-qmake src-moc sub-src sub-tools + @echo + @echo "The Qt library is now built in ./lib" + @echo "The Qt examples are built in the directories in ./examples" diff --git a/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch b/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch new file mode 100644 index 000000000..5bd5e9e0a --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.4-print-CJK.patch @@ -0,0 +1,18 @@ +--- qt-x11-free-3.3.4/src/kernel/qpsprinter.cpp.cjk 2005-01-21 18:16:11.000000000 +0100 ++++ qt-x11-free-3.3.4/src/kernel/qpsprinter.cpp 2005-01-26 15:09:20.911239907 +0100 +@@ -4748,10 +4748,11 @@ + + // GB18030 fonts on Turbolinux + static const psfont SongGBK2K [] = { +- { "MSung-Light-GBK2K-H", 0, 100. }, +- { "MSung-Italic-GBK2K-H", 0, 100. }, +- { "MSung-Bold-GBK2K-H", 0, 100. }, +- { "MSung-BoldItalic-GBK2K-H", 0, 100. }, ++ { "MSungGBK-Light-GBK2K-H", 0, 100. }, ++ { "MSungGBK-Light-GBK2K-H", 0, 100. }, ++ { "MSungGBK-Light-GBK2K-H", 0, 100. }, ++ { "MSungGBK-Light-GBK2K-H", 0, 100. }, ++ + }; + static const psfont KaiGBK2K [] = { + { "MKai-Medium-GBK2K-H", 0, 100. }, diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-214371.patch new file mode 100644 index 000000000..9dca7998d --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.6-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/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch new file mode 100644 index 000000000..21081d1a6 --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-gu-228452.patch @@ -0,0 +1,12 @@ +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 2007-02-13 14:41:25.000000000 +0530 ++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2007-02-13 14:40:02.000000000 +0530 +@@ -253,7 +253,7 @@ static const unsigned char indicForms[0x + Unknown, Unknown, Unknown, Unknown, + Unknown, Unknown, Unknown, Unknown, + +- Other, Other, Other, Other, ++ Other, Other, VowelMark, VowelMark, + Other, Other, Other, Other, + Other, Other, Other, Other, + Other, Other, Other, Other, diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch new file mode 100644 index 000000000..01f3824c1 --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch @@ -0,0 +1,60 @@ +--- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.bak 2006-10-13 13:21:37.000000000 +0800 ++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-10-13 13:57:36.000000000 +0800 +@@ -868,7 +868,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, +@@ -1271,6 +1271,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++) { +@@ -1547,6 +1557,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 QChar *)reordered.data(), len, item->glyphs, item->advances, + &item->num_glyphs, item->flags & QTextEngine::RightToLeft) != QFontEngine::NoError) + return FALSE; +@@ -1658,6 +1677,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/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch new file mode 100644 index 000000000..8dbb2ae98 --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch @@ -0,0 +1,11 @@ +--- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.orig 2006-11-29 17:17:26.000000000 +0100 ++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-11-29 17:22:34.000000000 +0100 +@@ -864,7 +864,7 @@ + None, None, None, Post, + + None, None, None, None, +- None, Post, None, None, ++ None, None, None, None, + None, None, None, None, + None, None, Post, Post, + diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch new file mode 100644 index 000000000..eb880b1cc --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch @@ -0,0 +1,12 @@ +diff -pruN qt-x11-free-3.3.6.org/src/kernel/qfont_x11.cpp qt-x11-free-3.3.6/src/kernel/qfont_x11.cpp +--- qt-x11-free-3.3.6.org/src/kernel/qfont_x11.cpp 2006-03-08 00:00:00.000000000 +0530 ++++ qt-x11-free-3.3.6/src/kernel/qfont_x11.cpp 2006-12-04 18:49:09.000000000 +0530 +@@ -709,7 +709,7 @@ int QFontMetrics::charWidth( const QStri + if ( script >= QFont::Arabic && script <= QFont::Khmer ) { + // complex script shaping. Have to do some hard work + int from = QMAX( 0, pos - 8 ); +- int to = QMIN( (int)str.length(), pos + 8 ); ++ int to = str.length(); + QConstString cstr( str.unicode()+from, to-from); + QTextEngine layout( cstr.string(), d ); + layout.itemize( QTextEngine::WidthOnly ); diff --git a/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch new file mode 100644 index 000000000..eb3868c96 --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch @@ -0,0 +1,11 @@ +--- qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp.bak 2006-10-18 17:55:23.000000000 +0800 ++++ qt-x11-free-3.3.6/src/kernel/qscriptengine_x11.cpp 2006-10-19 16:42:31.641160984 +0800 +@@ -786,7 +786,7 @@ + Below, None, Below, Below, + Below, Below, Below, Below, + +- Below, None, Below, Below, ++ Below, Below, Below, Below, + None, Below, Below, Below, + Below, Below, None, None, + None, None, Post, Above, diff --git a/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch new file mode 100644 index 000000000..41a74fba7 --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-#214570.patch @@ -0,0 +1,23 @@ +--- qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp.orig 2007-04-11 15:05:34.000000000 +0200 ++++ qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp 2007-04-11 15:22:19.000000000 +0200 +@@ -1240,7 +1240,7 @@ + int script = item->script; + Q_ASSERT(script >= QFont::Devanagari && script <= QFont::Sinhala); + const unsigned short script_base = 0x0900 + 0x80*(script-QFont::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; + +@@ -1278,6 +1278,11 @@ + } + #endif + ++ unsigned short *chkAssamese=reordered.data(); ++ if((script == QFont::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/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch new file mode 100644 index 000000000..7583239cc --- /dev/null +++ b/redhat/dependencies/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch @@ -0,0 +1,11 @@ +--- qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp.orig 2007-04-11 15:05:34.000000000 +0200 ++++ qt-x11-free-3.3.8/src/kernel/qscriptengine_x11.cpp 2007-04-11 15:22:19.000000000 +0200 +@@ -601,7 +601,7 @@ + None, None, None, None, + None, None, None, None, + +- None, None, None, None, ++ Below, None, None, None, + None, None, None, None, + None, None, None, None, + None, None, None, None, diff --git a/redhat/dependencies/qt3/qt-uic-nostdlib.patch b/redhat/dependencies/qt3/qt-uic-nostdlib.patch new file mode 100644 index 000000000..02a40b225 --- /dev/null +++ b/redhat/dependencies/qt3/qt-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") { ++ QStringList x; ++ QApplication::setLibraryPaths(x); + } else if ( opt == "L" ) { + if ( !(n < argc-1) ) { + error = "Missing plugin path."; diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch new file mode 100644 index 000000000..6dce7aa80 --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.2-quiet.patch @@ -0,0 +1,14 @@ +--- qt-x11-free-3.3.2/src/kernel/qpixmap_x11.cpp.orig 2004-05-10 13:54:03.592289052 +0200 ++++ qt-x11-free-3.3.2/src/kernel/qpixmap_x11.cpp 2004-05-10 13:56:10.165560473 +0200 +@@ -288,8 +288,9 @@ + { + #if defined(QT_CHECK_STATE) + if ( qApp->type() == QApplication::Tty ) { +- qWarning( "QPixmap: Cannot create a QPixmap when no GUI " +- "is being used" ); ++// qWarning( "QPixmap: Cannot create a QPixmap when no GUI " ++// "is being used" ); ++ ; + } + #endif + diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch new file mode 100644 index 000000000..0d03f0809 --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.4-fullscreen.patch @@ -0,0 +1,11 @@ +--- qt-x11-free-3.3.3/src/kernel/qapplication_x11.cpp.orig 2004-11-09 18:57:15.012843629 +0100 ++++ qt-x11-free-3.3.3/src/kernel/qapplication_x11.cpp 2004-11-09 19:02:31.351637807 +0100 +@@ -1412,7 +1412,7 @@ + False, XA_ATOM, &type, &format, &nitems, &after, &data); + + if (type == XA_ATOM && format == 32) { +- ts.writeBlock((const char *) data, nitems * 4); ++ ts.writeBlock((const char *) data, nitems * sizeof(long)); + offset += nitems; + } else + after = 0; diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch new file mode 100644 index 000000000..a9cfaf4c3 --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch @@ -0,0 +1,11 @@ +--- qt-x11-free-3.3.6/src/kernel/qfontdatabase_x11.cpp.fonts 2004-08-05 16:42:06.000000000 +0200 ++++ qt-x11-free-3.3.6/src/kernel/qfontdatabase_x11.cpp 2004-09-28 16:11:54.955374161 +0200 +@@ -975,7 +981,7 @@ + }; + const XftDefaultFont defaults[] = { + { "Serif", "serif", FALSE }, +- { "Sans Serif", "sans-serif", FALSE }, ++ { "Sans", "sans-serif", FALSE }, + { "Monospace", "monospace", TRUE }, + { 0, 0, FALSE } + }; diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch new file mode 100644 index 000000000..24982206d --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-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 QTextEdit::removeSelectedText( int selNum ) + { +- if(selNum != 0) +- resetInputContext(); +- + QTextCursor c1 = doc->selectionStartCursor( selNum ); + c1.restoreState(); + QTextCursor c2 = doc->selectionEndCursor( selNum ); +@@ -3171,7 +3168,6 @@ + return; + } + #endif +- resetInputContext(); + QTextParagraph *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(); + QTextParagraph *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/dependencies/qt3/qt-x11-free-3.3.6-strip.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch new file mode 100644 index 000000000..efc24c8a1 --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.6-strip.patch @@ -0,0 +1,36 @@ +--- qt-x11-free-3.3.6/mkspecs/linux-g++/qmake.conf.orig 2006-06-21 15:37:53.000000000 +0200 ++++ qt-x11-free-3.3.6/mkspecs/linux-g++/qmake.conf 2006-06-21 15:38:02.000000000 +0200 +@@ -84,7 +84,7 @@ + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir +-QMAKE_STRIP = +-QMAKE_STRIPFLAGS_LIB += --strip-unneeded ++QMAKE_STRIP = ++QMAKE_STRIPFLAGS_LIB += + QMAKE_CHK_DIR_EXISTS = test -d + QMAKE_MKDIR = mkdir -p +--- qt-x11-free-3.3.6/mkspecs/linux-g++-32/qmake.conf.orig 2006-06-21 15:37:09.000000000 +0200 ++++ qt-x11-free-3.3.6/mkspecs/linux-g++-32/qmake.conf 2006-06-21 15:37:19.000000000 +0200 +@@ -84,7 +84,7 @@ + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir +-QMAKE_STRIP = strip +-QMAKE_STRIPFLAGS_LIB += --strip-unneeded ++QMAKE_STRIP = ++QMAKE_STRIPFLAGS_LIB += + QMAKE_CHK_DIR_EXISTS = test -d + QMAKE_MKDIR = mkdir -p +--- qt-x11-free-3.3.6/mkspecs/linux-g++-64/qmake.conf.orig 2006-06-21 15:36:23.000000000 +0200 ++++ qt-x11-free-3.3.6/mkspecs/linux-g++-64/qmake.conf 2006-06-21 15:36:56.000000000 +0200 +@@ -87,7 +87,7 @@ + QMAKE_MOVE = mv -f + QMAKE_DEL_FILE = rm -f + QMAKE_DEL_DIR = rmdir +-QMAKE_STRIP = strip +-QMAKE_STRIPFLAGS_LIB += --strip-unneeded ++QMAKE_STRIP = ++QMAKE_STRIPFLAGS_LIB += + QMAKE_CHK_DIR_EXISTS = test -d + QMAKE_MKDIR = mkdir -p diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch new file mode 100644 index 000000000..0c93c416a --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.7-arm.patch @@ -0,0 +1,25 @@ +--- qt-x11-free-3.3.7/src/tools/qglobal.h.orig 2007-04-24 09:02:36.000000000 -0400 ++++ qt-x11-free-3.3.7/src/tools/qglobal.h 2007-04-24 09:03:02.000000000 -0400 +@@ -315,9 +315,9 @@ + QString bloat. However, gcc 3.4 doesn't allow us to create references to + members of a packed struct. (Pointers are OK, because then you + supposedly know what you are doing.) */ +-# if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) ++# if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP) && !defined(__ARM_EABI__) + # define Q_PACKED __attribute__ ((packed)) +-# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4 ++# if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) + # define Q_NO_PACKED_REFERENCE + # endif + # endif +--- qt-x11-free-3.3.7/src/tools/qstring.h.orig 2007-04-24 09:03:11.000000000 -0400 ++++ qt-x11-free-3.3.7/src/tools/qstring.h 2007-04-24 09:03:27.000000000 -0400 +@@ -194,7 +194,7 @@ + char latin1() const { return ucs > 0xff ? 0 : (char) ucs; } + ushort unicode() const { return ucs; } + #ifdef Q_NO_PACKED_REFERENCE +- ushort &unicode() { return *(&ucs); } ++ ushort &unicode() { return *((ushort *)&ucs); } + #else + ushort &unicode() { return ucs; } + #endif diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch new file mode 100644 index 000000000..f2351909f --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.7-umask.patch @@ -0,0 +1,14 @@ +--- qt-x11-free-3.3.7/src/tools/qsettings.cpp.tn 2006-11-09 20:53:25.000000000 +0100 ++++ qt-x11-free-3.3.7/src/tools/qsettings.cpp 2006-11-09 20:59:53.000000000 +0100 +@@ -994,7 +994,10 @@ + #endif + + QFile 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("QSettings::sync: failed to open '%s' for writing", diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8-odbc.patch new file mode 100644 index 000000000..6f21e3cf1 --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8-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/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch new file mode 100644 index 000000000..c1ff66c2c --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-typo.patch @@ -0,0 +1,11 @@ +--- qt-x11-free-3.3.8b/mkspecs/macx-mwerks/mwerkstmpl.xml.orig 2010-06-30 01:00:36.000000000 +0200 ++++ qt-x11-free-3.3.8b/mkspecs/macx-mwerks/mwerkstmpl.xml 2010-06-30 01:00:56.000000000 +0200 +@@ -817,7 +817,7 @@ + <PATHFORMAT>MacOS</PATHFORMAT> + </FILEREF> + </GROUP> +- <GROUP><Name>QtGenerated</NAME> ++ <GROUP><NAME>QtGenerated</NAME> + $$CODEWARRIOR_QPREPROCESS_GROUP + $$CODEWARRIOR_QPREPROCESSOUT_GROUP + </GROUP> diff --git a/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch new file mode 100644 index 000000000..341cab7e1 --- /dev/null +++ b/redhat/dependencies/qt3/qt-x11-free-3.3.8b-uic-multilib.patch @@ -0,0 +1,24 @@ +diff -up qt-x11-free-3.3.8b/tools/designer/uic/main.cpp.orig qt-x11-free-3.3.8b/tools/designer/uic/main.cpp +--- qt-x11-free-3.3.8b/tools/designer/uic/main.cpp.orig 2008-01-24 13:25:29.000000000 +0100 ++++ qt-x11-free-3.3.8b/tools/designer/uic/main.cpp 2008-01-24 13:28:17.000000000 +0100 +@@ -320,7 +320,7 @@ int main( int argc, char * argv[] ) + out << "/****************************************************************************" << endl; + out << "** Form "<< (impl? "implementation" : "interface") << " generated from reading ui file '" << fileName << "'" << endl; + out << "**" << endl; +- out << "** Created: " << QDateTime::currentDateTime().toString() << endl; ++ out << "** Created by User Interface Compiler" << endl; + out << "**" << endl; + out << "** WARNING! All changes made in this file will be lost!" << endl; + out << "****************************************************************************/" << endl << endl; +diff -up qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp.orig qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp +--- qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp.orig 2008-01-24 13:28:30.000000000 +0100 ++++ qt-x11-free-3.3.8b/tools/designer/uic/embed.cpp 2008-01-24 13:29:10.000000000 +0100 +@@ -137,7 +137,7 @@ void Uic::embed( QTextStream& out, const + for ( it = images.begin(); it != images.end(); ++it ) + out << "** " << *it << "\n"; + out << "**\n"; +- out << "** Created: " << QDateTime::currentDateTime().toString() << "\n"; ++ out << "** Created by The User Interface Compiler" << "\n"; + out << "**\n"; + out << "** WARNING! All changes made in this file will be lost!\n"; + out << "****************************************************************************/\n"; diff --git a/redhat/dependencies/qt3/qt.csh b/redhat/dependencies/qt3/qt.csh new file mode 100755 index 000000000..93fd941ed --- /dev/null +++ b/redhat/dependencies/qt3/qt.csh @@ -0,0 +1,33 @@ +# Qt initialization script (csh) + +# In multilib environments there is a preferred architecture, 64 bit over 32 bit in x86_64, +# 32 bit over 64 bit in ppc64. 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: + 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/dependencies/qt3/qt.sh b/redhat/dependencies/qt3/qt.sh new file mode 100755 index 000000000..f9ca654c1 --- /dev/null +++ b/redhat/dependencies/qt3/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, +# 32 bit over 64 bit in ppc64. 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 ) + 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/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch b/redhat/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch new file mode 100644 index 000000000..c5da1ad4c --- /dev/null +++ b/redhat/dependencies/qt3/qt3-3.3.8.d-updates_zh-tw_translations.patch @@ -0,0 +1,251 @@ +--- qt3/translations/qt_zh-tw.ts.ORI 2011-10-30 09:42:26.000000000 +0100 ++++ qt3/translations/qt_zh-tw.ts 2011-12-18 22:06:58.432615802 +0100 +@@ -115,7 +115,7 @@ + </message> + <message> + <source>Menu</source> +- <translation>Menu</translation> ++ <translation>選單</translation> + </message> + <message> + <source>Help</source> +@@ -337,7 +337,7 @@ + </message> + <message> + <source>A&lpha channel:</source> +- <translation>Alpha 色頻(&L):</translation> ++ <translation>透明色頻(&L):</translation> + </message> + <message> + <source>&Basic colors</source> +@@ -429,11 +429,11 @@ + </message> + <message> + <source>Read: %1</source> +- <translation>讀取: %1</translation> ++ <translation>讀取:%1</translation> + </message> + <message> + <source>Write: %1</source> +- <translation>寫入: %1</translation> ++ <translation>寫入:%1</translation> + </message> + <message> + <source>Cancel</source> +@@ -1194,7 +1194,7 @@ + </message> + <message> + <source>Customize...</source> +- <translation>自訂...</translation> ++ <translation>自訂…</translation> + </message> + </context> + <context> +@@ -1264,7 +1264,7 @@ + </message> + <message> + <source><h3>About Qt</h3><p>This program uses Qt version %1.</p><p>Qt is a C++ toolkit for multiplatform GUI &amp; application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants.<br>Qt is also available for embedded devices.</p><p>Qt is a Trolltech product. See <tt>http://www.trolltech.com/qt/</tt> for more information.</p></source> +- <translation><h3>關於 Qt</h3><p>本程式使用 Qt 版本 %1。</p><p>Qt 是用於多平台 GUI 和應用程式開發的 C++ 工具套件。</p><p>Qt 為 MS&nbsp;Windows、Mac&nbsp;OS&nbsp;X、Linux 和所有主要的商用 Unix 變異版本,提供跨平台的單一原始碼可攜性。<br>Qt 也可用於內嵌裝置。</p><p>Qt 是 Trolltech 的產品。如需詳細資訊,請參閱 <tt>http://www.trolltech.com/qt/</tt>。</p></translation> ++ <translation><h3>關於 Qt</h3><p>本程式使用 Qt 版本 %1。</p><p>Qt 是用於多平臺 GUI 和應用程式開發的 C++ 工具套件。</p><p>Qt 為 MS&nbsp;Windows、Mac&nbsp;OS&nbsp;X、Linux 和所有主要的商用 Unix 變異版本,提供跨平臺的單一原始碼可攜性。<br>Qt 也可用於內嵌裝置。</p><p>Qt 是 Trolltech 的產品。如需詳細資訊,請參閱 <tt>http://www.trolltech.com/qt/</tt>。</p></translation> + </message> + </context> + <context> +@@ -1282,7 +1282,7 @@ + </message> + <message> + <source>Aliases: %1</source> +- <translation>別名: %1</translation> ++ <translation>別名:%1</translation> + </message> + <message> + <source>unknown</source> +@@ -1338,7 +1338,7 @@ + </message> + <message> + <source>Browse...</source> +- <translation>瀏覽...</translation> ++ <translation>瀏覽…</translation> + </message> + <message> + <source>Options</source> +@@ -1386,123 +1386,123 @@ + </message> + <message> + <source>A0 (841 x 1189 mm)</source> +- <translation>A0 (841 x 1189 mm)</translation> ++ <translation>A0 (841 x 1189 公釐)</translation> + </message> + <message> + <source>A1 (594 x 841 mm)</source> +- <translation>A1 (594 x 841 mm)</translation> ++ <translation>A1 (594 x 841 公釐)</translation> + </message> + <message> + <source>A2 (420 x 594 mm)</source> +- <translation>A2 (420 x 594 mm)</translation> ++ <translation>A2 (420 x 594 公釐)</translation> + </message> + <message> + <source>A3 (297 x 420 mm)</source> +- <translation>A3 (297 x 420 mm)</translation> ++ <translation>A3 (297 x 420 公釐)</translation> + </message> + <message> + <source>A4 (210x297 mm, 8.26x11.7 inches)</source> +- <translation>A4 (210x297 mm,8.26x11.7 英吋)</translation> ++ <translation>A4 (210x297 公釐,8.26x11.7 英吋)</translation> + </message> + <message> + <source>A5 (148 x 210 mm)</source> +- <translation>A5 (148 x 210 mm)</translation> ++ <translation>A5 (148 x 210 公釐)</translation> + </message> + <message> + <source>A6 (105 x 148 mm)</source> +- <translation>A6 (105 x 148 mm)</translation> ++ <translation>A6 (105 x 148 公釐)</translation> + </message> + <message> + <source>A7 (74 x 105 mm)</source> +- <translation>A7 (74 x 105 mm)</translation> ++ <translation>A7 (74 x 105 公釐)</translation> + </message> + <message> + <source>A8 (52 x 74 mm)</source> +- <translation>A8 (52 x 74 mm)</translation> ++ <translation>A8 (52 x 74 公釐)</translation> + </message> + <message> + <source>A9 (37 x 52 mm)</source> +- <translation>A9 (37 x 52 mm)</translation> ++ <translation>A9 (37 x 52 公釐)</translation> + </message> + <message> + <source>B0 (1000 x 1414 mm)</source> +- <translation>B0 (1000 x 1414 mm)</translation> ++ <translation>B0 (1000 x 1414 公釐)</translation> + </message> + <message> + <source>B1 (707 x 1000 mm)</source> +- <translation>B1 (707 x 1000 mm)</translation> ++ <translation>B1 (707 x 1000 公釐)</translation> + </message> + <message> + <source>B2 (500 x 707 mm)</source> +- <translation>B2 (500 x 707 mm)</translation> ++ <translation>B2 (500 x 707 公釐)</translation> + </message> + <message> + <source>B3 (353 x 500 mm)</source> +- <translation>B3 (353 x 500 mm)</translation> ++ <translation>B3 (353 x 500 公釐)</translation> + </message> + <message> + <source>B4 (250 x 353 mm)</source> +- <translation>B4 (250 x 353 mm)</translation> ++ <translation>B4 (250 x 353 公釐)</translation> + </message> + <message> + <source>B5 (176 x 250 mm, 6.93x9.84 inches)</source> +- <translation>B5 (176 x 250 mm,6.93x9.84 英吋)</translation> ++ <translation>B5 (176 x 250 公釐,6.93x9.84 英吋)</translation> + </message> + <message> + <source>B6 (125 x 176 mm)</source> +- <translation>B6 (125 x 176 mm)</translation> ++ <translation>B6 (125 x 176 公釐)</translation> + </message> + <message> + <source>B7 (88 x 125 mm)</source> +- <translation>B7 (88 x 125 mm)</translation> ++ <translation>B7 (88 x 125 公釐)</translation> + </message> + <message> + <source>B8 (62 x 88 mm)</source> +- <translation>B8 (62 x 88 mm)</translation> ++ <translation>B8 (62 x 88 公釐)</translation> + </message> + <message> + <source>B9 (44 x 62 mm)</source> +- <translation>B9 (44 x 62 mm)</translation> ++ <translation>B9 (44 x 62 公釐)</translation> + </message> + <message> + <source>B10 (31 x 44 mm)</source> +- <translation>B10 (31 x 44 mm)</translation> ++ <translation>B10 (31 x 44 公釐)</translation> + </message> + <message> + <source>C5E (163 x 229 mm)</source> +- <translation>C5E (163 x 229 mm)</translation> ++ <translation>C5E (163 x 229 公釐)</translation> + </message> + <message> + <source>DLE (110 x 220 mm)</source> +- <translation>DLE (110 x 220 mm)</translation> ++ <translation>DLE (110 x 220 公釐)</translation> + </message> + <message> + <source>Executive (7.5x10 inches, 191x254 mm)</source> +- <translation>Executive (7.5x10 英吋,191x254 mm)</translation> ++ <translation>Executive (7.5x10 英吋,191x254 公釐)</translation> + </message> + <message> + <source>Folio (210 x 330 mm)</source> +- <translation>Folio (210 x 330 mm)</translation> ++ <translation>Folio (210 x 330 公釐)</translation> + </message> + <message> + <source>Ledger (432 x 279 mm)</source> +- <translation>Ledger (432 x 279 mm)</translation> ++ <translation>Ledger (432 x 279 公釐)</translation> + </message> + <message> + <source>Legal (8.5x14 inches, 216x356 mm)</source> +- <translation>Legal (8.5x14 英吋,216x356 mm)</translation> ++ <translation>Legal (8.5x14 英吋,216x356 公釐)</translation> + </message> + <message> + <source>Letter (8.5x11 inches, 216x279 mm)</source> +- <translation>Letter (8.5x11 英吋,216x279 mm)</translation> ++ <translation>Letter (8.5x11 英吋,216x279 公釐)</translation> + </message> + <message> + <source>Tabloid (279 x 432 mm)</source> +- <translation>Tabloid (279 x 432 mm)</translation> ++ <translation>Tabloid (279 x 432 公釐)</translation> + </message> + <message> + <source>US Common #10 Envelope (105 x 241 mm)</source> +- <translation>美國一般 10 號信封 (105 x 241 mm)</translation> ++ <translation>美國一般 10 號信封 (105 x 241 公釐)</translation> + </message> + <message> + <source>Setup Printer</source> +@@ -1691,7 +1691,7 @@ + <name>QToolBar</name> + <message> + <source>More...</source> +- <translation>其他...</translation> ++ <translation>其他…</translation> + </message> + </context> + <context> +@@ -1811,7 +1811,7 @@ + </message> + <message> + <source>&Help</source> +- <translation>說明(&H)</translation> ++ <translation>求助(&H)</translation> + </message> + </context> + <context> +@@ -1988,7 +1988,7 @@ + </message> + <message> + <source>Paste special...</source> +- <translation>選擇性貼上...</translation> ++ <translation>選擇性貼上…</translation> + </message> + <message> + <source>Clear</source> diff --git a/redhat/dependencies/qt3/qt3.spec b/redhat/dependencies/qt3/qt3.spec new file mode 100644 index 000000000..fcadb5b6d --- /dev/null +++ b/redhat/dependencies/qt3/qt3.spec @@ -0,0 +1,721 @@ +# Default version for this component +%if "%{?version}" == "" +%define version 3.3.8.d +%endif + +# 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 !!!! + +Name: qt3 +Version: %{?version} +Release: 3%{?dist} +Summary: The shared library for the Qt 3 GUI toolkit + +License: QPL or GPLv2 or GPLv3 +Group: System Environment/Libraries +URL: http://www.trinitydesktop.org/ + +Obsoletes: qt < 1:%{version}-%{release} +Provides: qt = 1:%{version}-%{release} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Source0: qt3-3.3.8.d.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: qt-3.0.5-nodebug.patch +Patch3: qt-3.1.0-makefile.patch +Patch4: qt-x11-free-3.3.7-umask.patch +Patch5: qt-x11-free-3.3.6-strip.patch +Patch7: qt-x11-free-3.3.2-quiet.patch +#Patch8: qt-x11-free-3.3.3-qembed.patch +Patch12: qt-uic-nostdlib.patch +Patch13: qt-x11-free-3.3.6-qfontdatabase_x11.patch +#Patch14: qt-x11-free-3.3.3-gl.patch +#Patch19: qt-3.3.3-gtkstyle.patch +#Patch20: qt-x11-free-3.3.8b-gcc4-buildkey.patch +#Patch24: qt-x11-free-3.3.5-uic.patch +Patch25: qt-x11-free-3.3.8b-uic-multilib.patch +Patch27: qt-3.3.6-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: qt-3.3.6-fontrendering-214371.patch +Patch33: qt-3.3.8-fontrendering-#214570.patch +Patch34: qt-3.3.6-fontrendering-ml_IN-209974.patch +Patch35: qt-3.3.6-fontrendering-ml_IN-217657.patch +Patch37: qt-3.3.6-fontrendering-gu-228452.patch +Patch38: qt-x11-free-3.3.8-odbc.patch +Patch39: qt-x11-free-3.3.7-arm.patch +Patch40: qt-x11-free-3.3.8b-typo.patch + +# immodule patches +#Patch50: qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 +#Patch51: qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch +#Patch52: qt-x11-free-3.3.8b-fix-key-release-event-with-imm.diff +Patch53: qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch + +# qt-copy patches +#Patch100: 0038-dragobject-dont-prefer-unknown.patch +#Patch101: 0047-fix-kmenu-width.diff +#Patch102: 0048-qclipboard_hack_80072.patch +#Patch103: 0056-khotkeys_input_84434.patch +#patch105: 0073-xinerama-aware-qpopup.patch +#Patch107: 0079-compositing-types.patch +#Patch108: 0080-net-wm-sync-request-2.patch +Patch110: 0084-compositing-properties.patch + +# upstream patches +Patch200: qt-x11-free-3.3.4-fullscreen.patch +#Patch201: qt-x11-free-3.3.8b-gcc43.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 +BuildRequires: gcc-c++ + + +%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} + + +%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} + + +%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} + + +%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} + + +%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} + + +%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} + + +%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} + + +%package designer +Summary: Interface 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} + + +%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 qt3 +%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 +#patch14 -p1 -b .gl +#patch19 -p1 -b .gtk +#patch20 -p1 -b .gcc4-buildkey +#patch24 -p1 -b .uic +%patch25 -p1 -b .uic-multilib +%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} +#patch50 -p1 +#patch51 -p1 -b .quiet +#patch52 -p1 -b .fix-key-release-event-with-imm +%patch53 -p1 -b .resetinputcontext +%endif + +# qt-copy patches +#patch100 -p0 -b .0038-dragobject-dont-prefer-unknown +#patch101 -p0 -b .0047-fix-kmenu-width +#patch102 -p0 -b .0048-qclipboard_hack_80072 +#patch103 -p0 -b .0056-khotkeys_input_84434 +#patch105 -p0 -b .0073-xinerama-aware-qpopup +#patch107 -p0 -b .0079-compositing-types +#patch108 -p0 -b .0080-net-wm-sync-request +%patch110 -p0 -b .0084-compositing-properties + +# upstream patches +%patch200 -p1 -b .fullscreen +#patch201 -p1 -b .gcc34 + +# 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/libqui.so.* +%{qtdir}/lib/libqt*.so.* + +%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/libqt*.so +%{qtdir}/lib/libqui.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/config.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/jpegint.h +#%exclude %{qtdir}/include/jpeglib.h +%exclude %{qtdir}/include/jversion.h +#%exclude %{qtdir}/include/libmng.h +#%exclude %{qtdir}/include/libmng_chunk_io.h +#%exclude %{qtdir}/include/libmng_chunk_prc.h +#%exclude %{qtdir}/include/libmng_chunks.h +#%exclude %{qtdir}/include/libmng_cms.h +#%exclude %{qtdir}/include/libmng_conf.h +#%exclude %{qtdir}/include/libmng_data.h +#%exclude %{qtdir}/include/libmng_display.h +#%exclude %{qtdir}/include/libmng_dither.h +#%exclude %{qtdir}/include/libmng_error.h +#%exclude %{qtdir}/include/libmng_filter.h +#%exclude %{qtdir}/include/libmng_jpeg.h +#%exclude %{qtdir}/include/libmng_memory.h +#%exclude %{qtdir}/include/libmng_object_prc.h +#%exclude %{qtdir}/include/libmng_objects.h +#%exclude %{qtdir}/include/libmng_pixels.h +#%exclude %{qtdir}/include/libmng_read.h +#%exclude %{qtdir}/include/libmng_trace.h +#%exclude %{qtdir}/include/libmng_types.h +#%exclude %{qtdir}/include/libmng_write.h +#%exclude %{qtdir}/include/libmng_zlib.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/png.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}/include/zconf.h +#%exclude %{qtdir}/include/zconf.in.h +#%exclude %{qtdir}/include/zlib.h +#%exclude %{qtdir}/include/zutil.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 +* 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' diff --git a/redhat/dependencies/qt3/qtconfig3.desktop b/redhat/dependencies/qt3/qtconfig3.desktop new file mode 100644 index 000000000..11df0abab --- /dev/null +++ b/redhat/dependencies/qt3/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/dependencies/tqt3/0084-compositing-properties.patch b/redhat/dependencies/tqt3/0084-compositing-properties.patch new file mode 100644 index 000000000..368b6c267 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/assistant3.desktop b/redhat/dependencies/tqt3/assistant3.desktop new file mode 100644 index 000000000..49e718c5d --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/designer3.desktop b/redhat/dependencies/tqt3/designer3.desktop new file mode 100644 index 000000000..23f1f549a --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/linguist3.desktop b/redhat/dependencies/tqt3/linguist3.desktop new file mode 100644 index 000000000..c6fce02c8 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-3.1.0-makefile.patch b/redhat/dependencies/tqt3/qt-3.1.0-makefile.patch new file mode 120000 index 000000000..7d8ae65a2 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-3.3.4-print-CJK.patch b/redhat/dependencies/tqt3/qt-3.3.4-print-CJK.patch new file mode 120000 index 000000000..99cdc6e1d --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-3.3.6-fontrendering-gu-228452.patch b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-gu-228452.patch new file mode 120000 index 000000000..b015af122 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-ml_IN-209974.patch new file mode 120000 index 000000000..388a5cbe5 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch b/redhat/dependencies/tqt3/qt-3.3.6-fontrendering-te_IN-211259.patch new file mode 120000 index 000000000..93c6ba3d8 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch b/redhat/dependencies/tqt3/qt-3.3.8-fontrendering-as_IN-209972.patch new file mode 120000 index 000000000..4ded8f792 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-x11-free-3.3.4-fullscreen.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.4-fullscreen.patch new file mode 120000 index 000000000..09d41d4b3 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch new file mode 120000 index 000000000..f8342f9f9 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-x11-free-3.3.6-strip.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.6-strip.patch new file mode 120000 index 000000000..7121216bc --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-x11-free-3.3.7-arm.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.7-arm.patch new file mode 120000 index 000000000..b7682272a --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-x11-free-3.3.8b-typo.patch b/redhat/dependencies/tqt3/qt-x11-free-3.3.8b-typo.patch new file mode 120000 index 000000000..4e2537345 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch b/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.5-20051012-quiet.patch new file mode 100644 index 000000000..5e5d9773a --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 b/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 Binary files differnew file mode 100644 index 000000000..7c122a375 --- /dev/null +++ b/redhat/dependencies/tqt3/qt-x11-immodule-unified-qt3.3.8-20071116.diff.bz2 diff --git a/redhat/dependencies/tqt3/qt.csh b/redhat/dependencies/tqt3/qt.csh new file mode 100755 index 000000000..7efcd89c5 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt.sh b/redhat/dependencies/tqt3/qt.sh new file mode 100755 index 000000000..88b3e0cea --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch b/redhat/dependencies/tqt3/qt3-3.3.8.d-updates_zh-tw_translations.patch new file mode 120000 index 000000000..06a4852dc --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/qtconfig3.desktop b/redhat/dependencies/tqt3/qtconfig3.desktop new file mode 100644 index 000000000..11df0abab --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-embed.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-embed.patch new file mode 100644 index 000000000..10d7704ae --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-fontrendering-#214570.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-#214570.patch new file mode 100644 index 000000000..77ca43101 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-fontrendering-214371.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-214371.patch new file mode 100644 index 000000000..9dca7998d --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-209097.patch new file mode 100644 index 000000000..cdb543b25 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-fontrendering-ml_IN-217657.patch new file mode 100644 index 000000000..276441c22 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-nodebug.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-nodebug.patch new file mode 100644 index 000000000..ccfd411ff --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-odbc.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-odbc.patch new file mode 100644 index 000000000..3a5aea885 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch b/redhat/dependencies/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/dependencies/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/dependencies/tqt3/tqt3-3.4.0-quiet.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-quiet.patch new file mode 100644 index 000000000..cb6080ab5 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-uic-nostdlib.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-uic-nostdlib.patch new file mode 100644 index 000000000..39a42e6f5 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0-umask.patch b/redhat/dependencies/tqt3/tqt3-3.4.0-umask.patch new file mode 100644 index 000000000..9c24f9903 --- /dev/null +++ b/redhat/dependencies/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/dependencies/tqt3/tqt3-3.4.0.spec b/redhat/dependencies/tqt3/tqt3-3.4.0.spec new file mode 100644 index 000000000..87d7d2bd4 --- /dev/null +++ b/redhat/dependencies/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' |