blob: 8195fade7014b9cef778557d63d5c4ddd3d0361d (
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
|
#!/bin/bash
# Slackware build script for clksignal
# Written by B. Watson (urchlay@slackware.uk)
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# 20230114 bkw: updated for v20221125.
# - fix my typo that prevented the qt5 UI from being built.
# - rename ROM dir AppleIIGS => AppleIIgs (the latter is hardcoded
# in the emulator binary).
# - make PRINT_PACKAGE_NAME work.
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=clksignal
VERSION=${VERSION:-20221125}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
SRCNAM=CLK
SRCVER="$( echo $VERSION | sed 's,^\(....\)\(..\)\(..\),\1\-\2-\3,' )"
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"
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 $OUTPUT
cd $TMP
rm -rf $SRCNAM-$SRCVER
tar xvf $CWD/$SRCNAM-$SRCVER.tar.gz
cd $SRCNAM-$SRCVER
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 {} \+
mkdir -p $PKG/usr/games $PKG/usr/man/man6 $PKG/usr/share/applications
# Qt5 user interface is optional.
if [ "${QT:-yes}" = "yes" ]; then
cd OSBindings/Qt
qmake-qt5
make
install -s $PRGNAM $PKG/usr/games/$PRGNAM-qt
cd -
# clksignal-qt man page written for this SlackBuild
gzip -9c < $CWD/$PRGNAM-qt.6 > $PKG/usr/man/man6/$PRGNAM-qt.6.gz
cat $CWD/$PRGNAM-qt.desktop > $PKG/usr/share/applications/$PRGNAM-qt.desktop
fi
cd OSBindings/SDL
scons $MAKEFLAGS
install -s $PRGNAM $PKG/usr/games
cd -
# fix the clksignal man page (no, I'm not going to use ansible).
THLINE=".TH $PRGNAM 6 \\\"$SRCVER\\\" \\\"$VERSION\\\" \\\"SlackBuilds.org\\\""
sed '/^\.TH/s,.*,'"$THLINE"',' Packaging/templates/$PRGNAM.1.j2 | \
gzip -9c > $PKG/usr/man/man6/$PRGNAM.6.gz
# there actually are a few ROMs in here, plus lots of readme.txt.
# one dir has the wrong capitalization.
mkdir -p $PKG/usr/share/$SRCNAM
mv ROMImages/AppleIIGS ROMImages/AppleIIgs
cp -a ROMImages/* $PKG/usr/share/$SRCNAM
MACICONS="OSBindings/Mac/Clock Signal/Assets.xcassets/AppIcon.appiconset/"
for px in 16 32 64 128; do
size=${px}x${px}
dir=$PKG/usr/share/icons/hicolor/$size/apps
mkdir -p $dir
cp -a "$MACICONS/Icon$px.png" $dir/$PRGNAM.png
done
mkdir -p $PKG/usr/share/icons/hicolor/48x48/apps
convert -resize 48x48 \
"$MACICONS/Icon1024.png" \
$PKG/usr/share/icons/hicolor/48x48/apps/$PRGNAM.png
mkdir -p $PKG/usr/share/pixmaps
ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
# include a .desktop file with Hidden=true. it won't show up in the menus,
# because running it with no args is useless, but it will be available for
# "Open with".
cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKGDOC/html
cp -a README.md LICENSE* $PKGDOC
markdown_py -f $PKGDOC/html/index.html $PKGDOC/README.md
cp -a READMEImages $PKGDOC/html
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
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.$PKGTYPE
|