From 246cd8d06b295556a51bad872efbbedffa434a76 Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 9 Nov 2024 21:26:45 +0100 Subject: [PATCH] Add CI tests for macos-14 and macos-15 Signed-off-by: falkTX --- .github/workflows/bootstrap.yml | 125 +++++++++++++++++++++++--------- bootstrap-common.sh | 2 + bootstrap-plugins.sh | 30 +++++--- setup/functions.sh | 15 +++- 4 files changed, 123 insertions(+), 49 deletions(-) diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 830a631..83c22f3 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -4,7 +4,7 @@ on: push: env: - CACHE_VERSION: 11 + CACHE_VERSION: 13 DEBIAN_FRONTEND: noninteractive PAWPAW_SKIP_TESTS: 1 @@ -13,15 +13,6 @@ jobs: strategy: matrix: include: - # macos 12 - - target: macos - os: macos-12 - - target: macos-10.15 - os: macos-12 - - target: macos-universal - os: macos-12 - - target: macos-universal-10.15 - os: macos-12 # macos 13 - target: macos os: macos-13 @@ -31,6 +22,24 @@ jobs: os: macos-13 - target: macos-universal-10.15 os: macos-13 + # macos 14 + - target: macos + os: macos-14 + - target: macos-10.15 + os: macos-14 + - target: macos-universal + os: macos-14 + - target: macos-universal-10.15 + os: macos-14 + # macos 15 + - target: macos + os: macos-15 + - target: macos-10.15 + os: macos-15 + - target: macos-universal + os: macos-15 + - target: macos-universal-10.15 + os: macos-15 # debian:11 - target: linux-aarch64 container: debian:11 @@ -169,15 +178,33 @@ jobs: strategy: matrix: include: - # macos 12 + # macos 13 + - target: macos + os: macos-13 + - target: macos-10.15 + os: macos-13 + - target: macos-universal + os: macos-13 + - target: macos-universal-10.15 + os: macos-13 + # macos 14 - target: macos - os: macos-12 + os: macos-14 - target: macos-10.15 - os: macos-12 + os: macos-14 - target: macos-universal - os: macos-12 + os: macos-14 - target: macos-universal-10.15 - os: macos-12 + os: macos-14 + # macos 15 + - target: macos + os: macos-15 + - target: macos-10.15 + os: macos-15 + - target: macos-universal + os: macos-15 + - target: macos-universal-10.15 + os: macos-15 # debian:11 - target: linux-aarch64 container: debian:11 @@ -328,15 +355,6 @@ jobs: strategy: matrix: include: - # macos 12 - - target: macos - os: macos-12 - - target: macos-10.15 - os: macos-12 - - target: macos-universal - os: macos-12 - - target: macos-universal-10.15 - os: macos-12 # macos 13 - target: macos os: macos-13 @@ -346,6 +364,24 @@ jobs: os: macos-13 - target: macos-universal-10.15 os: macos-13 + # macos 14 + - target: macos + os: macos-14 + - target: macos-10.15 + os: macos-14 + - target: macos-universal + os: macos-14 + - target: macos-universal-10.15 + os: macos-14 + # macos 15 + - target: macos + os: macos-15 + - target: macos-10.15 + os: macos-15 + - target: macos-universal + os: macos-15 + - target: macos-universal-10.15 + os: macos-15 # debian:11 - target: linux-aarch64 container: debian:11 @@ -475,15 +511,27 @@ jobs: strategy: matrix: include: - # macos 12 - - target: macos - os: macos-12 + # macos 13 - target: macos-10.15 - os: macos-12 + os: macos-13 - target: macos-universal - os: macos-12 + os: macos-13 - target: macos-universal-10.15 - os: macos-12 + os: macos-13 + # macos 14 + - target: macos-10.15 + os: macos-14 + - target: macos-universal + os: macos-14 + - target: macos-universal-10.15 + os: macos-14 + # macos 15 + - target: macos-10.15 + os: macos-15 + - target: macos-universal + os: macos-15 + - target: macos-universal-10.15 + os: macos-15 # debian:11 - target: linux-aarch64 container: debian:11 @@ -681,7 +729,7 @@ jobs: matrix: include: - target: macos-universal - os: macos-12 + os: macos-13 - target: win32 container: debian:12 os: ubuntu-latest @@ -737,16 +785,21 @@ jobs: strategy: matrix: include: - # macos 12 - - target: macos-10.15 - os: macos-12 - - target: macos-universal-10.15 - os: macos-12 # macos 13 - target: macos-10.15 os: macos-13 - target: macos-universal-10.15 os: macos-13 + # macos 14 + - target: macos-10.15 + os: macos-14 + - target: macos-universal-10.15 + os: macos-14 + # macos 15 + - target: macos-10.15 + os: macos-15 + - target: macos-universal-10.15 + os: macos-15 # debian 11 - target: linux-x86_64 container: debian:11 diff --git a/bootstrap-common.sh b/bootstrap-common.sh index bd143f9..cf495d5 100755 --- a/bootstrap-common.sh +++ b/bootstrap-common.sh @@ -294,6 +294,8 @@ fi # --------------------------------------------------------------------------------------------------------------------- # pkgconfig +export EXTRA_CFLAGS="-Wno-int-conversion" + download pkg-config "${PKG_CONFIG_VERSION}" "${PKG_CONFIG_URL}" build_host_autoconf pkg-config "${PKG_CONFIG_VERSION}" "--enable-indirect-deps --with-internal-glib --with-pc-path=${TARGET_PKG_CONFIG_PATH}" diff --git a/bootstrap-plugins.sh b/bootstrap-plugins.sh index 661b14a..ebe9de0 100755 --- a/bootstrap-plugins.sh +++ b/bootstrap-plugins.sh @@ -274,6 +274,10 @@ elif [ "${WIN32}" -eq 1 ]; then fi download cairo "${CAIRO_VERSION}" "${CAIRO_URL}" "tar.xz" + +# fix build when compiler or linker uses stderr, see https://gitlab.freedesktop.org/cairo/cairo/-/issues/121 +patch_file cairo "${CAIRO_VERSION}" "configure" 's/test "x$cairo_cc_stderr" != "x"/false/g' + build_autoconf cairo "${CAIRO_VERSION}" "${CAIRO_EXTRAFLAGS}" # FIXME tests are failing :( @@ -310,13 +314,16 @@ elif [ "${MACOS_UNIVERSAL}" -eq 0 ]; then FFTW_EXTRAFLAGS+=" --enable-sse2" fi +# debug builds are broken, as they override CFLAGS +if [ -n "${PAWPAW_DEBUG}" ] && [ "${PAWPAW_DEBUG}" -eq 1 ]; then + FFTW_EXTRAFLAGS+=" --disable-debug" +fi + download fftw "${FFTW_VERSION}" "${FFTW_URL}" build_autoconf fftw "${FFTW_VERSION}" "${FFTW_EXTRAFLAGS}" -if [ -z "${PAWPAW_DEBUG}" ] || [ "${PAWPAW_DEBUG}" -eq 0 ]; then - if [ -z "${PAWPAW_SKIP_TESTS}" ] || [ "${PAWPAW_SKIP_TESTS}" -eq 0 ]; then - run_make fftw "${FFTW_VERSION}" check - fi +if [ -z "${PAWPAW_SKIP_TESTS}" ] || [ "${PAWPAW_SKIP_TESTS}" -eq 0 ]; then + run_make fftw "${FFTW_VERSION}" check fi fi # PAWPAW_SKIP_FFTW @@ -340,13 +347,16 @@ if [ -z "${PAWPAW_NOSIMD}" ] || [ "${PAWPAW_NOSIMD}" -eq 0 ]; then fi fi +# debug builds are broken, as they override CFLAGS +if [ -n "${PAWPAW_DEBUG}" ] && [ "${PAWPAW_DEBUG}" -eq 1 ]; then + FFTWF_EXTRAFLAGS+=" --disable-debug" +fi + copy_download fftw fftwf "${FFTW_VERSION}" build_autoconf fftwf "${FFTW_VERSION}" "${FFTWF_EXTRAFLAGS}" -if [ -z "${PAWPAW_DEBUG}" ] || [ "${PAWPAW_DEBUG}" -eq 0 ]; then - if [ -z "${PAWPAW_SKIP_TESTS}" ] || [ "${PAWPAW_SKIP_TESTS}" -eq 0 ]; then - run_make fftwf "${FFTW_VERSION}" check - fi +if [ -z "${PAWPAW_SKIP_TESTS}" ] || [ "${PAWPAW_SKIP_TESTS}" -eq 0 ]; then + run_make fftwf "${FFTW_VERSION}" check fi fi # PAWPAW_SKIP_FFTW @@ -388,10 +398,12 @@ if [ "${MACOS}" -eq 1 ] || [ "${WASM}" -eq 1 ] || [ "${WIN32}" -eq 1 ]; then GLIB_EXTRAFLAGS+=" ac_cv_lib_socket_socket=no ac_cv_func_posix_getgrgid_r=no ac_cv_func_posix_getpwuid_r=no glib_cv_stack_grows=no glib_cv_uscore=no" fi + export EXTRA_CFLAGS="-Wno-incompatible-function-pointer-types" + if [ "${MACOS}" -eq 1 ]; then export EXTRA_LDFLAGS="-lresolv" elif [ "${WIN32}" -eq 1 ]; then - export EXTRA_CFLAGS="-Wno-format -Wno-format-overflow" + export EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-format -Wno-format-overflow" fi download glib ${GLIB_VERSION} "${GLIB_URL}" "${GLIB_TAR_EXT}" diff --git a/setup/functions.sh b/setup/functions.sh index 1ec4512..9bcbe31 100644 --- a/setup/functions.sh +++ b/setup/functions.sh @@ -223,7 +223,9 @@ function build_autoconf() { extraconfrules+=" --host=${TOOLCHAIN_PREFIX} ac_cv_build=$(uname -m)-linux-gnu ac_cv_host=${TOOLCHAIN_PREFIX}" fi - if [ -n "${PAWPAW_DEBUG}" ] && [ "${PAWPAW_DEBUG}" -eq 1 ]; then + if echo "${extraconfrules}" | grep -q -e '--enable-debug' -e '--disable-debug'; then + true + elif [ -n "${PAWPAW_DEBUG}" ] && [ "${PAWPAW_DEBUG}" -eq 1 ]; then extraconfrules+=" --enable-debug" else extraconfrules+=" --disable-debug" @@ -655,10 +657,11 @@ function build_host_autoconf() { unset CXX unset LD unset STRIP - unset CFLAGS unset CPPFLAGS - unset CXXFLAGS - unset LDFLAGS + + export CFLAGS="${EXTRA_CFLAGS}" + export CXXFLAGS="${EXTRA_CXXFLAGS}" + export LDFLAGS="${EXTRA_LDFLAGS}" if [ -e "${PAWPAW_ROOT}/patches/${pkgname}" ] && [ ! -f "${pkgdir}/.stamp_cleanup" ] && [ ! -f "${pkgdir}/.stamp_configured" ]; then local patchtargets="${PAWPAW_TARGET}" @@ -709,6 +712,10 @@ function build_host_autoconf() { touch .stamp_installed popd fi + + unset CFLAGS + unset CXXFLAGS + unset LDFLAGS } function build_host_cmake() {