[python] fix platform specific wheel to be spec compliant (#23703)

* [python] fix platform specific wheel to be spec compliant

The current build approach causes bdist_wheel to store the shared library
in the purelib folder. However, a platform specific wheel should have
shared libraries in the platform specific folder, not in the purelib folder.

This has been discovered using `auditwheel check`:

```
RuntimeError: Invalid binary wheel, found the following shared library/libraries in purelib folder:
        _ChipDeviceCtrl.so
The wheel has to be platlib compliant in order to be repaired by auditwheel.
```

This makes the wheel pass `auditwheel check`.

* Restyled by autopep8

Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/src/controller/python/build-chip-wheel.py b/src/controller/python/build-chip-wheel.py
index e3ab531..70949c3 100644
--- a/src/controller/python/build-chip-wheel.py
+++ b/src/controller/python/build-chip-wheel.py
@@ -23,7 +23,7 @@
 
 from __future__ import absolute_import
 from datetime import datetime
-from setuptools import setup
+from setuptools import setup, Distribution
 from wheel.bdist_wheel import bdist_wheel
 
 import argparse
@@ -56,6 +56,14 @@
         self.name = name
         self.installName = os.path.splitext(name)[0]
 
+# Make sure wheel is not considered pure and avoid shared libraries in purelib
+# folder.
+
+
+class BinaryDistribution(Distribution):
+    def has_ext_modules(foo):
+        return True
+
 
 packageName = args.package_name
 libName = args.lib_name
@@ -103,13 +111,6 @@
         os.rename(os.path.join(tmpDir, script.name),
                   os.path.join(tmpDir, script.installName))
 
-    # Define a custom version of the bdist_wheel command that configures the
-    # resultant wheel as platform-specific (i.e. not "pure").
-    class bdist_wheel_override(bdist_wheel):
-        def finalize_options(self):
-            bdist_wheel.finalize_options(self)
-            self.root_is_pure = False
-
     requiredPackages = manifest['package_reqs']
 
     #
@@ -164,9 +165,7 @@
                 'egg_base': tmpDir
             }
         },
-        cmdclass={
-            'bdist_wheel': bdist_wheel_override
-        } if libName else {},
+        distclass=BinaryDistribution if libName else None,
         script_args=['clean', '--all', 'bdist_wheel']
     )