Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphviz/
Date: Fri, 26 Aug 2022 05:08:24
Message-Id: 1661486641.c55485c027b734448616dfc34b8c7968756a9fa0.sam@gentoo
1 commit: c55485c027b734448616dfc34b8c7968756a9fa0
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Thu Aug 25 08:29:20 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Aug 26 04:04:01 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c55485c0
7
8 media-gfx/graphviz: add 5.0.1
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 media-gfx/graphviz/Manifest | 1 +
13 media-gfx/graphviz/graphviz-5.0.1.ebuild | 216 +++++++++++++++++++++++++++++++
14 2 files changed, 217 insertions(+)
15
16 diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
17 index 96de3755e78f..a81340838ec8 100644
18 --- a/media-gfx/graphviz/Manifest
19 +++ b/media-gfx/graphviz/Manifest
20 @@ -1,2 +1,3 @@
21 DIST graphviz-2.50.0.tar.xz 23031008 BLAKE2B a1789368a77384366bf813466d4a733765ffc0a04660cfcc002c643264780425b449087306b143cfddd70d2feabb67e82b6c04217684aba175824c3e83062085 SHA512 2b035559da20bad35e046bfa1b2c8ce1b395ff9b812f33bcf612d7f7c65ff9a226c9b209553b4283825330683fb925516563943de7922c2f6434baaf3c3b5ee2
22 DIST graphviz-5.0.0.tar.xz 21495572 BLAKE2B b28cbc5a20b202441ed7e98ebbb85b878f9362d1f95816ca89f7aedd62302c77974efc3b63e2ab8b577da59946ca63c7607706da2e79afcae9089f8c2743cd4a SHA512 51576c0d0405aa2005e908b57c3bac5e30069e6efb355b467a35a46559b002b34eaec77c35b6d41c635d6d874351da7261a11cf0f857cea72ff7259d5f6c860d
23 +DIST graphviz-5.0.1.tar.xz 21493276 BLAKE2B 1eabf7dc175cde4827db682ae7c0cb00f5bec4bee8aa9801bc6ac86b06011588260ce261e25613d6d4a1e708ccb4fd65aba73210df8cf0af84f2e20b7c914167 SHA512 c1c5784558fd6f32cd8ce9b63c2bc5232f47ea1c4abf8fbfc1b8b0175aa30845af452dbc6651642f07f2c5b7a73f5c792934ca99561608a104ae99898eca3bc7
24
25 diff --git a/media-gfx/graphviz/graphviz-5.0.1.ebuild b/media-gfx/graphviz/graphviz-5.0.1.ebuild
26 new file mode 100644
27 index 000000000000..cf644a7335f5
28 --- /dev/null
29 +++ b/media-gfx/graphviz/graphviz-5.0.1.ebuild
30 @@ -0,0 +1,216 @@
31 +# Copyright 1999-2022 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=8
35 +
36 +PYTHON_COMPAT=( python3_{8..11} )
37 +inherit python-single-r1
38 +
39 +DESCRIPTION="Open Source Graph Visualization Software"
40 +HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
41 +# Unfortunately upstream uses an "artifact" store for the pre-generated
42 +# tarball now, which makes predictable URLs impossible.
43 +SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${PV}/${P}.tar.xz"
44 +
45 +LICENSE="CPL-1.0"
46 +SLOT="0"
47 +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"
48 +IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X"
49 +
50 +REQUIRED_USE="
51 + !cairo? ( !X !gtk2 !postscript !lasi )
52 + pdf? ( cairo )
53 + python? ( ${PYTHON_REQUIRED_USE} )"
54 +
55 +# Requires ksh, tests against installed package, missing files and directory
56 +RESTRICT="test"
57 +
58 +RDEPEND="
59 + >=dev-libs/expat-2
60 + >=dev-libs/glib-2.11.1:2
61 + dev-libs/libltdl:0
62 + >=media-libs/fontconfig-2.3.95
63 + >=media-libs/freetype-2.1.10
64 + >=media-libs/gd-2.0.34:=[fontconfig,jpeg,png,truetype,zlib]
65 + media-libs/libjpeg-turbo:=
66 + >=media-libs/libpng-1.2:0=
67 + sys-libs/zlib
68 + virtual/libiconv
69 + cairo? (
70 + >=x11-libs/cairo-1.1.10[svg]
71 + >=x11-libs/pango-1.12
72 + )
73 + devil? ( media-libs/devil[png,jpeg] )
74 + gtk2? (
75 + x11-libs/gdk-pixbuf:2
76 + x11-libs/gtk+:2
77 + )
78 + gts? ( sci-libs/gts )
79 + guile? ( dev-scheme/guile )
80 + lasi? ( media-libs/lasi )
81 + pdf? ( app-text/poppler )
82 + perl? ( dev-lang/perl:= )
83 + postscript? ( app-text/ghostscript-gpl )
84 + python? ( ${PYTHON_DEPS} )
85 + qt5? (
86 + dev-qt/qtcore:5
87 + dev-qt/qtgui:5
88 + dev-qt/qtprintsupport:5
89 + dev-qt/qtwidgets:5
90 + )
91 + ruby? ( dev-lang/ruby:* )
92 + svg? ( gnome-base/librsvg )
93 + tcl? ( >=dev-lang/tcl-8.3:0= )
94 + webp? ( media-libs/libwebp:= )
95 + X? ( x11-libs/libX11 )"
96 +DEPEND="${RDEPEND}
97 + X? ( x11-base/xorg-proto )"
98 +BDEPEND="
99 + sys-devel/flex
100 + sys-devel/libtool
101 + virtual/pkgconfig
102 + doc? (
103 + app-text/ghostscript-gpl
104 + sys-apps/groff
105 + )
106 + guile? (
107 + dev-lang/swig
108 + dev-scheme/guile
109 + )
110 + nls? ( >=sys-devel/gettext-0.14.5 )
111 + perl? ( dev-lang/swig )
112 + python? ( dev-lang/swig )
113 + ruby? ( dev-lang/swig )
114 + tcl? ( dev-lang/swig )"
115 +
116 +# Dependency description / Maintainer info:
117 +
118 +# Rendering is done via the following plugins (/plugins):
119 +# - core, dot_layout, neato_layout, gd , dot
120 +# the ones which are always compiled in, depend on zlib, gd
121 +# - gtk
122 +# Directly depends on gtk-2.
123 +# needs 'pangocairo' enabled in graphviz configuration
124 +# gtk-2 depends on pango, cairo and libX11 directly.
125 +# - gdk-pixbuf
126 +# Directly depends on gtk-2 and gdk-pixbuf.
127 +# needs 'pangocairo' enabled in graphviz configuration
128 +# - ming
129 +# flash plugin via -Tswf requires media-libs/ming-0.4. Disabled as it's
130 +# incomplete.
131 +# - cairo/pango:
132 +# Needs pango for text layout, uses cairo methods to draw stuff
133 +# - xlib:
134 +# needs cairo+pango,
135 +# can make use of gnomeui and inotify support (??? unsure),
136 +# needs libXaw for UI
137 +# UI also links directly against libX11, libXmu, and libXt
138 +# and uses libXpm if available so we make sure it always is
139 +
140 +# There can be swig-generated bindings for the following languages (/tclpkg/gv):
141 +# - c-sharp (disabled)
142 +# - scheme (enabled via guile) ... no longer broken on ~x86
143 +# - go (disabled)
144 +# - io (disabled)
145 +# - lua (enabled via lua)
146 +# - ocaml (enabled via ocaml)
147 +# - perl (enabled via perl) *1
148 +# - php (enabled via php) *2
149 +# - python (enabled via python) *1
150 +# - ruby (enabled via ruby) *1
151 +# - tcl (enabled via tcl)
152 +# *1 = The ${P}-bindings.patch takes care that those bindings are installed to the right location
153 +# *2 = Those bindings don't build because the paths for the headers/libs aren't
154 +# detected correctly and/or the options passed to swig are wrong (-php instead of -php4/5)
155 +
156 +# There are several other tools in /tclpkg:
157 +# gdtclft, tcldot, tclhandle, tclpathplan, tclstubs ; enabled with: --with-tcl
158 +# tkspline, tkstubs ; enabled with: --with-tk
159 +
160 +# And the commands (/cmd):
161 +# - dot, gvedit, gvpr, smyrna, tools/* :)
162 +# sci-libs/gts can be used for some of these
163 +# - gvedit (via 'qt5'):
164 +# based on ./configure it needs qt-core and qt-gui only
165 +# - smyrna : experimental opengl front-end (via 'smyrna')
166 +# currently disabled -- it segfaults a lot
167 +# needs x11-libs/gtkglext, gnome-base/libglade, media-libs/freeglut
168 +# sci-libs/gts, x11-libs/gtk. Also needs 'gtk','glade','glut','gts' and 'png'
169 +# with flags enabled at configure time
170 +
171 +pkg_setup() {
172 + use python && python-single-r1_pkg_setup
173 +}
174 +
175 +src_configure() {
176 + local myconf=(
177 + # Speeds up the libltdl configure
178 + --cache-file="${S}"/config.cache
179 + --enable-ltdl
180 + $(use_enable doc man-pdfs)
181 + $(use_with cairo pangocairo)
182 + $(use_with examples demos '$(docdir)/examples')
183 + $(use_with devil)
184 + $(use_with gtk2 gdk)
185 + $(use_with gtk2 gdk-pixbuf)
186 + $(use_with gtk2)
187 + $(use_with gts)
188 + $(use_with qt5 qt)
189 + $(use_with lasi)
190 + $(use_with pdf poppler)
191 + $(use_with postscript ghostscript)
192 + $(use_with svg rsvg)
193 + $(use_with webp)
194 + $(use_with X x)
195 + --with-digcola
196 + --with-fontconfig
197 + --with-freetype2
198 + --with-ipsepcola
199 + --with-libgd
200 + --with-sfdp
201 + --without-ming
202 + # New/experimental features, to be tested, disable for now
203 + --without-ipsepcola
204 + --without-smyrna
205 + --without-visio
206 + # Bindings
207 + $(use_enable guile)
208 + $(use_enable perl)
209 + $(use_enable python python3)
210 + $(use_enable ruby)
211 + $(use_enable tcl)
212 + --disable-go
213 + --disable-io
214 + --disable-lua
215 + --disable-java
216 + --disable-ocaml
217 + --disable-php
218 + --disable-python
219 + --disable-r
220 + --disable-sharp
221 + # libtool file collision, bug #276609
222 + --without-included-ltdl
223 + --disable-ltdl-install
224 + )
225 + econf "${myconf[@]}"
226 +}
227 +
228 +src_install() {
229 + default
230 +
231 + find "${ED}" -name '*.la' -delete || die
232 +
233 + use python && python_optimize \
234 + "${D}"$(python_get_sitedir) \
235 + "${ED}"/usr/$(get_libdir)/graphviz/python3
236 +}
237 +
238 +pkg_postinst() {
239 + # We need to register all plugins before they become usable
240 + dot -c || die
241 +}
242 +
243 +pkg_postrm() {
244 + # Remove cruft, bug #547344
245 + rm -rf "${EROOT}"/usr/$(get_libdir)/graphviz/config{,6} || die
246 +}