summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/mono/mono-1.0.5-r2.ebuild')
-rw-r--r--dev-lang/mono/mono-1.0.5-r2.ebuild133
1 files changed, 133 insertions, 0 deletions
diff --git a/dev-lang/mono/mono-1.0.5-r2.ebuild b/dev-lang/mono/mono-1.0.5-r2.ebuild
new file mode 100644
index 000000000000..6165379d2f78
--- /dev/null
+++ b/dev-lang/mono/mono-1.0.5-r2.ebuild
@@ -0,0 +1,133 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/mono-1.0.5-r2.ebuild,v 1.1 2005/03/11 03:14:01 latexer Exp $
+
+inherit eutils mono flag-o-matic debug
+
+MCS_P=${P/mono/mcs}
+MCS_S=${WORKDIR}/${MCS_P}
+
+DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
+HOMEPAGE="http://www.go-mono.com/"
+SRC_URI="http://www.go-mono.com/archive/${PV}/${P}.tar.gz
+ http://www.go-mono.com/archive/${PV}/${MCS_P}.tar.gz"
+
+LICENSE="|| ( GPL-2 LGPL-2 X11)"
+SLOT="0"
+KEYWORDS="~x86 ~ppc"
+IUSE=""
+
+DEPEND="virtual/libc
+ >=dev-libs/glib-2.0
+ >=dev-libs/icu-2.6.1
+ !<dev-dotnet/pnet-0.6.12
+ ppc? (
+ >=sys-devel/gcc-3.2.3-r4
+ >=sys-libs/glibc-2.3.3_pre20040420
+ )"
+RDEPEND="${DEPEND}
+ dev-util/pkgconfig
+ dev-libs/libxml2"
+
+src_unpack() {
+ unpack ${A}
+
+ epatch ${FILESDIR}/${MCS_P}-pathfix.diff
+
+ # Disable installing the precompiled mcs/classlibs
+ sed -i "s: runtime : :" ${S}/Makefile.in
+ # Fix the path for the jay man page
+ sed -i "s:man/man1:share/man/man1:" ${MCS_S}/jay/Makefile
+
+ # Ugly sed to replace windows path with *nix equivalent
+ for file in $(find ${MCS_S}/nunit20 -name AssemblyInfo.cs)
+ do
+ sed -i "s:\.\.\\\\\\\\:../:g" "${file}"
+ done
+
+ # Fix MONO_CFG_DIR for signing
+ sed -i \
+ "s:^\t\(MONO_PATH.*)\):\tMONO_CFG_DIR='${D}/etc/' \1:" \
+ ${MCS_S}/build/library.make
+
+ # add our own little in-place mcs script
+ echo "${S}/mono/mini/mono ${S}/runtime/mcs.exe \"\$@\" " > ${S}/runtime/mcs
+ chmod +x ${S}/runtime/mcs
+
+ echo "${S}/mono/mini/mono ${S}/runtime/monoresgen.exe \"\$@\" " > ${S}/runtime/monoresgen
+ chmod +x ${S}/runtime/monoresgen
+
+ PATH="${S}/runtime:${PATH}"
+ MONO_CFG_DIR='${D}/etc/'
+ export PATH
+ export MONO_CFG_DIR
+}
+
+src_compile() {
+ strip-flags
+
+ if have_NPTL
+ then
+ eerror "To use mono with an NPTL enabled glibc, please emerge"
+ eerror "mono-${PV}-r3."
+ die "NPTL glibc not support by this release"
+ fi
+
+ econf --with-tls=pthread --with-sigaltstack=yes || die
+ emake -j1 || die "mono runtime compilation failure"
+
+ cd ${S}
+ ln -s ../runtime ${WORKDIR}/${P}/runtime/lib
+
+ # Now that we have a valid config for lib mappings, put them
+ # in our temporary config directory.
+
+ dodir /etc/mono
+ cp ${S}/data/{config,machine.config} ${D}/etc/mono/
+
+ cd ${MCS_S}
+ echo "prefix=${S}/runtime" > build/config.make
+ echo "MONO_PATH=${S}/runtime/net_1_1" >> build/config.make
+ echo "BOOTSTRAP_MCS=${S}/runtime/mcs" >> build/config.make
+ echo "RUNTIME=${S}/mono/mini/mono \${RUNTIME_FLAGS}" >> build/config.make
+ echo "PATH=${S}/runtime:${PATH}" >> build/config.make
+ echo "export PATH" >> build/config.make
+ echo "export MONO_PATH" >> build/config.make
+ emake -j1 PLATFORM=linux || die "mcs compiler compilation failure"
+ echo "prefix=/usr" >> build/config.make
+}
+
+src_install() {
+ make DESTDIR=${D} install || die
+
+ dodoc AUTHORS ChangeLog NEWS README
+ docinto docs
+ dodoc docs/*
+ docinto libgc
+ dodoc libgc/ChangeLog
+
+ cd ${MCS_S}
+ make PLATFORM=linux DESTDIR=${D} install || die
+
+ docinto mcs
+ dodoc AUTHORS README* ChangeLog INSTALL.txt
+ docinto mcs/docs
+ dodoc docs/*.txt
+
+ # Remove some extraneous tools
+ cd ${D}/usr/bin
+ rm {CorCompare,EnumCheck,GenerateDelegate,ictool,IFaceDisco}.exe
+ rm nunit-console.exe
+
+ # init script
+ exeinto /etc/init.d ; newexe ${FILESDIR}/dotnet.init dotnet
+ insinto /etc/conf.d ; newins ${FILESDIR}/dotnet.conf dotnet
+}
+
+pkg_postinst() {
+ echo
+ einfo "If you want to avoid typing '<runtime> program.exe'"
+ einfo "you can configure your runtime in /etc/conf.d/dotnet"
+ einfo "Use /etc/init.d/dotnet to register your runtime"
+ echo
+}