commit:     2b11f570fe32b05fd1fd55723fd918ba747ee09b
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  9 21:32:02 2019 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Mar  9 21:32:24 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2b11f570

dev-util/synopsis: tweak for bdwgc-8, bug #679642

Reported-by: Toralf Förster
Closes: https://bugs.gentoo.org/679642
Package-Manager: Portage-2.3.62, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 dev-util/synopsis/files/synopsis-0.12-gcc45.patch  |  4 +-
 .../synopsis/files/synopsis-0.13-bdwgc-8.patch     | 25 ++++++++++
 dev-util/synopsis/synopsis-0.13-r1.ebuild          | 54 ++++++++++++++++++++++
 3 files changed, 81 insertions(+), 2 deletions(-)

diff --git a/dev-util/synopsis/files/synopsis-0.12-gcc45.patch 
b/dev-util/synopsis/files/synopsis-0.12-gcc45.patch
index ff0fe2be5da..c0dbdd91dc1 100644
--- a/dev-util/synopsis/files/synopsis-0.12-gcc45.patch
+++ b/dev-util/synopsis/files/synopsis-0.12-gcc45.patch
@@ -4,8 +4,8 @@ http://bugs.gentoo.org/show_bug.cgi?id=318429
 
 Patch written by Kacper Kowalik <[email protected]>
 
---- Synopsis/Parsers/Cxx/Types.cc
-+++ Synopsis/Parsers/Cxx/Types.cc
+--- a/Synopsis/Parsers/Cxx/Types.cc
++++ b/Synopsis/Parsers/Cxx/Types.cc
 @@ -169,7 +169,7 @@
  // Class Types::FuncPtr
  //

diff --git a/dev-util/synopsis/files/synopsis-0.13-bdwgc-8.patch 
b/dev-util/synopsis/files/synopsis-0.13-bdwgc-8.patch
new file mode 100644
index 00000000000..5d10b65c60f
--- /dev/null
+++ b/dev-util/synopsis/files/synopsis-0.13-bdwgc-8.patch
@@ -0,0 +1,25 @@
+https://bugs.gentoo.org/679642
+https://github.com/ivmai/bdwgc/issues/268
+
+--- a/src/configure
++++ b/src/configure
+@@ -4046,7 +4046,7 @@ if test "$ac_cv_enable_gc" == "yes"; then
+   GC_BRIDGE=$srcdir/Synopsis/PTree/GC-enabled.tmpl
+   if test -n "$ac_cv_with_gc_prefix"; then
+     CPPFLAGS="$CPPFLAGS -I$ac_cv_with_gc_prefix/include/gc"
+-    LIBS="-L$ac_cv_with_gc_prefix/lib -lgc $LIBS"
++    LIBS="-L$ac_cv_with_gc_prefix/lib -lgc  -lgccpp $LIBS"
+   else
+     GC_CPP="-I\${includedir}/Synopsis/gc/include"
+     GC_LIB="Synopsis/gc/.libs/libgc.a"
+--- a/src/configure.ac
++++ b/src/configure.ac
+@@ -72,7 +72,7 @@ if test "$ac_cv_enable_gc" == "yes"; then
+   GC_BRIDGE=$srcdir/Synopsis/PTree/GC-enabled.tmpl
+   if test -n "$ac_cv_with_gc_prefix"; then
+     CPPFLAGS="$CPPFLAGS -I$ac_cv_with_gc_prefix/include/gc"
+-    LIBS="-L$ac_cv_with_gc_prefix/lib -lgc $LIBS"
++    LIBS="-L$ac_cv_with_gc_prefix/lib -lgc -lgccpp $LIBS"
+   else
+     GC_CPP="-I\${includedir}/Synopsis/gc/include"
+     GC_LIB="Synopsis/gc/.libs/libgc.a"

diff --git a/dev-util/synopsis/synopsis-0.13-r1.ebuild 
b/dev-util/synopsis/synopsis-0.13-r1.ebuild
new file mode 100644
index 00000000000..9d2b76695a5
--- /dev/null
+++ b/dev-util/synopsis/synopsis-0.13-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+DISTUTILS_IN_SOURCE_BUILD=1
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 multilib toolchain-funcs
+
+DESCRIPTION="General source code documentation tool"
+HOMEPAGE="http://synopsis.fresco.org/index.html";
+SRC_URI="http://synopsis.fresco.org/download/${P}.tar.gz";
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+COMMON_DEPEND="dev-libs/boehm-gc[cxx]"
+RDEPEND="${COMMON_DEPEND}
+       media-gfx/graphviz"
+DEPEND="${COMMON_DEPEND}
+       ${RDEPEND}
+       sys-devel/bison
+       sys-devel/flex
+       virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-0.12-gcc45.patch
+       "${FILESDIR}"/${PN}-0.13-bdwgc-8.patch
+)
+
+pkg_setup() {
+       tc-export CC CXX
+}
+
+python_prepare() {
+       rm -r src/Synopsis/gc || die "failed to remove bundled lib"
+
+       # the distutils script passes its options to a number of
+       # autoconf scripts, to not all of which these options are
+       # relevant. adding this option disables these useless warnings.
+       sed -e "/self.announce(command)/i\        command += ' 
--disable-option-checking'" \
+               -i Synopsis/dist/command/config.py || die
+}
+
+python_configure() {
+       local mydistutilsargs=(
+               config
+               --libdir="${EPREFIX}"/usr/$(get_libdir)
+               --with-gc-prefix="${EPREFIX}"/usr
+       )
+       esetup.py
+}

Reply via email to