Fix for build missing wiringpi.py.
diff --git a/setup.py b/setup.py
index 542a08c..7d05e0e 100755
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,7 @@
#!/usr/bin/env python
from setuptools import setup, Extension
+from setuptools.command.build_py import build_py
from glob import glob
sources = glob('WiringPi/devLib/*.c')
@@ -13,6 +14,20 @@
# the file is already excluded in the source distribution
pass
+
+# Fix so that build_ext runs before build_py
+# Without this, wiringpi.py is generated too late and doesn't
+# end up in the distribution when running setup.py bdist or bdist_wheel.
+# Based on:
+# https://stackoverflow.com/a/29551581/7938656
+# and
+# https://blog.niteoweb.com/setuptools-run-custom-code-in-setup-py/
+class Build_ext_first(build_py):
+ def run(self):
+ self.run_command("build_ext")
+ return build_py.run(self)
+
+
_wiringpi = Extension(
'_wiringpi',
include_dirs=['WiringPi/wiringPi','WiringPi/devLib'],
@@ -22,8 +37,9 @@
setup(
name = 'wiringpi',
- version = '2.44.2',
+ version = '2.44.3',
ext_modules = [ _wiringpi ],
py_modules = ["wiringpi"],
install_requires=[],
+ cmdclass = {'build_py' : Build_ext_first},
)