mirror of
https://github.com/ivabus/pantry
synced 2024-11-29 11:45:07 +03:00
d66c87f8a7
build v2 on darwin closes #4338
90 lines
1.9 KiB
YAML
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;
|
|
}
|