blob: b2d175d56bdcd6688cdd9b5cb9e4ca465023ecf2 (
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
|
#!/bin/bash
# Slackware build script for puNES
# Originally written by Hunter Sezen.
# Modified and now maintained by B. Watson <urchlay@slackware.uk>.
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# 20240828 bkw:
# - new maintainer.
# - relicense as WTFPL.
# - update for v0.111.
# - expand README and slack-desc.
# - include a man page.
# - add CG=no and QT6=yes options, document in README.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=puNES
VERSION=${VERSION:-0.111}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
fi
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
else
SLKCFLAGS="-O2"
fi
set -e
if [ -x /usr/bin/cgc -a "${CG:-yes}" = "yes" ]; then
WITHCG=WITH
CGOPT="-DENABLE_OPENGL_CG=ON"
else
WITHCG=without
CGOPT=""
fi
# 20240829 bkw: Qt6 is supported, but the user has to ask for it
# specifically. I don't see much difference in the UI either way.
# This may break horribly any time qt6 is updated, and I don't much care.
if [ -x $(which qmake6) -a "${QT6:-no}" = "yes" ]; then
QTVER=6
QTOPT="-DENABLE_QT6_LIBS=ON"
else
QTVER=5
QTOPT=""
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} +
patch -p1 < $CWD/qt-6.7.1.patch
# 20240828 bkw: make .desktop file validate properly.
sed -i -e '/^Encoding/d' \
-e '/^Comment/d' \
misc/*.desktop.in
# 20240828 bkw: upstream switched from autocrap to cmake.
mkdir -p build
cd build
cmake \
$CGOPT \
$QTOPT \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_DOCDIR=/usr/doc/$PRGNAM-$VERSION \
-DCMAKE_INSTALL_BINDIR=/usr/games \
-DCMAKE_BUILD_TYPE=Release ..
make
make install/strip DESTDIR=$PKG
cd ..
# 20240828 bkw: install/strip creates this empty dir...
rmdir $PKG/usr/bin
# 20240829 bkw: wrote a man page. Wasn't going to, but the --help
# option is too annoying to use (prints output in an X window instead
# of stdout).
mkdir -p $PKG/usr/man/man6
gzip -9c < $CWD/punes.6 > $PKG/usr/man/man6/punes.6.gz
ln -s punes.6.gz $PKG/usr/man/man6/$PRGNAM.6.gz
PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKGDOC
cp -a COPYING $PKGDOC
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
mkdir -p $PKG/install
sed -e "s,@WITHCG@,$WITHCG," \
-e "s,@QTVER@,$QTVER," \
< $CWD/slack-desc \
> $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/doinst.sh > $PKG/install/douninst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
|