mirror of
https://github.com/ivabus/pantry
synced 2024-11-15 04:55:08 +03:00
91 lines
1.9 KiB
YAML
91 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
|
|
|
|
platforms: linux
|
|
|
|
dependencies:
|
|
perl.org: ">=5"
|
|
|
|
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
|
|
- |
|
|
if test -d "{{prefix}}/lib/lcov"; then
|
|
cd "{{prefix}}/lib"
|
|
test -d perl5 || mkdir perl5
|
|
mv lcov/* perl5
|
|
rmdir lcov
|
|
ln -s perl5 lcov
|
|
fi
|
|
|
|
# cpanm installs without write perms
|
|
- chmod -R +w "{{prefix}}/lib/perl5"
|
|
|
|
# need to clean up paths in the scripts
|
|
- |
|
|
cd "{{prefix}}/bin"
|
|
|
|
sed -i.bak \
|
|
-e '2i use File::Basename qw(dirname);' \
|
|
-e 's|"{{prefix}}|dirname($0) . "/..|g' \
|
|
* ../lib/perl5/lcovutil.pm
|
|
rm *.bak ../lib/perl5/lcovutil.pm.bak
|
|
env:
|
|
PKGS:
|
|
- Capture::Tiny
|
|
- DateTime
|
|
- DateTime::Locale
|
|
- Devel::Cover
|
|
- Digest::MD5
|
|
- ExtUtils::Helpers
|
|
- File::Find
|
|
- File::Spec
|
|
- IPC::System::Simple
|
|
- JSON::XS
|
|
- Memory::Process
|
|
- Module::Build::Tiny
|
|
- Readonly
|
|
- Time::HiRes
|
|
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;
|
|
}
|