diff options
author | Leon Woestenberg <leon.woestenberg@gmail.com> | 2007-10-05 12:43:03 +0000 |
---|---|---|
committer | Leon Woestenberg <leon.woestenberg@gmail.com> | 2007-10-05 12:43:03 +0000 |
commit | fb5a8ff3d88fca827e22ad48f136c7fe1c6cea10 (patch) | |
tree | f28b9b4a860576cf9909d567efc7baeb20dd2740 /packages/mono | |
parent | f0f72d8aa5de6a41796117c6e781e150bbacbe47 (diff) | |
parent | bab0c48ac5132ad63b4f3da27a1c39c20b5db86c (diff) |
merge of 'aac60b186b977130a688c4d00bfde913fb6221eb'
and 'f42403739ba7106ebfe92b3af59bf9c81b54f06d'
Diffstat (limited to 'packages/mono')
-rw-r--r-- | packages/mono/README | 43 | ||||
-rw-r--r-- | packages/mono/collect-paths.py | 135 | ||||
-rw-r--r-- | packages/mono/files/genmdesc-cpp.patch | 22 | ||||
-rw-r--r-- | packages/mono/files/mono-fix-libdir-path.patch | 11 | ||||
-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.bb | 61 | ||||
-rw-r--r-- | packages/mono/mono-native_1.2.2.1.bb | 5 | ||||
-rw-r--r-- | packages/mono/mono-native_1.2.4.bb | 9 | ||||
-rw-r--r-- | packages/mono/mono-native_1.2.5.1.bb | 23 | ||||
-rw-r--r-- | packages/mono/mono-native_1.2.5.bb | 10 | ||||
-rw-r--r-- | packages/mono/mono.inc | 17 | ||||
-rw-r--r-- | packages/mono/mono_1.2.2.1.bb | 17 | ||||
-rw-r--r-- | packages/mono/mono_1.2.4.bb | 19 | ||||
-rw-r--r-- | packages/mono/mono_1.2.4.inc | 12 | ||||
-rw-r--r-- | packages/mono/mono_1.2.5.1.bb | 146 | ||||
-rw-r--r-- | packages/mono/mono_1.2.5.bb | 23 | ||||
-rw-r--r-- | packages/mono/mono_1.2.5.inc | 8 | ||||
-rw-r--r-- | packages/mono/mono_files.py | 605 |
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.*') + ] + } +] |