development/egypt: Added (call graphs creator).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Erik Falor 2014-05-19 17:14:43 +07:00 committed by Willy Sudiarto Raharjo
parent 54315d0252
commit f44a28116c
4 changed files with 130 additions and 0 deletions

5
development/egypt/README Normal file
View file

@ -0,0 +1,5 @@
Egypt is a simple tool for creating call graphs of C programs. Egypt neither
analyzes source code nor lays out graphs. Instead, it leaves the source code
analysis to GCC and the graph layout to Graphviz, both of which are better at
their respective jobs than egypt itself could ever hope to be. Egypt is simply a
very small Perl script that glues these existing tools together.

View file

@ -0,0 +1,96 @@
#!/bin/sh
# Slackware build script for egypt
# Copyright 2014 Erik Falor, West Valley City, UT, USA
# 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=egypt
VERSION=${VERSION:-1.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# The presence of these variables may break the installation
unset PERL_LOCAL_LIB_ROOT PERL_MB_OPT PERL_MM_OPT
perl Makefile.PL INSTALL_BASE=$PKG/usr
sed -i "s|lib/perl5|lib${LIBDIRSUFFIX}/perl5|" Makefile
make
make install
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
find $PKG -name perllocal.pod \
-o -name ".packlist" \
-o -name "*.bs" \
| xargs rm -f
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a CHANGES $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="egypt"
VERSION="1.10"
HOMEPAGE="http://www.gson.org/egypt/"
DOWNLOAD="http://www.gson.org/egypt/download/egypt-1.10.tar.gz"
MD5SUM="591dce680bef60e73edccd0220957846"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="graphviz"
MAINTAINER="Erik Falor"
EMAIL="ewfalor@gmail.com"

View file

@ -0,0 +1,19 @@
# 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 ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
egypt: egypt (generate dotty callgraphs from C source code)
egypt:
egypt: Egypt is a simple tool for creating call graphs of C programs. Egypt
egypt: neither analyzes source code nor lays out graphs. Instead, it leaves
egypt: the source code analysis to GCC and the graph layout to Graphviz, both
egypt: of which are better at their respective jobs than egypt itself could
egypt: ever hope to be. Egypt is simply a very small Perl script that glues
egypt: these existing tools together.
egypt:
egypt:
egypt: