You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
4.5 KiB

#!/bin/sh
# Slackware build script for graphviz
# Copyright 2007 Robby Workman <rworkman@slackbuilds.org>
# Copyright 2011 Heinz Wiesinger <pprkut@slackbuilds.org>
# Copyright 2013-2015 Audrius Kažukauskas <audrius@neutrino.lt>
# Copyright 2016-2017 tde-slackbuilds - modified for inclusion in build method
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=graphviz
VERSION=${VERSION:-2.38.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_tde}
SRCURL="http://graphviz.org/pub/graphviz/stable/SOURCES/$PRGNAM-$VERSION.tar.gz"
ARCHIVE_TYPE="tar.gz"
source ../../get-source.sh
cd $TMP/tmp-$PRGNAM
tar -xf ${SOURCE}
cd ${PRGNAM}-${VERSION}
# list only files > zero bytes
DOCS=$(for file in AUTHORS* ChangeLog* COPYING* FAQ* INSTALL* KNOWNBUGS* NEWS* README* TODO* *.lsm;do [[ -s $file ]] && ls -1 $file;done ) || true
chown -R root:root .
chmod -R u+w,go+r-w,a+rX-st .
# set file permissions
source $SRCDIR/patches && setperms
# Install PHP bindings to proper location.
source $SRCDIR/patches && phpbindings
# Fix for php-5.4 and patches from Arch (thanks!)
source $SRCDIR/patches && patches
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
LDFLAGS="$SLKLDFLAGS" \
CC=${COMPILER} \
CXX=${COMPILER_CXX} \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--enable-ocaml=no
make $NUMJOBS || exit 1
make install-strip DESTDIR=$PKG || exit 1
## The primary purpose of this build is for 'dot' for kscope.
## If you want the pdf and html documentation, then comment out this line:
source $SRCDIR/patches && rmdoc
# Install config file for PHP.
source $SRCDIR/patches && graphvizini
# gzip man pages
source $SRCDIR/patches && gzipman
# Remove empty directories of language bindings that are absent.
source $SRCDIR/patches && emptydirs
# Create a "dummy" config file in /usr/lib${LIBDIRSUFFIX}/graphviz ...
source $SRCDIR/patches && dummy
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
cat $SRCDIR/$(basename $0) > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
find $PKG/usr/doc -type f -exec chmod 644 {} \;
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
SlackDesc()
{
echo "
# HOW TO EDIT THIS FILE:
# The 'handy ruler' below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
$PRGNAM|-----handy-ruler------------------------------------------------------|
$PRGNAM: $PRGNAM (Graph Visualization)
$PRGNAM:
$PRGNAM: Graphviz is open source graph visualization software.
$PRGNAM: It has several main graph layout programs. It also has
$PRGNAM: web and interactive graphical interfaces, and auxiliary
$PRGNAM: tools, libraries, and language bindings.
$PRGNAM:
$PRGNAM: Homepage: http://graphviz.org/
$PRGNAM:
$PRGNAM:
$PRGNAM:
" > $PKG/install/slack-desc
}
mkdir -p $PKG/install
SlackDesc
source $SRCDIR/patches && doinstsh
cd $PKG
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}
cd $OUTPUT
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz} > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.${PKGTYPE:-txz}.md5
cd -
cat $PKG/install/slack-desc | grep "^${PRGNAM}" | grep -v handy > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
# Restore the original umask:
umask ${_UMASK_}