From 68d555fb160009185f30bf93a4796c84e34aab69 Mon Sep 17 00:00:00 2001 From: j1nx Date: Thu, 7 Jan 2021 21:21:21 +0100 Subject: [PATCH] WIP: Implementing all goodies and required changes / dependencies. --- .gitmodules | 25 -- buildroot-external/Config.in | 14 + .../board/raspberrypi/cmdline.txt | 2 +- .../board/raspberrypi/config.txt | 8 +- .../board/raspberrypi4-64/post-build.sh | 1 + .../configs/rpi4_64-gui_defconfig | 9 + .../package/firstboot-service/gitstash | 2 + .../package/mycroft-gui/StatusIndicator.qml | 340 ++++++++++++++++++ .../package/mycroft-gui/mycroft-gui.mk | 6 + .../package/python-astral/Config.in | 10 + .../package/python-astral/python-astral.hash | 2 + .../package/python-astral/python-astral.mk | 21 ++ .../0001-Update-version-info.patch.bu | 68 ++++ .../package/python-colour/Config.in | 7 + .../package/python-colour/python-colour.hash | 2 + .../package/python-colour/python-colour.mk | 12 + .../package/python-convertdate/Config.in | 11 + .../python-convertdate.hash | 4 + .../python-convertdate/python-convertdate.mk | 14 + .../python-feedparser/python-feedparser.hash | 2 +- .../python-feedparser/python-feedparser.mk | 6 +- .../package/python-geocoder/Config.in | 11 + .../python-geocoder/python-geocoder.hash | 5 + .../python-geocoder/python-geocoder.mk | 14 + .../package/python-holidays/Config.in | 10 + .../python-holidays/python-holidays.hash | 5 + .../python-holidays/python-holidays.mk | 14 + .../python-korean-lunar-calendar/Config.in | 6 + .../python-korean-lunar-calendar.hash | 5 + .../python-korean-lunar-calendar.mk | 14 + .../python-msm/0002-Fix-package-warning.patch | 168 +++++++++ ...gic-and-change-to-user-by-default.patch.bu | 32 ++ .../Config.in | 9 + .../python-mycroft-messagebus-client.hash | 5 + .../python-mycroft-messagebus-client.mk | 14 + .../package/python-ovos-utils/Config.in | 7 + .../python-ovos-utils/python-ovos-utils.hash | 1 + .../python-ovos-utils/python-ovos-utils.mk | 12 + .../package/python-phoneme-guesser/Config.in | 7 + .../python-phoneme-guesser.hash | 3 + .../python-phoneme-guesser.mk | 12 + .../package/python-pymeeus/Config.in | 6 + .../python-pymeeus/python-pymeeus.hash | 5 + .../package/python-pymeeus/python-pymeeus.mk | 14 + .../package/python-ratelim/Config.in | 7 + .../python-ratelim/python-ratelim.hash | 3 + .../package/python-ratelim/python-ratelim.mk | 12 + .../0001-No-package-name-variables.patch | 38 ++ .../package/python-timezonefinder/Config.in | 9 + .../python-timezonefinder.hash | 2 + .../python-timezonefinder.mk | 13 + .../package/python-tzlocal/Config.in | 7 + .../python-tzlocal/python-tzlocal.hash | 2 + .../package/python-tzlocal/python-tzlocal.mk | 12 + .../package/python-unidecode/Config.in | 6 + .../python-unidecode/python-unidecode.hash | 5 + .../python-unidecode/python-unidecode.mk | 14 + .../rootfs-overlay/etc/mycroft/mycroft.conf | 4 +- .../8456b6e166ab479cb606b3d6c2ccda5f.wav | Bin 0 -> 96844 bytes .../950a5b22a8b64d13a634204eb2033a47.wav | Bin 0 -> 140844 bytes .../skill-balena-wifi-setup/__init__.py | 23 +- .../ui/1_phone_connect-to-ap.png | Bin 13304 -> 19504 bytes .../ui/3_phone_choose-wifi.png | Bin 18975 -> 24874 bytes .../skill-balena-wifi-setup/ui/prompt.qml | 103 +++--- .../mycroft/skills/skill-date-time.mycroftai | 1 + .../opt/mycroft/skills/skill-ovos-homescreen | 1 + .../opt/mycroft/skills/skill-ovos-mycroftgui | 2 +- .../opt/mycroft/skills/skill-ovos-pairing | 2 +- ...007-Downgrade-python-arrow-to-0.12.0.patch | 40 +++ ...ython-pytz-available-as-host-package.patch | 21 ++ .../0109-Return-rpi-fix-linking-patch.patch | 104 ------ 71 files changed, 1181 insertions(+), 195 deletions(-) create mode 100644 buildroot-external/package/mycroft-gui/StatusIndicator.qml create mode 100644 buildroot-external/package/python-astral/Config.in create mode 100644 buildroot-external/package/python-astral/python-astral.hash create mode 100644 buildroot-external/package/python-astral/python-astral.mk create mode 100644 buildroot-external/package/python-colour/0001-Update-version-info.patch.bu create mode 100644 buildroot-external/package/python-colour/Config.in create mode 100644 buildroot-external/package/python-colour/python-colour.hash create mode 100644 buildroot-external/package/python-colour/python-colour.mk create mode 100644 buildroot-external/package/python-convertdate/Config.in create mode 100644 buildroot-external/package/python-convertdate/python-convertdate.hash create mode 100644 buildroot-external/package/python-convertdate/python-convertdate.mk create mode 100644 buildroot-external/package/python-geocoder/Config.in create mode 100644 buildroot-external/package/python-geocoder/python-geocoder.hash create mode 100644 buildroot-external/package/python-geocoder/python-geocoder.mk create mode 100644 buildroot-external/package/python-holidays/Config.in create mode 100644 buildroot-external/package/python-holidays/python-holidays.hash create mode 100644 buildroot-external/package/python-holidays/python-holidays.mk create mode 100644 buildroot-external/package/python-korean-lunar-calendar/Config.in create mode 100644 buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.hash create mode 100644 buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.mk create mode 100644 buildroot-external/package/python-msm/0002-Fix-package-warning.patch create mode 100644 buildroot-external/package/python-msm/0003-Remove-sudo-pip-logic-and-change-to-user-by-default.patch.bu create mode 100644 buildroot-external/package/python-mycroft-messagebus-client/Config.in create mode 100644 buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.hash create mode 100644 buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.mk create mode 100644 buildroot-external/package/python-ovos-utils/Config.in create mode 100644 buildroot-external/package/python-ovos-utils/python-ovos-utils.hash create mode 100644 buildroot-external/package/python-ovos-utils/python-ovos-utils.mk create mode 100644 buildroot-external/package/python-phoneme-guesser/Config.in create mode 100644 buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.hash create mode 100644 buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.mk create mode 100644 buildroot-external/package/python-pymeeus/Config.in create mode 100644 buildroot-external/package/python-pymeeus/python-pymeeus.hash create mode 100644 buildroot-external/package/python-pymeeus/python-pymeeus.mk create mode 100644 buildroot-external/package/python-ratelim/Config.in create mode 100644 buildroot-external/package/python-ratelim/python-ratelim.hash create mode 100644 buildroot-external/package/python-ratelim/python-ratelim.mk create mode 100644 buildroot-external/package/python-timezonefinder/0001-No-package-name-variables.patch create mode 100644 buildroot-external/package/python-timezonefinder/Config.in create mode 100644 buildroot-external/package/python-timezonefinder/python-timezonefinder.hash create mode 100644 buildroot-external/package/python-timezonefinder/python-timezonefinder.mk create mode 100644 buildroot-external/package/python-tzlocal/Config.in create mode 100644 buildroot-external/package/python-tzlocal/python-tzlocal.hash create mode 100644 buildroot-external/package/python-tzlocal/python-tzlocal.mk create mode 100644 buildroot-external/package/python-unidecode/Config.in create mode 100644 buildroot-external/package/python-unidecode/python-unidecode.hash create mode 100644 buildroot-external/package/python-unidecode/python-unidecode.mk create mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/preloaded_cache/Mimic2/8456b6e166ab479cb606b3d6c2ccda5f.wav create mode 100644 buildroot-external/rootfs-overlay/opt/mycroft/preloaded_cache/Mimic2/950a5b22a8b64d13a634204eb2033a47.wav mode change 100644 => 100755 buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup/__init__.py create mode 160000 buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-date-time.mycroftai create mode 160000 buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-homescreen create mode 100644 buildroot-patches/0007-Downgrade-python-arrow-to-0.12.0.patch create mode 100644 buildroot-patches/0012-Make-python-pytz-available-as-host-package.patch delete mode 100644 buildroot-patches/0109-Return-rpi-fix-linking-patch.patch diff --git a/.gitmodules b/.gitmodules index 40bf1db4..421d6f6d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,28 +2,3 @@ path = buildroot url = https://github.com/buildroot/buildroot.git branch = 2020.11.x - -[submodule "skill-ovos-mycroftgui"] - path = buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-mycroftgui - url = https://github.com/OpenVoiceOS/skill-ovos-mycroftgui.git - branch = master - -[submodule "skill-ovos-enclosure"] - path = buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-enclosure - url = https://github.com/OpenVoiceOS/skill-ovos-enclosure.git - branch = master - -[submodule "skill-balena-wifi-setup"] - path = buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup - url = https://github.com/OpenVoiceOS/skill-balena-wifi-setup.git - branch = master - -[submodule "skill-ovos-pairing"] - path = buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-pairing - url = https://github.com/OpenVoiceOS/skill-ovos-pairing.git - branch = master - -[submodule "mycroft-skills"] - path = buildroot-external/rootfs-overlay/opt/mycroft/.skills-repo - url = https://github.com/MycroftAI/mycroft-skills.git - branch = 20.08 diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in index ef42a283..ceaac787 100644 --- a/buildroot-external/Config.in +++ b/buildroot-external/Config.in @@ -92,15 +92,19 @@ endmenu menu "Additional external python modules" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-adapt-parser/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-appdirs/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-astral/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-bs4/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-cachetools/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-casttube/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-colour/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-convertdate/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-coverage/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-coveralls/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-deprecated/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-fann2/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-fasteners/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-feedparser/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-geocoder/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-gitdb/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-gitpython/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-google-api-python-client/Config.in" @@ -108,20 +112,25 @@ menu "Additional external python modules" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-google-auth/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-gtts/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-gtts_token/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-holidays/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-humanhash3/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-korean-lunar-calendar/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-lazy/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-levenshtein/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-lingua-franca/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-monotonic/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-msk/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-msm/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-mycroft-messagebus-client/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-oauth2client/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-olefile/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-utils/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-padaos/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-padatious/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pako/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pep8/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-petact/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-phoneme-guesser/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pocketsphinx/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-precise-runner/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pulsectl/Config.in" @@ -129,14 +138,19 @@ menu "Additional external python modules" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pychromecast/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pyee/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pygithub/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pymeeus/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pymplayer/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pyxdg/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ratelim/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-requests-futures/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-rsa/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-sgmllib3k/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-smmap/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-source/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-speechrecognition/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-timezonefinder/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-tzlocal/Config.in" + source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-unidecode/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-uritemplate/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-vlc/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-xmlrunner/Config.in" diff --git a/buildroot-external/board/raspberrypi/cmdline.txt b/buildroot-external/board/raspberrypi/cmdline.txt index 658df72c..4c78a28b 100644 --- a/buildroot-external/board/raspberrypi/cmdline.txt +++ b/buildroot-external/board/raspberrypi/cmdline.txt @@ -1 +1 @@ -cma=64M@64M dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes console=ttyAMA0,115200 consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo systemd.show_status=0 rootwait quiet splash +dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes console=ttyAMA0,115200 consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo systemd.show_status=0 rootwait quiet splash diff --git a/buildroot-external/board/raspberrypi/config.txt b/buildroot-external/board/raspberrypi/config.txt index a0cf932f..3c08832f 100644 --- a/buildroot-external/board/raspberrypi/config.txt +++ b/buildroot-external/board/raspberrypi/config.txt @@ -27,10 +27,10 @@ max_framebuffers=2 # How much memory in MB to assign to the GPU on Pi models having # 256, 512 or 1024 MB total memory -gpu_mem=64 -gpu_mem_256=64 -gpu_mem_512=64 -gpu_mem_1024=64 +gpu_mem=256 +gpu_mem_256=128 +gpu_mem_512=128 +gpu_mem_1024=128 # Enable the onboard soundcard dtparam=audio=on diff --git a/buildroot-external/board/raspberrypi4-64/post-build.sh b/buildroot-external/board/raspberrypi4-64/post-build.sh index b68908bf..24eb932a 100755 --- a/buildroot-external/board/raspberrypi4-64/post-build.sh +++ b/buildroot-external/board/raspberrypi4-64/post-build.sh @@ -37,3 +37,4 @@ cp -fr ../buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi cp -fr ../buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-enclosure/.git* ${TARGET_DIR}/opt/mycroft/skills/skill-ovos-enclosure/ cp -fr ../buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-mycroftgui/.git* ${TARGET_DIR}/opt/mycroft/skills/skill-ovos-mycroftgui/ cp -fr ../buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-pairing/.git* ${TARGET_DIR}/opt/mycroft/skills/skill-ovos-pairing/ +cp -fr ../buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-homescreen/.git* ${TARGET_DIR}/opt/mycroft/skills/skill-ovos-homescreen/ diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig index 07844e60..5a07be85 100644 --- a/buildroot-external/configs/rpi4_64-gui_defconfig +++ b/buildroot-external/configs/rpi4_64-gui_defconfig @@ -518,23 +518,30 @@ BR2_PACKAGE_USERLAND_TOOLS=y BR2_PACKAGE_VIRTUAL_TOUCH=y BR2_PACKAGE_WIFI_CONNECT=y BR2_PACKAGE_PYTHON_ADAPT_PARSER=y +BR2_PACKAGE_PYTHON_ASTRAL=y +BR2_PACKAGE_PYTHON_COLOUR=y BR2_PACKAGE_PYTHON_COVERALLS=y BR2_PACKAGE_PYTHON_DEPRECATED=y BR2_PACKAGE_PYTHON_FASTENERS=y BR2_PACKAGE_PYTHON_FEEDPARSER=y +BR2_PACKAGE_PYTHON_GEOCODER=y BR2_PACKAGE_PYTHON_GOOGLE_API_PYTHON_CLIENT=y BR2_PACKAGE_PYTHON_GTTS=y +BR2_PACKAGE_PYTHON_HOLIDAYS=y BR2_PACKAGE_PYTHON_HUMANHASH3=y BR2_PACKAGE_PYTHON_LAZY=y BR2_PACKAGE_PYTHON_LEVENSHTEIN=y BR2_PACKAGE_PYTHON_LINGUA_FRANCA=y BR2_PACKAGE_PYTHON_MSK=y +BR2_PACKAGE_PYTHON_MYCROFT_MESSAGEBUS_CLIENT=y BR2_PACKAGE_PYTHON_OAUTH2CLIENT=y BR2_PACKAGE_PYTHON_OLEFILE=y +BR2_PACKAGE_PYTHON_OVOS_UTILS=y BR2_PACKAGE_PYTHON_PADATIOUS=y BR2_PACKAGE_PYTHON_PAKO=y BR2_PACKAGE_PYTHON_PEP8=y BR2_PACKAGE_PYTHON_PETACT=y +BR2_PACKAGE_PYTHON_PHONEME_GUESSER=y BR2_PACKAGE_PYTHON_POCKETSPHINX=y BR2_PACKAGE_PYTHON_PRECISE_RUNNER=y BR2_PACKAGE_PYTHON_PYCHROMECAST=y @@ -545,6 +552,8 @@ BR2_PACKAGE_PYTHON_SGMLLIB3K=y BR2_PACKAGE_PYTHON_SMMAP=y BR2_PACKAGE_PYTHON_SOURCE=y BR2_PACKAGE_PYTHON_SPEECHRECOGNITION=y +BR2_PACKAGE_PYTHON_TIMEZONEFINDER=y +BR2_PACKAGE_PYTHON_TZLOCAL=y BR2_PACKAGE_PYTHON_VLC=y BR2_PACKAGE_PYTHON_XMLRUNNER=y BR2_PACKAGE_PYTHON_MYCROFT=y diff --git a/buildroot-external/package/firstboot-service/gitstash b/buildroot-external/package/firstboot-service/gitstash index 788c9e76..c9eef08c 100755 --- a/buildroot-external/package/firstboot-service/gitstash +++ b/buildroot-external/package/firstboot-service/gitstash @@ -7,6 +7,8 @@ cd /opt/mycroft/skills/skill-balena-wifi-setup && git stash cd /opt/mycroft/skills/skill-ovos-enclosure && git stash cd /opt/mycroft/skills/skill-ovos-mycroftgui && git stash cd /opt/mycroft/skills/skill-ovos-pairing && git stash +cd /opt/mycroft/skills/skill-ovos-homescreen && git stash +cd /opt/mycroft/skills/skill-date-time.mycroftai && git stash chown -R mycroft.mycroft /opt/mycroft echo "[OK]" diff --git a/buildroot-external/package/mycroft-gui/StatusIndicator.qml b/buildroot-external/package/mycroft-gui/StatusIndicator.qml new file mode 100644 index 00000000..742877b4 --- /dev/null +++ b/buildroot-external/package/mycroft-gui/StatusIndicator.qml @@ -0,0 +1,340 @@ +/* + * Copyright 2018 by Marco Martin + * Copyright 2018 David Edmundson + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +import QtQuick 2.9 +import QtGraphicalEffects 1.0 +import org.kde.kirigami 2.5 as Kirigami +import Mycroft 1.0 as Mycroft + +Item { + id: root + implicitWidth: Kirigami.Units.gridUnit * 5 + implicitHeight: width + property var circleBackgroundColor: "#F5F5F5" + property var circleInnerColor: "#CD5C5C" + + property bool hasShadow: true + + state: "idle" + states: [ + State { + name: "idle" + PropertyChanges { + target: innerCircle + graphicsColor: circleInnerColor + backgroundColor: circleBackgroundColor + } + PropertyChanges { + target: root + opacity: 0 + } + StateChangeScript { + script: { + innerCircleRotation.running = false; + innerCircleRotation.to = 0; + innerCircleRotation.loops = 1; + innerCircleRotation.running = true; + + outerCircleRotation.loops = 1; + outerCircleRotation.restart(); + + fadeTimer.running = false; + } + } + }, + State { + name: "waiting" + PropertyChanges { + target: innerCircle + graphicsColor: circleInnerColor + backgroundColor: circleBackgroundColor + } + PropertyChanges { + target: root + opacity: 1 + } + StateChangeScript { + script: { + innerCircleRotation.running = false; + innerCircleRotation.to = -360; + innerCircleRotation.loops = 1; + innerCircleRotation.running = true; + + outerCircleRotation.loops = 1; + outerCircleRotation.restart(); + + fadeTimer.running = false; + } + } + }, + State { + name: "loading" + PropertyChanges { + target: innerCircle + targetRotation: 0 + graphicsColor: circleInnerColor + backgroundColor: circleBackgroundColor + } + PropertyChanges { + target: root + opacity: 1 + } + + StateChangeScript { + script: { + innerCircleRotation.running = false; + innerCircleRotation.to = innerCircle.rotation - 360; + innerCircleRotation.loops = Animation.Infinite; + innerCircleRotation.running = true; + + outerCircleRotation.loops = Animation.Infinite; + outerCircleRotation.restart(); + + fadeTimer.running = false; + } + } + }, + State { + name: "ok" + PropertyChanges { + target: innerCircle + explicit: true + targetRotation: -90 + graphicsColor: Kirigami.Theme.positiveTextColor + backgroundColor: Qt.tint(Kirigami.Theme.backgroundColor, Qt.rgba(Kirigami.Theme.positiveTextColor.r, Kirigami.Theme.positiveTextColor.g, Kirigami.Theme.positiveTextColor.b, 0.4)) + } + PropertyChanges { + target: root + opacity: 1 + } + StateChangeScript { + script: { + innerCircleRotation.running = false; + innerCircleRotation.to = -90; + innerCircleRotation.loops = 1; + innerCircleRotation.running = true; + + outerCircleRotation.loops = 1; + outerCircleRotation.restart(); + + fadeTimer.restart(); + } + } + }, + State { + name: "error" + PropertyChanges { + target: innerCircle + explicit: true + graphicsColor: "white" + backgroundColor: Qt.tint(Kirigami.Theme.backgroundColor, Qt.rgba(Kirigami.Theme.negativeTextColor.r, Kirigami.Theme.negativeTextColor.g, Kirigami.Theme.negativeTextColor.b, 0.4)) + } + PropertyChanges { + target: root + opacity: 1 + } + StateChangeScript { + script: { + innerCircleRotation.running = false; + innerCircleRotation.to = 90; + innerCircleRotation.loops = 1; + innerCircleRotation.running = true; + + outerCircleRotation.loops = 1; + outerCircleRotation.restart(); + + fadeTimer.restart(); + } + } + } + ] + + Connections { + target: Mycroft.MycroftController + onListeningChanged: { + if (Mycroft.MycroftController.listening) { + root.state = "waiting"; + } else { + fadeTimer.restart(); + } + } + onNotUnderstood: { + root.state = "idle" + root.state = "error"; + } + onFallbackTextRecieved: { + if (skill.length > 0) { + root.state = "ok"; + } + } + onServerReadyChanged: { + if (Mycroft.MycroftController.serverReady) { + root.state = "ok"; + } + } + onStatusChanged: { + switch (Mycroft.MycroftController.status) { + case Mycroft.MycroftController.Open: + root.state = Mycroft.MycroftController.serverReady ? "ok" : "loading"; + break; + case Mycroft.MycroftController.Connecting: + root.state = "loading"; + break; + case Mycroft.MycroftController.Error: + default: + root.state = "error"; + break; + } + } + onCurrentIntentChanged: { + if (Mycroft.MycroftController.currentIntent.length == 0) { + if (root.state == "loading") { + root.state = "idle"; + } + } else { + root.state = "loading"; + } + } + } + + Rectangle { + id: background + anchors.centerIn: parent + width: Math.min(parent.width, parent.height) + height: width + color: innerCircle.backgroundColor + radius: height + layer.enabled: hasShadow + layer.effect: DropShadow { + cached: true + transparentBorder: true + horizontalOffset: 0 + verticalOffset: 2 + } + } + Behavior on opacity { + OpacityAnimator { + duration: innerCircle.animationLength + easing.type: Easing.InOutCubic + } + } + + Rectangle { + id: innerCircleGraphics + anchors { + fill: outerCircle + margins: innerCircle.unit * 5 + } + visible: false + + color: innerCircle.graphicsColor + radius: width + } + Item { + id: innerCircleMask + visible: false + anchors.fill: innerCircleGraphics + + Rectangle { + anchors { + left: parent.left + right: parent.horizontalCenter + top: parent.top + bottom: parent.bottom + } + color: "white" + } + } + OpacityMask { + id: innerCircle + property int unit: Math.max(1, background.width/20) + property color graphicsColor + property color backgroundColor + property int animationLength: 1000 + property int targetRotation: 0 + Behavior on graphicsColor { + ColorAnimation { + duration: innerCircle.animationLength + easing.type: Easing.InOutCubic + } + } + Behavior on backgroundColor { + ColorAnimation { + duration: innerCircle.animationLength + easing.type: Easing.InOutCubic + } + } + anchors.fill: innerCircleGraphics + source: innerCircleGraphics + maskSource: innerCircleMask + + RotationAnimator { + id: innerCircleRotation + target: innerCircle + from: innerCircle.rotation + to: 0 + direction: RotationAnimator.Counterclockwise + duration: innerCircle.animationLength + easing.type: Easing.InOutCubic + } + } + + Item { + id: outerCircle + + anchors { + fill: background + margins: innerCircle.unit * 3 + } + + // the little dot + Rectangle { + width: innerCircle.unit * 2 + height: width + radius: width + color: innerCircle.graphicsColor + anchors.horizontalCenter : parent.horizontalCenter + } + //the circle + Rectangle { + anchors { + fill: parent + margins: innerCircle.unit * 3 + } + radius: width + color: "transparent" + border.width: innerCircle.unit + border.color: innerCircle.graphicsColor + } + RotationAnimator { + id: outerCircleRotation + target: outerCircle + from: outerCircle.rotation + to: outerCircle.rotation + 360 - (outerCircle.rotation + 360) % 360 + direction: RotationAnimator.Clockwise + duration: innerCircle.animationLength + easing.type: Easing.InOutCubic + } + } + Timer { + id: fadeTimer + interval: 3000 + repeat: false + onTriggered: root.state = "idle" + } +} diff --git a/buildroot-external/package/mycroft-gui/mycroft-gui.mk b/buildroot-external/package/mycroft-gui/mycroft-gui.mk index ee2298bf..ac22ce8e 100644 --- a/buildroot-external/package/mycroft-gui/mycroft-gui.mk +++ b/buildroot-external/package/mycroft-gui/mycroft-gui.mk @@ -17,6 +17,12 @@ define MYCROFT_GUI_CHANGE_IMAGE $(@D)/application/ endef +define MYCROFT_GUI_CHANGE_STATUS + cp $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/mycroft-gui/StatusIndicator.qml \ + $(@D)/import/qml/ +endef + MYCROFT_GUI_PRE_CONFIGURE_HOOKS += MYCROFT_GUI_CHANGE_IMAGE +MYCROFT_GUI_PRE_CONFIGURE_HOOKS += MYCROFT_GUI_CHANGE_STATUS $(eval $(cmake-package)) diff --git a/buildroot-external/package/python-astral/Config.in b/buildroot-external/package/python-astral/Config.in new file mode 100644 index 00000000..e09dabdb --- /dev/null +++ b/buildroot-external/package/python-astral/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_ASTRAL + bool "python-astral" + help + This is ‘astral’ a Python module which calculates + - Times for various positions of the sun: dawn, + sunrise, solar noon, sunset, dusk, solar elevation, + solar azimuth and rahukaalam. + - The phase of the moon. + + https://github.com/sffjunkie/astral diff --git a/buildroot-external/package/python-astral/python-astral.hash b/buildroot-external/package/python-astral/python-astral.hash new file mode 100644 index 00000000..9822a58d --- /dev/null +++ b/buildroot-external/package/python-astral/python-astral.hash @@ -0,0 +1,2 @@ +# md5, sha256 from https://pypi.org/pypi/ +sha256 e7f2c825ac101c0953812e0f4c617ca48bd9dd5f4ebf450f7ce9086ed8f5a1fe astral-1.4.zip diff --git a/buildroot-external/package/python-astral/python-astral.mk b/buildroot-external/package/python-astral/python-astral.mk new file mode 100644 index 00000000..4adc3700 --- /dev/null +++ b/buildroot-external/package/python-astral/python-astral.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# python-astral +# +################################################################################ + +PYTHON_ASTRAL_VERSION = 1.4 +PYTHON_ASTRAL_SOURCE = astral-$(PYTHON_ASTRAL_VERSION).zip +PYTHON_ASTRAL_SITE = https://files.pythonhosted.org/packages/a4/d6/c309f266677372964c6002a56a7bec2a90875338a71325e20b24d6d1e187 +PYTHON_ASTRAL_DEPENDENCIES = host-python-pytz +PYTHON_ASTRAL_SETUP_TYPE = setuptools +PYTHON_ASTRAL_LICENSE = Apache-2.0 +PYTHON_ASTRAL_LICENSE_FILES = LICENSE + +define PYTHON_ASTRAL_EXTRACT_CMDS + $(UNZIP) -d $(@D) $(DL_DIR)/python-astral/$(PYTHON_ASTRAL_SOURCE) + mv $(@D)/astral-$(PYTHON_ASTRAL_VERSION)/* $(@D) + $(RM) -r $(@D)/astral-$(PYTHON_ASTRAL_VERSION) +endef + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-colour/0001-Update-version-info.patch.bu b/buildroot-external/package/python-colour/0001-Update-version-info.patch.bu new file mode 100644 index 00000000..fa66ac06 --- /dev/null +++ b/buildroot-external/package/python-colour/0001-Update-version-info.patch.bu @@ -0,0 +1,68 @@ +From 7aaece5945a8cb942c29b2d51d82123ff39aed85 Mon Sep 17 00:00:00 2001 +From: j1nx +Date: Thu, 7 Jan 2021 14:05:19 +0100 +Subject: [PATCH 1/1] Update version info + +--- + CHANGELOG.rst | 0 + setup.cfg | 14 +++++++------- + setup.py | 2 +- + 3 files changed, 8 insertions(+), 8 deletions(-) + create mode 100644 CHANGELOG.rst + +diff --git a/CHANGELOG.rst b/CHANGELOG.rst +new file mode 100644 +index 0000000..e69de29 +diff --git a/setup.cfg b/setup.cfg +index a6616d0..284dfa1 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -1,7 +1,7 @@ + [metadata] +-name = %%name%% +-version = %%version%% +-summary = %%description%% ++name = colour ++version = 0.1.5 ++summary = converts and manipulates various color representation (HSL, RVB, web, X11, ...) + description-file = + README.rst + CHANGELOG.rst +@@ -10,9 +10,9 @@ license_file = LICENSE + requires-dist = + + ## sdist info +-author = %%author%% +-author_email = %%email%% +-home_page = http://github.com/vaab/%%name%% ++author = Valentin LAB ++author_email = valentin.lab@kalysto.org ++home_page = http://github.com/vaab/colour + license = BSD 3-Clause License + classifier = + Programming Language :: Python +@@ -30,7 +30,7 @@ classifier = + + + [files] +-modules = %%name%% ++modules = colour + extra_files = + README.rst + CHANGELOG.rst +diff --git a/setup.py b/setup.py +index 47038f9..92c38b7 100644 +--- a/setup.py ++++ b/setup.py +@@ -20,7 +20,7 @@ except ImportError: + ## Ensure that ``./autogen.sh`` is run prior to using ``setup.py`` + ## + +-if "%%short-version%%".startswith("%%"): ++if "0.1.5".startswith("%%"): + import os.path + import sys + WIN32 = sys.platform == 'win32' +-- +2.20.1 + diff --git a/buildroot-external/package/python-colour/Config.in b/buildroot-external/package/python-colour/Config.in new file mode 100644 index 00000000..0da0995f --- /dev/null +++ b/buildroot-external/package/python-colour/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_COLOUR + bool "python-colour" + help + Converts and manipulates common color + representation (RGB, HSL, web, …) + + https://github.com/vaab/colour diff --git a/buildroot-external/package/python-colour/python-colour.hash b/buildroot-external/package/python-colour/python-colour.hash new file mode 100644 index 00000000..0d6caddb --- /dev/null +++ b/buildroot-external/package/python-colour/python-colour.hash @@ -0,0 +1,2 @@ +# md5, sha256 from https://pypi.org/pypi +sha256 af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee colour-0.1.5.tar.gz diff --git a/buildroot-external/package/python-colour/python-colour.mk b/buildroot-external/package/python-colour/python-colour.mk new file mode 100644 index 00000000..178961b6 --- /dev/null +++ b/buildroot-external/package/python-colour/python-colour.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# python-colour +# +################################################################################ + +PYTHON_COLOUR_VERSION = 0.1.5 +PYTHON_COLOUR_SOURCE = colour-$(PYTHON_COLOUR_VERSION).tar.gz +PYTHON_COLOUR_SITE = https://files.pythonhosted.org/packages/a0/d4/5911a7618acddc3f594ddf144ecd8a03c29074a540f4494670ad8f153efe +PYTHON_COLOUR_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-convertdate/Config.in b/buildroot-external/package/python-convertdate/Config.in new file mode 100644 index 00000000..c7260414 --- /dev/null +++ b/buildroot-external/package/python-convertdate/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_CONVERTDATE + bool "python-convertdate" + select BR2_PACKAGE_PYTHON_PYMEEUS # runtime + select BR2_PACKAGE_PYTHON_PYTZ # runtime + help + Converts between Gregorian dates and other calendar + systems.Calendars included: Baha'i, French Republican, + Hebrew, Indian Civil, Islamic, ISO, Julian, Mayan and + Persian. + + https://github.com/fitnr/convertdate diff --git a/buildroot-external/package/python-convertdate/python-convertdate.hash b/buildroot-external/package/python-convertdate/python-convertdate.hash new file mode 100644 index 00000000..e38040bb --- /dev/null +++ b/buildroot-external/package/python-convertdate/python-convertdate.hash @@ -0,0 +1,4 @@ +# md5, sha256 from https://pypi.org/pypi/convertdate/json +sha256 9d2b0cd8d5382d2458d4cfa59665abba398a9e9bfd3a01c6f61b7b47768d28bf convertdate-2.2.0.tar.gz +# Locally computed sha256 checksums +sha256 9ba9629594544da774effccbc0d1e7c9ebe17438e860db8a1bf11cf8081aef9f LICENSE diff --git a/buildroot-external/package/python-convertdate/python-convertdate.mk b/buildroot-external/package/python-convertdate/python-convertdate.mk new file mode 100644 index 00000000..7b448f1a --- /dev/null +++ b/buildroot-external/package/python-convertdate/python-convertdate.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-convertdate +# +################################################################################ + +PYTHON_CONVERTDATE_VERSION = 2.2.0 +PYTHON_CONVERTDATE_SOURCE = convertdate-$(PYTHON_CONVERTDATE_VERSION).tar.gz +PYTHON_CONVERTDATE_SITE = https://files.pythonhosted.org/packages/92/c1/1125eba52ce9bccf783f0640eaad39ffa6e4271dcf37d19438c2ef115233 +PYTHON_CONVERTDATE_SETUP_TYPE = setuptools +PYTHON_CONVERTDATE_LICENSE = MIT +PYTHON_CONVERTDATE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-feedparser/python-feedparser.hash b/buildroot-external/package/python-feedparser/python-feedparser.hash index 35b3fa1a..16a97186 100644 --- a/buildroot-external/package/python-feedparser/python-feedparser.hash +++ b/buildroot-external/package/python-feedparser/python-feedparser.hash @@ -1,6 +1,6 @@ # md5, sha256 from https://pypi.org/pypi/feedparser/json md5 ee8bd99535a4261b8e26976984dd6b26 feedparser-5.2.1.tar.bz2 -sha256 ce875495c90ebd74b179855449040003a1beb40cd13d5f037a0654251e260b02 feedparser-5.2.1.tar.bz2 +sha256 1b00a105425f492f3954fd346e5b524ca9cef3a4bbf95b8809470e9857aa1074 feedparser-6.0.2.tar.gz # Locally computed sha256 checksums sha256 3adcffa23e565106bd6af3aacc5d03cf7948073791c842037181683c61f4163f LICENSE sha256 961b8d49c0f06d3569d787a8bf8b885faa0837e89d2dd6011cb8c70347aafee3 docs/license.rst diff --git a/buildroot-external/package/python-feedparser/python-feedparser.mk b/buildroot-external/package/python-feedparser/python-feedparser.mk index 3336eb23..79a1c2b7 100644 --- a/buildroot-external/package/python-feedparser/python-feedparser.mk +++ b/buildroot-external/package/python-feedparser/python-feedparser.mk @@ -4,9 +4,9 @@ # ################################################################################ -PYTHON_FEEDPARSER_VERSION = 5.2.1 -PYTHON_FEEDPARSER_SOURCE = feedparser-$(PYTHON_FEEDPARSER_VERSION).tar.bz2 -PYTHON_FEEDPARSER_SITE = https://files.pythonhosted.org/packages/91/d8/7d37fec71ff7c9dbcdd80d2b48bcdd86d6af502156fc93846fb0102cb2c4 +PYTHON_FEEDPARSER_VERSION = 6.0.2 +PYTHON_FEEDPARSER_SOURCE = feedparser-$(PYTHON_FEEDPARSER_VERSION).tar.gz +PYTHON_FEEDPARSER_SITE = https://files.pythonhosted.org/packages/1b/84/934fc369d2e36d7fd9a196a72e68035cabc672c46bf7aa2661838e4d0ca9 PYTHON_FEEDPARSER_SETUP_TYPE = setuptools PYTHON_FEEDPARSER_LICENSE = BSD-2-Clause PYTHON_FEEDPARSER_LICENSE_FILES = LICENSE docs/license.rst diff --git a/buildroot-external/package/python-geocoder/Config.in b/buildroot-external/package/python-geocoder/Config.in new file mode 100644 index 00000000..833bcbc1 --- /dev/null +++ b/buildroot-external/package/python-geocoder/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_PYTHON_GEOCODER + bool "python-geocoder" + select BR2_PACKAGE_PYTHON_CLICK # runtime + select BR2_PACKAGE_PYTHON_FUTURE # runtime + select BR2_PACKAGE_PYTHON_RATELIM # runtime + select BR2_PACKAGE_PYTHON_REQUESTS # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Geocoder is a simple and consistent geocoding library. + + https://github.com/DenisCarriere/geocoder diff --git a/buildroot-external/package/python-geocoder/python-geocoder.hash b/buildroot-external/package/python-geocoder/python-geocoder.hash new file mode 100644 index 00000000..006b4fb5 --- /dev/null +++ b/buildroot-external/package/python-geocoder/python-geocoder.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/geocoder/json +md5 360f693a51f7ea4b4078f9ef96222ee8 geocoder-1.38.1.tar.gz +sha256 c9925374c961577d0aee403b09e6f8ea1971d913f011f00ca70c76beaf7a77e7 geocoder-1.38.1.tar.gz +# Locally computed sha256 checksums +sha256 bba08f43391d2c055c1c30db4c8409f345359b03b6c276295db14f1d99de7993 LICENSE diff --git a/buildroot-external/package/python-geocoder/python-geocoder.mk b/buildroot-external/package/python-geocoder/python-geocoder.mk new file mode 100644 index 00000000..153d209b --- /dev/null +++ b/buildroot-external/package/python-geocoder/python-geocoder.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-geocoder +# +################################################################################ + +PYTHON_GEOCODER_VERSION = 1.38.1 +PYTHON_GEOCODER_SOURCE = geocoder-$(PYTHON_GEOCODER_VERSION).tar.gz +PYTHON_GEOCODER_SITE = https://files.pythonhosted.org/packages/ea/0b/2ea440270c1efb7ac73450cb704344c8127f45dabff0bea48711dc9dd93a +PYTHON_GEOCODER_SETUP_TYPE = setuptools +PYTHON_GEOCODER_LICENSE = MIT +PYTHON_GEOCODER_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-holidays/Config.in b/buildroot-external/package/python-holidays/Config.in new file mode 100644 index 00000000..9c8dc6d1 --- /dev/null +++ b/buildroot-external/package/python-holidays/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_PYTHON_HOLIDAYS + bool "python-holidays" + select BR2_PACKAGE_PYTHON_CONVERTDATE # runtime + select BR2_PACKAGE_PYTHON_DATEUTIL # runtime + select BR2_PACKAGE_PYTHON_KOREAN_LUNAR_CALENDAR # runtime + select BR2_PACKAGE_PYTHON_SIX # runtime + help + Generate and work with holidays in Python. + + https://github.com/dr-prodigy/python-holidays diff --git a/buildroot-external/package/python-holidays/python-holidays.hash b/buildroot-external/package/python-holidays/python-holidays.hash new file mode 100644 index 00000000..b748f66a --- /dev/null +++ b/buildroot-external/package/python-holidays/python-holidays.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/holidays/json +md5 9326c201d11ea0b174b43312c14876b7 holidays-0.10.4.tar.gz +sha256 72378e7c00139ab157adf5155c0ec7af62489b7cae8d66dfc53a9a02ddcb1cab holidays-0.10.4.tar.gz +# Locally computed sha256 checksums +sha256 24c74ea476883dbe660246063bf533c7f56515b0b97e7613d72b746e3eb9c38f LICENSE diff --git a/buildroot-external/package/python-holidays/python-holidays.mk b/buildroot-external/package/python-holidays/python-holidays.mk new file mode 100644 index 00000000..35e1a041 --- /dev/null +++ b/buildroot-external/package/python-holidays/python-holidays.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-holidays +# +################################################################################ + +PYTHON_HOLIDAYS_VERSION = 0.10.4 +PYTHON_HOLIDAYS_SOURCE = holidays-$(PYTHON_HOLIDAYS_VERSION).tar.gz +PYTHON_HOLIDAYS_SITE = https://files.pythonhosted.org/packages/cc/14/a8a30bae14091984acd262526a258b1890c3ada0e5ae0da747e2b8f2b77d +PYTHON_HOLIDAYS_SETUP_TYPE = setuptools +PYTHON_HOLIDAYS_LICENSE = MIT +PYTHON_HOLIDAYS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-korean-lunar-calendar/Config.in b/buildroot-external/package/python-korean-lunar-calendar/Config.in new file mode 100644 index 00000000..9ce04a4e --- /dev/null +++ b/buildroot-external/package/python-korean-lunar-calendar/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_KOREAN_LUNAR_CALENDAR + bool "python-korean-lunar-calendar" + help + Korean Lunar Calendar. + + https://github.com/usingsky/korean_lunar_calendar_py diff --git a/buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.hash b/buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.hash new file mode 100644 index 00000000..e20463ab --- /dev/null +++ b/buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/korean_lunar_calendar/json +md5 1fda622625f7b0d6843eb0465a128fca korean_lunar_calendar-0.2.1.tar.gz +sha256 12ce54b1392ed45a82dc6cea85ee5f7e33630556e82488f57e37a22482c8275d korean_lunar_calendar-0.2.1.tar.gz +# Locally computed sha256 checksums +sha256 0ba0b32231bea04f4b037b9b138d83e78dc0781a3f568668b921e95dc6ca09f5 LICENSE diff --git a/buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.mk b/buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.mk new file mode 100644 index 00000000..c151f2ba --- /dev/null +++ b/buildroot-external/package/python-korean-lunar-calendar/python-korean-lunar-calendar.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-korean-lunar-calendar +# +################################################################################ + +PYTHON_KOREAN_LUNAR_CALENDAR_VERSION = 0.2.1 +PYTHON_KOREAN_LUNAR_CALENDAR_SOURCE = korean_lunar_calendar-$(PYTHON_KOREAN_LUNAR_CALENDAR_VERSION).tar.gz +PYTHON_KOREAN_LUNAR_CALENDAR_SITE = https://files.pythonhosted.org/packages/fa/c4/2f0f2329098ee24f629c3ad4dcb210fbedb52e51fa6348ebdcbd7af2151b +PYTHON_KOREAN_LUNAR_CALENDAR_SETUP_TYPE = setuptools +PYTHON_KOREAN_LUNAR_CALENDAR_LICENSE = MIT +PYTHON_KOREAN_LUNAR_CALENDAR_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-msm/0002-Fix-package-warning.patch b/buildroot-external/package/python-msm/0002-Fix-package-warning.patch new file mode 100644 index 00000000..c9c4ede6 --- /dev/null +++ b/buildroot-external/package/python-msm/0002-Fix-package-warning.patch @@ -0,0 +1,168 @@ +From ed8c1bae5f26f7327090ac56a6522c78a914e78c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=85ke=20Forslund?= +Date: Mon, 28 Sep 2020 17:53:40 +0200 +Subject: [PATCH 1/2] Only show the pako warning if it's used + +--- + msm/skill_entry.py | 44 ++++++++++++++++++++++++-------------------- + 1 file changed, 24 insertions(+), 20 deletions(-) + +diff --git a/msm/skill_entry.py b/msm/skill_entry.py +index 3170656..c64e666 100644 +--- a/msm/skill_entry.py ++++ b/msm/skill_entry.py +@@ -327,6 +327,7 @@ def run_pip(self, constraints=None): + return True + + def install_system_deps(self): ++ success = True + self.run_requirements_sh() + system_packages = { + exe: (packages or '').split() +@@ -334,26 +335,29 @@ def install_system_deps(self): + } + LOG.info('Installing system requirements...') + all_deps = system_packages.pop('all', []) +- try: +- manager = PakoManager() +- success = manager.install(all_deps, overrides=system_packages) +- except RuntimeError as e: +- LOG.warning('Failed to launch package manager: {}'.format(e)) +- success = False +- missing_exes = [ +- exe for exe in self.dependencies.get('exes') or [] +- if not shutil.which(exe) +- ] +- if missing_exes: +- if not success: +- LOG.warning('Failed to install dependencies.') +- if all_deps: +- LOG.warning('Please install manually: {}'.format( +- ' '.join(all_deps) +- )) +- raise SkillRequirementsException('Could not find exes: {}'.format( +- ', '.join(missing_exes) +- )) ++ use_pako = bool(all_deps) ++ if use_pako: # Only try to install if there are packages to install ++ try: ++ manager = PakoManager() ++ success = manager.install(all_deps, overrides=system_packages) ++ except RuntimeError as e: ++ LOG.warning('Failed to launch package manager: {}'.format(e)) ++ success = False ++ missing_exes = [ ++ exe for exe in self.dependencies.get('exes') or [] ++ if not shutil.which(exe) ++ ] ++ if missing_exes: ++ if use_pako: ++ # Pako was used and apparently failed. ++ LOG.warning('Failed to install dependencies.') ++ if all_deps: ++ LOG.warning('Please install manually: {}'.format( ++ ' '.join(all_deps) ++ )) ++ raise SkillRequirementsException( ++ 'Could not find exes: {}'.format(', '.join(missing_exes)) ++ ) + return success + + def run_requirements_sh(self): + +From d1cdbb40ed09f067f9fa9295ab6fca654f5f0fe1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=85ke=20Forslund?= +Date: Tue, 29 Sep 2020 19:57:35 +0200 +Subject: [PATCH 2/2] Move pako handling into function + +--- + msm/skill_entry.py | 63 ++++++++++++++++++++++++++++------------------ + 1 file changed, 38 insertions(+), 25 deletions(-) + +diff --git a/msm/skill_entry.py b/msm/skill_entry.py +index c64e666..9268d41 100644 +--- a/msm/skill_entry.py ++++ b/msm/skill_entry.py +@@ -57,6 +57,23 @@ + FIVE_MINUTES = 300 + + ++def _perform_pako_install(packages): ++ """Install the list of packagess using Pako. ++ ++ Arguments: ++ packages (list): list of packages to install. ++ Returns: ++ (bool) True if install completed successfully, else False ++ """ ++ try: ++ manager = PakoManager() ++ success = manager.install(packages, overrides=system_packages) ++ except RuntimeError as e: ++ LOG.warning('Failed to launch package manager: {}'.format(e)) ++ success = False ++ return success ++ ++ + @contextmanager + def work_dir(directory): + old_dir = os.getcwd() +@@ -327,37 +344,33 @@ def run_pip(self, constraints=None): + return True + + def install_system_deps(self): +- success = True + self.run_requirements_sh() + system_packages = { + exe: (packages or '').split() + for exe, packages in self.dependent_system_packages.items() + } + LOG.info('Installing system requirements...') +- all_deps = system_packages.pop('all', []) +- use_pako = bool(all_deps) +- if use_pako: # Only try to install if there are packages to install +- try: +- manager = PakoManager() +- success = manager.install(all_deps, overrides=system_packages) +- except RuntimeError as e: +- LOG.warning('Failed to launch package manager: {}'.format(e)) +- success = False +- missing_exes = [ +- exe for exe in self.dependencies.get('exes') or [] +- if not shutil.which(exe) +- ] +- if missing_exes: +- if use_pako: +- # Pako was used and apparently failed. +- LOG.warning('Failed to install dependencies.') +- if all_deps: +- LOG.warning('Please install manually: {}'.format( +- ' '.join(all_deps) +- )) +- raise SkillRequirementsException( +- 'Could not find exes: {}'.format(', '.join(missing_exes)) +- ) ++ packages = system_packages.pop('all', []) ++ if packages: # Only try to install if there are packages to install ++ success = _perform_pako_install(packages) ++ else: ++ success = True # No packages to install ++ ++ missing_exes = [ ++ exe for exe in self.dependencies.get('exes') or [] ++ if not shutil.which(exe) ++ ] ++ # If executables are missing on the system inform of the issue. ++ if missing_exes: ++ # Pako was used and apparently failed. ++ LOG.warning('Failed to install dependencies.') ++ if packages: ++ LOG.warning('Please install manually: {}'.format( ++ ' '.join(all_deps) ++ )) ++ raise SkillRequirementsException( ++ 'Could not find exes: {}'.format(', '.join(missing_exes)) ++ ) + return success + + def run_requirements_sh(self): diff --git a/buildroot-external/package/python-msm/0003-Remove-sudo-pip-logic-and-change-to-user-by-default.patch.bu b/buildroot-external/package/python-msm/0003-Remove-sudo-pip-logic-and-change-to-user-by-default.patch.bu new file mode 100644 index 00000000..ac709afb --- /dev/null +++ b/buildroot-external/package/python-msm/0003-Remove-sudo-pip-logic-and-change-to-user-by-default.patch.bu @@ -0,0 +1,32 @@ +From 89782d56ed0fa1b63fef350520abea59c79bf283 Mon Sep 17 00:00:00 2001 +From: j1nx +Date: Mon, 14 Sep 2020 16:38:58 +0200 +Subject: [PATCH 1/1] Remove "sudo" pip logic and change to --user by default + +--- + msm/skill_entry.py | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/msm/skill_entry.py b/msm/skill_entry.py +index 3170656..ec78609 100644 +--- a/msm/skill_entry.py ++++ b/msm/skill_entry.py +@@ -295,14 +295,10 @@ class SkillEntry(object): + constraints = DEFAULT_CONSTRAINTS + + LOG.info('Installing requirements.txt for ' + self.name) +- can_pip = os.access(dirname(sys.executable), os.W_OK | os.X_OK) +- pip_args = [sys.executable, '-m', 'pip', 'install'] ++ pip_args = [sys.executable, '-m', 'pip', 'install', '--user'] + if constraints: + pip_args += ['-c', constraints] + +- if not can_pip: +- pip_args = ['sudo', '-n'] + pip_args +- + with self.pip_lock: + """ + Iterate over the individual Python packages and +-- +2.20.1 + diff --git a/buildroot-external/package/python-mycroft-messagebus-client/Config.in b/buildroot-external/package/python-mycroft-messagebus-client/Config.in new file mode 100644 index 00000000..10a040fb --- /dev/null +++ b/buildroot-external/package/python-mycroft-messagebus-client/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_MYCROFT_MESSAGEBUS_CLIENT + bool "python-mycroft-messagebus-client" + help + This module is a simple interface for the mycroft + messagebus and can be used to connect to mycroft, + send messages and react to messages sent by the + Mycroft system. + + https://github.com/MycroftAI/mycroft-messagebus-client diff --git a/buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.hash b/buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.hash new file mode 100644 index 00000000..e7f0c968 --- /dev/null +++ b/buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/msm/json +md5 fe54a2aecd6751bef66fdcd27ffd3cdc msm-0.5.19.tar.gz +sha256 4a3d2325407b95f4a13871e1f45a7041014699201531e452b63efa8fdd7ef48d mycroft-messagebus-client-0.8.4.tar.gz +# Locally computed sha256 checksums +sha256 a6cba85bc92e0cff7a450b1d873c0eaa2e9fc96bf472df0247a26bec77bf3ff9 LICENSE diff --git a/buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.mk b/buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.mk new file mode 100644 index 00000000..ae1b1bcd --- /dev/null +++ b/buildroot-external/package/python-mycroft-messagebus-client/python-mycroft-messagebus-client.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-mycroft-messagebus-client +# +################################################################################ + +PYTHON_MYCROFT_MESSAGEBUS_CLIENT_VERSION = 0.8.4 +PYTHON_MYCROFT_MESSAGEBUS_CLIENT_SOURCE = mycroft-messagebus-client-$(PYTHON_MYCROFT_MESSAGEBUS_CLIENT_VERSION).tar.gz +PYTHON_MYCROFT_MESSAGEBUS_CLIENT_SITE = https://files.pythonhosted.org/packages/06/15/881da04555710caa2b5fd0d582aa21ed6ecaf88fc5c2343f46caa1b84ccf +PYTHON_MYCROFT_MESSAGEBUS_CLIENT_SETUP_TYPE = setuptools +PYTHON_MYCROFT_MESSAGEBUS_CLIENT_LICENSE = Apache-2.0 +PYTHON_MYCROFT_MESSAGEBUS_CLIENT_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-ovos-utils/Config.in b/buildroot-external/package/python-ovos-utils/Config.in new file mode 100644 index 00000000..63e0b7e6 --- /dev/null +++ b/buildroot-external/package/python-ovos-utils/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_OVOS_UTILS + bool "python-ovos-utils" + help + collection of simple utilities for use + across the mycroft ecosystem + + https://github.com/OpenVoiceOS/ovos_utils diff --git a/buildroot-external/package/python-ovos-utils/python-ovos-utils.hash b/buildroot-external/package/python-ovos-utils/python-ovos-utils.hash new file mode 100644 index 00000000..5d5070c7 --- /dev/null +++ b/buildroot-external/package/python-ovos-utils/python-ovos-utils.hash @@ -0,0 +1 @@ +sha256 51de8154a8b07f2b9058f1cdf4c6b4e68db46d5cefd2cfe67597c90ec4520e91 python-ovos-utils-fb04a83594705aabbefc3534bc7c3b18580aee6f.tar.gz diff --git a/buildroot-external/package/python-ovos-utils/python-ovos-utils.mk b/buildroot-external/package/python-ovos-utils/python-ovos-utils.mk new file mode 100644 index 00000000..0850f533 --- /dev/null +++ b/buildroot-external/package/python-ovos-utils/python-ovos-utils.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# python-ovos-utils +# +################################################################################ + +PYTHON_OVOS_UTILS_VERSION = fb04a83594705aabbefc3534bc7c3b18580aee6f +PYTHON_OVOS_UTILS_SITE = $(call github,OpenVoiceOS,ovos_utils,$(PYTHON_OVOS_UTILS_VERSION)) +PYTHON_OVOS_UTILS_SETUP_TYPE = setuptools +PYTHON_OVOS_UTILS_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-phoneme-guesser/Config.in b/buildroot-external/package/python-phoneme-guesser/Config.in new file mode 100644 index 00000000..eeaf1d63 --- /dev/null +++ b/buildroot-external/package/python-phoneme-guesser/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_PHONEME_GUESSER + bool "python-phoneme-guesser" + select BR2_PACKAGE_PYTHON_UNIDECODE # runtime + help + phonemes from text. + + https://github.com/OpenJarbas/phoneme_guesser diff --git a/buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.hash b/buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.hash new file mode 100644 index 00000000..cf13159b --- /dev/null +++ b/buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/phoneme_guesser/json +md5 a7d51cccf538c6440c0eadf8b4da704f phoneme_guesser-0.1.0.tar.gz +sha256 4f3b593563593fac668c94de34503a66fd9c307d4fad2a33c92c6db03f7f9eef phoneme_guesser-0.1.0.tar.gz diff --git a/buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.mk b/buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.mk new file mode 100644 index 00000000..7a0da238 --- /dev/null +++ b/buildroot-external/package/python-phoneme-guesser/python-phoneme-guesser.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# python-phoneme-guesser +# +################################################################################ + +PYTHON_PHONEME_GUESSER_VERSION = 0.1.0 +PYTHON_PHONEME_GUESSER_SOURCE = phoneme_guesser-$(PYTHON_PHONEME_GUESSER_VERSION).tar.gz +PYTHON_PHONEME_GUESSER_SITE = https://files.pythonhosted.org/packages/c7/ea/c5b389b6d593212935412e5f314978d860bc59c393a8c1029ada3992f4bd +PYTHON_PHONEME_GUESSER_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-pymeeus/Config.in b/buildroot-external/package/python-pymeeus/Config.in new file mode 100644 index 00000000..9bf716cc --- /dev/null +++ b/buildroot-external/package/python-pymeeus/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_PYMEEUS + bool "python-pymeeus" + help + Python implementation of Jean Meeus astronomical routines. + + https://github.com/architest/pymeeus diff --git a/buildroot-external/package/python-pymeeus/python-pymeeus.hash b/buildroot-external/package/python-pymeeus/python-pymeeus.hash new file mode 100644 index 00000000..399f8f66 --- /dev/null +++ b/buildroot-external/package/python-pymeeus/python-pymeeus.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/pymeeus/json +md5 47dd9b52aa30a096bf25029e087fb793 PyMeeus-0.3.7.tar.gz +sha256 56430209e6f9a039f1ba73f107ab0b23121548e2a67ed2855f2416c3749a5662 PyMeeus-0.3.7.tar.gz +# Locally computed sha256 checksums +sha256 e79e9c8a0c85d735ff98185918ec94ed7d175efc377012787aebcf3b80f0d90b LICENSE.txt diff --git a/buildroot-external/package/python-pymeeus/python-pymeeus.mk b/buildroot-external/package/python-pymeeus/python-pymeeus.mk new file mode 100644 index 00000000..0f34fa5e --- /dev/null +++ b/buildroot-external/package/python-pymeeus/python-pymeeus.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-pymeeus +# +################################################################################ + +PYTHON_PYMEEUS_VERSION = 0.3.7 +PYTHON_PYMEEUS_SOURCE = PyMeeus-$(PYTHON_PYMEEUS_VERSION).tar.gz +PYTHON_PYMEEUS_SITE = https://files.pythonhosted.org/packages/2c/30/47957d487fff94083bdd17247734c165f12b5ac39a3abd1aa476a93eea6e +PYTHON_PYMEEUS_SETUP_TYPE = setuptools +PYTHON_PYMEEUS_LICENSE = GPL-3.0 +PYTHON_PYMEEUS_LICENSE_FILES = LICENSE.txt + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-ratelim/Config.in b/buildroot-external/package/python-ratelim/Config.in new file mode 100644 index 00000000..1c3d5781 --- /dev/null +++ b/buildroot-external/package/python-ratelim/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_RATELIM + bool "python-ratelim" + select BR2_PACKAGE_PYTHON_DECORATOR # runtime + help + Makes it easy to respect rate limits. + + http://github.com/themiurgo/ratelim diff --git a/buildroot-external/package/python-ratelim/python-ratelim.hash b/buildroot-external/package/python-ratelim/python-ratelim.hash new file mode 100644 index 00000000..d6e02051 --- /dev/null +++ b/buildroot-external/package/python-ratelim/python-ratelim.hash @@ -0,0 +1,3 @@ +# md5, sha256 from https://pypi.org/pypi/ratelim/json +md5 91063fcac413e9faba01c9046c5134dc ratelim-0.1.6.tar.gz +sha256 826d32177e11f9a12831901c9fda6679fd5bbea3605910820167088f5acbb11d ratelim-0.1.6.tar.gz diff --git a/buildroot-external/package/python-ratelim/python-ratelim.mk b/buildroot-external/package/python-ratelim/python-ratelim.mk new file mode 100644 index 00000000..8922a2b0 --- /dev/null +++ b/buildroot-external/package/python-ratelim/python-ratelim.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# python-ratelim +# +################################################################################ + +PYTHON_RATELIM_VERSION = 0.1.6 +PYTHON_RATELIM_SOURCE = ratelim-$(PYTHON_RATELIM_VERSION).tar.gz +PYTHON_RATELIM_SITE = https://files.pythonhosted.org/packages/c5/5a/e1440017bccb14523bb76356e6f3a5468386b8a9192bd901e98babd1a1ea +PYTHON_RATELIM_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-timezonefinder/0001-No-package-name-variables.patch b/buildroot-external/package/python-timezonefinder/0001-No-package-name-variables.patch new file mode 100644 index 00000000..84192dee --- /dev/null +++ b/buildroot-external/package/python-timezonefinder/0001-No-package-name-variables.patch @@ -0,0 +1,38 @@ +From aabf33f93a95b4ccbd900dfee2b7508227ee9ac7 Mon Sep 17 00:00:00 2001 +From: j1nx +Date: Thu, 7 Jan 2021 19:21:24 +0100 +Subject: [PATCH 1/1] No package name variables + +--- + setup.py | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/setup.py b/setup.py +index d2afc06..0cfac34 100755 +--- a/setup.py ++++ b/setup.py +@@ -11,15 +11,15 @@ setup( + # version: in VERSION file https://packaging.python.org/guides/single-sourcing-package-version/ + # With this approach you must make sure that the VERSION file is included in all your source + # and binary distributions (e.g. add include VERSION to your MANIFEST.in). +- author='Jannik Michelfeit', ++ author='J. Michelfeit', + author_email='python@michelfe.it', + license='MIT licence', +- url=f'https://github.com/MrMinimal64/{PACKAGE_NAME}', # use the URL to the github repo ++ url='https://github.com/MrMinimal64/timezonefinder', # use the URL to the github repo + project_urls={ +- "Source Code": f"https://github.com/MrMinimal64/{PACKAGE_NAME}", +- "Documentation": f"https://{PACKAGE_NAME}.readthedocs.io/en/latest/", +- "Changelog": f"https://github.com/MrMinimal64/{PACKAGE_NAME}/blob/master/CHANGELOG.rst", +- "License": f"https://github.com/MrMinimal64/{PACKAGE_NAME}/blob/master/LICENSE", ++ "Source Code": "https://github.com/MrMinimal64/timezonefinder", ++ "Documentation": "https://timezonefinder.readthedocs.io/en/latest/", ++ "Changelog": "https://github.com/MrMinimal64/timezonefinder/blob/master/CHANGELOG.rst", ++ "License": "https://github.com/MrMinimal64/timezonefinder/blob/master/LICENSE", + }, + keywords='timezone coordinates latitude longitude location pytzwhere tzwhere', + classifiers=[ +-- +2.20.1 + diff --git a/buildroot-external/package/python-timezonefinder/Config.in b/buildroot-external/package/python-timezonefinder/Config.in new file mode 100644 index 00000000..fbe31be4 --- /dev/null +++ b/buildroot-external/package/python-timezonefinder/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_PYTHON_TIMEZONEFINDER + bool "python-timezonefinder" + help + This is a fast and lightweight python + package for looking up the corresponding + timezone for given coordinates on earth + entirely offline. + + https://github.com/MrMinimal64/timezonefinder diff --git a/buildroot-external/package/python-timezonefinder/python-timezonefinder.hash b/buildroot-external/package/python-timezonefinder/python-timezonefinder.hash new file mode 100644 index 00000000..0391ad8c --- /dev/null +++ b/buildroot-external/package/python-timezonefinder/python-timezonefinder.hash @@ -0,0 +1,2 @@ +# md5, sha256 from https://pypi.org/pypi/ +sha256 d8a05c207aab92d6f01b426dc4bcef08118ec31cf4504bd4011c7551f3160694 timezonefinder-5.0.0.tar.gz diff --git a/buildroot-external/package/python-timezonefinder/python-timezonefinder.mk b/buildroot-external/package/python-timezonefinder/python-timezonefinder.mk new file mode 100644 index 00000000..4a802d7f --- /dev/null +++ b/buildroot-external/package/python-timezonefinder/python-timezonefinder.mk @@ -0,0 +1,13 @@ +################################################################################ +# +# python-timezonefinder +# +################################################################################ + +PYTHON_TIMEZONEFINDER_VERSION = 5.0.0 +PYTHON_TIMEZONEFINDER_SOURCE = timezonefinder-$(PYTHON_TIMEZONEFINDER_VERSION).tar.gz +PYTHON_TIMEZONEFINDER_SITE = https://files.pythonhosted.org/packages/74/d2/e6cc8edf6a6da56c5311776334b4bd2a271757573dd020592a8540512b88 +PYTHON_TIMEZONEFINDER_SETUP_TYPE = setuptools +PYTHON_TIMEZONEFINDER_DEPENDENCIES = host-python-numpy + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-tzlocal/Config.in b/buildroot-external/package/python-tzlocal/Config.in new file mode 100644 index 00000000..a6f8e9d8 --- /dev/null +++ b/buildroot-external/package/python-tzlocal/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_PYTHON_TZLOCAL + bool "python-tzlocal" + help + This Python module returns a tzinfo object + with the local timezone information + + https://github.com/regebro/tzlocal diff --git a/buildroot-external/package/python-tzlocal/python-tzlocal.hash b/buildroot-external/package/python-tzlocal/python-tzlocal.hash new file mode 100644 index 00000000..8a4a63bd --- /dev/null +++ b/buildroot-external/package/python-tzlocal/python-tzlocal.hash @@ -0,0 +1,2 @@ +# md5, sha256 from https://pypi.org/pypi/ +sha256 d160c2ce4f8b1831dabfe766bd844cf9012f766539cf84139c2faac5201882ce tzlocal-1.3.tar.gz diff --git a/buildroot-external/package/python-tzlocal/python-tzlocal.mk b/buildroot-external/package/python-tzlocal/python-tzlocal.mk new file mode 100644 index 00000000..fa5ae185 --- /dev/null +++ b/buildroot-external/package/python-tzlocal/python-tzlocal.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# python-tzlocal +# +################################################################################ + +PYTHON_TZLOCAL_VERSION = 1.3 +PYTHON_TZLOCAL_SOURCE = tzlocal-$(PYTHON_TZLOCAL_VERSION).tar.gz +PYTHON_TZLOCAL_SITE = https://files.pythonhosted.org/packages/d3/64/e4b18738496213f82b88b31c431a0e4ece143801fb6771dddd1c2bf0101b +PYTHON_TZLOCAL_SETUP_TYPE = setuptools + +$(eval $(python-package)) diff --git a/buildroot-external/package/python-unidecode/Config.in b/buildroot-external/package/python-unidecode/Config.in new file mode 100644 index 00000000..ca7acb2d --- /dev/null +++ b/buildroot-external/package/python-unidecode/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_PYTHON_UNIDECODE + bool "python-unidecode" + help + ASCII transliterations of Unicode text. + + diff --git a/buildroot-external/package/python-unidecode/python-unidecode.hash b/buildroot-external/package/python-unidecode/python-unidecode.hash new file mode 100644 index 00000000..19ed33aa --- /dev/null +++ b/buildroot-external/package/python-unidecode/python-unidecode.hash @@ -0,0 +1,5 @@ +# md5, sha256 from https://pypi.org/pypi/unidecode/json +md5 5d36d06fe14172657e944ac208e9d213 Unidecode-1.1.2.tar.gz +sha256 a039f89014245e0cad8858976293e23501accc9ff5a7bdbc739a14a2b7b85cdc Unidecode-1.1.2.tar.gz +# Locally computed sha256 checksums +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE diff --git a/buildroot-external/package/python-unidecode/python-unidecode.mk b/buildroot-external/package/python-unidecode/python-unidecode.mk new file mode 100644 index 00000000..8161c5ad --- /dev/null +++ b/buildroot-external/package/python-unidecode/python-unidecode.mk @@ -0,0 +1,14 @@ +################################################################################ +# +# python-unidecode +# +################################################################################ + +PYTHON_UNIDECODE_VERSION = 1.1.2 +PYTHON_UNIDECODE_SOURCE = Unidecode-$(PYTHON_UNIDECODE_VERSION).tar.gz +PYTHON_UNIDECODE_SITE = https://files.pythonhosted.org/packages/45/dd/544c34ddf9ab0ead3746110ad6fbdac26ca5f4a1666db22dc8aaf447d0c9 +PYTHON_UNIDECODE_SETUP_TYPE = setuptools +PYTHON_UNIDECODE_LICENSE = GPL-2.0 +PYTHON_UNIDECODE_LICENSE_FILES = LICENSE + +$(eval $(python-package)) diff --git a/buildroot-external/rootfs-overlay/etc/mycroft/mycroft.conf b/buildroot-external/rootfs-overlay/etc/mycroft/mycroft.conf index 687298c6..479f0dbb 100644 --- a/buildroot-external/rootfs-overlay/etc/mycroft/mycroft.conf +++ b/buildroot-external/rootfs-overlay/etc/mycroft/mycroft.conf @@ -20,8 +20,8 @@ "pulse_duck": true }, "skills": { - "blacklisted_skills": ["mycroft-pairing.mycroftai"], - "priority_skills": ["skill-ovos-enclosure", "skill-ovos-mycroftgui", "skill-balena-wifi-setup", "skill-ovos-pairing"] + "blacklisted_skills": ["mycroft-pairing.mycroftai", "mycroft-mark-2.mycroftai"], + "priority_skills": ["skill-ovos-enclosure", "skill-ovos-mycroftgui", "skill-balena-wifi-setup", "skill-ovos-pairing", "skill-ovos-homescreen"] }, "log_level": "INFO" } diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/preloaded_cache/Mimic2/8456b6e166ab479cb606b3d6c2ccda5f.wav b/buildroot-external/rootfs-overlay/opt/mycroft/preloaded_cache/Mimic2/8456b6e166ab479cb606b3d6c2ccda5f.wav new file mode 100644 index 0000000000000000000000000000000000000000..fb0a1cd8328d83c3c465a2e7b4296f542f732111 GIT binary patch literal 96844 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

=fF^)yMe|*w?hJ*7C)us4cGQRe7P3sjAQ~ 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 z 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 literal 0 HcmV?d00001 diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup/__init__.py b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup/__init__.py old mode 100644 new mode 100755 index 8f622615..963e80a0 --- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup/__init__.py +++ b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup/__init__.py @@ -1,6 +1,8 @@ from mycroft import MycroftSkill, intent_handler from mycroft.util import create_daemon, connected from mycroft.configuration import LocalConf, USER_CONFIG +from mycroft.api import is_paired +from mycroft.messagebus.message import Message import subprocess import pexpect from time import sleep @@ -70,7 +72,6 @@ class WifiConnect(MycroftSkill): self.log.info("Wifi watchdog started") output = subprocess.check_output("nmcli connection show", shell=True).decode("utf-8") - self.log.warning(output) if "wifi" in output: self.log.info("Detected previously configured wifi, starting " "grace period to allow it to connect") @@ -222,10 +223,10 @@ class WifiConnect(MycroftSkill): """Provide instructions for setting up wifi.""" self.gui.remove_page("status.qml") self.gui["phone_image"] = "1_phone_connect-to-ap.png" - self.gui["prompt"] = "Connect to the \nWifi network" + self.gui["prompt"] = "Connect to the Wi-Fi network" self.gui["highlight"] = self.ssid self.gui["color"] = self.settings["color"] - self.gui.show_page("prompt.qml") + self.gui.show_page("prompt.qml", override_idle=True, override_animations=True) # allow GUI to linger around for a bit, will block the wifi setup loop sleep(2) @@ -234,10 +235,10 @@ class WifiConnect(MycroftSkill): self.gui.remove_page("status.qml") self.gui.clear() self.gui["phone_image"] = "3_phone_choose-wifi.png" - self.gui["prompt"] = "Choose the \nWifi network to \nconnect your \ndevice" - self.gui["highlight"] = "" + self.gui["prompt"] = "Select local Wi-Fi network to connect" + self.gui["highlight"] = "OVOS Device" self.gui["color"] = self.settings["color"] - self.gui.show_page("prompt.qml") + self.gui.show_page("prompt.qml", override_idle=True, override_animations=True) # allow GUI to linger around for a bit, will block the wifi setup loop sleep(2) @@ -255,10 +256,14 @@ class WifiConnect(MycroftSkill): self.gui["label"] = "Connected" self.gui["bgColor"] = "#40DBB0" self.gui.remove_page("prompt.qml") - self.gui.show_page("status.qml") + self.gui.show_page("status.qml", override_idle=True, override_animations=True) # allow GUI to linger around for a bit, will block the wifi setup loop sleep(3) - self.gui.release() + if not is_paired(): + self.bus.emit(Message("mycroft.not.paired")) + else: + self.bus.emit(Message("show.not.ready")) + self.gui.release() def report_setup_failed(self, message=None): """Wifi setup failed""" @@ -268,7 +273,7 @@ class WifiConnect(MycroftSkill): self.gui["icon"] = "times-circle.svg" self.gui["label"] = "Connection Failed" self.gui["bgColor"] = "#FF0000" - self.gui.show_page("status.qml") + self.gui.show_page("status.qml", override_idle=True, override_animations=True) # allow GUI to linger around for a bit, will block the wifi setup loop sleep(2) diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup/ui/1_phone_connect-to-ap.png b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-balena-wifi-setup/ui/1_phone_connect-to-ap.png index b267dd56a78ba03d7c3fbdc8bc0e0c20bd8726a1..7fb51a212bed65cc6134d7b26bd9bd774406c843 100644 GIT binary patch literal 19504 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 UqessaXkS0tg~e^F+7gle2ZMbDu>b%7 literal 13304 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

deyk=?d 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 U(oO;YqXSZUq4vB){_Us#0plS-jo8??`|r&} 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

5es6X)(odU&LZ}L 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 root.height ? 1 : 0 + + leftPadding: 0 + rightPadding: 0 + topPadding: 0 + bottomPadding: 0 + + Rectangle { + anchors.fill: parent + color: "#000000" + + GridLayout { + anchors.fill: parent + anchors.margins: Kirigami.Units.largeSpacing + columns: horizontalMode ? 2 : 1 + + ColumnLayout { Layout.fillWidth: true - Layout.alignment: Qt.AlignLeft - Layout.leftMargin: spacingUnit - Layout.topMargin: 80 - horizontalAlignment: Text.AlignHLeft - wrapMode: Text.WordWrap - elide: Text.ElideRight - font.family: "Noto Sans" - font.bold: true - font.weight: Font.Bold - font.pixelSize: 38 - visible: !content.visible - text: prompt + Layout.fillHeight: true + + Kirigami.Heading { + id: sentence + Layout.fillWidth: true + Layout.alignment: horizontalMode ? Qt.AlignLeft : Qt.AlignHCenter | Qt.AlignVCenter + Layout.leftMargin: horizontalMode ? spacingUnit : 0 + horizontalAlignment: horizontalMode ? Text.AlignLeft : Text.AlignHCenter + verticalAlignment: horizontalMode ? Text.AlignVCenter : Text.AlignTop + wrapMode: Text.WordWrap + elide: Text.ElideRight + font.family: "Noto Sans" + font.bold: true + font.weight: Font.Bold + font.pixelSize: horizontalMode ? root.width * 0.065 : root.height * 0.075 + text: prompt + } + Kirigami.Heading { + id: url + Layout.fillWidth: true + Layout.leftMargin: horizontalMode ? spacingUnit : 0 + Layout.alignment: horizontalMode ? Qt.AlignLeft : Qt.AlignHCenter | Qt.AlignTop + horizontalAlignment: horizontalMode ? Text.AlignLeft : Text.AlignHCenter + verticalAlignment: horizontalMode ? Text.AlignVCenter : Text.AlignTop + wrapMode: Text.WordWrap + elide: Text.ElideRight + font.family: "Noto Sans" + font.bold: true + font.weight: Font.Bold + font.pixelSize: horizontalMode ? root.width * 0.065 : root.height * 0.075 + color: root.color + text: highlight + } } - Kirigami.Heading { - id: url - Layout.fillWidth: true - Layout.alignment: Qt.AlignLeft - Layout.leftMargin: spacingUnit - horizontalAlignment: Text.AlignHLeft - wrapMode: Text.WordWrap - elide: Text.ElideRight - font.family: "Noto Sans" - font.bold: true - font.weight: Font.Bold - font.pixelSize: 36 - visible: !content.visible - color: root.color - text: highlight + + Image { + id: img + source: Qt.resolvedUrl(phone) + Layout.preferredWidth: horizontalMode ? parent.width / 2 : parent.width + Layout.preferredHeight: horizontalMode ? parent.height * 0.9 : parent.height / 2 + Layout.alignment: Qt.AlignBottom + fillMode: Image.PreserveAspectFit } } } diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-date-time.mycroftai b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-date-time.mycroftai new file mode 160000 index 00000000..b5b7ded3 --- /dev/null +++ b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-date-time.mycroftai @@ -0,0 +1 @@ +Subproject commit b5b7ded3149c1929b46c2e294fc6980325416cf6 diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-homescreen b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-homescreen new file mode 160000 index 00000000..6affba69 --- /dev/null +++ b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-homescreen @@ -0,0 +1 @@ +Subproject commit 6affba69d1bc42d93b29ad89a181c9402b226c35 diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-mycroftgui b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-mycroftgui index 28c5b09e..d98871d8 160000 --- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-mycroftgui +++ b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-mycroftgui @@ -1 +1 @@ -Subproject commit 28c5b09ead07b1d4aab933ccb1ed207bff9c5371 +Subproject commit d98871d8cac30534f08a3ea846f26a413d8a23be diff --git a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-pairing b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-pairing index 2198b59e..ee7be958 160000 --- a/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-pairing +++ b/buildroot-external/rootfs-overlay/opt/mycroft/skills/skill-ovos-pairing @@ -1 +1 @@ -Subproject commit 2198b59e0b437bdb5aede5c38e33acb80f8da75e +Subproject commit ee7be95809963a4557d941f614fbb6bdb9093bd9 diff --git a/buildroot-patches/0007-Downgrade-python-arrow-to-0.12.0.patch b/buildroot-patches/0007-Downgrade-python-arrow-to-0.12.0.patch new file mode 100644 index 00000000..eef76e9c --- /dev/null +++ b/buildroot-patches/0007-Downgrade-python-arrow-to-0.12.0.patch @@ -0,0 +1,40 @@ +From 20473efe71d8d6aafb9b8604478c0dad88315368 Mon Sep 17 00:00:00 2001 +From: j1nx +Date: Thu, 7 Jan 2021 15:54:31 +0100 +Subject: [PATCH 1/1] Downgrade python-arrow to 0.12.0 + +--- + package/python-arrow/python-arrow.hash | 2 +- + package/python-arrow/python-arrow.mk | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/package/python-arrow/python-arrow.hash b/package/python-arrow/python-arrow.hash +index 90e0533232..9d52c2623c 100644 +--- a/package/python-arrow/python-arrow.hash ++++ b/package/python-arrow/python-arrow.hash +@@ -1,5 +1,5 @@ + # md5, sha256 from https://pypi.org/pypi/arrow/json + md5 554f18b0e23182ee0e8cb2a882d2f607 arrow-0.15.2.tar.gz +-sha256 10257c5daba1a88db34afa284823382f4963feca7733b9107956bed041aff24f arrow-0.15.2.tar.gz ++sha256 a15ecfddf334316e3ac8695e48c15d1be0d6038603b33043930dcf0e675c86ee arrow-0.12.0.tar.gz + # Locally computed sha256 checksums + sha256 a4b7601be50569c2c96a9818fc809b0149410c84c99714d60c9d4fb0ae861fa2 LICENSE +diff --git a/package/python-arrow/python-arrow.mk b/package/python-arrow/python-arrow.mk +index f8326288b2..d945e76831 100644 +--- a/package/python-arrow/python-arrow.mk ++++ b/package/python-arrow/python-arrow.mk +@@ -4,9 +4,9 @@ + # + ################################################################################ + +-PYTHON_ARROW_VERSION = 0.15.2 ++PYTHON_ARROW_VERSION = 0.12.0 + PYTHON_ARROW_SOURCE = arrow-$(PYTHON_ARROW_VERSION).tar.gz +-PYTHON_ARROW_SITE = https://files.pythonhosted.org/packages/43/0e/47416c54ad7742981bf77fdfc405987551ab14b181a6140c8cd2a5823872 ++PYTHON_ARROW_SITE = https://files.pythonhosted.org/packages/90/48/7ecfce4f2830f59dfacbb2b5a31e3ff1112b731a413724be40f57faa4450 + PYTHON_ARROW_SETUP_TYPE = setuptools + PYTHON_ARROW_LICENSE = Apache-2.0 + PYTHON_ARROW_LICENSE_FILES = LICENSE +-- +2.20.1 + diff --git a/buildroot-patches/0012-Make-python-pytz-available-as-host-package.patch b/buildroot-patches/0012-Make-python-pytz-available-as-host-package.patch new file mode 100644 index 00000000..ad8d6223 --- /dev/null +++ b/buildroot-patches/0012-Make-python-pytz-available-as-host-package.patch @@ -0,0 +1,21 @@ +From b457885eba19f8be0be2da35f5dbfca423be651f Mon Sep 17 00:00:00 2001 +From: j1nx +Date: Thu, 7 Jan 2021 17:12:04 +0100 +Subject: [PATCH 1/1] Make python-pytz available as host package + +--- + package/python-pytz/python-pytz.mk | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/package/python-pytz/python-pytz.mk b/package/python-pytz/python-pytz.mk +index 888f3c4556..7a64656bef 100644 +--- a/package/python-pytz/python-pytz.mk ++++ b/package/python-pytz/python-pytz.mk +@@ -12,3 +12,4 @@ PYTHON_PYTZ_LICENSE = MIT + PYTHON_PYTZ_LICENSE_FILES = LICENSE.txt + + $(eval $(python-package)) ++$(eval $(host-python-package)) +-- +2.20.1 + diff --git a/buildroot-patches/0109-Return-rpi-fix-linking-patch.patch b/buildroot-patches/0109-Return-rpi-fix-linking-patch.patch deleted file mode 100644 index 6dc4e4f0..00000000 --- a/buildroot-patches/0109-Return-rpi-fix-linking-patch.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 34fcaf17ecc1044aa8e2243dde4f84d9123c1d28 Mon Sep 17 00:00:00 2001 -From: j1nx -Date: Fri, 27 Mar 2020 11:26:38 +0100 -Subject: [PATCH 1/1] Return rpi fix linking patch - ---- - package/mpv/0003-rpi-fix-linking-errors.patch | 85 +++++++++++++++++++ - 1 file changed, 85 insertions(+) - create mode 100644 package/mpv/0003-rpi-fix-linking-errors.patch - -diff --git a/package/mpv/0003-rpi-fix-linking-errors.patch b/package/mpv/0003-rpi-fix-linking-errors.patch -new file mode 100644 -index 0000000000..7344da5724 ---- /dev/null -+++ b/package/mpv/0003-rpi-fix-linking-errors.patch -@@ -0,0 +1,85 @@ -+From 8a038f982a4621f4c62947ef3929c3beae7e7744 Mon Sep 17 00:00:00 2001 -+From: j1nx -+Date: Fri, 27 Mar 2020 10:47:27 +0100 -+Subject: [PATCH 1/1] rpi: fix linking errors -+ -+--- -+ waftools/checks/custom.py | 26 +++++++++++++++++++++++++- -+ wscript | 18 +----------------- -+ 2 files changed, 26 insertions(+), 18 deletions(-) -+ -+diff --git a/waftools/checks/custom.py b/waftools/checks/custom.py -+index 821bf9c46f..c2a600abe4 100644 -+--- a/waftools/checks/custom.py -++++ b/waftools/checks/custom.py -+@@ -4,7 +4,7 @@ from waflib import Utils -+ import os -+ -+ __all__ = ["check_pthreads", "check_iconv", "check_lua", -+- "check_cocoa", "check_wl_protocols", "check_swift"] -++ "check_cocoa", "check_wl_protocols", "check_swift", "check_rpi"] -+ -+ pthreads_program = load_fragment('pthreads.c') -+ -+@@ -120,3 +120,27 @@ def check_swift(ctx, dependency_identifier): -+ if major >= 3: -+ return True -+ return False -++ -++def check_rpi(ctx, dependency_identifier): -++ # We need MMAL/bcm_host/dispmanx APIs. -++ # Upstream keeps pkgconfig files in '/opt/vc/lib/pkgconfig'. -++ # See https://github.com/raspberrypi/userland/issues/245 -++ # PKG_CONFIG_SYSROOT_DIR helps with cross compilation. -++ prev_pkg_path = os.getenv('PKG_CONFIG_PATH', '') -++ os.environ['PKG_CONFIG_PATH'] = os.pathsep.join( -++ filter(None, [os.path.join(os.getenv('PKG_CONFIG_SYSROOT_DIR', '/'), -++ 'opt/vc/lib/pkgconfig'), -++ prev_pkg_path])) -++ -++ checks = [ -++ # We still need all OpenGL symbols, because the vo_opengl code is -++ # generic and supports anything from GLES2/OpenGL 2.1 to OpenGL 4 core. -++ check_pkg_config('bcm_host', uselib_store='bcm_host'), -++ check_pkg_config('egl'), -++ check_pkg_config('glesv2'), -++ check_cc(lib=['mmal_core', 'mmal_util', 'mmal_vc_client'], use=['bcm_host']), -++ ] -++ -++ ret = all((fn(ctx, dependency_identifier) for fn in checks)) -++ os.environ['PKG_CONFIG_PATH'] = prev_pkg_path -++ return ret -+diff --git a/wscript b/wscript -+index e9e0ab3672..49ed85a294 100644 -+--- a/wscript -++++ b/wscript -+@@ -753,25 +753,9 @@ video_output_features = [ -+ 'deps': 'win32-desktop && shaderc && crossc', -+ 'func': check_cc(header_name=['d3d11_1.h', 'dxgi1_2.h']), -+ }, { -+- # We need MMAL/bcm_host/dispmanx APIs. Also, most RPI distros require -+- # every project to hardcode the paths to the include directories. Also, -+- # these headers are so broken that they spam tons of warnings by merely -+- # including them (compensate with -isystem and -fgnu89-inline). -+ 'name': '--rpi', -+ 'desc': 'Raspberry Pi support', -+- 'func': compose_checks( -+- check_cc(cflags=["-isystem/opt/vc/include", -+- "-isystem/opt/vc/include/interface/vcos/pthreads", -+- "-isystem/opt/vc/include/interface/vmcs_host/linux", -+- "-fgnu89-inline"], -+- linkflags="-L/opt/vc/lib", -+- header_name="bcm_host.h", -+- lib=['mmal_core', 'mmal_util', 'mmal_vc_client', 'bcm_host']), -+- # We still need all OpenGL symbols, because the vo_gpu code is -+- # generic and supports anything from GLES2/OpenGL 2.1 to OpenGL 4 core. -+- check_cc(lib="EGL", linkflags="-lGLESv2"), -+- check_cc(lib="GLESv2"), -+- ), -++ 'func': check_rpi, -+ } , { -+ 'name': '--ios-gl', -+ 'desc': 'iOS OpenGL ES hardware decoding interop support', -+-- -+2.17.1 -+ --- -2.17.1 -