From 5eb35c5b4338c2ca7e49a7855f463597a17dcb10 Mon Sep 17 00:00:00 2001 From: Hernan Martinez Date: Mon, 22 Aug 2022 21:02:24 -0600 Subject: [PATCH] libjxl, hiredix, ccache: Enable aarch64 builds --- mingw-w64-ccache/PKGBUILD | 5 +++-- mingw-w64-hiredis/PKGBUILD | 2 +- mingw-w64-libjxl/0004-aarch64.patch | 28 ++++++++++++++++++++++++++++ mingw-w64-libjxl/PKGBUILD | 14 +++++++++----- 4 files changed, 41 insertions(+), 8 deletions(-) create mode 100644 mingw-w64-libjxl/0004-aarch64.patch diff --git a/mingw-w64-ccache/PKGBUILD b/mingw-w64-ccache/PKGBUILD index 51e4c0a2a9..39f07b6b2a 100644 --- a/mingw-w64-ccache/PKGBUILD +++ b/mingw-w64-ccache/PKGBUILD @@ -8,14 +8,14 @@ pkgver=4.6.1 pkgrel=2 pkgdesc="Compiler cache that speeds up recompilation by caching previous compilations (mingw-w64)" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://ccache.dev/" license=("GPL3") replaces=("${MINGW_PACKAGE_PREFIX}-${_realname}-git") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-ninja" - "${MINGW_PACKAGE_PREFIX}-asciidoctor" + $([[ ${MSYSTEM_CARCH} == aarch64 ]] || echo "${MINGW_PACKAGE_PREFIX}-asciidoctor") "${MINGW_PACKAGE_PREFIX}-pkg-config") depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs" "${MINGW_PACKAGE_PREFIX}-hiredis" @@ -45,6 +45,7 @@ build() { "${extra_config[@]}" \ -DBUILD_SHARED_LIBS=ON \ -DSTATIC_LINK=OFF \ + $([[ ${MSYSTEM_CARCH} == aarch64 ]] && echo "-DENABLE_DOCUMENTATION=OFF") \ ../${_realname}-${pkgver} ${MINGW_PREFIX}/bin/cmake --build . diff --git a/mingw-w64-hiredis/PKGBUILD b/mingw-w64-hiredis/PKGBUILD index 8634288666..86242879e6 100644 --- a/mingw-w64-hiredis/PKGBUILD +++ b/mingw-w64-hiredis/PKGBUILD @@ -7,7 +7,7 @@ pkgver=1.0.2 pkgrel=2 pkgdesc="Minimalistic C client for Redis" arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://github.com/redis/hiredis" license=("BSD-3-Clause License") makedepends=("${MINGW_PACKAGE_PREFIX}-cc" diff --git a/mingw-w64-libjxl/0004-aarch64.patch b/mingw-w64-libjxl/0004-aarch64.patch new file mode 100644 index 0000000000..22a0c40b7b --- /dev/null +++ b/mingw-w64-libjxl/0004-aarch64.patch @@ -0,0 +1,28 @@ +diff -bur libjxl-c/tools/cpu/cpu.cc libjxl/tools/cpu/cpu.cc +--- libjxl-c/tools/cpu/cpu.cc 2022-08-20 01:57:22.755144900 -0600 ++++ libjxl/tools/cpu/cpu.cc 2022-08-20 02:09:28.859810900 -0600 +@@ -32,6 +32,10 @@ + #include + #include + ++#ifdef __MINGW32__ ++#include ++#endif ++ + #include "lib/jxl/base/bits.h" + #include "lib/jxl/base/compiler_specific.h" + #include "lib/jxl/base/status.h" +@@ -408,7 +412,13 @@ + // TODO(deymo): Actually look up the CPU topology and model the big/small + // core split. + pt->logical_per_core = 1; ++#ifdef __MINGW32__ ++ SYSTEM_INFO sysInfo; ++ GetSystemInfo(&sysInfo); ++ pt->cores_per_package = sysInfo.dwNumberOfProcessors; ++#else + pt->cores_per_package = sysconf(_SC_NPROCESSORS_ONLN); ++#endif + pt->packages = 1; + return true; + #endif diff --git a/mingw-w64-libjxl/PKGBUILD b/mingw-w64-libjxl/PKGBUILD index abada326dc..a9f0deb202 100644 --- a/mingw-w64-libjxl/PKGBUILD +++ b/mingw-w64-libjxl/PKGBUILD @@ -4,10 +4,10 @@ _realname=libjxl pkgbase=mingw-w64-${_realname} pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}" pkgver=0.6.1 -pkgrel=2 +pkgrel=3 pkgdesc='JPEG XL image format reference implementation (mingw-w64)' arch=('any') -mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32') +mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64') url="https://jpeg.org/jpegxl/" license=('spdx:BSD-3-Clause') depends=("${MINGW_PACKAGE_PREFIX}-brotli" @@ -21,7 +21,7 @@ makedepends=("git" "${MINGW_PACKAGE_PREFIX}-cc" "${MINGW_PACKAGE_PREFIX}-cmake" "${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2" - "${MINGW_PACKAGE_PREFIX}-gimp" + $([[ ${MSYSTEM_CARCH} == aarch64 ]] || echo "${MINGW_PACKAGE_PREFIX}-gimp") "${MINGW_PACKAGE_PREFIX}-ninja") optdepends=("${MINGW_PACKAGE_PREFIX}-gdk-pixbuf2: for gdk-pixbuf loader" "${MINGW_PACKAGE_PREFIX}-gimp: for gimp plugin") @@ -35,7 +35,8 @@ source=("git+https://github.com/libjxl/libjxl.git#tag=v${pkgver}" 'git+https://github.com/google/highway.git' 0001-cmake-fix-plugin-install.patch 0002-pkgconfig-add-Cflags-private.patch - 0003-cmake-remove-static-suffix.patch) + 0003-cmake-remove-static-suffix.patch + 0004-aarch64.patch) sha256sums=('SKIP' 'SKIP' 'SKIP' @@ -43,7 +44,8 @@ sha256sums=('SKIP' 'SKIP' '79292870c8bd17ac130c38ab2fee131c16c42b139bc1fc20ad95aad5e1cfedd3' 'd01724ae707bf499da1f91b0c06b29cc386148986763a417b50867384d28ec74' - '83adf70d472bf0c130bb47ac91159ad5978a14a8293ccfe9c6bef7488adb072d') + '83adf70d472bf0c130bb47ac91159ad5978a14a8293ccfe9c6bef7488adb072d' + '0091f10b75a63d679e425cdf24353b042c19648470480b239a272da050c19897') prepare() { cd "${_realname}" @@ -70,6 +72,8 @@ prepare() { # https://github.com/libjxl/libjxl/pull/1438 git apply "${srcdir}/0003-cmake-remove-static-suffix.patch" + + patch -p1 -i "${srcdir}/0004-aarch64.patch" } build() {