Undo ports/165457 to not violate POLA. As far as I knew, the PR

was to test what happened when we did eventually delete these two
ports, not to delete them immediately.

A subsequent commit will add appropriate deprecation messages.

Hat:		portmgr
PR:		ports/165457
Feature safe:	yes (actually no, however, this is to preserve POLA)
This commit is contained in:
Mark Linimon 2012-03-11 23:49:09 +00:00
parent 09e8089e23
commit 7047959f24
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=293132
32 changed files with 7634 additions and 0 deletions

245
lang/perl5.10/Makefile Normal file
View file

@ -0,0 +1,245 @@
# New ports collection makefile for: perl5
# Date created: 16 April 1995
# Whom: markm
#
# $FreeBSD$
#
PORTNAME= perl
PORTVERSION= ${PERL_VERSION}
PORTREVISION= 7
CATEGORIES= lang devel perl5
MASTER_SITES= CPAN \
${MASTER_SITE_LOCAL:S/$/:local/} \
http://protey.ru/freebsd/distfiles/:local
MASTER_SITE_SUBDIR= ../../src \
skv/:local
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
BSDPAN-${BSDPAN_VERSION}${EXTRACT_SUFX}:local
DIST_SUBDIR= perl
MAINTAINER= skv@FreeBSD.org
COMMENT= Practical Extraction and Report Language
LICENSE= ART10 GPLv1
LICENSE_COMB= dual
CONFLICTS= perl-5.6.* perl-5.8.* perl-threaded-5.8.* \
perl-5.12.* perl-threaded-5.12.* \
perl-5.14.* perl-threaded-5.14.*
MAKE_JOBS_UNSAFE= yes
OPTIONS= DEBUGGING "Build with debugging support" off \
GDBM "Build GDBM_File extension" off \
PERL_MALLOC "Use Perl malloc" off \
PERL_64BITINT "Use 64 bit integers (on i386)" on \
THREADS "Build threaded perl" off \
PTHREAD "Build with -pthread" on \
MULTIPLICITY "Use multiplicity" off \
SUIDPERL "Build set-user-id suidperl binary" off \
SITECUSTOMIZE "Run-time customization of @INC" off \
USE_PERL "Rewrite links in /usr/bin" on
PORTSCOUT= limitw:1,even
PERL_VERSION= 5.10.1
PERL_ARCH= mach
SITE_PERL_REL?= lib/perl5/site_perl/${PERL_VERSION}
SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL}
USE_BZIP2= yes
HAS_CONFIGURE= yes
MAKE_JOBS_SAFE= yes
CONFIGURE_SCRIPT=Configure
CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \
-Darchlib=${PREFIX}/lib/perl5/${PERL_VERSION}/${PERL_ARCH} \
-Dprivlib=${PREFIX}/lib/perl5/${PERL_VERSION} \
-Dman3dir=${PREFIX}/lib/perl5/${PERL_VERSION}/perl/man/man3 \
-Dman1dir=${PREFIX}/man/man1 \
-Dsitearch=${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH} \
-Dsitelib=${PREFIX}/${SITE_PERL_REL} -Dscriptdir=${PREFIX}/bin \
-Dsiteman3dir=${PREFIX}/lib/perl5/${PERL_VERSION}/man/man3 \
-Dsiteman1dir=${PREFIX}/man/man1 \
-Ui_malloc -Ui_iconv -Uinstallusrbinperl \
-Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \
-Dccflags=-DAPPLLIB_EXP=\"${BSDPAN_DEST}\"
LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \
LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \
LC_TIME=""
CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')"
MAKE_ENV+= ${LOCALE_CLEANUP}
.include "Makefile.man"
.include <bsd.port.pre.mk>
.if defined(PERL_VENDOR_PREFIX)
CONFIGURE_ARGS+= \
-Dvendorprefix=${PERL_VENDOR_PREFIX} \
-Dvendorarch=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION}/${PERL_ARCH} \
-Dvendorbin=${PERL_VENDOR_PREFIX}/bin \
-Dvendorlib=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION} \
-Dvendorman3dir=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION}/man/man3 \
-Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1
.endif
PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
PERL_VER=${PERL_VERSION} \
PERL_ARCH=${PERL_ARCH} \
SITE_PERL=${SITE_PERL:S|^${LOCALBASE}/||}
.if defined(WITH_DEBUGGING)
CONFIGURE_ARGS+= -Doptimize="-g" -DDEBUGGING
STRIP=
STRIP_CMD= ${TRUE}
.else
CONFIGURE_ARGS+= -Doptimize="${CFLAGS}"
.endif
.if defined(ENABLE_SUIDPERL) || defined(WITH_SUIDPERL)
CONFIGURE_ARGS+= -Dd_dosuid=define
PLIST_SUB+= SUIDPERL=""
.else
CONFIGURE_ARGS+= -Ud_dosuid
PLIST_SUB+= SUIDPERL="@comment "
.endif
.if defined(WITH_GDBM)
CONFIGURE_ARGS+= -Di_gdbm
LIB_DEPENDS+= gdbm.4:${PORTSDIR}/databases/gdbm
PLIST_SUB+= GDBM=""
.else
CONFIGURE_ARGS+= -Ui_gdbm
PLIST_SUB+= GDBM="@comment "
.endif
.if ${OSVERSION} >= 900022
PLIST_SUB+= MANCONF=""
.else
PLIST_SUB+= MANCONF="@comment "
.endif
.if defined(WITHOUT_PERL_MALLOC)
.undef WITH_PERL_MALLOC
.else
WITH_PERL_MALLOC= yes
.endif
.if defined(WITH_THREADS)
#XXX .if ${ARCH} == "amd64"
#XXX IGNORE= Threaded perl does not pass tests on ${ARCH}
#XXX .endif
CONFIGURE_ARGS+= -Dusethreads=y
PKGNAMESUFFIX= -threaded
WITH_PTHREAD= yes
# it seems perl malloc has problems with threaded perl on FreeBSD
.undef WITH_PERL_MALLOC
.else
CONFIGURE_ARGS+= -Dusethreads=n
.endif
.if defined(WITH_PERL_MALLOC)
CONFIGURE_ARGS+= -Dusemymalloc=y
.else
CONFIGURE_ARGS+= -Dusemymalloc=n
.endif
.if defined(WITH_PERL_64BITINT)
CONFIGURE_ARGS+= -Duse64bitint
.endif
.if defined(WITH_MULTIPLICITY)
CONFIGURE_ARGS+= -Dusemultiplicity=y
.endif
.if defined(WITH_SITECUSTOMIZE)
CONFIGURE_ARGS+= -Dusesitecustomize
.endif
.if defined(WITH_USE_PERL)
LINK_USRBIN= yes
.else
LINK_USRBIN= no
.endif
NO_LATEST_LINK= yes
.if defined(WITH_GDBM)
MAN3+= GDBM_File.3
.endif
MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VERSION}/perl
BSDPAN_DEST= ${PREFIX}/lib/perl5/${PERL_VERSION}/BSDPAN
BSDPAN_FILES= BSDPAN.pm BSDPAN/Override.pm Config.pm \
ExtUtils/MM_Unix.pm \
ExtUtils/MakeMaker.pm \
ExtUtils/Packlist.pm
BSDPAN_VERSION= 20111107
BSDPAN_WRKSRC= ${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
post-patch:
${SED} -e 's|%%PREFIX%%|${PREFIX}|g;' \
-e 's|%%PERL_VERSION%%|${PERL_VERSION}|g;' \
-e 's|%%PERL_ARCH%%|${PERL_ARCH}|g;' \
-e 's|%%MAKE_CONF%%|${__MAKE_CONF}|g;' \
-e 's|%%LINK_USRBIN%%|${LINK_USRBIN}|g;' \
${FILESDIR}/use.perl \
> ${WRKDIR}/use.perl
${SED} -e 's|%%PREFIX%%|${PREFIX}|g;' \
-e 's|%%PERL_VERSION%%|${PERL_VERSION}|g;' \
${FILESDIR}/perl-man.conf \
> ${WRKDIR}/perl-man.conf
${SED} -e 's|%%PERL%%|${PERL}|g; s|%%PERL_VERSION%%|${PERL_VERSION}|g; s|%%PKGNAME%%|${PKGNAME}|g' \
${FILESDIR}/perl-after-upgrade \
> ${WRKDIR}/perl-after-upgrade
${CP} ${WRKDIR}/use.perl ${PKGINSTALL}
${CP} ${WRKDIR}/use.perl ${PKGDEINSTALL}
${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|5.10|g;' \
-e 's!%%BSDPAN_VERSION%%!${BSDPAN_VERSION}!g;' \
${BSDPAN_WRKSRC}/ExtUtils/*.pm
${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
.if defined(WITH_PTHREAD)
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
${WRKSRC}/hints/freebsd.sh
.else
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \
-e 's|%%PTHREAD_CFLAGS%%||g;' \
${WRKSRC}/hints/freebsd.sh
.endif
pre-su-install:
@${RM} -f ${PREFIX}/bin/perl${PERL_VERSION}
@${RM} -f ${PREFIX}/bin/perl
post-install:
@${STRIP_CMD} ${PREFIX}/bin/perl${PERL_VERSION}
@${STRIP_CMD} ${PREFIX}/bin/perl
@${PREFIX}/bin/pod2man ${WRKDIR}/perl-after-upgrade >${WRKDIR}/perl-after-upgrade.1
@${INSTALL_SCRIPT} ${WRKDIR}/perl-after-upgrade ${PREFIX}/bin/perl-after-upgrade
@${INSTALL_MAN} ${WRKDIR}/perl-after-upgrade.1 ${MAN1PREFIX}/man/man1/perl-after-upgrade.1
@${LN} -sf ${PREFIX}/bin/perl${PERL_VERSION} ${PREFIX}/bin/perl5
.if ${OSVERSION} >= 900022
@${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${PREFIX}/etc/man.d/perl${PERL_VERSION}.conf
.endif
.for files in ${BSDPAN_FILES}
${MKDIR} ${BSDPAN_DEST}/${files:H}
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
${BSDPAN_WRKSRC}/${files} ${BSDPAN_DEST}/${files}
.endfor
PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
test: build
@(cd ${WRKSRC}; make test)
regression-test: test
rebuild-xs:
${LOCALBASE}/sbin/portupgrade -f `(${FIND} ${PKG_DBDIR}/p5*/+CONTENTS | \
${XARGS} ${GREP} -El 'site_perl.*\.so' | \
${SED} -e 's!/var/db/pkg/!!; s!/+CONTENTS!!;')`
.include <bsd.port.post.mk>

745
lang/perl5.10/Makefile.man Normal file
View file

@ -0,0 +1,745 @@
# $FreeBSD$
MAN1+= a2p.1
MAN1+= c2ph.1
MAN1+= config_data.1
MAN1+= corelist.1
MAN1+= cpan.1
MAN1+= cpan2dist.1
MAN1+= cpanp.1
MAN1+= dprofpp.1
MAN1+= enc2xs.1
MAN1+= find2perl.1
MAN1+= h2ph.1
MAN1+= h2xs.1
MAN1+= instmodsh.1
MAN1+= libnetcfg.1
MAN1+= perl-after-upgrade.1
MAN1+= perl.1
MAN1+= perl5004delta.1
MAN1+= perl5005delta.1
MAN1+= perl5100delta.1
MAN1+= perl5101delta.1
MAN1+= perl561delta.1
MAN1+= perl56delta.1
MAN1+= perl570delta.1
MAN1+= perl571delta.1
MAN1+= perl572delta.1
MAN1+= perl573delta.1
MAN1+= perl581delta.1
MAN1+= perl582delta.1
MAN1+= perl583delta.1
MAN1+= perl584delta.1
MAN1+= perl585delta.1
MAN1+= perl586delta.1
MAN1+= perl587delta.1
MAN1+= perl588delta.1
MAN1+= perl589delta.1
MAN1+= perl58delta.1
MAN1+= perl590delta.1
MAN1+= perl591delta.1
MAN1+= perl592delta.1
MAN1+= perl593delta.1
MAN1+= perl594delta.1
MAN1+= perl595delta.1
MAN1+= perlaix.1
MAN1+= perlamiga.1
MAN1+= perlapi.1
MAN1+= perlapio.1
MAN1+= perlapollo.1
MAN1+= perlartistic.1
MAN1+= perlbeos.1
MAN1+= perlbook.1
MAN1+= perlboot.1
MAN1+= perlbot.1
MAN1+= perlbs2000.1
MAN1+= perlbug.1
MAN1+= perlcall.1
MAN1+= perlce.1
MAN1+= perlcheat.1
MAN1+= perlclib.1
MAN1+= perlcn.1
MAN1+= perlcommunity.1
MAN1+= perlcompile.1
MAN1+= perlcygwin.1
MAN1+= perldata.1
MAN1+= perldbmfilter.1
MAN1+= perldebguts.1
MAN1+= perldebtut.1
MAN1+= perldebug.1
MAN1+= perldelta.1
MAN1+= perldgux.1
MAN1+= perldiag.1
MAN1+= perldoc.1
MAN1+= perldos.1
MAN1+= perldsc.1
MAN1+= perlebcdic.1
MAN1+= perlembed.1
MAN1+= perlepoc.1
MAN1+= perlfaq.1
MAN1+= perlfaq1.1
MAN1+= perlfaq2.1
MAN1+= perlfaq3.1
MAN1+= perlfaq4.1
MAN1+= perlfaq5.1
MAN1+= perlfaq6.1
MAN1+= perlfaq7.1
MAN1+= perlfaq8.1
MAN1+= perlfaq9.1
MAN1+= perlfilter.1
MAN1+= perlfork.1
MAN1+= perlform.1
MAN1+= perlfreebsd.1
MAN1+= perlfunc.1
MAN1+= perlglossary.1
MAN1+= perlgpl.1
MAN1+= perlguts.1
MAN1+= perlhack.1
MAN1+= perlhaiku.1
MAN1+= perlhist.1
MAN1+= perlhpux.1
MAN1+= perlhurd.1
MAN1+= perlintern.1
MAN1+= perlintro.1
MAN1+= perliol.1
MAN1+= perlipc.1
MAN1+= perlirix.1
MAN1+= perlivp.1
MAN1+= perljp.1
MAN1+= perlko.1
MAN1+= perllexwarn.1
MAN1+= perllinux.1
MAN1+= perllocale.1
MAN1+= perllol.1
MAN1+= perlmachten.1
MAN1+= perlmacos.1
MAN1+= perlmacosx.1
MAN1+= perlmint.1
MAN1+= perlmod.1
MAN1+= perlmodinstall.1
MAN1+= perlmodlib.1
MAN1+= perlmodstyle.1
MAN1+= perlmpeix.1
MAN1+= perlmroapi.1
MAN1+= perlnetware.1
MAN1+= perlnewmod.1
MAN1+= perlnumber.1
MAN1+= perlobj.1
MAN1+= perlop.1
MAN1+= perlopenbsd.1
MAN1+= perlopentut.1
MAN1+= perlos2.1
MAN1+= perlos390.1
MAN1+= perlos400.1
MAN1+= perlothrtut.1
MAN1+= perlpacktut.1
MAN1+= perlperf.1
MAN1+= perlplan9.1
MAN1+= perlpod.1
MAN1+= perlpodspec.1
MAN1+= perlport.1
MAN1+= perlpragma.1
MAN1+= perlqnx.1
MAN1+= perlre.1
MAN1+= perlreapi.1
MAN1+= perlrebackslash.1
MAN1+= perlrecharclass.1
MAN1+= perlref.1
MAN1+= perlreftut.1
MAN1+= perlreguts.1
MAN1+= perlrepository.1
MAN1+= perlrequick.1
MAN1+= perlreref.1
MAN1+= perlretut.1
MAN1+= perlriscos.1
MAN1+= perlrun.1
MAN1+= perlsec.1
MAN1+= perlsolaris.1
MAN1+= perlstyle.1
MAN1+= perlsub.1
MAN1+= perlsymbian.1
MAN1+= perlsyn.1
MAN1+= perlthanks.1
MAN1+= perlthrtut.1
MAN1+= perltie.1
MAN1+= perltoc.1
MAN1+= perltodo.1
MAN1+= perltooc.1
MAN1+= perltoot.1
MAN1+= perltrap.1
MAN1+= perltru64.1
MAN1+= perltw.1
MAN1+= perlunicode.1
MAN1+= perlunifaq.1
MAN1+= perluniintro.1
MAN1+= perlunitut.1
MAN1+= perlutil.1
MAN1+= perluts.1
MAN1+= perlvar.1
MAN1+= perlvmesa.1
MAN1+= perlvms.1
MAN1+= perlvos.1
MAN1+= perlwin32.1
MAN1+= perlxs.1
MAN1+= perlxstut.1
MAN1+= piconv.1
MAN1+= pl2pm.1
MAN1+= pod2html.1
MAN1+= pod2latex.1
MAN1+= pod2man.1
MAN1+= pod2text.1
MAN1+= pod2usage.1
MAN1+= podchecker.1
MAN1+= podselect.1
MAN1+= prove.1
MAN1+= psed.1
MAN1+= pstruct.1
MAN1+= ptar.1
MAN1+= ptardiff.1
MAN1+= s2p.1
MAN1+= shasum.1
MAN1+= splain.1
MAN1+= xsubpp.1
MAN3+= AnyDBM_File.3
MAN3+= App::Prove.3
MAN3+= App::Prove::State.3
MAN3+= App::Prove::State::Result.3
MAN3+= App::Prove::State::Result::Test.3
MAN3+= Archive::Extract.3
MAN3+= Archive::Tar.3
MAN3+= Archive::Tar::File.3
MAN3+= Attribute::Handlers.3
MAN3+= AutoLoader.3
MAN3+= AutoSplit.3
MAN3+= B.3
MAN3+= B::Concise.3
MAN3+= B::Debug.3
MAN3+= B::Deparse.3
MAN3+= B::Lint.3
MAN3+= B::Lint::Debug.3
MAN3+= B::Showlex.3
MAN3+= B::Terse.3
MAN3+= B::Xref.3
MAN3+= Benchmark.3
MAN3+= CGI.3
MAN3+= CGI::Apache.3
MAN3+= CGI::Carp.3
MAN3+= CGI::Cookie.3
MAN3+= CGI::Fast.3
MAN3+= CGI::Pretty.3
MAN3+= CGI::Push.3
MAN3+= CGI::Switch.3
MAN3+= CGI::Util.3
MAN3+= CORE.3
MAN3+= CPAN.3
MAN3+= CPAN::API::HOWTO.3
MAN3+= CPAN::Debug.3
MAN3+= CPAN::Distroprefs.3
MAN3+= CPAN::FirstTime.3
MAN3+= CPAN::HandleConfig.3
MAN3+= CPAN::Kwalify.3
MAN3+= CPAN::Nox.3
MAN3+= CPAN::Queue.3
MAN3+= CPAN::Tarzip.3
MAN3+= CPAN::Version.3
MAN3+= CPANPLUS.3
MAN3+= CPANPLUS::Backend.3
MAN3+= CPANPLUS::Backend::RV.3
MAN3+= CPANPLUS::Config.3
MAN3+= CPANPLUS::Configure.3
MAN3+= CPANPLUS::Dist.3
MAN3+= CPANPLUS::Dist::Autobundle.3
MAN3+= CPANPLUS::Dist::Base.3
MAN3+= CPANPLUS::Dist::Build.3
MAN3+= CPANPLUS::Dist::Build::Constants.3
MAN3+= CPANPLUS::Dist::MM.3
MAN3+= CPANPLUS::Dist::Sample.3
MAN3+= CPANPLUS::Error.3
MAN3+= CPANPLUS::FAQ.3
MAN3+= CPANPLUS::Hacking.3
MAN3+= CPANPLUS::Internals.3
MAN3+= CPANPLUS::Internals::Extract.3
MAN3+= CPANPLUS::Internals::Fetch.3
MAN3+= CPANPLUS::Internals::Report.3
MAN3+= CPANPLUS::Internals::Search.3
MAN3+= CPANPLUS::Internals::Source.3
MAN3+= CPANPLUS::Internals::Source::Memory.3
MAN3+= CPANPLUS::Internals::Source::SQLite.3
MAN3+= CPANPLUS::Internals::Utils.3
MAN3+= CPANPLUS::Module.3
MAN3+= CPANPLUS::Module::Author.3
MAN3+= CPANPLUS::Module::Author::Fake.3
MAN3+= CPANPLUS::Module::Checksums.3
MAN3+= CPANPLUS::Module::Fake.3
MAN3+= CPANPLUS::Selfupdate.3
MAN3+= CPANPLUS::Shell.3
MAN3+= CPANPLUS::Shell::Classic.3
MAN3+= CPANPLUS::Shell::Default.3
MAN3+= CPANPLUS::Shell::Default::Plugins::CustomSource.3
MAN3+= CPANPLUS::Shell::Default::Plugins::HOWTO.3
MAN3+= CPANPLUS::Shell::Default::Plugins::Remote.3
MAN3+= CPANPLUS::Shell::Default::Plugins::Source.3
MAN3+= Carp.3
MAN3+= Carp::Heavy.3
MAN3+= Class::ISA.3
MAN3+= Class::Struct.3
MAN3+= Compress::Raw::Bzip2.3
MAN3+= Compress::Raw::Zlib.3
MAN3+= Compress::Zlib.3
MAN3+= Config.3
MAN3+= Config::Extensions.3
MAN3+= Cwd.3
MAN3+= DB.3
MAN3+= DBM_Filter.3
MAN3+= DBM_Filter::compress.3
MAN3+= DBM_Filter::encode.3
MAN3+= DBM_Filter::int32.3
MAN3+= DBM_Filter::null.3
MAN3+= DBM_Filter::utf8.3
MAN3+= DB_File.3
MAN3+= Data::Dumper.3
MAN3+= Devel::DProf.3
MAN3+= Devel::InnerPackage.3
MAN3+= Devel::PPPort.3
MAN3+= Devel::Peek.3
MAN3+= Devel::SelfStubber.3
MAN3+= Digest.3
MAN3+= Digest::MD5.3
MAN3+= Digest::SHA.3
MAN3+= Digest::base.3
MAN3+= Digest::file.3
MAN3+= DirHandle.3
MAN3+= Dumpvalue.3
MAN3+= DynaLoader.3
MAN3+= Encode.3
MAN3+= Encode::Alias.3
MAN3+= Encode::Byte.3
MAN3+= Encode::CJKConstants.3
MAN3+= Encode::CN.3
MAN3+= Encode::CN::HZ.3
MAN3+= Encode::Config.3
MAN3+= Encode::EBCDIC.3
MAN3+= Encode::Encoder.3
MAN3+= Encode::Encoding.3
MAN3+= Encode::GSM0338.3
MAN3+= Encode::Guess.3
MAN3+= Encode::JP.3
MAN3+= Encode::JP::H2Z.3
MAN3+= Encode::JP::JIS7.3
MAN3+= Encode::KR.3
MAN3+= Encode::KR::2022_KR.3
MAN3+= Encode::MIME::Header.3
MAN3+= Encode::MIME::Name.3
MAN3+= Encode::PerlIO.3
MAN3+= Encode::Supported.3
MAN3+= Encode::Symbol.3
MAN3+= Encode::TW.3
MAN3+= Encode::Unicode.3
MAN3+= Encode::Unicode::UTF7.3
MAN3+= English.3
MAN3+= Env.3
MAN3+= Errno.3
MAN3+= Exporter.3
MAN3+= Exporter::Heavy.3
MAN3+= ExtUtils::CBuilder.3
MAN3+= ExtUtils::CBuilder::Platform::Windows.3
MAN3+= ExtUtils::Command.3
MAN3+= ExtUtils::Command::MM.3
MAN3+= ExtUtils::Constant.3
MAN3+= ExtUtils::Constant::Base.3
MAN3+= ExtUtils::Constant::Utils.3
MAN3+= ExtUtils::Constant::XS.3
MAN3+= ExtUtils::Embed.3
MAN3+= ExtUtils::Install.3
MAN3+= ExtUtils::Installed.3
MAN3+= ExtUtils::Liblist.3
MAN3+= ExtUtils::MM.3
MAN3+= ExtUtils::MM_AIX.3
MAN3+= ExtUtils::MM_Any.3
MAN3+= ExtUtils::MM_BeOS.3
MAN3+= ExtUtils::MM_Cygwin.3
MAN3+= ExtUtils::MM_DOS.3
MAN3+= ExtUtils::MM_Darwin.3
MAN3+= ExtUtils::MM_MacOS.3
MAN3+= ExtUtils::MM_NW5.3
MAN3+= ExtUtils::MM_OS2.3
MAN3+= ExtUtils::MM_QNX.3
MAN3+= ExtUtils::MM_UWIN.3
MAN3+= ExtUtils::MM_Unix.3
MAN3+= ExtUtils::MM_VMS.3
MAN3+= ExtUtils::MM_VOS.3
MAN3+= ExtUtils::MM_Win32.3
MAN3+= ExtUtils::MM_Win95.3
MAN3+= ExtUtils::MY.3
MAN3+= ExtUtils::MakeMaker.3
MAN3+= ExtUtils::MakeMaker::Config.3
MAN3+= ExtUtils::MakeMaker::FAQ.3
MAN3+= ExtUtils::MakeMaker::Tutorial.3
MAN3+= ExtUtils::Manifest.3
MAN3+= ExtUtils::Miniperl.3
MAN3+= ExtUtils::Mkbootstrap.3
MAN3+= ExtUtils::Mksymlists.3
MAN3+= ExtUtils::Packlist.3
MAN3+= ExtUtils::ParseXS.3
MAN3+= ExtUtils::XSSymSet.3
MAN3+= ExtUtils::testlib.3
MAN3+= Fatal.3
MAN3+= Fcntl.3
MAN3+= File::Basename.3
MAN3+= File::CheckTree.3
MAN3+= File::Compare.3
MAN3+= File::Copy.3
MAN3+= File::DosGlob.3
MAN3+= File::Fetch.3
MAN3+= File::Find.3
MAN3+= File::Glob.3
MAN3+= File::GlobMapper.3
MAN3+= File::Path.3
MAN3+= File::Spec.3
MAN3+= File::Spec::Cygwin.3
MAN3+= File::Spec::Epoc.3
MAN3+= File::Spec::Functions.3
MAN3+= File::Spec::Mac.3
MAN3+= File::Spec::OS2.3
MAN3+= File::Spec::Unix.3
MAN3+= File::Spec::VMS.3
MAN3+= File::Spec::Win32.3
MAN3+= File::Temp.3
MAN3+= File::stat.3
MAN3+= FileCache.3
MAN3+= FileHandle.3
MAN3+= Filter::Simple.3
MAN3+= Filter::Util::Call.3
MAN3+= FindBin.3
MAN3+= Getopt::Long.3
MAN3+= Getopt::Std.3
MAN3+= Hash::Util.3
MAN3+= Hash::Util::FieldHash.3
MAN3+= I18N::Collate.3
MAN3+= I18N::LangTags.3
MAN3+= I18N::LangTags::Detect.3
MAN3+= I18N::LangTags::List.3
MAN3+= I18N::Langinfo.3
MAN3+= IO.3
MAN3+= IO::Compress::Base.3
MAN3+= IO::Compress::Bzip2.3
MAN3+= IO::Compress::Deflate.3
MAN3+= IO::Compress::Gzip.3
MAN3+= IO::Compress::RawDeflate.3
MAN3+= IO::Compress::Zip.3
MAN3+= IO::Dir.3
MAN3+= IO::File.3
MAN3+= IO::Handle.3
MAN3+= IO::Pipe.3
MAN3+= IO::Poll.3
MAN3+= IO::Seekable.3
MAN3+= IO::Select.3
MAN3+= IO::Socket.3
MAN3+= IO::Socket::INET.3
MAN3+= IO::Socket::UNIX.3
MAN3+= IO::Uncompress::AnyInflate.3
MAN3+= IO::Uncompress::AnyUncompress.3
MAN3+= IO::Uncompress::Base.3
MAN3+= IO::Uncompress::Bunzip2.3
MAN3+= IO::Uncompress::Gunzip.3
MAN3+= IO::Uncompress::Inflate.3
MAN3+= IO::Uncompress::RawInflate.3
MAN3+= IO::Uncompress::Unzip.3
MAN3+= IO::Zlib.3
MAN3+= IPC::Cmd.3
MAN3+= IPC::Msg.3
MAN3+= IPC::Open2.3
MAN3+= IPC::Open3.3
MAN3+= IPC::Semaphore.3
MAN3+= IPC::SharedMem.3
MAN3+= IPC::SysV.3
MAN3+= List::Util.3
MAN3+= List::Util::XS.3
MAN3+= Locale::Constants.3
MAN3+= Locale::Country.3
MAN3+= Locale::Currency.3
MAN3+= Locale::Language.3
MAN3+= Locale::Maketext.3
MAN3+= Locale::Maketext::Simple.3
MAN3+= Locale::Maketext::TPJ13.3
MAN3+= Locale::Script.3
MAN3+= Log::Message.3
MAN3+= Log::Message::Config.3
MAN3+= Log::Message::Handlers.3
MAN3+= Log::Message::Item.3
MAN3+= Log::Message::Simple.3
MAN3+= MIME::Base64.3
MAN3+= MIME::QuotedPrint.3
MAN3+= Math::BigFloat.3
MAN3+= Math::BigInt.3
MAN3+= Math::BigInt::Calc.3
MAN3+= Math::BigInt::CalcEmu.3
MAN3+= Math::BigInt::FastCalc.3
MAN3+= Math::BigRat.3
MAN3+= Math::Complex.3
MAN3+= Math::Trig.3
MAN3+= Memoize.3
MAN3+= Memoize::AnyDBM_File.3
MAN3+= Memoize::Expire.3
MAN3+= Memoize::ExpireFile.3
MAN3+= Memoize::ExpireTest.3
MAN3+= Memoize::NDBM_File.3
MAN3+= Memoize::SDBM_File.3
MAN3+= Memoize::Storable.3
MAN3+= Module::Build.3
MAN3+= Module::Build::API.3
MAN3+= Module::Build::Authoring.3
MAN3+= Module::Build::Base.3
MAN3+= Module::Build::Compat.3
MAN3+= Module::Build::ConfigData.3
MAN3+= Module::Build::Cookbook.3
MAN3+= Module::Build::ModuleInfo.3
MAN3+= Module::Build::Notes.3
MAN3+= Module::Build::PPMMaker.3
MAN3+= Module::Build::Platform::Amiga.3
MAN3+= Module::Build::Platform::Default.3
MAN3+= Module::Build::Platform::EBCDIC.3
MAN3+= Module::Build::Platform::MPEiX.3
MAN3+= Module::Build::Platform::MacOS.3
MAN3+= Module::Build::Platform::RiscOS.3
MAN3+= Module::Build::Platform::Unix.3
MAN3+= Module::Build::Platform::VMS.3
MAN3+= Module::Build::Platform::VOS.3
MAN3+= Module::Build::Platform::Windows.3
MAN3+= Module::Build::Platform::aix.3
MAN3+= Module::Build::Platform::cygwin.3
MAN3+= Module::Build::Platform::darwin.3
MAN3+= Module::Build::Platform::os2.3
MAN3+= Module::Build::YAML.3
MAN3+= Module::CoreList.3
MAN3+= Module::Load.3
MAN3+= Module::Load::Conditional.3
MAN3+= Module::Loaded.3
MAN3+= Module::Pluggable.3
MAN3+= Module::Pluggable::Object.3
MAN3+= NDBM_File.3
MAN3+= NEXT.3
MAN3+= Net::Cmd.3
MAN3+= Net::Config.3
MAN3+= Net::Domain.3
MAN3+= Net::FTP.3
MAN3+= Net::NNTP.3
MAN3+= Net::Netrc.3
MAN3+= Net::POP3.3
MAN3+= Net::Ping.3
MAN3+= Net::SMTP.3
MAN3+= Net::Time.3
MAN3+= Net::hostent.3
MAN3+= Net::libnetFAQ.3
MAN3+= Net::netent.3
MAN3+= Net::protoent.3
MAN3+= Net::servent.3
MAN3+= O.3
MAN3+= Object::Accessor.3
MAN3+= Opcode.3
MAN3+= POSIX.3
MAN3+= Package::Constants.3
MAN3+= Params::Check.3
MAN3+= Parse::CPAN::Meta.3
MAN3+= PerlIO.3
MAN3+= PerlIO::encoding.3
MAN3+= PerlIO::scalar.3
MAN3+= PerlIO::via.3
MAN3+= PerlIO::via::QuotedPrint.3
MAN3+= Pod::Checker.3
MAN3+= Pod::Escapes.3
MAN3+= Pod::Find.3
MAN3+= Pod::Html.3
MAN3+= Pod::InputObjects.3
MAN3+= Pod::LaTeX.3
MAN3+= Pod::Man.3
MAN3+= Pod::ParseLink.3
MAN3+= Pod::ParseUtils.3
MAN3+= Pod::Parser.3
MAN3+= Pod::Perldoc::ToChecker.3
MAN3+= Pod::Perldoc::ToMan.3
MAN3+= Pod::Perldoc::ToNroff.3
MAN3+= Pod::Perldoc::ToPod.3
MAN3+= Pod::Perldoc::ToRtf.3
MAN3+= Pod::Perldoc::ToText.3
MAN3+= Pod::Perldoc::ToTk.3
MAN3+= Pod::Perldoc::ToXml.3
MAN3+= Pod::PlainText.3
MAN3+= Pod::Plainer.3
MAN3+= Pod::Select.3
MAN3+= Pod::Simple.3
MAN3+= Pod::Simple::Checker.3
MAN3+= Pod::Simple::Debug.3
MAN3+= Pod::Simple::DumpAsText.3
MAN3+= Pod::Simple::DumpAsXML.3
MAN3+= Pod::Simple::HTML.3
MAN3+= Pod::Simple::HTMLBatch.3
MAN3+= Pod::Simple::LinkSection.3
MAN3+= Pod::Simple::Methody.3
MAN3+= Pod::Simple::PullParser.3
MAN3+= Pod::Simple::PullParserEndToken.3
MAN3+= Pod::Simple::PullParserStartToken.3
MAN3+= Pod::Simple::PullParserTextToken.3
MAN3+= Pod::Simple::PullParserToken.3
MAN3+= Pod::Simple::RTF.3
MAN3+= Pod::Simple::Search.3
MAN3+= Pod::Simple::SimpleTree.3
MAN3+= Pod::Simple::Subclassing.3
MAN3+= Pod::Simple::Text.3
MAN3+= Pod::Simple::TextContent.3
MAN3+= Pod::Simple::XHTML.3
MAN3+= Pod::Simple::XMLOutStream.3
MAN3+= Pod::Text.3
MAN3+= Pod::Text::Color.3
MAN3+= Pod::Text::Overstrike.3
MAN3+= Pod::Text::Termcap.3
MAN3+= Pod::Usage.3
MAN3+= SDBM_File.3
MAN3+= Safe.3
MAN3+= Scalar::Util.3
MAN3+= Search::Dict.3
MAN3+= SelectSaver.3
MAN3+= SelfLoader.3
MAN3+= Shell.3
MAN3+= Socket.3
MAN3+= Storable.3
MAN3+= Switch.3
MAN3+= Symbol.3
MAN3+= Sys::Hostname.3
MAN3+= Sys::Syslog.3
MAN3+= TAP::Base.3
MAN3+= TAP::Formatter::Base.3
MAN3+= TAP::Formatter::Color.3
MAN3+= TAP::Formatter::Console.3
MAN3+= TAP::Formatter::Console::ParallelSession.3
MAN3+= TAP::Formatter::Console::Session.3
MAN3+= TAP::Formatter::File.3
MAN3+= TAP::Formatter::File::Session.3
MAN3+= TAP::Formatter::Session.3
MAN3+= TAP::Harness.3
MAN3+= TAP::Object.3
MAN3+= TAP::Parser.3
MAN3+= TAP::Parser::Aggregator.3
MAN3+= TAP::Parser::Grammar.3
MAN3+= TAP::Parser::Iterator.3
MAN3+= TAP::Parser::Iterator::Array.3
MAN3+= TAP::Parser::Iterator::Process.3
MAN3+= TAP::Parser::Iterator::Stream.3
MAN3+= TAP::Parser::IteratorFactory.3
MAN3+= TAP::Parser::Multiplexer.3
MAN3+= TAP::Parser::Result.3
MAN3+= TAP::Parser::Result::Bailout.3
MAN3+= TAP::Parser::Result::Comment.3
MAN3+= TAP::Parser::Result::Plan.3
MAN3+= TAP::Parser::Result::Pragma.3
MAN3+= TAP::Parser::Result::Test.3
MAN3+= TAP::Parser::Result::Unknown.3
MAN3+= TAP::Parser::Result::Version.3
MAN3+= TAP::Parser::Result::YAML.3
MAN3+= TAP::Parser::ResultFactory.3
MAN3+= TAP::Parser::Scheduler.3
MAN3+= TAP::Parser::Scheduler::Job.3
MAN3+= TAP::Parser::Scheduler::Spinner.3
MAN3+= TAP::Parser::Source.3
MAN3+= TAP::Parser::Source::Perl.3
MAN3+= TAP::Parser::Utils.3
MAN3+= TAP::Parser::YAMLish::Reader.3
MAN3+= TAP::Parser::YAMLish::Writer.3
MAN3+= Term::ANSIColor.3
MAN3+= Term::Cap.3
MAN3+= Term::Complete.3
MAN3+= Term::ReadLine.3
MAN3+= Term::UI.3
MAN3+= Term::UI::History.3
MAN3+= Test.3
MAN3+= Test::Builder.3
MAN3+= Test::Builder::Module.3
MAN3+= Test::Builder::Tester.3
MAN3+= Test::Builder::Tester::Color.3
MAN3+= Test::Harness.3
MAN3+= Test::More.3
MAN3+= Test::Simple.3
MAN3+= Test::Tutorial.3
MAN3+= Text::Abbrev.3
MAN3+= Text::Balanced.3
MAN3+= Text::ParseWords.3
MAN3+= Text::Soundex.3
MAN3+= Text::Tabs.3
MAN3+= Text::Wrap.3
MAN3+= Thread.3
MAN3+= Thread::Queue.3
MAN3+= Thread::Semaphore.3
MAN3+= Tie::Array.3
MAN3+= Tie::File.3
MAN3+= Tie::Handle.3
MAN3+= Tie::Hash.3
MAN3+= Tie::Hash::NamedCapture.3
MAN3+= Tie::Memoize.3
MAN3+= Tie::RefHash.3
MAN3+= Tie::Scalar.3
MAN3+= Tie::StdHandle.3
MAN3+= Tie::SubstrHash.3
MAN3+= Time::HiRes.3
MAN3+= Time::Local.3
MAN3+= Time::Piece.3
MAN3+= Time::Seconds.3
MAN3+= Time::gmtime.3
MAN3+= Time::localtime.3
MAN3+= Time::tm.3
MAN3+= UNIVERSAL.3
MAN3+= Unicode::Collate.3
MAN3+= Unicode::Normalize.3
MAN3+= Unicode::UCD.3
MAN3+= User::grent.3
MAN3+= User::pwent.3
MAN3+= XS::APItest.3
MAN3+= XS::Typemap.3
MAN3+= XSLoader.3
MAN3+= attributes.3
MAN3+= attrs.3
MAN3+= autodie.3
MAN3+= autodie::exception.3
MAN3+= autodie::exception::system.3
MAN3+= autodie::hints.3
MAN3+= autouse.3
MAN3+= base.3
MAN3+= bigint.3
MAN3+= bignum.3
MAN3+= bigrat.3
MAN3+= blib.3
MAN3+= bytes.3
MAN3+= charnames.3
MAN3+= constant.3
MAN3+= diagnostics.3
MAN3+= encoding.3
MAN3+= encoding::warnings.3
MAN3+= feature.3
MAN3+= fields.3
MAN3+= filetest.3
MAN3+= if.3
MAN3+= integer.3
MAN3+= less.3
MAN3+= lib.3
MAN3+= locale.3
MAN3+= mro.3
MAN3+= open.3
MAN3+= ops.3
MAN3+= overload.3
MAN3+= overloading.3
MAN3+= parent.3
MAN3+= re.3
MAN3+= sigtrap.3
MAN3+= sort.3
MAN3+= strict.3
MAN3+= subs.3
MAN3+= threads.3
MAN3+= threads::shared.3
MAN3+= utf8.3
MAN3+= vars.3
MAN3+= version.3
MAN3+= version::Internals.3
MAN3+= vmsish.3
MAN3+= warnings.3
MAN3+= warnings::register.3

4
lang/perl5.10/distinfo Normal file
View file

@ -0,0 +1,4 @@
SHA256 (perl/perl-5.10.1.tar.bz2) = 9385f2c8c2ca8b1dc4a7c31903f1f8dc8f2ba867dc2a9e5c93012ed6b564e826
SIZE (perl/perl-5.10.1.tar.bz2) = 11608061
SHA256 (perl/BSDPAN-20111107.tar.bz2) = 2f03218a592dc65ebfdc3c6b9394d91dcf4c53aa5290a08458b837baad5a21f9
SIZE (perl/BSDPAN-20111107.tar.bz2) = 8448

View file

@ -0,0 +1,21 @@
--- Configure.orig 2010-07-14 15:28:45.000000000 +0000
+++ Configure 2010-07-14 15:29:23.000000000 +0000
@@ -4798,7 +4798,7 @@
libpth=''
for xxx in $dlist
do
- if $test -d $xxx; then
+ if $test -d $xxx || [ $xxx = $prefix/lib ]; then
case " $libpth " in
*" $xxx "*) ;;
*) libpth="$libpth $xxx";;
@@ -9125,8 +9125,7 @@
: determine where add-on public executable scripts go
case "$sitescript" in
-'') dflt=$siteprefix/script
- $test -d $dflt || dflt=$sitebin ;;
+'') dflt=$sitebin ;;
*) dflt="$sitescript" ;;
esac
fn=d~+

View file

@ -0,0 +1,20 @@
--- lib/ExtUtils/t/INST_PREFIX.t.orig Wed Feb 15 12:46:31 2006
+++ lib/ExtUtils/t/INST_PREFIX.t Wed Feb 15 12:46:52 2006
@@ -16,7 +16,7 @@ BEGIN {
}
use strict;
-use Test::More tests => 52;
+use Test::More tests => 51;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use ExtUtils::MakeMaker;
@@ -62,7 +62,7 @@ like( $stdout->read, qr{
Writing\ $Makefile\ for\ Big::Dummy\n
}x );
-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+## is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
isa_ok( $mm, 'ExtUtils::MakeMaker' );

View file

@ -0,0 +1,18 @@
--- lib/ExtUtils/MM_Any.pm.orig Wed Feb 15 12:20:43 2006
+++ lib/ExtUtils/MM_Any.pm Wed Feb 15 12:22:29 2006
@@ -1069,13 +1069,14 @@ sub init_INSTALL_from_PREFIX {
('$(PREFIX)') x 3;
}
else {
+ $self->{PREFIX} ||= $iprefix;
$self->{PERLPREFIX} ||= $iprefix;
$self->{SITEPREFIX} ||= $sprefix;
$self->{VENDORPREFIX} ||= $vprefix;
# Lots of MM extension authors like to use $(PREFIX) so we
# put something sensible in there no matter what.
- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
+ #$self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
}
my $arch = $Config{archname};

View file

@ -0,0 +1,95 @@
# http://rt.perl.org/rt3//Public/Bug/Display.html?id=69973
# http://perl5.git.perl.org/perl.git/commitdiff_plain/0abd0d78a73da1c4d13b1c700526b7e5d03b32d4?hp=fe88edf0c4ada4230b84bdb5417029b8f766694a
diff --git a/ext/re/t/regop.t b/ext/re/t/regop.t
index 9118bf6..46e6ec0 100644
--- ext/re/t/regop.t
+++ ext/re/t/regop.t
@@ -231,12 +231,12 @@ anchored "ABC" at 0
#Freeing REx: "(\\.COM|\\.EXE|\\.BAT|\\.CMD|\\.VBS|\\.VBE|\\.JS|\\.JSE|\\."......
%MATCHED%
floating ""$ at 3..4 (checking floating)
-1:1[1] 3:2[1] 5:2[64] 45:83[1] 47:84[1] 48:85[0]
-stclass EXACTF <.> minlen 3
-Found floating substr ""$ at offset 30...
-Does not contradict STCLASS...
-Guessed: match at offset 26
-Matching stclass EXACTF <.> against ".exe"
+#1:1[1] 3:2[1] 5:2[64] 45:83[1] 47:84[1] 48:85[0]
+#stclass EXACTF <.> minlen 3
+#Found floating substr ""$ at offset 30...
+#Does not contradict STCLASS...
+#Guessed: match at offset 26
+#Matching stclass EXACTF <.> against ".exe"
---
#Compiling REx "[q]"
#size 12 nodes Got 100 bytes for offset annotations.
diff --git a/regcomp.c b/regcomp.c
index 6e9fa26..eb5f12f 100644
--- regcomp.c
+++ regcomp.c
@@ -2833,13 +2833,18 @@ S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
}
} else {
/*
- Currently we assume that the trie can handle unicode and ascii
- matches fold cased matches. If this proves true then the following
- define will prevent tries in this situation.
-
- #define TRIE_TYPE_IS_SAFE (UTF || optype==EXACT)
-*/
+ Currently we do not believe that the trie logic can
+ handle case insensitive matching properly when the
+ pattern is not unicode (thus forcing unicode semantics).
+
+ If/when this is fixed the following define can be swapped
+ in below to fully enable trie logic.
+
#define TRIE_TYPE_IS_SAFE 1
+
+*/
+#define TRIE_TYPE_IS_SAFE (UTF || optype==EXACT)
+
if ( last && TRIE_TYPE_IS_SAFE ) {
make_trie( pRExC_state,
startbranch, first, cur, tail, count,
diff --git a/regexec.c b/regexec.c
index 402ede3..ec09c28 100644
--- regexec.c
+++ regexec.c
@@ -1105,16 +1105,15 @@ Perl_re_intuit_start(pTHX_ REGEXP * const rx, SV *sv, char *strpos,
#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len, \
uvc, charid, foldlen, foldbuf, uniflags) STMT_START { \
- UV uvc_unfolded = 0; \
switch (trie_type) { \
case trie_utf8_fold: \
if ( foldlen>0 ) { \
- uvc_unfolded = uvc = utf8n_to_uvuni( uscan, UTF8_MAXLEN, &len, uniflags ); \
+ uvc = utf8n_to_uvuni( uscan, UTF8_MAXLEN, &len, uniflags ); \
foldlen -= len; \
uscan += len; \
len=0; \
} else { \
- uvc_unfolded = uvc = utf8n_to_uvuni( (U8*)uc, UTF8_MAXLEN, &len, uniflags ); \
+ uvc = utf8n_to_uvuni( (U8*)uc, UTF8_MAXLEN, &len, uniflags ); \
uvc = to_uni_fold( uvc, foldbuf, &foldlen ); \
foldlen -= UNISKIP( uvc ); \
uscan = foldbuf + UNISKIP( uvc ); \
@@ -1140,7 +1139,6 @@ uvc, charid, foldlen, foldbuf, uniflags) STMT_START { \
uvc = (UV)*uc; \
len = 1; \
} \
- \
if (uvc < 256) { \
charid = trie->charmap[ uvc ]; \
} \
@@ -1153,9 +1151,6 @@ uvc, charid, foldlen, foldbuf, uniflags) STMT_START { \
charid = (U16)SvIV(*svpp); \
} \
} \
- if (!charid && trie_type == trie_utf8_fold && !UTF) { \
- charid = trie->charmap[uvc_unfolded]; \
- } \
} STMT_END
#define REXEC_FBC_EXACTISH_CHECK(CoNd) \

View file

@ -0,0 +1,46 @@
# http://rt.perl.org/rt3/Public/Bug/Display.html?id=71952
# http://perl5.git.perl.org/perl.git/commitdiff_plain/1f15e670edb515b744e9021b4a42a7955da83093?hp=1f730e6c11736bad913e605b064200a67117e898
diff --git a/sv.c b/sv.c
index 4e80e18..a3eb187 100644
--- sv.c
+++ sv.c
@@ -5664,7 +5664,8 @@ Perl_sv_clear(pTHX_ register SV *const sv)
&& !CvCONST(destructor)
/* Don't bother calling an empty destructor */
&& (CvISXSUB(destructor)
- || CvSTART(destructor)->op_next->op_type != OP_LEAVESUB))
+ || (CvSTART(destructor)
+ && (CvSTART(destructor)->op_next->op_type != OP_LEAVESUB))))
{
SV* const tmpref = newRV(sv);
SvREADONLY_on(tmpref); /* DESTROY() could be naughty */
diff --git a/t/op/method.t b/t/op/method.t
index afa8cfb..b602ca2 100644
--- t/op/method.t
+++ t/op/method.t
@@ -10,7 +10,7 @@ BEGIN {
require "test.pl";
}
-print "1..78\n";
+print "1..79\n";
@A::ISA = 'B';
@B::ISA = 'C';
@@ -292,3 +292,16 @@ EOT
"check if UNIVERSAL::AUTOLOAD works",
);
}
+
+# Test for #71952: crash when looking for a nonexistent destructor
+# Regression introduced by fbb3ee5af3d4
+{
+ fresh_perl_is(<<'EOT',
+sub M::DESTROY; bless {}, "M" ; print "survived\n";
+EOT
+ "survived",
+ {},
+ "no crash with a declared but missing DESTROY method"
+ );
+}
+

View file

@ -0,0 +1,51 @@
--- hints/freebsd.sh
+++ hints/freebsd.sh
@@ -88,6 +88,8 @@
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
libswanted=`echo $libswanted | sed 's/ bind / /'`
+ libswanted=`echo $libswanted | sed 's/ dl / /'`
+ libswanted=`echo $libswanted | sed 's/ c / /'`
# iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier.
libswanted=`echo $libswanted | sed 's/ iconv / /'`
d_setregid='define'
@@ -102,6 +104,10 @@
;;
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ libswanted=`echo $libswanted | sed 's/ bind / /'`
+ libswanted=`echo $libswanted | sed 's/ dl / /'`
+ libswanted=`echo $libswanted | sed 's/ iconv / /'`
+ libswanted=`echo $libswanted | sed 's/ c / /'`
;;
esac
@@ -125,7 +131,7 @@
else
libpth="/usr/lib /usr/local/lib"
glibpth="/usr/lib /usr/local/lib"
- ldflags="-Wl,-E "
+ ldflags="%%PTHREAD_LIBS%% -Wl,-E "
lddlflags="-shared "
fi
cccdlflags='-DPIC -fPIC'
@@ -136,7 +142,7 @@
0*|1*|2*|3*) ;;
*)
- ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
+ ccflags="${ccflags} %%PTHREAD_CFLAGS%% -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
usenm=false
fi
@@ -183,7 +189,9 @@
# This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads.
-cat > UU/usethreads.cbu <<'EOCBU'
+## not quite - modern FreeBSD perl port is supposed to take care of that
+## we just add extra libraries and cflags nowadays
+cat > /dev/null <<'EOCBU'
case "$usethreads" in
$define|true|[yY]*)
lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`

View file

@ -0,0 +1,30 @@
--- hints/freebsd.sh.orig2 2011-10-09 13:30:37.000000000 +0000
+++ hints/freebsd.sh 2011-10-09 14:12:48.000000000 +0000
@@ -116,7 +116,8 @@
case "$osvers" in
0.*|1.0*) ;;
-1*|2*) cccdlflags='-DPIC -fpic'
+1.*|2.*)
+ cccdlflags='-DPIC -fpic'
lddlflags="-Bshareable $lddlflags"
;;
@@ -139,7 +140,7 @@
esac
case "$osvers" in
-0*|1*|2*|3*) ;;
+0.*|1.*|2.*|3.*) ;;
*)
ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
@@ -196,7 +197,7 @@
$define|true|[yY]*)
lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
case "$osvers" in
- 0*|1*|2.0*|2.1*) cat <<EOM >&4
+ 0.*|1.*|2.0*|2.1*) cat <<EOM >&4
I did not know that FreeBSD $osvers supports POSIX threads.
Feel free to tell perlbug@perl.org otherwise.

View file

@ -0,0 +1,61 @@
--- perl.c
+++ perl.c
#else /* IAMSUID */
@@ -4882,6 +4882,28 @@
incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
#endif
+#ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
+ * DLL-based path intuition to work correctly */
+# if !defined(WIN32)
+ incpush(SITEARCH_EXP, FALSE, FALSE, TRUE, TRUE);
+# endif
+#endif
+
+#ifdef SITELIB_EXP
+# if defined(WIN32)
+ /* this picks up sitearch as well */
+ incpush(SITELIB_EXP, TRUE, FALSE, TRUE, TRUE);
+# else
+ incpush(SITELIB_EXP, FALSE, FALSE, TRUE, TRUE);
+# endif
+#endif
+
+#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
+ /* Search for version-specific dirs below here */
+ incpush(SITELIB_STEM, FALSE, TRUE, TRUE, TRUE);
+#endif
+
#ifdef ARCHLIB_EXP
incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
#endif
@@ -4915,28 +4937,6 @@
incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
#endif
-#ifdef SITEARCH_EXP
- /* sitearch is always relative to sitelib on Windows for
- * DLL-based path intuition to work correctly */
-# if !defined(WIN32)
- incpush(SITEARCH_EXP, FALSE, FALSE, TRUE, TRUE);
-# endif
-#endif
-
-#ifdef SITELIB_EXP
-# if defined(WIN32)
- /* this picks up sitearch as well */
- incpush(SITELIB_EXP, TRUE, FALSE, TRUE, TRUE);
-# else
- incpush(SITELIB_EXP, FALSE, FALSE, TRUE, TRUE);
-# endif
-#endif
-
-#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
- /* Search for version-specific dirs below here */
- incpush(SITELIB_STEM, FALSE, TRUE, TRUE, TRUE);
-#endif
-
#ifdef PERL_VENDORARCH_EXP
/* vendorarch is always relative to vendorlib on Windows for
* DLL-based path intuition to work correctly */

View file

@ -0,0 +1,603 @@
#! %%PERL%% -w
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42)
# <tobez@FreeBSD.org> wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return. Anton Berezin
# ----------------------------------------------------------------------------
#
# $FreeBSD$
# $Id: perl-after-upgrade,v 1.11 2005/06/23 19:39:00 tobez Exp $
#
=pod
=head1 NAME
perl-after-upgrade -- fixup FreeBSD packages that depend on perl
=head1 SYNOPSIS
perl-after-upgrade
perl-after-upgrade -f [-d] [-q]
perl-after-upgrade -v
=head1 DESCRIPTION
The standard procedure after a perl port (lang/perl5.X) upgrade is to
basically reinstall all other packages that depend on perl.
This is always a painful exercise. The perl-after-upgrade utility makes
this process mostly unnecessary.
The tool goes through the list of installed packages, looks for those
that depend on perl, moves files around, modifies shebang lines in those
scripts in which it is necessary to do so, tries its best to adjust
dynamically linked binaries that link with libperl.so in the old path,
and updates the package database.
After installation of the new perl is complete, either by hand from the
ports collection, or from a package, or via portupgrade, do the
following:
=over 4
=item o go root;
=item o run perl-after-upgrade utility.
Do not specify any arguments at first, so it does nothing destructive.
Pay attention to the produced output and especially to errorlist at the
end, if any;
=item o run the utility again, with B<-f> command line option.
This will actually do the work. Again, pay attention to the output
produced;
=item o fix any reported errors;
=item o reinstall required packages:
The utility will tell you what packages that depend on perl it could not
handle. It will also tell you why it happened (for example, they were
compiled against a binary incompatible perl). If you want such packages
to remain operational, you will have to reinstall then by hand or via
portupgrade.
=item o review the files left in the older perl installation.
This is typically /usr/local/lib/perl5/site_perl/5.X.Y/. There should
be very little, if any, files in that directory and its subdirectories,
excepting a number of .ph files;
=item o check that things work as they should;
=item o remove backup files from the package database.
Those will be /var/db/pkg/*/+CONTENTS.bak;
=item o that's all.
=back
=head1 COPYRIGHT AND LICENSE
Copyright 2005 by Anton Berezin
"THE BEER-WARE LICENSE" (Revision 42)
<tobez@FreeBSD.org> wrote this module. As long as you retain this
notice you can do whatever you want with this stuff. If we meet some
day, and you think this stuff is worth it, you can buy me a beer in
return.
Anton Berezin
NO WARRANTY OF ANY KIND, USE AT YOUR OWN RISK.
=head1 HISTORY
The first version of this utility was not bundled with perl package on
FreeBSD. It was dumber than the current version in several important
areas. It was faster.
=head1 CREDITS
Thanks to Mathieu Arnold for discussion.
=head1 SEE ALSO
perl(1).
=cut
use strict;
use warnings;
use 5.0100;
our $debug = 0;
# |/-\
my $pchar = "|";
my $do_progress = -t *STDOUT;
sub progress
{
if ($do_progress) {
print STDERR "$pchar";
$pchar =~ tr<|/\\-><-|/\\>;
}
}
package FreeBSD::Package;
use strict;
use warnings;
use IO::File;
use File::Copy;
sub new
{
my ($pkg, %p) = @_;
my $pkgdir = $p{pkgdir} || return undef;
my $name = $pkgdir;
$name =~ s|.*/||;
main::progress();
my $c = IO::File->new("< $pkgdir/+CONTENTS");
return undef unless $c;
my @lines;
while (<$c>) {
chomp;
push @lines, $_;
}
my $me = bless {
pkgdir => $pkgdir,
lines => \@lines,
name => $name,
}, $pkg;
return $me;
}
sub name
{
return $_[0]->{name};
}
sub lines
{
my $me = shift;
if (@_ && @_ == 1 && ref(@_) eq 'ARRAY') {
$me->{lines} = [@{$_[0]}];
$me->{changed} = 1;
} elsif (@_) {
$me->{lines} = [@_];
$me->{changed} = 1;
} else {
return @{$me->{lines}};
}
}
sub write_back
{
my ($me) = @_;
return unless $me->{changed};
main::progress();
my $file = "$me->{pkgdir}/+CONTENTS";
copy($file, "$file.bak");
my $c = IO::File->new("> $file");
return unless $c;
for (@{$me->{lines}}) {
print $c "$_\n";
}
}
package FreeBSD::Package::DB;
use strict;
use warnings;
sub new
{
my ($pkg, %p) = @_;
my $me = bless {
dbdir => $p{dbdir} || $ENV{PKG_DBDIR} || "/var/db/pkg",
}, $pkg;
$me->{packages} = [ grep { -d } glob "$me->{dbdir}/*" ];
$me->reset;
return $me;
}
sub next
{
my ($me) = @_;
while (1) {
$me->{current}++;
if ($me->{current} >= @{$me->{packages}}) {
$me->reset;
return undef;
}
my $pkg = FreeBSD::Package->new(pkgdir => $me->{packages}->[$me->{current}]);
return $pkg if $pkg;
}
}
sub reset
{
my ($me) = @_;
$me->{current} = -1;
}
package main;
use strict;
use warnings;
use File::Temp qw/tempfile/;
use File::Copy;
our $dry_run = 1;
our $quiet = 0;
my @tmpl;
our $VERSION = "1.4";
while (@ARGV) {
my $opt = shift;
if ($opt eq "-f") {
$dry_run = 0;
} elsif ($opt eq "-d") {
$debug = 1;
} elsif ($opt eq "-q") {
$quiet = 1;
} elsif ($opt eq "-v") {
$_ = $0;
s|.*/||;
print "$_ version $VERSION\n";
exit 0;
} elsif ($opt =~ /^-/) {
$_ = $0;
s|.*/||;
print "Unknown option `$opt'\n";
print "Usage:\n";
print "\t$_\n\t$_ -v\n\t$_ -f\n";
exit 1;
} else {
push @tmpl, $opt;
}
}
our $PERL_VERSION = '%%PERL_VERSION%%';
our $PERL_PKGNAME = '%%PKGNAME%%';
our $PERL_VERSION_REGEX = qr/5\.10\.\d+/;
print STDERR "- Fuzzy source re: <$PERL_VERSION_REGEX>\n" if $debug;
our @errors;
our @notes;
sub fix_script
{
my ($file) = @_;
main::progress();
return 1 if $dry_run;
my $sf = IO::File->new("< $file");
return "" unless $sf;
my $line = <$sf>;
my $md5 = "";
if ($line && $line =~ s|^(\s*#!\s*[\w/]+perl)$PERL_VERSION_REGEX\b|$1$PERL_VERSION|) {
my $dir = $file;
$dir =~ s|/[^/]+$||;
my ($fh, $fn) = tempfile(DIR=> $dir);
if ($fh) {
print $fh $line;
while (<$sf>) {
print $fh $_;
}
close $fh;
$md5 = `/sbin/md5 -q $fn`;
chomp $md5;
my $mode = (stat($file))[2] & 07777;
unlink $file or do {
push @errors, "Failed to unlink $file: $!";
unlink $fn;
return "";
};
rename $fn, $file or do {
push @errors, "Failed to rename $fn to $file: $!";
return "";
};
chmod $mode, $file;
} else {
push @errors, "Failed to modify $file: $!";
}
}
return $md5;
}
sub fix_binary
{
my ($file) = @_;
main::progress();
my $sf = IO::File->new("< $file");
return "" unless $sf;
my $was = $dry_run ? "would be" : "was";
push @notes, "The $file binary $was modified, make sure it works";
return 1 if $dry_run;
my $md5 = "";
my $dir = $file;
$dir =~ s|/[^/]+$||;
my ($fh, $fn) = tempfile(DIR=> $dir);
unless ($fn) {
push @errors, "Failed to modify $file: $!";
return "";
}
while (<$sf>) {
s|/lib/perl5/$PERL_VERSION_REGEX/mach/CORE|/lib/perl5/$PERL_VERSION/mach/CORE|g;
print $fh $_;
}
close $fh;
$md5 = `/sbin/md5 -q $fn`;
chomp $md5;
my $mode = (stat($file))[2] & 07777;
unlink $file or do {
push @errors, "Failed to unlink $file: $!";
unlink $fn;
return "";
};
rename $fn, $file or do {
push @errors, "Failed to rename $fn to $file: $!";
return "";
};
chmod $mode, $file;
return $md5;
}
sub mkdir_recur
{
my ($dir) = @_;
main::progress();
$dir =~ s|/+$||;
my $orig = $dir;
if ($dir =~ m|^$|) {
return 1;
} else {
$dir =~ s|/[^/]+$||;
my $r = mkdir_recur($dir);
return $r unless $r;
mkdir $orig, 0777;
my $e = $!;
unless (-d $orig) {
push @errors, "Could not create directory $orig: $e";
return 0;
}
return 1;
}
}
sub might_need_to_fix
{
my ($pkg) = @_;
my $pkg_name = $pkg->name;
main::progress();
if ($pkg_name =~ /^bsdpan-/) {
return 1;
}
for ($pkg->lines) {
if (/^\@pkgdep\s+perl-(threaded-)?($PERL_VERSION_REGEX)\S*\s*$/) {
return 1;
}
}
return 0;
}
sub fixable_binary
{
my ($file, $name) = @_;
main::progress();
my $fixable = 0;
for (`/usr/bin/ldd $file 2>&1`) {
if (/^\s+libperl\.so\s+=>/) {
my $found;
for (`strings $file`) {
if (m</lib/perl5/($PERL_VERSION_REGEX)/mach/CORE>) {
$found++;
if (length($1) != length($PERL_VERSION)) {
push @notes, "$name cannot be fixed up (and has to be reinstalled): cannot patch $file due to length difference";
print STDERR "- Skipping $name: cannot patch $file due to length difference\n" if $debug;
return undef;
}
print STDERR "- $name: fixable binary $file\n" if $debug && $found < 2;
$fixable = 1 if $1 ne $PERL_VERSION;
}
}
if (!$found) {
push @notes, "$name cannot be fixed up (and has to be reinstalled): $file is using unknown libperl";
print STDERR "- Skipping $name: $file is using unknown libperl\n" if $debug;
return undef;
}
}
}
return $fixable;
}
sub fixable_shared_lib
{
my ($file, $name) = @_;
main::progress();
my ($old);
for (`strings $file`) {
if (/^perl_get_sv$/) {
push @notes, "$name cannot be fixed up (and has to be reinstalled): $file uses an old perl API";
print STDERR "- Skipping $name: $file uses an old perl API\n" if $debug;
return 0;
}
}
return 1;
}
sub cannot_be_fixed
{
my ($pkg, $binaries, $scripts) = @_;
my $pkg_name = $pkg->name;
my $prefix = "";
main::progress();
for ($pkg->lines) {
if (/^\@cwd\s+(\S+)\s*$/) {
$prefix = $1;
next;
}
my $file = "$prefix/$_";
next if -l $file;
next if $file =~ /\.gz$/;
next if $file =~ /\.bz2$/;
my $sf = IO::File->new("< $file");
next unless $sf;
my $line;
sysread $sf, $line, 256;
# binary executable
if ($line && $line =~ /^\177ELF.\x01.\x09.{8}\x02\0/) {
my $fixable = fixable_binary($file, $pkg_name);
return 0 unless defined $fixable;
push @$binaries, $file if $fixable;
# shared library - can prevent us from being able to upgrade
} elsif ($line && $line =~ /^\177ELF.\x01.\x09.{8}\x03\0/) {
return 0 unless fixable_shared_lib($file, $pkg_name);
} elsif ($line && $line =~ m<^\s*#!\s*[\w/]+perl($PERL_VERSION_REGEX)\b>) {
print STDERR "- $pkg_name: fixable script $file\n" if $debug;
push @$scripts, $file if $1 ne $PERL_VERSION;
}
main::progress();
}
}
#
my $db = FreeBSD::Package::DB->new;
my ($fixed, $skipped, $tot_moved, $tot_modified) = (0,0,0,0);
while (my $pkg = $db->next) {
my @lines;
my $new_md5;
my ($adjusted, $moved, $modified) = (0,0,0);
my $pkg_name = $pkg->name;
if (@tmpl) {
my $ok;
for (@tmpl) {
if ($pkg_name =~ /^$_/) {
$ok = 1;
last;
}
}
next unless $ok;
}
unless (might_need_to_fix($pkg)) {
$skipped++;
print STDERR "- Skipping $pkg_name, it does not depend on perl\n" if $debug;
next;
}
my (@binaries_to_fix, @scripts_to_fix);
if (cannot_be_fixed($pkg, \@binaries_to_fix, \@scripts_to_fix)) {
$skipped++;
next;
}
if ($debug) {
print STDERR "- $pkg_name: ", scalar(@binaries_to_fix), " binaries to fix\n" if @binaries_to_fix;
print STDERR "- $pkg_name: ", scalar(@scripts_to_fix), " scripts to fix\n" if @scripts_to_fix;
}
my %binaries = map { $_ => 1 } @binaries_to_fix;
my %scripts = map { $_ => 1 } @scripts_to_fix;
my $prefix = "";
my $pcnt = 0;
for ($pkg->lines) {
if (/^([^@]\S+)\s*$/) {
my $from = "$prefix/$_";
local $_; # we'll need it later
$new_md5 = "";
unless (-l $from) { # skip symlinks
if ($binaries{$from}) {
$new_md5 = fix_binary($from);
} elsif ($scripts{$from}) {
$new_md5 = fix_script($from);
}
$modified++ if $new_md5;
}
my $to = $from;
if ($to =~ s|(/perl5/(?:site_perl/)?)$PERL_VERSION_REGEX|$1$PERL_VERSION|g) {
if ($to ne $from) {
my $dir = $to;
$dir =~ s|/[^/]+$||;
main::progress();
unless ($dry_run) {
if (mkdir_recur($dir)) {
move($from, $to);
} else {
push @errors, " could not move $from to $to";
}
}
$moved++;
print STDERR "- move: $from => $to\n" if $debug;
}
}
} elsif (/^\@comment\s+MD5:[\da-f]+\s*$/ && $new_md5) {
s|MD5:(\S+)|MD5:$new_md5|;
$new_md5 = "";
} else {
$new_md5 = "";
}
if (/^\@cwd\s+(\S+)\s*$/) {
$prefix = $1;
} elsif (/^\@pkgdep\s+perl-(threaded-)?($PERL_VERSION_REGEX)\S*\s*$/) {
if ($PERL_VERSION ne $2) {
my $perlver = $2;
s|perl-(threaded-)?\Q$perlver\E\S*|$PERL_PKGNAME|;
}
}
my $old = $_;
if (s|(/perl5/(?:site_perl/)?)$PERL_VERSION_REGEX|$1$PERL_VERSION|g) {
if ($old ne $_) {
$adjusted++;
print STDERR "- adjust: $_\n" if $debug;
}
}
push @lines, $_;
main::progress() if $pcnt++ % 250 == 0;
}
unless ($dry_run) {
$pkg->lines(@lines);
$pkg->write_back;
}
$fixed++ if $moved || $modified || $adjusted;
$tot_modified += $modified;
$tot_moved += $moved;
say "$pkg_name: $moved moved, $modified modified, $adjusted adjusted"
if !$quiet || ($moved || $modified || $adjusted);
}
print "\n---\n";
print "Fixed $fixed packages ($tot_moved files moved, $tot_modified files modified)\n";
print "Skipped $skipped packages\n";
if (@errors) {
print "\n**** The script has encountered following problems:\n";
for (@errors) {
print "$_\n";
}
print "\n--- Repeating summary:\n";
print "Fixed $fixed packages ($tot_moved files moved, $tot_modified files modified)\n";
print "Skipped $skipped packages\n";
}
if (@notes) {
print "\n**** In addition, please pay attention to the following:\n";
for (@notes) {
print "$_\n";
}
print "\n--- Repeating summary:\n";
print "Fixed $fixed packages ($tot_moved files moved, $tot_modified files modified)\n";
print "Skipped $skipped packages\n";
}

View file

@ -0,0 +1,2 @@
MANPATH %%PREFIX%%/lib/perl5/%%PERL_VERSION%%/man
MANPATH %%PREFIX%%/lib/perl5/%%PERL_VERSION%%/perl/man

View file

@ -0,0 +1,157 @@
#!/bin/sh
# $FreeBSD$
this=`echo -n $0 | /usr/bin/sed -e 's!^.*/!!'`
PERL_VERSION="%%PERL_VERSION%%"
MAKE_CONF=%%MAKE_CONF%%
banner=`date +"%F %T"`
banner="# added by use.perl $banner"
if [ -z "${OSVERSION}" ]; then
if [ -f /sbin/sysctl -a -x /sbin/sysctl ] ; then
osreldate=`/sbin/sysctl -n kern.osreldate`
else
osreldate=`/usr/sbin/sysctl -n kern.osreldate`
fi
else
osreldate=${OSVERSION}
fi
if [ "$2" = "POST-INSTALL" ] ; then
need_remove_links=%%LINK_USRBIN%%
need_create_links=%%LINK_USRBIN%%
need_cleanup_make_conf=yes
need_spam_make_conf=yes
need_post_install=yes
if [ "${osreldate}" -lt 900022 ]; then
need_cleanup_manpath=yes
need_spam_manpath=yes
fi
elif [ "$2" = "POST-DEINSTALL" ] ; then
need_remove_links=%%LINK_USRBIN%%
need_cleanup_make_conf=yes
if [ "${osreldate}" -lt 900022 ]; then
need_cleanup_manpath=yes
fi
else
exit 0;
fi
special_link_list="
perl
perl5"
do_remove_links()
{
echo "Removing stale symlinks from /usr/bin..."
for binary in $special_link_list
do
if [ -L "/usr/bin/$binary" ] ; then
echo " Removing /usr/bin/$binary"
/bin/rm -f "/usr/bin/$binary"
else
echo " Skipping /usr/bin/$binary"
fi
done
bins=`/bin/ls /usr/bin/*perl*5.* ${PKG_PREFIX}/bin/*perl*5.* 2>/dev/null`
for binary in $bins
do
if [ -L "$binary" ] ; then
echo " Removing $binary installed by an older perl port"
/bin/rm -f "$binary"
fi
done
echo "Done."
}
do_create_links()
{
echo "Creating various symlinks in /usr/bin..."
for binary in $special_link_list
do
if [ -f "/usr/bin/$binary" ] ; then
echo " Backing up /usr/bin/$binary as /usr/bin/$binary.freebsd"
/bin/mv -f "/usr/bin/$binary" "/usr/bin/$binary.freebsd"
fi
bin=`echo $binary | /usr/bin/sed -e 's!perl5!perl!'`
if [ -e "/usr/bin/$binary" ] ; then
echo " *** /usr/bin/$binary is still there, which should not happen"
elif [ -e "$PKG_PREFIX/bin/${bin}%%PERL_VERSION%%" ] ; then
echo " Symlinking $PKG_PREFIX/bin/${bin}%%PERL_VERSION%% to /usr/bin/$binary"
/bin/ln -sf "$PKG_PREFIX/bin/${bin}%%PERL_VERSION%%" "/usr/bin/$binary"
else
echo " *** $PKG_PREFIX/bin/${bin}%%PERL_VERSION%% is not there, a symlink won't do any good"
fi
done
echo "Done."
}
do_post_install()
{
INCLUDEDIR=/usr/include
install -d ${PKG_PREFIX}/lib/perl5/site_perl/%%PERL_VERSION%%/%%PERL_ARCH%%/auto
install -d ${PKG_PREFIX}/lib/perl5/site_perl/%%PERL_VERSION%%/auto
install -d ${PKG_PREFIX}/lib/perl5/%%PERL_VERSION%%/man/man3
cd ${INCLUDEDIR} && ${PKG_PREFIX}/bin/h2ph *.h machine/*.h sys/*.h >/dev/null
}
do_cleanup_make_conf()
{
echo -n "Cleaning up ${MAKE_CONF}..."
if [ -f ${MAKE_CONF} ] ; then
/usr/bin/awk 's=0;
/^#.*use.perl/ { s=1; mode=1 }
/^#/ { s=1; if (mode != 1) { mode=0 } }
/.*PERL.*=/ { s=1; if (mode == 1) { mode=2 } }
/^$/ { s=1; if (mode != 2) { mode = 0 } }
{ if (s != 1) { mode = 0 } if (mode == 0) print }' ${MAKE_CONF} >${MAKE_CONF}.new
/bin/mv ${MAKE_CONF} ${MAKE_CONF}.bak
/bin/mv ${MAKE_CONF}.new ${MAKE_CONF}
fi
echo " Done."
}
do_cleanup_manpath()
{
if [ -f /etc/manpath.config ] ; then
echo -n "Cleaning up /etc/manpath.config..."
/usr/bin/awk 's=0;
/^#.*use.perl/ { s=1; mode=1 }
/^#/ { s=1; if (mode != 1) { mode=0 } }
/^OPTIONAL_MANPATH.*perl5/ { s=1; if (mode == 1) { mode=2 } }
/^$/ { s=1; if (mode != 2) { mode = 0 } }
{ if (s != 1) { mode = 0 } if (mode == 0) print }' /etc/manpath.config >/etc/manpath.config.new
/bin/mv /etc/manpath.config /etc/manpath.config.bak
/bin/mv /etc/manpath.config.new /etc/manpath.config
echo " Done."
fi
}
do_spam_make_conf()
{
echo -n "Spamming ${MAKE_CONF}..."
echo "$banner" >>${MAKE_CONF}
echo "PERL_VERSION=%%PERL_VERSION%%" >>${MAKE_CONF}
echo " Done."
}
do_spam_manpath()
{
if [ -f /etc/manpath.config ] ; then
echo -n "Spamming /etc/manpath.config..."
echo "$banner" >>/etc/manpath.config
echo "OPTIONAL_MANPATH ${PKG_PREFIX}/lib/perl5/%%PERL_VERSION%%/man" >>/etc/manpath.config
echo "OPTIONAL_MANPATH ${PKG_PREFIX}/lib/perl5/%%PERL_VERSION%%/perl/man" >>/etc/manpath.config
echo " Done."
fi
}
[ "$need_remove_links" = "yes" ] && do_remove_links
[ "$need_create_links" = "yes" ] && do_create_links
[ "$need_post_install" = "yes" ] && do_post_install
[ "$need_cleanup_make_conf" = "yes" ] && do_cleanup_make_conf
[ "$need_spam_make_conf" = "yes" ] && do_spam_make_conf
[ "$need_cleanup_manpath" = "yes" ] && do_cleanup_manpath
[ "$need_spam_manpath" = "yes" ] && do_spam_manpath
exit 0

6
lang/perl5.10/pkg-descr Normal file
View file

@ -0,0 +1,6 @@
Perl is a language that combines some of the features of C, sed, awk and
shell. See the manual page for more hype. There are also many books
published by O'Reilly & Assoc. See pod/perlbook.pod for more
information.
WWW: http://www.perl.org/

2015
lang/perl5.10/pkg-plist Normal file

File diff suppressed because it is too large Load diff

244
lang/perl5.8/Makefile Normal file
View file

@ -0,0 +1,244 @@
# New ports collection makefile for: perl5
# Date created: 16 April 1995
# Whom: markm
#
# $FreeBSD$
#
PORTNAME= perl
PORTVERSION= ${PERL_VERSION}
PORTREVISION= 7
CATEGORIES= lang devel perl5
MASTER_SITES= CPAN \
${MASTER_SITE_LOCAL:S/$/:local/} \
http://protey.ru/freebsd/distfiles/:local
MASTER_SITE_SUBDIR= ../../src \
skv/:local
DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \
BSDPAN-${BSDPAN_VERSION}${EXTRACT_SUFX}:local
DIST_SUBDIR= perl
PATCH_SITES= ${MASTER_SITE_LOCAL:S!$!skv/!} \
http://protey.ru/freebsd/distfiles/
PATCHFILES= defined-or-${PERL_VERSION}.bz2
MAINTAINER= skv@FreeBSD.org
COMMENT= Practical Extraction and Report Language
LICENSE= ART10 GPLv1
LICENSE_COMB= dual
CONFLICTS= perl-5.6.* perl-5.10.* perl-threaded-5.10.* \
perl-5.12.* perl-threaded-5.12.* \
perl-5.14.* perl-threaded-5.14.*
OPTIONS= DEBUGGING "Build with debugging support" off \
GDBM "Build GDBM_File extension" off \
PERL_MALLOC "Use Perl malloc" on \
PERL_64BITINT "Use 64 bit integers (on i386)" on \
THREADS "Build threaded perl" off \
PTHREAD "Build with -pthread" on \
SUIDPERL "Build set-user-id suidperl binary" off \
SITECUSTOMIZE "Run-time customization of @INC" off \
USE_PERL "Rewrite links in /usr/bin" on
PORTSCOUT= limitw:1,even
PERL_VERSION= 5.8.9
PERL_ARCH= mach
SITE_PERL_REL?= lib/perl5/site_perl/${PERL_VERSION}
SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL}
USE_BZIP2= yes
HAS_CONFIGURE= yes
MAKE_JOBS_UNSAFE= yes
CONFIGURE_SCRIPT=Configure
CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \
-Darchlib=${PREFIX}/lib/perl5/${PERL_VERSION}/${PERL_ARCH} \
-Dprivlib=${PREFIX}/lib/perl5/${PERL_VERSION} \
-Dman3dir=${PREFIX}/lib/perl5/${PERL_VERSION}/perl/man/man3 \
-Dman1dir=${PREFIX}/man/man1 \
-Dsitearch=${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH} \
-Dsitelib=${PREFIX}/${SITE_PERL_REL} -Dscriptdir=${PREFIX}/bin \
-Dsiteman3dir=${PREFIX}/lib/perl5/${PERL_VERSION}/man/man3 \
-Dsiteman1dir=${PREFIX}/man/man1 \
-Ui_malloc -Ui_iconv -Uinstallusrbinperl \
-Dcc="${CC}" -Duseshrplib -Dinc_version_list=none \
-Dccflags=-DAPPLLIB_EXP=\"${BSDPAN_DEST}\"
LOCALE_CLEANUP= LANG="" LC_ALL="" LC_COLLATE="" LC_CTYPE="" \
LC_MESSAGES="" LC_MONETARY="" LC_NUMERIC="" \
LC_TIME=""
CONFIGURE_ENV+= ${LOCALE_CLEANUP} UNAME_v="$$(uname -v | sed 'y/=/ /')"
MAKE_ENV+= ${LOCALE_CLEANUP}
.include "Makefile.man"
.include <bsd.port.pre.mk>
.if defined(PERL_VENDOR_PREFIX)
CONFIGURE_ARGS+= \
-Dvendorprefix=${PERL_VENDOR_PREFIX} \
-Dvendorarch=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION}/${PERL_ARCH} \
-Dvendorbin=${PERL_VENDOR_PREFIX}/bin \
-Dvendorlib=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION} \
-Dvendorman3dir=${PERL_VENDOR_PREFIX}/lib/perl5/${PERL_VERSION}/man/man3 \
-Dvendorman1dir=${PERL_VENDOR_PREFIX}/man/man1
.endif
PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
PERL_VER=${PERL_VERSION} \
PERL_ARCH=${PERL_ARCH} \
SITE_PERL=${SITE_PERL:S|^${LOCALBASE}/||}
.if defined(WITH_DEBUGGING)
CONFIGURE_ARGS+= -Doptimize="-g" -DDEBUGGING
STRIP=
STRIP_CMD= ${TRUE}
.else
CONFIGURE_ARGS+= -Doptimize="${CFLAGS}"
.endif
.if defined(ENABLE_SUIDPERL) || defined(WITH_SUIDPERL)
CONFIGURE_ARGS+= -Dd_dosuid=define
PLIST_SUB+= SUIDPERL=""
.else
CONFIGURE_ARGS+= -Ud_dosuid
PLIST_SUB+= SUIDPERL="@comment "
.endif
.if defined(WITH_GDBM)
CONFIGURE_ARGS+= -Di_gdbm
LIB_DEPENDS+= gdbm.4:${PORTSDIR}/databases/gdbm
PLIST_SUB+= GDBM=""
.else
CONFIGURE_ARGS+= -Ui_gdbm
PLIST_SUB+= GDBM="@comment "
.endif
.if ${OSVERSION} >= 900022
PLIST_SUB+= MANCONF=""
.else
PLIST_SUB+= MANCONF="@comment "
.endif
.if defined(WITHOUT_PERL_MALLOC)
.undef WITH_PERL_MALLOC
.else
WITH_PERL_MALLOC= yes
.endif
.if defined(WITH_THREADS)
#XXX .if ${ARCH} == "amd64"
#XXX IGNORE= Threaded perl does not pass tests on ${ARCH}
#XXX .endif
CONFIGURE_ARGS+= -Dusethreads=y
PKGNAMESUFFIX= -threaded
WITH_PTHREAD= yes
# it seems perl malloc has problems with threaded perl on FreeBSD
.undef WITH_PERL_MALLOC
.else
CONFIGURE_ARGS+= -Dusethreads=n
.endif
.if defined(WITH_PERL_MALLOC)
CONFIGURE_ARGS+= -Dusemymalloc=y
.else
CONFIGURE_ARGS+= -Dusemymalloc=n
.endif
.if defined(WITH_PERL_64BITINT)
CONFIGURE_ARGS+= -Duse64bitint
.endif
.if defined(WITH_SITECUSTOMIZE)
CONFIGURE_ARGS+= -Dusesitecustomize
.endif
.if defined(WITH_USE_PERL)
LINK_USRBIN= yes
.else
LINK_USRBIN= no
.endif
NO_LATEST_LINK= yes
PLIST_SUB+= NEED_USE_PERL="@comment "
.if defined(WITH_GDBM)
MAN3+= GDBM_File.3
.endif
MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VERSION}/perl
BSDPAN_DEST= ${PREFIX}/lib/perl5/${PERL_VERSION}/BSDPAN
BSDPAN_FILES= BSDPAN.pm BSDPAN/Override.pm Config.pm \
ExtUtils/MM_Unix.pm \
ExtUtils/MakeMaker.pm \
ExtUtils/Packlist.pm
BSDPAN_VERSION= ${PORTVERSION}_20090303
BSDPAN_WRKSRC= ${WRKDIR}/BSDPAN-${BSDPAN_VERSION}
PKGINSTALL= ${WRKDIR}/pkg-install
PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
post-patch:
${SED} -e 's|%%PREFIX%%|${PREFIX}|g;' \
-e 's|%%PERL_VERSION%%|${PERL_VERSION}|g;' \
-e 's|%%PERL_ARCH%%|${PERL_ARCH}|g;' \
-e 's|%%MAKE_CONF%%|${__MAKE_CONF}|g;' \
-e 's|%%LINK_USRBIN%%|${LINK_USRBIN}|g;' \
${FILESDIR}/use.perl \
> ${WRKDIR}/use.perl
${SED} -e 's|%%PREFIX%%|${PREFIX}|g;' \
-e 's|%%PERL_VERSION%%|${PERL_VERSION}|g;' \
${FILESDIR}/perl-man.conf \
> ${WRKDIR}/perl-man.conf
${SED} -e 's|%%PERL%%|${PERL}|g; s|%%PERL_VERSION%%|${PERL_VERSION}|g; s|%%PKGNAME%%|${PKGNAME}|g' \
${FILESDIR}/perl-after-upgrade \
> ${WRKDIR}/perl-after-upgrade
${CP} ${WRKDIR}/use.perl ${PKGINSTALL}
${CP} ${WRKDIR}/use.perl ${PKGDEINSTALL}
${SED} -i '' -e 's|%%PERL_PKGNAME%%|${PKGNAME}|g; s|%%PERL_VER%%|5.8|g;' \
${BSDPAN_WRKSRC}/ExtUtils/*.pm
${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
${WRKSRC}/Configure ${WRKSRC}/hints/freebsd.sh
.if defined(WITH_PTHREAD)
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g;' \
-e 's|%%PTHREAD_CFLAGS%%|${PTHREAD_CFLAGS}|g;' \
${WRKSRC}/hints/freebsd.sh
.else
${REINPLACE_CMD} -e 's|%%PTHREAD_LIBS%%||g;' \
-e 's|%%PTHREAD_CFLAGS%%||g;' \
${WRKSRC}/hints/freebsd.sh
.endif
pre-su-install:
@${RM} -f ${PREFIX}/bin/perl${PERL_VERSION}
@${RM} -f ${PREFIX}/bin/perl
post-install:
@${STRIP_CMD} ${PREFIX}/bin/perl${PERL_VERSION}
@${STRIP_CMD} ${PREFIX}/bin/perl
@${PREFIX}/bin/pod2man ${WRKDIR}/perl-after-upgrade >${WRKDIR}/perl-after-upgrade.1
@${INSTALL_SCRIPT} ${WRKDIR}/perl-after-upgrade ${PREFIX}/bin/perl-after-upgrade
@${INSTALL_MAN} ${WRKDIR}/perl-after-upgrade.1 ${MAN1PREFIX}/man/man1/perl-after-upgrade.1
@${LN} -sf ${PREFIX}/bin/perl${PERL_VERSION} ${PREFIX}/bin/perl5
.if ${OSVERSION} >= 900022
@${INSTALL_DATA} ${WRKDIR}/perl-man.conf ${PREFIX}/etc/man.d/perl${PERL_VERSION}.conf
.endif
.for files in ${BSDPAN_FILES}
${MKDIR} ${BSDPAN_DEST}/${files:H}
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
${BSDPAN_WRKSRC}/${files} ${BSDPAN_DEST}/${files}
.endfor
PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
test: build
@(cd ${WRKSRC}; make test)
regression-test: test
rebuild-xs:
${LOCALBASE}/sbin/portupgrade -f `(${FIND} ${PKG_DBDIR}/p5*/+CONTENTS | \
${XARGS} ${GREP} -El 'site_perl.*\.so' | \
${SED} -e 's!/var/db/pkg/!!; s!/+CONTENTS!!;')`
.include <bsd.port.post.mk>

556
lang/perl5.8/Makefile.man Normal file
View file

@ -0,0 +1,556 @@
# $FreeBSD$
MAN1+= a2p.1
MAN1+= c2ph.1
MAN1+= corelist.1
MAN1+= cpan.1
MAN1+= dprofpp.1
MAN1+= enc2xs.1
MAN1+= find2perl.1
MAN1+= h2ph.1
MAN1+= h2xs.1
MAN1+= instmodsh.1
MAN1+= libnetcfg.1
MAN1+= perl-after-upgrade.1
MAN1+= perl.1
MAN1+= perl5004delta.1
MAN1+= perl5005delta.1
MAN1+= perl561delta.1
MAN1+= perl56delta.1
MAN1+= perl570delta.1
MAN1+= perl571delta.1
MAN1+= perl572delta.1
MAN1+= perl573delta.1
MAN1+= perl581delta.1
MAN1+= perl582delta.1
MAN1+= perl583delta.1
MAN1+= perl584delta.1
MAN1+= perl585delta.1
MAN1+= perl586delta.1
MAN1+= perl587delta.1
MAN1+= perl588delta.1
MAN1+= perl589delta.1
MAN1+= perl58delta.1
MAN1+= perlaix.1
MAN1+= perlamiga.1
MAN1+= perlapi.1
MAN1+= perlapio.1
MAN1+= perlapollo.1
MAN1+= perlartistic.1
MAN1+= perlbeos.1
MAN1+= perlbook.1
MAN1+= perlboot.1
MAN1+= perlbot.1
MAN1+= perlbs2000.1
MAN1+= perlbug.1
MAN1+= perlcall.1
MAN1+= perlcc.1
MAN1+= perlce.1
MAN1+= perlcheat.1
MAN1+= perlclib.1
MAN1+= perlcn.1
MAN1+= perlcompile.1
MAN1+= perlcommunity.1
MAN1+= perlcygwin.1
MAN1+= perldata.1
MAN1+= perldbmfilter.1
MAN1+= perldebguts.1
MAN1+= perldebtut.1
MAN1+= perldebug.1
MAN1+= perldelta.1
MAN1+= perldgux.1
MAN1+= perldiag.1
MAN1+= perldoc.1
MAN1+= perldos.1
MAN1+= perldsc.1
MAN1+= perlebcdic.1
MAN1+= perlembed.1
MAN1+= perlepoc.1
MAN1+= perlfaq.1
MAN1+= perlfaq1.1
MAN1+= perlfaq2.1
MAN1+= perlfaq3.1
MAN1+= perlfaq4.1
MAN1+= perlfaq5.1
MAN1+= perlfaq6.1
MAN1+= perlfaq7.1
MAN1+= perlfaq8.1
MAN1+= perlfaq9.1
MAN1+= perlfilter.1
MAN1+= perlfork.1
MAN1+= perlform.1
MAN1+= perlfreebsd.1
MAN1+= perlfunc.1
MAN1+= perlglossary.1
MAN1+= perlgpl.1
MAN1+= perlguts.1
MAN1+= perlhack.1
MAN1+= perlhist.1
MAN1+= perlhpux.1
MAN1+= perlhurd.1
MAN1+= perlintern.1
MAN1+= perlintro.1
MAN1+= perliol.1
MAN1+= perlipc.1
MAN1+= perlirix.1
MAN1+= perlivp.1
MAN1+= perljp.1
MAN1+= perlko.1
MAN1+= perllexwarn.1
MAN1+= perllinux.1
MAN1+= perllocale.1
MAN1+= perllol.1
MAN1+= perlmachten.1
MAN1+= perlmacos.1
MAN1+= perlmacosx.1
MAN1+= perlmint.1
MAN1+= perlmod.1
MAN1+= perlmodinstall.1
MAN1+= perlmodlib.1
MAN1+= perlmodstyle.1
MAN1+= perlmpeix.1
MAN1+= perlnetware.1
MAN1+= perlnewmod.1
MAN1+= perlnumber.1
MAN1+= perlobj.1
MAN1+= perlop.1
MAN1+= perlopenbsd.1
MAN1+= perlopentut.1
MAN1+= perlos2.1
MAN1+= perlos390.1
MAN1+= perlos400.1
MAN1+= perlothrtut.1
MAN1+= perlpacktut.1
MAN1+= perlplan9.1
MAN1+= perlpod.1
MAN1+= perlpodspec.1
MAN1+= perlport.1
MAN1+= perlqnx.1
MAN1+= perlre.1
MAN1+= perlrebackslash.1
MAN1+= perlrecharclass.1
MAN1+= perlref.1
MAN1+= perlreftut.1
MAN1+= perlreguts.1
MAN1+= perlrequick.1
MAN1+= perlreref.1
MAN1+= perlretut.1
MAN1+= perlriscos.1
MAN1+= perlrun.1
MAN1+= perlsec.1
MAN1+= perlsolaris.1
MAN1+= perlstyle.1
MAN1+= perlsub.1
MAN1+= perlsyn.1
MAN1+= perlthanks.1
MAN1+= perlthrtut.1
MAN1+= perltie.1
MAN1+= perltoc.1
MAN1+= perltodo.1
MAN1+= perltooc.1
MAN1+= perltoot.1
MAN1+= perltrap.1
MAN1+= perltru64.1
MAN1+= perltw.1
MAN1+= perlunicode.1
MAN1+= perlunifaq.1
MAN1+= perluniintro.1
MAN1+= perlutil.1
MAN1+= perlunitut.1
MAN1+= perluts.1
MAN1+= perlvar.1
MAN1+= perlvmesa.1
MAN1+= perlvms.1
MAN1+= perlvos.1
MAN1+= perlwin32.1
MAN1+= perlxs.1
MAN1+= perlxstut.1
MAN1+= piconv.1
MAN1+= pl2pm.1
MAN1+= pod2html.1
MAN1+= pod2latex.1
MAN1+= pod2man.1
MAN1+= pod2text.1
MAN1+= pod2usage.1
MAN1+= podchecker.1
MAN1+= podselect.1
MAN1+= prove.1
MAN1+= psed.1
MAN1+= pstruct.1
MAN1+= s2p.1
MAN1+= splain.1
MAN1+= xsubpp.1
MAN3+= AnyDBM_File.3
MAN3+= Attribute::Handlers.3
MAN3+= AutoLoader.3
MAN3+= AutoSplit.3
MAN3+= B.3
MAN3+= B::Asmdata.3
MAN3+= B::Assembler.3
MAN3+= B::Bblock.3
MAN3+= B::Bytecode.3
MAN3+= B::C.3
MAN3+= B::CC.3
MAN3+= B::Concise.3
MAN3+= B::Debug.3
MAN3+= B::Deparse.3
MAN3+= B::Disassembler.3
MAN3+= B::Lint.3
MAN3+= B::Lint::Debug.3
MAN3+= B::Showlex.3
MAN3+= B::Stackobj.3
MAN3+= B::Stash.3
MAN3+= B::Terse.3
MAN3+= B::Xref.3
MAN3+= Benchmark.3
MAN3+= ByteLoader.3
MAN3+= CGI.3
MAN3+= CGI::Apache.3
MAN3+= CGI::Carp.3
MAN3+= CGI::Cookie.3
MAN3+= CGI::Fast.3
MAN3+= CGI::Pretty.3
MAN3+= CGI::Push.3
MAN3+= CGI::Switch.3
MAN3+= CGI::Util.3
MAN3+= CORE.3
MAN3+= CPAN.3
MAN3+= CPAN::API::HOWTO.3
MAN3+= CPAN::Debug.3
MAN3+= CPAN::Distroprefs.3
MAN3+= CPAN::FirstTime.3
MAN3+= CPAN::HandleConfig.3
MAN3+= CPAN::Kwalify.3
MAN3+= CPAN::Nox.3
MAN3+= CPAN::Queue.3
MAN3+= CPAN::Tarzip.3
MAN3+= CPAN::Version.3
MAN3+= Carp.3
MAN3+= Carp::Heavy.3
MAN3+= Class::ISA.3
MAN3+= Class::Struct.3
MAN3+= Config.3
MAN3+= Cwd.3
MAN3+= DB.3
MAN3+= DBM_Filter.3
MAN3+= DBM_Filter::compress.3
MAN3+= DBM_Filter::encode.3
MAN3+= DBM_Filter::int32.3
MAN3+= DBM_Filter::null.3
MAN3+= DBM_Filter::utf8.3
MAN3+= DB_File.3
MAN3+= Data::Dumper.3
MAN3+= Devel::DProf.3
MAN3+= Devel::InnerPackage.3
MAN3+= Devel::PPPort.3
MAN3+= Devel::Peek.3
MAN3+= Devel::SelfStubber.3
MAN3+= Digest.3
MAN3+= Digest::MD5.3
MAN3+= Digest::base.3
MAN3+= Digest::file.3
MAN3+= DirHandle.3
MAN3+= Dumpvalue.3
MAN3+= DynaLoader.3
MAN3+= Encode.3
MAN3+= Encode::Alias.3
MAN3+= Encode::Byte.3
MAN3+= Encode::CJKConstants.3
MAN3+= Encode::CN.3
MAN3+= Encode::CN::HZ.3
MAN3+= Encode::Config.3
MAN3+= Encode::EBCDIC.3
MAN3+= Encode::Encoder.3
MAN3+= Encode::Encoding.3
MAN3+= Encode::GSM0338.3
MAN3+= Encode::Guess.3
MAN3+= Encode::JP.3
MAN3+= Encode::JP::H2Z.3
MAN3+= Encode::JP::JIS7.3
MAN3+= Encode::KR.3
MAN3+= Encode::KR::2022_KR.3
MAN3+= Encode::MIME::Header.3
MAN3+= Encode::MIME::Name.3
MAN3+= Encode::PerlIO.3
MAN3+= Encode::Supported.3
MAN3+= Encode::Symbol.3
MAN3+= Encode::TW.3
MAN3+= Encode::Unicode.3
MAN3+= Encode::Unicode::UTF7.3
MAN3+= English.3
MAN3+= Env.3
MAN3+= Errno.3
MAN3+= Exporter.3
MAN3+= Exporter::Heavy.3
MAN3+= ExtUtils::Command.3
MAN3+= ExtUtils::Command::MM.3
MAN3+= ExtUtils::Constant.3
MAN3+= ExtUtils::Constant::Base.3
MAN3+= ExtUtils::Constant::Utils.3
MAN3+= ExtUtils::Constant::XS.3
MAN3+= ExtUtils::Embed.3
MAN3+= ExtUtils::Install.3
MAN3+= ExtUtils::Installed.3
MAN3+= ExtUtils::Liblist.3
MAN3+= ExtUtils::MM.3
MAN3+= ExtUtils::MM_AIX.3
MAN3+= ExtUtils::MM_Any.3
MAN3+= ExtUtils::MM_BeOS.3
MAN3+= ExtUtils::MM_Cygwin.3
MAN3+= ExtUtils::MM_DOS.3
MAN3+= ExtUtils::MM_Darwin.3
MAN3+= ExtUtils::MM_MacOS.3
MAN3+= ExtUtils::MM_NW5.3
MAN3+= ExtUtils::MM_OS2.3
MAN3+= ExtUtils::MM_QNX.3
MAN3+= ExtUtils::MM_UWIN.3
MAN3+= ExtUtils::MM_Unix.3
MAN3+= ExtUtils::MM_VMS.3
MAN3+= ExtUtils::MM_VOS.3
MAN3+= ExtUtils::MM_Win32.3
MAN3+= ExtUtils::MM_Win95.3
MAN3+= ExtUtils::MY.3
MAN3+= ExtUtils::MakeMaker.3
MAN3+= ExtUtils::MakeMaker::Config.3
MAN3+= ExtUtils::MakeMaker::FAQ.3
MAN3+= ExtUtils::MakeMaker::Tutorial.3
MAN3+= ExtUtils::MakeMaker::bytes.3
MAN3+= ExtUtils::MakeMaker::vmsish.3
MAN3+= ExtUtils::Manifest.3
MAN3+= ExtUtils::Miniperl.3
MAN3+= ExtUtils::Mkbootstrap.3
MAN3+= ExtUtils::Mksymlists.3
MAN3+= ExtUtils::Packlist.3
MAN3+= ExtUtils::ParseXS.3
MAN3+= ExtUtils::testlib.3
MAN3+= Fatal.3
MAN3+= Fcntl.3
MAN3+= File::Basename.3
MAN3+= File::CheckTree.3
MAN3+= File::Compare.3
MAN3+= File::Copy.3
MAN3+= File::DosGlob.3
MAN3+= File::Find.3
MAN3+= File::Glob.3
MAN3+= File::Path.3
MAN3+= File::Spec.3
MAN3+= File::Spec::Cygwin.3
MAN3+= File::Spec::Epoc.3
MAN3+= File::Spec::Functions.3
MAN3+= File::Spec::Mac.3
MAN3+= File::Spec::OS2.3
MAN3+= File::Spec::Unix.3
MAN3+= File::Spec::VMS.3
MAN3+= File::Spec::Win32.3
MAN3+= File::Temp.3
MAN3+= File::stat.3
MAN3+= FileCache.3
MAN3+= FileHandle.3
MAN3+= Filter::Simple.3
MAN3+= Filter::Util::Call.3
MAN3+= FindBin.3
MAN3+= Getopt::Long.3
MAN3+= Getopt::Std.3
MAN3+= Hash::Util.3
MAN3+= I18N::Collate.3
MAN3+= I18N::LangTags.3
MAN3+= I18N::LangTags::Detect.3
MAN3+= I18N::LangTags::List.3
MAN3+= I18N::Langinfo.3
MAN3+= IO.3
MAN3+= IO::Dir.3
MAN3+= IO::File.3
MAN3+= IO::Handle.3
MAN3+= IO::Pipe.3
MAN3+= IO::Poll.3
MAN3+= IO::Seekable.3
MAN3+= IO::Select.3
MAN3+= IO::Socket.3
MAN3+= IO::Socket::INET.3
MAN3+= IO::Socket::UNIX.3
MAN3+= IPC::Msg.3
MAN3+= IPC::Open2.3
MAN3+= IPC::Open3.3
MAN3+= IPC::Semaphore.3
MAN3+= IPC::SharedMem.3
MAN3+= IPC::SysV.3
MAN3+= List::Util.3
MAN3+= Locale::Constants.3
MAN3+= Locale::Country.3
MAN3+= Locale::Currency.3
MAN3+= Locale::Language.3
MAN3+= Locale::Maketext.3
MAN3+= Locale::Maketext::TPJ13.3
MAN3+= Locale::Script.3
MAN3+= MIME::Base64.3
MAN3+= MIME::QuotedPrint.3
MAN3+= Math::BigFloat.3
MAN3+= Math::BigInt.3
MAN3+= Math::BigInt::Calc.3
MAN3+= Math::BigInt::CalcEmu.3
MAN3+= Math::BigRat.3
MAN3+= Math::Complex.3
MAN3+= Math::Trig.3
MAN3+= Memoize.3
MAN3+= Memoize::AnyDBM_File.3
MAN3+= Memoize::Expire.3
MAN3+= Memoize::ExpireFile.3
MAN3+= Memoize::ExpireTest.3
MAN3+= Memoize::NDBM_File.3
MAN3+= Memoize::SDBM_File.3
MAN3+= Memoize::Storable.3
MAN3+= Module::CoreList.3
MAN3+= Module::Pluggable.3
MAN3+= Module::Pluggable::Object.3
MAN3+= NDBM_File.3
MAN3+= NEXT.3
MAN3+= Net::Cmd.3
MAN3+= Net::Config.3
MAN3+= Net::Domain.3
MAN3+= Net::FTP.3
MAN3+= Net::NNTP.3
MAN3+= Net::Netrc.3
MAN3+= Net::POP3.3
MAN3+= Net::Ping.3
MAN3+= Net::SMTP.3
MAN3+= Net::Time.3
MAN3+= Net::hostent.3
MAN3+= Net::libnetFAQ.3
MAN3+= Net::netent.3
MAN3+= Net::protoent.3
MAN3+= Net::servent.3
MAN3+= O.3
MAN3+= Opcode.3
MAN3+= POSIX.3
MAN3+= PerlIO.3
MAN3+= PerlIO::encoding.3
MAN3+= PerlIO::scalar.3
MAN3+= PerlIO::via.3
MAN3+= PerlIO::via::QuotedPrint.3
MAN3+= Pod::Checker.3
MAN3+= Pod::Find.3
MAN3+= Pod::Html.3
MAN3+= Pod::InputObjects.3
MAN3+= Pod::LaTeX.3
MAN3+= Pod::Man.3
MAN3+= Pod::ParseLink.3
MAN3+= Pod::ParseUtils.3
MAN3+= Pod::Parser.3
MAN3+= Pod::Perldoc::ToChecker.3
MAN3+= Pod::Perldoc::ToMan.3
MAN3+= Pod::Perldoc::ToNroff.3
MAN3+= Pod::Perldoc::ToPod.3
MAN3+= Pod::Perldoc::ToRtf.3
MAN3+= Pod::Perldoc::ToText.3
MAN3+= Pod::Perldoc::ToTk.3
MAN3+= Pod::Perldoc::ToXml.3
MAN3+= Pod::PlainText.3
MAN3+= Pod::Plainer.3
MAN3+= Pod::Select.3
MAN3+= Pod::Text.3
MAN3+= Pod::Text::Color.3
MAN3+= Pod::Text::Overstrike.3
MAN3+= Pod::Text::Termcap.3
MAN3+= Pod::Usage.3
MAN3+= SDBM_File.3
MAN3+= Safe.3
MAN3+= Scalar::Util.3
MAN3+= Search::Dict.3
MAN3+= SelectSaver.3
MAN3+= SelfLoader.3
MAN3+= Shell.3
MAN3+= Socket.3
MAN3+= Storable.3
MAN3+= Switch.3
MAN3+= Symbol.3
MAN3+= Sys::Hostname.3
MAN3+= Sys::Syslog.3
MAN3+= Term::ANSIColor.3
MAN3+= Term::Cap.3
MAN3+= Term::Complete.3
MAN3+= Term::ReadLine.3
MAN3+= Test.3
MAN3+= Test::Builder.3
MAN3+= Test::Builder::Module.3
MAN3+= Test::Builder::Tester.3
MAN3+= Test::Builder::Tester::Color.3
MAN3+= Test::Harness.3
MAN3+= Test::Harness::Assert.3
MAN3+= Test::Harness::Iterator.3
MAN3+= Test::Harness::Point.3
MAN3+= Test::Harness::Straps.3
MAN3+= Test::Harness::Results.3
MAN3+= Test::Harness::TAP.3
MAN3+= Test::Harness::Util.3
MAN3+= Test::More.3
MAN3+= Test::Simple.3
MAN3+= Test::Tutorial.3
MAN3+= Text::Abbrev.3
MAN3+= Text::Balanced.3
MAN3+= Text::ParseWords.3
MAN3+= Text::Soundex.3
MAN3+= Text::Tabs.3
MAN3+= Text::Wrap.3
MAN3+= Thread.3
MAN3+= Thread::Queue.3
MAN3+= Thread::Semaphore.3
MAN3+= Tie::Array.3
MAN3+= Tie::File.3
MAN3+= Tie::Handle.3
MAN3+= Tie::Hash.3
MAN3+= Tie::Memoize.3
MAN3+= Tie::RefHash.3
MAN3+= Tie::Scalar.3
MAN3+= Tie::StdHandle.3
MAN3+= Tie::SubstrHash.3
MAN3+= Time::HiRes.3
MAN3+= Time::Local.3
MAN3+= Time::gmtime.3
MAN3+= Time::localtime.3
MAN3+= Time::tm.3
MAN3+= UNIVERSAL.3
MAN3+= Unicode::Collate.3
MAN3+= Unicode::Normalize.3
MAN3+= Unicode::UCD.3
MAN3+= User::grent.3
MAN3+= User::pwent.3
MAN3+= XS::APItest.3
MAN3+= XS::Typemap.3
MAN3+= XSLoader.3
MAN3+= attributes.3
MAN3+= attrs.3
MAN3+= autouse.3
MAN3+= base.3
MAN3+= bigint.3
MAN3+= bignum.3
MAN3+= bigrat.3
MAN3+= blib.3
MAN3+= bytes.3
MAN3+= charnames.3
MAN3+= constant.3
MAN3+= diagnostics.3
MAN3+= encoding.3
MAN3+= fields.3
MAN3+= filetest.3
MAN3+= if.3
MAN3+= integer.3
MAN3+= less.3
MAN3+= lib.3
MAN3+= locale.3
MAN3+= open.3
MAN3+= ops.3
MAN3+= overload.3
MAN3+= re.3
MAN3+= sigtrap.3
MAN3+= sort.3
MAN3+= strict.3
MAN3+= subs.3
MAN3+= threads.3
MAN3+= threads::shared.3
MAN3+= utf8.3
MAN3+= vars.3
MAN3+= vmsish.3
MAN3+= warnings.3
MAN3+= warnings::register.3

6
lang/perl5.8/distinfo Normal file
View file

@ -0,0 +1,6 @@
SHA256 (perl/perl-5.8.9.tar.bz2) = 1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79
SIZE (perl/perl-5.8.9.tar.bz2) = 11121414
SHA256 (perl/BSDPAN-5.8.9_20090303.tar.bz2) = 3e16cb7e8e927e282b8f155f4b59e05d4efa4403ed1feb033cd22397d81596f2
SIZE (perl/BSDPAN-5.8.9_20090303.tar.bz2) = 8157
SHA256 (perl/defined-or-5.8.9.bz2) = 021b46afd429f5c56b76195565394f1e74770681c5ad98f98936ad2cab58bda4
SIZE (perl/defined-or-5.8.9.bz2) = 36178

View file

@ -0,0 +1,12 @@
--- Configure.orig 2008-10-30 10:48:10.000000000 +0300
+++ Configure 2011-08-03 18:35:13.000000000 +0400
@@ -8899,8 +8899,7 @@
: determine where add-on public executable scripts go
case "$sitescript" in
-'') dflt=$siteprefix/script
- $test -d $dflt || dflt=$sitebin ;;
+'') dflt=$sitebin ;;
*) dflt="$sitescript" ;;
esac
fn=d~+

View file

@ -0,0 +1,20 @@
--- lib/ExtUtils/t/INST_PREFIX.t.orig Wed Feb 15 12:46:31 2006
+++ lib/ExtUtils/t/INST_PREFIX.t Wed Feb 15 12:46:52 2006
@@ -16,7 +16,7 @@ BEGIN {
}
use strict;
-use Test::More tests => 52;
+use Test::More tests => 51;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use ExtUtils::MakeMaker;
@@ -62,7 +62,7 @@ like( $stdout->read, qr{
Writing\ $Makefile\ for\ Big::Dummy\n
}x );
-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+## is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
isa_ok( $mm, 'ExtUtils::MakeMaker' );

View file

@ -0,0 +1,18 @@
--- lib/ExtUtils/MM_Any.pm.orig Wed Feb 15 12:20:43 2006
+++ lib/ExtUtils/MM_Any.pm Wed Feb 15 12:22:29 2006
@@ -1069,13 +1069,14 @@ sub init_INSTALL_from_PREFIX {
('$(PREFIX)') x 3;
}
else {
+ $self->{PREFIX} ||= $iprefix;
$self->{PERLPREFIX} ||= $iprefix;
$self->{SITEPREFIX} ||= $sprefix;
$self->{VENDORPREFIX} ||= $vprefix;
# Lots of MM extension authors like to use $(PREFIX) so we
# put something sensible in there no matter what.
- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
+ #$self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
}
my $arch = $Config{archname};

View file

@ -0,0 +1,24 @@
# http://rt.perl.org/rt3/Public/Bug/Display.html?id=64562
# Adapted from:
# http://perl5.git.perl.org/perl.git/commitdiff/ee6d2783b2d78accfac54397826acf5f6e1715e1?hp=5a8cf367090fb5d83d8e8e0ae381a3525a215928
diff --git a/op.c b/op.c
index 517f648..89ed522 100644
--- op.c
+++ op.c
@@ -6166,9 +6166,13 @@ Perl_newFORM(pTHX_ I32 floor, OP *o, OP *block)
const line_t oldline = CopLINE(PL_curcop);
if (PL_copline != NOLINE)
CopLINE_set(PL_curcop, PL_copline);
- Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
- o ? "Format %"SVf" redefined"
- : "Format STDOUT redefined", (void*)cSVOPo->op_sv);
+ if (o) {
+ Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
+ "Format %"SVf" redefined", (void*)cSVOPo->op_sv);
+ } else {
+ Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
+ "Format STDOUT redefined");
+ }
CopLINE_set(PL_curcop, oldline);
}
SvREFCNT_dec(cv);

View file

@ -0,0 +1,51 @@
--- hints/freebsd.sh
+++ hints/freebsd.sh
@@ -88,6 +88,8 @@
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
libswanted=`echo $libswanted | sed 's/ bind / /'`
+ libswanted=`echo $libswanted | sed 's/ dl / /'`
+ libswanted=`echo $libswanted | sed 's/ c / /'`
# iconv gone in Perl 5.8.1, but if someone compiles 5.8.0 or earlier.
libswanted=`echo $libswanted | sed 's/ iconv / /'`
d_setregid='define'
@@ -102,6 +104,10 @@
;;
esac
libswanted=`echo $libswanted | sed 's/ malloc / /'`
+ libswanted=`echo $libswanted | sed 's/ bind / /'`
+ libswanted=`echo $libswanted | sed 's/ dl / /'`
+ libswanted=`echo $libswanted | sed 's/ iconv / /'`
+ libswanted=`echo $libswanted | sed 's/ c / /'`
;;
esac
@@ -125,7 +131,7 @@
else
libpth="/usr/lib /usr/local/lib"
glibpth="/usr/lib /usr/local/lib"
- ldflags="-Wl,-E "
+ ldflags="%%PTHREAD_LIBS%% -Wl,-E "
lddlflags="-shared "
fi
cccdlflags='-DPIC -fPIC'
@@ -136,7 +142,7 @@
0*|1*|2*|3*) ;;
*)
- ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
+ ccflags="${ccflags} %%PTHREAD_CFLAGS%% -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
if /usr/bin/file -L /usr/lib/libc.so | /usr/bin/grep -vq "not stripped" ; then
usenm=false
fi
@@ -183,7 +189,9 @@
# This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads.
-cat > UU/usethreads.cbu <<'EOCBU'
+## not quite - modern FreeBSD perl port is supposed to take care of that
+## we just add extra libraries and cflags nowadays
+cat > /dev/null <<'EOCBU'
case "$usethreads" in
$define|true|[yY]*)
lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`

View file

@ -0,0 +1,30 @@
--- hints/freebsd.sh.orig2 2011-10-09 13:30:37.000000000 +0000
+++ hints/freebsd.sh 2011-10-09 14:12:48.000000000 +0000
@@ -116,7 +116,8 @@
case "$osvers" in
0.*|1.0*) ;;
-1*|2*) cccdlflags='-DPIC -fpic'
+1.*|2.*)
+ cccdlflags='-DPIC -fpic'
lddlflags="-Bshareable $lddlflags"
;;
@@ -139,7 +140,7 @@
esac
case "$osvers" in
-0*|1*|2*|3*) ;;
+0.*|1.*|2.*|3.*) ;;
*)
ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
@@ -196,7 +197,7 @@
$define|true|[yY]*)
lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
case "$osvers" in
- 0*|1*|2.0*|2.1*) cat <<EOM >&4
+ 0.*|1.*|2.0*|2.1*) cat <<EOM >&4
I did not know that FreeBSD $osvers supports POSIX threads.
Feel free to tell perlbug@perl.org otherwise.

View file

@ -0,0 +1,69 @@
--- perl.c
+++ perl.c
@@ -3724,7 +3724,7 @@
* perl with that fd as it has always done.
*/
}
- if (*suidscript) {
+ if (*suidscript != TRUE) {
Perl_croak(aTHX_ "suidperl needs (suid) fd script\n");
}
#else /* IAMSUID */
@@ -4882,6 +4882,28 @@
incpush(APPLLIB_EXP, TRUE, TRUE, TRUE, TRUE);
#endif
+#ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
+ * DLL-based path intuition to work correctly */
+# if !defined(WIN32)
+ incpush(SITEARCH_EXP, FALSE, FALSE, TRUE, TRUE);
+# endif
+#endif
+
+#ifdef SITELIB_EXP
+# if defined(WIN32)
+ /* this picks up sitearch as well */
+ incpush(SITELIB_EXP, TRUE, FALSE, TRUE, TRUE);
+# else
+ incpush(SITELIB_EXP, FALSE, FALSE, TRUE, TRUE);
+# endif
+#endif
+
+#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
+ /* Search for version-specific dirs below here */
+ incpush(SITELIB_STEM, FALSE, TRUE, TRUE, TRUE);
+#endif
+
#ifdef ARCHLIB_EXP
incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE, TRUE);
#endif
@@ -4915,28 +4937,6 @@
incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE, TRUE);
#endif
-#ifdef SITEARCH_EXP
- /* sitearch is always relative to sitelib on Windows for
- * DLL-based path intuition to work correctly */
-# if !defined(WIN32)
- incpush(SITEARCH_EXP, FALSE, FALSE, TRUE, TRUE);
-# endif
-#endif
-
-#ifdef SITELIB_EXP
-# if defined(WIN32)
- /* this picks up sitearch as well */
- incpush(SITELIB_EXP, TRUE, FALSE, TRUE, TRUE);
-# else
- incpush(SITELIB_EXP, FALSE, FALSE, TRUE, TRUE);
-# endif
-#endif
-
-#if defined(SITELIB_STEM) && defined(PERL_INC_VERSION_LIST)
- /* Search for version-specific dirs below here */
- incpush(SITELIB_STEM, FALSE, TRUE, TRUE, TRUE);
-#endif
-
#ifdef PERL_VENDORARCH_EXP
/* vendorarch is always relative to vendorlib on Windows for
* DLL-based path intuition to work correctly */

View file

@ -0,0 +1,21 @@
--- sv.c
+++ sv.c
@@ -9813,7 +9813,8 @@ Perl_sv_dup(pTHX_ SV *sstr, CLONE_PARAMS* param)
IoBOTTOM_NAME(dstr) = SAVEPV(IoBOTTOM_NAME(dstr));
break;
case SVt_PVAV:
- if (AvARRAY((AV*)sstr)) {
+ /* avoid cloning an empty array */
+ if (AvARRAY((AV*)sstr) && AvFILLp((AV*)sstr) >= 0) {
SV **dst_ary, **src_ary;
SSize_t items = AvFILLp((AV*)sstr) + 1;
@@ -9838,6 +9839,8 @@ Perl_sv_dup(pTHX_ SV *sstr, CLONE_PARAMS* param)
else {
SvPV_set(dstr, NULL);
AvALLOC((AV*)dstr) = (SV**)NULL;
+ AvMAX( (AV *)dstr) = -1;
+ AvFILLp((AV *)dstr) = -1;
}
AvARYLEN((AV*)dstr) = sv_dup_inc(AvARYLEN((AV*)sstr), param);
break;

View file

@ -0,0 +1,588 @@
#! %%PERL%% -w
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42)
# <tobez@FreeBSD.org> wrote this file. As long as you retain this notice you
# can do whatever you want with this stuff. If we meet some day, and you think
# this stuff is worth it, you can buy me a beer in return. Anton Berezin
# ----------------------------------------------------------------------------
#
# $FreeBSD$
# $Id: perl-after-upgrade,v 1.11 2005/06/23 19:39:00 tobez Exp $
#
=pod
=head1 NAME
perl-after-upgrade -- fixup FreeBSD packages that depend on perl
=head1 SYNOPSIS
perl-after-upgrade
perl-after-upgrade -f
perl-after-upgrade -v
=head1 DESCRIPTION
The standard procedure after a perl port (either lang/perl5.6 or
lang/perl5.8) upgrade is to basically reinstall all other packages that
depend on perl. This is always a painful exercise. The
perl-after-upgrade utility makes this process mostly unnecessary.
The tool goes through the list of installed packages, looks for those
that depend on perl, moves files around, modifies shebang lines in those
scripts in which it is necessary to do so, tries its best to adjust
dynamically linked binaries that link with libperl.so in the old path,
and updates the package database.
After installation of the new perl is complete, either by hand from the
ports collection, or from a package, or via portupgrade, do the
following:
=over 4
=item o go root;
=item o run perl-after-upgrade utility.
Do not specify any arguments at first, so it does nothing destructive.
Pay attention to the produced output and especially to errorlist at the
end, if any;
=item o run the utility again, with B<-f> command line option.
This will actually do the work. Again, pay attention to the output
produced;
=item o fix any reported errors;
=item o reinstall required packages:
The utility will tell you what packages that depend on perl it could not
handle. It will also tell you why it happened (for example, they were
compiled against a binary incompatible perl). If you want such packages
to remain operational, you will have to reinstall then by hand or via
portupgrade.
=item o review the files left in the older perl installation.
This is typically /usr/local/lib/perl5/site_perl/5.X.Y/. There should
be very little, if any, files in that directory and its subdirectories,
excepting a number of .ph files;
=item o check that things work as they should;
=item o remove backup files from the package database.
Those will be /var/db/pkg/*/+CONTENTS.bak;
=item o that's all.
=back
=head1 COPYRIGHT AND LICENSE
Copyright 2005 by Anton Berezin
"THE BEER-WARE LICENSE" (Revision 42)
<tobez@FreeBSD.org> wrote this module. As long as you retain this
notice you can do whatever you want with this stuff. If we meet some
day, and you think this stuff is worth it, you can buy me a beer in
return.
Anton Berezin
NO WARRANTY OF ANY KIND, USE AT YOUR OWN RISK.
=head1 HISTORY
The first version of this utility was not bundled with perl package on
FreeBSD. It was dumber than the current version in several important
areas. It was faster.
=head1 CREDITS
Thanks to Mathieu Arnold for discussion.
=head1 SEE ALSO
perl(1).
=cut
my $debug = 0;
# |/-\
my $pchar = "|";
my $do_progress = -t *STDOUT;
sub progress
{
if ($do_progress) {
print STDERR "$pchar";
$pchar =~ tr<|/\\-><-|/\\>;
}
}
package FreeBSD::Package;
use IO::File;
use File::Copy;
sub new
{
my ($pkg, %p) = @_;
my $pkgdir = $p{pkgdir} || return undef;
my $name = $pkgdir;
$name =~ s|.*/||;
main::progress();
my $c = IO::File->new("< $pkgdir/+CONTENTS");
return undef unless $c;
my @lines;
while (<$c>) {
chomp;
push @lines, $_;
}
my $me = bless {
pkgdir => $pkgdir,
lines => \@lines,
name => $name,
}, $pkg;
return $me;
}
sub name
{
return $_[0]->{name};
}
sub lines
{
my $me = shift;
if (@_ && @_ == 1 && ref(@_) eq 'ARRAY') {
$me->{lines} = [@{$_[0]}];
$me->{changed} = 1;
} elsif (@_) {
$me->{lines} = [@_];
$me->{changed} = 1;
} else {
return @{$me->{lines}};
}
}
sub write_back
{
my ($me) = @_;
return unless $me->{changed};
main::progress();
my $file = "$me->{pkgdir}/+CONTENTS";
copy($file, "$file.bak");
my $c = IO::File->new("> $file");
return unless $c;
for (@{$me->{lines}}) {
print $c "$_\n";
}
}
package FreeBSD::Package::DB;
use strict;
sub new
{
my ($pkg, %p) = @_;
my $me = bless {
dbdir => $p{dbdir} || $ENV{PKG_DBDIR} || "/var/db/pkg",
}, $pkg;
$me->{packages} = [ grep { -d } glob "$me->{dbdir}/*" ];
$me->reset;
return $me;
}
sub next
{
my ($me) = @_;
while (1) {
$me->{current}++;
if ($me->{current} >= @{$me->{packages}}) {
$me->reset;
return undef;
}
my $pkg = FreeBSD::Package->new(pkgdir => $me->{packages}->[$me->{current}]);
return $pkg if $pkg;
}
}
sub reset
{
my ($me) = @_;
$me->{current} = -1;
}
package main;
use File::Temp qw/tempfile/;
use File::Copy;
my $dry_run = 1;
my @tmpl;
my $VERSION = "1.2";
while (@ARGV) {
my $opt = shift;
if ($opt eq "-f") {
$dry_run = 0;
} elsif ($opt eq "-d") {
$debug = 1;
} elsif ($opt eq "-v") {
$_ = $0;
s|.*/||;
print "$_ version $VERSION\n";
exit 0;
} elsif ($opt =~ /^-/) {
$_ = $0;
s|.*/||;
print "Unknown option `$opt'\n";
print "Usage:\n";
print "\t$_\n\t$_ -v\n\t$_ -f\n";
exit 1;
} else {
push @tmpl, $opt;
}
}
my $target = '%%PERL_VERSION%%';
my $new_perl_pkgname = '%%PKGNAME%%';
my $fuzzy_source = "5\\.[\\d._]+";
print STDERR "- Fuzzy source re: <$fuzzy_source>\n" if $debug;
my @errors;
my @notes;
sub fix_script
{
my ($file, $target) = @_;
main::progress();
return 1 if $dry_run;
my $sf = IO::File->new("< $file");
return "" unless $sf;
my $line = <$sf>;
my $md5 = "";
if ($line && $line =~ s|^(\s*#!\s*[\w/]+perl)$fuzzy_source\b|$1$target|) {
my $dir = $file;
$dir =~ s|/[^/]+$||;
my ($fh, $fn) = tempfile(DIR=> $dir);
if ($fh) {
print $fh $line;
while (<$sf>) {
print $fh $_;
}
close $fh;
$md5 = `/sbin/md5 -q $fn`;
chomp $md5;
my $mode = (stat($file))[2] & 07777;
unlink $file or do {
push @errors, "Failed to unlink $file: $!";
unlink $fn;
return "";
};
rename $fn, $file or do {
push @errors, "Failed to rename $fn to $file: $!";
return "";
};
chmod $mode, $file;
} else {
push @errors, "Failed to modify $file: $!";
}
}
return $md5;
}
sub fix_binary
{
my ($file, $target) = @_;
main::progress();
my $sf = IO::File->new("< $file");
return "" unless $sf;
my $was = $dry_run ? "would be" : "was";
push @notes, "The $file binary $was modified, make sure it works";
return 1 if $dry_run;
my $md5 = "";
my $dir = $file;
$dir =~ s|/[^/]+$||;
my ($fh, $fn) = tempfile(DIR=> $dir);
unless ($fn) {
push @errors, "Failed to modify $file: $!";
return "";
}
while (<$sf>) {
s|/lib/perl5/$fuzzy_source/mach/CORE|/lib/perl5/$target/mach/CORE|g;
print $fh $_;
}
close $fh;
$md5 = `/sbin/md5 -q $fn`;
chomp $md5;
my $mode = (stat($file))[2] & 07777;
unlink $file or do {
push @errors, "Failed to unlink $file: $!";
unlink $fn;
return "";
};
rename $fn, $file or do {
push @errors, "Failed to rename $fn to $file: $!";
return "";
};
chmod $mode, $file;
return $md5;
}
sub mkdir_recur
{
my ($dir) = @_;
main::progress();
$dir =~ s|/+$||;
my $orig = $dir;
if ($dir =~ m|^$|) {
return 1;
} else {
$dir =~ s|/[^/]+$||;
my $r = mkdir_recur($dir);
return $r unless $r;
mkdir $orig, 0777;
my $e = $!;
unless (-d $orig) {
push @errors, "Could not create directory $orig: $e";
return 0;
}
return 1;
}
}
sub might_need_to_fix
{
my ($pkg) = @_;
my $pkg_name = $pkg->name;
main::progress();
if ($pkg_name =~ /^bsdpan-/) {
return 1;
}
for ($pkg->lines) {
if (/^\@pkgdep\s+perl-(threaded-)?($fuzzy_source)\S*\s*$/) {
return 1;
}
}
return 0;
}
sub fixable_binary
{
my ($file, $name) = @_;
main::progress();
my $fixable = 0;
for (`/usr/bin/ldd $file 2>&1`) {
if (/^\s+libperl\.so\s+=>/) {
my $found;
for (`strings $file`) {
if (m</lib/perl5/($fuzzy_source)/mach/CORE>) {
$found++;
if (length($1) != length($target)) {
push @notes, "$name cannot be fixed up (and has to be reinstalled): cannot patch $file due to length difference";
print STDERR "- Skipping $name: cannot patch $file due to length difference\n" if $debug;
return undef;
}
print STDERR "- $name: fixable binary $file\n" if $debug && $found < 2;
$fixable = 1 if $1 ne $target;
}
}
if (!$found) {
push @notes, "$name cannot be fixed up (and has to be reinstalled): $file is using unknown libperl";
print STDERR "- Skipping $name: $file is using unknown libperl\n" if $debug;
return undef;
}
}
}
return $fixable;
}
sub fixable_shared_lib
{
my ($file, $name) = @_;
main::progress();
my ($old);
for (`strings $file`) {
if (/^perl_get_sv$/) {
push @notes, "$name cannot be fixed up (and has to be reinstalled): $file uses an old perl API";
print STDERR "- Skipping $name: $file uses an old perl API\n" if $debug;
return 0;
}
}
return 1;
}
sub cannot_be_fixed
{
my ($pkg, $binaries, $scripts) = @_;
my $pkg_name = $pkg->name;
my $prefix = "";
main::progress();
for ($pkg->lines) {
if (/^\@cwd\s+(\S+)\s*$/) {
$prefix = $1;
next;
}
my $file = "$prefix/$_";
next if -l $file;
next if $file =~ /\.gz$/;
next if $file =~ /\.bz2$/;
my $sf = IO::File->new("< $file");
next unless $sf;
my $line;
sysread $sf, $line, 256;
# binary executable
if ($line && $line =~ /^\177ELF.\x01.\x09.{8}\x02\0/) {
my $fixable = fixable_binary($file, $pkg_name);
return 0 unless defined $fixable;
push @$binaries, $file if $fixable;
# shared library - can prevent us from being able to upgrade
} elsif ($line && $line =~ /^\177ELF.\x01.\x09.{8}\x03\0/) {
return 0 unless fixable_shared_lib($file, $pkg_name);
} elsif ($line && $line =~ m<^\s*#!\s*[\w/]+perl($fuzzy_source)\b>) {
print STDERR "- $pkg_name: fixable script $file\n" if $debug;
push @$scripts, $file if $1 ne $target;
}
main::progress();
}
}
#
my $db = FreeBSD::Package::DB->new;
my ($fixed, $skipped, $tot_moved, $tot_modified) = (0,0,0,0);
while (my $pkg = $db->next) {
my @lines;
my $new_md5;
my ($adjusted, $moved, $modified) = (0,0,0);
my $pkg_name = $pkg->name;
if (@tmpl) {
my $ok;
for (@tmpl) {
if ($pkg_name =~ /^$_/) {
$ok = 1;
last;
}
}
next unless $ok;
}
unless (might_need_to_fix($pkg)) {
$skipped++;
print STDERR "- Skipping $pkg_name, it does not depend on perl\n" if $debug;
next;
}
my (@binaries_to_fix, @scripts_to_fix);
if (cannot_be_fixed($pkg, \@binaries_to_fix, \@scripts_to_fix)) {
$skipped++;
next;
}
if ($debug) {
print STDERR "- $pkg_name: ", scalar(@binaries_to_fix), " binaries to fix\n" if @binaries_to_fix;
print STDERR "- $pkg_name: ", scalar(@scripts_to_fix), " scripts to fix\n" if @scripts_to_fix;
}
my %binaries = map { $_ => 1 } @binaries_to_fix;
my %scripts = map { $_ => 1 } @scripts_to_fix;
my $prefix = "";
my $pcnt = 0;
for ($pkg->lines) {
if (/^([^@]\S+)\s*$/) {
my $from = "$prefix/$_";
local $_; # we'll need it later
$new_md5 = "";
unless (-l $from) { # skip symlinks
if ($binaries{$from}) {
$new_md5 = fix_binary($from, $target);
} elsif ($scripts{$from}) {
$new_md5 = fix_script($from, $target);
}
$modified++ if $new_md5;
}
my $to = $from;
if ($to =~ s|/perl5/$fuzzy_source/|/perl5/$target/|g or $to =~ s|/perl5/site_perl/$fuzzy_source/|/perl5/site_perl/$target/|g) {
if ($to ne $from) {
my $dir = $to;
$dir =~ s|/[^/]+$||;
main::progress();
unless ($dry_run) {
if (mkdir_recur($dir)) {
move($from, $to);
} else {
push @errors, " could not move $from to $to";
}
}
$moved++;
print STDERR "- move: $from => $to\n" if $debug;
}
}
} elsif (/^\@comment\s+MD5:[\da-f]+\s*$/ && $new_md5) {
s|MD5:(\S+)|MD5:$new_md5|;
$new_md5 = "";
} else {
$new_md5 = "";
}
if (/^\@cwd\s+(\S+)\s*$/) {
$prefix = $1;
} elsif (/^\@pkgdep\s+perl-(threaded-)?($fuzzy_source)\S*\s*$/) {
if ($target ne $2) {
my $perlver = $2;
s|perl-(threaded-)?\Q$perlver\E|$new_perl_pkgname|;
}
}
my $old = $_;
if (s|/perl5/$fuzzy_source/|/perl5/$target/|g || s|/perl5/site_perl/$fuzzy_source/|/perl5/site_perl/$target/|g) {
if ($old ne $_) {
$adjusted++;
print STDERR "- adjust: $_\n" if $debug;
}
}
push @lines, $_;
main::progress() if $pcnt++ % 250 == 0;
}
unless ($dry_run) {
$pkg->lines(@lines);
$pkg->write_back;
}
$fixed++ if $moved || $modified || $adjusted;
$tot_modified += $modified;
$tot_moved += $moved;
print "$pkg_name: $moved moved, $modified modified, $adjusted adjusted\n";
}
print "\n---\n";
print "Fixed $fixed packages ($tot_moved files moved, $tot_modified files modified)\n";
print "Skipped $skipped packages\n";
if (@errors) {
print "\n**** The script has encountered following problems:\n";
for (@errors) {
print "$_\n";
}
print "\n--- Repeating summary:\n";
print "Fixed $fixed packages ($tot_moved files moved, $tot_modified files modified)\n";
print "Skipped $skipped packages\n";
}
if (@notes) {
print "\n**** In addition, please pay attention to the following:\n";
for (@notes) {
print "$_\n";
}
print "\n--- Repeating summary:\n";
print "Fixed $fixed packages ($tot_moved files moved, $tot_modified files modified)\n";
print "Skipped $skipped packages\n";
}

View file

@ -0,0 +1,2 @@
MANPATH %%PREFIX%%/lib/perl5/%%PERL_VERSION%%/man
MANPATH %%PREFIX%%/lib/perl5/%%PERL_VERSION%%/perl/man

182
lang/perl5.8/files/use.perl Normal file
View file

@ -0,0 +1,182 @@
#!/bin/sh
# $FreeBSD $
this=`echo -n $0 | /usr/bin/sed -e 's!^.*/!!'`
PERL_VERSION="%%PERL_VERSION%%"
MAKE_CONF=%%MAKE_CONF%%
banner=`date +"%F %T"`
banner="# added by use.perl $banner"
if [ -z "${OSVERSION}" ]; then
if [ -f /sbin/sysctl -a -x /sbin/sysctl ] ; then
osreldate=`/sbin/sysctl -n kern.osreldate`
else
osreldate=`/usr/sbin/sysctl -n kern.osreldate`
fi
else
osreldate=${OSVERSION}
fi
if [ "x$this" = "xuse.perl" ]; then
PKG_PREFIX="%%PREFIX%%"
if [ "$1" = "port" ] ; then
need_remove_links=%%LINK_USRBIN%%
need_create_links=%%LINK_USRBIN%%
need_cleanup_make_conf=yes
need_spam_make_conf=yes
if [ "${osreldate}" -lt 900022 ]; then
need_cleanup_manpath=yes
need_spam_manpath=yes
fi
elif [ "$1" = "system" ] ; then
need_remove_links=%%LINK_USRBIN%%
need_cleanup_make_conf=yes
if [ "${osreldate}" -lt 900022 ]; then
need_cleanup_manpath=yes
fi
else
echo "Usage:
${0##*/} port -> /usr/bin/perl is the perl5 port
${0##*/} system -> /usr/bin/perl is the system perl"
exit 2;
fi
else
if [ "$2" = "POST-INSTALL" ] ; then
need_remove_links=yes
need_create_links=yes
need_cleanup_make_conf=yes
need_spam_make_conf=yes
need_post_install=yes
if [ "${osreldate}" -lt 900022 ]; then
need_cleanup_manpath=yes
need_spam_manpath=yes
fi
elif [ "$2" = "POST-DEINSTALL" ] ; then
need_remove_links=yes
need_cleanup_make_conf=yes
if [ "${osreldate}" -lt 900022 ]; then
need_cleanup_manpath=yes
fi
else
exit 0;
fi
fi
special_link_list="
perl
perl5"
do_remove_links()
{
echo "Removing stale symlinks from /usr/bin..."
for binary in $special_link_list
do
if [ -L "/usr/bin/$binary" ] ; then
echo " Removing /usr/bin/$binary"
/bin/rm -f "/usr/bin/$binary"
else
echo " Skipping /usr/bin/$binary"
fi
done
bins=`/bin/ls /usr/bin/*perl*5.* ${PKG_PREFIX}/bin/*perl*5.* 2>/dev/null`
for binary in $bins
do
if [ -L "$binary" ] ; then
echo " Removing $binary installed by an older perl port"
/bin/rm -f "$binary"
fi
done
echo "Done."
}
do_create_links()
{
echo "Creating various symlinks in /usr/bin..."
for binary in $special_link_list
do
if [ -f "/usr/bin/$binary" ] ; then
echo " Backing up /usr/bin/$binary as /usr/bin/$binary.freebsd"
/bin/mv -f "/usr/bin/$binary" "/usr/bin/$binary.freebsd"
fi
bin=`echo $binary | /usr/bin/sed -e 's!perl5!perl!'`
if [ -e "/usr/bin/$binary" ] ; then
echo " *** /usr/bin/$binary is still there, which should not happen"
elif [ -e "$PKG_PREFIX/bin/${bin}%%PERL_VERSION%%" ] ; then
echo " Symlinking $PKG_PREFIX/bin/${bin}%%PERL_VERSION%% to /usr/bin/$binary"
/bin/ln -sf "$PKG_PREFIX/bin/${bin}%%PERL_VERSION%%" "/usr/bin/$binary"
else
echo " *** $PKG_PREFIX/bin/${bin}%%PERL_VERSION%% is not there, a symlink won't do any good"
fi
done
echo "Done."
}
do_post_install()
{
INCLUDEDIR=/usr/include
install -d ${PKG_PREFIX}/lib/perl5/site_perl/%%PERL_VERSION%%/%%PERL_ARCH%%/auto
install -d ${PKG_PREFIX}/lib/perl5/site_perl/%%PERL_VERSION%%/auto
install -d ${PKG_PREFIX}/lib/perl5/%%PERL_VERSION%%/man/man3
cd ${INCLUDEDIR} && ${PKG_PREFIX}/bin/h2ph *.h machine/*.h sys/*.h >/dev/null
}
do_cleanup_make_conf()
{
echo -n "Cleaning up ${MAKE_CONF}..."
if [ -f ${MAKE_CONF} ] ; then
/usr/bin/awk 's=0;
/^#.*use.perl/ { s=1; mode=1 }
/^#/ { s=1; if (mode != 1) { mode=0 } }
/.*PERL.*=/ { s=1; if (mode == 1) { mode=2 } }
/^$/ { s=1; if (mode != 2) { mode = 0 } }
{ if (s != 1) { mode = 0 } if (mode == 0) print }' ${MAKE_CONF} >${MAKE_CONF}.new
/bin/mv ${MAKE_CONF} ${MAKE_CONF}.bak
/bin/mv ${MAKE_CONF}.new ${MAKE_CONF}
fi
echo " Done."
}
do_cleanup_manpath()
{
if [ -f /etc/manpath.config ] ; then
echo -n "Cleaning up /etc/manpath.config..."
/usr/bin/awk 's=0;
/^#.*use.perl/ { s=1; mode=1 }
/^#/ { s=1; if (mode != 1) { mode=0 } }
/^OPTIONAL_MANPATH.*perl5/ { s=1; if (mode == 1) { mode=2 } }
/^$/ { s=1; if (mode != 2) { mode = 0 } }
{ if (s != 1) { mode = 0 } if (mode == 0) print }' /etc/manpath.config >/etc/manpath.config.new
/bin/mv /etc/manpath.config /etc/manpath.config.bak
/bin/mv /etc/manpath.config.new /etc/manpath.config
echo " Done."
fi
}
do_spam_make_conf()
{
echo -n "Spamming ${MAKE_CONF}..."
echo "$banner" >>${MAKE_CONF}
echo "PERL_VERSION=%%PERL_VERSION%%" >>${MAKE_CONF}
echo " Done."
}
do_spam_manpath()
{
if [ -f /etc/manpath.config ] ; then
echo -n "Spamming /etc/manpath.config..."
echo "$banner" >>/etc/manpath.config
echo "OPTIONAL_MANPATH ${PKG_PREFIX}/lib/perl5/%%PERL_VERSION%%/man" >>/etc/manpath.config
echo "OPTIONAL_MANPATH ${PKG_PREFIX}/lib/perl5/%%PERL_VERSION%%/perl/man" >>/etc/manpath.config
echo " Done."
fi
}
[ "$need_remove_links" = "yes" ] && do_remove_links
[ "$need_create_links" = "yes" ] && do_create_links
[ "$need_post_install" = "yes" ] && do_post_install
[ "$need_cleanup_make_conf" = "yes" ] && do_cleanup_make_conf
[ "$need_spam_make_conf" = "yes" ] && do_spam_make_conf
[ "$need_cleanup_manpath" = "yes" ] && do_cleanup_manpath
[ "$need_spam_manpath" = "yes" ] && do_spam_manpath
exit 0

6
lang/perl5.8/pkg-descr Normal file
View file

@ -0,0 +1,6 @@
Perl is a language that combines some of the features of C, sed, awk and
shell. See the manual page for more hype. There are also many books
published by O'Reilly & Assoc. See pod/perlbook.pod for more
information.
WWW: http://www.perl.org/

1686
lang/perl5.8/pkg-plist Normal file

File diff suppressed because it is too large Load diff