]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - setup.py
Add support for Orange Pi 5 Pro
[Adafruit_Blinka-hackapet.git] / setup.py
old mode 100755 (executable)
new mode 100644 (file)
index 11c77fe..ddfe51f
--- a/setup.py
+++ b/setup.py
@@ -10,7 +10,7 @@
 
 import io
 import os
 
 import io
 import os
-import sys
+import glob
 
 from setuptools import setup, find_packages
 
 
 from setuptools import setup, find_packages
 
@@ -21,24 +21,37 @@ here = os.path.abspath(os.path.dirname(__file__))
 with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f:
     long_description = "\n" + f.read()
 
 with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f:
     long_description = "\n" + f.read()
 
+if not glob.glob("//usr//include//python3.*//Python.h"):
+    raise RuntimeError(
+        "This package requires a Python development environment. "
+        "Please install the python3-dev package for your distribution."
+    )
+
 board_reqs = []
 if os.path.exists("/proc/device-tree/compatible"):
     with open("/proc/device-tree/compatible", "rb") as f:
         compat = f.read()
 board_reqs = []
 if os.path.exists("/proc/device-tree/compatible"):
     with open("/proc/device-tree/compatible", "rb") as f:
         compat = f.read()
+    # Jetson Nano, TX2, Xavier, etc
     if b"nvidia,tegra" in compat:
         board_reqs = ["Jetson.GPIO"]
     if b"nvidia,tegra" in compat:
         board_reqs = ["Jetson.GPIO"]
-    if (
+    # Pi 5
+    elif b"brcm,bcm2712" in compat:
+        board_reqs = [
+            "rpi_ws281x>=4.0.0",
+            "lgpio;python_version<'3.11'",
+            "Adafruit-Blinka-Raspberry-Pi5-Neopixel",
+        ]
+    # Pi 4 and Earlier
+    elif (
         b"brcm,bcm2835" in compat
         or b"brcm,bcm2836" in compat
         or b"brcm,bcm2837" in compat
         or b"brcm,bcm2838" in compat
         or b"brcm,bcm2711" in compat
         b"brcm,bcm2835" in compat
         or b"brcm,bcm2836" in compat
         or b"brcm,bcm2837" in compat
         or b"brcm,bcm2838" in compat
         or b"brcm,bcm2711" in compat
-        or b"brcm,bcm2712" in compat
     ):
     ):
-        board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0", "sysv_ipc>=1.1.0"]
-    if (
-        b"ti,am335x" in compat
-    ):  # BeagleBone Black, Green, PocketBeagle, BeagleBone AI, etc.
+        board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0"]
+    # BeagleBone Black, Green, PocketBeagle, BeagleBone AI, etc.
+    elif b"ti,am335x" in compat:
         board_reqs = ["Adafruit_BBIO"]
 
 setup(
         board_reqs = ["Adafruit_BBIO"]
 
 setup(
@@ -87,10 +100,13 @@ setup(
     },
     include_package_data=True,
     install_requires=[
     },
     include_package_data=True,
     install_requires=[
-        "Adafruit-PlatformDetect>=3.53.0",
+        "Adafruit-PlatformDetect>=3.70.1",
         "Adafruit-PureIO>=1.1.7",
         "Adafruit-PureIO>=1.1.7",
+        "binho-host-adapter>=0.1.6",
         "pyftdi>=0.40.0",
         "adafruit-circuitpython-typing",
         "pyftdi>=0.40.0",
         "adafruit-circuitpython-typing",
+        "sysv_ipc>=1.1.0;sys_platform=='linux' and platform_machine!='mips'",
+        "toml>=0.10.2;python_version<'3.11'",
     ]
     + board_reqs,
     license="MIT",
     ]
     + board_reqs,
     license="MIT",