aboutsummaryrefslogtreecommitdiff
path: root/devel/p5-P4-Client
diff options
context:
space:
mode:
authorAnton Berezin <tobez@FreeBSD.org>2003-09-02 08:55:46 +0000
committerAnton Berezin <tobez@FreeBSD.org>2003-09-02 08:55:46 +0000
commit1b7ccf694e60f04657c907fbebace4a5d1a53b1c (patch)
tree798ce9e7a65f8642ed734658357be0def72cccb5 /devel/p5-P4-Client
parent861d1d47ce4eb0084376079a8fa6d3dc497922a3 (diff)
downloadports-1b7ccf694e60f04657c907fbebace4a5d1a53b1c.tar.gz
ports-1b7ccf694e60f04657c907fbebace4a5d1a53b1c.zip
Add P4::Client, a Perl extension for the Perforce API.
Notes
Notes: svn path=/head/; revision=88329
Diffstat (limited to 'devel/p5-P4-Client')
-rw-r--r--devel/p5-P4-Client/Makefile28
-rw-r--r--devel/p5-P4-Client/distinfo1
-rw-r--r--devel/p5-P4-Client/files/patch-Client.xs11
-rw-r--r--devel/p5-P4-Client/files/patch-Makefile.PL55
-rw-r--r--devel/p5-P4-Client/pkg-descr14
-rw-r--r--devel/p5-P4-Client/pkg-plist10
6 files changed, 119 insertions, 0 deletions
diff --git a/devel/p5-P4-Client/Makefile b/devel/p5-P4-Client/Makefile
new file mode 100644
index 000000000000..3ce3d8c467c8
--- /dev/null
+++ b/devel/p5-P4-Client/Makefile
@@ -0,0 +1,28 @@
+# New ports collection makefile for: devel/p5-P4-Client
+# Date created: 02 Sep 2003
+# Whom: Anton Berezin <tobez@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= P4-Client
+PORTVERSION= 2.2596
+CATEGORIES= devel perl5
+MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
+MASTER_SITE_SUBDIR= P4
+PKGNAMEPREFIX= p5-
+
+MAINTAINER= tobez@FreeBSD.org
+COMMENT= P4::Client - Perl extension for the Perforce API
+
+BUILD_DEPENDS= ${LOCALBASE}/lib/perforce/libclient.a:${PORTSDIR}/devel/p4api
+
+PERL_CONFIGURE= yes
+CC= ${CXX}
+
+MAN3= P4::Client.3 P4::UI.3
+
+post-patch:
+ ${PERL} -pi -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/Makefile.PL
+
+.include <bsd.port.mk>
diff --git a/devel/p5-P4-Client/distinfo b/devel/p5-P4-Client/distinfo
new file mode 100644
index 000000000000..ba2257405e10
--- /dev/null
+++ b/devel/p5-P4-Client/distinfo
@@ -0,0 +1 @@
+MD5 (P4-Client-2.2596.tar.gz) = b13d457f140363fa31b05cde8c22ddbe
diff --git a/devel/p5-P4-Client/files/patch-Client.xs b/devel/p5-P4-Client/files/patch-Client.xs
new file mode 100644
index 000000000000..6326f96b0dcb
--- /dev/null
+++ b/devel/p5-P4-Client/files/patch-Client.xs
@@ -0,0 +1,11 @@
+--- ../P4-Client-2.2596/Client.xs Tue Oct 15 16:22:15 2002
++++ Client.xs Tue Sep 2 09:45:09 2003
+@@ -131,7 +131,7 @@ static int GetFlag( const char *flag, SV
+ warn( "Can't dereference object!!!" );
+ return 0;
+ }
+- tmp = hv_fetch( (HV *)SvRV(obj), flag, strlen( flag ), 0 );
++ tmp = hv_fetch( (HV *)SvRV(obj), (char *)flag, strlen( flag ), 0 );
+ if ( ! tmp ) return 0;
+ return SvIV( *tmp );
+ }
diff --git a/devel/p5-P4-Client/files/patch-Makefile.PL b/devel/p5-P4-Client/files/patch-Makefile.PL
new file mode 100644
index 000000000000..d2b57a9c06ef
--- /dev/null
+++ b/devel/p5-P4-Client/files/patch-Makefile.PL
@@ -0,0 +1,55 @@
+--- ../P4-Client-2.2596/Makefile.PL Wed Apr 24 17:56:37 2002
++++ Makefile.PL Tue Sep 2 10:17:51 2003
+@@ -68,14 +68,16 @@ before continuing.
+ EOF
+
+ # Get the path to the Perforce API
+- my $apipath = "";
+- print( "Where is the Perforce API to be found: " );
+- $apipath = <STDIN>;
+- $apipath =~ s/\n//;
+-
+- # Filthy support for ~/ type paths ( NOT ~user/ though! )
+- $apipath =~ s#\~/#$ENV{HOME}/#;
+- $apipath = abs_path( $apipath );
++ my $apiinc = "%%LOCALBASE%%/include/perforce";
++ my $apilib = "%%LOCALBASE%%/lib/perforce";
++ # my $apipath = "";
++ # print( "Where is the Perforce API to be found: " );
++ # $apipath = <STDIN>;
++ # $apipath =~ s/\n//;
++
++ # # Filthy support for ~/ type paths ( NOT ~user/ though! )
++ # $apipath =~ s#\~/#$ENV{HOME}/#;
++ # $apipath = abs_path( $apipath );
+
+ # These two aren't in the hints file because some variant of them is
+ # needed on every OS so it's better to have it visible.
+@@ -86,15 +88,15 @@ EOF
+ foreach my $libset (@$libs )
+ {
+ push( @{$flags->{LIBS}},
+- "-L$apipath -lclient -lrpc -lsupp $libset" );
++ "-L$apilib -lclient -lrpc -lsupp $libset" );
+ print("Added P4 libs to $libset\n" );
+ }
+ }
+ else
+ {
+- push( @{$flags->{LIBS}}, "-L$apipath -lclient -lrpc -lsupp" );
++ push( @{$flags->{LIBS}}, "-L$apilib -lclient -lrpc -lsupp" );
+ }
+- $flags->{ 'INC' } = "-I$apipath -Ilib";
++ $flags->{ 'INC' } = "-I$apiinc -Ilib";
+
+
+ # Last thing to do is to get the address of their perforce
+@@ -107,7 +109,7 @@ the tests
+
+ EOF
+ print( "Enter the address of your Perforce server: [localhost:1666]: ");
+- my $p4port = <STDIN>;
++ my $p4port = ""; #<STDIN>;
+ $p4port =~ s/\n//;
+ $p4port = "localhost:1666" if ( $p4port =~ /^$/ );
+
diff --git a/devel/p5-P4-Client/pkg-descr b/devel/p5-P4-Client/pkg-descr
new file mode 100644
index 000000000000..5b2f726260b1
--- /dev/null
+++ b/devel/p5-P4-Client/pkg-descr
@@ -0,0 +1,14 @@
+This module provides a Perl interface to the Perforce API allowing you
+to write Perl scripts which communicate directly with a Perforce server.
+
+P4::Client is the main interface through which all commands are issued.
+The Perforce API is callback based though, and all interaction with the
+user interface takes place through callbacks to methods of the P4::UI
+object passed to the Run() method.
+
+To customise the behaviour of the Perforce client, you should derive
+your own class from P4::UI and override the relevant methods therein.
+
+WWW: http://public.perforce.com//guest/tony_smith/perforce/API/Perl/index.html
+
+\Anton
diff --git a/devel/p5-P4-Client/pkg-plist b/devel/p5-P4-Client/pkg-plist
new file mode 100644
index 000000000000..ce94d273339c
--- /dev/null
+++ b/devel/p5-P4-Client/pkg-plist
@@ -0,0 +1,10 @@
+%%SITE_PERL%%/%%PERL_ARCH%%/P4/Client.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/P4/UI.pm
+%%SITE_PERL%%/%%PERL_ARCH%%/P4/example.pl
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/P4/Client/.packlist
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/P4/Client/Client.bs
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/P4/Client/Client.so
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/P4/Client/autosplit.ix
+@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/P4/Client
+@unexec rmdir %%SITE_PERL%%/%%PERL_ARCH%%/auto/P4 2>/dev/null || true
+@unexec rmdir %%SITE_PERL%%/%%PERL_ARCH%%/P4 2>/dev/null || true