git: 9c24898eed00 - main - devel/p5-FFI-C: Add p5-FFI-C 0.15

From: Po-Chuan Hsieh <sunpoet_at_FreeBSD.org>
Date: Tue, 28 Jan 2025 17:05:58 UTC
The branch main has been updated by sunpoet:

URL: https://cgit.FreeBSD.org/ports/commit/?id=9c24898eed0059e05e56d72a17c412bb777f7c08

commit 9c24898eed0059e05e56d72a17c412bb777f7c08
Author:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
AuthorDate: 2025-01-28 16:48:41 +0000
Commit:     Po-Chuan Hsieh <sunpoet@FreeBSD.org>
CommitDate: 2025-01-28 16:48:41 +0000

    devel/p5-FFI-C: Add p5-FFI-C 0.15
    
    FFI::C provides tools for building classes to interface for common C data types.
    Arrays, struct, union and nested types based on those are supported.
    
    Core FFI::Platypus also provides FFI::Platypus::Record for manipulating and
    passing structured data. Typically you want to use FFI::C instead, the main
    exception is when you need to pass structured data by value instead of by
    reference.
    
    To work with C APIs that work with C file pointers you can use FFI::C::File and
    FFI::C::PosixFile. For C APIs that expose the POSIX stat structure use
    FFI::C::Stat.
---
 devel/Makefile           |  1 +
 devel/p5-FFI-C/Makefile  | 31 +++++++++++++++++++++++++++++++
 devel/p5-FFI-C/distinfo  |  3 +++
 devel/p5-FFI-C/pkg-descr | 11 +++++++++++
 devel/p5-FFI-C/pkg-plist | 24 ++++++++++++++++++++++++
 5 files changed, 70 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index 10a98bcea302..aba94f8ba0d6 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -2587,6 +2587,7 @@
     SUBDIR += p5-ExtUtils-PkgConfig
     SUBDIR += p5-ExtUtils-XSBuilder
     SUBDIR += p5-ExtUtils-XSpp
+    SUBDIR += p5-FFI-C
     SUBDIR += p5-FFI-C-Stat
     SUBDIR += p5-FFI-CheckLib
     SUBDIR += p5-FFI-Platypus
diff --git a/devel/p5-FFI-C/Makefile b/devel/p5-FFI-C/Makefile
new file mode 100644
index 000000000000..f98f54b58ed8
--- /dev/null
+++ b/devel/p5-FFI-C/Makefile
@@ -0,0 +1,31 @@
+PORTNAME=	FFI-C
+PORTVERSION=	0.15
+CATEGORIES=	devel perl5
+MASTER_SITES=	CPAN
+PKGNAMEPREFIX=	p5-
+
+MAINTAINER=	sunpoet@FreeBSD.org
+COMMENT=	C data types for FFI
+WWW=		https://metacpan.org/dist/FFI-C
+
+LICENSE=	ART10 GPLv1+
+LICENSE_COMB=	dual
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${RUN_DEPENDS}
+RUN_DEPENDS=	p5-Class-Inspector>=0:devel/p5-Class-Inspector \
+		p5-FFI-Platypus>=1.24:devel/p5-FFI-Platypus \
+		p5-FFI-Platypus-Type-Enum>=0.03:devel/p5-FFI-Platypus-Type-Enum \
+		p5-Ref-Util>=0:devel/p5-Ref-Util \
+		p5-Sub-Identify>=0.05:devel/p5-Sub-Identify \
+		p5-Sub-Install>=0:devel/p5-Sub-Install
+TEST_DEPENDS=	p5-Capture-Tiny>=0:devel/p5-Capture-Tiny \
+		p5-Path-Tiny>=0:devel/p5-Path-Tiny \
+		p5-Test-Simple>=1.302200:devel/p5-Test-Simple
+
+USES=		perl5
+USE_PERL5=	configure
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/devel/p5-FFI-C/distinfo b/devel/p5-FFI-C/distinfo
new file mode 100644
index 000000000000..bcc327809db0
--- /dev/null
+++ b/devel/p5-FFI-C/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1736671117
+SHA256 (FFI-C-0.15.tar.gz) = eb70607e6673bccb18df27f4cee459fb6dc418e0da93e692cdc3555fe40d2f4e
+SIZE (FFI-C-0.15.tar.gz) = 44302
diff --git a/devel/p5-FFI-C/pkg-descr b/devel/p5-FFI-C/pkg-descr
new file mode 100644
index 000000000000..9121c3a7f117
--- /dev/null
+++ b/devel/p5-FFI-C/pkg-descr
@@ -0,0 +1,11 @@
+FFI::C provides tools for building classes to interface for common C data types.
+Arrays, struct, union and nested types based on those are supported.
+
+Core FFI::Platypus also provides FFI::Platypus::Record for manipulating and
+passing structured data. Typically you want to use FFI::C instead, the main
+exception is when you need to pass structured data by value instead of by
+reference.
+
+To work with C APIs that work with C file pointers you can use FFI::C::File and
+FFI::C::PosixFile. For C APIs that expose the POSIX stat structure use
+FFI::C::Stat.
diff --git a/devel/p5-FFI-C/pkg-plist b/devel/p5-FFI-C/pkg-plist
new file mode 100644
index 000000000000..6e9be6416753
--- /dev/null
+++ b/devel/p5-FFI-C/pkg-plist
@@ -0,0 +1,24 @@
+%%SITE_PERL%%/FFI/C.pm
+%%SITE_PERL%%/FFI/C/Array.pm
+%%SITE_PERL%%/FFI/C/ArrayDef.pm
+%%SITE_PERL%%/FFI/C/Def.pm
+%%SITE_PERL%%/FFI/C/FFI.pm
+%%SITE_PERL%%/FFI/C/File.pm
+%%SITE_PERL%%/FFI/C/PosixFile.pm
+%%SITE_PERL%%/FFI/C/Struct.pm
+%%SITE_PERL%%/FFI/C/StructDef.pm
+%%SITE_PERL%%/FFI/C/Union.pm
+%%SITE_PERL%%/FFI/C/UnionDef.pm
+%%SITE_PERL%%/FFI/C/Util.pm
+%%PERL5_MAN3%%/FFI::C.3.gz
+%%PERL5_MAN3%%/FFI::C::Array.3.gz
+%%PERL5_MAN3%%/FFI::C::ArrayDef.3.gz
+%%PERL5_MAN3%%/FFI::C::Def.3.gz
+%%PERL5_MAN3%%/FFI::C::FFI.3.gz
+%%PERL5_MAN3%%/FFI::C::File.3.gz
+%%PERL5_MAN3%%/FFI::C::PosixFile.3.gz
+%%PERL5_MAN3%%/FFI::C::Struct.3.gz
+%%PERL5_MAN3%%/FFI::C::StructDef.3.gz
+%%PERL5_MAN3%%/FFI::C::Union.3.gz
+%%PERL5_MAN3%%/FFI::C::UnionDef.3.gz
+%%PERL5_MAN3%%/FFI::C::Util.3.gz