distributable:
  url: https://ftp.gnu.org/gnu/automake/automake-{{ version }}.tar.gz
  strip-components: 1

versions:
  url: https://ftp.gnu.org/gnu/automake/
  match: /automake-(\d+\.\d+(\.\d+)?)\.tar\.gz/
  strip:
    - /automake-/
    - /.tar.gz/

provides:
  - bin/aclocal
  - bin/automake

dependencies:
  gnu.org/autoconf: ^2.65.0
  perl.org: '*'

build:
  dependencies:
    gnu.org/patch: '*'
  script: |-
    ./configure \
      --build={{ hw.target }} \
      --prefix="{{ prefix }}"
    make -j {{ hw.concurrency }} install

    cd "{{prefix}}"

    # fix hardcoded paths
    perl -pi -e "s|'{{prefix}}/|\\\$prefix.'/|" bin/* share/automake-{{version.marketing}}/Automake/Config.pm
    patch -p1 <"$SRCROOT"/props/relocatable.diff
    ln -sf aclocal bin/aclocal-{{version.marketing}}
    ln -sf automake bin/automake-{{version.marketing}}

    fix-shebangs.ts bin/*
  env:
    PERL5LIB: '{{prefix}}/share/automake-{{version.marketing}}'

# TODO to prove automake doesn't require autoconf we should
# use “depend” on the autoconf test to generate our `configure` separately
test:
  script: |
    aclocal
    automake --add-missing --foreign
    autoconf
    ./configure
    make
    ./test
