From 258934e946c1aae4d8b30962eec3c15d91182160 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 15 Sep 2023 15:41:10 +0200 Subject: [PATCH 1/9] gpiozero: allow building on aarch64 as well Signed-off-by: Matthias Reichl --- .../addons/addon-depends/rpi-tools-depends/gpiozero/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk b/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk index a4d8315870..9eb98ef37f 100644 --- a/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk +++ b/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk @@ -4,7 +4,7 @@ PKG_NAME="gpiozero" PKG_VERSION="1.6.2" PKG_SHA256="0eb95a9db372146813276f92de7f43c883a3e9fe69597fc3d29c04ef3d5d5f9e" -PKG_ARCH="arm" +PKG_ARCH="arm aarch64" PKG_LICENSE="BSD" PKG_SITE="https://github.com/RPi-Distro/python-gpiozero" PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz" From fa281bdf7b8426e009a550444323feab2674b79c Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 15 Sep 2023 15:41:54 +0200 Subject: [PATCH 2/9] colorzero: allow building on aarch64 as well Signed-off-by: Matthias Reichl --- .../addons/addon-depends/rpi-tools-depends/colorzero/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/addon-depends/rpi-tools-depends/colorzero/package.mk b/packages/addons/addon-depends/rpi-tools-depends/colorzero/package.mk index 71bc6ba181..5084fb78ea 100644 --- a/packages/addons/addon-depends/rpi-tools-depends/colorzero/package.mk +++ b/packages/addons/addon-depends/rpi-tools-depends/colorzero/package.mk @@ -4,7 +4,7 @@ PKG_NAME="colorzero" PKG_VERSION="2.0" PKG_SHA256="86c9933b004aec8ce1c476d1d1129e00325c7724df3c09aa353d5f8e883ed08d" -PKG_ARCH="arm" +PKG_ARCH="arm aarch64" PKG_LICENSE="BSD" PKG_SITE="https://github.com/waveform80/colorzero" PKG_URL="https://github.com/waveform80/colorzero/archive/release-${PKG_VERSION}.tar.gz" From f6421e194263ad22e5e51505f2668bfe67d99735 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 15 Sep 2023 15:48:09 +0200 Subject: [PATCH 3/9] lan951x-led-ctl: allow building on aarch64 as well Signed-off-by: Matthias Reichl --- .../addon-depends/rpi-tools-depends/lan951x-led-ctl/package.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/addons/addon-depends/rpi-tools-depends/lan951x-led-ctl/package.mk b/packages/addons/addon-depends/rpi-tools-depends/lan951x-led-ctl/package.mk index fd0f07ab25..9d6ebfe57d 100644 --- a/packages/addons/addon-depends/rpi-tools-depends/lan951x-led-ctl/package.mk +++ b/packages/addons/addon-depends/rpi-tools-depends/lan951x-led-ctl/package.mk @@ -4,7 +4,7 @@ PKG_NAME="lan951x-led-ctl" PKG_VERSION="1.0" PKG_SHA256="27d607d3c5c7b142681dcd9fd0afecb7fcb052abfaffc330b28906f782e602f3" -PKG_ARCH="arm" +PKG_ARCH="arm aarch64" PKG_LICENSE="GPL" PKG_SITE="https://familie-radermacher.ch/dominic/computer/raspberry-pi/lan951x-led-ctl/" PKG_URL="https://mockmoon-cybernetics.ch/cgi/cgit/lan951x-led-ctl.git/snapshot/lan951x-led-ctl-${PKG_VERSION}.tar.xz" From 8b83afb5c87269996ea2483d752e60b87d395d2b Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 20 Oct 2023 19:12:02 +0200 Subject: [PATCH 4/9] lg-gpio: add new package Signed-off-by: Matthias Reichl --- .../rpi-tools-depends/lg-gpio/package.mk | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/addons/addon-depends/rpi-tools-depends/lg-gpio/package.mk diff --git a/packages/addons/addon-depends/rpi-tools-depends/lg-gpio/package.mk b/packages/addons/addon-depends/rpi-tools-depends/lg-gpio/package.mk new file mode 100644 index 0000000000..24ba713d80 --- /dev/null +++ b/packages/addons/addon-depends/rpi-tools-depends/lg-gpio/package.mk @@ -0,0 +1,29 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="lg-gpio" +PKG_VERSION="0.2.2" +#PKG_SHA256="cd61c4b03c37b62bba4a5acfea9862749c33c618e0295e7e90aa4713fb373b70" +PKG_LICENSE="Unlicense" +PKG_SITE="http://abyz.me.uk/lg/" +PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain Python3 swig:host distutilscross:host" +PKG_LONGDESC="A library for Linux Single Board Computers (SBC) which allows control of the General Purpose Input Outputs (GPIO)" +PKG_TOOLCHAIN="manual" + +pre_configure_target() { + export PYTHONXCPREFIX="${SYSROOT_PREFIX}/usr" + export CFLAGS="${CFLAGS} -I${PKG_BUILD}" + export LDFLAGS="${CFLAGS} -L${PKG_BUILD}" + export LDSHARED="${CC} -shared" +} + +make_target() { + make liblgpio.so CROSS_PREFIX=${TARGET_KERNEL_PREFIX} + ( + cd PY_LGPIO + swig -python lgpio.i + python setup.py build + ) +} + From 9eeb634fcb52d4a710f982101e2f92be22ae2963 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 20 Oct 2023 23:58:40 +0200 Subject: [PATCH 5/9] gpiozero: update to 2.0 Signed-off-by: Matthias Reichl --- .../addon-depends/rpi-tools-depends/gpiozero/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk b/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk index 9eb98ef37f..d1f4c4a5c6 100644 --- a/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk +++ b/packages/addons/addon-depends/rpi-tools-depends/gpiozero/package.mk @@ -2,8 +2,8 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="gpiozero" -PKG_VERSION="1.6.2" -PKG_SHA256="0eb95a9db372146813276f92de7f43c883a3e9fe69597fc3d29c04ef3d5d5f9e" +PKG_VERSION="2.0" +PKG_SHA256="403bcc9e7f24f0877653e7fced91ba51508d5197c9d1f80e383fe6693b9c3c27" PKG_ARCH="arm aarch64" PKG_LICENSE="BSD" PKG_SITE="https://github.com/RPi-Distro/python-gpiozero" From 2e51d09a380091de2d231fbdd03e25dd0a9d56f2 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 20 Oct 2023 23:58:54 +0200 Subject: [PATCH 6/9] rpi-tools: switch from RPi.GPIO to lg-gpio and build on aarch64 as well Signed-off-by: Matthias Reichl --- packages/addons/tools/rpi-tools/package.mk | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/packages/addons/tools/rpi-tools/package.mk b/packages/addons/tools/rpi-tools/package.mk index cd85a71737..69582a10f3 100644 --- a/packages/addons/tools/rpi-tools/package.mk +++ b/packages/addons/tools/rpi-tools/package.mk @@ -3,15 +3,15 @@ PKG_NAME="rpi-tools" PKG_VERSION="1.0" -PKG_REV="0" -PKG_ARCH="arm" +PKG_REV="1" +PKG_ARCH="arm aarch64" PKG_LICENSE="GPL" PKG_SITE="https://libreelec.tv" PKG_URL="" -PKG_DEPENDS_TARGET="toolchain RPi.GPIO gpiozero colorzero lan951x-led-ctl" +PKG_DEPENDS_TARGET="toolchain lg-gpio gpiozero colorzero lan951x-led-ctl patchelf:host" PKG_SECTION="virtual" PKG_SHORTDESC="A bundle of tools and programs for use on the Raspberry Pi" -PKG_LONGDESC="This bundle currently includes RPi.GPIO, gpiozero and lan951x-led-ctl" +PKG_LONGDESC="This bundle currently includes lg-gpio, gpiozero and lan951x-led-ctl" PKG_DISCAIMER="Raspberry Pi is a trademark of the Raspberry Pi Foundation http://www.raspberrypi.org" PKG_IS_ADDON="yes" @@ -21,8 +21,10 @@ PKG_ADDON_PROJECTS="RPi ARM" addon() { - mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/RPi/ - cp -PR $(get_build_dir RPi.GPIO)/build/lib.linux-*/RPi/* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/RPi + mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/ + cp -PR $(get_build_dir lg-gpio)/liblgpio.so* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/ + cp -PR $(get_build_dir lg-gpio)/PY_LGPIO/build/lib.linux*/* ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/ + patchelf --add-rpath '$ORIGIN' ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/_lgpio*.so cp -PR $(get_build_dir gpiozero)/gpiozero ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/ cp -PR $(get_build_dir colorzero)/colorzero ${ADDON_BUILD}/${PKG_ADDON_ID}/lib/ From ab355901148de0e012930849885560ee375278dd Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 20 Oct 2023 23:58:59 +0200 Subject: [PATCH 7/9] RPi.GPIO: drop package Signed-off-by: Matthias Reichl --- .../rpi-tools-depends/RPi.GPIO/package.mk | 24 ------------------- 1 file changed, 24 deletions(-) delete mode 100644 packages/addons/addon-depends/rpi-tools-depends/RPi.GPIO/package.mk diff --git a/packages/addons/addon-depends/rpi-tools-depends/RPi.GPIO/package.mk b/packages/addons/addon-depends/rpi-tools-depends/RPi.GPIO/package.mk deleted file mode 100644 index cca6417299..0000000000 --- a/packages/addons/addon-depends/rpi-tools-depends/RPi.GPIO/package.mk +++ /dev/null @@ -1,24 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="RPi.GPIO" -PKG_VERSION="0.7.1" -PKG_SHA256="cd61c4b03c37b62bba4a5acfea9862749c33c618e0295e7e90aa4713fb373b70" -PKG_ARCH="arm" -PKG_LICENSE="MIT" -PKG_SITE="https://sourceforge.net/projects/raspberry-gpio-python/" -PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="A module to control Raspberry Pi GPIO channels." -PKG_TOOLCHAIN="manual" - -pre_configure_target() { - export PYTHONXCPREFIX="${SYSROOT_PREFIX}/usr" - export LDSHARED="${CC} -shared" - export CFLAGS="${CFLAGS} -fcommon" - export CPPFLAGS="${TARGET_CPPFLAGS} -I${SYSROOT_PREFIX}/usr/include/${PKG_PYTHON_VERSION}" -} - -make_target() { - python3 setup.py build -} From e65a0060e7c972ab166ab654543dfba8e3f32ed1 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Fri, 20 Oct 2023 23:59:57 +0200 Subject: [PATCH 8/9] adafruit-libraries: drop addon and depends Those python packages have been deprecated ages ago since they were never ported to Python 3. Time to say good bye and as no one reported they were broken very likely no one used them so no need to add a dummy "broken" addon. Signed-off-by: Matthias Reichl --- .../Adafruit_Python_ADS1x15/package.mk | 13 ------ .../Adafruit_Python_ADXL345/package.mk | 12 ----- .../Adafruit_Python_BMP/package.mk | 12 ----- .../Adafruit_Python_CharLCD/package.mk | 12 ----- .../Adafruit_Python_DHT/package.mk | 32 -------------- .../Adafruit_Python_GPIO/package.mk | 12 ----- .../Adafruit_Python_LED_Backpack/package.mk | 12 ----- .../Adafruit_Python_LSM303/package.mk | 12 ----- .../Adafruit_Python_MCP3008/package.mk | 12 ----- .../Adafruit_Python_MCP4725/package.mk | 12 ----- .../Adafruit_Python_PCA9685/package.mk | 12 ----- .../Adafruit_Python_PureIO/package.mk | 12 ----- .../Adafruit_Python_SI1145/package.mk | 12 ----- .../Adafruit_Python_SSD1306/package.mk | 12 ----- .../Adafruit_Python_TCS34725/package.mk | 12 ----- .../Adafruit_Python_VCNL40xx/package.mk | 12 ----- .../Adafruit_Python_WS2801/package.mk | 12 ----- .../adafruit-libraries/changelog.txt | 1 - .../adafruit-libraries/icon/icon.png | Bin 19537 -> 0 bytes .../libraries/adafruit-libraries/package.mk | 41 ------------------ .../adafruit-libraries/source/default.py | 7 --- 21 files changed, 274 deletions(-) delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADS1x15/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADXL345/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_BMP/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_CharLCD/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_DHT/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_GPIO/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LED_Backpack/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LSM303/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP3008/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP4725/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PCA9685/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PureIO/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SI1145/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SSD1306/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_TCS34725/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_VCNL40xx/package.mk delete mode 100644 packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_WS2801/package.mk delete mode 100644 packages/addons/libraries/adafruit-libraries/changelog.txt delete mode 100644 packages/addons/libraries/adafruit-libraries/icon/icon.png delete mode 100644 packages/addons/libraries/adafruit-libraries/package.mk delete mode 100644 packages/addons/libraries/adafruit-libraries/source/default.py diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADS1x15/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADS1x15/package.mk deleted file mode 100644 index 0c8a88960b..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADS1x15/package.mk +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_ADS1x15" -PKG_VERSION="a963cc0ee83e2ba6d671b02df5febf7250f626aa" -PKG_SHA256="2f81a9a6b7b7f46b79faa5b01df0c25fa5f16af80842d74e35b5fbf01ab0c619" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the ADS1015 and ADS1115 analog to digital converters with a Raspberry Pi." -PKG_TOOLCHAIN="manual" - diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADXL345/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADXL345/package.mk deleted file mode 100644 index fefd2df3e0..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_ADXL345/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_ADXL345" -PKG_VERSION="dca3d90b5477a304fa130f5cc90ea59e3968ce6f" -PKG_SHA256="22ec0fc6679cc3e9b5f0aff5cfeef34cbbf13e59aecfb829c2f0dc2d90b5fb8b" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the ADXL345 triple-axis accelerometer over I2C with a Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_BMP/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_BMP/package.mk deleted file mode 100644 index 68f733057b..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_BMP/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_BMP" -PKG_VERSION="e8521e969afae3321d9789353d7e92ea9a5e9a56" -PKG_SHA256="e5e140c34e312f6a00c62b1bd47ebe3f1857009b1c202c18c7b092ebb2e1eb9c" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python library for accessing the BMP series pressure and temperature sensors like the BMP085/BMP180 on a Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_CharLCD/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_CharLCD/package.mk deleted file mode 100644 index d975b959d4..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_CharLCD/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_CharLCD" -PKG_VERSION="bc75cad284766240424f29dc8e7b84d0caceb72e" -PKG_SHA256="eae4b446162feb533a469a9dacf6e750250f925561c9f7983a11d340e1dd98d4" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python library for accessing Adafruit character LCDs from a Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_DHT/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_DHT/package.mk deleted file mode 100644 index e4fedee1a6..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_DHT/package.mk +++ /dev/null @@ -1,32 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_DHT" -PKG_VERSION="18846deec6a96572b3f2c4a9edfb5bac55b46f5b" -PKG_SHA256="9125f8f42b4874db257a45184b866e8b424aa67230d2ffbc734b53686da7817f" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python library to read the DHT series of humidity and temperature sensors on a Raspberry Pi." -PKG_TOOLCHAIN="manual" - -pre_make_target() { - export PYTHONXCPREFIX="${SYSROOT_PREFIX}/usr" - export LDSHARED="${CC} -shared" -} - -make_target() { - case "${PROJECT}:${DEVICE}" in - "RPi:RPi") - PKG_RPI_VERSION="--force-pi" - ;; - "RPi:RPi2") - PKG_RPI_VERSION="--force-pi2" - ;; - *) - PKG_RPI_VERSION="" - esac - - python3 setup.py build ${PKG_RPI_VERSION} --cross-compile -} diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_GPIO/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_GPIO/package.mk deleted file mode 100644 index 66f433ce69..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_GPIO/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_GPIO" -PKG_VERSION="c543d1df9c0a71bafb9f0a1f9dceecd79a920e74" -PKG_SHA256="d3cb74fd033ebe5aea1786a584d64ef5eb8082ef2bf0a568b01691612cd04e88" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Library to provide a cross-platform GPIO interface on the Raspberry Pi ." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LED_Backpack/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LED_Backpack/package.mk deleted file mode 100644 index b2dea34d42..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LED_Backpack/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_LED_Backpack" -PKG_VERSION="e34b9548e86e63747563a94f02b65b2980fdefff" -PKG_SHA256="244d2625cdaebdc68e299fedde276efa5c9f7c143681c4ee056fb8350a4f7167" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python library for controlling LED backpack displays." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LSM303/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LSM303/package.mk deleted file mode 100644 index 11c0ca32d6..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_LSM303/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_LSM303" -PKG_VERSION="37d288844515d7bb62a2329982eb033e92dceceb" -PKG_SHA256="609591f2add15e849d3bba320417c705a50a3ed077632baf20c12c8b740d5331" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the LSM303 accelerometer & magnetometer with Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP3008/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP3008/package.mk deleted file mode 100644 index 6b98f74467..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP3008/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_MCP3008" -PKG_VERSION="e721d26e650c99b0f6d3efd4ec30444e1adf5ccd" -PKG_SHA256="f5e4c847a87716c16f0209df95c281b5071549644a79a143a77b212f25c464dc" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the MCP3008 analog to digital converter with a Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP4725/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP4725/package.mk deleted file mode 100644 index 357869b27f..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_MCP4725/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_MCP4725" -PKG_VERSION="4d028bbcf58b011a8f14c5d95057b7e1dcc1064e" -PKG_SHA256="6ebbd1f76807b01dc2b723064e52b0c82fc45388265b8ec867e0a42a46a6e926" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the MCP4725 digital to analog converter with a Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PCA9685/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PCA9685/package.mk deleted file mode 100644 index ea54877d60..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PCA9685/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_PCA9685" -PKG_VERSION="f86db2ca5de379748afd71e379ce2155f47d21e7" -PKG_SHA256="46e11dcfbfaab5756ddeb6ab31740cf8c7419ec1d32be2519f19882e7d86e426" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the PCA9685 PWM servo/LED controller with a Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PureIO/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PureIO/package.mk deleted file mode 100644 index 4ca39414b5..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_PureIO/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_PureIO" -PKG_VERSION="6f4976d91c52d70b67b28bba75a429b5328a52c1" -PKG_SHA256="891a4d077fe6610de6aa4b0dc5b9933a6c7db3492072df60c0383662f28c2ae9" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Pure python access to Linux IO including I2C and SPI." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SI1145/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SI1145/package.mk deleted file mode 100644 index 2a7876c849..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SI1145/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_SI1145" -PKG_VERSION="18c400643b39dbf29ab7ff8e74ab0c5c36ef5cf1" -PKG_SHA256="0238b2c01cfbb2890ae78468d2fc19c815748fc94860a4eb92b649d074476264" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/THP-JOE/Python_SI1145" -PKG_URL="https://github.com/THP-JOE/Python_SI1145/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python library for accessing the SI1145 temperature sensor on a Raspberry Pi" -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SSD1306/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SSD1306/package.mk deleted file mode 100644 index b8af29e488..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_SSD1306/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_SSD1306" -PKG_VERSION="8819e2d203df49f2843059d981b7347d9881c82b" -PKG_SHA256="ed1163dee2fe6c0c2065a429e1d93cff7397a309071ff83714c84566739680a2" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="SSD1306 oled driver library for 'monochrome' 128x64 and 128x32 OLEDs." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_TCS34725/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_TCS34725/package.mk deleted file mode 100644 index cba9019c39..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_TCS34725/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_TCS34725" -PKG_VERSION="6306f90b4601237a852acef89eeecc1261ce38b3" -PKG_SHA256="f2c3218551da55d7fdbe2499a6ffa3a0b8ed1709e4402c6b0e0f37b17d4aa81f" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the TCS34725 color sensor with the Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_VCNL40xx/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_VCNL40xx/package.mk deleted file mode 100644 index d16e9da3ad..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_VCNL40xx/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_VCNL40xx" -PKG_VERSION="5c72575b7390fbedfae0b5fb2a881ca9efe9ca22" -PKG_SHA256="78346836965562720248138203a4af9dc6aa18815bda2a5b7842e3b9af9d1ea8" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to use the VCNL4000 & VCNL4010 proximity sensors with the Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_WS2801/package.mk b/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_WS2801/package.mk deleted file mode 100644 index d26f29e561..0000000000 --- a/packages/addons/addon-depends/adafruit-libraries-depends/Adafruit_Python_WS2801/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="Adafruit_Python_WS2801" -PKG_VERSION="d0c190715ffef1b00e5ffa2d7b7560e7f8ed4263" -PKG_SHA256="6219edb5c1d767ff950f5020bacdfb5ba608b4995eb14d6073fdec2f17f584cb" -PKG_LICENSE="MIT" -PKG_SITE="https://github.com/adafruit/${PKG_NAME}" -PKG_URL="https://github.com/adafruit/${PKG_NAME}/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python3 distutilscross:host" -PKG_LONGDESC="Python code to control WS2801 and similar SPI interface addressable RGB LED strips on a Raspberry Pi." -PKG_TOOLCHAIN="manual" diff --git a/packages/addons/libraries/adafruit-libraries/changelog.txt b/packages/addons/libraries/adafruit-libraries/changelog.txt deleted file mode 100644 index 927b2407d4..0000000000 --- a/packages/addons/libraries/adafruit-libraries/changelog.txt +++ /dev/null @@ -1 +0,0 @@ -initial release diff --git a/packages/addons/libraries/adafruit-libraries/icon/icon.png b/packages/addons/libraries/adafruit-libraries/icon/icon.png deleted file mode 100644 index fb9f603048f1a09b575d46686fbfca68eba676eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19537 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 Date: Sat, 21 Oct 2023 01:20:14 +0200 Subject: [PATCH 9/9] licenses: add Unlicense Signed-off-by: Matthias Reichl --- licenses/Unlicense.txt | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 licenses/Unlicense.txt diff --git a/licenses/Unlicense.txt b/licenses/Unlicense.txt new file mode 100644 index 0000000000..471f09f4cf --- /dev/null +++ b/licenses/Unlicense.txt @@ -0,0 +1,25 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to +