diff --git a/packages/addons/addon-depends/dotnet-runtime-depends/curl3/package.mk b/packages/addons/addon-depends/dotnet-runtime-depends/curl3/package.mk new file mode 100644 index 0000000000..f98d353753 --- /dev/null +++ b/packages/addons/addon-depends/dotnet-runtime-depends/curl3/package.mk @@ -0,0 +1,22 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +. $(get_pkg_directory curl)/package.mk + +PKG_NAME="curl3" +PKG_URL="" +PKG_LONGDESC="curl for dotnet" + +unpack() { + mkdir -p $PKG_BUILD + cp -r $(get_build_dir curl)/* $PKG_BUILD + sed -i 's/CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@4/CURL_@CURL_LT_SHLIB_VERSIONED_FLAVOUR@3/g' $PKG_BUILD/lib/libcurl.vers.in +} + +makeinstall_target() { + : +} + +post_makeinstall_target() { + : +} diff --git a/packages/addons/addon-depends/dotnet-runtime-depends/curl3/sources/trigger_unpack b/packages/addons/addon-depends/dotnet-runtime-depends/curl3/sources/trigger_unpack new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/addons/addon-depends/dotnet-runtime-depends/krb5/package.mk b/packages/addons/addon-depends/dotnet-runtime-depends/krb5/package.mk new file mode 100644 index 0000000000..eb257a44ad --- /dev/null +++ b/packages/addons/addon-depends/dotnet-runtime-depends/krb5/package.mk @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="krb5" +PKG_VERSION="1.16.1-final" +PKG_SHA256="d46a676bd6cfe58b8684ffd881bc7ed2c9c90cb43ccfa45a9500530e84aa262b" +PKG_ARCH="any" +PKG_LICENSE="MIT" +PKG_SITE="http://web.mit.edu/kerberos/" +PKG_URL="https://github.com/krb5/krb5/archive/krb5-$PKG_VERSION.tar.gz" +PKG_SOURCE_DIR="krb5-krb5-$PKG_VERSION" +PKG_DEPENDS_TARGET="toolchain" +PKG_LONGDESC="The Kerberos network authentication protocol" +PKG_TOOLCHAIN="autotools" + +PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_regcomp=yes \ + ac_cv_printf_positional=yes \ + krb5_cv_attr_constructor_destructor=yes,yes" + +post_unpack() { + rm -rf $PKG_BUILD/doc + mv $PKG_BUILD/src/* $PKG_BUILD +} diff --git a/packages/addons/addon-depends/dotnet-runtime-depends/lttng-ust/package.mk b/packages/addons/addon-depends/dotnet-runtime-depends/lttng-ust/package.mk new file mode 100644 index 0000000000..b1f8c520b6 --- /dev/null +++ b/packages/addons/addon-depends/dotnet-runtime-depends/lttng-ust/package.mk @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="lttng-ust" +PKG_VERSION="2.10.1" +PKG_SHA256="8503bb36c95fc3473eb6323b84645e9d95ff52758ad199d2fe7ca80277f81b95" +PKG_ARCH="any" +PKG_LICENSE="LGPLv2.1" +PKG_SITE="https://lttng.org/" +PKG_URL="https://github.com/lttng/lttng-ust/archive/v$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain userspace-rcu" +PKG_LONGDESC="LTTng is an open source tracing framework for Linux" +PKG_TOOLCHAIN="autotools" + +PKG_CONFIGURE_OPTS_TARGET="--disable-man-pages" diff --git a/packages/addons/addon-depends/dotnet-runtime-depends/userspace-rcu/package.mk b/packages/addons/addon-depends/dotnet-runtime-depends/userspace-rcu/package.mk new file mode 100644 index 0000000000..994299e2d4 --- /dev/null +++ b/packages/addons/addon-depends/dotnet-runtime-depends/userspace-rcu/package.mk @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +PKG_NAME="userspace-rcu" +PKG_VERSION="0.10.1" +PKG_SHA256="4ddbca9927b459b7a295dec612cf43df5886d398161d50c59d0097995e368a3b" +PKG_ARCH="any" +PKG_LICENSE="LGPLv2.1" +PKG_SITE="http://liburcu.org" +PKG_URL="https://github.com/urcu/userspace-rcu/archive/v$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain" +PKG_LONGDESC="userspace read-copy-update library" +PKG_TOOLCHAIN="autotools" + +PKG_CONFIGURE_OPTS_TARGET="--disable-shared \ + --enable-static" + +pre_configure_target() { + CFLAGS="$CFLAGS -fPIC" +} diff --git a/packages/addons/addon-depends/emby-depends/imagemagick/package.mk b/packages/addons/addon-depends/emby-depends/imagemagick/package.mk index 2a7646ec91..114d94355c 100644 --- a/packages/addons/addon-depends/emby-depends/imagemagick/package.mk +++ b/packages/addons/addon-depends/emby-depends/imagemagick/package.mk @@ -2,23 +2,18 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="imagemagick" -PKG_VERSION="7.0.7-32" -PKG_SHA256="f1785adf8bbf378b47e789c74c2fd9ebdd5ec1c4de12e53306f8f6eb5b55d656" +PKG_VERSION="7.0.8-6" +PKG_SHA256="17320a2019c89c1dc6de15e36ef5455a1a023ad2dc729823c2041acdea5f38ba" PKG_ARCH="any" PKG_LICENSE="http://www.imagemagick.org/script/license.php" PKG_SITE="http://www.imagemagick.org/" PKG_URL="https://github.com/ImageMagick/ImageMagick/archive/$PKG_VERSION.tar.gz" PKG_SOURCE_DIR="ImageMagick-$PKG_VERSION" -PKG_DEPENDS_TARGET="toolchain libX11" -PKG_SECTION="graphics" +PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Software suite to create, edit, compose, or convert bitmap images" -PKG_CONFIGURE_OPTS_TARGET="--enable-static \ +PKG_CONFIGURE_OPTS_TARGET="--disable-openmp \ + --disable-static \ --enable-shared \ - --with-quantum-depth=8 \ - --enable-hdri=no \ - --disable-openmp" - -makeinstall_target() { - make install DESTDIR=$INSTALL -} + --with-utilities=no \ + --with-x=no" diff --git a/packages/addons/service/emby/changelog.txt b/packages/addons/service/emby/changelog.txt index 28da3b2115..a08e38eef0 100644 --- a/packages/addons/service/emby/changelog.txt +++ b/packages/addons/service/emby/changelog.txt @@ -1,3 +1,6 @@ +121 +- Update to 3.5.1.0 for netcore + 120 - Use ffmpeg instead of ffmpegx diff --git a/packages/addons/service/emby/package.mk b/packages/addons/service/emby/package.mk index 82dafe714d..fb20f7a71a 100644 --- a/packages/addons/service/emby/package.mk +++ b/packages/addons/service/emby/package.mk @@ -2,13 +2,14 @@ # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) PKG_NAME="emby" -PKG_VERSION="3.4.1.6" -PKG_SHA256="8eb129f538cefec612239932fd85ddc6bd5221cd97613e142f41f2126412ea04" -PKG_REV="120" +PKG_VERSION="3.5.1.0" +PKG_SHA256="378c2b23f9c7359434c7790581b885b2c8c526ba3377502b86260b18b927e48c" +PKG_REV="121" PKG_ARCH="any" PKG_LICENSE="OSS" PKG_SITE="http://emby.media" -PKG_URL="https://github.com/MediaBrowser/Emby/releases/download/$PKG_VERSION/Emby.Mono.zip" +PKG_URL="https://github.com/MediaBrowser/Emby.Releases/releases/download/$PKG_VERSION/embyserver-netcore_$PKG_VERSION.zip" +PKG_SOURCE_DIR="system" PKG_DEPENDS_TARGET="toolchain imagemagick" PKG_SECTION="service" PKG_SHORTDESC="Emby Server: a personal media server" @@ -18,26 +19,17 @@ PKG_TOOLCHAIN="manual" PKG_IS_ADDON="yes" PKG_ADDON_NAME="Emby Server" PKG_ADDON_TYPE="xbmc.service" -PKG_ADDON_REQUIRES="tools.ffmpeg-tools:0.0.0 tools.mono:0.0.0" +PKG_ADDON_REQUIRES="tools.ffmpeg-tools:0.0.0 tools.dotnet-runtime:0.0.0" PKG_MAINTAINER="Anton Voyl (awiouy)" -unpack() { - mkdir -p $PKG_BUILD -} - addon() { - mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/Emby.Mono - unzip -q $SOURCES/$PKG_NAME/$PKG_SOURCE_NAME \ - -d $ADDON_BUILD/$PKG_ADDON_ID/Emby.Mono - - sed -i 's/libMagickWand-6./libMagickWand-7./g' \ - $ADDON_BUILD/$PKG_ADDON_ID/Emby.Mono/ImageMagickSharp.dll.config - - sed -i 's/libsqlite3.so/libsqlite3.so.0/g' \ - $ADDON_BUILD/$PKG_ADDON_ID/Emby.Mono/SQLitePCLRaw.provider.sqlite3.dll.config + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/emby + cp -r $PKG_BUILD/* \ + -d $ADDON_BUILD/$PKG_ADDON_ID/emby mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib - cp -L $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickCore-7.Q8.so.? \ - $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickWand-7.Q8.so \ + cp -L $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickCore-7.Q16HDRI.so.? \ $ADDON_BUILD/$PKG_ADDON_ID/lib/ + cp -L $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickWand-7.Q16HDRI.so \ + $ADDON_BUILD/$PKG_ADDON_ID/lib/CORE_RL_Wand_.so } diff --git a/packages/addons/service/emby/source/bin/emby-update b/packages/addons/service/emby/source/bin/emby-update deleted file mode 100644 index 1305822e76..0000000000 --- a/packages/addons/service/emby/source/bin/emby-update +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) - -. /etc/profile -oe_setup_addon service.emby - -# set version to use -if [ -z "$1" ]; then -# if no input - echo -e "\nUsage:" - echo -e "${0##*/} 3.4.1.0" - echo -e "${0##*/} latest" - echo -e "\n====== last releases ======" - curl --silent "https://api.github.com/repos/MediaBrowser/Emby/releases" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/' | head -n 20 - echo -e "===========================" - exit 0 - -# if input = latest -elif [ "$1" = "latest" ]; then - EMBY_VERSION=$(curl --silent "https://api.github.com/repos/MediaBrowser/Emby/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/') - echo "latest is $EMBY_VERSION" - read -p "continue (y/n)? " EMBY_CONT - if [ $EMBY_CONT = "Y" ] || [ $EMBY_CONT = "y" ]; then - echo "" - else - exit 0 - fi - -# if input = 1.2.3.4 -else - EMBY_VERSION="$1" -fi - -echo "1. stopping Emby service" && sleep 1 - systemctl stop service.emby - -echo "2. download Emby version $EMBY_VERSION" && sleep 1 - rm -f /storage/.kodi/temp/Emby.Mono.zip - curl --progress-bar --fail -L -o /storage/.kodi/temp/Emby.Mono.zip https://github.com/MediaBrowser/Emby/releases/download/$EMBY_VERSION/Emby.Mono.zip || exit 1 - -echo "3. removing old install" && sleep 1 - rm -rf $ADDON_DIR/Emby/system/* - -echo "4. extracting Emby" && sleep 1 - unzip -q /storage/.kodi/temp/Emby.Mono.zip -d $ADDON_DIR/Emby/system - -echo "5. restarting Emby service" && sleep 1 - systemctl start service.emby - -echo "... done" -exit 0 diff --git a/packages/addons/service/emby/source/bin/emby.start b/packages/addons/service/emby/source/bin/emby.start index bfaa739cc0..7c674a5cb8 100644 --- a/packages/addons/service/emby/source/bin/emby.start +++ b/packages/addons/service/emby/source/bin/emby.start @@ -6,13 +6,7 @@ . /etc/profile oe_setup_addon service.emby -chmod +x $ADDON_DIR/bin/* -mkdir -p $ADDON_HOME - -if [ "$emby_ffmpeg" != "false" ] -then - emby_flags="-ffmpeg /storage/.kodi/addons/tools.ffmpeg-tools/bin/ffmpeg -ffprobe /storage/.kodi/addons/tools.ffmpeg-tools/bin/ffprobe" -fi - -mono $ADDON_DIR/Emby.Mono/MediaBrowser.Server.Mono.exe -programdata $ADDON_HOME \ - $emby_flags +LD_PRELOAD="$ADDON_DIR/lib/libMagickCore-7.Q16HDRI.so.6 \ + $ADDON_DIR/lib/CORE_RL_Wand_.so" \ +nice -n "$emby_nice" \ +le_dotnet $ADDON_DIR/emby/EmbyServer.dll -programdata $ADDON_HOME diff --git a/packages/addons/service/emby/source/default.py b/packages/addons/service/emby/source/default.py index 252cf5c277..0b9d649ccd 100644 --- a/packages/addons/service/emby/source/default.py +++ b/packages/addons/service/emby/source/default.py @@ -16,5 +16,5 @@ class Monitor(xbmc.Monitor): subprocess.call(['systemctl', 'restart', self.id]) -if __name__ == "__main__": +if __name__ == '__main__': Monitor().waitForAbort() diff --git a/packages/addons/service/emby/source/resources/language/English/strings.po b/packages/addons/service/emby/source/resources/language/English/strings.po index 37e80a8c99..609e47bd59 100644 --- a/packages/addons/service/emby/source/resources/language/English/strings.po +++ b/packages/addons/service/emby/source/resources/language/English/strings.po @@ -10,5 +10,5 @@ msgid "Configuration" msgstr "" msgctxt "#30001" -msgid "Use dedicated ffmpeg/ffprobe" +msgid "Priority (nice, 0=max, 19=min)" msgstr "" diff --git a/packages/addons/service/emby/source/resources/settings.xml b/packages/addons/service/emby/source/resources/settings.xml index 0d08d8d297..2325485e41 100644 --- a/packages/addons/service/emby/source/resources/settings.xml +++ b/packages/addons/service/emby/source/resources/settings.xml @@ -1,6 +1,6 @@ - + diff --git a/packages/addons/service/emby/source/settings-default.xml b/packages/addons/service/emby/source/settings-default.xml new file mode 100644 index 0000000000..8d35529581 --- /dev/null +++ b/packages/addons/service/emby/source/settings-default.xml @@ -0,0 +1,3 @@ + + 10 + diff --git a/packages/addons/tools/dotnet-runtime/icon/icon.png b/packages/addons/tools/dotnet-runtime/icon/icon.png new file mode 100644 index 0000000000..7b53b77cd0 Binary files /dev/null and b/packages/addons/tools/dotnet-runtime/icon/icon.png differ diff --git a/packages/addons/tools/dotnet-runtime/package.mk b/packages/addons/tools/dotnet-runtime/package.mk new file mode 100644 index 0000000000..0766ba8530 --- /dev/null +++ b/packages/addons/tools/dotnet-runtime/package.mk @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +case "$ARCH" in + "aarch64") + PKG_NC_ARCH="arm64" + PKG_SHA256="09c4b9c369c7f98066ba493a36a5c256eb102031739bec4862b58299590b5a18" + ;; + "arm") + PKG_NC_ARCH="arm" + PKG_SHA256="bdbb9739092098c1e572bbdcc9799bdfb17de75fbf7f4e72898dbf63d424e14f" + ;; + "x86_64") + PKG_NC_ARCH="x64" + PKG_SHA256="0d0db92d1d4779ad28562ca445acd3701e61bcef957ae3dbdcc97a7c0e8f10c5" + ;; +esac + +PKG_NAME="dotnet-runtime" +PKG_VERSION="2.1.2" +PKG_REV="100" +PKG_ARCH="any" +PKG_LICENSE="MIT" +PKG_SITE="https://dotnet.github.io/" +PKG_URL="https://download.microsoft.com/download/1/f/7/1f7755c5-934d-4638-b89f-1f4ffa5afe89/dotnet-runtime-2.1.2-linux-$PKG_NC_ARCH.tar.gz" +PKG_SOURCE_NAME="$PKG_NAME-$PKG_VERSION-$ARCH.tar.gz" +PKG_DEPENDS_TARGET="toolchain curl curl3 krb5 lttng-ust" +PKG_SECTION="tools" +PKG_SHORTDESC=".NET Core Runtime" +PKG_LONGDESC=".NET Core Runtime ($PKG_VERSION) runs applications built with .NET Core, a cross-platform .NET implementation." +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME=".Net Core Runtime" +PKG_ADDON_TYPE="xbmc.python.script" +PKG_MAINTAINER="Anton Voyl (awiouy)" + +unpack() { + mkdir -p $PKG_BUILD + $SCRIPTS/extract $PKG_NAME $PKG_BUILD +} + +addon() { + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin + cp -r $PKG_BUILD/* \ + $ADDON_BUILD/$PKG_ADDON_ID/bin + + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/libs + cp -L $(get_build_dir curl3)/.$TARGET_NAME/lib/.libs/libcurl.so.? \ + $(get_build_dir krb5)/.install_pkg/usr/lib/libcom_err.so.? \ + $(get_build_dir krb5)/.install_pkg/usr/lib/libgssapi_krb5.so.? \ + $(get_build_dir krb5)/.install_pkg/usr/lib/libk5crypto.so.? \ + $(get_build_dir krb5)/.install_pkg/usr/lib/libkrb5.so.? \ + $(get_build_dir krb5)/.install_pkg/usr/lib/libkrb5support.so.? \ + $(get_build_dir lttng-ust)/.install_pkg/usr/lib/liblttng-ust.so.? \ + $(get_build_dir lttng-ust)/.install_pkg/usr/lib/liblttng-ust-tracepoint.so.? \ + $ADDON_BUILD/$PKG_ADDON_ID/libs +} diff --git a/packages/addons/tools/dotnet-runtime/source/bin/le_dotnet b/packages/addons/tools/dotnet-runtime/source/bin/le_dotnet new file mode 100644 index 0000000000..2bf6a7287e --- /dev/null +++ b/packages/addons/tools/dotnet-runtime/source/bin/le_dotnet @@ -0,0 +1,10 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) + +. /etc/profile +oe_setup_addon tools.dotnet-runtime + +DOTNET_SYSTEM_GLOBALIZATION_INVARIANT="1" \ +LD_LIBRARY_PATH="$ADDON_DIR/libs:$LD_LIBRARY_PATH" \ +dotnet "$@"