summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkos Chandras <hwoarang@gentoo.org>2009-04-22 11:06:12 +0000
committerMarkos Chandras <hwoarang@gentoo.org>2009-04-22 11:06:12 +0000
commit1fac3d4cfcd8126b13640cd9c992e20515f95d02 (patch)
tree30203b5360f44c1b2bbed985d8c9a3b5c7b3f026 /x11-libs
parentVarious fixes submitted by Luke Chamberlain (luke@re.gen.nz) (diff)
downloadgentoo-2-1fac3d4cfcd8126b13640cd9c992e20515f95d02.tar.gz
gentoo-2-1fac3d4cfcd8126b13640cd9c992e20515f95d02.tar.bz2
gentoo-2-1fac3d4cfcd8126b13640cd9c992e20515f95d02.zip
New revbump for qt-gui. Fixes bug 265878, bug 260244, bug 259414
(Portage version: 2.2_rc31/cvs/Linux x86_64)
Diffstat (limited to 'x11-libs')
-rw-r--r--x11-libs/qt-gui/ChangeLog10
-rw-r--r--x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-linguist-crash.patch41
-rw-r--r--x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-lrelease.patch23
-rw-r--r--x11-libs/qt-gui/qt-gui-4.5.0-r2.ebuild166
4 files changed, 239 insertions, 1 deletions
diff --git a/x11-libs/qt-gui/ChangeLog b/x11-libs/qt-gui/ChangeLog
index 8faf8caa1218..9c32a1c71bc8 100644
--- a/x11-libs/qt-gui/ChangeLog
+++ b/x11-libs/qt-gui/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for x11-libs/qt-gui
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.47 2009/04/15 12:18:54 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/ChangeLog,v 1.48 2009/04/22 11:06:12 hwoarang Exp $
+
+*qt-gui-4.5.0-r2 (22 Apr 2009)
+
+ 22 Apr 2009; Markos Chandras <hwoarang@gentoo.org>
+ +files/qt-x11-opensource-src-4.5.0-linguist-crash.patch,
+ +files/qt-x11-opensource-src-4.5.0-lrelease.patch,
+ +qt-gui-4.5.0-r2.ebuild:
+ New revbump for qt-gui. Fixes bug 265878, bug 260244, bug 259414
15 Apr 2009; Brent Baude <ranger@gentoo.org> qt-gui-4.4.2-r3.ebuild:
Marking qt-gui-4.4.2-r3 ppc64 for bug 263945
diff --git a/x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-linguist-crash.patch b/x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-linguist-crash.patch
new file mode 100644
index 000000000000..aa6c2497fb0e
--- /dev/null
+++ b/x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-linguist-crash.patch
@@ -0,0 +1,41 @@
+diff -up qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp.orig qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp
+--- qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp.orig 2009-03-16 12:50:03.000000000 +0100
++++ qt-x11-opensource-src-4.5.0/tools/linguist/shared/profileevaluator.cpp 2009-03-17 00:42:51.000000000 +0100
+@@ -86,6 +86,7 @@ public:
+ void enterScope(bool multiLine);
+ void leaveScope();
+ void finalizeBlock();
++ void cleanup();
+
+ // implementation of AbstractProItemVisitor
+ bool visitBeginProBlock(ProBlock *block);
+@@ -164,6 +165,15 @@ ProFileEvaluator::Private::Private(ProFi
+ m_contNextLine = false;
+ }
+
++void ProFileEvaluator::Private::cleanup()
++{
++ m_commentItem = 0;
++ m_block = 0;
++ m_proitem.clear();
++ m_blockstack.clear();
++ m_pendingComment.clear();
++}
++
+ bool ProFileEvaluator::Private::read(ProFile *pro)
+ {
+ QFile file(pro->fileName());
+@@ -180,11 +190,14 @@ bool ProFileEvaluator::Private::read(Pro
+ while (!ts.atEnd()) {
+ QString line = ts.readLine();
+ if (!parseLine(line)) {
++ cleanup();
+ q->errorMessage(format(".pro parse failure."));
+ return false;
+ }
+ ++m_lineNo;
+ }
++
++ cleanup();
+ return true;
+ }
diff --git a/x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-lrelease.patch b/x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-lrelease.patch
new file mode 100644
index 000000000000..284520e8595a
--- /dev/null
+++ b/x11-libs/qt-gui/files/qt-x11-opensource-src-4.5.0-lrelease.patch
@@ -0,0 +1,23 @@
+Index: qt-x11-opensource-src-4.5.0/tools/linguist/lrelease/main.cpp
+===================================================================
+--- qt-x11-opensource-src-4.5.0.orig/tools/linguist/lrelease/main.cpp
++++ qt-x11-opensource-src-4.5.0/tools/linguist/lrelease/main.cpp
+@@ -88,6 +88,8 @@ static bool loadTsFile(Translator &tor,
+ bool ok = tor.load(tsFileName, cd, QLatin1String("auto"));
+ if (!ok) {
+ qWarning("lrelease error: %s\n", qPrintable(cd.error()));
++ // dont fail
++ ok = true;
+ } else {
+ if (!cd.errors().isEmpty())
+ printOut(cd.error());
+@@ -102,7 +104,8 @@ static bool loadTsFile(Translator &tor,
+ if (!msg.comment().isEmpty())
+ qWarning("\n* Comment: %s", qPrintable(msg.comment()));
+ }
+- ok = false;
++ // dont fail
++ //ok = false;
+ }
+ }
+ return ok;
diff --git a/x11-libs/qt-gui/qt-gui-4.5.0-r2.ebuild b/x11-libs/qt-gui/qt-gui-4.5.0-r2.ebuild
new file mode 100644
index 000000000000..445840a72529
--- /dev/null
+++ b/x11-libs/qt-gui/qt-gui-4.5.0-r2.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/qt-gui/qt-gui-4.5.0-r2.ebuild,v 1.1 2009/04/22 11:06:12 hwoarang Exp $
+
+EAPI="2"
+inherit eutils qt4-build
+
+DESCRIPTION="The GUI module for the Qt toolkit"
+SLOT="4"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="+accessibility cups +dbus +glib +gtkstyle mng nas nis raster tiff +qt3support xinerama"
+
+RDEPEND="media-libs/fontconfig
+ >=media-libs/freetype-2
+ media-libs/jpeg
+ media-libs/libpng
+ sys-libs/zlib
+ x11-libs/libXrandr
+ x11-libs/libXcursor
+ x11-libs/libXfont
+ x11-libs/libSM
+ x11-libs/libXi
+ ~x11-libs/qt-core-${PV}[debug=,glib=,qt3support=]
+ ~x11-libs/qt-script-${PV}[debug=]
+ cups? ( net-print/cups )
+ dbus? ( ~x11-libs/qt-dbus-${PV}[debug=] )
+ gtkstyle? ( x11-libs/gtk+:2 )
+ mng? ( >=media-libs/libmng-1.0.9 )
+ nas? ( >=media-libs/nas-1.5 )
+ tiff? ( media-libs/tiff )
+ xinerama? ( x11-libs/libXinerama )"
+DEPEND="${RDEPEND}
+ xinerama? ( x11-proto/xineramaproto )
+ x11-proto/xextproto
+ x11-proto/inputproto"
+PDEPEND="qt3support? ( ~x11-libs/qt-qt3support-${PV}[debug=] )"
+
+QT4_TARGET_DIRECTORIES="
+src/gui
+src/scripttools/
+tools/designer
+tools/linguist
+src/plugins/imageformats/gif
+src/plugins/imageformats/ico
+src/plugins/imageformats/jpeg
+src/plugins/inputmethods"
+
+QT4_EXTRACT_DIRECTORIES="
+include/
+src/
+tools/shared/"
+
+pkg_setup() {
+ if use raster; then
+ ewarn "WARNING: You have enabled raster backend rendering engine."
+ ewarn "This is a new feature and may lead to composite problems"
+ ewarn "screen corruption and broken qt4 or kde4 applications. "
+ ewarn "If you encounter such problems please"
+ ewarn "remove 'raster' use flag and re-compile qt-gui before"
+ ewarn "filling a bug on gentoo bugzilla."
+ ebeep 5
+ fi
+ qt4-build_pkg_setup
+}
+
+src_unpack() {
+ use dbus && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} tools/qdbus/qdbusviewer"
+ use mng && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/imageformats/mng"
+ use tiff && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/imageformats/tiff"
+ use accessibility && QT4_TARGET_DIRECTORIES="${QT4_TARGET_DIRECTORIES} src/plugins/accessible/widgets"
+ QT4_EXTRACT_DIRECTORIES="${QT4_TARGET_DIRECTORIES} ${QT4_EXTRACT_DIRECTORIES}"
+
+ qt4-build_src_unpack
+}
+
+src_prepare() {
+ qt4-build_src_prepare
+
+ # Don't build plugins this go around, because they depend on qt3support lib
+ sed -i -e "s:CONFIG(shared:# &:g" "${S}"/tools/designer/src/src.pro
+
+ # fixing hardcoded fonts, bug #252312
+ EPATCH_OPTS="--ignore-whitespace"
+ epatch "${FILESDIR}"/hardcoded_fonts.patch
+
+ # linguist segfault ( bug #265878 )
+ epatch "${FILESDIR}"/qt-x11-opensource-src-4.5.0-linguist-crash.patch
+
+ # lrelease fail with translations ( bug #260244,bug #259414 )
+ epatch "${FILESDIR}"/qt-x11-opensource-src-4.5.0-lrelease.patch
+
+}
+
+src_configure() {
+ export PATH="${S}/bin:${PATH}"
+ export LD_LIBRARY_PATH="${S}/lib:${LD_LIBRARY_PATH}"
+
+ myconf="$(qt_use accessibility)
+ $(qt_use cups)
+ $(qt_use glib)
+ $(qt_use mng libmng system)
+ $(qt_use nis)
+ $(qt_use tiff libtiff system)
+ $(qt_use dbus qdbus)
+ $(qt_use qt3support)
+ $(qt_use gtkstyle)
+ $(qt_use xinerama)"
+
+ use nas && myconf="${myconf} -system-nas-sound"
+ use raster && myconf="${myconf} -graphicssystem raster"
+
+ myconf="${myconf} -qt-gif -system-libpng -system-libjpeg
+ -no-sql-mysql -no-sql-psql -no-sql-ibase -no-sql-sqlite -no-sql-sqlite2 -no-sql-odbc
+ -xrender -xrandr -xkb -xshape -sm -no-svg"
+
+ # Explictly don't compile these packages.
+ # Emerge "qt-webkit", "qt-phonon", etc for their functionality.
+ myconf="${myconf} -no-webkit -no-phonon -no-dbus -no-opengl"
+
+ qt4-build_src_configure
+}
+
+src_install() {
+ QCONFIG_ADD="x11sm xshape xcursor xfixes xrandr xrender xkb fontconfig
+ $(usev accessibility) $(usev xinerama) $(usev cups) $(usev nas)
+ gif png system-png system-jpeg
+ $(use mng && echo system-mng) $(use tiff && echo system-tiff)"
+ QCONFIG_REMOVE="no-gif no-png"
+ QCONFIG_DEFINE="$(use accessibility && echo QT_ACCESSIBILITY)
+ $(use cups && echo QT_CUPS) QT_FONTCONFIG QT_IMAGEFORMAT_JPEG
+ $(use mng && echo QT_IMAGEFORMAT_MNG) $(use nas && echo QT_NAS)
+ $(use nis && echo QT_NIS) QT_IMAGEFORMAT_PNG QT_SESSIONMANAGER QT_SHAPE
+ $(use tiff && echo QT_IMAGEFORMAT_TIFF) QT_XCURSOR
+ $(use xinerama && echo QT_XINERAMA) QT_XFIXES QT_XKB QT_XRANDR QT_XRENDER"
+
+ qt4-build_src_install
+
+ # remove some unnecessary headers
+ rm -f "${D}${QTHEADERDIR}"/{Qt,QtGui}/{qmacstyle_mac.h,qwindowdefs_win.h} \
+ "${D}${QTHEADERDIR}"/QtGui/QMacStyle
+
+ # qt-creator
+ # some qt-creator headers are located
+ # under /usr/include/qt4/QtDesigner/private.
+ # those headers are just includes of the headers
+ # which are located under tools/designer/src/lib/*
+ # So instead of installing both, we create the private folder
+ # and drop tools/designer/src/lib/* headers in it.
+ dodir /usr/include/qt4/QtDesigner/private/
+ insinto /usr/include/qt4/QtDesigner/private/
+ doins "${S}"/tools/designer/src/lib/shared/*
+ doins "${S}"/tools/designer/src/lib/sdk/*
+
+ # install correct designer and linguist icons, bug 241208
+ dodir /usr/share/pixmaps/ || die "dodir failed"
+ insinto /usr/share/pixmaps/ || die "insinto failed"
+ doins tools/linguist/linguist/images/icons/linguist-128-32.png \
+ tools/designer/src/designer/images/designer.png || die "doins failed"
+ # Note: absolute image path required here!
+ make_desktop_entry /usr/bin/linguist Linguist \
+ /usr/share/pixmaps/linguist-128-32.png 'Qt;Development;GUIDesigner' \
+ || die "make_desktop_entry failed"
+ make_desktop_entry /usr/bin/designer Designer \
+ /usr/share/pixmaps/designer.png 'Qt;Development;GUIDesigner' \
+ || die "make_desktop_entry failed"
+}