4
# Inspired by the metrox post-install script written by
5
# Johnie Ingram <johnie@debian.org>
6
# Modified by Gopal Narayanan <gopal@debian.org>
7
# Modified for dmd package by Witold Baryluk <baryluk@smp.if.uj.edu.pl>
15
#PREFIX="$P/debian/dmd${M}-nonfree"
19
if [ "$0" = "abort-upgrade" ]; then
23
MIRROR="http://ftp.digitalmars.com/"
25
## -- BEGIN OF AUTOMATICLY UPDATED SECTION DMD2 - DONT EDIT THIS AND LINES BELOW
27
MD5="6c83b7296cb84090a9ebc11ab0fb94a2"
28
## -- END OF AUTOMATICLY UPDATED SECTION DMD2 - DONT EDIT THIS AND LINES ABOVE
30
if [ "x${V}" = "x" ] || [ "x${MD5}" = "x" ]; then
31
echo "V and MD5 variables needed!" >&2
37
DOWNLOAD="${MIRROR}${FILE}"
39
if [ "x${TMPDIR}" != "x" ]; then
50
FILE="${TDIR}/${FILE}"
52
if [ -d "${XTDIR}" ]; then
53
echo "Directory ${XTDIR} already exists."
54
echo "Please remove ${XTDIR} and try again."
58
if [ ! -f "${FILE}" ]; then
59
echo ${FILE} not found in ${TDIR}.
60
if [ ! -x /usr/bin/wget ]; then
61
echo "wget not available for automatic retrieval of tar file"
62
echo "Please get $DOWNLOAD and put it into $TDIR"
63
echo "And then try reinstalling..."
67
temp=`tempfile -d "${TDIR}" -s "_dmd${M}.zip"`
69
if ! /usr/bin/wget -nd -O "${temp}" "${DOWNLOAD}"; then
75
if [ "x${DMDNONFREE_IGNORE_MD5SUM}" != "xyes" ]; then
76
if [ ! -x /usr/bin/md5sum ]; then
81
MD5C=`md5sum "${FILE}" | cut -f1 -d' '`
83
if [ "x${MD5}" = "x" ] || [ "x${MD5C}" = "x${MD5}" ]; then
86
echo "zip file insecure. md5sum incorect!"
87
echo" Make sure ${FILE} is the right zip file."
88
echo "There can by many possible reasons for this: corrupted file, changes of archive without notice, maintainer mistake."
89
echo "If You are sure that this file is right one, export environment variable DMDNONFREE_IGNORE_MD5SUM=yes"
94
echo -n "Unzipping ${FILE} ... "
97
if ! unzip "${FILE}" 2> /dev/null; then
99
echo -n "Cleaning up ... "
100
cd ${TDIR} && rm -rf ${DELFILES}
106
echo "Installing Digital Mars D compiler version ${V}:"
108
if [ "x$PREFIX" != "x" ]; then
111
mkdir -p $PREFIX/usr/bin
112
mkdir -p $PREFIX/usr/lib
113
mkdir -p $PREFIX/usr/share
114
mkdir -p $PREFIX/usr/share/doc
115
mkdir -p $PREFIX/usr/share/man
116
mkdir -p $PREFIX/usr/share/man/man1
119
echo -n "installing binaries.."
121
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/dmd $PREFIX/usr/bin/dmd${M}
123
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/rdmd $PREFIX/usr/bin/rdmd${M}
125
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/obj2asm $PREFIX/usr/bin/obj2asm${M}
127
install -g root -o root -m 755 $XTDIR/dmd/linux/bin/dumpobj $PREFIX/usr/bin/dumpobj${M}
131
echo -n "installing manpages.."
132
install -g root -o root -m 644 $XTDIR/dmd/man/man1/dmd.1 $PREFIX/usr/share/man/man1/dmd${M}.1
134
install -g root -o root -m 644 $XTDIR/dmd/man/man1/obj2asm.1 $PREFIX/usr/share/man/man1/obj2asm${M}.1
136
install -g root -o root -m 644 $XTDIR/dmd/man/man1/dumpobj.1 $PREFIX/usr/share/man/man1/dumpobj${M}.1
138
/bin/gzip -f -9 $PREFIX/usr/share/man/man1/dmd${M}.1
140
/bin/gzip -f -9 $PREFIX/usr/share/man/man1/obj2asm${M}.1
142
/bin/gzip -f -9 $PREFIX/usr/share/man/man1/dumpobj${M}.1
145
echo -n "installing documentation.."
147
install -g root -o root -m 0755 -d $PREFIX/usr/share/doc/dmd${M}-nonfree
148
rm -rf $PREFIX/usr/share/doc/dmd${M}-nonfree/html 2>/dev/null
150
mv -f $XTDIR/dmd/html $PREFIX/usr/share/doc/dmd${M}-nonfree/html
152
rm -rf $PREFIX/usr/share/doc/dmd${M}-nonfree/samples 2>/dev/null
154
mv -f $XTDIR/dmd/samples $PREFIX/usr/share/doc/dmd${M}-nonfree/samples
156
chown -R root:root $PREFIX/usr/share/doc/dmd${M}-nonfree
158
chmod -R u=rwX,go=rX $PREFIX/usr/share/doc/dmd${M}-nonfree
160
install -g root -o root -m 0644 $XTDIR/dmd/license.txt $PREFIX/usr/share/doc/dmd${M}-nonfree/license.txt
162
install -g root -o root -m 0644 $XTDIR/dmd/src/phobos/phoboslicense.txt $PREFIX/usr/share/doc/dmd${M}-nonfree/license-phobos.txt
163
if [ "x${M}" = "x2" ]; then
165
install -g root -o root -m 0644 $XTDIR/dmd/src/druntime/LICENSE_1_0.txt $PREFIX/usr/share/doc/dmd${M}-nonfree/license-druntime.txt
169
if [ "x${M}" = "x2" ]; then
170
echo -n "installing d runtime library (lib - binary files).."
171
rm -f $PREFIX/usr/lib/libdruntime.a 2>/dev/null
172
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/libdruntime.a 2>/dev/null
173
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/release/libdruntime.a 2>/dev/null
175
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime
176
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib
177
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/debug
178
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/release
179
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/unittest
181
install -g root -o root -m 0644 $XTDIR/dmd/linux/lib/libdruntime.a $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/release/libdruntime.a
183
ln -s release/libdruntime.a $PREFIX/usr/lib/d/dmd${M}-posix/druntime/lib/libdruntime.a
187
echo -n "installing phobos library (lib - binary files).."
188
rm -f $PREFIX/usr/lib/libphobos${M}.a 2>/dev/null
189
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/libphobos${M}.a 2>/dev/null
190
rm -f $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/release/libphobos${M}.a 2>/dev/null
192
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos
193
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib
194
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/debug
195
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/release
196
mkdir -p $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/unittest
198
install -g root -o root -m 0644 $XTDIR/dmd/linux/lib/libphobos${M}.a $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/release/libphobos${M}.a
200
ln -s release/libphobos${M}.a $PREFIX/usr/lib/d/dmd${M}-posix/phobos/lib/libphobos${M}.a
203
if [ "x${M}" = "x2" ]; then
204
echo -n "installing d runtime library (import - sources).."
205
rm -rf $PREFIX/usr/lib/dmd${M}/src/druntime 2>/dev/null
206
rm -rf $PREFIX/usr/include/d/dmd${M}-posix/druntime 2>/dev/null
208
install -g root -o root -m 0755 -d $PREFIX/usr/include/d/dmd${M}-posix/druntime
209
cp -Rf $XTDIR/dmd/src/druntime/import/ $PREFIX/usr/include/d/dmd${M}-posix/druntime/
211
chown -R root:root $PREFIX/usr/include/d/dmd${M}-posix/druntime
213
chmod -R u=rwX,go=rX $PREFIX/usr/include/d/dmd${M}-posix/druntime
215
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/build-dmd.bat
216
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/build-dmd.bat
217
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/dmd-win32.mak
218
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/compiler/dmd/win32.mak
219
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/gc/basic/win32.mak
220
rm -f $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/gc/stub/win32.mak
222
install -g root -o root -m 0644 $XTDIR/dmd/src/druntime/LICENSE_1_0.txt $PREFIX/usr/include/d/dmd${M}-posix/druntime/LICENSE_1_0.txt
223
install -g root -o root -m 0644 $XTDIR/dmd/src/druntime/README.txt $PREFIX/usr/include/d/dmd${M}-posix/druntime/README.txt
225
find $PREFIX/usr/include/d/dmd${M}-posix/druntime/import/ -type f | xargs dos2unix
230
echo -n "installing phobos library (import - sources).."
231
rm -rf $PREFIX/usr/lib/dmd${M}/src/phobos 2>/dev/null
232
rm -rf $PREFIX/usr/include/d/dmd${M}-posix/phobos 2>/dev/null
234
install -g root -o root -m 0755 -d $PREFIX/usr/include/d/dmd${M}-posix/phobos
235
cp -Rf $XTDIR/dmd/src/phobos $PREFIX/usr/include/d/dmd${M}-posix/phobos/import
237
chown -R root:root $PREFIX/usr/include/d/dmd${M}-posix/phobos
239
chmod -R u=rwX,go=rX $PREFIX/usr/include/d/dmd${M}-posix/phobos
241
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/minit.obj
242
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/win32.mak
243
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/internal/gc/win32.mak
244
rm -f $PREFIX/usr/include/d/dmd${M}-posix/phobos/import/etc/c/zlib/win32.mak
246
install -g root -o root -m 0644 $XTDIR/dmd/src/phobos/phoboslicense.txt $PREFIX/usr/include/d/dmd${M}-posix/phobos/phoboslicense.txt
248
find $PREFIX/usr/include/d/dmd${M}-posix/phobos/ -type f | xargs dos2unix
251
echo -n "Cleaning up..."
252
cd "${TDIR}" && rm -rf "${DELFILES}"