blob: df297ada5e93a30a2ce50aff0d01283585d928c2 (
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
133
134
135
|
#!/bin/bash
# Slackware build script for mono
# Written by Sebastián Salazar Molina <ssalazar@orangepeople.cl>
# Updated by Andre Barboza <bmg.andre@gmail.com>
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=mono
VERSION=${VERSION:-6.12.0.122}
MAJORVERSION=${MAJORVERSION:-6.12.0.122}
BIN_VERSION=${BIN_VERSION:-4.4.2.11}
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 the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
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=""
BOOTSTRAP_ARCH=i586
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
BOOTSTRAP_ARCH=i586
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
BOOTSTRAP_ARCH=x86_64
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
BOOTSTRAP_ARCH=i586
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$MAJORVERSION
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 {} \;
# Use full featured precompiled mono version instead of monolite
pushd $TMP
rm -rf $PRGNAM-$BIN_VERSION-$BOOTSTRAP_ARCH
tar xvf $CWD/$PRGNAM-$BIN_VERSION-$BOOTSTRAP_ARCH.tar.bz2
export PATH="$TMP/$PRGNAM-$BIN_VERSION-$BOOTSTRAP_ARCH/usr/bin:$PATH"
popd
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/*.la
find $PKG/usr/man -type f -exec gzip -9 {} \;
# Don't clobber the config files
( cd $PKG/etc/mono
mv config config.new
sed -i "s|\$mono_libdir|/usr/lib${LIBDIRSUFFIX}|" config.new
mv browscap.ini browscap.ini.new
mv mconfig/config.xml mconfig/config.xml.new
mv 2.0/DefaultWsdlHelpGenerator.aspx 2.0/DefaultWsdlHelpGenerator.aspx.new
mv 2.0/machine.config 2.0/machine.config.new
mv 2.0/settings.map 2.0/settings.map.new
mv 2.0/web.config 2.0/web.config.new
mv 2.0/Browsers/Compat.browser 2.0/Browsers/Compat.browser.new
mv 4.0/DefaultWsdlHelpGenerator.aspx 4.0/DefaultWsdlHelpGenerator.aspx.new
mv 4.0/machine.config 4.0/machine.config.new
mv 4.0/settings.map 4.0/settings.map.new
mv 4.0/web.config 4.0/web.config.new
mv 4.0/Browsers/Compat.browser 4.0/Browsers/Compat.browser.new
mv 4.5/DefaultWsdlHelpGenerator.aspx 4.5/DefaultWsdlHelpGenerator.aspx.new
mv 4.5/machine.config 4.5/machine.config.new
mv 4.5/settings.map 4.5/settings.map.new
mv 4.5/web.config 4.5/web.config.new
mv 4.5/Browsers/Compat.browser 4.5/Browsers/Compat.browser.new
)
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -ar COPYING.LIB LICENSE NEWS README.md docs $PKG/usr/doc/$PRGNAM-$VERSION
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
|