From 046a358a33696b514e18922e232a68026c4f35b6 Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Tue, 5 Jun 2018 18:26:47 +0200 Subject: Make 6.0.0 release Changed behavior (giving the major version bump): - cbf32e2 ("Expand environment variables in strings directly") makes 'option env' "bounce" symbols redundant, though they are still supported for backwards compatibility (with the caveat that they must have the same name as the environment variables they reference to preserve behavior). A warning is printed if 'option env="FOO"' appears on a symbol that's not named FOO. This change will likely appear in the C tools soon as well. Other new features: - The menuconfig implementation is now bundled in the PyPI package, along with implementations of the Kconfig oldconfig and all{def,no,yes,mod}config tools. A genconfig script is provided for generating a C header from the configuration, as well as (optionally) the sync_deps() directory structure for implementing incremental builds. - 63a4418 ("Record which MenuNode has each property") makes it possible to generate documentation for symbols defined in multiple locations with each property shown on the right definition. See genrest.py in Zephyr. This change also cleans up the parsing code a bit. Dependency propagation is now done after parsing, in _finalize_tree(). - 94020be ("Make Kconfig._choices public") and fc73c46 ("Provide lists with all menus and comments") gives easier access to Kconfig items of a specific type, without having to walk the menu tree. This turns out to be handy e.g. when generating documentation and implementing search. Improvements and new warnings: - da40c01 ("Force encoding to UTF-8 by default on Python 3") - 7427079 ("Get rid of the predefined UNAME_RELEASE symbol") - f64591c ("Warn if prompt contains leading or trailing whitespace") - c14e411 ("Warn if quotes are omitted around string defaults") Misc. minor refactoring and cleanup has been done as well. --- setup.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'setup.py') diff --git a/setup.py b/setup.py index a107065..028dd56 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ import setuptools setuptools.setup( name="kconfiglib", # MAJOR.MINOR.PATCH, per http://semver.org - version="5.0.0", + version="6.0.0", description="A flexible Python Kconfig parser", long_description= open(os.path.join(os.path.dirname(__file__), "README.rst")).read(), @@ -19,13 +19,14 @@ setuptools.setup( "menuconfig", "genconfig", "oldconfig", - "syncconfig", "alldefconfig", "allnoconfig", "allmodconfig", "allyesconfig", ), + # TODO: Don't install the menuconfig on Python 2. It won't run there. + # setuptools needs better documentation... entry_points={ "console_scripts": ( "menuconfig = menuconfig:_main", @@ -38,12 +39,19 @@ setuptools.setup( ) }, + # The terminal menuconfig implementation uses the standard Python 'curses' + # module. The windows-curses package makes it available on Windows. See + # https://github.com/zephyrproject-rtos/windows-curses. + install_requires=( + 'windows-curses; sys_platform == "win32" and python_version >= "3"', + ), + # Needs support for unnumbered {} in format() python_requires=">=2.7,!=3.0.*", project_urls={ "GitHub repository": "https://github.com/ulfalizer/Kconfiglib", - "Examples": "https://github.com/ulfalizer/Kconfiglib/tree/master/examples" + "Examples": "https://github.com/ulfalizer/Kconfiglib/tree/master/examples", }, classifiers=( @@ -63,5 +71,8 @@ setuptools.setup( "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy")) + "Programming Language :: Python :: Implementation :: PyPy", + ) +) -- cgit v1.2.3