aboutsummaryrefslogtreecommitdiff
path: root/development/valgrind/valgrind.SlackBuild
blob: 4d503a26313defae947fb897be87f6645aea5f0e (plain)
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
#!/bin/sh

CWD=`pwd`
NAME=valgrind
VERSION=3.6.0
ARCH=i586
BUILD=1
PKGNAME=$NAME
PKGVER=$VERSION
BASEDIR=$PKGNAME-$PKGVER
ARCHIVE=$BASEDIR.tar.bz2
REPOSITORY=http://valgrind.org/downloads
FLAGS="-O2 -march=pentium -mtune=pentium -fno-strength-reduce \
 -fomit-frame-pointer -ffast-math"
PKG=/tmp/package-$NAME

rm -rf $PKG
mkdir -p $PKG

# Obtain sources
if [ ! -e $ARCHIVE ]; then
  if `wget "$REPOSITORY/$ARCHIVE"`; then
    true
  else
    exit 1
  fi
fi

# Compile
cd /tmp
tar jxvf $CWD/$ARCHIVE
cd $BASEDIR
xzcat $CWD/$NAME-$VERSION-glibcversion.patch.xz | patch -p1 -s
CFLAGS=$FLAGS CXXFLAGS=$FLAGS ./configure \
 --build=${ARCH}-slackware-linux \
 --disable-dependency-tracking \
 --prefix=/usr \
 --mandir=/usr/man \
 --sysconfdir=/etc \
 --localstatedir=/var \
 --docdir=/usr/share/html
make

# Install
make install DESTDIR=$PKG
mkdir -p $PKG/install $PKG/usr/doc/$NAME-$VERSION $PKG/usr/share/html
cat > $PKG/install/slack-desc <<EOF
# 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 ':'.

        |-----handy-ruler------------------------------------------------------|
valgrind: valgrind
valgrind:
valgrind: Valgrind is a tool to help finding memory-management problems in
valgrind: programs. When a program is run under Valgrind's supervision, all
valgrind: reads and writes of memory are checked, and calls to 'malloc', 'new',
valgrind: 'free' and 'delete' are intercepted. As a result, Valgrind can detect
valgrind: a lot of problems that are otherwise very hard to find.
valgrind:
valgrind: Homepage: http://valgrind.org
valgrind:
valgrind:
EOF

install -m 0644 -g 0 -o 0 AUTHORS NEWS \
 ${PKG}/usr/doc/${NAME}-${VERSION}

xz -9f \
 $PKG/usr/doc/${NAME}-${VERSION}/NEWS

mv  \
 $PKG/usr/share/doc/valgrind/html \
 $PKG/usr/share/html/valgrind

chmod 0444 $PKG/usr/man/man?/*.?
xz -9f $PKG/usr/man/man?/*.?

rm -rf \
 $PKG/usr/share/doc \
 $PKG/usr/lib/*.la

# WARNING: Do not strip symbols from what's in /usr/lib/valgrind
strip --strip-unneeded \
 $PKG/usr/lib/*.so* || :

strip \
 $PKG/usr/bin/* || :

chown -R root.root $PKG

# Make package
cd $PKG
cat install/slack-desc | grep "$NAME:" > /tmp/$NAME-$VERSION-$ARCH-$BUILD.txt
makepkg -l y -c n /tmp/$NAME-$VERSION-$ARCH-$BUILD.txz