summaryrefslogtreecommitdiff
path: root/devel/libpgm
diff options
context:
space:
mode:
authoragc <agc>2011-12-02 05:25:12 +0000
committeragc <agc>2011-12-02 05:25:12 +0000
commit2a4168ef6eda1da5f1864c4eb28b156707eb7fb1 (patch)
tree5cfa3f7feaf036c8ba0f91f5e8cdc3a21fba35cc /devel/libpgm
parent1432b8f30f3f9bd1293544cc589a2a035e5bd70c (diff)
downloadpkgsrc-2a4168ef6eda1da5f1864c4eb28b156707eb7fb1.tar.gz
Initial import of libpgm-5.1.118 into the Packages Collection
OpenPGM is an open source implementation of the Pragmatic General Multicast (PGM) specification in RFC 3208 available at www.ietf.org. PGM is a reliable and scalable multicast protocol that enables receivers to detect loss, request retransmission of lost data, or notify an application of unrecoverable loss. PGM is a receiver-reliable protocol, which means the receiver is responsible for ensuring all data is received, absolving the sender of reception responsibility. PGM runs over a best effort datagram service, currently OpenPGM uses IP multicast but could be implemented above switched fabrics such as InfiniBand. PGM is appropriate for applications that require duplicate-free multicast data delivery from multiple sources to multiple receivers. PGM does not support acknowledged delivery, nor does it guarantee ordering of packets from multiple senders. PGM is primarly used on internal networks to help integrate disparate systems through a common communication platform. A lack of IPv4 multicast-enabled infrastructure leads to limited capability for internet applications, IPv6 promotes multicast to be a part of the core functionality of IP but may still be disabled on core routers. Support of Source-Specific Multicast (SSM) allows for improved WAN deployment by allowing end-point router filtering of unwanted source traffic.
Diffstat (limited to 'devel/libpgm')
-rw-r--r--devel/libpgm/DESCR24
-rw-r--r--devel/libpgm/Makefile26
-rw-r--r--devel/libpgm/PLIST25
-rw-r--r--devel/libpgm/distinfo12
-rw-r--r--devel/libpgm/patches/patch-aa16
-rw-r--r--devel/libpgm/patches/patch-ab15
-rw-r--r--devel/libpgm/patches/patch-ac59
-rw-r--r--devel/libpgm/patches/patch-ad16
-rw-r--r--devel/libpgm/patches/patch-ae16
-rw-r--r--devel/libpgm/patches/patch-af16
-rw-r--r--devel/libpgm/patches/patch-ag30
11 files changed, 255 insertions, 0 deletions
diff --git a/devel/libpgm/DESCR b/devel/libpgm/DESCR
new file mode 100644
index 00000000000..9ed62f76c5c
--- /dev/null
+++ b/devel/libpgm/DESCR
@@ -0,0 +1,24 @@
+OpenPGM is an open source implementation of the Pragmatic General
+Multicast (PGM) specification in RFC 3208 available at www.ietf.org.
+PGM is a reliable and scalable multicast protocol that enables
+receivers to detect loss, request retransmission of lost data, or
+notify an application of unrecoverable loss. PGM is a
+receiver-reliable protocol, which means the receiver is responsible
+for ensuring all data is received, absolving the sender of reception
+responsibility. PGM runs over a best effort datagram service,
+currently OpenPGM uses IP multicast but could be implemented above
+switched fabrics such as InfiniBand.
+
+PGM is appropriate for applications that require duplicate-free
+multicast data delivery from multiple sources to multiple receivers.
+PGM does not support acknowledged delivery, nor does it guarantee
+ordering of packets from multiple senders.
+
+PGM is primarly used on internal networks to help integrate disparate
+systems through a common communication platform. A lack of IPv4
+multicast-enabled infrastructure leads to limited capability for
+internet applications, IPv6 promotes multicast to be a part of the
+core functionality of IP but may still be disabled on core routers.
+Support of Source-Specific Multicast (SSM) allows for improved WAN
+deployment by allowing end-point router filtering of unwanted source
+traffic.
diff --git a/devel/libpgm/Makefile b/devel/libpgm/Makefile
new file mode 100644
index 00000000000..7a7ae981e47
--- /dev/null
+++ b/devel/libpgm/Makefile
@@ -0,0 +1,26 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+#
+
+DISTNAME= libpgm-5.1.118
+CATEGORIES= devel
+MASTER_SITES= http://openpgm.googlecode.com/files/
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= agc@NetBSD.org
+HOMEPAGE= http://code.google.com/p/openpgm/
+COMMENT= PGM reliable multicast library implementing RFC 3208
+LICENSE= gnu-lgpl-v2
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+WRKSRC= ${WRKDIR}/${DISTNAME}/openpgm/pgm
+
+GNU_CONFIGURE= yes
+USE_LIBTOOL= yes
+USE_TOOLS+= pkg-config perl
+
+post-configure:
+ cd ${WRKSRC} && ${SH} mkversion
+
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/devel/libpgm/PLIST b/devel/libpgm/PLIST
new file mode 100644
index 00000000000..e0d52a7c226
--- /dev/null
+++ b/devel/libpgm/PLIST
@@ -0,0 +1,25 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+include/pgm-5.1/pgm/atomic.h
+include/pgm-5.1/pgm/engine.h
+include/pgm-5.1/pgm/error.h
+include/pgm-5.1/pgm/gsi.h
+include/pgm-5.1/pgm/if.h
+include/pgm-5.1/pgm/in.h
+include/pgm-5.1/pgm/list.h
+include/pgm-5.1/pgm/macros.h
+include/pgm-5.1/pgm/mem.h
+include/pgm-5.1/pgm/messages.h
+include/pgm-5.1/pgm/msgv.h
+include/pgm-5.1/pgm/packet.h
+include/pgm-5.1/pgm/pgm.h
+include/pgm-5.1/pgm/skbuff.h
+include/pgm-5.1/pgm/socket.h
+include/pgm-5.1/pgm/time.h
+include/pgm-5.1/pgm/tsi.h
+include/pgm-5.1/pgm/types.h
+include/pgm-5.1/pgm/version.h
+include/pgm-5.1/pgm/winint.h
+include/pgm-5.1/pgm/wininttypes.h
+include/pgm-5.1/pgm/zinttypes.h
+lib/libpgm.la
+lib/pkgconfig/openpgm-5.1.pc
diff --git a/devel/libpgm/distinfo b/devel/libpgm/distinfo
new file mode 100644
index 00000000000..0c02466c7da
--- /dev/null
+++ b/devel/libpgm/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+SHA1 (libpgm-5.1.118.tar.bz2) = 76888874a938c26870096105249990c5fdfa9ec2
+RMD160 (libpgm-5.1.118.tar.bz2) = 8aad83459f5dbf671a0283082e672470c9361415
+Size (libpgm-5.1.118.tar.bz2) = 857603 bytes
+SHA1 (patch-aa) = bb62107b225c4e64b487103c4075caf6f57df42c
+SHA1 (patch-ab) = d9e7df1aec7aa1549f5d673b245c317c3b36d555
+SHA1 (patch-ac) = 3db002ebaea19663f43fa6ef878143dcbf963ad9
+SHA1 (patch-ad) = 1fd867b09bcae181209b2f371be21a779c7aa167
+SHA1 (patch-ae) = d316915cf7ba35ce9cc66ad88000d599ce538590
+SHA1 (patch-af) = 97e127fc4584ea20e5503b4b811cca5198212eb6
+SHA1 (patch-ag) = 00d3ebc68736c5c34e7d8559de523945447cfadf
diff --git a/devel/libpgm/patches/patch-aa b/devel/libpgm/patches/patch-aa
new file mode 100644
index 00000000000..8a646e12212
--- /dev/null
+++ b/devel/libpgm/patches/patch-aa
@@ -0,0 +1,16 @@
+$NetBSD: patch-aa,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+include header for n_time (for BE defs) on *BSD
+
+--- include/pgm/packet.h 2011/12/02 00:47:05 1.1
++++ include/pgm/packet.h 2011/12/02 00:52:34
+@@ -28,6 +28,9 @@
+ #ifndef _WIN32
+ # include <sys/socket.h>
+ # include <netinet/in.h>
++# if (defined(BSD) && BSD >= 199506)
++# include <netinet/in_systm.h>
++# endif
+ # include <netinet/ip.h>
+ #endif
+ #include <pgm/types.h>
diff --git a/devel/libpgm/patches/patch-ab b/devel/libpgm/patches/patch-ab
new file mode 100644
index 00000000000..96529562428
--- /dev/null
+++ b/devel/libpgm/patches/patch-ab
@@ -0,0 +1,15 @@
+$NetBSD: patch-ab,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+Quick portability hack
+
+--- include/impl/sockaddr.h 2011/12/02 00:54:52 1.1
++++ include/impl/sockaddr.h 2011/12/02 01:02:03
+@@ -34,7 +34,7 @@
+ # include <sys/socket.h>
+ # include <netdb.h>
+ #endif
+-#ifdef __APPLE__
++#if defined(__APPLE__) || defined(__NetBSD__)
+ # include <pgm/in.h>
+ #endif
+ #include <pgm/types.h>
diff --git a/devel/libpgm/patches/patch-ac b/devel/libpgm/patches/patch-ac
new file mode 100644
index 00000000000..358034f3c15
--- /dev/null
+++ b/devel/libpgm/patches/patch-ac
@@ -0,0 +1,59 @@
+$NetBSD: patch-ac,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+configure defines HAVE_GETTIMEOFDAY, not CONFIG_HAVE_GETTIMEOFDAY
+
+--- time.c 2011/12/02 01:03:43 1.1
++++ time.c 2011/12/02 01:36:01
+@@ -75,7 +75,7 @@
+ # include <sys/timeb.h>
+ static pgm_time_t pgm_ftime_update (void);
+ #endif
+-#ifdef CONFIG_HAVE_GETTIMEOFDAY
++#ifdef HAVE_GETTIMEOFDAY
+ # include <sys/time.h>
+ static pgm_time_t pgm_gettimeofday_update (void);
+ #endif
+@@ -295,7 +295,7 @@
+ break;
+ #endif
+
+-#ifdef CONFIG_HAVE_GETTIMEOFDAY
++#ifdef HAVE_GETTIMEOFDAY
+ # ifndef _WIN32
+ default:
+ # endif
+@@ -377,6 +377,7 @@
+ if (0 == sysctlbyname ("hw.clockrate", &clockrate, &len, NULL, 0)) {
+ tsc_mhz = (uint_fast32_t)(clockrate * 1000);
+ }
++#elif defined(__NetBSD__)
+ #elif defined(KSTAT_DATA_INT32)
+ /* ref: http://developers.sun.com/solaris/articles/kstatc.html */
+ kstat_ctl_t* kc;
+@@ -443,7 +444,7 @@
+ # endif
+ )
+ {
+-# if defined( CONFIG_HAVE_GETTIMEOFDAY )
++# if defined( HAVE_GETTIMEOFDAY )
+ rel_offset = pgm_gettimeofday_update() - pgm_time_update_now();
+ # elif defined( CONFIG_HAVE_FTIME )
+ rel_offset = pgm_ftime_update() - pgm_time_update_now();
+@@ -511,7 +512,7 @@
+ return retval;
+ }
+
+-#ifdef CONFIG_HAVE_GETTIMEOFDAY
++#ifdef HAVE_GETTIMEOFDAY
+ static
+ pgm_time_t
+ pgm_gettimeofday_update (void)
+@@ -527,7 +528,7 @@
+ else
+ return last = now;
+ }
+-#endif /* CONFIG_HAVE_GETTIMEOFDAY */
++#endif /* HAVE_GETTIMEOFDAY */
+
+ #ifdef CONFIG_HAVE_CLOCK_GETTIME
+ static
diff --git a/devel/libpgm/patches/patch-ad b/devel/libpgm/patches/patch-ad
new file mode 100644
index 00000000000..513da3d0435
--- /dev/null
+++ b/devel/libpgm/patches/patch-ad
@@ -0,0 +1,16 @@
+$NetBSD: patch-ad,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+Add a missing definition
+
+--- if.c 2011/12/02 01:37:24 1.1
++++ if.c 2011/12/02 01:41:17
+@@ -30,6 +30,9 @@
+ # include <sys/types.h>
+ # include <sys/socket.h>
+ # include <netdb.h> /* _GNU_SOURCE for EAI_NODATA */
++# ifndef AI_ADDRCONFIG
++# define AI_ADDRCONFIG 0x20
++# endif
+ #endif
+ #include <impl/i18n.h>
+ #include <impl/framework.h>
diff --git a/devel/libpgm/patches/patch-ae b/devel/libpgm/patches/patch-ae
new file mode 100644
index 00000000000..625ea95b035
--- /dev/null
+++ b/devel/libpgm/patches/patch-ae
@@ -0,0 +1,16 @@
+$NetBSD: patch-ae,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+Add a header we don't have
+
+--- getnodeaddr.c 2011/12/02 01:42:24 1.1
++++ getnodeaddr.c 2011/12/02 01:42:45
+@@ -22,6 +22,9 @@
+ #include <errno.h>
+ #ifndef _WIN32
+ # include <netdb.h>
++# ifndef AI_ADDRCONFIG
++# define AI_ADDRCONFIG 0x20
++# endif
+ #endif
+ #include <impl/i18n.h>
+ #include <impl/framework.h>
diff --git a/devel/libpgm/patches/patch-af b/devel/libpgm/patches/patch-af
new file mode 100644
index 00000000000..a8e0c217038
--- /dev/null
+++ b/devel/libpgm/patches/patch-af
@@ -0,0 +1,16 @@
+$NetBSD: patch-af,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+Add a def we don't have
+
+--- gsi.c 2011/12/02 01:43:37 1.1
++++ gsi.c 2011/12/02 01:43:54
+@@ -23,6 +23,9 @@
+ #include <stdio.h>
+ #ifndef _WIN32
+ # include <netdb.h>
++# ifndef AI_ADDRCONFIG
++# define AI_ADDRCONFIG 0x20
++# endif
+ #endif
+ #include <impl/i18n.h>
+ #include <impl/framework.h>
diff --git a/devel/libpgm/patches/patch-ag b/devel/libpgm/patches/patch-ag
new file mode 100644
index 00000000000..e39c76abee9
--- /dev/null
+++ b/devel/libpgm/patches/patch-ag
@@ -0,0 +1,30 @@
+$NetBSD: patch-ag,v 1.1.1.1 2011/12/02 05:25:12 agc Exp $
+
+quick and dirty script to make version.c, gets around python dependency
+
+--- /dev/null 2011-12-01 18:44:19.000000000 -0800
++++ mkversion 2011-12-01 18:32:59.000000000 -0800
+@@ -0,0 +1,23 @@
++#! /bin/sh
++
++d=`date +%Y-%m-%d`
++t=`date +%H:%M:%S`
++os=`uname -s`
++mach=`uname -m`
++cat >> version.c << EOF
++#include <impl/framework.h>
++#include <pgm/version.h>
++
++/* globals */
++
++const unsigned pgm_major_version = 5;
++const unsigned pgm_minor_version = 1;
++const unsigned pgm_micro_version = 118;
++const char* pgm_build_date = "${d}";
++const char* pgm_build_time = "${t}";
++const char* pgm_build_system = "${os}";
++const char* pgm_build_machine = "${mach}";
++const char* pgm_build_revision = "1369";
++
++/* eof */
++EOF