aboutsummaryrefslogtreecommitdiffstats
path: root/lang/perl5.6/Makefile
diff options
context:
space:
mode:
authortobez <tobez@FreeBSD.org>2005-02-01 21:36:41 +0800
committertobez <tobez@FreeBSD.org>2005-02-01 21:36:41 +0800
commit5d55765a111e9054e23e04fb27e0bfbb67744974 (patch)
treeaa0a74a789f911298e094cfc7afde0aca9575eba /lang/perl5.6/Makefile
parenta4e9ddb1705665666c117bfc30c9b9ba2d906f15 (diff)
downloadfreebsd-ports-gnome-5d55765a111e9054e23e04fb27e0bfbb67744974.tar.gz
freebsd-ports-gnome-5d55765a111e9054e23e04fb27e0bfbb67744974.tar.zst
freebsd-ports-gnome-5d55765a111e9054e23e04fb27e0bfbb67744974.zip
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 <freebsd %at% nagilum de> [11] PR: 71390 [12] PR: 74042, perl bug 18238
Diffstat (limited to 'lang/perl5.6/Makefile')
-rw-r--r--lang/perl5.6/Makefile168
1 files changed, 67 insertions, 101 deletions
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 <bsd.port.pre.mk>
+
+.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 <bsd.port.pre.mk>
-
.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 <bsd.port.post.mk>