aboutsummaryrefslogtreecommitdiffstats
path: root/main/graphviz/APKBUILD
blob: d70226b2b7546c268f9a3b50f3899c6c63ba6130 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=graphviz
pkgver=2.44.0
pkgrel=2
pkgdesc="Graph Visualization Tools"
url="https://www.graphviz.org/"
arch="all"
license="EPL-1.0"
_luaver=5.3
depends_dev="zlib-dev libpng-dev libjpeg-turbo-dev expat-dev
	fontconfig-dev libsm-dev libxext-dev cairo-dev pango-dev
	gmp-dev freetype-dev python3-dev"
makedepends="$depends_dev flex swig m4 libtool libxaw-dev bison lua$_luaver-dev
	libltdl tcl autoconf automake bash"
install="$pkgname.pre-deinstall"
triggers="$pkgname.trigger=/usr/lib/graphviz"
subpackages="$pkgname-dev $pkgname-doc py3-gv:_py3 lua$_luaver-$pkgname:_lua
	$pkgname-graphs::noarch"
source="https://gitlab.com/graphviz/graphviz/-/archive/$pkgver/graphviz-$pkgver.tar.gz
	0001-clone-nameclash.patch
	CVE-2020-18032.patch
	"

# secfixes:
#   2.44.0-r2:
#     - CVE-2020-18032

prepare() {
	default_prepare
	./autogen.sh NOCONFIG
}

build() {
	CONFIG_SHELL=/bin/bash \
	LIBPOSTFIX=/ \
	LUA=lua$_luaver \
	lua_suffix=$_luaver \
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--disable-silent-rules \
		--disable-static \
		--disable-dependency-tracking \
		--disable-ltdl-install \
		--enable-ltdl \
		--enable-sharp=no \
		--enable-go=no \
		--enable-guile=no \
		--enable-java=no \
		--enable-lua=yes \
		--enable-ocaml=no \
		--enable-perl=no \
		--enable-php=no \
		--enable-python=yes \
		--enable-r=no \
		--enable-ruby=no \
		--enable-tcl=no \
		--without-included-ltdl \
		--with-x \
		--with-rsvg=yes \
		--with-pangocairo=yes \
		--with-gdk-pixbuf=yes \
		--with-libgd=no \
		--with-ipsepcola=yes

	if [ "$CARCH" = "x86_64" ]; then
		# the configure script thinks we have sincos. we dont.
		sed -i -e '/HAVE_SINCOS/d' config.h
	fi

	make
}

package() {
	# Install has race conditions...
	make -j1 DESTDIR="$pkgdir" \
		pkgconfigdir=/usr/lib/pkgconfig \
		install

	mkdir -p "$pkgdir"/usr/share/doc
	mv "$pkgdir"/usr/share/graphviz/doc \
		"$pkgdir"/usr/share/doc/graphviz
}

_py3() {
	pkgdesc="Python3 extension for graphviz"
	depends="python3"

	mkdir -p "$subpkgdir"/usr/lib/graphviz \
		"$subpkgdir"/usr/lib
	mv "$pkgdir"/usr/lib/graphviz/python3* \
		"$subpkgdir"/usr/lib/graphviz
	mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib/
}

_lua() {
	pkgdesc="Lua$_luaver extension for graphviz"
	provides="lua-$pkgname=$pkgver-r$pkgrel"  # for backward compatibility
	replaces="lua-$pkgname"  # for backward compatibility

	mkdir -p "$subpkgdir"/usr/lib/graphviz \
		"$subpkgdir"/usr/lib/lua
	mv "$pkgdir"/usr/lib/graphviz/lua \
		"$subpkgdir"/usr/lib/graphviz/
	mv "$pkgdir"/usr/lib/lua "$subpkgdir"/usr/lib/lua/$_luaver
}

graphs() {
	pkgdesc="Demo graphs for graphviz"

	mkdir -p "$subpkgdir"/usr/share/graphviz
	mv "$pkgdir"/usr/share/graphviz/graphs \
		"$subpkgdir"/usr/share/graphviz/
}

sha512sums="
07e9776fc2fc3b8e17cd4ed6e6f2cd69330d4aa6592a77a39b7b55c4402440096c5eec2918a335c29f32c9f93c6d569b706bf1e503df5914607637bf71c47397  graphviz-2.44.0.tar.gz
aa4cbc341906a949a6bf78cadd96c437d6bcc90369941fe03519aa4447731ecbf6063a0dd0366d3e7aaadf22b69e4bcab3f8632a7da7a01f8e08a3be05c2bc5d  0001-clone-nameclash.patch
d4b818a3349a1c733177db0d4455004d47670ef1f07a670428d7c025edd6604e8342ff6906faa48abdd8e4abc0c42feb58cb1fdf116ae98fade5dbcb965d0843  CVE-2020-18032.patch
"