import os import sys import jhbuild.config import distutils.sysconfig import sysdeps class Config(jhbuild.config.Config): def __init__(self, base_dir, rc_file): self.base_dir = base_dir jhbuild.config.Config.__init__(self, os.path.join(self.base_dir, 'sugar.jhbuildrc')) self._setup() def _setup(self): self.autogenargs = '' self.checkoutroot = os.path.join(self.base_dir, 'source') self.tarballdir = os.path.join(self.base_dir, 'source') for package, source in sysdeps.get_packages(): if source and source not in self.skip: self.skip.append(source) def setup_env(self): # Hack to replace the default prefix if self.prefix == '/opt/gnome2': self.prefix = os.path.join(self.base_dir, 'install') #Hack to allow sugar-jhbuild to find its self again. MY_PATH = os.getenv('PATH', 'Error') os.environ["PATH"] = MY_PATH + ':' + self.base_dir jhbuild.config.Config.setup_env(self) jhbuild.config.addpath('XDG_DATA_DIRS', '/usr/share') jhbuild.config.addpath('XDG_DATA_DIRS', os.path.join(self.prefix, 'share')) jhbuild.config.addpath('GTK_PATH', os.path.join(self.prefix, ['lib', 'lib64'][self.use_lib64], 'gtk-2.0', '')) jhbuild.config.addpath('GTK_DATA_PREFIX', self.prefix) os.environ['SUGAR_PREFIX'] = self.prefix os.environ['SUGAR_PATH'] = os.path.join(self.prefix, 'share', 'sugar') os.environ['SUGAR_LOGGER_LEVEL'] = 'debug' # Enable debug log of the Telepathy components os.environ['GABBLE_DEBUG'] = 'all' os.environ['SALUT_DEBUG'] = 'all' os.environ['STREAM_ENGINE_DEBUG'] = 'all' # We need to add the gtk-2.0 directory explicitly to # the Python path since '.pth' files (here pygtk.pth) # only work properly in system directories pythonpath_basic = distutils.sysconfig.get_python_lib(prefix='').split('/', 1)[1] jhbuild.config.addpath('PYTHONPATH', os.path.join(self.prefix, "lib", pythonpath_basic, 'gtk-2.0')) jhbuild.config.addpath('PYTHONPATH', os.path.join(self.prefix, "lib64", pythonpath_basic, 'gtk-2.0')) # workaround for bug in jhbuild # note: even for use_lib64 we need "lib" here as that's where distutils installs to pythonpath_lib = os.path.join(self.prefix, "lib", pythonpath_basic) jhbuild.config.addpath('PYTHONPATH', pythonpath_lib) os.environ['PYTHON_LIB'] = distutils.sysconfig.get_python_lib(prefix=self.prefix) if 'DBUS_SESSION_BUS_ADDRESS' in os.environ: del os.environ['DBUS_SESSION_BUS_ADDRESS'] if not 'SUGAR_PROFILE' in os.environ: os.environ['SUGAR_PROFILE'] = 'default'