Browse files

Merge in the changes for mono 2.11

Conflicts:
	.gitignore
	bockbuild/darwinprofile.py
	packages/gtk+.py
	packages/mono.py
  • Loading branch information...
1 parent 67649c3 commit 4683d159eb843d322e941a7b545d64e88c6c811e @chkn chkn committed Apr 16, 2012
Showing with 1,269 additions and 30 deletions.
  1. +2 −0 .gitignore
  2. +2 −2 bockbuild/darwinprofile.py
  3. +32 −9 bockbuild/package.py
  4. +13 −3 bockbuild/profile.py
  5. +2 −2 bockbuild/unixprofile.py
  6. +10 −1 bockbuild/util.py
  7. +14 −0 packages/boo.py
  8. +1 −0 packages/expat.py
  9. +15 −0 packages/fsharp.py
  10. +1 −1 packages/gettext.py
  11. +1 −1 packages/glib.py
  12. +14 −1 packages/gtk+.py
  13. +8 −0 packages/gtk-sharp-2.12-release.py
  14. +37 −0 packages/ironlangs.py
  15. +1 −1 packages/libgdiplus.py
  16. +1 −0 packages/libgif.py
  17. +7 −6 packages/libjpeg.py
  18. +7 −3 packages/libpng.py
  19. +4 −0 packages/mono-basic.py
  20. +4 −0 packages/mono-llvm.py
  21. +27 −0 packages/mono-master.py
  22. +9 −0 packages/nant.py
  23. +216 −0 packages/patches/gtkrc
  24. +1 −0 packages/xsp.py
  25. +206 −0 profiles/mono-mac-release/mono-mac-release.py
  26. +62 −0 profiles/mono-mac-release/packages.py
  27. +34 −0 profiles/mono-mac-release/packaging/Info.plist
  28. +34 −0 profiles/mono-mac-release/packaging/Info_sdk.plist
  29. +34 −0 profiles/mono-mac-release/packaging/mdk_blacklist.sh
  30. +197 −0 profiles/mono-mac-release/packaging/mre_blacklist.sh
  31. +26 −0 profiles/mono-mac-release/packaging/resources/License.rtf
  32. +39 −0 profiles/mono-mac-release/packaging/resources/ReadMe.rtf
  33. +12 −0 profiles/mono-mac-release/packaging/resources/Welcome.rtf
  34. +42 −0 profiles/mono-mac-release/packaging/resources/postflight
  35. +16 −0 profiles/mono-mac-release/packaging/resources/version.plist
  36. +122 −0 profiles/mono-mac-release/packaging/resources/whitelist.txt
  37. +16 −0 profiles/mono-mac-release/packaging/uninstallMono.sh
View
2 .gitignore
@@ -2,4 +2,6 @@ profiles/*/build-root
profiles/*/bundle.glick
solitary/Options.cs
solitary/Solitary.exe*
+*.pyc
+*~
.DS_Store
View
4 bockbuild/darwinprofile.py
@@ -5,8 +5,8 @@
from unixprofile import UnixProfile
class DarwinProfile (UnixProfile):
- def __init__ (self):
- UnixProfile.__init__ (self)
+ def __init__ (self, prefix = False):
+ UnixProfile.__init__ (self, prefix)
self.name = 'darwin'
sdkroot = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/'
View
41 bockbuild/package.py
@@ -46,6 +46,9 @@ def _fetch_sources (self, package_dir, package_dest_dir):
if self.sources == None:
return
+ if not os.path.exists (package_dest_dir):
+ os.mkdir (package_dest_dir)
+
local_sources = []
for source in self.sources:
local_source = os.path.join (package_dir, source)
@@ -74,31 +77,49 @@ def _fetch_sources (self, package_dir, package_dest_dir):
self.sh ('%' + '{git} clone "%s" "%s"' % (source, os.path.basename (local_dest_file)))
else:
self.cd (local_dest_file)
+ self.sh ('%{git} reset --hard')
+ self.sh ('%{git} clean -xfd')
self.sh ('%{git} pull --rebase')
+ revision = os.getenv('BUILD_REVISION')
+ if revision != None:
+ self.cd (local_dest_file)
+ self.sh ('%' + '{git} reset --hard %s' % revision)
os.chdir (pwd)
self.sources = local_sources
+ def package_root_dir (self, build_root = False):
+ source_cache = os.getenv('BOCKBUILD_SOURCE_CACHE')
+ if source_cache != None:
+ print 'Using BOCKBUILD_SOURCE_CACHE = %s' % source_cache
+ return source_cache or build_root or Package.profile.build_root
+
+ def package_dest_dir (self, build_root = False):
+ return os.path.join (self.package_root_dir (build_root or Package.profile.build_root), '%s-%s' % (self.name, self.version))
+
def start_build (self):
Package.last_instance = None
expand_macros (self, self)
profile = Package.profile
-
namever = '%s-%s' % (self.name, self.version)
package_dir = os.path.dirname (os.path.realpath (self._path))
- package_dest_dir = os.path.join (profile.build_root, namever)
- package_build_dir = os.path.join (package_dest_dir, '_build')
- build_success_file = os.path.join (profile.build_root,
- namever + '.success')
+ package_build_dir = os.path.join (os.path.join (profile.build_root, namever), '_build')
+ build_success_file = os.path.join (profile.build_root, namever + '.success')
+ install_success_file = os.path.join (profile.build_root, namever + '.install')
if os.path.exists (build_success_file):
print 'Skipping %s - already built' % namever
+ if not os.path.exists (install_success_file):
+ print 'Installing %s' % namever
+ os.chdir (package_build_dir)
+ self.cd ('%{source_dir_name}')
+ self.install ()
+ open (install_success_file, 'w').close ()
return
- print '\n\nBuilding %s on %s (%s CPU)' % (self.name, profile.host,
- profile.cpu_count)
+ print '\n\nBuilding %s on %s (%s CPU)' % (self.name, profile.host, profile.cpu_count)
if not os.path.exists (profile.build_root) or \
not os.path.isdir (profile.build_root):
@@ -107,7 +128,7 @@ def start_build (self):
shutil.rmtree (package_build_dir, ignore_errors = True)
os.makedirs (package_build_dir)
- self._fetch_sources (package_dir, package_dest_dir)
+ self._fetch_sources (package_dir, self.package_dest_dir (profile.build_root))
os.chdir (package_build_dir)
@@ -116,6 +137,7 @@ def start_build (self):
getattr (self, phase) ()
open (build_success_file, 'w').close ()
+ open (install_success_file, 'w').close ()
def sh (self, *commands):
for command in commands:
@@ -148,7 +170,8 @@ def prep (self):
if os.path.isdir (os.path.join (self.sources[0], '.git')):
dirname = os.path.join (os.getcwd (), os.path.basename (self.sources[0]))
- self.sh ('cp -a "%s" "%s"' % (self.sources[0], dirname))
+ # self.sh ('cp -a "%s" "%s"' % (self.sources[0], dirname))
+ self.sh ('git clone --shared "%s" "%s"' % (self.sources[0], dirname))
self.cd (dirname)
else:
root, ext = os.path.splitext (self.sources[0])
View
16 bockbuild/profile.py
@@ -5,10 +5,10 @@
from package import *
class Profile:
- def __init__ (self):
+ def __init__ (self, prefix = False):
self.name = 'default'
self.build_root = os.path.join (os.getcwd (), 'build-root')
- self.prefix = os.path.join (self.build_root, '_install')
+ self.prefix = prefix if prefix else os.path.join (self.build_root, '_install')
self.env = Environment (self)
self.env.set ('BUILD_PREFIX', self.prefix)
self.env.set ('BOCKBUILD_ENV', '1')
@@ -25,6 +25,9 @@ def parse_options (self):
parser.add_option ('-b', '--build',
action = 'store_true', dest = 'do_build', default = False,
help = 'build the profile')
+ parser.add_option ('-P', '--package',
+ action = 'store_true', dest = 'do_package', default = False,
+ help = 'package the profile')
parser.add_option ('-z', '--bundle',
action = 'store_true', dest = 'do_bundle', default = False,
help = 'create a distributable bundle from a build')
@@ -59,6 +62,9 @@ def parse_options (self):
self.parser = parser
self.cmd_options, self.cmd_args = parser.parse_args ()
+ def make_package (self, output_dir):
+ sys.exit ("Package support not implemented for this profile")
+
def bundle (self, output_dir):
sys.exit ('Bundle support not implemented for this profile')
@@ -74,7 +80,8 @@ def build (self):
if not self.cmd_options.show_source_paths and \
not self.cmd_options.do_build and \
- not self.cmd_options.do_bundle:
+ not self.cmd_options.do_bundle and \
+ not self.cmd_options.do_package:
self.parser.print_help ()
sys.exit (1)
@@ -134,3 +141,6 @@ def build (self):
self.bundle_skeleton_dir = os.path.join (os.getcwd (), 'skeleton')
self.bundle ()
return
+
+ if self.cmd_options.do_package:
+ self.package ()
View
4 bockbuild/unixprofile.py
@@ -1,8 +1,8 @@
from profile import Profile
class UnixProfile (Profile):
- def __init__ (self):
- Profile.__init__ (self)
+ def __init__ (self, prefix = False):
+ Profile.__init__ (self, prefix)
self.name = 'unix'
self.gcc_flags = [ '-I%{prefix}/include' ]
View
11 bockbuild/util.py
@@ -3,6 +3,7 @@
import os
import sys
import subprocess
+import fileinput
def log (level, message):
if level == 0:
@@ -51,7 +52,15 @@ def sub_macro (m):
return node
-def run_shell (cmd):
+def replace_in_file(filename, word_dic):
+ rc = re.compile('|'.join(map(re.escape, word_dic)))
+ def translate(match):
+ return word_dic[match.group(0)]
+ for line in fileinput.FileInput(filename, inplace=1):
+ print rc.sub(translate, line)
+
+def run_shell (cmd, print_cmd = False):
+ if print_cmd: print cmd
proc = subprocess.Popen (cmd, shell = True)
exit_code = os.waitpid (proc.pid, 0)[1]
if not exit_code == 0:
View
14 packages/boo.py
@@ -0,0 +1,14 @@
+import os
+
+class BooPackage (Package):
+ def __init__(self):
+ Package.__init__ (self, 'boo', '0.9.4.9')
+ self.sources = ['http://dist.codehaus.org/boo/distributions/boo-0.9.4.9.tar.gz']
+
+ def install(self):
+ # Unfortunately boo's build scripts don't seem to do a very good job
+ for script in [ 'booc', 'booi', 'booish' ]:
+ replace_in_file (os.path.join ('extras', script), { '${exec_prefix}': self.prefix })
+ self.sh ('make install MIME_PREFIX=/tmp GTKSOURCEVIEW_PREFIX=/tmp')
+
+BooPackage ()
View
1 packages/expat.py
@@ -0,0 +1 @@
+SourceForgePackage ('expat', 'expat', '2.0.1')
View
15 packages/fsharp.py
@@ -0,0 +1,15 @@
+
+class FsharpPackage(GitHubTarballPackage):
+ def __init__(self):
+ GitHubTarballPackage.__init__(self,
+ 'fsharp', 'fsharp',
+ '2.11',
+ '6d4f78d60b8ca8158a10e348ffc0a050095a18f6',
+ configure = '')
+
+ def build(self):
+ self.sh ('autoreconf')
+ self.sh ('./configure --prefix="%{prefix}"')
+ self.sh ('make')
+
+FsharpPackage()
View
2 packages/gettext.py
@@ -12,7 +12,7 @@ def __init__ (self):
self.configure_flags.extend ([
# only build the tools, osx has the lib
# https://github.com/mxcl/homebrew/blob/master/Library/Formula/gettext.rb
- '--without-included-gettext',
+ #'--without-included-gettext',
])
self.sources.extend ([
# Fixes building on Lion
View
2 packages/glib.py
@@ -34,7 +34,7 @@ def build (self):
return
self.sh (
- 'autoconf',
+ # 'autoconf',
'%{configure}',
'ed - config.h < %{sources[1]}',
'%{make}'
View
15 packages/gtk+.py
@@ -5,11 +5,13 @@ def __init__ (self):
version_minor = '10',
configure_flags = [
'--with-gdktarget=%{gdk_target}',
+ '--prefix="%{prefix}"'
# '--disable-cups',
]
)
-
+ self.configure = './configure'
self.gdk_target = 'x11'
+
if Package.profile.name == 'darwin':
self.gdk_target = 'quartz'
self.sources.extend ([
@@ -52,4 +54,15 @@ def prep (self):
for p in range (1, len (self.sources)):
self.sh ('patch -p1 < "%{sources[' + str (p) + ']}"')
+ def install(self):
+ Package.install(self)
+ self.install_gtkrc ()
+
+ def install_gtkrc(self):
+ origin = os.path.join (self.package_dest_dir (), os.path.basename (self.sources[1]))
+ destdir = os.path.join (self.prefix, "etc", "gtk-2.0")
+ if not os.path.exists (destdir):
+ os.makedirs(destdir)
+ self.sh('cp %s %s' % (origin, destdir))
+
GtkPackage ()
View
8 packages/gtk-sharp-2.12-release.py
@@ -0,0 +1,8 @@
+class GtkSharp212ReleasePackage (Package):
+ def __init__ (self):
+ Package.__init__ (self, 'gtk-sharp', '2.12.11')
+ # self.configure = './bootstrap-2.12 --prefix="%{prefix}"'
+ self.sources = ['http://download.mono-project.com/sources/gtk-sharp212/gtk-sharp-2.12.11.tar.bz2']
+ self.make = 'make CSC=gmcs'
+
+GtkSharp212ReleasePackage ()
View
37 packages/ironlangs.py
@@ -0,0 +1,37 @@
+import os
+import string
+
+class IronLanguagesPackage(GitHubTarballPackage):
+
+ def __init__(self):
+ GitHubTarballPackage.__init__(self,
+ 'IronLanguages', 'main',
+ '2.11',
+ 'de63773744ccf9873c1826470730ae0446fd64d7',
+ configure = '')
+
+ self.ironruby = os.path.join (os.getcwd(), self.source_dir_name, 'ironruby', 'bin') + os.sep
+ self.ironpython = os.path.join (os.getcwd(), self.source_dir_name,'ironpython', 'bin') + os.sep
+
+ def build (self):
+ self.sh ('xbuild /p:Configuration=Release /p:OutDir="%{ironruby}" Solutions/Ruby.sln')
+ self.sh ('xbuild /p:Configuration=Release /p:OutDir="%{ironpython}" Solutions/IronPython.Mono.sln')
+
+
+ def install_wrapper_scripts (self, path, ironpython_or_ironruby):
+ for cmd, ext in map(os.path.splitext, os.listdir (path)):
+ if ext != '.exe': continue
+ wrapper = os.path.join (self.prefix, 'bin', cmd)
+ with open(wrapper, "w") as output:
+ output.write ("#!/bin/sh\n")
+ output.write ("exec {0}/bin/mono {0}/lib/{1}/bin/{2}.exe \"$@\"\n".format (self.prefix, ironpython_or_ironruby, cmd))
+ os.chmod (wrapper, 0755)
+
+ def install (self):
+ self.install_wrapper_scripts (self.ironruby, 'ironruby')
+ self.install_wrapper_scripts (self.ironpython, 'ironpython')
+ self.sh ("cp -Rp %{ironruby} %{prefix}/lib/ironruby/")
+ self.sh ("cp -Rp %{ironpython} %{prefix}/lib/ironpython/")
+
+
+IronLanguagesPackage()
View
2 packages/libgdiplus.py
@@ -1,2 +1,2 @@
-GitHubTarballPackage('mono', 'libgdiplus', '2.10', 'f7f70076b73925f13de9cc69822debbc4cde5e48', configure = './autogen.sh --prefix="%{prefix}"')
+GitHubTarballPackage('mono', 'libgdiplus', '2.11', '3ddf7ff28e0876dc395368f11c0dd141199338f0', configure = './autogen.sh --prefix="%{prefix}"')
View
1 packages/libgif.py
@@ -0,0 +1 @@
+SourceForgePackage ('giflib', 'giflib', '4.1.6')
View
13 packages/libjpeg.py
@@ -1,6 +1,7 @@
-Package ('libjpeg', '8',
- source_dir_name = 'jpeg-%{version}',
- sources = [
- 'http://www.ijg.org/files/jpegsrc.v%{version}.tar.gz'
- ]
-)
+class LibJpegPackage (Package):
+ def __init__ (self):
+ Package.__init__(self, 'libjpeg', '8', sources = ['http://www.ijg.org/files/jpegsrc.v8.tar.gz'])
+ self.source_dir_name = 'jpeg-8'
+
+LibJpegPackage()
+
View
10 packages/libpng.py
@@ -1,3 +1,7 @@
-SourceForgePackage ('%{name}', 'libpng', '1.4.4', configure_flags = [
- '--enable-shared'
-])
+class LibPngPackage (Package):
+ def __init__ (self):
+ Package.__init__(self, 'libpng', '1.4.4',
+ sources = ['http://downloads.sourceforge.net/sourceforge/libpng/libpng-1.4.4.tar.gz'],
+ configure_flags = ['--enable-shared'])
+
+LibPngPackage()
View
4 packages/mono-basic.py
@@ -0,0 +1,4 @@
+GitHubTarballPackage ('mono', 'mono-basic', '2.11', '6bb2ca6a64ce1277393e4b66eec838d2ce294424',
+ configure = './configure --prefix="%{prefix}"',
+ override_properties = { 'make': 'make' }
+)
View
4 packages/mono-llvm.py
@@ -0,0 +1,4 @@
+GitHubTarballPackage ('mono', 'llvm', '2.11', '41765e2a354ca7aa88ddb1b8d6b5eb7527556b51',
+ configure = './configure --prefix="%{prefix}" --enable-optimized --enable-targets="x86 x86_64" --target=i386-apple-darwin10.8.0',
+ override_properties = { 'make': 'make' }
+)
View
27 packages/mono-master.py
@@ -0,0 +1,27 @@
+class MonoMasterPackage(Package):
+
+ def __init__(self):
+ Package.__init__(self, 'mono', '2.11',
+ sources = ['git://github.com/mono/mono'],
+ configure_flags = [
+ '--enable-nls=no',
+ '--prefix=' + Package.profile.prefix,
+ '--with-ikvm=yes',
+ '--with-moonlight=no'
+ ],
+ source_dir_name = "mono-2.11.git"
+ )
+ if Package.profile.name == 'darwin':
+ self.configure_flags.extend([
+ # fix build on lion, it uses 64-bit host even with -m32
+ '--build=i386-apple-darwin11.2.0',
+ '--enable-loadedllvm'
+ ])
+ self.sources.extend(['patches/pkg-config'])
+
+ self.configure = './autogen.sh'
+
+ def install(self):
+ Package.install(self)
+
+MonoMasterPackage()
View
9 packages/nant.py
@@ -0,0 +1,9 @@
+class NantPackage (Package):
+ def __init__(self):
+ Package.__init__(self, 'nant', '0.91')
+ self.sources = ['http://sourceforge.net/projects/nant/files/nant/0.91/nant-0.91-src.tar.gz']
+
+ def build(self):
+ self.sh ('make install prefix="%{prefix}"')
+
+NantPackage ()
View
216 packages/patches/gtkrc
@@ -0,0 +1,216 @@
+include "/Library/Frameworks/Mono.framework/Versions/Current/share/themes/Clearlooks/gtk-2.0/gtkrc"
+#gtk-icon-theme-name = "OSX"
+gtk-icon-theme-name = "Tango"
+gtk_color_scheme = "fg_color:#222\nbg_color:#e6e6e6\nbase_color:#f9f9f9\ntext_color:#222\nselected_bg_color:#788ab0\nselected_fg_color:#fff"
+gtk-menu-popup-delay = 1
+gtk-button-images = 0
+gtk-menu-images = 0
+gtk-enable-mnemonics = 0
+
+style "theme-default"
+{
+ GtkButton ::default_border = { 0, 0, 0, 0 }
+ GtkRange ::trough_border = 0
+ GtkPaned ::handle_size = 8
+ GtkRange ::slider_width = 15
+ GtkRange ::stepper_size = 15
+ GtkScrollbar ::min_slider_length = 30
+ GtkCheckButton ::indicator_size = 14
+ GtkMenuBar ::internal-padding = 0
+ GtkTreeView ::expander_size = 12
+ GtkExpander ::expander_size = 14
+
+ xthickness = 2
+ ythickness = 2
+
+ fg[NORMAL] = @fg_color #"#000000" # black
+ fg[PRELIGHT] = @fg_color #"#000000" # black
+ fg[SELECTED] = @selected_fg_color #"#ffffff" # white
+ fg[ACTIVE] = @fg_color #"#000000" # black
+ fg[INSENSITIVE] = darker (@bg_color) #"#b5b3ac" # dark beige
+
+ bg[NORMAL] = @bg_color # "#ede9e3"
+ bg[PRELIGHT] = shade (1.02, @bg_color) #"#f9f7f3" # very light beige
+ bg[SELECTED] = @selected_bg_color # "#5598d7" # deepsky
+ bg[INSENSITIVE] = @bg_color # "#efebe5" # beige
+ bg[ACTIVE] = shade (0.9, @bg_color) #"#dcd4c9" #"#d7d3ca" # dark beige
+
+ base[NORMAL] = @base_color # "#ffffff" # white
+ base[PRELIGHT] = shade (0.95, @bg_color) # "#5f8ec4" # dark beige
+ base[ACTIVE] = shade (0.9, @selected_bg_color) # "#a69f91" # darker deepsky
+ base[SELECTED] = @selected_bg_color # "#5598d7" # deepsky
+ base[INSENSITIVE] = @bg_color # "#e8e5de" # beige
+
+ text[NORMAL] = @text_color # "#000000" # black
+ text[PRELIGHT] = @text_color # "#000000" # black
+ text[ACTIVE] = @selected_fg_color # "#ffffff" # white
+ text[SELECTED] = @selected_fg_color # "#ffffff" # white
+ text[INSENSITIVE] = darker (@bg_color) # "#b5b3ac" # dark beige
+
+ engine "clearlooks" {
+ style = GUMMY # gummy look
+ toolbarstyle = 0 # flat toolbars
+ animation = TRUE # animated progressbars
+ menubarstyle = 2 # rounded menus
+ colorize_scrollbar = TRUE # colored slider
+ }
+
+ font = "Lucida Grande 14"
+}
+
+style "theme-wide" = "theme-default"
+{
+ xthickness = 3
+ ythickness = 3
+}
+
+style "theme-text" = "theme-default"
+{
+ #base[SELECTED] = "#fc9747" # Outline?
+}
+
+style "theme-toolbar" = "theme-default"
+{
+ #top and bottom border
+ bg[NORMAL] = @bg_color
+}
+
+style "theme-scrollbar" = "theme-default"
+{
+ bg[SELECTED] = shade (1.1, @selected_bg_color)
+}
+
+style "theme-tasklist" = "theme-default"
+{
+ xthickness = 5
+ ythickness = 3
+}
+
+style "theme-menu" = "theme-default"
+{
+ xthickness = 3
+ ythickness = 3
+ bg[NORMAL] = shade (1.1,@bg_color)
+}
+
+style "theme-menu-item" = "theme-default"
+{
+ xthickness = 2
+ ythickness = 4
+ fg[PRELIGHT] = @selected_fg_color
+ text[PRELIGHT] = @selected_fg_color
+ base[PRELIGHT] = @selected_bg_color # Selection color
+}
+
+style "theme-menu-itembar" = "theme-default"
+{
+ xthickness = 0
+ ythickness = 0
+}
+
+style "theme-tree" = "theme-default"
+{
+ xthickness = 2
+ ythickness = 2
+ GtkTreeView::odd-row-color = shade(0.9, @base_color)
+ GtkTreeView::even-row-color = @base_color
+}
+
+style "theme-frame-title" = "theme-default"
+{
+ #fg[NORMAL] = "#f00" #button frames
+}
+
+style "theme-tooltips" = "theme-default"
+{
+ xthickness = 4
+ ythickness = 4
+ bg[NORMAL] = { 1.0,1.0,0.75 }
+}
+
+style "theme-progressbar" = "theme-default"
+{
+ xthickness = 1
+ ythickness = 1
+ fg[PRELIGHT] = @base_color
+}
+
+style "theme-combo" = "theme-default"
+{
+ xthickness = 2
+ ythickness = 4
+}
+
+style "theme-button" = "theme-wide"
+{
+ bg[NORMAL] = @bg_color
+ bg[PRELIGHT] = shade (1.1, @bg_color)
+ bg[ACTIVE] = shade (0.9, @bg_color)
+ #xthickness = 4
+ #ythickness = 2
+}
+
+style "theme-check" = "theme-button"
+{
+}
+
+style "theme-panel" = "theme-default"
+{
+ xthickness = 3
+ ythickness = 3
+ bg[ACTIVE] = shade (1.1, @selected_bg_color)
+ fg[ACTIVE] = @selected_fg_color
+}
+
+style "theme-notebook" = "theme-wide"
+{
+ base[SELECTED] = @selected_bg_color # Tab selection color
+ bg[ACTIVE] = shade(0.9, @bg_color) # Unselected tabs
+
+# engine "clearlooks" {
+# style = CLASSIC
+# }
+}
+
+# widget styles
+class "GtkWidget" style "theme-default"
+class "GtkButton" style "theme-button"
+class "GtkCombo" style "theme-button"
+class "GtkRange" style "theme-wide"
+class "GtkFrame" style "theme-wide"
+class "GtkMenu" style "theme-menu"
+class "GtkEntry" style "theme-button"
+class "GtkMenuItem" style "theme-menu-item"
+class "GtkStatusbar" style "theme-wide"
+class "GtkNotebook" style "theme-notebook"
+class "GtkProgressBar" style "theme-progressbar"
+class "GtkCheckButton" style "theme-check"
+class "GtkRadioButton" style "theme-check"
+class "GtkToolbar" style "theme-toolbar"
+
+widget_class "*MenuItem.*" style "theme-menu-item"
+
+# combobox stuff
+widget_class "*.GtkComboBox.GtkButton" style "theme-combo"
+widget_class "*.GtkCombo.GtkButton" style "theme-combo"
+
+# tooltips stuff
+widget_class "*.tooltips.*.GtkToggleButton" style "theme-tasklist"
+widget "gtk-tooltips" style "theme-tooltips"
+
+# treeview stuff
+widget "*GtkTreeView*" style "theme-tree"
+widget_class "*.GtkTreeView.GtkButton" style "theme-tree"
+widget_class "*.GtkCTree.GtkButton" style "theme-tree"
+widget_class "*.GtkList.GtkButton" style "theme-tree"
+widget_class "*.GtkCList.GtkButton" style "theme-tree"
+widget_class "*.GtkFrame.GtkLabel" style "theme-frame-title"
+
+# notebook stuff
+widget_class "*.GtkNotebook.*.GtkEventBox" style "theme-notebook"
+widget_class "*.GtkNotebook.*.GtkViewport" style "theme-notebook"
+
+# scrollbar stuff
+class "GtkScrollbar" style "theme-scrollbar"
+
+gtk-font-name = "Lucida Grande 12"
View
1 packages/xsp.py
@@ -0,0 +1 @@
+GitHubTarballPackage('mono', 'xsp', '2.11', 'd3e2f80ff59ddff68e757a520655555e2fbf2695', configure = './autogen.sh --prefix="%{prefix}"')
View
206 profiles/mono-mac-release/mono-mac-release.py
@@ -0,0 +1,206 @@
+#!/usr/bin/python -B
+
+import fileinput, glob, os, pprint, re, sys, tempfile, shutil, string
+
+sys.path.append ('../..')
+
+from bockbuild.darwinprofile import DarwinProfile
+from bockbuild.util import *
+from packages import MonoReleasePackages
+
+class MonoReleaseProfile (DarwinProfile, MonoReleasePackages):
+ def __init__ (self):
+ self.MONO_ROOT = "/Library/Frameworks/Mono.framework"
+ self.RELEASE_VERSION = "2.11" # REMEMBER TO UPDATE
+ self.BUILD_NUMBER = "0"
+ self.MRE_GUID = "432959f9-ce1b-47a7-94d3-eb99cb2e1aa8"
+ self.MDK_GUID = "964ebddd-1ffe-47e7-8128-5ce17ffffb05"
+
+ # Create the updateid
+ parts = self.RELEASE_VERSION.split(".")
+ version_list = ( parts + ["0"] * (3 - len(parts)) )[:4]
+ for i in range(1,3):
+ version_list [i] = version_list [i].zfill (2)
+ self.updateid = "".join (version_list)
+ self.updateid += self.BUILD_NUMBER.replace (".", "").zfill (9 - len (self.updateid))
+
+ versions_root = os.path.join (self.MONO_ROOT, "Versions")
+ self.release_root = os.path.join (versions_root, self.RELEASE_VERSION)
+
+ DarwinProfile.__init__ (self, self.release_root)
+ MonoReleasePackages.__init__ (self)
+
+ self.self_dir = os.path.realpath (os.path.dirname (sys.argv[0]))
+ self.packaging_dir = os.path.join (self.self_dir, "packaging")
+
+ aclocal_dir = os.path.join (self.prefix, "share", "aclocal")
+ if not os.path.exists(aclocal_dir):
+ os.makedirs (aclocal_dir)
+
+ def framework_path (self, subdir):
+ return os.path.join (self.prefix, subdir)
+
+ def remove_files (self, subdir = "lib", prefix = "*"):
+ dir = os.path.join (self.prefix, subdir)
+ print "Removing %s files in %s" % (prefix, dir)
+ backtick ('find %s -name "%s" -delete' % (dir, prefix))
+
+ def include_libgdiplus (self):
+ config = os.path.join (self.prefix, "etc", "mono", "config")
+ temp = config + ".tmp"
+ lib = self.framework_path("lib")
+ with open(config) as c:
+ with open(temp, "w") as output:
+ for line in c:
+ if re.search(r'</configuration>', line):
+ # Insert libgdiplus entries before the end of the file
+ output.write('\t<dllmap dll="gdiplus" target="%slibgdiplus.dylib" />\n' % lib)
+ output.write('\t<dllmap dll="gdiplus.dll" target="%slibgdiplus.dylib" />\n' % lib)
+ output.write(line)
+
+ os.rename(temp, config)
+
+ def make_package_symlinks(self, root):
+ os.symlink (self.prefix, os.path.join (root, "Versions", "Current"))
+ links = [
+ ("bin", "Commands"),
+ ("include", "Headers"),
+ ("lib", "Libraries"),
+ ("", "Home"),
+ (os.path.join ("lib", "libmono-2.0.dylib"), "Mono")
+ ]
+ for srcname, destname in links:
+ src = os.path.join (self.prefix, srcname)
+ dest = os.path.join (root, destname)
+ if os.path.exists (dest):
+ os.unlink (dest)
+ os.symlink (src, dest)
+
+ # creates and returns the path to a working directory containing:
+ # PKGROOT/ - this root will be bundled into the .pkg and extracted at /
+ # uninstallMono.sh - copied onto the DMG
+ # Info{_sdk}.plist - used by packagemaker to make the installer
+ # resources/ - other resources used by packagemaker for the installer
+ def setup_working_dir (self):
+ tmpdir = tempfile.mkdtemp()
+ monoroot = os.path.join (tmpdir, "PKGROOT", self.MONO_ROOT[1:])
+ versions = os.path.join (monoroot, "Versions")
+ os.makedirs (versions)
+
+ # setup metadata
+ backtick ('rsync -aP %s/* %s' % (self.packaging_dir, tmpdir))
+ parameter_map = {
+ '@@MONO_VERSION@@': self.RELEASE_VERSION,
+ '@@MONO_RELEASE@@': self.BUILD_NUMBER,
+ '@@MONO_VERSION_RELEASE@@': self.RELEASE_VERSION + '_' + self.BUILD_NUMBER,
+ '@@MONO_PACKAGE_GUID@@': self.MRE_GUID,
+ '@@MONO_CSDK_GUID@@': self.MDK_GUID,
+ '@@MONO_VERSION_RELEASE_INT@@': self.updateid,
+ '@@PACKAGES@@': string.join (set([root for root,ext in map(os.path.splitext, os.listdir (self.build_root))]), "\\\n"),
+ '@@DEP_PACKAGES@@': ""
+ }
+ for dirpath, d, files in os.walk (tmpdir):
+ for name in files:
+ if not name.startswith('.'):
+ replace_in_file (os.path.join (dirpath, name), parameter_map)
+
+ self.make_package_symlinks(monoroot)
+
+ # copy to package root
+ backtick ('rsync -aP "%s" "%s"' % (self.release_root, versions))
+
+ return tmpdir
+
+ def apply_blacklist (self, working_dir, blacklist_name):
+ blacklist = os.path.join (working_dir, blacklist_name)
+ root = os.path.join (working_dir, "PKGROOT", self.release_root[1:])
+ backtick (blacklist + ' "%s"' % root)
+
+ def run_package_maker (self, working_dir, pkg_file_name, title):
+ packagemaker = '/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker'
+ output = os.path.join (working_dir, pkg_file_name)
+ cmd = ' '.join([packagemaker,
+
+ "--resources '%s/resources'" % working_dir,
+ "--info '%s/Info.plist'" % working_dir,
+ "--root '%s/PKGROOT'" % working_dir,
+
+ "--out '%s'" % output,
+ "--title '%s'" % title,
+ "-x '.DS_Store'",
+ "--verbose"
+ ])
+ backtick (cmd)
+ return output
+
+ def make_updateinfo (self, working_dir, guid):
+ with open(os.path.join (working_dir, "PKGROOT", self.release_root[1:], "updateinfo"), "w") as updateinfo:
+ updateinfo.write (guid + ' ' + self.updateid + "\n")
+
+ def make_dmg (self, output, title, *contents):
+ dmgroot = tempfile.mkdtemp()
+ backtick ('rsync -aP "%s" "%s"' % ('" "'.join (contents), dmgroot))
+ backtick ('hdiutil create -ov -srcfolder "%s" -volname "%s" "%s"' % (dmgroot, title, output))
+ shutil.rmtree (dmgroot)
+
+ def build_package (self):
+ out_path = self.self_dir
+ working = self.setup_working_dir ()
+
+ mre_dmg = os.path.join (out_path, "MonoFramework-MRE-%s.macos10.xamarin.x86.dmg" % self.RELEASE_VERSION)
+ mdk_dmg = os.path.join (out_path, "MonoFramework-MDK-%s.macos10.xamarin.x86.dmg" % self.RELEASE_VERSION)
+ uninstall_script = os.path.join (working, "uninstallMono.sh")
+
+ # make the MDK
+ title = 'Mono Framework MDK ' + self.RELEASE_VERSION
+ self.apply_blacklist (working, 'mdk_blacklist.sh')
+ self.make_updateinfo (working, self.MDK_GUID)
+ mdk_pkg = self.run_package_maker (working, "MonoFramework-MDK-%s.macos10.xamarin.x86.pkg" % self.RELEASE_VERSION, title)
+ print "Saving: " + mdk_dmg
+ self.make_dmg (mdk_dmg, title, mdk_pkg, uninstall_script)
+
+ # make the MRE
+ title = 'Mono Framework MRE ' + self.RELEASE_VERSION
+ self.apply_blacklist (working, 'mre_blacklist.sh')
+ self.make_updateinfo (working, self.MRE_GUID)
+ mre_pkg = self.run_package_maker (working, "MonoFramework-MRE-%s.macos10.xamarin.x86.pkg" % self.RELEASE_VERSION, title)
+ print "Saving: " + mre_dmg
+ self.make_dmg (mre_dmg, title, mre_pkg, uninstall_script)
+
+ shutil.rmtree (working)
+
+ # THIS IS THE MAIN METHOD FOR MAKING A PACKAGE
+ def package (self):
+ self.remove_files (prefix = '*.la')
+ self.remove_files (prefix = '*.a')
+ self.include_libgdiplus ()
+ # must apply blacklist first here because PackageMaker follows symlinks :(
+ backtick (os.path.join (self.packaging_dir, 'mdk_blacklist.sh') + ' ' + self.release_root)
+ self.build_package ()
+
+MonoReleaseProfile ().build ()
+
+profname = "mono-mac-release-env"
+dir = os.path.realpath (os.path.dirname (sys.argv[0]))
+envscript = '''#!/bin/sh
+PROFNAME="%s"
+INSTALLDIR=%s/build-root/_install
+export DYLD_FALLBACK_LIBRARY_PATH="$INSTALLDIR/lib:/lib:/usr/lib:$DYLD_FALLBACK_LIBRARY_PATH"
+export C_INCLUDE_PATH="$INSTALLDIR/include:$C_INCLUDE_PATH"
+export ACLOCAL_PATH="$INSTALLDIR/share/aclocal:$ACLOCAL_PATH"
+export ACLOCAL_FLAGS="-I $INSTALLDIR/share/aclocal $ACLOCAL_FLAGS"
+export PKG_CONFIG_PATH="$INSTALLDIR/lib/pkgconfig:$INSTALLDIR/lib64/pkgconfig:$INSTALLDIR/share/pkgconfig:$PKG_CONFIG_PATH"
+export CONFIG_SITE="$INSTALLDIR/$PROFNAME-config.site"
+export MONO_GAC_PREFIX="$INSTALLDIR:MONO_GAC_PREFIX"
+export MONO_ADDINS_REGISTRY="$INSTALLDIR/addinreg"
+export PATH="$INSTALLDIR/bin:$PATH"
+export MONO_INSTALL_PREFIX="$INSTALLDIR"
+
+#mkdir -p "$INSTALLDIR"
+#echo "test \"\$prefix\" = NONE && prefix=\"$INSTALLDIR\"" > $CONFIG_SITE
+
+PS1="[$PROFNAME] \w @ "
+''' % ( profname, dir )
+
+with open(os.path.join (dir, profname), 'w') as f:
+ f.write (envscript)
View
62 profiles/mono-mac-release/packages.py
@@ -0,0 +1,62 @@
+import os
+from bockbuild.darwinprofile import DarwinProfile
+
+class MonoReleasePackages:
+ def __init__(self):
+
+ # Toolchain
+ self.packages.extend([
+ # 'autoconf.py',
+ # 'automake.py',
+ # 'libtool.py',
+ 'gettext.py',
+ 'pkg-config.py'
+ ])
+
+ # # Base Libraries
+ self.packages.extend([
+ 'libpng.py',
+ 'libjpeg.py',
+ 'libtiff.py',
+ 'libgif.py',
+ 'libxml2.py',
+ 'freetype.py',
+ 'fontconfig.py',
+ 'pixman.py',
+ 'cairo.py',
+ 'glib.py',
+ 'pango.py',
+ 'atk.py',
+ 'intltool.py',
+ 'gdk-pixbuf.py',
+ 'gtk+.py',
+ 'libglade.py',
+ 'sqlite.py',
+ 'expat.py',
+ 'ige-mac-integration.py'
+ ])
+
+ # # Theme
+ self.packages.extend([
+ 'librsvg.py',
+ 'hicolor-icon-theme.py',
+ 'gtk-engines.py',
+ # 'gtk-quartz-engine.py'
+ ])
+
+ # Mono
+ self.packages.extend([
+ 'mono-llvm.py',
+ 'mono-master.py',
+ 'libgdiplus.py',
+ 'xsp.py',
+ 'gtk-sharp-2.12-release.py',
+ 'boo.py',
+ # 'nant.py',
+ 'ironlangs.py',
+ 'fsharp.py',
+ 'mono-addins.py',
+ 'mono-basic.py',
+ ])
+
+ self.packages = [os.path.join('..', '..', 'packages', p) for p in self.packages]
View
34 profiles/mono-mac-release/packaging/Info.plist
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleGetInfoString</key>
+ <string>@@MONO_VERSION_RELEASE@@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.ximian.mono-@@MONO_VERSION@@</string>
+ <key>CFBundleName</key>
+ <string>Mono.framework</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@@MONO_VERSION@@</string>
+ <key>IFPkgFlagAllowBackRev</key>
+ <true/>
+ <key>IFPkgFlagAuthorizationAction</key>
+ <string>AdminAuthorization</string>
+ <key>IFPkgFlagDefaultLocation</key>
+ <string>/</string>
+ <key>IFPkgFlagInstallFat</key>
+ <false/>
+ <key>IFPkgFlagIsRequired</key>
+ <false/>
+ <key>IFPkgFlagRelocatable</key>
+ <false/>
+ <key>IFPkgFlagRestartAction</key>
+ <string>NoRestart</string>
+ <key>IFPkgFlagRootVolumeOnly</key>
+ <true/>
+ <key>IFPkgFlagUpdateInstalledLanguages</key>
+ <false/>
+ <key>IFPkgFormatVersion</key>
+ <real>0.10000000149011612</real>
+</dict>
+</plist>
View
34 profiles/mono-mac-release/packaging/Info_sdk.plist
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleGetInfoString</key>
+ <string>@@MONO_VERSION_RELEASE@@</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.ximian.mono-@@MONO_VERSION@@-csdk</string>
+ <key>CFBundleName</key>
+ <string>Mono.framework</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@@MONO_VERSION@@</string>
+ <key>IFPkgFlagAllowBackRev</key>
+ <true/>
+ <key>IFPkgFlagAuthorizationAction</key>
+ <string>AdminAuthorization</string>
+ <key>IFPkgFlagDefaultLocation</key>
+ <string>/</string>
+ <key>IFPkgFlagInstallFat</key>
+ <false/>
+ <key>IFPkgFlagIsRequired</key>
+ <false/>
+ <key>IFPkgFlagRelocatable</key>
+ <false/>
+ <key>IFPkgFlagRestartAction</key>
+ <string>NoRestart</string>
+ <key>IFPkgFlagRootVolumeOnly</key>
+ <true/>
+ <key>IFPkgFlagUpdateInstalledLanguages</key>
+ <false/>
+ <key>IFPkgFormatVersion</key>
+ <real>0.10000000149011612</real>
+</dict>
+</plist>
View
34 profiles/mono-mac-release/packaging/mdk_blacklist.sh
@@ -0,0 +1,34 @@
+#!/bin/bash -x
+
+if test x$1 = x; then
+ echo usage is cleanup MONODIR
+ exit 1
+fi
+
+MONODIR=$1
+
+cd $MONODIR
+rm -rf lib/gtk-2.0/2.10.0/engines/libcrux-engine.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libglide.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libhcengine.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libindustrial.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libmist.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libpixmap.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libredmond95.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libthinice.so
+rm -rf gtk-2.0/modules/libferret.*
+rm -rf gtk-2.0/modules/libgail.*
+rm -rf share/gtk-2.0/demo/*
+rm -rf share/man/man1/oldmono.1
+rm -rf share/themes/Crux
+rm -rf share/themes/Default
+rm -rf share/themes/Emacs
+rm -rf share/themes/Industrial
+rm -rf share/themes/Mist
+rm -rf share/themes/Raleigh
+rm -rf share/themes/Redmond
+rm -rf share/themes/ThinIce
+rm -rf share/info
+rm -rf share/icons/gnome
+rm -rf share/icons/hicolor
+rm -rf share/gettext/*.class
View
197 profiles/mono-mac-release/packaging/mre_blacklist.sh
@@ -0,0 +1,197 @@
+#!/bin/bash -x
+
+if test x$1 = x; then
+ echo usage is cleanup MONODIR
+ exit 1
+fi
+
+MONODIR=$1
+
+cd $MONODIR
+find . -name '*.la' -delete
+find . -name '*.a' -delete
+rm -rf lib/gtk-2.0/2.10.0/engines/libcrux-engine.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libglide.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libhcengine.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libindustrial.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libmist.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libpixmap.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libredmond95.so
+rm -rf lib/gtk-2.0/2.10.0/engines/libthinice.so
+rm -rf gtk-2.0/modules/libferret.*
+rm -rf gtk-2.0/modules/libgail.*
+rm -rf share/gtk-2.0/demo/*
+rm -rf share/man/man1/oldmono.1
+rm -rf share/themes/Crux
+rm -rf share/themes/Default
+rm -rf share/themes/Emacs
+rm -rf share/themes/Industrial
+rm -rf share/themes/Mist
+rm -rf share/themes/Raleigh
+rm -rf share/themes/Redmond
+rm -rf share/themes/ThinIce
+rm -rf share/info
+rm -rf share/icons/gnome
+rm -rf share/icons/hicolor
+
+rm -rf bin/cilc
+rm -rf bin/gapi2-codegen
+rm -rf bin/gapi2-fixup
+rm -rf bin/gapi2-parser
+rm -rf bin/gdk-pixbuf-csource
+rm -rf bin/glib-genmarshal
+rm -rf bin/glib-gettextize
+rm -rf bin/glib-mkenums
+rm -rf bin/gobject-query
+rm -rf bin/gtester
+rm -rf bin/gtester-report
+rm -rf bin/gtk-builder-convert
+rm -rf bin/gtk-demo
+rm -rf bin/gtk-query-immodules-2.0
+rm -rf bin/libglade-convert
+rm -rf bin/mjs
+# Needed by MD
+#rm -rf bin/msgfmt
+#rm -rf bin/msgmerge
+
+rm -rf lib/gettext/*
+
+rm -rf lib/gtk-2.0/include
+
+rm -rf lib/gtk-sharp-2.0/gapi-fixup.exe
+rm -rf lib/gtk-sharp-2.0/gapi-parser.exe
+rm -rf lib/gtk-sharp-2.0/gapi2xml.pl
+rm -rf lib/gtk-sharp-2.0/gapi_codegen.exe
+rm -rf lib/gtk-sharp-2.0/gapi_pp.pl
+
+
+rm -rf lib/pkgconfig/atk.pc
+rm -rf lib/pkgconfig/cairo*
+rm -rf lib/pkgconfig/gail.pc
+rm -rf lib/pkgconfig/gapi-2.0.pc
+rm -rf lib/pkgconfig/gdk-2.0.pc
+rm -rf lib/pkgconfig/gdk-pixbuf-2.0.pc
+rm -rf lib/pkgconfig/gdk-quartz-2.0.pc
+rm -rf lib/pkgconfig/gio-2.0.pc
+rm -rf lib/pkgconfig/gio-unix-2.0.pc
+rm -rf lib/pkgconfig/glib-2.0.pc
+rm -rf lib/pkgconfig/gmodule-2.0.pc
+rm -rf lib/pkgconfig/gmodule-export-2.0.pc
+rm -rf lib/pkgconfig/gmodule-no-export-2.0.pc
+rm -rf lib/pkgconfig/gobject-2.0.pc
+rm -rf lib/pkgconfig/gthread-2.0.pc
+rm -rf lib/pkgconfig/gtk+-2.0.pc
+rm -rf lib/pkgconfig/gtk+-quartz-2.0.pc
+rm -rf lib/pkgconfig/gtk+-unix-print-2.0.pc
+rm -rf lib/pkgconfig/gtk-engines-2.pc
+rm -rf lib/pkgconfig/ige-mac-integration.pc
+rm -rf lib/pkgconfig/libgdiplus.pc
+rm -rf lib/pkgconfig/libglade-2.0.pc
+rm -rf lib/pkgconfig/libpng.pc
+rm -rf lib/pkgconfig/libpng12.pc
+rm -rf lib/pkgconfig/pango.pc
+rm -rf lib/pkgconfig/pangocairo.pc
+rm -rf lib/pkgconfig/pixman-1.pc
+rm -rf lib/pkgconfig/sqlite3.pc
+
+rm -rf include
+
+rm -rf share/aclocal/codeset.m4
+rm -rf share/aclocal/gettext.m4
+rm -rf share/aclocal/glib-2.0.m4
+rm -rf share/aclocal/glib-gettext.m4
+rm -rf share/aclocal/glibc2.m4
+rm -rf share/aclocal/glibc21.m4
+rm -rf share/aclocal/gtk-2.0.m4
+rm -rf share/aclocal/iconv.m4
+rm -rf share/aclocal/intdiv0.m4
+rm -rf share/aclocal/intl.m4
+rm -rf share/aclocal/intldir.m4
+rm -rf share/aclocal/intlmacosx.m4
+rm -rf share/aclocal/intmax.m4
+rm -rf share/aclocal/inttypes-pri.m4
+rm -rf share/aclocal/inttypes_h.m4
+rm -rf share/aclocal/lcmessage.m4
+rm -rf share/aclocal/lib-ld.m4
+rm -rf share/aclocal/lib-link.m4
+rm -rf share/aclocal/lib-prefix.m4
+rm -rf share/aclocal/lock.m4
+rm -rf share/aclocal/longlong.m4
+rm -rf share/aclocal/nls.m4
+# Needed by MD
+#rm -rf share/aclocal/pkg.m4
+rm -rf share/aclocal/po.m4
+rm -rf share/aclocal/printf-posix.m4
+rm -rf share/aclocal/progtest.m4
+rm -rf share/aclocal/size_max.m4
+rm -rf share/aclocal/stdint_h.m4
+rm -rf share/aclocal/uintmax_t.m4
+rm -rf share/aclocal/visibility.m4
+rm -rf share/aclocal/wchar_t.m4
+rm -rf share/aclocal/wint_t.m4
+rm -rf share/aclocal/xsize.m4
+
+rm -rf share/dtds/legacy-icon-mapping.dtd
+
+rm -rf share/gapi-2.0/atk-api.xml
+rm -rf share/gapi-2.0/gdk-api.xml
+rm -rf share/gapi-2.0/glade-api.xml
+rm -rf share/gapi-2.0/glib-api.xml
+rm -rf share/gapi-2.0/gtk-api.xml
+rm -rf share/gapi-2.0/pango-api.xml
+
+rm -rf share/glib-2.0/gettext
+
+find share/locale -name 'atk10.mo' -delete
+find share/locale -name 'gettext*' -delete
+find share/locale -type d -empty -delete
+
+rm -rf share/man/man1/autopoint.1
+rm -rf share/man/man1/gdk-pixbuf-csource.1
+rm -rf share/man/man1/gettext.1
+rm -rf share/man/man1/gettextize.1
+rm -rf share/man/man1/glib-genmarshal.1
+rm -rf share/man/man1/glib-gettextize.1
+rm -rf share/man/man1/glib-mkenums.1
+rm -rf share/man/man1/gobject-query.1
+rm -rf share/man/man1/gtester-report.1
+rm -rf share/man/man1/gtester.1
+rm -rf share/man/man1/gtk-builder-convert.1
+rm -rf share/man/man1/gtk-query-immodules-2.0.1
+rm -rf share/man/man1/msgattrib.1
+rm -rf share/man/man1/msgcat.1
+rm -rf share/man/man1/msgcmp.1
+rm -rf share/man/man1/msgcomm.1
+rm -rf share/man/man1/msgconv.1
+rm -rf share/man/man1/msgen.1
+rm -rf share/man/man1/msgexec.1
+rm -rf share/man/man1/msgfilter.1
+rm -rf share/man/man1/msgfmt.1
+rm -rf share/man/man1/msggrep.1
+rm -rf share/man/man1/msginit.1
+rm -rf share/man/man1/msgmerge.1
+rm -rf share/man/man1/msgunfmt.1
+rm -rf share/man/man1/msguniq.1
+rm -rf share/man/man1/ngettext.1
+rm -rf share/man/man1/recode-sr-latin.1
+
+rm -rf share/libgc-mono
+
+rm -rf share/man/man3/bind_textdomain_codeset.3
+rm -rf share/man/man3/bindtextdomain.3
+rm -rf share/man/man3/dcgettext.3
+rm -rf share/man/man3/dcngettext.3
+rm -rf share/man/man3/dgettext.3
+rm -rf share/man/man3/dngettext.3
+rm -rf share/man/man3/gettext.3
+rm -rf share/man/man3/libpng.3
+rm -rf share/man/man3/libpngpf.3
+rm -rf share/man/man3/ngettext.3
+rm -rf share/man/man3/textdomain.3
+
+rm -rf share/man/man5/png.5
+
+rm -rf share/xml/libglade/*
+
+# No debug files in the runtime
+find . -name '*.mdb' -delete
View
26 profiles/mono-mac-release/packaging/resources/License.rtf
@@ -0,0 +1,26 @@
+{\rtf1\mac\ansicpg10000\cocoartf102
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\margl1440\margr1440\vieww9000\viewh9000\viewkind0
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
+
+\f0\fs24 \cf0 The software included in the package is licensed under several different agreements.\
+\
+MIT License:\
+\
+http://www.opensource.org/licenses/mit-license.php\
+\
+LGPL:\
+\
+http://www.opensource.org/licenses/lgpl-2.1.php\
+\
+GPL:\
+\
+http://www.opensource.org/licenses/gpl-2.0.php\
+\
+You can develop commercial applications and redistribute the code in this package.
+You only need to obtain a commercial license if you wish to make changes to Mono or
+if you are using Mono as an embedded runtime into your application.\
+\
+Contact contact@xamarin.com if you think you need a license.
+}
View
39 profiles/mono-mac-release/packaging/resources/ReadMe.rtf
@@ -0,0 +1,39 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf320
+{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\margl1440\margr1440\vieww15940\viewh15760\viewkind0
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
+
+\f0\fs24 \cf0 This README is for
+\b Mono.framework @@MONO_VERSION_RELEASE@@
+\b0 .\
+\
+This is the Mono Runtime and Development Platform (http://www.mono-project.com/).\
+\
+This package installs Mono and all of its dependencies inside of /Library/Frameworks/Mono.framework. This behavior is likely to change with a future release so that dependancies will get their own frameworks.\
+\
+The following components are included inside Mono.framework:\
+@@PACKAGES@@\
+@@DEP_PACKAGES@@\
+If you want to build native Mac applications with Mono, you can use the MonoMac bindings, an add-on to this product available from http://www.mono-project.com/MonoMac\
+\
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720
+\cf0 \
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640
+\cf0 \
+\
+A simple uninstallMono.sh script is included in the disk image. This is shell script that must be run as root, and it will remove the Mono.framework and the links in /usr/bin.\
+\
+This package was created by the Mono team. Major contributors to this team include (in alphabetical order): \
+\
+Wade Berrier\
+Adhamh Findlay\
+Miguel de Icaza\
+Urs Muff\
+Geoff Norton\
+Andy Satori\
+\
+Questions or problems related directly to the Mono.framework should be addressed to mono-osx@lists.xamarin.com.\
+\
+Questions about Mono should be directed to an appropriate resource that can be found on http://www.mono-project.com/about. \
+}
View
12 profiles/mono-mac-release/packaging/resources/Welcome.rtf
@@ -0,0 +1,12 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf360
+{\fonttbl\f0\fnil\fcharset0 HelveticaNeue;}
+{\colortbl;\red255\green255\blue255;}
+\margl1440\margr1440\vieww9000\viewh9000\viewkind0
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
+
+\f0\fs32 \cf0 Welcome to
+\b Mono.framework @@MONO_VERSION_RELEASE@@
+\b0 for OS X.
+\fs36 \
+\
+}
View
42 profiles/mono-mac-release/packaging/resources/postflight
@@ -0,0 +1,42 @@
+#!/bin/sh -x
+
+FW=/Library/Frameworks/Mono.framework
+FW_CURRENT=${FW}/Versions/Current
+
+WHITELIST=$(cat $(dirname $0)/whitelist.txt)
+
+if [ -d ${FW}/Commands ]; then
+ for i in ${WHITELIST}; do
+ # Only create a symlink if there isn't a file there
+ if test -e "${FW}/Commands/${i}" && test ! -e "/usr/bin/${i}"; then
+ echo "${i}"
+ ln -sf "${FW}/Commands/${i}" "/usr/bin/${i}"
+ fi
+ done;
+else
+ echo "${FW}/Commands does not exist"
+ echo "Can not create links to /usr/bin."
+fi
+
+if [ -d ${FW_CURRENT} ]; then
+ cd ${FW_CURRENT}/share/man
+ for i in ${WHITELIST}; do
+ for j in $(ls man*/${i}.*); do
+ if test ! -e "/usr/share/man/${j}"; then
+ ln -sf "${FW_CURRENT}/share/man/${j}" "/usr/share/man/${j}"
+ fi
+ done
+ done
+
+ cd ${FW_CURRENT}/etc
+ # Make sure we run the files we lay down, and not other stuff installed on the system
+ export PATH=${FW_CURRENT}/bin:$PATH
+ # gtk+ setup
+ gdk-pixbuf-query-loaders --update-cache
+ # pango setup
+ mkdir -p pango
+ pango-querymodules > pango/pango.modules
+fi
+
+# Mono framework should be owned by root
+chown -R root:admin ${FW}
View
16 profiles/mono-mac-release/packaging/resources/version.plist
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>BuildVersion</key>
+ <string>@@MONO_VERSION_RELEASE@@</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@@MONO_VERSION_RELEASE@@</string>
+ <key>CFBundleVersion</key>
+ <string>@@MONO_VERSION_RELEASE@@</string>
+ <key>ProjectName</key>
+ <string>Mono</string>
+ <key>SourceVersion</key>
+ <string>@@MONO_VERSION_RELEASE@@</string>
+</dict>
+</plist>
View
122 profiles/mono-mac-release/packaging/resources/whitelist.txt
@@ -0,0 +1,122 @@
+al
+al2
+asp-state
+asp-state2
+asp-state4
+booc
+booi
+booish
+caspol
+ccrewrite
+cccheck
+cert2spc
+certmgr
+chktrust
+ClassInitGenerator
+csharp
+csharp2
+dbsessmgr
+dbsessmgr2
+dbsessmgr4
+disco
+dmcs
+dtd2rng
+dtd2xsd
+fastcgi-mono-server
+fastcgi-mono-server2
+fastcgi-mono-server4
+fsharpc
+fsharpc2
+fsharpi
+fsharpi2
+gacutil
+gacutil2
+gapi2-codegen
+gapi2-fixup
+gapi2-parser
+genxs
+gmcs
+httpcfg
+ilasm
+installvst
+ipy
+ipy64
+ipyw
+ipyw64
+ir
+ir64
+IronRuby.Tests
+irw
+irw64
+lc
+macpack
+makecert
+mautil
+mconfig
+mcs
+mdassembler
+mdoc
+mdoc-assemble
+mdoc-export-html
+mdoc-export-msxdoc
+mdoc-update
+mdoc-validate
+mdvalidater
+mkbundle
+mod
+mod-mono-server
+mod-mono-server2
+mod-mono-server4
+mono
+mono-api-info
+mono-cil-strip
+mono-configuration-crypto
+monodis
+monodocer
+monodocs2html
+monodocs2slashdoc
+mono-find-provides
+mono-find-requires
+mono-gdb.py
+monograph
+mono-heapviz
+monolinker
+monop
+monop2
+mono-service
+mono-service2
+mono-sgen
+mono-shlib-cop
+mono-test-install
+mono-xmltool
+mozroots
+mprof-report
+nant
+nunit-console
+nunit-console2
+pdb2mdb
+pedump
+permview
+peverify
+prj2make
+resgen
+resgen2
+secutil
+setreg
+sgen
+signcode
+sn
+soapsuds
+sqlmetal
+sqlsharp
+svcutil
+vbnc
+vbnc2
+wsdl
+wsdl2
+xbuild
+xsd
+xsp
+xsp2
+xsp4
+pkg-config
View
16 profiles/mono-mac-release/packaging/uninstallMono.sh
@@ -0,0 +1,16 @@
+#!/bin/sh -x
+
+#This script removes Mono from an OS X System. It must be run as root
+
+rm -r /Library/Frameworks/Mono.framework
+
+# In 10.6+ the receipts are stored here
+rm /var/db/receipts/com.ximian.mono*
+
+for dir in /usr/bin /usr/share/man/man1 /usr/share/man/man3 /usr/share/man/man5; do
+ (cd ${dir};
+ for i in `ls -al | grep /Library/Frameworks/Mono.framework/ | awk '{print $9}'`; do
+ rm ${i}
+ done);
+done
+

0 comments on commit 4683d15

Please sign in to comment.