Gentoo Archives: gentoo-commits

From: Mikle Kolyada <zlogene@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphviz/
Date: Mon, 25 May 2020 08:38:09
Message-Id: 1590395881.d517d999355086810530b262be47e10efd759921.zlogene@gentoo
1 commit: d517d999355086810530b262be47e10efd759921
2 Author: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
3 AuthorDate: Mon May 25 08:37:24 2020 +0000
4 Commit: Mikle Kolyada <zlogene <AT> gentoo <DOT> org>
5 CommitDate: Mon May 25 08:38:01 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d517d999
7
8 media-gfx/graphviz: Version bump (v2.44)
9
10 Package-Manager: Portage-2.3.99, Repoman-2.3.22
11 Signed-off-by: Mikle Kolyada <zlogene <AT> gentoo.org>
12
13 media-gfx/graphviz/Manifest | 1 +
14 media-gfx/graphviz/graphviz-2.44.0.ebuild | 278 ++++++++++++++++++++++++++++++
15 2 files changed, 279 insertions(+)
16
17 diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
18 index fc54be26fd3..162ee92070d 100644
19 --- a/media-gfx/graphviz/Manifest
20 +++ b/media-gfx/graphviz/Manifest
21 @@ -1 +1,2 @@
22 DIST graphviz-2.42.3.tar.gz 26246717 BLAKE2B 71c61dcd056c9a2e2655c3be995d1da17b3af0d3374e74400fc38da11ab81849f7b5e528f99fc2046294958a4bab0a411ab204e434360f316a5367403472e8a1 SHA512 e03ca6da0ddb1162bd179d159d7dbb379d55012d63bb922aa800260fce52b65beb1a9b5ca1a5199ad3537201b0b4841efc9facee6e03065c6bd02e840f8a29c9
23 +DIST graphviz-2.44.0.tar.gz 32903746 BLAKE2B 05def6b50366900fe84b8d72b802461d33624444f00d1c648801da81708dcdf7dc601f95561d8f7dc8e745eef61326cb9a234a0db1bc45c8a7d7d46e552c373b SHA512 9fd54a5c7b0d8cf3e1bf7e80409b57022182b6bfe3f57a06a219d6d29684962ac935fc76d1e7420ba88b1ffc2ab5b967cc4617e56f810818f99801d31981a752
24
25 diff --git a/media-gfx/graphviz/graphviz-2.44.0.ebuild b/media-gfx/graphviz/graphviz-2.44.0.ebuild
26 new file mode 100644
27 index 00000000000..cc960e3dcb4
28 --- /dev/null
29 +++ b/media-gfx/graphviz/graphviz-2.44.0.ebuild
30 @@ -0,0 +1,278 @@
31 +# Copyright 1999-2020 Gentoo Authors
32 +# Distributed under the terms of the GNU General Public License v2
33 +
34 +EAPI=7
35 +
36 +PYTHON_COMPAT=( python3_{7,8} )
37 +inherit autotools flag-o-matic java-pkg-opt-2 python-single-r1 qmake-utils
38 +
39 +DESCRIPTION="Open Source Graph Visualization Software"
40 +HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
41 +SRC_URI="https://www2.graphviz.org/Packages/stable/portable_source/${P}.tar.gz"
42 +
43 +LICENSE="CPL-1.0"
44 +SLOT="0"
45 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
46 +IUSE="+cairo devil doc examples gdk-pixbuf gtk gts guile java lasi nls pdf perl postscript python qt5 ruby static-libs svg tcl X elibc_FreeBSD"
47 +
48 +REQUIRED_USE="
49 + !cairo? ( !X !gtk !postscript !lasi )
50 + python? ( ${PYTHON_REQUIRED_USE} )"
51 +
52 +# Requires ksh, tests against installed package, missing files and directory
53 +RESTRICT="test"
54 +
55 +BDEPEND="
56 + sys-devel/flex
57 + sys-devel/libtool
58 + virtual/pkgconfig
59 + nls? ( >=sys-devel/gettext-0.14.5 )
60 + perl? ( dev-lang/swig )
61 + python? ( dev-lang/swig )
62 + ruby? ( dev-lang/swig )
63 + tcl? ( dev-lang/swig )
64 +"
65 +RDEPEND="
66 + >=dev-libs/expat-2
67 + >=dev-libs/glib-2.11.1:2
68 + dev-libs/libltdl:0
69 + >=media-libs/fontconfig-2.3.95
70 + >=media-libs/freetype-2.1.10
71 + >=media-libs/gd-2.0.34:=[fontconfig,jpeg,png,truetype,zlib]
72 + >=media-libs/libpng-1.2:0=
73 + sys-libs/zlib
74 + virtual/jpeg:0
75 + virtual/libiconv
76 + cairo? (
77 + >=x11-libs/cairo-1.1.10[svg]
78 + >=x11-libs/pango-1.12
79 + )
80 + devil? ( media-libs/devil[png,jpeg] )
81 + gtk? ( x11-libs/gtk+:2 )
82 + gts? ( sci-libs/gts )
83 + lasi? ( media-libs/lasi )
84 + pdf? ( app-text/poppler )
85 + perl? ( dev-lang/perl:= )
86 + postscript? ( app-text/ghostscript-gpl )
87 + python? ( ${PYTHON_DEPS} )
88 + qt5? (
89 + dev-qt/qtcore:5
90 + dev-qt/qtgui:5
91 + dev-qt/qtprintsupport:5
92 + dev-qt/qtwidgets:5
93 + )
94 + ruby? ( dev-lang/ruby:* )
95 + svg? ( gnome-base/librsvg )
96 + tcl? ( >=dev-lang/tcl-8.3:0= )
97 + X? (
98 + x11-libs/libX11
99 + x11-libs/libXaw
100 + x11-libs/libXmu
101 + x11-libs/libXpm
102 + x11-libs/libXt
103 + )
104 +"
105 +DEPEND="${RDEPEND}
106 + guile? (
107 + dev-lang/swig
108 + dev-scheme/guile
109 + )
110 + java? (
111 + dev-lang/swig
112 + >=virtual/jdk-1.5
113 + )
114 +"
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 +# Disabled, GTK-1 junk.
127 +# - glitz
128 +# Disabled, no particular reason
129 +# needs 'pangocairo' enabled in graphviz configuration
130 +# - ming
131 +# flash plugin via -Tswf requires media-libs/ming-0.4. Disabled as it's
132 +# incomplete.
133 +# - cairo/pango:
134 +# Needs pango for text layout, uses cairo methods to draw stuff
135 +# - xlib:
136 +# needs cairo+pango,
137 +# can make use of gnomeui and inotify support (??? unsure),
138 +# needs libXaw for UI
139 +# UI also links directly against libX11, libXmu, and libXt
140 +# and uses libXpm if available so we make sure it always is
141 +
142 +# There can be swig-generated bindings for the following languages (/tclpkg/gv):
143 +# - c-sharp (disabled)
144 +# - scheme (enabled via guile) ... no longer broken on ~x86
145 +# - go (disabled)
146 +# - io (disabled)
147 +# - java (enabled via java) *2
148 +# - lua (enabled via lua)
149 +# - ocaml (enabled via ocaml)
150 +# - perl (enabled via perl) *1
151 +# - php (enabled via php) *2
152 +# - python (enabled via python) *1
153 +# - ruby (enabled via ruby) *1
154 +# - tcl (enabled via tcl)
155 +# *1 = The ${P}-bindings.patch takes care that those bindings are installed to the right location
156 +# *2 = Those bindings don't build because the paths for the headers/libs aren't
157 +# detected correctly and/or the options passed to swig are wrong (-php instead of -php4/5)
158 +
159 +# There are several other tools in /tclpkg:
160 +# gdtclft, tcldot, tclhandle, tclpathplan, tclstubs ; enabled with: --with-tcl
161 +# tkspline, tkstubs ; enabled with: --with-tk
162 +
163 +# And the commands (/cmd):
164 +# - dot, dotty, gvedit, gvpr, lefty, lneato, smyrna, tools/* :)
165 +# sci-libs/gts can be used for some of these
166 +# - lefty:
167 +# needs Xaw and X to build
168 +# - gvedit (via 'qt5'):
169 +# based on ./configure it needs qt-core and qt-gui only
170 +# - smyrna : experimental opengl front-end (via 'smyrna')
171 +# currently disabled -- it segfaults a lot
172 +# needs x11-libs/gtkglext, gnome-base/libglade, media-libs/freeglut
173 +# sci-libs/gts, x11-libs/gtk. Also needs 'gtk','glade','glut','gts' and 'png'
174 +# with flags enabled at configure time
175 +
176 +PATCHES=( "${FILESDIR}"/${PN}-2.34.0-Xaw-configure.patch )
177 +
178 +pkg_setup() {
179 + use python && python-single-r1_pkg_setup
180 +
181 + java-pkg-opt-2_pkg_setup
182 +}
183 +
184 +src_prepare() {
185 + default
186 +
187 + # ToDo: Do the same thing for examples and/or
188 + # write a patch for a configuration-option
189 + # and send it to upstream
190 + # note - the longer sed expression removes multi-line assignments that are extended via '\'
191 + if ! use doc ; then
192 + find . -iname Makefile.am \
193 + | xargs sed -i -e '/^\(html\|pdf\)_DATA.*\\[[:space:]]*$/{:m;N;s/\\\n//;tm;d}' \
194 + -e '/^\(html\|pdf\)_DATA/d' || die
195 + fi
196 +
197 + # This is an old version of libtool
198 + # use the ./configure option to exclude its use, and
199 + # delete the dir since we don't need to eautoreconf it
200 + rm -r libltdl || die
201 +
202 + # Nuke the dead symlinks for the bindings
203 + sed -i -e '/$(pkgluadir)/d' tclpkg/gv/Makefile.am || die
204 +
205 + # replace the whitespace with tabs
206 + sed -i -e 's: :\t:g' doc/info/Makefile.am || die
207 +
208 + # use correct version of qmake. bug #567236
209 + sed -i -e "/AC_CHECK_PROGS(QMAKE/a AC_SUBST(QMAKE,$(qt5_get_bindir)/qmake)" configure.ac || die
210 +
211 + # workaround for http://www.graphviz.org/mantisbt/view.php?id=1895
212 + use elibc_FreeBSD && append-flags $(test-flags -fno-builtin-sincos)
213 +
214 + use java && append-cppflags $(java-pkg_get-jni-cflags)
215 +
216 + eautoreconf
217 +}
218 +
219 +src_configure() {
220 + local myconf=(
221 + --enable-ltdl
222 + $(use_with cairo pangocairo)
223 + $(use_with devil)
224 + $(use_enable gdk-pixbuf)
225 + $(use_with gtk)
226 + $(use_with gts)
227 + $(use_with qt5 qt)
228 + $(use_with lasi)
229 + $(use_with pdf poppler)
230 + $(use_with postscript ghostscript)
231 + $(use_enable static-libs static)
232 + $(use_with svg rsvg)
233 + $(use_with X x)
234 + $(use_with X xaw)
235 + $(use_with X lefty)
236 + --with-digcola
237 + --with-fontconfig
238 + --with-freetype2
239 + --with-ipsepcola
240 + --with-libgd
241 + --with-sfdp
242 + --without-ming
243 + # new/experimental features, to be tested, disable for now
244 + --with-cgraph
245 + --without-glitz
246 + --without-ipsepcola
247 + --without-smyrna
248 + --without-visio
249 + # Bindings:
250 + $(use_enable guile)
251 + $(use_enable java)
252 + $(use_enable perl)
253 + $(use_enable python python2)
254 + $(use_enable python python3)
255 + $(use_enable ruby)
256 + $(use_enable tcl)
257 + --disable-go
258 + --disable-io
259 + --disable-lua
260 + --disable-ocaml
261 + --disable-php
262 + --disable-python
263 + --disable-r
264 + --disable-sharp
265 + # libtool file collision, bug #276609
266 + --without-included-ltdl
267 + --disable-ltdl-install
268 + )
269 + econf "${myconf[@]}"
270 +}
271 +
272 +src_install() {
273 + sed -i -e "s:htmldir:htmlinfodir:g" doc/info/Makefile || die
274 +
275 + emake DESTDIR="${D}" \
276 + txtdir="${EPREFIX}"/usr/share/doc/${PF} \
277 + htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
278 + htmlinfodir="${EPREFIX}"/usr/share/doc/${PF}/html/info \
279 + pdfdir="${EPREFIX}"/usr/share/doc/${PF}/pdf \
280 + pkgconfigdir="${EPREFIX}"/usr/$(get_libdir)/pkgconfig \
281 + install
282 +
283 + if ! use examples; then
284 + rm -rf "${ED}"/usr/share/graphviz/demo || die
285 + fi
286 +
287 + if ! use static-libs; then
288 + find "${ED}" -name '*.la' -delete || die
289 + fi
290 +
291 + einstalldocs
292 +
293 + use python && python_optimize \
294 + "${D}$(python_get_sitedir)" \
295 + "${D}/usr/$(get_libdir)/graphviz/python2" \
296 + "${D}/usr/$(get_libdir)/graphviz/python3"
297 +}
298 +
299 +pkg_postinst() {
300 + # This actually works if --enable-ltdl is passed
301 + # to configure
302 + dot -c || die
303 +}
304 +
305 +pkg_postrm() {
306 + # Remove cruft, bug #547344
307 + rm -rf "${EROOT}"/usr/$(get_libdir)/graphviz/config{,6} || die
308 +}