development/mono2: Added (software platform).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Ryan P.C. McQuen 2014-07-17 04:07:12 +07:00 committed by Willy Sudiarto Raharjo
parent 1b3acf7812
commit ade83cfeee
5 changed files with 193 additions and 0 deletions

17
development/mono2/README Normal file
View File

@ -0,0 +1,17 @@
Mono is a software platform designed to allow developers to easily create
cross platform applications. It is an open source implementation of
Microsoft's .Net Framework based on the ECMA standards for C# and the Common
Language Runtime. We feel that by embracing a successful, standardized
software platform, we can lower the barriers to producing great applications
for Linux.
This is a legacy version of mono, the last stable release of
the 2.10.x series.
Certain programs are known to run well with this older version
(such as opensim). You should try to run your program under the newer
version on slackbuilds.org simply called 'mono' if you are unsure what
version is required.
THIS VERSION WILL CONFLICT WITH THE NEWER VERSION OF MONO.
The executable is 'mono2'.

View File

@ -0,0 +1,25 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/mono/browscap.ini.new
config etc/mono/config.new
config etc/mono/mconfig/config.xml.new
config etc/mono/2.0/Browsers/Compat.browser.new
config etc/mono/2.0/DefaultWsdlHelpGenerator.aspx.new
config etc/mono/2.0/machine.config.new
config etc/mono/2.0/settings.map.new
config etc/mono/2.0/web.config.new
config etc/mono/4.0/DefaultWsdlHelpGenerator.aspx.new
config etc/mono/4.0/machine.config.new
config etc/mono/4.0/settings.map.new
config etc/mono/4.0/web.config.new

View File

@ -0,0 +1,122 @@
#!/bin/sh
# Slackware build script for mono2
# Ryan P.C. McQuen | Everett, WA | ryan.q@linux.com
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version, with the following exception:
# the text of the GPL license may be omitted.
# This program is distributed in the hope that it will be useful, but
# without any warranty; without even the implied warranty of
# merchantability or fitness for a particular purpose. Compiling,
# interpreting, executing or merely reading the text of the program
# may result in lapses of consciousness and/or very being, up to and
# including the end of all existence and the Universe as we know it.
# See the GNU General Public License for more details.
# You may have received a copy of the GNU General Public License along
# with this program (most likely, a file named COPYING). If not, see
# <http://www.gnu.org/licenses/>.
PRGNAM=mono2
SRCNAM=mono
VERSION=${VERSION:-2.10.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
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"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
chown -R root:root .
find . \
\( -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 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./autogen.sh \
--prefix=/usr/ \
--sysconfdir=/etc/ \
--localstatedir=/var/ \
--mandir=/usr/man/ \
--libdir=/usr/lib${LIBDIRSUFFIX}/ \
--docdir=/usr/doc/$PRGNAM-$VERSION/ \
--disable-static \
--program-suffix=2 \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
find $PKG/usr/man -type f -exec gzip -9 {} \;
# Don't clobber the config files
( cd $PKG/etc/mono/
mv config config.new
mv browscap.ini browscap.ini.new
mv mconfig/config.xml mconfig/config.xml.new
mv 2.0/settings.map 2.0/settings.map.new
mv 2.0/machine.config 2.0/machine.config.new
mv 2.0/web.config 2.0/web.config.new
mv 2.0/Browsers/Compat.browser 2.0/Browsers/Compat.browser.new
mv 2.0/DefaultWsdlHelpGenerator.aspx 2.0/DefaultWsdlHelpGenerator.aspx.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
)
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 -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}

View File

@ -0,0 +1,10 @@
PRGNAM="mono2"
VERSION="2.10.8.1"
HOMEPAGE="http://www.mono-project.com/"
DOWNLOAD="http://download.mono-project.com/sources/mono/mono-2.10.8.1.tar.gz"
MD5SUM="c7fd34d59f67e2a13e5421ba2441bc9d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libgdiplus"
MAINTAINER="Ryan P.C. McQuen"
EMAIL="ryan.q@linux.com"

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
mono2: Mono2 (cross platform, open source .NET development framework.)
mono2:
mono2: Mono is a software platform designed to allow developers to easily
mono2: create cross platform applications.
mono2: This is a legacy package of the 2.10.x series, for later versions,
mono2: check slackbuilds.org for the 'mono' package.
mono2:
mono2: Last information can be found at
mono2: http://www.mono-project.com
mono2:
mono2: