Revision: 76485 http://trac.macports.org/changeset/76485 Author: ricci@macports.org Date: 2011-02-25 09:06:53 -0800 (Fri, 25 Feb 2011) Log Message: ----------- perl5, perl5.8, perl5.10, perl5.12: change perl5.* ports to do +mangle_names by default change perl5 to link perl5.x pieces to their non-mangled names change perl5 to default to perl5.12 resolves #16830 and #25575 Should also resolve #26531 and #28485 Modified Paths: -------------- trunk/dports/lang/perl5/Portfile trunk/dports/lang/perl5.10/Portfile trunk/dports/lang/perl5.12/Portfile trunk/dports/lang/perl5.8/Portfile Added Paths: ----------- trunk/dports/lang/perl5/files/ trunk/dports/lang/perl5/files/binList trunk/dports/lang/perl5/files/man1pList trunk/dports/lang/perl5/files/man3pList Modified: trunk/dports/lang/perl5/Portfile =================================================================== --- trunk/dports/lang/perl5/Portfile 2011-02-25 15:00:37 UTC (rev 76484) +++ trunk/dports/lang/perl5/Portfile 2011-02-25 17:06:53 UTC (rev 76485) @@ -4,47 +4,80 @@ PortSystem 1.0 name perl5 -## NOTE: keep this "version" in sync with the perl5.8 port -version 5.8.9 +version 5.12.3 +revision 0 categories lang platforms darwin freebsd linux maintainers ricci mcalhoun supported_archs noarch -depends_lib port:perl5.8 description Wrapper port for perl 5.x long_description ${description} homepage http://www.perl.org/ -master_sites distfiles use_configure no build {} -destroot {} -variant perl5_10 description { use perl 5.10 instead of perl 5.8 or perl 5.12} { - depends_lib-delete port:perl5.8 - depends_lib-append port:perl5.10 +if {[variant_isset perl5_8]} { + set branch 5.8 +} elseif {[variant_isset perl5_10]} { + set branch 5.10 +} else { + set branch 5.12 + default_variants +perl5_12 +} - ## NOTE: keep this "version" in sync with the perl5.10 port - version 5.10.1 +## +## Note: the destroot section below currently uses lists of files +## to know what files to link. In the future we can use +## something like: +## set contents_list [registry_port_registered $portname]) +## to get the lists of binaries and man pages installed by +## the perl5.x ports. +## +destroot { + if {[file exists ${prefix}/bin/perl${branch}]} { + ln -s perl${branch} ${destroot}${prefix}/bin/${name} + ln -s perl${branch} ${destroot}${prefix}/bin/perl + } else { + ui_error "Can't find perl ${branch} (as ${prefix}/bin/perl${branch}) so can't link $name to it." + return -code error "perl${version} is missing" + } + # config_data is omitted from bin because it's provided by p5-module-build (ticket #24025) + foreach list {binList man1pList man3pList} { + set fd [open ${filespath}/${list}]; set $list [read $fd]; close $fd + } + foreach binFile $binList { + if {[file exists ${prefix}/bin/${binFile}-${branch}]} { + ln -s ${binFile}-${branch} ${destroot}${prefix}/bin/${binFile} + } + } + file mkdir ${destroot}${prefix}/share/man/man1p + foreach manFile $man1pList { + if {[file exists ${prefix}/share/man/man1p/${manFile}-${branch}.1pm]} { + ln -s ${manFile}-${branch}.1pm ${destroot}${prefix}/share/man/man1p/${manFile}.1pm + } + } + file mkdir ${destroot}${prefix}/share/man/man3p + foreach manFile $man3pList { + if {[file exists ${prefix}/share/man/man3p/${manFile}-${branch}.3pm]} { + ln -s ${manFile}-${branch}.3pm ${destroot}${prefix}/share/man/man3p/${manFile}.3pm + } + } } -variant perl5_12 description { use perl 5.12 instead of perl 5.8 or perl 5.10 } { - depends_lib-delete port:perl5.8 - depends_lib-append port:perl5.12 +variant perl5_8 conflicts perl5_10 perl5_12 description { use perl 5.8 instead of perl 5.10 or perl 5.12} { + depends_lib-append port:perl5.8 +} - ## NOTE: keep this "version" in sync with the perl5.12 port - version 5.12.2 +variant perl5_10 conflicts perl5_12 perl5_8 description { use perl 5.10 instead of perl 5.8 or perl 5.12} { + depends_lib-append port:perl5.10 } -post-destroot { - if {[file exists ${prefix}/bin/perl${version}]} { - ln -s perl${version} ${destroot}${prefix}/bin/$name - } else { - ui_error "Can't find perl ${version} (as ${prefix}/bin/perl${version}) so can't link perl${version} to it." - return -code error "perl${version} is missing" - } +variant perl5_12 conflicts perl5_10 perl5_8 description { use perl 5.12 instead of perl 5.8 or perl 5.10 } { + depends_lib-append port:perl5.12 } + livecheck.type none Added: trunk/dports/lang/perl5/files/binList =================================================================== --- trunk/dports/lang/perl5/files/binList (rev 0) +++ trunk/dports/lang/perl5/files/binList 2011-02-25 17:06:53 UTC (rev 76485) @@ -0,0 +1,37 @@ +a2p +c2ph +corelist +cpan +cpan2dist +cpanp +cpanp-run-perl +dprofpp +enc2xs +find2perl +h2ph +h2xs +instmodsh +libnetcfg +perlbug +perlcc +perldoc +perlivp +perlthanks +piconv +pl2pm +pod2html +pod2latex +pod2man +pod2text +pod2usage +podchecker +podselect +prove +psed +pstruct +ptar +ptardiff +s2p +shasum +splain +xsubpp Added: trunk/dports/lang/perl5/files/man1pList =================================================================== --- trunk/dports/lang/perl5/files/man1pList (rev 0) +++ trunk/dports/lang/perl5/files/man1pList 2011-02-25 17:06:53 UTC (rev 76485) @@ -0,0 +1,210 @@ +a2p +c2ph +corelist +cpan +cpan2dist +cpanp +dprofpp +enc2xs +find2perl +h2ph +h2xs +instmodsh +libnetcfg +perl +perl5004delta +perl5005delta +perl5100delta +perl5101delta +perl5110delta +perl5111delta +perl5112delta +perl5113delta +perl5114delta +perl5115delta +perl5120delta +perl5121delta +perl5122delta +perl561delta +perl56delta +perl570delta +perl571delta +perl572delta +perl573delta +perl581delta +perl582delta +perl583delta +perl584delta +perl585delta +perl586delta +perl587delta +perl588delta +perl589delta +perl58delta +perl590delta +perl591delta +perl592delta +perl593delta +perl594delta +perl595delta +perlaix +perlamiga +perlapi +perlapio +perlapollo +perlartistic +perlbeos +perlbook +perlboot +perlbot +perlbs2000 +perlbug +perlcall +perlcc +perlce +perlcheat +perlclib +perlcn +perlcommunity +perlcompile +perlcygwin +perldata +perldbmfilter +perldebguts +perldebtut +perldebug +perldelta +perldgux +perldiag +perldoc +perldos +perldsc +perlebcdic +perlembed +perlepoc +perlfaq +perlfaq1 +perlfaq2 +perlfaq3 +perlfaq4 +perlfaq5 +perlfaq6 +perlfaq7 +perlfaq8 +perlfaq9 +perlfilter +perlfork +perlform +perlfreebsd +perlfunc +perlglossary +perlgpl +perlguts +perlhack +perlhaiku +perlhist +perlhpux +perlhurd +perlintern +perlintro +perliol +perlipc +perlirix +perlivp +perljp +perlko +perllexwarn +perllinux +perllocale +perllol +perlmachten +perlmacos +perlmacosx +perlmint +perlmod +perlmodinstall +perlmodlib +perlmodstyle +perlmpeix +perlmroapi +perlnetware +perlnewmod +perlnumber +perlobj +perlop +perlopenbsd +perlopentut +perlos2 +perlos390 +perlos400 +perlothrtut +perlpacktut +perlperf +perlplan9 +perlpod +perlpodspec +perlpolicy +perlport +perlpragma +perlqnx +perlre +perlreapi +perlrebackslash +perlrecharclass +perlref +perlreftut +perlreguts +perlrepository +perlrequick +perlreref +perlretut +perlriscos +perlrun +perlsec +perlsolaris +perlstyle +perlsub +perlsymbian +perlsyn +perlthanks +perlthrtut +perltie +perltoc +perltodo +perltooc +perltoot +perltrap +perltru64 +perltw +perlunicode +perlunifaq +perluniintro +perluniprops +perlunitut +perlutil +perluts +perlvar +perlvmesa +perlvms +perlvos +perlwin32 +perlxs +perlxstut +piconv +pl2pm +pod2html +pod2latex +pod2man +pod2text +pod2usage +podchecker +podselect +prove +psed +pstruct +ptar +ptardiff +s2p +shasum +splain +xsubpp Added: trunk/dports/lang/perl5/files/man3pList =================================================================== --- trunk/dports/lang/perl5/files/man3pList (rev 0) +++ trunk/dports/lang/perl5/files/man3pList 2011-02-25 17:06:53 UTC (rev 76485) @@ -0,0 +1,569 @@ +AnyDBM_File +App::Cpan +App::Prove +App::Prove::State +App::Prove::State::Result +App::Prove::State::Result::Test +Archive::Extract +Archive::Tar +Archive::Tar::File +Attribute::Handlers +AutoLoader +AutoSplit +B +B::Asmdata +B::Assembler +B::Bblock +B::Bytecode +B::C +B::CC +B::Concise +B::Debug +B::Deparse +B::Disassembler +B::Lint +B::Lint::Debug +B::Showlex +B::Stackobj +B::Stash +B::Terse +B::Xref +Benchmark +ByteLoader +CGI +CGI::Apache +CGI::Carp +CGI::Cookie +CGI::Fast +CGI::Pretty +CGI::Push +CGI::Switch +CGI::Util +CORE +CPAN +CPAN::API::HOWTO +CPAN::Debug +CPAN::Distroprefs +CPAN::FirstTime +CPAN::HandleConfig +CPAN::Kwalify +CPAN::Nox +CPAN::Queue +CPAN::Tarzip +CPAN::Version +CPANPLUS +CPANPLUS::Backend +CPANPLUS::Backend::RV +CPANPLUS::Config +CPANPLUS::Configure +CPANPLUS::Dist +CPANPLUS::Dist::Autobundle +CPANPLUS::Dist::Base +CPANPLUS::Dist::Build +CPANPLUS::Dist::Build::Constants +CPANPLUS::Dist::MM +CPANPLUS::Dist::Sample +CPANPLUS::Error +CPANPLUS::FAQ +CPANPLUS::Hacking +CPANPLUS::Internals +CPANPLUS::Internals::Extract +CPANPLUS::Internals::Fetch +CPANPLUS::Internals::Report +CPANPLUS::Internals::Search +CPANPLUS::Internals::Source +CPANPLUS::Internals::Source::Memory +CPANPLUS::Internals::Source::SQLite +CPANPLUS::Internals::Utils +CPANPLUS::Module +CPANPLUS::Module::Author +CPANPLUS::Module::Author::Fake +CPANPLUS::Module::Checksums +CPANPLUS::Module::Fake +CPANPLUS::Selfupdate +CPANPLUS::Shell +CPANPLUS::Shell::Classic +CPANPLUS::Shell::Default +CPANPLUS::Shell::Default::Plugins::CustomSource +CPANPLUS::Shell::Default::Plugins::HOWTO +CPANPLUS::Shell::Default::Plugins::Remote +CPANPLUS::Shell::Default::Plugins::Source +Carp +Carp::Heavy +Class::ISA +Class::Struct +Compress::Raw::Bzip2 +Compress::Raw::Zlib +Compress::Zlib +Config +Config::Extensions +Cwd +DB +DBM_Filter +DBM_Filter::compress +DBM_Filter::encode +DBM_Filter::int32 +DBM_Filter::null +DBM_Filter::utf8 +DB_File +Data::Dumper +Devel::DProf +Devel::InnerPackage +Devel::PPPort +Devel::Peek +Devel::SelfStubber +Digest +Digest::MD5 +Digest::SHA +Digest::base +Digest::file +DirHandle +Dumpvalue +DynaLoader +Encode +Encode::Alias +Encode::Byte +Encode::CJKConstants +Encode::CN +Encode::CN::HZ +Encode::Config +Encode::EBCDIC +Encode::Encoder +Encode::Encoding +Encode::GSM0338 +Encode::Guess +Encode::JP +Encode::JP::H2Z +Encode::JP::JIS7 +Encode::KR +Encode::KR::2022_KR +Encode::MIME::Header +Encode::MIME::Name +Encode::PerlIO +Encode::Supported +Encode::Symbol +Encode::TW +Encode::Unicode +Encode::Unicode::UTF7 +English +Env +Errno +Exporter +Exporter::Heavy +ExtUtils::CBuilder +ExtUtils::CBuilder::Platform::Windows +ExtUtils::Command +ExtUtils::Command::MM +ExtUtils::Constant +ExtUtils::Constant::Base +ExtUtils::Constant::Utils +ExtUtils::Constant::XS +ExtUtils::Embed +ExtUtils::Install +ExtUtils::Installed +ExtUtils::Liblist +ExtUtils::MM +ExtUtils::MM_AIX +ExtUtils::MM_Any +ExtUtils::MM_BeOS +ExtUtils::MM_Cygwin +ExtUtils::MM_DOS +ExtUtils::MM_Darwin +ExtUtils::MM_MacOS +ExtUtils::MM_NW5 +ExtUtils::MM_OS2 +ExtUtils::MM_QNX +ExtUtils::MM_UWIN +ExtUtils::MM_Unix +ExtUtils::MM_VMS +ExtUtils::MM_VOS +ExtUtils::MM_Win32 +ExtUtils::MM_Win95 +ExtUtils::MY +ExtUtils::MakeMaker +ExtUtils::MakeMaker::Config +ExtUtils::MakeMaker::FAQ +ExtUtils::MakeMaker::Tutorial +ExtUtils::MakeMaker::bytes +ExtUtils::MakeMaker::vmsish +ExtUtils::Manifest +ExtUtils::Miniperl +ExtUtils::Mkbootstrap +ExtUtils::Mksymlists +ExtUtils::Packlist +ExtUtils::ParseXS +ExtUtils::XSSymSet +ExtUtils::testlib +Fatal +Fcntl +File::Basename +File::CheckTree +File::Compare +File::Copy +File::DosGlob +File::Fetch +File::Find +File::Glob +File::GlobMapper +File::Path +File::Spec +File::Spec::Cygwin +File::Spec::Epoc +File::Spec::Functions +File::Spec::Mac +File::Spec::OS2 +File::Spec::Unix +File::Spec::VMS +File::Spec::Win32 +File::Temp +File::stat +FileCache +FileHandle +Filter::Simple +Filter::Util::Call +FindBin +GDBM_File +Getopt::Long +Getopt::Std +Hash::Util +Hash::Util::FieldHash +I18N::Collate +I18N::LangTags +I18N::LangTags::Detect +I18N::LangTags::List +I18N::Langinfo +IO +IO::Compress::Base +IO::Compress::Bzip2 +IO::Compress::Deflate +IO::Compress::Gzip +IO::Compress::RawDeflate +IO::Compress::Zip +IO::Dir +IO::File +IO::Handle +IO::Pipe +IO::Poll +IO::Seekable +IO::Select +IO::Socket +IO::Socket::INET +IO::Socket::UNIX +IO::Uncompress::AnyInflate +IO::Uncompress::AnyUncompress +IO::Uncompress::Base +IO::Uncompress::Bunzip2 +IO::Uncompress::Gunzip +IO::Uncompress::Inflate +IO::Uncompress::RawInflate +IO::Uncompress::Unzip +IO::Zlib +IPC::Cmd +IPC::Msg +IPC::Open2 +IPC::Open3 +IPC::Semaphore +IPC::SharedMem +IPC::SysV +List::Util +List::Util::XS +Locale::Constants +Locale::Country +Locale::Currency +Locale::Language +Locale::Maketext +Locale::Maketext::Simple +Locale::Maketext::TPJ13 +Locale::Script +Log::Message +Log::Message::Config +Log::Message::Handlers +Log::Message::Item +Log::Message::Simple +MIME::Base64 +MIME::QuotedPrint +Math::BigFloat +Math::BigInt +Math::BigInt::Calc +Math::BigInt::CalcEmu +Math::BigInt::FastCalc +Math::BigRat +Math::Complex +Math::Trig +Memoize +Memoize::AnyDBM_File +Memoize::Expire +Memoize::ExpireFile +Memoize::ExpireTest +Memoize::NDBM_File +Memoize::SDBM_File +Memoize::Storable +Module::Build +Module::Build::API +Module::Build::Authoring +Module::Build::Base +Module::Build::Bundling +Module::Build::Compat +Module::Build::ConfigData +Module::Build::Cookbook +Module::Build::ModuleInfo +Module::Build::Notes +Module::Build::PPMMaker +Module::Build::Platform::Amiga +Module::Build::Platform::Default +Module::Build::Platform::EBCDIC +Module::Build::Platform::MPEiX +Module::Build::Platform::MacOS +Module::Build::Platform::RiscOS +Module::Build::Platform::Unix +Module::Build::Platform::VMS +Module::Build::Platform::VOS +Module::Build::Platform::Windows +Module::Build::Platform::aix +Module::Build::Platform::cygwin +Module::Build::Platform::darwin +Module::Build::Platform::os2 +Module::Build::YAML +Module::CoreList +Module::Load +Module::Load::Conditional +Module::Loaded +Module::Pluggable +Module::Pluggable::Object +NDBM_File +NEXT +Net::Cmd +Net::Config +Net::Domain +Net::FTP +Net::NNTP +Net::Netrc +Net::POP3 +Net::Ping +Net::SMTP +Net::Time +Net::hostent +Net::libnetFAQ +Net::netent +Net::protoent +Net::servent +O +Object::Accessor +Opcode +POSIX +Package::Constants +Params::Check +Parse::CPAN::Meta +PerlIO +PerlIO::encoding +PerlIO::scalar +PerlIO::via +PerlIO::via::QuotedPrint +Pod::Checker +Pod::Escapes +Pod::Find +Pod::Html +Pod::InputObjects +Pod::LaTeX +Pod::Man +Pod::ParseLink +Pod::ParseUtils +Pod::Parser +Pod::Perldoc +Pod::Perldoc::BaseTo +Pod::Perldoc::GetOptsOO +Pod::Perldoc::ToChecker +Pod::Perldoc::ToMan +Pod::Perldoc::ToNroff +Pod::Perldoc::ToPod +Pod::Perldoc::ToRtf +Pod::Perldoc::ToText +Pod::Perldoc::ToTk +Pod::Perldoc::ToXml +Pod::PlainText +Pod::Plainer +Pod::Select +Pod::Simple +Pod::Simple::Checker +Pod::Simple::Debug +Pod::Simple::DumpAsText +Pod::Simple::DumpAsXML +Pod::Simple::HTML +Pod::Simple::HTMLBatch +Pod::Simple::LinkSection +Pod::Simple::Methody +Pod::Simple::PullParser +Pod::Simple::PullParserEndToken +Pod::Simple::PullParserStartToken +Pod::Simple::PullParserTextToken +Pod::Simple::PullParserToken +Pod::Simple::RTF +Pod::Simple::Search +Pod::Simple::SimpleTree +Pod::Simple::Subclassing +Pod::Simple::Text +Pod::Simple::TextContent +Pod::Simple::XHTML +Pod::Simple::XMLOutStream +Pod::Text +Pod::Text::Color +Pod::Text::Overstrike +Pod::Text::Termcap +Pod::Usage +SDBM_File +Safe +Scalar::Util +Search::Dict +SelectSaver +SelfLoader +Shell +Socket +Storable +Switch +Symbol +Sys::Hostname +Sys::Syslog +TAP::Base +TAP::Formatter::Base +TAP::Formatter::Color +TAP::Formatter::Console +TAP::Formatter::Console::ParallelSession +TAP::Formatter::Console::Session +TAP::Formatter::File +TAP::Formatter::File::Session +TAP::Formatter::Session +TAP::Harness +TAP::Object +TAP::Parser +TAP::Parser::Aggregator +TAP::Parser::Grammar +TAP::Parser::Iterator +TAP::Parser::Iterator::Array +TAP::Parser::Iterator::Process +TAP::Parser::Iterator::Stream +TAP::Parser::IteratorFactory +TAP::Parser::Multiplexer +TAP::Parser::Result +TAP::Parser::Result::Bailout +TAP::Parser::Result::Comment +TAP::Parser::Result::Plan +TAP::Parser::Result::Pragma +TAP::Parser::Result::Test +TAP::Parser::Result::Unknown +TAP::Parser::Result::Version +TAP::Parser::Result::YAML +TAP::Parser::ResultFactory +TAP::Parser::Scheduler +TAP::Parser::Scheduler::Job +TAP::Parser::Scheduler::Spinner +TAP::Parser::Source +TAP::Parser::Source::Perl +TAP::Parser::Utils +TAP::Parser::YAMLish::Reader +TAP::Parser::YAMLish::Writer +Term::ANSIColor +Term::Cap +Term::Complete +Term::ReadLine +Term::UI +Term::UI::History +Test +Test::Builder +Test::Builder::Module +Test::Builder::Tester +Test::Builder::Tester::Color +Test::Harness +Test::Harness::Assert +Test::Harness::Iterator +Test::Harness::Point +Test::Harness::Results +Test::Harness::Straps +Test::Harness::TAP +Test::Harness::Util +Test::More +Test::Simple +Test::Tutorial +Text::Abbrev +Text::Balanced +Text::ParseWords +Text::Soundex +Text::Tabs +Text::Wrap +Thread +Thread::Queue +Thread::Semaphore +Tie::Array +Tie::File +Tie::Handle +Tie::Hash +Tie::Hash::NamedCapture +Tie::Memoize +Tie::RefHash +Tie::Scalar +Tie::StdHandle +Tie::SubstrHash +Time::HiRes +Time::Local +Time::Piece +Time::Seconds +Time::gmtime +Time::localtime +Time::tm +UNIVERSAL +Unicode::Collate +Unicode::Normalize +Unicode::UCD +User::grent +User::pwent +XS::APItest +XS::APItest::KeywordRPN +XS::Typemap +XSLoader +attributes +attrs +autodie +autodie::exception +autodie::exception::system +autodie::hints +autouse +base +bigint +bignum +bigrat +blib +bytes +charnames +constant +deprecate +diagnostics +encoding +encoding::warnings +feature +fields +filetest +if +inc::latest +integer +less +lib +locale +mro +open +ops +overload +overloading +parent +re +sigtrap +sort +strict +subs +threads +threads::shared +utf8 +vars +version +version::Internals +vmsish +warnings +warnings::register Modified: trunk/dports/lang/perl5.10/Portfile =================================================================== --- trunk/dports/lang/perl5.10/Portfile 2011-02-25 15:00:37 UTC (rev 76484) +++ trunk/dports/lang/perl5.10/Portfile 2011-02-25 17:06:53 UTC (rev 76485) @@ -3,10 +3,9 @@ PortSystem 1.0 name perl5.10 -conflicts perl5.8 perl5.12 -## NOTE: keep this "version" in sync with the perl5 port version 5.10.1 -revision 1 +revision 2 +set branch [join [lrange [split ${version} .] 0 1] .] categories lang platforms darwin freebsd linux maintainers ricci openmaintainer @@ -65,14 +64,21 @@ -D vendorman3dir='${prefix}/share/man/man3' \ -D pager="/usr/bin/less -sR" -configure.ccache no +# Allow perl to find p5-* ports installed by previous (minor) versions +set platsuffix "" +if {${os.platform} == "darwin"} { + set platsuffix "-2level" +} +if { [variant_isset threads] } { + configure.args-append "-D inc_version_list=\"5.10.0/${os.platform}-thread-multi${platsuffix} 5.10.0\"" +} else { + configure.args-append "-D inc_version_list=\"5.10.0/${os.platform}${platsuffix} 5.10.0\"" +} if {[variant_isset universal]} { post-configure { system "cd ${worksrcpath} && ed - ${worksrcpath}/config.h < ${filespath}/config.h.ed" } -} elseif {![info exists configure.ld_archflags]} { - eval configure.ldflags-append ${configure.cc_archflags} } test.run yes @@ -89,32 +95,27 @@ configure.args-append -Dusedtrace } -variant mangle_names description {mangle the installed names by appending -5.10 to avoid conflicting with perl5.8 and perl5.12} { - conflicts-delete perl5.8 - conflicts-delete perl5.12 - post-destroot { - file delete ${destroot}${prefix}/bin/perl - set branch [join [lrange [split ${version} .] 0 1] .] - foreach bin [glob ${destroot}${prefix}/bin/*] { - if {$bin != "${destroot}${prefix}/bin/perl${version}"} { - move ${bin} ${bin}-${branch} - } +post-destroot { + # avoid conflicting with other perl versions + # perl5 creates unversioned symlinks + delete ${destroot}${prefix}/bin/perl + foreach binFile [glob -directory "${destroot}${prefix}/bin" *] { + if {$binFile != "${destroot}${prefix}/bin/perl${version}"} { + move ${binFile} ${binFile}-${branch} } - - ln -s ${prefix}/bin/perl${version} ${destroot}${prefix}/bin/$name - - foreach man1File [glob ${destroot}${prefix}/share/man/man1p/*] { - regexp (.*)(\.1.*) ${man1File} -> program suffix - file rename ${man1File} ${program}-${branch}${suffix} - } - foreach man3File [glob ${destroot}${prefix}/share/man/man3p/*] { - regexp (.*)(\.3.*) ${man3File} -> program suffix - file rename ${man3File} ${program}-${branch}${suffix} - } } + move ${destroot}${prefix}/bin/perl${version} ${destroot}${prefix}/bin/${name} + ln -s ${name} ${destroot}${prefix}/bin/perl${version} + foreach man1File [glob -directory "${destroot}${prefix}/share/man/man1p" *] { + regexp (.*)(\.1.*) ${man1File} -> program suffix + move ${man1File} ${program}-${branch}${suffix} + } + foreach man3File [glob -directory "${destroot}${prefix}/share/man/man3p" *] { + regexp (.*)(\.3.*) ${man3File} -> program suffix + move ${man3File} ${program}-${branch}${suffix} + } } livecheck.type regex livecheck.url http://www.cpan.org/src livecheck.regex {perl-(5\.10\.\d)\.} - Modified: trunk/dports/lang/perl5.12/Portfile =================================================================== --- trunk/dports/lang/perl5.12/Portfile 2011-02-25 15:00:37 UTC (rev 76484) +++ trunk/dports/lang/perl5.12/Portfile 2011-02-25 17:06:53 UTC (rev 76485) @@ -3,10 +3,9 @@ PortSystem 1.0 name perl5.12 -conflicts perl5.8 perl5.10 -## NOTE: keep this "version" in sync with the perl5 port -version 5.12.2 +version 5.12.3 revision 0 +set branch [join [lrange [split ${version} .] 0 1] .] categories lang platforms darwin freebsd linux maintainers ricci openmaintainer @@ -23,9 +22,9 @@ homepage http://www.perl.org/ master_sites http://www.cpan.org/src/5.0/ -checksums md5 7b018fe9c2f434eff0c629b4c515a8fc \ - sha1 75dbbdfa5bf8d4fc813503253e2b58486fa5a4eb \ - rmd160 c41fa3ef2c982172f73d5ddfd695cde747a92e95 +checksums md5 72f3f7e1c700e79bbf9d9279ca5b42d9 \ + sha1 86d77c6cbc7a60068dc14c88ffd0729324d1174f \ + rmd160 e3c5825aa800e2304dd815858880372500a4f9a0 patchfiles patch-Configure.diff @@ -66,14 +65,21 @@ -D vendorman3dir='${prefix}/share/man/man3' \ -D pager="/usr/bin/less -sR" -configure.ccache no +# Allow perl to find p5-* ports installed by previous (minor) versions +set platsuffix "" +if {${os.platform} == "darwin"} { + set platsuffix "-2level" +} +if { [variant_isset threads] } { + configure.args-append "-D inc_version_list=\"5.12.2/${os.platform}-thread-multi${platsuffix} 5.12.2 5.12.1/${os.platform}-thread-multi${platsuffix} 5.12.1 5.12.0/${os.platform}-thread-multi${platsuffix} 5.12.0\"" +} else { + configure.args-append "-D inc_version_list=\"5.12.2/${os.platform}${platsuffix} 5.12.2 5.12.1/${os.platform}${platsuffix} 5.12.1 5.12.0/${os.platform}${platsuffix} 5.12.0\"" +} if {[variant_isset universal]} { post-configure { system "cd ${worksrcpath} && ed - ${worksrcpath}/config.h < ${filespath}/config.h.ed" } -} elseif {![info exists configure.ld_archflags]} { - eval configure.ldflags-append ${configure.cc_archflags} } test.run yes @@ -90,29 +96,25 @@ configure.args-append -Dusedtrace } -variant mangle_names description {mangle the installed names by appending -5.12 to avoid conflicting with perl5.8 and perl5.10} { - conflicts-delete perl5.8 - conflicts-delete perl5.10 - post-destroot { - file delete ${destroot}${prefix}/bin/perl - set branch [join [lrange [split ${version} .] 0 1] .] - foreach bin [glob ${destroot}${prefix}/bin/*] { - if {$bin != "${destroot}${prefix}/bin/perl${version}"} { - move ${bin} ${bin}-${branch} - } +post-destroot { + # avoid conflicting with other perl versions + # perl5 creates unversioned symlinks + delete ${destroot}${prefix}/bin/perl + foreach binFile [glob -directory "${destroot}${prefix}/bin" *] { + if {$binFile != "${destroot}${prefix}/bin/perl${version}"} { + move ${binFile} ${binFile}-${branch} } - - ln -s ${prefix}/bin/perl${version} ${destroot}${prefix}/bin/$name - - foreach man1File [glob ${destroot}${prefix}/share/man/man1p/*] { - regexp (.*)(\.1.*) ${man1File} -> program suffix - file rename ${man1File} ${program}-${branch}${suffix} - } - foreach man3File [glob ${destroot}${prefix}/share/man/man3p/*] { - regexp (.*)(\.3.*) ${man3File} -> program suffix - file rename ${man3File} ${program}-${branch}${suffix} - } } + move ${destroot}${prefix}/bin/perl${version} ${destroot}${prefix}/bin/${name} + ln -s ${name} ${destroot}${prefix}/bin/perl${version} + foreach man1File [glob -directory "${destroot}${prefix}/share/man/man1p" *] { + regexp (.*)(\.1.*) ${man1File} -> program suffix + move ${man1File} ${program}-${branch}${suffix} + } + foreach man3File [glob -directory "${destroot}${prefix}/share/man/man3p" *] { + regexp (.*)(\.3.*) ${man3File} -> program suffix + move ${man3File} ${program}-${branch}${suffix} + } } ## livecheck.type regex @@ -122,4 +124,3 @@ livecheck.type regex livecheck.url http://www.cpan.org/src livecheck.regex {perl-(5\.12\.\d)\.} - Modified: trunk/dports/lang/perl5.8/Portfile =================================================================== --- trunk/dports/lang/perl5.8/Portfile 2011-02-25 15:00:37 UTC (rev 76484) +++ trunk/dports/lang/perl5.8/Portfile 2011-02-25 17:06:53 UTC (rev 76485) @@ -4,10 +4,9 @@ PortSystem 1.0 name perl5.8 -conflicts perl5.10 perl5.12 -## NOTE: keep this "version" in sync with the perl5 port version 5.8.9 -revision 3 +revision 4 +set branch [join [lrange [split ${version} .] 0 1] .] categories lang platforms darwin freebsd linux maintainers ricci openmaintainer @@ -82,14 +81,29 @@ post-configure { system "cd ${worksrcpath} && ed - ${worksrcpath}/config.h < ${filespath}/config.h.ed" } -} elseif {![info exists configure.ld_archflags]} { - eval configure.ldflags-append ${configure.cc_archflags} } test.run yes post-destroot { - ln -s perl${version} ${destroot}${prefix}/bin/$name + # avoid conflicting with other perl versions + # perl5 creates unversioned symlinks + delete ${destroot}${prefix}/bin/perl + foreach binFile [glob -directory "${destroot}${prefix}/bin" *] { + if {$binFile != "${destroot}${prefix}/bin/perl${version}"} { + move ${binFile} ${binFile}-${branch} + } + } + move ${destroot}${prefix}/bin/perl${version} ${destroot}${prefix}/bin/${name} + ln -s ${name} ${destroot}${prefix}/bin/perl${version} + foreach man1File [glob -directory "${destroot}${prefix}/share/man/man1p" *] { + regexp (.*)(\.1.*) ${man1File} -> program suffix + move ${man1File} ${program}-${branch}${suffix} + } + foreach man3File [glob -directory "${destroot}${prefix}/share/man/man3p" *] { + regexp (.*)(\.3.*) ${man3File} -> program suffix + move ${man3File} ${program}-${branch}${suffix} + } } variant threads description {Build with thread support} { @@ -119,31 +133,6 @@ } } -variant mangle_names description {mangle the installed names by appending -5.8 to avoid conflicting with perl5.10 and perl5.12} { - conflicts-delete perl5.10 - conflicts-delete perl5.12 - post-destroot { - file delete ${destroot}${prefix}/bin/perl - set branch [join [lrange [split ${version} .] 0 1] .] - foreach bin [glob ${destroot}${prefix}/bin/*] { - if {$bin != "${destroot}${prefix}/bin/perl${version}"} { - move ${bin} ${bin}-${branch} - } - } - - ln -s ${prefix}/bin/perl${version} ${destroot}${prefix}/bin/$name - - foreach man1File [glob ${destroot}${prefix}/share/man/man1p/*] { - regexp (.*)(\.1.*) ${man1File} -> program suffix - file rename ${man1File} ${program}-${branch}${suffix} - } - foreach man3File [glob ${destroot}${prefix}/share/man/man3p/*] { - regexp (.*)(\.3.*) ${man3File} -> program suffix - file rename ${man3File} ${program}-${branch}${suffix} - } - } -} - livecheck.type regex livecheck.url http://www.cpan.org/src livecheck.regex {perl-(5\.8\.\d)\.}