This changeset renames recipes to better reflect mono versioning.
Note, the previous mono 2.2 recipe was mis-named
rc2 and was actually preview 2. If you built the
misnamed 2.2.0-rc2 package, it will take precedence
over the new recipe and you must manually remove
ipks in the tmp dir before building the 2.2-rc1
version.
md5=6610c3b999d791553a9dc21059ca9d35
sha256=990af2fa20ad4e99ae5000df1afdb2e3b70400ba22d62e8917123d6a9d966397
-[http://bec-systems.com/pub/mono/mono-2.2-rc2.tar.bz2]
-md5=a311545a0003f1a599297d57e4e27916
-sha256=4cf6094f64f3446e83b968cbee3f0ed5d579b635644dd8cbd51bbbe184446600
+[http://bec-systems.com/pub/mono/mono-2.2-rc1.tar.bz2]
+md5=6dfc8364f6e761d558f134a707bae421
+sha256=44fc0eddf56c0abe861190051fceec6e223122c5835967459c69fbf98ee52067
[http://venge.net/monotone/downloads/monotone-0.20.tar.gz]
md5=3bdf4da35ff576a401483815952f4045
Notes on Mono support in OE.
===============================
-Mono 2.2 rc2 status
-- builds OK -- having a strange issue with a recent kernel:
- http://thread.gmane.org/gmane.comp.gnome.mono.devel/29990
+Mono 2.2 rc1 status
- still needs quite a bit of packaging TLC
+- applied patch for "need OABI" issue
+- overall seems to be running well
===============================
Mono 1.9.1 status
--- /dev/null
+Index: mono-2.2/configure.in
+===================================================================
+--- mono-2.2.orig/configure.in 2008-11-13 18:22:29.000000000 -0500
++++ mono-2.2/configure.in 2008-12-10 16:03:11.000000000 -0500
+@@ -1155,6 +1155,8 @@
+ ], [
+ AC_MSG_RESULT(no)
+ with_tls=pthread
++ ], [
++ AC_MSG_RESULT(yes)
+ ])
+ fi
+
+@@ -1257,6 +1259,9 @@
+ ], [
+ with_sigaltstack=no
+ AC_MSG_RESULT(no)
++ ], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_WORKING_SIGALTSTACK)
+ ])
+ fi
+
+@@ -1746,6 +1751,7 @@
+
+ jit_wanted=false
+ interp_wanted=false
++echo "CLIFF: checking host = $host"
+ case "$host" in
+ # mips-sgi-irix5.* | mips-sgi-irix6.*)
+ # TARGET=MIPS;
+@@ -1882,10 +1888,12 @@
+ jit_wanted=true
+ ;;
+ arm*-linux*)
++ echo "CLIFF: found arm linux"
+ TARGET=ARM;
+ arch_target=arm;
+ ACCESS_UNALIGNED="no"
+ JIT_SUPPORTED=yes
++ CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1"
+ jit_wanted=true
+ ;;
+ s390-*-linux*)
--- /dev/null
+Index: mono-2.2/Makefile.am
+===================================================================
+--- mono-2.2.orig/Makefile.am 2008-12-10 16:25:14.000000000 -0500
++++ mono-2.2/Makefile.am 2008-12-10 16:25:24.000000000 -0500
+@@ -1,7 +1,7 @@
+ AUTOMAKE_OPTIONS = foreign
+ ACLOCAL_AMFLAGS = -I .
+
+-SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc docs
++SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc
+
+ # Keep in sync with SUBDIRS
+ ## 'tools' is not normally built
--- /dev/null
+Index: mono-2.2/mono/Makefile.am
+===================================================================
+--- mono-2.2.orig/mono/Makefile.am 2008-12-10 15:38:30.000000000 -0500
++++ mono-2.2/mono/Makefile.am 2008-12-10 15:38:37.000000000 -0500
+@@ -1,3 +1,3 @@
+
+-SUBDIRS = utils io-layer monoburg os cil metadata \
++SUBDIRS = utils io-layer os cil metadata \
+ arch interpreter mini dis monograph tests benchmark profiler
+Index: mono-2.2/mono/mini/Makefile.am
+===================================================================
+--- mono-2.2.orig/mono/mini/Makefile.am 2008-12-10 15:44:11.000000000 -0500
++++ mono-2.2/mono/mini/Makefile.am 2008-12-10 15:44:22.000000000 -0500
+@@ -482,7 +482,7 @@
+ $(GENMDESC_PRG) $(srcdir)/cpu-mips.md cpu-mips.h mips_desc
+
+ inssel.c inssel.h: $(BURGSRC)
+- $(monodir)/mono/monoburg/monoburg -c 1 -p -e $(BURGSRC) -d inssel.h -s inssel.c
++ monoburg -c 1 -p -e $(BURGSRC) -d inssel.h -s inssel.c
+
+ testi: mono test.exe
+ $(RUNTIME) -v -v --ncompile 1 --compile Test:$(mtest) test.exe
--- /dev/null
+--- mono.orig/mono/mini/mini-arm.c 2008/12/12 19:49:41 121457
++++ mono/mono/mini/mini-arm.c 2009/01/05 08:58:47 122416
+@@ -581,6 +581,8 @@
+ {
+ #if __APPLE__
+ sys_icache_invalidate (code, size);
++#elif ((__GNUC__ >= 4) && (__GNUC_MINOR__ >= 1))
++ __clear_cache (code, code + size);
+ #else
+ __asm __volatile ("mov r0, %0\n"
+ "mov r1, %1\n"
+
+++ /dev/null
-Index: mono-2.2/configure.in
-===================================================================
---- mono-2.2.orig/configure.in 2008-11-13 18:22:29.000000000 -0500
-+++ mono-2.2/configure.in 2008-12-10 16:03:11.000000000 -0500
-@@ -1155,6 +1155,8 @@
- ], [
- AC_MSG_RESULT(no)
- with_tls=pthread
-+ ], [
-+ AC_MSG_RESULT(yes)
- ])
- fi
-
-@@ -1257,6 +1259,9 @@
- ], [
- with_sigaltstack=no
- AC_MSG_RESULT(no)
-+ ], [
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_WORKING_SIGALTSTACK)
- ])
- fi
-
-@@ -1746,6 +1751,7 @@
-
- jit_wanted=false
- interp_wanted=false
-+echo "CLIFF: checking host = $host"
- case "$host" in
- # mips-sgi-irix5.* | mips-sgi-irix6.*)
- # TARGET=MIPS;
-@@ -1882,10 +1888,12 @@
- jit_wanted=true
- ;;
- arm*-linux*)
-+ echo "CLIFF: found arm linux"
- TARGET=ARM;
- arch_target=arm;
- ACCESS_UNALIGNED="no"
- JIT_SUPPORTED=yes
-+ CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1"
- jit_wanted=true
- ;;
- s390-*-linux*)
+++ /dev/null
-Index: mono-2.2/Makefile.am
-===================================================================
---- mono-2.2.orig/Makefile.am 2008-12-10 16:25:14.000000000 -0500
-+++ mono-2.2/Makefile.am 2008-12-10 16:25:24.000000000 -0500
-@@ -1,7 +1,7 @@
- AUTOMAKE_OPTIONS = foreign
- ACLOCAL_AMFLAGS = -I .
-
--SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc docs
-+SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc
-
- # Keep in sync with SUBDIRS
- ## 'tools' is not normally built
+++ /dev/null
-Index: mono-2.2/mono/Makefile.am
-===================================================================
---- mono-2.2.orig/mono/Makefile.am 2008-12-10 15:38:30.000000000 -0500
-+++ mono-2.2/mono/Makefile.am 2008-12-10 15:38:37.000000000 -0500
-@@ -1,3 +1,3 @@
-
--SUBDIRS = utils io-layer monoburg os cil metadata \
-+SUBDIRS = utils io-layer os cil metadata \
- arch interpreter mini dis monograph tests benchmark profiler
-Index: mono-2.2/mono/mini/Makefile.am
-===================================================================
---- mono-2.2.orig/mono/mini/Makefile.am 2008-12-10 15:44:11.000000000 -0500
-+++ mono-2.2/mono/mini/Makefile.am 2008-12-10 15:44:22.000000000 -0500
-@@ -482,7 +482,7 @@
- $(GENMDESC_PRG) $(srcdir)/cpu-mips.md cpu-mips.h mips_desc
-
- inssel.c inssel.h: $(BURGSRC)
-- $(monodir)/mono/monoburg/monoburg -c 1 -p -e $(BURGSRC) -d inssel.h -s inssel.c
-+ monoburg -c 1 -p -e $(BURGSRC) -d inssel.h -s inssel.c
-
- testi: mono test.exe
- $(RUNTIME) -v -v --ncompile 1 --compile Test:$(mtest) test.exe
--- /dev/null
+# 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_2.2.0.inc
+require mono-mcs-intermediate.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+#SRC_URI += "file://libgc_cppflags.patch;patch=1"
+
+
+++ /dev/null
-# 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_2.2.0.inc
-require mono-mcs-intermediate.inc
-
-DEFAULT_PREFERENCE = "-1"
-
-#SRC_URI += "file://libgc_cppflags.patch;patch=1"
-
-
--- /dev/null
+require mono_2.2.0.inc
+PR = "r3"
+DEPENDS = "glib-2.0-native perl-native"
+
+DEFAULT_PREFERENCE = "-1"
+
+#SRC_URI += "file://mono-fix-libdir-path.patch;patch=1 \
+# file://libgc_cppflags.patch;patch=1 \
+# "
+
+PARALLEL_MAKE = ""
+
+inherit native
+
+do_stage_prepend() {
+ install -m 755 ${S}/mono/monoburg/monoburg ${STAGING_BINDIR}
+}
+
+do_fix_libtool_name() {
+ # inherit native will make that all native tools that are being
+ # built are prefixed with something like "i686-linux-",
+ # including libtool. Fix up some hardcoded libtool names:
+ for i in "${S}"/runtime/*-wrapper.in; do
+ sed -e "s/libtool/${BUILD_SYS}-libtool/" -i "${i}"
+ done
+}
+addtask fix_libtool_name after do_patch before do_configure
+++ /dev/null
-require mono_2.2.0.inc
-PR = "r3"
-DEPENDS = "glib-2.0-native perl-native"
-
-DEFAULT_PREFERENCE = "-1"
-
-#SRC_URI += "file://mono-fix-libdir-path.patch;patch=1 \
-# file://libgc_cppflags.patch;patch=1 \
-# "
-
-PARALLEL_MAKE = ""
-
-inherit native
-
-do_stage_prepend() {
- install -m 755 ${S}/mono/monoburg/monoburg ${STAGING_BINDIR}
-}
-
-do_fix_libtool_name() {
- # inherit native will make that all native tools that are being
- # built are prefixed with something like "i686-linux-",
- # including libtool. Fix up some hardcoded libtool names:
- for i in "${S}"/runtime/*-wrapper.in; do
- sed -e "s/libtool/${BUILD_SYS}-libtool/" -i "${i}"
- done
-}
-addtask fix_libtool_name after do_patch before do_configure
--- /dev/null
+require mono_2.2.0.inc
+
+DEPENDS = "mono-native mono-mcs-intermediate glib-2.0 perl-native"
+
+DEFAULT_PREFERENCE = "-1"
+
+PR = "r3"
+
+# mono makes use of non-thumb-compatible inline asm.
+ARM_INSTRUCTION_SET = "arm"
+
+SRC_URI += "file://configure.patch;patch=1 \
+ file://disable-docs.patch;patch=1 \
+ file://disable-monoburg.patch;patch=1 \
+ file://fix-eabi-syscall.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_DATADIR_NATIVE}/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_2.x-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 "
+++ /dev/null
-require mono_2.2.0.inc
-
-DEPENDS = "mono-native mono-mcs-intermediate glib-2.0 perl-native"
-
-DEFAULT_PREFERENCE = "-1"
-
-PR = "r3"
-
-# mono makes use of non-thumb-compatible inline asm.
-ARM_INSTRUCTION_SET = "arm"
-
-SRC_URI += "file://configure.patch;patch=1 \
- file://disable-docs.patch;patch=1 \
- file://disable-monoburg.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_DATADIR_NATIVE}/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_2.x-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 "
SECTION = "devel/mono"
LICENSE = "GPL LGPL X11"
-SRC_URI = "http://bec-systems.com/pub/mono/mono-2.2-rc2.tar.bz2 \
+SRC_URI = "http://bec-systems.com/pub/mono/mono-2.2-rc1.tar.bz2 \
"
# file://mono-libgc-configure.patch;patch=1"