diff --git a/projects/github.com/linux-test-project/lcov/package.yml b/projects/github.com/linux-test-project/lcov/package.yml index 925f358b..862d2a36 100644 --- a/projects/github.com/linux-test-project/lcov/package.yml +++ b/projects/github.com/linux-test-project/lcov/package.yml @@ -3,7 +3,7 @@ distributable: strip-components: 1 versions: - github: linux-test-project/lcov/releases/tags + github: linux-test-project/lcov strip: /^v/ provides: @@ -13,6 +13,8 @@ provides: - bin/gendesc - bin/genpng +platforms: linux + dependencies: perl.org: ">=5" @@ -25,11 +27,49 @@ build: tea.xyz/gx/cc: c99 tea.xyz/gx/make: '*' cpanmin.us: ^1 - script: | - cpanm -l {{prefix}} File::Find - make --jobs {{ hw.concurrency }} $ARGS install - fix-shebangs.ts {{prefix}}/bin/* + 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"