Package: mono
Version: 2.6.7-5
Severity: important
Tags: patch
The package builds fine on armhf with the attached patch. Strangely, I
had to patch a file in the source as well
(mcs/tools/prj2make/MsPrjHelper.cs) as I was getting CS0221 and CS664
errors due to casting problems. Perhaps that's a problem only with the
armhf side??
Anyway, I've already uploaded the patched package to debian-ports, as
a test to see if it can actually build mono packages successfully.
Regards
Konstantinos
diff -ruN mono-2.6.7/debian/control mono-2.6.7.armhf//debian/control
--- mono-2.6.7/debian/control 2011-08-25 20:12:45.000000000 +0000
+++ mono-2.6.7.armhf//debian/control 2011-08-25 20:13:17.183634626 +0000
@@ -24,7 +24,7 @@
Package: mono-runtime
Provides: cli-runtime, cli-virtual-machine
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Replaces: mono-common (<< 2.4), mono-jit (<< 2.4), libmono0 (<< 2.4)
Conflicts: mono-common (<< 2.4),
mono-jit (<< 2.4),
@@ -51,7 +51,7 @@
Package: mono-runtime-dbg
Priority: extra
Section: debug
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Replaces: mono-jit-dbg (<< 2.4)
Conflicts: mono-jit-dbg (<< 2.4)
Depends: ${misc:Depends}, mono-runtime (= ${binary:Version})
@@ -67,7 +67,7 @@
Package: mono-utils
Provides: cil-disassembler
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Replaces: mono-mcs (<= 1.1.6-4)
Depends: ${shlibs:Depends}, ${misc:Depends}, libmono0 (= ${binary:Version}), libmono-corlib2.0-cil (= ${source:Version}) | libmono-corlib1.0-cil (= ${source:Version})
Description: Mono utilities
@@ -81,7 +81,7 @@
pedump, monodis and monograph.
Package: mono-complete
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Depends: ${misc:Depends},
mono-runtime (= ${binary:Version}),
libmono0 (= ${binary:Version}),
@@ -119,7 +119,7 @@
You should build-depend on cli-common-dev and the needed libraries instead.
Package: libmono0
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Replaces: libmono-dev (<= 1.1.6-4)
Conflicts: mono-utils (<< 1.2.3.1-4)
Depends: ${shlibs:Depends}, ${misc:Depends}
@@ -135,7 +135,7 @@
Package: libmono0-dbg
Priority: extra
Section: debug
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Depends: ${misc:Depends}, libmono0 (= ${binary:Version})
Recommends: gdb
Description: Mono JIT library, debugging symbols
@@ -148,7 +148,7 @@
bytecode (aka assemblies), and a class library.
Package: libmono-dev
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Depends: ${misc:Depends}, libmono0 (= ${binary:Version}), libglib2.0-dev
Description: Mono JIT library - Development files
Header files and static libraries for libmono.
@@ -160,7 +160,7 @@
bytecode (aka assemblies), and a class library.
Package: libmono-profiler
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Replaces: mono-runtime (<< 2.4.2.3)
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Mono profiler libraries
@@ -1678,7 +1678,7 @@
libraries, for CLI 2.0
Package: mono-jay
-Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel sparc s390
+Architecture: i386 lpia kfreebsd-i386 powerpc amd64 kfreebsd-amd64 ia64 arm armeb armel armhf sparc s390
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: LALR(1) parser generator oriented to Java/CLI
Mono is a platform for running and developing applications based on the
diff -ruN mono-2.6.7/debian/rules mono-2.6.7.armhf//debian/rules
--- mono-2.6.7/debian/rules 2011-08-25 20:12:45.000000000 +0000
+++ mono-2.6.7.armhf//debian/rules 2011-08-25 20:14:03.123634620 +0000
@@ -43,6 +43,13 @@
CONF_FLAGS += --with-tls=pthread
endif
+ifeq ($(DEB_BUILD_ARCH), armhf)
+ CONF_FLAGS += --with-fpu=VFP
+ # the build-system picks __thread for armel which is not working,
+ # thus we have to explicitly pick pthread
+ CONF_FLAGS += --with-tls=pthread
+endif
+
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0 -g
else
diff -ruN mono-2.6.7/mcs/tools/prj2make/MsPrjHelper.cs mono-2.6.7.armhf//mcs/tools/prj2make/MsPrjHelper.cs
--- mono-2.6.7/mcs/tools/prj2make/MsPrjHelper.cs 2009-09-25 14:58:17.000000000 +0000
+++ mono-2.6.7.armhf//mcs/tools/prj2make/MsPrjHelper.cs 2011-08-25 20:15:39.253634609 +0000
@@ -551,7 +551,9 @@
prjxObj.description = "";
prjxObj.newfilesearch = "None";
prjxObj.enableviewstate = "True";
- prjxObj.version = (decimal)1.1;
+ unchecked {
+ prjxObj.version = (decimal)1.1M;
+ }
prjxObj.projecttype = "C#";
prjxObj.Contents = GetContents (csprojObj.CSHARP.Files.Include);
@@ -618,7 +620,9 @@
// Begin prjxObj population
cmbxObj.name = Path.GetFileNameWithoutExtension(slnFileName);
cmbxObj.description = "";
- cmbxObj.fileversion = (decimal)1.0;
+ unchecked {
+ cmbxObj.fileversion = (decimal)1.0M;
+ }
// Create and attach the StartMode element
Mfconsulting.General.Prj2Make.Schema.Cmbx.StartMode startModeElem = new Mfconsulting.General.Prj2Make.Schema.Cmbx.StartMode();