From af1e61a9dcd6d6b2c50e166e7fcd76a446e8ed95 Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sun, 14 Feb 2021 16:05:25 +0200 Subject: [PATCH 01/10] Updating libaom 2.0.0 -> 2.0.2 --- scripts/libaom/download.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libaom/download.sh b/scripts/libaom/download.sh index beba661..73a0b48 100755 --- a/scripts/libaom/download.sh +++ b/scripts/libaom/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -AOM_VERSION=v2.0.0 +AOM_VERSION=v2.0.2 downloadTarArchive \ "libaom" \ From e7f284519a9aa011efbe3dc08f846e6066a6762a Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sun, 14 Feb 2021 16:07:07 +0200 Subject: [PATCH 02/10] Updating libdav1d 0.7.0 -> 0.8.1 --- scripts/libdav1d/download.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libdav1d/download.sh b/scripts/libdav1d/download.sh index eaea41e..4dc80e7 100755 --- a/scripts/libdav1d/download.sh +++ b/scripts/libdav1d/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -DAV1D_VERSION=0.7.0 +DAV1D_VERSION=0.8.1 downloadTarArchive \ "libdav1d" \ From 9bb2ad85ab2b16e03f550a345ab2288201c1bc94 Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sun, 14 Feb 2021 21:34:15 +0200 Subject: [PATCH 03/10] Updating libvpx 1.8.2 -> 1.9.0 --- scripts/libvpx/download.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libvpx/download.sh b/scripts/libvpx/download.sh index c68fa8f..fc011ee 100755 --- a/scripts/libvpx/download.sh +++ b/scripts/libvpx/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -VPX_VERSION=v1.8.2 +VPX_VERSION=v1.9.0 downloadTarArchive \ "libvpx" \ From bdf5cfac6adcdf72257d7b47719c42bb1704bd1e Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sun, 14 Feb 2021 21:39:47 +0200 Subject: [PATCH 04/10] Updating libwavpack 5.3.0 -> 5.4.0 --- scripts/libwavpack/download.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libwavpack/download.sh b/scripts/libwavpack/download.sh index e36de8f..319b6de 100755 --- a/scripts/libwavpack/download.sh +++ b/scripts/libwavpack/download.sh @@ -2,7 +2,7 @@ source ${SCRIPTS_DIR}/common-functions.sh -WAVPACK_VERSION=5.3.0 +WAVPACK_VERSION=5.4.0 downloadTarArchive \ "libwavpack" \ From 5259bbe43c1209291bd0f0e9e7fe7f401297e9ca Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sun, 14 Feb 2021 21:46:14 +0200 Subject: [PATCH 05/10] Updating libx264 to 544c61f082194728d0391fb280a6e138ba320a96 --- scripts/libx264/download.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/libx264/download.sh b/scripts/libx264/download.sh index 46cec38..3933745 100755 --- a/scripts/libx264/download.sh +++ b/scripts/libx264/download.sh @@ -4,8 +4,8 @@ source ${SCRIPTS_DIR}/common-functions.sh # Libx264 doesn't have any versioning system. Currently it has 2 branches: master and stable. # Latest commit in stable branch -# Tue Jun 30 22:28:05 2020 +0300 -LIBX264_VERSION=cde9a93319bea766a92e306d69059c76de970190 +# Thu Jan 21 16:41:42 2021 +0300 +LIBX264_VERSION=544c61f082194728d0391fb280a6e138ba320a96 downloadTarArchive \ "libx264" \ From 67897c15aae01923977b3fb4de4334f35f0ac8ab Mon Sep 17 00:00:00 2001 From: Javernaut Date: Mon, 15 Feb 2021 11:40:27 +0200 Subject: [PATCH 06/10] Updating Android cmdline tools 6609375 -> 6858069 --- .travis.yml | 4 ++-- tools/docker/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9096e1f..b165d1a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,12 +3,12 @@ jdk: openjdk8 dist: xenial install: # Installing Android SDK - - curl https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip --output $HOME/android-sdk.zip + - curl https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip --output $HOME/android-sdk.zip - unzip -qq $HOME/android-sdk.zip -d $HOME/android-sdk - export ANDROID_SDK_HOME=$HOME/android-sdk - export ANDROID_NDK_HOME=$ANDROID_SDK_HOME/ndk/21.3.6528147 # Installing necessary components of Android SDK - - function installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} $1 > /dev/null; } + - function installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} $1 > /dev/null; } - installAndroidComponent "ndk;21.3.6528147" - installAndroidComponent "cmake;3.10.2.4988404" # Installing meson, ninja and nasm that are necessary for libdav1d building diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 6c81406..ec5dc40 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -2,7 +2,7 @@ FROM ubuntu:20.04 # Arguments that can be overridden in 'docker build' command: # Versions of Android SDK and NDK. The CMake is installed via NDK. -ARG VERSION_SDK=6609375 +ARG VERSION_SDK=6858069 ARG VERSION_NDK=21.3.6528147 ARG VERSION_CMAKE=3.10.2.4988404 @@ -46,7 +46,7 @@ RUN mkdir -p ${HOME_TWIN}/android-sdk && \ rm ${HOME_TWIN}/android-sdk.zip # Installing components through the Android SDK -RUN installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} "$1" > /dev/null; } && \ +RUN installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} "$1" > /dev/null; } && \ installAndroidComponent "ndk;${VERSION_NDK}" && \ installAndroidComponent "cmake;${VERSION_CMAKE}" From 0ff0c92bd31f2aa1f98dab3215c1c5e58410287e Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sat, 20 Feb 2021 18:27:35 +0200 Subject: [PATCH 07/10] Github Actions integration for the compilability check --- .github/workflows/compilability_check.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/compilability_check.yml diff --git a/.github/workflows/compilability_check.yml b/.github/workflows/compilability_check.yml new file mode 100644 index 0000000..e3ff2ce --- /dev/null +++ b/.github/workflows/compilability_check.yml @@ -0,0 +1,21 @@ +name: Compilability check +on: push +jobs: + build: + runs-on: ubuntu-20.04 + strategy: + matrix: + abi: [ "armeabi-v7a", "arm64-v8a", "x86", "x86_64" ] + fail-fast: false + steps: + - uses: actions/checkout@v2 + + - name: Setup the environment + run: | + sudo pip3 install meson==0.57.1 + sudo apt-get install nasm ninja-build + + - name: Executing the script + run: | + export ANDROID_SDK_HOME=$ANDROID_HOME + ./ffmpeg-android-maker.sh -all-free -all-gpl -android=18 -abis=${{ matrix.abi }} \ No newline at end of file From f5713841769dc68cffeabd5d86e0876428c7d2c9 Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sat, 20 Feb 2021 18:44:02 +0200 Subject: [PATCH 08/10] Dropping the Travis CI support --- .travis.yml | 33 --------------------------------- README.md | 4 ++-- 2 files changed, 2 insertions(+), 35 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b165d1a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,33 +0,0 @@ -language: java -jdk: openjdk8 -dist: xenial -install: - # Installing Android SDK - - curl https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip --output $HOME/android-sdk.zip - - unzip -qq $HOME/android-sdk.zip -d $HOME/android-sdk - - export ANDROID_SDK_HOME=$HOME/android-sdk - - export ANDROID_NDK_HOME=$ANDROID_SDK_HOME/ndk/21.3.6528147 - # Installing necessary components of Android SDK - - function installAndroidComponent() { yes | ${ANDROID_SDK_HOME}/cmdline-tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} $1 > /dev/null; } - - installAndroidComponent "ndk;21.3.6528147" - - installAndroidComponent "cmake;3.10.2.4988404" - # Installing meson, ninja and nasm that are necessary for libdav1d building - - sudo apt-get install python3-pip python3-setuptools python3-wheel ninja-build - - sudo pip3 install meson==0.53.2 - - curl http://archive.ubuntu.com/ubuntu/pool/universe/n/nasm/nasm_2.14.02-1_amd64.deb --output $HOME/nasm_2.14.02-1_amd64.deb - - sudo dpkg -i $HOME/nasm_2.14.02-1_amd64.deb -jobs: - include: - - name: armeabi-v7a - env: TARGET_ABI=armeabi-v7a - - - name: arm64-v8a - env: TARGET_ABI=arm64-v8a - - - name: x86 - env: TARGET_ABI=x86 - - - name: x86_64 - env: TARGET_ABI=x86_64 -script: - - ./ffmpeg-android-maker.sh -all-free -all-gpl -android=18 -abis=$TARGET_ABI diff --git a/README.md b/README.md index 0d70d09..9286a6f 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # ffmpeg-android-maker [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6b9a9fe4c6874e65a5e2a3f9beb15605)](https://app.codacy.com/manual/Javernaut/ffmpeg-android-maker) -[![Build Status](https://travis-ci.org/Javernaut/ffmpeg-android-maker.svg?branch=master)](https://travis-ci.org/Javernaut/ffmpeg-android-maker) +[![Compilability check](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml/badge.svg)](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml) [![Android Weekly #378](https://androidweekly.net/issues/issue-378/badge)](https://androidweekly.net/issues/issue-378) [![Android Weekly #396](https://androidweekly.net/issues/issue-396/badge)](https://androidweekly.net/issues/issue-396) @@ -70,7 +70,7 @@ Certain external libraries require additional software to be installed. Check th **Test your script in a cloud**. This repository has CI integration and you can use it too for your own configurations. See details [here](https://github.com/Javernaut/ffmpeg-android-maker/wiki/Build-automation). -**Text relocations monitoring**. After an assembling is finished you can look into stats/text-relocations.txt file. This file lists all \*.so files that were built and reports if any of them has text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem. The Travis CI build will automatically fail if text relocations occur. +**Text relocations monitoring**. After an assembling is finished you can look into stats/text-relocations.txt file. This file lists all \*.so files that were built and reports if any of them has text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem. The Github Actions' Compilability check build will automatically fail if text relocations occur. ## License From ce8a11ed7f743c390f2f26d414a759919ab06e94 Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sat, 20 Feb 2021 19:30:19 +0200 Subject: [PATCH 09/10] Github Actions badge now looks only for the master branch --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9286a6f..8786841 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # ffmpeg-android-maker [![Codacy Badge](https://api.codacy.com/project/badge/Grade/6b9a9fe4c6874e65a5e2a3f9beb15605)](https://app.codacy.com/manual/Javernaut/ffmpeg-android-maker) -[![Compilability check](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml/badge.svg)](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml) +[![Compilability check](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml/badge.svg?branch=master)](https://github.com/Javernaut/ffmpeg-android-maker/actions/workflows/compilability_check.yml) [![Android Weekly #378](https://androidweekly.net/issues/issue-378/badge)](https://androidweekly.net/issues/issue-378) [![Android Weekly #396](https://androidweekly.net/issues/issue-396/badge)](https://androidweekly.net/issues/issue-396) From 94d703c8598940cfb90015ed663aad2a807cf228 Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sat, 20 Feb 2021 20:12:21 +0200 Subject: [PATCH 10/10] Updating the Dockerfile --- tools/docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index ec5dc40..616440a 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -3,11 +3,11 @@ FROM ubuntu:20.04 # Arguments that can be overridden in 'docker build' command: # Versions of Android SDK and NDK. The CMake is installed via NDK. ARG VERSION_SDK=6858069 -ARG VERSION_NDK=21.3.6528147 +ARG VERSION_NDK=21.4.7075529 ARG VERSION_CMAKE=3.10.2.4988404 # Package to install via pip3 -ARG VERSION_MESON=0.53.2 +ARG VERSION_MESON=0.57.1 # The HOME variable isn't available for ENV directive (during building an image). # So we define one manually. For alpine and ubuntu it should be '/root'