def __init__(self): self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.RELEASE_VERSION = os.getenv('MONO_VERSION') self.BUILD_NUMBER = "0" self.MRE_GUID = "432959f9-ce1b-47a7-94d3-eb99cb2e1aa8" self.MDK_GUID = "964ebddd-1ffe-47e7-8128-5ce17ffffb05" if self.RELEASE_VERSION is None: raise Exception("Please define the environment variable: MONO_VERSION") # 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, m64 = True, min_version = '10.7') 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 __init__(self): DarwinProfile.__init__(self) MonoDevelopMacDevPackages.__init__(self) self.gcc_flags.extend(['-g']) self_dir = os.path.dirname(abs_pathself)
def __init__(self): self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.RELEASE_VERSION = os.getenv('MONO_VERSION') self.BUILD_NUMBER = "0" self.MRE_GUID = "432959f9-ce1b-47a7-94d3-eb99cb2e1aa8" self.MDK_GUID = "964ebddd-1ffe-47e7-8128-5ce17ffffb05" if self.RELEASE_VERSION is None: raise Exception("You must export MONO_VERSION to use this build profile. e.g. export MONO_VERSION=1.0.0") versions_root = os.path.join(self.MONO_ROOT, "Versions") release_root = os.path.join(versions_root, self.RELEASE_VERSION) DarwinProfile.__init__(self, prefix = release_root, min_version = 7) 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.staged_prefix, "share", "aclocal") if not os.path.exists(aclocal_dir): os.makedirs(aclocal_dir) registry_dir = os.path.join(self.staged_prefix, "etc", "mono", "registry", "LocalMachine") if not os.path.exists(registry_dir): os.makedirs(registry_dir) system_mono_dir = '/Library/Frameworks/Mono.framework/Versions/Current' self.system_mono = os.path.join (system_mono_dir, 'bin', 'mono') self.system_mcs = os.path.join (system_mono_dir, 'bin', 'mcs') self.system_mono_version = backtick ('%s --version' % self.system_mono)
def __init__(self): DarwinProfile.__init__(self) MonoDevelopPackages.__init__(self) self_dir = os.path.realpath(os.path.dirname(sys.argv[0])) self.bundle_skeleton_dir = os.path.join(self_dir, "skeleton.darwin") self.bundle_output_dir = os.path.join(self_dir, "bundle.darwin") self.bundle_from_build = [ "bin/mono", "lib/mono/2.0/gmcs.exe", "lib/mono/gac/Mono.Addins.CecilReflector", "lib/monodevelop", "lib/pango", "lib/gtk-2.0/2.10.0/loaders", "lib/gtk-2.0/2.10.0/engines", "lib/gtk-2.0/2.10.0/immodules", "share/monodevelop", "share/locale", "etc/mono/config", "etc/mono/1.0/machine.config", "etc/mono/2.0/machine.config", "etc/mono/2.0/settings.map", "share/icons/hicolor/index.theme", "share/icons/Tango/index.theme", ] self.bundle_from_build.extend( [ "share/icons/%s/%sx%s" % (theme, size, size) for size in [16, 22, 32, 48] for theme in ["hicolor", "Tango"] ] )
def __init__(self): self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.RELEASE_VERSION = "3.0.9999" # 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 __init__ (self): DarwinProfile.__init__ (self) BansheePackages.__init__ (self) self_dir = os.path.realpath (os.path.dirname (sys.argv[0])) self.bundle_skeleton_dir = os.path.join (self_dir, 'skeleton.darwin') self.bundle_output_dir = os.path.join (self_dir, 'bundle.darwin') self.bundle_from_build = [ 'bin/mono', 'lib/mono/2.0/gmcs.exe', 'lib/mono/gac/Mono.Addins.CecilReflector', 'bin/banshee', 'lib/banshee', 'lib/pango', 'lib/gtk-2.0/2.10.0/loaders', 'lib/gtk-2.0/2.10.0/engines', 'lib/gtk-2.0/2.10.0/immodules', 'lib/gdk-pixbuf-2.0/2.10.0/loaders', 'lib/gstreamer-0.10', 'share/banshee', 'share/locale', 'etc/mono/config', 'etc/mono/1.0/machine.config', 'etc/mono/2.0/machine.config', 'etc/mono/2.0/settings.map', 'share/icons/hicolor/index.theme', 'share/icons/Tango/index.theme' ] self.bundle_from_build.extend ([ 'share/icons/%s/%sx%s' % (theme, size, size) for size in [16, 22, 32, 48] for theme in ['hicolor', 'Tango'] ])
def __init__ (self): DarwinProfile.__init__ (self) # these flags interfere with ccache, take them out self.env.set ('CPPFLAGS', '') self.env.compile() self.env.export() WebkitPackages.__init__ (self) self_dir = os.path.realpath (os.path.dirname (sys.argv[0])) self.bundle_skeleton_dir = os.path.join (self_dir, 'skeleton.darwin') self.bundle_output_dir = os.path.join (self_dir, 'bundle.darwin') self.bundle_from_build = [ 'bin/mono', 'lib/mono/2.0/gmcs.exe', 'lib/mono/gac/Mono.Addins.CecilReflector', 'lib/pango', 'lib/gtk-2.0/2.10.0/loaders', 'lib/gtk-2.0/2.10.0/engines', 'lib/gtk-2.0/2.10.0/immodules', 'lib/gdk-pixbuf-2.0/2.10.0/loaders', 'share/locale', 'etc/mono/config', 'etc/mono/1.0/machine.config', 'etc/mono/2.0/machine.config', 'etc/mono/2.0/settings.map' ]
def __init__(self): self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.RELEASE_VERSION = os.getenv('MONO_VERSION') self.BUILD_NUMBER = "0" self.MRE_GUID = "432959f9-ce1b-47a7-94d3-eb99cb2e1aa8" self.MDK_GUID = "964ebddd-1ffe-47e7-8128-5ce17ffffb05" if self.RELEASE_VERSION is None: raise Exception( "Please define the environment variable: MONO_VERSION") # 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, m64=True, min_version='10.7') 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 __init__ (self): self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.RELEASE_VERSION = "2.11.4" # 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 __init__ (self): DarwinProfile.__init__ (self) MonoDevelopMacDevPackages.__init__ (self) self.gcc_flags.extend ([ '-g' ]) self_dir = os.path.dirname (abs_pathself)
def __init__(self): DarwinProfile.__init__(self, min_version=9) BansheePackages.__init__(self) self_dir = os.path.realpath(os.path.dirname(sys.argv[0])) self.bundle_skeleton_dir = os.path.join(self_dir, 'skeleton.darwin') self.bundle_output_dir = os.path.join(self_dir, 'bundle.darwin') self.bundle_from_build = [ 'bin/mono', 'lib/mono/2.0/gmcs.exe', 'lib/mono/gac/Mono.Addins.CecilReflector', 'bin/banshee', 'lib/banshee', 'lib/pango', 'lib/gtk-3.0/3.0.0/immodules', 'lib/gdk-pixbuf-2.0/2.10.0/loaders', 'lib/gstreamer-1.0', 'share/banshee', 'share/locale', 'etc/mono/config', 'etc/mono/1.0/machine.config', 'etc/mono/2.0/machine.config', 'etc/mono/2.0/settings.map', 'share/icons/hicolor/index.theme', 'share/icons/Tango/index.theme', 'share/glib-2.0/schemas' ] self.bundle_from_build.extend([ 'share/icons/%s/%sx%s' % (theme, size, size) for size in [16, 22, 32, 48] for theme in ['hicolor', 'Tango', 'adwaita'] ]) self.env.set('MONO_GAC_PREFIX', self.prefix) self.env.set('MONO_INSTALL_PREFIX', self.prefix) self.env.set('MONO_ADDINS_REGISTRY', self.prefix + '/addinreg') self.env.set('DYLD_FALLBACK_LIBRARY_PATH', self.prefix + '/lib:/lib:/usr/lib')
def bundle (self): webkit_path = os.path.join (self.prefix, 'lib', 'webkitgtk') os.environ['MONO_PATH'] = ':'.join ([ webkit_path ]) DarwinProfile.bundle (self) import shutil import glob bin_path = os.path.join (self.bundle_macos_dir, 'Webkit') shutil.move (os.path.join (self.bundle_res_dir, 'bin', 'webkitgtk'), bin_path) os.chmod (bin_path, 0755)
def attach(self, bockbuild): self.min_version = 7 DarwinProfile.attach(self, bockbuild) # quick disk space check (http://stackoverflow.com/questions/787776/) s = os.statvfs(bockbuild.root) free_space = (s.f_bavail * s.f_frsize) / (1024 * 1024 * 1024) # in GB if free_space < 10: error('Low disk space (less than 10GB), aborting') # check for XQuartz installation (needed for libgdiplus) if not os.path.exists('/opt/X11/include/X11/Xlib.h'): error( 'XQuartz is required to be installed (download from http://xquartz.macosforge.org/) ' ) self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.BUILD_NUMBER = "0" self.MDK_GUID = "964ebddd-1ffe-47e7-8128-5ce17ffffb05" system_mono_dir = '/Library/Frameworks/Mono.framework/Versions/Current' self.env.set('system_mono', os.path.join(system_mono_dir, 'bin', 'mono')) self.env.set('system_mcs', os.path.join(system_mono_dir, 'bin', 'mcs')) self.env.set('system_mono_version', backtick('%s --version' % self.env.system_mono)[0]) # config overrides for some programs to be functional while staged self.env.set( 'GDK_PIXBUF_MODULE_FILE', '%{staged_prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache') self.env.set('GDK_PIXBUF_MODULEDIR', '%{staged_prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders') self.env.set('PANGO_SYSCONFDIR', '%{staged_prefix}/etc') self.env.set('PANGO_LIBDIR', '%{staged_prefix}/lib') # self.env.set ('MONO_PATH', '%{staged_prefix}/lib/mono/4.0') self.debug_info = [ 'gtk+', 'cairo', 'pango', 'mono', 'llvm', 'libgdiplus' ] self.cache_host = None
def __init__(self): DarwinProfile.__init__(self, min_version=7) # quick disk space check (http://stackoverflow.com/questions/787776/) s = os.statvfs(self.root) free_space = (s.f_bavail * s.f_frsize) / (1024 * 1024 * 1024) # in GB if free_space < 15: error('Low disk space (less than 15GB), aborting') # check for XQuartz installation (needed for libgdiplus) if not os.path.exists('/opt/X11/include/X11/Xlib.h'): error( 'XQuartz is required to be installed (download from http://xquartz.macosforge.org/) ') self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.BUILD_NUMBER = "0" self.MDK_GUID = "964ebddd-1ffe-47e7-8128-5ce17ffffb05" self.self_dir = os.path.realpath(os.path.dirname(sys.argv[0])) self.packaging_dir = os.path.join(self.self_dir, "packaging") system_mono_dir = '/Library/Frameworks/Mono.framework/Versions/Current' self.env.set('system_mono', os.path.join( system_mono_dir, 'bin', 'mono')) self.env.set('system_mcs', os.path.join(system_mono_dir, 'bin', 'mcs')) self.env.set('system_mono_version', backtick( '%s --version' % self.env.system_mono)[0]) # config overrides for some programs to be functional while staged self.env.set('GDK_PIXBUF_MODULE_FILE', '%{staged_prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache') self.env.set('GDK_PIXBUF_MODULEDIR', '%{staged_prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders') self.env.set('PANGO_SYSCONFDIR', '%{staged_prefix}/etc') self.env.set('PANGO_LIBDIR', '%{staged_prefix}/lib') # self.env.set ('MONO_PATH', '%{staged_prefix}/lib/mono/4.0') self.debug_info = ['gtk+', 'cairo', 'pango', 'mono', 'llvm', 'libgdiplus'] self.cache_host = None
def bundle (self): banshee_path = os.path.join (self.prefix, 'lib', 'banshee') os.environ['MONO_PATH'] = ':'.join ([ banshee_path, os.path.join (banshee_path, 'Extensions'), os.path.join (banshee_path, 'Backends') ]) DarwinProfile.bundle (self) import shutil import glob bin_path = os.path.join (self.bundle_macos_dir, 'Banshee') shutil.move (os.path.join (self.bundle_res_dir, 'bin', 'banshee'), bin_path) os.chmod (bin_path, 0755) for nuke in [ 'NotificationArea', 'AudioCd', 'MiniMode' ]: for path in glob.glob (os.path.join (self.bundle_res_dir, 'lib', 'banshee', 'Extensions', 'Banshee.%s*' % nuke)): os.unlink (path)
def __init__ (self): DarwinProfile.__init__ (self, min_version = 9) BansheePackages.__init__ (self) self_dir = os.path.realpath (os.path.dirname (sys.argv[0])) self.bundle_skeleton_dir = os.path.join (self_dir, 'skeleton.darwin') self.bundle_output_dir = os.path.join (self_dir, 'bundle.darwin') self.bundle_from_build = [ 'bin/mono', 'lib/mono/2.0/gmcs.exe', 'lib/mono/gac/Mono.Addins.CecilReflector', 'bin/banshee', 'lib/banshee', 'lib/pango', 'lib/gtk-2.0/2.10.0/loaders', 'lib/gtk-2.0/2.10.0/engines', 'lib/gtk-2.0/2.10.0/immodules', 'lib/gdk-pixbuf-2.0/2.10.0/loaders', 'lib/gstreamer-0.10', 'share/banshee', 'share/locale', 'etc/mono/config', 'etc/mono/1.0/machine.config', 'etc/mono/2.0/machine.config', 'etc/mono/2.0/settings.map', 'share/icons/hicolor/index.theme', 'share/icons/Tango/index.theme' ] self.bundle_from_build.extend ([ 'share/icons/%s/%sx%s' % (theme, size, size) for size in [16, 22, 32, 48] for theme in ['hicolor', 'Tango'] ]) self.env.set('MONO_GAC_PREFIX', self.prefix) self.env.set('MONO_INSTALL_PREFIX', self.prefix) self.env.set('MONO_ADDINS_REGISTRY', self.prefix + '/addinreg') self.env.set('DYLD_FALLBACK_LIBRARY_PATH', self.prefix + '/lib:/lib:/usr/lib')
def bundle(self): banshee_path = os.path.join(self.prefix, 'lib', 'banshee') os.environ['MONO_PATH'] = ':'.join([ banshee_path, os.path.join(banshee_path, 'Extensions'), os.path.join(banshee_path, 'Backends') ]) DarwinProfile.bundle(self) import shutil import glob bin_path = os.path.join(self.bundle_macos_dir, 'Banshee') shutil.move(os.path.join(self.bundle_res_dir, 'bin', 'banshee'), bin_path) os.chmod(bin_path, 0755) for nuke in ['NotificationArea', 'AudioCd', 'MiniMode']: for path in glob.glob( os.path.join(self.bundle_res_dir, 'lib', 'banshee', 'Extensions', 'Banshee.%s*' % nuke)): os.unlink(path)
def __init__(self): DarwinProfile.__init__(self, min_version = 7) self.MONO_ROOT = "/Library/Frameworks/Mono.framework" self.BUILD_NUMBER = "0" self.MRE_GUID = "432959f9-ce1b-47a7-94d3-eb99cb2e1aa8" self.MDK_GUID = "964ebddd-1ffe-47e7-8128-5ce17ffffb05" self.self_dir = os.path.realpath(os.path.dirname(sys.argv[0])) self.packaging_dir = os.path.join(self.self_dir, "packaging") system_mono_dir = '/Library/Frameworks/Mono.framework/Versions/Current' self.env.set ('system_mono', os.path.join (system_mono_dir, 'bin', 'mono')) self.env.set ('system_mcs', os.path.join (system_mono_dir, 'bin', 'mcs')) self.env.set ('system_mono_version', backtick ('%s --version' % self.env.system_mono)[0]) # config overrides for some programs to be functional while staged self.env.set ('GDK_PIXBUF_MODULE_FILE', '%{staged_prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache') self.env.set ('GDK_PIXBUF_MODULEDIR', '%{staged_prefix}/lib/gdk-pixbuf-2.0/2.10.0/loaders') self.env.set ('PANGO_SYSCONFDIR', '%{staged_prefix}/etc') self.env.set ('PANGO_LIBDIR', '%{staged_prefix}/lib')
def __init__(self): DarwinProfile.__init__(self) MonoDevelopPackages.__init__(self) self_dir = os.path.realpath(os.path.dirname(sys.argv[0])) self.bundle_skeleton_dir = os.path.join(self_dir, 'skeleton.darwin') self.bundle_output_dir = os.path.join(self_dir, 'bundle.darwin') self.bundle_from_build = [ 'bin/mono', 'lib/mono/2.0/gmcs.exe', 'lib/mono/gac/Mono.Addins.CecilReflector', 'lib/monodevelop', 'lib/pango', 'lib/gtk-2.0/2.10.0/loaders', 'lib/gtk-2.0/2.10.0/engines', 'lib/gtk-2.0/2.10.0/immodules', 'share/monodevelop', 'share/locale', 'etc/mono/config', 'etc/mono/1.0/machine.config', 'etc/mono/2.0/machine.config', 'etc/mono/2.0/settings.map', 'share/icons/hicolor/index.theme', 'share/icons/Tango/index.theme' ] self.bundle_from_build.extend([ 'share/icons/%s/%sx%s' % (theme, size, size) for size in [16, 22, 32, 48] for theme in ['hicolor', 'Tango'] ])
def build(self): if not os.path.exists(os.path.join(self.release_root, "bin")): log(0, "Rebuilding world - new prefix: " + self.release_root) shutil.rmtree(self.build_root, ignore_errors=True) DarwinProfile.build(self)
def build(self): if os.path.exists(self.release_root): log(0, "Purging prefix path: " + self.release_root) shutil.rmtree(self.release_root, ignore_errors=False) DarwinProfile.build(self)
def __init__(self): DarwinProfile.__init__(self) HackGDIPlusPackages.__init__(self) self.gcc_flags.extend(['-g'])
#!/usr/bin/python -B import os import sys sys.path.append ('../..') from bockbuild.darwinprofile import DarwinProfile profile = DarwinProfile () profile.packages = [os.path.join ('..', '..', 'packages', p) for p in [ 'autoconf.py', 'automake.py', 'libtool.py', 'gettext.py', 'pkg-config.py', 'mono.py', 'glib.py', 'libffi.py', 'gobject-introspection.py' ]] profile.build ()