sci-libs/libmems: Allow for compiling with GCC 6
authorDavid Seifert <soap@gentoo.org>
Sat, 24 Sep 2016 15:03:46 +0000 (17:03 +0200)
committerDavid Seifert <soap@gentoo.org>
Sat, 24 Sep 2016 19:02:07 +0000 (21:02 +0200)
Gentoo-bug: 594814
* Patch taken from Debian
* Add sub-slot operator for dev-libs/boost
* Delete .la files

Package-Manager: portage-2.3.1

sci-libs/libmems/files/libmems-1.6_p1-fix-c++14.patch [new file with mode: 0644]
sci-libs/libmems/libmems-1.6_p1-r2.ebuild [moved from sci-libs/libmems/libmems-1.6_p1-r1.ebuild with 64% similarity]

diff --git a/sci-libs/libmems/files/libmems-1.6_p1-fix-c++14.patch b/sci-libs/libmems/files/libmems-1.6_p1-fix-c++14.patch
new file mode 100644 (file)
index 0000000..bde8efe
--- /dev/null
@@ -0,0 +1,18 @@
+Description: Correct compilation with g++-6
+Author: Gert Wollny <gw.fossdev@gmail.com>
+Bug-Debian: https://bugs.debian.org/811870
+Forwarded: yes
+Bug: https://sourceforge.net/p/mauve/bugs/46/
+Last-Update: 2016-06-30
+
+--- a/libMems/ProgressiveAligner.cpp
++++ b/libMems/ProgressiveAligner.cpp
+@@ -1599,7 +1599,7 @@
+               c.SetLeftEnd(child_1, ancestral_matches[mI]->LeftEnd(1));\r
+               c.SetOrientation(child_1, ancestral_matches[mI]->Orientation(1));\r
+               c.SetLength(ancestral_matches[mI]->Length(1), child_1);\r
+-              cga_list.push_back(make_tuple(c.Copy(), &bs[mI], ancestral_matches[mI]));\r
++              cga_list.push_back(boost::tuples::make_tuple(c.Copy(), &bs[mI], ancestral_matches[mI]));\r
+       }\r
\r
+       stack<node_id_t> node_stack;\r
similarity index 64%
rename from sci-libs/libmems/libmems-1.6_p1-r1.ebuild
rename to sci-libs/libmems/libmems-1.6_p1-r2.ebuild
index ac61e54553372986e11be5c8a9fa2d50fc996109..c00e615cd49b2963a453c607ea9db9cd17fe0ab6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -12,16 +12,15 @@ SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
 
 SLOT="0"
 LICENSE="GPL-2"
-IUSE="doc"
+IUSE="doc static-libs"
 KEYWORDS="~amd64 ~x86"
 
-CDEPEND="
-       dev-libs/boost
+RDEPEND="
+       dev-libs/boost:=
        sci-libs/libgenome
        sci-libs/libmuscle"
-DEPEND="${CDEPEND}
+DEPEND="${RDEPEND}
        doc? ( app-doc/doxygen )"
-RDEPEND="${CDEPEND}"
 
 PATCHES=(
        "${FILESDIR}"/${P}-build.patch
@@ -29,9 +28,23 @@ PATCHES=(
        "${FILESDIR}"/${P}-gcc-4.7.patch
        "${FILESDIR}"/${P}-broken-constness.patch
        "${FILESDIR}"/${P}-format-security.patch
-       )
+       "${FILESDIR}"/${P}-fix-c++14.patch
+)
 
 src_prepare() {
        default
        eautoreconf
 }
+
+src_configure() {
+       econf \
+               --enable-shared \
+               $(use_enable static-libs static)
+}
+
+src_install() {
+       default
+
+       # package provides .pc files
+       find "${D}" -name '*.la' -delete || die
+}