summaryrefslogtreecommitdiff
path: root/mail/cyrus-imapd
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2011-10-15 07:17:00 +0000
committerobache <obache@pkgsrc.org>2011-10-15 07:17:00 +0000
commit41437623ae086b96381b3e08fbc9f90352ab9d49 (patch)
tree9911d0fdcee71e3dfadab9c34ae59eed086c791d /mail/cyrus-imapd
parentf2ec1ea96c6c6fe2150ccf318c3359728aedf045 (diff)
downloadpkgsrc-41437623ae086b96381b3e08fbc9f90352ab9d49.tar.gz
Fix compilation on perl 5.14, from cyrus-imapd-2.4 branch.
Diffstat (limited to 'mail/cyrus-imapd')
-rw-r--r--mail/cyrus-imapd/distinfo3
-rw-r--r--mail/cyrus-imapd/patches/patch-perl_imap_IMAP.xs83
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)