distributable:
  url: https://download.gnome.org/sources/libsoup/{{version.marketing}}/libsoup-{{version}}.tar.xz
  strip-components: 1

versions:
  url: https://download.gnome.org/sources/libsoup/cache.json
  match: /libsoup-\d+\.\d+\.\d+\.tar\.xz/
  strip:
    - /^libsoup-/
    - /\.tar\.xz/

dependencies:
  gnome.org/glib-networking: '*'
  gnutls.org: '*'
  rockdaboot.github.io/libpsl: '*'
  kerberos.org: '*'
  gnome.org/libxml2: '*'
  sqlite.org: '*'
  nghttp2.org: '*'
  linux:
    gnu.org/gettext: '*'
    gnome.org/glib: '*'
    github.com/google/brotli: '*'

build:
  dependencies:
    gnome.org/gobject-introspection: '*'
    mesonbuild.com: '*'
    ninja-build.org: '*'
    freedesktop.org/pkg-config: '*'
    python.org: ~3.11
    gnome.org/vala: '*'
  script:
    - meson setup build $MESON_ARGS
    - meson compile -C build --verbose
    - meson install -C build
    - run: |
        DIRS=$(find . -mindepth 1 -maxdepth 1 -type d -name libsoup\*)
        for d in $DIRS; do
          d2=$(echo $d | sed -r 's/\.\/(libsoup.*)-[0-9]+\.[0-9]+$/\1/')
          ln -s $d $d2
        done
      working-directory: '{{prefix}}/include'
  env:
    MESON_ARGS:
      - --prefix="{{prefix}}"
      - --libdir="{{prefix}}/lib"
      - --buildtype=release
      - --wrap-mode=nofallback
    linux:
      CC: clang
      CXX: clang++
      LD: clang

test:
  dependencies:
    freedesktop.org/pkg-config: '*'
  script:
    - run: cc test.c $(pkg-config --libs --cflags libsoup-3.0) -o test
      if: '>=2.90'
    - run: cc test.c $(pkg-config --libs --cflags libsoup-2.4) -o test
      if: '<2.90'
    - ./test
