commit:     a10f8631861e9885de8394d83260506d425318bf
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 27 18:46:09 2016 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Nov 27 18:46:22 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a10f8631

dev-util/xxdiff: fix CXXFLAGS=-Werror=terminate build failure, bug #601018

Patch drops exception-throwing assert from destructor.

Reported-by: Toralf Förster
Bug: https://bugs.gentoo.org/601018

Package-Manager: portage-2.3.2

 .../files/xxdiff-4.0.1-no-throw-in-dtor.patch      | 16 ++++++
 dev-util/xxdiff/xxdiff-4.0.1-r1.ebuild             | 63 ++++++++++++++++++++++
 2 files changed, 79 insertions(+)

diff --git a/dev-util/xxdiff/files/xxdiff-4.0.1-no-throw-in-dtor.patch 
b/dev-util/xxdiff/files/xxdiff-4.0.1-no-throw-in-dtor.patch
new file mode 100644
index 00000000..93162cc
--- /dev/null
+++ b/dev-util/xxdiff/files/xxdiff-4.0.1-no-throw-in-dtor.patch
@@ -0,0 +1,16 @@
+Build failure triggers on CXXFLAGS=-Werror=terminate
+
+  cmdline.cpp: In destructor ‘virtual XxCmdline::~XxCmdline()’:
+  ./defs.h:121:43: error: throw will always call terminate() 
[-Werror=terminate]
+      { throw XxInternalError( XX_EXC_PARAMS ); }                              
             ^
+  cmdline.cpp:369:7: note: in expansion of macro ‘XX_ASSERT’
+
+https://bugs.gentoo.org/601018
+diff --git a/src/cmdline.cpp b/src/cmdline.cpp
+index 8cb0ac9..174b9a4 100644
+--- a/src/cmdline.cpp
++++ b/src/cmdline.cpp
+@@ -368,3 +368,2 @@ XxCmdline::~XxCmdline()
+    for ( int ii = 0; ii < _nbQtOptions; ++ii ) {
+-      XX_ASSERT( _qtOptions[ii] != 0 );
+ #ifndef WINDOWS

diff --git a/dev-util/xxdiff/xxdiff-4.0.1-r1.ebuild 
b/dev-util/xxdiff/xxdiff-4.0.1-r1.ebuild
new file mode 100644
index 00000000..7bce1f0
--- /dev/null
+++ b/dev-util/xxdiff/xxdiff-4.0.1-r1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 eutils qt4-r2
+
+DESCRIPTION="A graphical file and directories comparator and merge tool"
+HOMEPAGE="http://furius.ca/xxdiff/";
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="dev-qt/qtgui:4"
+DEPEND="${RDEPEND}
+       virtual/yacc"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-no-throw-in-dtor.patch
+       pushd src >/dev/null
+       sed -i -e '/qPixmapFromMimeSource/d' *.ui || die #365019
+       qt4-r2_src_prepare
+       popd
+
+       distutils-r1_src_prepare
+}
+
+src_configure() {
+       pushd src >/dev/null
+       qt4-r2_src_configure
+       cat Makefile.extra >> Makefile
+       popd
+
+       distutils-r1_src_configure
+}
+
+src_compile() {
+       pushd src >/dev/null
+       qt4-r2_src_compile
+       popd
+
+       distutils-r1_src_compile
+}
+
+src_install() {
+       dobin bin/xxdiff
+
+       distutils-r1_src_install
+
+       dodoc CHANGES README* TODO doc/*.txt src/doc.txt
+
+       dohtml doc/*.{png,html} src/doc.html
+
+       # example tools, use these to build your own ones
+       insinto /usr/share/doc/${PF}
+       doins -r tools
+}

Reply via email to