diff --git a/metadata/org.xbmc.kodi.yml b/metadata/org.xbmc.kodi.yml index 395e577e22..8c677115ec 100644 --- a/metadata/org.xbmc.kodi.yml +++ b/metadata/org.xbmc.kodi.yml @@ -521,14 +521,110 @@ Builds: - make -C build apk ndk: r21e + - versionName: '20.2' + versionCode: 2002000 + commit: 5f418d0b133535c6675154688ac7144e34f4d436 + timeout: 28000 + sudo: + - apt-get update + - apt-get install -y build-essential gawk lib32stdc++6 lib32z1 lib32z1-dev libcurl4-openssl-dev + zlib1g-dev libcommons-lang-java python-dev openjdk-11-jdk-headless openjdk-17-jdk-headless + m4 + output: build/tools/android/packaging/xbmc/build/outputs/apk/release/xbmc-release-unsigned.apk + srclibs: + - groovy@GROOVY_4_0_6 + rm: + - tools/codegenerator/groovy/* + prebuild: + - echo 'org.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64' >> $$groovy$$/gradle.properties + - echo 'org.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64' >> tools/android/packaging/gradle.properties + - sed -i -e '/gradlew/d' -e '/gradle-wrapper.jar/d' cmake/scripts/android/Install.cmake + - sed -i -e 's#./gradlew#gradle#' -e '\!@cp xbmc/build!d' tools/android/packaging/Makefile.in + - sed -i -e '/signingConfigs {/,+11d' -e '/signingConfig/d' tools/android/packaging/xbmc/build.gradle.in + - sed -i -e 's#${GROOVY_DIR}/commons-lang-${COMMONS_VER}.jar#/usr/share/java/commons-lang.jar#' + xbmc/interfaces/swig/CMakeLists.txt + scanignore: + - addons/webinterface.default/lib/soundmanager/swf/soundmanager2_flash_xdomain.zip + scandelete: + - lib/ + - project/ + - tools/ + - xbmc/filesystem/test + build: + - pushd $$groovy$$ + - gradle :jarjar :groovy-templates:jarjar :groovy-xml:jarjar + - popd + - mv $$groovy$$/build/libs/groovy-?.?.?.jar $$groovy$$/subprojects/groovy-templates/build/libs/groovy-templates-?.?.?.jar + $$groovy$$/subprojects/groovy-xml/build/libs/groovy-xml-?.?.?.jar tools/codegenerator/groovy/ + - pushd tools/depends/ + - ./bootstrap + - ./configure --host=arm-linux-androideabi --with-sdk-path=$$SDK$$ --with-ndk-path=$$NDK$$ + --prefix=$PWD/output --disable-debug + - make -j $(nproc) + - popd + - make -C tools/depends/target/binary-addons -j $(nproc) + - make -C tools/depends/target/cmakebuildsys + - make -C build -j $(nproc) + - make -C build apk + ndk: r21e + + - versionName: '20.2' + versionCode: 2002001 + commit: 5f418d0b133535c6675154688ac7144e34f4d436 + timeout: 28000 + sudo: + - apt-get update + - apt-get install -y build-essential gawk lib32stdc++6 lib32z1 lib32z1-dev libcurl4-openssl-dev + zlib1g-dev libcommons-lang-java python-dev openjdk-11-jdk-headless openjdk-17-jdk-headless + m4 + output: build/tools/android/packaging/xbmc/build/outputs/apk/release/xbmc-release-unsigned.apk + srclibs: + - groovy@GROOVY_4_0_6 + rm: + - tools/codegenerator/groovy/* + prebuild: + - echo 'org.gradle.java.home=/usr/lib/jvm/java-17-openjdk-amd64' >> $$groovy$$/gradle.properties + - echo 'org.gradle.java.home=/usr/lib/jvm/java-11-openjdk-amd64' >> tools/android/packaging/gradle.properties + - sed -i -e '/gradlew/d' -e '/gradle-wrapper.jar/d' cmake/scripts/android/Install.cmake + - sed -i -e 's#./gradlew#gradle#' -e '\!@cp xbmc/build!d' tools/android/packaging/Makefile.in + - sed -i -e '/signingConfigs {/,+11d' -e '/signingConfig/d' tools/android/packaging/xbmc/build.gradle.in + - sed -i -e 's#${GROOVY_DIR}/commons-lang-${COMMONS_VER}.jar#/usr/share/java/commons-lang.jar#' + xbmc/interfaces/swig/CMakeLists.txt + scanignore: + - addons/webinterface.default/lib/soundmanager/swf/soundmanager2_flash_xdomain.zip + scandelete: + - lib/ + - project/ + - tools/ + - xbmc/filesystem/test + build: + - pushd $$groovy$$ + - gradle :jarjar :groovy-templates:jarjar :groovy-xml:jarjar + - popd + - mv $$groovy$$/build/libs/groovy-?.?.?.jar $$groovy$$/subprojects/groovy-templates/build/libs/groovy-templates-?.?.?.jar + $$groovy$$/subprojects/groovy-xml/build/libs/groovy-xml-?.?.?.jar tools/codegenerator/groovy/ + - pushd tools/depends/ + - ./bootstrap + - ./configure --host=aarch64-linux-android --with-sdk-path=$$SDK$$ --with-ndk-path=$$NDK$$ + --prefix=$PWD/output --disable-debug + - make -j $(nproc) + - popd + - make -C tools/depends/target/binary-addons -j $(nproc) + - make -C tools/depends/target/cmakebuildsys + - make -C build -j $(nproc) + - make -C build apk + ndk: r21e + MaintainerNotes: |- 18.0-groovy.patch was provided by upstream; it makes the build use the Debian groovy package instead of a prebuilt JAR. + Since Kodi 20.2 we build Groovy from source because Debian ships too old version (2.4.21). Groovy 4.0 wants JDK 16+, but Kodi fails to build with JDK 17 ("Unsupported class file major version 61"), so we use two JDKs. + Build instructions are available here. checkupdates will fail for this app, so that's why UpdateCheckMode is None. Please keep up-to-date manually. AutoUpdateMode: None UpdateCheckMode: None -CurrentVersion: '19.4' -CurrentVersionCode: 1904001 +CurrentVersion: '20.2' +CurrentVersionCode: 2002001 diff --git a/srclibs/groovy.yml b/srclibs/groovy.yml new file mode 100644 index 0000000000..fff313da15 --- /dev/null +++ b/srclibs/groovy.yml @@ -0,0 +1,2 @@ +RepoType: git +Repo: https://github.com/apache/groovy