Merge pull request #2738 from awiouy/90-netcore-21

dotnet-runtime: initial addon
This commit is contained in:
Christian Hewitt 2018-07-28 18:30:12 +04:00 committed by GitHub
commit 6f85bffb06
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 180 additions and 98 deletions

View File

@ -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() {
:
}

View File

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

View File

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

View File

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

View File

@ -2,23 +2,18 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="imagemagick" PKG_NAME="imagemagick"
PKG_VERSION="7.0.7-32" PKG_VERSION="7.0.8-6"
PKG_SHA256="f1785adf8bbf378b47e789c74c2fd9ebdd5ec1c4de12e53306f8f6eb5b55d656" PKG_SHA256="17320a2019c89c1dc6de15e36ef5455a1a023ad2dc729823c2041acdea5f38ba"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="http://www.imagemagick.org/script/license.php" PKG_LICENSE="http://www.imagemagick.org/script/license.php"
PKG_SITE="http://www.imagemagick.org/" PKG_SITE="http://www.imagemagick.org/"
PKG_URL="https://github.com/ImageMagick/ImageMagick/archive/$PKG_VERSION.tar.gz" PKG_URL="https://github.com/ImageMagick/ImageMagick/archive/$PKG_VERSION.tar.gz"
PKG_SOURCE_DIR="ImageMagick-$PKG_VERSION" PKG_SOURCE_DIR="ImageMagick-$PKG_VERSION"
PKG_DEPENDS_TARGET="toolchain libX11" PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="graphics"
PKG_LONGDESC="Software suite to create, edit, compose, or convert bitmap images" 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 \ --enable-shared \
--with-quantum-depth=8 \ --with-utilities=no \
--enable-hdri=no \ --with-x=no"
--disable-openmp"
makeinstall_target() {
make install DESTDIR=$INSTALL
}

View File

@ -1,3 +1,6 @@
121
- Update to 3.5.1.0 for netcore
120 120
- Use ffmpeg instead of ffmpegx - Use ffmpeg instead of ffmpegx

View File

@ -2,13 +2,14 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv) # Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="emby" PKG_NAME="emby"
PKG_VERSION="3.4.1.6" PKG_VERSION="3.5.1.0"
PKG_SHA256="8eb129f538cefec612239932fd85ddc6bd5221cd97613e142f41f2126412ea04" PKG_SHA256="378c2b23f9c7359434c7790581b885b2c8c526ba3377502b86260b18b927e48c"
PKG_REV="120" PKG_REV="121"
PKG_ARCH="any" PKG_ARCH="any"
PKG_LICENSE="OSS" PKG_LICENSE="OSS"
PKG_SITE="http://emby.media" 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_DEPENDS_TARGET="toolchain imagemagick"
PKG_SECTION="service" PKG_SECTION="service"
PKG_SHORTDESC="Emby Server: a personal media server" PKG_SHORTDESC="Emby Server: a personal media server"
@ -18,26 +19,17 @@ PKG_TOOLCHAIN="manual"
PKG_IS_ADDON="yes" PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Emby Server" PKG_ADDON_NAME="Emby Server"
PKG_ADDON_TYPE="xbmc.service" 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)" PKG_MAINTAINER="Anton Voyl (awiouy)"
unpack() {
mkdir -p $PKG_BUILD
}
addon() { addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/Emby.Mono mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/emby
unzip -q $SOURCES/$PKG_NAME/$PKG_SOURCE_NAME \ cp -r $PKG_BUILD/* \
-d $ADDON_BUILD/$PKG_ADDON_ID/Emby.Mono -d $ADDON_BUILD/$PKG_ADDON_ID/emby
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/lib mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
cp -L $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickCore-7.Q8.so.? \ cp -L $(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickCore-7.Q16HDRI.so.? \
$(get_build_dir imagemagick)/.install_pkg/usr/lib/libMagickWand-7.Q8.so \
$ADDON_BUILD/$PKG_ADDON_ID/lib/ $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
} }

View File

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

View File

@ -6,13 +6,7 @@
. /etc/profile . /etc/profile
oe_setup_addon service.emby oe_setup_addon service.emby
chmod +x $ADDON_DIR/bin/* LD_PRELOAD="$ADDON_DIR/lib/libMagickCore-7.Q16HDRI.so.6 \
mkdir -p $ADDON_HOME $ADDON_DIR/lib/CORE_RL_Wand_.so" \
nice -n "$emby_nice" \
if [ "$emby_ffmpeg" != "false" ] le_dotnet $ADDON_DIR/emby/EmbyServer.dll -programdata $ADDON_HOME
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

View File

@ -16,5 +16,5 @@ class Monitor(xbmc.Monitor):
subprocess.call(['systemctl', 'restart', self.id]) subprocess.call(['systemctl', 'restart', self.id])
if __name__ == "__main__": if __name__ == '__main__':
Monitor().waitForAbort() Monitor().waitForAbort()

View File

@ -10,5 +10,5 @@ msgid "Configuration"
msgstr "" msgstr ""
msgctxt "#30001" msgctxt "#30001"
msgid "Use dedicated ffmpeg/ffprobe" msgid "Priority (nice, 0=max, 19=min)"
msgstr "" msgstr ""

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings> <settings>
<category label="30000"> <category label="30000">
<setting label="30001" id="emby_ffmpeg" type="bool" default="true" /> <setting label="30001" id="emby_nice" type="slider" default="10" range="0,1,19" option="int" />
</category> </category>
</settings> </settings>

View File

@ -0,0 +1,3 @@
<settings version="2">
<setting id="emby_nice" default="true">10</setting>
</settings>

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

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

View File

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