diff --git a/metadata/is.xyz.vcmi.yml b/metadata/is.xyz.vcmi.yml index b9f56bf116..6aec31bca4 100644 --- a/metadata/is.xyz.vcmi.yml +++ b/metadata/is.xyz.vcmi.yml @@ -25,12 +25,15 @@ Builds: submodules: true sudo: - apt update || apt update - - apt install -y pkgconf wget cmake yasm jq dos2unix + - apt install -y wget yasm jq dos2unix output: project/vcmi-app/build/outputs/apk/vcmi-vcmiOnly-release-unsigned.apk prebuild: - - export NDK="/home/vagrant/android-ndk/r14b" + - export VCMI_ABI="armeabi-v7a" + - export ABI_ALIAS='arm\|armeabi\|arm_v7a\|armeabi-v7a' + - export VCMI_COMMIT="7e7c98852dbec9da748c261995fd16c11e53c494" + - export VCMI_VERCODE=1004 - pushd ext/vcmi - - git checkout -f 7e7c98852dbec9da748c261995fd16c11e53c494 + - git checkout -f $VCMI_COMMIT - popd - wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz - wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.tar.gz @@ -50,10 +53,11 @@ Builds: - mv SDL2_image-2.0.1 ext/SDL2/SDL2-image/code - mv SDL2_mixer-2.0.1 ext/SDL2/SDL2-mixer/code - mv SDL2_ttf-2.0.13 ext/SDL2/SDL2-ttf/code - - cat vcmiconf.json | jq --arg "DIR" $(pwd) --arg "NDK15" $NDK '.bash.ndkRoot=$NDK15 - | .ndkRoot=$NDK15 | .sdkRoot="$$SDK$$" | .javaRoot="/usr/lib/jvm/java-8-openjdk-amd64" - | .boostFolderName="boost_1_68_0" | .androidApi=21 | .bash.projectRoot=$DIR - | .projectRoot=$DIR | .abis = "armeabi-v7a arm64-v8a x86 x86_64"' > temp + - cat vcmiconf.json | jq --arg "DIR" $(pwd) --arg "NDK14" "$HOME/android-ndk/r14b" + --arg "ABIS" "$VCMI_ABI" '.bash.ndkRoot=$NDK14 | .ndkRoot=$NDK14 | .sdkRoot="$$SDK$$" + | .javaRoot="/usr/lib/jvm/java-8-openjdk-amd64" | .boostFolderName="boost_1_68_0" + | .androidApi=21 | .bash.projectRoot=$DIR | .projectRoot=$DIR | .abis=$ABIS' + > temp - mv temp vcmiconf.json - sed -i -e 's/\.\/gradlew/gradle/' build.py - dos2unix project/gradle/wrapper/gradle-wrapper.properties @@ -72,14 +76,236 @@ Builds: ext/ff/ffmpeg/configure - find ext/SDL2 -type f -regextype posix-extended -regex '.+\.(dll|jar|lib|mcp)$' -delete + - sed -i -e "s/^APP_VERSION_CODE=.*/APP_VERSION_CODE=${VCMI_VERCODE}/" project/gradle.properties + - sed -i -e "/^\(build_arch\|copy_output\)\ \(${ABI_ALIAS}\)\($\|\ \)/b; /^\(build_arch\|copy_output\)\ + .*/d" ext/ff/all.sh + - sed -i -e "/^build_arch\ \(${ABI_ALIAS}\)\ .*/b; /^build_arch\ .*/d" ext/ff/bx264.sh scandelete: - ext build: - - export NDK="/home/vagrant/android-ndk/r17c" - python3 build.py build-optional - - cat vcmiconf.json | jq --arg "NDK17" $NDK '.bash.ndkRoot=$NDK17 | .ndkRoot=$NDK17' + - cat vcmiconf.json | jq --arg "NDK17" "$HOME/android-ndk/r17c" '.bash.ndkRoot=$NDK17 + | .ndkRoot=$NDK17' > temp + - mv temp vcmiconf.json + - python3 build.py fixpaths + - python3 build.py build-cmake + - python3 build.py build-app + + - versionName: '1.4' + versionCode: 1005 + commit: 93d13ec59c9032b4cced8277e71ac2c80f1152cb + timeout: 80000 + submodules: true + sudo: + - apt update || apt update + - apt install -y wget yasm jq dos2unix + output: project/vcmi-app/build/outputs/apk/vcmi-vcmiOnly-release-unsigned.apk + prebuild: + - export VCMI_ABI="arm64-v8a" + - export ABI_ALIAS='aarch64\|arm64-v8a\|arm64_v8a' + - export VCMI_COMMIT="7e7c98852dbec9da748c261995fd16c11e53c494" + - export VCMI_VERCODE=1005 + - pushd ext/vcmi + - git checkout -f $VCMI_COMMIT + - popd + - wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz + - wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.tar.gz + - wget https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.tar.gz + - wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.13.tar.gz + - sha256sum -c <<< "da3411ea45622579d419bfda66f45cd0f8c32a181d84adfa936f5688388995cf boost_1_68_0.tar.gz" + - sha256sum -c <<< "3a3eafbceea5125c04be585373bfd8b3a18f259bd7eae3efc4e6d8e60e0d7f64 SDL2_image-2.0.1.tar.gz" + - sha256sum -c <<< "5a24f62a610249d744cbd8d28ee399d8905db7222bf3bdbc8a8b4a76e597695f SDL2_mixer-2.0.1.tar.gz" + - sha256sum -c <<< "f51d3829985691efa9aad306a935ef69bc880a525c887548563c33ea35e8ed04 SDL2_ttf-2.0.13.tar.gz" + - tar -xzf boost_1_68_0.tar.gz + - tar -xzf SDL2_image-2.0.1.tar.gz + - tar -xzf SDL2_mixer-2.0.1.tar.gz + - tar -xf SDL2_ttf-2.0.13.tar.gz + - rm boost_1_68_0.tar.gz SDL2_image-2.0.1.tar.gz SDL2_mixer-2.0.1.tar.gz SDL2_ttf-2.0.13.tar.gz + - mkdir ext/boost + - mv boost_1_68_0 ext/boost/. + - mv SDL2_image-2.0.1 ext/SDL2/SDL2-image/code + - mv SDL2_mixer-2.0.1 ext/SDL2/SDL2-mixer/code + - mv SDL2_ttf-2.0.13 ext/SDL2/SDL2-ttf/code + - cat vcmiconf.json | jq --arg "DIR" $(pwd) --arg "NDK14" "$HOME/android-ndk/r14b" + --arg "ABIS" "$VCMI_ABI" '.bash.ndkRoot=$NDK14 | .ndkRoot=$NDK14 | .sdkRoot="$$SDK$$" + | .javaRoot="/usr/lib/jvm/java-8-openjdk-amd64" | .boostFolderName="boost_1_68_0" + | .androidApi=21 | .bash.projectRoot=$DIR | .projectRoot=$DIR | .abis=$ABIS' > temp - mv temp vcmiconf.json + - sed -i -e 's/\.\/gradlew/gradle/' build.py + - dos2unix project/gradle/wrapper/gradle-wrapper.properties + - sed -i -e 's/signingConfig\ signingConfigs\.releaseSigning/signingConfig null/' + -e '/applicationVariants\.all/d' -e 's/zipAlignEnabled\ true//' project/vcmi-app/build.gradle + - sed -i -e 's/^fixFFConf().*//' fix_ffmpeg_confs.py + - python3 update_internal_assets.py + - python3 build.py fixpaths + - find ext/ff -iname "*.sh" -exec dos2unix {} \; -exec chmod +x {} \; -exec + sed -i -e "s/^make$/make -j$(nproc)/" {} \; + - find ext/ff -iname "configure" -exec dos2unix {} \; -exec chmod +x {} \; + - sed -i -e "s/^SLIBNAME_WITH_VERSION='\$(SLIBNAME)\.\$(LIBVERSION)'/SLIBNAME_WITH_VERSION='\$(SLIBNAME)'/" + -e "s/^SLIBNAME_WITH_MAJOR='\$(SLIBNAME)\.\$(LIBMAJOR)'/SLIBNAME_WITH_MAJOR='\$(SLIBNAME)'/" + -e "s/^SLIB_INSTALL_NAME='\$(SLIBNAME_WITH_VERSION)'/SLIB_INSTALL_NAME='\$(SLIBNAME)'/" + -e "s/^SLIB_INSTALL_LINKS='\$(SLIBNAME_WITH_MAJOR)\ \$(SLIBNAME)'/SLIB_INSTALL_LINKS=''/" + ext/ff/ffmpeg/configure + - find ext/SDL2 -type f -regextype posix-extended -regex '.+\.(dll|jar|lib|mcp)$' + -delete + - sed -i -e "s/^APP_VERSION_CODE=.*/APP_VERSION_CODE=${VCMI_VERCODE}/" project/gradle.properties + - sed -i -e "/^\(build_arch\|copy_output\)\ \(${ABI_ALIAS}\)\($\|\ \)/b; /^\(build_arch\|copy_output\)\ + .*/d" ext/ff/all.sh + - sed -i -e "/^build_arch\ \(${ABI_ALIAS}\)\ .*/b; /^build_arch\ .*/d" ext/ff/bx264.sh + scandelete: + - ext + build: + - python3 build.py build-optional + - cat vcmiconf.json | jq --arg "NDK17" "$HOME/android-ndk/r17c" '.bash.ndkRoot=$NDK17 + | .ndkRoot=$NDK17' > temp + - mv temp vcmiconf.json + - python3 build.py fixpaths + - python3 build.py build-cmake + - python3 build.py build-app + + - versionName: '1.4' + versionCode: 1006 + commit: 93d13ec59c9032b4cced8277e71ac2c80f1152cb + timeout: 80000 + submodules: true + sudo: + - apt update || apt update + - apt install -y wget yasm jq dos2unix + output: project/vcmi-app/build/outputs/apk/vcmi-vcmiOnly-release-unsigned.apk + prebuild: + - export VCMI_ABI="x86" + - export ABI_ALIAS='i686\|x86' + - export VCMI_COMMIT="7e7c98852dbec9da748c261995fd16c11e53c494" + - export VCMI_VERCODE=1006 + - pushd ext/vcmi + - git checkout -f $VCMI_COMMIT + - popd + - wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz + - wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.tar.gz + - wget https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.tar.gz + - wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.13.tar.gz + - sha256sum -c <<< "da3411ea45622579d419bfda66f45cd0f8c32a181d84adfa936f5688388995cf boost_1_68_0.tar.gz" + - sha256sum -c <<< "3a3eafbceea5125c04be585373bfd8b3a18f259bd7eae3efc4e6d8e60e0d7f64 SDL2_image-2.0.1.tar.gz" + - sha256sum -c <<< "5a24f62a610249d744cbd8d28ee399d8905db7222bf3bdbc8a8b4a76e597695f SDL2_mixer-2.0.1.tar.gz" + - sha256sum -c <<< "f51d3829985691efa9aad306a935ef69bc880a525c887548563c33ea35e8ed04 SDL2_ttf-2.0.13.tar.gz" + - tar -xzf boost_1_68_0.tar.gz + - tar -xzf SDL2_image-2.0.1.tar.gz + - tar -xzf SDL2_mixer-2.0.1.tar.gz + - tar -xf SDL2_ttf-2.0.13.tar.gz + - rm boost_1_68_0.tar.gz SDL2_image-2.0.1.tar.gz SDL2_mixer-2.0.1.tar.gz SDL2_ttf-2.0.13.tar.gz + - mkdir ext/boost + - mv boost_1_68_0 ext/boost/. + - mv SDL2_image-2.0.1 ext/SDL2/SDL2-image/code + - mv SDL2_mixer-2.0.1 ext/SDL2/SDL2-mixer/code + - mv SDL2_ttf-2.0.13 ext/SDL2/SDL2-ttf/code + - cat vcmiconf.json | jq --arg "DIR" $(pwd) --arg "NDK14" "$HOME/android-ndk/r14b" + --arg "ABIS" "$VCMI_ABI" '.bash.ndkRoot=$NDK14 | .ndkRoot=$NDK14 | .sdkRoot="$$SDK$$" + | .javaRoot="/usr/lib/jvm/java-8-openjdk-amd64" | .boostFolderName="boost_1_68_0" + | .androidApi=21 | .bash.projectRoot=$DIR | .projectRoot=$DIR | .abis=$ABIS' + > temp + - mv temp vcmiconf.json + - sed -i -e 's/\.\/gradlew/gradle/' build.py + - dos2unix project/gradle/wrapper/gradle-wrapper.properties + - sed -i -e 's/signingConfig\ signingConfigs\.releaseSigning/signingConfig null/' + -e '/applicationVariants\.all/d' -e 's/zipAlignEnabled\ true//' project/vcmi-app/build.gradle + - sed -i -e 's/^fixFFConf().*//' fix_ffmpeg_confs.py + - python3 update_internal_assets.py + - python3 build.py fixpaths + - find ext/ff -iname "*.sh" -exec dos2unix {} \; -exec chmod +x {} \; -exec + sed -i -e "s/^make$/make -j$(nproc)/" {} \; + - find ext/ff -iname "configure" -exec dos2unix {} \; -exec chmod +x {} \; + - sed -i -e "s/^SLIBNAME_WITH_VERSION='\$(SLIBNAME)\.\$(LIBVERSION)'/SLIBNAME_WITH_VERSION='\$(SLIBNAME)'/" + -e "s/^SLIBNAME_WITH_MAJOR='\$(SLIBNAME)\.\$(LIBMAJOR)'/SLIBNAME_WITH_MAJOR='\$(SLIBNAME)'/" + -e "s/^SLIB_INSTALL_NAME='\$(SLIBNAME_WITH_VERSION)'/SLIB_INSTALL_NAME='\$(SLIBNAME)'/" + -e "s/^SLIB_INSTALL_LINKS='\$(SLIBNAME_WITH_MAJOR)\ \$(SLIBNAME)'/SLIB_INSTALL_LINKS=''/" + ext/ff/ffmpeg/configure + - find ext/SDL2 -type f -regextype posix-extended -regex '.+\.(dll|jar|lib|mcp)$' + -delete + - sed -i -e "s/^APP_VERSION_CODE=.*/APP_VERSION_CODE=${VCMI_VERCODE}/" project/gradle.properties + - sed -i -e "/^\(build_arch\|copy_output\)\ \(${ABI_ALIAS}\)\($\|\ \)/b; /^\(build_arch\|copy_output\)\ + .*/d" ext/ff/all.sh + - sed -i -e "/^build_arch\ \(${ABI_ALIAS}\)\ .*/b; /^build_arch\ .*/d" ext/ff/bx264.sh + scandelete: + - ext + build: + - python3 build.py build-optional + - cat vcmiconf.json | jq --arg "NDK17" "$HOME/android-ndk/r17c" '.bash.ndkRoot=$NDK17 + | .ndkRoot=$NDK17' > temp + - mv temp vcmiconf.json + - python3 build.py fixpaths + - python3 build.py build-cmake + - python3 build.py build-app + + - versionName: '1.4' + versionCode: 1007 + commit: 93d13ec59c9032b4cced8277e71ac2c80f1152cb + timeout: 80000 + submodules: true + sudo: + - apt update || apt update + - apt install -y wget yasm jq dos2unix + output: project/vcmi-app/build/outputs/apk/vcmi-vcmiOnly-release-unsigned.apk + prebuild: + - export VCMI_ABI="x86_64" + - export ABI_ALIAS='x86_64' + - export VCMI_COMMIT="7e7c98852dbec9da748c261995fd16c11e53c494" + - export VCMI_VERCODE=1007 + - pushd ext/vcmi + - git checkout -f $VCMI_COMMIT + - popd + - wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz + - wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.1.tar.gz + - wget https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.tar.gz + - wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.13.tar.gz + - sha256sum -c <<< "da3411ea45622579d419bfda66f45cd0f8c32a181d84adfa936f5688388995cf boost_1_68_0.tar.gz" + - sha256sum -c <<< "3a3eafbceea5125c04be585373bfd8b3a18f259bd7eae3efc4e6d8e60e0d7f64 SDL2_image-2.0.1.tar.gz" + - sha256sum -c <<< "5a24f62a610249d744cbd8d28ee399d8905db7222bf3bdbc8a8b4a76e597695f SDL2_mixer-2.0.1.tar.gz" + - sha256sum -c <<< "f51d3829985691efa9aad306a935ef69bc880a525c887548563c33ea35e8ed04 SDL2_ttf-2.0.13.tar.gz" + - tar -xzf boost_1_68_0.tar.gz + - tar -xzf SDL2_image-2.0.1.tar.gz + - tar -xzf SDL2_mixer-2.0.1.tar.gz + - tar -xf SDL2_ttf-2.0.13.tar.gz + - rm boost_1_68_0.tar.gz SDL2_image-2.0.1.tar.gz SDL2_mixer-2.0.1.tar.gz SDL2_ttf-2.0.13.tar.gz + - mkdir ext/boost + - mv boost_1_68_0 ext/boost/. + - mv SDL2_image-2.0.1 ext/SDL2/SDL2-image/code + - mv SDL2_mixer-2.0.1 ext/SDL2/SDL2-mixer/code + - mv SDL2_ttf-2.0.13 ext/SDL2/SDL2-ttf/code + - cat vcmiconf.json | jq --arg "DIR" $(pwd) --arg "NDK14" "$HOME/android-ndk/r14b" + --arg "ABIS" "$VCMI_ABI" '.bash.ndkRoot=$NDK14 | .ndkRoot=$NDK14 | .sdkRoot="$$SDK$$" + | .javaRoot="/usr/lib/jvm/java-8-openjdk-amd64" | .boostFolderName="boost_1_68_0" + | .androidApi=21 | .bash.projectRoot=$DIR | .projectRoot=$DIR | .abis=$ABIS' + > temp + - mv temp vcmiconf.json + - sed -i -e 's/\.\/gradlew/gradle/' build.py + - dos2unix project/gradle/wrapper/gradle-wrapper.properties + - sed -i -e 's/signingConfig\ signingConfigs\.releaseSigning/signingConfig null/' + -e '/applicationVariants\.all/d' -e 's/zipAlignEnabled\ true//' project/vcmi-app/build.gradle + - sed -i -e 's/^fixFFConf().*//' fix_ffmpeg_confs.py + - python3 update_internal_assets.py + - python3 build.py fixpaths + - find ext/ff -iname "*.sh" -exec dos2unix {} \; -exec chmod +x {} \; -exec + sed -i -e "s/^make$/make -j$(nproc)/" {} \; + - find ext/ff -iname "configure" -exec dos2unix {} \; -exec chmod +x {} \; + - sed -i -e "s/^SLIBNAME_WITH_VERSION='\$(SLIBNAME)\.\$(LIBVERSION)'/SLIBNAME_WITH_VERSION='\$(SLIBNAME)'/" + -e "s/^SLIBNAME_WITH_MAJOR='\$(SLIBNAME)\.\$(LIBMAJOR)'/SLIBNAME_WITH_MAJOR='\$(SLIBNAME)'/" + -e "s/^SLIB_INSTALL_NAME='\$(SLIBNAME_WITH_VERSION)'/SLIB_INSTALL_NAME='\$(SLIBNAME)'/" + -e "s/^SLIB_INSTALL_LINKS='\$(SLIBNAME_WITH_MAJOR)\ \$(SLIBNAME)'/SLIB_INSTALL_LINKS=''/" + ext/ff/ffmpeg/configure + - find ext/SDL2 -type f -regextype posix-extended -regex '.+\.(dll|jar|lib|mcp)$' + -delete + - sed -i -e "s/^APP_VERSION_CODE=.*/APP_VERSION_CODE=${VCMI_VERCODE}/" project/gradle.properties + - sed -i -e "/^\(build_arch\|copy_output\)\ \(${ABI_ALIAS}\)\($\|\ \)/b; /^\(build_arch\|copy_output\)\ + .*/d" ext/ff/all.sh + - sed -i -e "/^build_arch\ \(${ABI_ALIAS}\)\ .*/b; /^build_arch\ .*/d" ext/ff/bx264.sh + scandelete: + - ext + build: + - python3 build.py build-optional + - cat vcmiconf.json | jq --arg "NDK17" "$HOME/android-ndk/r17c" '.bash.ndkRoot=$NDK17 + | .ndkRoot=$NDK17' > temp + - mv temp vcmiconf.json - python3 build.py fixpaths - python3 build.py build-cmake - python3 build.py build-app @@ -89,8 +315,10 @@ MaintainerNotes: |- - Commit hashes for the launcher and vcmi itself match the APK released on google play. The newer commit reported in the app itself is a bug. - The prebuilt section fixes a number of things to allow building dependencies and libraries from the source. - Upstream uses prebuilt libs instead and their build procedures were not updated for some time. + - Builds split into a separate build for each architecture, with incremental version code (which must be reflected in both main "build" section and prebuild env variable). + - "commit" section points to the commit of the launcher repo, while "VCMI_COMMIT" var points to commit of the upstream vcmi repo. AutoUpdateMode: None UpdateCheckMode: None CurrentVersion: '1.4' -CurrentVersionCode: 1004 +CurrentVersionCode: 1007