# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id$ PortSystem 1.0 name perl5.8 version 5.8.9 set branch [join [lrange [split ${version} .] 0 1] .] revision 9 categories lang platforms darwin freebsd linux license {Artistic-1 GPL} maintainers nomaintainer description Perl 5.8.x - Practical Extraction and Report Language long_description Perl is a general-purpose programming language \ originally developed for text manipulation and now \ used for a wide range of tasks including system \ administration, web development, network \ programming, GUI development, and more. homepage http://www.perl.org/ master_sites http://www.cpan.org/src/5.0/ distname perl-${version} use_bzip2 yes checksums rmd160 680004238d626ec985075e1b4519b7f0b34f57e5 \ sha256 1097fbcd48ceccb2bc735d119c9db399a02a8ab9f7dc53e29e47e6a8d0d72e79 patchfiles patch-Configure.diff \ patch-perl.c.diff platform darwin { patchfiles-append patch-hints_darwin.sh.diff # Prevent miniperl build from finding MacPorts' libstdcxx (#36438). patchfiles-append patch-Makefile.SH.diff post-patch { reinplace "s|__PREFIX_LIB__|${prefix}/lib|g" ${worksrcpath}/Makefile.SH } } post-patch { reinplace "s|/opt/local|${prefix}|g" ${worksrcpath}/Configure } configure.ccache no configure.distcc no configure.env LC_ALL=C configure.cmd sh Configure configure.pre_args configure.universal_args-delete \ --disable-dependency-tracking configure.post_args -des \ -Dprefix='${prefix}' \ -Dscriptdir='${prefix}/bin' \ {-Dcppflags="$CPPFLAGS"} \ {-Dccflags="$CFLAGS"} \ {-Dldflags="$LDFLAGS"} \ -Dvendorprefix='${prefix}' \ -Dusemultiplicity=y \ -Dusethreads \ -Duseshrplib \ {-Dcc="$CC"} \ {-Dld="$CC"} \ -Dman1ext=1pm \ -Dman3ext=3pm \ -Dman1dir='${prefix}/share/man/man1p' \ -Dman3dir='${prefix}/share/man/man3p' \ -Dsitebin='${prefix}/libexec/perl${branch}/sitebin' \ -Dsiteman1dir='${prefix}/share/perl${branch}/siteman/man1' \ -Dsiteman3dir='${prefix}/share/perl${branch}/siteman/man3' \ -Dvendorbin='${prefix}/libexec/perl${branch}' \ -Dvendorman1dir='${prefix}/share/perl${branch}/man/man1' \ -Dvendorman3dir='${prefix}/share/perl${branch}/man/man3' \ -Dpager='/usr/bin/less -sR' \ -Dperlpath="${prefix}/bin/perl${branch}" \ -Dstartperl="#!${prefix}/bin/perl${branch}" # Allow perl to find p5-* ports installed by previous (minor) versions configure.args-append -Dinc_version_list='5.8.8 5.8.8/${os.platform}-thread-multi-2level' set exclude_libs {bind gdbm db} post-patch { foreach lib ${exclude_libs} { configure.args-append -U i_${lib} reinplace "s|\\(libswanted=.*\\)${lib} *\\(.*\\)|\\1\\2|" ${worksrcpath}/Configure } } if {[variant_isset universal]} { post-configure { system "cd ${worksrcpath} && ed - ${worksrcpath}/config.h < ${filespath}/config.h.ed" } } post-build { reinplace -E {s/-arch [a-z0-9_]+//g} \ ${worksrcpath}/lib/Config_heavy.pl } test.run yes post-destroot { # avoid conflicting with other perl versions # perl5 creates unversioned symlinks delete ${destroot}${prefix}/bin/perl foreach binFile [glob -directory "${destroot}${prefix}/bin" *] { if {$binFile ne "${destroot}${prefix}/bin/perl${version}"} { move ${binFile} ${binFile}-${branch} } } move ${destroot}${prefix}/bin/perl${version} ${destroot}${prefix}/bin/${name} ln -s ${name} ${destroot}${prefix}/bin/perl${version} foreach man1File [glob -directory "${destroot}${prefix}/share/man/man1p" *] { regexp (.*)(\.1.*) ${man1File} -> program suffix move ${man1File} ${program}-${branch}${suffix} } foreach man3File [glob -directory "${destroot}${prefix}/share/man/man3p" *] { regexp (.*)(\.3.*) ${man3File} -> program suffix move ${man3File} ${program}-${branch}${suffix} } } variant gdbm description {Build with gdbm support} { depends_lib-append port:gdbm set exclude_libs [ldelete ${exclude_libs} gdbm] } variant db description {Build with Berkeley Data Base support} { depends_lib-append port:db47 set exclude_libs [ldelete ${exclude_libs} db] post-patch { reinplace "s|${prefix}/include|${prefix}/include ${prefix}/include/db47|g" ${worksrcpath}/Configure reinplace "s|${prefix}/lib|${prefix}/lib ${prefix}/lib/db47|g" ${worksrcpath}/Configure } } livecheck.type regex livecheck.url http://www.cpan.org/src livecheck.regex {perl-(5\.8\.\d)\.}