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
142
143
144
145
146
147
148
149
150
151
152
153
|
#!/bin/bash
# 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.
# 20201106 bkw: update for 142_bld178.
# 20191202 bkw: update for 142_bld150.
# 20180911 bkw: update for 142_bld137.
# 20180615 bkw: update for 142_bld134.
# 20180103 bkw: update for 142_bld123. Fixes the problem where the
# docs were installed to / instead of /usr/doc/$PRGNAM-$VERSION.
# 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
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=asl
SRCNAM=asl-current
VERSION=${VERSION:-142_bld178}
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
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 /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -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.
# 20201106 bkw: upstream changed PREFIX to INSTROOT, support both
# in case someone wants to build an old version.
DESTDIR=PREFIX
grep -q INSTROOT Makefile && DESTDIR=INSTROOT
make -j1 binaries install $DESTDIR=$PKG DOCPATH=""
gzip -9 $PKG/usr/man/man?/*.?
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
[ "${TESTS:-yes}" = "yes" ] && \
make -j1 test > $PKG/usr/doc/$PRGNAM-$VERSION/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
# 20191202 bkw: even after all that, I have to do this:
rm -f $PKG/usr/doc/$PRGNAM-$VERSION/*.tex
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}
|