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
|
#!/bin/sh
# Slackware build script for epsxe
# Copyright (c) 2009, soyalexman, soyalexman@soyalexman.com
# PSX Controller icon made by soyalexman.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 1.- Redistributions of source code 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.
# NOTE:plugins,bios or cfg are not considered on this script
PRGNAM=epsxe
VERSION=1.60
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
EPSXEZIP=160lin
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
set -e
rm -rf $PKG
mkdir -p $PKG/usr/games/$PRGNAM-$VERSION $OUTPUT
unzip $CWD/$PRGNAM$EPSXEZIP.zip -d $PKG/usr/games/$PRGNAM-$VERSION
cd $PKG/usr/games/$PRGNAM-$VERSION
chown -R root:root .
## We'll diverge from upstream a bit in locations but not functionality
## Some of this stuff needs to be writable by users, so it can't be on the
## /usr partition in case it's mounted readonly. Also, we don't want *all*
## users to have write permissions on it, so we'll handle that too.
# First, the global configuration file
mkdir -p $PKG/var/games/$PRGNAM
sed "s%@INSTALLDIR@%/usr/games/$PRGNAM-$VERSION%g" $CWD/dot.epsxerc > \
$PKG/var/games/$PRGNAM/.epsxerc.new
cd $PKG/usr/games/$PRGNAM-$VERSION
# Link the config file to where it's expected
ln -s ../../../var/games/$PRGNAM/.epsxerc .epsxerc
mv bios cfg cheats memcards plugins sstates snap \
$PKG/var/games/$PRGNAM
for i in bios cfg cheats memcards plugins sstates snap ; do
ln -s ../../../var/games/$PRGNAM/$i . ;
done
cd -
# Make the plugins, bios, cfg, cheats, memcards, and snap dirs be owned by
# root:games and mode 2775 ; also make files 0664
chown -R root:games $PKG/var/games/$PRGNAM
find $PKG/var/games/$PRGNAM -type f -exec chmod 0664 {} \;
find $PKG/var/games/$PRGNAM -type d -exec chmod 2775 {} \;
# Add a wrapper in PATH (/usr/games) which will run the real executable at
# /usr/games/$PRGNAM-$VERSION/epsxe after handling some config details
sed "s%@INSTALLDIR@%/usr/games/$PRGNAM-$VERSION%g" $CWD/wrapper.epsxe \
> $PKG/usr/games/epsxe
chmod 0755 $PKG/usr/games/epsxe
# Add a .desktop file and icon for good menu integration
mkdir -p $PKG/usr/share/{applications,pixmaps}
install -m 0644 $CWD/epsxe.desktop $PKG/usr/share/applications/epsxe.desktop
install -m 0644 $CWD/epsxe.png $PKG/usr/share/pixmaps/epsxe.png
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
mv docs/* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
( cd $PKG/usr/games/$PRGNAM-$VERSION
rm -rf docs ; ln -sf ../../doc/$PRGNAM-$VERSION/ docs
)
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
|