From 20a4d245bf581549c58d28730fad34b7c9b74cee Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 1 Dec 2017 16:22:32 +0100 Subject: [PATCH] Add perl-5.26.1-0 --- perl-5.26.1-0.build.sh | 516 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 516 insertions(+) create mode 100755 perl-5.26.1-0.build.sh diff --git a/perl-5.26.1-0.build.sh b/perl-5.26.1-0.build.sh new file mode 100755 index 0000000..f116538 --- /dev/null +++ b/perl-5.26.1-0.build.sh @@ -0,0 +1,516 @@ +#! /bin/sh +set -xe + +PKG=perl +VERSION=5.26.1 +BUILD=0 + +PREFIX=/pkg/$PKG-$VERSION-$BUILD +#PREFIX=/dev/shm/$PKG-$VERSION-$BUILD + +if false; then + # force complete rebuild, but keep downloads + cd $PREFIX + # sanity check before we go berserk + test -e build/perl-$VERSION.tar.gz || exit 1 + find . -maxdepth 1 -not -name . -not -name build -exec rm -rf {} \; + find build -maxdepth 1 -not -name build -not -name "*.tar*" -exec rm -rf {} \; +fi + +mkdir -p $PREFIX +cat >$PREFIX/profile <<-EOF + PATH=$PREFIX/bin:\$PATH +EOF +. $PREFIX/profile + +# Some cpan mopdule tests fail when build directory is on +# nfs, because they try to remove directories with unlinked +# but opened files in it. +# Additionally we want a clean envirnoment and a local cpan scratch +# +HOME=/dev/shm/$PKG-$VERSION-$BUILD.build.home.tmp +mkdir -p $HOME + +exec bin/perlVERSION symlink +# -Duseshrplib : build shared perl library (required when perl is to be included in a shared library) +# -DEBUGGING : add debugging code (perl -D) +# +./Configure -des -Duseshrplib -Dprefix=$PREFIX + +make -j$(nproc) + +# Note: If you get a failure in porting/utils test here, it might be, that we are +# running cpan somewhere else which leads to an extra and unexpected "\n" being +# emitted by CPAN.pm BEGIN and a failure of the test (which does "perl -c CPAN.pm") +# +make test +make install + +cd $PREFIX; + +test -e $HOME/.cpan/CPAN/MyConfig.pm && rm $HOME/.cpan/CPAN/MyConfig.pm +cpanload(); + CPAN::Shell->o('conf','recommends_policy',0); + CPAN::Shell->o('conf','commit'); +_EOF_ + +cpan -u # update everything we already have + +# After the update we have a new ExtUtils::MakeMaker. +# Patch this version to avoid stomping on a perl bug +# We've got this when building net-snmp (down below). +# Errors: +# "panic: attempt to copy freed scalar" +# "Bizarre copy of HASH in list assignment# +# this is from perl bug: +# https://rt.perl.org/Public/Bug/Display.html?id=77706 +# triggered by ExtUtils::MakeMaker. +# This patch prevents this +# + +(cd lib/site_perl/$VERSION/ExtUtils; patch -N -p1 < /src/mariux/patches/MakeMaker-0001-MakeMaker.pm-Avoid-triggering-perl-bug.patch) || true + +# These two with -T (without test), because the tests are interactive and access /dev/tty +# Do these first, because they are required by Bundle::CPAN +# +cpan -T Term::ReadLine::Perl +cpan -T Term::ReadLine::Gnu + +# Now the rest of Bundle::CPAN first, so that we use latest code for the following +# installations +# +cpan Bundle::CPAN + +# mod_perl (Apache::*, Bundle::Apache, mod_perl, modPerl_hooks) is broken. +# Usually it wants Apache httpd source to compile and keeps asking for it forever if it +# doesn't find it. +# we could install it without Access to sources +# perl -MCPAN <<'_EOF_' +# CPAN::HandleConfig->load; +# $CPAN::Config->{'makepl_arg'}='NO_HTTPD=1'; +# CPAN::Shell->install('Apache'); +# _EOF_ +# but its broken anyway (needs a patch to compile against +# current perl) and the version 1.* branch has not been updated +# for a long time. leave it out and everything which depends on it +#cpan Bundle::Apache + +# Tests for GD fail +# The seventh image in den GD.t test looks slightly +# different. Maybe small difference in TrueType font. +# +# Do it first, otherwise we are pulled by Chart::Base +# +cpan -T GD + +# Now modules (from autobundle of /usr/local/ installation and manual cleanup and some deduplication) +# +cpan AE +cpan Algorithm::Diff +cpan Algorithm::DiffOld +cpan AnyEvent +cpan AppConfig +cpan Archive::Extract +cpan Archive::Zip +cpan Attribute::Params::Validate +cpan Authen::SASL +cpan B::Keywords +cpan BerkeleyDB +cpan Bit::Vector +cpan CGI +cpan CGI::Fast +cpan CPAN::Admin +cpan CPANPLUS +cpan Cache::Memcached +cpan Capture::Tiny +cpan Carp::Clan +cpan Chart::Base +cpan Class::Accessor +cpan Class::Data::Inheritable +cpan Class::ISA +cpan Class::Inspector +cpan Class::Load +cpan Class::Singleton +cpan Class::Tiny +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Class::Trigger +cpan Clone +cpan Config::General +cpan Config::Tiny +cpan Crypt::OpenSSL::RSA +cpan Crypt::OpenSSL::Random +cpan Crypt::RC4 +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Crypt::SSLeay +cpan DBD::SQLite +cpan DBD::mysql +cpan DBI +cpan File::Flock # required by Daemon::Generic +cpan Daemon::Generic +cpan Data::Grove +cpan Data::ObjectDriver +cpan Data::OptList +cpan Data::Stag +cpan Date::Calendar +cpan Date::Parse +cpan DateTime +cpan DateTime::Locale +cpan DateTime::TimeZone +cpan Devel::CheckLib +cpan Devel::GlobalDestruction +cpan Devel::InnerPackage +cpan Devel::SelfStubber +cpan Devel::StackTrace +cpan Devel::StackTrace::AsHTML +cpan Devel::Symdump +cpan Device::SerialPort +cpan Digest::HMAC +cpan Digest::Perl::MD5 +cpan Digest::SHA1 +cpan Dist::CheckConflicts +cpan Email::Abstract +cpan Email::Address +cpan Email::Date::Format +cpan Email::FolderType +cpan Email::LocalDelivery +cpan Email::MIME +cpan Email::MIME::Attachment::Stripper +cpan Email::MIME::ContentType +cpan Email::MIME::Encodings +cpan Email::MessageID +cpan Email::Outlook::Message +cpan Email::Reply +cpan Email::Send +cpan Email::Simple +cpan Encode::Detect +cpan Encode::Locale +cpan Eval::LineNumbers +cpan Event +cpan Exception::Class +cpan ExtUtils::PkgConfig +cpan FCGI +cpan File::CheckTree +cpan File::Copy::Recursive +cpan File::Flock +cpan File::FnMatch +cpan File::HomeDir +cpan File::Listing +cpan File::Path::Expand +cpan File::Remove +cpan File::ShareDir +cpan File::Slurp +cpan File::Which +cpan Filesys::Notify::Simple +cpan Filter::Util::Exec +cpan Font::AFM +cpan Font::TTF +cpan GD::Graph +cpan GD::Graph::histogram +cpan GD::SVG +cpan GD::Text +cpan Glib +cpan Graph +cpan Graphics::ColorNames +cpan Graphics::ColorObject +cpan HTML::Tree +cpan HTML::Parser +cpan HTML::Form +cpan HTML::Formatter +cpan HTML::Scrubber +cpan HTML::TableParser +cpan HTML::Tagset +cpan HTML::TreeBuilder +cpan HTTP::Body +cpan HTTP::Cookies +cpan HTTP::DAV # note: tests fail if cpan build dir is on nfs +cpan HTTP::Daemon +cpan HTTP::Date +cpan HTTP::Message +cpan HTTP::Negotiate +cpan HTTP::Server::Simple +cpan Hash::MultiValue +cpan Hook::LexWrap +cpan IO::All +cpan IO::CaptureOutput +cpan IO::Multiplex +cpan IO::Pty +cpan IO::Socket::SSL +cpan IO::String +cpan IO::Stringy +cpan IPC::Run +cpan IPC::Run3 +cpan Inline +cpan Inline::C +cpan JSON +cpan JSON::PP::Compat5006 +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Class::Accessor::Lite # required by JSON::RPC +cpan JSON::RPC +cpan JSON::XS +cpan LWP +cpan Lingua::EN::Inflect +cpan Linux::Inotify2 +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Linux::USBKeyboard +cpan List::MoreUtils +cpan Log::Message +cpan Log::Log4perl +cpan MIME::Tools +cpan MRO::Compat +cpan Mail::Box +cpan Mail::Box::IMAP4 +cpan Mail::Box::POP3 +cpan Mail::DKIM +cpan Mail::Util +cpan Mail::IMAPClient +cpan Mail::Identity +cpan Mail::Message +cpan Mail::Transport +cpan Math::Bezier +cpan Math::Calc::Units +cpan Math::Interpolate +cpan Math::IntervalSearch +cpan Math::Random::ISAAC +cpan Math::Random::ISAAC::PP +cpan Math::Round +cpan Math::VecStat +cpan Module::Build +cpan Module::Implementation +cpan Module::Pluggable +cpan Module::Runtime +cpan Mojo +cpan Mozilla::CA +cpan Net::DNS +cpan Net::HTTP +cpan Net::IMAP::Client +cpan Net::IMAP::Simple +cpan Net::SNMP +cpan Net::SSL +cpan Net::SSLeay +cpan Net::Server +cpan NetAddr::IP +cpan OLE::Storage_Lite +cpan Object::Accessor +cpan Object::Realize::Later +cpan PDF::API2 +cpan PDL +cpan PPITerm::UI +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan PPI::Document # required by PPIx::Regexp +PERL5LIB=".${PERL5LIB:+:$PERL5LIB}" cpan Task::Weaken # required by PPIx::Regexp +cpan PPIx::Regexp +cpan Package::Constants +cpan Package::DeprecationManager +cpan Package::Stash +cpan Package::Stash::XS +cpan Params::Util +cpan Params::Validate +cpan Parse::RecDescent +cpan PatchReader +cpan Path::FindDev +cpan Path::FindDev::Object +cpan Path::IsDev +cpan Path::Tiny +cpan Pegex +cpan Perl::Critic +cpan Perl::Tidy +cpan Plack +cpan Pod::Coverage +cpan Pod::LaTeX +cpan Pod::Plainer +cpan Pod::Spell +cpan Probe::Perl +cpan Readonly +cpan Regexp::Common +cpan Return::Value +cpan Role::Tiny +cpan Router::Simple +cpan SVG +cpan Set::IntSpan +cpan Shell +cpan Spreadsheet::ParseExcel +cpan Starlink::AST +cpan Statistics::Descriptive +cpan Stream::Buffered +cpan String::CRC32 +cpan String::Format +cpan Sub::Exporter +cpan Sub::Exporter::Progressive +cpan Sub::Install +cpan Sub::Uplevel +cpan Switch +cpan Task::Weaken +cpan Template +cpan Template::Plugin::GD +cpan Term::UI +cpan Test::Deep +cpan Test::Differences +cpan Test::Exception +cpan Test::Fatal +cpan Test::Inter +cpan Test::Most +cpan Test::NoWarnings +cpan Test::Number::Delta +cpan Test::Object +cpan Test::Output +cpan Test::Pod +cpan Test::Pod::Coverage +cpan Test::Requires +cpan Test::Script +cpan Test::SharedFork +cpan Test::SubCalls +cpan Test::TCP +cpan Test::Taint +cpan Test::Warn +cpan Test::YAML +cpan Text::CSV +cpan Text::Diff +cpan Text::Format +cpan Text::Soundex +cpan TheSchwartz +cpan Tie::DBI +cpan Tie::RDBM +cpan Tie::Watch +cpan Time::Date +cpan Time::Period +cpan Tk +cpan Tree::DAG_Node +cpan Try::Tiny +cpan URI +cpan Unix::Syslog +cpan User::Identity +cpan Version::Requirements +cpan WWW::Dict::Leo::Org +cpan WWW::Mechanize +cpan WWW::RobotRules +cpan XML::DOM +cpan XML::LibXML +cpan XML::LibXSLT +cpan XML::NamespaceSupport +cpan XML::Parser +cpan XML::Parser::Lite +cpan XML::Quote +cpan XML::RegExp +cpan XML::SAX +cpan XML::SAX::Base +cpan XML::SAX::Expat +cpan XML::Simple +cpan XML::Twig +cpan XML::XPath +cpan YAML +cpan YAML::LibYAML + +cpan common::sense +cpan inc::latest +cpan install +cpan local::lib + +cpan Apache::SOAP +cpan Date::Manip +( + cd $PREFIX/build + test -e Donald-1.05.tar.gz || wget https://github.molgen.mpg.de/donald/Donald/archive/1.05.tar.gz -O Donald-1.05.tar.gz + test -d Donald-1.05 || tar xf Donald-1.05.tar.gz + cd Donald-1.05 + cpan . +) +cpan PDL::Stats +( + cd $PREFIX/build + test -e Pcap-0.02.tar.gz || cp /home/buczek/build/Pcap/Pcap-0.02.tar.gz . + test -d Pcap-0.02 || tar xf Pcap-0.02.tar.gz + cd Pcap-0.02 + cpan . +) +( + cd $PREFIX/build + test -e rrdtool-1.6.0.tar.gz || wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.6.0.tar.gz + test -d rrdtool-1.6.0 || tar xf rrdtool-1.6.0.tar.gz + cd rrdtool-1.6.0 + ./configure --prefix $PREFIX + make -j $(nproc) + cd bindings/perl-shared/ + cpan . + cd ../perl-piped + cpan . +) + +# http://net-snmp.sourceforge.net/ (Net-SNMP : SNMP.pm, NetSNMP::*) +# should match exact version of net-snmp packages +# install everything here to avoid dependency. +# +# cpan has 5.0404 of Net-SNMP so use latest version from its home. +# +# If you get errors +# "panic: attempt to copy freed scalar" +# "Bizarre copy of HASH in list assignment# +# this is from perl bug: +# https://rt.perl.org/Public/Bug/Display.html?id=77706 +# triggered by ExtUtils::MakeMaker. The patch +# /src/mariux/patches/0001-Carp.pm-continue-with-screwed-up-perl-stack.patch +# at the top of this file is there to prevent this. +# +( + cd $PREFIX/build + test -e net-snmp-5.7.3.tar.gz || wget https://downloads.sourceforge.net/project/net-snmp/net-snmp/5.7.3/net-snmp-5.7.3.tar.gz + test -d net-snmp-5.7.3 || tar xvf net-snmp-5.7.3.tar.gz + cd net-snmp-5.7.3 + patch -N -p1 < /src/mariux/patches/net-snmp-0001-Fix-incompatible-definitions-of-U64-type.patch || true + ./configure --prefix $PREFIX + make -j $(nproc) + make install +) + +# Do bioperl last, because it doesn't declare all dependencies correctly +# +cpan Bio::Perl +# cpan -T Bio::Biblio # "ERROR 11 Unable to connect to database [medline" instead of xml file from net +cpan Bio::Coordinate +#cpan Bio::Graphics::Browser2 # GBrowse - requires Bio::DB::Sam +#cpan Bio::DB::Sam # Bio-SamTools 'Please enter the location of the bam.h and compiled libbam.a files' + +cpan -f XML::DOM::XPath # test fails , install anyway for Bio::FeatureIO + +cpan Bio::FeatureIO +cpan Bio::Tools::EUtilities +#cpan Bio::Tools::Run::StandAloneBlast # several tests fail - tools not available in required version +#cpan Bio::Network::IO # tests fail (whatever) + +#still missing (found by: /home/buczek/libcheck/perlcompare.pl) +# +#Alien::SVN # Alien-SVN: wants SVN install, assumed obsolete +#Apache::XMLRPC::Lite # SOAP-Lite-1.01 : obsolete +#B::Lint* # B-Lint-1.20-0 : I dont think we need this +#CGI::Apache # mod_perl - requires Apache source and asks for it endlessly +#UDDI::Lite # 17 years old junk +#XMLRPC* # XMLRPC-Lite: dont think we still need that + +exit