commit: 4f5873115bca3a0e697598a10f67d2294cf81364 Author: David Seifert <soap <AT> gentoo <DOT> org> AuthorDate: Fri Oct 7 21:04:05 2016 +0000 Commit: David Seifert <soap <AT> gentoo <DOT> org> CommitDate: Fri Oct 7 21:04:24 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f587311
sci-chemistry/sparky: Allow for compiling with GCC 6 Gentoo-bug: 596012 * EAPI=6 * Patch by Peter Levine Package-Manager: portage-2.3.1 sci-chemistry/sparky/files/3.115-fix-c++14.patch | 32 +++++++++++++++++++++ ...arky-3.115-r1.ebuild => sparky-3.115-r2.ebuild} | 33 ++++++++++------------ 2 files changed, 47 insertions(+), 18 deletions(-) diff --git a/sci-chemistry/sparky/files/3.115-fix-c++14.patch b/sci-chemistry/sparky/files/3.115-fix-c++14.patch new file mode 100644 index 00000000..3a05ea7 --- /dev/null +++ b/sci-chemistry/sparky/files/3.115-fix-c++14.patch @@ -0,0 +1,32 @@ +Fix the custom new/new[] operators in order to account for changed +noexcept semantics in C++11. +See also: https://bugs.gentoo.org/show_bug.cgi?id=596012 + +Patch by Peter Levine + +--- a/c++/memalloc.cc ++++ b/c++/memalloc.cc +@@ -39,7 +39,10 @@ + + // ---------------------------------------------------------------------------- + // +-void *operator new(size_t size) throw(std::bad_alloc) ++void *operator new(size_t size) ++#if __cplusplus < 201103L ++throw(std::bad_alloc) ++#endif + { + void *value = allocate(size); + if (tracking_memory) +@@ -72,7 +75,10 @@ + + // ---------------------------------------------------------------------------- + // +-void *operator new[](size_t size) throw(std::bad_alloc) ++void *operator new[](size_t size) ++#if __cplusplus < 201103L ++throw(std::bad_alloc) ++#endif + { + void *value = allocate(size); + if (tracking_memory) diff --git a/sci-chemistry/sparky/sparky-3.115-r1.ebuild b/sci-chemistry/sparky/sparky-3.115-r2.ebuild similarity index 89% rename from sci-chemistry/sparky/sparky-3.115-r1.ebuild rename to sci-chemistry/sparky/sparky-3.115-r2.ebuild index 1dc0780..b04634e 100644 --- a/sci-chemistry/sparky/sparky-3.115-r1.ebuild +++ b/sci-chemistry/sparky/sparky-3.115-r2.ebuild @@ -1,13 +1,13 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=5 +EAPI=6 PYTHON_COMPAT=( python2_7 ) PYTHON_REQ_USE="tk" -inherit eutils flag-o-matic multilib prefix python-single-r1 toolchain-funcs +inherit flag-o-matic prefix python-single-r1 toolchain-funcs DESCRIPTION="Graphical NMR assignment and integration program for large polymers" HOMEPAGE="http://www.cgl.ucsf.edu/home/sparky/" @@ -17,7 +17,6 @@ LICENSE="sparky" SLOT="0" KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" IUSE="examples" - REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND="${PYTHON_DEPS} @@ -35,7 +34,8 @@ PATCHES=( "${FILESDIR}"/${PV}-wrapper-r1.patch "${FILESDIR}"/${PV}-paths.patch "${FILESDIR}"/${PV}-makefile.patch - ) + "${FILESDIR}"/${PV}-fix-c++14.patch +) pkg_setup() { python-single-r1_pkg_setup @@ -44,7 +44,7 @@ pkg_setup() { } src_prepare() { - epatch ${PATCHES[@]} + default sed -i \ -e "s:^\(set PYTHON =\).*:\1 ${PYTHON}:g" \ @@ -92,7 +92,6 @@ src_compile() { src_install() { # The symlinks are needed to avoid hacking the complete code to fix the locations - dobin c++/{{bruk,matrix,peaks,pipe,vnmr}2ucsf,ucsfdata,sparky-no-python} bin/${PN} insinto /usr/share/${PN}/ @@ -100,22 +99,20 @@ src_install() { dosym ../../share/${PN}/print-prolog.ps /usr/$(get_libdir)/${PN}/print-prolog.ps dosym ../../share/${PN}/Sparky /usr/$(get_libdir)/${PN}/Sparky - dohtml -r manual/* - dosym ../../share/doc/${PF}/html /usr/$(get_libdir)/${PN}/manual - python_moduleinto ${PN} python_domodule python/*.py c++/{spy.so,_tkinter.so} - - python_optimize - dosym ../${EPYTHON}/site-packages /usr/$(get_libdir)/${PN}/python + rm manual/{pkzip.cfg,Makefile} || die + mv {manual/,}manual.ps || die + local DOCS=( README manual.ps ) + local HTML_DOCS=( manual/. ) + einstalldocs + newdoc python/README README.python + dosym ../../share/doc/${PF}/html /usr/$(get_libdir)/${PN}/manual + if use examples; then - insinto /usr/share/doc/${PF}/ - doins -r example || die + dodoc -r example dosym ../../share/doc/${PF}/example /usr/$(get_libdir)/${PN}/example fi - - dodoc README - newdoc python/README README.python }
