This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

perl-5.10.0 beta soon, 5.9.4 results


As 5.9.5 (aka 5.10.0 beta) will be out very soon, and nobody provided an updated perl package so far, I'm taking the stab from gerrit.
We still have no stable 5.8.8
If there are some missing cygwin patches left over, esp. with the Win32CORE move from libwin32 to core, they should go in to p5p now or never.


http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-06/msg00474.html

5.9.4 looks quite good so far. See attachments. 20 test failures only.
--
http://phpwiki.org/         http://murbreak.at/
http://spacemovie.mur.at/   http://helsinki.at/
#!/bin/sh

## M$ sucks
unset LIB
unset INCLUDE

## run the build with ntsec on if possible...
pkg=perl
ver=5.9.4
major=5.9
release=-1
dir=`pwd`
shortver=`echo ${ver}${release} | sed 's/-.*//'`
buildperl=buildperl

## checkout builddir
rm -rf ${dir}/${buildperl}
mkdir -p -m 777 ${dir}/${buildperl}

## unpack
rm -rf ${pkg}-${ver}
tar xfz ${pkg}-${ver}.tar.gz
#tar xjvf ${pkg}-${ver}-ext-Win32CORE.tar.bz2
mkdir -p /usr/share/doc/${pkg}-${ver}
/bin/install -c -m 644 ${pkg}-${ver}/Artistic ${pkg}-${ver}/Copying ${pkg}-${ver}/README /usr/share/doc/${pkg}-${ver}

for p in pl-*.patch; do
  (cd ${pkg}-${ver}; patch -p1 -b <../$p; cd -)
done
# will not be accepted upstream, release only:
## patch to strip the binaries & dll's
#(cd ${pkg}-${ver} ; patch -p1 <../hints.cygwin.sh.patch)
## dll naming major version patch
#(cd ${pkg}-${ver} ; patch -p1 <../major.version.cygwin.sh.patch)

# should be accepted upstream, check:
## Kid.ppm patch
#(cd ${pkg}-${ver} ; patch -p1 <../Kid.pm.patch)
## Win32CORE patch
#(cd ${pkg}-${ver} ; patch -p1 <../p587w32core.patch)
## Try to fix TH problem
#(cd ${pkg}-${ver} ; patch -p1 <../Straps.pm.patch)
## Patch to issue reported here:
## http://www.gentoo.org/security/en/glsa/glsa-200512-01.xml
## http://bugs.gentoo.org/show_bug.cgi?id=114113
## http://www.dyadsecurity.com/perl-0002.html
#(cd ${pkg}-${ver} ; patch -p1 <../sprintf-5.8.7.patch)

## configure perl
cd ${dir}/${buildperl}

cp ${dir}/Policy.sh ${dir}/${buildperl}

sh ${dir}/${pkg}-${ver}/Configure -de	\
		-Dmksymlinks	\
		-Duse64bitint	\
		-Dusethreads	\
		-Uusemymalloc   \
		-Doptimize='-O3'	\
		-Dman3ext='3pm'	\
		-Dusesitecustomize \
		-Dusedevel \
		2>&1 | tee ${dir}/log.configure

# Implied by usethreads
#		-Dusemultiplicity	\
#		-Uusemymalloc	\

## build perl
make 2>&1 | tee ${dir}/log.make

cp /usr/bin/cygcrypt-0.dll .

## make the tests
export PERLIO=perlio
make test 2>&1 | tee ${dir}/log.test
(cd t;./perl harness) 2>&1 | tee ${dir}/log.harness

rm -f cygcrypt-0.dll

## install
make install-strip 2>&1 | tee ${dir}/log.install

cd ${dir}
# TODO: check updated libs
for i in \
         Compress-Zlib-1.41	\
         Compress-Bzip2-2.09 \
         IO-Zlib-1.04	\
         IO-String-1.07	\
         Text-Diff-0.35 \
         Archive-Tar-1.26	\
         MD5-2.03	\
         Term-ReadLine-Perl-1.0203 \
         Net-Telnet-3.03	\
         TermReadKey-2.30	\
         XML-Parser-2.34	\
	 Proc-ProcessTable-0.40 \
	 ; \
do (tar xzf ${i}.tar.gz &&	\
    (cd ${i} &&	\
    if test -f ../$i.patch; then patch -p0 < ../$i.patch; fi &&  \
    perl Makefile.PL &&	\
    make &&	\
    make install_vendor UNINST=1));	\
done
2007-06-19 20:42:18 rurban@x-ray.at
	* lib/ExtUtils/Embed.pm: insensitive against leading \s

--- perl-5.9.4/lib/ExtUtils/Embed.pm.orig	2006-08-15 12:37:41.000000000 +0000
+++ perl-5.9.4/lib/ExtUtils/Embed.pm	2007-06-19 18:40:28.843750000 +0000
@@ -133,7 +133,9 @@
 
 sub static_ext {
     unless (scalar @Extensions) {
-	@Extensions = sort split /\s+/, $Config{static_ext};
+      my $static_ext = $Config{static_ext};
+      $static_ext =~ s/^\s+//;
+      @Extensions = sort split /\s+/, $static_ext;
 	unshift @Extensions, qw(DynaLoader);
     }
     @Extensions;
--- perl-5.9.4/lib/Test/Harness/Straps.pm.orig	2006-08-15 12:37:41.000000000 +0000
+++ perl-5.9.4/lib/Test/Harness/Straps.pm	2007-06-19 18:37:17.671875000 +0000
@@ -478,7 +478,7 @@
         my $self = shift;
         my $perl = $self->_command;
         $cache{$perl} ||= [do {
-            local $ENV{PERL5LIB};
+            local $ENV{PERL5LIB} = '';
             my @inc =`$perl -le "print join qq[\\n], \@INC"`;
             chomp @inc;
         }];
2007-06-19 20:25:51 rurban@x-ray.at
	* cygperl-5_9.dll and not cygperl-5_9_x.dll

--- bleadperl/cygwin/perlld.in~ 2004-11-09 15:00:08.046250000 +0100
+++ bleadperl/cygwin/perlld.in  2004-11-09 14:59:53.249375000 +0100
@@ -46,7 +46,7 @@
     $path =~ s,[/\\](\.[/\\])*,/,g;
   }
   if ($dllname =~ /\./) { $libname =$`; } else { $libname =$dllname; };
-  my $v_e_r_s = '@VERSION@';
+  my $v_e_r_s = substr("@VERSION@",0,-2);
   $v_e_r_s =~ tr/./_/;
   if ( $dllname =~ /libperl.*/) { 
     $dllname ="cygperl$v_e_r_s.dll";
@@ -64,6 +64,7 @@
   $command .=" -Wl,--out-implib=$libname.dll$LIB_EXT" if $LIB_EXT;
   $command .=" -Wl,--export-all-symbols" if $EXPORT_ALL;
   $command .=" -Wl,--enable-auto-import -Wl,--stack,8388608"; # always
+  $command .=" -Wl,--enable-auto-image-base"; # always
 
   # other args are passed through
   shellexec("$command \\\n$args\n");

--- bleadperl/lib/ExtUtils/t/Embed.t~   2004-11-09 16:40:19.006625000 +0100
+++ bleadperl/lib/ExtUtils/t/Embed.t    2004-11-09 16:40:30.616000000 +0100
@@ -94,7 +94,7 @@
     }
    }
    elsif ($^O eq 'cygwin') { # Cygwin needs the shared libperl copied
-     my $v_e_r_s = $Config{version};
+     my $v_e_r_s = substr($Config{version},0,-2);
      $v_e_r_s =~ tr/./_/;
      system("cp ../cygperl$v_e_r_s.dll ./");    # for test 1
    }

--- perl-5.8.6/installperl.orig	2005-01-10 00:26:26.292860800 +0100
+++ perl-5.8.6/installperl	2005-01-10 00:26:09.959374400 +0100
@@ -260,7 +260,7 @@
 
     if ($Is_Cygwin) {
 	$perldll = $libperl;
-	my $v_e_r_s = $ver; $v_e_r_s =~ tr/./_/;
+	my $v_e_r_s = substr($ver,0,-2); $v_e_r_s =~ tr/./_/;
 	$perldll =~ s/(\..*)?$/$v_e_r_s.$dlext/;
 	$perldll =~ s/^lib/cyg/;
 	if ($Config{useshrplib} eq 'true') {
#!/bin/sh

# Policy file for perl-5.9.4-1

# Where things will be.
prefix='/usr'
siteprefix='/usr'
vendorprefix='/usr'

man1dir='/usr/share/man/man1'
man3dir='/usr/share/man/man3'
siteman1dir='/usr/share/man/man1'
siteman3dir='/usr/share/man/man3'
vendorman1dir='/usr/share/man/man1'
vendorman3dir='/usr/share/man/man3'

privlib='/usr/lib/perl5/5.9'
privlibexp='/usr/lib/perl5/5.9'
archlib='/usr/lib/perl5/5.9/cygwin'
archlibexp='/usr/lib/perl5/5.9/cygwin'

sitelib='/usr/lib/perl5/site_perl/5.9'
#sitelib_stem='/usr/lib/perl5/site_perl'
sitelibexp='/usr/lib/perl5/site_perl/5.9'
sitearch='/usr/lib/perl5/site_perl/5.9/cygwin'
sitearchexp='/usr/lib/perl5/site_perl/5.9/cygwin'

vendorlib='/usr/lib/perl5/vendor_perl/5.9'
#vendorlib_stem='/usr/lib/perl5/vendor_perl'
vendorlibexp='/usr/lib/perl5/vendor_perl/5.9'
vendorarch='/usr/lib/perl5/vendor_perl/5.9/cygwin'
vendorarchexp='/usr/lib/perl5/vendor_perl/5.9/cygwin'

inc_version_list="5.9/cygwin 5.9 cygwin"

# The maintainer.
mydomain='.x-ray.at'
myhostname='reini'
perladmin='rurban@x-ray.at'
cf_by='rurban'
cf_email='cygwin@cygwin.com'

# 2007-06-19 20:03:44 rurban
#!/bin/sh

# run the build with ntsec on if possible...
pkg=perl
ver=5.9.4
major=5.9
release=-1
dir=`pwd`
shortver=`echo ${ver}${release} | sed 's/-.*//'`
timestamp=${dir}/pkg.timestamp
files=${dir}/pkg.files

# cleanup
mkdir -p old/
mv -f ${timestamp} ${files} ${files}.manpages ${files}.perl ${pkg}-${ver}${release}-src.tar.bz2 ${pkg}-${ver}${release}.tar.bz2 ${pkg}_manpages-${ver}${release}.tar.bz2 ${pkg}-${ver}${release}/ old/
mv -f /usr/share/doc/Cygwin/${pkg}-${shortver}.README old
# cleanup modules
for i in \
         Compress-Zlib-1.41	\
         Compress-Bzip2-2.09 \
         Proc-ProcessTable-0.40 \
         IO-Zlib-1.04	\
         IO-String-1.07	\
         Text-Diff-0.35 \
         Archive-Tar-1.26	\
         MD5-2.03	\
         Term-ReadLine-Perl-1.0203 \
         Net-Telnet-3.03	\
         TermReadKey-2.30	\
         XML-Parser-2.34;	\
do rm -rf ${i};	\
done


## start
set -e
touch ${timestamp}
touch README

## install READMEs
/bin/install -m 644 README /usr/share/doc/Cygwin/${pkg}-${shortver}.README 
mkdir -p /usr/share/doc/${pkg}-${ver}
rm -rf /usr/share/doc/${pkg}-${ver}

## build perl now
sh -x ${dir}/build.sh

## source package
rm -rf ${pkg}-${ver}${release}
mkdir ${pkg}-${ver}${release}
cp -p README *.patch *.pl *.sh *.tar.gz *.tar.bz2 ${pkg}-${ver}${release}
for i in `ls log.*`; do cp ${i} ${pkg}-${ver}${release}/${i}.rel; done
tar cjf ${pkg}-${ver}${release}-src.tar.bz2 ${pkg}-${ver}${release}

## binary package
## first the files
(cd / ; find usr/share/man -path usr/lib/perl5 -prune -o -type f -newer ${timestamp} -print) >${files}
(cd / ; find usr/bin -path usr/lib/perl5 -prune -o -type f -newer ${timestamp} -print) >>${files}
echo usr/lib/perl5/${major} >>${files}
echo usr/lib/perl5/site_perl/${major} >>${files}
echo usr/lib/perl5/vendor_perl/${major} >>${files}
echo usr/share/doc/${pkg}-${ver} >>${files}
echo usr/share/doc/Cygwin/${pkg}-${ver}.README >>${files}
## separate manpages and remove builddirs from list
${dir}/separate.pl
## then pack it up
(cd /; tar -c -T ${files}.manpages) | bzip2 -9 >${pkg}_manpages-${ver}${release}.tar.bz2
(cd /; tar -c -T ${files}.perl) | bzip2 -9 >${pkg}-${ver}${release}.tar.bz2
--- perl-5.8.5/hints/cygwin.sh.orig	2004-02-22 23:07:58.000000000 +0100
+++ perl-5.8.5/hints/cygwin.sh	2004-08-05 23:03:21.290385600 +0200
@@ -54,6 +54,6 @@
 d_eofnblk='define'
 
 # strip exe's and dll's
-#ldflags="$ldflags -s"
-#ccdlflags="$ccdlflags -s"
-#lddlflags="$lddlflags -s"
+ldflags="$ldflags -s"
+ccdlflags="$ccdlflags -s"
+lddlflags="$lddlflags -s"
t/run/switchd........................................# Failed at run/switchd.t line 41
#      got 'sub<Devel::switchd::import>;import<Devel::switchd>;sub<CODE(0x67d7d0)>;DB<main,swdtest.tmp,9>;sub<Foo::foo>;DB<Foo,swdtest.tmp,5>;DB<Foo,swdtest.tmp,6>;DB<Foo,swdtest.tmp,6>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;'
# expected /(?-xism:^sub<Devel::switchd::import>;import<Devel::switchd>;DB<main,swdtest.tmp,9>;sub<Foo::foo>;DB<Foo,swdtest.tmp,5>;DB<Foo,swdtest.tmp,6>;DB<Foo,swdtest.tmp,6>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;sub<Bar::bar>;DB<Bar,swdtest.tmp,2>;$)/
FAILED at test 1
t/op/pwent...........................................FAILED--no leader found
t/op/taint...........................................FAILED--expected 251 tests, saw 141
t/lib/1_compile......................................FAILED at test 6
ext/DynaLoader/t/DynaLoader..........................#   Failed test 'array should contain one result result or more: libc => ()'
#   in ../ext/DynaLoader/t/DynaLoader.t at line 97.
#     '0'
#         >=
#     '1'
FAILED at test 20
ext/File/Glob/t/basic................................FAILED--no leader found
ext/IPC/SysV/t/ipcsysv...............................# SIGSYS caught.
# It may be that your kernel does not have SysV IPC configured.
# Bail out! SIGSYS caught
# Looks like you planned 17 tests but ran 0.
FAILED--expected 17 tests, saw 0
ext/IPC/SysV/t/msg...................................FAILED--no leader found
ext/IPC/SysV/t/sem...................................FAILED--no leader found
ext/POSIX/t/sysconf..................................#   Failed test '	checking that the returned value is defined: '
#   in ../ext/POSIX/t/sysconf.t at line 66.
FAILED at test 2
ext/Sys/Syslog/t/syslog..............................#   Failed test 'setlogsock() should return true: '''
#   in ../ext/Sys/Syslog/t/syslog.t at line 184.
FAILED at test 156
lib/Archive/Tar/t/02_methods.........................# No long filename support - long filename extraction disabled
#   Failed test 'running /usr/src/perl/perl-5.9.4-1/buildperl/perl.exe "-I../lib" "-I../../lib" ../utils/h2xs -f -n h2xst 2>&1 '
#   in ../lib/h2xs.t at line 168.
#          got: 35584
#     expected: 0
FAILED at test 3
lib/Net/Ping/t/500_ping_icmp.........................# Failed test 2 in ../lib/Net/Ping/t/500_ping_icmp.t at line 28
#  ../lib/Net/Ping/t/500_ping_icmp.t line 28 is:   ok $p->ping("127.0.0.1");
FAILED at test 2
lib/Net/t/config.....................................FAILED--no leader found
lib/Net/t/ftp........................................FAILED--no leader found
lib/Net/t/hostname...................................FAILED--no leader found
lib/Net/t/nntp.......................................FAILED--no leader found
lib/Net/t/require....................................FAILED--no leader found
lib/Net/t/smtp.......................................FAILED--no leader found
lib/Net/t/time.......................................FAILED--no leader found

Failed 20 tests out of 1239, 98.39% okay.
	../ext/DynaLoader/t/DynaLoader.t
	../ext/File/Glob/t/basic.t
	../ext/IPC/SysV/t/ipcsysv.t
	../ext/IPC/SysV/t/msg.t
	../ext/IPC/SysV/t/sem.t
	../ext/POSIX/t/sysconf.t
	../ext/Sys/Syslog/t/syslog.t
	../lib/Net/Ping/t/500_ping_icmp.t
	../lib/Net/t/config.t
	../lib/Net/t/ftp.t
	../lib/Net/t/hostname.t
	../lib/Net/t/nntp.t
	../lib/Net/t/require.t
	../lib/Net/t/smtp.t
	../lib/Net/t/time.t
	../lib/h2xs.t
	lib/1_compile.t
	op/pwent.t
	op/taint.t
	run/switchd.t
ext/Compress/IO/Base/t/99pod.........................skipping test on this platform
ext/Compress/IO/Zlib/t/020isize......................skipping test on this platform
ext/Compress/IO/Zlib/t/109merge-zip..................skipping test on this platform
ext/Compress/IO/Zlib/t/999pod........................skipping test on this platform
ext/Compress/Raw/Zlib/t/99pod........................skipping test on this platform
ext/Compress/Zlib/t/99pod............................skipping test on this platform
ext/Cwd/t/win32......................................skipping test on this platform
ext/Digest/SHA/t/0-pod-coverage......................skipping test on this platform
ext/Digest/SHA/t/0-pod...............................skipping test on this platform
ext/Storable/t/compat01..............................skipping test on this platform
lib/ExtUtils/t/MM_BeOS...............................skipping test on this platform
lib/ExtUtils/t/MM_NW5................................skipping test on this platform
lib/ExtUtils/t/MM_OS2................................skipping test on this platform
lib/ExtUtils/t/MM_Unix...............................skipping test on this platform
lib/ExtUtils/t/MM_VMS................................skipping test on this platform
lib/ExtUtils/t/MM_Win32..............................skipping test on this platform
lib/Module/Build/t/signature.........................skipping test on this platform
lib/Net/netent.......................................skipping test on this platform
lib/Net/Ping/t/200_ping_tcp..........................skipping test on this platform
lib/Net/Ping/t/250_ping_hires........................skipping test on this platform
lib/Net/Ping/t/300_ping_stream.......................skipping test on this platform
lib/Net/Ping/t/400_ping_syn..........................skipping test on this platform
lib/Net/Ping/t/410_syn_host..........................skipping test on this platform
lib/Test/Harness/t/nonumbers.........................skipping test on this platform
lib/Test/Harness/t/pod...............................skipping test on this platform
lib/Test/Harness/t/prove-globbing....................skipping test on this platform
lib/Test/Harness/t/prove-switches....................skipping test on this platform
lib/Test/Simple/t/has_plan2..........................skipping test on this platform
lib/Test/Simple/t/plan_no_plan.......................skipping test on this platform
lib/Test/Simple/t/plan_skip_all......................skipping test on this platform
lib/Test/Simple/t/strays.............................skipping test on this platform
lib/Text/Balanced/t/pod-coverage.....................skipping test on this platform
lib/Text/Balanced/t/pod..............................skipping test on this platform
lib/Tie/File/t/21_win32..............................skipping test on this platform
lib/User/grent.......................................skipping test on this platform
lib/User/pwent.......................................skipping test on this platform

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]