from setuptools import setup
def build_native(spec):
# build an example rust library
build = spec.add_external_build(
cmd=['cargo', 'build', '--release'],
path='{{{crate_dir}}}'
)
spec.add_cffi_module(
module_path='{{{name}}}._native',
dylib=lambda: build.find_dylib('{{{c_dylib}}}', in_path='target/release'),
header_filename=lambda: build.find_header('{{{name}}}.h', in_path='target'),
rtld_flags=['NOW', 'NODELETE']
)
setup(
name='{{{name}}}',
version='{{{version}}}',
packages=['{{{name}}}'],
url='{{{url}}}',
description='{{{description}}}',
author = '{{{author}}}',
zip_safe=False,
platforms='any',
setup_requires=['milksnake'],
install_requires=['milksnake'],
milksnake_tasks=[
build_native
]
)