#!/bin/sh # Slackware build script for mono # Written by Sebastián Salazar Molina <ssalazar@orangepeople.cl> PRGNAM=mono VERSION=${VERSION:-2.6.1} ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 cd $PRGNAM-$VERSION chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; # patch provided by http://www.nabble.com/user/UserProfile.jtp?user=543318 # http://go-mono.com/forums/#nabble-p21561564 patch -p0 < $CWD/configure.in.patch autoconf 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 # There's still something braindead in here that doesn't grok --mandir mv $PKG/usr/share/man/man1/* $PKG/usr/man/man1 ; rm -rf $PKG/usr/share/man gzip -9 $PKG/usr/man/man?/*.? # Don't clobber the config files mv $PKG/etc/mono/config $PKG/etc/mono/config.new mv $PKG/etc/mono/mconfig/config.xml $PKG/etc/mono/mconfig/config.xml.new mv $PKG/etc/mono/1.0/machine.config $PKG/etc/mono/1.0/machine.config.new mv $PKG/etc/mono/1.0/DefaultWsdlHelpGenerator.aspx \ $PKG/etc/mono/1.0/DefaultWsdlHelpGenerator.aspx.new mv $PKG/etc/mono/browscap.ini $PKG/etc/mono/browscap.ini.new mv $PKG/etc/mono/2.0/settings.map $PKG/etc/mono/2.0/settings.map.new mv $PKG/etc/mono/2.0/machine.config $PKG/etc/mono/2.0/machine.config.new mv $PKG/etc/mono/2.0/Browsers/Compat.browser \ $PKG/etc/mono/2.0/Browsers/Compat.browser.new mv $PKG/etc/mono/2.0/web.config $PKG/etc/mono/2.0/web.config.new mv $PKG/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx \ $PKG/etc/mono/2.0/DefaultWsdlHelpGenerator.aspx.new ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \ xargs strip --strip-unneeded 2> /dev/null || true find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \ xargs strip --strip-unneeded 2> /dev/null || true ) mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION cp -a \ AUTHORS ChangeLog COPYING.LIB LICENSE NEWS README \ $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:-tgz}