From 2a9fbf2d2b8c97ed28c085ceac5484573bf8232e Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sat, 18 Mar 2023 16:49:23 +0900 Subject: [PATCH 1/2] #749 fixes link libpng 1.6.32 and added 1.6.39 --- scripts/libpng/1.6.32/script.sh | 2 +- scripts/libpng/1.6.39/.travis.yml | 45 ++++++++++++++++++++ scripts/libpng/1.6.39/script.sh | 71 +++++++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 scripts/libpng/1.6.39/.travis.yml create mode 100755 scripts/libpng/1.6.39/script.sh diff --git a/scripts/libpng/1.6.32/script.sh b/scripts/libpng/1.6.32/script.sh index 499649226..9056b9c2f 100755 --- a/scripts/libpng/1.6.32/script.sh +++ b/scripts/libpng/1.6.32/script.sh @@ -12,7 +12,7 @@ ZLIB_SHARED_VERSION=1.2.8 function mason_load_source { mason_download \ - https://downloads.sourceforge.net/project/libpng/libpng16/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \ + https://downloads.sourceforge.net/project/libpng/libpng16/older-releases/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \ 752b19285db1aab9d0b8f5ef2312390734f71e70 mason_extract_tar_gz diff --git a/scripts/libpng/1.6.39/.travis.yml b/scripts/libpng/1.6.39/.travis.yml new file mode 100644 index 000000000..215be2672 --- /dev/null +++ b/scripts/libpng/1.6.39/.travis.yml @@ -0,0 +1,45 @@ +language: generic + +matrix: + include: + - os: osx + osx_image: xcode8.2 + compiler: clang + - os: linux + env: MASON_PLATFORM_VERSION=cortex_a9 + sudo: false + - os: linux + env: MASON_PLATFORM_VERSION=i686 + sudo: false + addons: + apt: + packages: [ 'zlib1g-dev:i386' ] + - os: linux + env: MASON_PLATFORM=linux + compiler: clang + sudo: false + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v5 + sudo: false + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v7 + sudo: false + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=arm-v8 + sudo: false + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86 + sudo: false + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=x86-64 + sudo: false + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips + sudo: false + - os: linux + env: MASON_PLATFORM=android MASON_ANDROID_ABI=mips-64 + sudo: false + +script: +- ./mason build ${MASON_NAME} ${MASON_VERSION} +- ./mason publish ${MASON_NAME} ${MASON_VERSION} diff --git a/scripts/libpng/1.6.39/script.sh b/scripts/libpng/1.6.39/script.sh new file mode 100755 index 000000000..1740fb6ae --- /dev/null +++ b/scripts/libpng/1.6.39/script.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +MASON_NAME=libpng +MASON_VERSION=1.6.39 +MASON_LIB_FILE=lib/libpng.a +MASON_PKGCONFIG_FILE=lib/pkgconfig/libpng.pc + +# Used when cross compiling to cortex_a9 +ZLIB_SHARED_VERSION=1.2.8 + +. ${MASON_DIR}/mason.sh + +function mason_load_source { + mason_download \ + https://downloads.sourceforge.net/project/libpng/libpng16/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \ + 752b19285db1aab9d0b8f5ef2312390734f71e70 + + mason_extract_tar_gz + + export MASON_BUILD_PATH=${MASON_ROOT}/.build/libpng-${MASON_VERSION} +} + +function mason_prepare_compile { + # Install the zlib dependency when cross compiling as usually the host system only + # provides the zlib headers and libraries in the path for the host architecture. + if [ ${MASON_PLATFORM_VERSION} == "cortex_a9" ] || [ ${MASON_PLATFORM_VERSION} == "i686" ]; then + cd $(dirname ${MASON_ROOT}) + ${MASON_DIR}/mason install zlib_shared ${ZLIB_SHARED_VERSION} + ${MASON_DIR}/mason link zlib_shared ${ZLIB_SHARED_VERSION} + + MASON_ZLIB_CFLAGS="$(${MASON_DIR}/mason cflags zlib_shared ${ZLIB_SHARED_VERSION})" + MASON_ZLIB_LDFLAGS="-L$(${MASON_DIR}/mason prefix zlib_shared ${ZLIB_SHARED_VERSION})/lib" + fi +} + +function mason_compile { + export CFLAGS="${CFLAGS:-} ${MASON_ZLIB_CFLAGS:-} -O3 -DNDEBUG" + export LDFLAGS="${CFLAGS:-} ${MASON_ZLIB_LDFLAGS:-}" + + if [ ${MASON_PLATFORM_VERSION} == "cortex_a9" ] || [ ${MASON_PLATFORM_VERSION} == "i686" ]; then + # XXX: This hack is because libpng does not respect CFLAGS + # for all the files. Bruteforce in the compiler command line. + export CC="${CC:-} ${CFLAGS}" + fi + + ./configure \ + --prefix=${MASON_PREFIX} \ + ${MASON_HOST_ARG} \ + --enable-static \ + --with-pic \ + --disable-shared \ + --disable-dependency-tracking + + V=1 VERBOSE=1 make install -j${MASON_CONCURRENCY} +} + +function mason_strip_ldflags { + shift # -L... + shift # -lpng16 + echo "$@" +} + +function mason_ldflags { + mason_strip_ldflags $(`mason_pkgconfig` --static --libs) +} + +function mason_clean { + make clean +} + +mason_run "$@" From 05f829c3508134f9fedbc9d280caa43aca9d3519 Mon Sep 17 00:00:00 2001 From: Taro Matsuzawa Date: Sat, 18 Mar 2023 16:58:29 +0900 Subject: [PATCH 2/2] #174 update checksum for libpng 1.6.39 --- scripts/libpng/1.6.39/script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libpng/1.6.39/script.sh b/scripts/libpng/1.6.39/script.sh index 1740fb6ae..192e3cc90 100755 --- a/scripts/libpng/1.6.39/script.sh +++ b/scripts/libpng/1.6.39/script.sh @@ -13,7 +13,7 @@ ZLIB_SHARED_VERSION=1.2.8 function mason_load_source { mason_download \ https://downloads.sourceforge.net/project/libpng/libpng16/${MASON_VERSION}/libpng-${MASON_VERSION}.tar.gz \ - 752b19285db1aab9d0b8f5ef2312390734f71e70 + d7381b740d41de6ca31eec5143205c1a75b0f445 mason_extract_tar_gz