WIP: Implementing all goodies and required changes / dependencies.

This commit is contained in:
j1nx 2021-01-07 21:21:21 +01:00
parent 96ddea2de3
commit 68d555fb16
71 changed files with 1181 additions and 195 deletions

25
.gitmodules vendored
View File

@ -2,28 +2,3 @@
path = buildroot path = buildroot
url = https://github.com/buildroot/buildroot.git url = https://github.com/buildroot/buildroot.git
branch = 2020.11.x 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

View File

@ -92,15 +92,19 @@ endmenu
menu "Additional external python modules" menu "Additional external python modules"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-adapt-parser/Config.in" 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-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-bs4/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-cachetools/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-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-coverage/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-coveralls/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-deprecated/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-fann2/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-fasteners/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-feedparser/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-gitdb/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-gitpython/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" 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-google-auth/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-gtts/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-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-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-lazy/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-levenshtein/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-lingua-franca/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-monotonic/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-msk/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-msm/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-oauth2client/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-olefile/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-padaos/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-padatious/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-pako/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pep8/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-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-pocketsphinx/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-precise-runner/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-precise-runner/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pulsectl/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-pychromecast/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pyee/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-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-pymplayer/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-pyxdg/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-requests-futures/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-rsa/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-sgmllib3k/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-smmap/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-source/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-speechrecognition/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-uritemplate/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-vlc/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-vlc/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-xmlrunner/Config.in" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-xmlrunner/Config.in"

View File

@ -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

View File

@ -27,10 +27,10 @@ max_framebuffers=2
# How much memory in MB to assign to the GPU on Pi models having # How much memory in MB to assign to the GPU on Pi models having
# 256, 512 or 1024 MB total memory # 256, 512 or 1024 MB total memory
gpu_mem=64 gpu_mem=256
gpu_mem_256=64 gpu_mem_256=128
gpu_mem_512=64 gpu_mem_512=128
gpu_mem_1024=64 gpu_mem_1024=128
# Enable the onboard soundcard # Enable the onboard soundcard
dtparam=audio=on dtparam=audio=on

View File

@ -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-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-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-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/

View File

@ -518,23 +518,30 @@ BR2_PACKAGE_USERLAND_TOOLS=y
BR2_PACKAGE_VIRTUAL_TOUCH=y BR2_PACKAGE_VIRTUAL_TOUCH=y
BR2_PACKAGE_WIFI_CONNECT=y BR2_PACKAGE_WIFI_CONNECT=y
BR2_PACKAGE_PYTHON_ADAPT_PARSER=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_COVERALLS=y
BR2_PACKAGE_PYTHON_DEPRECATED=y BR2_PACKAGE_PYTHON_DEPRECATED=y
BR2_PACKAGE_PYTHON_FASTENERS=y BR2_PACKAGE_PYTHON_FASTENERS=y
BR2_PACKAGE_PYTHON_FEEDPARSER=y BR2_PACKAGE_PYTHON_FEEDPARSER=y
BR2_PACKAGE_PYTHON_GEOCODER=y
BR2_PACKAGE_PYTHON_GOOGLE_API_PYTHON_CLIENT=y BR2_PACKAGE_PYTHON_GOOGLE_API_PYTHON_CLIENT=y
BR2_PACKAGE_PYTHON_GTTS=y BR2_PACKAGE_PYTHON_GTTS=y
BR2_PACKAGE_PYTHON_HOLIDAYS=y
BR2_PACKAGE_PYTHON_HUMANHASH3=y BR2_PACKAGE_PYTHON_HUMANHASH3=y
BR2_PACKAGE_PYTHON_LAZY=y BR2_PACKAGE_PYTHON_LAZY=y
BR2_PACKAGE_PYTHON_LEVENSHTEIN=y BR2_PACKAGE_PYTHON_LEVENSHTEIN=y
BR2_PACKAGE_PYTHON_LINGUA_FRANCA=y BR2_PACKAGE_PYTHON_LINGUA_FRANCA=y
BR2_PACKAGE_PYTHON_MSK=y BR2_PACKAGE_PYTHON_MSK=y
BR2_PACKAGE_PYTHON_MYCROFT_MESSAGEBUS_CLIENT=y
BR2_PACKAGE_PYTHON_OAUTH2CLIENT=y BR2_PACKAGE_PYTHON_OAUTH2CLIENT=y
BR2_PACKAGE_PYTHON_OLEFILE=y BR2_PACKAGE_PYTHON_OLEFILE=y
BR2_PACKAGE_PYTHON_OVOS_UTILS=y
BR2_PACKAGE_PYTHON_PADATIOUS=y BR2_PACKAGE_PYTHON_PADATIOUS=y
BR2_PACKAGE_PYTHON_PAKO=y BR2_PACKAGE_PYTHON_PAKO=y
BR2_PACKAGE_PYTHON_PEP8=y BR2_PACKAGE_PYTHON_PEP8=y
BR2_PACKAGE_PYTHON_PETACT=y BR2_PACKAGE_PYTHON_PETACT=y
BR2_PACKAGE_PYTHON_PHONEME_GUESSER=y
BR2_PACKAGE_PYTHON_POCKETSPHINX=y BR2_PACKAGE_PYTHON_POCKETSPHINX=y
BR2_PACKAGE_PYTHON_PRECISE_RUNNER=y BR2_PACKAGE_PYTHON_PRECISE_RUNNER=y
BR2_PACKAGE_PYTHON_PYCHROMECAST=y BR2_PACKAGE_PYTHON_PYCHROMECAST=y
@ -545,6 +552,8 @@ BR2_PACKAGE_PYTHON_SGMLLIB3K=y
BR2_PACKAGE_PYTHON_SMMAP=y BR2_PACKAGE_PYTHON_SMMAP=y
BR2_PACKAGE_PYTHON_SOURCE=y BR2_PACKAGE_PYTHON_SOURCE=y
BR2_PACKAGE_PYTHON_SPEECHRECOGNITION=y BR2_PACKAGE_PYTHON_SPEECHRECOGNITION=y
BR2_PACKAGE_PYTHON_TIMEZONEFINDER=y
BR2_PACKAGE_PYTHON_TZLOCAL=y
BR2_PACKAGE_PYTHON_VLC=y BR2_PACKAGE_PYTHON_VLC=y
BR2_PACKAGE_PYTHON_XMLRUNNER=y BR2_PACKAGE_PYTHON_XMLRUNNER=y
BR2_PACKAGE_PYTHON_MYCROFT=y BR2_PACKAGE_PYTHON_MYCROFT=y

View File

@ -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-enclosure && git stash
cd /opt/mycroft/skills/skill-ovos-mycroftgui && 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-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 chown -R mycroft.mycroft /opt/mycroft
echo "[OK]" echo "[OK]"

View File

@ -0,0 +1,340 @@
/*
* Copyright 2018 by Marco Martin <mart@kde.org>
* Copyright 2018 David Edmundson <davidedmundson@kde.org>
*
* 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"
}
}

View File

@ -17,6 +17,12 @@ define MYCROFT_GUI_CHANGE_IMAGE
$(@D)/application/ $(@D)/application/
endef 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_IMAGE
MYCROFT_GUI_PRE_CONFIGURE_HOOKS += MYCROFT_GUI_CHANGE_STATUS
$(eval $(cmake-package)) $(eval $(cmake-package))

View File

@ -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

View File

@ -0,0 +1,2 @@
# md5, sha256 from https://pypi.org/pypi/
sha256 e7f2c825ac101c0953812e0f4c617ca48bd9dd5f4ebf450f7ce9086ed8f5a1fe astral-1.4.zip

View File

@ -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))

View File

@ -0,0 +1,68 @@
From 7aaece5945a8cb942c29b2d51d82123ff39aed85 Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
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

View File

@ -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

View File

@ -0,0 +1,2 @@
# md5, sha256 from https://pypi.org/pypi
sha256 af20120fefd2afede8b001fbef2ea9da70ad7d49fafdb6489025dae8745c3aee colour-0.1.5.tar.gz

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -1,6 +1,6 @@
# md5, sha256 from https://pypi.org/pypi/feedparser/json # md5, sha256 from https://pypi.org/pypi/feedparser/json
md5 ee8bd99535a4261b8e26976984dd6b26 feedparser-5.2.1.tar.bz2 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 # Locally computed sha256 checksums
sha256 3adcffa23e565106bd6af3aacc5d03cf7948073791c842037181683c61f4163f LICENSE sha256 3adcffa23e565106bd6af3aacc5d03cf7948073791c842037181683c61f4163f LICENSE
sha256 961b8d49c0f06d3569d787a8bf8b885faa0837e89d2dd6011cb8c70347aafee3 docs/license.rst sha256 961b8d49c0f06d3569d787a8bf8b885faa0837e89d2dd6011cb8c70347aafee3 docs/license.rst

View File

@ -4,9 +4,9 @@
# #
################################################################################ ################################################################################
PYTHON_FEEDPARSER_VERSION = 5.2.1 PYTHON_FEEDPARSER_VERSION = 6.0.2
PYTHON_FEEDPARSER_SOURCE = feedparser-$(PYTHON_FEEDPARSER_VERSION).tar.bz2 PYTHON_FEEDPARSER_SOURCE = feedparser-$(PYTHON_FEEDPARSER_VERSION).tar.gz
PYTHON_FEEDPARSER_SITE = https://files.pythonhosted.org/packages/91/d8/7d37fec71ff7c9dbcdd80d2b48bcdd86d6af502156fc93846fb0102cb2c4 PYTHON_FEEDPARSER_SITE = https://files.pythonhosted.org/packages/1b/84/934fc369d2e36d7fd9a196a72e68035cabc672c46bf7aa2661838e4d0ca9
PYTHON_FEEDPARSER_SETUP_TYPE = setuptools PYTHON_FEEDPARSER_SETUP_TYPE = setuptools
PYTHON_FEEDPARSER_LICENSE = BSD-2-Clause PYTHON_FEEDPARSER_LICENSE = BSD-2-Clause
PYTHON_FEEDPARSER_LICENSE_FILES = LICENSE docs/license.rst PYTHON_FEEDPARSER_LICENSE_FILES = LICENSE docs/license.rst

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -0,0 +1,168 @@
From ed8c1bae5f26f7327090ac56a6522c78a914e78c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=85ke=20Forslund?= <ake.forslund@gmail.com>
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?= <ake.forslund@gmail.com>
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):

View File

@ -0,0 +1,32 @@
From 89782d56ed0fa1b63fef350520abea59c79bf283 Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
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

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -0,0 +1 @@
sha256 51de8154a8b07f2b9058f1cdf4c6b4e68db46d5cefd2cfe67597c90ec4520e91 python-ovos-utils-fb04a83594705aabbefc3534bc7c3b18580aee6f.tar.gz

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -0,0 +1,38 @@
From aabf33f93a95b4ccbd900dfee2b7508227ee9ac7 Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
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

View File

@ -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

View File

@ -0,0 +1,2 @@
# md5, sha256 from https://pypi.org/pypi/
sha256 d8a05c207aab92d6f01b426dc4bcef08118ec31cf4504bd4011c7551f3160694 timezonefinder-5.0.0.tar.gz

View File

@ -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))

View File

@ -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

View File

@ -0,0 +1,2 @@
# md5, sha256 from https://pypi.org/pypi/
sha256 d160c2ce4f8b1831dabfe766bd844cf9012f766539cf84139c2faac5201882ce tzlocal-1.3.tar.gz

View File

@ -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))

View File

@ -0,0 +1,6 @@
config BR2_PACKAGE_PYTHON_UNIDECODE
bool "python-unidecode"
help
ASCII transliterations of Unicode text.

View File

@ -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

View File

@ -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))

View File

@ -20,8 +20,8 @@
"pulse_duck": true "pulse_duck": true
}, },
"skills": { "skills": {
"blacklisted_skills": ["mycroft-pairing.mycroftai"], "blacklisted_skills": ["mycroft-pairing.mycroftai", "mycroft-mark-2.mycroftai"],
"priority_skills": ["skill-ovos-enclosure", "skill-ovos-mycroftgui", "skill-balena-wifi-setup", "skill-ovos-pairing"] "priority_skills": ["skill-ovos-enclosure", "skill-ovos-mycroftgui", "skill-balena-wifi-setup", "skill-ovos-pairing", "skill-ovos-homescreen"]
}, },
"log_level": "INFO" "log_level": "INFO"
} }

View File

@ -1,6 +1,8 @@
from mycroft import MycroftSkill, intent_handler from mycroft import MycroftSkill, intent_handler
from mycroft.util import create_daemon, connected from mycroft.util import create_daemon, connected
from mycroft.configuration import LocalConf, USER_CONFIG from mycroft.configuration import LocalConf, USER_CONFIG
from mycroft.api import is_paired
from mycroft.messagebus.message import Message
import subprocess import subprocess
import pexpect import pexpect
from time import sleep from time import sleep
@ -70,7 +72,6 @@ class WifiConnect(MycroftSkill):
self.log.info("Wifi watchdog started") self.log.info("Wifi watchdog started")
output = subprocess.check_output("nmcli connection show", output = subprocess.check_output("nmcli connection show",
shell=True).decode("utf-8") shell=True).decode("utf-8")
self.log.warning(output)
if "wifi" in output: if "wifi" in output:
self.log.info("Detected previously configured wifi, starting " self.log.info("Detected previously configured wifi, starting "
"grace period to allow it to connect") "grace period to allow it to connect")
@ -222,10 +223,10 @@ class WifiConnect(MycroftSkill):
"""Provide instructions for setting up wifi.""" """Provide instructions for setting up wifi."""
self.gui.remove_page("status.qml") self.gui.remove_page("status.qml")
self.gui["phone_image"] = "1_phone_connect-to-ap.png" 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["highlight"] = self.ssid
self.gui["color"] = self.settings["color"] 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 # allow GUI to linger around for a bit, will block the wifi setup loop
sleep(2) sleep(2)
@ -234,10 +235,10 @@ class WifiConnect(MycroftSkill):
self.gui.remove_page("status.qml") self.gui.remove_page("status.qml")
self.gui.clear() self.gui.clear()
self.gui["phone_image"] = "3_phone_choose-wifi.png" self.gui["phone_image"] = "3_phone_choose-wifi.png"
self.gui["prompt"] = "Choose the \nWifi network to \nconnect your \ndevice" self.gui["prompt"] = "Select local Wi-Fi network to connect"
self.gui["highlight"] = "" self.gui["highlight"] = "OVOS Device"
self.gui["color"] = self.settings["color"] 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 # allow GUI to linger around for a bit, will block the wifi setup loop
sleep(2) sleep(2)
@ -255,10 +256,14 @@ class WifiConnect(MycroftSkill):
self.gui["label"] = "Connected" self.gui["label"] = "Connected"
self.gui["bgColor"] = "#40DBB0" self.gui["bgColor"] = "#40DBB0"
self.gui.remove_page("prompt.qml") 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 # allow GUI to linger around for a bit, will block the wifi setup loop
sleep(3) 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): def report_setup_failed(self, message=None):
"""Wifi setup failed""" """Wifi setup failed"""
@ -268,7 +273,7 @@ class WifiConnect(MycroftSkill):
self.gui["icon"] = "times-circle.svg" self.gui["icon"] = "times-circle.svg"
self.gui["label"] = "Connection Failed" self.gui["label"] = "Connection Failed"
self.gui["bgColor"] = "#FF0000" 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 # allow GUI to linger around for a bit, will block the wifi setup loop
sleep(2) sleep(2)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -19,60 +19,75 @@ import QtQuick.Layouts 1.4
import QtQuick 2.4 import QtQuick 2.4
import QtQuick.Controls 2.0 import QtQuick.Controls 2.0
import org.kde.kirigami 2.4 as Kirigami import org.kde.kirigami 2.4 as Kirigami
import Mycroft 1.0 as Mycroft import Mycroft 1.0 as Mycroft
Mycroft.ProportionalDelegate { Mycroft.Delegate {
id: root id: root
property var spacingUnit: 30 property var spacingUnit: 30
property var phone: sessionData.phone_image property var phone: sessionData.phone_image
property var prompt: sessionData.prompt property var prompt: sessionData.prompt
property var highlight: sessionData.highlight property var highlight: sessionData.highlight
property var color: sessionData.color property var color: sessionData.color
property bool horizontalMode: root.width > root.height ? 1 : 0
Row {
spacing: spacingUnit leftPadding: 0
Image { rightPadding: 0
id: img topPadding: 0
source: Qt.resolvedUrl(phone) bottomPadding: 0
Layout.fillHeight: true
height: root.height * 0.8 Rectangle {
fillMode: Image.PreserveAspectFit anchors.fill: parent
verticalAlignment: Image.AlignBottom color: "#000000"
anchors.bottom: parent.bottom
} GridLayout {
ColumnLayout { anchors.fill: parent
Kirigami.Heading { anchors.margins: Kirigami.Units.largeSpacing
id: sentence columns: horizontalMode ? 2 : 1
ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignLeft Layout.fillHeight: true
Layout.leftMargin: spacingUnit
Layout.topMargin: 80 Kirigami.Heading {
horizontalAlignment: Text.AlignHLeft id: sentence
wrapMode: Text.WordWrap Layout.fillWidth: true
elide: Text.ElideRight Layout.alignment: horizontalMode ? Qt.AlignLeft : Qt.AlignHCenter | Qt.AlignVCenter
font.family: "Noto Sans" Layout.leftMargin: horizontalMode ? spacingUnit : 0
font.bold: true horizontalAlignment: horizontalMode ? Text.AlignLeft : Text.AlignHCenter
font.weight: Font.Bold verticalAlignment: horizontalMode ? Text.AlignVCenter : Text.AlignTop
font.pixelSize: 38 wrapMode: Text.WordWrap
visible: !content.visible elide: Text.ElideRight
text: prompt 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 Image {
Layout.fillWidth: true id: img
Layout.alignment: Qt.AlignLeft source: Qt.resolvedUrl(phone)
Layout.leftMargin: spacingUnit Layout.preferredWidth: horizontalMode ? parent.width / 2 : parent.width
horizontalAlignment: Text.AlignHLeft Layout.preferredHeight: horizontalMode ? parent.height * 0.9 : parent.height / 2
wrapMode: Text.WordWrap Layout.alignment: Qt.AlignBottom
elide: Text.ElideRight fillMode: Image.PreserveAspectFit
font.family: "Noto Sans"
font.bold: true
font.weight: Font.Bold
font.pixelSize: 36
visible: !content.visible
color: root.color
text: highlight
} }
} }
} }

@ -0,0 +1 @@
Subproject commit b5b7ded3149c1929b46c2e294fc6980325416cf6

@ -0,0 +1 @@
Subproject commit 6affba69d1bc42d93b29ad89a181c9402b226c35

@ -1 +1 @@
Subproject commit 28c5b09ead07b1d4aab933ccb1ed207bff9c5371 Subproject commit d98871d8cac30534f08a3ea846f26a413d8a23be

@ -1 +1 @@
Subproject commit 2198b59e0b437bdb5aede5c38e33acb80f8da75e Subproject commit ee7be95809963a4557d941f614fbb6bdb9093bd9

View File

@ -0,0 +1,40 @@
From 20473efe71d8d6aafb9b8604478c0dad88315368 Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
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

View File

@ -0,0 +1,21 @@
From b457885eba19f8be0be2da35f5dbfca423be651f Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
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

View File

@ -1,104 +0,0 @@
From 34fcaf17ecc1044aa8e2243dde4f84d9123c1d28 Mon Sep 17 00:00:00 2001
From: j1nx <p.steenbergen@j1nx.nl>
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 <p.steenbergen@j1nx.nl>
+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