distributable:
  url: git+https://github.com/libjxl/libjxl.git
  ref: v{{version}}

versions:
  github: libjxl/libjxl

dependencies:
  github.com/google/brotli: ^1
  littlecms.com: ^2.13
  google.com/highway: ^1
  google.com/webp: ^1
  giflib.sourceforge.io: ^5
  openexr.com: ^3
  libpng.org: ^1

provides:
  - bin/cjxl
  - bin/cjpegli
  - bin/djxl
  - bin/djpegli
  - bin/jxlinfo

build:
  dependencies:
    freedesktop.org/pkg-config: ^0.29
    cmake.org: ^3
    gnu.org/coreutils: '*' # deps.sh needs “realpath”
    git-scm.org: ^2
  working-directory: build
  script:
    # the `SJPEG` library is obscure and we have not yet pkg’d it.
    # the rest we have and provide as deps.
    # jpeg-turbo is a dep we provide, but for some reason around v0.9 the
    # jpegxl build started requiring their vendored copy
    - run: |
        ./deps.sh
        find third_party -not -name sjpeg -and -not -name libjpeg-turbo -mindepth 1 -maxdepth 1 -type d | xargs rm -rf
      working-directory: ..

    - cmake .. $ARGS

    - make --jobs {{ hw.concurrency }} install
  env:
    ARGS:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX={{prefix}}
      - -DBUILD_TESTING=OFF
      - -DJPEGXL_ENABLE_SKCMS=OFF
      - -DJPEGXL_ENABLE_BENCHMARK=OFF
      - -DJPEGXL_VERSION={{version}}
    linux/x86-64:
      ARGS:
        # ld.lld: error: undefined reference due to --no-allow-shlib-undefined: __extendhfsf2
        - -DCMAKE_EXE_LINKER_FLAGS=-Wl,--allow-shlib-undefined

test:
  - cjxl fixture.jpeg out.jxl

  - cc fixture1.c -ljxl
  - ./a.out

  - cc fixture2.c -ljxl_threads
  - ./a.out
