File Genshi-pr39-fix-setuptools-extension.patch of Package python-Genshi

From 166f61ad73e486da34ae554107c7cb6e224bf5f8 Mon Sep 17 00:00:00 2001
From: Eli Schwartz <eschwartz@archlinux.org>
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
openSUSE Build Service is sponsored by