From 166f61ad73e486da34ae554107c7cb6e224bf5f8 Mon Sep 17 00:00:00 2001 From: Eli Schwartz Date: Wed, 3 Mar 2021 00:18:29 -0500 Subject: [PATCH] setup: do not use deprecated and removed 'Feature' feature Emulate it using environment variables instead. $GENSHI_BUILD_SPEEDUP is checked for existence and parsed as an integer boolean, with invalid values defaulting (loudly) to 0. Fixes #36 --- setup.py | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) Index: Genshi-0.7.5/setup.py =================================================================== --- Genshi-0.7.5.orig/setup.py +++ Genshi-0.7.5/setup.py @@ -19,11 +19,10 @@ import doctest from glob import glob import os try: - from setuptools import setup, Extension, Feature + from setuptools import setup, Extension from setuptools.command.bdist_egg import bdist_egg except ImportError: from distutils.core import setup, Extension - Feature = None bdist_egg = None import sys @@ -64,20 +63,20 @@ available.""") print(exc) -if Feature: - # Optional C extension module for speeding up Genshi: - # Not activated by default on: - # - PyPy (where it harms performance) - # - CPython >= 3.3 (the new Unicode C API is not supported yet) - speedups = Feature( - "optional C speed-enhancements", - standard = not is_pypy, - ext_modules = [ - Extension('genshi._speedups', ['genshi/_speedups.c']), - ], - ) -else: - speedups = None +# Optional C extension module for speeding up Genshi +# Not activated by default on: +# - PyPy (where it harms performance) +_speedup_enable_default = 0 if is_pypy else 1 +try: + _speedup_enabled = int(os.getenv('GENSHI_BUILD_SPEEDUP', _speedup_enable_default)) +except ValueError: + import warnings + warnings.warn('GENSHI_BUILD_SPEEDUP was defined to something other than 0 or 1; defaulting to not build...') + _speedup_enabled = False + +ext_modules = [] +if _speedup_enabled: + ext_modules.append(Extension('genshi._speedups', ['genshi/_speedups.c'])) # Setuptools need some help figuring out if the egg is "zip_safe" or not @@ -156,7 +155,7 @@ feature is a template language, which is genshi-text = genshi.template.plugin:TextTemplateEnginePlugin[plugin] """, - features = {'speedups': speedups}, + ext_modules = ext_modules, cmdclass = cmdclass, **extra