From f4c0c862cd063f006d2028e84c97f559a3ecf26f Mon Sep 17 00:00:00 2001 From: albator Date: Sun, 6 Nov 2011 09:19:14 +0100 Subject: Moves QT3 at in root directory instead of "dependancies" --- redhat/qt3/0084-compositing-properties.patch | 80 +++ redhat/qt3/assistant3.desktop | 9 + redhat/qt3/designer3.desktop | 11 + redhat/qt3/linguist3.desktop | 10 + redhat/qt3/qt-3.0.5-nodebug.patch | 15 + redhat/qt3/qt-3.1.0-makefile.patch | 11 + redhat/qt3/qt-3.3.4-print-CJK.patch | 18 + redhat/qt3/qt-3.3.6-fontrendering-214371.patch | 15 + redhat/qt3/qt-3.3.6-fontrendering-gu-228452.patch | 12 + .../qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch | 60 ++ .../qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch | 11 + .../qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch | 12 + .../qt3/qt-3.3.6-fontrendering-te_IN-211259.patch | 11 + redhat/qt3/qt-3.3.8-fontrendering-#214570.patch | 23 + .../qt3/qt-3.3.8-fontrendering-as_IN-209972.patch | 11 + redhat/qt3/qt-uic-nostdlib.patch | 12 + redhat/qt3/qt-x11-free-3.3.2-quiet.patch | 14 + redhat/qt3/qt-x11-free-3.3.4-fullscreen.patch | 11 + .../qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch | 11 + ...nified-qt3.3.5-20060318-resetinputcontext.patch | 92 +++ redhat/qt3/qt-x11-free-3.3.6-strip.patch | 36 ++ redhat/qt3/qt-x11-free-3.3.7-arm.patch | 25 + redhat/qt3/qt-x11-free-3.3.7-umask.patch | 14 + redhat/qt3/qt-x11-free-3.3.8-odbc.patch | 19 + redhat/qt3/qt-x11-free-3.3.8b-typo.patch | 11 + redhat/qt3/qt-x11-free-3.3.8b-uic-multilib.patch | 24 + redhat/qt3/qt.csh | 33 + redhat/qt3/qt.sh | 32 + redhat/qt3/qt3.spec | 710 +++++++++++++++++++++ redhat/qt3/qtconfig3.desktop | 9 + 30 files changed, 1362 insertions(+) create mode 100644 redhat/qt3/0084-compositing-properties.patch create mode 100644 redhat/qt3/assistant3.desktop create mode 100644 redhat/qt3/designer3.desktop create mode 100644 redhat/qt3/linguist3.desktop create mode 100644 redhat/qt3/qt-3.0.5-nodebug.patch create mode 100644 redhat/qt3/qt-3.1.0-makefile.patch create mode 100644 redhat/qt3/qt-3.3.4-print-CJK.patch create mode 100644 redhat/qt3/qt-3.3.6-fontrendering-214371.patch create mode 100644 redhat/qt3/qt-3.3.6-fontrendering-gu-228452.patch create mode 100644 redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch create mode 100644 redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch create mode 100644 redhat/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch create mode 100644 redhat/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch create mode 100644 redhat/qt3/qt-3.3.8-fontrendering-#214570.patch create mode 100644 redhat/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch create mode 100644 redhat/qt3/qt-uic-nostdlib.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.2-quiet.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.4-fullscreen.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.6-strip.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.7-arm.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.7-umask.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.8-odbc.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.8b-typo.patch create mode 100644 redhat/qt3/qt-x11-free-3.3.8b-uic-multilib.patch create mode 100755 redhat/qt3/qt.csh create mode 100755 redhat/qt3/qt.sh create mode 100644 redhat/qt3/qt3.spec create mode 100644 redhat/qt3/qtconfig3.desktop (limited to 'redhat/qt3') diff --git a/redhat/qt3/0084-compositing-properties.patch b/redhat/qt3/0084-compositing-properties.patch new file mode 100644 index 000000000..368b6c267 --- /dev/null +++ b/redhat/qt3/0084-compositing-properties.patch @@ -0,0 +1,80 @@ +qt-bugs@ issue : none +bugs.kde.org number : none +applied: no +author: Lubos Lunak + +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/qt3/assistant3.desktop b/redhat/qt3/assistant3.desktop new file mode 100644 index 000000000..49e718c5d --- /dev/null +++ b/redhat/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/qt3/designer3.desktop b/redhat/qt3/designer3.desktop new file mode 100644 index 000000000..23f1f549a --- /dev/null +++ b/redhat/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/qt3/linguist3.desktop b/redhat/qt3/linguist3.desktop new file mode 100644 index 000000000..c6fce02c8 --- /dev/null +++ b/redhat/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/qt3/qt-3.0.5-nodebug.patch b/redhat/qt3/qt-3.0.5-nodebug.patch new file mode 100644 index 000000000..09d697fb4 --- /dev/null +++ b/redhat/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/qt3/qt-3.1.0-makefile.patch b/redhat/qt3/qt-3.1.0-makefile.patch new file mode 100644 index 000000000..009ab81fb --- /dev/null +++ b/redhat/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/qt3/qt-3.3.4-print-CJK.patch b/redhat/qt3/qt-3.3.4-print-CJK.patch new file mode 100644 index 000000000..5bd5e9e0a --- /dev/null +++ b/redhat/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/qt3/qt-3.3.6-fontrendering-214371.patch b/redhat/qt3/qt-3.3.6-fontrendering-214371.patch new file mode 100644 index 000000000..9dca7998d --- /dev/null +++ b/redhat/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/qt3/qt-3.3.6-fontrendering-gu-228452.patch b/redhat/qt3/qt-3.3.6-fontrendering-gu-228452.patch new file mode 100644 index 000000000..21081d1a6 --- /dev/null +++ b/redhat/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/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch b/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209097.patch new file mode 100644 index 000000000..01f3824c1 --- /dev/null +++ b/redhat/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/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch b/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-209974.patch new file mode 100644 index 000000000..8dbb2ae98 --- /dev/null +++ b/redhat/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/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch b/redhat/qt3/qt-3.3.6-fontrendering-ml_IN-217657.patch new file mode 100644 index 000000000..eb880b1cc --- /dev/null +++ b/redhat/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/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch b/redhat/qt3/qt-3.3.6-fontrendering-te_IN-211259.patch new file mode 100644 index 000000000..eb3868c96 --- /dev/null +++ b/redhat/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/qt3/qt-3.3.8-fontrendering-#214570.patch b/redhat/qt3/qt-3.3.8-fontrendering-#214570.patch new file mode 100644 index 000000000..41a74fba7 --- /dev/null +++ b/redhat/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/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch b/redhat/qt3/qt-3.3.8-fontrendering-as_IN-209972.patch new file mode 100644 index 000000000..7583239cc --- /dev/null +++ b/redhat/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/qt3/qt-uic-nostdlib.patch b/redhat/qt3/qt-uic-nostdlib.patch new file mode 100644 index 000000000..02a40b225 --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.2-quiet.patch b/redhat/qt3/qt-x11-free-3.3.2-quiet.patch new file mode 100644 index 000000000..6dce7aa80 --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.4-fullscreen.patch b/redhat/qt3/qt-x11-free-3.3.4-fullscreen.patch new file mode 100644 index 000000000..0d03f0809 --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch b/redhat/qt3/qt-x11-free-3.3.6-qfontdatabase_x11.patch new file mode 100644 index 000000000..a9cfaf4c3 --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.6-qt-x11-immodule-unified-qt3.3.5-20060318-resetinputcontext.patch b/redhat/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/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/qt3/qt-x11-free-3.3.6-strip.patch b/redhat/qt3/qt-x11-free-3.3.6-strip.patch new file mode 100644 index 000000000..efc24c8a1 --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.7-arm.patch b/redhat/qt3/qt-x11-free-3.3.7-arm.patch new file mode 100644 index 000000000..0c93c416a --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.7-umask.patch b/redhat/qt3/qt-x11-free-3.3.7-umask.patch new file mode 100644 index 000000000..f2351909f --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.8-odbc.patch b/redhat/qt3/qt-x11-free-3.3.8-odbc.patch new file mode 100644 index 000000000..6f21e3cf1 --- /dev/null +++ b/redhat/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/qt3/qt-x11-free-3.3.8b-typo.patch b/redhat/qt3/qt-x11-free-3.3.8b-typo.patch new file mode 100644 index 000000000..c1ff66c2c --- /dev/null +++ b/redhat/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 @@ + MacOS + + +- QtGenerated ++ QtGenerated + $$CODEWARRIOR_QPREPROCESS_GROUP + $$CODEWARRIOR_QPREPROCESSOUT_GROUP + diff --git a/redhat/qt3/qt-x11-free-3.3.8b-uic-multilib.patch b/redhat/qt3/qt-x11-free-3.3.8b-uic-multilib.patch new file mode 100644 index 000000000..341cab7e1 --- /dev/null +++ b/redhat/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/qt3/qt.csh b/redhat/qt3/qt.csh new file mode 100755 index 000000000..93fd941ed --- /dev/null +++ b/redhat/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/qt3/qt.sh b/redhat/qt3/qt.sh new file mode 100755 index 000000000..f9ca654c1 --- /dev/null +++ b/redhat/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/qt3/qt3.spec b/redhat/qt3/qt3.spec new file mode 100644 index 000000000..462703918 --- /dev/null +++ b/redhat/qt3/qt3.spec @@ -0,0 +1,710 @@ +# Default version for this component +%if "%{?version}" == "" +%define version 3.3.8.d +%endif + +# 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 + +Name: qt3 +Version: %{?version} +Release: 2%{?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/ +#Url: http://www.troll.no + +Obsoletes: qt < 1:%{version}-%{release} +Provides: qt = 1:%{version}-%{release} + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +#Source0: ftp://ftp.troll.no/qt/source/qt-x11-free-3.3.8b.tar.gz +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: 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 + +%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 + +# 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.8D (TDE): 4 binaries have appeared +%{qtdir}/bin/createcw +%{qtdir}/bin/makeqpf +%{qtdir}/bin/mergetr +%{qtdir}/bin/msg2qm + +# QT 3.3.8D (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 +* Thu Nov 03 2011 Francois Andriot - 3.3.8d-2 +- Add missing BuildRequires + +* Fri Sep 02 2011 Francois Andriot - 3.3.8d-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/qt3/qtconfig3.desktop b/redhat/qt3/qtconfig3.desktop new file mode 100644 index 000000000..11df0abab --- /dev/null +++ b/redhat/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; -- cgit v1.2.3