Files
chromebrew/packages/perl.rb
2020-09-21 13:28:49 -04:00

65 lines
2.7 KiB
Ruby

require 'package'
class Perl < Package
description 'Perl 5 is a highly capable, feature-rich programming language with over 29 years of development.'
homepage 'https://www.perl.org/'
version '5.32.0'
compatibility 'all'
source_url 'http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz'
source_sha256 'efeb1ce1f10824190ad1cadbcccf6fdb8a5d37007d0100d2d9ae5f2b5900c0b4'
binary_url ({
aarch64: 'https://dl.bintray.com/chromebrew/chromebrew/perl-5.32.0-chromeos-armv7l.tar.xz',
armv7l: 'https://dl.bintray.com/chromebrew/chromebrew/perl-5.32.0-chromeos-armv7l.tar.xz',
i686: 'https://dl.bintray.com/chromebrew/chromebrew/perl-5.32.0-chromeos-i686.tar.xz',
x86_64: 'https://dl.bintray.com/chromebrew/chromebrew/perl-5.32.0-chromeos-x86_64.tar.xz',
})
binary_sha256 ({
aarch64: '736d8284c6f70e2a166df6761eec557c191244a8ea9c7ad610151dd210cba68b',
armv7l: '736d8284c6f70e2a166df6761eec557c191244a8ea9c7ad610151dd210cba68b',
i686: '76294f4fb6ebf3d93d4181396ae82518b04fdf3ddcf6e56f2d3d7d685ace939b',
x86_64: '8c6fbecce88351a4d0bf80edcf6e5a50ea4f8240f19ab8140238d67ab390c586',
})
depends_on 'patch' => :build
def self.build
FileUtils.ln_sf "#{CREW_LIB_PREFIX}/libnsl.so.1", "#{CREW_LIB_PREFIX}/libnsl.so"
# Use system zlib and bzip2
# Create shared library
# Install manual files into #{CREW_PREFIX}/share/man/man* even if groff is not installed.
system "BUILD_ZLIB=False BUILD_BZIP2=0 ./Configure -de -Duseshrplib -Dman1dir=#{CREW_MAN_PREFIX}/man1 -Dman3dir=#{CREW_MAN_PREFIX}/man3"
system 'make'
system 'curl -o cpanm https://cpanmin.us'
end
def self.install
system 'make', "DESTDIR=#{CREW_DEST_DIR}", 'install'
FileUtils.mkdir_p CREW_DEST_LIB_PREFIX if ARCH == 'x86_64'
FileUtils.ln_sf "#{CREW_LIB_PREFIX}/libnsl.so.1", "#{CREW_DEST_LIB_PREFIX}/libnsl.so"
system "install -Dm755 cpanm #{CREW_DEST_PREFIX}/bin/cpanm"
end
def self.check
# having strange error as explained at https://patchwork.openembedded.org/patch/95795/
# so, apply patch from https://github.com/habitat-sh/core-plans/blob/master/perl/skip-wide-character-test.patch
# to ignore this single test
system 'patch -p1 << EOF
diff -ur perl-5.22.1.orig/t/lib/warnings/regexec perl-5.22.1/t/lib/warnings/regexec
--- perl-5.22.1.orig/t/lib/warnings/regexec 2015-10-30 21:14:29.000000000 +0000
+++ perl-5.22.1/t/lib/warnings/regexec 2016-01-19 05:05:50.218474114 +0000
@@ -188,6 +188,7 @@
########
# NAME \b{} in UTF-8 locale
require \'../loc_tools.pl\';
+print("SKIPPED\n# This test causes a failure in the test suite\n"),exit;
unless (locales_enabled()) {
print("SKIPPED\n# locales not available\n"),exit;
}
EOF'
# test
system "make test"
end
end