aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraaron <aaron@FreeBSD.org>2006-06-01 15:11:51 +0800
committeraaron <aaron@FreeBSD.org>2006-06-01 15:11:51 +0800
commitf88829f668e2cd573208c9b0d4fab9ec61531c25 (patch)
treef566bf56b842b81402e7f53cfd0f380a404b9d7a
parentee3247b15cfd3502a580436a32ed84f908bff4c5 (diff)
downloadfreebsd-ports-gnome-f88829f668e2cd573208c9b0d4fab9ec61531c25.tar.gz
freebsd-ports-gnome-f88829f668e2cd573208c9b0d4fab9ec61531c25.tar.zst
freebsd-ports-gnome-f88829f668e2cd573208c9b0d4fab9ec61531c25.zip
Adding port devel/p5-Class-Multimethods, Support multimethods and function overloading in Perl.
Approved by: tobez (implicit)
-rw-r--r--devel/Makefile1
-rw-r--r--devel/p5-Class-Multimethods/Makefile22
-rw-r--r--devel/p5-Class-Multimethods/distinfo3
-rw-r--r--devel/p5-Class-Multimethods/pkg-descr26
-rw-r--r--devel/p5-Class-Multimethods/pkg-plist6
5 files changed, 58 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 660f0a347267..ce2dbaff7f27 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -798,6 +798,7 @@
SUBDIR += p5-Class-MethodMaker
SUBDIR += p5-Class-MethodMapper
SUBDIR += p5-Class-MixinFactory
+ SUBDIR += p5-Class-Multimethods
SUBDIR += p5-Class-NamedParms
SUBDIR += p5-Class-ObjectTemplate
SUBDIR += p5-Class-ObjectTemplate-DB
diff --git a/devel/p5-Class-Multimethods/Makefile b/devel/p5-Class-Multimethods/Makefile
new file mode 100644
index 000000000000..0b73bd575100
--- /dev/null
+++ b/devel/p5-Class-Multimethods/Makefile
@@ -0,0 +1,22 @@
+# New ports collection makefile for: p5-Class-Multimethods
+# Date created: 01 Jun 2006
+# Whom: Aaron Dalton <aaron@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= Class-Multimethods
+PORTVERSION= 1.70
+CATEGORIES= devel perl5
+MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
+MASTER_SITE_SUBDIR= Class
+PKGNAMEPREFIX= p5-
+
+MAINTAINER= aaron@FreeBSD.org
+COMMENT= Support multimethods and function overloading in Perl
+
+MAN3= Class::Multimethods.3
+
+PERL_CONFIGURE= yes
+
+.include <bsd.port.mk>
diff --git a/devel/p5-Class-Multimethods/distinfo b/devel/p5-Class-Multimethods/distinfo
new file mode 100644
index 000000000000..b9d14d716a6d
--- /dev/null
+++ b/devel/p5-Class-Multimethods/distinfo
@@ -0,0 +1,3 @@
+MD5 (Class-Multimethods-1.70.tar.gz) = 5fdc79daa81b102b956b1a61531fd6a7
+SHA256 (Class-Multimethods-1.70.tar.gz) = e6f2fe15530d9e03629c6f42d538bbf81419965dc47094fd0e36ce8302069c23
+SIZE (Class-Multimethods-1.70.tar.gz) = 28316
diff --git a/devel/p5-Class-Multimethods/pkg-descr b/devel/p5-Class-Multimethods/pkg-descr
new file mode 100644
index 000000000000..6a40c87cf79b
--- /dev/null
+++ b/devel/p5-Class-Multimethods/pkg-descr
@@ -0,0 +1,26 @@
+The Class:Multimethod module exports a subroutine (&multimethod) that can
+be used to declare other subroutines that are dispatched using a algorithm
+different from the normal Perl subroutine or method dispatch mechanism.
+
+Normal Perl subroutines are dispatched by finding the appropriately-named
+subroutine in the current (or specified) package and calling that. Normal
+Perl methods are dispatched by attempting to find the appropriately-named
+subroutine in the package into which the invoking object is blessed or,
+failing that, recursively searching for it in the packages listed in the
+appropriate @ISA arrays.
+
+Class::Multimethods multimethods are dispatched quite differently. The
+dispatch mechanism looks at the classes or types of each argument to the
+multimethod (by calling ref on each) and determines the "closest" matching
+variant of the multimethod, according to the argument types specified in
+the variants' definitions (see "Finding the "nearest" multimethod" for a
+definition of "closest").
+
+The result is something akin to C++'s function overloading, but more
+intelligent, since multimethods take the inheritance relationships of each
+argument into account. Another way of thinking of the mechanism is that it
+performs polymorphic dispatch on every argument of a method, not just the
+first.
+
+WWW: http://search.cpan.org/dist/Class-Multimethods
+Author: Damian Conway <damian@conway.org>
diff --git a/devel/p5-Class-Multimethods/pkg-plist b/devel/p5-Class-Multimethods/pkg-plist
new file mode 100644
index 000000000000..1bcaf7f3c326
--- /dev/null
+++ b/devel/p5-Class-Multimethods/pkg-plist
@@ -0,0 +1,6 @@
+%%SITE_PERL%%/Class/Multimethods.pm
+%%SITE_PERL%%/Class/Multimethods.pod
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/Class/Multimethods/.packlist
+@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Class/Multimethods
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Class
+@dirrmtry %%SITE_PERL%%/Class