4.8.0-beta1
drop webkit_packaged conditional drop old patches drop qvfb (for now, ftbfs)
This commit is contained in:
parent
fcbf1bc3e0
commit
3ecceb88be
21
.gitignore
vendored
21
.gitignore
vendored
@ -1,10 +1,11 @@
|
||||
hi128-app-qt4-logo.png
|
||||
hi48-app-qt4-logo.png
|
||||
gstreamer-logo.svg
|
||||
hi128-phonon-gstreamer.png
|
||||
hi16-phonon-gstreamer.png
|
||||
hi22-phonon-gstreamer.png
|
||||
hi32-phonon-gstreamer.png
|
||||
hi48-phonon-gstreamer.png
|
||||
hi64-phonon-gstreamer.png
|
||||
/qt-everywhere-opensource-src-4.8.0-tp.tar.gz
|
||||
/hi128-app-qt4-logo.png
|
||||
/hi48-app-qt4-logo.png
|
||||
/gstreamer-logo.svg
|
||||
/hi128-phonon-gstreamer.png
|
||||
/hi16-phonon-gstreamer.png
|
||||
/hi22-phonon-gstreamer.png
|
||||
/hi32-phonon-gstreamer.png
|
||||
/hi48-phonon-gstreamer.png
|
||||
/hi64-phonon-gstreamer.png
|
||||
/qt-everywhere-opensource-src-4.7.3.tar.gz
|
||||
/qt-everywhere-opensource-src-4.8.0-beta1.tar.gz
|
||||
|
@ -1,67 +0,0 @@
|
||||
From 339e220e29ff39b86705438b4be6f90e5618d27b Mon Sep 17 00:00:00 2001
|
||||
From: Lubos Lunak <l.lunak@kde.org>
|
||||
Date: Tue, 2 Oct 2007 16:08:32 +0200
|
||||
Subject: [PATCH 02/13] 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.
|
||||
|
||||
qt-bugs@ issue : none
|
||||
bugs.kde.org number : none
|
||||
---
|
||||
src/gui/kernel/qwidget_x11.cpp | 21 +++++++++++++++------
|
||||
1 files changed, 15 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
|
||||
index 79ee8c9..a74a849 100644
|
||||
--- a/src/gui/kernel/qwidget_x11.cpp
|
||||
+++ b/src/gui/kernel/qwidget_x11.cpp
|
||||
@@ -719,6 +719,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
Q_ASSERT(id);
|
||||
XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder,
|
||||
&wsa);
|
||||
+ XClassHint class_hint;
|
||||
+ QByteArray appName = qAppName().toLatin1();
|
||||
+ class_hint.res_name = appName.data(); // application name
|
||||
+ class_hint.res_class = const_cast<char *>(QX11Info::appClass()); // application class
|
||||
+ XSetWMProperties(dpy, id, 0, 0, 0, 0, 0, 0, &class_hint);
|
||||
} else if (topLevel && !desktop) { // top-level widget
|
||||
if (!X11->wm_client_leader)
|
||||
create_wm_client_leader();
|
||||
@@ -769,13 +774,21 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
// set EWMH window types
|
||||
setNetWmWindowTypes();
|
||||
|
||||
+ // when we create a toplevel widget, the frame strut should be dirty
|
||||
+ data.fstrut_dirty = 1;
|
||||
+
|
||||
+ } else {
|
||||
+ // non-toplevel widgets don't have a frame, so no need to
|
||||
+ // update the strut
|
||||
+ data.fstrut_dirty = 0;
|
||||
+ }
|
||||
+
|
||||
+ if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
|
||||
// set _NET_WM_PID
|
||||
long curr_pid = getpid();
|
||||
XChangeProperty(dpy, id, ATOM(_NET_WM_PID), XA_CARDINAL, 32, PropModeReplace,
|
||||
(unsigned char *) &curr_pid, 1);
|
||||
|
||||
- // when we create a toplevel widget, the frame strut should be dirty
|
||||
- data.fstrut_dirty = 1;
|
||||
|
||||
// declare the widget's window role
|
||||
if (QTLWExtra *topData = maybeTopData()) {
|
||||
@@ -791,10 +804,6 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
|
||||
XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER),
|
||||
XA_WINDOW, 32, PropModeReplace,
|
||||
(unsigned char *)&X11->wm_client_leader, 1);
|
||||
- } else {
|
||||
- // non-toplevel widgets don't have a frame, so no need to
|
||||
- // update the strut
|
||||
- data.fstrut_dirty = 0;
|
||||
}
|
||||
|
||||
if (initializeWindow && q->internalWinId()) {
|
||||
--
|
||||
1.6.5.1
|
||||
|
@ -1,47 +0,0 @@
|
||||
From 733d1afd03908d695aa8a6518f453b9ff0e5b8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Knight <robertknight@gmail.com>
|
||||
Date: Sun, 20 Apr 2008 16:28:31 +0200
|
||||
Subject: [PATCH 05/13] When tabs are inserted or removed in a QTabBar,
|
||||
QTabBarPrivate::refresh() is called to update the layout. If the
|
||||
tabbar widget is hidden, this just sets a boolean variable
|
||||
(layoutDirty) and returns, so the parent widget's layout is not
|
||||
notified about the possible geometry change.
|
||||
|
||||
Prior to Qt 4.4 this was not a problem because the geometry was
|
||||
recalculated in QTabBar::sizeHint() if the layoutDirty variable was
|
||||
set. In Qt 4.4 however the layout caches size hint information in
|
||||
QWidgetItemV2. Since the cache information is not invalidated, the
|
||||
layout may end up using out-of-date size hint information to compute
|
||||
the widget size.
|
||||
|
||||
If the QTabBar is empty when QTabBar::sizeHint() is called, it will
|
||||
return a size with a height of 0, which will be kept in the cache and
|
||||
so the tab bar will never be shown.
|
||||
|
||||
This patch fixes the problem by calling updateGeometry() whenever the
|
||||
tab bar's layout is refreshed.
|
||||
|
||||
qt-bugs@ issue : 208185
|
||||
Trolltech task ID : 208349
|
||||
bugs.kde.org number : 159014
|
||||
---
|
||||
src/gui/widgets/qtabbar.cpp | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/src/gui/widgets/qtabbar.cpp b/src/gui/widgets/qtabbar.cpp
|
||||
index 419d456..41107a0 100644
|
||||
--- a/src/gui/widgets/qtabbar.cpp
|
||||
+++ b/src/gui/widgets/qtabbar.cpp
|
||||
@@ -678,8 +678,8 @@ void QTabBarPrivate::refresh()
|
||||
layoutTabs();
|
||||
makeVisible(currentIndex);
|
||||
q->update();
|
||||
- q->updateGeometry();
|
||||
}
|
||||
+ q->updateGeometry();
|
||||
}
|
||||
|
||||
/*!
|
||||
--
|
||||
1.6.5.1
|
||||
|
@ -1,70 +0,0 @@
|
||||
From 9eb3560cfd5cd0bc9c7bf79f2c27657ee07b8f95 Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Sat, 8 Aug 2009 14:40:25 +0200
|
||||
Subject: [PATCH 12/13] Add context to tr calls in QShortcut
|
||||
|
||||
Some languages have special rules for using "+" to concatenate strings and
|
||||
for example it needs to be Ctrl + Shift instead of Ctrl+Shift, adding
|
||||
context to these strings helps creating a more correct translation
|
||||
---
|
||||
src/gui/kernel/qkeysequence.cpp | 20 ++++++++++----------
|
||||
1 files changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
|
||||
index 894f663..c17f253 100644
|
||||
--- a/src/gui/kernel/qkeysequence.cpp
|
||||
+++ b/src/gui/kernel/qkeysequence.cpp
|
||||
@@ -991,10 +991,10 @@ int QKeySequencePrivate::decodeString(const QString &str, QKeySequence::Sequence
|
||||
|
||||
QList<QModifKeyName> modifs;
|
||||
if (nativeText) {
|
||||
- modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::ALT, QShortcut::tr("Alt").toLower().append(QLatin1Char('+')))
|
||||
- << QModifKeyName(Qt::META, QShortcut::tr("Meta").toLower().append(QLatin1Char('+')));
|
||||
+ modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift", "Shift key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::ALT, QShortcut::tr("Alt", "Alt key, used for shortcuts").toLower().append(QLatin1Char('+')))
|
||||
+ << QModifKeyName(Qt::META, QShortcut::tr("Meta", "Meta key, used for shortcuts").toLower().append(QLatin1Char('+')));
|
||||
}
|
||||
modifs += *gmodifs; // Test non-translated ones last
|
||||
|
||||
@@ -1086,7 +1086,7 @@ QString QKeySequence::encodeString(int key)
|
||||
static inline void addKey(QString &str, const QString &theKey, QKeySequence::SequenceFormat format)
|
||||
{
|
||||
if (!str.isEmpty())
|
||||
- str += (format == QKeySequence::NativeText) ? QShortcut::tr("+")
|
||||
+ str += (format == QKeySequence::NativeText) ? QShortcut::tr("+", "Symbol used to concatenate keys in shortcuts")
|
||||
: QString::fromLatin1("+");
|
||||
str += theKey;
|
||||
}
|
||||
@@ -1111,13 +1111,13 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
||||
{
|
||||
// On other systems the order is Meta, Control, Alt, Shift
|
||||
if ((key & Qt::META) == Qt::META)
|
||||
- s = nativeText ? QShortcut::tr("Meta") : QString::fromLatin1("Meta");
|
||||
+ s = nativeText ? QShortcut::tr("Meta", "Meta key, used for shortcuts") : QString::fromLatin1("Meta");
|
||||
if ((key & Qt::CTRL) == Qt::CTRL)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Ctrl") : QString::fromLatin1("Ctrl"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts") : QString::fromLatin1("Ctrl"), format);
|
||||
if ((key & Qt::ALT) == Qt::ALT)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Alt") : QString::fromLatin1("Alt"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Alt", "Alt key, used for shortcuts") : QString::fromLatin1("Alt"), format);
|
||||
if ((key & Qt::SHIFT) == Qt::SHIFT)
|
||||
- addKey(s, nativeText ? QShortcut::tr("Shift") : QString::fromLatin1("Shift"), format);
|
||||
+ addKey(s, nativeText ? QShortcut::tr("Shift", "Shift key, used for shortcuts") : QString::fromLatin1("Shift"), format);
|
||||
}
|
||||
|
||||
|
||||
@@ -1132,7 +1132,7 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
|
||||
p += QChar((key-0x10000)%400+0xdc00);
|
||||
}
|
||||
} else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) {
|
||||
- p = nativeText ? QShortcut::tr("F%1").arg(key - Qt::Key_F1 + 1)
|
||||
+ p = nativeText ? QShortcut::tr("F%1", "Fx key, used for shortcuts").arg(key - Qt::Key_F1 + 1)
|
||||
: QString::fromLatin1("F%1").arg(key - Qt::Key_F1 + 1);
|
||||
} else if (key) {
|
||||
int i=0;
|
||||
--
|
||||
1.6.5.1
|
||||
|
@ -1,230 +0,0 @@
|
||||
From 589a94ddb30499b0f3ecaf909a5b291d64d02dc7 Mon Sep 17 00:00:00 2001
|
||||
From: Jiang Jiang <jiang.jiang@nokia.com>
|
||||
Date: Mon, 20 Jun 2011 13:47:01 +0200
|
||||
Subject: [PATCH] Fix fontconfig usage in X11 font database
|
||||
|
||||
We should do FcConfigSubstitute(0, pattern, FcMatchFont) on a
|
||||
FcPattern for query because the family list in it will contain
|
||||
almost all the families after FcConfigSubstitute(0, pattern,
|
||||
FcMatchPattern), then the test in <match target="font"> will
|
||||
almost always succeed. In general, FcMatchFont substitute
|
||||
should only be done on the FcPattern that we got after
|
||||
FcFontMatch() or FcFontRenderPrepare().
|
||||
|
||||
Based on the suggestion of fontconfig author Behdad Esfahbod,
|
||||
this patch reorganized the tryPatternLoad logic so that it only
|
||||
does the QFontEngine creation part, FcPattern *match is retrieved
|
||||
outside of that function. In this way, the match pattern we got
|
||||
can be either from FcFontMatch() or after FcFontRenderPrepare()
|
||||
on one of the fonts we got from qt_fontSetForPattern(). Then we
|
||||
don't need to duplicate the pattern and add all criterias back
|
||||
with qt_addPatternProps(). It not only simplified the code a lot
|
||||
but also fix the way we apply FcMatchFont substitution. This
|
||||
substitution will either be done by FcFontMatch() or
|
||||
FcFontRenderPrepare, both implicitly.
|
||||
|
||||
Task-number: QTBUG-2148, QTBUG-19947
|
||||
Reviewed-by: Eskil
|
||||
---
|
||||
src/gui/text/qfontdatabase_x11.cpp | 55 +++++++++++++++---------------------
|
||||
src/gui/text/qfontengine_x11.cpp | 28 +++++-------------
|
||||
2 files changed, 31 insertions(+), 52 deletions(-)
|
||||
|
||||
diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp
|
||||
index 754334c..958daa2 100644
|
||||
--- a/src/gui/text/qfontdatabase_x11.cpp
|
||||
+++ b/src/gui/text/qfontdatabase_x11.cpp
|
||||
@@ -1566,9 +1566,8 @@ static FcPattern *getFcPattern(const QFontPrivate *fp, int script, const QFontDe
|
||||
|
||||
qt_addPatternProps(pattern, fp->screen, script, request);
|
||||
|
||||
- FcDefaultSubstitute(pattern);
|
||||
FcConfigSubstitute(0, pattern, FcMatchPattern);
|
||||
- FcConfigSubstitute(0, pattern, FcMatchFont);
|
||||
+ FcDefaultSubstitute(pattern);
|
||||
|
||||
// these should only get added to the pattern _after_ substitution
|
||||
// append the default fallback font for the specified script
|
||||
@@ -1606,35 +1605,20 @@ static void FcFontSetRemove(FcFontSet *fs, int at)
|
||||
memmove(fs->fonts + at, fs->fonts + at + 1, len);
|
||||
}
|
||||
|
||||
-static QFontEngine *tryPatternLoad(FcPattern *p, int screen,
|
||||
- const QFontDef &request, int script, FcPattern **matchedPattern = 0)
|
||||
+static QFontEngine *tryPatternLoad(FcPattern *match, int screen,
|
||||
+ const QFontDef &request, int script)
|
||||
{
|
||||
#ifdef FONT_MATCH_DEBUG
|
||||
FcChar8 *fam;
|
||||
- FcPatternGetString(p, FC_FAMILY, 0, &fam);
|
||||
+ FcPatternGetString(match, FC_FAMILY, 0, &fam);
|
||||
FM_DEBUG("==== trying %s\n", fam);
|
||||
#endif
|
||||
FM_DEBUG("passes charset test\n");
|
||||
- FcPattern *pattern = FcPatternDuplicate(p);
|
||||
- // add properties back in as the font selected from the
|
||||
- // list doesn't contain them.
|
||||
- qt_addPatternProps(pattern, screen, script, request);
|
||||
-
|
||||
- FcConfigSubstitute(0, pattern, FcMatchPattern);
|
||||
- FcDefaultSubstitute(pattern);
|
||||
- FcResult res;
|
||||
- FcPattern *match = FcFontMatch(0, pattern, &res);
|
||||
-
|
||||
- if (matchedPattern)
|
||||
- *matchedPattern = 0;
|
||||
|
||||
QFontEngineX11FT *engine = 0;
|
||||
if (!match) // probably no fonts available.
|
||||
goto done;
|
||||
|
||||
- if (matchedPattern)
|
||||
- *matchedPattern = FcPatternDuplicate(match);
|
||||
-
|
||||
if (script != QUnicodeTables::Common) {
|
||||
// skip font if it doesn't support the language we want
|
||||
if (specialChars[script]) {
|
||||
@@ -1673,11 +1657,6 @@ static QFontEngine *tryPatternLoad(FcPattern *p, int screen,
|
||||
}
|
||||
}
|
||||
done:
|
||||
- FcPatternDestroy(pattern);
|
||||
- if (!engine && matchedPattern && *matchedPattern) {
|
||||
- FcPatternDestroy(*matchedPattern);
|
||||
- *matchedPattern = 0;
|
||||
- }
|
||||
return engine;
|
||||
}
|
||||
|
||||
@@ -1726,14 +1705,26 @@ static QFontEngine *loadFc(const QFontPrivate *fp, int script, const QFontDef &r
|
||||
#endif
|
||||
|
||||
QFontEngine *fe = 0;
|
||||
- FcPattern *matchedPattern = 0;
|
||||
- fe = tryPatternLoad(pattern, fp->screen, request, script, &matchedPattern);
|
||||
+ FcResult res;
|
||||
+ FcPattern *match = FcFontMatch(0, pattern, &res);
|
||||
+ fe = tryPatternLoad(match, fp->screen, request, script);
|
||||
if (!fe) {
|
||||
FcFontSet *fs = qt_fontSetForPattern(pattern, request);
|
||||
|
||||
+ if (match) {
|
||||
+ FcPatternDestroy(match);
|
||||
+ match = 0;
|
||||
+ }
|
||||
+
|
||||
if (fs) {
|
||||
- for (int i = 0; !fe && i < fs->nfont; ++i)
|
||||
- fe = tryPatternLoad(fs->fonts[i], fp->screen, request, script, &matchedPattern);
|
||||
+ for (int i = 0; !fe && i < fs->nfont; ++i) {
|
||||
+ match = FcFontRenderPrepare(NULL, pattern, fs->fonts[i]);
|
||||
+ fe = tryPatternLoad(match, fp->screen, request, script);
|
||||
+ if (fe)
|
||||
+ break;
|
||||
+ FcPatternDestroy(match);
|
||||
+ match = 0;
|
||||
+ }
|
||||
FcFontSetDestroy(fs);
|
||||
}
|
||||
FM_DEBUG("engine for script %d is %s\n", script, fe ? fe->fontDef.family.toLatin1().data(): "(null)");
|
||||
@@ -1741,11 +1732,11 @@ static QFontEngine *loadFc(const QFontPrivate *fp, int script, const QFontDef &r
|
||||
if (fe
|
||||
&& script == QUnicodeTables::Common
|
||||
&& !(request.styleStrategy & QFont::NoFontMerging) && !fe->symbol) {
|
||||
- fe = new QFontEngineMultiFT(fe, matchedPattern, pattern, fp->screen, request);
|
||||
+ fe = new QFontEngineMultiFT(fe, match, pattern, fp->screen, request);
|
||||
} else {
|
||||
FcPatternDestroy(pattern);
|
||||
- if (matchedPattern)
|
||||
- FcPatternDestroy(matchedPattern);
|
||||
+ if (match)
|
||||
+ FcPatternDestroy(match);
|
||||
}
|
||||
return fe;
|
||||
}
|
||||
diff --git a/src/gui/text/qfontengine_x11.cpp b/src/gui/text/qfontengine_x11.cpp
|
||||
index e3bfa5d..490866c 100644
|
||||
--- a/src/gui/text/qfontengine_x11.cpp
|
||||
+++ b/src/gui/text/qfontengine_x11.cpp
|
||||
@@ -863,11 +863,8 @@ glyph_t QFontEngineXLFD::glyphIndexToFreetypeGlyphIndex(glyph_t g) const
|
||||
// Multi FT engine
|
||||
// ------------------------------------------------------------------
|
||||
|
||||
-static QFontEngine *engineForPattern(FcPattern *pattern, const QFontDef &request,
|
||||
- int screen)
|
||||
+static QFontEngine *engineForPattern(FcPattern *match, const QFontDef &request, int screen)
|
||||
{
|
||||
- FcResult res;
|
||||
- FcPattern *match = FcFontMatch(0, pattern, &res);
|
||||
QFontEngineX11FT *engine = new QFontEngineX11FT(match, request, screen);
|
||||
if (!engine->invalid())
|
||||
return engine;
|
||||
@@ -879,9 +876,9 @@ static QFontEngine *engineForPattern(FcPattern *pattern, const QFontDef &request
|
||||
}
|
||||
|
||||
QFontEngineMultiFT::QFontEngineMultiFT(QFontEngine *fe, FcPattern *matchedPattern, FcPattern *p, int s, const QFontDef &req)
|
||||
- : QFontEngineMulti(2), request(req), pattern(p), firstEnginePattern(matchedPattern), fontSet(0), screen(s)
|
||||
+ : QFontEngineMulti(2), request(req), pattern(p), fontSet(0), screen(s)
|
||||
{
|
||||
-
|
||||
+ firstEnginePattern = FcPatternDuplicate(matchedPattern);
|
||||
engines[0] = fe;
|
||||
engines.at(0)->ref.ref();
|
||||
fontDef = engines[0]->fontDef;
|
||||
@@ -907,8 +904,6 @@ void QFontEngineMultiFT::loadEngine(int at)
|
||||
extern QMutex *qt_fontdatabase_mutex();
|
||||
QMutexLocker locker(qt_fontdatabase_mutex());
|
||||
|
||||
- extern void qt_addPatternProps(FcPattern *pattern, int screen, int script,
|
||||
- const QFontDef &request);
|
||||
extern QFontDef qt_FcPatternToQFontDef(FcPattern *pattern, const QFontDef &);
|
||||
extern FcFontSet *qt_fontSetForPattern(FcPattern *pattern, const QFontDef &request);
|
||||
|
||||
@@ -940,22 +935,18 @@ void QFontEngineMultiFT::loadEngine(int at)
|
||||
Q_ASSERT(at < engines.size());
|
||||
Q_ASSERT(engines.at(at) == 0);
|
||||
|
||||
- FcPattern *pattern = FcPatternDuplicate(fontSet->fonts[at + firstFontIndex - 1]);
|
||||
- qt_addPatternProps(pattern, screen, QUnicodeTables::Common, request);
|
||||
-
|
||||
- QFontDef fontDef = qt_FcPatternToQFontDef(pattern, this->request);
|
||||
+ FcPattern *match = FcFontRenderPrepare(NULL, pattern, fontSet->fonts[at + firstFontIndex - 1]);
|
||||
+ QFontDef fontDef = qt_FcPatternToQFontDef(match, this->request);
|
||||
|
||||
// note: we use -1 for the script to make sure that we keep real
|
||||
// FT engines separate from Multi engines in the font cache
|
||||
QFontCache::Key key(fontDef, -1, screen);
|
||||
QFontEngine *fontEngine = QFontCache::instance()->findEngine(key);
|
||||
if (!fontEngine) {
|
||||
- FcConfigSubstitute(0, pattern, FcMatchPattern);
|
||||
- FcDefaultSubstitute(pattern);
|
||||
- fontEngine = engineForPattern(pattern, request, screen);
|
||||
+ fontEngine = engineForPattern(match, request, screen);
|
||||
QFontCache::instance()->insertEngine(key, fontEngine);
|
||||
}
|
||||
- FcPatternDestroy(pattern);
|
||||
+ FcPatternDestroy(match);
|
||||
fontEngine->ref.ref();
|
||||
engines[at] = fontEngine;
|
||||
}
|
||||
@@ -1123,17 +1114,14 @@ QFontEngineX11FT::QFontEngineX11FT(FcPattern *pattern, const QFontDef &fd, int s
|
||||
}
|
||||
#endif
|
||||
|
||||
- if (!init(face_id, antialias, defaultFormat)) {
|
||||
- FcPatternDestroy(pattern);
|
||||
+ if (!init(face_id, antialias, defaultFormat))
|
||||
return;
|
||||
- }
|
||||
|
||||
if (!freetype->charset) {
|
||||
FcCharSet *cs;
|
||||
FcPatternGetCharSet (pattern, FC_CHARSET, 0, &cs);
|
||||
freetype->charset = FcCharSetCopy(cs);
|
||||
}
|
||||
- FcPatternDestroy(pattern);
|
||||
}
|
||||
|
||||
QFontEngineX11FT::~QFontEngineX11FT()
|
||||
--
|
||||
1.7.4.1
|
@ -1,26 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp.CVE-2010-1822-crash-svg-image qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp
|
||||
--- qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp.CVE-2010-1822-crash-svg-image 2010-09-10 11:05:20.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.cpp 2010-10-25 14:22:06.542771102 +0200
|
||||
@@ -86,6 +86,11 @@ RenderObject* SVGGElement::createRendere
|
||||
return new (arena) RenderSVGTransformableContainer(this);
|
||||
}
|
||||
|
||||
+bool SVGGElement::rendererIsNeeded(RenderStyle*)
|
||||
+{
|
||||
+ return parentNode() && parentNode()->isSVGElement();
|
||||
+}
|
||||
+
|
||||
}
|
||||
|
||||
#endif // ENABLE(SVG)
|
||||
diff -up qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.h.CVE-2010-1822-crash-svg-image qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.h
|
||||
--- qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.h.CVE-2010-1822-crash-svg-image 2010-09-10 11:05:21.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.7.0/src/3rdparty/webkit/WebCore/svg/SVGGElement.h 2010-10-25 14:28:37.467854695 +0200
|
||||
@@ -43,6 +43,7 @@ namespace WebCore {
|
||||
virtual void parseMappedAttribute(MappedAttribute*);
|
||||
virtual void svgAttributeChanged(const QualifiedName&);
|
||||
virtual void synchronizeProperty(const QualifiedName&);
|
||||
+ virtual bool rendererIsNeeded(RenderStyle*);
|
||||
virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
|
||||
|
||||
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
|
@ -1,19 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp.pluginpath qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp
|
||||
--- qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp.pluginpath 2010-05-03 19:43:20.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/WebCore/plugins/PluginDatabase.cpp 2010-06-18 10:02:37.004788646 -0500
|
||||
@@ -345,6 +345,7 @@ Vector<String> PluginDatabase::defaultPl
|
||||
paths.append("/usr/lib/firefox/plugins");
|
||||
paths.append("/usr/lib64/browser-plugins");
|
||||
paths.append("/usr/lib/browser-plugins");
|
||||
+ paths.append("/usr/lib/mozilla/plugins-wrapped");
|
||||
paths.append("/usr/lib/mozilla/plugins");
|
||||
paths.append("/usr/local/netscape/plugins");
|
||||
paths.append("/opt/mozilla/plugins");
|
||||
@@ -355,6 +356,7 @@ Vector<String> PluginDatabase::defaultPl
|
||||
paths.append("/usr/lib/netscape/plugins-libc5");
|
||||
paths.append("/usr/lib/netscape/plugins-libc6");
|
||||
paths.append("/usr/lib64/netscape/plugins");
|
||||
+ paths.append("/usr/lib64/mozilla/plugins-wrapped");
|
||||
paths.append("/usr/lib64/mozilla/plugins");
|
||||
paths.append("/usr/lib/nsbrowser/plugins");
|
||||
paths.append("/usr/lib64/nsbrowser/plugins");
|
@ -1,61 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390x qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h
|
||||
--- qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h.s390x 2010-06-16 13:54:50.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h 2010-06-16 13:53:43.000000000 +0200
|
||||
@@ -179,6 +179,18 @@
|
||||
#define WTF_CPU_SPARC 1
|
||||
#endif
|
||||
|
||||
+/* CPU(S390X) - S390 64-bit */
|
||||
+#if defined(__s390x__)
|
||||
+#define WTF_CPU_S390X 1
|
||||
+#define WTF_CPU_BIG_ENDIAN 1
|
||||
+#endif
|
||||
+
|
||||
+/* CPU(S390) - S390 32-bit */
|
||||
+#if defined(__s390__)
|
||||
+#define WTF_CPU_S390 1
|
||||
+#define WTF_CPU_BIG_ENDIAN 1
|
||||
+#endif
|
||||
+
|
||||
/* CPU(X86) - i386 / x86 32-bit */
|
||||
#if defined(__i386__) \
|
||||
|| defined(i386) \
|
||||
@@ -860,7 +872,7 @@
|
||||
#endif
|
||||
|
||||
#if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64)
|
||||
-#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64)
|
||||
+#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(S390X)
|
||||
#define WTF_USE_JSVALUE64 1
|
||||
#elif CPU(ARM) || CPU(PPC64)
|
||||
#define WTF_USE_JSVALUE32 1
|
||||
diff -up qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h.s390x qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
|
||||
--- qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h.s390x 2010-06-16 13:49:00.000000000 +0200
|
||||
+++ qt-everywhere-opensource-src-4.7.0-beta1/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h 2010-06-16 13:50:01.000000000 +0200
|
||||
@@ -169,6 +169,18 @@
|
||||
#define WTF_CPU_SPARC 1
|
||||
#endif
|
||||
|
||||
+/* CPU(S390X) - S390 64-bit */
|
||||
+#if defined(__s390x__)
|
||||
+#define WTF_CPU_S390X 1
|
||||
+#define WTF_CPU_BIG_ENDIAN 1
|
||||
+#endif
|
||||
+
|
||||
+/* CPU(S390) - S390 32-bit */
|
||||
+#if defined(__s390__)
|
||||
+#define WTF_CPU_S390 1
|
||||
+#define WTF_CPU_BIG_ENDIAN 1
|
||||
+#endif
|
||||
+
|
||||
/* CPU(X86) - i386 / x86 32-bit */
|
||||
#if defined(__i386__) \
|
||||
|| defined(i386) \
|
||||
@@ -874,6 +886,7 @@
|
||||
#if (CPU(X86_64) && (OS(UNIX) || OS(WINDOWS))) \
|
||||
|| (CPU(IA64) && !CPU(IA64_32)) \
|
||||
|| CPU(ALPHA) \
|
||||
+ || CPU(S390X) \
|
||||
|| CPU(SPARC64)
|
||||
#define WTF_USE_JSVALUE64 1
|
||||
#elif CPU(ARM) || CPU(PPC64) || CPU(MIPS)
|
@ -1,43 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.7.1/tools/assistant/tools/assistant/assistant.pro.webkit qt-everywhere-opensource-src-4.7.1/tools/assistant/tools/assistant/assistant.pro
|
||||
--- qt-everywhere-opensource-src-4.7.1/tools/assistant/tools/assistant/assistant.pro.webkit 2010-11-06 02:55:11.000000000 +0100
|
||||
+++ qt-everywhere-opensource-src-4.7.1/tools/assistant/tools/assistant/assistant.pro 2010-12-06 18:39:53.667993686 +0100
|
||||
@@ -2,7 +2,7 @@ include(../../../shared/fontpanel/fontpa
|
||||
TEMPLATE = app
|
||||
LANGUAGE = C++
|
||||
TARGET = assistant
|
||||
-contains(QT_CONFIG, webkit):QT += webkit
|
||||
+DEFINES += QT_NO_WEBKIT
|
||||
CONFIG += qt \
|
||||
warn_on \
|
||||
help
|
||||
@@ -40,12 +40,9 @@ HEADERS += aboutdialog.h \
|
||||
topicchooser.h \
|
||||
tracer.h \
|
||||
xbelsupport.h \
|
||||
- ../shared/collectionconfiguration.h
|
||||
-contains(QT_CONFIG, webkit) {
|
||||
- HEADERS += helpviewer_qwv.h
|
||||
-} else {
|
||||
- HEADERS += helpviewer_qtb.h
|
||||
- }
|
||||
+ ../shared/collectionconfiguration.h \
|
||||
+ helpviewer_qtb.h
|
||||
+
|
||||
win32:HEADERS += remotecontrol_win.h
|
||||
|
||||
SOURCES += aboutdialog.cpp \
|
||||
@@ -72,12 +69,8 @@ SOURCES += aboutdialog.cpp \
|
||||
searchwidget.cpp \
|
||||
topicchooser.cpp \
|
||||
xbelsupport.cpp \
|
||||
- ../shared/collectionconfiguration.cpp
|
||||
- contains(QT_CONFIG, webkit) {
|
||||
- SOURCES += helpviewer_qwv.cpp
|
||||
-} else {
|
||||
- SOURCES += helpviewer_qtb.cpp
|
||||
-}
|
||||
+ ../shared/collectionconfiguration.cpp \
|
||||
+ helpviewer_qtb.cpp
|
||||
|
||||
FORMS += bookmarkdialog.ui \
|
||||
bookmarkmanagerwidget.ui \
|
@ -1,12 +0,0 @@
|
||||
diff -up qt-everywhere-opensource-src-4.7.1/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro.webkit_debug_2 qt-everywhere-opensource-src-4.7.1/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro
|
||||
--- qt-everywhere-opensource-src-4.7.1/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro.webkit_debug_2 2010-11-05 20:55:20.000000000 -0500
|
||||
+++ qt-everywhere-opensource-src-4.7.1/src/3rdparty/webkit/JavaScriptCore/JavaScriptCore.pro 2011-02-23 14:34:32.891416772 -0600
|
||||
@@ -36,7 +36,7 @@ CONFIG(QTDIR_build) {
|
||||
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
|
||||
unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
|
||||
|
||||
-CONFIG(QTDIR_build) {
|
||||
+!CONFIG(webkit-debug):CONFIG(QTDIR_build) {
|
||||
# Remove the following 2 lines if you want debug information in JavaScriptCore
|
||||
CONFIG -= separate_debug_info
|
||||
CONFIG += no_debug_info
|
208
qt.spec
208
qt.spec
@ -4,13 +4,6 @@
|
||||
# -no-pch disables precompiled headers, make ccache-friendly
|
||||
%define no_pch -no-pch
|
||||
|
||||
## disable javascript JIT compiler (selinux crasher)
|
||||
## WAS https://bugs.webkit.org/show_bug.cgi?id=35154
|
||||
#define no_javascript_jit -no-javascript-jit
|
||||
|
||||
# enable kde-qt integration/patches
|
||||
%define kde_qt 1
|
||||
|
||||
# See http://bugzilla.redhat.com/223663
|
||||
%define multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64 sparcv9
|
||||
|
||||
@ -18,14 +11,15 @@ Summary: Qt toolkit
|
||||
Name: qt
|
||||
Epoch: 1
|
||||
Version: 4.8.0
|
||||
Release: 0.4.tp%{?dist}
|
||||
Release: 0.5.beta1%{?dist}
|
||||
|
||||
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
|
||||
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
|
||||
Group: System Environment/Libraries
|
||||
Url: http://www.qtsoftware.com/
|
||||
Source0: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-%{version}-tp.tar.gz
|
||||
Source0: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-%{version}-beta1.tar.gz
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
Obsoletes: qt4 < %{version}-%{release}
|
||||
Provides: qt4 = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4%{?_isa} = %{version}-%{release}}
|
||||
@ -49,9 +43,6 @@ Patch15: qt-x11-opensource-src-4.5.1-enable_ft_lcdfilter.patch
|
||||
# workaround for gdal/grass crashers wrt glib_eventloop null deref's
|
||||
Patch23: qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
|
||||
|
||||
# remove dependency of webkit in assistant
|
||||
Patch24: qt-everywhere-opensource-src-4.7.1-assistant_no_webkit.patch
|
||||
|
||||
## upstreamable bits
|
||||
# fix invalid inline assembly in qatomic_{i386,x86_64}.h (de)ref implementations
|
||||
Patch53: qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
|
||||
@ -63,12 +54,6 @@ Patch54: qt-everywhere-opensource-src-4.7.0-beta2-mysql_config.patch
|
||||
# http://bugs.kde.org/show_bug.cgi?id=180051#c22
|
||||
Patch55: qt-everywhere-opensource-src-4.6.2-cups.patch
|
||||
|
||||
# Add s390x as 64bit and s390 as 31bit bigendian platform
|
||||
Patch56: qt-everywhere-opensource-src-4.7.0-beta1-s390x.patch
|
||||
|
||||
# qtwebkit to search nspluginwrapper paths too
|
||||
Patch58: qt-everywhere-opensource-src-4.7.0-beta1-qtwebkit_pluginpath.patch
|
||||
|
||||
# fix 24bit color issue
|
||||
Patch63: qt-everywhere-opensource-src-4.7.0-bpp24.patch
|
||||
|
||||
@ -82,19 +67,8 @@ Patch65: qt-everywhere-opensource-src-4.8.0-tp-qtreeview-kpackagekit-crash.patch
|
||||
Patch66: qt-everywhere-opensource-src-4.8.0-tp-openssl.patch
|
||||
|
||||
# upstream patches
|
||||
# adds debug support to webkit/JavaScriptCore
|
||||
# UPSTREAM ME
|
||||
Patch105: qt-everywhere-opensource-src-4.7.1-webkit_debug_javascriptcore.patch
|
||||
# bz#705348, per-font autohint fontconfig directives globally disable the bytecode interpreter
|
||||
Patch107: QTBUG-19947-fontconfig-2.patch
|
||||
|
||||
# kde-qt git patches
|
||||
Patch202: 0002-This-patch-makes-override-redirect-windows-popup-men.patch
|
||||
Patch205: 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch
|
||||
Patch212: 0012-Add-context-to-tr-calls-in-QShortcut.patch
|
||||
|
||||
# security patches
|
||||
Patch300: qt-everywhere-opensource-src-4.7.0-CVE-2010-1822-crash-svg-image.patch
|
||||
|
||||
# desktop files
|
||||
Source20: assistant.desktop
|
||||
@ -123,18 +97,8 @@ Source31: hi48-app-qt4-logo.png
|
||||
%define tds -plugin-sql-tds
|
||||
%define phonon -phonon
|
||||
%define phonon_backend -phonon-backend
|
||||
%if 0%{?fedora} && 0%{?fedora} < 16
|
||||
# HACK: omit webkit from packaging
|
||||
# TODO: fixup build process to not build it either (but that means making use
|
||||
# of system qtwebkit where needed (like assistant, libqwebview designer plugin, ...)
|
||||
%define webkit_packaged 1
|
||||
%endif
|
||||
%ifarch s390
|
||||
# workaround memory exhaustion during linking of libQtWebKit on s390
|
||||
%define webkit -webkit
|
||||
%else
|
||||
%define webkit -webkit-debug
|
||||
%endif
|
||||
# FIXME/TODO: use system webkit for assistant, examples/webkit, demos/browser
|
||||
#define webkit -webkit
|
||||
%define gtkstyle -gtkstyle
|
||||
%define dbus -dbus-linked
|
||||
|
||||
@ -325,30 +289,28 @@ BuildArch: noarch
|
||||
Summary: Programming examples for %{name}
|
||||
Group: Documentation
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description examples
|
||||
%{summary}.
|
||||
|
||||
## FIXME, ftbfs -- rex
|
||||
## .obj/release-shared/qwssignalhandler.o: In function `QWSSignalHandler::clear()': qwssignalhandler.cpp:(.text+0x349): undefined reference to `QWSLock::~QWSLock()'
|
||||
#define qvfb 1
|
||||
%package qvfb
|
||||
Summary: Virtual frame buffer for Qt for Embedded Linux
|
||||
Group: Applications/Emulators
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description qvfb
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package ibase
|
||||
Summary: IBase driver for Qt's SQL classes
|
||||
Group: System Environment/Libraries
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: qt4-ibase = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4-ibase%{?_isa} = %{version}-%{release}}
|
||||
|
||||
%description ibase
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package mysql
|
||||
Summary: MySQL driver for Qt's SQL classes
|
||||
Group: System Environment/Libraries
|
||||
@ -358,11 +320,9 @@ Provides: qt4-MySQL = %{version}-%{release}
|
||||
Obsoletes: qt4-mysql < %{version}-%{release}
|
||||
Provides: qt4-mysql = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4-mysql%{?_isa} = %{version}-%{release}}
|
||||
|
||||
%description mysql
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package odbc
|
||||
Summary: ODBC driver for Qt's SQL classes
|
||||
Group: System Environment/Libraries
|
||||
@ -372,11 +332,9 @@ Provides: qt4-ODBC = %{version}-%{release}
|
||||
Obsoletes: qt4-odbc < %{version}-%{release}
|
||||
Provides: qt4-odbc = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4-odbc%{?_isa} = %{version}-%{release}}
|
||||
|
||||
%description odbc
|
||||
%{summary}.
|
||||
|
||||
|
||||
%package postgresql
|
||||
Summary: PostgreSQL driver for Qt's SQL classes
|
||||
Group: System Environment/Libraries
|
||||
@ -386,7 +344,6 @@ Provides: qt4-PostgreSQL = %{version}-%{release}
|
||||
Obsoletes: qt4-postgresql < %{version}-%{release}
|
||||
Provides: qt4-postgresql = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4-postgresql%{?_isa} = %{version}-%{release}}
|
||||
|
||||
%description postgresql
|
||||
%{summary}.
|
||||
|
||||
@ -399,7 +356,6 @@ Provides: qt4-SQLite = %{version}-%{release}
|
||||
Obsoletes: qt4-sqlite < %{version}-%{release}
|
||||
Provides: qt4-sqlite = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4-sqlite%{?_isa} = %{version}-%{release}}
|
||||
|
||||
%description sqlite
|
||||
%{summary}.
|
||||
|
||||
@ -409,40 +365,9 @@ Group: System Environment/Libraries
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: qt4-tds = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4-tds%{?_isa} = %{version}-%{release}}
|
||||
|
||||
%description tds
|
||||
%{summary}.
|
||||
|
||||
%if 0%{?webkit_packaged}
|
||||
%package webkit
|
||||
Summary: Qt WebKit library
|
||||
Group: System Environment/Libraries
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: qt4-webkit = %{version}-%{release}
|
||||
Provides: qt4-webkit%{?_isa} = %{version}-%{release}
|
||||
#Provides: QtWebKit = 1.0.0-1
|
||||
Obsoletes: WebKit-qt < 1.0.0-1
|
||||
Provides: WebKit-qt = 1.0.0-1
|
||||
%description webkit
|
||||
%{summary}.
|
||||
|
||||
%package webkit-devel
|
||||
Summary: Development files for %{name}-webkit-devel
|
||||
Group: System Environment/Libraries
|
||||
# for upgrade path prior to -webkit splits
|
||||
Obsoletes: qt-devel < 1:4.7.0-0.9
|
||||
Obsoletes: qt4-devel < 4.7.0-0.9
|
||||
Requires: %{name}-webkit%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: qt4-webkit-devel = %{version}-%{release}
|
||||
Provides: qt4-webkit-devel%{?_isa} = %{version}-%{release}
|
||||
#Provides: QtWebKit-devel = 1.0.0-1
|
||||
Obsoletes: WebKit-qt < 1.0.0-1
|
||||
Provides: WebKit-qt = 1.0.0-1
|
||||
%description webkit-devel
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%package x11
|
||||
Summary: Qt GUI-related libraries
|
||||
Group: System Environment/Libraries
|
||||
@ -453,45 +378,30 @@ Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: qt4-x11 < %{version}-%{release}
|
||||
Provides: qt4-x11 = %{version}-%{release}
|
||||
%{?_isa:Provides: qt4-x11%{?_isa} = %{version}-%{release}}
|
||||
Requires(post): /sbin/ldconfig
|
||||
Requires(postun): /sbin/ldconfig
|
||||
|
||||
%description x11
|
||||
Qt libraries used for drawing widgets and OpenGL items.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n qt-everywhere-opensource-src-%{version}-tp
|
||||
%setup -q -n qt-everywhere-opensource-src-%{version}
|
||||
|
||||
|
||||
%patch4 -p1 -b .uic_multilib
|
||||
%patch15 -p1 -b .enable_ft_lcdfilter
|
||||
%patch23 -p1 -b .glib_eventloop_nullcheck
|
||||
## make -assistant subpkg instead (#660287#9)
|
||||
#patch24 -p1 -b .assistant_no_webkit
|
||||
## TODO: still worth carrying? if so, upstream it.
|
||||
%patch53 -p1 -b .qatomic-inline-asm
|
||||
## TODO: upstream me
|
||||
%patch54 -p1 -b .mysql_config
|
||||
%patch55 -p1 -b .cups-1
|
||||
%patch56 -p1 -b .s390x
|
||||
%patch58 -p1 -b .qtwebkit_pluginpath
|
||||
%patch63 -p1 -b .bpp24
|
||||
%patch64 -p1 -b .QTBUG-14467
|
||||
%patch65 -p1 -b .qtreeview-kpackagekit-crash
|
||||
%patch66 -p1 -b .ssl
|
||||
|
||||
# upstream patches
|
||||
%patch105 -p1 -b .webkit_debug_javascriptcore
|
||||
%patch107 -p1 -b .QTBUG-19947-fontconfig-2
|
||||
|
||||
# kde-qt branch
|
||||
%if 0%{?kde_qt}
|
||||
%patch202 -p1 -b .kde-qt-0002
|
||||
%patch205 -p1 -b .kde-qt-0005
|
||||
%patch212 -p1 -b .kde-qt-0012
|
||||
%endif
|
||||
|
||||
# security fixes
|
||||
%patch300 -p1 -b .CVE-2010-1822-crash-svg-image
|
||||
|
||||
# drop -fexceptions from $RPM_OPT_FLAGS
|
||||
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
@ -508,8 +418,6 @@ RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
|
||||
%define platform linux-g++
|
||||
%endif
|
||||
|
||||
# multilib hacks
|
||||
# multilib hacks no longer required
|
||||
%patch2 -p1 -b .multilib
|
||||
# drop backup file(s), else they get installed too, http://bugzilla.redhat.com/639463
|
||||
rm -fv mkspecs/linux-g++*/qmake.conf.multilib
|
||||
@ -517,10 +425,8 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib
|
||||
|
||||
sed -i \
|
||||
-e "s|-O2|$RPM_OPT_FLAGS|g" \
|
||||
-e "s|g++.conf|g++-multilib.conf|g" mkspecs/%{platform}/qmake.conf
|
||||
|
||||
sed -e "s|^QMAKE_CFLAGS_RELEASE|#QMAKE_CFLAGS_RELEASE|g" \
|
||||
mkspecs/common/g++.conf > mkspecs/common/g++-multilib.conf
|
||||
-e "s|g++.conf|g++-multilib.conf|g" \
|
||||
mkspecs/%{platform}/qmake.conf
|
||||
|
||||
%if "%{_qt4_libdir}" == "%{_libdir}"
|
||||
sed -i -e "s|^QMAKE_LIBDIR_QT.*=.*|QMAKE_LIBDIR_QT =|" mkspecs/common/linux.conf
|
||||
@ -543,9 +449,6 @@ done
|
||||
|
||||
%build
|
||||
|
||||
# add '-importdir %{_qt4_importdir}' when it works, right now fails with:
|
||||
# %{_qt4_importdir} unknown argument
|
||||
|
||||
# build shared, threaded (default) libraries
|
||||
./configure -v \
|
||||
-confirm-license \
|
||||
@ -558,6 +461,7 @@ done
|
||||
-docdir %{_qt4_docdir} \
|
||||
-examplesdir %{_qt4_examplesdir} \
|
||||
-headerdir %{_qt4_headerdir} \
|
||||
-importdir %{_qt4_importdir} \
|
||||
-libdir %{_qt4_libdir} \
|
||||
-plugindir %{_qt4_plugindir} \
|
||||
-sysconfdir %{_qt4_sysconfdir} \
|
||||
@ -609,7 +513,7 @@ done
|
||||
make %{?_smp_mflags}
|
||||
|
||||
# TODO: consider patching tools/tools.pro to enable building this by default
|
||||
make %{?_smp_mflags} -C tools/qvfb
|
||||
%{?qvfb:make %{?_smp_mflags} -C tools/qvfb}
|
||||
|
||||
# recreate .qm files
|
||||
LD_LIBRARY_PATH=`pwd`/lib bin/lrelease translations/*.ts
|
||||
@ -618,9 +522,16 @@ LD_LIBRARY_PATH=`pwd`/lib bin/lrelease translations/*.ts
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
|
||||
mkdir -p %{buildroot}%{_qt4_docdir}/{html,qch,src}
|
||||
|
||||
make install INSTALL_ROOT=%{buildroot}
|
||||
|
||||
%if 0%{?qbfb}
|
||||
make install INSTALL_ROOT=%{buildroot} -C tools/qvfb
|
||||
%find_lang qvfb --with-qt --without-mo}
|
||||
%else
|
||||
rm -f %{buildroot}%{_qt4_translationdir}/qvfb*.qm
|
||||
%endif
|
||||
|
||||
%if 0%{?private}
|
||||
# install private headers
|
||||
@ -636,7 +547,7 @@ rsync -aR \
|
||||
desktop-file-install \
|
||||
--dir=%{buildroot}%{_datadir}/applications \
|
||||
--vendor="qt4" \
|
||||
%{?docs:%{SOURCE20}} %{SOURCE21} %{SOURCE22} %{?demos:%{SOURCE23}} %{SOURCE24}
|
||||
%{SOURCE20} %{SOURCE21} %{SOURCE22} %{?demos:%{SOURCE23}} %{SOURCE24}
|
||||
|
||||
## pkg-config
|
||||
# strip extraneous dirs/libraries
|
||||
@ -716,14 +627,6 @@ popd
|
||||
install -p -m644 -D %{SOURCE5} %{buildroot}%{_qt4_headerdir}/QtCore/qconfig-multilib.h
|
||||
ln -sf qconfig-multilib.h %{buildroot}%{_qt4_headerdir}/QtCore/qconfig.h
|
||||
ln -sf ../QtCore/qconfig.h %{buildroot}%{_qt4_headerdir}/Qt/qconfig.h
|
||||
|
||||
%if "%{_qt4_datadir}" != "%{_qt4_prefix}"
|
||||
# multilib: mkspecs hacks, unfortunately, breaks some stuff
|
||||
mkdir %{buildroot}%{_qt4_prefix}/mkspecs
|
||||
mv %{buildroot}%{_qt4_datadir}/mkspecs/{default,linux-g++*,qconfig.pri} \
|
||||
%{buildroot}%{_qt4_prefix}/mkspecs/
|
||||
ln -s %{_qt4_datadir}/mkspecs/common %{buildroot}%{_qt4_prefix}/mkspecs/common
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%if "%{_qt4_libdir}" != "%{_libdir}"
|
||||
@ -737,11 +640,9 @@ install -p -m644 -D %{SOURCE4} %{buildroot}%{_qt4_sysconfdir}/Trolltech.conf
|
||||
# qt4-logo (generic) icons
|
||||
install -p -m644 -D %{SOURCE30} %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/qt4-logo.png
|
||||
install -p -m644 -D %{SOURCE31} %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/qt4-logo.png
|
||||
%if 0%{?docs}
|
||||
# assistant icons
|
||||
install -p -m644 -D tools/assistant/tools/assistant/images/assistant.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/assistant.png
|
||||
install -p -m644 -D tools/assistant/tools/assistant/images/assistant-128.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/assistant.png
|
||||
%endif
|
||||
# designer icons
|
||||
install -p -m644 -D tools/designer/src/designer/images/designer.png %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/designer.png
|
||||
# linguist icons
|
||||
@ -812,8 +713,7 @@ rm -fv %{buildroot}%{_qt4_plugindir}/designer/libphononwidgets.so
|
||||
# backend
|
||||
rm -fv %{buildroot}%{_qt4_plugindir}/phonon_backend/*_gstreamer.so
|
||||
rm -fv %{buildroot}%{_datadir}/kde4/services/phononbackends/gstreamer.desktop
|
||||
|
||||
%if ! 0%{?webkit_packaged}
|
||||
# nuke bundled webkit bits
|
||||
rm -fv %{buildroot}%{_qt4_datadir}/mkspecs/modules/qt_webkit_version.pri
|
||||
rm -fv %{buildroot}%{_qt4_headerdir}/Qt/qgraphicswebview.h
|
||||
rm -fv %{buildroot}%{_qt4_headerdir}/Qt/qweb*.h
|
||||
@ -822,14 +722,12 @@ rm -frv %{buildroot}%{_qt4_importdir}/QtWebKit/
|
||||
rm -fv %{buildroot}%{_qt4_libdir}/libQtWebKit.*
|
||||
rm -fv %{buildroot}%{_qt4_plugindir}/designer/libqwebview.so
|
||||
rm -fv %{buildroot}%{_libdir}/pkgconfig/QtWebKit.pc
|
||||
%endif
|
||||
|
||||
%find_lang qt --with-qt --without-mo
|
||||
|
||||
%find_lang assistant --with-qt --without-mo
|
||||
%find_lang qt_help --with-qt --without-mo
|
||||
%find_lang qtconfig --with-qt --without-mo
|
||||
%find_lang qvfb --with-qt --without-mo
|
||||
cat assistant.lang qt_help.lang qtconfig.lang >qt-x11.lang
|
||||
|
||||
%find_lang designer --with-qt --without-mo
|
||||
@ -869,12 +767,6 @@ touch --no-create %{_datadir}/icons/hicolor ||:
|
||||
gtk-update-icon-cache -q %{_datadir}/icons/hicolor 2> /dev/null ||:
|
||||
fi
|
||||
|
||||
%if 0%{?webkit_packaged}
|
||||
%post webkit -p /sbin/ldconfig
|
||||
|
||||
%postun webkit -p /sbin/ldconfig
|
||||
%endif
|
||||
|
||||
%post x11
|
||||
/sbin/ldconfig
|
||||
touch --no-create %{_datadir}/icons/hicolor ||:
|
||||
@ -907,10 +799,11 @@ fi
|
||||
%else
|
||||
%dir %{_qt4_datadir}
|
||||
%endif
|
||||
%if 0%{?docs}
|
||||
%dir %{_qt4_docdir}
|
||||
%dir %{_qt4_docdir}/html/
|
||||
%dir %{_qt4_docdir}/qch/
|
||||
%endif
|
||||
%dir %{_qt4_docdir}/src/
|
||||
|
||||
%if "%{_qt4_sysconfdir}" != "%{_sysconfdir}"
|
||||
%dir %{_qt4_sysconfdir}
|
||||
%endif
|
||||
@ -1045,17 +938,6 @@ fi
|
||||
%{_datadir}/applications/*linguist.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/linguist*
|
||||
%{?docs:%{_qt4_docdir}/qch/linguist.qch}
|
||||
%if 0%{?webkit_packaged}
|
||||
%exclude %{_qt4_datadir}/mkspecs/modules/qt_webkit_version.pri
|
||||
%exclude %{_qt4_headerdir}/Qt/QtWebKit
|
||||
%exclude %{_qt4_headerdir}/Qt/qgraphicswebview.h
|
||||
%exclude %{_qt4_headerdir}/Qt/qweb*.h
|
||||
%exclude %{_qt4_headerdir}/QtWebKit/
|
||||
%exclude %{_qt4_libdir}/libQtWebKit.prl
|
||||
%exclude %{_qt4_libdir}/libQtWebKit.so
|
||||
%exclude %{_qt4_libdir}/libQtWebKit_debug.so
|
||||
%exclude %{_libdir}/pkgconfig/QtWebKit.pc
|
||||
%endif
|
||||
%if 0%{?private}
|
||||
%exclude %{_qt4_headerdir}/*/private/
|
||||
|
||||
@ -1074,11 +956,11 @@ fi
|
||||
%if 0%{?docs}
|
||||
%files doc
|
||||
%defattr(-,root,root,-)
|
||||
%{_qt4_docdir}/html
|
||||
%{_qt4_docdir}/html/*
|
||||
%{_qt4_docdir}/qch/*.qch
|
||||
%exclude %{_qt4_docdir}/qch/designer.qch
|
||||
%exclude %{_qt4_docdir}/qch/linguist.qch
|
||||
%{_qt4_docdir}/src/
|
||||
%{_qt4_docdir}/src/*
|
||||
#{_qt4_prefix}/doc
|
||||
%endif
|
||||
|
||||
@ -1088,10 +970,12 @@ fi
|
||||
%{_qt4_examplesdir}/
|
||||
%endif
|
||||
|
||||
%if 0%{?qvfb}
|
||||
%files qvfb -f qvfb.lang
|
||||
%defattr(-,root,root,-)
|
||||
%{_bindir}/qvfb
|
||||
%{_qt4_bindir}/qvfb
|
||||
%endif
|
||||
|
||||
%if "%{?ibase}" == "-plugin-sql-ibase"
|
||||
%files ibase
|
||||
@ -1123,27 +1007,6 @@ fi
|
||||
%{_qt4_plugindir}/sqldrivers/libqsqltds*
|
||||
%endif
|
||||
|
||||
%if 0%{?webkit_packaged}
|
||||
%files webkit
|
||||
%defattr(-,root,root,-)
|
||||
%{_qt4_libdir}/libQtWebKit.so.4*
|
||||
%{_qt4_importdir}/QtWebKit/
|
||||
# FIXME ? what do with this in webkit_packaged=0 case? -- Rex
|
||||
%{_qt4_plugindir}/designer/libqwebview.so
|
||||
|
||||
%files webkit-devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_qt4_datadir}/mkspecs/modules/qt_webkit_version.pri
|
||||
%{_qt4_headerdir}/Qt/QtWebKit
|
||||
%{_qt4_headerdir}/Qt/qgraphicswebview.h
|
||||
%{_qt4_headerdir}/Qt/qweb*.h
|
||||
%{_qt4_headerdir}/QtWebKit/
|
||||
%{_qt4_libdir}/libQtWebKit.prl
|
||||
%{_qt4_libdir}/libQtWebKit.so
|
||||
%{_qt4_libdir}/libQtWebKit_debug.so
|
||||
%{_libdir}/pkgconfig/QtWebKit.pc
|
||||
%endif
|
||||
|
||||
%files x11 -f qt-x11.lang
|
||||
%defattr(-,root,root,-)
|
||||
%dir %{_qt4_importdir}/
|
||||
@ -1162,9 +1025,6 @@ fi
|
||||
%{_qt4_plugindir}/*
|
||||
%exclude %{_qt4_plugindir}/crypto
|
||||
%exclude %{_qt4_plugindir}/sqldrivers
|
||||
%if 0%{?webkit_packaged}
|
||||
%exclude %{_qt4_plugindir}/designer/libqwebview.so
|
||||
%endif
|
||||
%if "%{_qt4_bindir}" != "%{_bindir}"
|
||||
%{?dbus:%{_bindir}/qdbusviewer}
|
||||
%{_bindir}/qmlviewer
|
||||
@ -1175,6 +1035,12 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jul 20 2011 Rex Dieter <rdieter@fedoraproject.org> 1:4.8.0-0.5.tp
|
||||
- 4.8.0-beta1
|
||||
- drop webkit_packaged conditional
|
||||
- drop old patches
|
||||
- drop qvfb (for now, ftbfs)
|
||||
|
||||
* Wed Jul 13 2011 Than Ngo <than@redhat.com> - 1:4.8.0-0.4.tp
|
||||
- move macros.* to -devel
|
||||
|
||||
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
||||
3f5d0553c9b741eecd5116e1ac7384ff qt-everywhere-opensource-src-4.8.0-tp.tar.gz
|
||||
d9f511e4b51983b4e10eb58b320416d5 hi128-app-qt4-logo.png
|
||||
6dcc0672ff9e60a6b83f95c5f42bec5b hi48-app-qt4-logo.png
|
||||
b6d9da4c89cda9c555b9944f883e937a qt-everywhere-opensource-src-4.8.0-beta1.tar.gz
|
||||
|
Loading…
Reference in New Issue
Block a user