Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 321213 - media-gfx/graphviz: add php bindings to ebuild
Summary: media-gfx/graphviz: add php bindings to ebuild
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Mikle Kolyada (RETIRED)
URL:
Whiteboard:
Keywords: EBUILD, PATCH
Depends on:
Blocks:
 
Reported: 2010-05-23 15:40 UTC by Charles Nérot
Modified: 2020-05-28 16:36 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
ebuild candidate (graphviz-2.26.3-r2.ebuild,6.12 KB, text/plain)
2010-07-16 07:11 UTC, Charles Nérot
Details
ebuild candidate (graphviz-2.26.3-r2.ebuild,6.16 KB, text/plain)
2010-09-06 06:49 UTC, Charles Nérot
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Charles Nérot 2010-05-23 15:40:54 UTC
GraphViz has a confugre settings '--enable-php' that deploys php binding.
A php use to enable it would be wonderfull.

I tried to do it by myself but I encounter a lot of problems:
- configure search php.h and php_version.h in /usr/include instead of /usr/lib64/php5/include/php/main/
- configure search php in /usr/lib64/php instead of /usr/lib64/php5

So I do symbolic link:
# ln -s /usr/lib64/php5 /usr/lib64/php
# ln -s /usr/lib64/php5/include/php/main/php.h /usr/include/php.h
# ln -s /usr/lib64/php5/include/php/main/php_version.h /usr/include/php_version.h

But finaly I have an emake fail...

my diffs for the ebuild:# diff /usr/portage/media-gfx/graphviz/graphviz-2.26.3-r1.ebuild /usr/local/portage/media-gfx/graphviz/graphviz-2.26.3-r2.ebuild
15c15
< IUSE="cairo doc examples gtk java lasi nls perl python ruby static-libs tcl"
---
> IUSE="cairo doc examples gtk java lasi nls perl php python ruby static-libs tcl"
48a49
> 	php?	( dev-lang/swig )
172c173
< 		--disable-php
---
> 		$(use_enable php)

Reproducible: Always




# emerge --info
Portage 2.1.8.3 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11.1-r0, 2.6.34-gentoo x86_64)
=================================================================
System uname: Linux-2.6.34-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_920_@_2.67GHz-with-gentoo-2.0.1
Timestamp of tree: Sun, 23 May 2010 08:15:03 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p7
dev-java/java-config: 2.1.11
dev-lang/python:     2.6.5-r2, 3.1.2-r3
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.3-r2
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA dlj-1.1 PUEL skype-eula googleearth"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -msse4 -mcx16 -msahf -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=core2 -msse4 -mcx16 -msahf -O2 -pipe"
DISTDIR="/gentoo/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.ovh.net/gentoo-distfiles/ ftp://mirror.ovh.net/gentoo-distfiles/ ftp://gentoo.imj.fr/pub/gentoo/ ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ "
LANG="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1"
LINGUAS="fr"
MAKEOPTS="-j9"
PKGDIR="/gentoo/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/php /var/lib/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amd64 bash-completion beagle berkdb branding bzip2 cli consolekit cracklib crypt cups custom-optimization cxx dbus dri expat fortran gdbm gif gnome gnome-keyring gpm gtk iconv ipv6 jpeg jpeg2k lame libburn libnotify logrotate lzma mad mmx modules mp3 mpeg mudflap multilib ncurses nls nptl nptlonly nsplugin nvidia ogg opengl openmp pam pcre perl png policykit pppd pulseaudio python readline reflection session spell spl sse sse2 sse4 sse4_1 sse4_2 ssl ssse3 sysfs tcpd theora threads tiff totem udev unicode vorbis x264 xml xorg xulrunner xvid xvmc zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Charles Nérot 2010-07-16 07:11:26 UTC
Created attachment 238997 [details]
ebuild candidate

ebuild with php bindings for graphviz
Comment 2 Charles Nérot 2010-07-16 07:12:59 UTC
I have made this ebuild.

Ebuild should also create a graphviz.ini in /etc/php/*/ext and no link in /etc/php/*/ext-active/ with "extension=/usr/lib64/graphviz/php/libgv_php.so" in to load the librairie.

Ebuild details:
/usr/local/portage/media-gfx/graphviz#diff -u /usr/portage/media-gfx/graphviz/graphviz-2.26.3-r1.ebuild graphviz-2.26.3-r2.ebuild 
--- /usr/portage/media-gfx/graphviz/graphviz-2.26.3-r1.ebuild	2010-07-06 16:36:19.000000000 +0200
+++ graphviz-2.26.3-r2.ebuild	2010-07-16 09:03:38.000000000 +0200
@@ -12,7 +12,7 @@
 LICENSE="CPL-1.0"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
-IUSE="cairo doc examples gtk java lasi nls perl python ruby static-libs tcl"
+IUSE="cairo doc examples gtk java lasi nls perl php python ruby static-libs tcl"
 
 # Requires ksh
 RESTRICT="test"
@@ -46,6 +46,9 @@
 	java?	( dev-lang/swig )
 	nls?	( >=sys-devel/gettext-0.14.5 )
 	perl?	( dev-lang/swig )
+	php?	( dev-lang/swig 
+	          dev-lang/php[-threads]
+        )
 	python?	( dev-lang/swig )
 	ruby?	( dev-lang/swig )
 	tcl?	( || ( <dev-lang/swig-1.3.38[tcl]
@@ -109,6 +112,14 @@
 	sed -i -e '/libltdl/d' configure.ac || die
 	sed -i -e 's/AC_LIBLTDL_CONVENIENCE/AC_LIBLTDL_INSTALLABLE/' configure.ac || die
 
+	# php
+	if use php
+	then
+		sed -i -e "s/\\/usr\\/include\\/php/\\/usr\\/$(get_libdir)\\/php5\\/include\\/php/g" configure.ac || die
+		sed -i -e 's/php5\*/php\*/' configure.ac || die
+		sed -i -e 's/php5/php/' tclpkg/gv/Makefile.* || die
+	fi
+
 	# Update this file from our local libtool which is much newer than the
 	# bundled one. This allows MAKEOPTS=-j2 to work on FreeBSD.
 	if has_version ">=sys-devel/libtool-2" ; then
@@ -169,7 +180,7 @@
 		--disable-lua
 		--disable-ocaml
 		$(use_enable perl)
-		--disable-php
+		$(use_enable php)
 		$(use_enable python)
 		--disable-r
 		$(use_enable ruby)
Comment 3 Charles Nérot 2010-09-06 06:48:38 UTC
Comment on attachment 238997 [details]
ebuild candidate

new ebuild comming
Comment 4 Charles Nérot 2010-09-06 06:49:52 UTC
Created attachment 246226 [details]
ebuild candidate

new ebuild with gentoo original 2.26.3-r2 change in.
Comment 5 Charles Nérot 2010-09-06 06:51:23 UTC
Updated ebuild with change from the gentoo original graphviz-2.26.3-r2.ebuild

The previous ebuild working for me since 2010/07 with php bindings support.
Comment 6 Charles Nérot 2010-10-21 11:31:20 UTC
Is there anything I can do to have this patch included in the main portage ebuild ?

"working for me" since 2010-07 on ~amd64.