aboutsummaryrefslogtreecommitdiff
path: root/audio/herrie/herrie.SlackBuild
blob: 0b629625f92a25db2c00d5fe3e7c46ba5d9d60d5 (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
#!/bin/sh

# Slackware build script for herrie
# Written by Phillip Warner <pc_warner@yahoo.com>

PRGNAM=herrie
VERSION=${VERSION:-2.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i486 ;;
    arm*) ARCH=arm ;;
    # Unless $ARCH is already set, use uname -m for all other archs:
       *) ARCH=$( uname -m ) ;;
  esac
fi

CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

########################
# Experimental Patches #
#
# I have found these to be stable on my systems,
# and they might be included in future upstream 
# sources, but for now you use these at your own risk.
#
# Please read README.SBo for more information on the 
# functionality that these patches add.
AUTOQUIT=${AUTOQUIT:-NO}
SIGNALS=${SIGNALS:-NO}
FILTER=${FILTER:-NO}
########################

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/usr $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find . \
 \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
 -exec chmod 755 {} \; -o \
 \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
 -exec chmod 644 {} \;

if [ "$AUTOQUIT" == "YES" ]; then
	patch -p2 < $CWD/patches/herrie-autoquit.diff
fi

if [ "$SIGNALS" == "YES" ]; then
	patch -p2 < $CWD/patches/herrie-2.1-signals.diff
fi

if [ "$FILTER" == "YES" ]; then
	if [ "$AUTOQUIT" == "YES" ]; then
		patch -p2 < $CWD/patches/herrie-2.1-filters.diff
	else
		patch -p2 < $CWD/patches/herrie-2.1-filters-orig.diff
	fi
fi

####################CONFIG OPTIONS###########################
#no_http       Disable support for HTTP audio streams
#no_modplug    Disable libmodplug linkage
#no_mp3        Disable MP3 audio file support
#no_nls        Disable native language support
#no_scrobbler  Disable AudioScrobbler support
#no_sndfile    Disable libsndfile linkage (Wave/FLAC support)
#no_vorbis     Disable Ogg Vorbis support
#no_xspf       Disable XSPF playlist support

#alsa          Use ALSA audio output
#ao            Use libao audio output
#coreaudio     Use Apple CoreAudio audio output
#oss           Use Open Sound System output
#null          Use placeholder audio output
#pulse         Use PulseAudio audio output

#ncurses       Use ncurses instead of ncursesw (breaks UTF-8 support)
#xcurses       Build application against XCurses (PDCurses)

#no_strip      Do not strip the application binary on installation
#strict        Turn on stricter compiler flags for GCC
#verbose       Print commands during compilation
#############################################################

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
PREFIX="/usr" \
CONFDIR="/etc" \
MANDIR="/usr/man" \
./configure \
  no_sndfile \
  no_modplug \
  no_scrobbler \
  no_xspf \
  alsa

CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" force_arch="$ARCH" make
make install DESTDIR=$PKG

if [ "$SIGNALS" == "YES" ]; then
	install -m 0755 $CWD/herriectl $PKG/usr/bin/herriectl
fi

find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
  | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING README ChangeLog $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README.SBo > $PKG/usr/doc/$PRGNAM-$VERSION/README.SBo

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}