#!perl

use alienfile;

plugin 'PkgConfig' => (
    pkg_name        => 'tidy',
    minimum_version => '5.6.0',
);

meta->around_hook('probe' => sub {
    my($orig, $build) = @_;

    my $type = $orig->($build);
    if($type eq 'system') {
        foreach my $exe (qw( tidy5 tidy )) {
            if(`$exe -version` =~ /HTML Tidy /) {
                $build->runtime_prop->{command} = $exe;
                return 'system';
            }
        }
    }

    return 'share';
});

share {

    plugin 'Build::CMake';

    start_url 'https://github.com/htacg/tidy-html5/tags';

    plugin 'Download' => (
        filter  => qr/(\d\.)+\d\.tar\.gz$/,
        version => qr/([0-9\.]+)/,
        prefer  => 1,
    );

    plugin 'Extract' => 'tar.gz';

    build [
        [
            '%{cmake}',
            -G => '%{cmake_generator}',
            '-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=true',
            '-DCMAKE_INSTALL_PREFIX:PATH=%{.install.prefix}', '.'
        ],
        '%{make}',
        '%{make} install',
    ];

    after 'gather' => sub {
        my($build) = @_;
        $build->runtime_prop->{command} = 'tidy';
    };

};
