distributable:
  url: https://www.libssh.org/files/{{ version.major }}.{{ version.minor }}/libssh-{{ version }}.tar.xz
  strip-components: 1

versions:
  url: https://git.libssh.org/projects/libssh.git/refs/tags
  match: /libssh-\d+\.\d+\.\d+\.tar\.gz/
  strip:
    - /libssh-/
    - /.tar.gz/

dependencies:
  openssl.org: ^1.1
  zlib.net: ^1

build:
  dependencies:
    cmake.org: ^3
  working-directory: build
  script: |
    cmake .. $ARGS
    make install
    mv src/libssh.a {{ prefix }}/lib
  env:
    ARGS:
      - -DBUILD_STATIC_LIB=ON
      - -DWITH_SYMBOL_VERSIONING=OFF
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX={{prefix}}

test:
  script: |
    mv $FIXTURE test.c
    gcc test.c -lssh -o test
    ./test
  fixture: |
    #include <libssh/libssh.h>
    #include <stdlib.h>
    int main()
    {
      ssh_session my_ssh_session = ssh_new();
      if (my_ssh_session == NULL)
        exit(-1);
      ssh_free(my_ssh_session);
      return 0;
    }
