mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
238 Commits
8.0.1
...
libreelec-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dda7270a12 | ||
|
|
1a34d0ad78 | ||
|
|
08ec9e2f68 | ||
|
|
602363bcfc | ||
|
|
191ab596d7 | ||
|
|
cd35e13a04 | ||
|
|
6f41051159 | ||
|
|
52a7c157e5 | ||
|
|
a065ed50b1 | ||
|
|
8e7e78adae | ||
|
|
7219358a10 | ||
|
|
7fe1846de3 | ||
|
|
3eaed78297 | ||
|
|
8adac83b90 | ||
|
|
071ce51ca2 | ||
|
|
a038784590 | ||
|
|
faf6e178ee | ||
|
|
32ca479021 | ||
|
|
0625e3f705 | ||
|
|
9b55d0e858 | ||
|
|
b759d30b1c | ||
|
|
7f89ca5c17 | ||
|
|
8d97dc984d | ||
|
|
7cfdfb28a3 | ||
|
|
17e72d00bf | ||
|
|
35c3078930 | ||
|
|
bbe1c0efff | ||
|
|
0b5a8acf0e | ||
|
|
19662a5e8b | ||
|
|
25aa2cf3bd | ||
|
|
0f15554b24 | ||
|
|
fc1e611a73 | ||
|
|
c505664799 | ||
|
|
62b6bb6bde | ||
|
|
938c524add | ||
|
|
f50336148b | ||
|
|
9f9678d199 | ||
|
|
018ab60699 | ||
|
|
a2900fdacc | ||
|
|
9b8d0d7c14 | ||
|
|
8ecc728f7b | ||
|
|
4acd8796a5 | ||
|
|
a9bf69a09d | ||
|
|
a14fcb506e | ||
|
|
5e5bc0b540 | ||
|
|
4002953f19 | ||
|
|
5bdb65cffa | ||
|
|
e855d1ea11 | ||
|
|
8fba548a46 | ||
|
|
75170db1aa | ||
|
|
79c59908cf | ||
|
|
6285685de7 | ||
|
|
8c39d597f7 | ||
|
|
97fa217f54 | ||
|
|
ab246ebe97 | ||
|
|
4862642f6e | ||
|
|
4ab656fe61 | ||
|
|
bb4e3f354d | ||
|
|
f8a588e57e | ||
|
|
d206d46f3e | ||
|
|
c9a2d68cfa | ||
|
|
5ebb357e1a | ||
|
|
8dbfc26f94 | ||
|
|
1d0aa1bedb | ||
|
|
843d59fcfb | ||
|
|
21d9e1293e | ||
|
|
9b33d3589e | ||
|
|
1c89f1826a | ||
|
|
ebdb386091 | ||
|
|
d4c7b7e4b4 | ||
|
|
5b101dc237 | ||
|
|
d7c5753ca7 | ||
|
|
aa967f4fc6 | ||
|
|
f9bce9dd13 | ||
|
|
5fc0a7b38b | ||
|
|
1b40fa2d9a | ||
|
|
8159703761 | ||
|
|
f60c721fa0 | ||
|
|
13b2a84ea1 | ||
|
|
d03d9cdd6f | ||
|
|
6dbb0a9698 | ||
|
|
6c59612930 | ||
|
|
d7b1df1730 | ||
|
|
571bb9f145 | ||
|
|
ed5ca47a8f | ||
|
|
0ca4008f8b | ||
|
|
679cd0482b | ||
|
|
d88ef305cc | ||
|
|
8e03887f6c | ||
|
|
eb92ad3d5f | ||
|
|
d49c4e5b11 | ||
|
|
cc1740a4ba | ||
|
|
fd382b9743 | ||
|
|
9dc1f5d168 | ||
|
|
e5b2ea3244 | ||
|
|
4e9fbb01fb | ||
|
|
db2facc06a | ||
|
|
2c8e9d4a15 | ||
|
|
1ab8c01495 | ||
|
|
3a202a3020 | ||
|
|
05315f3fc8 | ||
|
|
feae1d23a5 | ||
|
|
812331133d | ||
|
|
d0df1c2b06 | ||
|
|
9f71e3125a | ||
|
|
72f0a90609 | ||
|
|
8a337ef50d | ||
|
|
4bb4dcab1d | ||
|
|
b3d9313309 | ||
|
|
1bf09aea4e | ||
|
|
d86a21c411 | ||
|
|
69c2096793 | ||
|
|
ba18b00209 | ||
|
|
7a8d54fded | ||
|
|
f781309802 | ||
|
|
be0ac4b955 | ||
|
|
0e53edf8c7 | ||
|
|
368db6a726 | ||
|
|
59be68f4b0 | ||
|
|
6960dc5359 | ||
|
|
2612b796d5 | ||
|
|
2521cb30d5 | ||
|
|
f2935775e4 | ||
|
|
2a15ccbc86 | ||
|
|
a761a2725e | ||
|
|
12b1e672a9 | ||
|
|
e1c0d65ab9 | ||
|
|
af7adda9e6 | ||
|
|
43ea8529e9 | ||
|
|
3db5fcf296 | ||
|
|
49e316bc98 | ||
|
|
73e0b6b5a4 | ||
|
|
be49525470 | ||
|
|
d7ff410795 | ||
|
|
7e2ccb295d | ||
|
|
bfc347ceb4 | ||
|
|
c892b2adf6 | ||
|
|
4962e1fca4 | ||
|
|
b60a6e2d92 | ||
|
|
5867c36671 | ||
|
|
1997236387 | ||
|
|
0c7457e724 | ||
|
|
1bfd8e7f61 | ||
|
|
a32394bca6 | ||
|
|
5ff2b1a955 | ||
|
|
a7802044ca | ||
|
|
dd4431b2a0 | ||
|
|
9b819040be | ||
|
|
b15c63b07e | ||
|
|
bc826f551f | ||
|
|
ffd9cb41f9 | ||
|
|
50b29efbb3 | ||
|
|
66d6f4dc69 | ||
|
|
5d3ab28b5d | ||
|
|
d7e4c1993d | ||
|
|
05f5831370 | ||
|
|
964dada278 | ||
|
|
e7e994bfd9 | ||
|
|
be3c850da2 | ||
|
|
7bf499fef1 | ||
|
|
5c12e6dd48 | ||
|
|
e6bda27080 | ||
|
|
93431a3420 | ||
|
|
a925249f24 | ||
|
|
8e4356aa1b | ||
|
|
6fdb71c0aa | ||
|
|
8de6404b30 | ||
|
|
0e3510b6c9 | ||
|
|
686a73b56b | ||
|
|
8eb85ddaa9 | ||
|
|
7f406af767 | ||
|
|
b6f56108ec | ||
|
|
294e7c5412 | ||
|
|
19bcb1a1fe | ||
|
|
47f98a2bb9 | ||
|
|
6eddc217f6 | ||
|
|
da6317584e | ||
|
|
5455666f32 | ||
|
|
a9b0111317 | ||
|
|
b288787969 | ||
|
|
1298174ad5 | ||
|
|
653e53173f | ||
|
|
2b436b3212 | ||
|
|
2f25c2c8f4 | ||
|
|
29658ecb0f | ||
|
|
6ff220ed5d | ||
|
|
da312dc7d6 | ||
|
|
81888a7c85 | ||
|
|
f122879a43 | ||
|
|
309710e64b | ||
|
|
64965b0ebc | ||
|
|
32258c087d | ||
|
|
79108024da | ||
|
|
10de47343f | ||
|
|
aea575eb29 | ||
|
|
42ee709cfe | ||
|
|
55559f8be5 | ||
|
|
d5705c79ab | ||
|
|
f223e23fe3 | ||
|
|
9957940e86 | ||
|
|
9a5e94fb6e | ||
|
|
ae018780a8 | ||
|
|
34de01dfa5 | ||
|
|
b09726929f | ||
|
|
942b1ffa80 | ||
|
|
b4802bd5c4 | ||
|
|
82cc40069f | ||
|
|
745f6790ec | ||
|
|
fefe70559c | ||
|
|
6c328cfe3b | ||
|
|
ee22bb0dbb | ||
|
|
4b9d71d9e9 | ||
|
|
d41dc1878d | ||
|
|
42b123e712 | ||
|
|
8c6ef4c2ab | ||
|
|
b4e2344026 | ||
|
|
fb1e10f464 | ||
|
|
a5b8ce77c9 | ||
|
|
2adbedec41 | ||
|
|
880f43ee94 | ||
|
|
7301560cd2 | ||
|
|
0fd4cdea9e | ||
|
|
42ed3d20b6 | ||
|
|
ef4443c1de | ||
|
|
0efa45223c | ||
|
|
e82bde9920 | ||
|
|
0f6b1c4142 | ||
|
|
3a29a9e2ce | ||
|
|
b93596fae2 | ||
|
|
5b97d63c95 | ||
|
|
73cf0af5dd | ||
|
|
8fa60279d3 | ||
|
|
2c9f5eeebd | ||
|
|
94cffa28cd | ||
|
|
51a6b73f3b | ||
|
|
6682c6267f | ||
|
|
5ed35c1262 | ||
|
|
4c139b3a02 |
35
config/addon/xbmc.service.library.xml
Normal file
35
config/addon/xbmc.service.library.xml
Normal 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.python.library" library="addon.py">
|
||||
<provides></provides>
|
||||
</extension>
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
<description>
|
||||
@PKG_LONGDESC@
|
||||
</description>
|
||||
<disclaimer>
|
||||
@PKG_DISCLAIMER@
|
||||
</disclaimer>
|
||||
<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>
|
||||
@@ -1 +0,0 @@
|
||||
Welcome to OpenELEC - the powerful Mediacenter4you
|
||||
@@ -1,5 +1,5 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
LIBREELEC_VERSION="8.0.1"
|
||||
LIBREELEC_VERSION="devel"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="8.0"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - http://www.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,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bitstream"
|
||||
PKG_VERSION="1.1"
|
||||
PKG_VERSION="1.2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.videolan.org"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - http://www.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,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libev"
|
||||
PKG_VERSION="4.22"
|
||||
PKG_VERSION="4.24"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://software.schmorp.de/pkg/libev.html"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dvb-fe-tool"
|
||||
PKG_VERSION="fa2f7d9"
|
||||
PKG_VERSION="1388a04"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://linuxtv.org/"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dvblast"
|
||||
PKG_VERSION="3.0"
|
||||
PKG_VERSION="3.1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.videolan.org"
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
diff -Naur dvblast-3.0/Makefile dvblast-3.0.patch/Makefile
|
||||
--- dvblast-3.0/Makefile 2015-10-05 17:51:14.000000000 +0200
|
||||
+++ dvblast-3.0.patch/Makefile 2016-03-26 22:54:59.953303040 +0100
|
||||
@@ -55,11 +55,11 @@
|
||||
|
||||
dvblast: $(OBJ_DVBLAST)
|
||||
@echo "LINK $@"
|
||||
- $(Q)$(CROSS)$(CC) -o $@ $(OBJ_DVBLAST) $(LDLIBS_DVBLAST) $(LDLIBS)
|
||||
+ $(Q)$(CROSS)$(CC) -o $@ $(OBJ_DVBLAST) $(LDFLAGS) $(LDLIBS_DVBLAST) $(LDLIBS)
|
||||
|
||||
dvblastctl: $(OBJ_DVBLASTCTL)
|
||||
@echo "LINK $@"
|
||||
- $(Q)$(CROSS)$(CC) -o $@ $(OBJ_DVBLASTCTL) $(LDLIBS)
|
||||
+ $(Q)$(CROSS)$(CC) -o $@ $(OBJ_DVBLASTCTL) $(LDFLAGS) $(LDLIBS)
|
||||
|
||||
clean:
|
||||
@echo "CLEAN $(CLEAN_OBJS)"
|
||||
@@ -0,0 +1,34 @@
|
||||
################################################################################
|
||||
# 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="mumudvb"
|
||||
PKG_VERSION="fa9ff6e"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://mumudvb.net/"
|
||||
PKG_URL="https://github.com/braice/MuMuDVB/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="MuMuDVB-${PKG_VERSION}*"
|
||||
PKG_DEPENDS_TARGET="toolchain libdvbcsa"
|
||||
PKG_SECTION="tools"
|
||||
PKG_SHORTDESC="MuMuDVB (Multi Multicast DVB) is a program that streams from DVB on a network using multicasting or unicast"
|
||||
PKG_LONGDESC="MuMuDVB (Multi Multicast DVB) is a program that streams from DVB on a network using multicasting or unicast"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - http://www.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,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="w_scan"
|
||||
PKG_VERSION="20141122"
|
||||
PKG_VERSION="20170107"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://wirbel.htpc-forum.de/w_scan/index2.html"
|
||||
|
||||
@@ -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,18 +18,12 @@
|
||||
|
||||
PKG_NAME="ffmpegx"
|
||||
PKG_VERSION="libreelec"
|
||||
PKG_REV="7"
|
||||
PKG_ARCH="any"
|
||||
PKG_REV="9"
|
||||
PKG_LICENSE="LGPLv2.1+"
|
||||
PKG_SITE="https://ffmpeg.org"
|
||||
PKG_DEPENDS_TARGET="toolchain ffmpeg lame x264"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="FFmpeg+"
|
||||
PKG_LONGDESC="FFmpeg built static with additional features"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_configure_target() {
|
||||
cd "$ROOT/$PKG_BUILD"
|
||||
rm -rf ".$TARGET_NAME"
|
||||
|
||||
@@ -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,20 +17,14 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="imagemagick"
|
||||
PKG_VERSION="7.0.5-0"
|
||||
PKG_ARCH="any"
|
||||
PKG_VERSION="7.0.5-7"
|
||||
PKG_LICENSE="http://www.imagemagick.org/script/license.php"
|
||||
PKG_SITE="http://www.imagemagick.org/"
|
||||
PKG_URL="http://www.imagemagick.org/download/releases/ImageMagick-$PKG_VERSION.tar.xz"
|
||||
PKG_URL="https://github.com/ImageMagick/ImageMagick/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="ImageMagick-$PKG_VERSION"
|
||||
PKG_DEPENDS_TARGET="toolchain libX11"
|
||||
PKG_SECTION="graphics"
|
||||
PKG_SHORTDESC="ImageMagick"
|
||||
PKG_LONGDESC="Software suite to create, edit, compose, or convert bitmap images"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static \
|
||||
--enable-shared \
|
||||
--with-quantum-depth=8 \
|
||||
|
||||
@@ -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,19 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="x264"
|
||||
PKG_VERSION="snapshot-20170228-2245-stable"
|
||||
PKG_ARCH="any"
|
||||
PKG_VERSION="snapshot-20170524-2245-stable"
|
||||
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_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="x264"
|
||||
PKG_LONGDESC="x264"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_configure_target() {
|
||||
cd $ROOT/$PKG_BUILD
|
||||
rm -rf .$TARGET_NAME
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libconfuse"
|
||||
PKG_VERSION="3.0"
|
||||
PKG_VERSION="3.2"
|
||||
PKG_LICENSE="https://github.com/martinh/libconfuse/blob/master/LICENSE"
|
||||
PKG_SITE="https://github.com/martinh/libconfuse"
|
||||
PKG_URL="https://github.com/martinh/libconfuse/archive/v$PKG_VERSION.tar.gz"
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
################################################################################
|
||||
# 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="pyalsaaudio"
|
||||
PKG_VERSION="0.8.4"
|
||||
PKG_LICENSE="PSF"
|
||||
PKG_SITE="http://larsimmisch.github.io/pyalsaaudio/"
|
||||
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Python distutilscross:host alsa-lib"
|
||||
PKG_LONGDESC="ALSA bindings"
|
||||
|
||||
make_target() {
|
||||
export LDSHARED="$CC -shared"
|
||||
export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr"
|
||||
python setup.py build --cross-compile
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
python setup.py install --root=$INSTALL --prefix=/usr
|
||||
find $INSTALL/usr/lib -name "*.py" -exec rm -rf "{}" ";"
|
||||
rm -rf $INSTALL/usr/lib/python*/site-packages/*.egg-info \
|
||||
$INSTALL/usr/lib/python*/site-packages/*/tests
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
################################################################################
|
||||
# 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="rust"
|
||||
PKG_VERSION="1.20.0"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://www.rust-lang.org"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS="toolchain"
|
||||
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"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
unpack() {
|
||||
:
|
||||
}
|
||||
|
||||
configure_target() {
|
||||
:
|
||||
}
|
||||
|
||||
make_target() {
|
||||
export CARGO_HOME="$ROOT/$TOOLCHAIN/.cargo"
|
||||
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
|
||||
rustup default "$PKG_VERSION"
|
||||
case "$TARGET_ARCH" in
|
||||
aarch64)
|
||||
RUST_TRIPLE="aarch64-unknown-linux-gnu"
|
||||
;;
|
||||
arm)
|
||||
RUST_TRIPLE="arm-unknown-linux-gnueabihf"
|
||||
;;
|
||||
x86_64)
|
||||
RUST_TRIPLE="x86_64-unknown-linux-gnu"
|
||||
;;
|
||||
esac
|
||||
if [ "$TARGET_ARCH" != "x86_64" ]; then
|
||||
rustup target add "$RUST_TRIPLE"
|
||||
fi
|
||||
|
||||
cat <<EOF >"$CARGO_HOME/config"
|
||||
[target.$RUST_TRIPLE]
|
||||
linker = "$CC"
|
||||
EOF
|
||||
|
||||
cat <<'EOF' >"$CARGO_HOME/env"
|
||||
export CARGO_HOME="$ROOT/$TOOLCHAIN/.cargo"
|
||||
export CARGO_TARGET_DIR="$ROOT/$PKG_BUILD/.$TARGET_NAME"
|
||||
export PATH="$CARGO_HOME/bin:$PATH"
|
||||
export RUSTUP_HOME="$CARGO_HOME"
|
||||
mkdir -p "$CARGO_TARGET_DIR"
|
||||
EOF
|
||||
|
||||
echo "CARGO_BUILD=\"cargo build --release --target $RUST_TRIPLE\"" \
|
||||
>>"$CARGO_HOME/env"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libvncserver"
|
||||
PKG_VERSION="0.9.10"
|
||||
PKG_VERSION="0.9.11"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://libvnc.github.io/"
|
||||
PKG_URL="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="libvncserver-LibVNCServer-$PKG_VERSION"
|
||||
PKG_DEPENDS_TARGET="toolchain libjpeg-turbo libpng"
|
||||
PKG_DEPENDS_TARGET="toolchain libjpeg-turbo libpng libressl"
|
||||
PKG_SECTION="libs"
|
||||
PKG_SHORTDESC="LibVNCServer/LibVNCClient are cross-platform C libraries that allow you to easily implement VNC server or client functionality in your program."
|
||||
PKG_LONGDESC="LibVNCServer/LibVNCClient are cross-platform C libraries that allow you to easily implement VNC server or client functionality in your program."
|
||||
|
||||
@@ -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,23 +17,18 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libgdiplus"
|
||||
PKG_VERSION="4.2"
|
||||
PKG_ARCH="any"
|
||||
PKG_VERSION="5.4"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/mono/libgdiplus"
|
||||
PKG_URL="https://github.com/mono/libgdiplus/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain giflib libjpeg-turbo tiff libXext libexif glib cairo"
|
||||
PKG_SECTION="tools"
|
||||
PKG_SHORTDESC="libgiplus"
|
||||
PKG_LONGDESC="An Open Source implementation of the GDI+ API"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-shared \
|
||||
--with-libgif \
|
||||
--with-libjpeg \
|
||||
--with-libtiff"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-shared \
|
||||
--with-libgif=$TARGET_PREFIX \
|
||||
--with-libjpeg=$TARGET_PREFIX \
|
||||
--with-libtiff=$TARGET_PREFIX"
|
||||
|
||||
makeinstall_target() {
|
||||
make install DESTDIR=$INSTALL
|
||||
|
||||
47
packages/addons/addon-depends/pngquant/package.mk
Normal file
47
packages/addons/addon-depends/pngquant/package.mk
Normal file
@@ -0,0 +1,47 @@
|
||||
################################################################################
|
||||
# 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="pngquant"
|
||||
PKG_VERSION="2.9.1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://pngquant.org"
|
||||
PKG_URL="http://pngquant.org/pngquant-${PKG_VERSION}-src.tar.gz"
|
||||
PKG_DEPENDS_HOST="toolchain libpng:host zlib:host"
|
||||
PKG_SECTION="graphics"
|
||||
PKG_SHORTDESC="lossy PNG compressor"
|
||||
PKG_LONGDESC="a PNG compresor that significantly reduces file sizes by converting images to a more efficient 8-bit PNG format"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
configure_host() {
|
||||
: #
|
||||
}
|
||||
|
||||
make_host() {
|
||||
cd $ROOT/$PKG_BUILD
|
||||
BIN=$ROOT/$PKG_BUILD/pngquant make
|
||||
|
||||
$STRIP $ROOT/$PKG_BUILD/pngquant
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
mkdir -p $ROOT/$TOOLCHAIN/bin
|
||||
cp $ROOT/$PKG_BUILD/pngquant $ROOT/$TOOLCHAIN/bin
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
From 9f3efa796acb97ea4887468f1e8136e2e0711118 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Levine <plevine457@gmail.com>
|
||||
Date: Fri, 13 May 2016 20:04:00 -0400
|
||||
Subject: [PATCH] Remove -isystem from qmake due to QTBUG-53375
|
||||
|
||||
Change-Id: If0595fc2f209a48585e7e9b9a61f11c0d4e0664f
|
||||
---
|
||||
mkspecs/common/clang.conf | 1 -
|
||||
mkspecs/common/gcc-base.conf | 1 -
|
||||
mkspecs/linux-icc/qmake.conf | 1 -
|
||||
qmake/generators/unix/unixmake2.cpp | 14 +++-----------
|
||||
qmake/generators/win32/mingw_make.cpp | 8 +-------
|
||||
5 files changed, 4 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf
|
||||
index ee9c1b8..fbe370e 100644
|
||||
--- a/mkspecs/common/clang.conf
|
||||
+++ b/mkspecs/common/clang.conf
|
||||
@@ -16,7 +16,6 @@ QMAKE_LINK_SHLIB = $$QMAKE_CXX
|
||||
CONFIG += clang_pch_style
|
||||
QMAKE_PCH_OUTPUT_EXT = .pch
|
||||
|
||||
-QMAKE_CFLAGS_ISYSTEM = -isystem
|
||||
QMAKE_CFLAGS_PRECOMPILE = -x c-header -c ${QMAKE_PCH_INPUT} -o ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CFLAGS_USE_PRECOMPILE = -Xclang -include-pch -Xclang ${QMAKE_PCH_OUTPUT}
|
||||
QMAKE_CFLAGS_LTCG = -flto
|
||||
diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf
|
||||
index 6e043f5..df8d314 100644
|
||||
--- a/mkspecs/common/gcc-base.conf
|
||||
+++ b/mkspecs/common/gcc-base.conf
|
||||
@@ -44,7 +44,6 @@ QMAKE_CFLAGS_DEBUG += -g
|
||||
QMAKE_CFLAGS_SHLIB += -fPIC
|
||||
QMAKE_CFLAGS_STATIC_LIB += -fPIC
|
||||
QMAKE_CFLAGS_APP += -fPIC
|
||||
-QMAKE_CFLAGS_ISYSTEM = -isystem
|
||||
QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
|
||||
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
|
||||
QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions
|
||||
diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf
|
||||
index 495fd15..935833b 100644
|
||||
--- a/mkspecs/linux-icc/qmake.conf
|
||||
+++ b/mkspecs/linux-icc/qmake.conf
|
||||
@@ -21,7 +21,6 @@ QMAKE_CFLAGS_DEBUG = -O0 -g
|
||||
QMAKE_CFLAGS_SHLIB = -fPIC
|
||||
QMAKE_CFLAGS_STATIC_LIB = $$QMAKE_CFLAGS_SHLIB
|
||||
QMAKE_CFLAGS_YACC =
|
||||
-QMAKE_CFLAGS_ISYSTEM = -isystem
|
||||
QMAKE_CFLAGS_THREAD = -D_REENTRANT
|
||||
QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections
|
||||
QMAKE_CFLAGS_LTCG = -ipo -fno-fat-lto-objects
|
||||
diff --git a/qmake/generators/unix/unixmake2.cpp b/qmake/generators/unix/unixmake2.cpp
|
||||
index 9312f19..009a674 100644
|
||||
--- a/qmake/generators/unix/unixmake2.cpp
|
||||
+++ b/qmake/generators/unix/unixmake2.cpp
|
||||
@@ -176,16 +176,10 @@ UnixMakefileGenerator::writeMakeParts(QTextStream &t)
|
||||
t << "CXXFLAGS = " << var("QMAKE_CXXFLAGS") << " $(DEFINES)\n";
|
||||
t << "INCPATH =";
|
||||
{
|
||||
- QString isystem = var("QMAKE_CFLAGS_ISYSTEM");
|
||||
const ProStringList &incs = project->values("INCLUDEPATH");
|
||||
for(int i = 0; i < incs.size(); ++i) {
|
||||
const ProString &inc = incs.at(i);
|
||||
- if (inc.isEmpty())
|
||||
- continue;
|
||||
-
|
||||
- if (!isystem.isEmpty() && isSystemInclude(inc.toQString()))
|
||||
- t << ' ' << isystem << ' ';
|
||||
- else
|
||||
+ if (!inc.isEmpty())
|
||||
t << " -I";
|
||||
t << escapeFilePath(inc);
|
||||
}
|
||||
@@ -1328,10 +1322,8 @@ void UnixMakefileGenerator::init2()
|
||||
}
|
||||
|
||||
if (include_deps && project->isActiveConfig("gcc_MD_depends")) {
|
||||
- // use -MMD if we know about -isystem too
|
||||
- ProString MD_flag(project->values("QMAKE_CFLAGS_ISYSTEM").isEmpty() ? "-MD" : "-MMD");
|
||||
- project->values("QMAKE_CFLAGS") += MD_flag;
|
||||
- project->values("QMAKE_CXXFLAGS") += MD_flag;
|
||||
+ project->values("QMAKE_CFLAGS") += "-MD";
|
||||
+ project->values("QMAKE_CXXFLAGS") += "-MD";
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/qmake/generators/win32/mingw_make.cpp b/qmake/generators/win32/mingw_make.cpp
|
||||
index 382b10c..c9eebd8 100644
|
||||
--- a/qmake/generators/win32/mingw_make.cpp
|
||||
+++ b/qmake/generators/win32/mingw_make.cpp
|
||||
@@ -249,17 +249,11 @@ void MingwMakefileGenerator::writeIncPart(QTextStream &t)
|
||||
{
|
||||
t << "INCPATH = ";
|
||||
|
||||
- QString isystem = var("QMAKE_CFLAGS_ISYSTEM");
|
||||
const ProStringList &incs = project->values("INCLUDEPATH");
|
||||
for (ProStringList::ConstIterator incit = incs.begin(); incit != incs.end(); ++incit) {
|
||||
QString inc = (*incit).toQString();
|
||||
inc.replace(QRegExp("\\\\$"), "");
|
||||
-
|
||||
- if (!isystem.isEmpty() && isSystemInclude(inc))
|
||||
- t << isystem << ' ';
|
||||
- else
|
||||
- t << "-I";
|
||||
- t << escapeFilePath(inc) << ' ';
|
||||
+ t << "-I" << escapeFilePath(inc) << ' ';
|
||||
}
|
||||
t << endl;
|
||||
}
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016 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="lan951x-led-ctl"
|
||||
PKG_VERSION="0291b91"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/dradermacher/lan951x-led-ctl"
|
||||
PKG_URL="https://github.com/dradermacher/lan951x-led-ctl/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libusb"
|
||||
PKG_SECTION="rpi-tools"
|
||||
PKG_SHORTDESC="Control LEDs connected to LAN9512/LAN9514 ethernet USB controllers"
|
||||
PKG_LONGDESC="Control LEDs connected to LAN9512/LAN9514 ethernet USB controllers"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
make_target() {
|
||||
$CC -std=c11 -I./include -Wall -Wstrict-prototypes -Wconversion \
|
||||
-Wmissing-prototypes -Wshadow -Wextra -Wunused \
|
||||
$CFLAGS -lusb-1.0 $LDFLAGS -o lan951x-led-ctl src/lan951x-led-ctl.c
|
||||
|
||||
$STRIP lan951x-led-ctl
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
: # nop
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="p7zip"
|
||||
PKG_VERSION="15.14"
|
||||
PKG_VERSION="16.02"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://p7zip.sourceforge.net/"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="screen"
|
||||
PKG_VERSION="4.3.1"
|
||||
PKG_VERSION="4.5.1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.gnu.org/software/screen/"
|
||||
@@ -29,12 +29,14 @@ PKG_LONGDESC="screen is a terminal multiplexor that runs several separate screen
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="ac_cv_header_utempter_h=no \
|
||||
--enable-colors256 \
|
||||
--disable-pam \
|
||||
--disable-use-locale \
|
||||
--disable-telnet \
|
||||
--disable-socket-dir"
|
||||
|
||||
pre_configure_target() {
|
||||
CFLAGS="$CFLAGS -DTERMINFO"
|
||||
export LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"`
|
||||
|
||||
# screen fails to build in subdirs
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="unrar"
|
||||
PKG_VERSION="5.3.11"
|
||||
PKG_VERSION="5.4.5"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="free"
|
||||
PKG_SITE="http://www.rarlab.com"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-dvbapi"
|
||||
PKG_VERSION="7a42b22"
|
||||
PKG_VERSION="d7c7587"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/manio/vdr-plugin-dvbapi"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-satip"
|
||||
PKG_VERSION="6573c38"
|
||||
PKG_VERSION="ed99cfb"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/satip/"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-plugin-vnsiserver"
|
||||
PKG_VERSION="d6847c3"
|
||||
PKG_VERSION="615a077"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/FernetMenta/vdr-plugin-vnsiserver"
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
Description: dynamically resize buffer for caids
|
||||
Forwarded: yes
|
||||
Author: Lars Hanisch <dvb@flensrocker.de>
|
||||
|
||||
diff --git a/ci.c b/ci.c
|
||||
index ffc7ff7..8bfae23 100644
|
||||
--- a/ci.c
|
||||
+++ b/ci.c
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "skins.h"
|
||||
#include "tools.h"
|
||||
|
||||
+#define CAID_BUFSIZE 1024
|
||||
+
|
||||
// Set these to 'true' for debug output:
|
||||
static bool DumpTPDUDataTransfer = false;
|
||||
static bool DebugProtocol = false;
|
||||
@@ -763,9 +765,12 @@ private:
|
||||
int transponder;
|
||||
int programNumber;
|
||||
int caSystemIds[MAXCASYSTEMIDS + 1]; // list is zero terminated!
|
||||
+ uint8_t *caDescriptors;
|
||||
+ int caBufSize;
|
||||
void AddCaDescriptors(int Length, const uint8_t *Data);
|
||||
public:
|
||||
cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber, const int *CaSystemIds);
|
||||
+ ~cCiCaPmt(void);
|
||||
uint8_t CmdId(void) { return cmdId; }
|
||||
void SetListManagement(uint8_t ListManagement);
|
||||
uint8_t ListManagement(void) { return capmt[0]; }
|
||||
@@ -784,8 +789,15 @@ cCiCaPmt::cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber
|
||||
caSystemIds[i] = CaSystemIds[i];
|
||||
}
|
||||
caSystemIds[i] = 0;
|
||||
- uint8_t caDescriptors[512];
|
||||
- int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, sizeof(caDescriptors), caDescriptors, 0);
|
||||
+ caBufSize = CAID_BUFSIZE;
|
||||
+ caDescriptors = new uint8_t[caBufSize];
|
||||
+ int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, 0);
|
||||
+ if (caDescriptorsLength < 0) {
|
||||
+ delete [] caDescriptors;
|
||||
+ caBufSize = -caDescriptorsLength + 8;
|
||||
+ caDescriptors = new uint8_t[caBufSize];
|
||||
+ caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, 0);
|
||||
+ }
|
||||
length = 0;
|
||||
capmt[length++] = CPLM_ONLY;
|
||||
capmt[length++] = (ProgramNumber >> 8) & 0xFF;
|
||||
@@ -797,6 +809,11 @@ cCiCaPmt::cCiCaPmt(uint8_t CmdId, int Source, int Transponder, int ProgramNumber
|
||||
AddCaDescriptors(caDescriptorsLength, caDescriptors);
|
||||
}
|
||||
|
||||
+cCiCaPmt::~cCiCaPmt(void)
|
||||
+{
|
||||
+ delete [] caDescriptors;
|
||||
+}
|
||||
+
|
||||
void cCiCaPmt::SetListManagement(uint8_t ListManagement)
|
||||
{
|
||||
capmt[0] = ListManagement;
|
||||
@@ -805,21 +822,34 @@ void cCiCaPmt::SetListManagement(uint8_t ListManagement)
|
||||
void cCiCaPmt::AddPid(int Pid, uint8_t StreamType)
|
||||
{
|
||||
if (Pid) {
|
||||
- uint8_t caDescriptors[512];
|
||||
- int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, sizeof(caDescriptors), caDescriptors, Pid);
|
||||
- //XXX buffer overflow check???
|
||||
- capmt[length++] = StreamType;
|
||||
- capmt[length++] = (Pid >> 8) & 0xFF;
|
||||
- capmt[length++] = Pid & 0xFF;
|
||||
- esInfoLengthPos = length;
|
||||
- capmt[length++] = 0x00; // ES_info_length H (at ES level)
|
||||
- capmt[length++] = 0x00; // ES_info_length L
|
||||
- AddCaDescriptors(caDescriptorsLength, caDescriptors);
|
||||
+ int caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, Pid);
|
||||
+ if (caDescriptorsLength < 0) {
|
||||
+ delete [] caDescriptors;
|
||||
+ caBufSize = -caDescriptorsLength + 8;
|
||||
+ caDescriptors = new uint8_t[caBufSize];
|
||||
+ caDescriptorsLength = GetCaDescriptors(source, transponder, programNumber, caSystemIds, caBufSize, caDescriptors, Pid);
|
||||
+ }
|
||||
+ if (length + 5 < int(sizeof(capmt))) {
|
||||
+ capmt[length++] = StreamType;
|
||||
+ capmt[length++] = (Pid >> 8) & 0xFF;
|
||||
+ capmt[length++] = Pid & 0xFF;
|
||||
+ esInfoLengthPos = length;
|
||||
+ capmt[length++] = 0x00; // ES_info_length H (at ES level)
|
||||
+ capmt[length++] = 0x00; // ES_info_length L
|
||||
+ AddCaDescriptors(caDescriptorsLength, caDescriptors);
|
||||
+ }
|
||||
+ else
|
||||
+ esyslog("ERROR: buffer overflow in CA descriptor");
|
||||
}
|
||||
}
|
||||
|
||||
void cCiCaPmt::AddCaDescriptors(int Length, const uint8_t *Data)
|
||||
{
|
||||
+ if (Length < 0) {
|
||||
+ dsyslog("DEBUG: calling AddCaDescriptors with Length %d", Length);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (esInfoLengthPos) {
|
||||
if (length + Length < int(sizeof(capmt))) {
|
||||
if (Length || cmdId == CPCI_QUERY) {
|
||||
diff --git a/pat.c b/pat.c
|
||||
index 98d306e..9dfbc62 100644
|
||||
--- a/pat.c
|
||||
+++ b/pat.c
|
||||
@@ -165,21 +165,25 @@ int cCaDescriptors::GetCaDescriptors(const int *CaSystemIds, int BufSize, uchar
|
||||
return 0;
|
||||
if (BufSize > 0 && Data) {
|
||||
int length = 0;
|
||||
+ bool tooSmall = false;
|
||||
for (cCaDescriptor *d = caDescriptors.First(); d; d = caDescriptors.Next(d)) {
|
||||
if (EsPid < 0 || d->EsPid() == EsPid) {
|
||||
const int *caids = CaSystemIds;
|
||||
do {
|
||||
if (*caids == 0xFFFF || d->CaSystem() == *caids) {
|
||||
- if (length + d->Length() <= BufSize) {
|
||||
+ if (length + d->Length() <= BufSize)
|
||||
memcpy(Data + length, d->Data(), d->Length());
|
||||
- length += d->Length();
|
||||
- }
|
||||
else
|
||||
- return -1;
|
||||
+ tooSmall = true;
|
||||
+ length += d->Length();
|
||||
}
|
||||
} while (*++caids);
|
||||
}
|
||||
}
|
||||
+ if (tooSmall) {
|
||||
+ dsyslog("DEBUG: buffer for ca-descriptors too small (%d, needed %d)", BufSize, length);
|
||||
+ return -length;
|
||||
+ }
|
||||
return length;
|
||||
}
|
||||
return -1;
|
||||
diff --git a/pat.h b/pat.h
|
||||
index 19e60dc..8bf0738 100644
|
||||
--- a/pat.h
|
||||
+++ b/pat.h
|
||||
@@ -45,7 +45,7 @@ int GetCaDescriptors(int Source, int Transponder, int ServiceId, const int *CaSy
|
||||
///< are copied that match one of the given CA system IDs (or all of them, if CaSystemIds
|
||||
///< is 0xFFFF).
|
||||
///< Returns the number of bytes copied into Data (0 if no CA descriptors are
|
||||
- ///< available), or -1 if BufSize was too small to hold all CA descriptors.
|
||||
+ ///< available), or -(NeededBufSize) if BufSize was too small to hold all CA descriptors.
|
||||
|
||||
int GetCaPids(int Source, int Transponder, int ServiceId, const int *CaSystemIds, int BufSize, int *Pids);
|
||||
///< Gets all CA pids for a given channel.
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
8.0.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)
|
||||
|
||||
8.0.102
|
||||
- automatically update driver to latest version on first install
|
||||
show driver version in addon settings
|
||||
|
||||
@@ -27,6 +27,7 @@ bulk_notification=on
|
||||
|
||||
#[U123456789012]
|
||||
#initial_dvb_mode=DVBT
|
||||
#ir_disabled=1
|
||||
|
||||
#[NETWORK]
|
||||
#device=192.168.1.1:0
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
PKG_NAME="sundtek-mediatv"
|
||||
PKG_VERSION="7.0"
|
||||
PKG_REV="102"
|
||||
PKG_REV="103"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://support.sundtek.com/"
|
||||
|
||||
@@ -136,7 +136,7 @@ if [ -z "$(pidof mediasrv)" ]; then
|
||||
|
||||
if [ "$USE_NET_TUNERS" = "true" -a -n "$DEVICE1_IP" ]; then
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^[^\[]|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
@@ -168,7 +168,7 @@ if [ -z "$(pidof mediasrv)" ]; then
|
||||
fi
|
||||
else
|
||||
# delete all network tuner entries
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^device=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
awk '/^\[NETWORK\]/{flag=1; next} /^[^\[]|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-net
|
||||
mv ${SUNDTEK_CONF_TMP}-net $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
@@ -197,26 +197,26 @@ if [ -z "$(pidof mediasrv)" ]; then
|
||||
[ ! -f $KEYMAP ] && KEYMAP=""
|
||||
|
||||
# remove setttings for this tuner
|
||||
awk -v val="[$SERIAL]" '$0 == val {flag=1; next} /^ir_protocol=|^rcmap=|^initial_dvb_mode=|^#|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-types
|
||||
awk -v val="[$SERIAL]" '$0 == val {flag=1; next} /^[^\[]|^$/{if (flag==1) next} /.*/{flag=0; print}' $SUNDTEK_CONF_TMP >${SUNDTEK_CONF_TMP}-types
|
||||
mv ${SUNDTEK_CONF_TMP}-types $SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
# remove empty lines at the end of file
|
||||
sed -i -e ':a' -e '/^\n*$/{$d;N;};/\n$/ba' $SUNDTEK_CONF_TMP
|
||||
|
||||
ADDNEW=true
|
||||
if [ -n "$DVBMODE" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "initial_dvb_mode=$DVBMODE" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$IRPROT" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "ir_protocol=$IRPROT" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
if [ -n "$KEYMAP" ]; then
|
||||
[ $ADDNEW = true ] && ADDNEW=false && echo -e "\n[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
echo "rcmap=$KEYMAP" >>$SUNDTEK_CONF_TMP
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
echo "[$SERIAL]" >>$SUNDTEK_CONF_TMP
|
||||
|
||||
[ -n "$DVBMODE" ] && echo "initial_dvb_mode=$DVBMODE" >>$SUNDTEK_CONF_TMP
|
||||
|
||||
if [ "$ENABLE_IR_RECEIVER" = "true" ]; then
|
||||
echo "ir_disabled=0" >>$SUNDTEK_CONF_TMP
|
||||
else
|
||||
echo "ir_disabled=1" >>$SUNDTEK_CONF_TMP
|
||||
fi
|
||||
|
||||
[ -n "$IRPROT" ] && echo "ir_protocol=$IRPROT" >>$SUNDTEK_CONF_TMP
|
||||
[ -n "$KEYMAP" ] && echo "rcmap=$KEYMAP" >>$SUNDTEK_CONF_TMP
|
||||
|
||||
echo "" >>$SUNDTEK_CONF_TMP
|
||||
done
|
||||
fi
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
8.0.102
|
||||
103
|
||||
- Update to 77b33a6
|
||||
|
||||
102
|
||||
- Build with Linux 4.7 RPi libraries
|
||||
|
||||
8.0.101
|
||||
101
|
||||
- Move settings to Kodi
|
||||
|
||||
8.0.100
|
||||
100
|
||||
- Initial addon
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dispmanx_vnc"
|
||||
PKG_VERSION="78e6673"
|
||||
PKG_REV="102"
|
||||
PKG_VERSION="77b33a6"
|
||||
PKG_REV="103"
|
||||
PKG_ARCH="arm"
|
||||
PKG_ADDON_PROJECTS="RPi RPi2"
|
||||
PKG_LICENSE="OSS"
|
||||
|
||||
@@ -1,48 +1,63 @@
|
||||
112
|
||||
116
|
||||
- Update to verson 3.2.27.0
|
||||
- Rename to Emby Server
|
||||
|
||||
115
|
||||
- Update to version 3.2.26.0
|
||||
|
||||
114
|
||||
- Update to version 3.2.17.0
|
||||
- Rebuild libx264, ffmpegx and imagemagick
|
||||
- Use ffmpgex by default
|
||||
|
||||
113:
|
||||
- Update to version 3.2.8
|
||||
- Rebuild x264 and ffmpegx
|
||||
|
||||
112:
|
||||
- Refer to libMagickWand-7
|
||||
|
||||
111
|
||||
111:
|
||||
- Updated to version 3.2.5
|
||||
- Rebuilt libx264, ffmpegx and imagemagick
|
||||
- Rebuild libx264, ffmpegx and imagemagick
|
||||
|
||||
110
|
||||
110:
|
||||
- Rebuild ffmpegx with libx264
|
||||
|
||||
109
|
||||
- Rebuilt ffmpgex and imagemagick
|
||||
109:
|
||||
- Rebuild ffmpgex and imagemagick
|
||||
|
||||
108
|
||||
- Updated to version 3.0.8500
|
||||
108:
|
||||
- Update to version 3.0.8500
|
||||
|
||||
107:
|
||||
- Update to version 3.0.8300
|
||||
- Rebuild ffmpegx
|
||||
|
||||
107
|
||||
- Updated to version 3.0.8300
|
||||
- Rebuilt ffmpegx
|
||||
106:
|
||||
- Updat to version 3.0.8100
|
||||
- Rebuild ffmpegx
|
||||
|
||||
106
|
||||
- Updated to version 3.0.8100
|
||||
- Rebuilt ffmpegx
|
||||
105:
|
||||
- Update to version 3.0.7100
|
||||
|
||||
105
|
||||
- Updated to version 3.0.7100
|
||||
104:
|
||||
- Update to version 3.0.6300
|
||||
- Rebuild ffmpegx
|
||||
|
||||
104
|
||||
- Updated to version 3.0.6300
|
||||
- Rebuilt ffmpegx
|
||||
|
||||
103
|
||||
- Updated to version 3.0.6070
|
||||
103:
|
||||
- Update to version 3.0.6070
|
||||
- Build for all architectures
|
||||
- Refer to libsqlite3.so.0 instead of libsqlite3.so
|
||||
|
||||
102
|
||||
- Updated to version 3.0.6030
|
||||
- Added dedicated ffmpeg and ffprobe
|
||||
- Removed unused shared libraries
|
||||
102:
|
||||
- Update to version 3.0.6030
|
||||
- Add dedicated ffmpeg and ffprobe
|
||||
- Remove unused shared libraries
|
||||
|
||||
101
|
||||
- Updated to version 3.0.5985
|
||||
101:
|
||||
- Update to version 3.0.5985
|
||||
- Removed mono build dependency
|
||||
|
||||
100
|
||||
100:
|
||||
- Initial release
|
||||
|
||||
@@ -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,19 +17,18 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="emby"
|
||||
PKG_VERSION="3.2.5"
|
||||
PKG_REV="112"
|
||||
PKG_ARCH="any"
|
||||
PKG_VERSION="3.2.27.0"
|
||||
PKG_REV="116"
|
||||
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_LONGDESC="Emby ($PKG_VERSION) brings your home videos, music, and photos together, automatically converting and streaming your media on-the-fly to any device"
|
||||
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"
|
||||
PKG_ADDON_NAME="Emby (beta)"
|
||||
PKG_ADDON_NAME="Emby Server"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_ADDON_REQUIRES="tools.mono:0.0.0"
|
||||
PKG_MAINTAINER="Anton Voyl (awiouy)"
|
||||
|
||||
@@ -23,7 +23,7 @@ oe_setup_addon service.emby
|
||||
chmod +x $ADDON_DIR/bin/*
|
||||
mkdir -p $ADDON_HOME
|
||||
|
||||
if [ "$emby_ffmpeg" = "true" ]
|
||||
if [ "$emby_ffmpeg" != "false" ]
|
||||
then
|
||||
emby_flags="-ffmpeg $ADDON_DIR/bin/ffmpegx -ffprobe $ADDON_DIR/bin/ffprobex"
|
||||
fi
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
<category label="30000">
|
||||
<setting label="30001" id="emby_ffmpeg" type="bool" default="false" />
|
||||
<setting label="30001" id="emby_ffmpeg" type="bool" default="true" />
|
||||
</category>
|
||||
</settings>
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
103
|
||||
- Update to 2.2
|
||||
|
||||
102
|
||||
- Upgrade to 2.1
|
||||
- Update to 2.1
|
||||
|
||||
101
|
||||
- Upgrade to 2.0
|
||||
- Update to 2.0
|
||||
|
||||
100
|
||||
- Initial addon
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="inadyn"
|
||||
PKG_VERSION="2.1"
|
||||
PKG_REV="102"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="103"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="http://troglobit.com/inadyn.html"
|
||||
PKG_URL="https://github.com/troglobit/inadyn/archive/v$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libconfuse libite libressl"
|
||||
PKG_DEPENDS_TARGET="toolchain libconfuse libressl"
|
||||
PKG_SECTION="service/system"
|
||||
PKG_SHORTDESC="Inadyn: a small and simple Dynamic Domain Name System client"
|
||||
PKG_LONGDESC="Inadyn ($PKG_VERSION) is a small and simple Dynamic Domain Name System (DDNS) client with HTTPS support. It is commonly available in many GNU/Linux distributions, used in off-the-shelf routers and Internet gateways to automate the task of keeping your DNS record up to date with any IP address changes from your ISP. It can also be used in installations with redundant (backup) connections to the Internet."
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
104:
|
||||
- Update to 466edd3
|
||||
|
||||
103:
|
||||
- Update to 0.5.8
|
||||
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="lcdd"
|
||||
PKG_VERSION="0.5.8"
|
||||
PKG_REV="103"
|
||||
PKG_VERSION="466edd3"
|
||||
PKG_REV="104"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://lcdproc.org/"
|
||||
PKG_URL="https://github.com/lcdproc/lcdproc/archive/lcdproc-$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="lcdproc-lcdproc-$PKG_VERSION*"
|
||||
PKG_URL="https://github.com/lcdproc/lcdproc/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="lcdproc-$PKG_VERSION*"
|
||||
PKG_DEPENDS_TARGET="toolchain freetype libftdi1 libhid libugpio libusb netbsd-curses serdisplib"
|
||||
PKG_SECTION="service"
|
||||
PKG_SHORTDESC="LCDproc: Software to display system information from your Linux/*BSD box on a LCD"
|
||||
|
||||
@@ -59,13 +59,13 @@ index f82df85..0d98570 100644
|
||||
|
||||
futaba_CFLAGS = @LIBUSB_CFLAGS@ @LIBUSB_1_0_CFLAGS@ $(AM_CFLAGS)
|
||||
@@ -89,6 +89,7 @@ CFontzPacket_SOURCES = lcd.h lcd_lib.h CFontzPacket.c CFontzPacket.h CFontz-char
|
||||
curses_SOURCES = lcd.h curses_drv.h curses_drv.c report.h
|
||||
CwLnx_SOURCES = lcd.h lcd_lib.h CwLnx.c CwLnx.h report.h
|
||||
debug_SOURCES = lcd.h report.h debug.c debug.h
|
||||
curses_SOURCES = lcd.h curses_drv.h curses_drv.c
|
||||
CwLnx_SOURCES = lcd.h lcd_lib.h CwLnx.c CwLnx.h
|
||||
debug_SOURCES = lcd.h debug.c debug.h
|
||||
+dm140_SOURCES = lcd.h led.c libvfd.h led.h dm140.c dm140.h report.h
|
||||
ea65_SOURCES = lcd.h ea65.h ea65.c report.h
|
||||
EyeboxOne_SOURCES = lcd.h lcd_lib.h EyeboxOne.c EyeboxOne.h report.h
|
||||
futaba_SOURCES = lcd.h futaba.c futaba.h report.h
|
||||
ea65_SOURCES = lcd.h ea65.h ea65.c
|
||||
EyeboxOne_SOURCES = lcd.h lcd_lib.h EyeboxOne.c EyeboxOne.h
|
||||
futaba_SOURCES = lcd.h futaba.c futaba.h
|
||||
diff --git a/server/drivers/dm140.c b/server/drivers/dm140.c
|
||||
new file mode 100644
|
||||
index 0000000..56f9219
|
||||
@@ -92,7 +92,7 @@ index 0000000..56f9219
|
||||
+#include "lcd.h"
|
||||
+#include "dm140.h"
|
||||
+
|
||||
+#include "report.h"
|
||||
+#include "shared/report.h"
|
||||
+#include "lcd_lib.h"
|
||||
+#include "libvfd.h"
|
||||
+#include "led.h"
|
||||
@@ -392,7 +392,7 @@ index 0000000..0bb565c
|
||||
+#include <string.h>
|
||||
+#include "lcd.h"
|
||||
+#include "libvfd.h"
|
||||
+#include "report.h"
|
||||
+#include "shared/report.h"
|
||||
+#include "dm140.h"
|
||||
+
|
||||
+
|
||||
|
||||
@@ -1,16 +1,3 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7c053d2..dcb0c4d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -314,7 +314,7 @@ AC_MSG_RESULT($enable_libftdi)
|
||||
|
||||
if test "$enable_libftdi" = "yes"; then
|
||||
ifdef([PKG_CHECK_MODULES],
|
||||
- [PKG_CHECK_MODULES(LIBFTDI, libftdi >= 0.8,
|
||||
+ [PKG_CHECK_MODULES(LIBFTDI, libftdi1 >= 0.8,
|
||||
[AC_DEFINE(HAVE_LIBFTDI, [1], [Define to 1 if you have libftdi])],
|
||||
[ enable_libftdi=no ])],
|
||||
[AC_MSG_WARN([pkg-config not (fully) installed; drivers requiring libftdi may not be built])])
|
||||
diff --git a/server/drivers/hd44780-low.h b/server/drivers/hd44780-low.h
|
||||
index 47acf45..6faa830 100644
|
||||
--- a/server/drivers/hd44780-low.h
|
||||
@@ -42,9 +29,9 @@ index 5d3e97a..6c26a19 100644
|
||||
--- a/server/drivers/lis.c
|
||||
+++ b/server/drivers/lis.c
|
||||
@@ -42,7 +42,7 @@
|
||||
#include <errno.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include <usb.h>
|
||||
-#include <ftdi.h>
|
||||
+#include <libftdi1/ftdi.h>
|
||||
|
||||
@@ -55,9 +42,9 @@ index cbdde40..a84eb49 100644
|
||||
--- a/server/drivers/ula200.c
|
||||
+++ b/server/drivers/ula200.c
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <usb.h>
|
||||
-#include <ftdi.h>
|
||||
+#include <libftdi1/ftdi.h>
|
||||
|
||||
|
||||
25
packages/addons/service/librespot/changelog.txt
Normal file
25
packages/addons/service/librespot/changelog.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
107
|
||||
- Update to ddfc28f
|
||||
|
||||
106
|
||||
- Rework code
|
||||
- Display artist and title on track load
|
||||
|
||||
105
|
||||
- Update to 910974e
|
||||
|
||||
104
|
||||
- Switch from ffmpegx to pulseaudio to stream to Kodi
|
||||
- Wait for sound.target
|
||||
|
||||
103
|
||||
- Update system_information_string
|
||||
|
||||
102
|
||||
- Update to aa86ebf
|
||||
|
||||
101
|
||||
- Enable streaming to Kodi
|
||||
|
||||
100
|
||||
- Initial addon
|
||||
BIN
packages/addons/service/librespot/icon/icon.png
Normal file
BIN
packages/addons/service/librespot/icon/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
67
packages/addons/service/librespot/package.mk
Normal file
67
packages/addons/service/librespot/package.mk
Normal file
@@ -0,0 +1,67 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2017-present Team LibreELEC
|
||||
# Copyright (C) 2017 Shane Meagher (shanemeagher)
|
||||
#
|
||||
# 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="librespot"
|
||||
PKG_VERSION="ddfc28f"
|
||||
PKG_REV="107"
|
||||
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_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."
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_NAME="Librespot"
|
||||
PKG_ADDON_TYPE="xbmc.service.library"
|
||||
PKG_MAINTAINER="Anton Voyl (awiouy)"
|
||||
|
||||
configure_target() {
|
||||
. "$ROOT/$TOOLCHAIN/.cargo/env"
|
||||
export PKG_CONFIG_ALLOW_CROSS=0
|
||||
strip_lto
|
||||
}
|
||||
|
||||
make_target() {
|
||||
cd src
|
||||
$CARGO_BUILD --no-default-features --features "alsa-backend pulseaudio-backend"
|
||||
cd "$ROOT/$PKG_BUILD/.$TARGET_NAME"/*/release
|
||||
$STRIP librespot
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
|
||||
addon() {
|
||||
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID"
|
||||
cp "$(get_build_dir pyalsaaudio)/.install_pkg/usr/lib/python2.7/site-packages/alsaaudio.so" \
|
||||
"$ADDON_BUILD/$PKG_ADDON_ID"
|
||||
|
||||
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/bin"
|
||||
cp "$PKG_BUILD/.$TARGET_NAME"/*/release/librespot \
|
||||
"$ADDON_BUILD/$PKG_ADDON_ID/bin"
|
||||
|
||||
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/lib"
|
||||
cp "$(get_build_dir avahi)/avahi-compat-libdns_sd/.libs/libdns_sd.so.1" \
|
||||
"$ADDON_BUILD/$PKG_ADDON_ID/lib"
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
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;
|
||||
@@ -0,0 +1,110 @@
|
||||
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};
|
||||
use audio::{VorbisDecoder, VorbisPacket};
|
||||
-use metadata::{FileFormat, Track, Metadata};
|
||||
+use metadata::{Artist, FileFormat, Track, Metadata};
|
||||
use mixer::AudioFilter;
|
||||
|
||||
#[derive(Clone)]
|
||||
@@ -215,7 +216,7 @@ impl PlayerInternal {
|
||||
|
||||
None => {
|
||||
self.sink.stop().unwrap();
|
||||
- self.run_onstop();
|
||||
+ info!("onstop 1");
|
||||
|
||||
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) => {
|
||||
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");
|
||||
}
|
||||
|
||||
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");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -279,7 +286,7 @@ impl PlayerInternal {
|
||||
if let PlayerState::Paused { .. } = self.state {
|
||||
self.state.paused_to_playing();
|
||||
|
||||
- self.run_onstart();
|
||||
+ info!("onstart 2");
|
||||
self.sink.start().unwrap();
|
||||
} else {
|
||||
warn!("Player::play called from invalid state");
|
||||
@@ -291,17 +298,19 @@ impl PlayerInternal {
|
||||
self.state.playing_to_paused();
|
||||
|
||||
self.sink.stop().unwrap();
|
||||
- self.run_onstop();
|
||||
+ info!("onstop 4");
|
||||
} 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 { .. } => {
|
||||
@@ -0,0 +1,28 @@
|
||||
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();
|
||||
|
||||
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
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016-2017 Team LibreELEC
|
||||
# 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
|
||||
@@ -16,13 +16,24 @@
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libite"
|
||||
PKG_VERSION="1.8.3"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="https://github.com/troglobit/libite"
|
||||
PKG_URL="https://github.com/troglobit/libite/archive/v$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="That missing frog DNA you've been looking for"
|
||||
PKG_AUTORECONF="yes"
|
||||
import alsaaudio as alsa
|
||||
import xbmcaddon
|
||||
import xbmcgui
|
||||
|
||||
|
||||
dialog = xbmcgui.Dialog()
|
||||
strings = xbmcaddon.Addon().getLocalizedString
|
||||
while True:
|
||||
pcms = alsa.pcms()[1:]
|
||||
if len(pcms) == 0:
|
||||
dialog.ok(xbmcaddon.Addon().getAddonInfo('name'), strings(30210))
|
||||
break
|
||||
pcmx = dialog.select(strings(30112), pcms)
|
||||
if pcmx == -1:
|
||||
break
|
||||
pcm = pcms[pcmx]
|
||||
xbmcaddon.Addon().setSetting('ls_o', pcm)
|
||||
break
|
||||
del dialog
|
||||
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
|
||||
@@ -0,0 +1,2 @@
|
||||
LS_PORT="6666"
|
||||
LS_SINK="librespot_sink"
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
echo -e "play\n$LS_ARTIST\n$LS_TITLE" > "$LS_FIFO"
|
||||
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
echo -e "stop" > "$LS_FIFO"
|
||||
124
packages/addons/service/librespot/source/bin/librespot.start
Executable file
124
packages/addons/service/librespot/source/bin/librespot.start
Executable file
@@ -0,0 +1,124 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
activate_card() {
|
||||
if [ -e "/proc/asound/$1" ]; then
|
||||
return
|
||||
fi
|
||||
case "$LIBREELEC_ARCH" in
|
||||
RPi*.arm)
|
||||
if [ "$1" = "ALSA" ]; then
|
||||
dtparam audio=on
|
||||
sleep 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Unable to activate card $1 on $LIBREELEC_ARCH"
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
init_alsa() {
|
||||
. /etc/os-release
|
||||
|
||||
if [ ! "$(cat /proc/asound/pcm 2> /dev/null)" ]; then
|
||||
case "$LIBREELEC_ARCH" in
|
||||
RPi*.arm)
|
||||
activate_card "ALSA"
|
||||
;;
|
||||
*)
|
||||
echo "Unable to activate an audio interface on $LIBREELEC_ARCH"
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
case "$ls_o" in
|
||||
*:CARD=*)
|
||||
card="${ls_o##*:CARD=}"
|
||||
card="${card%%,*}"
|
||||
activate_card "$card"
|
||||
index="$(readlink /proc/asound/$card)"
|
||||
index="${index##*card}"
|
||||
;;
|
||||
hw:*,*)
|
||||
echo "The hw:d,s specification is unreliable, use device:CARD=card instead"
|
||||
index="${ls_o##hw:}"
|
||||
index="${index%%,*}"
|
||||
card="card$index"
|
||||
activate_card "$card"
|
||||
;;
|
||||
*)
|
||||
if [ -n "$ls_o" ]; then
|
||||
echo "Unknown playback device specification $ls_o"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$LIBREELEC_ARCH" in
|
||||
RPi*.arm)
|
||||
[ "$(readlink /proc/asound/ALSA)" == "card$index" ] && [ "$pcm_3" ] &&
|
||||
amixer -c "$index" cset name="PCM Playback Route" "$pcm_3"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
. /etc/profile
|
||||
oe_setup_addon service.librespot
|
||||
|
||||
LIBRESPOT="librespot --cache \"$ADDON_HOME/cache\" \
|
||||
--disable-audio-cache \
|
||||
--name \"Librespot@$HOSTNAME\" \
|
||||
--onstart librespot.onstart \
|
||||
--onstop librespot.onstop"
|
||||
|
||||
if [ -n "$ls_b" -a "$ls_b" != "-" ]; then
|
||||
LIBRESPOT="$LIBRESPOT --bitrate $ls_b"
|
||||
fi
|
||||
|
||||
if [ -n "$ls_p" -a -n "$ls_u" ]; then
|
||||
LIBRESPOT="$LIBRESPOT --disable-discovery \
|
||||
--password \"$ls_p\" \
|
||||
--username \"$ls_u\""
|
||||
fi
|
||||
|
||||
if [ "$ls_O" == "Kodi" ]; then
|
||||
LIBRESPOT="$LIBRESPOT --backend pulseaudio --device-type TV"
|
||||
else
|
||||
init_alsa
|
||||
if [ -n "$ls_o" ]; then
|
||||
LIBRESPOT="$LIBRESPOT --device \"$ls_o\""
|
||||
fi
|
||||
LIBRESPOT="$LIBRESPOT --device-type Speaker"
|
||||
fi
|
||||
|
||||
if [ -z "$(pactl list short modules | grep sink_name=$LS_SINK)" ]; then
|
||||
pactl load-module module-null-sink sink_name="$LS_SINK" > /dev/null
|
||||
fi
|
||||
pactl suspend-sink "$LS_SINK" 1
|
||||
if [ -z "$(pactl list short modules | grep source=$LS_SINK.monitor)" ]; then
|
||||
pactl load-module module-rtp-send source="$LS_SINK.monitor" \
|
||||
destination_ip=127.0.0.1 port="$LS_PORT" source_ip=127.0.0.1 > /dev/null
|
||||
fi
|
||||
|
||||
export LS_FIFO="$ADDON_DIR/rc"
|
||||
|
||||
eval $LIBRESPOT
|
||||
132
packages/addons/service/librespot/source/default.py
Normal file
132
packages/addons/service/librespot/source/default.py
Normal file
@@ -0,0 +1,132 @@
|
||||
################################################################################
|
||||
# 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 os
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
import threading
|
||||
import xbmc
|
||||
import xbmcaddon
|
||||
import xbmcgui
|
||||
|
||||
PORT = '6666'
|
||||
SINK = 'librespot_sink'
|
||||
|
||||
|
||||
def suspendSink(bit):
|
||||
subprocess.call(['pactl', 'suspend-sink', SINK, bit])
|
||||
|
||||
def systemctl(command):
|
||||
subprocess.call(['systemctl', command, xbmcaddon.Addon().getAddonInfo('id')])
|
||||
|
||||
|
||||
class Controller(threading.Thread):
|
||||
|
||||
FIFO = os.path.join(xbmcaddon.Addon().getAddonInfo('path'), 'rc')
|
||||
|
||||
def __init__(self, player):
|
||||
super(Controller, self).__init__()
|
||||
self.player = player
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
os.unlink(self.FIFO)
|
||||
except OSError:
|
||||
pass
|
||||
os.mkfifo(self.FIFO)
|
||||
while os.path.exists(self.FIFO) and stat.S_ISFIFO(os.stat(self.FIFO).st_mode):
|
||||
with open(self.FIFO, 'r') as fifo:
|
||||
command = fifo.read().splitlines()
|
||||
if len(command) == 0:
|
||||
break
|
||||
elif command[0] == 'play' and len(command) == 3:
|
||||
dialog = xbmcgui.Dialog()
|
||||
dialog.notification(command[1],
|
||||
command[2],
|
||||
icon=xbmcaddon.Addon().getAddonInfo('icon'),
|
||||
sound=False)
|
||||
del dialog
|
||||
self.player.play()
|
||||
elif command[0] == 'stop':
|
||||
self.player.stop()
|
||||
|
||||
def stop(self):
|
||||
try:
|
||||
os.unlink(self.FIFO)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
|
||||
class Player(xbmc.Player):
|
||||
|
||||
ITEM = 'rtp://127.0.0.1:{port}'.format(port=PORT)
|
||||
|
||||
def __init__(self):
|
||||
super(Player, self).__init__(self)
|
||||
self.window = xbmcgui.Window(12006)
|
||||
if self.isPlaying():
|
||||
self.onPlayBackStarted()
|
||||
|
||||
def onPlayBackEnded(self):
|
||||
suspendSink('1')
|
||||
xbmc.sleep(1000)
|
||||
if not self.isPlaying():
|
||||
systemctl('restart')
|
||||
|
||||
def onPlayBackStarted(self):
|
||||
if self.getPlayingFile() != self.ITEM:
|
||||
suspendSink('1')
|
||||
systemctl('stop')
|
||||
|
||||
def onPlayBackStopped(self):
|
||||
systemctl('restart')
|
||||
|
||||
def play(self):
|
||||
if not self.isPlaying() and xbmcaddon.Addon().getSetting('ls_O') == 'Kodi':
|
||||
suspendSink('0')
|
||||
listitem = xbmcgui.ListItem(xbmcaddon.Addon().getAddonInfo('name'))
|
||||
listitem.setArt({'thumb': xbmcaddon.Addon().getAddonInfo('icon')})
|
||||
super(Player, self).play(self.ITEM, listitem)
|
||||
del listitem
|
||||
self.window.show()
|
||||
|
||||
def stop(self):
|
||||
suspendSink('1')
|
||||
if self.isPlaying() and self.getPlayingFile() == self.ITEM:
|
||||
super(Player, self).stop()
|
||||
else:
|
||||
systemctl('restart')
|
||||
|
||||
|
||||
class Monitor(xbmc.Monitor):
|
||||
|
||||
def __init__(self, player):
|
||||
super(Monitor, self).__init__(self)
|
||||
self.player = player
|
||||
|
||||
def onSettingsChanged(self):
|
||||
self.player.stop()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
player = Player()
|
||||
controller = Controller(player)
|
||||
controller.start()
|
||||
Monitor(player).waitForAbort()
|
||||
controller.stop()
|
||||
@@ -0,0 +1,76 @@
|
||||
# Kodi Media Center language file
|
||||
# Addon Name: librespot
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30100"
|
||||
msgid "Librespot"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30101"
|
||||
msgid "Bit rate"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30102"
|
||||
msgid "-"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30103"
|
||||
msgid "96"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30104"
|
||||
msgid "160"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30105"
|
||||
msgid "320"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30106"
|
||||
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 "#30111"
|
||||
msgid "Configuration wizard"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30112"
|
||||
msgid "Playback device"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30113"
|
||||
msgid "Playback route"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30114"
|
||||
msgid "auto detect"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30115"
|
||||
msgid "headphone jack"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30116"
|
||||
msgid "HDMI"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30210"
|
||||
msgid "Could not find a playback device"
|
||||
msgstr ""
|
||||
@@ -0,0 +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,)" />
|
||||
</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>
|
||||
</settings>
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=librespot
|
||||
After=kodi.service network-online.target sound.target
|
||||
Requires=kodi.service network-online.target sound.target
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=/storage/.kodi/addons/service.librespot/bin/librespot.env
|
||||
ExecStart=/bin/sh /storage/.kodi/addons/service.librespot/bin/librespot.start
|
||||
ExecStopPost=/usr/bin/pactl suspend-sink "$LS_SINK" 1
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.target
|
||||
5
packages/addons/service/locale/changelog.txt
Normal file
5
packages/addons/service/locale/changelog.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
101:
|
||||
- Fix dialog message
|
||||
|
||||
100:
|
||||
- Initial add-on
|
||||
BIN
packages/addons/service/locale/icon/icon.png
Normal file
BIN
packages/addons/service/locale/icon/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
61
packages/addons/service/locale/package.mk
Normal file
61
packages/addons/service/locale/package.mk
Normal file
@@ -0,0 +1,61 @@
|
||||
################################################################################
|
||||
# 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="locale"
|
||||
PKG_REV="101"
|
||||
PKG_ARCH="any"
|
||||
PKG_DEPENDS_TARGET="toolchain glibc"
|
||||
PKG_SECTION="service"
|
||||
PKG_SHORTDESC="Locale: allows users to set a custom locale to override the POSIX default"
|
||||
PKG_LONGDESC="Locale ($PKG_REV) allows users to set a custom locale in the OS to override the POSIX default"
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_NAME="Locale"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
|
||||
make_target() {
|
||||
: # nothing to do
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
: # nothing to do
|
||||
}
|
||||
|
||||
addon() {
|
||||
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/i18n"
|
||||
cp -PR "$(get_build_dir glibc)/localedata/charmaps" \
|
||||
"$(get_build_dir glibc)/localedata/locales" \
|
||||
"$ADDON_BUILD/$PKG_ADDON_ID/i18n"
|
||||
|
||||
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/locpath"
|
||||
|
||||
cp -PR $PKG_DIR/resources $ADDON_BUILD/$PKG_ADDON_ID
|
||||
|
||||
locales=""
|
||||
for p in "$ADDON_BUILD/$PKG_ADDON_ID/i18n/locales"/*; do
|
||||
l="$(basename $p)"
|
||||
if [ "$l" = "POSIX" ]; then
|
||||
continue
|
||||
fi
|
||||
locales="$locales|$l"
|
||||
done
|
||||
locales="${locales:1}"
|
||||
|
||||
sed -e "s/@LOCALES@/$locales/" \
|
||||
-i $ADDON_BUILD/$PKG_ADDON_ID/resources/settings.xml
|
||||
}
|
||||
7
packages/addons/service/locale/resources/settings.xml
Normal file
7
packages/addons/service/locale/resources/settings.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
<category label="30000">
|
||||
<setting label="30001" id="charmap" type="select" default="UTF-8" values="UTF-8" enable="false" />
|
||||
<setting label="30002" id="locale" type="select" default="en_GB" values="@LOCALES@" />
|
||||
</category>
|
||||
</settings>
|
||||
74
packages/addons/service/locale/source/default.py
Normal file
74
packages/addons/service/locale/source/default.py
Normal file
@@ -0,0 +1,74 @@
|
||||
################################################################################
|
||||
# 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 os
|
||||
import subprocess
|
||||
import xbmc
|
||||
import xbmcaddon
|
||||
import xbmcgui
|
||||
|
||||
|
||||
class Monitor(xbmc.Monitor):
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
xbmc.Monitor.__init__(self)
|
||||
self.setLocale()
|
||||
|
||||
def onSettingsChanged(self):
|
||||
self.setLocale()
|
||||
|
||||
def setLocale(self):
|
||||
addon = xbmcaddon.Addon()
|
||||
|
||||
charmap = addon.getSetting('charmap')
|
||||
locale = addon.getSetting('locale')
|
||||
lang = locale + '.' + charmap
|
||||
|
||||
path = addon.getAddonInfo('path')
|
||||
i18npath = os.path.join(path, 'i18n')
|
||||
locpath = os.path.join(path, 'locpath')
|
||||
localepath = os.path.join(locpath, lang)
|
||||
profiled = os.path.join(path, 'profile.d')
|
||||
profile = os.path.join(profiled, '10-locale.profile')
|
||||
|
||||
strings = addon.getLocalizedString
|
||||
|
||||
if os.path.isdir(locpath) == False:
|
||||
os.makedirs(locpath)
|
||||
|
||||
if os.path.isdir(localepath) == False:
|
||||
os.environ['I18NPATH'] = i18npath
|
||||
subprocess.call(['localedef', '-f', charmap, '-i', locale, localepath])
|
||||
|
||||
if os.path.isdir(profiled) == False:
|
||||
os.makedirs(profiled)
|
||||
|
||||
file = open(profile, 'w')
|
||||
file.write('export LANG="' + lang + '"\n')
|
||||
file.write('export LOCPATH="' + locpath + '"\n')
|
||||
file.close()
|
||||
|
||||
current = os.environ.get('LANG', '')
|
||||
if lang != current:
|
||||
if xbmcgui.Dialog().yesno('Locale', strings(30003).format(lang)
|
||||
) == True:
|
||||
xbmc.restart()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
Monitor().waitForAbort()
|
||||
@@ -0,0 +1,19 @@
|
||||
# Kodi Media Center language file
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30000"
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30001"
|
||||
msgid "Charmap"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30002"
|
||||
msgid "Locale"
|
||||
msgstr ""
|
||||
|
||||
msgctxt "#30003"
|
||||
msgid "Locale changed to {}. Please reboot to apply globally."
|
||||
msgstr ""
|
||||
@@ -0,0 +1,4 @@
|
||||
<settings>
|
||||
<setting id="charmap" value="UTF-8" />
|
||||
<setting id="locale" value="en_GB" />
|
||||
</settings>
|
||||
@@ -1,3 +1,6 @@
|
||||
101
|
||||
- make addon configurable
|
||||
|
||||
100
|
||||
- Initial addon
|
||||
- net-snmp 5.7.3
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
|
||||
PKG_NAME="net-snmp"
|
||||
PKG_VERSION="5.7.3"
|
||||
PKG_REV="100"
|
||||
PKG_REV="101"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="http://www.net-snmp.org"
|
||||
PKG_URL="http://sourceforge.net/projects/net-snmp/files/$PKG_NAME/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_DEPENDS_TARGET="toolchain libnl"
|
||||
PKG_SECTION="service"
|
||||
PKG_SHORTDESC="Simple Network Management Protocol utilities."
|
||||
PKG_LONGDESC="Simple Network Management Protocol (SNMP) is a widely used protocol for monitoring the health and welfare of network equipment."
|
||||
@@ -39,14 +39,22 @@ PKG_CONFIGURE_OPTS_TARGET="--with-defaults \
|
||||
--disable-debugging \
|
||||
--disable-deprecated \
|
||||
--disable-snmptrapd-subagent \
|
||||
--disable-perl-cc-checks \
|
||||
--with-perl-modules=no \
|
||||
--enable-mini-agent \
|
||||
--disable-scripts \
|
||||
--enable-static=no \
|
||||
--enable-shared=yes \
|
||||
--with-logfile=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID}/ \
|
||||
--with-persistent-directory=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID}/ \
|
||||
--disable-embedded-perl"
|
||||
--enable-mini-agent \
|
||||
--with-nl \
|
||||
--with-logfile=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID} \
|
||||
--with-persistent-directory=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID} \
|
||||
--sysconfdir=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID} \
|
||||
--prefix=/storage/.kodi/addons/${PKG_ADDON_ID} \
|
||||
--exec-prefix=/storage/.kodi/addons/${PKG_ADDON_ID} \
|
||||
--datarootdir=/storage/.kodi/userdata/addon_data/${PKG_ADDON_ID}/share \
|
||||
--bindir=/storage/.kodi/addons/${PKG_ADDON_ID}/bin \
|
||||
--sbindir=/storage/.kodi/addons/${PKG_ADDON_ID}/bin \
|
||||
--libdir=/storage/.kodi/addons/${PKG_ADDON_ID}/lib \
|
||||
--disable-embedded-perl \
|
||||
--with-sysroot=$SYSROOT_PREFIX"
|
||||
|
||||
make_target() {
|
||||
make
|
||||
@@ -57,12 +65,11 @@ makeinstall_target() {
|
||||
}
|
||||
|
||||
addon() {
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
|
||||
mv $PKG_BUILD/.$TARGET_NAME/usr/sbin/snmpd $PKG_BUILD/.$TARGET_NAME/usr/bin/snmpd
|
||||
rm -rf $PKG_BUILD/.$TARGET_NAME/usr/sbin/
|
||||
rm -rf $PKG_BUILD/.$TARGET_NAME/usr/include/
|
||||
cp -r $PKG_BUILD/.$TARGET_NAME/usr/* $ADDON_BUILD/$PKG_ADDON_ID/
|
||||
$STRIP $ADDON_BUILD/$PKG_ADDON_ID/lib/*.so
|
||||
$STRIP $ADDON_BUILD/$PKG_ADDON_ID/bin/snmpd
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/snmplib/read_config.c 2014-12-08 14:23:22.000000000 -0600
|
||||
+++ b/snmplib/read_config.c 2017-03-30 12:21:16.351042803 -0500
|
||||
@@ -1618,7 +1618,7 @@
|
||||
* save a warning header to the top of the new file
|
||||
*/
|
||||
snprintf(fileold, sizeof(fileold),
|
||||
- "%s%s# Please save normal configuration tokens for %s in SNMPCONFPATH/%s.conf.\n# Only \"createUser\" tokens should be placed here by %s administrators.\n%s",
|
||||
+ "%s%s# Please save normal configuration tokens for %s in /storage/.kodi/userdata/addon_data/service.net-snmp/share/snmp/%s.conf.\n# Only \"createUser\" tokens should be placed here by %s administrators.\n%s",
|
||||
"#\n# net-snmp (or ucd-snmp) persistent data file.\n#\n############################################################################\n# STOP STOP STOP STOP STOP STOP STOP STOP STOP \n",
|
||||
"#\n# **** DO NOT EDIT THIS FILE ****\n#\n# STOP STOP STOP STOP STOP STOP STOP STOP STOP \n############################################################################\n#\n# DO NOT STORE CONFIGURATION ENTRIES HERE.\n",
|
||||
type, type, type,
|
||||
@@ -0,0 +1,15 @@
|
||||
--- a/net-snmp-create-v3-user.in 2014-12-08 14:23:22.000000000 -0600
|
||||
+++ b/net-snmp-create-v3-user.in 2017-03-30 13:20:56.336794994 -0500
|
||||
@@ -28,10 +28,8 @@
|
||||
NSC_SRCDIR="NET-SNMP-SOURCE-DIR"
|
||||
fi
|
||||
|
||||
-if @PSCMD@ | egrep ' snmpd *$' > /dev/null 2>&1 ; then
|
||||
- echo "Apparently at least one snmpd demon is already running."
|
||||
- echo "You must stop them in order to use this command."
|
||||
- exit 1
|
||||
+if @PSCMD@ | egrep 'snmpd'> /dev/null 2>&1 ; then
|
||||
+ systemctl stop service.net-snmp.service
|
||||
fi
|
||||
|
||||
Aalgorithm="MD5"
|
||||
@@ -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 -LS0-6d -c $ADDON_DIR/snmpd.conf -M /storage/.kodi/addons/service.net-snmp/share/snmp/mibs -p /var/run/snmpd.pid
|
||||
$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
|
||||
|
||||
@@ -15,3 +15,63 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
import xbmc
|
||||
import xbmcvfs
|
||||
import xbmcaddon
|
||||
from os import system
|
||||
|
||||
|
||||
class MyMonitor(xbmc.Monitor):
|
||||
def __init__(self, *args, **kwargs):
|
||||
xbmc.Monitor.__init__(self)
|
||||
|
||||
def onSettingsChanged(self):
|
||||
writeconfig()
|
||||
|
||||
|
||||
# addon
|
||||
__addon__ = xbmcaddon.Addon(id='service.net-snmp')
|
||||
__addonpath__ = xbmc.translatePath(__addon__.getAddonInfo('path'))
|
||||
__addonhome__ = xbmc.translatePath(__addon__.getAddonInfo('profile'))
|
||||
if not xbmcvfs.exists(xbmc.translatePath(__addonhome__ + 'share/snmp/')):
|
||||
xbmcvfs.mkdirs(xbmc.translatePath(__addonhome__ + 'share/snmp/'))
|
||||
config = xbmc.translatePath(__addonhome__ + 'share/snmp/snmpd.conf')
|
||||
persistent = xbmc.translatePath(__addonhome__ + 'snmpd.conf')
|
||||
|
||||
|
||||
def writeconfig():
|
||||
system("systemctl stop service.net-snmp.service")
|
||||
community = __addon__.getSetting("COMMUNITY")
|
||||
location = __addon__.getSetting("LOCATION")
|
||||
contact = __addon__.getSetting("CONTACT")
|
||||
snmpversion = __addon__.getSetting("SNMPVERSION")
|
||||
|
||||
if xbmcvfs.exists(persistent):
|
||||
xbmcvfs.delete(persistent)
|
||||
|
||||
file = xbmcvfs.File(config, 'w')
|
||||
file.write('com2sec local default {}\n'.format(community))
|
||||
file.write('group localgroup {} local\n'.format(snmpversion))
|
||||
file.write('access localgroup "" any noauth exact all all none\n')
|
||||
file.write('view all included .1 80\n')
|
||||
file.write('syslocation {}\n'.format(location))
|
||||
file.write('syscontact {}\n'.format(contact))
|
||||
file.write('dontLogTCPWrappersConnects yes\n')
|
||||
file.close()
|
||||
|
||||
if snmpversion == "v3":
|
||||
snmppassword = __addon__.getSetting("SNMPPASSWORD")
|
||||
snmpuser = __addon__.getSetting("SNMPUSER")
|
||||
system("net-snmp-config --create-snmpv3-user -a {0} {1}".format(snmppassword,snmpuser))
|
||||
|
||||
system("systemctl start service.net-snmp.service")
|
||||
|
||||
|
||||
if not xbmcvfs.exists(config):
|
||||
writeconfig()
|
||||
|
||||
monitor = MyMonitor()
|
||||
while not monitor.abortRequested():
|
||||
if monitor.waitForAbort():
|
||||
break
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
<!-- net-snmp -->
|
||||
<string id="32000">General</string>
|
||||
<string id="32001">Community</string>
|
||||
<string id="32002">Location</string>
|
||||
<string id="32003">Contact</string>
|
||||
<string id="32004">SNMP Version</string>
|
||||
<string id="32005">SNMP User</string>
|
||||
<string id="32006">SNMP Password</string>
|
||||
</strings>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
<!-- net-snmp -->
|
||||
<category label="32000">
|
||||
<setting label="32001" id="COMMUNITY" type="text" default="libreelec"/>
|
||||
<setting label="32002" id="LOCATION" type="text" default="HOME"/>
|
||||
<setting label="32003" id="CONTACT" type="text" default="root@localhost"/>
|
||||
<setting label="32004" id="SNMPVERSION" type="labelenum" values="v1|v2c|v3" default="v2c"/>
|
||||
<setting label="32005" id="SNMPUSER" type="text" default="user"/>
|
||||
<setting label="32006" id="SNMPPASSWORD" type="text" default="password"/>
|
||||
</category>
|
||||
</settings>
|
||||
@@ -1,10 +0,0 @@
|
||||
com2sec local default libreelec
|
||||
group localgroup v2c local
|
||||
access localgroup "" any noauth exact all all none
|
||||
|
||||
view all included .1 80
|
||||
|
||||
syslocation HOME
|
||||
syscontact root@libreelec
|
||||
|
||||
dontLogTCPWrappersConnects yes
|
||||
@@ -4,9 +4,11 @@ After=network-online.target
|
||||
Requires=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
Type=notification
|
||||
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.net-snmp/bin/snmpd.start"
|
||||
ExecStop=/bin/sh -c "exec sh /storage/.kodi/addons/service.net-snmp/bin/snmpd.stop"
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
PIDFile=/var/run/snmpd.pid
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.target
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
8.0.103
|
||||
104
|
||||
- Update to version 0.14.29
|
||||
|
||||
103
|
||||
- Update to version 0.14.3
|
||||
|
||||
8.0.102
|
||||
102
|
||||
- Enable automatic upgrades
|
||||
|
||||
8.0.101
|
||||
101
|
||||
- Update to version 0.12.24
|
||||
|
||||
8.0.100
|
||||
100
|
||||
- Initial addon
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="syncthing"
|
||||
PKG_VERSION="0.14.3"
|
||||
PKG_REV="103"
|
||||
PKG_VERSION="0.14.29"
|
||||
PKG_REV="104"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MPLv2"
|
||||
PKG_SITE="https://syncthing.net/"
|
||||
@@ -35,7 +35,17 @@ PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_MAINTAINER="Anton Voyl (awiouy)"
|
||||
|
||||
configure_target() {
|
||||
go run build.go assets
|
||||
export GOOS=linux
|
||||
export CGO_ENABLED=1
|
||||
export CGO_NO_EMULATION=1
|
||||
export CGO_CFLAGS=$CFLAGS
|
||||
export LDFLAGS="-w -linkmode external -extldflags -Wl,--unresolved-symbols=ignore-in-shared-libs -extld $CC -X main.Version=v$PKG_VERSION"
|
||||
export GOLANG=$ROOT/$TOOLCHAIN/lib/golang/bin/go
|
||||
export GOPATH=$ROOT/$PKG_BUILD/src/github.com/syncthing/syncthing:$ROOT/$PKG_BUILD/vendor:$ROOT/$PKG_BUILD/Godeps/_workspace
|
||||
export GOROOT=$ROOT/$TOOLCHAIN/lib/golang
|
||||
export PATH=$PATH:$GOROOT/bin
|
||||
|
||||
$ROOT/$TOOLCHAIN/lib/golang/bin/go run build.go assets
|
||||
|
||||
mkdir -p $ROOT/$PKG_BUILD $ROOT/$PKG_BUILD/src/github.com/syncthing
|
||||
ln -fs $ROOT/$PKG_BUILD $ROOT/$PKG_BUILD/src/github.com/syncthing/syncthing
|
||||
@@ -60,16 +70,6 @@ configure_target() {
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
export GOOS=linux
|
||||
export CGO_ENABLED=1
|
||||
export CGO_NO_EMULATION=1
|
||||
export CGO_CFLAGS=$CFLAGS
|
||||
export LDFLAGS="-w -linkmode external -extldflags -Wl,--unresolved-symbols=ignore-in-shared-libs -extld $CC -X main.Version=v$PKG_VERSION"
|
||||
export GOLANG=$ROOT/$TOOLCHAIN/lib/golang/bin/go
|
||||
export GOPATH=$ROOT/$PKG_BUILD/src/github.com/syncthing/syncthing:$ROOT/$PKG_BUILD/vendor:$ROOT/$PKG_BUILD/Godeps/_workspace
|
||||
export GOROOT=$ROOT/$TOOLCHAIN/lib/golang
|
||||
export PATH=$PATH:$GOROOT/bin
|
||||
}
|
||||
|
||||
make_target() {
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
111
|
||||
- update to Tvheadend 4.2.2-32
|
||||
|
||||
110
|
||||
- added tv_grab_file support for compressed files (gz bz2 xz)
|
||||
- update to Tvheadend 4.2.1.7
|
||||
- fix FRITZ!Box support, AVM Repeater and 6490 are now working
|
||||
|
||||
109
|
||||
- added custom start options to addon
|
||||
- added FRITZ!Box Sat>IP server support to addon
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://LibreELEC.tv
|
||||
# Copyright (C) 2016-2017 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,15 +17,15 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tvheadend42"
|
||||
PKG_VERSION="e5f5a42"
|
||||
PKG_VERSION_NUMBER="4.1.2415"
|
||||
PKG_REV="109"
|
||||
PKG_VERSION="76dbc3e"
|
||||
PKG_VERSION_NUMBER="4.2.2-32"
|
||||
PKG_REV="111"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.tvheadend.org"
|
||||
PKG_URL="https://github.com/tvheadend/tvheadend/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_SOURCE_DIR="tvheadend-${PKG_VERSION}*"
|
||||
PKG_DEPENDS_TARGET="toolchain curl dvb-tools libdvbcsa libiconv libressl Python:host yasm"
|
||||
PKG_DEPENDS_TARGET="toolchain curl dvb-tools libdvbcsa libiconv libressl pngquant:host Python:host yasm"
|
||||
PKG_SECTION="service"
|
||||
PKG_SHORTDESC="Tvheadend: a TV streaming server for Linux"
|
||||
PKG_LONGDESC="Tvheadend ($PKG_VERSION_NUMBER): is a TV streaming server for Linux supporting DVB-S/S2, DVB-C, DVB-T/T2, IPTV, SAT>IP, ATSC and ISDB-T"
|
||||
@@ -56,6 +56,7 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
|
||||
--enable-hdhomerun_static \
|
||||
--enable-epoll \
|
||||
--enable-inotify \
|
||||
--enable-pngquant \
|
||||
--disable-nvenc \
|
||||
--disable-uriparser \
|
||||
$TVH_TRANSCODING \
|
||||
@@ -67,6 +68,7 @@ PKG_CONFIGURE_OPTS_TARGET="--prefix=/usr \
|
||||
|
||||
post_unpack() {
|
||||
sed -e 's/VER="0.0.0~unknown"/VER="'$PKG_VERSION_NUMBER' ~ LibreELEC Tvh-addon v'$ADDON_VERSION'.'$PKG_REV'"/g' -i $PKG_BUILD/support/version
|
||||
sed -e 's|'/usr/bin/pngquant'|'$ROOT/$TOOLCHAIN/bin/pngquant'|g' -i $PKG_BUILD/support/mkbundle
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
@@ -92,6 +94,7 @@ fi
|
||||
|
||||
post_make_target() {
|
||||
$CC -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl
|
||||
$STRIP $ROOT/$PKG_BUILD/build.linux/tvheadend
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Subject: [PATCH] tvheadend: HACK ffmpeg 3.1.5 instead of 3.2
|
||||
Subject: [PATCH] tvheadend: HACK ffmpeg 3.1.5 instead of 3.3
|
||||
|
||||
diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
|
||||
--- a/Makefile.ffmpeg
|
||||
@@ -7,12 +7,12 @@ diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
|
||||
LIBMFX_SHA1 = 84dbdf4a6b409067e863eb9564bb2efdec6d39ce
|
||||
LIBMFX_DIFFS = libmfx.linux.path.diff
|
||||
|
||||
-FFMPEG = ffmpeg-3.2
|
||||
-FFMPEG = ffmpeg-3.3
|
||||
-FFMPEG_TB = $(FFMPEG).tar.bz2
|
||||
+FFMPEG = ffmpeg-3.1.5
|
||||
+FFMPEG_TB = $(FFMPEG).tar.bz2
|
||||
FFMPEG_URL = http://ffmpeg.org/releases/$(FFMPEG_TB)
|
||||
-FFMPEG_SHA1 = aac4876d1bc4d2cd8d9833b20649c3eed984f6ef
|
||||
-FFMPEG_SHA1 = 2590af8c754ce8d55745b1e5647e498bf271dc77
|
||||
+FFMPEG_SHA1 = 053dfea8c9e057fdf237885decd03147cb2412b1
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,14 @@ then
|
||||
XMLTV_LOCATION_SCRIPT=`grep XMLTV_LOCATION_SCRIPT $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
|
||||
if [ "$XMLTV_TYPE" = "FILE" ]; then
|
||||
cat "$XMLTV_LOCATION_FILE"
|
||||
case "$XMLTV_LOCATION_FILE" in
|
||||
*.gz | *.bz2 | *.xz)
|
||||
zcat "$XMLTV_LOCATION_FILE"
|
||||
;;
|
||||
*)
|
||||
cat "$XMLTV_LOCATION_FILE"
|
||||
;;
|
||||
esac
|
||||
exit 0
|
||||
elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then
|
||||
if [ -e "$XMLTV_LOCATION_SCRIPT" ] ; then
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2016-2017 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
|
||||
@@ -89,14 +89,26 @@ if [ "$WORKAROUND_SLEEP" == "true" ]; then
|
||||
sleep $WORKAROUND_SLEEP_TIME
|
||||
fi
|
||||
|
||||
# support FritzBox Sat>IP Server detection workaround
|
||||
# support FritzBox Sat>IP Server detection workaround for AVM-Repeater and AVM-6490
|
||||
if [ "$AVM_SATIP_SERVER" == "true" ]; then
|
||||
AVM_SATIP=""
|
||||
for i in $(seq 1 $AVM_SATIP_SERVER_NUM); do
|
||||
ref_ip=AVM_IP_${i}
|
||||
eval "AVM_IP=\${$ref_ip}"
|
||||
AVM_SATIP="$AVM_SATIP --satip_xml http://${AVM_IP}:${AVM_PORT}/satipdesc.xml"
|
||||
done
|
||||
if [ "$AVM_DEVICE" == "AVM_Repeater" ]; then
|
||||
AVM_SATIP="--satip_xml http://${AVM_ROUTER_IP}:49000/satipdesc.xml"
|
||||
fi
|
||||
if [ "$AVM_DEVICE" == "AVM_6490" ]; then
|
||||
AVM_SATIP="--satip_xml http://${AVM_ROUTER_FAKE_IP}:49000/satipdesc.xml"
|
||||
AVM_NUM="4"
|
||||
fi
|
||||
|
||||
# add virtual ip as workaround for AVM limitation of one stream per ip
|
||||
# AVM-Repeater (2 tuners)
|
||||
ip address add ${AVM_IP1}/24 dev $AVM_ETH
|
||||
ip address add ${AVM_IP2}/24 dev $AVM_ETH
|
||||
|
||||
# AVM-6490 (4 tuners)
|
||||
if [ "$AVM_NUM" = "4" ]; then
|
||||
ip address add ${AVM_IP3}/24 dev $AVM_ETH
|
||||
ip address add ${AVM_IP4}/24 dev $AVM_ETH
|
||||
fi
|
||||
fi
|
||||
|
||||
# custom startup parameters
|
||||
|
||||
@@ -1,39 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
<!-- HTS TVHEADEND -->
|
||||
<string id="1000">XMLTV</string>
|
||||
<string id="1001">DVB</string>
|
||||
<string id="1002">DEBUG</string>
|
||||
<string id="1003">FRITZ!Box Sat>IP</string>
|
||||
<string id="1010">XMLTV Configuration</string>
|
||||
<string id="1011">XMLTV source type</string>
|
||||
<string id="1012">XMLTV File location</string>
|
||||
<string id="1013">XMLTV Web location</string>
|
||||
<string id="1014">XMLTV Script location</string>
|
||||
<string id="1020">DVB Configuration</string>
|
||||
<string id="1021">Unload DVB mudules before suspend</string>
|
||||
<string id="1022">Wait for frontend initialization</string>
|
||||
<string id="1023">Number of adapters to wait for</string>
|
||||
<string id="1024">Preload capmt_ca.so library</string>
|
||||
<string id="1025">Delay the start of Tvheadend</string>
|
||||
<string id="1026">Seconds delay</string>
|
||||
<string id="1028">Custom start parameter</string>
|
||||
<string id="1029">Parameter</string>
|
||||
<string id="1110">FRITZ!Box Sat>IP server</string>
|
||||
<string id="1111"># of tuners</string>
|
||||
<string id="1112">Tuner #1 address</string>
|
||||
<string id="1113">Tuner #2 address</string>
|
||||
<string id="1114">Tuner #3 address</string>
|
||||
<string id="1115">Tuner #4 address</string>
|
||||
<string id="1116">AVM SAT>IP Port</string>
|
||||
<string id="1120">Port</string>
|
||||
<string id="1121">FRITZ!Box Sat>IP server connection</string>
|
||||
<string id="1030">TRACE Configuration</string>
|
||||
<string id="1031">Path</string>
|
||||
<string id="1032">Activate TRACE Debug</string>
|
||||
<string id="31032">Debug Value #1</string>
|
||||
<string id="31033">Debug Value #2</string>
|
||||
<string id="31034">Debug Value #3</string>
|
||||
<string id="31035">Debug Value #4</string>
|
||||
<string id="31036">Debug Value #5</string>
|
||||
</strings>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
<!-- HTS TVHEADEND -->
|
||||
<string id="1000">XMLTV</string>
|
||||
<string id="1001">DVB</string>
|
||||
<string id="1002">DEBUG</string>
|
||||
<string id="1003">FRITZ!Box Sat>IP</string>
|
||||
<string id="1010">XMLTV Configuration</string>
|
||||
<string id="1011">XMLTV source type</string>
|
||||
<string id="1012">XMLTV File location</string>
|
||||
<string id="1013">XMLTV Web location</string>
|
||||
<string id="1014">XMLTV Script location</string>
|
||||
<string id="1020">DVB Configuration</string>
|
||||
<string id="1021">Unload DVB mudules before suspend</string>
|
||||
<string id="1022">Wait for frontend initialization</string>
|
||||
<string id="1023">Number of adapters to wait for</string>
|
||||
<string id="1024">Preload capmt_ca.so library</string>
|
||||
<string id="1025">Delay the start of Tvheadend</string>
|
||||
<string id="1026">Seconds delay</string>
|
||||
<string id="1028">Custom start parameter</string>
|
||||
<string id="1029">Parameter</string>
|
||||
<string id="1110">FRITZ!Box Sat>IP server</string>
|
||||
<string id="1111">AVM device</string>
|
||||
<string id="1112">IP of the AVM Repeater</string>
|
||||
<string id="1113">Router IP range (last digits are always .254)</string>
|
||||
<string id="1114">Used network</string>
|
||||
<string id="1115">Virtual IP #1</string>
|
||||
<string id="1116">Virtual IP #2</string>
|
||||
<string id="1117">Virtual IP #3</string>
|
||||
<string id="1118">Virtual IP #4</string>
|
||||
<string id="1030">TRACE Configuration</string>
|
||||
<string id="1031">Path</string>
|
||||
<string id="1032">Activate TRACE Debug</string>
|
||||
<string id="31032">Debug Value #1</string>
|
||||
<string id="31033">Debug Value #2</string>
|
||||
<string id="31034">Debug Value #3</string>
|
||||
<string id="31035">Debug Value #4</string>
|
||||
<string id="31036">Debug Value #5</string>
|
||||
</strings>
|
||||
|
||||
@@ -1,48 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
<!-- HTS TVHEADEND -->
|
||||
<category label="1000">
|
||||
<setting label="1010" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="XMLTV_TYPE" type="labelenum" label="1011" values="NONE|FILE|SCRIPT|WEB" sort="yes" default="NONE"/>
|
||||
<setting id="XMLTV_LOCATION_FILE" type="file" label="1012" default="" enable="eq(-1,0)"/>
|
||||
<setting id="XMLTV_LOCATION_WEB" type="text" label="1013" default="http://" enable="eq(-2,3)"/>
|
||||
<setting id="XMLTV_LOCATION_SCRIPT" type="file" label="1014" default="" enable="eq(-3,2)"/>
|
||||
</category>
|
||||
<category label="1001">
|
||||
<setting label="1020" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="WAIT_FOR_FEINIT" type="bool" label="1022" default="false" />
|
||||
<setting id="NUM_ADAPTERS" type="slider" range="1,16" option="int" label="1023" default="1" enable="eq(-1,true)" />
|
||||
<setting id="REMOVE_MODULES" type="text" label="1021" values="" default=""/>
|
||||
<setting id="PRELOAD_CAPMT_CA" type="bool" label="1024" default="false" />
|
||||
<setting id="WORKAROUND_SLEEP" type="bool" label="1025" default="false" />
|
||||
<setting id="WORKAROUND_SLEEP_TIME" type="slider" range="1,30" option="int" label="1026" default="1" enable="eq(-1,true)" />
|
||||
</category>
|
||||
<category label="1002">
|
||||
<setting label="1030" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="DEBUG_LOG" type="bool" label="1032" default="false" />
|
||||
<setting type="sep" />
|
||||
<setting id="DEBUG_LOG_PATH" type="text" label="1031" default="/storage/.kodi/userdata/addon_data/service.tvheadend42/debug.txt" enable="eq(-2,true)"/>
|
||||
<setting id="DEBUG_LOG_TRACE_1" type="select" default="NONE" visible="eq(-3,true)" enable="eq(-3,true)" label="31032" values="NONE|all|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_2" type="select" default="NONE" visible="eq(-4,true)" enable="!eq(-1,NONE)+eq(-4,true)" label="31033" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_3" type="select" default="NONE" visible="eq(-5,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+eq(-5,true)" label="31034" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_4" type="select" default="NONE" visible="eq(-6,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+!eq(-3,NONE)+eq(-6,true)" label="31035" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_5" type="select" default="NONE" visible="eq(-7,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+!eq(-3,NONE)+!eq(-4,NONE)+eq(-7,true)" label="31036" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting type="sep" />
|
||||
<setting id="CUSTOM_START" type="bool" label="1028" default="false" />
|
||||
<setting id="CUSTOM_ARGS" type="text" label="1029" default="" enable="eq(-1,true)" />
|
||||
</category>
|
||||
<category label="1003">
|
||||
<setting label="1121" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="AVM_SATIP_SERVER" type="bool" label="1110" default="false"/>
|
||||
<setting id="AVM_SATIP_SERVER_NUM" label="1111" type="labelenum" values="0|1|2|3|4" default="1" visible="eq(-1,true)" enable="eq(-1,true)"/>
|
||||
<setting id="AVM_IP_1" type="ipaddress" label="1112" default="192.168.178.254" visible="gt(-1,0)+eq(-2,true)" enable="gt(-1,0)+eq(-2,true)" />
|
||||
<setting id="AVM_IP_2" type="ipaddress" label="1113" default="192.168.178.253" visible="gt(-2,1)+eq(-3,true)" enable="gt(-2,1)+eq(-3,true)" />
|
||||
<setting id="AVM_IP_3" type="ipaddress" label="1114" default="192.168.178.252" visible="gt(-3,2)+eq(-4,true)" enable="gt(-3,2)+eq(-4,true)" />
|
||||
<setting id="AVM_IP_4" type="ipaddress" label="1115" default="192.168.178.251" visible="gt(-4,3)+eq(-5,true)" enable="gt(-4,3)+eq(-5,true)" />
|
||||
<setting id="AVM_PORT" type="number" label="1120" default="49000" visible="gt(-5,0)+eq(-6,true)" enable="gt(-5,0)+eq(-6,true)" />
|
||||
</category>
|
||||
</settings>
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
<!-- HTS TVHEADEND -->
|
||||
<category label="1000">
|
||||
<setting label="1010" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="XMLTV_TYPE" type="labelenum" label="1011" values="NONE|FILE|SCRIPT|WEB" sort="yes" default="NONE"/>
|
||||
<setting id="XMLTV_LOCATION_FILE" type="file" label="1012" default="" enable="eq(-1,0)"/>
|
||||
<setting id="XMLTV_LOCATION_WEB" type="text" label="1013" default="http://" enable="eq(-2,3)"/>
|
||||
<setting id="XMLTV_LOCATION_SCRIPT" type="file" label="1014" default="" enable="eq(-3,2)"/>
|
||||
</category>
|
||||
<category label="1001">
|
||||
<setting label="1020" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="WAIT_FOR_FEINIT" type="bool" label="1022" default="false" />
|
||||
<setting id="NUM_ADAPTERS" type="slider" range="1,16" option="int" label="1023" default="1" enable="eq(-1,true)" />
|
||||
<setting id="REMOVE_MODULES" type="text" label="1021" values="" default=""/>
|
||||
<setting id="PRELOAD_CAPMT_CA" type="bool" label="1024" default="false" />
|
||||
<setting id="WORKAROUND_SLEEP" type="bool" label="1025" default="false" />
|
||||
<setting id="WORKAROUND_SLEEP_TIME" type="slider" range="1,30" option="int" label="1026" default="1" enable="eq(-1,true)" />
|
||||
</category>
|
||||
<category label="1002">
|
||||
<setting label="1030" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="DEBUG_LOG" type="bool" label="1032" default="false" />
|
||||
<setting type="sep" />
|
||||
<setting id="DEBUG_LOG_PATH" type="text" label="1031" default="/storage/.kodi/userdata/addon_data/service.tvheadend42/debug.txt" enable="eq(-2,true)"/>
|
||||
<setting id="DEBUG_LOG_TRACE_1" type="select" default="NONE" visible="eq(-3,true)" enable="eq(-3,true)" label="31032" values="NONE|all|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_2" type="select" default="NONE" visible="eq(-4,true)" enable="!eq(-1,NONE)+eq(-4,true)" label="31033" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_3" type="select" default="NONE" visible="eq(-5,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+eq(-5,true)" label="31034" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_4" type="select" default="NONE" visible="eq(-6,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+!eq(-3,NONE)+eq(-6,true)" label="31035" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting id="DEBUG_LOG_TRACE_5" type="select" default="NONE" visible="eq(-7,true)" enable="!eq(-1,NONE)+!eq(-2,NONE)+!eq(-3,NONE)+!eq(-4,NONE)+eq(-7,true)" label="31036" values="NONE|access|api|avahi|bat|bonjour|bouquet|caclient|capmt|channel|charset|config|CPU|cron|csa|cwc|dbus|descrambler|diseqc|dvb|dvbcam|dvr|epg|epgdb|epggrab|esfilter|fastscan|fsmonitor|globalheaders|gtimer|hevc|htsp|htsp-ans|htsp-req|htsp-sub|http|httpc|idnode|imagecache|iptv|iptv-pcr|libav|linuxdvb|lock|main|mkv|mpegts|mtimer|muxer|muxsched|opentv|parser|pass|pat|pmt|profile|psip|pyepg|rtsp|satip|satips|scanfile|service|service-mapper|settings|spawn|subscription|tbl|tbl-atsc|tbl-base|tbl-csa|tbl-eit|tbl-pass|tbl-satip|tbl-time|tcp|thread|time|timeshift|transcode|TS|tsfile|tsfix|tvhdhomerun|tvhpoll|upnp|url|uuid|webui|xmltv" />
|
||||
<setting type="sep" />
|
||||
<setting id="CUSTOM_START" type="bool" label="1028" default="false" />
|
||||
<setting id="CUSTOM_ARGS" type="text" label="1029" default="" enable="eq(-1,true)" />
|
||||
</category>
|
||||
<category label="1003">
|
||||
<setting label="1121" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="AVM_SATIP_SERVER" type="bool" label="1110" default="false"/>
|
||||
<setting id="AVM_DEVICE" type="labelenum" label="1111" values="AVM_Repeater|AVM_6490" visible="eq(-1,true)"/>
|
||||
<setting id="AVM_ROUTER_IP" type="ipaddress" label="1112" default="192.168.178.2" visible="eq(-2,true)+eq(-1,0)"/>
|
||||
<setting id="AVM_ROUTER_FAKE_IP" type="ipaddress" label="1113" default="192.168.178.254" visible="eq(-3,true)+eq(-2,1)"/>
|
||||
<setting id="AVM_ETH" type="labelenum" label="1114" visible="eq(-4,true)" values="eth0|wlan0|eth1|wlan1" />
|
||||
<setting type="sep" visible="eq(-5,true)"/>
|
||||
<setting id="AVM_IP1" type="ipaddress" label="1115" default="192.168.178.201" visible="eq(-6,true)"/>
|
||||
<setting id="AVM_IP2" type="ipaddress" label="1116" default="192.168.178.202" visible="eq(-7,true)"/>
|
||||
<setting id="AVM_IP3" type="ipaddress" label="1117" default="192.168.178.203" visible="eq(-8,true)+eq(-7,1)"/>
|
||||
<setting id="AVM_IP4" type="ipaddress" label="1118" default="192.168.178.204" visible="eq(-9,true)+eq(-8,1)"/>
|
||||
</category>
|
||||
</settings>
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
105
|
||||
- fix for some scrambled channels
|
||||
- update dvbapi to d7c7587
|
||||
- update Sat>IP plugin to ed99cfb
|
||||
- update VNSI to 615a077
|
||||
|
||||
104
|
||||
- encode special characters in directory names to be accesible via smb
|
||||
- update VNSI to d6847c3
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdr-addon"
|
||||
PKG_VERSION="8.0"
|
||||
PKG_REV="104"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="105"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.openelec.tv"
|
||||
PKG_SITE="https://libreelec.tv"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS_TARGET="toolchain vdr vdr-plugin-dummydevice vdr-plugin-dvbapi vdr-plugin-eepg vdr-plugin-epgfixer vdr-plugin-epgsearch vdr-plugin-iptv vdr-plugin-live vdr-plugin-restfulapi vdr-plugin-satip vdr-plugin-streamdev vdr-plugin-vnsiserver vdr-plugin-wirbelscan vdr-plugin-wirbelscancontrol vdr-plugin-xmltv2vdr"
|
||||
PKG_SECTION="service.multimedia"
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
102
|
||||
- added MuMuDVB
|
||||
- updated w_scan to 20170107
|
||||
- updated dvblast to 3.1
|
||||
- updated dvb-fe-tool to 1.12.3
|
||||
|
||||
101
|
||||
- added w_scan
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - http://www.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
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
PKG_NAME="dvb-tools"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="101"
|
||||
PKG_REV="102"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE=""
|
||||
@@ -26,7 +26,7 @@ PKG_URL=""
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION="virtual"
|
||||
PKG_SHORTDESC="DVB-Tools: is a bundle of dvb tools and programs"
|
||||
PKG_LONGDESC="This bundle currently includes dvb-apps, dvb-fe-tool, dvblast and w_scan."
|
||||
PKG_LONGDESC="This bundle currently includes dvb-apps, dvb-fe-tool, dvblast, mumudvb and w_scan."
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
@@ -37,6 +37,7 @@ PKG_DEPENDS_TARGET="toolchain \
|
||||
dvb-apps \
|
||||
dvb-fe-tool \
|
||||
dvblast \
|
||||
mumudvb \
|
||||
w_scan"
|
||||
|
||||
addon() {
|
||||
@@ -60,6 +61,9 @@ addon() {
|
||||
# dvblast
|
||||
cp -P $(get_build_dir dvblast)/dvblast $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
# mumudvb
|
||||
cp -P $(get_build_dir mumudvb)/.$TARGET_NAME/src/mumudvb $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
# w_scan
|
||||
cp -P $(get_build_dir w_scan)/.$TARGET_NAME/w_scan $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
|
||||
@@ -1,10 +1,31 @@
|
||||
8.0.102
|
||||
109
|
||||
- Update to 5.4.1.6
|
||||
|
||||
108
|
||||
- Update to 5.4.0.201
|
||||
|
||||
107
|
||||
- Update to 5.2.0.224
|
||||
|
||||
106
|
||||
- Update to 5.2.0.215
|
||||
|
||||
105
|
||||
- Update to 5.0.1.1
|
||||
|
||||
104
|
||||
- Update to 5.0.0.100
|
||||
|
||||
103
|
||||
- Update to 4.8.1.0
|
||||
|
||||
102
|
||||
- Update to 4.8.0.495
|
||||
|
||||
8.0.101
|
||||
101
|
||||
- Update to 4.2.1.102
|
||||
- Build static for all projects and architectures
|
||||
- Remove uneeded binaries and libraries
|
||||
|
||||
8.0.100
|
||||
100
|
||||
- Initial release
|
||||
|
||||
@@ -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,8 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="mono"
|
||||
PKG_VERSION="4.8.0.495"
|
||||
PKG_REV="102"
|
||||
PKG_VERSION="5.4.1.6"
|
||||
PKG_REV="109"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="http://www.mono-project.com"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - http://www.libreelec.tv
|
||||
# Copyright (C) 2016 Team LibreELEC
|
||||
# Copyright (C) 2016-2017 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,15 +18,15 @@
|
||||
|
||||
PKG_NAME="rpi-tools"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="102"
|
||||
PKG_REV="104"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE=""
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS_TARGET="toolchain RPi.GPIO picamera gpiozero"
|
||||
PKG_DEPENDS_TARGET="toolchain RPi.GPIO picamera gpiozero lan951x-led-ctl"
|
||||
PKG_SECTION="virtual"
|
||||
PKG_SHORTDESC="A bundle of tools and programs for use on the Raspberry Pi"
|
||||
PKG_LONGDESC="This bundle currently includes RPi.GPIO, picamera, gpiozero python modules"
|
||||
PKG_LONGDESC="This bundle currently includes RPi.GPIO, picamera, gpiozero lan951x-led-ctl"
|
||||
PKG_DISCAIMER="Raspberry Pi is a trademark of the Raspberry Pi Foundation http://www.raspberrypi.org"
|
||||
|
||||
PKG_IS_ADDON="yes"
|
||||
@@ -49,4 +49,7 @@ addon() {
|
||||
cp -P $BCM2835_DIR/hardfp/opt/vc/bin/raspiyuv $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $BCM2835_DIR/hardfp/opt/vc/bin/raspivid $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $BCM2835_DIR/hardfp/opt/vc/bin/raspividyuv $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
# lan951x-led-ctl
|
||||
cp -P $(get_build_dir lan951x-led-ctl)/lan951x-led-ctl $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
}
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
107
|
||||
- Bump p7zip and unrar
|
||||
|
||||
106
|
||||
- Bump screen, fix colors issue
|
||||
|
||||
104
|
||||
- Bump file package
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
PKG_NAME="system-tools"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="104"
|
||||
PKG_REV="107"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE=""
|
||||
|
||||
@@ -36,3 +36,7 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared \
|
||||
--disable-oggtest \
|
||||
--disable-docs \
|
||||
--disable-examples"
|
||||
|
||||
pre_configure_target() {
|
||||
export CFLAGS="$CFLAGS -fPIC"
|
||||
}
|
||||
|
||||
@@ -22,13 +22,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://libcec.pulse-eight.com/"
|
||||
PKG_URL="https://github.com/Pulse-Eight/libcec/archive/$PKG_VERSION.tar.gz"
|
||||
if [ "$PROJECT" = "imx6" ]; then
|
||||
if [ "$LINUX_VERSION" = "sr-3.14" ]; then
|
||||
PKG_PATCH_DIRS="3.14-sr"
|
||||
else
|
||||
PKG_PATCH_DIRS="4.4-xbian"
|
||||
fi
|
||||
fi
|
||||
[ "$PROJECT" = "imx6" ] && PKG_PATCH_DIRS="${LINUX#imx6-}"
|
||||
PKG_DEPENDS_TARGET="toolchain systemd lockdev p8-platform"
|
||||
PKG_SECTION="system"
|
||||
PKG_SHORTDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="2ef9cb6"
|
||||
PKG_VERSION="856c68d"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.broadcom.com"
|
||||
|
||||
@@ -17,7 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="imx-gpu-viv"
|
||||
PKG_VERSION="5.0.11.p4.5-hfp"
|
||||
if [ "$LINUX" = "imx6-3.14-sr" ]; then
|
||||
PKG_VERSION="5.0.11.p4.5-hfp"
|
||||
elif [ "$LINUX" = "imx6-4.4-xbian" ]; then
|
||||
PKG_VERSION="5.0.11.p7.4-hfp"
|
||||
else
|
||||
exit 0
|
||||
fi
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.freescale.com"
|
||||
@@ -49,14 +55,19 @@ makeinstall_target() {
|
||||
gpu-core/usr/lib/libGLSLC.so* \
|
||||
gpu-core/usr/lib/libGAL-fb.so \
|
||||
gpu-core/usr/lib/libGAL.so* \
|
||||
gpu-core/usr/lib/libGAL_egl.fb.so \
|
||||
gpu-core/usr/lib/libGAL_egl.so* \
|
||||
gpu-core/usr/lib/libVIVANTE-fb.so \
|
||||
gpu-core/usr/lib/libVIVANTE.so* \
|
||||
gpu-core/usr/lib/libOpenCL.so \
|
||||
gpu-core/usr/lib/libVSC.so \
|
||||
g2d/usr/lib/libg2d*.so*"
|
||||
|
||||
# missing in 5.0.11.p7.4-hfp
|
||||
if [ "$PKG_VERSION" = "5.0.11.p4.5-hfp" ]; then
|
||||
LIBS_COPY="$LIBS_COPY \
|
||||
gpu-core/usr/lib/libGAL_egl.fb.so \
|
||||
gpu-core/usr/lib/libGAL_egl.so*"
|
||||
fi
|
||||
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $LIBS_COPY $SYSROOT_PREFIX/usr/lib
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c
|
||||
index 85312bc..7318b1e 100644
|
||||
--- a/os_dep/linux/usb_intf.c
|
||||
+++ b/os_dep/linux/usb_intf.c
|
||||
@@ -167,6 +167,11 @@ static struct usb_device_id rtw_usb_id_tbl[] ={
|
||||
--- a/os_dep/linux/usb_intf.c 2017-04-01 13:42:06.213757346 +0100
|
||||
+++ b/os_dep/linux/usb_intf.c 2017-04-01 13:43:43.195961025 +0100
|
||||
@@ -167,6 +167,12 @@ static struct usb_device_id rtw_usb_id_t
|
||||
{USB_DEVICE(0x13b1, 0x003f),.driver_info = RTL8812}, /* Linksys - WUSB6300 */
|
||||
{USB_DEVICE(0x2357, 0x0101),.driver_info = RTL8812}, /* TP-Link - T4U */
|
||||
{USB_DEVICE(0x2357, 0x0103),.driver_info = RTL8812}, /* TP-Link - T4UH */
|
||||
+ /*=== Patched ID ===*/
|
||||
+ {USB_DEVICE(0x050D, 0x010d),.driver_info = RTL8812}, /* TP-Link - T4U v2 */
|
||||
+ {USB_DEVICE(0x050D, 0x1109),.driver_info = RTL8812}, /* Belkin F9L1109 - SerComm */
|
||||
+ {USB_DEVICE(0x20F4, 0x805B),.driver_info = RTL8812}, /* TRENDnet - Cameo */
|
||||
+ {USB_DEVICE(0x148F, 0x9097),.driver_info = RTL8812}, /* Amped Wireless ACA1 */
|
||||
@@ -14,7 +13,7 @@ index 85312bc..7318b1e 100644
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RTL8821A
|
||||
@@ -184,9 +189,18 @@ static struct usb_device_id rtw_usb_id_tbl[] ={
|
||||
@@ -184,9 +190,18 @@ static struct usb_device_id rtw_usb_id_t
|
||||
{USB_DEVICE(0x2001, 0x3314),.driver_info = RTL8821}, /* D-Link - Cameo */
|
||||
{USB_DEVICE(0x2001, 0x3318),.driver_info = RTL8821}, /* D-Link - Cameo */
|
||||
{USB_DEVICE(0x0E66, 0x0023),.driver_info = RTL8821}, /* HAWKING - Edimax */
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user