From 4400a5e9853ae93bceb634729cd63ffbf9629bca Mon Sep 17 00:00:00 2001 From: Anton Berezin Date: Tue, 1 Feb 2005 13:36:41 +0000 Subject: Update to 5.6.2. Also: - redirect output from h2ph to /dev/null [1]; - fix File::Path insecure file/directory permissions [2]; this resolves CAN-2004-0452 (http://vuxml.freebsd.org/c418d472-6bd1-11d9-93ca-000a95bc6fae.html); - for OSVERSION < 500036, create symlinks in /usr/bin not only for perl and suidperl, but also for a2p, c2ph, find2perl, h2ph, h2xs, perlbug, perlcc, perldoc, pl2pm, pod2html, pod2latex, pod2man, pod2text, s2p, and splain; perl and suidperl are still enough for more recent FreeBSD versions [3]; - clean up created symlinks upon deinstallation [4]; - try to cleanup symlinks created by older versions of lang/perl5 and lang/perl5.8, during both installation and deinstallation [5]; - added support for DISABLE_BSDPAN environment variable [6]; - be explicit about use.perl usage after installation of 4.X systems, and on systems where lang/perl5.8 is prefered to lang/perl5; the exact range is OSVERSION < 500036 || OSVERSION >= 502100 [7]; - respect __MAKE_CONF partially (the build-time value is used) [8]; - use.perl is now the same as pkg-install is now the same as pkg-deinstall; apart from the changes already mentioned above, this is a shell script now; - use.perl's logic is also simplified in several ways [9]; - fix a BSDPAN bug [10]; - create and remove %%SITE_PERL%%/%%PERL_ARCH%%/auto, just like lang/perl5.8 does, to silent pointyhat [11]; - apply a patch to handle daylight saving time correctly in POSIX::strftime [12]; - the port now creates and uses shared libperl.so, as lang/perl5.8 port does; - move MAN3 manual pages under ${PREFIX}/lib/perl5/${PERL_VER}/perl, as to avoid conflict with some of the p5 ports; - do not build suidperl by default any longer; one should use ENABLE_SUIDPERL to do that; - move out manpage list to a separate Makefile.man; - in general, the port layout is made much more similar to lang/perl5.8, including. Outstanding issues: Module::Build support for BSDPAN, SU_CMD support (PR 70831), PR 64963 (partially), and anything else that I forgot. [1] Nudged by: krion [2] Reported by: nectar Patch from: Chris Turner @ RedHat [3] PR: 55760, 57151, 58406 [4] Requested by: kris PR: 54262 [5] PR: 51281, 51539 [6] PR: 57134 [7] PR: 60736 [8] PR: 74431 [9] Perl version submitted by des, implemented in sh [10] Reported by: Alexander Nagilum [11] PR: 71390 [12] PR: 74042, perl bug 18238 --- lang/perl5.6/Makefile | 168 ++++++++++++++++++++------------------------------ 1 file changed, 67 insertions(+), 101 deletions(-) (limited to 'lang/perl5.6/Makefile') diff --git a/lang/perl5.6/Makefile b/lang/perl5.6/Makefile index 2b1ab97b1f60..e73677c2a5b4 100644 --- a/lang/perl5.6/Makefile +++ b/lang/perl5.6/Makefile @@ -7,19 +7,19 @@ PORTNAME= perl PORTVERSION= ${PERL_VER} -PORTREVISION= 15 CATEGORIES= lang devel perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN} \ - ${MASTER_SITE_LOCAL:S/$/:local/} + ${MASTER_SITE_LOCAL:S/$/:local/} \ + http://www.tobez.org/download/port-mirrors/lang/perl56/:local MASTER_SITE_SUBDIR= ../../src \ - tobez/:local + tobez/:local ./:local DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ - BSDPAN-${PORTVERSION}_${BSDPAN_REVISION}${EXTRACT_SUFX}:local + BSDPAN-${PERL_VER}${EXTRACT_SUFX}:local MAINTAINER= tobez@FreeBSD.org COMMENT= Practical Extraction and Report Language -PERL_VER= 5.6.1 +PERL_VER= 5.6.2 PERL_ARCH= mach PERL_VERSION= ${PERL_VER} @@ -28,13 +28,26 @@ CONFIGURE_SCRIPT=Configure CONFIGURE_ARGS= -sde -Dprefix=${PREFIX} \ -Darchlib=${PREFIX}/lib/perl5/${PERL_VER}/${PERL_ARCH} \ -Dprivlib=${PREFIX}/lib/perl5/${PERL_VER} \ - -Dman3dir=${PREFIX}/lib/perl5/${PERL_VER}/man/man3 \ - -Dsitearch=${PREFIX}/lib/perl5/site_perl/${PERL_VER}/${PERL_ARCH} \ - -Dsitelib=${PREFIX}/lib/perl5/site_perl/${PERL_VER} \ - -Dscriptdir=${PREFIX}/bin \ - -Dcc="${CC}" \ - -Ui_malloc -Ui_iconv -Dccflags=-DAPPLLIB_EXP=\"${BSDPAN_DEST}\" -INSTALLS_SHLIB= yes + -Dman3dir=${PREFIX}/lib/perl5/${PERL_VER}/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_VER}/man/man3 \ + -Dsiteman1dir=${PREFIX}/man/man1 \ + -Ui_malloc -Ui_iconv -Uinstallusrbinperl \ + -Dcc="${CC}" -Doptimize="${CFLAGS}" -Duseshrplib \ + -Dccflags=-DAPPLLIB_EXP=\"${BSDPAN_DEST}\" + +.include "Makefile.man" +.include + +.if defined(ENABLE_SUIDPERL) +CONFIGURE_ARGS+= -Dd_dosuid=define +PLIST_SUB+= ENABLE_SUIDPERL="" +.else +CONFIGURE_ARGS+= -Ud_dosuid +PLIST_SUB+= ENABLE_SUIDPERL="@comment " +.endif .if defined(WITH_GDBM) CONFIGURE_ARGS+= -Di_gdbm @@ -45,137 +58,90 @@ CONFIGURE_ARGS+= -Ui_gdbm PLIST_SUB+= GDBM="@comment " .endif +.if defined(WITHOUT_PERL_MALLOC) +.undef WITH_PERL_MALLOC +.else +WITH_PERL_MALLOC= yes +.endif + +.if defined(WITH_THREADS) +IGNORE= Threads are not very useful in perl ${PERL_VERSION}, please use lang/perl5.8 +.endif + .if defined(WITH_PERL_MALLOC) CONFIGURE_ARGS+= -Dusemymalloc=y .else CONFIGURE_ARGS+= -Dusemymalloc=n .endif -INCLUDEDIR= /usr/include - .ifdef USE_PERL5 .error You have `USE_PERL5' variable defined either in environment or in make(1) arguments. Please undefine and try again. .endif -.include - .if ${OSVERSION} >= 502100 -LATEST_LINK= perl5.6 +LATEST_LINK= perl5.8 .endif -.if ${OSVERSION} >= 500043 && ${OSVERSION} < 502100 +.if ${OSVERSION} < 500036 +PKGMESSAGE= ${PKGDIR}/pkg-message-sysperl +.elif ${OSVERSION} < 502100 PKGMESSAGE= ${PKGDIR}/.not-here +.else +PKGMESSAGE= ${PKGDIR}/pkg-message-prefer58 +.endif + +.if ${OSVERSION} >= 500036 && ${OSVERSION} < 502100 +PLIST_SUB+= NEED_USE_PERL="@comment " +.else +PLIST_SUB+= NEED_USE_PERL="" .endif -MAN1= a2p.1 c2ph.1 dprofpp.1 find2perl.1 h2ph.1 h2xs.1 perl.1 \ - perl5004delta.1 perl5005delta.1 perlaix.1 perlamiga.1 \ - perlapi.1 perlapio.1 perlbook.1 perlboot.1 perlbot.1 \ - perlbs2000.1 perlbug.1 perlcall.1 perlcc.1 perlclib.1 \ - perlcompile.1 perlcygwin.1 perldata.1 perldbmfilter.1 \ - perldebguts.1 perldebtut.1 perldebug.1 perldelta.1 perldiag.1 \ - perldoc.1 perldos.1 perldsc.1 perlebcdic.1 perlembed.1 \ - perlepoc.1 perlfaq.1 perlfaq1.1 perlfaq2.1 perlfaq3.1 \ - perlfaq4.1 perlfaq5.1 perlfaq6.1 perlfaq7.1 perlfaq8.1 \ - perlfaq9.1 perlfilter.1 perlfork.1 perlform.1 perlfunc.1 \ - perlguts.1 perlhack.1 perlhist.1 perlhpux.1 perlintern.1 \ - perlipc.1 perllexwarn.1 perllocale.1 perllol.1 perlmachten.1 \ - perlmacos.1 perlmod.1 perlmodinstall.1 perlmodlib.1 \ - perlmpeix.1 perlnewmod.1 perlnumber.1 perlobj.1 perlop.1 \ - perlopentut.1 perlos2.1 perlos390.1 perlpod.1 perlport.1 \ - perlre.1 perlref.1 perlreftut.1 perlrequick.1 perlretut.1 \ - perlrun.1 perlsec.1 perlsolaris.1 perlstyle.1 perlsub.1 \ - perlsyn.1 perlthrtut.1 perltie.1 perltoc.1 perltodo.1 \ - perltoot.1 perltootc.1 perltrap.1 perlunicode.1 perlutil.1 \ - perlvar.1 perlvmesa.1 perlvms.1 perlvos.1 perlwin32.1 \ - perlxs.1 perlxstut.1 pl2pm.1 pod2html.1 pod2man.1 pod2text.1 \ - pod2usage.1 podchecker.1 podselect.1 pstruct.1 s2p.1 \ - splain.1 xsubpp.1 - -MAN3= AnyDBM_File.3 AutoLoader.3 AutoSplit.3 B.3 B::Asmdata.3 \ - B::Assembler.3 B::Bblock.3 B::Bytecode.3 B::C.3 B::CC.3 \ - B::Concise.3 B::Debug.3 B::Deparse.3 B::Disassembler.3 \ - B::Lint.3 B::Showlex.3 B::Stackobj.3 B::Stash.3 B::Terse.3 \ - B::Xref.3 Benchmark.3 ByteLoader.3 CGI.3 CGI::Apache.3 \ - CGI::Carp.3 CGI::Cookie.3 CGI::Fast.3 CGI::Pretty.3 \ - CGI::Push.3 CGI::Switch.3 CGI::Util.3 CPAN.3 CPAN::FirstTime.3 \ - CPAN::Nox.3 Carp.3 Carp::Heavy.3 Class::Struct.3 Config.3 \ - Cwd.3 DB.3 DB_File.3 Data::Dumper.3 Devel::DProf.3 \ - Devel::Peek.3 Devel::SelfStubber.3 DirHandle.3 Dumpvalue.3 \ - DynaLoader.3 English.3 Env.3 Errno.3 Exporter.3 \ - Exporter::Heavy.3 ExtUtils::Command.3 ExtUtils::Embed.3 \ - ExtUtils::Install.3 ExtUtils::Installed.3 ExtUtils::Liblist.3 \ - ExtUtils::MM_Cygwin.3 ExtUtils::MM_OS2.3 ExtUtils::MM_Unix.3 \ - ExtUtils::MM_VMS.3 ExtUtils::MM_Win32.3 ExtUtils::MakeMaker.3 \ - ExtUtils::Manifest.3 ExtUtils::Miniperl.3 ExtUtils::Mkbootstrap.3 \ - ExtUtils::Mksymlists.3 ExtUtils::Packlist.3 ExtUtils::testlib.3 \ - Fatal.3 Fcntl.3 File::Basename.3 File::CheckTree.3 \ - File::Compare.3 File::Copy.3 File::DosGlob.3 File::Find.3 \ - File::Glob.3 File::Path.3 File::Spec.3 File::Spec::Epoc.3 \ - File::Spec::Functions.3 File::Spec::Mac.3 File::Spec::OS2.3 \ - File::Spec::Unix.3 File::Spec::VMS.3 File::Spec::Win32.3 \ - File::Temp.3 File::stat.3 FileCache.3 FileHandle.3 FindBin.3 \ - Getopt::Long.3 Getopt::Std.3 I18N::Collate.3 \ - IO.3 IO::Dir.3 IO::File.3 IO::Handle.3 IO::Pipe.3 IO::Poll.3 \ - IO::Seekable.3 IO::Select.3 IO::Socket.3 IO::Socket::INET.3 \ - IO::Socket::UNIX.3 IPC::Msg.3 IPC::Open2.3 IPC::Open3.3 \ - IPC::Semaphore.3 IPC::SysV.3 Math::BigFloat.3 Math::BigInt.3 \ - Math::Complex.3 Math::Trig.3 NDBM_File.3 Net::Ping.3 \ - Net::hostent.3 Net::netent.3 Net::protoent.3 Net::servent.3 \ - O.3 Opcode.3 POSIX.3 Pod::Checker.3 Pod::Find.3 Pod::Html.3 \ - Pod::InputObjects.3 Pod::LaTeX.3 Pod::Man.3 Pod::ParseUtils.3 \ - Pod::Parser.3 Pod::Plainer.3 Pod::Select.3 Pod::Text.3 \ - Pod::Text::Color.3 Pod::Text::Overstrike.3 Pod::Text::Termcap.3 \ - Pod::Usage.3 SDBM_File.3 Safe.3 Search::Dict.3 SelectSaver.3 \ - SelfLoader.3 Shell.3 Socket.3 Symbol.3 Sys::Hostname.3 \ - Sys::Syslog.3 Term::ANSIColor.3 Term::Cap.3 Term::Complete.3 \ - Term::ReadLine.3 Test.3 Test::Harness.3 Text::Abbrev.3 \ - Text::ParseWords.3 Text::Soundex.3 Text::Tabs.3 Text::Wrap.3 \ - Tie::Array.3 Tie::Handle.3 Tie::Hash.3 Tie::RefHash.3 \ - Tie::Scalar.3 Tie::SubstrHash.3 Time::Local.3 Time::gmtime.3 \ - Time::localtime.3 Time::tm.3 UNIVERSAL.3 User::grent.3 \ - User::pwent.3 Win32.3 XSLoader.3 attributes.3 attrs.3 \ - autouse.3 base.3 blib.3 bytes.3 charnames.3 constant.3 \ - diagnostics.3 fields.3 filetest.3 integer.3 less.3 lib.3 \ - locale.3 open.3 ops.3 overload.3 re.3 sigtrap.3 strict.3 \ - subs.3 utf8.3 vars.3 warnings.3 warnings::register.3 .if defined(WITH_GDBM) MAN3+= GDBM_File.3 .endif - -MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VER} +MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VER}/perl test: @(cd ${WRKSRC}; make test) BSDPAN_DEST= ${PREFIX}/lib/perl5/${PERL_VER}/BSDPAN BSDPAN_FILES= BSDPAN.pm BSDPAN/Override.pm Config.pm \ - ExtUtils/MM_Unix.pm ExtUtils/Packlist.pm + ExtUtils/MM_Unix.pm \ + ExtUtils/MakeMaker.pm \ + ExtUtils/Packlist.pm BSDPAN_WRKSRC= ${WRKDIR}/BSDPAN-${PORTVERSION} -BSDPAN_REVISION=1 + +PKGINSTALL= ${WRKDIR}/pkg-install +PKGDEINSTALL= ${WRKDIR}/pkg-deinstall post-patch: ${SED} -e 's|%%PREFIX%%|${PREFIX}|g;' \ -e 's|%%PERL_VER%%|${PERL_VER}|g;' \ -e 's|%%PERL_VERSION%%|${PERL_VERSION}|g;' \ -e 's|%%PERL_ARCH%%|${PERL_ARCH}|g;' \ + -e 's|%%MAKE_CONF%%|${__MAKE_CONF}|g;' \ ${FILESDIR}/use.perl \ > ${WRKDIR}/use.perl + ${CP} ${WRKDIR}/use.perl ${PKGINSTALL} + ${CP} ${WRKDIR}/use.perl ${PKGDEINSTALL} + +pre-install: + @${RM} -f ${PREFIX}/bin/perl${PERL_VER} + @${RM} -f ${PREFIX}/bin/perl post-install: - @${STRIP_CMD} ${PREFIX}/bin/perl ${PREFIX}/bin/suidperl - @${LN} -sf ${PREFIX}/bin/perl ${PREFIX}/bin/perl5 - @${LN} -sf ${PREFIX}/bin/perl ${PREFIX}/bin/perl${PERL_VER} - ${INSTALL_SCRIPT} ${WRKDIR}/use.perl ${PREFIX}/bin/use.perl + @${STRIP_CMD} ${PREFIX}/bin/perl${PERL_VER} + @${STRIP_CMD} ${PREFIX}/bin/perl + @${LN} -sf ${PREFIX}/bin/perl${PERL_VER} ${PREFIX}/bin/perl5 .for file in ${BSDPAN_FILES} ${MKDIR} ${BSDPAN_DEST}/${file:H} ${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \ ${BSDPAN_WRKSRC}/${file} ${BSDPAN_DEST}/${file} .endfor - @(cd ${INCLUDEDIR} && ${PREFIX}/bin/h2ph *.h machine/*.h sys/*.h) -.if ${OSVERSION} < 500043 || ${OSVERSION} > 502100 + PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL +.if ${OSVERSION} < 500036 || ${OSVERSION} >= 502100 + ${INSTALL_SCRIPT} ${WRKDIR}/use.perl ${PREFIX}/bin/use.perl @fmt ${PKGMESSAGE} -.else - @${PREFIX}/bin/use.perl port .endif .include -- cgit v1.2.3