Initial import of perl-5.9.0

TODO:
=====
This is a vile copy of perl58 Makefile and patches, with some changes on version and MAINTAINER. Probably this Makefile needs a cleanup.

I'm working on perl-threads, because:
 $ echo "use threads;" | perl -

always returns -1 :/ and theorically with -Duseithreads="y" this mai be
solved, but doesn't works, probably -Dusethreads?? 

ithreads are internal threads
threads are POSIX threads
oldthreads are to use Thread; code...

I think that the main problem of perl is threads, and this may be solved quickly. If anybody could help on this pkg I will be happy.

pancake
This commit is contained in:
pancake ;) 2003-11-25 19:27:57 +00:00
parent 9df2ccb8d2
commit 40248a7aa7
10 changed files with 2441 additions and 0 deletions

BIN
perl59/.Makefile.swp Normal file

Binary file not shown.

11
perl59/DESCR Normal file
View file

@ -0,0 +1,11 @@
Perl is a high-level programming language with an eclectic heritage
written by Larry Wall and a cast of thousands. It derives from the
ubiquitous C programming language and to a lesser extent from sed, awk,
the Unix shell, and at least a dozen other tools and languages. Perl's
process, file, and text manipulation facilities make it particularly
well-suited for tasks involving quick prototyping, system utilities,
software tools, system management tasks, database access, graphical
programming, networking, and world wide web programming. These strengths
make it especially popular with system administrators and CGI script
authors, but mathematicians, geneticists, journalists, and even managers
also use Perl. Maybe you should, too.

254
perl59/Makefile Normal file
View file

@ -0,0 +1,254 @@
# $NetBSD: Makefile,v 1.1.1.1 2003/11/25 19:27:57 poppnk Exp $
# The following two variables should have empty values unless we're
# building a perl snapshot or release candidate.
#
PERL5_SNAPSHOT= # empty
PERL5_RC_VERS= # empty
.if empty(PERL5_SNAPSHOT) && empty(PERL5_RC_VERS)
DISTNAME= perl-${PERL5_VERS}
PKGREVISION= # empty
SNAPSHOT_SITES= # empty
.else
. if !empty(PERL5_SNAPSHOT)
DISTNAME= perl@${PERL5_SNAPSHOT}
PKGNAME= perl-${PERL5_VERS}beta${PERL5_SNAPSHOT}
SNAPSHOT_SITES= http://www.iki.fi/jhi/
EXTRACT_SUFX= .tbz
WRKSRC= ${WRKDIR}/perl
. else # !empty(PERL5_RC_VERS)
DISTNAME= perl-${PERL5_VERS}-RC${PERL5_RC_VERS}
PKGNAME= perl-${PERL5_VERS}rc${PERL5_RC_VERS}
SNAPSHOT_SITES= http://www.cpan.org/authors/id/J/JH/JHI/
. endif
.endif
PERL5_VERS= 5.9.0
CATEGORIES= lang devel perl5 wip
MASTER_SITES= ${SNAPSHOT_SITES} \
${MASTER_SITE_PERL_CPAN:S,/modules/by-module/$,/src/,}
MAINTAINER= pancake@phreaker.net
HOMEPAGE= http://www.perl.com/
COMMENT= Practical Extraction and Report Language
CONFLICTS= perl-5.00* perl-base-[0-9]* \
p5-CGI-2.66 p5-CGI-2.75 p5-CGI-2.75.[0-2] \
p5-Data-Dumper-2.1[0-9][0-9] p5-Data-Dumper-[0-9][0-9] \
p5-Devel-DProf-[0-9]* p5-Devel-Peek-[0-9]* \
perl-mk-[0-9]*
USE_BUILDLINK2= YES
HAS_CONFIGURE= YES
CONFIGURE_SCRIPT= ./Configure
CONFIGURE_ARGS+= -sde
CONFIGURE_ARGS+= -Dprefix="${PREFIX}"
CONFIGURE_ARGS+= -Dscriptdir="${PREFIX}/bin"
CONFIGURE_ARGS+= -Darchname="${MACHINE_ARCH}-${LOWER_OPSYS}"
CONFIGURE_ARGS+= -Doptimize="${CFLAGS}"
CONFIGURE_ARGS+= -Dinstallstyle="lib/perl5"
CONFIGURE_ARGS+= -Duseithreads="y"
CONFIGURE_ARGS+= -Dusedevel="y"
CONFIGURE_ARGS+= -Di_malloc="y"
CONFIGURE_ARGS+= -Ui_malloc
CONFIGURE_ARGS+= -Uusemymalloc
CONFIGURE_ARGS+= -Uinstallusrbinperl
TEST_TARGET= test
# Install Perl man3 pages into a private directory under the the normal
# Perl installation. Also install site-specific Perl man3 pages into a
# private directory within site_perl. This avoids manpage conflicts
# between 3rd-party modules, the standard Perl library, and other
# packages.
#
CONFIGURE_ARGS+= -Dman3ext="3"
CONFIGURE_ARGS+= -Dman3dir="${PERL5_PRIVLIB}/man/man3"
CONFIGURE_ARGS+= -Dsiteman3dir="${PERL5_SITEPERL}/man/man3"
# The site directories are all relative to the perl view.
CONFIGURE_ARGS+= -Dsiteprefix="${VIEWBASE}"
CONFIGURE_ARGS+= -Dinstallsiteman1dir="${VIEWBASE}/man/man1"
.include "../../mk/bsd.prefs.mk"
MKPIC?= yes
.if ${OPSYS} == "IRIX"
. if ${ABI} == "32"
PERL5_CC= ${CC:T} -n32
. elif ${ABI} == "64"
PERL5_CC= ${CC:T} -64
CONFIGURE_ARGS+= -Duse64bitint
. endif
.else
PERL5_CC= ${CC:T}
.endif
CONFIGURE_ARGS+= -Dcc="${PERL5_CC}"
.if ${OPSYS} == "Darwin"
#
# The perl build attempts to work around case-insensitivity problems on
# HFS filesystems by using GNUmakefiles, so we need to use GNU make.
#
USE_GMAKE= YES
#
# Perl is _always_ built using shared libraries on Darwin; there's no
# way to build a statically-linked perl binary.
#
MKPIC= yes
STATIC_PERL= NO
#
# "installarchlib" and "installsitearch" have different forms between
# Darwin and NetBSD.
#
PERL5_ARCHLIB= ${PREFIX}/lib/perl5/${PERL5_VERS}/${LOWER_OPSYS}
PERL5_SITEARCH= ${PREFIX}/lib/perl5/site_perl/${PERL5_VERS}/${LOWER_OPSYS}
.endif
# Nail down the needed libraries for each platform here to avoid hidden
# dependencies. If this isn't defined, then use the perl defaults for the
# particular operating system.
#
LIBSWANTED.Darwin= m c
LIBSWANTED.FreeBSD= m crypt
LIBSWANTED.IRIX= m crypt
LIBSWANTED.NetBSD= m crypt
LIBSWANTED.SunOS= m crypt dl socket nsl
# Nail down the directories in which the system libraries may be found.
# If this isn't defined, then use the perl defaults for the particular
# operating system.
#
SYSLIBPATH.Darwin= /usr/lib
SYSLIBPATH.NetBSD= /usr/lib
SYSLIBPATH.SunOS= /usr/lib
# Nail down the directories in which headers and libraries of
# locally-installed software may be found.
#
LOCLIBPATH= ${LOCALBASE}/lib
LOCINCPATH= ${LOCALBASE}/include
# On a.out platforms, we link with "ld" and on ELF platforms, we link with
# "cc", so we need to use different options to pass the run-time search path
# flags to the link command in the right way.
#
.if ${OBJECT_FMT} == "a.out"
LOCLIBRPATHFLAGS= ${LOCLIBPATH:S/^/${RPATH_FLAG}/g}
.elif ${OBJECT_FMT} == "ELF"
LOCLIBRPATHFLAGS= ${LOCLIBPATH:S/^/-Wl,${RPATH_FLAG}/g}
.else
LOCLIBRPATHFLAGS= # empty
.endif
FIX_RPATH+= LOCLIBRPATHFLAGS
.if defined(LIBSWANTED.${OPSYS})
CONFIGURE_ARGS+= -Dlibswanted="${LIBSWANTED.${OPSYS}}"
.endif
.if ${OPSYS} == "NetBSD"
. if !exists(/usr/libexec/ld.so) && !exists(/usr/libexec/ld.elf_so)
MKPIC= no
. endif
. if ${MACHINE_ARCH} == "sparc64"
# The toolchain on sparc64 is not really production-quality right now, but
# gcc-2.96 is supposed to fix most problems. Passing -g to the configure
# process triggers -DDEBUGGING, which plays the real trick and circumvents
# code-generation bugs, so we add -g to CFLAGS to at least have a really
# debuggable build.
#
CFLAGS+= -g -msoft-quad-float -O2
. endif
.elif ${OPSYS} == "SunOS"
CFLAGS=
.endif
.if ${MKPIC} == "yes"
CONFIGURE_ARGS+= -Duseshrplib
.endif
PERL5= ${PREFIX}/bin/perl${PERL5_VERS}
PERL5_PRIVLIB?= ${PREFIX}/lib/perl5/${PERL5_VERS}
PERL5_ARCHLIB?= ${PREFIX}/lib/perl5/${PERL5_VERS}/${MACHINE_ARCH}-${LOWER_OPSYS}
PERL5_SITEPERL?= ${VIEWBASE}/lib/perl5/site_perl
PERL5_SITELIB?= ${VIEWBASE}/lib/perl5/site_perl/${PERL5_VERS}
PERL5_SITEARCH?= ${VIEWBASE}/lib/perl5/site_perl/${PERL5_VERS}/${MACHINE_ARCH}-${LOWER_OPSYS}
PERL5_PACKLIST= ${PERL5_ARCHLIB}/.packlist
PLIST_SUBST+= PERL5_SITEPERL=${PERL5_SITEPERL:S/^${PREFIX}\///}
# It's tough to guess which hints file will be used, so add our modifications
# to all of them:
#
# - Explicitly set the local compiler search paths to contain only the
# pkgsrc-controlled directories.
#
pre-configure:
hintdir="${WRKSRC}/hints"; \
for hints in $${hintdir}/*.sh; do \
${CHMOD} +w $${hints}; \
( ${ECHO} ''; \
${ECHO} 'locincpth="${LOCINCPATH}"'; \
${ECHO} 'loclibpth="${LOCLIBPATH}"'; \
${ECHO} 'ldflags="${LOCLIBRPATHFLAGS} $$ldflags"'; \
) >> $${hints}; \
done
.if defined(SYSLIBPATH.${OPSYS})
hintdir="${WRKSRC}/hints"; \
for hints in $${hintdir}/*.sh; do \
( ${ECHO} "glibpth='${SYSLIBPATH.${OPSYS}}'"; \
) >> $${hints}; \
done
.endif
# By default, on platforms that build shared libraries, rebuild the perl
# binary as a statically-linked binary as a speed optimization. Performance
# increase is only by word-of-mouth -- no actual benchmarks have been
# produced. However, it has been remarked that the advantage of having a
# statically-linked perl is pretty much non-existent on any platform with
# any reasonable number of registers. These platforms should be added to
# the list below to bypass the build of the statically-linked perl.
#
.if ${MKPIC} == "yes"
. for _arch_ in mipsel mipseb
. if !empty(MACHINE_ARCH:M${_arch_})
STATIC_PERL?= NO
. endif
. endfor
.endif
STATIC_PERL?= YES
WRKSRC_PERL5= ${WRKSRC}/perl
.if defined(STATIC_PERL) && ${STATIC_PERL} == "YES"
STATIC_WRKDIR= ${WRKDIR}/static
STATIC_MAKEFLAGS= MKPIC=no STATIC_PERL=NO
STATIC_MAKEFLAGS+= WRKDIR=${STATIC_WRKDIR}
STATIC_MAKEFLAGS+= ALL_TARGET=perl
WRKSRC_PERL5= ${STATIC_WRKDIR}/${WRKSRC:T}/perl
post-build:
cd ${.CURDIR} && ${MAKE} build ${STATIC_MAKEFLAGS}
.endif
post-install:
${RM} -f ${PREFIX}/bin/perl ${PREFIX}/bin/perl${PERL5_VERS}
${INSTALL_PROGRAM} ${WRKSRC_PERL5} ${PREFIX}/bin/perl${PERL5_VERS}
${LN} -f ${PREFIX}/bin/perl${PERL5_VERS} ${PREFIX}/bin/perl
.if !empty(_STRIPFLAG_INSTALL)
if [ -x ${PREFIX}/bin/a2p ]; then \
strip ${PREFIX}/bin/a2p; \
fi
.endif
${RMDIR} -p ${PERL5_SITEARCH} 2>/dev/null || ${TRUE}
${RM} -f ${WRKDIR}/bsd.perl.mk
eval `${PERL5} -V:installsitelib 2>/dev/null` && \
echo PERL5_SITELIB=$$installsitelib >>${WRKDIR}/bsd.perl.mk
eval `${PERL5} -V:installsitearch 2>/dev/null` && \
echo PERL5_SITEARCH=$$installsitearch >>${WRKDIR}/bsd.perl.mk
eval `${PERL5} -V:installarchlib 2>/dev/null` && \
echo PERL5_ARCHLIB=$$installarchlib >>${WRKDIR}/bsd.perl.mk
${INSTALL_DATA_DIR} ${PREFIX}/share/mk
${INSTALL_DATA} ${WRKDIR}/bsd.perl.mk ${PREFIX}/share/mk/bsd.perl.mk
.include "../../mk/bsd.pkg.mk"

2009
perl59/PLIST Normal file

File diff suppressed because it is too large Load diff

9
perl59/distinfo Normal file
View file

@ -0,0 +1,9 @@
$NetBSD: distinfo,v 1.1.1.1 2003/11/25 19:27:57 poppnk Exp $
SHA1 (perl-5.9.0.tar.gz) = 9ea30975bf8dc37d616fbc04511853e39ce23273
Size (perl-5.9.0.tar.gz) = 11905830 bytes
SHA1 (patch-ae) = fa3bbb1561192ce9214a7a7c756ccb2595a52c80
SHA1 (patch-ah) = 2bfaf2503589ae3dbedaf7ee61561ed58054938e
SHA1 (patch-ba) = cdceb712bae08c6041e5aa175e5989d48b3a3f4e
SHA1 (patch-bc) = 6bd07e902563079dd5642eac321ca7f9271ab8a6
SHA1 (patch-zc) = eb81edd1144ec46285898afc641c03a3aad54977

12
perl59/patches/patch-ae Normal file
View file

@ -0,0 +1,12 @@
$NetBSD: patch-ae,v 1.1.1.1 2003/11/25 19:28:29 poppnk Exp $
--- makedepend.SH.orig Fri Jun 6 23:34:20 2003
+++ makedepend.SH
@@ -84,6 +84,7 @@
case "$osname" in
os2) ;;
netbsd) ;;
+ freebsd) ;;
*) $touch $firstmakefile ;;
esac
fi

67
perl59/patches/patch-ah Normal file
View file

@ -0,0 +1,67 @@
$NetBSD: patch-ah,v 1.1.1.1 2003/11/25 19:28:29 poppnk Exp $
--- perl.c.orig Thu Sep 11 14:42:33 2003
+++ perl.c Tue Sep 30 01:16:04 2003
@@ -3943,12 +3943,33 @@
}
/* Use the ~-expanded versions of APPLLIB (undocumented),
- ARCHLIB PRIVLIB SITEARCH SITELIB VENDORARCH and VENDORLIB
+ SITEARCH SITELIB ARCHLIB PRIVLIB VENDORARCH and VENDORLIB
*/
#ifdef APPLLIB_EXP
incpush(APPLLIB_EXP, 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);
+# endif
+#endif
+
+#ifdef SITELIB_EXP
+# if defined(WIN32)
+ /* this picks up sitearch as well */
+ incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
+# else
+ incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
+# endif
+#endif
+
+#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
+ incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
+#endif
+
#ifdef ARCHLIB_EXP
incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
#endif
@@ -3980,27 +4001,6 @@
incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
#else
incpush(PRIVLIB_EXP, FALSE, FALSE, 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);
-# endif
-#endif
-
-#ifdef SITELIB_EXP
-# if defined(WIN32)
- /* this picks up sitearch as well */
- incpush(SITELIB_EXP, TRUE, FALSE, TRUE);
-# else
- incpush(SITELIB_EXP, FALSE, FALSE, TRUE);
-# endif
-#endif
-
-#ifdef SITELIB_STEM /* Search for version-specific dirs below here */
- incpush(SITELIB_STEM, FALSE, TRUE, TRUE);
#endif
#ifdef PERL_VENDORARCH_EXP

28
perl59/patches/patch-ba Normal file
View file

@ -0,0 +1,28 @@
$NetBSD: patch-ba,v 1.1.1.1 2003/11/25 19:28:30 poppnk Exp $
--- hints/netbsd.sh.orig Tue Jul 1 23:49:58 2003
+++ hints/netbsd.sh Wed Jul 2 11:49:17 2003
@@ -133,23 +133,6 @@
esac
EOCBU
-# Set sensible defaults for NetBSD: look for local software in
-# /usr/pkg (NetBSD Packages Collection) and in /usr/local.
-#
-loclibpth="/usr/pkg/lib /usr/local/lib"
-locincpth="/usr/pkg/include /usr/local/include"
-case "$rpathflag" in
-'')
- ldflags=
- ;;
-*)
- ldflags=
- for yyy in $loclibpth; do
- ldflags="$ldflags $rpathflag$yyy"
- done
- ;;
-esac
-
case `uname -m` in
alpha)
echo 'int main() {}' > try.c

15
perl59/patches/patch-bc Normal file
View file

@ -0,0 +1,15 @@
$NetBSD: patch-bc,v 1.1.1.1 2003/11/25 19:28:30 poppnk Exp $
--- hints/solaris_2.sh.orig 2003-09-18 19:21:49.000000000 +1000
+++ hints/solaris_2.sh
@@ -241,6 +241,10 @@ END
# All Solaris versions of ld I've seen contain the magic
# string used in the grep.
:
+ elif echo "$verbose" | grep "ld: Solaris Link Editors" >/dev/null 2>&1; then
+ # This string has also been observed "in the wild" as
+ # being the Solaris linker.
+ :
else
# No evidence yet of /usr/ccs/bin/ld. Some versions
# of egcs's ld wrapper call /usr/ccs/bin/ld in turn but

36
perl59/patches/patch-zc Normal file
View file

@ -0,0 +1,36 @@
$NetBSD: patch-zc,v 1.1.1.1 2003/11/25 19:28:30 poppnk Exp $
--- Policy_sh.SH.orig Fri Aug 1 05:23:23 2003
+++ Policy_sh.SH Tue Aug 26 02:12:12 2003
@@ -184,11 +184,11 @@
;;
sitearch) dflt="$sitelib/$archname" ;;
- siteman1) dflt="$siteprefix/man/man1" ;;
- siteman3) dflt="$siteprefix/man/man3" ;;
+ siteman1dir) dflt="$siteprefix/man/man1" ;;
+ siteman3dir) dflt="$siteprefix/man/man3" ;;
# We don't know what to do with these yet.
- sitehtml1) dflt='' ;;
- sitehtm31dir) dflt='' ;;
+ sitehtml1dir) dflt='' ;;
+ sitehtml1dir) dflt='' ;;
# Directories for vendor-supplied add-on files
# These are all usually empty.
@@ -213,11 +213,11 @@
;;
vendorarch) dflt="$vendorlib/$archname" ;;
- vendorman1) dflt="$vendorprefix/man/man1" ;;
- vendorman3) dflt="$vendorprefix/man/man3" ;;
+ vendorman1dir) dflt="$vendorprefix/man/man1" ;;
+ vendorman3dir) dflt="$vendorprefix/man/man3" ;;
# We don't know what to do with these yet.
- vendorhtml1) dflt='' ;;
- vendorhtm3) dflt='' ;;
+ vendorhtml1dir) dflt='' ;;
+ vendorhtml3dir) dflt='' ;;
esac # End of vendorprefix != ''
fi