Subject: Re: perl-5.14.2 switch
From: Reini Urban <[email-masked]>
To: "Yaakov (Cygwin/X)" <[email-masked]>
Cc: [email-masked]
Date: Tue, 10 Jul 2012 18:51:49 -0500
List-Id: <cygwin.cygwin.com>

On Tue, Jul 10, 2012 at 6:10 PM, Yaakov (Cygwin/X) wrote:
> On Tue, Jul 10, 2012 at 5:36 PM, Reini Urban wrote:
>> On Tue, Jul 10, 2012 at 3:56 PM, Yaakov (Cygwin/X) wrote:
>>> Your rebase pure_install changes in EU::MM_Cygwin do not take DESTDIR
>>> into account, breaking cygport.  Line 195 of said module needs to be
>>> changed to (as one long line):
>>>[snip]
>>
>> Great find!
>>
>> I've completed my remaining deps also, so only Volker is missing with one.
>
> I doubt perl-ming is used by many, so if Volker is busy, let's not wait for it.
>
>> I'll fix this and do the switch ASAP.
>> Thanks.
>
> Found another problem which breaks gtk2-perl modules (which link
> against each other).  The following change needs to be made in
> ExtUtils::Liblist::Kid::_unix_os2_ext(), line 135:
>
> -                 && -f ($fullname="$thispth/lib$thislib.$Config_dlext")) {
> +                 && -f ($fullname="$thispth/$thislib.$Config_dlext")) {
>
> I have made this change locally and am continuing the rebuild for Ports.

I do not really understand. A few lines below we check for this case
            elsif ( -f ( $fullname = "$thispth/$thislib.dll" ) ) {
            }
and skip then.
Is there a corner-case case where you have a lib<name>.dll and no <name>.dll,
and lib<name>.dll should not be linked against?

I've also found one more, so I will switch tomorrow. It needs more tests.

--- ./usr/lib/perl5/5.14/ExtUtils/MM_Cygwin.pm~	2012-07-10
18:24:11.977053200 -0500
+++ ./usr/lib/perl5/5.14/ExtUtils/MM_Cygwin.pm	2012-07-10
18:29:50.461428200 -0500
@@ -189,8 +189,8 @@
     my ($rebasever) = $rebaseverstr =~ /rebase version ([0-9.]+)/;
     $rebasever =~ s/(\d\.\d+)\./$1/;
     if ($rebasever > 3.01) {  # new rebase 3.0.2 with database
	my $INSTALLDIRS = $self->{INSTALLDIRS};
-      my $INSTALLLIB = $self->{"INSTALL".uc($INSTALLDIRS)."ARCH"};
+      my $INSTALLLIB = $self->{"INSTALL". ($INSTALLDIRS eq 'perl' ?
'ARCHLIB' : uc($INSTALLDIRS)."ARCH")};
       my $dll =
"$INSTALLLIB/auto/$self->{FULLEXT}/$self->{BASEEXT}.$self->{DLEXT}";
       $s =~ s|^(pure_install ::
pure_\$\(INSTALLDIRS\)_install\n\t)\$\(NOECHO\)
\$\(NOOP\)\n|$1\$(CHMOD) \$(PERM_RWX) \$(DESTDIR)$dll\n\t/bin/rebase
-s \$(DESTDIR)$dll\n|m;
     }

-- 
Reini Urban
http://cpanel.net/   http://www.perl-compiler.org/

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