Patch to work with Perl 5.14

This commit is contained in:
Iain Arnell 2011-06-22 05:22:29 +02:00
parent cd4866d884
commit 1c765ef33c
2 changed files with 105 additions and 1 deletions

View File

@ -0,0 +1,96 @@
diff -up cyrus-imapd-2.4.8/perl/imap/IMAP.xs.perl5.14 cyrus-imapd-2.4.8/perl/imap/IMAP.xs
--- cyrus-imapd-2.4.8/perl/imap/IMAP.xs.perl5.14 2011-04-13 16:35:22.000000000 +0200
+++ cyrus-imapd-2.4.8/perl/imap/IMAP.xs 2011-06-21 08:08:16.841989447 +0200
@@ -125,10 +125,10 @@ void imclient_xs_cb(struct imclient *cli
SAVETMPS;
PUSHMARK(SP);
XPUSHs(sv_2mortal(newSVpv("-client", 0)));
- rv = newSVsv(&sv_undef);
+ rv = newSVsv(&PL_sv_undef);
sv_setref_pv(rv, NULL, (void *) rock->client);
XPUSHs(rv);
- if (rock->prock != &sv_undef) {
+ if (rock->prock != &PL_sv_undef) {
XPUSHs(sv_2mortal(newSVpv("-rock", 0)));
XPUSHs(sv_mortalcopy(rock->prock));
}
@@ -393,7 +393,7 @@ CODE:
ST(0) = sv_newmortal();
if(client->authenticated) {
- ST(0) = &sv_no;
+ ST(0) = &PL_sv_no;
return;
}
@@ -415,10 +415,10 @@ CODE:
rc = imclient_authenticate(client->imclient, mechlist, service, user,
minssf, maxssf);
if (rc)
- ST(0) = &sv_no;
+ ST(0) = &PL_sv_no;
else {
client->authenticated = 1;
- ST(0) = &sv_yes;
+ ST(0) = &PL_sv_yes;
}
int
@@ -450,12 +450,12 @@ CODE:
#ifdef HAVE_SSL
rc = imclient_starttls(client->imclient, tls_cert_file, tls_key_file, CAfile, CApath);
if (rc)
- ST(0) = &sv_no;
+ ST(0) = &PL_sv_no;
else {
- ST(0) = &sv_yes;
+ ST(0) = &PL_sv_yes;
}
#else
- ST(0) = &sv_no;
+ ST(0) = &PL_sv_no;
#endif /* HAVE_SSL */
void
@@ -515,7 +515,7 @@ PPCODE:
(val = hv_fetch(cb, "Rock", 4, 0)))
prock = *val;
else
- prock = &sv_undef;
+ prock = &PL_sv_undef;
/*
* build our internal rock, which is used by our internal
* callback handler to invoke the Perl callback
@@ -526,7 +526,7 @@ PPCODE:
rock = (struct xsccb *) safemalloc(sizeof *rock);
/* bump refcounts on these so they don't go away */
rock->pcb = SvREFCNT_inc(pcb);
- if (!prock) prock = &sv_undef;
+ if (!prock) prock = &PL_sv_undef;
rock->prock = SvREFCNT_inc(prock);
rock->client = client;
rock->autofree = 0;
@@ -653,9 +653,9 @@ PPCODE:
EXTEND(SP, 1);
pcb = av_shift(av);
if (strcmp(SvPV(pcb, arg), "OK") == 0)
- PUSHs(&sv_yes);
+ PUSHs(&PL_sv_yes);
else
- PUSHs(&sv_no);
+ PUSHs(&PL_sv_no);
pcb = perl_get_sv("@", TRUE);
sv_setsv(pcb, av_shift(av));
if (av_len(av) != -1) {
@@ -688,9 +688,9 @@ PPCODE:
EXTEND(SP, 2);
PUSHs(sv_2mortal(newSViv(fd)));
if (writep)
- PUSHs(&sv_yes);
+ PUSHs(&PL_sv_yes);
else
- PUSHs(&sv_no);
+ PUSHs(&PL_sv_no);
void
imclient_fromURL(client,url)

View File

@ -1,6 +1,6 @@
Name: cyrus-imapd
Version: 2.4.8
Release: 4%{?dist}
Release: 5%{?dist}
%define ssl_pem_file %{_sysconfdir}/pki/%{name}/%{name}.pem
@ -51,6 +51,10 @@ Patch6: cyrus-imapd-2.3.12p2-current-db.patch
# temporary workaround, rhbz#553011, https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=3206
Patch7: cyrus-imapd-2.3.16-nodenny.patch
# compatibility with perl 5.14
# adapted from http://bugzilla.cyrusimap.org/bugzilla3/show_bug.cgi?id=3478
Patch8: cyrus-imapd-perl5.14.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: autoconf
@ -127,6 +131,7 @@ one running the server.
%patch3 -p1 -b .flock
%patch4 -p1 -b .authid_normalize
%patch6 -p1 -b .db4.7
%patch8 -p1 -b .perl5.14
install -m 644 %{SOURCE4} %{SOURCE5} %{SOURCE11} doc/
@ -486,6 +491,9 @@ fi
%{_mandir}/man1/*
%changelog
* Wed Jun 22 2011 Iain Arnell <iarnell@gmail.com> 2.4.8-5
- Patch to work with Perl 5.14
* Mon Jun 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 2.4.8-4
- Perl mass rebuild