diff options
author | agc <agc> | 2011-12-02 05:25:12 +0000 |
---|---|---|
committer | agc <agc> | 2011-12-02 05:25:12 +0000 |
commit | 2a4168ef6eda1da5f1864c4eb28b156707eb7fb1 (patch) | |
tree | 5cfa3f7feaf036c8ba0f91f5e8cdc3a21fba35cc /devel/libpgm | |
parent | 1432b8f30f3f9bd1293544cc589a2a035e5bd70c (diff) | |
download | pkgsrc-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/DESCR | 24 | ||||
-rw-r--r-- | devel/libpgm/Makefile | 26 | ||||
-rw-r--r-- | devel/libpgm/PLIST | 25 | ||||
-rw-r--r-- | devel/libpgm/distinfo | 12 | ||||
-rw-r--r-- | devel/libpgm/patches/patch-aa | 16 | ||||
-rw-r--r-- | devel/libpgm/patches/patch-ab | 15 | ||||
-rw-r--r-- | devel/libpgm/patches/patch-ac | 59 | ||||
-rw-r--r-- | devel/libpgm/patches/patch-ad | 16 | ||||
-rw-r--r-- | devel/libpgm/patches/patch-ae | 16 | ||||
-rw-r--r-- | devel/libpgm/patches/patch-af | 16 | ||||
-rw-r--r-- | devel/libpgm/patches/patch-ag | 30 |
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 |