diff options
-rw-r--r-- | mail/cyrus-imapd/distinfo | 3 | ||||
-rw-r--r-- | mail/cyrus-imapd/patches/patch-perl_imap_IMAP.xs | 83 |
2 files changed, 85 insertions, 1 deletions
diff --git a/mail/cyrus-imapd/distinfo b/mail/cyrus-imapd/distinfo index 0ecaf8cfea2..b68b408123c 100644 --- a/mail/cyrus-imapd/distinfo +++ b/mail/cyrus-imapd/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.31 2010/06/02 12:56:39 adam Exp $ +$NetBSD: distinfo,v 1.32 2011/10/15 07:17:00 obache Exp $ SHA1 (cyrus-imapd-2.2.13p1.tar.gz) = b9bc268c40fbb60aeb5253d61c4bfe5cffd3fb15 RMD160 (cyrus-imapd-2.2.13p1.tar.gz) = 1604f07491d41f05563181bce46ff1b7a6e5f739 @@ -20,3 +20,4 @@ SHA1 (patch-bc) = 3266d52067aef8f4835670cba1be6c190ff94f15 SHA1 (patch-ca) = cc3e9cb9c56e8d51062bf9d691454ea90ce25b09 SHA1 (patch-cb) = a8281c11f93f8f91d6c80d43ca9e20bc658d8813 SHA1 (patch-cc) = 3ee1d64fe5f228aab4fceca3cbd45839d3659dd0 +SHA1 (patch-perl_imap_IMAP.xs) = f7d89d242719eac75327f4497c43f39753fe1eb0 diff --git a/mail/cyrus-imapd/patches/patch-perl_imap_IMAP.xs b/mail/cyrus-imapd/patches/patch-perl_imap_IMAP.xs new file mode 100644 index 00000000000..2da0376c06f --- /dev/null +++ b/mail/cyrus-imapd/patches/patch-perl_imap_IMAP.xs @@ -0,0 +1,83 @@ +$NetBSD: patch-perl_imap_IMAP.xs,v 1.1 2011/10/15 07:17:00 obache Exp $ + +* fix compilation on perl 5.14, from cyrus-imapd-2.4 branch. + +--- perl/imap/IMAP.xs.orig 2003-11-25 21:28:23.000000000 +0000 ++++ perl/imap/IMAP.xs +@@ -122,10 +122,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)); + } +@@ -389,7 +389,7 @@ CODE: + ST(0) = sv_newmortal(); + + if(client->authenticated) { +- ST(0) = &sv_no; ++ ST(0) = &PL_sv_no; + return; + } + +@@ -411,10 +411,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; + } + + void +@@ -474,7 +474,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 +@@ -485,7 +485,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; +@@ -612,9 +612,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) { +@@ -647,9 +647,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) |