aboutsummaryrefslogtreecommitdiff
path: root/speex/speex.SlackBuild
blob: b88cacc3afdd8b18b8d766e8c6819df5a98aef8d (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/bin/bash
#
# got it from http://ftp.cgu.edu.tw/Mirror/linuxpackages/Slackware-10.2-x86_64/pcxz/speex/speex.SlackBuild
# small changes by rhatto
#

CWD="`pwd`"

if [ -f ~/.slackbuildrc ]; then
  source ~/.slackbuildrc
elif [ -f /etc/slackbuildrc ]; then
  source /etc/slackbuildrc
fi

PACKAGE="speex"
VERSION=${VERSION:=1.0.5}
ARCH=${ARCH:=i486}
BUILD=${BUILD:=1rha}
TMP=${TMP:=/tmp}
SRC_DIR=${SRC:=$CWD}
REPOS=${REPOS:=$TMP}

RTOOL="wget"
PACKAGE_EXT="gz"
SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
URL="http://downloads.us.xiph.org/releases/speex/$SRC"

if [ "$PACKAGE_EXT" == "bz2" ]; then
  tarflag="j"
else
  tarflag="z"
fi

SRC_DIR="$SRC_DIR/$PACKAGE"
mkdir -p $SRC_DIR

if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
  wget "$URL" -O "$SRC_DIR/$SRC"
fi

if [ "$ARCH" == "i386" ]; then
  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" == "i486" ]; then
  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
elif [ "$ARCH" == "s390" ]; then
  SLKCFLAGS="-O2"
elif [ "$ARCH" == "x86_64" ]; then
  SLKCFLAGS="-O2 -fPIC"
fi

if [ "$ARCH" == "x86_64" ]; then
  LIBDIR="/usr/lib64"
else
  LIBDIR="/usr/lib"
fi

TMP="$TMP/$PACKAGE"
PKG=$TMP/package-$PACKAGE
rm -rf $TMP
mkdir -p $PKG
cd $TMP

rm -rf speex-$VERSION
tar xvf$tarflag $SRC_DIR/speex-$VERSION.tar.gz
cd speex-$VERSION

chown -R root.root .
find . -perm 777 -exec chmod 755 {} \;
find . -perm 664 -exec chmod 644 {} \;

LDFLAGS=-L/usr/lib64 \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure --prefix=/usr --sysconfdir=/etc --disable-debug --libdir=$LIBDIR \
             --program-prefix="" --program-suffix="" $ARCH-slackware-linux
make || exit 32
make install DESTDIR=$PKG

( cd $PKG
            for dn in usr usr/local usr/X11R6
             do
                 for dn2 in bin sbin
                 do
                    for file in `find $dn/$dn2 -type f 2> /dev/null`
                    do
                       chown root.bin $PKG/$file /$file 2> /dev/null
                    done
                 done
              done
)
( cd $PKG
             for dn in usr usr/local usr/X11R6
             do
                 for dn2 in man share/man info share/info
                 do
                    for file in `find $dn/$dn2 -type f 2> /dev/null`
                    do
                        gzip -9f $PKG/$file /$file  2> /dev/null
                    done
                 done
             done
)

( cd $PKG
  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)

mkdir -p $PKG/usr/doc/speex-$VERSION
cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/speex-$VERSION
mkdir -p $PKG/install

cat << EOF > $PKG/install/slack-desc
# 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-----------------------------------------------------|
speex: speex
speex: 
speex: The Speex is a patent-free, Open Source/Free Software voice codec.
speex: 
speex: 
speex: 
speex: 
speex: 
speex: 
speex: 
speex: 
EOF

if [ -f $CWD/slack-required ]; then
  cat $CWD/slack-required > $PKG/install/slack-required
fi

cd $PKG
makepkg -l y -c n $REPOS/speex-$VERSION-$ARCH-$BUILD.tgz

if [ "$CLEANUP" == "yes" ]; then
  rm -rf $TMP
fi