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
|
#!/bin/sh
# Slackware build script for asl
# Originally written by Oleg O. Chukaev <email removed>
# Modified and currently maintained by B. Watson <yalhcru@gmail.com>.
# Original version had no license. Modified version released under the
# WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
# 20170926 bkw:
# - take over maintenance
# - update for 142_bld119
# - i486 => i586
# - clean up the documentation mess, add DOCTYPES with sane default
# - don't install compile instructions in /usr/doc
# - add UTF8 option (default off)
# - nitpick README and slack-desc
# - run test suite, include results in doc dir
PRGNAM=asl
SRCNAM=asl-current
VERSION=${VERSION:-142_bld119}
SRCVER=$(echo $VERSION | tr _ -)
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
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
tar xvf $CWD/$SRCNAM-$SRCVER.tar.?z*
cd $SRCNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
sed -e "/^CFLAGS/s,=.*,= $SLKCFLAGS," \
-e 's,/local,,' \
-e "s,/lib,&$LIBDIRSUFFIX," \
-e "s,doc/.*,doc/$PRGNAM-$VERSION," \
< Makefile.def.tmpl \
> Makefile.def
# Slackware standard is still non-utf8 locales in 14.2.
UTF8="${UTF8:-no}"
[ "$UTF8" = "yes" ] && \
sed -i 's/CHARSET_ISO8859_1/CHARSET_UTF8/' Makefile.def
# binaries are already stripped, no symlinks in man pages.
make -j1 binaries install PREFIX=$PKG DOCDIR=""
gzip -9 $PKG/usr/man/man?/*.?
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
[ "${TESTS:-yes}" = "yes" ] && \
make -j1 test > $PKG/usr/doc/$PRGNAM/test_suite.log 2>&1
# Don't use 'make docs', we don't need to waste time converting the
# same documentation into multiple formats (html, ps, pdf, plain text)
# unless the user really wants to. Also, "make docs" followed by "make
# install" results in a mess, the /usr/doc dir ends up containing all
# the converted formats, plus the TeX source, plus all the temporary
# files created during the doc build. The stuff below is more work than
# I really wanted to do, but...
DOCTYPES="${DOCTYPES:-html}"
for doctype in $DOCTYPES; do
for lang in EN DE; do
case "$doctype" in
html)
make tex2html
make -C doc_$lang as.html TEX2HTML=../tex2html
cat doc_$lang/as.html > $PKG/usr/doc/$PRGNAM-$VERSION/as-$lang.html
;;
pdf)
make -C doc_$lang as.pdf TEX2HTML=../tex2html
cat doc_$lang/as.pdf > $PKG/usr/doc/$PRGNAM-$VERSION/as-$lang.pdf
;;
ps)
make -C doc_$lang as.ps TEX2HTML=../tex2html
cat doc_$lang/as.ps > $PKG/usr/doc/$PRGNAM-$VERSION/as-$lang.ps
;;
txt)
make tex2doc
make -C doc_$lang as.doc TEX2DOC=../tex2doc
cat doc_$lang/as.doc > $PKG/usr/doc/$PRGNAM-$VERSION/as-$lang.txt
;;
*)
echo "Unknown value for DOCTYPES, valid types are: html pdf ps txt" 1>&2
exit 1
;;
esac
done
done
cp -a BENCHES README README.LANGS TODO changelog \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
sed -e "s,@UTF8@,$UTF8," \
-e "s,@DOCTYPES@,$DOCTYPES," \
$CWD/slack-desc \
> $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|