summaryrefslogtreecommitdiff
path: root/media-gfx/graphviz
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/graphviz')
-rw-r--r--media-gfx/graphviz/Manifest2
-rw-r--r--media-gfx/graphviz/graphviz-7.0.0.ebuild216
2 files changed, 218 insertions, 0 deletions
diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
index 9bcfe74e754b..8feb89a5ef1e 100644
--- a/media-gfx/graphviz/Manifest
+++ b/media-gfx/graphviz/Manifest
@@ -1,6 +1,8 @@
AUX graphviz-6.0.1-private-ghostscript-symbols.patch 1207 BLAKE2B ec966713af13fbfbdea0e6217d3da22884019ef39fb968fcb4f0ccdbb21c170087f00561ac613d78c29917468e925466f4d8e70a881876877fa88f2207d25141 SHA512 7f5434235b4627b0204e7b9c374290b02d805edcbebdca23154c18df6795ecb12016bfeb1ed9c6520e41ad216f81f38ad18791a1de1e06f15125805f1829aee6
DIST graphviz-5.0.1.tar.xz 21493276 BLAKE2B 1eabf7dc175cde4827db682ae7c0cb00f5bec4bee8aa9801bc6ac86b06011588260ce261e25613d6d4a1e708ccb4fd65aba73210df8cf0af84f2e20b7c914167 SHA512 c1c5784558fd6f32cd8ce9b63c2bc5232f47ea1c4abf8fbfc1b8b0175aa30845af452dbc6651642f07f2c5b7a73f5c792934ca99561608a104ae99898eca3bc7
DIST graphviz-6.0.1.tar.xz 21492876 BLAKE2B 36b8c2e922a73e35cddb2a252138193c9a413df823953faf387c964a31cf41e93b9c502ddc58831542aeea7e06cfd9ec377c390b45b859bdab1e0602c9b9683c SHA512 78f58734c47a6e1531a00b9de881481108500bf0a38b0ee734ecd024b629d838d98dbb32d81d2c2fe3b5ac28cbad140452b4bb5fa808ec667cc6cbe7638156ee
+DIST graphviz-7.0.0.tar.xz 21486172 BLAKE2B f52a75b5938ba3a6fbad3efe9d0ca6413145f9355c3ad1c8dc39253e8db36e9862c70c4dc910afd05e601e5787640b5b4a3dd09c1527cc3bd39a97ef281a7215 SHA512 dfead861d2f6ad1ebc9e3e4bd30684e02005cc7a2b78dab3ad45a11a401e08aeb1b6f7d8ea7ad7655230275ab6c10fd791434489e4ba09ae6905970230a974dc
EBUILD graphviz-5.0.1-r1.ebuild 6134 BLAKE2B ced1e9eed2d12476044c69c269aa904a07ad8e4437956a01a199f19fee3328db937453969d4521c5f976b76fc4ad7d8824521b505a07326f67c149684d03da3e SHA512 28fb36c8781fb453de8020706583a1373af729c6583db178d78a432e8d08ddedb6c683c31bceb9ad8e8c9c7fa72ea28a1b7d25a9d8fd424af2ea5b55ed6c6ae3
EBUILD graphviz-6.0.1-r2.ebuild 6217 BLAKE2B da9dc265f433e9cf73767daa122274dc5b4efdf6274b9c6c2a5f682715b6fa83095b273bf4a928a78a107b7c19f6f28bf07e47208e533723d9d604ef615f1d9f SHA512 aa5a915946fc9f1623eaa16a83d4b33b36e26dbcd1b22adbc72b3b1f54349913e24d67a255d6c3e67a5581d5d2ae44333d72c078f22ba641406ae722d9d67d64
+EBUILD graphviz-7.0.0.ebuild 6138 BLAKE2B 7c9d65aebfd0ab15ea72f236c5efac79c579029eff7c01e26056bf2eb11f8494d65aa1034f7d39d49ff18743d9487672976728c49c5ce22636250c55b5791495 SHA512 021445d87fcad2b7d03b9ed33a64dca3b79bd3f3b6d416e437080299c9aae41f7bcf446710e8096616023645ddd311a7dfbeb1c256fc39d1120f370f1a63acd5
MISC metadata.xml 2324 BLAKE2B 206e5312317fb7bf8f4bba64196a6fa89a8a9e30be3b5e0bf598485cdc2a862e1cc302024b9d170aa6c8ebbbd429ab839d296076bc6f1ac3b154678773cd4d5f SHA512 8eb9a1508823a06fbb180755a7dd173cb2365d7d90e25ad211d56645ee213ee825a991ba56b3f1c8d952c0a7baaa1ea3f8d8d35bdedbffbdce608d66645dd2b0
diff --git a/media-gfx/graphviz/graphviz-7.0.0.ebuild b/media-gfx/graphviz/graphviz-7.0.0.ebuild
new file mode 100644
index 000000000000..af33ee99a65d
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-7.0.0.ebuild
@@ -0,0 +1,216 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+inherit python-single-r1
+
+DESCRIPTION="Open Source Graph Visualization Software"
+HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
+# Unfortunately upstream uses an "artifact" store for the pre-generated
+# tarball now, which makes predictable URLs impossible.
+SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${PV}/${P}.tar.xz"
+
+LICENSE="CPL-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris"
+IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X"
+
+REQUIRED_USE="
+ !cairo? ( !X !gtk2 !postscript !lasi )
+ pdf? ( cairo )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Requires ksh, tests against installed package, missing files and directory
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/expat-2
+ >=dev-libs/glib-2.11.1:2
+ dev-libs/libltdl
+ >=media-libs/fontconfig-2.3.95
+ >=media-libs/freetype-2.1.10
+ >=media-libs/gd-2.0.34:=[fontconfig,jpeg,png,truetype,zlib]
+ media-libs/libjpeg-turbo:=
+ >=media-libs/libpng-1.2:=
+ sys-libs/zlib
+ virtual/libiconv
+ cairo? (
+ >=x11-libs/cairo-1.1.10[svg(+)]
+ >=x11-libs/pango-1.12
+ )
+ devil? ( media-libs/devil[png,jpeg] )
+ gtk2? (
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ )
+ gts? ( sci-libs/gts )
+ guile? ( dev-scheme/guile )
+ lasi? ( media-libs/lasi )
+ pdf? ( app-text/poppler )
+ perl? ( dev-lang/perl:= )
+ postscript? ( app-text/ghostscript-gpl )
+ python? ( ${PYTHON_DEPS} )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+ ruby? ( dev-lang/ruby:* )
+ svg? ( gnome-base/librsvg )
+ tcl? ( >=dev-lang/tcl-8.3:= )
+ webp? ( media-libs/libwebp:= )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ sys-devel/flex
+ sys-devel/libtool
+ virtual/pkgconfig
+ doc? (
+ app-text/ghostscript-gpl
+ sys-apps/groff
+ )
+ guile? (
+ dev-lang/swig
+ dev-scheme/guile
+ )
+ nls? ( >=sys-devel/gettext-0.14.5 )
+ perl? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+ ruby? ( dev-lang/swig )
+ tcl? ( dev-lang/swig )"
+
+# Dependency description / Maintainer info:
+
+# Rendering is done via the following plugins (/plugins):
+# - core, dot_layout, neato_layout, gd , dot
+# the ones which are always compiled in, depend on zlib, gd
+# - gtk
+# Directly depends on gtk-2.
+# needs 'pangocairo' enabled in graphviz configuration
+# gtk-2 depends on pango, cairo and libX11 directly.
+# - gdk-pixbuf
+# Directly depends on gtk-2 and gdk-pixbuf.
+# needs 'pangocairo' enabled in graphviz configuration
+# - ming
+# flash plugin via -Tswf requires media-libs/ming-0.4. Disabled as it's
+# incomplete.
+# - cairo/pango:
+# Needs pango for text layout, uses cairo methods to draw stuff
+# - xlib:
+# needs cairo+pango,
+# can make use of gnomeui and inotify support (??? unsure),
+# needs libXaw for UI
+# UI also links directly against libX11, libXmu, and libXt
+# and uses libXpm if available so we make sure it always is
+
+# There can be swig-generated bindings for the following languages (/tclpkg/gv):
+# - c-sharp (disabled)
+# - scheme (enabled via guile) ... no longer broken on ~x86
+# - go (disabled)
+# - io (disabled)
+# - lua (enabled via lua)
+# - ocaml (enabled via ocaml)
+# - perl (enabled via perl) *1
+# - php (enabled via php) *2
+# - python (enabled via python) *1
+# - ruby (enabled via ruby) *1
+# - tcl (enabled via tcl)
+# *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)
+
+# There are several other tools in /tclpkg:
+# gdtclft, tcldot, tclhandle, tclpathplan, tclstubs ; enabled with: --with-tcl
+# tkspline, tkstubs ; enabled with: --with-tk
+
+# And the commands (/cmd):
+# - dot, gvedit, gvpr, smyrna, tools/* :)
+# sci-libs/gts can be used for some of these
+# - gvedit (via 'qt5'):
+# based on ./configure it needs qt-core and qt-gui only
+# - smyrna : experimental opengl front-end (via 'smyrna')
+# currently disabled -- it segfaults a lot
+# needs x11-libs/gtkglext, gnome-base/libglade, media-libs/freeglut
+# sci-libs/gts, x11-libs/gtk. Also needs 'gtk','glade','glut','gts' and 'png'
+# with flags enabled at configure time
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local myconf=(
+ # Speeds up the libltdl configure
+ --cache-file="${S}"/config.cache
+ --enable-ltdl
+ $(use_enable doc man-pdfs)
+ $(use_with cairo pangocairo)
+ $(use_with examples demos '$(docdir)/examples')
+ $(use_with devil)
+ $(use_with gtk2 gdk)
+ $(use_with gtk2 gdk-pixbuf)
+ $(use_with gtk2)
+ $(use_with gts)
+ $(use_with qt5 qt)
+ $(use_with lasi)
+ $(use_with pdf poppler)
+ $(use_with postscript ghostscript)
+ $(use_with svg rsvg)
+ $(use_with webp)
+ $(use_with X x)
+ --with-digcola
+ --with-fontconfig
+ --with-freetype2
+ --with-ipsepcola
+ --with-libgd
+ --with-sfdp
+ --without-ming
+ # New/experimental features, to be tested, disable for now
+ --without-ipsepcola
+ --without-smyrna
+ --without-visio
+ # Bindings
+ $(use_enable guile)
+ $(use_enable perl)
+ $(use_enable python python3)
+ $(use_enable ruby)
+ $(use_enable tcl)
+ --disable-go
+ --disable-io
+ --disable-lua
+ --disable-java
+ --disable-ocaml
+ --disable-php
+ --disable-python
+ --disable-r
+ --disable-sharp
+ # libtool file collision, bug #276609
+ --without-included-ltdl
+ --disable-ltdl-install
+ )
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ use python && python_optimize \
+ "${D}"$(python_get_sitedir) \
+ "${ED}"/usr/$(get_libdir)/graphviz/python3
+}
+
+pkg_postinst() {
+ # We need to register all plugins before they become usable
+ dot -c || die
+}
+
+pkg_postrm() {
+ # Remove cruft, bug #547344
+ rm -rf "${EROOT}"/usr/$(get_libdir)/graphviz/config{,6} || die
+}