From 37a1049733d51dbe4344cffdd9daabbefff05803 Mon Sep 17 00:00:00 2001 From: Cheng-Lung Sung Date: Tue, 3 Oct 2006 14:43:06 +0000 Subject: [PATCH] Add p5-Inline-C2XS 0.04, perl module to create an XS file from an Inline C file. --- devel/Makefile | 1 + devel/p5-Inline-C2XS/Makefile | 35 +++++++++++++++++++++++++++++++++ devel/p5-Inline-C2XS/distinfo | 3 +++ devel/p5-Inline-C2XS/pkg-descr | 20 +++++++++++++++++++ devel/p5-Inline-C2XS/pkg-plist | 5 +++++ devel/p5-InlineX-C2XS/Makefile | 35 +++++++++++++++++++++++++++++++++ devel/p5-InlineX-C2XS/distinfo | 3 +++ devel/p5-InlineX-C2XS/pkg-descr | 20 +++++++++++++++++++ devel/p5-InlineX-C2XS/pkg-plist | 5 +++++ 9 files changed, 127 insertions(+) create mode 100644 devel/p5-Inline-C2XS/Makefile create mode 100644 devel/p5-Inline-C2XS/distinfo create mode 100644 devel/p5-Inline-C2XS/pkg-descr create mode 100644 devel/p5-Inline-C2XS/pkg-plist create mode 100644 devel/p5-InlineX-C2XS/Makefile create mode 100644 devel/p5-InlineX-C2XS/distinfo create mode 100644 devel/p5-InlineX-C2XS/pkg-descr create mode 100644 devel/p5-InlineX-C2XS/pkg-plist diff --git a/devel/Makefile b/devel/Makefile index b03e2a46d0bf..58cff83801d9 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -1150,6 +1150,7 @@ SUBDIR += p5-Include SUBDIR += p5-Inline SUBDIR += p5-Inline-ASM + SUBDIR += p5-Inline-C2XS SUBDIR += p5-Inline-CPP SUBDIR += p5-Inline-Files SUBDIR += p5-Inline-Filters diff --git a/devel/p5-Inline-C2XS/Makefile b/devel/p5-Inline-C2XS/Makefile new file mode 100644 index 000000000000..b0c53b11678b --- /dev/null +++ b/devel/p5-Inline-C2XS/Makefile @@ -0,0 +1,35 @@ +# New ports collection makefile for: Inline::C2XS +# Date created: 3 Oct 2006 +# Whom: Cheng-Lung Sung +# +# $FreeBSD$ +# + +PORTNAME= Inline-C2XS +PORTVERSION= 0.04 +CATEGORIES= devel perl5 +MASTER_SITES= ${MASTER_SITE_PERL_CPAN} +MASTER_SITE_SUBDIR= Inline +PKGNAMEPREFIX= p5- + +MAINTAINER= clsung@FreeBSD.org +COMMENT= Perl module to create an XS file from an Inline C file + +BUILD_DEPENDS= ${SITE_PERL}/Inline/C.pm:${PORTSDIR}/devel/p5-Inline +RUN_DEPENDS= ${BUILD_DEPENDS} + +PERL_CONFIGURE= yes + +MAN3= Inline::C2XS.3 + +.include + +.if ${PERL_LEVEL} < 500601 +do-patch: + ${PERL} -pi -e 's/^our (\W\w+);/use vars q($$1);/o;' \ + -e 's/^our\s+(\W\w+)(?!;)/use vars q($$1); $$1/o;' \ + -e 'undef $$_ if /^\s*(no|use) warnings/o;' \ + ${WRKSRC}/C2XS.pm +.endif + +.include diff --git a/devel/p5-Inline-C2XS/distinfo b/devel/p5-Inline-C2XS/distinfo new file mode 100644 index 000000000000..40fc5f84aef2 --- /dev/null +++ b/devel/p5-Inline-C2XS/distinfo @@ -0,0 +1,3 @@ +MD5 (Inline-C2XS-0.04.tar.gz) = 1a4609b22e59d095d422b5fc9dc35b26 +SHA256 (Inline-C2XS-0.04.tar.gz) = 285504c6e1d8333489ce8203554f707c5e642d2faf9000ca8f3edddf8d33fdbf +SIZE (Inline-C2XS-0.04.tar.gz) = 6465 diff --git a/devel/p5-Inline-C2XS/pkg-descr b/devel/p5-Inline-C2XS/pkg-descr new file mode 100644 index 000000000000..cfe7bf766b7f --- /dev/null +++ b/devel/p5-Inline-C2XS/pkg-descr @@ -0,0 +1,20 @@ +Inline::C2XS - create an XS file from an Inline C file. + +The C file that Inline::C2XS needs to find would contain +only the C code. + +Inline::C2XS looks for the file in ./src directory - expecting that the +filename will be the same as what appears after the final '::' in the +module name (with a '.c' extension). ie if the module is called +My::Next::Mod it looks for a file ./src/Mod.c, and creates a file +named Mod.xs. Also created, is the file 'INLINE.h' - but only if that +file is needed. The generated xs file (and INLINE.h) will be written +to the cwd unless a third argument (specifying a valid directory) is +provided to the c2xs() function. + +The created XS file, when packaged with the '.pm' file, an +appropriate 'Makefile.PL', and 'INLINE.h' (if it's needed), +can be used to build the module in the usual way - without +any dependence upon the Inline::C module. + +WWW: http://search.cpan.org/dist/Inline-C2XS/ diff --git a/devel/p5-Inline-C2XS/pkg-plist b/devel/p5-Inline-C2XS/pkg-plist new file mode 100644 index 000000000000..0292607c327f --- /dev/null +++ b/devel/p5-Inline-C2XS/pkg-plist @@ -0,0 +1,5 @@ +%%SITE_PERL%%/Inline/C2XS.pm +%%SITE_PERL%%/%%PERL_ARCH%%/auto/Inline/C2XS/.packlist +@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Inline/C2XS +@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Inline +@dirrmtry %%SITE_PERL%%/Inline diff --git a/devel/p5-InlineX-C2XS/Makefile b/devel/p5-InlineX-C2XS/Makefile new file mode 100644 index 000000000000..b0c53b11678b --- /dev/null +++ b/devel/p5-InlineX-C2XS/Makefile @@ -0,0 +1,35 @@ +# New ports collection makefile for: Inline::C2XS +# Date created: 3 Oct 2006 +# Whom: Cheng-Lung Sung +# +# $FreeBSD$ +# + +PORTNAME= Inline-C2XS +PORTVERSION= 0.04 +CATEGORIES= devel perl5 +MASTER_SITES= ${MASTER_SITE_PERL_CPAN} +MASTER_SITE_SUBDIR= Inline +PKGNAMEPREFIX= p5- + +MAINTAINER= clsung@FreeBSD.org +COMMENT= Perl module to create an XS file from an Inline C file + +BUILD_DEPENDS= ${SITE_PERL}/Inline/C.pm:${PORTSDIR}/devel/p5-Inline +RUN_DEPENDS= ${BUILD_DEPENDS} + +PERL_CONFIGURE= yes + +MAN3= Inline::C2XS.3 + +.include + +.if ${PERL_LEVEL} < 500601 +do-patch: + ${PERL} -pi -e 's/^our (\W\w+);/use vars q($$1);/o;' \ + -e 's/^our\s+(\W\w+)(?!;)/use vars q($$1); $$1/o;' \ + -e 'undef $$_ if /^\s*(no|use) warnings/o;' \ + ${WRKSRC}/C2XS.pm +.endif + +.include diff --git a/devel/p5-InlineX-C2XS/distinfo b/devel/p5-InlineX-C2XS/distinfo new file mode 100644 index 000000000000..40fc5f84aef2 --- /dev/null +++ b/devel/p5-InlineX-C2XS/distinfo @@ -0,0 +1,3 @@ +MD5 (Inline-C2XS-0.04.tar.gz) = 1a4609b22e59d095d422b5fc9dc35b26 +SHA256 (Inline-C2XS-0.04.tar.gz) = 285504c6e1d8333489ce8203554f707c5e642d2faf9000ca8f3edddf8d33fdbf +SIZE (Inline-C2XS-0.04.tar.gz) = 6465 diff --git a/devel/p5-InlineX-C2XS/pkg-descr b/devel/p5-InlineX-C2XS/pkg-descr new file mode 100644 index 000000000000..cfe7bf766b7f --- /dev/null +++ b/devel/p5-InlineX-C2XS/pkg-descr @@ -0,0 +1,20 @@ +Inline::C2XS - create an XS file from an Inline C file. + +The C file that Inline::C2XS needs to find would contain +only the C code. + +Inline::C2XS looks for the file in ./src directory - expecting that the +filename will be the same as what appears after the final '::' in the +module name (with a '.c' extension). ie if the module is called +My::Next::Mod it looks for a file ./src/Mod.c, and creates a file +named Mod.xs. Also created, is the file 'INLINE.h' - but only if that +file is needed. The generated xs file (and INLINE.h) will be written +to the cwd unless a third argument (specifying a valid directory) is +provided to the c2xs() function. + +The created XS file, when packaged with the '.pm' file, an +appropriate 'Makefile.PL', and 'INLINE.h' (if it's needed), +can be used to build the module in the usual way - without +any dependence upon the Inline::C module. + +WWW: http://search.cpan.org/dist/Inline-C2XS/ diff --git a/devel/p5-InlineX-C2XS/pkg-plist b/devel/p5-InlineX-C2XS/pkg-plist new file mode 100644 index 000000000000..0292607c327f --- /dev/null +++ b/devel/p5-InlineX-C2XS/pkg-plist @@ -0,0 +1,5 @@ +%%SITE_PERL%%/Inline/C2XS.pm +%%SITE_PERL%%/%%PERL_ARCH%%/auto/Inline/C2XS/.packlist +@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Inline/C2XS +@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Inline +@dirrmtry %%SITE_PERL%%/Inline