Re-enabling the perl,python,ruby bindings, thanks to a patch written by dleverton
authorTiziano Müller <dev-zero@gentoo.org>
Mon, 5 Mar 2007 08:04:45 +0000 (08:04 +0000)
committerTiziano Müller <dev-zero@gentoo.org>
Mon, 5 Mar 2007 08:04:45 +0000 (08:04 +0000)
Package-Manager: portage-2.1.2-r10

media-gfx/graphviz/ChangeLog
media-gfx/graphviz/Manifest
media-gfx/graphviz/files/graphviz-2.12-bindings.patch [new file with mode: 0644]
media-gfx/graphviz/graphviz-2.12.ebuild

index 229106967edbe448ecefc88b87c9753c5e47b1d1..4b3ed44fc2fe12a2c7dc13039f077b58c59bb4ff 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for media-gfx/graphviz
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphviz/ChangeLog,v 1.111 2007/03/03 17:10:43 dev-zero Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphviz/ChangeLog,v 1.112 2007/03/05 08:04:45 dev-zero Exp $
+
+  05 Mar 2007; Tiziano Müller <dev-zero@gentoo.org>
+  +files/graphviz-2.12-bindings.patch, graphviz-2.12.ebuild:
+  Re-enabling the perl,python,ruby bindings, thanks to a patch written by
+  dleverton
 
   03 Mar 2007; Tiziano Müller <dev-zero@gentoo.org> graphviz-2.12.ebuild:
   Added a sed-patch to nuke the dead binding-symlinks.
index 96a726af8e1887f2914847200cd833d8f74bc141..cb23e862c72b3d0a48b1f5060f7c39710b21632b 100644 (file)
@@ -10,6 +10,10 @@ AUX graphviz-1.16-tempdir.patch 1091 RMD160 0c36178e3eca92e7dc6737a4ef646b57e21e
 MD5 3dcab6b1ffd0469fd6614a8ea4458366 files/graphviz-1.16-tempdir.patch 1091
 RMD160 0c36178e3eca92e7dc6737a4ef646b57e21e57d8 files/graphviz-1.16-tempdir.patch 1091
 SHA256 a1d25ed0a81a88f912b6d9614b98154e1379cf7f8182fb566ec45e71e3bf3592 files/graphviz-1.16-tempdir.patch 1091
+AUX graphviz-2.12-bindings.patch 4589 RMD160 129ec88bc42df0555ac96abfa9bf8d4e48378b6c SHA1 1f591d4a9e884fdc6181aad822eab9f06832901b SHA256 75120e3c7d9636fc35e2802d7c1b9902faa5e901a17ab88f939a020970776820
+MD5 863e7117b07645eecc9254de4d774df8 files/graphviz-2.12-bindings.patch 4589
+RMD160 129ec88bc42df0555ac96abfa9bf8d4e48378b6c files/graphviz-2.12-bindings.patch 4589
+SHA256 75120e3c7d9636fc35e2802d7c1b9902faa5e901a17ab88f939a020970776820 files/graphviz-2.12-bindings.patch 4589
 AUX graphviz-2.12-configure.patch 856 RMD160 3d1fe3d11498629bb7738d5219a824857830a5e9 SHA1 d420c55e28bbcdbf030ff203f0581b40bbceca3e SHA256 660a8df758487f21810e6d7fa647221d4443463eca2c2053399b2e782b208348
 MD5 5908e21d9ea76638434886a1100bc671 files/graphviz-2.12-configure.patch 856
 RMD160 3d1fe3d11498629bb7738d5219a824857830a5e9 files/graphviz-2.12-configure.patch 856
@@ -39,10 +43,10 @@ EBUILD graphviz-1.16-r1.ebuild 2128 RMD160 206e1c95874235517ad621d7a5ca93751b658
 MD5 054c435dd77aa5b94fdaae88f83140f6 graphviz-1.16-r1.ebuild 2128
 RMD160 206e1c95874235517ad621d7a5ca93751b658433 graphviz-1.16-r1.ebuild 2128
 SHA256 d0e254b507965e6853ed2489e087202dc04d90c32a97aba740cdefd56b651a56 graphviz-1.16-r1.ebuild 2128
-EBUILD graphviz-2.12.ebuild 5068 RMD160 760eeb61db866e9f2f17c0296d401d7a5092b02d SHA1 c2061889246616e75a361daa5aed9f164a74198b SHA256 83b92486396a527a8cdf34c94903181a30497f27215651742c24e004d131e59e
-MD5 40bb1cb1840040be43de0788d386e5ba graphviz-2.12.ebuild 5068
-RMD160 760eeb61db866e9f2f17c0296d401d7a5092b02d graphviz-2.12.ebuild 5068
-SHA256 83b92486396a527a8cdf34c94903181a30497f27215651742c24e004d131e59e graphviz-2.12.ebuild 5068
+EBUILD graphviz-2.12.ebuild 5276 RMD160 df0491fd2bae7aeb426aad13e99c2e7cd219f6f4 SHA1 ae9e7c590323b03cd80f0439dbd857e0762d1036 SHA256 3b9ba26a94d1b37f173f95cbfdfaec44791f091602d5c6a7b4ba8b4c93c65ed3
+MD5 4625053afe77924c78eef76aef4e2160 graphviz-2.12.ebuild 5276
+RMD160 df0491fd2bae7aeb426aad13e99c2e7cd219f6f4 graphviz-2.12.ebuild 5276
+SHA256 3b9ba26a94d1b37f173f95cbfdfaec44791f091602d5c6a7b4ba8b4c93c65ed3 graphviz-2.12.ebuild 5276
 EBUILD graphviz-2.6-r1.ebuild 1638 RMD160 1382f4a7e7ac3654b0b71c3e36fd87e57c911f84 SHA1 e1f0b5296e700d5974ce136d73c740b4d287f38c SHA256 37a43a33bd0a53d4053634066f3c99183d665c343d3601d733b25dcac7bc25da
 MD5 308666689ed931d9984235894a7e5319 graphviz-2.6-r1.ebuild 1638
 RMD160 1382f4a7e7ac3654b0b71c3e36fd87e57c911f84 graphviz-2.6-r1.ebuild 1638
@@ -55,10 +59,10 @@ EBUILD graphviz-2.8-r2.ebuild 2715 RMD160 3b893a3bf91d1d8ce2588f996d7a5b7788b2c9
 MD5 46e9a9ef05dcef5fcd74e2ff86b0e284 graphviz-2.8-r2.ebuild 2715
 RMD160 3b893a3bf91d1d8ce2588f996d7a5b7788b2c984 graphviz-2.8-r2.ebuild 2715
 SHA256 eb3b2d4721e562c7e9df547beac64400f6bc1de2dc8a04a777cb621deccc3bec graphviz-2.8-r2.ebuild 2715
-MISC ChangeLog 16821 RMD160 b0c609f56ff594f887d68c32ef824257b23a6252 SHA1 5076eed29d98d23e96fcf1f35c00065f52f2e39d SHA256 c35f486a59e11c365f1bf787caed30d395c2406eea7fc2510a8d1064c79d114f
-MD5 0db1cfdf7b7c6d8b84d255ff96d62194 ChangeLog 16821
-RMD160 b0c609f56ff594f887d68c32ef824257b23a6252 ChangeLog 16821
-SHA256 c35f486a59e11c365f1bf787caed30d395c2406eea7fc2510a8d1064c79d114f ChangeLog 16821
+MISC ChangeLog 17022 RMD160 28acdd4a464e8b6b13e1c85fba16b667e56d2d1c SHA1 3cdbd24dd5a062f7b34ba401e411ea13743b6430 SHA256 12adc7bbed7e958e9488c61f63940f50a47ccd3cee312955f01e09b5431b6f4b
+MD5 dc64571912a9aca8d59ce5cef5c8861d ChangeLog 17022
+RMD160 28acdd4a464e8b6b13e1c85fba16b667e56d2d1c ChangeLog 17022
+SHA256 12adc7bbed7e958e9488c61f63940f50a47ccd3cee312955f01e09b5431b6f4b ChangeLog 17022
 MISC metadata.xml 1540 RMD160 4652a8cc1044e37e34e06be5480a9ee6f842c333 SHA1 b493bbaade7ae395c87ada0bbef0b0f0e7f7fb08 SHA256 c2a220f962a3048cc026e4c376b6555bfd0be7b401206d0ae3d265d628f231a1
 MD5 e98595ce89ff0da26058b1e6e0ce3d31 metadata.xml 1540
 RMD160 4652a8cc1044e37e34e06be5480a9ee6f842c333 metadata.xml 1540
diff --git a/media-gfx/graphviz/files/graphviz-2.12-bindings.patch b/media-gfx/graphviz/files/graphviz-2.12-bindings.patch
new file mode 100644 (file)
index 0000000..d5b3bde
--- /dev/null
@@ -0,0 +1,153 @@
+--- configure.ac~      2007-03-04 20:20:30.000000000 +0000
++++ configure.ac       2007-03-04 20:20:39.000000000 +0000
+@@ -606,6 +606,7 @@
+   PERL_ARCHLIB=`$PERL -e 'use Config; print $Config{archlib};'`
+   PERL_INCLUDES=-I$PERL_ARCHLIB/CORE
+   PERL_LIBS="-L$PERL_ARCHLIB/CORE -lperl"
++  PERL_INSTALL_DIR="`$PERL -e 'use Config; print $Config{vendorarch};'`"
+   save_CPPFLAGS=$CPPFLAGS
+   CPPFLAGS="$CPPFLAGS $PERL_INCLUDES"
+   AC_CHECK_HEADER(EXTERN.h,,[
+@@ -616,6 +617,7 @@
+ fi
+ AC_SUBST(PERL_INCLUDES)
+ AC_SUBST(PERL_LIBS)
++AC_SUBST(PERL_INSTALL_DIR)
+ fi
+ fi
+ AM_CONDITIONAL(WITH_PERL, [test "x$PERL" != "x"])
+@@ -684,6 +686,7 @@
+     PYTHON_PREFIX=`$PYTHON -c "import sys; print sys.prefix"`
+     PYTHON_INCLUDES=-I$PYTHON_PREFIX/include/python$PYTHON_VERSION_SHORT
+     PYTHON_LIBS="-L$PYTHON_PREFIX/lib$LIBPOSTFIX -lpython$PYTHON_VERSION_SHORT"
++    PYTHON_INSTALL_DIR="`$PYTHON $srcdir/config/config_python.py archsitelib`"
+     save_CPPFLAGS=$CPPFLAGS
+     CPPFLAGS="$CPPFLAGS $PYTHON_INCLUDES"
+     AC_CHECK_HEADER(Python.h,,[
+@@ -695,6 +698,7 @@
+ fi
+ AC_SUBST(PYTHON_INCLUDES)
+ AC_SUBST(PYTHON_LIBS)
++AC_SUBST(PYTHON_INSTALL_DIR)
+ fi
+ fi
+ fi
+@@ -715,6 +719,7 @@
+ if test "x$RUBY" != "x"; then
+   RUBY_INCLUDES="-I`$RUBY $srcdir/config/config_ruby.rb INCLUDES`"
+   RUBY_LIBS="-L`$RUBY $srcdir/config/config_ruby.rb lib` -lruby"
++  RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb archsitelib`"
+   save_CPPFLAGS=$CPPFLAGS
+   CPPFLAGS="$CPPFLAGS $RUBY_INCLUDES"
+   AC_CHECK_HEADER(ruby.h,,[
+@@ -725,6 +730,7 @@
+ fi
+ AC_SUBST(RUBY_INCLUDES)
+ AC_SUBST(RUBY_LIBS)
++AC_SUBST(RUBY_INSTALL_DIR)
+ fi
+ fi
+ fi
+--- tclpkg/gv/Makefile.am~     2007-03-04 21:22:38.000000000 +0000
++++ tclpkg/gv/Makefile.am      2007-03-04 21:23:24.000000000 +0000
+@@ -70,7 +70,7 @@
+ gv_ocaml.cpp $(OCAML_hdr): gv.i
+       $(SWIG) -c++ -ocaml -o gv_ocaml.cpp $(srcdir)/gv.i
+-pkgperldir = $(pkglibdir)/perl
++pkgperldir = @PERL_INSTALL_DIR@
+ PERL_hdr = gv.pm
+ nodist_libgv_perl_la_SOURCES = gv_perl.cpp $(PERL_hdr)
+ libgv_perl_la_SOURCES = $(BASESOURCES)
+@@ -88,7 +88,7 @@
+ gv_php.cpp $(PHP_hdr): gv.i
+       $(SWIG) -c++ -php -o gv_php.cpp $(srcdir)/gv.i
+-pkgpythondir = $(pkglibdir)/python
++pkgpythondir = @PYTHON_INSTALL_DIR@
+ PYTHON_hdr = gv.py
+ nodist_libgv_python_la_SOURCES = gv_python.cpp $(PYTHON_hdr)
+ libgv_python_la_SOURCES = $(BASESOURCES)
+@@ -97,7 +97,7 @@
+ gv_python.cpp $(PYTHON_hdr): gv.i
+       $(SWIG) -c++ -python -o gv_python.cpp $(srcdir)/gv.i
+-pkgrubydir = $(pkglibdir)/ruby
++pkgrubydir = @RUBY_INSTALL_DIR@
+ RUBY_hdr = 
+ nodist_libgv_ruby_la_SOURCES = gv_ruby.cpp $(RUBY_hdr)
+ libgv_ruby_la_SOURCES = $(BASESOURCES)
+@@ -118,6 +118,7 @@
+ pkginclude_DATA = gv.i gv.cpp
+ pkglib_LTLIBRARIES = 
+ TESTS =
++mann_MANS =
+ if WITH_SWIG
+ if WITH_SHARP
+ pkgsharp_DATA = $(SHARP_hdr) gv_sharp.man
+@@ -150,9 +151,11 @@
+ TESTS += test_ocaml
+ endif
+ if WITH_PERL
+-pkgperl_DATA = $(PERL_hdr) gv_perl.man
++pkgperl_DATA = $(PERL_hdr)
++if WITH_TCL
++mann_MANS += gv_perl.man
++endif
+ pkgperl_LTLIBRARIES = libgv_perl.la
+-TESTS += test_perl
+ endif
+ if WITH_PHP
+ pkgphp_DATA = $(PHP_hdr) gv_php.man
+@@ -160,19 +163,21 @@
+ TESTS += test_php
+ endif
+ if WITH_PYTHON
+-pkgpython_DATA = $(PYTHON_hdr) gv_python.man
++pkgpython_DATA = $(PYTHON_hdr)
++if WITH_TCL
++mann_MANS += gv_python.man
++endif
+ pkgpython_LTLIBRARIES = libgv_python.la
+-TESTS += test_python
+ endif
+ if WITH_RUBY
+-pkgruby_DATA = $(RUBY_hdr) gv_ruby.man
++if WITH_TCL
++mann_MANS += gv_ruby.man
++endif
+ pkgruby_LTLIBRARIES = libgv_ruby.la
+-TESTS += test_ruby
+ endif
+ if WITH_TCL
+ pkgtcl_DATA = $(TCL_hdr) gv_tcl.man
+ pkgtcl_LTLIBRARIES = libgv_tcl.la
+-TESTS += test_tcl
+ all-local: pkgIndex.tcl
+@@ -192,11 +197,21 @@
+ endif
+ install-data-hook:
++if WITH_LUA
+       (cd $(DESTDIR)$(pkgluadir);    rm -f gv.so;  $(LN_S) libgv_lua.so gv.so;)
+-      (cd $(DESTDIR)$(pkgperldir);   rm -f gv.so;  $(LN_S) libgv_perl.so gv.so;)
+-      (cd $(DESTDIR)$(pkgpythondir); rm -f _gv.so; $(LN_S) libgv_python.so _gv.so;)
+-      (cd $(DESTDIR)$(pkgrubydir);   rm -f gv.so;  $(LN_S) libgv_ruby.so gv.so;)
++endif
++if WITH_PERL
++      (cd $(DESTDIR)$(pkgperldir);   rm -f gv.so libgv_perl.so libgv_perl.so.0 libgv_perl.la;  mv libgv_perl.so.0.0.0 gv.so;)
++endif
++if WITH_PYTHON
++      (cd $(DESTDIR)$(pkgpythondir); rm -f _gv.so libgv_python.so libgv_python.so.0 libgv_python.la; mv libgv_python.so.0.0.0 _gv.so;)
++endif
++if WITH_RUBY
++      (cd $(DESTDIR)$(pkgrubydir);   rm -f gv.so libgv_ruby.so libgv_ruby.so.0 libgv_ruby.la;  mv libgv_ruby.so.0.0.0 gv.so;)
++endif
++if WITH_TCL
+       (cd $(DESTDIR)$(pkgtcldir);    rm -f gv.so;  $(LN_S) libgv_tcl.so gv.so;)
++endif
+ uninstall-hook:
+       (cd $(DESTDIR)$(pkgluadir);    rm -f gv.so;)
\ No newline at end of file
index 8f44fa68cdeced16bded61743c5fa908c2165c73..312be0dcfb227df98cf8364e0598e5d2e2156dc7 100644 (file)
@@ -1,11 +1,11 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphviz/graphviz-2.12.ebuild,v 1.8 2007/03/03 17:10:43 dev-zero Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/graphviz/graphviz-2.12.ebuild,v 1.9 2007/03/05 08:04:45 dev-zero Exp $
 
 WANT_AUTOCONF=latest
 WANT_AUTOMAKE=latest
 
-inherit eutils autotools multilib
+inherit eutils autotools multilib python
 
 DESCRIPTION="Open Source Graph Visualization Software"
 HOMEPAGE="http://www.graphviz.org/"
@@ -14,7 +14,7 @@ SRC_URI="http://www.graphviz.org/pub/graphviz/ARCHIVE/${P}.tar.gz"
 LICENSE="CPL-1.0"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc x86 ~x86-fbsd"
-IUSE="doc examples gnome gtk nls pango X tcl tk"
+IUSE="doc examples gnome gtk nls pango perl python ruby X tcl tk"
 
 RDEPEND=">=media-libs/gd-2.0.28
        >=sys-libs/zlib-1.2.3
@@ -28,12 +28,18 @@ RDEPEND=">=media-libs/gd-2.0.28
        pango? ( x11-libs/pango )
        gnome? ( gnome-base/libgnomeui )
        gtk? ( >=x11-libs/gtk+-2 )
+       perl? ( dev-lang/perl )
+       python? ( dev-lang/python )
+       ruby? ( dev-lang/ruby )
        X? ( x11-libs/libXaw x11-libs/libXpm )
        tcl? ( >=dev-lang/tcl-8.3 )
        tk? ( >=dev-lang/tk-8.3 )"
 
 DEPEND="${RDEPEND}
        dev-util/pkgconfig
+       perl? ( dev-lang/swig )
+       python? ( dev-lang/swig )
+       ruby? ( dev-lang/swig )
        tcl? ( dev-lang/swig )"
 
 # Dependency description / Maintainer-Info:
@@ -58,8 +64,7 @@ DEPEND="${RDEPEND}
 # - python (enabled via python) *1
 # - ruby (enabled via ruby) *1
 # - tcl (enabled via tcl)
-# *1 = Bindings build, but should be installed to /usr/lib/python2.x/site-packages
-#      rather than /usr/lib/graphviz/python (the same goes for ruby, ...)
+# *1 = The ${P}-bindings.patch takes care that those bindings are installed to the right location
 # *2 = Those bindings don't build because the paths for the headers/libs aren't
 #      detected correctly and/or the options passed to swig are wrong (-php instead of -php4/5)
 
@@ -85,6 +90,7 @@ src_unpack() {
        epatch "${FILESDIR}/${P}-notcl.patch"
        epatch "${FILESDIR}/${P}-find-system-libgd.patch"
        epatch "${FILESDIR}/${P}-configure.patch"
+       epatch "${FILESDIR}/${P}-bindings.patch"
 
        sed -i \
                -e 's:LC_COLLATE=C:LC_ALL=C:g' \
@@ -111,9 +117,6 @@ src_unpack() {
        # Nuke the dead symlinks for the bindings
        sed -i \
                -e '/$(pkgluadir)/d' \
-               -e '/$(pkgperldir)/d' \
-               -e '/$(pkgpythondir)/d' \
-               -e '/$(pkgrubydir)/d' \
                tclpkg/gv/Makefile.am || die "sed failed"
 
        eautoreconf
@@ -142,10 +145,10 @@ src_compile() {
                --disable-java \
                --disable-ocaml \
                --disable-lua \
-               --disable-perl \
+               $(use_enable perl) \
                --disable-php \
-               --disable-python \
-               --disable-ruby \
+               $(use_enable python) \
+               $(use_enable ruby) \
                $(use_with gtk) \
                $(use_with pango pangocairo) \
                ${myconf} \
@@ -176,4 +179,13 @@ pkg_postinst() {
        # This actually works if --enable-ltdl is passed
        # to configure
        dot -c
+       if use python ; then
+               python_mod_optimize
+       fi
+}
+
+pkg_postrm() {
+       if use python ; then
+               python_mod_cleanup
+       fi
 }