summaryrefslogtreecommitdiff
path: root/packages/mono
diff options
context:
space:
mode:
authorLeon Woestenberg <leon.woestenberg@gmail.com>2007-10-05 12:43:03 +0000
committerLeon Woestenberg <leon.woestenberg@gmail.com>2007-10-05 12:43:03 +0000
commitfb5a8ff3d88fca827e22ad48f136c7fe1c6cea10 (patch)
treef28b9b4a860576cf9909d567efc7baeb20dd2740 /packages/mono
parentf0f72d8aa5de6a41796117c6e781e150bbacbe47 (diff)
parentbab0c48ac5132ad63b4f3da27a1c39c20b5db86c (diff)
merge of 'aac60b186b977130a688c4d00bfde913fb6221eb'
and 'f42403739ba7106ebfe92b3af59bf9c81b54f06d'
Diffstat (limited to 'packages/mono')
-rw-r--r--packages/mono/README43
-rw-r--r--packages/mono/collect-paths.py135
-rw-r--r--packages/mono/files/genmdesc-cpp.patch22
-rw-r--r--packages/mono/files/mono-fix-libdir-path.patch11
-rw-r--r--packages/mono/mono-1.2.5.1/.mtn2git_empty (renamed from packages/mono/mono-1.2.5/.mtn2git_empty)0
-rw-r--r--packages/mono/mono-1.2.5.1/configure.patch (renamed from packages/mono/mono-1.2.5/configure.patch)0
-rw-r--r--packages/mono/mono-mcs-intermediate_1.2.5.1.bb61
-rw-r--r--packages/mono/mono-native_1.2.2.1.bb5
-rw-r--r--packages/mono/mono-native_1.2.4.bb9
-rw-r--r--packages/mono/mono-native_1.2.5.1.bb23
-rw-r--r--packages/mono/mono-native_1.2.5.bb10
-rw-r--r--packages/mono/mono.inc17
-rw-r--r--packages/mono/mono_1.2.2.1.bb17
-rw-r--r--packages/mono/mono_1.2.4.bb19
-rw-r--r--packages/mono/mono_1.2.4.inc12
-rw-r--r--packages/mono/mono_1.2.5.1.bb146
-rw-r--r--packages/mono/mono_1.2.5.bb23
-rw-r--r--packages/mono/mono_1.2.5.inc8
-rw-r--r--packages/mono/mono_files.py605
19 files changed, 1041 insertions, 125 deletions
diff --git a/packages/mono/README b/packages/mono/README
index 81e478bdb7..c3043faee3 100644
--- a/packages/mono/README
+++ b/packages/mono/README
@@ -1,10 +1,39 @@
-Mono in OE is still very much a work in progress.
-1.2.4
- - is reported to work on MIPS.
- - has floating point problems on ARM
+Notes on Mono support in OE.
+
+===============================
+Cross Compiling Mono
+
+Cross compiling mono requires a two stage build because the mono mcs directory
+cannot be built while cross compiling (http://www.mono-project.com/Mono:ARM).
+The recommended way to cross compile mono is to
+
+ 1. do a complete build on the host system, and install.
+ 2. cross compile mono which will only build the native target code and
+ overlay the target binaries on the host install.
+
+The MCS build (step 1) is implemented by the mono-mcs-intermediate* recipe.
+This recipe is very similiar to the native build, except it uses standard
+install prefixes and the install directory is tar'd up, and placed in staging
+for use by the cross build.
+
+During the mono cross build, the first step during the install is to untar
+the install results of the mcs-intermediate build. The cross build install
+then proceeds to overlay the native binaries in the install directory.
+
+================================
+mono.bbclass
+
+Has a helper function for the list that maps file patterns to package
+names and assemblies (see below). Also has a function mono_do_clilibs
+and inserts that function into PACKAGEFUNCS. This function calls
+mono_find_provides_and_requires which finds out (through calls to
+monodis --assembly and monodis --assemblyref) which assemblies are
+provided and required by a particular package. mono_do_clilibs then
+puts the information about provided assemblies into
+${STAGING_DIR}/clilibs/${packagename}.list and information about the
+required packages into ${PKGDEST}/{packagename}.clilibdeps where it
+will later be picked up by the modified read_shlibdeps.
+
-1.2.5pre5
- - tested on ARM EABI. Floating point issues have been worked around.
-There is still a lot of packaging work that needs done to package the mono dll's for installation.
diff --git a/packages/mono/collect-paths.py b/packages/mono/collect-paths.py
new file mode 100644
index 0000000000..a49b76e5aa
--- /dev/null
+++ b/packages/mono/collect-paths.py
@@ -0,0 +1,135 @@
+#!/usr/bin/env python
+
+## This utility takes the debian directory from an unpacked debian mono source tree
+## (e.g. apt-get source mono), parses the *.install files and generates python source
+## for a list of dictionaries that describe the individual packages and their contents
+## The output will look like
+##debian_mono_file_table = [
+## { 'name': 'libmono-peapi1.0-cil',
+## 'patterns': [
+## '/usr/lib/mono/gac/PEAPI/1.0.*/',
+## '/usr/lib/mono/1.0/PEAPI.dll'
+## ],
+## 'assemblies': [
+## ('PEAPI', '1.0.*')
+## ]
+## },
+## { 'name': 'mono-mjs',
+## 'patterns': [
+## '/usr/bin/mjs',
+## '/usr/lib/mono/1.0/mjs.exe*'
+## ]
+## },
+##....
+
+
+import os, sys, re
+
+def collect_paths(dir):
+ paths = {}
+
+ os.chdir(dir)
+ for filename in os.listdir("."):
+ if filename.endswith(".install"):
+ fp = file(filename, "r")
+ lines = fp.readlines()
+ fp.close()
+
+ contents = []
+ for line in lines:
+ lineparts = line.strip().split()
+ if lineparts[0].startswith("debian/tmp"):
+ pattern = lineparts[0][ len("debian/tmp"): ]
+ if len(lineparts) == 2:
+ if not pattern.startswith(lineparts[1]):
+ print >>sys.stderr, "Warning: Apparently I don't fully understand the format in file %s" % filename
+ elif len(lineparts) > 2:
+ print >>sys.stderr, "Warning: Apparently I don't fully understand the format in file %s" % filename
+
+ contents.append( pattern )
+ else:
+ print >>sys.stderr, "Note: Ignoring %s in %s" % (lineparts, filename)
+
+ paths[ filename[ :-len(".install") ] ] = contents
+
+ return paths
+
+def collect_packages(paths):
+ gac_re = re.compile(r'/usr/lib/mono/gac/(?P<assembly>[^/]+)/(?P<version>[^/]+)/?')
+
+ # These packages should be populated first (e.g. because their files will otherwise end up
+ # in other packages)
+ PACKAGES_FIRST = ("mono-jit", "mono-gac", "mono-mjs", "mono-gmcs", "mono-utils", "mono-doc")
+ # These should be populated last (because their spec is very broad)
+ PACKAGES_LAST = ("mono-mcs", "libmono-system1.0-cil", "libmono-system2.0-cil", "libmono1.0-cil", "libmono2.0-cil")
+ first = []
+ last = []
+ packages = paths.keys()
+ for packagename in PACKAGES_FIRST + PACKAGES_LAST:
+ if packagename in packages:
+ packages.remove(packagename)
+ if packagename in PACKAGES_FIRST:
+ first.append(packagename)
+ else:
+ last.append(packagename)
+ packagenames = first + packages + last
+
+ packages = []
+ for name in packagenames:
+ patterns = paths[ name ]
+ package = { "name": name,
+ "patterns": patterns}
+
+ provided_assemblies = []
+ for pattern in patterns:
+ match = gac_re.match(pattern)
+ if match:
+ provided_assemblies.append( (match.group("assembly"), match.group("version")) )
+ if pattern == "/usr/lib/mono/1.0/mscorlib.dll*":
+ provided_assemblies.append( ("mscorlib", "1.0.*" ) )
+ elif pattern == "/usr/lib/mono/2.0/mscorlib.dll*":
+ provided_assemblies.append( ("mscorlib", "2.0.*" ) )
+
+ if len(provided_assemblies) > 0:
+ package["assemblies"] = provided_assemblies
+
+ packages.append(package)
+
+ return packages
+
+if __name__ == "__main__":
+ packages = collect_packages( collect_paths(".") )
+
+ if False: # Human-friendly
+ for package in packages:
+ print "Package: %s" % package["name"]
+ if package.has_key("provided_assemblies"):
+ print "Provides: \t%s" % ( "\n\t\t".join( [" ".join(e) for e in package["assemblies"] ] ) )
+ print "Patterns: \t\t%s" % ( "\n\t\t\t".join(package["patterns"]) )
+ print
+ else:
+ print "# This is a generated file, please do not edit directly"
+ print "# Use collect-paths.py instead. -- Henryk <henryk@openmoko.org>"
+ print "debian_mono_file_table = ["
+ print ",\n".join(
+ [
+ "\t{\t%s\n\t}" % ",\n\t\t".join(
+ [
+ "%r: %r" % (key, value)
+ for key, value in package.items()
+ if not isinstance(value, (list,tuple))
+ ] + [
+ "%r: [\n\t\t\t\t%s\n\t\t\t]" % (key, ",\n\t\t\t\t".join( [
+ "%r"%(e,) for e in value
+ ])
+ )
+ for key, value in package.items()
+ if isinstance(value, (list,tuple))
+ ]
+
+ )
+ for package in packages
+ ]
+ )
+ print "]"
+
diff --git a/packages/mono/files/genmdesc-cpp.patch b/packages/mono/files/genmdesc-cpp.patch
new file mode 100644
index 0000000000..56eca8effd
--- /dev/null
+++ b/packages/mono/files/genmdesc-cpp.patch
@@ -0,0 +1,22 @@
+--- mono-1.2.5.1/mono/mini/genmdesc.pl.orig 2007-10-03 21:02:07.000000000 +0200
++++ mono-1.2.5.1/mono/mini/genmdesc.pl 2007-10-03 21:06:16.000000000 +0200
+@@ -36,7 +36,9 @@
+ $i++;
+ }
+ close (OPS);
+- my $cpp = "cpp -undef ";
++ my $cpp = $ENV{"CPP"};
++ $cpp = "cpp" unless defined $cpp;
++ $cpp .= " -undef ";
+ foreach (@defines) {
+ $cpp .= " -U$_";
+ $arch_found = 1 if $arch eq $_;
+@@ -44,7 +46,7 @@
+ die "$arch arch is not supported.\n" unless $arch_found;
+
+ $cpp .= " -D$arch $srcdir/mini-ops.h|";
+- #print "Running: $cpp\n";
++ print "Running: $cpp\n";
+ open (OPS, $cpp) || die "Cannot execute cpp: $!";
+ while (<OPS>) {
+ next unless /MINI_OP\s*\(\s*(\S+?)\s*,\s*"(.*?)"/;
diff --git a/packages/mono/files/mono-fix-libdir-path.patch b/packages/mono/files/mono-fix-libdir-path.patch
new file mode 100644
index 0000000000..9255117bf8
--- /dev/null
+++ b/packages/mono/files/mono-fix-libdir-path.patch
@@ -0,0 +1,11 @@
+--- mono-1.2.5/scripts/Makefile.am.orig 2007-09-27 04:23:39.000000000 +0200
++++ mono-1.2.5/scripts/Makefile.am 2007-09-27 04:24:19.000000000 +0200
+@@ -92,7 +92,7 @@
+ mono_instdir = $(shell cygpath -m $(libdir))/mono
+ else
+ plat_bindir = $(bindir)
+-mono_instdir = $(prefix)/lib/mono
++mono_instdir = $(libdir)/mono
+ endif
+
+ REWRITE_COMMON = sed \
diff --git a/packages/mono/mono-1.2.5/.mtn2git_empty b/packages/mono/mono-1.2.5.1/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/mono/mono-1.2.5/.mtn2git_empty
+++ b/packages/mono/mono-1.2.5.1/.mtn2git_empty
diff --git a/packages/mono/mono-1.2.5/configure.patch b/packages/mono/mono-1.2.5.1/configure.patch
index 1553115c0e..1553115c0e 100644
--- a/packages/mono/mono-1.2.5/configure.patch
+++ b/packages/mono/mono-1.2.5.1/configure.patch
diff --git a/packages/mono/mono-mcs-intermediate_1.2.5.1.bb b/packages/mono/mono-mcs-intermediate_1.2.5.1.bb
new file mode 100644
index 0000000000..813da24ddf
--- /dev/null
+++ b/packages/mono/mono-mcs-intermediate_1.2.5.1.bb
@@ -0,0 +1,61 @@
+# 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.5.inc
+PR = "r0"
+DEPENDS = "mono-native glib-2.0-native perl-native"
+
+PARALLEL_MAKE = ""
+
+SRC_URI += "file://mono-fix-libdir-path.patch;patch=1"
+
+# Inherit native to set up compiler and paths ...
+inherit native
+# ... but override the target prefix
+prefix = "/usr"
+exec_prefix = "/usr"
+sysconfdir = "/etc"
+# TODO: Where does the mono package get
+# these paths from? Use the same source.
+
+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
+
+do_stage() {
+ true
+}
+
+do_install() {
+ oe_runmake 'DESTDIR=${D}' install
+}
+
+do_package() {
+ true
+}
+
+do_populate_staging() {
+ cd ${D}
+ rm -f ${WORKDIR}/mono-mcs-${PV}.tar.gz
+ tar -cvzf ${WORKDIR}/mono-mcs-${PV}.tar.gz .
+ install -d ${STAGING_DIR}/share/mono-mcs
+ cp ${WORKDIR}/mono-mcs-${PV}.tar.gz ${STAGING_DIR}/share/mono-mcs/
+}
+
+do_package_write_ipk() {
+ true
+}
+
+do_package_write() {
+ true
+}
diff --git a/packages/mono/mono-native_1.2.2.1.bb b/packages/mono/mono-native_1.2.2.1.bb
deleted file mode 100644
index 67651ae565..0000000000
--- a/packages/mono/mono-native_1.2.2.1.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require mono.inc
-
-DEPENDS = "glib-2.0-native"
-
-inherit native
diff --git a/packages/mono/mono-native_1.2.4.bb b/packages/mono/mono-native_1.2.4.bb
deleted file mode 100644
index 9043ccc801..0000000000
--- a/packages/mono/mono-native_1.2.4.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require mono_1.2.4.inc
-PR = "r2"
-DEPENDS = "glib-2.0-native"
-
-inherit native
-
-do_stage_prepend() {
- install -m 755 ${S}/mono/monoburg/monoburg ${STAGING_BINDIR}
-}
diff --git a/packages/mono/mono-native_1.2.5.1.bb b/packages/mono/mono-native_1.2.5.1.bb
new file mode 100644
index 0000000000..7ac2246b3a
--- /dev/null
+++ b/packages/mono/mono-native_1.2.5.1.bb
@@ -0,0 +1,23 @@
+require mono_1.2.5.inc
+PR = "r1"
+DEPENDS = "glib-2.0-native perl-native"
+
+SRC_URI += "file://mono-fix-libdir-path.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
diff --git a/packages/mono/mono-native_1.2.5.bb b/packages/mono/mono-native_1.2.5.bb
deleted file mode 100644
index 0f1391cd25..0000000000
--- a/packages/mono/mono-native_1.2.5.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-require mono_1.2.5.inc
-PR = "r2"
-DEPENDS = "glib-2.0-native"
-
-inherit native
-
-#do_stage_prepend() {
-# install -m 755 ${S}/mono/monoburg/monoburg ${STAGING_BINDIR}
-#}
-
diff --git a/packages/mono/mono.inc b/packages/mono/mono.inc
deleted file mode 100644
index 444427ea4a..0000000000
--- a/packages/mono/mono.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-DESCRIPTION = "Mono Programming Language"
-SECTION = "devel/mono"
-LICENSE = "GPL LGPL X11"
-
-SRC_URI = "http://go-mono.com/sources/mono/mono-${PV}.tar.gz \
- file://cpu-arm.h"
-
-S = "${WORKDIR}/mono-${PV}"
-
-inherit autotools
-
-EXTRA_OECONF = "--disable-mcs-build"
-EXTRA_OECONF_arm = "--without-tls"
-
-do_compile_prepend() {
- cp ${WORKDIR}/cpu-arm.h ${S}/mono/mini/
-}
diff --git a/packages/mono/mono_1.2.2.1.bb b/packages/mono/mono_1.2.2.1.bb
deleted file mode 100644
index 7d7134e2b2..0000000000
--- a/packages/mono/mono_1.2.2.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-require mono.inc
-DEPENDS = "mono-native glib-2.0"
-
-PR = "r1"
-
-#We only have a cpu-${arch}.h from arm, so let's mask out non-working architectures
-COMPATIBLE_HOST = "arm.*-linux"
-
-do_install_append() {
- install -d ${D}${libdir}/mono/1.0/
- cp ${S}/mcs/class/lib/monolite/* ${D}${libdir}/mono/1.0/
-}
-
-PACKAGES =+ "mono-dll"
-FILES_mono-dll = "${libdir}/mono/1.0/"
-
-
diff --git a/packages/mono/mono_1.2.4.bb b/packages/mono/mono_1.2.4.bb
deleted file mode 100644
index 13cb463129..0000000000
--- a/packages/mono/mono_1.2.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-require mono_1.2.4.inc
-DEPENDS = "mono-native glib-2.0"
-
-PR = "r3"
-SRC_URI += "file://mono-monoburg-Makefile.patch;patch=1 \
- file://mono-mips-endian.patch;patch=1 \
- file://mono-configure.patch;patch=1 \
- file://mono-mini-Makefile.patch;patch=1 \
- "
-
-do_install_append() {
- install -d ${D}${libdir}/mono/1.0/
- cp ${S}/mcs/class/lib/monolite/* ${D}${libdir}/mono/1.0/
-}
-
-PACKAGES =+ "mono-dll"
-FILES_mono-dll = "${libdir}/mono/1.0/"
-
-
diff --git a/packages/mono/mono_1.2.4.inc b/packages/mono/mono_1.2.4.inc
deleted file mode 100644
index b9a721150f..0000000000
--- a/packages/mono/mono_1.2.4.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Mono Programming Language"
-SECTION = "devel/mono"
-LICENSE = "GPL LGPL X11"
-
-SRC_URI = "http://go-mono.com/sources/mono/mono-${PV}.tar.bz2"
-
-S = "${WORKDIR}/mono-${PV}"
-
-inherit autotools
-EXTRA_OECONF = "--disable-mcs-build"
-EXTRA_OECONF_arm = "--without-tls"
-EXTRA_OECONF_mipsel = "--without-tls"
diff --git a/packages/mono/mono_1.2.5.1.bb b/packages/mono/mono_1.2.5.1.bb
new file mode 100644
index 0000000000..c3ea1818ad
--- /dev/null
+++ b/packages/mono/mono_1.2.5.1.bb
@@ -0,0 +1,146 @@
+require mono_1.2.5.inc
+
+DEPENDS = "mono-native mono-mcs-intermediate glib-2.0 perl-native"
+
+PR = "r2"
+
+SRC_URI += "file://configure.patch;patch=1 \
+ file://genmdesc-cpp.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
+PACKAGES = "${@" ".join([e["name"] for e in mono_get_file_table(bb.data.getVar('PV', d, 1), d) if e.has_key("name")])}"
+
+FILES_mono-doc_append = " /usr/share/libgc-mono/ "
+
+FILES_mono = "" # Apparently this gets ignored, so I'm setting it again below
+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"
+
+python populate_packages_prepend () {
+ def fillin_packages():
+ # A lot of this code can probably be replaced with less code and some
+ # calls to do_split_packages
+ import bb, sys, os, glob, commands
+
+ PV = bb.data.getVar('PV', d, 1)
+
+ file_table = mono_get_file_table(PV, d)
+ packages_to_add = []
+
+ D = bb.data.getVar('D', d, 1)
+ if not D: return
+ D = D + "/"
+
+ def classify_files(files):
+ normal, dev, dbg, doc = [], [], [], []
+ for filename in files:
+ if filename.endswith(".mdb"):
+ dbg.append(filename)
+ elif os.path.basename( os.path.dirname( filename ) ) == ".debug":
+ dbg.append(filename)
+ elif filename.endswith(".pc"):
+ dev.append(filename)
+ else:
+ normal.append(filename)
+ return normal, dev, dbg, doc
+
+ def will_strip(filename):
+ # From package.bbclass function runstrip
+ pathprefix = "export PATH=%s; " % bb.data.getVar('PATH', d, 1)
+ ret, result = commands.getstatusoutput("%sfile '%s'" % (pathprefix, filename))
+ if "not stripped" in result:
+ return True
+ else:
+ return False
+
+ def append(name, value):
+ oldvalue = bb.data.getVar(name, d, 1) or ""
+ newvalue = " ".join([oldvalue, value])
+ bb.data.setVar(name, newvalue, d)
+
+ already_covered = []
+ for package in file_table:
+ pn = package["name"]
+ if package.has_key("patterns"):
+ files = []
+ for pattern in package["patterns"]:
+ matching = glob.glob( D + pattern )
+ for filename in matching:
+ if os.path.isdir(filename):
+ for dirpath, dirnames, filenames in os.walk(filename):
+ for f in filenames:
+ debugname = os.path.join(dirpath, ".debug", f)
+ fullname = os.path.join(dirpath, f)
+ files.append(fullname)
+ if will_strip(fullname):
+ files.append(debugname)
+ else:
+ files.append(filename)
+
+ # Remove the D prefix
+ files = [ e[len(D):] for e in files ]
+
+ # Remove files that have already been placed in other packages
+ files = [ e for e in files if not e in already_covered ]
+ already_covered.extend( files )
+
+ if pn.endswith("-dev") or pn.endswith("-dbg") or pn.endswith("-doc"):
+ normal, dev, dbg, doc = files, [], [], []
+ else:
+ normal, dev, dbg, doc = classify_files(files)
+
+ for extension, filelist in [ ("",normal), ("-dev", dev), ("-dbg", dbg), ("-doc", doc)]:
+ if len(filelist) > 0:
+ packagename = pn + extension
+ append("FILES_%s" % packagename, " ".join(filelist))
+ bb.debug(2, "%s\n\t%s" %( packagename, "\n\t".join( filelist ) ))
+ if not packagename in packages_to_add:
+ packages_to_add.append(packagename)
+
+ else:
+ packages_to_add.append(pn)
+
+ # mono is just a stub package
+ bb.data.setVar("FILES_mono", "", d)
+
+ bb.data.setVar("PACKAGES", " ".join(packages_to_add), d)
+ fillin_packages()
+}
diff --git a/packages/mono/mono_1.2.5.bb b/packages/mono/mono_1.2.5.bb
deleted file mode 100644
index c0a4cfb223..0000000000
--- a/packages/mono/mono_1.2.5.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-require mono_1.2.5.inc
-
-#DEPENDS = "mono-native glib-2.0"
-# for now, we skip the mono-native build -- just install
-# mono using your distro package manager for now
-# after we get the target version working, we'll worry
-# about the native package for systems that don't have mono
-# installed
-DEPENDS = "glib-2.0"
-
-PR = "r0"
-
-SRC_URI += "file://configure.patch;patch=1"
-
-do_install_append() {
- install -d ${D}${libdir}/mono/1.0/
- cp ${S}/mcs/class/lib/monolite/* ${D}${libdir}/mono/1.0/
-}
-
-PACKAGES =+ "mono-dll"
-FILES_mono-dll = "${libdir}/mono/1.0/"
-
-
diff --git a/packages/mono/mono_1.2.5.inc b/packages/mono/mono_1.2.5.inc
index 0e0df1caf2..aeca713d6b 100644
--- a/packages/mono/mono_1.2.5.inc
+++ b/packages/mono/mono_1.2.5.inc
@@ -2,15 +2,11 @@ DESCRIPTION = "Mono Programming Language"
SECTION = "devel/mono"
LICENSE = "GPL LGPL X11"
-# the md5 sum check is required because Novell does not version their pre release versions of mono
-# if the md5sum check fails, contact cbrake on #oe
-# checksums are stored in conf/checksums.ini
-SRC_URI = "http://go-mono.com/sources/mono/mono-1.2.5.tar.bz2"
+SRC_URI = "http://go-mono.com/sources/mono/mono-${PV}.tar.bz2"
-S = "${WORKDIR}/mono-1.2.5"
+S = "${WORKDIR}/mono-${PV}"
inherit autotools
-EXTRA_OECONF = "--disable-mcs-build"
EXTRA_OECONF_arm = "--without-tls"
EXTRA_OECONF_mipsel = "--without-tls"
diff --git a/packages/mono/mono_files.py b/packages/mono/mono_files.py
new file mode 100644
index 0000000000..6e673743c3
--- /dev/null
+++ b/packages/mono/mono_files.py
@@ -0,0 +1,605 @@
+# This is a generated file, please do not edit directly
+# Use collect-paths.py instead. -- Henryk <henryk@openmoko.org>
+debian_mono_file_table = [
+ { 'name': 'mono-jit',
+ 'patterns': [
+ '/usr/bin/mono'
+ ]
+ },
+ { 'name': 'mono-gac',
+ 'patterns': [
+ '/usr/bin/gacutil',
+ '/usr/lib/mono/1.0/gacutil.exe'
+ ]
+ },
+ { 'name': 'mono-mjs',
+ 'patterns': [
+ '/usr/bin/mjs',
+ '/usr/lib/mono/1.0/mjs.exe*'
+ ]
+ },
+ { 'name': 'mono-gmcs',
+ 'patterns': [
+ '/usr/bin/gmcs',
+ '/usr/bin/wsdl2',
+ '/usr/bin/monop2',
+ '/usr/bin/ilasm2',
+ '/usr/bin/resgen2',
+ '/usr/bin/mono-api-info2',
+ '/usr/bin/mono-service2',
+ '/usr/bin/mkbundle2',
+ '/usr/bin/xbuild',
+ '/usr/bin/sgen',
+ '/usr/bin/al2',
+ '/usr/bin/httpcfg',
+ '/usr/lib/mono/2.0/*.exe*',
+ '/usr/lib/mono/2.0/xbuild.rsp',
+ '/usr/lib/mono/2.0/MSBuild/',
+ '/usr/lib/mono/2.0/Microsoft.Build.xsd',
+ '/usr/lib/mono/2.0/Microsoft.CSharp.targets',
+ '/usr/lib/mono/2.0/Microsoft.Common.tasks',
+ '/usr/lib/mono/2.0/Microsoft.Common.targets',
+ '/usr/lib/mono/2.0/Microsoft.VisualBasic.targets'
+ ]
+ },
+ { 'name': 'mono-utils',
+ 'patterns': [
+ '/usr/bin/pedump',
+ '/usr/bin/monodis',
+ '/usr/bin/monograph',
+ '/usr/bin/mono-find-provides',
+ '/usr/bin/mono-find-requires'
+ ]
+ },
+ { 'name': 'libmono-peapi1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/PEAPI/1.0.*/',
+ '/usr/lib/mono/1.0/PEAPI.dll'
+ ],
+ 'assemblies': [
+ ('PEAPI', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-cairo1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Cairo/1.0.*/',
+ '/usr/lib/mono/1.0/Mono.Cairo.dll',
+ '/usr/lib/pkgconfig/mono-cairo.pc'
+ ],
+ 'assemblies': [
+ ('Mono.Cairo', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-web2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Web/2.0.*/',
+ '/usr/lib/mono/gac/System.Web.Services/2.0.*/',
+ '/usr/lib/mono/2.0/System.Web.dll',
+ '/usr/lib/mono/2.0/System.Web.Services.dll'
+ ],
+ 'assemblies': [
+ ('System.Web', '2.0.*'),
+ ('System.Web.Services', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-accessibility2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Accessibility/2.0.*/',
+ '/usr/lib/mono/2.0/Accessibility.dll'
+ ],
+ 'assemblies': [
+ ('Accessibility', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-microsoft7.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Microsoft.JScript/7.0.*/',
+ '/usr/lib/mono/gac/Microsoft.VisualC/7.0.*/',
+ '/usr/lib/mono/gac/Microsoft.Vsa/7.0.*/',
+ '/usr/lib/mono/1.0/Microsoft.JScript.dll',
+ '/usr/lib/mono/1.0/Microsoft.VisualC.dll',
+ '/usr/lib/mono/1.0/Microsoft.Vsa.dll'
+ ],
+ 'assemblies': [
+ ('Microsoft.JScript', '7.0.*'),
+ ('Microsoft.VisualC', '7.0.*'),
+ ('Microsoft.Vsa', '7.0.*')
+ ]
+ },
+ { 'name': 'libmono-winforms2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Windows.Forms/2.0.*/',
+ '/usr/lib/mono/gac/System.Drawing.Design/2.0.*/',
+ '/usr/lib/mono/gac/System.Design/2.0.*/',
+ '/usr/lib/mono/2.0/System.Windows.Forms.dll',
+ '/usr/lib/mono/2.0/System.Drawing.Design.dll',
+ '/usr/lib/mono/2.0/System.Design.dll'
+ ],
+ 'assemblies': [
+ ('System.Windows.Forms', '2.0.*'),
+ ('System.Drawing.Design', '2.0.*'),
+ ('System.Design', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-ldap1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Novell.Directory.Ldap/1.0.*/',
+ '/usr/lib/mono/1.0/Novell.Directory.Ldap.dll'
+ ],
+ 'assemblies': [
+ ('Novell.Directory.Ldap', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-sharpzip2.84-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/ICSharpCode.SharpZipLib/2.84.*/',
+ '/usr/lib/mono/2.0/ICSharpCode.SharpZipLib.dll'
+ ],
+ 'assemblies': [
+ ('ICSharpCode.SharpZipLib', '2.84.*')
+ ]
+ },
+ { 'name': 'libmono-system-data2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Data/2.0.*/',
+ '/usr/lib/mono/2.0/System.Data.dll'
+ ],
+ 'assemblies': [
+ ('System.Data', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-corlib2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/I18N*/2.0.*/',
+ '/usr/lib/mono/2.0/I18N*.dll',
+ '/usr/lib/mono/2.0/mscorlib.dll*'
+ ],
+ 'assemblies': [
+ ('I18N*', '2.0.*'),
+ ('mscorlib', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-winforms1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Windows.Forms/1.0.*/',
+ '/usr/lib/mono/gac/System.Drawing.Design/1.0.*/',
+ '/usr/lib/mono/gac/System.Design/1.0.*/',
+ '/usr/lib/mono/1.0/System.Windows.Forms.dll',
+ '/usr/lib/mono/1.0/System.Drawing.Design.dll',
+ '/usr/lib/mono/1.0/System.Design.dll'
+ ],
+ 'assemblies': [
+ ('System.Windows.Forms', '1.0.*'),
+ ('System.Drawing.Design', '1.0.*'),
+ ('System.Design', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-microsoft8.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Microsoft.JScript/8.0.*/',
+ '/usr/lib/mono/gac/Microsoft.VisualC/8.0.*/',
+ '/usr/lib/mono/gac/Microsoft.Vsa/8.0.*/',
+ '/usr/lib/mono/2.0/Microsoft.JScript.dll',
+ '/usr/lib/mono/2.0/Microsoft.VisualC.dll',
+ '/usr/lib/mono/2.0/Microsoft.Vsa.dll'
+ ],
+ 'assemblies': [
+ ('Microsoft.JScript', '8.0.*'),
+ ('Microsoft.VisualC', '8.0.*'),
+ ('Microsoft.Vsa', '8.0.*')
+ ]
+ },
+ { 'name': 'libmono-corlib1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/I18N*/1.0.*/',
+ '/usr/lib/mono/1.0/I18N*.dll',
+ '/usr/lib/mono/1.0/mscorlib.dll*'
+ ],
+ 'assemblies': [
+ ('I18N*', '1.0.*'),
+ ('mscorlib', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-web1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Web/1.0.*/',
+ '/usr/lib/mono/gac/System.Web.Services/1.0.*/',
+ '/usr/lib/mono/1.0/System.Web.dll',
+ '/usr/lib/mono/1.0/System.Web.Services.dll'
+ ],
+ 'assemblies': [
+ ('System.Web', '1.0.*'),
+ ('System.Web.Services', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-runtime2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Runtime.*/2.0.*/',
+ '/usr/lib/mono/2.0/System.Runtime.*.dll'
+ ],
+ 'assemblies': [
+ ('System.Runtime.*', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-cscompmgd8.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/cscompmgd/8.0.*/',
+ '/usr/lib/mono/2.0/cscompmgd.dll'
+ ],
+ 'assemblies': [
+ ('cscompmgd', '8.0.*')
+ ]
+ },
+ { 'name': 'libmono-cscompmgd7.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/cscompmgd/7.0.*/',
+ '/usr/lib/mono/1.0/cscompmgd.dll'
+ ],
+ 'assemblies': [
+ ('cscompmgd', '7.0.*')
+ ]
+ },
+ { 'name': 'libmono-firebirdsql1.7-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/FirebirdSql.Data.Firebird/1.7.*/',
+ '/usr/lib/mono/1.0/FirebirdSql.Data.Firebird.dll'
+ ],
+ 'assemblies': [
+ ('FirebirdSql.Data.Firebird', '1.7.*')
+ ]
+ },
+ { 'name': 'mono-jay',
+ 'patterns': [
+ '/usr/bin/jay'
+ ]
+ },
+ { 'name': 'libmono-data-tds1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Data.Tds/1.0.*/',
+ '/usr/lib/mono/1.0/Mono.Data.Tds.dll'
+ ],
+ 'assemblies': [
+ ('Mono.Data.Tds', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-sqlite1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Data.Sqlite/1.0.*/',
+ '/usr/lib/mono/gac/Mono.Data.SqliteClient/1.0.*/',
+ '/usr/lib/mono/1.0/Mono.Data.Sqlite.dll',
+ '/usr/lib/mono/1.0/Mono.Data.SqliteClient.dll'
+ ],
+ 'assemblies': [
+ ('Mono.Data.Sqlite', '1.0.*'),
+ ('Mono.Data.SqliteClient', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-relaxng1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Commons.Xml.Relaxng/1.0.*/',
+ '/usr/lib/mono/1.0/Commons.Xml.Relaxng.dll'
+ ],
+ 'assemblies': [
+ ('Commons.Xml.Relaxng', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-dev',
+ 'patterns': [
+ '/usr/lib/libmono*.a',
+ '/usr/lib/libMono*.a',
+ '/usr/lib/libmono*.so',
+ '/usr/lib/libMonoSupportW.a',
+ '/usr/lib/pkgconfig/mono.pc',
+ '/usr/lib/pkgconfig/dotnet.pc',
+ '/usr/include/'
+ ]
+ },
+ { 'name': 'libmono-accessibility1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Accessibility/1.0.*/',
+ '/usr/lib/mono/1.0/Accessibility.dll'
+ ],
+ 'assemblies': [
+ ('Accessibility', '1.0.*')
+ ]
+ },
+ { 'name': 'mono-common',
+ 'patterns': [
+ '/etc/mono',
+ '/usr/share/mono-1.0/mono/cil/cil-opcodes.xml'
+ ]
+ },
+ { 'name': 'libmono-oracle1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Data.OracleClient/1.0.*/',
+ '/usr/lib/mono/1.0/System.Data.OracleClient.dll'
+ ],
+ 'assemblies': [
+ ('System.Data.OracleClient', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-data1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Data/1.0.*/',
+ '/usr/lib/mono/1.0/System.Data.dll'
+ ],
+ 'assemblies': [
+ ('System.Data', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-bytefx0.7.6.2-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/ByteFX.Data/0.7.6.2*/',
+ '/usr/lib/mono/2.0/ByteFX.Data.dll'
+ ],
+ 'assemblies': [
+ ('ByteFX.Data', '0.7.6.2*')
+ ]
+ },
+ { 'name': 'libmono0',
+ 'patterns': [
+ '/usr/lib/libmono*.so.*',
+ '/usr/lib/libMonoPosixHelper.so',
+ '/usr/lib/libMonoSupportW.so'
+ ]
+ },
+ { 'name': 'libmono-sharpzip0.6-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/ICSharpCode.SharpZipLib/0.6.*/',
+ '/usr/lib/mono/compat-1.0/ICSharpCode.SharpZipLib.dll'
+ ],
+ 'assemblies': [
+ ('ICSharpCode.SharpZipLib', '0.6.*')
+ ]
+ },
+ { 'name': 'libmono-data-tds2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Data.Tds/2.0.*/',
+ '/usr/lib/mono/2.0/Mono.Data.Tds.dll'
+ ],
+ 'assemblies': [
+ ('Mono.Data.Tds', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-messaging1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Messaging/1.0.*/',
+ '/usr/lib/mono/1.0/System.Messaging.dll'
+ ],
+ 'assemblies': [
+ ('System.Messaging', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-npgsql1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Npgsql/1.0.*/',
+ '/usr/lib/mono/1.0/Npgsql.dll'
+ ],
+ 'assemblies': [
+ ('Npgsql', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-security2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Security/2.0.*/',
+ '/usr/lib/mono/2.0/Mono.Security.dll'
+ ],
+ 'assemblies': [
+ ('Mono.Security', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-security1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Security/1.0.*/',
+ '/usr/lib/mono/1.0/Mono.Security.dll'
+ ],
+ 'assemblies': [
+ ('Mono.Security', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-bytefx0.7.6.1-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/ByteFX.Data/0.7.6.1*/',
+ '/usr/lib/mono/1.0/ByteFX.Data.dll'
+ ],
+ 'assemblies': [
+ ('ByteFX.Data', '0.7.6.1*')
+ ]
+ },
+ { 'name': 'libmono-microsoft-build2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Microsoft.Build.*/2.0.*/',
+ '/usr/lib/mono/2.0/Microsoft.Build.*.dll'
+ ],
+ 'assemblies': [
+ ('Microsoft.Build.*', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-ldap1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.DirectoryServices/1.0.*/',
+ '/usr/lib/mono/1.0/System.DirectoryServices.dll'
+ ],
+ 'assemblies': [
+ ('System.DirectoryServices', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-relaxng2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Commons.Xml.Relaxng/2.0.*/',
+ '/usr/lib/mono/2.0/Commons.Xml.Relaxng.dll'
+ ],
+ 'assemblies': [
+ ('Commons.Xml.Relaxng', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-ldap2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.DirectoryServices/2.0.*/',
+ '/usr/lib/mono/2.0/System.DirectoryServices.dll'
+ ],
+ 'assemblies': [
+ ('System.DirectoryServices', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-messaging2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Messaging/2.0.*/',
+ '/usr/lib/mono/2.0/System.Messaging.dll'
+ ],
+ 'assemblies': [
+ ('System.Messaging', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-sharpzip0.84-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/ICSharpCode.SharpZipLib/0.84.*/',
+ '/usr/lib/mono/1.0/ICSharpCode.SharpZipLib.dll'
+ ],
+ 'assemblies': [
+ ('ICSharpCode.SharpZipLib', '0.84.*')
+ ]
+ },
+ { 'name': 'libmono-sqlite2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.*/',
+ '/usr/lib/mono/gac/Mono.Data.SqliteClient/2.0.*/',
+ '/usr/lib/mono/2.0/Mono.Data.Sqlite.dll',
+ '/usr/lib/mono/2.0/Mono.Data.SqliteClient.dll'
+ ],
+ 'assemblies': [
+ ('Mono.Data.Sqlite', '2.0.*'),
+ ('Mono.Data.SqliteClient', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-ldap2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Novell.Directory.Ldap/2.0.*/',
+ '/usr/lib/mono/2.0/Novell.Directory.Ldap.dll'
+ ],
+ 'assemblies': [
+ ('Novell.Directory.Ldap', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-npgsql2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Npgsql/2.0.*/',
+ '/usr/lib/mono/2.0/Npgsql.dll'
+ ],
+ 'assemblies': [
+ ('Npgsql', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-system-runtime1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Runtime.*/1.0.*/',
+ '/usr/lib/mono/1.0/System.Runtime.*.dll'
+ ],
+ 'assemblies': [
+ ('System.Runtime.*', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-oracle2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System.Data.OracleClient/2.0.*/',
+ '/usr/lib/mono/2.0/System.Data.OracleClient.dll'
+ ],
+ 'assemblies': [
+ ('System.Data.OracleClient', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-c5-1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.C5/1.0.*/',
+ '/usr/lib/mono/2.0/Mono.C5.dll'
+ ],
+ 'assemblies': [
+ ('Mono.C5', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-sharpzip2.6-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/ICSharpCode.SharpZipLib/2.6.*/',
+ '/usr/lib/mono/compat-2.0/ICSharpCode.SharpZipLib.dll'
+ ],
+ 'assemblies': [
+ ('ICSharpCode.SharpZipLib', '2.6.*')
+ ]
+ },
+ { 'name': 'libmono-cairo2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.Cairo/2.0.*/',
+ '/usr/lib/mono/2.0/Mono.Cairo.dll'
+ ],
+ 'assemblies': [
+ ('Mono.Cairo', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono-peapi2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/PEAPI/2.0.*/',
+ '/usr/lib/mono/2.0/PEAPI.dll'
+ ],
+ 'assemblies': [
+ ('PEAPI', '2.0.*')
+ ]
+ },
+ { 'name': 'mono-mcs',
+ 'patterns': [
+ '/usr/bin/',
+ '/usr/lib/mono/1.0/*.exe*'
+ ]
+ },
+ { 'name': 'libmono-system1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System*/1.0.*/',
+ '/usr/lib/mono/gac/CustomMarshalers/1.0.*/',
+ '/usr/lib/mono/1.0/System*.dll',
+ '/usr/lib/mono/1.0/CustomMarshalers.dll*'
+ ],
+ 'assemblies': [
+ ('System*', '1.0.*'),
+ ('CustomMarshalers', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono-system2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/System*/2.0.*/',
+ '/usr/lib/mono/gac/CustomMarshalers/2.0.*/',
+ '/usr/lib/mono/2.0/System*.dll',
+ '/usr/lib/mono/2.0/CustomMarshalers.dll*'
+ ],
+ 'assemblies': [
+ ('System*', '2.0.*'),
+ ('CustomMarshalers', '2.0.*')
+ ]
+ },
+ { 'name': 'libmono1.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.*/1.0.*/',
+ '/usr/lib/mono/gac/OpenSystem.C/1.0.*',
+ '/usr/lib/mono/gac/mono-service/1.0.*/',
+ '/usr/lib/mono/1.0/Mono.*.dll',
+ '/usr/lib/mono/1.0/OpenSystem.C.dll'
+ ],
+ 'assemblies': [
+ ('Mono.*', '1.0.*'),
+ ('OpenSystem.C', '1.0.*'),
+ ('mono-service', '1.0.*')
+ ]
+ },
+ { 'name': 'libmono2.0-cil',
+ 'patterns': [
+ '/usr/lib/mono/gac/Mono.*/2.0.*/',
+ '/usr/lib/mono/gac/OpenSystem.C/2.0.*',
+ '/usr/lib/mono/gac/mono-service/2.0.*/',
+ '/usr/lib/mono/2.0/Mono.*.dll',
+ '/usr/lib/mono/2.0/OpenSystem.C.dll'
+ ],
+ 'assemblies': [
+ ('Mono.*', '2.0.*'),
+ ('OpenSystem.C', '2.0.*'),
+ ('mono-service', '2.0.*')
+ ]
+ }
+]