diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index 94cc204..aef462c 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -16,6 +16,10 @@ jobs: CONFIG: linux_aarch64_ UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 + linux_ppc64le_: + CONFIG: linux_ppc64le_ + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: quay.io/condaforge/linux-anvil-cos7-x86_64 timeoutInMinutes: 360 variables: {} diff --git a/.ci_support/linux_ppc64le_.yaml b/.ci_support/linux_ppc64le_.yaml new file mode 100644 index 0000000..31294b2 --- /dev/null +++ b/.ci_support/linux_ppc64le_.yaml @@ -0,0 +1,41 @@ +c_compiler: +- clang +c_compiler_version: +- '18' +c_stdlib: +- sysroot +c_stdlib_version: +- '2.17' +cdt_name: +- cos7 +channel_sources: +- conda-forge +channel_targets: +- conda-forge main +cxx_compiler: +- clangxx +cxx_compiler_version: +- '18' +docker_image: +- quay.io/condaforge/linux-anvil-cos7-x86_64 +giflib: +- '5.2' +jpeg: +- '9' +libhwy: +- '1.1' +libjpeg_turbo: +- '3' +libpng: +- '1.6' +openexr: +- '3.2' +target_platform: +- linux-ppc64le +zip_keys: +- - c_compiler_version + - cxx_compiler_version +- - c_stdlib_version + - cdt_name +zlib: +- '1' diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index ba4b251..856f469 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -43,6 +43,8 @@ setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" source run_conda_forge_build_setup + + # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" diff --git a/.scripts/run_win_build.bat b/.scripts/run_win_build.bat index 65650bf..a45c34f 100755 --- a/.scripts/run_win_build.bat +++ b/.scripts/run_win_build.bat @@ -24,7 +24,7 @@ set "CONDA_LIBMAMBA_SOLVER_NO_CHANNELS_FROM_INSTALLED=1" :: Provision the necessary dependencies to build the recipe later echo Installing dependencies -mamba.exe install "python=3.10" pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes +mamba.exe install pip mamba conda-build conda-forge-ci-setup=4 "conda-build>=24.1" -c conda-forge --strict-channel-priority --yes if !errorlevel! neq 0 exit /b !errorlevel! :: Set basic configuration @@ -48,7 +48,7 @@ if NOT [%HOST_PLATFORM%] == [%BUILD_PLATFORM%] ( ) if NOT [%flow_run_id%] == [] ( - set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" + set "EXTRA_CB_OPTIONS=%EXTRA_CB_OPTIONS% --extra-meta flow_run_id=%flow_run_id% remote_url=%remote_url% sha=%sha%" ) call :end_group diff --git a/README.md b/README.md index 9ac18ef..0ef50d1 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This repository contains a reference implementation of JPEG XL (encoder and deco called libjxl. This software library is used by many applications that support JPEG XL. `libjxl` provides the core library. -For `cjxl`, `djxl`, and other tools, use `libjxl-tools`. +For `cjxl`, `djxl`, `libjxl_extras_codec`, and other tools, use `libjxl-tools`. Current build status @@ -49,6 +49,13 @@ Current build status variant + + linux_ppc64le + + + variant + + osx_64 diff --git a/build-locally.py b/build-locally.py index 8ac9b84..6788aea 100755 --- a/build-locally.py +++ b/build-locally.py @@ -1,5 +1,5 @@ #!/bin/sh -"""exec' "python3" "$0" "$@" #""" # fmt: off # fmt: on +"""exec" "python3" "$0" "$@" #""" # fmt: off # fmt: on # # This file has been generated by conda-smithy in order to build the recipe # locally. diff --git a/recipe/conda_build_config.yaml b/recipe/conda_build_config.yaml new file mode 100644 index 0000000..f7777f9 --- /dev/null +++ b/recipe/conda_build_config.yaml @@ -0,0 +1,10 @@ +# Use clang instead of GCC due to ICE with GCC versions 12 & 13 on ppc64le. +# For more details, see: https://github.com/libjxl/libjxl/issues/3387 +c_compiler: + - clang # [ppc64le] +c_compiler_version: + - 18 # [ppc64le] +cxx_compiler: + - clangxx # [ppc64le] +cxx_compiler_version: + - 18 # [ppc64le] diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 2a5641c..520f03b 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -23,10 +23,7 @@ source: folder: third_party/libjpeg-turbo build: - number: 0 - # it seems that ppc64le triggers an internal compiler error - # https://github.com/conda-forge/libjxl-split-feedstock/issues/20 - skip: true # [ppc64le] + number: 1 requirements: build: