pantry/projects/gnu.org/autoconf/package.yml
2023-12-22 18:41:04 -05:00

64 lines
1.8 KiB
YAML

distributable:
url: https://ftp.gnu.org/gnu/autoconf/autoconf-{{ version.raw }}.tar.gz
strip-components: 1
versions:
url: https://ftp.gnu.org/gnu/autoconf/
match: /autoconf-(\d+\.\d+(\.\d+)?)\.tar\.gz/
strip:
- /autoconf-/
- /.tar.gz/
provides:
- bin/autoconf
- bin/autoheader
- bin/autom4te
- bin/autoreconf
- bin/autoscan
- bin/autoupdate
- bin/ifnames
dependencies:
gnu.org/m4: 1
perl.org: '*'
build:
- ./configure
--build={{ hw.target }}
--prefix="{{ prefix }}"
- make --jobs {{ hw.concurrency }} install
- cd "{{prefix}}"
- fix-shebangs.ts bin/*
- perl -pi -e 's|'\''{{prefix}}|"\$PREFIX"'\''|g' bin/autoconf
# fix specific m4 and perl paths
- perl -pi -e 's|{{ deps.perl.org.prefix }}/bin/perl|perl|g' bin/*
- perl -pi -e 's|{{ deps.gnu.org/m4.prefix }}/bin/m4|m4|g' bin/*
# fix hardcoded paths
# this was a patch, but patches are fragile. this is more robust. for now.
- PREFIX="$(echo '{{prefix}}' | sed 's/\+/\\+/g')"
- perl -pi -e "s|'$PREFIX/|\\\$prefix.'/|g" bin/*
- run: patch -p1 < $SRCROOT/props/relocatable.diff
if: <2.72.0
- run: |
perl -p0i -e 's/\nBEGIN\n\{/use Cwd qw(abs_path);\nuse File::Basename;\n\nmy \$prefix;\nBEGIN\n{\n \$prefix = dirname(dirname(abs_path(__FILE__)));\n \$ENV{'\''PREFIX'\''} = \$prefix;\n/s' bin/*
perl -p0i -e 's|\n \# Normalize the|\n \# added by pkgx\n \@prepend_include = map { \$_ =~ s/\\\$PREFIX/\$prefix/r } \@prepend_include;\n\n \# Normalize the|g' bin/autom4te
if: '>=2.72.0'
- perl -pi -e "s|$PREFIX|\\\$PREFIX|" share/autoconf/autom4te.cfg
test:
dependencies:
llvm.org: '*' # requires a C compiler to configure
env:
CC: clang
script:
- autoconf --verbose --debug
- ./configure
- test -f config.status
- test -f config.log