1SUMMARY="A Graphviz dot graph file viewer"
2DESCRIPTION="KGraphViewer is a Graphviz DOT graph file viewer, aimed to replace the other \
3outdated Graphviz tools. Graphs are commonly used in scientific domains and particularly in \
4computer science.
5
6Features:
7* Zooming
8* Threaded loading of several graphs in tabs
9* Saving of the recent files list
10* Manual reload of files
11* Display of a bird-eye view of the graph
12* Moving of the graph by dragging
13* Full featured printing
14* Perfect drawing of all graphviz example graphs
15* Automatically choose dot for directed graphs and neato for undirected
16* Possibility to use an arbitrary layout algorithm as soon as it produces xdot format
17* Automatic reloading with user confirmation of (externally) modified files (configurable)
18* Open new instances as new tabs in the old one (configurable)"
19HOMEPAGE="https://apps.kde.org/kgraphviewer/"
20COPYRIGHT="2005-2010 Ga��l de Chalendar"
21LICENSE="GNU GPL v2"
22REVISION="1"
23srcGitRev="b4e14e29c213112d2c3511c4a1ddfbdb99c60152"
24SOURCE_URI="https://invent.kde.org/graphics/kgraphviewer/-/archive/$srcGitRev.tar.gz"
25CHECKSUM_SHA256="5e2f88d5a36218cbdd96877460f47a61b6d886c32bc18fcf2fcae160a5214593"
26SOURCE_DIR="kgraphviewer-$srcGitRev"
27PATCHES="kgraphviewer-$portVersion.patchset"
28ADDITIONAL_FILES="kgraphviewer.rdef.in"
29
30ARCHITECTURES="all !x86_gcc2"
31SECONDARY_ARCHITECTURES="x86"
32
33libVersion="2.4.3"
34libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
35
36PROVIDES="
37	kgraphviewer$secondaryArchSuffix = $portVersion
38	cmd:kgraphviewer$secondaryArchSuffix = $portVersion
39	lib:libkgraphviewer$secondaryArchSuffix = $libVersionCompat
40	"
41REQUIRES="
42	haiku$secondaryArchSuffix
43	lib:libcdt$secondaryArchSuffix
44	lib:libcgraph$secondaryArchSuffix
45	lib:libGL$secondaryArchSuffix
46	lib:libgvc$secondaryArchSuffix
47	lib:libpathplan$secondaryArchSuffix
48	# KF5
49	lib:libKF5AuthCore$secondaryArchSuffix
50	lib:libKF5Codecs$secondaryArchSuffix
51	lib:libKF5Completion$secondaryArchSuffix
52	lib:libKF5ConfigCore$secondaryArchSuffix
53	lib:libKF5ConfigGui$secondaryArchSuffix
54	lib:libKF5ConfigWidgets$secondaryArchSuffix
55	lib:libKF5CoreAddons$secondaryArchSuffix
56	lib:libKF5I18n$secondaryArchSuffix
57	lib:libKF5JobWidgets$secondaryArchSuffix
58	lib:libKF5KIOCore$secondaryArchSuffix
59	lib:libKF5Parts$secondaryArchSuffix
60	lib:libKF5Service$secondaryArchSuffix
61	lib:libKF5Solid$secondaryArchSuffix
62	lib:libKF5SonnetUi$secondaryArchSuffix
63	lib:libKF5TextWidgets$secondaryArchSuffix
64	lib:libKF5WidgetsAddons$secondaryArchSuffix
65	lib:libKF5WindowSystem$secondaryArchSuffix
66	lib:libKF5XmlGui$secondaryArchSuffix
67	# Qt5
68	lib:libQt5Core$secondaryArchSuffix
69	"
70
71PROVIDES_devel="
72	kgraphviewer${secondaryArchSuffix}_devel = $portVersion
73	devel:libkgraphviewer$secondaryArchSuffix = $libVersionCompat
74	"
75REQUIRES_devel="
76	kgraphviewer$secondaryArchSuffix == $portVersion base
77	"
78
79BUILD_REQUIRES="
80	haiku${secondaryArchSuffix}_devel
81	devel:libcdt$secondaryArchSuffix
82	devel:libcgraph$secondaryArchSuffix
83	devel:libboost_system$secondaryArchSuffix >= 1.83.0
84	devel:libgvc$secondaryArchSuffix
85	devel:libpathplan$secondaryArchSuffix
86	# KF5
87	extra_cmake_modules$secondaryArchSuffix
88	devel:libKF5Auth$secondaryArchSuffix
89	devel:libKF5Bookmarks$secondaryArchSuffix
90	devel:libKF5Codecs$secondaryArchSuffix
91	devel:libKF5Completion$secondaryArchSuffix
92	devel:libKF5ConfigCore$secondaryArchSuffix
93	devel:libKF5ConfigWidgets$secondaryArchSuffix
94	devel:libKF5CoreAddons$secondaryArchSuffix
95	devel:libKF5I18n$secondaryArchSuffix
96	devel:libKF5ItemViews$secondaryArchSuffix
97	devel:libKF5JobWidgets$secondaryArchSuffix
98	devel:libKF5KIOCore$secondaryArchSuffix
99	devel:libKF5Parts$secondaryArchSuffix
100	devel:libKF5Service$secondaryArchSuffix
101	devel:libKF5Solid$secondaryArchSuffix
102	devel:libKF5SonnetCore$secondaryArchSuffix
103	devel:libKF5TextWidgets$secondaryArchSuffix
104	devel:libKF5WidgetsAddons$secondaryArchSuffix
105	devel:libKF5WindowSystem$secondaryArchSuffix
106	devel:libKF5XmlGui$secondaryArchSuffix
107	# Qt5
108	devel:libQt5Core$secondaryArchSuffix
109	"
110BUILD_PREREQUIRES="
111	cmd:cmake
112	cmd:g++$secondaryArchSuffix
113	cmd:make
114	cmd:msgfmt
115	cmd:msgmerge
116	cmd:pkg_config$secondaryArchSuffix
117	cmd:qdbuscpp2xml$secondaryArchSuffix >= 5
118	"
119
120BUILD()
121{
122	cmake -Bbuild -S. $cmakeDirArgs \
123		-DCMAKE_BUILD_TYPE=Release \
124		-DKDE_INSTALL_PLUGINDIR=$addOnsDir/Qt5 \
125		-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
126	make -C build $jobArgs
127}
128
129INSTALL()
130{
131	make -C build install
132
133	# cleanup
134	rm -rf $dataDir/{applications,icons,metainfo}
135
136	local MAJOR="`echo "$portVersion" | cut -d. -f1`"
137	local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
138	local MINOR="`echo "$portVersion" | cut -d. -f3 | cut -d~ -f1`"
139	local APP_NAME="KGraphViewer"
140	local LONG_INFO="$SUMMARY"
141	local APP_SIGNATURE="application/x-vnd.kgraphviewer"
142	sed \
143		-e "s|@MAJOR@|$MAJOR|" \
144		-e "s|@MIDDLE@|$MIDDLE|" \
145		-e "s|@MINOR@|$MINOR|" \
146		-e "s|@LONG_INFO@|$LONG_INFO|" \
147		-e "s|@APP_NAME@|$APP_NAME|" \
148		-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
149		$portDir/additional-files/kgraphviewer.rdef.in > kgraphviewer.rdef
150
151	addResourcesToBinaries kgraphviewer.rdef $binDir/kgraphviewer
152	addAppDeskbarSymlink $binDir/kgraphviewer KGraphViewer
153
154	prepareInstalledDevelLib \
155		libkgraphviewer
156
157	packageEntries devel \
158		$developDir \
159		$libDir/cmake
160}
161