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
Created attachment 238997 [details] ebuild candidate ebuild with php bindings for graphviz
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 on attachment 238997 [details] ebuild candidate new ebuild comming
Created attachment 246226 [details] ebuild candidate new ebuild with gentoo original 2.26.3-r2 change in.
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.
Is there anything I can do to have this patch included in the main portage ebuild ? "working for me" since 2010-07 on ~amd64.