summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/checksums.ini4
-rw-r--r--packages/mono/files/mono-libgc-configure.patch20
-rw-r--r--packages/mono/mono-1.2.5.1+1.2.6pre4/.mtn2git_empty0
-rw-r--r--packages/mono/mono-1.2.5.1+1.2.6pre4/configure.patch23
-rw-r--r--packages/mono/mono-mcs-intermediate_1.2.5.1+1.2.6pre4.bb12
-rw-r--r--packages/mono/mono_1.2.5.1+1.2.6pre4.bb80
-rw-r--r--packages/mono/mono_1.2.6.inc13
7 files changed, 152 insertions, 0 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index afa2a95e2b..dc1b06316f 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -7806,6 +7806,10 @@ sha256=8447eb112e0e42db59e490fa98b0a1c9ed90ff3660b99734fe5119061eddce8e
md5=b67ef657b83ca26249d7b9e9c5e7da69
sha256=d68f597c303678c3f325f552a0e2780b613dbf34d093c2269c002127be4953e5
+[http://mono.ximian.com/monobuild/preview/sources/mono/mono-1.2.6.tar.bz2]
+md5=391f85b4f962269e044ceac2b5235310
+sha256=24cc4f396cac3053c7ba3fe68bc1b80359d75dc4f54a85f39a73cabc3d3f560f
+
[http://venge.net/monotone/downloads/monotone-0.20.tar.gz]
md5=3bdf4da35ff576a401483815952f4045
sha256=56a5c5afd838f90146205ee4769b83988c6bafc85826c0fbcad982f1e0333d93
diff --git a/packages/mono/files/mono-libgc-configure.patch b/packages/mono/files/mono-libgc-configure.patch
new file mode 100644
index 0000000000..641635da3c
--- /dev/null
+++ b/packages/mono/files/mono-libgc-configure.patch
@@ -0,0 +1,20 @@
+Index: mono-1.2.6/libgc/configure.in
+===================================================================
+--- mono-1.2.6.orig/libgc/configure.in 2007-12-12 15:02:31.000000000 -0500
++++ mono-1.2.6/libgc/configure.in 2007-12-12 15:05:10.000000000 -0500
+@@ -17,6 +17,15 @@
+ AC_PREREQ(2.53)
+ AC_INIT(libgc-mono, 6.6, Hans_Boehm@hp.com)
+
++# the following is a very strange bug. CPPFLAGS does not get set correctly
++# if CPPFLAGS is set in the environment. The top level configure script
++# appends to the CPPFLAGS variable, and then exports it. This change should
++# be picked up by this configure script, but it is not. The original
++# env variable is still used for some reason. If CPPFLAGS is not set in the
++# environment, everything works fine.
++# Someone more experienced with autoconf will have to come up with a better fix.
++CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -DUSE_COMPILER_TLS"
++echo "CPPFLAGS verify: start of libgc/configure.in, CPPFLAGS = $CPPFLAGS"
+ AM_INIT_AUTOMAKE(libgc-mono, 6.6, no-define)
+
+ AC_CONFIG_SRCDIR(gcj_mlc.c)
diff --git a/packages/mono/mono-1.2.5.1+1.2.6pre4/.mtn2git_empty b/packages/mono/mono-1.2.5.1+1.2.6pre4/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/mono/mono-1.2.5.1+1.2.6pre4/.mtn2git_empty
diff --git a/packages/mono/mono-1.2.5.1+1.2.6pre4/configure.patch b/packages/mono/mono-1.2.5.1+1.2.6pre4/configure.patch
new file mode 100644
index 0000000000..f033248621
--- /dev/null
+++ b/packages/mono/mono-1.2.5.1+1.2.6pre4/configure.patch
@@ -0,0 +1,23 @@
+Index: mono-1.2.6/configure.in
+===================================================================
+--- mono-1.2.6.orig/configure.in 2007-11-08 17:07:57.000000000 -0500
++++ mono-1.2.6/configure.in 2007-12-12 15:27:52.000000000 -0500
+@@ -1150,6 +1150,8 @@
+ ], [
+ AC_MSG_RESULT(no)
+ with_tls=pthread
++ ], [
++ AC_MSG_RESULT(yes)
+ ])
+ fi
+
+@@ -1252,6 +1254,9 @@
+ ], [
+ with_sigaltstack=no
+ AC_MSG_RESULT(no)
++ ], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_WORKING_SIGALTSTACK)
+ ])
+ fi
+
diff --git a/packages/mono/mono-mcs-intermediate_1.2.5.1+1.2.6pre4.bb b/packages/mono/mono-mcs-intermediate_1.2.5.1+1.2.6pre4.bb
new file mode 100644
index 0000000000..1ec7397e2b
--- /dev/null
+++ b/packages/mono/mono-mcs-intermediate_1.2.5.1+1.2.6pre4.bb
@@ -0,0 +1,12 @@
+# This is a straw-man recipe for step 1 in the two-step build of
+# mono. Because it's impossible to build the mcs directory
+# in cross-compile mode, this recipe will do a native build,
+# then tar the resulting install tree for usage by the mono
+# package in step 2.
+# See http://www.mono-project.com/Mono:ARM
+
+require mono_1.2.6.inc
+require mono-mcs-intermediate.inc
+
+DEFAULT_PREFERENCE = "-1"
+
diff --git a/packages/mono/mono_1.2.5.1+1.2.6pre4.bb b/packages/mono/mono_1.2.5.1+1.2.6pre4.bb
new file mode 100644
index 0000000000..e78160ee5a
--- /dev/null
+++ b/packages/mono/mono_1.2.5.1+1.2.6pre4.bb
@@ -0,0 +1,80 @@
+require mono_1.2.6.inc
+
+DEPENDS = "mono-native mono-mcs-intermediate glib-2.0 perl-native"
+
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI += "file://configure.patch;patch=1"
+
+# Per http://www.mono-project.com/Mono:ARM
+EXTRA_OECONF += " --disable-mcs-build "
+# Instead, get the mcs tree from a different build (see mono-mcs-intermediate)
+
+do_install_prepend() {
+ install -d ${D}
+ pushd ${D}
+ tar -xzf ${STAGING_DIR}/share/mono-mcs/mono-mcs-${PV}.tar.gz
+ popd
+}
+
+do_install_append() {
+ # mono-mcs-intermediate builds and installs jay (a Yacc for Java and C#),
+ # however, jay is not being cross-compiled and thus only
+ # available for the buildhost architecture, so remove it
+ # entirely
+ pushd ${D}
+ rm -rf ./usr/share/man/man1/jay.1 ./usr/share/jay \
+ ./usr/share/jay/README.jay \
+ ./usr/bin/jay
+ popd
+
+ # Not packaged with the default rules and apparently
+ # not used for anything
+ rm -rf ${D}${datadir}/mono-1.0/mono/cil/cil-opcodes.xml
+}
+
+inherit mono
+
+# Import file definitions from Debian
+require mono_1.2.5.1-files.inc
+
+# Add some packages
+PACKAGES_append = " mono-doc mono mono-runtime"
+
+FILES_mono-doc_append = " /usr/share/libgc-mono/ "
+
+FILES_mono = ""
+ALLOW_EMPTY_mono = "1"
+RDEPENDS_mono = "mono-common mono-jit"
+
+FILES_mono-runtime = ""
+ALLOW_EMPTY_mono-runtime = "1"
+RDEPENDS_mono-runtime = "mono-jit mono-gac"
+
+RDEPENDS_mono-jit = "mono-common"
+
+FILES_libmono-dev =+ " /usr/lib/libmono.la /usr/lib/libmono-profiler-cov.la /usr/lib/libmono-profiler-aot.la \
+ /usr/lib/libMonoPosixHelper.la /usr/lib/libMonoSupportW.la"
+FILES_libmono-dbg =+ " /usr/lib/.debug/libmono*.so.* /usr/lib/.debug/libikvm-native.so \
+ /usr/lib/.debug/libMonoPosixHelper.so /usr/lib/.debug/libMonoSupportW.so"
+
+# Packages not included in Debian
+PACKAGES_prepend = "libnunit2.2-cil-dbg libnunit2.2-cil-dev libnunit2.2-cil \
+ libmono-cecil0.5-cil-dbg libmono-cecil0.5-cil-dev libmono-cecil0.5-cil \
+ libmono-db2-1.0-cil-dbg libmono-db2-1.0-cil-dev libmono-db2-1.0-cil"
+
+FILES_libnunit2.2-cil = "/usr/lib/mono/gac/nunit.*/2.2.* /usr/lib/mono/1.0/nunit.*.dll"
+FILES_libnunit2.2-cil-dev = "/usr/lib/pkgconfig/mono-nunit.pc"
+FILES_libnunit2.2-cil-dbg = "/usr/lib/mono/gac/nunit*/2.2.*/nunit.*.dll.mdb"
+
+FILES_libmono-cecil0.5-cil = "/usr/lib/mono/gac/Mono.Cecil/0.5.*"
+FILES_libmono-cecil0.5-cil-dbg = "/usr/lib/mono/gac/Mono.Cecil/0.5.0.1__0738eb9f132ed756/Mono.Cecil.dll.mdb"
+
+FILES_libmono-db2-1.0-cil = "/usr/lib/mono/gac/IBM.Data.DB2/1.0* /usr/lib/mono/1.0/IBM.Data.DB2.dll"
+FILES_libmono-db2-1.0-cil-dbg = "/usr/lib/mono/gac/IBM.Data.DB2/1.0*/IBM.Data.DB2.dll.mdb"
+
+# Move .pc files
+FILES_libmono-cairo1.0-cil-dev = "/usr/lib/pkgconfig/mono-cairo.pc"
+PACKAGES =+ " libmono-cairo1.0-cil-dev "
diff --git a/packages/mono/mono_1.2.6.inc b/packages/mono/mono_1.2.6.inc
new file mode 100644
index 0000000000..23492e82f7
--- /dev/null
+++ b/packages/mono/mono_1.2.6.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Mono Programming Language"
+SECTION = "devel/mono"
+LICENSE = "GPL LGPL X11"
+
+SRC_URI = "http://mono.ximian.com/monobuild/preview/sources/mono/mono-1.2.6.tar.bz2 \
+ file://mono-libgc-configure.patch;patch=1"
+
+S = "${WORKDIR}/mono-1.2.6"
+
+inherit autotools
+EXTRA_OECONF_arm = "--without-tls"
+EXTRA_OECONF_mipsel = "--without-tls"
+