diff options
Diffstat (limited to 'development/mono/mono.SlackBuild')
-rw-r--r-- | development/mono/mono.SlackBuild | 96 |
1 files changed, 54 insertions, 42 deletions
diff --git a/development/mono/mono.SlackBuild b/development/mono/mono.SlackBuild index 52d4d16edc..6619c94caf 100644 --- a/development/mono/mono.SlackBuild +++ b/development/mono/mono.SlackBuild @@ -1,30 +1,10 @@ #!/bin/sh -# Slackware build script for Mono - -# Copyright 2006 Martin Lefebvre <dadexter@gmail.com> -# Copyright 2008 Erik Hanson <erik@slackbuilds.org> -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Slackware build script for mono +# Written by Sebastián Salazar Molina <ssalazar@orangepeople.cl> PRGNAM=mono -VERSION=2.4 +VERSION=${VERSION:-2.6.1} ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -35,12 +15,17 @@ PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" fi -set -eu +set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT @@ -49,11 +34,16 @@ rm -rf $PRGNAM-$VERSION tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 cd $PRGNAM-$VERSION chown -R root:root . -chmod -R u+w,go+r-w,a-s . +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 {} \; -# Fix configure.in and regenerate the build system -patch -p0 < $CWD/mono-2.x.configure.in.patch -autoreconf +# 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" \ @@ -62,26 +52,48 @@ CXXFLAGS="$SLKCFLAGS" \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/man \ - --enable-shared=yes \ - --enable-static=no + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux make -make install-strip DESTDIR=$PKG +make install DESTDIR=$PKG -mv $PKG/usr/share/man/man1/* $PKG/usr/man/man1/ -rmdir $PKG/usr/share/man/man1 $PKG/usr/share/man +# 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?/*.? -# Let's not clobber existing config files -find $PKG/etc -type f -exec mv -v {} {}.new \; +# 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 $PKG/install -cp -a AUTHORS COPYING.LIB LICENSE NEWS docs/* $PKG/usr/doc/$PRGNAM-$VERSION -rm $PKG/usr/doc/$PRGNAM-$VERSION/Makefile* -mv $PKG/usr/share/libgc-mono $PKG/usr/doc/$PRGNAM-$VERSION +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.tgz +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |