python-Genshi/Genshi-pr39-fix-setuptools-extension.patch
Matej Cepl ec52014364 Accepting request 902528 from home:bnavigator:branches:devel:languages:python
- Add Genshi-pr39-fix-setuptools-extension.patch in order to fix
  failing the c extension with an updated setuptools
  gh#edgewall/genshi#36

OBS-URL: https://build.opensuse.org/request/show/902528
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-Genshi?expand=0&rev=27
2021-06-26 19:50:21 +00:00

76 lines
2.4 KiB
Diff

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