summaryrefslogtreecommitdiff
path: root/recipes/setuptools.recipe
blob: 86baee78ba1fc8461f113d594f873c23e6b17bf3 (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
# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python


class Recipe(recipe.Recipe):
    name = 'setuptools'
    version = '17.1.1'
    stype = SourceType.TARBALL
    url = 'https://pypi.python.org/packages/source/s/setuptools/setuptools-%(version)s.zip'
    # Python Software Foundation License
    licenses = [License.BSD_like]
    deps = []

    tarball_name = "setuptools-%(version)s.zip"
    btype = BuildType.CUSTOM
    files_data = []
    files_bin = ['easy_install*']

    def prepare(self):
        mapping = self.extensions.copy()
        mapping["pyprefix"] = self.py_prefix

        self.files_data = [
            '%(pyprefix)s/site-packages/_markerlib/' % mapping,
            '%(pyprefix)s/site-packages/pkg_resources/' % mapping,
            '%(pyprefix)s/site-packages/setuptools/' % (mapping),
            '%(pyprefix)s/site-packages/easy_install.py' % (mapping),
        ]

    def install(self):
        flags = ""
        if self.config.target_platform == Platform.DARWIN:
            # numpy / setup.py seems to try to build a universal binary but fails.
            # Force it to a single arch for now.
            if self.config.target_arch == Architecture.X86:
                flags = 'ARCHFLAGS="-arch i386" '
            elif self.config.target_arch == Architecture.X86_64:
                flags = 'ARCHFLAGS="-arch x86_64" '
        shell.call(flags + 'python setup.py install --root / --prefix=%s' %
                (self.config.prefix), self.build_dir)