Compare commits

..

257 Commits

Author SHA1 Message Date
Christian Hewitt
1085837ff4 Merge pull request #3145 from MilhouseVH/le82_fix_heimdal
heimdal: Disable OTP [backport]
2018-12-03 11:37:24 +04:00
Jernej Skrabec
3e7d83fb28 heimdal: Disable OTP
Building OTP is broken on ArchLinux and it seems it is not needed
anyway.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
2018-12-03 07:19:01 +00:00
Christian Hewitt
df9145c250 Merge pull request #2874 from MilhouseVH/le82_wpa_supplicant_EAPOL_fix
wpa_supplicant: Fix EAPOL vulnerability [backport]
2018-08-10 07:17:30 -04:00
MilhouseVH
0f6857592b wpa_supplicant: Fix EAPOL vulnerability 2018-08-09 17:53:20 +01:00
Christian Hewitt
4b72147729 Merge pull request #2717 from awiouy/82-snapcast-14
snapcast: backport of #2716
2018-07-12 01:04:46 +04:00
awiouy
b79a481ec1 snapserver: update to 0.15.0 2018-07-10 09:37:11 +02:00
awiouy
7dd1701a10 snapclient: update to 0.15.0 2018-07-10 09:37:11 +02:00
awiouy
c1d41509e2 snapcast: update to 0.15.0 2018-07-10 09:37:11 +02:00
awiouy
7056afe53c shairport-sync: update to 3.2 2018-07-10 09:37:11 +02:00
awiouy
7a7fbb53ee popl: update to 1.2.0 2018-07-10 09:33:43 +02:00
awiouy
ccaaa92373 asio: update to 1.12.0 2018-07-10 09:33:43 +02:00
awiouy
ff268e9b33 alsa-plugins: initial package 2018-07-10 09:33:43 +02:00
awiouy
4ef6e2f76e aixlog: update to 1.2.1 2018-07-10 09:30:47 +02:00
Christian Hewitt
6383674424 Merge pull request #2786 from awiouy/82-tvmosaic
Backport of #2782 and #2784
2018-06-20 04:01:47 +04:00
awiouy
b3800a65ba tvmosaic: initial addon 2018-06-19 23:18:04 +02:00
Christian Hewitt
f5682418ca Merge pull request #2662 from CvH/8.2-tvh-bump
tvheadend42: update to 4.2.6
2018-05-28 13:40:19 +05:30
CvH
1da6210ae8 Merge pull request #2720 from awiouy/82-rustup-wget
rustup.rs: backport of #2719
2018-05-22 23:29:50 +02:00
awiouy
0897730e8b rustup.rs: use wget if curl is unavailable 2018-05-22 21:47:05 +02:00
CvH
05e240629f Merge pull request #2710 from awiouy/82-librespot-quickfix
rust: backport of #2709
2018-05-20 22:00:32 +02:00
Obrekr
ff5a954789 librespot: update to 431be (#2713) 2018-05-20 21:58:44 +02:00
awiouy
0d0b97b056 rust: rework 2018-05-20 11:02:27 +02:00
awiouy
6fa338ae66 rustup.rs: initial package 2018-05-20 11:02:26 +02:00
MilhouseVH
57e48ebe38 Merge pull request #2691 from chewitt/devel
config: set version to devel
2018-05-09 05:59:30 +01:00
chewitt
06889551af config: set version to devel 2018-05-09 05:56:39 +01:00
Christian Hewitt
d78fddb53a Merge pull request #2687 from InuSasha/updates/8.2/adafruit
adafruit-libraries: update of various modules [8.2]
2018-05-09 09:57:41 +05:30
Sascha Kühndel
0909b9af59 switch to new version number 2018-05-08 23:16:35 +02:00
Sascha Kuehndel (InuSasha)
f0574c4a9c adafruit-libraries: update of various modules 2018-05-08 18:58:40 +02:00
cvh
6c4205385f tvheadend42: update to 4.2.6 2018-04-23 10:56:57 +02:00
Christian Hewitt
0beeae963d Merge pull request #2648 from HiassofT/le82-memtester
[8.2] include memtester in image
2018-04-13 15:00:21 +05:30
Matthias Reichl
ff97658a8f virtual/debug: add memtester
Signed-off-by: Matthias Reichl <hias@horus.com>
2018-04-13 11:23:03 +02:00
Matthias Reichl
9dd59338ab memtester: initial package
Includes cross compile patch from Debian

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-04-13 11:22:57 +02:00
Christian Hewitt
bc574b113f Merge pull request #2635 from MilhouseVH/v825
config: set version to 8.2.5
2018-04-12 11:38:31 +05:30
MilhouseVH
b41e26f2a2 config: set version to 8.2.5 2018-04-12 06:43:30 +01:00
Christian Hewitt
910572926e Merge pull request #2643 from HiassofT/le82-mce-kbd
[8.2] fix stuck keys with MCE keyboard
2018-04-10 16:03:38 +05:30
Matthias Reichl
7d18736d61 media_build: fix stuck keys with MCE keyboard
See https://patchwork.linuxtv.org/patch/48519/

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-04-10 12:18:02 +02:00
Matthias Reichl
9f8b751427 linux default, RPi: fix stuck keys with MCE keyboard
See https://patchwork.linuxtv.org/patch/48519/

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-04-10 12:15:57 +02:00
Christian Hewitt
a5812da71b Merge pull request #2642 from codesnake/wp1_pro_remote_fix
[LE 8.2] WeTek_Play: Fix WeTek Pro Remote
2018-04-09 22:00:31 +05:30
Alex Deryskyba
57a13951db projects/WeTek_Play: remove unused WeTek Pro Remote configuration file 2018-04-09 18:03:06 +03:00
Alex Deryskyba
cb6b3b7004 amremote: add mappings for WeTek Pro Remote into WP1 and OE box config files to allow use of the Pro Remote simultaneoulsy with the stock remote 2018-04-09 18:02:51 +03:00
Alex Deryskyba
a9aebc1fe1 projects/WeTek_Play: add a patch to allow use of WeTek Pro Remote simultaneously with the stock remote 2018-04-09 18:02:51 +03:00
Christian Hewitt
da19c99313 Merge pull request #2639 from MilhouseVH/le82_825_pilinux
RPi/linux: firmware, lan78xx and dwc_otg fixes [le82]
2018-04-09 14:13:02 +05:30
Christian Hewitt
c0a875f8d1 Merge pull request #2640 from MilhouseVH/le82_kodi_binaddons_825
kodi-binary-addons: update to latest Krypton versions [le82]
2018-04-08 20:00:54 +05:30
MilhouseVH
c2d7588fe7 kodi-binary-addons: update to latest Krypton versions 2018-04-08 14:54:12 +01:00
MilhouseVH
143da3b8ea RPi/linux: cherry-picked lan78xx/dwc_otg fixes 2018-04-08 13:47:00 +01:00
Christian Hewitt
5d2db97d15 Merge pull request #2633 from wrxtasy/LE8-C2-uboot
u-boot: Odroid-C2 Adjust dvfs table for high cpu frequency sets
2018-04-08 07:28:31 +05:30
MilhouseVH
797d67328b RPi: update firmware to 3aa8060 2018-04-06 19:37:29 +01:00
wrxtasy
8bf057fa5a uboot: update to hardkernel-095fdbe 2018-04-06 21:13:41 +08:00
Christian Hewitt
dc67a68048 Merge pull request #2637 from HiassofT/le82-allo-digione
RPi,RPi2: add alsa card conf for Allo DigiOne to enable passthrough
2018-04-06 13:59:33 +05:30
wrxtasy
f5ad74f95b u-boot: Odroid-C2 Adjust dvfs table for high cpu frequency sets
095fdbe290
Allows stable CPU Overclocking up to 1.752GHz
2018-04-06 12:17:20 +08:00
Christian Hewitt
ce567c2840 Merge pull request #2628 from codesnake/wetek_pro_remote_le82
[LE 8.2] WeTek Play, WeTek Core, WeTek Hub, WeTek Play 2: add support for WeTek Pro Remote
2018-04-05 16:38:50 +05:30
Matthias Reichl
d125c30462 RPi,RPi2: add alsa card conf for Allo DigiOne to enable passthrough
Signed-off-by: Matthias Reichl <hias@horus.com>
2018-04-03 01:43:11 +02:00
Alex Deryskyba
35e7220fd5 projects/WeTek_Play_2: add support for WeTek Pro Remote 2018-03-30 13:23:26 +03:00
Alex Deryskyba
4bbc0f1113 projects/WeTek_Hub: add support for WeTek Pro Remote 2018-03-30 13:23:10 +03:00
Alex Deryskyba
311920c236 projects/WeTek_Core: add support for WeTek Pro Remote 2018-03-30 13:22:53 +03:00
Alex Deryskyba
71e8adf3d3 projects/WeTek_Play: add support for WeTek Pro Remote 2018-03-30 13:22:37 +03:00
Alex Deryskyba
0b633b79d1 amremote: add support for second remote 2018-03-30 13:21:45 +03:00
Christian Hewitt
934507d922 Merge pull request #2618 from awiouy/82-tinc
tinc: rework (backport of #2613)
2018-03-29 20:25:43 +05:30
Christian Hewitt
cff5b35dfe Merge pull request #2622 from MilhouseVH/le82_openssl_1.0.2o
openssl: update to openssl-1.0.2o [backport]
2018-03-29 20:25:06 +05:30
MilhouseVH
219d51e9c1 openssl: update to openssl-1.0.2o 2018-03-28 00:09:46 +01:00
awiouy
192bec10e6 tinc: rework 2018-03-28 00:49:33 +02:00
Christian Hewitt
7fd53f39c3 Merge pull request #2619 from awiouy/82-snapclient
snapcast: add streaming from kodi (backport of #2597)
2018-03-27 22:36:31 +05:30
awiouy
db6d5abd8a snapserver: add streaming from kodi 2018-03-27 09:01:00 +02:00
awiouy
f3bd3fab9e snapclient: always restart service 2018-03-27 08:55:57 +02:00
Christian Hewitt
484c478fe5 Merge pull request #2617 from MilhouseVH/le82_proto-8.2.5-fw
RPi: update firmware 75de5d7 [backport]
2018-03-27 06:36:21 +05:30
MilhouseVH
a32ed80de7 RPi: update firmware 75de5d7 2018-03-26 19:27:29 +01:00
Christian Hewitt
c6d901a444 Merge pull request #2614 from HiassofT/le82-rpi-kconfig
[8.2] RPi/RPi2: sync audio kernel config with foundation kernel
2018-03-25 23:30:26 +05:30
Matthias Reichl
535a924d30 RPi/RPi2: sync audio kernel config with foundation kernel
Enable codec and card drivers that are present in the foundation
kernel config but were missing in our configs.

Signed-off-by: Matthias Reichl <hias@horus.com>
2018-03-25 12:07:17 +02:00
Christian Hewitt
91718a8461 Merge pull request #2612 from MilhouseVH/le82_proto-8.2.5
Various fixes and updates for a future libreelec-8.2
2018-03-25 08:10:04 +05:30
MilhouseVH
4251fbeebf xf86-video-nvidia-legacy: update to xf86-video-nvidia-legacy-340.106 2018-03-24 21:21:12 +00:00
MilhouseVH
e98bb26824 xf86-video-nvidia: update to xf86-video-nvidia-390.42 2018-03-24 21:21:12 +00:00
MilhouseVH
b37646d107 RPi: update to firmware 36f9913 [WIP] 2018-03-24 21:21:12 +00:00
MilhouseVH
f93675c674 RPi: tools cleanup 2018-03-24 21:21:12 +00:00
MilhouseVH
fba45a585d config: update to linux-4.9.80 2018-03-24 21:21:12 +00:00
MilhouseVH
e0dc115e44 linux/RPi: update lan78xx patch 2018-03-24 21:21:12 +00:00
MilhouseVH
c1bcdb5728 linux/RPi: switch to vendor kernel, linux-4.9.80 2018-03-24 21:21:12 +00:00
Christian Hewitt
84fe69fefe Merge pull request #2601 from MilhouseVH/le82_pi3+_wlan_firmware_bump3
brcmfmac_sdio-firmware-rpi: cleanup wlan-firmware [backport]
2018-03-24 15:19:13 +05:30
Christian Hewitt
5b67d0cbd6 Merge pull request #2611 from MilhouseVH/le82_lan78xx_builtin
config: enable LAN78XX as builtin - needed for netboot [backport]
2018-03-23 20:44:22 +05:30
MilhouseVH
f42ef70c4b config: enable LAN78XX as builtin - needed for netboot 2018-03-23 15:10:19 +00:00
MilhouseVH
1c719410ad wlan-firmware: update to wlan-firmware-2142727 2018-03-19 16:46:32 +00:00
MilhouseVH
026c467429 brcmfmac_sdio-firmware-rpi: update to brcmfmac_sdio-firmware-rpi-18d7c93 2018-03-19 16:46:32 +00:00
CvH
c59dc5256a Merge pull request #2589 from chewitt/v824
config: set version to devel
2018-03-14 14:13:42 +01:00
chewitt
d0352cb74a config: set version to devel 2018-03-14 13:11:53 +00:00
MilhouseVH
a76d1275a9 Merge pull request #2581 from chewitt/v824
config: set version to 8.2.4
2018-03-13 20:53:58 +00:00
chewitt
e16e263fb9 config: set version to 8.2.4 2018-03-13 20:52:20 +00:00
Christian Hewitt
eacd50cbc6 Merge pull request #2583 from MilhouseVH/le82_samba_4.6.14
samba: update to samba-4.6.14
2018-03-14 00:51:35 +04:00
MilhouseVH
fe39836041 samba: fix build without ADS enabled
https://lists.samba.org/archive/samba-technical/2017-December/124629.html
2018-03-13 20:29:28 +00:00
MilhouseVH
23c5398ba5 samba: update to samba-4.6.14 2018-03-13 20:15:27 +00:00
Christian Hewitt
87430084aa Merge pull request #2584 from MilhouseVH/le82_pi_firmware_8.2.4v2
RPi: update firmware to 3347884
2018-03-14 00:03:17 +04:00
MilhouseVH
eee50c694c RPi: update firmware to 3347884 2018-03-13 19:47:08 +00:00
Christian Hewitt
bdfc710974 Merge pull request #2578 from MilhouseVH/le82_pi_firmware_8.2.4
RPi: update firmware to 6e3c5f8
2018-03-12 08:53:02 +04:00
MilhouseVH
98ace83f5b RPi: update firmware to 6e3c5f8 2018-03-11 23:46:51 +00:00
CvH
12174ee961 Merge pull request #2573 from chewitt/settings_bump
settings: bump version to 0768930
2018-03-10 16:37:47 +01:00
chewitt
8bdd6863ad settings: bump version to 0768930 2018-03-10 15:26:04 +00:00
Christian Hewitt
59c60c679c Merge pull request #2249 from MilhouseVH/le82_fix_noobs
NOOBS: shorten partition labels, change tar filename [backport]
2018-03-10 18:19:44 +04:00
Christian Hewitt
754d7fce84 Merge pull request #2546 from awiouy/8.2-snapcast
snapcast
2018-03-09 10:41:24 +04:00
awiouy
405ab3fe30 licenses: add BSL 2018-03-08 00:41:15 +01:00
awiouy
ca20c72f08 snapserver: initial addon 2018-03-08 00:41:15 +01:00
awiouy
1e54f6b690 snapclient: initial addon 2018-03-08 00:41:15 +01:00
awiouy
c8c57fba6e snapcast: initial package 2018-03-07 14:43:17 +01:00
awiouy
cc4d220911 shairport-sync: initial package 2018-03-07 14:43:12 +01:00
awiouy
72580f1e82 popl: initial package 2018-03-05 14:05:55 +01:00
awiouy
8ade757f2b asio: initial package 2018-03-04 19:55:13 +01:00
awiouy
780de86d69 aixlog: initial package 2018-03-04 19:55:13 +01:00
Christian Hewitt
b55e08ea15 Merge pull request #2531 from awiouy/8.2-lsorg-2
librespot: update to 685fb4e (backport of #2530)
2018-02-28 06:49:46 +04:00
awiouy
1e0100a45f librespot: update to 685fb4e 2018-02-27 17:58:09 +01:00
Christian Hewitt
2d2999fcf0 Merge pull request #2483 from MilhouseVH/le82_repo_bumps_201802
LibreELEC Repo bumps: service.libreelec.settings and brcmfmac_sdio-firmware-rpi [Backport]
2018-02-07 06:27:24 +04:00
MilhouseVH
e29118865b brcmfmac_sdio-firmware-rpi: update to brcmfmac_sdio-firmware-rpi-c0d516c 2018-02-07 02:13:37 +00:00
MilhouseVH
dd508b24a7 LibreELEC-settings: update to LibreELEC-settings-b73fb11 2018-02-07 02:09:47 +00:00
Christian Hewitt
34aa4b9b41 Merge pull request #2446 from awiouy/lsorg-8.2
librespot: update to bc7ceb3
2018-02-01 08:26:45 +04:00
awiouy
e0d690a2fc librespot: update to bc7ceb3 2018-01-30 19:42:33 +01:00
Christian Hewitt
1a141e73fc Merge pull request #1931 from awiouy/wgp-8.2
webgrabplus: update to 2.1.5_beta
2018-01-28 06:02:24 +04:00
awiouy
05abd4a02f rust: update to 1.23.0 2018-01-27 00:04:17 +01:00
awiouy
9667591332 webgrabplus: update to 2.1.5_beta 2018-01-26 17:29:36 +01:00
Christian Hewitt
92ccbd743a Merge pull request #2440 from MilhouseVH/le82_curl_7580
curl: update to curl-7.58.0 [backport]
2018-01-26 08:42:13 +04:00
MilhouseVH
e41deb8256 curl: update to curl-7.58.0 2018-01-26 01:57:03 +00:00
CvH
fb92e8efc9 Merge pull request #2434 from chewitt/version
config: set version to devel
2018-01-24 08:35:06 +01:00
chewitt
3e68c62f1c config: set version to devel 2018-01-24 07:11:01 +00:00
Christian Hewitt
bf824be3c7 Merge pull request #2353 from dcervi/Fix-Cinergy-S2-Rev4
Fix Cinergy S2 USB Rev.4
2018-01-24 06:16:59 +04:00
CvH
c3d292f978 Merge pull request #2426 from chewitt/version
config: set version to 8.2.3
2018-01-21 03:40:56 +01:00
chewitt
ed3143fffe config: set version to 8.2.3 2018-01-21 02:39:44 +00:00
CvH
71060aaf91 Merge pull request #2414 from chewitt/mr823
release: initial backports and updates for LE 8.2.3
2018-01-21 03:31:58 +01:00
chewitt
23a4479aff options: add intel_nuc_led to Generic 2018-01-17 05:32:30 +00:00
Lukas Rusak
66c4137a90 intel_nuc_led: initial package 2018-01-17 05:25:36 +00:00
chewitt
b265100ed7 settings: update to include first-run repo fix 2018-01-14 11:46:38 +00:00
MilhouseVH
59ebfda677 linux: add BayTrail patches 2018-01-14 11:46:38 +00:00
MilhouseVH
728a03c9c5 linux: revert softirq commit, temporarily fix DVB issues
See: https://forum.libreelec.tv/thread/4235-dvb-issue-since-le-switched-to-kernel-4-9-x/?postID=75965#post75965
2018-01-14 11:46:32 +00:00
MilhouseVH
0793708613 pastebinit: sprunge.us is worse than useless 2018-01-13 23:41:15 +00:00
MilhouseVH
615e4bda1e samba: use documented browseable/writeable properties not synonyms 2018-01-13 23:33:36 +00:00
MilhouseVH
5332b5dd90 samba: fix synonyms in a custom config 2018-01-13 23:26:20 +00:00
Jernej Škrabec
00ba45170f Merge pull request #2354 from chewitt/version
config: set version to devel
2017-12-23 20:43:42 +01:00
chewitt
4bd00ea49b config: set version to devel 2017-12-23 19:26:09 +00:00
dcervi
e8708f0772 Fix Cinergy S2 USB Rev.4 2017-12-23 18:08:44 +01:00
MilhouseVH
e882c649fe Merge pull request #2344 from chewitt/version
config: set version to 8.2.2
2017-12-21 18:50:06 +00:00
Christian Hewitt
a09b8ea227 Merge pull request #2342 from wrxtasy/C2_Blue_LED
projects/Odroid_C2: Turn off annoying blue flashing LED on boot
2017-12-21 09:26:34 +04:00
chewitt
3c6b246da1 config: set version to 8.2.2 2017-12-21 04:20:42 +00:00
wrxtasy
0dc0085d12 projects/Odroid_C2: Turn off annoying blue flashing LED on boot 2017-12-21 11:57:29 +08:00
Christian Hewitt
501d64503f Merge pull request #2326 from shaun2029/libreelec-8.2
ffmpeg: fix for 3D ISO not playing properly
2017-12-21 06:41:58 +04:00
Shaun2029
ce9deb7aa7 Fixes: Libreelec 8.2.0.1 Rpi3 3D iso not playing properly
This amends commit b27b2a9 with omited MVC parser code for ffmpeg-99.1003-pfcd_hevc_optimisations.patch
2017-12-15 18:12:22 +00:00
Christian Hewitt
0ddf2aa42e Merge pull request #2312 from MilhouseVH/le82_systemd_tempfiles_fix
tz-data: adjust dependency so that it doesn't create /var/run [backport]
2017-12-11 06:16:00 +04:00
MilhouseVH
1951715877 tz-data: adjust dependency so that it doesn't create /var/run
as this prevents the /var/run -> /run sym link from being created.
2017-12-10 20:27:50 +00:00
Christian Hewitt
83282b6af0 Merge pull request #2294 from awiouy/82-lsfix
Backport of #2293
2017-12-07 06:52:52 +04:00
awiouy
d019b64b78 librespot: fix default.py, move fifo to /var/run/librespot 2017-12-06 22:49:46 +01:00
Christian Hewitt
fb3975758f Merge pull request #2290 from mglae/squeezelite_le82
multimedia-tools: squeezelite: support all possible media formats
2017-12-06 06:36:38 +04:00
mglae
2b3c251900 multimedia-tools: squeezelite: support all possible media formats 2017-12-06 00:28:29 +01:00
Christian Hewitt
332ab42cc7 Merge pull request #2283 from HiassofT/le82-irctl
[8.2] v4l-utils: fix sending scancodes with ir-ctl
2017-12-01 23:01:16 +04:00
Matthias Reichl
9ab6b71716 v4l-utils: fix sending scancodes with ir-ctl
- fix sending multiple scancodes with configurable gap
- fix sending rc6 scancodes on 32bit platforms

Patches are backported from v4l-utils master branch

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-12-01 10:08:47 +01:00
Christian Hewitt
469f1829c1 Merge pull request #2231 from CvH/8.2-pcscd
PC/SC Smart Card Daemon
2017-11-30 18:33:46 +04:00
Christian Hewitt
ec759de239 Merge pull request #2273 from samnazarko/le8.2-osmcrf-backport
eventlircd: add support for OSMC 2nd generation remote
2017-11-29 06:42:41 +04:00
Sam Nazarko
18581f3006 eventlircd: add support for OSMC 2nd generation remote
Signed-off-by: Sam Nazarko <email@samnazarko.co.uk>
2017-11-28 12:12:15 +00:00
Christian Hewitt
2a5e229a20 Merge pull request #2274 from codesnake/set_version_devel_le82
[LE 8.2] config: Set version to devel
2017-11-28 06:32:06 +04:00
Alex Deryskyba
c3b52d6284 config: Set version to devel 2017-11-28 02:01:05 +02:00
Christian Hewitt
fd8aa6610d Merge pull request #2252 from codesnake/wetek_core_update_uboot_recovery_le82
[LE 8.2] WeTek_Core: Update bootloader, logo and recovery images
2017-11-24 19:39:44 +04:00
Alex Deryskyba
57afce6129 WeTek_Core: Update bootloader and logo images
Adds dual-boot feature.
2017-11-24 16:01:38 +02:00
Alex Deryskyba
110ea515dc WeTek_Core: Update recovery and updater images
Fixes an issue when LibreELEC fails to boot after installation
with a message "sh: can't access tty; job control turned off".
2017-11-24 16:01:31 +02:00
MilhouseVH
861bb0e445 NOOBS: shorten partition labels, change tar filename [backport] 2017-11-23 04:01:22 +00:00
MilhouseVH
ec446e21ef Merge pull request #2224 from chewitt/kodi-176
kodi: changes for Krypton 17.6
2017-11-20 04:32:24 +00:00
chewitt
c7d8093c6b config: set version to 8.2.1 2017-11-19 13:24:32 +00:00
chewitt
ba0a2ec358 util-linux: fix typo in blkid patch 2017-11-19 13:24:32 +00:00
chewitt
07aa491253 glibc: fix perl 2017-11-19 13:24:32 +00:00
chewitt
00437c4c8d samba: update to 4.6.10 2017-11-19 13:24:32 +00:00
chewitt
2509ccd743 kodi: changes for smb minprotocol and legacysecurity 2017-11-19 13:24:32 +00:00
chewitt
4d9caffbe4 kodi: udpate to 17.6 final 2017-11-19 13:24:32 +00:00
chewitt
e39892557d kodi: bump peripheral.joystick for 17.6 2017-11-19 13:24:32 +00:00
cvh
e347b69d0e pcscd: initial addon 2017-11-17 13:02:39 +01:00
cvh
f20200dad3 pcsc-lite: update to 1.8.22 2017-11-17 13:02:38 +01:00
cvh
cb7c0c9361 ccid: initial package 2017-11-17 13:02:37 +01:00
Celedhrim
4ca25d29a7 net-snmp: backport updates from master 2017-11-16 17:03:45 +04:00
MilhouseVH
2dab8326c4 Merge pull request #2207 from chewitt/tz-82
tzdata: update timezone data to 2017c
2017-11-13 02:04:12 +00:00
chewitt
169ebdb762 tzdata: update timezone data to 2017c 2017-11-12 06:13:56 +00:00
Christian Hewitt
fcfa9a9d9c Merge pull request #2185 from vpeter4/touch82
touchscreen: fix addon version
2017-11-09 21:45:44 +04:00
Christian Hewitt
ed3ea1d53d Merge pull request #2192 from awiouy/8.2-mono-5.4.1
mono: update to 5.4.1.6
2017-11-09 21:44:41 +04:00
Christian Hewitt
de9a2ba961 Merge pull request #2189 from HiassofT/le82-appleir
[LE8.2] macmini IR wakeup-from-suspend fixes
2017-11-09 21:43:52 +04:00
Christian Hewitt
a24745c9be Merge pull request #2194 from HiassofT/le82-samba-file-exists
[LE8.2] samba: fix misleading "file exists" message on login error
2017-11-09 21:38:15 +04:00
Matthias Reichl
bad81a508e samba: fix misleading "file exists" message on login error
Signed-off-by: Matthias Reichl <hias@horus.com>
2017-11-09 14:25:49 +01:00
awiouy
bfa4e8d74b mono: update to 5.4.1.6 2017-11-09 13:36:22 +01:00
Matthias Reichl
d2a7c9c5d2 atvclient: enable wakeup by Apple IR remote
Signed-off-by: Matthias Reichl <hias@horus.com>
2017-11-09 09:13:17 +01:00
Matthias Reichl
24fb463fda Generic: compile appleir driver as module
Signed-off-by: Matthias Reichl <hias@horus.com>
2017-11-09 09:13:17 +01:00
MilhouseVH
63f25a2f8a Merge pull request #2187 from chewitt/addons
kodi: bump pvr.dvbviewr and inputstream.adaptive
2017-11-09 04:32:28 +00:00
chewitt
c9695b5868 kodi: bump pvr.dvbviewer and inputstream.adaptive 2017-11-09 02:49:12 +00:00
Peter Vicman
aade987f76 touchscreen: fix addon version
from version="8.2.100.100" to version="8.2.100"
2017-11-07 15:21:14 +01:00
Radostan Riedel
d8f951533a Merge pull request #2148 from vpeter4/sundtek-82
sundtek-mediatv: support new driver version ...
2017-11-02 08:16:14 +01:00
Matthias Reichl
f840cb7ecf Merge pull request #2165 from chewitt/stuff
config: set version to devel
2017-10-30 09:02:00 +01:00
chewitt
b384e473b5 config: set version to devel 2017-10-30 05:44:13 +00:00
MilhouseVH
6d144e7721 Merge pull request #2160 from chewitt/stuff
config: bump version to 8.2.0.1 for RPi HEVC respin
2017-10-29 16:07:38 +00:00
Christian Hewitt
dfcf29fcec Merge pull request #2164 from MilhouseVH/le82_rpi_hevc_fix
RPi: update linux to linux-4.9.59 and firmware
2017-10-29 20:06:51 +04:00
MilhouseVH
2e1fc1aba7 RPi firmware: update 93aae13 2017-10-29 16:00:39 +00:00
MilhouseVH
8ad20d22a6 config: update config to linux-4.9.59 2017-10-29 16:00:39 +00:00
MilhouseVH
63760a12d1 RPi/RPi2: update linux support patches for linux 4.9.59 2017-10-29 16:00:39 +00:00
MilhouseVH
a284c9d5bc RPi: update linux to linux-4.9.59 2017-10-29 16:00:39 +00:00
chewitt
b99bae91ea config: bump version to 8.2.0.1 for RPi HEVC respin 2017-10-29 08:54:21 +00:00
Christian Hewitt
daabb1301b Merge pull request #2155 from CvH/8.2-tvh40-fix
tvheadend: fix pkg section
2017-10-28 19:19:54 +04:00
cvh
e808b3d8ad tvheadend: fix pkg section 2017-10-28 16:13:35 +02:00
Lukas Rusak
92aee3070b Merge pull request #2139 from chewitt/stuff
misc: cleanup items for 8.2.0
2017-10-27 10:15:42 +02:00
MilhouseVH
cddbc32720 samba: fix authentication with Win10 Fall Creators Update 2017-10-27 08:16:54 +01:00
Peter Vicman
5d50feac62 sundtek-mediatv: support new driver version (different output from mediaclient) 2017-10-26 11:01:53 +02:00
chewitt
c789a4ad1b ffmpegx: tidy up package.mk 2017-10-25 22:10:32 +01:00
chewitt
5299cf1d93 kodi: revert bad add-on updates 2017-10-25 07:05:34 +01:00
Christian Hewitt
8475f31d2a Merge pull request #2142 from awiouy/mono-54-82
mono: update to 5.4.0.201
2017-10-25 07:58:30 +04:00
Christian Hewitt
4a620a129a Merge pull request #1985 from CvH/8.2-emby-ffmpegx
FFmpegx rework for Emby update
2017-10-25 07:55:52 +04:00
awiouy
241dad6a1a mono: update to 5.4.0.201 2017-10-25 02:59:20 +02:00
awiouy
46db9a3565 emby: update to 3.2.34.0 2017-10-25 00:13:19 +02:00
cvh
2af4df4f0a ffmpegx: reworked package 2017-10-25 00:11:52 +02:00
Radostan Riedel
21e699ffd5 Merge pull request #2136 from chewitt/version
config: set version to 8.2.0
2017-10-24 06:42:34 +02:00
chewitt
88971a551a config: set version to 8.2.0 2017-10-23 22:30:38 +01:00
Radostan Riedel
a099563512 Merge pull request #2074 from MilhouseVH/le82_kodi17.5
kodi: update to kodi-17.5
2017-10-23 12:46:10 +02:00
MilhouseVH
bc3a6e7c6b RPi/RPi2: Update kodi support patches 2017-10-23 10:07:42 +01:00
MilhouseVH
ebf3066572 RPi Firmware: update to ab5eb99 2017-10-23 10:07:42 +01:00
MilhouseVH
12d33baa24 kodi-binary-addons: update to latest Krypton 2017-10-23 10:07:42 +01:00
MilhouseVH
0d59f48407 kodi: update to kodi-5bd45ab 2017-10-23 10:07:42 +01:00
MilhouseVH
dafd9bdb7b ffmpeg: ensure HEVC builds on aarch64 2017-10-23 10:07:42 +01:00
MilhouseVH
b27b2a95cc ffmpeg: update to ffmpeg-9702d0d 2017-10-23 10:07:42 +01:00
Radostan Riedel
b3ce664f7e Merge pull request #2130 from wrxtasy/xiaomi_remotes_8.2
linux-amlogic: enable UHID driver support and fix Xiaomi BT remotes (backport)
2017-10-19 09:09:48 +02:00
wrxtasy
285d68b3b7 projects/Hub_Play2_C2 enable UHID driver support 2017-10-19 14:36:06 +08:00
wrxtasy
e2b4df7333 eventlircd: fix Xiaomi BT remote support 2017-10-19 14:35:59 +08:00
Christian Hewitt
afdf552ba4 Merge pull request #2122 from HiassofT/le8-wpa
[8.2] wpa_supplicant: update to 2.6 and add patches against KRACK attack
2017-10-18 10:34:44 +04:00
Matthias Reichl
e385d80c5a wpa_supplicant: add security patches against KRACK attack
see https://w1.fi/security/2017-1/

Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-17 09:57:23 +02:00
Lukas Rusak
215b7df748 wpa_supplicant: update to 2.6 2017-10-17 09:46:29 +02:00
cvh
a917a9a1c4 opus: update to 1.2.1 2017-10-16 22:32:22 +02:00
awiouy
996ad540e4 imagemagick: update to 7.0.7-1 2017-10-16 22:32:22 +02:00
cvh
429deca122 fdk-aac: initial package 2017-10-16 22:32:22 +02:00
cvh
5135f3911d libvpx: initial package 2017-10-16 22:32:22 +02:00
cvh
e994a82ae5 x265: initial package 2017-10-16 22:32:22 +02:00
cvh
dc2934a984 x264: update to 20171015 2017-10-16 22:32:22 +02:00
cvh
d5bfe006c2 x264: moved package 2017-10-15 21:44:00 +02:00
cvh
67a6991fcf ffmpegx: removed package 2017-10-15 21:44:00 +02:00
Christian Hewitt
18bd6b5478 Merge pull request #2101 from CGarces/update_rtl8188eu_backport
RTL8188EU: update to c5113ff
2017-10-14 07:10:44 +04:00
CGarces
514ae5bba9 RTL8188EU: update to c5113ff
Add TP-Link TL-WN722N v2
Fix buffer overrun warning
2017-10-13 18:52:15 +02:00
Christian Hewitt
0b8d0773b0 Merge pull request #2067 from CvH/8.2-addon-broken
add addon broken support to addon building
2017-10-12 11:00:18 +04:00
Christian Hewitt
fb5fb91a3e Merge pull request #2081 from CvH/8.2-hyperion
hyperion: update to 1c21232
2017-10-12 10:51:25 +04:00
cvh
c4f8e1b4f0 hyperion: update to 1c21232 2017-10-09 20:08:32 +02:00
MilhouseVH
c40f234923 Merge pull request #2073 from chewitt/slice-8.2
slice: add projects and other changes for Slice and Slice3
2017-10-09 03:40:43 +01:00
Lukas Rusak
37f98b5239 service.slice: fix rew not playing 2017-10-07 14:12:50 +01:00
chewitt
763d8e0821 bcm2835-bootloader: compile dt-blob.bin for slice and cleanup scripts 2017-10-07 14:12:50 +01:00
chewitt
319bb26d4e linux: backport project/device overlays dts support 2017-10-07 14:12:50 +01:00
chewitt
39f48f3975 linux: enable CS4265 driver for slice 2017-10-07 14:12:50 +01:00
chewitt
b261cb3eff kodi: add slice options 2017-10-07 14:12:50 +01:00
chewitt
8f0afd1530 slice: add slice.service to image 2017-10-07 14:12:50 +01:00
chewitt
bc86ad98db slice: add slice.service addon 2017-10-07 14:12:50 +01:00
chewitt
351652bba3 slice: add led_tools package 2017-10-07 14:12:50 +01:00
chewitt
0783480fa9 slice: add slice-driver package 2017-10-07 14:12:50 +01:00
chewitt
c10ee861b8 slice: add slice-firmware package 2017-10-07 14:12:50 +01:00
chewitt
01c51fec6a slice: add projects for Slice and Slice3 2017-10-07 14:12:50 +01:00
Christian Hewitt
f5c7c8dc5e Merge pull request #2065 from vpeter4/imx6_rtl_82
imx6: update Realtek wifi patches for Linux 3.14
2017-10-06 13:40:16 +04:00
Christian Hewitt
c302deacac Merge pull request #2066 from vpeter4/imx6_linux_82
imx6: update config for Linux 3.14
2017-10-06 13:38:15 +04:00
cvh
6d87e3d781 tvheadend: initial package (broken) 2017-10-05 23:40:32 +02:00
cvh
04a81af6b4 config/path: ensure package.mk variables are unset 2017-10-05 23:40:32 +02:00
cvh
8f8f03dbfa scripts/create_addon: add addon broken support 2017-10-05 23:09:46 +02:00
Peter Vicman
191e78e58e imx6: update config for Linux 3.14 2017-10-04 12:25:39 +02:00
Peter Vicman
29af04fc3a imx6: update Realtek wifi patches for Linux 3.14 2017-10-04 12:24:24 +02:00
Christian Hewitt
de111dd5b2 Merge pull request #2052 from HiassofT/le82-spinelplus
[8.2] linux (rpi): sync spinelplus patch with default
2017-10-03 23:34:23 +04:00
Matthias Reichl
c1dcaf7699 linux (rpi): sync spinelplus patch with default
Signed-off-by: Matthias Reichl <hias@horus.com>
2017-10-02 11:47:50 +02:00
Lukas Rusak
910b29e202 Merge pull request #2045 from chewitt/stuff
settings: bump to fix backup free-space calc
2017-09-27 23:41:09 -07:00
chewitt
53fdef88c6 settings: bump to fix backup free-space calc 2017-09-28 06:23:17 +01:00
Christian Hewitt
8ec2004c28 Merge pull request #2041 from CvH/8.2-dvb-fw
dvb-firmware: update to 1.2.2
2017-09-28 08:48:41 +04:00
Lukas Rusak
818c27d1da Merge pull request #2044 from chewitt/version
config: set version to devel
2017-09-27 21:47:16 -07:00
chewitt
b651fd6c9b config: set version to devel 2017-09-28 05:34:34 +01:00
cvh
72fa600fb2 dvb-firmware: update to 1.2.2 2017-09-27 10:21:19 +02:00
305 changed files with 108627 additions and 357915 deletions

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
<import addon="os.libreelec.tv" version="@OS_VERSION@"/>
<import addon="xbmc.python" version="2.1.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.service" library="default.py">
<provides>@PKG_ADDON_PROVIDES@</provides>
</extension>
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
<description>
@PKG_LONGDESC@
</description>
<disclaimer>
@PKG_DISCLAIMER@
</disclaimer>
<broken>
@PKG_ADDON_BROKEN@
</broken>
<platform>all</platform>
<news>
@PKG_ADDON_NEWS@
</news>
<assets>
<icon>resources/icon.png</icon>
<fanart>resources/fanart.png</fanart>
@PKG_ADDON_SCREENSHOT@
</assets>
</extension>
</addon>

View File

@@ -1,7 +1,7 @@
{
"partitions": [
{
"label": "@DISTRONAME@_@PROJECT@_System",
"label": "System",
"filesystem_type": "FAT",
"partition_size_nominal": @SYSTEM_SIZE@,
"want_maximised": false,
@@ -9,7 +9,7 @@
"mkfs_options": ""
},
{
"label": "@DISTRONAME@_@PROJECT@_Storage",
"label": "Storage",
"filesystem_type": "ext4",
"partition_size_nominal": 512,
"want_maximised": true,

View File

@@ -69,11 +69,19 @@ SED="sed -i"
PKG_DEPENDS_BOOTSTRAP=""
PKG_SECTION=""
PKG_SHORTDESC="$1 (autogenerated)"
PKG_LONGDESC=""
PKG_LONGDESC="$1 (autogenerated)"
PKG_IS_ADDON="no"
PKG_PATCH_DIRS=""
PKG_NEED_UNPACK=""
PKG_SHA256=""
PKG_ADDON_BROKEN=""
PKG_ADDON_NAME=""
PKG_ADDON_PROVIDES=""
PKG_ADDON_REQUIRES=""
PKG_ADDON_SCREENSHOT=""
PKG_ADDON_TYPE=""
PKG_DISCLAIMER=""
PKG_MAINTAINER=""
if [ -n "$1" ]; then
_PKG_ROOT_NAME=${1%:*}

View File

@@ -1,5 +1,5 @@
# VERSION: set full version, use "devel" for development version
LIBREELEC_VERSION="8.1.2"
LIBREELEC_VERSION="devel"
# OS_VERSION: OS Version
OS_VERSION="8.2"

23
licenses/BSL.txt Normal file
View File

@@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_ADS1x15"
PKG_VERSION="733d179"
PKG_VERSION="a963cc0"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_ADXL345"
PKG_VERSION="b153663"
PKG_VERSION="dca3d90"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_BMP"
PKG_VERSION="ad6521d"
PKG_VERSION="4e89e32"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_CharLCD"
PKG_VERSION="e5952eb"
PKG_VERSION="bc75cad"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_DHT"
PKG_VERSION="310c59b"
PKG_VERSION="a609d7d"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"
@@ -40,10 +40,6 @@ esac
pre_make_target() {
export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr"
export LDSHARED="$CC -shared"
sed -e 's/from ez_setup import use_setuptools/\#from ez_setup import use_setuptools/' \
-e 's/use_setuptools()/\#use_setuptools()/' \
-i setup.py
}
make_target() {

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_GPIO"
PKG_VERSION="fdf0fca"
PKG_VERSION="c543d1d"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_LED_Backpack"
PKG_VERSION="d3bd401"
PKG_VERSION="e34b954"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_LSM303"
PKG_VERSION="03b344d"
PKG_VERSION="81bcc12"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_MCP3008"
PKG_VERSION="705f090"
PKG_VERSION="e721d26"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_MCP4725"
PKG_VERSION="5b5fc87"
PKG_VERSION="8a30e5e"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_PCA9685"
PKG_VERSION="bfa4851"
PKG_VERSION="f86db2c"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_PureIO"
PKG_VERSION="a29d95a"
PKG_VERSION="5e952c2"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_SI1145"
PKG_VERSION="cbc6c62"
PKG_VERSION="18c4006"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/THP-JOE/Python_SI1145"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_TCS34725"
PKG_VERSION="4ff05a3"
PKG_VERSION="6306f90"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_VCNL40xx"
PKG_VERSION="e54bff9"
PKG_VERSION="3c59be5"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="Adafruit_Python_WS2801"
PKG_VERSION="699426a"
PKG_VERSION="d0c1907"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/adafruit/${PKG_NAME}"

View File

@@ -0,0 +1,37 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="ccid"
PKG_VERSION="1.4.28"
PKG_ARCH="any"
PKG_LICENSE="LGPL"
PKG_SITE="http://pcsclite.alioth.debian.org/ccid.html"
PKG_URL="https://alioth.debian.org/frs/download.php/latestfile/112/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain pcsc-lite"
PKG_SECTION="driver"
PKG_SHORTDESC="CCID free software driver"
PKG_LONGDESC="CCID free software driver"
PKG_AUTORECONF="yes"
PKG_CONFIGURE_OPTS_TARGET="--enable-static --enable-twinserial"
make_target() {
make
make -C src/ Info.plist
}

View File

@@ -1,108 +0,0 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="ffmpegx"
PKG_VERSION="libreelec"
PKG_REV="9"
PKG_LICENSE="LGPLv2.1+"
PKG_SITE="https://ffmpeg.org"
PKG_DEPENDS_TARGET="toolchain ffmpeg lame x264"
PKG_LONGDESC="FFmpeg built static with additional features"
pre_configure_target() {
cd "$PKG_BUILD"
rm -rf ".$TARGET_NAME"
cp -PR $(get_build_dir ffmpeg)/* .
make clean
# ffmpeg builds better with these options
strip_gold
strip_lto
if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
CFLAGS="-DRPI=1 -I$SYSROOT_PREFIX/usr/include/IL -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux $CFLAGS"
FFMPEG_LIBS="-lbcm_host -ldl -lmmal -lmmal_core -lmmal_util -lvchiq_arm -lvcos -lvcsm"
FFMPEG_RPI_HADE="--enable-mmal --enable-omx-rpi"
fi
# ffmpeg does not build with libx264 on aarch64
if [ "$TARGET_ARCH" != "aarch64" ]; then
FFMPEG_X264="--enable-libx264"
fi
if [ "$TARGET_ARCH" == "arm" ]; then
FFMPEG_ARM_AO="--enable-hardcoded-tables"
fi
}
configure_target() {
./configure \
\
`#Licensing options` \
--enable-gpl \
--enable-nonfree \
\
`#Documentation options` \
--disable-doc \
\
`#Hardware accelerated decoding encoding` \
$FFMPEG_RPI_HADE \
\
`#External library support` \
--enable-libmp3lame \
$FFMPEG_X264 \
--enable-openssl \
\
`#Toolchain options` \
--arch="$TARGET_ARCH" \
--cpu="$TARGET_CPU" \
--cross-prefix="$TARGET_PREFIX" \
--enable-cross-compile \
--sysroot="$SYSROOT_PREFIX" \
--sysinclude="$SYSROOT_PREFIX/usr/include" \
--target-os="linux" \
--nm="$NM" \
--ar="$AR" \
--as="$CC" \
--cc="$CC" \
--ld="$CC" \
--pkg-config="$TOOLCHAIN/bin/pkg-config" \
--host-cc="$HOST_CC" \
--host-cflags="$HOST_CFLAGS" \
--host-ldflags="$HOST_LDFLAGS" \
--host-libs="-lm" \
--extra-cflags="$CFLAGS" \
--extra-ldflags="$LDFLAGS" \
--extra-libs="$FFMPEG_LIBS" \
--extra-version="x" \
--enable-pic \
\
`#Advanced options` \
$FFMPEG_ARM_AO \
}
makeinstall_target() {
make install DESTDIR=$INSTALL
}
post_makeinstall_target() {
for ff in $INSTALL/usr/local/bin/*; do mv $ff ${ff}x; done
rm -fr $INSTALL/usr/local/include
rm -fr $INSTALL/usr/local/share/ffmpeg/examples
}

View File

@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="imagemagick"
PKG_VERSION="7.0.5-7"
PKG_VERSION="7.0.7-1"
PKG_LICENSE="http://www.imagemagick.org/script/license.php"
PKG_SITE="http://www.imagemagick.org/"
PKG_URL="https://github.com/ImageMagick/ImageMagick/archive/$PKG_VERSION.tar.gz"

View File

@@ -0,0 +1,29 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="fdk-aac"
PKG_VERSION="0.1.5"
PKG_SHA256="ff53d1d01cacc29c071e23192dfefa93bdbeaf775fc5d296259b4859d0306b79"
PKG_ARCH="any"
PKG_LICENSE="other"
PKG_SITE="https://sourceforge.net/projects/opencore-amr/"
PKG_URL="https://github.com/mstorsjo/fdk-aac/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="multimedia"
PKG_LONGDESC="A standalone library of the Fraunhofer FDK AAC code from Android."
PKG_AUTORECONF="yes"

View File

@@ -0,0 +1,61 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="libvpx"
PKG_VERSION="1.6.1"
PKG_ARCH="any"
PKG_LICENSE="BSD"
PKG_SITE="https://www.webmproject.org"
PKG_URL="https://github.com/webmproject/libvpx/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain yasm:host"
PKG_SECTION="multimedia"
PKG_SHORTDESC="WebM VP8/VP9 Codec SDK"
PKG_LONGDESC="The WebM Project is dedicated to developing a high-quality, open video format for the web that's freely available to everyone."
PKG_AUTORECONF="no"
configure_target() {
case $ARCH in
aarch64)
TARGET_NAME_LIBVPX="arm64-linux-gcc"
;;
arm)
TARGET_NAME_LIBVPX="armv7-linux-gcc"
;;
x86_64)
TARGET_NAME_LIBVPX="x86_64-linux-gcc"
;;
esac
$PKG_CONFIGURE_SCRIPT --prefix=/usr \
--extra-cflags="$CFLAGS" \
--as=yasm \
--target=$TARGET_NAME_LIBVPX \
--disable-docs \
--disable-examples \
--disable-shared \
--disable-tools \
--disable-unit-tests \
--disable-vp8-decoder \
--disable-vp9-decoder \
--enable-ccache \
--enable-pic \
--enable-static \
--enable-vp8 \
--enable-vp9
}

View File

@@ -17,12 +17,14 @@
################################################################################
PKG_NAME="x264"
PKG_VERSION="snapshot-20170524-2245-stable"
PKG_VERSION="snapshot-20171015-2245"
PKG_LICENSE="GPL"
PKG_SITE="http://www.videolan.org/developers/x264.html"
PKG_URL="ftp://ftp.videolan.org/pub/videolan/x264/snapshots/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_URL="https://download.videolan.org/x264/snapshots/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="multimedia"
PKG_LONGDESC="x264"
PKG_AUTORECONF="no"
pre_configure_target() {
cd $PKG_BUILD

View File

@@ -0,0 +1,33 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="x265"
PKG_VERSION="2.5"
PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/videolan/x265"
PKG_URL="https://github.com/videolan/x265/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="multimedia"
PKG_LONGDESC="x265 is a H.265/HEVC video encoder application library"
PKG_AUTORECONF="no"
pre_configure_target() {
LDFLAGS="$LDFLAGS -ldl"
cmake -G "Unix Makefiles" ./source
}

View File

@@ -0,0 +1,190 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="ffmpegx"
PKG_VERSION="3.4"
PKG_ARCH="any"
PKG_LICENSE="LGPLv2.1+"
PKG_SITE="https://ffmpeg.org"
PKG_URL="https://github.com/FFmpeg/FFmpeg/archive/n${PKG_VERSION}.tar.gz"
PKG_SOURCE_DIR="FFmpeg-n${PKG_VERSION}"
PKG_DEPENDS_TARGET="toolchain bzip2 fdk-aac libvorbis openssl opus x264 x265 zlib"
PKG_SECTION="multimedia"
PKG_LONGDESC="FFmpegx is an complete FFmpeg build to support encoding and decoding"
PKG_AUTORECONF="no"
# Dependencies
get_graphicdrivers
if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver"
fi
# ARMv6 is no longer supported by libvpx
if [ "$PROJECT" != "RPi" -a "$PROJECT" != "Slice" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libvpx"
fi
pre_configure_target() {
cd $PKG_BUILD
rm -rf .$TARGET_NAME
# ffmpeg builds better with these options
strip_gold
strip_lto
if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
CFLAGS="-DRPI=1 -I$SYSROOT_PREFIX/usr/include/IL -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux $CFLAGS"
PKG_FFMPEG_LIBS="-lbcm_host -ldl -lmmal -lmmal_core -lmmal_util -lvchiq_arm -lvcos -lvcsm"
fi
if [ "$TARGET_ARCH" == "arm" ]; then
PKG_FFMPEG_ARM_AO="--enable-hardcoded-tables"
fi
# HW encoders
# RPi 0-3
if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
PKG_FFMPEG_HW_ENCODERS_RPi="\
`#Video encoders` \
--enable-omx-rpi \
--enable-mmal \
--enable-encoder=h264_omx \
\
`#Video hwaccel` \
--enable-hwaccel=h264_mmal \
--enable-hwaccel=mpeg2_mmal \
--enable-hwaccel=mpeg4_mmal \
--enable-hwaccel=vc1_mmal"
fi
# Generic
if [[ "$TARGET_ARCH" = "x86_64" ]]; then
PKG_FFMPEG_HW_ENCODERS_GENERIC="\
`#Video encoders` \
--enable-encoder=h264_nvenc \
--enable-encoder=h264_vaapi \
--enable-encoder=hevc_nvenc \
--enable-encoder=hevc_vaapi \
--enable-encoder=mjpeg_vaapi \
--enable-encoder=mpeg2_vaapi \
--enable-encoder=vp8_vaapi \
--enable-encoder=vp9_vaapi \
\
`#Video hwaccel` \
--enable-hwaccel=h263_vaapi \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=hevc_vaapi \
--enable-hwaccel=mpeg2_vaapi \
--enable-hwaccel=mpeg4_vaapi \
--enable-hwaccel=vc1_vaapi \
--enable-hwaccel=vp9_vaapi \
--enable-hwaccel=wmv3_vaapi"
fi
# Encoders
PKG_FFMPEG_ENCODERS="\
`#Video encoders` \
--enable-libvpx \
--enable-encoder=libvpx_vp8 \
--enable-encoder=libvpx_vp9 \
--enable-libx264 \
--enable-encoder=x264 \
--enable-libx265 \
--enable-encoder=x265 \
\
`#Audio encoders` \
--enable-encoder=ac3 \
--enable-encoder=eac3 \
--enable-libfdk-aac \
--enable-encoder=libfdk-aac \
--enable-encoder=flac \
--enable-libmp3lame \
--enable-encoder=libmp3lame \
--enable-libopus \
--enable-encoder=libopus \
--enable-libvorbis \
--enable-encoder=libvorbis"
}
configure_target() {
./configure \
\
`#Programs to build` \
--enable-ffmpeg \
--disable-ffplay \
--enable-ffprobe \
--disable-ffserver \
\
`#Static and Shared` \
--enable-static \
--disable-shared \
\
`#Licensing options` \
--enable-gpl \
--enable-nonfree \
\
`#Documentation options` \
--disable-doc \
\
`#Hardware accelerated decoding encoding` \
$PKG_FFMPEG_HW_ENCODERS_RPi \
$PKG_FFMPEG_HW_ENCODERS_GENERIC \
\
`#General options` \
--enable-avresample \
\
`#Toolchain options` \
--arch="$TARGET_ARCH" \
--cpu="$TARGET_CPU" \
--cross-prefix="$TARGET_PREFIX" \
--enable-cross-compile \
--sysroot="$SYSROOT_PREFIX" \
--sysinclude="$SYSROOT_PREFIX/usr/include" \
--target-os="linux" \
--nm="$NM" \
--ar="$AR" \
--as="$CC" \
--cc="$CC" \
--ld="$CC" \
--pkg-config="$TOOLCHAIN/bin/pkg-config" \
--host-cc="$HOST_CC" \
--host-cflags="$HOST_CFLAGS" \
--host-ldflags="$HOST_LDFLAGS" \
--host-extralibs="-lm" \
--extra-cflags="$CFLAGS" \
--extra-ldflags="$LDFLAGS" \
--extra-libs="$PKG_FFMPEG_LIBS" \
--extra-version="x" \
--enable-pic \
--enable-openssl \
\
`#Advanced options` \
$PKG_FFMPEG_ARM_AO \
}
makeinstall_target() {
make install DESTDIR="$INSTALL/../.INSTALL_PKG"
}
post_makeinstall_target() {
for ff in "$INSTALL/../.INSTALL_PKG/usr/local/bin/"*; do mv "$ff" "${ff}x"; done
}

View File

@@ -17,12 +17,11 @@
################################################################################
PKG_NAME="rust"
PKG_VERSION="1.20.0"
PKG_VERSION="1.26.0"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://www.rust-lang.org"
PKG_URL=""
PKG_DEPENDS="toolchain"
PKG_DEPENDS_TARGET="toolchain rustup.rs"
PKG_SECTION="devel"
PKG_LONGDESC="Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety."
PKG_IS_ADDON="no"
@@ -42,7 +41,7 @@ make_target() {
export RUSTUP_HOME="$CARGO_HOME"
export PATH="$CARGO_HOME/bin:$PATH"
rm -rf "$CARGO_HOME"
curl https://sh.rustup.rs -sSf | sh -s -- --no-modify-path -y
$(get_build_dir rustup.rs)/rustup-init.sh --no-modify-path -y
rustup default "$PKG_VERSION"
case "$TARGET_ARCH" in
aarch64)

View File

@@ -0,0 +1,43 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="rustup.rs"
PKG_VERSION="1.3.0"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://www.rust-lang.org"
PKG_URL="https://github.com/rust-lang-nursery/rustup.rs/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="devel"
PKG_LONGDESC="The Rust toolchain installer."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
configure_target() {
:
}
make_target() {
:
}
makeinstall_target() {
:
}

View File

@@ -0,0 +1,115 @@
From 299427ade578adb04a761ebbe7aacc07367fe37a Mon Sep 17 00:00:00 2001
From: TitanSnow <sweeto@live.cn>
Date: Sat, 21 Oct 2017 13:08:33 +0800
Subject: [PATCH 1/2] fallbacks to wget if curl not installed
modify 'rustup-init.sh' to support wget
if curl not installed. This situation
often happens on some linux distribution.
---
rustup-init.sh | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/rustup-init.sh b/rustup-init.sh
index 7e089a1fb..a33a31377 100755
--- a/rustup-init.sh
+++ b/rustup-init.sh
@@ -9,8 +9,8 @@
# option. This file may not be copied, modified, or distributed
# except according to those terms.
-# This is just a little script that can be curled from the internet to
-# install rustup. It just does platform detection, curls the installer
+# This is just a little script that can be downloaded from the internet to
+# install rustup. It just does platform detection, downloads the installer
# and runs it.
set -u
@@ -41,8 +41,8 @@ EOF
}
main() {
+ downloader --check
need_cmd uname
- need_cmd curl
need_cmd mktemp
need_cmd chmod
need_cmd mkdir
@@ -100,7 +100,7 @@ main() {
fi
ensure mkdir -p "$_dir"
- ensure curl -sSfL "$_url" -o "$_file"
+ ensure downloader "$_url" "$_file"
ensure chmod u+x "$_file"
if [ ! -x "$_file" ]; then
printf '%s\n' "Cannot execute $_file (likely because of mounting /tmp as noexec)." 1>&2
@@ -359,4 +359,24 @@ ignore() {
"$@"
}
+# This wraps curl or wget. Try curl first, if not installed,
+# use wget instead.
+downloader() {
+ if command -v curl > /dev/null 2>&1
+ then _dld=curl
+ elif command -v wget > /dev/null 2>&1
+ then _dld=wget
+ else _dld='curl or wget' # to be used in error message of need_cmd
+ fi
+
+ if [ "$1" = --check ]
+ then need_cmd "$_dld"
+ elif [ "$_dld" = curl ]
+ then curl -sSfL "$1" -o "$2"
+ elif [ "$_dld" = wget ]
+ then wget "$1" -O "$2"
+ else err "Unknown downloader" # should not reach here
+ fi
+}
+
main "$@" || exit 1
From faa08bd786b7282500cc4162a2f428484c891130 Mon Sep 17 00:00:00 2001
From: Tibo <delor.thibault@gmail.com>
Date: Thu, 8 Mar 2018 16:41:19 +1100
Subject: [PATCH 2/2] Avoid duplication of command -v
---
rustup-init.sh | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/rustup-init.sh b/rustup-init.sh
index a33a31377..e874aa7a3 100755
--- a/rustup-init.sh
+++ b/rustup-init.sh
@@ -331,11 +331,16 @@ err() {
}
need_cmd() {
- if ! command -v "$1" > /dev/null 2>&1
+ if ! check_cmd "$1"
then err "need '$1' (command not found)"
fi
}
+check_cmd() {
+ command -v "$1" > /dev/null 2>&1
+ return $?
+}
+
need_ok() {
if [ $? != 0 ]; then err "$1"; fi
}
@@ -362,9 +367,9 @@ ignore() {
# This wraps curl or wget. Try curl first, if not installed,
# use wget instead.
downloader() {
- if command -v curl > /dev/null 2>&1
+ if check_cmd curl
then _dld=curl
- elif command -v wget > /dev/null 2>&1
+ elif check_cmd wget
then _dld=wget
else _dld='curl or wget' # to be used in error message of need_cmd
fi

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,12 +17,12 @@
################################################################################
PKG_NAME="squeezelite"
PKG_VERSION="a3d95ec"
PKG_VERSION="e92c09c"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/ralph-irving/squeezelite"
PKG_URL="https://github.com/ralph-irving/squeezelite/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain faad2 ffmpeg flac libmad libvorbis mpg123 soxr"
PKG_DEPENDS_TARGET="toolchain faad2 ffmpeg flac libmad libvorbis mpg123 soxr libogg"
PKG_SECTION="tools"
PKG_SHORTDESC="squeezelite"
PKG_LONGDESC="A client for the Logitech Media Server"
@@ -31,9 +31,9 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_make_target() {
OPTS="-DDSD -DFFMPEG -DRESAMPLE -DVISEXPORT"
OPTS="-DDSD -DFFMPEG -DRESAMPLE -DVISEXPORT -DLINKALL"
CFLAGS="$CFLAGS $OPTS"
LDFLAGS="$LDFLAGS -lasound -lpthread -lm -lrt -lFLAC -lmad -lvorbisfile -lfaad -lmpg123"
LDFLAGS="$LDFLAGS -lasound -lpthread -lm -lrt -lFLAC -lmad -lvorbisfile -lfaad -lmpg123 -lvorbis -logg"
}
makeinstall_target() {

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,17 +17,15 @@
################################################################################
PKG_NAME="opus"
PKG_VERSION="1.1.2"
PKG_VERSION="1.2.1"
PKG_ARCH="any"
PKG_LICENSE="BSD"
PKG_SITE="http://www.opus-codec.org"
PKG_URL="http://downloads.us.xiph.org/releases/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_URL="https://archive.mozilla.org/pub/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="audio"
PKG_SHORTDESC="Codec designed for interactive speech and audio transmission over the Internet"
PKG_LONGDESC="Codec designed for interactive speech and audio transmission over the Internet"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
if [ "$TARGET_ARCH" = "arm" ]; then

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of LibreELEC - https://LibreELEC.tv
# Copyright (C) 2016 Team LibreELEC
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,21 +17,19 @@
################################################################################
PKG_NAME="pcsc-lite"
PKG_VERSION="1.8.16"
PKG_VERSION="1.8.22"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://pcsclite.alioth.debian.org/pcsclite.html"
PKG_URL="https://alioth.debian.org/frs/download.php/file/4164/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_URL="https://alioth.debian.org/frs/download.php/latestfile/39/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain libusb"
PKG_SECTION="service/system"
PKG_SHORTDESC="Middleware to access a smart card using SCard API (PC/SC)"
PKG_LONGDESC="Middleware to access a smart card using SCard API (PC/SC)"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
PKG_CONFIGURE_OPTS_TARGET="--disable-shared \
--enable-static \
--disable-libudev \
--enable-libusb \
--enable-usbdropdir=/storage/.kodi/addons/service.system.pcscd-addon/drivers"
--enable-usbdropdir=/storage/.kodi/addons/service.pcscd/drivers"

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,17 +17,15 @@
################################################################################
PKG_NAME="rpi_ws281x"
PKG_VERSION="3e6ea50"
PKG_VERSION="f580777"
PKG_ARCH="any"
PKG_LICENSE=""
PKG_LICENSE="BSD-3c"
PKG_SITE="https://github.com/hyperion-project/rpi_ws281x"
PKG_URL="https://github.com/hyperion-project/rpi_ws281x/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION=""
PKG_SHORTDESC="Userspace Raspberry Pi PWM library for WS281X LEDs"
PKG_LONGDESC="Userspace Raspberry Pi PWM library for WS281X LEDs"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
make_target() {

View File

@@ -0,0 +1,37 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="aixlog"
PKG_VERSION="1.2.1"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/badaix/aixlog"
PKG_URL="https://github.com/badaix/aixlog/archive/v$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="tools"
PKG_LONGDESC="Header-only C++ logging library"
PKG_IS_ADDON="no"
PKG_USE_CMAKE="no"
make_target() {
:
}
makeinstall_target() {
:
}

View File

@@ -0,0 +1,36 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="alsa-plugins"
PKG_VERSION="1.1.6"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.alsa-project.org/"
PKG_URL="ftp://ftp.alsa-project.org/pub/plugins/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain alsa-lib"
PKG_LONGDESC="Alsa plugins"
if [ "$PULSEAUDIO_SUPPORT" = yes ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET pulseaudio"
SUBDIR_PULSEAUDIO="pulse"
fi
PKG_CONFIGURE_OPTS_TARGET="--with-plugindir=/usr/lib/alsa"
PKG_MAKE_OPTS_TARGET="SUBDIRS=$SUBDIR_PULSEAUDIO"
PKG_MAKEINSTALL_OPTS_TARGET="SUBDIRS=$SUBDIR_PULSEAUDIO"

View File

@@ -0,0 +1,37 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="asio"
PKG_VERSION="1-12-0"
PKG_ARCH="any"
PKG_LICENSE="BSL"
PKG_SITE="http://think-async.com/Asio"
PKG_URL="https://github.com/chriskohlhoff/asio/archive/asio-$PKG_VERSION.zip"
PKG_SOURCE_DIR="asio-asio-$PKG_VERSION"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="tools"
PKG_LONGDESC="Asio C++ Library"
PKG_IS_ADDON="no"
make_target() {
:
}
makeinstall_target() {
:
}

View File

@@ -0,0 +1,37 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="popl"
PKG_VERSION="1.2.0"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/badaix/popl"
PKG_URL="https://github.com/badaix/popl/archive/v$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="tools"
PKG_LONGDESC="Header-only C++ program options parser library"
PKG_IS_ADDON="no"
PKG_USE_CMAKE="no"
make_target() {
:
}
makeinstall_target() {
:
}

View File

@@ -0,0 +1,43 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="shairport-sync"
PKG_VERSION="3.2"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="https://github.com/mikebrady/shairport-sync"
PKG_URL="https://github.com/mikebrady/shairport-sync/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain alsa-lib avahi libconfig libdaemon openssl popt pulseaudio soxr"
PKG_SECTION="tools"
PKG_LONGDESC="AirPlay audio player"
PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
PKG_CONFIGURE_OPTS_TARGET="--with-alsa \
--with-avahi \
--with-convolution \
--with-metadata \
--with-pa \
--with-pipe \
--with-soxr \
--with-ssl=openssl \
--with-stdout"
makeinstall_target() {
:
}

View File

@@ -0,0 +1,42 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="snapcast"
PKG_VERSION="0.15.0"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/badaix/snapcast"
PKG_URL="https://github.com/badaix/snapcast/archive/v$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain aixlog alsa-lib asio avahi flac libvorbis popl"
PKG_SECTION="tools"
PKG_LONGDESC="Synchronous multi-room audio player"
PKG_IS_ADDON="no"
PKG_USE_CMAKE="no"
pre_configure_target() {
cd ..
rm -rf .$TARGET_NAME
CXXFLAGS="$CXXFLAGS -pthread \
-I$(get_build_dir aixlog)/include \
-I$(get_build_dir asio)/asio/include \
-I$(get_build_dir popl)/include"
}
makeinstall_target() {
:
}

View File

@@ -0,0 +1,29 @@
--- snapcast-0.14.0/client/Makefile 2018-04-27 19:43:25.000000000 +0200
+++ snapcast-0.14.0.makefiles/client/Makefile 2018-05-21 13:14:12.388757526 +0200
@@ -78,10 +78,8 @@
else
-CXX = g++
-STRIP = strip
CXXFLAGS += -pthread -DHAS_VORBIS -DHAS_ALSA -DHAS_AVAHI -DHAS_DAEMON
-LDFLAGS += -lrt -lasound -lvorbis -lavahi-client -lavahi-common -static-libgcc -static-libstdc++ -latomic
+LDFLAGS += -lrt -lasound -lvorbis -lavahi-client -lavahi-common -logg
OBJ += ../common/daemon.o player/alsaPlayer.o browseZeroConf/browseAvahi.o
endif
diff -Naur snapcast-0.14.0/server/Makefile snapcast-0.14.0.makefiles/server/Makefile
--- snapcast-0.14.0/server/Makefile 2018-04-27 19:43:25.000000000 +0200
+++ snapcast-0.14.0.makefiles/server/Makefile 2018-05-21 13:14:56.881206277 +0200
@@ -84,10 +84,8 @@
else
-CXX = g++
-STRIP = strip
CXXFLAGS += -DHAS_AVAHI -DHAS_DAEMON -pthread
-LDFLAGS += -lrt -lavahi-client -lavahi-common -static-libgcc -static-libstdc++
+LDFLAGS += -lrt -lavahi-client -lavahi-common -logg
OBJ += ../common/daemon.o publishZeroConf/publishAvahi.o
endif

View File

@@ -0,0 +1,28 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="miniupnpc"
PKG_VERSION="2.0.20180222"
PKG_ARCH="any"
PKG_LICENSE="BSD"
PKG_SITE="http://miniupnp.free.fr"
PKG_URL="http://miniupnp.free.fr/files/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="The MiniUPnP project offers software which supports the UPnP Internet Gateway Device (IGD) specifications"
PKG_CMAKE_OPTS_TARGET="-DUPNPC_BUILD_SHARED=OFF -DUPNPC_BUILD_STATIC=ON"

View File

@@ -1,3 +1,7 @@
104
- use new output from mediaclient
use xmlstartlet to parse settings.xml file
103
- once a serial number is in config file then ir_disabled parameter
needs to be localized below it (it is not global parameter anymore)

View File

@@ -18,7 +18,7 @@
PKG_NAME="sundtek-mediatv"
PKG_VERSION="7.0"
PKG_REV="103"
PKG_REV="104"
PKG_ARCH="any"
PKG_LICENSE="nonfree"
PKG_SITE="http://support.sundtek.com/"

View File

@@ -67,7 +67,15 @@ fi
[ ! -f $SUNDTEK_ADDON_HOME/rc_key_ok.map ] && mv $SUNDTEK_ADDON_HOME/rc_key_ok $SUNDTEK_ADDON_HOME/rc_key_ok.map
mkdir -p /var/config
cat "$SUNDTEK_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/sundtek-addon.conf
# check settings version
XML_SETTINGS_VER="$(xmlstarlet sel -t -m settings -v @version $SUNDTEK_ADDON_SETTINGS)"
if [ "$XML_SETTINGS_VER" = "2" ]; then
xmlstarlet sel -t -m settings/setting -v @id -o "=\"" -v . -o "\"" -n "$SUNDTEK_ADDON_SETTINGS" > /var/config/sundtek-addon.conf
else
xmlstarlet sel -t -m settings -m setting -v @id -o "=\"" -v @value -o "\"" -n "$SUNDTEK_ADDON_SETTINGS" > /var/config/sundtek-addon.conf
fi
. /var/config/sundtek-addon.conf
# check if there is new driver on web
@@ -186,7 +194,7 @@ if [ -z "$(pidof mediasrv)" ]; then
KEYMAP=$(eval echo \$ATTACHED_TUNER_${SERIAL}_KEYMAP)
if [ "$DVBMODE" = "DVB-T" ]; then
# only set DVB-T because default is DVB-C (and DVB-S is not set either)
# only set DVB-T because default is DVB-C (and DVB-S/S2 is not set either)
DVBMODE="DVBT"
else
DVBMODE=""

View File

@@ -77,7 +77,7 @@ def get_devices_sundtek(mediaclient_e):
str = line.strip()
if str.startswith('device '):
name = str[str.find("[")+1:str.find("]")]
tuners.append([name, 0, 's'])
tuners.append([name, 0, []])
if str.startswith('[SERIAL]:'):
line = p.readline()
@@ -85,20 +85,31 @@ def get_devices_sundtek(mediaclient_e):
if str.startswith('ID:'):
id = str.split(':');
id = id[1].strip()
tuners[len(tuners)-1] = [name, id, 's']
tuners[len(tuners)-1][1] = id
if str.startswith('[DVB'):
types_arr = tuners[len(tuners)-1][2]
str = str.translate(None, '[]:')
types = str.split(",")
for i in range(len(types)):
if types[i] == 'DVB-C':
types_arr.append('c')
elif types[i] == 'DVB-T':
types_arr.append('t')
elif types[i] == 'DVB-T2':
types_arr.append('t2')
elif types[i] == 'DVB-S/S2':
types_arr.append('s')
tuners[len(tuners)-1][2] = types_arr
if str.startswith('[DVB-C]:'):
tuners[len(tuners)-1] = [name, id, 'c']
elif str.startswith('[DVB-T]:'):
tuners[len(tuners)-1] = [name, id, 'c']
elif str.startswith('[DVB-T2]:'):
tuners[len(tuners)-1] = [name, id, 'c']
except IOError:
print 'Error getting sundtek tuners info'
return tuners
"""
root ~ # mediaclient -e
**** List of Media Hardware Devices ****
device 0: [Sundtek MediaTV Pro (USB 2.0)] DVB-C, DVB-T, ANALOG-TV, FM-RADIO, REMOTE-CONTROL, OSS-AUDIO, RDS
[BUS]:
@@ -123,6 +134,21 @@ device 0: [Sundtek MediaTV Pro (USB 2.0)] DVB-C, DVB-T, ANALOG-TV, FM-RADIO, RE
INPUT0: /dev/mediainput0
[OSS]:
OSS0: /dev/dsp0
**** List of Media Hardware Devices ****
device 0: [MediaTV Digital Home III (EU)] DVB-C, DVB-T, DVB-T2, REMOTE-CONTROL
[INFO]:
STATUS: STANDBY
[BUS]:
ID: 2-5
[SERIAL]:
ID: U170130193421
[DVB-C,DVB-T,DVB-T2]:
FRONTEND: /dev/dvb/adapter0/frontend0
DVR: /dev/dvb/adapter0/dvr0
DMX: /dev/dvb/adapter0/demux0
[REMOTECONTROL]:
INPUT0: /dev/mediainput0
"""
######################################################################################################
@@ -182,19 +208,42 @@ def add_sundtek(xmldoc, node_cat, tuners):
for ix, tuner in enumerate(tuners):
tuner_name = tuner[0]
tuner_serial = tuner[1]
tuner_type = tuner[2]
tuner_types = tuner[2]
node1 = xmldoc.createElement("setting")
node1.setAttribute("id", 'ATTACHED_TUNER_' + tuner_serial + '_DVBMODE')
node1.setAttribute("label", tuner_name + ", " + tuner_serial)
node1.setAttribute("type", 'labelenum')
if (tuner_type == 's'):
node1.setAttribute("default", 'DVB-S')
node1.setAttribute("values", 'DVB-S')
if len(tuner_types) == 0:
values = 'unkn'
default = 'unkn'
else:
node1.setAttribute("default", 'DVB-C')
node1.setAttribute("values", 'DVB-C|DVB-T')
values = ''
default = ''
for ix, type in enumerate(tuner_types):
if type == 'c':
type_str = 'DVB-C'
elif type == 't':
type_str = 'DVB-T'
elif type == 't2':
type_str = 'DVB-T2'
elif type == 's':
type_str = 'DVB-S/S2'
else:
type_str = 'unkn'
if not default: # first one
default = type_str;
if ix == 0:
values = type_str
else:
values = values + '|' + type_str
node1.setAttribute("default", default)
node1.setAttribute("values", values)
node_cat.appendChild(node1)
@@ -237,7 +286,7 @@ def add_new_tuners(xmldoc, tuners, which):
def save_settings(settings_xml, xmldoc):
try:
outputfile = open(settings_xml, 'w')
xmlpp.pprint(xmldoc.toxml(), output = outputfile, indent=2)
xmlpp.pprint(xmldoc.toxml(), output = outputfile, indent=2, width=500)
outputfile.close()
except IOError:
print 'Error saving file:', settings_xml

View File

@@ -1,6 +1,25 @@
8.0.101
102
updated libraries:
- Adafruit Python ADS1x15 Library
- Adafruit Python ADXL345 Library
- Adafruit Python BMP Library
- Adafruit Python CharLCD Library
- Adafruit Python DHT Library
- Adafruit Python GPIO Library
- Python library for controlling LED backpack displays.
- Adafruit Python LSM303 Library
- Adafruit Python MCP3008 Library
- Adafruit Python MCP4725 Library
- Adafruit Python PCA9685 Library
- Pure python access to Linux IO including I2C and SPI.
- Python library for the SI1145
- Adafruit Python TCS34725 Library
- Adafruit Python VCNL40xx Library
- Adafruit Python WS2801 Library
101
- include SI1145 library
- compile DHT driver
8.0.100
100
- Initial Release

View File

@@ -18,7 +18,7 @@
PKG_NAME="adafruit-libraries"
PKG_VERSION=""
PKG_REV="101"
PKG_REV="102"
PKG_ARCH="any"
PKG_ADDON_PROJECTS="RPi RPi2"
PKG_LICENSE="MIT"
@@ -27,7 +27,7 @@ PKG_URL=""
PKG_DEPENDS_TARGET="Adafruit_Python_ADS1x15 Adafruit_Python_ADXL345 Adafruit_Python_BMP Adafruit_Python_CharLCD Adafruit_Python_DHT Adafruit_Python_GPIO Adafruit_Python_LED_Backpack Adafruit_Python_LSM303 Adafruit_Python_MCP3008 Adafruit_Python_MCP4725 Adafruit_Python_PCA9685 Adafruit_Python_PureIO Adafruit_Python_SI1145 Adafruit_Python_TCS34725 Adafruit_Python_VCNL40xx Adafruit_Python_WS2801"
PKG_SECTION="virtual"
PKG_SHORTDESC="A bundle of libraries from Adafruit"
PKG_LONGDESC="This bundle currently includes Adafruit_ADS1x15, Adafruit_ADXL345, Adafruit_BMP, Adafruit_CharLCD, Adafruit_DHT, Adafruit_GPIO, Adafruit_LED_Backpack, Adafruit_LSM303, Adafruit_MCP3008, Adafruit_MCP4725, Adafruit_PCA9685, Adafruit_PureIO, Adafruit_SI1145 Adafruit_TCS34725, Adafruit_VCNL40xx and Adafruit_WS2801 python modules"
PKG_LONGDESC="This is a bundle of various Adafruit Python libraries. Included are: ADS1x15, ADXL345, BMP, CharLCD, DHT, GPIO, LED_Backpack, LSM303, MCP3008, MCP4725, PCA9685, PureIO, SI1145, TCS34725, VCNL40xx, WS2801"
PKG_AUTORECONF="no"
PKG_IS_ADDON="yes"

View File

@@ -1,3 +1,7 @@
117
- Update to 3.2.34.0
- Use reworked ffmpegx
116
- Update to verson 3.2.27.0
- Rename to Emby Server

View File

@@ -17,14 +17,14 @@
################################################################################
PKG_NAME="emby"
PKG_VERSION="3.2.27.0"
PKG_REV="116"
PKG_VERSION="3.2.34.0"
PKG_REV="117"
PKG_LICENSE="OSS"
PKG_SITE="http://emby.media"
PKG_URL="https://github.com/MediaBrowser/Emby/releases/download/$PKG_VERSION/Emby.Mono.zip"
PKG_DEPENDS_TARGET="toolchain ffmpegx imagemagick"
PKG_SECTION="service"
PKG_SHORTDESC="Emby: a personal media server"
PKG_SHORTDESC="Emby Server: a personal media server"
PKG_LONGDESC="Emby Server ($PKG_VERSION) brings your home videos, music, and photos together, automatically converting and streaming your media on-the-fly to any device"
PKG_IS_ADDON="yes"
@@ -57,12 +57,12 @@ addon() {
$ADDON_BUILD/$PKG_ADDON_ID/Emby.Mono/SQLitePCLRaw.provider.sqlite3.dll.config
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -L $(get_build_dir ffmpegx)/.install_pkg/usr/local/bin/ffmpegx \
$(get_build_dir ffmpegx)/.install_pkg/usr/local/bin/ffprobex \
cp -L $(get_build_dir ffmpegx)/.INSTALL_PKG/usr/local/bin/ffmpegx \
$(get_build_dir ffmpegx)/.INSTALL_PKG/usr/local/bin/ffprobex \
$ADDON_BUILD/$PKG_ADDON_ID/bin/
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
cp -L $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickCore-7.Q8.so.2 \
cp -L $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickCore-7.Q8.so.? \
$(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickWand-7.Q8.so \
$ADDON_BUILD/$PKG_ADDON_ID/lib/
}

View File

@@ -1,3 +1,6 @@
106
- Update to version 1c21232
105
- Update protobuf to 3.1.0
- Fix build with gcc 6

View File

@@ -1,6 +1,7 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,8 +18,8 @@
################################################################################
PKG_NAME="hyperion"
PKG_VERSION="355a324"
PKG_REV="105"
PKG_VERSION="1c21232"
PKG_REV="106"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/hyperion-project/hyperion"
PKG_URL="https://github.com/hyperion-project/hyperion/archive/$PKG_VERSION.tar.gz"
@@ -31,21 +32,21 @@ PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Hyperion"
PKG_ADDON_TYPE="xbmc.service"
AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=0"
DISPMANX_SUPPORT="-DENABLE_DISPMANX=0"
FB_SUPPORT="-DENABLE_FB=1"
X11_SUPPORT="-DENABLE_X11=0"
PKG_AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=0"
PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=0"
PKG_FB_SUPPORT="-DENABLE_FB=1"
PKG_X11_SUPPORT="-DENABLE_X11=0"
if [ "$KODIPLAYER_DRIVER" = "libamcodec" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libamcodec"
AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=1"
PKG_AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=1"
elif [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver"
DISPMANX_SUPPORT="-DENABLE_DISPMANX=1"
FB_SUPPORT="-DENABLE_FB=0"
PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=1"
PKG_FB_SUPPORT="-DENABLE_FB=0"
elif [ "$DISPLAYSERVER" = "x11" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET xorg-server xrandr"
X11_SUPPORT="-DENABLE_X11=1"
PKG_X11_SUPPORT="-DENABLE_X11=1"
fi
pre_build_target() {
@@ -58,9 +59,9 @@ pre_configure_target() {
PKG_CMAKE_OPTS_TARGET="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
-DHYPERION_VERSION_ID="$PKG_VERSION" \
$AMLOGIC_SUPPORT \
$DISPMANX_SUPPORT \
$FB_SUPPORT \
$PKG_AMLOGIC_SUPPORT \
$PKG_DISPMANX_SUPPORT \
$PKG_FB_SUPPORT \
-DENABLE_OSX=0 \
-DUSE_SYSTEM_PROTO_LIBS=1 \
-DENABLE_SPIDEV=1 \
@@ -68,7 +69,7 @@ PKG_CMAKE_OPTS_TARGET="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
-DENABLE_V4L2=1 \
-DENABLE_WS2812BPWM=0 \
-DENABLE_WS281XPWM=1 \
$X11_SUPPORT \
$PKG_X11_SUPPORT \
-DENABLE_QT5=1 \
-DENABLE_TESTS=0 \
-Wno-dev"

View File

@@ -1,3 +1,22 @@
111
- Update to 431be9e
- Fix delay with Kodi playback option
- Cache volume
110
- Update to 685fb4e
- Add kSupportsPlaylistV2 enum
109
- Refer librespot-org repository
- Update to bc7ceb3
- Set stream type to audio in Kodi mode
- Initial volume as a setting
108
- Correct bug which prevented disabling the service from Kodi
- Place named pipe in /var/run/librespot
107
- Update to ddfc28f

View File

@@ -18,13 +18,13 @@
################################################################################
PKG_NAME="librespot"
PKG_VERSION="ddfc28f"
PKG_REV="107"
PKG_VERSION="431be9e"
PKG_REV="111"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/plietar/$PKG_NAME/"
PKG_URL="https://github.com/plietar/$PKG_NAME/archive/$PKG_VERSION.zip"
PKG_DEPENDS_TARGET="toolchain avahi libvorbis pulseaudio pyalsaaudio rust"
PKG_SITE="https://github.com/librespot-org/$PKG_NAME/"
PKG_URL="https://github.com/librespot-org/$PKG_NAME/archive/$PKG_VERSION.zip"
PKG_DEPENDS_TARGET="toolchain avahi pulseaudio pyalsaaudio rust"
PKG_SECTION="service"
PKG_SHORTDESC="Librespot: play Spotify through LibreELEC using a Spotify app as a remote"
PKG_LONGDESC="Librespot ($PKG_VERSION) plays Spotify through LibreELEC using the open source librespot library using a Spotify app as a remote."
@@ -43,7 +43,7 @@ configure_target() {
make_target() {
cd src
$CARGO_BUILD --no-default-features --features "alsa-backend pulseaudio-backend"
$CARGO_BUILD --no-default-features --features "alsa-backend pulseaudio-backend with-dns-sd"
cd "$PKG_BUILD/.$TARGET_NAME"/*/release
$STRIP librespot
}

View File

@@ -1,135 +0,0 @@
From b0d70bed1d5f3614f0e966c53c3a4898c7b33918 Mon Sep 17 00:00:00 2001
From: awiouy <awiouy@gmail.com>
Date: Mon, 4 Sep 2017 23:01:38 +0200
Subject: [PATCH] use dns-sd instead of mdns for discovery
---
Cargo.lock | 19 +++++--------------
Cargo.toml | 2 +-
src/discovery.rs | 19 ++++++++++---------
src/lib.rs | 2 +-
4 files changed, 17 insertions(+), 25 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index d8128db..5f54617 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -277,7 +277,7 @@ dependencies = [
"librespot-metadata 0.1.0",
"librespot-protocol 0.1.0",
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "mdns 0.2.0 (git+https://github.com/plietar/rust-mdns)",
+ "dns-sd 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
"num-bigint 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
"portaudio-rs 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -386,20 +386,12 @@ version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
-name = "mdns"
-version = "0.2.0"
-source = "git+https://github.com/plietar/rust-mdns#c0fc73502d7d752a4ffeb5268a017561405e218c"
+name = "dns-sd"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
- "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "dns-parser 0.3.2 (git+https://github.com/plietar/dns-parser)",
- "futures 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "multimap 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "net2 0.2.30 (registry+https://github.com/rust-lang/crates.io-index)",
- "nix 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
- "tokio-core 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@@ -1099,7 +1091,6 @@ dependencies = [
"checksum magenta 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf0336886480e671965f794bc9b6fce88503563013d1bfb7a502c81fe3ac527"
"checksum magenta-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40d014c7011ac470ae28e2f76a02bfea4a8480f73e701353b49ad7a8d75f4699"
"checksum matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "100aabe6b8ff4e4a7e32c1c13523379802df0772b82466207ac25b013f193376"
-"checksum mdns 0.2.0 (git+https://github.com/plietar/rust-mdns)" = "<none>"
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4"
"checksum mime 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c5ca99d8a021c1687882fd68dca26e601ceff5c26571c7cb41cf4ed60d57cb2d"
"checksum mio 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "dbd91d3bfbceb13897065e97b2ef177a09a438cb33612b2d371bf568819a9313"
diff --git a/Cargo.toml b/Cargo.toml
index f4e6349..131e4f3 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -36,7 +36,7 @@ futures = "0.1.8"
getopts = "0.2.14"
hyper = "0.11.2"
log = "0.3.5"
-mdns = { git = "https://github.com/plietar/rust-mdns" }
+dns-sd = "0.1.3"
num-bigint = "0.1.35"
protobuf = "1.1"
rand = "0.3.13"
diff --git a/src/discovery.rs b/src/discovery.rs
index 3eaa5f0..6f9a4ae 100644
--- a/src/discovery.rs
+++ b/src/discovery.rs
@@ -6,7 +6,7 @@ use futures::sync::mpsc;
use futures::{Future, Stream, BoxFuture, Poll, Async};
use hyper::server::{Service, NewService, Request, Response, Http};
use hyper::{self, Get, Post, StatusCode};
-use mdns;
+use dns_sd::DNSService;
use num_bigint::BigUint;
use rand;
use std::collections::BTreeMap;
@@ -203,7 +203,7 @@ impl NewService for Discovery {
pub struct DiscoveryStream {
credentials: mpsc::UnboundedReceiver<Credentials>,
- _svc: mdns::Service,
+ _svc: DNSService,
task: Box<Future<Item=(), Error=io::Error>>,
}
@@ -213,7 +213,7 @@ pub fn discovery(handle: &Handle, config: ConnectConfig, device_id: String)
let (discovery, creds_rx) = Discovery::new(config.clone(), device_id);
let listener = TcpListener::bind(&"0.0.0.0:0".parse().unwrap(), handle)?;
- let addr = listener.local_addr()?;
+ let port = listener.local_addr().unwrap().port();
let http = Http::new();
let handle_ = handle.clone();
@@ -222,12 +222,13 @@ pub fn discovery(handle: &Handle, config: ConnectConfig, device_id: String)
Ok(())
}));
- let responder = mdns::Responder::spawn(&handle)?;
- let svc = responder.register(
- "_spotify-connect._tcp".to_owned(),
- config.name,
- addr.port(),
- &["VERSION=1.0", "CPath=/"]);
+ let svc = DNSService::register(Some(&*config.name),
+ "_spotify-connect._tcp",
+ None,
+ None,
+ port,
+ &["VERSION=1.0", "CPath=/"])
+ .unwrap();
Ok(DiscoveryStream {
credentials: creds_rx,
diff --git a/src/lib.rs b/src/lib.rs
index b9c920e..dfaf5a2 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -13,7 +13,7 @@ extern crate base64;
extern crate crypto;
extern crate futures;
extern crate hyper;
-extern crate mdns;
+extern crate dns_sd;
extern crate num_bigint;
extern crate protobuf;
extern crate rand;

View File

@@ -1,110 +1,165 @@
From a20f55c268bf44d6923be4cad6c6fdfecfc5dd8a Mon Sep 17 00:00:00 2001
From: awiouy <awiouy@gmail.com>
Date: Tue, 12 Sep 2017 09:37:53 +0200
Subject: [PATCH] kodi hooks
---
src/player.rs | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/src/player.rs b/src/player.rs
index 29380e3..44b9a24 100644
--- a/src/player.rs
+++ b/src/player.rs
@@ -1,6 +1,7 @@
use futures::sync::oneshot;
use futures::{future, Future};
use std::borrow::Cow;
+use std::env;
use std::mem;
use std::sync::mpsc::{RecvError, TryRecvError};
use std::thread;
@@ -13,7 +14,7 @@ use core::util::{self, SpotifyId, Subfile};
use audio_backend::Sink;
use audio::{AudioFile, AudioDecrypt};
diff --git a/playback/src/player.rs b/playback/src/player.rs
index dd99423..365c108 100644
--- a/playback/src/player.rs
+++ b/playback/src/player.rs
@@ -17,7 +17,7 @@ use core::spotify_id::SpotifyId;
use audio::{AudioDecrypt, AudioFile};
use audio::{VorbisDecoder, VorbisPacket};
-use metadata::{FileFormat, Track, Metadata};
+use metadata::{Artist, FileFormat, Track, Metadata};
use audio_backend::Sink;
-use metadata::{FileFormat, Metadata, Track};
+use metadata::{FileFormat, Metadata, Track, Artist};
use mixer::AudioFilter;
#[derive(Clone)]
@@ -215,7 +216,7 @@ impl PlayerInternal {
pub struct Player {
@@ -49,15 +49,22 @@ enum PlayerCommand {
pub enum PlayerEvent {
Started {
track_id: SpotifyId,
+ track: Track,
+ artist: Artist,
+ new_state: String,
},
None => {
self.sink.stop().unwrap();
- self.run_onstop();
+ info!("onstop 1");
Changed {
old_track_id: SpotifyId,
new_track_id: SpotifyId,
+ track: Track,
+ artist: Artist,
+ new_state: String,
},
let old_state = mem::replace(&mut self.state, PlayerState::Stopped);
old_state.signal_end_of_track();
@@ -227,6 +228,12 @@ impl PlayerInternal {
debug!("command={:?}", cmd);
match cmd {
PlayerCommand::Load(track_id, play, position, end_of_track) => {
+ let track = Track::get(&self.session, track_id).wait().unwrap();
+ let artist = Artist::get(&self.session, track.artists[0]).wait().unwrap();
+ env::set_var("LS_ARTIST", artist.name);
+ env::set_var("LS_TITLE", track.name);
+ self.run_onstart();
+
if self.state.is_playing() {
self.sink.stop().unwrap();
}
@@ -235,7 +242,7 @@ impl PlayerInternal {
Some(decoder) => {
Stopped {
track_id: SpotifyId,
+ new_state: String,
},
}
@@ -404,6 +411,9 @@ impl PlayerInternal {
match self.load_track(track_id, position as i64) {
Some((decoder, normalisation_factor)) => {
+ let track = Track::get(&self.session, track_id).wait().unwrap();
+ let artist = Artist::get(&self.session, track.artists[0]).wait().unwrap();
+
if play {
if !self.state.is_playing() {
- self.run_onstart();
+ info!("onstart 1");
}
self.sink.start().unwrap();
@@ -245,7 +252,7 @@ impl PlayerInternal {
};
} else {
if self.state.is_playing() {
- self.run_onstop();
+ info!("onstop 2");
match self.state {
PlayerState::Playing {
@@ -413,11 +423,20 @@ impl PlayerInternal {
| PlayerState::EndOfTrack {
track_id: old_track_id,
..
- } => self.send_event(PlayerEvent::Changed {
- old_track_id: old_track_id,
- new_track_id: track_id,
- }),
- _ => self.send_event(PlayerEvent::Started { track_id }),
+ } => {
+ let new_state = "play".to_string();
+ self.send_event(PlayerEvent::Changed {
+ old_track_id: old_track_id,
+ new_track_id: track_id,
+ track: track,
+ artist: artist,
+ new_state: new_state,
+ });
+ },
+ _ => {
+ let new_state = "play".to_string();
+ self.send_event(PlayerEvent::Started { track_id, track, artist, new_state });
+ },
}
self.state = PlayerState::Paused {
@@ -258,7 +265,7 @@ impl PlayerInternal {
None => {
end_of_track.complete(());
if self.state.is_playing() {
- self.run_onstop();
+ info!("onstop 3");
self.start_sink();
@@ -443,13 +462,20 @@ impl PlayerInternal {
| PlayerState::EndOfTrack {
track_id: old_track_id,
..
- } => self.send_event(PlayerEvent::Changed {
- old_track_id: old_track_id,
- new_track_id: track_id,
- }),
+ } => {
+ let new_state = "pause".to_string();
+ self.send_event(PlayerEvent::Changed {
+ old_track_id: old_track_id,
+ new_track_id: track_id,
+ track: track,
+ artist: artist,
+ new_state: new_state,
+ })
+ },
_ => (),
}
- self.send_event(PlayerEvent::Stopped { track_id });
+ let new_state = "pause".to_string();
+ self.send_event(PlayerEvent::Stopped { track_id, new_state });
}
}
}
@@ -279,7 +286,7 @@ impl PlayerInternal {
if let PlayerState::Paused { .. } = self.state {
@@ -474,7 +500,10 @@ impl PlayerInternal {
if let PlayerState::Paused { track_id, .. } = self.state {
self.state.paused_to_playing();
- self.run_onstart();
+ info!("onstart 2");
self.sink.start().unwrap();
- self.send_event(PlayerEvent::Started { track_id });
+ let track = Track::get(&self.session, track_id).wait().unwrap();
+ let artist = Artist::get(&self.session, track.artists[0]).wait().unwrap();
+ let new_state = "play".to_string();
+ self.send_event(PlayerEvent::Started { track_id, track, artist, new_state });
self.start_sink();
} else {
warn!("Player::play called from invalid state");
@@ -291,17 +298,19 @@ impl PlayerInternal {
@@ -486,7 +515,8 @@ impl PlayerInternal {
self.state.playing_to_paused();
self.sink.stop().unwrap();
- self.run_onstop();
+ info!("onstop 4");
self.stop_sink_if_running();
- self.send_event(PlayerEvent::Stopped { track_id });
+ let new_state = "pause".to_string();
+ self.send_event(PlayerEvent::Stopped { track_id, new_state });
} else {
warn!("Player::pause called from invalid state");
}
}
PlayerCommand::Stop => {
+ self.run_onstop();
+
match self.state {
PlayerState::Playing { .. } => {
self.sink.stop().unwrap();
- self.run_onstop();
+ info!("onstop 5");
self.state = PlayerState::Stopped;
}
PlayerState::Paused { .. } => {
@@ -497,7 +527,8 @@ impl PlayerInternal {
| PlayerState::Paused { track_id, .. }
| PlayerState::EndOfTrack { track_id } => {
self.stop_sink_if_running();
- self.send_event(PlayerEvent::Stopped { track_id });
+ let new_state = "stop".to_string();
+ self.send_event(PlayerEvent::Stopped { track_id, new_state });
self.state = PlayerState::Stopped;
}
PlayerState::Stopped => {
diff --git a/src/player_event_handler.rs b/src/player_event_handler.rs
index b6a653d..f746c8f 100644
--- a/src/player_event_handler.rs
+++ b/src/player_event_handler.rs
@@ -18,18 +18,28 @@ pub fn run_program_on_events(event: PlayerEvent, onevent: &str) {
PlayerEvent::Changed {
old_track_id,
new_track_id,
+ track,
+ artist,
+ new_state,
} => {
env_vars.insert("PLAYER_EVENT", "change".to_string());
env_vars.insert("OLD_TRACK_ID", old_track_id.to_base16());
env_vars.insert("TRACK_ID", new_track_id.to_base16());
+ env_vars.insert("TITLE", track.name.to_string());
+ env_vars.insert("ARTIST", artist.name.to_string());
+ env_vars.insert("STATE", new_state.to_string());
}
- PlayerEvent::Started { track_id } => {
+ PlayerEvent::Started { track_id, track, artist, new_state } => {
env_vars.insert("PLAYER_EVENT", "start".to_string());
env_vars.insert("TRACK_ID", track_id.to_base16());
+ env_vars.insert("TITLE", track.name.to_string());
+ env_vars.insert("ARTIST", artist.name.to_string());
+ env_vars.insert("STATE", new_state.to_string());
}
- PlayerEvent::Stopped { track_id } => {
+ PlayerEvent::Stopped { track_id, new_state } => {
env_vars.insert("PLAYER_EVENT", "stop".to_string());
env_vars.insert("TRACK_ID", track_id.to_base16());
+ env_vars.insert("STATE", new_state.to_string());
}
}
run_program(onevent, env_vars);

View File

@@ -1,28 +1,21 @@
From e9bb269936ea26b1c0c698b8d05aaf68e2e79bcc Mon Sep 17 00:00:00 2001
From: awiouy <awiouy@gmail.com>
Date: Tue, 12 Sep 2017 09:41:14 +0200
Subject: [PATCH] use librespot_sink pulseadio sink
---
src/audio_backend/pulseaudio.rs | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/audio_backend/pulseaudio.rs b/src/audio_backend/pulseaudio.rs
index 3b9a09b..ce78062 100644
--- a/src/audio_backend/pulseaudio.rs
+++ b/src/audio_backend/pulseaudio.rs
@@ -23,12 +23,13 @@ impl Open for PulseAudioSink {
let name = CString::new("librespot").unwrap();
let description = CString::new("A spoty client library").unwrap();
+ let sink = CString::new("librespot_sink").unwrap();
diff --git a/playback/src/audio_backend/pulseaudio.rs b/playback/src/audio_backend/pulseaudio.rs
index 88f6280..4e7186b 100644
--- a/playback/src/audio_backend/pulseaudio.rs
+++ b/playback/src/audio_backend/pulseaudio.rs
@@ -76,6 +76,7 @@ impl Open for PulseAudioSink {
let s = unsafe {
pa_simple_new(null(), // Use the default server.
name.as_ptr(), // Our application's name.
PA_STREAM_PLAYBACK,
- null(), // Use the default device.
+ sink.as_ptr(), // Our sink.
description.as_ptr(), // Description of our stream.
&ss, // Our sample format.
null(), // Use default channel map
impl Sink for PulseAudioSink {
fn start(&mut self) -> io::Result<()> {
+ let sink = CString::new("librespot_sink").unwrap();
if self.s == null_mut() {
self.s = call_pulseaudio(
|err| unsafe {
@@ -83,7 +84,7 @@ impl Sink for PulseAudioSink {
null(), // Use the default server.
self.name.as_ptr(), // Our application's name.
PA_STREAM_PLAYBACK,
- null(), // Use the default device.
+ sink.as_ptr(), // Our sink.
self.desc.as_ptr(), // desc of our stream.
&self.ss, // Our sample format.
null(), // Use default channel map

View File

@@ -28,7 +28,7 @@ while True:
if len(pcms) == 0:
dialog.ok(xbmcaddon.Addon().getAddonInfo('name'), strings(30210))
break
pcmx = dialog.select(strings(30112), pcms)
pcmx = dialog.select(strings(30115), pcms)
if pcmx == -1:
break
pcm = pcms[pcmx]

View File

@@ -0,0 +1,2 @@
#!/bin/sh
echo -e "$STATE\n$ARTIST\n$TITLE" > "$LS_FIFO"

View File

@@ -1,2 +0,0 @@
#!/bin/sh
echo -e "play\n$LS_ARTIST\n$LS_TITLE" > "$LS_FIFO"

View File

@@ -1,2 +0,0 @@
#!/bin/sh
echo -e "stop" > "$LS_FIFO"

View File

@@ -87,8 +87,7 @@ oe_setup_addon service.librespot
LIBRESPOT="librespot --cache \"$ADDON_HOME/cache\" \
--disable-audio-cache \
--name \"Librespot@$HOSTNAME\" \
--onstart librespot.onstart \
--onstop librespot.onstop"
--onevent librespot.onevent"
if [ -n "$ls_b" -a "$ls_b" != "-" ]; then
LIBRESPOT="$LIBRESPOT --bitrate $ls_b"
@@ -119,6 +118,6 @@ if [ -z "$(pactl list short modules | grep source=$LS_SINK.monitor)" ]; then
destination_ip=127.0.0.1 port="$LS_PORT" source_ip=127.0.0.1 > /dev/null
fi
export LS_FIFO="$ADDON_DIR/rc"
export LS_FIFO="/var/run/librespot"
eval $LIBRESPOT

View File

@@ -25,10 +25,10 @@ import xbmc
import xbmcaddon
import xbmcgui
PORT = '6666'
SINK = 'librespot_sink'
def suspendSink(bit):
subprocess.call(['pactl', 'suspend-sink', SINK, bit])
@@ -38,7 +38,7 @@ def systemctl(command):
class Controller(threading.Thread):
FIFO = os.path.join(xbmcaddon.Addon().getAddonInfo('path'), 'rc')
FIFO = '/var/run/librespot'
def __init__(self, player):
super(Controller, self).__init__()
@@ -65,13 +65,17 @@ class Controller(threading.Thread):
self.player.play()
elif command[0] == 'stop':
self.player.stop()
def stop(self):
elif command[0] == 'pause':
self.player.pause()
try:
os.unlink(self.FIFO)
except OSError:
pass
def stop(self):
with open(self.FIFO, 'w') as fifo:
fifo.close()
class Player(xbmc.Player):
@@ -79,7 +83,6 @@ class Player(xbmc.Player):
def __init__(self):
super(Player, self).__init__(self)
self.window = xbmcgui.Window(12006)
if self.isPlaying():
self.onPlayBackStarted()
@@ -101,10 +104,15 @@ class Player(xbmc.Player):
if not self.isPlaying() and xbmcaddon.Addon().getSetting('ls_O') == 'Kodi':
suspendSink('0')
listitem = xbmcgui.ListItem(xbmcaddon.Addon().getAddonInfo('name'))
listitem.addStreamInfo('audio',{'codec': 'mp3'})
listitem.setArt({'thumb': xbmcaddon.Addon().getAddonInfo('icon')})
super(Player, self).play(self.ITEM, listitem)
del listitem
self.window.show()
xbmcgui.Window(12006).show()
def pause(self):
if self.isPlaying() and self.getPlayingFile() == self.ITEM:
super(Player, self).pause()
def stop(self):
suspendSink('1')
@@ -130,3 +138,4 @@ if __name__ == '__main__':
controller.start()
Monitor(player).waitForAbort()
controller.stop()
controller.join()

View File

@@ -7,67 +7,75 @@ msgctxt "#30100"
msgid "Librespot"
msgstr ""
msgctxt "#30101"
msgctxt "#30102"
msgid "Bit rate"
msgstr ""
msgctxt "#30102"
msgctxt "#30103"
msgid "-"
msgstr ""
msgctxt "#30103"
msgctxt "#30104"
msgid "96"
msgstr ""
msgctxt "#30104"
msgctxt "#30105"
msgid "160"
msgstr ""
msgctxt "#30105"
msgctxt "#30106"
msgid "320"
msgstr ""
msgctxt "#30106"
msgctxt "#30107"
msgid "Output"
msgstr ""
msgctxt "#30107"
msgid "Username"
msgstr ""
msgctxt "#30108"
msgid "Password"
msgstr ""
msgctxt "#30109"
msgid "Discovery mode (set username and password to disable)"
msgstr ""
msgctxt "#30110"
msgid "ALSA"
msgstr ""
msgctxt "#30109"
msgid "Kodi"
msgstr ""
msgctxt "#30110"
msgid "Username"
msgstr ""
msgctxt "#30111"
msgid "Configuration wizard"
msgid "Password"
msgstr ""
msgctxt "#30112"
msgid "Playback device"
msgid "Discovery mode (set username and password to disable)"
msgstr ""
msgctxt "#30113"
msgid "Playback route"
msgid "ALSA"
msgstr ""
msgctxt "#30114"
msgid "auto detect"
msgid "Configuration wizard"
msgstr ""
msgctxt "#30115"
msgid "headphone jack"
msgid "Playback device"
msgstr ""
msgctxt "#30116"
msgid "Playback route"
msgstr ""
msgctxt "#30117"
msgid "auto detect"
msgstr ""
msgctxt "#30118"
msgid "headphone jack"
msgstr ""
msgctxt "#30119"
msgid "HDMI"
msgstr ""

View File

@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="30100" >
<setting label="30101" type="labelenum" id="ls_b" lvalues="30102|30103|30104|30105" />
<setting label="30106" type="labelenum" id="ls_O" lvalues="ALSA|Kodi" />
<setting label="30107" type="text" id="ls_u" />
<setting label="30108" type="text" id="ls_p" option="hidden" visible="!eq(-1,)" />
<setting label="30109" type="bool" id="ls_d" default="true" enable="false" visible="eq(-1,)|eq(-2,)" />
<setting label="30109" type="bool" id="ls_D" default="false" enable="false" visible="!eq(-2,)+!eq(-3,)" />
<setting label="30102" type="labelenum" id="ls_b" lvalues="30103|30104|30105|30106" />
<setting label="30107" type="labelenum" id="ls_O" lvalues="30108|30109" />
<setting label="30110" type="text" id="ls_u" />
<setting label="30111" type="text" id="ls_p" option="hidden" visible="!eq(-1,)" />
<setting label="30112" type="bool" id="ls_d" default="true" enable="false" visible="eq(-1,)|eq(-2,)" />
<setting label="30112" type="bool" id="ls_D" default="false" enable="false" visible="!eq(-2,)+!eq(-3,)" />
</category>
<category label="30110" >
<setting label="30106" type="labelenum" id="ls_O" lvalues="ALSA|Kodi" visible="false" />
<setting label="30111" type="action" action="RunAddon(service.librespot)" enable="eq(-1,0)" />
<setting label="30112" type="text" id="ls_o" default="" enable="eq(-2,0)" />
<setting label="30113" type="enum" id="pcm_3" lvalues="30114|30115|30116" enable="eq(-3,0)" visible="eq(-1,default:CARD=ALSA)|eq(-1,sysdefault:CARD=ALSA)" />
<category label="30113" >
<setting label="30107" type="labelenum" id="ls_O" lvalues="30108|30109" visible="false" />
<setting label="30114" type="action" action="RunAddon(service.librespot)" enable="eq(-1,0)" />
<setting label="30115" type="text" id="ls_o" default="" enable="eq(-2,0)" />
<setting label="30116" type="enum" id="pcm_3" lvalues="30117|30118|30119" enable="eq(-3,0)" visible="eq(-1,default:CARD=ALSA)|eq(-1,sysdefault:CARD=ALSA)" />
</category>
</settings>

View File

@@ -0,0 +1,10 @@
<settings>
<setting id="ls_D" value="false" />
<setting id="ls_O" value="ALSA" />
<setting id="ls_b" value="320" />
<setting id="ls_d" value="true" />
<setting id="ls_o" value="" />
<setting id="ls_p" value="" />
<setting id="ls_u" value="" />
<setting id="pcm_3" value="0" />
</settings>

View File

@@ -1,3 +1,14 @@
104
- Change daemon startup option
103
- update config.sub to support new hardware
- disable mini-agent in config options to get system MIB
- compile static binary to avoid cross compiling linking issue
102
-version bump
101
- make addon configurable

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016 Team LibreELEC
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
PKG_NAME="net-snmp"
PKG_VERSION="5.7.3"
PKG_REV="101"
PKG_REV="104"
PKG_ARCH="any"
PKG_LICENSE="BSD"
PKG_SITE="http://www.net-snmp.org"
@@ -40,9 +40,8 @@ PKG_CONFIGURE_OPTS_TARGET="--with-defaults \
--disable-deprecated \
--disable-snmptrapd-subagent \
--disable-scripts \
--enable-static=no \
--enable-shared=yes \
--enable-mini-agent \
--enable-static=yes \
--enable-shared=no \
--with-nl \
--with-logfile=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID} \
--with-persistent-directory=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID} \
@@ -67,9 +66,4 @@ makeinstall_target() {
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
cp -r $PKG_BUILD/.$TARGET_NAME/storage/.kodi/addons/${PKG_ADDON_ID}/bin $PKG_BUILD/.$TARGET_NAME/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID}/share $ADDON_BUILD/$PKG_ADDON_ID/
#Do not copy symlinks
find $PKG_BUILD/.$TARGET_NAME/storage/.kodi/addons/${PKG_ADDON_ID}/lib/ -type f -name '*.so.*' -exec cp '{}' $ADDON_BUILD/$PKG_ADDON_ID/lib/ \;
#remove all but major version from so file
for f in $ADDON_BUILD/$PKG_ADDON_ID/lib/*.so.* ; do mv "$f" "${f%.*.*}" ; done
}

View File

@@ -0,0 +1,34 @@
diff -ur net-snmp-5.7.3/config.sub net-snmp-5.7.3.new/config.sub
--- net-snmp-5.7.3/config.sub 2014-12-08 21:23:22.000000000 +0100
+++ net-snmp-5.7.3.new/config.sub 2017-11-09 18:39:31.638689732 +0100
@@ -247,10 +247,11 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
@@ -339,6 +340,7 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
@@ -1171,6 +1173,9 @@ case $basic_machine in
basic_machine=hppa1.1-winbond
os=-proelf
;;
+ x64)
+ basic_machine=x86_64-pc
+ ;;
xbox)
basic_machine=i686-pc
os=-mingw32

View File

@@ -24,4 +24,4 @@ ADDON_ID=service.net-snmp
ADDON_DIR="$HOME/.kodi/addons/$ADDON_ID"
ADDON_HOME="$HOME/.kodi/userdata/addon_data/$ADDON_ID"
$ADDON_DIR/bin/snmpd -f -LS0-6d -c $ADDON_HOME/share/snmp/snmpd.conf -M $ADDON_DIR/share/snmp/mibs -p /var/run/snmpd.pid
$ADDON_DIR/bin/snmpd -f -LS0-6d -C -c $ADDON_HOME/share/snmp/snmpd.conf -M $ADDON_DIR/share/snmp/mibs -p /var/run/snmpd.pid

View File

@@ -0,0 +1,2 @@
100
- initial addon

View File

@@ -0,0 +1,10 @@
# Gemalto reader with serial communication
# - n is the serial port to use n in [0..3]
# - reader is the reader name. It is needed for multi-slot readers.
# Possible reader values are: GemPCPinPad, GemCorePOSPro, GemCoreSIMPro,
# GemPCTwin (default value)
# example: /dev/ttyS0:GemPCPinPad
#FRIENDLYNAME "GemPCTwin serial"
#DEVICENAME /dev/ttySn[:reader]
#LIBPATH /storage/.kodi/addons/service.pcscd/drivers/serial/libccidtwin.so
#CHANNELID n

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -0,0 +1,59 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2011-2011 Gregor Fuis (gujs@openelec.tv)
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="pcscd"
PKG_VERSION="1.0"
PKG_REV="100"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv"
PKG_URL=""
PKG_DEPENDS_TARGET="toolchain pcsc-lite libusb ccid"
PKG_SECTION="service"
PKG_SHORTDESC="Middleware to access a smart card using SCard API (PC/SC)"
PKG_LONGDESC="Middleware to access a smart card using SCard API (PC/SC)"
PKG_AUTORECONF="no"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="PC/SC Smart Card Daemon"
PKG_ADDON_TYPE="xbmc.service"
make_target() {
:
}
makeinstall_target() {
:
}
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/
cp -Pa $(get_build_dir pcsc-lite)/.install_pkg/usr/sbin/pcscd $ADDON_BUILD/$PKG_ADDON_ID/bin/pcscd.bin
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/drivers/serial
cp -Pa $(get_build_dir ccid)/.$TARGET_NAME/src/.libs/libccidtwin.so $ADDON_BUILD/$PKG_ADDON_ID/drivers/serial
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/drivers/ifd-ccid.bundle/Contents/Linux/
cp -Pa $(get_build_dir ccid)/.$TARGET_NAME/src/.libs/libccid.so $ADDON_BUILD/$PKG_ADDON_ID/drivers/ifd-ccid.bundle/Contents/Linux/
cp -Pa $(get_build_dir ccid)/.$TARGET_NAME/src/Info.plist $ADDON_BUILD/$PKG_ADDON_ID/drivers/ifd-ccid.bundle/Contents
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config
cp -Pa $PKG_DIR/config/* $ADDON_BUILD/$PKG_ADDON_ID/config/
}

View File

@@ -0,0 +1,34 @@
#!/bin/sh
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
oe_setup_addon service.pcscd
mkdir -p $ADDON_HOME/config
chmod a+x $ADDON_DIR/bin/*
if [ ! -f "$ADDON_HOME/config/reader.conf" ]; then
cp $ADDON_DIR/config/reader.conf $ADDON_HOME/config/reader.conf
fi
exec pcscd.bin --foreground -c $ADDON_HOME/config/reader.conf

View File

@@ -0,0 +1,35 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2017-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
import subprocess
import xbmc
import xbmcaddon
class Monitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
self.id = xbmcaddon.Addon().getAddonInfo('id')
def onSettingsChanged(self):
subprocess.call(['systemctl', 'restart', self.id])
if __name__ == "__main__":
Monitor().waitForAbort()

View File

@@ -0,0 +1,13 @@
[Unit]
Description=PCSC lite
After=graphical.target
[Service]
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.pcscd/bin/pcscd.start"
TimeoutStopSec=1
Restart=always
RestartSec=2
StartLimitInterval=0
[Install]
WantedBy=kodi.target

View File

@@ -0,0 +1,9 @@
102
- Fix rew pattern not working
- Change logging to use LOGDEBUG
101
- Fix sleep.png so all LED's turn off
100
- Initial release

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,47 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="slice"
PKG_VERSION="0"
PKG_REV="102"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE=""
PKG_URL=""
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="service"
PKG_SHORTDESC="Controls the LED lights on the Slice box using Kodi actions"
PKG_LONGDESC="Controls the LED lights on the Slice box using Kodi actions"
PKG_AUTORECONF="no"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Slice"
PKG_ADDON_PROJECTS="Slice Slice3"
PKG_ADDON_TYPE="xbmc.service"
make_target() {
:
}
makeinstall_target() {
:
}
addon() {
:
}

View File

@@ -0,0 +1,249 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2016-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
from PIL import Image
import os
import threading
import time
import Queue
import xbmc
import xbmcaddon
'''
ffwd.png
pause.png
play.png
quit.png
rew.png
shutdown.png
skipf.png
skipr.png
sleep.png
startup.png
stop.png
wake.png
'''
__addon__ = xbmcaddon.Addon()
__path__ = __addon__.getAddonInfo('path')
class PNGPatternPlayer(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.path = __path__ + "/resources/media/ledpatterns"
self.patterns = Queue.Queue()
self.responses = Queue.Queue()
self.stopped = False
self.memo = {}
self.start()
def setPath(self, path):
if self.path != path:
self.path = path
self.memo = {}
def clearPattern(self):
with open('/dev/ws2812', 'wb') as f:
'write null multiple times as the LEDs can get locked up with fast operations'
for n in range(5):
f.write(bytearray(25))
def playPattern(self, file, delay):
xbmc.log('playing pattern: %s' % file, xbmc.LOGDEBUG)
'get pixel data from a cache if available, otherwise load and calculate'
if file not in self.memo:
image = Image.open(file)
pixels = image.load()
width, height = image.size
data = []
for y in range(height):
x_pixels = []
for x in range(width):
pixel = []
r, g, b, a = pixels[x, y]
pixel.append(hex(r)[2:].zfill(2))
pixel.append(hex(g)[2:].zfill(2))
pixel.append(hex(b)[2:].zfill(2))
pixel.append(hex(a)[2:].zfill(2))
x_pixels.append(''.join(str(e) for e in pixel))
data.append(' '.join(str(e) for e in x_pixels))
self.memo[file] = data
for hexline in self.memo[file]:
if not self.stopped:
with open('/dev/ws2812', 'wb') as f:
f.write(bytearray.fromhex(hexline))
time.sleep(delay)
else:
break
def play(self, file, repeat=False, delay=0.030, wait=None):
self.stopped = True
if wait is not None:
# wait up to specified time if this pattern is to be processed synchronously
self.patterns.put((file, repeat, delay, True))
try:
result = self.responses.get(block=True, timeout=wait)
except Queue.Empty:
pass
else:
self.patterns.put((file, repeat, delay, False))
def stop(self, wait=None):
self.play(None, wait=wait)
def run(self):
repeat = False
while True:
try:
(file, repeat, delay, wait) = self.patterns.get(block=True, timeout=0 if repeat and not self.stopped else None)
self.stopped = False
if file is not None:
self.playPattern("%s/%s.png" % (self.path, file), delay)
else:
self.clearPattern()
if wait:
self.responses.put(True)
# Queue will be empty if we're repeating the last pattern and there is no new work
except Queue.Empty:
self.playPattern("%s/%s.png" % (self.path, file), delay)
class SlicePlayer(xbmc.Player):
def __init__(self, *args, **kwargs):
xbmc.Player.__init__(self)
'maps kodi player speed to delay in seconds'
self.speed_map = {-32: 0.015,
-16: 0.025,
-8: 0.030,
-4: 0.035,
-2: 0.040,
-1: 0.060,
0: 0.000,
1: 0.060,
2: 0.040,
4: 0.035,
8: 0.030,
16: 0.025,
32: 0.015,
}
self.speed = 1
patterns.play('startup', False, 0.02)
xbmc.log('service.slice add-on started', xbmc.LOGNOTICE)
def onPlayBackEnded(self):
'Will be called when Kodi stops playing a file'
patterns.play('stop')
def onPlayBackPaused(self):
'Will be called when user pauses a playing file'
patterns.play('pause')
def onPlayBackResumed(self):
'Will be called when user resumes a paused file'
patterns.play('play')
def onPlayBackSeek(self, iTime, seekOffset):
'Will be called when user seeks to a time'
# todo: not working
xbmc.log('time offset: %d' % iTime, xbmc.LOGDEBUG)
xbmc.log('seek offset: %d' % seekOffset, xbmc.LOGDEBUG)
if seekOffset > 0:
patterns.play('skipf')
else:
patterns.play('skipr')
def onPlayBackSeekChapter(self, chapter):
'Will be called when user performs a chapter seek'
pass
def onPlayBackSpeedChanged(self, speed):
'Will be called when players speed changes. (eg. user FF/RW)'
xbmc.log('seek speed: %d' % speed, xbmc.LOGDEBUG)
self.speed = speed
if self.speed != 1:
if self.speed < 0:
patterns.play('rew', True, self.speed_map[self.speed])
elif self.speed > 0:
patterns.play('ffwd', True, self.speed_map[self.speed])
else:
patterns.stop()
def onPlayBackStarted(self):
'Will be called when Kodi starts playing a file'
patterns.play('play')
def onPlayBackStopped(self):
'Will be called when user stops Kodi playing a file'
patterns.play('stop')
class SliceMonitor(xbmc.Monitor):
def __init__(self, *args, **kwargs):
xbmc.Monitor.__init__(self)
def onScreensaverActivated(self):
'Will be called when screensaver kicks in'
patterns.play('sleep')
def onScreensaverDeactivated(self):
'Will be called when screensaver goes off'
patterns.play('wake')
def onSettingsChanged(self):
'Will be called when addon settings are changed'
# meh
if (__name__ == "__main__"):
patterns = PNGPatternPlayer()
player = SlicePlayer()
monitor = SliceMonitor()
monitor.waitForAbort()
patterns.play('shutdown', wait=5.0)
del SliceMonitor
del SlicePlayer
del PNGPatternPlayer

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,11 @@
102
- Update to 0.15.0
- Add alsa-plugins
101
- Always restart service
- Improve latency setting
- Keep daemon state
100
- Initial addon

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,51 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="snapclient"
PKG_VERSION="0.15.0"
PKG_REV="102"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
PKG_DEPENDS_TARGET="toolchain alsa-plugins snapcast"
PKG_SECTION="service"
PKG_SHORTDESC="Snapclient: Synchronous multi-room audio client"
PKG_LONGDESC="Snapclient ($PKG_VERSION) is a Snapcast client. Snapcast is a multi-room client-server audio system, where all clients are time synchronized with the server to play perfectly synced audioplays."
PKG_AUTORECONF="no"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Snapclient"
PKG_ADDON_TYPE="xbmc.service.library"
PKG_MAINTAINER="Anton Voyl (awiouy)"
make_target() {
:
}
makeinstall_target() {
:
}
addon() {
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/bin"
cp "$(get_build_dir snapcast)/client/snapclient" \
"$ADDON_BUILD/$PKG_ADDON_ID/bin"
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/lib"
cp "$(get_build_dir alsa-plugins)/.install_pkg/usr/lib/alsa"/*.so \
"$ADDON_BUILD/$PKG_ADDON_ID/lib"
}

View File

@@ -0,0 +1,40 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
import os.path
import subprocess
import xbmcaddon
import xbmcgui
SNAPCLIENT = os.path.join(
xbmcaddon.Addon().getAddonInfo('path'), 'bin', 'snapclient')
card = ''
cards = []
lines = subprocess.check_output([SNAPCLIENT, '--list']).splitlines()
for line in lines:
if line != '':
card = card + ' ' + line
else:
cards.append(card)
card = ''
dialog = xbmcgui.Dialog()
dialog.select(xbmcaddon.Addon().getLocalizedString(30015), cards)
del dialog

View File

@@ -0,0 +1,53 @@
#!/bin/sh
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2018-present Team LibreELEC
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
oe_setup_addon service.snapclient
. /etc/os-release
case "$LIBREELEC_ARCH" in
RPi*.arm)
if [ "$sc_a" == "true" ]; then
ALSA="/proc/asound/ALSA"
if [ ! -e "$ALSA" ]; then
echo "Starting Raspberry Pi onboard audio"
dtparam audio=on
sleep 1
fi
if [ -e "$ALSA" ]; then
echo "Setting Raspberry Pi onboard audio playback route"
index="$(readlink $ALSA)"
index="${index##*card}"
amixer -c "$index" cset name="PCM Playback Route" "$sc_r"
fi
fi
;;
esac
[ -n "$sc_h" ] && sc_H="--hostID $sc_h"
[ -n "$sc_s" ] && sc_S="--soundcard $sc_s"
HOME="$ADDON_HOME" \
nice -n "$sc_n" \
snapclient \
$sc_H \
--latency "$sc_l" \
--port "$sc_p" \
$sc_S \
> /dev/null

Some files were not shown because too many files have changed in this diff Show More