示例#1
0
def add_features():
    if 'setuptools' not in sys.modules or not hasattr(setuptools, 'Feature'):
        return {}

    class ExternalLibFeature(setuptools.Feature):
        def __init__(self, *args, **kwargs):
            self.name = kwargs['name']
            setuptools.Feature.__init__(self, *args, **kwargs)

        def include_in(self, dist):
            globals()[self.name] = True

        def exclude_from(self, dist):
            globals()[self.name] = False

    return {
        'system-libs':
        setuptools.Feature('use of system C libraries',
                           standard=False,
                           require_features=('system-evalresp',
                                             'system-libmseed')),
        'system-evalresp':
        ExternalLibFeature('use of system evalresp library',
                           standard=False,
                           name='EXTERNAL_EVALRESP'),
        'system-libmseed':
        ExternalLibFeature('use of system libmseed library',
                           standard=False,
                           name='EXTERNAL_LIBMSEED')
    }
示例#2
0
                    shutil.rmtree(cleanpath[0])


setuptools.setup(
    name='um_sstpert',
    version='2018.07.1',
    description='Unified Model SST-perturbation extension and utility',
    author='UM Systems Team',
    url='https://code.metoffice.gov.uk/trac/um',
    cmdclass={'clean': CleanCommand},
    package_dir={'': 'lib'},
    packages=['um_sstpert'],
    features={
        'sstpert':
        setuptools.Feature(
            "UM SST-pert library (requires UM Licence)",
            standard=True,
            ext_modules=[
                setuptools.Extension('um_sstpert.um_sstpert',
                                     ['lib/um_sstpert/um_sstpert.c'],
                                     include_dirs=[np.get_include()],
                                     libraries=[
                                         "um_sstpert", "shum_string_conv",
                                         "shum_constants"
                                     ])
            ])
    },
    entry_points={'console_scripts': [
        'mule-sstpert = um_sstpert:_main',
    ]})
示例#3
0
文件: setup.py 项目: mcmweb80/iris
    author='UK Met Office',

    packages=find_package_tree('lib/iris', 'iris'),
    package_dir={'': 'lib'},
    package_data={
        'iris': list(file_walk_relative('lib/iris/etc', remove='lib/iris/')) + \
                list(file_walk_relative('lib/iris/tests/results',
                                        remove='lib/iris/')) + \
                ['fileformats/_pyke_rules/*.k?b'] + \
                ['tests/stock*.npz']
        },
    data_files=[('iris', ['CHANGES', 'COPYING', 'COPYING.LESSER'])],
    tests_require=['nose'],
    features={
        'unpack': setuptools.Feature(
            "use of UKMO unpack library",
            standard=False,
            ext_modules=[
                setuptools.Extension(
                    'iris.fileformats.pp_packing',
                    ['src/iris/fileformats/pp_packing/pp_packing.c'],
                    libraries=['mo_unpack'],
                    include_dirs=[np.get_include()]
                )
            ]
        )
    },
    cmdclass={'test': TestRunner, 'build_py': BuildPyWithExtras,
              'std_names': MakeStdNames, 'pyke_rules': MakePykeRules},
)
示例#4
0
                if os.path.isfile(cleanpath[0]):
                    os.remove(cleanpath[0])
                elif os.path.isdir(cleanpath[0]):
                    shutil.rmtree(cleanpath[0])


setuptools.setup(
    name='um_packing',
    version='2018.07.1',
    description='Unified Model packing library extension',
    author='UM Systems Team',
    url='https://code.metoffice.gov.uk/trac/um',
    cmdclass={'clean': CleanCommand},
    package_dir={'': 'lib'},
    packages=['um_packing', 'um_packing.tests'],
    features={
        'packing':
        setuptools.Feature(
            "SHUMlib Packing library",
            standard=True,
            ext_modules=[
                setuptools.Extension('um_packing.um_packing',
                                     ['lib/um_packing/um_packing.c'],
                                     include_dirs=[np.get_include()],
                                     libraries=[
                                         "shum_byteswap", "shum_wgdos_packing",
                                         "shum_string_conv"
                                     ])
            ])
    })
示例#5
0
                if os.path.isfile(cleanpath[0]):
                    os.remove(cleanpath[0])
                elif os.path.isdir(cleanpath[0]):
                    shutil.rmtree(cleanpath[0])


setuptools.setup(name='um_spiral_search',
                 version='2018.07.1',
                 description='Unified Model Spiral Search extension',
                 author='UM Systems Team',
                 url='https://code.metoffice.gov.uk/trac/um',
                 cmdclass={'clean': CleanCommand},
                 package_dir={'': 'lib'},
                 packages=['um_spiral_search', 'um_spiral_search.tests'],
                 features={
                     'spiralsearch':
                     setuptools.Feature(
                         "UM Spiral Search library",
                         standard=True,
                         ext_modules=[
                             setuptools.Extension(
                                 'um_spiral_search.um_spiral_search',
                                 ['lib/um_spiral_search/um_spiral_search.c'],
                                 include_dirs=[np.get_include()],
                                 libraries=[
                                     "shum_spiral_search", "shum_string_conv",
                                     "shum_constants"
                                 ])
                         ])
                 })
示例#6
0
            print("Removing: {0}...".format(cleanpath))
            cleanpath = glob(cleanpath)
            if cleanpath:
                if os.path.isfile(cleanpath[0]):
                    os.remove(cleanpath[0])
                elif os.path.isdir(cleanpath[0]):
                    shutil.rmtree(cleanpath[0])


setuptools.setup(
    name='um_wafccb',
    version='2018.07.1',
    description='Unified Model WAFC CB extension',
    author='UM Systems Team',
    url='https://code.metoffice.gov.uk/trac/um',
    cmdclass={'clean': CleanCommand},
    package_dir={'': 'lib'},
    packages=['um_wafccb'],
    features={
        'wafccb':
        setuptools.Feature(
            "UM WAFC CB library (requires UM Licence)",
            standard=True,
            ext_modules=[
                setuptools.Extension('um_wafccb.um_wafccb',
                                     ['lib/um_wafccb/um_wafccb.c'],
                                     include_dirs=[np.get_include()],
                                     libraries=["um_wafccb"]),
            ])
    })