Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sjhbuild/config.py
blob: 321669c0005d63bdd3eb0f812e938701dcd1b245 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
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'