pantry/projects/github.com/linux-test-project/lcov/package.yml
Jacob Heider d66c87f8a7 fix(lcov)
build v2 on darwin

closes #4338
2024-04-22 17:29:30 -04:00

90 lines
1.9 KiB
YAML

distributable:
url: https://github.com/linux-test-project/lcov/releases/download/v{{ version.raw }}/lcov-{{ version.raw }}.tar.gz
strip-components: 1
versions:
github: linux-test-project/lcov
strip: /^v/
provides:
- bin/lcov
- bin/geninfo
- bin/genhtml
- bin/gendesc
- bin/genpng
dependencies:
perl.org: '>=5'
python.org: 3
runtime:
env:
PERL5LIB: ${{prefix}}/lib/perl5
build:
dependencies:
cpanmin.us: ^1
script:
- cpanm -l {{prefix}} $PKGS
- make --jobs {{ hw.concurrency }} $ARGS install
- fix-shebangs.ts {{prefix}}/bin/*
# v2 installs to lib/lcov
- run: |
if test -d lcov; then
mv lcov/* perl5/
rmdir lcov
ln -s perl5 lcov
fi
if: '>=2'
working-directory: ${{prefix}}/lib
# cpanm installs without write perms
- run: chmod -Rf +w *
working-directory: ${{prefix}}/lib/perl5
# need to clean up paths in the scripts
- run: sed -i
-e '2i use File::Basename qw(dirname);'
-e 's|"{{prefix}}|dirname($0) . "/..|g'
../lib/perl5/lcovutil.pm *
working-directory: ${{prefix}}/bin
env:
PKGS:
- Capture::Tiny
- DateTime
- DateTime::Locale
- Devel::Cover
- Digest::MD5
- ExtUtils::Helpers
- File::Find
- File::Spec
- IPC::System::Simple
- JSON::XS
- Module::Build::Tiny
- Readonly
- Time::HiRes
linux:
PKGS:
- Memory::Process
ARGS:
- PREFIX="{{prefix}}"
- BIN_DR="{{prefix}}/bin"
test:
dependencies:
gnu.org/gcc: '*'
script:
- mv $FIXTURE hello_world.c
- gcc -g -O2 --coverage -o hello_world hello_world.c
- ./hello_world
- lcov --gcov-tool gcov --directory . --capture --output-file all_coverage.info
- test -f all_coverage.info
- grep hello_world.c all_coverage.info
fixture: |
#include <stdio.h>
int main(void)
{
puts("hello world");
return 0;
}