aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
authorleeym <leeym@FreeBSD.org>2005-12-24 23:45:48 +0800
committerleeym <leeym@FreeBSD.org>2005-12-24 23:45:48 +0800
commitbe3d459480897e31e78b5eb45daeb08ef1327d2e (patch)
treefc65c5b05c3be4b927ce1f7e77f580d3484c5141 /security
parent7c4c174934f6b6c23363d5b0e49e43b2eb624d0a (diff)
downloadfreebsd-ports-gnome-be3d459480897e31e78b5eb45daeb08ef1327d2e.tar.gz
freebsd-ports-gnome-be3d459480897e31e78b5eb45daeb08ef1327d2e.tar.zst
freebsd-ports-gnome-be3d459480897e31e78b5eb45daeb08ef1327d2e.zip
- unbreak on old perl
Submitted by: leeym Approved by: maintainer via email
Diffstat (limited to 'security')
-rw-r--r--security/p5-Digest-Whirlpool/Makefile14
-rw-r--r--security/p5-Digest-Whirlpool/files/extrapatch-Whirlpool.xs18
2 files changed, 30 insertions, 2 deletions
diff --git a/security/p5-Digest-Whirlpool/Makefile b/security/p5-Digest-Whirlpool/Makefile
index 91bd99e637f2..1b7e4d3c79fd 100644
--- a/security/p5-Digest-Whirlpool/Makefile
+++ b/security/p5-Digest-Whirlpool/Makefile
@@ -13,12 +13,22 @@ PKGNAMEPREFIX= p5-
MAINTAINER= gkovesdan@t-hosting.hu
COMMENT= Perl extension for Whirlpool hash algorithm
+BUILD_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/MIME/Base64.pm:${PORTSDIR}/converters/p5-MIME-Base64
+RUN_DEPENDS= ${SITE_PERL}/${PERL_ARCH}/MIME/Base64.pm:${PORTSDIR}/converters/p5-MIME-Base64
+
PERL_CONFIGURE= yes
MAN3= Digest::Whirlpool.3
.include <bsd.port.pre.mk>
-.if ${PERL_LEVEL} <= 500503
-IGNORE= requires Perl 5.6. Intall lang/perl5 or lang/perl5.8, and try again
+
+.if ${PERL_LEVEL} < 500600
+EXTRA_PATCHES= ${PATCHDIR}/extrapatch-Whirlpool.xs
+
+post-patch:
+ ${PERL} -pi -e 's/^our\s+([\$$\@\%]\w+)/use vars qw($$1); $$1/;' ${WRKSRC}/Whirlpool.pm
+ ${PERL} -pi -e '$$_="" if m{warnings}' ${WRKSRC}/Whirlpool.pm ${WRKSRC}/t/*.t
+ ${PERL} -pi -e 's/\)/, char **env\)/ if m{int main}' ${WRKSRC}/_whirlpool.c
.endif
+
.include <bsd.port.post.mk>
diff --git a/security/p5-Digest-Whirlpool/files/extrapatch-Whirlpool.xs b/security/p5-Digest-Whirlpool/files/extrapatch-Whirlpool.xs
new file mode 100644
index 000000000000..ae8d00026cd8
--- /dev/null
+++ b/security/p5-Digest-Whirlpool/files/extrapatch-Whirlpool.xs
@@ -0,0 +1,18 @@
+--- Whirlpool.xs.orig Sat Dec 24 23:41:30 2005
++++ Whirlpool.xs Sat Dec 24 23:42:16 2005
+@@ -4,6 +4,15 @@
+ #include "ppport.h"
+ #include "_whirlpool.c"
+
++/* try to be compatible with older perls */
++/* SvPV_nolen() macro first defined in 5.005_55 */
++/* this is slow, not threadsafe, but works */
++#include "patchlevel.h"
++#if (PATCHLEVEL == 4) || ((PATCHLEVEL == 5) && (SUBVERSION < 55))
++static STRLEN nolen_na;
++# define SvPV_nolen(sv) SvPV ((sv), nolen_na)
++#endif
++
+ typedef struct whirlpool {
+ NESSIEstruct state;
+ }* Digest__Whirlpool;