1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-01 01:17:02 +00:00

Add p5-FFI-Platypus 0.47

Platypus is a library for creating interfaces to machine code libraries written
in languages like C, C++, Fortran, Rust, Pascal. Essentially anything that gets
compiled into machine code. This implementation uses libffi to accomplish this
task. libffi is battle tested by a number of other scripting and virtual machine
languages, such as Python and Ruby to serve a similar role.

WWW: http://search.cpan.org/dist/FFI-Platypus/
This commit is contained in:
Sunpoet Po-Chuan Hsieh 2018-02-20 20:24:47 +00:00
parent e36e9d79cc
commit 09792dd5f1
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=462426
6 changed files with 109 additions and 0 deletions

View File

@ -2497,6 +2497,7 @@
SUBDIR += p5-ExtUtils-XSBuilder
SUBDIR += p5-ExtUtils-XSpp
SUBDIR += p5-FFI-CheckLib
SUBDIR += p5-FFI-Platypus
SUBDIR += p5-FSA-Rules
SUBDIR += p5-Fennec-Lite
SUBDIR += p5-File-Append-TempFile

View File

@ -0,0 +1,32 @@
# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
# $FreeBSD$
PORTNAME= FFI-Platypus
PORTVERSION= 0.47
CATEGORIES= devel perl5
MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Write Perl bindings to non-Perl libraries with FFI
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= p5-Config-AutoConf>=0.309:devel/p5-Config-AutoConf \
p5-FFI-CheckLib>=0.05:devel/p5-FFI-CheckLib \
p5-File-ShareDir>=0:devel/p5-File-ShareDir
LIB_DEPENDS= libffi.so:devel/libffi
RUN_DEPENDS= p5-FFI-CheckLib>=0.05:devel/p5-FFI-CheckLib \
p5-File-ShareDir>=0:devel/p5-File-ShareDir
MAKE_ARGS= extra_compiler_flags="-I${LOCALBASE}/include" \
extra_linker_flags="-L${LOCALBASE}/lib -lffi"
USE_PERL5= modbuild
USES= localbase perl5
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}/auto/FFI/Platypus/Platypus.so
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1519142077
SHA256 (FFI-Platypus-0.47.tar.gz) = d41560cdd6604e71bf74dd424131225c66e873ced2cabdce98f7470b1af84a90
SIZE (FFI-Platypus-0.47.tar.gz) = 199520

View File

@ -0,0 +1,35 @@
--- inc/My/ModuleBuild.pm.orig 2017-03-23 22:26:13 UTC
+++ inc/My/ModuleBuild.pm
@@ -3,7 +3,6 @@ package My::ModuleBuild;
use strict;
use warnings;
use 5.008001;
-use Alien::FFI;
use My::LibTest;
use My::AutoConf;
use My::Dev;
@@ -23,8 +22,6 @@ sub new
$args{c_source} = 'xs';
$args{include_dirs} = 'include';
- $args{extra_compiler_flags} = Alien::FFI->cflags;
- $args{extra_linker_flags} = Alien::FFI->libs;
$args{requires}->{'Math::Int64'} = '0.34' if $ENV{FFI_PLATYPUS_DEBUG_FAKE32} || $Config{uvsize} < 8;
if($^O eq 'MSWin32' && $Config{cc} =~ /cl(\.exe)?$/i)
@@ -94,15 +91,6 @@ sub new
$ccflags = "@ccflags";
}
- # on some configurations (eg. Solaris 64 bit, Strawberry Perl)
- # -L flags are included in the lddlflags configuration, but we
- # need to make sure OUR -L comes first
- my @libdirflags = grep /^-L/, shellwords(Alien::FFI->libs);
- if(@libdirflags)
- {
- $lddlflags = join ' ', @libdirflags, $lddlflags;
- }
-
if($^O eq 'MSWin32')
{
# needed by My/Probe.pm on any MSWin32 platform

View File

@ -0,0 +1,7 @@
Platypus is a library for creating interfaces to machine code libraries written
in languages like C, C++, Fortran, Rust, Pascal. Essentially anything that gets
compiled into machine code. This implementation uses libffi to accomplish this
task. libffi is battle tested by a number of other scripting and virtual machine
languages, such as Python and Ruby to serve a similar role.
WWW: http://search.cpan.org/dist/FFI-Platypus/

View File

@ -0,0 +1,31 @@
%%SITE_ARCH%%/FFI/Platypus.pm
%%SITE_ARCH%%/FFI/Platypus/API.pm
%%SITE_ARCH%%/FFI/Platypus/Buffer.pm
%%SITE_ARCH%%/FFI/Platypus/Declare.pm
%%SITE_ARCH%%/FFI/Platypus/Lang/ASM.pm
%%SITE_ARCH%%/FFI/Platypus/Lang/C.pm
%%SITE_ARCH%%/FFI/Platypus/Lang/Win32.pm
%%SITE_ARCH%%/FFI/Platypus/Memory.pm
%%SITE_ARCH%%/FFI/Platypus/Record.pm
%%SITE_ARCH%%/FFI/Platypus/Record/TieArray.pm
%%SITE_ARCH%%/FFI/Platypus/ShareConfig.pm
%%SITE_ARCH%%/FFI/Platypus/Type.pod
%%SITE_ARCH%%/FFI/Platypus/Type/PointerSizeBuffer.pm
%%SITE_ARCH%%/FFI/Platypus/Type/StringPointer.pm
%%SITE_ARCH%%/auto/FFI/Platypus/Platypus.so
%%SITE_ARCH%%/auto/share/dist/FFI-Platypus/README.txt
%%SITE_ARCH%%/auto/share/dist/FFI-Platypus/config.json
%%PERL5_MAN3%%/FFI::Platypus.3.gz
%%PERL5_MAN3%%/FFI::Platypus::API.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Buffer.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Declare.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Lang::ASM.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Lang::C.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Lang::Win32.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Memory.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Record.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Record::TieArray.3.gz
%%PERL5_MAN3%%/FFI::Platypus::ShareConfig.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Type.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Type::PointerSizeBuffer.3.gz
%%PERL5_MAN3%%/FFI::Platypus::Type::StringPointer.3.gz