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();

Reply via email to