Revision bump pthreads and nptl mono versions that now build mcs and class libs as...
authorPeter Johanson <latexer@gentoo.org>
Tue, 21 Dec 2004 01:14:54 +0000 (01:14 +0000)
committerPeter Johanson <latexer@gentoo.org>
Tue, 21 Dec 2004 01:14:54 +0000 (01:14 +0000)
dev-dotnet/mono/ChangeLog
dev-dotnet/mono/Manifest
dev-dotnet/mono/files/digest-mono-1.0.5-r2 [new file with mode: 0644]
dev-dotnet/mono/files/digest-mono-1.0.5-r3 [new file with mode: 0644]
dev-dotnet/mono/mono-1.0.5-r2.ebuild [new file with mode: 0644]
dev-dotnet/mono/mono-1.0.5-r3.ebuild [new file with mode: 0644]

index fd5d6128f6178dd301a098af6a2e050a9ddea0df..48177eaf8442532d63d82ad299b8300ff7e0ce95 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for dev-dotnet/mono
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-dotnet/mono/ChangeLog,v 1.36 2004/12/13 19:46:34 latexer Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-dotnet/mono/ChangeLog,v 1.37 2004/12/21 01:14:54 latexer Exp $
+
+*mono-1.0.5-r3 (20 Dec 2004)
+
+  20 Dec 2004; Peter Johanson <latexer@gentoo.org> +mono-1.0.5-r2.ebuild,
+  +mono-1.0.5-r3.ebuild:
+  Revision bump pthreads and nptl mono versions that now build mcs and class
+  libs as well. Includes fix for bug #72770/66528. Thanks to foser
+  <foser@gentoo.org> for the corlib fix.
 
 *mono-1.0.5 (13 Dec 2004)
 
index cda221e4cee7b41837a423925e07b6222ebd13a0..5d018c8285b16b7ad25901b07d2f435df6ee9dba 100644 (file)
@@ -1,13 +1,15 @@
 MD5 766eb96143a4871feef1d5b2932d70f5 mono-1.0.5-r1.ebuild 2127
 MD5 79d9a2421c3661e23289dd94b0a379ba mono-1.0.2.ebuild 1715
 MD5 0328c1f3926b56cbd653e0c453901122 mono-1.0.1-r1.ebuild 1734
+MD5 0c0b5bb175e35488cb0639ac3672491e mono-1.0.5-r3.ebuild 3813
 MD5 3bc3b5ef13190562278e6924b82a4231 mono-1.0.4.ebuild 1502
 MD5 b049eaae1977d237a6bc2285d5e85b62 mono-1.0.4-r1.ebuild 2105
 MD5 5d0b32410408e9e4f2418dc17eaaacb4 mono-0.28.ebuild 2100
 MD5 b92843896a3417a8aa46a8638c029cdb mono-1.0.1.ebuild 1480
+MD5 892cd0bf648c04a329e46f64a1ee8f94 mono-1.0.5-r2.ebuild 3214
 MD5 c2d21e85729c9e588425689c41ef999e mono-1.0.1-r2.ebuild 1680
 MD5 7e241ab7225841b6eaecdc13b9e388c0 mono-1.0.2-r1.ebuild 2105
-MD5 c3cf78c728ce46e975720b99b8521398 ChangeLog 10253
+MD5 db5d224e78eb98282cdc04a309c3bc12 ChangeLog 10568
 MD5 aadef171728e37af3ca21aaf6a81df65 mono-1.0.5.ebuild 1525
 MD5 76b314cc7b7b79b298dd4889dff8c9cd metadata.xml 159
 MD5 9f4b4eb6a1555ed574dbdd359cae3070 files/dotnet.conf 573
@@ -21,5 +23,7 @@ MD5 7d7ffd8b6b060338e93efa00227516e7 files/digest-mono-1.0.1-r2 64
 MD5 c56c6d79308a09f11e1a64e84c4bfd13 files/digest-mono-1.0.2-r1 64
 MD5 2cef534891ce7b0c980d5615ae1397af files/digest-mono-1.0.4-r1 64
 MD5 3304a21c35939f14b13ea1a8759e47b7 files/digest-mono-1.0.5-r1 64
+MD5 9e2e1b58a310e4236f757e683b71c879 files/digest-mono-1.0.5-r2 127
+MD5 9e2e1b58a310e4236f757e683b71c879 files/digest-mono-1.0.5-r3 127
 MD5 43da8709d0752a2ef9f9dfb050a05d9f files/digest-mono-0.28 123
 MD5 3c800bd50d6527c12be393369c234f0e files/mono-1.0-segv.diff 378
diff --git a/dev-dotnet/mono/files/digest-mono-1.0.5-r2 b/dev-dotnet/mono/files/digest-mono-1.0.5-r2
new file mode 100644 (file)
index 0000000..7d19413
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 09c9b5e7a128e7607e79d4d35bf76f68 mono-1.0.5.tar.gz 18477749
+MD5 aa1d0acf06eb9ba8e87b5bec1b860e1b mcs-1.0.5.tar.gz 22283191
diff --git a/dev-dotnet/mono/files/digest-mono-1.0.5-r3 b/dev-dotnet/mono/files/digest-mono-1.0.5-r3
new file mode 100644 (file)
index 0000000..7d19413
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 09c9b5e7a128e7607e79d4d35bf76f68 mono-1.0.5.tar.gz 18477749
+MD5 aa1d0acf06eb9ba8e87b5bec1b860e1b mcs-1.0.5.tar.gz 22283191
diff --git a/dev-dotnet/mono/mono-1.0.5-r2.ebuild b/dev-dotnet/mono/mono-1.0.5-r2.ebuild
new file mode 100644 (file)
index 0000000..4645d85
--- /dev/null
@@ -0,0 +1,120 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-dotnet/mono/mono-1.0.5-r2.ebuild,v 1.1 2004/12/21 01:14:54 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 ~amd64"
+IUSE=""
+
+DEPEND="virtual/libc
+       >=dev-libs/glib-2.0
+       >=dev-libs/icu-2.6.1
+       !dev-dotnet/pnet
+       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
+
+       # 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}"
+       export PATH
+}
+
+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
+
+       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
+       make || 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 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
+}
diff --git a/dev-dotnet/mono/mono-1.0.5-r3.ebuild b/dev-dotnet/mono/mono-1.0.5-r3.ebuild
new file mode 100644 (file)
index 0000000..5c83b4e
--- /dev/null
@@ -0,0 +1,140 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-dotnet/mono/mono-1.0.5-r3.ebuild,v 1.1 2004/12/21 01:14:54 latexer Exp $
+
+inherit eutils mono flag-o-matic debug gcc
+
+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 ~amd64"
+IUSE="nptl"
+
+DEPEND="virtual/libc
+       >=dev-libs/glib-2.0
+       >=dev-libs/icu-2.6.1
+       !dev-dotnet/pnet
+       nptl? ( >=sys-devel/gcc-3.4 )
+       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
+
+       # 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}"
+       export PATH
+}
+
+src_compile() {
+       strip-flags
+
+       local myconf="--with-sigaltstack=yes"
+       if use nptl && have_NPTL
+       then
+               # NPTL support only works with gcc-3.4 and higher currently. ):
+               if [ `gcc-minor-version` -lt 4 ]
+               then
+                       echo
+                       eerror "NPTL enabled mono requires gcc-3.4 or higher to function."
+                       eerror "Please use gcc-config to select gcc-3.4 for the mono installation."
+                       die "gcc version not high enough for NPTL support."
+               else
+                       myconf="${myconf} --with-tls=__thread"
+                       sed -i "s: -fexceptions::" ${S}/libgc/configure.host
+               fi
+       else
+               if have_NPTL
+               then
+                       ewarn "NPTL glibc detected, but nptl USE flag is not set."
+                       ewarn "This may cause some problems for mono as it will be"
+                       ewarn "compiled with normal pthread support."
+               fi
+
+               myconf="${myconf} --with-tls=pthread"
+       fi
+
+       econf ${myconf} || die
+       emake -j1 || die "mono runtime compilation failure"
+
+       cd ${S}
+       ln -s ../runtime ${WORKDIR}/${P}/runtime/lib
+
+       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
+       make || 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 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
+}