From d4bdd8318b4cc668325637def9098570e7e12256 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Tue, 9 Mar 2021 18:43:21 -0500 Subject: setuptools: move stuff to declarative cfg if possible [skip ci] We're down to just declaring the data files in python now. setup.cfg can, uniquely, retrieve version info by trying to parse the AST for simple assignments (which we use) instead of importing the entire module. --- setup.cfg | 12 +++++++++++- setup.py | 15 ++------------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/setup.cfg b/setup.cfg index ef7a258..972a712 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,4 +1,6 @@ [metadata] +name = meson +version = attr: mesonbuild.coredata.version description = A high performance build system author = Jussi Pakkanen author_email = jpakkane@gmail.com @@ -29,16 +31,24 @@ classifiers = long_description = Meson is a cross-platform build system designed to be both as fast and as user friendly as possible. It supports many languages and compilers, including GCC, Clang, PGI, Intel, and Visual Studio. Its build definitions are written in a simple non-Turing complete DSL. [options] +packages = find: python_requires = >= 3.6 setup_requires = setuptools +[options.entry_points] +console_scripts = + meson = mesonbuild.mesonmain:main + [options.extras_require] progress = tqdm +[options.packages.find] +include = mesonbuild, mesonbuild.* +exclude = *.data + [tool:pytest] python_classes = python_files = run_unittests.py - diff --git a/setup.py b/setup.py index 68f3a28..976afb2 100644 --- a/setup.py +++ b/setup.py @@ -20,23 +20,12 @@ if sys.version_info < (3, 6): raise SystemExit('ERROR: Tried to install Meson with an unsupported Python version: \n{}' '\nMeson requires Python 3.6.0 or greater'.format(sys.version)) -from mesonbuild.coredata import version -from setuptools import setup, find_packages +from setuptools import setup -# On windows, will create Scripts/meson.exe and Scripts/meson-script.py -# Other platforms will create bin/meson -entries = {'console_scripts': ['meson=mesonbuild.mesonmain:main']} data_files = [] if sys.platform != 'win32': # Only useful on UNIX-like systems data_files = [('share/man/man1', ['man/meson.1']), ('share/polkit-1/actions', ['data/com.mesonbuild.install.policy'])] -setup(name='meson', - version=version, - packages=find_packages( - include=['mesonbuild', 'mesonbuild.*'], - exclude=['*.data'] - ), - entry_points=entries, - data_files=data_files,) +setup(data_files=data_files,) -- cgit v1.1