Example #1
0
    def new_setup(**kw):
        cmdclass = kw.get("cmdclass", {})
        try:
            _build_py = cmdclass["build_py"]
        except KeyError:
            _build_py = old_build_py

        class build_py_recorder(_build_py):
            def run(self):
                _build_py.run(self)
                # package_data: data files which correspond to packages (and
                # are installed)

                # setuptools has its own logic to deal with package_data, and
                # do so in build_py
                if type == "setuptools":
                    LIVE_OBJECTS["package_data"] = _process_data_files(self.distribution.package_data)
                else:
                    LIVE_OBJECTS["package_data"] = {}
                _build_py.run(self)

                # extra_data
                LIVE_OBJECTS["extra_data"] = get_data_files()

                # Those are directly created from setup data_files argument
                LIVE_OBJECTS["dist_data_files"] = self.distribution.data_files
                # those are created from package_data stuff
                LIVE_OBJECTS["data_files"] = self.data_files

        cmdclass["build_py"] = build_py_recorder
        kw["cmdclass"] = cmdclass

        dist = old_setup(**kw)
        LIVE_OBJECTS["dist"] = dist
        return dist
Example #2
0
def setup(**attr):

    distclass = Distribution
    cmdclass = {
        'build': build.build,
        'build_src': build_src.build_src,
        'config_fc': config_compiler.config_fc,
        'build_ext': build_ext.build_ext,
        'build_py': build_py.build_py,
        'build_clib': build_clib.build_clib,
        'sdist': sdist.sdist,
        'install_data': install_data.install_data,
        'install': install.install,
        'install_headers': install_headers.install_headers,
        'bdist_rpm': bdist_rpm.bdist_rpm,
    }
    new_attr = attr.copy()
    if new_attr.has_key('cmdclass'):
        cmdclass.update(new_attr['cmdclass'])
    new_attr['cmdclass'] = cmdclass

    if not new_attr.has_key('distclass'):
        new_attr['distclass'] = distclass

    fortran_libraries = new_attr.get('fortran_libraries', None)

    if fortran_libraries is not None:
        print 64 * '*' + """
    Using fortran_libraries setup option is depreciated
    ---------------------------------------------------
    Use libraries option instead. Yes, scipy_distutils
    now supports Fortran sources in libraries.
""" + 64 * '*'
        new_attr['libraries'].extend(fortran_libraries)
        del new_attr['fortran_libraries']

    # Move extension source libraries to libraries
    libraries = []
    for ext in new_attr.get('ext_modules', []):
        new_libraries = []
        for item in ext.libraries:
            if type(item) is type(()):
                lib_name, build_info = item
                _check_append_ext_library(libraries, item)
                new_libraries.append(lib_name)
            else:
                assert type(item) is type(''), ` item `
                new_libraries.append(item)
        ext.libraries = new_libraries
    if libraries:
        if not new_attr.has_key('libraries'):
            new_attr['libraries'] = []
        for item in libraries:
            _check_append_library(new_attr['libraries'], item)

    return old_setup(**new_attr)
Example #3
0
    def new_setup(**kw):
        global DIST_GLOBAL, PACKAGE_OBJECTS
        package_objects = _PackageObjects(monkey_patch_mode=type)

        package_dir = kw.get("package_dir", None)
        if package_dir:
            keys = list(package_dir.keys())
            if len(keys) > 1:
                raise ConvertionError("setup call with package_dir=%r argument is not supported !" \
                                      % package_dir)
            elif len(keys) == 1:
                if package_dir.values()[0] != '':
                    raise ConvertionError("setup call with package_dir=%r argument is not supported !" \
                                          % package_dir)

        cmdclass = kw.get("cmdclass", {})
        try:
            _build_py = cmdclass["build_py"]
        except KeyError:
            _build_py = old_build_py

        class build_py_recorder(_build_py):
            def run(self):
                _build_py.run(self)

                package_objects.build_lib = self.build_lib
                package_objects.extra_source_files = get_extra_source_files()

                # This is simply the data_files argument passed to setup
                if self.distribution.data_files is not None:
                    package_objects.dist_data_files.extend(
                        self.distribution.data_files)
                # those are created from package_data stuff (the stuff included
                # if include_package_data=True as well)
                package_objects.data_files = self.data_files

        cmdclass["build_py"] = build_py_recorder
        kw["cmdclass"] = cmdclass

        dist = old_setup(**kw)
        DIST_GLOBAL = dist
        PACKAGE_OBJECTS = package_objects
        return dist
Example #4
0
File: core.py Project: B-Rich/Bento
    def new_setup(**kw):
        global DIST_GLOBAL, PACKAGE_OBJECTS
        package_objects = _PackageObjects(monkey_patch_mode=type)

        package_dir = kw.get("package_dir", None)
        if package_dir:
            keys = list(package_dir.keys())
            if len(keys) > 1:
                raise ConvertionError("setup call with package_dir=%r argument is not supported !" \
                                      % package_dir)
            elif len(keys) == 1:
                if package_dir.values()[0] != '':
                    raise ConvertionError("setup call with package_dir=%r argument is not supported !" \
                                          % package_dir)

        cmdclass = kw.get("cmdclass", {})
        try:
            _build_py = cmdclass["build_py"]
        except KeyError:
            _build_py = old_build_py

        class build_py_recorder(_build_py):
            def run(self):
                _build_py.run(self)

                package_objects.build_lib = self.build_lib
                package_objects.extra_source_files = get_extra_source_files()

                # This is simply the data_files argument passed to setup
                if self.distribution.data_files is not None:
                    package_objects.dist_data_files.extend(self.distribution.data_files)
                # those are created from package_data stuff (the stuff included
                # if include_package_data=True as well)
                package_objects.data_files = self.data_files

        cmdclass["build_py"] = build_py_recorder
        kw["cmdclass"] = cmdclass

        dist = old_setup(**kw)
        DIST_GLOBAL = dist
        PACKAGE_OBJECTS = package_objects
        return dist
Example #5
0
def setup(**attr):
    distclass = Distribution
    cmdclass = {
        'build': build.build,
        'build_ext': build_ext.build_ext,
        'run_sip': run_sip.run_sip,
        'run_moc': run_moc.run_moc,
        'bdist': bdist.bdist,
        'bdist_dumb': bdist_dumb.bdist_dumb,
        'bdist_rpm': bdist_rpm.bdist_rpm,
        'bdist_wininst': bdist_wininst.bdist_wininst,
        }

    new_attr = attr.copy()

    if new_attr.has_key('cmdclass'):
        cmdclass.update(new_attr['cmdclass'])
    new_attr['cmdclass'] = cmdclass

    if not new_attr.has_key('distclass'):
        new_attr['distclass'] = distclass

    # Hack package info for the sip generated extension module wrappers.
    if not new_attr.has_key('packages'):
        new_attr['packages'] = []
    if not new_attr.has_key('package_dir'):
        new_attr['package_dir'] = {}
    if new_attr.has_key('ext_modules'):
        for ext in new_attr['ext_modules']:
            new_attr['packages'].extend(ext.packages)
            for package, directory in ext.package_dir.items():
                new_attr['package_dir'][package] = directory

    #print 'packages:', new_attr['packages']
    #print 'package_dir:', new_attr['package_dir']
    
    return old_setup(**new_attr)
Example #6
0
def setup(**attr):
    distclass = Distribution
    cmdclass = {
        'build': build.build,
        'build_ext': build_ext.build_ext,
        'run_sip': run_sip.run_sip,
        'run_moc': run_moc.run_moc,
        'bdist': bdist.bdist,
        'bdist_dumb': bdist_dumb.bdist_dumb,
        'bdist_rpm': bdist_rpm.bdist_rpm,
        'bdist_wininst': bdist_wininst.bdist_wininst,
    }

    new_attr = attr.copy()

    if new_attr.has_key('cmdclass'):
        cmdclass.update(new_attr['cmdclass'])
    new_attr['cmdclass'] = cmdclass

    if not new_attr.has_key('distclass'):
        new_attr['distclass'] = distclass

    # Hack package info for the sip generated extension module wrappers.
    if not new_attr.has_key('packages'):
        new_attr['packages'] = []
    if not new_attr.has_key('package_dir'):
        new_attr['package_dir'] = {}
    if new_attr.has_key('ext_modules'):
        for ext in new_attr['ext_modules']:
            new_attr['packages'].extend(ext.packages)
            for package, directory in ext.package_dir.items():
                new_attr['package_dir'][package] = directory

    #print 'packages:', new_attr['packages']
    #print 'package_dir:', new_attr['package_dir']

    return old_setup(**new_attr)