dev-util/synopsis: tweak for bdwgc-8, bug #679642
authorSergei Trofimovich <slyfox@gentoo.org>
Sat, 9 Mar 2019 21:32:02 +0000 (21:32 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Sat, 9 Mar 2019 21:32:24 +0000 (21:32 +0000)
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@gentoo.org>
dev-util/synopsis/files/synopsis-0.12-gcc45.patch
dev-util/synopsis/files/synopsis-0.13-bdwgc-8.patch [new file with mode: 0644]
dev-util/synopsis/synopsis-0.13-r1.ebuild [new file with mode: 0644]

index ff0fe2be5da88278f8f7e9012ee82853ebbd84c7..c0dbdd91dc1dc8e30e1848ddb2e2ca6b8203d5eb 100644 (file)
@@ -4,8 +4,8 @@ http://bugs.gentoo.org/show_bug.cgi?id=318429
 
 Patch written by Kacper Kowalik <xarthisius.kk@gmail.com>
 
---- 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 (file)
index 0000000..5d10b65
--- /dev/null
@@ -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 (file)
index 0000000..9d2b766
--- /dev/null
@@ -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
+}