From 704b29d3557f3bc8953d524efbbb3636b77fe61f Mon Sep 17 00:00:00 2001
From: j1nx
Date: Mon, 7 Jun 2021 16:57:30 +0200
Subject: [PATCH] Add better-CPS and naptime to preinstalled skills
---
buildroot-external/Config.in | 4 +++
.../configs/rpi4_64-gui_defconfig | 4 +++
.../Config.in | 8 +++++
.../mycroft-skill-better-playback-control.mk | 20 ++++++++++++
.../package/mycroft-skill-naptime/Config.in | 10 ++++++
.../mycroft-skill-naptime.mk | 20 ++++++++++++
.../python-pafy/0001-Hardcode-version.patch | 31 +++++++++++++++++++
.../package/python-pafy/Config.in | 7 +++++
.../package/python-pafy/python-pafy.hash | 1 +
.../package/python-pafy/python-pafy.mk | 15 +++++++++
.../package/python-youtube-dl/Config.in | 6 ++++
.../python-youtube-dl/python-youtube-dl.hash | 5 +++
.../python-youtube-dl/python-youtube-dl.mk | 15 +++++++++
13 files changed, 146 insertions(+)
create mode 100644 buildroot-external/package/mycroft-skill-better-playback-control/Config.in
create mode 100644 buildroot-external/package/mycroft-skill-better-playback-control/mycroft-skill-better-playback-control.mk
create mode 100644 buildroot-external/package/mycroft-skill-naptime/Config.in
create mode 100644 buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk
create mode 100644 buildroot-external/package/python-pafy/0001-Hardcode-version.patch
create mode 100644 buildroot-external/package/python-pafy/Config.in
create mode 100644 buildroot-external/package/python-pafy/python-pafy.hash
create mode 100644 buildroot-external/package/python-pafy/python-pafy.mk
create mode 100644 buildroot-external/package/python-youtube-dl/Config.in
create mode 100644 buildroot-external/package/python-youtube-dl/python-youtube-dl.hash
create mode 100644 buildroot-external/package/python-youtube-dl/python-youtube-dl.mk
diff --git a/buildroot-external/Config.in b/buildroot-external/Config.in
index bc9a3e9a..4ca6fa8d 100644
--- a/buildroot-external/Config.in
+++ b/buildroot-external/Config.in
@@ -145,6 +145,7 @@ menu "Additional external python modules"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-workshop/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-pafy/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"
@@ -179,6 +180,7 @@ menu "Additional external python modules"
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-xxhash/Config.in"
+ source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-youtube-dl/Config.in"
endmenu
menu "Mycroft A.I. Personal Assistant"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-embedded-shell/Config.in"
@@ -195,10 +197,12 @@ menu "Mycroft A.I. Skills"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skills-repo/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-alarm/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-balena-wifi-setup/Config.in"
+ source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-better-playback-control/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-better-stop/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-configuration/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-date-time/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-installer/Config.in"
+ source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-naptime/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-ovos-enclosure/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-ovos-homescreen/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/mycroft-skill-ovos-mycroftgui/Config.in"
diff --git a/buildroot-external/configs/rpi4_64-gui_defconfig b/buildroot-external/configs/rpi4_64-gui_defconfig
index 4bf8a1bb..a0630c88 100644
--- a/buildroot-external/configs/rpi4_64-gui_defconfig
+++ b/buildroot-external/configs/rpi4_64-gui_defconfig
@@ -575,6 +575,7 @@ BR2_PACKAGE_PYTHON_OVOS_SKILL_MANAGER=y
BR2_PACKAGE_PYTHON_OVOS_UTILS=y
BR2_PACKAGE_PYTHON_OVOS_WORKSHOP=y
BR2_PACKAGE_PYTHON_PADATIOUS=y
+BR2_PACKAGE_PYTHON_PAFY=y
BR2_PACKAGE_PYTHON_PAKO=y
BR2_PACKAGE_PYTHON_PEP8=y
BR2_PACKAGE_PYTHON_PETACT=y
@@ -596,6 +597,7 @@ BR2_PACKAGE_PYTHON_SOURCE=y
BR2_PACKAGE_PYTHON_TZLOCAL=y
BR2_PACKAGE_PYTHON_VLC=y
BR2_PACKAGE_PYTHON_XMLRUNNER=y
+BR2_PACKAGE_PYTHON_YOUTUBE_DL=y
BR2_PACKAGE_MYCROFT_EMBEDDED_SHELL=y
BR2_PACKAGE_MYCROFT_GUI=y
BR2_PACKAGE_PYTHON_HOLMESV=y
@@ -606,10 +608,12 @@ BR2_PACKAGE_PYTHON_JARBAS_WAKE_WORD_PLUGIN_PRECISE=y
BR2_PACKAGE_MYCROFT_SKILLS_REPO=y
BR2_PACKAGE_MYCROFT_SKILL_ALARM=y
BR2_PACKAGE_MYCROFT_SKILL_BALENA_WIFI_SETUP=y
+BR2_PACKAGE_MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL=y
BR2_PACKAGE_MYCROFT_SKILL_BETTER_STOP=y
BR2_PACKAGE_MYCROFT_SKILL_CONFIGURATION=y
BR2_PACKAGE_MYCROFT_SKILL_DATE_TIME=y
BR2_PACKAGE_MYCROFT_SKILL_INSTALLER=y
+BR2_PACKAGE_MYCROFT_SKILL_NAPTIME=y
BR2_PACKAGE_MYCROFT_SKILL_OVOS_ENCLOSURE=y
BR2_PACKAGE_MYCROFT_SKILL_OVOS_HOMESCREEN=y
BR2_PACKAGE_MYCROFT_SKILL_OVOS_MYCROFTGUI=y
diff --git a/buildroot-external/package/mycroft-skill-better-playback-control/Config.in b/buildroot-external/package/mycroft-skill-better-playback-control/Config.in
new file mode 100644
index 00000000..f3e71e7a
--- /dev/null
+++ b/buildroot-external/package/mycroft-skill-better-playback-control/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL
+ bool "mycroft-skill-better-playback-control"
+ help
+ Better Common playback control system
+ NOTE: this is meant a better alternative to the
+ official playback control skill
+
+ https://github.com/JarbasSkills/skill-better-playback-control
diff --git a/buildroot-external/package/mycroft-skill-better-playback-control/mycroft-skill-better-playback-control.mk b/buildroot-external/package/mycroft-skill-better-playback-control/mycroft-skill-better-playback-control.mk
new file mode 100644
index 00000000..5fc043a8
--- /dev/null
+++ b/buildroot-external/package/mycroft-skill-better-playback-control/mycroft-skill-better-playback-control.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# mycroft-skill-better-playback-control
+#
+################################################################################
+
+MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_VERSION = ba5bf157efb78736d4194cc8474542322f1b5d2f
+MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_SITE = git://github.com/OpenVoiceOS/skill-better-playback-control
+MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_SITE_METHOD = git
+MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRLOCATION = home/mycroft/.local/share/mycroft/skills
+MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRNAME = skill-better-playback-control
+
+define MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_INSTALL_TARGET_CMDS
+ mkdir -p $(TARGET_DIR)/$(MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRLOCATION)/$(MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRNAME)
+ cp -dpfr $(@D)/* $(TARGET_DIR)/$(MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRLOCATION)/$(MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRNAME)
+ cp -dpfr $(MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DL_DIR)/git/.git* \
+ $(TARGET_DIR)/$(MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRLOCATION)/$(MYCROFT_SKILL_BETTER_PLAYBACK_CONTROL_DIRNAME)
+endef
+
+$(eval $(generic-package))
diff --git a/buildroot-external/package/mycroft-skill-naptime/Config.in b/buildroot-external/package/mycroft-skill-naptime/Config.in
new file mode 100644
index 00000000..fd3b4556
--- /dev/null
+++ b/buildroot-external/package/mycroft-skill-naptime/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_MYCROFT_SKILL_NAPTIME
+ bool "mycroft-skill-naptime"
+ help
+ Tell Mycroft to sleep when you don't want
+ to be disturbed in any way. This stops all
+ calls to Speech to Text system, guaranteeing
+ your voice won't be sent anywhere on an
+ accidental activation.
+
+ https://github.com/MycroftAI/skill-naptime
diff --git a/buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk b/buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk
new file mode 100644
index 00000000..946a24c3
--- /dev/null
+++ b/buildroot-external/package/mycroft-skill-naptime/mycroft-skill-naptime.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# mycroft-skill-naptime
+#
+################################################################################
+
+MYCROFT_SKILL_NAPTIME_VERSION = e7cc937918cc09c1781fc3b09c0bf5685eafc137
+MYCROFT_SKILL_NAPTIME_SITE = git://github.com/MycroftAI/skill-naptime
+MYCROFT_SKILL_NAPTIME_SITE_METHOD = git
+MYCROFT_SKILL_NAPTIME_DIRLOCATION = home/mycroft/.local/share/mycroft/skills
+MYCROFT_SKILL_NAPTIME_DIRNAME = mycroft-naptime.mycroftai
+
+define MYCROFT_SKILL_NAPTIME_INSTALL_TARGET_CMDS
+ mkdir -p $(TARGET_DIR)/$(MYCROFT_SKILL_NAPTIME_DIRLOCATION)/$(MYCROFT_SKILL_NAPTIME_DIRNAME)
+ cp -dpfr $(@D)/* $(TARGET_DIR)/$(MYCROFT_SKILL_NAPTIME_DIRLOCATION)/$(MYCROFT_SKILL_NAPTIME_DIRNAME)
+ cp -dpfr $(MYCROFT_SKILL_NAPTIME_DL_DIR)/git/.git* \
+ $(TARGET_DIR)/$(MYCROFT_SKILL_NAPTIME_DIRLOCATION)/$(MYCROFT_SKILL_NAPTIME_DIRNAME)
+endef
+
+$(eval $(generic-package))
diff --git a/buildroot-external/package/python-pafy/0001-Hardcode-version.patch b/buildroot-external/package/python-pafy/0001-Hardcode-version.patch
new file mode 100644
index 00000000..a58b5887
--- /dev/null
+++ b/buildroot-external/package/python-pafy/0001-Hardcode-version.patch
@@ -0,0 +1,31 @@
+From c6093bac8ba25e7ab8a10a16480694d3ff9c3644 Mon Sep 17 00:00:00 2001
+From: j1nx
+Date: Mon, 7 Jun 2021 16:55:35 +0200
+Subject: [PATCH 1/1] Hardcode version
+
+---
+ setup.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 99a9a0d..0003dca 100755
+--- a/setup.py
++++ b/setup.py
+@@ -10,13 +10,12 @@ python setup.py sdist bdist_wheel
+ """
+
+ from setuptools import setup
+-from pafy import __version__
+
+ setup(
+ name='pafy',
+ packages=['pafy'],
+ scripts=['scripts/ytdl'],
+- version=__version__,
++ version="0.5.5",
+ description="Retrieve YouTube content and metadata",
+ keywords=["pafy", "API", "YouTube", "youtube", "download", "video"],
+ author="np1",
+--
+2.20.1
+
diff --git a/buildroot-external/package/python-pafy/Config.in b/buildroot-external/package/python-pafy/Config.in
new file mode 100644
index 00000000..2c88e495
--- /dev/null
+++ b/buildroot-external/package/python-pafy/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_PYTHON_PAFY
+ bool "python-pafy"
+ help
+ Python library to download YouTube
+ content and retrieve metadata
+
+ https://pypi.org/project/pafy/
diff --git a/buildroot-external/package/python-pafy/python-pafy.hash b/buildroot-external/package/python-pafy/python-pafy.hash
new file mode 100644
index 00000000..999e60cb
--- /dev/null
+++ b/buildroot-external/package/python-pafy/python-pafy.hash
@@ -0,0 +1 @@
+sha256 364f1d1312c89582d97dc7225cf6858cde27cb11dfd64a9c2bab1a2f32133b1e pafy-0.5.5.tar.gz
diff --git a/buildroot-external/package/python-pafy/python-pafy.mk b/buildroot-external/package/python-pafy/python-pafy.mk
new file mode 100644
index 00000000..8d2b2a16
--- /dev/null
+++ b/buildroot-external/package/python-pafy/python-pafy.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# python-pafy
+#
+################################################################################
+
+PYTHON_PAFY_VERSION = 0.5.5
+PYTHON_PAFY_SOURCE = pafy-$(PYTHON_PAFY_VERSION).tar.gz
+PYTHON_PAFY_SITE = https://files.pythonhosted.org/packages/7e/02/b70f4d2ad64bbc7d2a00018c6545d9b9039208553358534e73e6dd5bbaf6
+PYTHON_PAFY_SETUP_TYPE = setuptools
+PYTHON_PAFY_LICENSE = Public Domain
+PYTHON_PAFY_LICENSE_FILES = LICENSE
+PYTHON_PAFY_DEPENDENCIES = python-youtube-dl
+
+$(eval $(python-package))
diff --git a/buildroot-external/package/python-youtube-dl/Config.in b/buildroot-external/package/python-youtube-dl/Config.in
new file mode 100644
index 00000000..1299df1a
--- /dev/null
+++ b/buildroot-external/package/python-youtube-dl/Config.in
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_PYTHON_YOUTUBE_DL
+ bool "python-youtube-dl"
+ help
+ YouTube video downloader.
+
+ https://github.com/ytdl-org/youtube-dl
diff --git a/buildroot-external/package/python-youtube-dl/python-youtube-dl.hash b/buildroot-external/package/python-youtube-dl/python-youtube-dl.hash
new file mode 100644
index 00000000..ccb0f213
--- /dev/null
+++ b/buildroot-external/package/python-youtube-dl/python-youtube-dl.hash
@@ -0,0 +1,5 @@
+# md5, sha256 from https://pypi.org/pypi/youtube-dl/json
+md5 8965aeec72bd1edc401fb820564e7678 youtube_dl-2021.6.6.tar.gz
+sha256 cb2d3ee002158ede783e97a82c95f3817594df54367ea6a77ce5ceea4772f0ab youtube_dl-2021.6.6.tar.gz
+# Locally computed sha256 checksums
+sha256 7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c LICENSE
diff --git a/buildroot-external/package/python-youtube-dl/python-youtube-dl.mk b/buildroot-external/package/python-youtube-dl/python-youtube-dl.mk
new file mode 100644
index 00000000..3378d0aa
--- /dev/null
+++ b/buildroot-external/package/python-youtube-dl/python-youtube-dl.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# python-youtube-dl
+#
+################################################################################
+
+PYTHON_YOUTUBE_DL_VERSION = 2021.6.6
+PYTHON_YOUTUBE_DL_SOURCE = youtube_dl-$(PYTHON_YOUTUBE_DL_VERSION).tar.gz
+PYTHON_YOUTUBE_DL_SITE = https://files.pythonhosted.org/packages/c6/75/05979677d9abc76851d13d8db3951e39017ac223545adab6e8576fa0cbe7
+PYTHON_YOUTUBE_DL_SETUP_TYPE = setuptools
+PYTHON_YOUTUBE_DL_LICENSE = Public Domain
+PYTHON_YOUTUBE_DL_LICENSE_FILES = LICENSE
+PYTHON_YOUTUBE_DL_INSTALL_STAGING = YES
+
+$(eval $(python-package))