diff --git a/.github/workflows/apt.json b/.github/workflows/apt.json
deleted file mode 100644
index 622a10e6..00000000
--- a/.github/workflows/apt.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "include":
- [
- {
- "distribution": "Bionic",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg, libcec4",
- "description": "Ubuntu 18.04 (Bionic Beaver) (amd64)"
- },
- {
- "distribution": "Focal",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec4",
- "description": "Ubuntu 20.04 (Focal Fossa) (amd64)"
- },
- {
- "distribution": "Groovy",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
- "description": "Ubuntu 20.10 (Groovy Gorilla) (amd64)"
- },
- {
- "distribution": "Hirsute",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
- "description": "Ubuntu 21.04 (Hirsute Hippo) (amd64)"
- },
- {
- "distribution": "Impish",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
- "description": "Ubuntu 21.10 (Impish Indri) (amd64)"
- },
- {
- "distribution": "Stretch",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl1.0-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg0, libcec4",
- "description": "Debian 9.x (Stretch) (amd64)"
- },
- {
- "distribution": "Stretch",
- "architecture": "armhf",
- "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg0, libcec4",
- "description":"Debian 9.x (Stretch) (armhf)"
- },
- {
- "distribution": "Buster",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec4",
- "description": "Debian 10.x (Buster) (amd64)"
- },
- {
- "distribution": "Buster",
- "architecture": "armhf",
- "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec4",
- "description": "Debian 10.x (Buster) (armhf)"
- },
- {
- "distribution": "Bullseye",
- "architecture": "amd64",
- "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
- "description": "Debian 11.x (Bullseye) (amd64)"
- },
- {
- "distribution": "Bullseye",
- "architecture": "armhf",
- "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
- "package-depends": "libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
- "description": "Debian 11.x (Bullseye) (armhf)"
- }
- ]
-}
diff --git a/.github/workflows/apt.yml b/.github/workflows/apt.yml
index 87d8a58b..7f9879b5 100644
--- a/.github/workflows/apt.yml
+++ b/.github/workflows/apt.yml
@@ -10,7 +10,7 @@ jobs:
- name: Set APT matrix
id: apt-ppa
run: |
- APT=$(echo $(cat .github/workflows/apt.json) | jq --compact-output .)
+ APT=$(jq -n '.include |= [inputs[]]' .github/workflows/apt/*.json --compact-output)
echo "::set-output name=apt::$APT"
outputs:
apt-matrix: ${{ steps.apt-ppa.outputs.apt }}
@@ -48,6 +48,7 @@ jobs:
dch --create --distribution ${{ env.DISTRIBUTION }} --package 'hyperion' -v '${{ env.VERSION }}~${{ env.DISTRIBUTION }}' '${{ github.event.commits[0].message }}' && \
cp -fr LICENSE debian/copyright && \
sed 's/@BUILD_DEPENDS@/${{ matrix.build-depends }}/g; s/@DEPENDS@/${{ matrix.package-depends }}/g; s/@ARCHITECTURE@/${{ matrix.architecture }}/g; s/@STANDARDS_VERSION@/${{ env.STANDARDS_VERSION }}/g' debian/control.in > debian/control && \
+ sed 's/@CMAKE_ENVIRONMENT@/${{ matrix.cmake-environment }}/g' debian/rules.in > debian/rules && \
tar -cJf ../hyperion_${{ env.VERSION }}~${{ env.DISTRIBUTION }}.orig.tar.xz . && \
debuild --no-lintian -uc -us && \
cp ../hyperion_* /deploy"
diff --git a/.github/workflows/apt/amd64.json b/.github/workflows/apt/amd64.json
new file mode 100644
index 00000000..dd6f5e7a
--- /dev/null
+++ b/.github/workflows/apt/amd64.json
@@ -0,0 +1,82 @@
+[
+ {
+ "distribution": "Bionic",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl1.0-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.6, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg, libcec4",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 18.04 (Bionic Beaver) (amd64)"
+ },
+ {
+ "distribution": "Focal",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.8, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec4",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 20.04 (Focal Fossa) (amd64)"
+ },
+ {
+ "distribution": "Groovy",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.8, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 20.10 (Groovy Gorilla) (amd64)"
+ },
+ {
+ "distribution": "Hirsute",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 21.04 (Hirsute Hippo) (amd64)"
+ },
+ {
+ "distribution": "Impish",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 21.10 (Impish Indri) (amd64)"
+ },
+ {
+ "distribution": "Jammy",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 22.04 (Jammy Jellyfish) (amd64)"
+ },
+ {
+ "distribution": "Stretch",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl1.0-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.5, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg0, libcec4",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 9.x (Stretch) (amd64)"
+ },
+ {
+ "distribution": "Buster",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.7, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec4",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 10.x (Buster) (amd64)"
+ },
+ {
+ "distribution": "Bullseye",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 11.x (Bullseye) (amd64)"
+ },
+ {
+ "distribution": "Bookworm",
+ "architecture": "amd64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 12.x (Bookworm) (amd64)"
+ }
+]
diff --git a/.github/workflows/apt/arm64.json b/.github/workflows/apt/arm64.json
new file mode 100644
index 00000000..ba6f5e6a
--- /dev/null
+++ b/.github/workflows/apt/arm64.json
@@ -0,0 +1,50 @@
+[
+ {
+ "distribution": "Bionic",
+ "architecture": "arm64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl1.0-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.6, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg, libcec4",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 18.04 (Bionic Beaver) (arm64)"
+ },
+ {
+ "distribution": "Focal",
+ "architecture": "arm64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.8, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec4",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 20.04 (Focal Fossa) (arm64)"
+ },
+ {
+ "distribution": "Hirsute",
+ "architecture": "arm64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 21.04 (Hirsute Hippo) (arm64)"
+ },
+ {
+ "distribution": "Impish",
+ "architecture": "arm64",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 21.10 (Impish Indri) (arm64)"
+ },
+ {
+ "distribution": "Buster",
+ "architecture": "arm64",
+ "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
+ "package-depends": "libpython3.7, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec4",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 10.x (Buster) (arm64)"
+ },
+ {
+ "distribution": "Bullseye",
+ "architecture": "arm64",
+ "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 11.x (Bullseye) (arm64)"
+ }
+]
diff --git a/.github/workflows/apt/armhf.json b/.github/workflows/apt/armhf.json
new file mode 100644
index 00000000..3dc8b6d3
--- /dev/null
+++ b/.github/workflows/apt/armhf.json
@@ -0,0 +1,66 @@
+[
+ {
+ "distribution": "Bionic",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl1.0-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.6, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg, libcec4",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 18.04 (Bionic Beaver) (armhf)"
+ },
+ {
+ "distribution": "Focal",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.8, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec4",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 20.04 (Focal Fossa) (armhf)"
+ },
+ {
+ "distribution": "Hirsute",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 21.04 (Hirsute Hippo) (armhf)"
+ },
+ {
+ "distribution": "Impish",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, build-essential, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, libqt5x11extras5-dev, libusb-1.0-0-dev, python3-dev, libcec-dev, libxcb-image0-dev, libxcb-util0-dev, libxcb-shm0-dev, libxcb-render0-dev, libxcb-randr0-dev, libxrandr-dev, libxrender-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, libturbojpeg0-dev, libssl-dev, zlib1g-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg, libcec6",
+ "cmake-environment": "-DENABLE_DISPMANX=OFF -DENABLE_X11=ON -DENABLE_XCB=ON -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Ubuntu 21.10 (Impish Indri) (armhf)"
+ },
+ {
+ "distribution": "Stretch",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
+ "package-depends": "libpython3.5, libusb-1.0-0, libqt5widgets5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls10, libturbojpeg0, libcec4",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description":"Debian 9.x (Stretch) (armhf)"
+ },
+ {
+ "distribution": "Buster",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl1.0-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
+ "package-depends": "libpython3.7, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec4",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 10.x (Buster) (armhf)"
+ },
+ {
+ "distribution": "Bullseye",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 11.x (Bullseye) (armhf)"
+ },
+ {
+ "distribution": "Bookworm",
+ "architecture": "armhf",
+ "build-depends": "git, cmake, python3-dev, qtbase5-dev, libqt5serialport5-dev, libqt5sql5-sqlite, libqt5svg5-dev, build-essential, libusb-1.0-0-dev, libcec-dev, libavahi-core-dev, libavahi-compat-libdnssd-dev, zlib1g-dev, libssl-dev, libraspberrypi-dev, libturbojpeg0-dev, libmbedtls-dev",
+ "package-depends": "libpython3.9, libusb-1.0-0, libqt5widgets5, libqt5x11extras5, libqt5sql5, libqt5sql5-sqlite, libqt5serialport5, libavahi-compat-libdnssd1, libmbedtls12, libturbojpeg0, libcec6",
+ "cmake-environment": "-DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release",
+ "description": "Debian 12.x (Bookworm) (armhf)"
+ }
+]
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 76624460..665320ac 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -33,7 +33,7 @@ jobs:
- name: Set nightly matrix
id: nightly-ppa
run: |
- NIGHTLY=$(echo $(cat .github/workflows/apt.json) | jq --compact-output .)
+ NIGHTLY=$(jq -n '.include |= [inputs[]]' .github/workflows/apt/*.json --compact-output)
echo "::set-output name=nightly::$NIGHTLY"
outputs:
nightly-matrix: ${{ steps.nightly-ppa.outputs.nightly }}
diff --git a/Installation.md b/Installation.md
index 57e14503..18f58d79 100644
--- a/Installation.md
+++ b/Installation.md
@@ -5,24 +5,29 @@ This page contains general installation steps for Hyperion. For Linux please fol
## Linux:
On the following operating systems, Hyperion can currently be installed/updated using the method listed below:
-- Raspbian Stretch/Raspberry Pi OS and later (armhf)
-- Debian Stretch (9) and later (armhf/x64)
-- Ubuntu 18.04 and later (x64)
+- Raspbian Stretch/Raspberry Pi OS and later (armhf/arm64)
+- Debian Stretch (9) and later (armhf/arm64/x86_64)
+- Ubuntu 18.04 and later (armhf/arm64/x86_64)
***
### Install Hyperion:
-1. Add Hyperion’s official GPG key:
+1. Add necessary packages for the installation:
+```bash
+sudo apt-get update && sudo apt-get install wget gpg apt-transport-https lsb-release
+```
+
+2. Add Hyperion’s official GPG key:
```bash
wget -qO- https://apt.hyperion-project.org/hyperion.pub.key | sudo gpg --dearmor -o /usr/share/keyrings/hyperion.pub.gpg
```
-2. Add Hyperion-Project to your APT sources:
+3. Add Hyperion-Project to your APT sources:
```bash
echo "deb [signed-by=/usr/share/keyrings/hyperion.pub.gpg] https://apt.hyperion-project.org/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hyperion.list
```
-3. Update your local package index and install Hyperion:
+4. Update your local package index and install Hyperion:
```bash
sudo apt-get update && sudo apt-get install hyperion
```
diff --git a/README.md b/README.md
index 91922902..3a9943f9 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
## About Hyperion
-[Hyperion](https://github.com/hyperion-project/hyperion.ng) is an opensource [Bias or Ambient Lighting](https://en.wikipedia.org/wiki/Bias_lighting) implementation which you might know from TV manufacturers. It supports many LED devices and video grabbers. The project is still in a alpha development stage (no stable release available).
+[Hyperion](https://github.com/hyperion-project/hyperion.ng) is an opensource [Bias or Ambient Lighting](https://en.wikipedia.org/wiki/Bias_lighting) implementation which you might know from TV manufacturers. It supports many LED devices and video grabbers.
![Screenshot](doc/screenshot.png)
@@ -53,7 +53,7 @@ Released and unreleased changes at [Changelog.md](CHANGELOG.md)
See [CompileHowto](doc/development/CompileHowto.md).
## Download
-Alpha releases available from the [Hyperion release page](https://github.com/hyperion-project/hyperion.ng/releases)
+Releases available from the [Hyperion release page](https://github.com/hyperion-project/hyperion.ng/releases)
## License
The source is released under MIT-License (see https://opensource.org/licenses/MIT).
diff --git a/bin/scripts/docker-compile.sh b/bin/scripts/docker-compile.sh
index 556292f7..0be2596f 100755
--- a/bin/scripts/docker-compile.sh
+++ b/bin/scripts/docker-compile.sh
@@ -10,7 +10,7 @@ BUILD_TYPE="Release"
# the docker image at GitHub Container Registry
BUILD_IMAGE="x86_64"
# the docker tag at GitHub Container Registry
-BUILD_TAG="buster"
+BUILD_TAG="bullseye"
# build packages (.deb .zip ...)
BUILD_PACKAGES=true
# packages string inserted to cmake cmd
@@ -70,7 +70,7 @@ echo "########################################################
#
# docker-compile.sh -h # Show this help message
# docker-compile.sh -i x86_64 # The docker image, one of x86_64 | armv6l | armv7l | rpi-raspbian
-# docker-compile.sh -t stretch # The docker tag, stretch or buster
+# docker-compile.sh -t buster # The docker tag, stretch, buster or bullseye
# docker-compile.sh -b Release # cmake Release or Debug build
# docker-compile.sh -p true # If true, build packages with CPack
# docker-compile.sh -l # Run build using local code files
@@ -95,10 +95,10 @@ do
t) BUILD_TAG=${OPTARG};;
b) BUILD_TYPE=${OPTARG};;
p) BUILD_PACKAGES=${OPTARG};;
- f) BUILD_PLATFORM=${OPTARG,,};;
+ f) BUILD_PLATFORM=${OPTARG,,};;
l) BUILD_LOCAL=1;;
c) BUILD_INCREMENTAL=1;;
- v) _VERBOSE=1;;
+ v) _VERBOSE=1;;
h) printHelp; exit 0;;
esac
done
@@ -181,7 +181,7 @@ if [ ${DOCKERRC} == 0 ]; then
if [ ${BUILD_PACKAGES} == "true" ]; then
echo "---> Copying packages to host folder: ${DEPLOY_PATH}" &&
- cp -v ${BUILD_PATH}/Hyperion-* ${DEPLOY_PATH} 2>/dev/null
+ cp -v ${BUILD_PATH}/Hyperion-* ${DEPLOY_PATH} 2>/dev/null
echo "---> Find deployment packages in: ${DEPLOY_PATH}"
sudo chown -fR $(stat -c "%U:%G" ${BASE_PATH}) ${DEPLOY_PATH}
fi
diff --git a/cmake/packages.cmake b/cmake/packages.cmake
index 7b25f20e..346d21bf 100644
--- a/cmake/packages.cmake
+++ b/cmake/packages.cmake
@@ -30,6 +30,13 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
endif()
endif()
+# Overwrite CMAKE_SYSTEM_PROCESSOR for Windows (visual)
+if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "AMD64")
+ if(${CMAKE_HOST_WIN32})
+ set(CMAKE_SYSTEM_PROCESSOR "x64")
+ endif()
+endif()
+
# Apply to all packages, some of these can be overwritten with generator specific content
# https://cmake.org/cmake/help/v3.5/module/CPack.html
diff --git a/debian/distributions b/debian/distributions
index 57fe85de..317c2bb2 100644
--- a/debian/distributions
+++ b/debian/distributions
@@ -1,7 +1,7 @@
Origin: Hyperion-Project
Label: apt.hyperion-project.org
Codename: bionic
-Architectures: amd64
+Architectures: amd64 armhf arm64
Components: main
Description: Official APT Repository by Hyperion Project
SignWith: yes
@@ -9,7 +9,7 @@ SignWith: yes
Origin: Hyperion-Project
Label: apt.hyperion-project.org
Codename: focal
-Architectures: amd64
+Architectures: amd64 armhf arm64
Components: main
Description: Official APT Repository by Hyperion Project
SignWith: yes
@@ -25,7 +25,7 @@ SignWith: yes
Origin: Hyperion-Project
Label: apt.hyperion-project.org
Codename: hirsute
-Architectures: amd64
+Architectures: amd64 armhf arm64
Components: main
Description: Official APT Repository by Hyperion Project
SignWith: yes
@@ -33,6 +33,14 @@ SignWith: yes
Origin: Hyperion-Project
Label: apt.hyperion-project.org
Codename: impish
+Architectures: amd64 armhf arm64
+Components: main
+Description: Official APT Repository by Hyperion Project
+SignWith: yes
+
+Origin: Hyperion-Project
+Label: apt.hyperion-project.org
+Codename: jammy
Architectures: amd64
Components: main
Description: Official APT Repository by Hyperion Project
@@ -40,7 +48,7 @@ SignWith: yes
Origin: Hyperion-Project
Label: apt.hyperion-project.org
-Suite: oldstable
+Suite: oldoldstable
Codename: stretch
Architectures: armhf amd64
Components: main
@@ -49,9 +57,18 @@ SignWith: yes
Origin: Hyperion-Project
Label: apt.hyperion-project.org
-Suite: stable
+Suite: oldstable
Codename: buster
-Architectures: armhf amd64
+Architectures: amd64 armhf arm64
+Components: main
+Description: Official APT Repository by Hyperion Project
+SignWith: yes
+
+Origin: Hyperion-Project
+Label: apt.hyperion-project.org
+Suite: stable
+Codename: bullseye
+Architectures: amd64 armhf arm64
Components: main
Description: Official APT Repository by Hyperion Project
SignWith: yes
@@ -59,7 +76,7 @@ SignWith: yes
Origin: Hyperion-Project
Label: apt.hyperion-project.org
Suite: unstable
-Codename: bullseye
+Codename: bookworm
Architectures: armhf amd64
Components: main
Description: Official APT Repository by Hyperion Project
diff --git a/debian/rules b/debian/rules.in
old mode 100755
new mode 100644
similarity index 82%
rename from debian/rules
rename to debian/rules.in
index aee926b0..a8d28d84
--- a/debian/rules
+++ b/debian/rules.in
@@ -5,7 +5,7 @@ BUILDDIR = build
build:
mkdir $(BUILDDIR);
- cd $(BUILDDIR); cmake -DUSE_SYSTEM_MBEDTLS_LIBS=ON -DENABLE_DEPLOY_DEPENDENCIES=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../debian/tmp/usr ..
+ cd $(BUILDDIR); cmake @CMAKE_ENVIRONMENT@ -DCMAKE_INSTALL_PREFIX=../debian/tmp/usr ..
make -j4 -C $(BUILDDIR)
binary: binary-indep binary-arch
diff --git a/dependencies/external/flatbuffers b/dependencies/external/flatbuffers
index c8fa0afd..fd4ff23d 160000
--- a/dependencies/external/flatbuffers
+++ b/dependencies/external/flatbuffers
@@ -1 +1 @@
-Subproject commit c8fa0afdfc907452edbf2f5f3110f2f673fc4a70
+Subproject commit fd4ff23da05b282d12a485b203f8176c9f4ffdf0
diff --git a/dependencies/external/rpi_ws281x b/dependencies/external/rpi_ws281x
index 3a20f1bd..55d79246 160000
--- a/dependencies/external/rpi_ws281x
+++ b/dependencies/external/rpi_ws281x
@@ -1 +1 @@
-Subproject commit 3a20f1bdd740a144de180a07d8d3317920459d2d
+Subproject commit 55d79246519418638be131ad53888829e65c414c
diff --git a/doc/development/CompileHowto.md b/doc/development/CompileHowto.md
index dc7925b3..7c5fca3e 100644
--- a/doc/development/CompileHowto.md
+++ b/doc/development/CompileHowto.md
@@ -15,6 +15,10 @@ wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/
```console
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i rpi-raspbian -t buster
```
+**Raspberry Pi OS Bullseye**
+```console
+wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i rpi-raspbian -t bullseye
+```
## Cross compilation on x86_64 for:
@@ -26,6 +30,10 @@ wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/
```console
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i x86_64 -t buster
```
+**x86_64 (Debian Bullseye):**
+```console
+wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i x86_64 -t bullseye
+```
**Raspberry Pi v1 & ZERO (Debian Stretch)**
```console
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i armv6l
@@ -34,6 +42,10 @@ wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/
```console
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i armv6l -t buster
```
+**Raspberry Pi v1 & ZERO (Debian Bullseye)**
+```console
+wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i armv6l -t bullseye
+```
**Raspberry Pi 2/3/4 (Debian Stretch)**
```console
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i armv7l
@@ -42,15 +54,19 @@ wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/
```console
wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i armv7l -t buster
```
+**Raspberry Pi 2/3/4 (Debian Bullseye)**
+```console
+wget -qN https://raw.github.com/hyperion-project/hyperion.ng/master/bin/scripts/docker-compile.sh && chmod +x *.sh && ./docker-compile.sh -i armv7l -t bullseye
+```
## Cross compilation on x86_64 for developers
Using additional options you can cross compile locally
-l: use a local hyperion source code directory rather than cloning from GitHub
-c: do incremental compiles, Note: you need to keep the image and tag stable
-**Compile code in $HYPERION_HOME incrementally for Raspberry Pi 2/3/4 (Debian Buster)**
+**Compile code in $HYPERION_HOME incrementally for Raspberry Pi 2/3/4 (Debian Bullseye)**
```console
cd $HYPERION_HOME
-./bin/scripts/docker-compile.sh -l -c -i armv7l -t buster
+./bin/scripts/docker-compile.sh -l -c -i armv7l -t bullseye
```
# The usual way
diff --git a/doc/development/SupportedPlatforms.md b/doc/development/SupportedPlatforms.md
index 93525e73..9647a271 100644
--- a/doc/development/SupportedPlatforms.md
+++ b/doc/development/SupportedPlatforms.md
@@ -8,11 +8,11 @@ In case of problems, it is recommended checking with the wider Hyperion communit
|-----------|-----------------|--------------------|-----------------------------------------|-------------------------------------------------------------------------------|------------------------------------|
| X64 | Windows | 10 | QT¹ | [Windows-AMD64.exe](https://github.com/hyperion-project/hyperion.ng/releases) | Direct X9 Grabber via self-compile |
| X64 | Ubuntu | 18.04, 20.04² | QT¹
XCB/X11¹ | [Linux-x86_64.deb](https://github.com/hyperion-project/hyperion.ng/releases) | |
-| X64 | Debian | 9, 10³ | QT¹
XCB/X11¹ | [Linux-x86_64.deb](https://github.com/hyperion-project/hyperion.ng/releases) | |
-| RPi 4 | HyperBian | 9, 10³ | QT¹
XCB/X11¹
DispmanX | [HyperBian.zip](https://github.com/Hyperion-Project/HyperBian/releases) | |
-| RPi 4 | Raspberry Pi OS | 9, 10³ | QT¹
XCB/X11¹
DispmanX | [Linux-armv7l.deb](https://github.com/hyperion-project/hyperion.ng/releases) | |
-| RPi 3 /3+ | HyperBian | 9, 10³ | QT¹
XCB/X11¹
DispmanX | [HyperBian.zip](https://github.com/hyperion-project/hyperion.ng/releases) | |
-| RPi 3 /3+ | Raspberry Pi OS | 9, 10³ | QT¹
XCB/X11¹
DispmanX | [Linux-armv7l.deb](https://github.com/hyperion-project/hyperion.ng/releases) | |
+| X64 | Debian | 9, 10, 11³ | QT¹
XCB/X11¹ | [Linux-x86_64.deb](https://github.com/hyperion-project/hyperion.ng/releases) | |
+| RPi 4 | HyperBian | 9, 10, 11³ | QT¹
XCB/X11¹
DispmanX | [HyperBian.zip](https://github.com/Hyperion-Project/HyperBian/releases) | |
+| RPi 4 | Raspberry Pi OS | 9, 10, 11³ | QT¹
XCB/X11¹
DispmanX | [Linux-armv7l.deb](https://github.com/hyperion-project/hyperion.ng/releases) | |
+| RPi 3 /3+ | HyperBian | 9, 10, 11³ | QT¹
XCB/X11¹
DispmanX | [HyperBian.zip](https://github.com/hyperion-project/hyperion.ng/releases) | |
+| RPi 3 /3+ | Raspberry Pi OS | 9, 10, 11³ | QT¹
XCB/X11¹
DispmanX | [Linux-armv7l.deb](https://github.com/hyperion-project/hyperion.ng/releases) | |
## Unofficial
In case you have an additional working setups you would like to share with the community, please get in touch or issue a PR to have the table updated.
@@ -22,7 +22,7 @@ In case you have an additional working setups you would like to share with the c
| X64 | macOS | 11 | QT
OSX | [macOS-x86_64.tar.gz](https://github.com/hyperion-project/hyperion.ng/releases) | M1 not tested |
| X64 | Fedora | | QT¹
XCB/X11¹ | [Linux-x86_64.rpm](https://github.com/hyperion-project/hyperion.ng/releases) | |
| X64 | Arch | | QT¹
XCB/X11¹ | [Linux-x86_64.rpm](https://github.com/hyperion-project/hyperion.ng/releases) | |
-| RPi 0/ 1 / 2 | Raspberry Pi OS | 9, 10³ | QT¹
XCB/X11¹
DispmanX | [Linux-armv6l.tar.gz](https://github.com/hyperion-project/hyperion.ng/releases) | No recommended |
+| RPi 0/ 1 / 2 | Raspberry Pi OS | 9, 10, 11³ | QT¹
XCB/X11¹
DispmanX | [Linux-armv6l.tar.gz](https://github.com/hyperion-project/hyperion.ng/releases) | No recommended |
| RPi 4 | LibreElec | 10.x (Matrix) | QT¹ | [Linux-armv7l.tar.gz](https://github.com/hyperion-project/hyperion.ng/releases) | [Install on LibreELEC](https://hyperion-project.org/forum/index.php?thread/10463-install-hyperion-ng-on-libreelec-x86-64-rpi-inoffiziell-unofficially/) |
| RPi 4 | LibreElec | 9.2.x (Leia) | QT¹
DispmanX | [Linux-armv7l.tar.gz](https://github.com/hyperion-project/hyperion.ng/releases) | [Install on LibreELEC](https://hyperion-project.org/forum/index.php?thread/10463-install-hyperion-ng-on-libreelec-x86-64-rpi-inoffiziell-unofficially/) |
| RPi 3 /3+ | LibreElec | 10.x (Matrix) | QT¹ | [Linux-armv7l.tar.gz](https://github.com/hyperion-project/hyperion.ng/releases) | [Install on LibreELEC](https://hyperion-project.org/forum/index.php?thread/10463-install-hyperion-ng-on-libreelec-x86-64-rpi-inoffiziell-unofficially/) |
@@ -35,6 +35,5 @@ In case you have an additional working setups you would like to share with the c
Legend
---
¹ Requires an environment with `DISPLAY` defined\
-² 18=Bionic Beaver 20=Focal Fossa\
-³ 9=Stretch, 10=Buster
-
+² 18=Bionic Beaver, 20=Focal Fossa\
+³ 9=Stretch, 10=Buster, 11=Bullseye
diff --git a/libsrc/api/CMakeLists.txt b/libsrc/api/CMakeLists.txt
index d98c28c0..003e4bd7 100644
--- a/libsrc/api/CMakeLists.txt
+++ b/libsrc/api/CMakeLists.txt
@@ -1,11 +1,13 @@
# Find the BCM-package (VC control)
-IF ( "${PLATFORM}" MATCHES rpi)
- find_package(BCM REQUIRED)
- include_directories(${BCM_INCLUDE_DIRS})
-ELSE()
- SET(BCM_INCLUDE_DIRS "")
- SET(BCM_LIBRARIES "")
-ENDIF()
+if (ENABLE_DISPMANX)
+ if ( "${PLATFORM}" MATCHES rpi)
+ find_package(BCM REQUIRED)
+ include_directories(${BCM_INCLUDE_DIRS})
+ else()
+ set(BCM_INCLUDE_DIRS "")
+ set(BCM_LIBRARIES "")
+ endif()
+endif (ENABLE_DISPMANX)
# Define the current source locations
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index d1fae2af..004cda45 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -3,7 +3,7 @@ base: core20
summary: The successor to Hyperion aka Hyperion Next Generation
description: |
Hyperion is an opensource Bias or Ambient Lighting implementation which you might know from TV manufacturers.
- It supports many LED devices and video grabbers. The project is still in a alpha development stage.
+ It supports many LED devices and video grabbers.
license: MIT
icon: resources/icons/hyperion-icon-512px.png
diff --git a/src/hyperiond/CMakeLists.txt b/src/hyperiond/CMakeLists.txt
index 659c90a3..4c88779f 100644
--- a/src/hyperiond/CMakeLists.txt
+++ b/src/hyperiond/CMakeLists.txt
@@ -171,6 +171,7 @@ if (CMAKE_HOST_UNIX AND NOT APPLE)
install( CODE "EXECUTE_PROCESS(COMMAND ln -sf \"../share/hyperion/bin/${PROJECT_NAME}\" \"${CMAKE_BINARY_DIR}/symlink_${PROJECT_NAME}\" )" COMPONENT "Hyperion" )
install( FILES "${CMAKE_BINARY_DIR}/symlink_${PROJECT_NAME}" DESTINATION "bin" RENAME ${PROJECT_NAME} COMPONENT "Hyperion" )
install( CODE "FILE (REMOVE ${CMAKE_BINARY_DIR}/symlink_${PROJECT_NAME})" COMPONENT "Hyperion" )
+ install( FILES ${CMAKE_SOURCE_DIR}/bin/scripts/updateHyperionUser.sh DESTINATION "share/hyperion/scripts" COMPONENT "Hyperion" )
endif()
# Deploy Qt DLLs into the binary folder.