diff --git a/packages/addons/addon-depends/jre-depends/apache-ant/package.mk b/packages/addons/addon-depends/jre-depends/apache-ant/package.mk new file mode 100644 index 0000000000..ea9ddc0960 --- /dev/null +++ b/packages/addons/addon-depends/jre-depends/apache-ant/package.mk @@ -0,0 +1,25 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com) + +PKG_NAME="apache-ant" +PKG_VERSION="1.10.6" +PKG_SHA256="a4adf371696089e1730d4f55fd4d0c6f3784dea1eee402fcc981f2330f8d6fc1" +PKG_LICENSE="Apache License 2.0" +PKG_SITE="https://ant.apache.org/" +PKG_URL="https://archive.apache.org/dist/ant/source/${PKG_NAME}-${PKG_VERSION}-src.tar.xz" +PKG_DEPENDS_HOST="jdk-x86_64-zulu:host" +PKG_LONGDESC="Apache Ant is a Java library and command-line tool that help building software." +PKG_TOOLCHAIN="manual" + +make_host() { + ( + export JAVA_HOME=$(get_build_dir jdk-x86_64-zulu) + + ./bootstrap.sh + ./bootstrap/bin/ant -f fetch.xml -Ddest=optional + ./build.sh -Ddist.dir=${PKG_BUILD}/binary dist + + cp binary/bin/ant ${TOOLCHAIN}/bin + cp -r binary/lib ${TOOLCHAIN} + ) +} diff --git a/packages/addons/addon-depends/jre-depends/jdk-aarch64-zulu/package.mk b/packages/addons/addon-depends/jre-depends/jdk-aarch64-zulu/package.mk new file mode 100644 index 0000000000..cf80981bbf --- /dev/null +++ b/packages/addons/addon-depends/jre-depends/jdk-aarch64-zulu/package.mk @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com) + +PKG_NAME="jdk-aarch64-zulu" +PKG_VERSION="8.38.0.162-1.8.0_212" +PKG_SHA256="2afa6b9a86fea6f9275856506b5cc1efd8420f674c5e2dc3e1b04e140d6ad852" +PKG_LICENSE="GPLv2" +PKG_SITE="https://www.azul.com/products/zulu-embedded/" +PKG_URL="http://cdn.azul.com/zulu-embedded/bin/zulu${PKG_VERSION%%-*}-ca-jdk${PKG_VERSION##*-}-linux_aarch64.tar.gz" +PKG_LONGDESC="Zulu, the open Java(TM) platform from Azul Systems." +PKG_TOOLCHAIN="manual" + +post_unpack() { + rm -f $PKG_BUILD/src.zip +} diff --git a/packages/addons/addon-depends/jre-depends/jdk-arm-zulu/package.mk b/packages/addons/addon-depends/jre-depends/jdk-arm-zulu/package.mk new file mode 100644 index 0000000000..f02a6b6d75 --- /dev/null +++ b/packages/addons/addon-depends/jre-depends/jdk-arm-zulu/package.mk @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com) + +PKG_NAME="jdk-arm-zulu" +PKG_VERSION="8.38.0.163-1.8.0_212" +PKG_SHA256="bc45f41eab6e55c4e740e980001831c5e35db85745ec61a2b110e816e1074715" +PKG_LICENSE="GPLv2" +PKG_SITE="https://www.azul.com/products/zulu-embedded/" +PKG_URL="https://cdn.azul.com/zulu-embedded/bin/zulu${PKG_VERSION%%-*}-ca-jdk${PKG_VERSION##*-}-linux_aarch32hf.tar.gz" +PKG_LONGDESC="Zulu, the open Java(TM) platform from Azul Systems." +PKG_TOOLCHAIN="manual" + +post_unpack() { + rm -f $PKG_BUILD/src.zip + + # libbluray needs arm/server + mv $PKG_BUILD/jre/lib/aarch32 $PKG_BUILD/jre/lib/arm + mv $PKG_BUILD/jre/lib/arm/client $PKG_BUILD/jre/lib/arm/server +} diff --git a/packages/addons/addon-depends/jre-depends/jdk-x86_64-zulu/package.mk b/packages/addons/addon-depends/jre-depends/jdk-x86_64-zulu/package.mk new file mode 100644 index 0000000000..9fa2bf9e51 --- /dev/null +++ b/packages/addons/addon-depends/jre-depends/jdk-x86_64-zulu/package.mk @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com) + +PKG_NAME="jdk-x86_64-zulu" +PKG_VERSION="8.38.0.13-8.0.212" +PKG_SHA256="568e7578f1b20b1e62a8ed2c374bad4eb0e75d221323ccfa6ba8d7bc56cf33cf" +PKG_LICENSE="GPLv2" +PKG_SITE="https://www.azul.com/products/zulu-enterprise/" +PKG_URL="https://cdn.azul.com/zulu/bin/zulu${PKG_VERSION%%-*}-ca-jdk${PKG_VERSION##*-}-linux_x64.tar.gz" +PKG_LONGDESC="Zulu, the open Java(TM) platform from Azul Systems." +PKG_TOOLCHAIN="manual" + +post_unpack() { + rm -f $PKG_BUILD/src.zip +} diff --git a/packages/addons/addon-depends/jre-depends/jre-libXinerama/package.mk b/packages/addons/addon-depends/jre-depends/jre-libXinerama/package.mk new file mode 100644 index 0000000000..02e8b4788d --- /dev/null +++ b/packages/addons/addon-depends/jre-depends/jre-libXinerama/package.mk @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) + +. $(get_pkg_directory libXinerama)/package.mk + +PKG_NAME="jre-libXinerama" +PKG_LONGDESC="libXinerama for JRE" +PKG_URL="" +PKG_DEPENDS_UNPACK+=" libXinerama" + +PKG_CONFIGURE_OPTS_TARGET+=" --disable-static --enable-shared" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:4}/${PKG_NAME:4}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +makeinstall_target() { + : +} diff --git a/packages/addons/addon-depends/jre-depends/jre-libbluray/package.mk b/packages/addons/addon-depends/jre-depends/jre-libbluray/package.mk new file mode 100644 index 0000000000..bf733cb1db --- /dev/null +++ b/packages/addons/addon-depends/jre-depends/jre-libbluray/package.mk @@ -0,0 +1,33 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) + +. $(get_pkg_directory libbluray)/package.mk + +PKG_NAME="jre-libbluray" +PKG_DEPENDS_TARGET+=" jdk-x86_64-zulu:host apache-ant:host" +PKG_LONGDESC="libbluray jar for BD-J menus" +PKG_URL="" +PKG_DEPENDS_UNPACK+=" libbluray" +PKG_PATCH_DIRS+=" $(get_pkg_directory libbluray)/patches" + +unpack() { + mkdir -p $PKG_BUILD + tar --strip-components=1 -xf $SOURCES/${PKG_NAME:4}/${PKG_NAME:4}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD +} + +pre_configure_target() { + # build also jar + PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET/disable-bdjava-jar/enable-bdjava-jar}" +} + +make_target() { + ( + export JAVA_HOME="$(get_build_dir jdk-x86_64-zulu)" + + make all-local + ) +} + +makeinstall_target() { + : +} diff --git a/packages/addons/tools/jre.zulu/changelog.txt b/packages/addons/tools/jre.zulu/changelog.txt new file mode 100644 index 0000000000..fe01f1b4fe --- /dev/null +++ b/packages/addons/tools/jre.zulu/changelog.txt @@ -0,0 +1,2 @@ +100 +- Initial release diff --git a/packages/addons/tools/jre.zulu/icon/icon.png b/packages/addons/tools/jre.zulu/icon/icon.png new file mode 100644 index 0000000000..9ee3a2d9fb Binary files /dev/null and b/packages/addons/tools/jre.zulu/icon/icon.png differ diff --git a/packages/addons/tools/jre.zulu/package.mk b/packages/addons/tools/jre.zulu/package.mk new file mode 100644 index 0000000000..427a3ae158 --- /dev/null +++ b/packages/addons/tools/jre.zulu/package.mk @@ -0,0 +1,42 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com) + +PKG_NAME="jre.zulu" +PKG_VERSION="1.0" +PKG_REV="100" +PKG_LICENSE="GPL2" +PKG_DEPENDS_TARGET="jdk-${TARGET_ARCH}-zulu jre-libbluray libXext chrome-libXtst chrome-libXi chrome-libXrender jre-libXinerama" +PKG_SECTION="tools" +PKG_SHORTDESC="Java Runtime Environment 8 for Blu-ray Disc Java menus from Azul Systems." +PKG_LONGDESC="$PKG_SHORTDESC" +PKG_TOOLCHAIN="manual" + +PKG_IS_ADDON="yes" +PKG_ADDON_NAME="JRE for BD-J menus" +PKG_ADDON_TYPE="xbmc.python.script" + +# find $1.so.[0-9]* in $2 and copy it to dest +_pkg_copy_lib() { + find "$2" -regextype sed -regex ".*/$1\.so\.[0-9]*" \ + -exec cp {} "$ADDON_BUILD/$PKG_ADDON_ID/lib" \; +} + +addon() { + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib + + cp -a $(get_build_dir jdk-${TARGET_ARCH}-zulu)/jre \ + $(get_build_dir jre-libbluray)/.$TARGET_NAME/.libs/*.jar \ + ${PKG_DIR}/profile.d \ + $ADDON_BUILD/$PKG_ADDON_ID + + # copy required libraries for JRE + _pkg_copy_lib libXtst $(get_build_dir chrome-libXtst)/.$TARGET_NAME/src/.libs + _pkg_copy_lib libXi $(get_build_dir chrome-libXi)/.$TARGET_NAME/src/.libs + _pkg_copy_lib libXrender $(get_build_dir chrome-libXrender)/.$TARGET_NAME/src/.libs + _pkg_copy_lib libXinerama $(get_build_dir jre-libXinerama)/.$TARGET_NAME/src/.libs + + if [ "$TARGET_ARCH" = "arm" ]; then + _pkg_copy_lib libX11 $(get_build_dir libX11)/.$TARGET_NAME/src/.libs + _pkg_copy_lib libXext $(get_build_dir libXext)/.$TARGET_NAME/src/.libs + fi +} diff --git a/packages/addons/tools/jre.zulu/profile.d/jre.profile b/packages/addons/tools/jre.zulu/profile.d/jre.profile new file mode 100644 index 0000000000..21b43a6585 --- /dev/null +++ b/packages/addons/tools/jre.zulu/profile.d/jre.profile @@ -0,0 +1,8 @@ +# point to folder with jre +export JAVA_HOME="/storage/.kodi/addons/tools.jre.zulu" + +# libbluray-*.jar in this folder (need / at the end) +export LIBBLURAY_CP="/storage/.kodi/addons/tools.jre.zulu/" + +# or set file directly +# export LIBBLURAY_CP="/storage/.kodi/addons/tools.jre.zulu/libbluray-j2se-1.0.2.jar" diff --git a/packages/addons/tools/jre.zulu/source/default.py b/packages/addons/tools/jre.zulu/source/default.py new file mode 100644 index 0000000000..60d94ff727 --- /dev/null +++ b/packages/addons/tools/jre.zulu/source/default.py @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)