Files
haikuports/media-gfx/graphviz/graphviz-2.40.1.recipe
2018-04-02 11:24:59 +00:00

219 lines
6.1 KiB
Bash

SUMMARY="Open source graph visualization software"
DESCRIPTION="Graphviz is open source graph visualization software. Graph \
visualization is a way of representing structural information as diagrams of \
abstract graphs and networks. It has important applications in networking, \
bioinformatics, software engineering, database and web design, machine \
learning, and in visual interfaces for other technical domains.
The Graphviz layout programs take descriptions of graphs in a simple text \
language, and make diagrams in useful formats, such as images and SVG for web \
pages, PDF or Postscript for inclusion in other documents; or display in an \
interactive graph browser. (Graphviz also supports GXL, an XML dialect.)
Graphviz has many useful features for concrete diagrams, such as options for \
colors, fonts, tabular node layouts, line styles, hyperlinks, rolland custom \
shapes."
HOMEPAGE="https://www.graphviz.org/"
COPYRIGHT="1994-2017 AT&T Corp."
LICENSE="EPL v1.0"
REVISION="1"
SOURCE_URI="https://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz"
CHECKSUM_SHA256="ca5218fade0204d59947126c38439f432853543b0818d9d728c589dfe7f3a421"
SOURCE_FILENAME="graphviz-$portVersion.tar.gz"
PATCHES="graphviz-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
graphvizLibs="\
libcdt \
libcgraph \
libgvc \
libgvpr \
liblab_gamut \
libpathplan \
libxdot \
"
libcdtVersion="5.0.0"
libcgraphVersion="6.0.0"
libgvcVersion="6.0.0"
libgvprVersion="2.0.0"
liblab_gamutVersion="1.0.0"
libpathplanVersion="4.0.0"
libxdotVersion="4.0.0"
portVersionCompat="$portVersion compat >= 2"
for i in $graphvizLibs; do
eval "${i}VersionCompat=\"\$${i}Version compat >= \${${i}Version%%.*}\""
done
PROVIDES="
graphviz$secondaryArchSuffix = $portVersionCompat
cmd:acyclic$secondaryArchSuffix
cmd:bcomps$secondaryArchSuffix
cmd:ccomps$secondaryArchSuffix
cmd:circo$secondaryArchSuffix
cmd:cluster$secondaryArchSuffix
cmd:diffimg$secondaryArchSuffix
cmd:dijkstra$secondaryArchSuffix
cmd:dot_builtins$secondaryArchSuffix
cmd:dot$secondaryArchSuffix
cmd:dot2gxl$secondaryArchSuffix
cmd:edgepaint$secondaryArchSuffix
cmd:fdp$secondaryArchSuffix
cmd:gc$secondaryArchSuffix
cmd:gml2gv$secondaryArchSuffix
cmd:graphml2gv$secondaryArchSuffix
cmd:gv2gml$secondaryArchSuffix
cmd:gv2gxl$secondaryArchSuffix
cmd:gvcolor$secondaryArchSuffix
cmd:gvgen$secondaryArchSuffix
cmd:gvpack$secondaryArchSuffix
cmd:gvpr$secondaryArchSuffix
cmd:gvmap$secondaryArchSuffix
cmd:gvmap.sh$secondaryArchSuffix
cmd:gxl2dot$secondaryArchSuffix
cmd:gxl2gv$secondaryArchSuffix
cmd:mm2gv$secondaryArchSuffix
cmd:neato$secondaryArchSuffix
cmd:nop$secondaryArchSuffix
cmd:osage$secondaryArchSuffix
cmd:patchwork$secondaryArchSuffix
cmd:prune$secondaryArchSuffix
cmd:sccmap$secondaryArchSuffix
cmd:sfdp$secondaryArchSuffix
cmd:tred$secondaryArchSuffix
cmd:twopi$secondaryArchSuffix
cmd:unflatten$secondaryArchSuffix
lib:libcdt$secondaryArchSuffix = $libcdtVersionCompat
lib:libcgraph$secondaryArchSuffix = $libcgraphVersionCompat
lib:libgvc$secondaryArchSuffix = $libgvcVersionCompat
lib:libgvpr$secondaryArchSuffix = $libgvprVersionCompat
lib:liblab_gamut$secondaryArchSuffix = $liblab_gamutVersionCompat
lib:libpathplan$secondaryArchSuffix = $libpathplanVersionCompat
lib:libxdot$secondaryArchSuffix = $libxdotVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgd$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libltdl$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
graphviz${secondaryArchSuffix}_devel = $portVersion
devel:libcdt$secondaryArchSuffix = $libcdtVersionCompat
devel:libcgraph$secondaryArchSuffix = $libcgraphVersionCompat
devel:libgvc$secondaryArchSuffix = $libgvcVersionCompat
devel:libgvpr$secondaryArchSuffix = $libgvprVersionCompat
devel:liblab_gamut$secondaryArchSuffix = $liblab_gamutVersionCompat
devel:libpathplan$secondaryArchSuffix = $libpathplanVersionCompat
devel:libxdot$secondaryArchSuffix = $libxdotVersionCompat
"
REQUIRES_devel="
graphviz$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libexpat$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgd$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libltdl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:autoreconf
cmd:awk
cmd:bison
cmd:flex
cmd:gcc$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:freetype_config$secondaryArchSuffix
"
defineDebugInfoPackage graphviz$secondaryArchSuffix \
$binDir/acyclic \
$binDir/bcomps \
$binDir/ccomps \
$binDir/circo \
$binDir/cluster \
$binDir/dijkstra \
$binDir/dot_builtins \
$binDir/dot \
$binDir/dot2gxl \
$binDir/edgepaint \
$binDir/fdp \
$binDir/gc \
$binDir/gml2gv \
$binDir/graphml2gv \
$binDir/gv2gml \
$binDir/gv2gxl \
$binDir/gvcolor \
$binDir/gvgen \
$binDir/gvpack \
$binDir/gvpr \
$binDir/gvmap \
$binDir/gxl2dot \
$binDir/gxl2gv \
$binDir/mm2gv \
$binDir/neato \
$binDir/nop \
$binDir/osage \
$binDir/patchwork \
$binDir/prune \
$binDir/sccmap \
$binDir/sfdp \
$binDir/tred \
$binDir/twopi \
$binDir/unflatten \
$libDir/libcdt.so.$libcdtVersion \
$libDir/libcgraph.so.$libcgraphVersion \
$libDir/libgvc.so.$libgvcVersion \
$libDir/libgvpr.so.$libgvprVersion \
$libDir/liblab_gamut.so.$liblab_gamutVersion \
$libDir/libpathplan.so.$libpathplanVersion \
$libDir/libxdot.so.$libxdotVersion
BUILD()
{
./autogen.sh
runConfigure --omit-dirs dataDir ./configure CPPFLAGS=-D_BSD_SOURCE \
--datadir=$developDocDir \
--enable-shared \
--disable-perl
make $jobArgs
}
INSTALL()
{
make install
#remove libtool files
rm $libDir/*.la
rm $libDir/graphviz/*.la
prepareInstalledDevelLibs $graphvizLibs
fixPkgconfig
packageEntries devel \
$developDir \
$manDir/man3
}
TEST()
{
make check
}