aboutsummaryrefslogtreecommitdiff
path: root/net/misc/ices/ices.SlackBuild
blob: 358e68c71c854abc9f52cbfd94690df040faa43a (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
#!/bin/bash
#
#  ices is free software; you can redistribute it and/or modify it under the
#  terms of the GNU General Public License as published by the Free Software
#  Foundation; either version 2 of the License, or any later version.
#
#  ices is distributed in the hope that it will be useful, but WITHOUT ANY
#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License along with
#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
#  Place - Suite 330, Boston, MA 02111-1307, USA
#
# slackbuild for ices by rhatto
# based on http://www.slackware.com/~alien/slackbuilds/icecast/build/ices.SlackBuild
# 

if [ -s "slack-required" ]; then
  echo Recomended and required packages for building ices are:
  cat slack-required | sed -e 's/^/\t/'
  if [ "$INTERACT" != "no" ]; then
    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
    read crap
#  else
#    echo Sleeping 3 seconds...
#    sleep 3
  fi
fi

CWD=`pwd`

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

# default settings
PACKAGE="ices"
ARCH=${ARCH:=i486}
VERSION=${VERSION:=2.0.1}
BUILD=${BUILD:=1rha}
SRC_DIR=${SRC:=$CWD}
TMP=${TMP:=/tmp}
REPOS=${REPOS:=$TMP}

# -------  error codes for createpkg  --------------
ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
ERROR_PATCH=40

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

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

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

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

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

tar xvpf $SRC_DIR/$SRC || exit $ERROR_TAR
cd $PRGNAM-$VERSION

./configure --prefix=/usr --localstatedir=/var \
            --sysconfdir=/usr/share/icecast/etc \
            --libdir=$LIBDIR || exit $ERROR_CONF

make || exit $ERROR_MAKE

# Install all the needed stuff to the package dir
# Use installwatch if available:
# which installwatch > /dev/null 2>&1
# if [ $? == 0 ]; then
#   installwatch -o $TMP/install-${PRGNAM}.log make DESTDIR=$PKG install
# else
make DESTDIR=$PKG install || exit $ERROR_INSTALL
# fi

# Copy the documentation
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -R {AUTHORS,COPYING,README,TODO,doc} $PKG/usr/doc/$PRGNAM-$VERSION
chmod -R -w $PKG/usr/doc/$PRGNAM-$VERSION

# --- PACKAGE DESCRIPTION ---
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

# --- BUILDING ---

# Build the package and compute its md5 checksum:
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

makepkg --linkadd y --chown y $REPOS/$PRGNAM-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG

#(cd $REPOS && md5sum $PRGNAM-$VERSION-$ARCH-$BUILD.tgz > $REPOS-$VERSION-$ARCH-$BUILD.tgz.md5)
#cat $CWD/slack-desc | grep "^${PRGNAM}" > $REPOS/$PRGNAM-$VERSION-$ARCH-$BUILD.txt

# --- CLEANUP ---

# Clean up the extra stuff:
if [ "$CLEANUP" == "yes" ]; then
  rm -rf $TMP
fi

#
# EOF
#