summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam>2004-12-11 16:19:29 +0000
committerjlam <jlam>2004-12-11 16:19:29 +0000
commit78bf6b84b84e94bc510209704952df5b8ff263e7 (patch)
tree6033cd5678d3f4535442c7f0555bcc8560fdb364
parent6ab2628cb64c3f873a9186734fd42fc1cc087cca (diff)
downloadpkgsrc-78bf6b84b84e94bc510209704952df5b8ff263e7.tar.gz
The Open Group says that localtime_r() doesn't need to ensure that
the tz* related variables are initialized when it is invoked. In fact, Solaris does do this while NetBSD 2.0 does not. Explicitly call tzset() before calling localtime_r() to initialize the local timezone data. This fixes the output of: perl -e '$t = localtime($^T); print "$t\n";' ; date to always print the time in the local timezone twice instead of the first time in UTC and the second in the local timezone. Bump the PKGREVISION.
-rw-r--r--lang/perl58/Makefile4
-rw-r--r--lang/perl58/distinfo3
-rw-r--r--lang/perl58/patches/patch-ci18
3 files changed, 22 insertions, 3 deletions
diff --git a/lang/perl58/Makefile b/lang/perl58/Makefile
index ce0e05cd2bd..0c5ed136cdc 100644
--- a/lang/perl58/Makefile
+++ b/lang/perl58/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.64 2004/12/10 06:01:08 jlam Exp $
+# $NetBSD: Makefile,v 1.65 2004/12/11 16:19:29 jlam Exp $
# The following two variables should have empty values unless we're
# building a perl snapshot or release candidate.
@@ -9,7 +9,7 @@ PERL5_RC_VERS= # empty
.if empty(PERL5_SNAPSHOT) && empty(PERL5_RC_VERS)
DISTNAME= perl-${PERL5_VERS}
PKGNAME= perl-${PERL5_VERS}
-PKGREVISION= 4
+PKGREVISION= 5
SNAPSHOT_SITES= # empty
.else
. if !empty(PERL5_SNAPSHOT)
diff --git a/lang/perl58/distinfo b/lang/perl58/distinfo
index 8c0034cd75a..5888e458be2 100644
--- a/lang/perl58/distinfo
+++ b/lang/perl58/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.22 2004/11/26 03:29:43 grant Exp $
+$NetBSD: distinfo,v 1.23 2004/12/11 16:19:29 jlam Exp $
SHA1 (perl-5.8.5.tar.bz2) = 6fec546bd96070c3c14b5b5fd2cd9af3185905fe
Size (perl-5.8.5.tar.bz2) = 9464689 bytes
@@ -14,4 +14,5 @@ SHA1 (patch-ce) = c7d2defd2cfa872c1f6651678bc3de6cd7aeaf34
SHA1 (patch-cf) = 23cf46c8d683b688878433ec9b33f3c65528cd28
SHA1 (patch-cg) = e1b56aaa40934f78298d1fd9303fbae33c472d8e
SHA1 (patch-ch) = 6cfd77bba102a4bca82576f061ba60c1610c4d07
+SHA1 (patch-ci) = 3f3334a93e34a9f8ea12a52b06e010c58ebd6035
SHA1 (patch-zc) = eb81edd1144ec46285898afc641c03a3aad54977
diff --git a/lang/perl58/patches/patch-ci b/lang/perl58/patches/patch-ci
new file mode 100644
index 00000000000..24fdf3b0f00
--- /dev/null
+++ b/lang/perl58/patches/patch-ci
@@ -0,0 +1,18 @@
+$NetBSD: patch-ci,v 1.1 2004/12/11 16:19:29 jlam Exp $
+
+--- pp_sys.c.orig 2004-03-22 14:54:11.000000000 -0500
++++ pp_sys.c 2004-12-11 10:47:42.000000000 -0500
+@@ -4438,9 +4438,11 @@
+ when = (Time_t)SvIVx(POPs);
+ #endif
+
+- if (PL_op->op_type == OP_LOCALTIME)
++ if (PL_op->op_type == OP_LOCALTIME) {
++ /* Explicitly invoke tzset() as localtime_r may not. */
++ tzset();
+ tmbuf = localtime(&when);
+- else
++ } else
+ tmbuf = gmtime(&when);
+
+ if (GIMME != G_ARRAY) {