ports/61068: [maintainer-update] update of mbone/mcl

Panagiotis Astithas past at noc.ntua.gr
Thu Jan 8 14:40:53 UTC 2004


>Number:         61068
>Category:       ports
>Synopsis:       [maintainer-update] update of mbone/mcl
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jan 08 06:40:18 PST 2004
>Closed-Date:
>Last-Modified:
>Originator:     Panagiotis Astithas
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
National Technical University of Athens
>Environment:
System: FreeBSD ajax.noc.ntua.gr 4.8-STABLE FreeBSD 4.8-STABLE #0: Tue Apr 8 21:45:00 EEST 2003 root at ajax.noc.ntua.gr:/usr/obj/usr/src/sys/GENERIC i386
>Description:
This is an update of mcl-2.99 to mcl-2.99.1. The important changes are:
- vendor's bugfixes
- new FLUTE support
- new dependencies in gdome-2 and glib20
- properly install the shared library and headers
- replace -pthread with $PTHREAD_LIBS
- fix compilation warnings due to C++ headers in -current

There are 5 new files:
- files/patch-display.c
- files/patch-flute-Makefile
- files/patch-flute.h
- files/patch-mcl_profile.h
- files/patch-mclftp-Makefile
>How-To-Repeat:
	
>Fix:
Apply the following patch.

--- mcl.patch begins here ---
diff -Nur /usr/ports/mbone/mcl/Makefile mcl/Makefile
--- /usr/ports/mbone/mcl/Makefile	Mon Nov 24 11:46:26 2003
+++ mcl/Makefile	Wed Jan  7 13:59:54 2004
@@ -6,50 +6,78 @@
 #
 
 PORTNAME=	mcl
-PORTVERSION=	2.99
+PORTVERSION=	2.99.1
 CATEGORIES=	mbone net
 MASTER_SITES=	http://www.inrialpes.fr/planete/people/roca/mcl/bin/
-DISTNAME=	mcl_v2.99
+DISTNAME=	mcl_v2.99.1
 EXTRACT_SUFX=	.tgz
 
 MAINTAINER=	past at noc.ntua.gr
 COMMENT=	Implementation of the ALC and NORM Reliable Multicast Protocols
 
-BUILD_DEPENDS=	makedepend:${PORTSDIR}/devel/imake-4
+BUILD_DEPENDS=	makedepend:${PORTSDIR}/devel/imake-4 \
+		gdome-config:${PORTSDIR}/textproc/gdome2 \
+		glib-gettextize:${PORTSDIR}/devel/glib20
 
+USE_REINPLACE=	yes
+INSTALLS_SHLIB=	yes
 USE_GMAKE=	yes
 MAN1=		fcast.1 fcastn.1 mclrecv2.1 mclsend2.1
 MAN2=		mcl_abort.2 mcl_close.2 mcl_ctl.2 mcl_open.2 mcl_recv.2 \
 		mcl_send.2 mcl_wait_event.2
-WRKSRC=		${WRKDIR}/mcl_v2.99_src
 
 pre-patch:
 	@cd ${WRKSRC} &&  \
 		${MKDIR} bin/freebsd
 
+post-patch:
+	@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
+		${WRKSRC}/src/alc/Makefile
+	@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
+		${WRKSRC}/check/alc/Makefile
+	@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
+		${WRKSRC}/fcast/Makefile
+	@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
+		${WRKSRC}/flute/Makefile
+	@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
+		${WRKSRC}/mclftp/Makefile
+	@${REINPLACE_CMD} -Ee 's#-pthread|-lc_r#${PTHREAD_LIBS}#g' \
+		${WRKSRC}/robcast/Makefile
+
+pre-install:
+	@${REINPLACE_CMD} -Ee 's#../alc/#alc/#g' \
+		${WRKSRC}/src/common/mcl_lib_api.h
+	@${REINPLACE_CMD} -Ee 's#../norm/#norm/#g' \
+		${WRKSRC}/src/common/mcl_lib_api.h
+
 do-install:
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/fcast ${PREFIX}/bin
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_client ${PREFIX}/bin
-	${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_server ${PREFIX}/bin
-	${INSTALL_DATA} ${WRKSRC}/bin/freebsd/libmclalc.a ${PREFIX}/lib
-	${INSTALL_MAN} ${WRKSRC}/man/fcast.man.1 ${PREFIX}/man/man1/fcast.1
-	${INSTALL_MAN} ${WRKSRC}/man/fcastn.man.1 ${PREFIX}/man/man1/fcastn.1
-	${INSTALL_MAN} ${WRKSRC}/man/mclrecv2.man.1 \
+	@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/fcast ${PREFIX}/bin
+	@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/flute ${PREFIX}/bin
+	@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_client ${PREFIX}/bin
+	@${INSTALL_PROGRAM} ${WRKSRC}/bin/freebsd/robcast_server ${PREFIX}/bin
+	@${INSTALL_DATA} ${WRKSRC}/bin/freebsd/libmclalc.a ${PREFIX}/lib
+	@${INSTALL_DATA} ${WRKSRC}/src/common/mcl_lib_api.h ${PREFIX}/include
+	@${INSTALL_DATA} -d ${PREFIX}/include/alc
+	@${INSTALL_DATA} ${WRKSRC}/src/alc/mcl_lib_api_alc.h \
+		${PREFIX}/include/alc
+	@${INSTALL_MAN} ${WRKSRC}/man/fcast.man.1 ${PREFIX}/man/man1/fcast.1
+	@${INSTALL_MAN} ${WRKSRC}/man/fcastn.man.1 ${PREFIX}/man/man1/fcastn.1
+	@${INSTALL_MAN} ${WRKSRC}/man/mclrecv2.man.1 \
 		${PREFIX}/man/man1/mclrecv2.1
-	${INSTALL_MAN} ${WRKSRC}/man/mclsend2.man.1 \
+	@${INSTALL_MAN} ${WRKSRC}/man/mclsend2.man.1 \
 		${PREFIX}/man/man1/mclsend2.1
-	${INSTALL_MAN} ${WRKSRC}/man/mcl_abort.man.2 \
+	@${INSTALL_MAN} ${WRKSRC}/man/mcl_abort.man.2 \
 		${PREFIX}/man/man2/mcl_abort.2
-	${INSTALL_MAN} ${WRKSRC}/man/mcl_close.man.2 \
+	@${INSTALL_MAN} ${WRKSRC}/man/mcl_close.man.2 \
 		${PREFIX}/man/man2/mcl_close.2
-	${INSTALL_MAN} ${WRKSRC}/man/mcl_ctl.man.2 ${PREFIX}/man/man2/mcl_ctl.2
-	${INSTALL_MAN} ${WRKSRC}/man/mcl_open.man.2 \
+	@${INSTALL_MAN} ${WRKSRC}/man/mcl_ctl.man.2 ${PREFIX}/man/man2/mcl_ctl.2
+	@${INSTALL_MAN} ${WRKSRC}/man/mcl_open.man.2 \
 		${PREFIX}/man/man2/mcl_open.2
-	${INSTALL_MAN} ${WRKSRC}/man/mcl_recv.man.2 \
+	@${INSTALL_MAN} ${WRKSRC}/man/mcl_recv.man.2 \
 		${PREFIX}/man/man2/mcl_recv.2
-	${INSTALL_MAN} ${WRKSRC}/man/mcl_send.man.2 \
+	@${INSTALL_MAN} ${WRKSRC}/man/mcl_send.man.2 \
 		${PREFIX}/man/man2/mcl_send.2
-	${INSTALL_MAN} ${WRKSRC}/man/mcl_wait_event.man.2 \
+	@${INSTALL_MAN} ${WRKSRC}/man/mcl_wait_event.man.2 \
 		${PREFIX}/man/man2/mcl_wait_event.2
 
 .include <bsd.port.mk>
diff -Nur /usr/ports/mbone/mcl/distinfo mcl/distinfo
--- /usr/ports/mbone/mcl/distinfo	Fri Nov 14 18:33:33 2003
+++ mcl/distinfo	Sat Dec  6 20:04:14 2003
@@ -1 +1 @@
-MD5 (mcl_v2.99.tgz) = d492d3df5b88ca563d0f484ce63f31f4
+MD5 (mcl_v2.99.1.tgz) = d4a5c0c384d45dfa6c2a3dcbdcb3a81e
diff -Nur /usr/ports/mbone/mcl/files/patch-Makefile mcl/files/patch-Makefile
--- /usr/ports/mbone/mcl/files/patch-Makefile	Fri Nov 14 18:33:33 2003
+++ mcl/files/patch-Makefile	Sun Dec  7 18:35:54 2003
@@ -1,5 +1,5 @@
---- Makefile.orig	Tue Jul 22 19:37:39 2003
-+++ Makefile	Tue Oct 14 11:55:56 2003
+--- Makefile.orig	Sun Dec  7 18:35:07 2003
++++ Makefile	Sun Dec  7 18:35:20 2003
 @@ -5,8 +5,8 @@
  # We need the GNU make tool, on some systems it is called
  # gmake, on others make is an alias to gmake. Choose one...
diff -Nur /usr/ports/mbone/mcl/files/patch-Makefile.common mcl/files/patch-Makefile.common
--- /usr/ports/mbone/mcl/files/patch-Makefile.common	Fri Nov 14 18:33:33 2003
+++ mcl/files/patch-Makefile.common	Thu Jan  8 13:06:54 2004
@@ -1,5 +1,5 @@
---- Makefile.common.orig	Tue Jul 22 19:37:39 2003
-+++ Makefile.common	Tue Oct 14 15:04:38 2003
+--- Makefile.common.orig	Sun Dec  7 18:36:25 2003
++++ Makefile.common	Sun Dec  7 18:38:10 2003
 @@ -24,11 +24,15 @@
  ifeq (${SYSTEM},SunOS)
  	OS = solaris
@@ -22,7 +22,7 @@
  	LD = /opt/SUNWspro/bin/CC 
 +endif
 +ifeq (${OS},freebsd)
-+	OSFLAGS = -DFREEBSD -I/usr/include/g++
++	OSFLAGS = -DFREEBSD -I/usr/include/g++ -I/usr/include/c++/3.3
 +	# Which compiler?
 +	# NB: use -Wall for compilation warnings with gcc
 +	#
diff -Nur /usr/ports/mbone/mcl/files/patch-display.c mcl/files/patch-display.c
--- /usr/ports/mbone/mcl/files/patch-display.c	Thu Jan  1 02:00:00 1970
+++ mcl/files/patch-display.c	Wed Jan  7 12:09:09 2004
@@ -0,0 +1,14 @@
+--- flute/display.c.orig	Wed Jan  7 12:08:23 2004
++++ flute/display.c	Wed Jan  7 12:07:24 2004
+@@ -65,7 +65,11 @@
+ 	signal (SIGTERM, sig_catcher);
+ 	sigaction (SIGTERM, (struct sigaction *) 0, &sa);
+ 	sa.sa_flags |= SA_RESTART;
++#if defined(FREEBSD)
++	sa.sa_flags &= ~SA_NOCLDSTOP;
++#else
+ 	sa.sa_flags &= ~SA_INTERRUPT;
++#endif
+ 	sigaction (SIGTERM, &sa, (struct sigaction *) 0);
+ 	sigaction (SIGINT, &sa, (struct sigaction *) 0);
+ 	tcsetattr(0, TCSANOW, &new_settings);
diff -Nur /usr/ports/mbone/mcl/files/patch-flute-Makefile mcl/files/patch-flute-Makefile
--- /usr/ports/mbone/mcl/files/patch-flute-Makefile	Thu Jan  1 02:00:00 1970
+++ mcl/files/patch-flute-Makefile	Wed Jan  7 12:38:46 2004
@@ -0,0 +1,52 @@
+--- flute/Makefile.orig	Wed Nov 26 17:18:21 2003
++++ flute/Makefile	Wed Jan  7 12:38:28 2004
+@@ -36,6 +36,18 @@
+ 
+ endif
+ 
++ifeq (${OS},freebsd)
++	# FreeBSD version:
++	# CC requires: -mt -lpthread for multithreaded applications
++	# NB: mpatrol not installed !
++	#
++	BINDIR = ../bin/freebsd
++	LDPC_BINDIR = ../../ldpc/bin/freebsd
++	LIBRARIES = -lm -pthread -lglib-2.0 -lgdome -lxml2 -L/usr/local/lib
++	# added -I/usr/local/include for libgdome header files
++	ADD_INCLUDES = -I/usr/local/include/ -I/usr/local/include/glib-2.0/ -I/usr/local/include/libgdome/
++endif
++
+ 
+ ###### Other variables ######
+ 
+@@ -73,24 +85,24 @@
+ # codec in use: if LDPC is used, then add the libbdpc.a library.
+ # If only RSE is used and if you don't have the LDPC archive, then
+ # remove the libbdpc.a library.
+-#alc:	MCL_LIBRARY = ${BINDIR}/libmclalc.a
+-alc:	MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
++alc:	MCL_LIBRARY = ${BINDIR}/libmclalc.a
++#alc:	MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+ alc:	TARGET_FLUTE = ${BINDIR}/flute
+ #alc:	all
+ 
+ alc_pure:	RM_PROTOCOL = ALC
+ # Edit the following two lines as appropriate, according to the FEC
+ # codec in use: if LDPC is used, then add the libbdpc.a library.
+-#alc_pure:	MCL_LIBRARY = ${BINDIR}/libmclalc.a
+-alc_pure:	MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
++alc_pure:	MCL_LIBRARY = ${BINDIR}/libmclalc.a
++#alc_pure:	MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+ alc_pure:	TARGET_FLUTE = ${BINDIR}/flute
+ alc_pure:	pure
+ 
+ alc_quantify:	RM_PROTOCOL = ALC
+ # Edit the following two lines as appropriate, according to the FEC
+ # codec in use: if LDPC is used, then add the libbdpc.a library.
+-#alc_quantify:	MCL_LIBRARY = ${BINDIR}/libmclalc.a
+-alc_quantify:	MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
++alc_quantify:	MCL_LIBRARY = ${BINDIR}/libmclalc.a
++#alc_quantify:	MCL_LIBRARY = ${BINDIR}/libmclalc.a ${LDPC_BINDIR}/libldpc.a
+ alc_quantify:	TARGET_FLUTE = ${BINDIR}/flute
+ alc_quantify:	quantify
+ 
diff -Nur /usr/ports/mbone/mcl/files/patch-flute.h mcl/files/patch-flute.h
--- /usr/ports/mbone/mcl/files/patch-flute.h	Thu Jan  1 02:00:00 1970
+++ mcl/files/patch-flute.h	Wed Jan  7 11:16:14 2004
@@ -0,0 +1,13 @@
+--- flute/flute.h.orig	Wed Jan  7 11:13:20 2004
++++ flute/flute.h	Wed Jan  7 11:15:28 2004
+@@ -69,6 +69,10 @@
+ #elif defined(SOLARIS) || defined(IRIX) || defined(WIN32)
+ 
+ #define	sighandler_t	void (*)(int)
++
++#elif defined(FREEBSD)
++#define sighandler_t   sig_t
++
+ #endif
+ 
+ 
diff -Nur /usr/ports/mbone/mcl/files/patch-mcl_lib.cpp mcl/files/patch-mcl_lib.cpp
--- /usr/ports/mbone/mcl/files/patch-mcl_lib.cpp	Fri Nov 14 18:33:33 2003
+++ mcl/files/patch-mcl_lib.cpp	Wed Dec 17 00:00:44 2003
@@ -1,6 +1,6 @@
---- src/alc/mcl_lib.cpp.orig	Tue Jul 22 19:37:39 2003
-+++ src/alc/mcl_lib.cpp	Wed Oct 15 16:16:55 2003
-@@ -1265,8 +1265,10 @@
+--- src/alc/mcl_lib.cpp.orig	Wed Nov 26 15:38:14 2003
++++ src/alc/mcl_lib.cpp	Tue Dec 16 23:58:46 2003
+@@ -1384,8 +1384,10 @@
  	if (id >= MCLCB_MAX_ID || (mclcb = mclcbs[id]) == NULL) {
  		TRACE((mcl_stdout, "   mcl_recvfrom: not an MCL id, switch to standard recvfrom\n"))
  		return (recvfrom(id, (char*)buf, len, 0, saddr,
@@ -9,6 +9,19 @@
  				(size_t*) /* linux => uint, solaris => int */
 +#elif defined(FREEBSD)
 +				(socklen_t*) 
+ #endif
+ 				saddr_len));
+ 	}
+@@ -1520,8 +1522,11 @@
+ 	if (id >= MCLCB_MAX_ID || (mclcb = mclcbs[id]) == NULL) {
+ 		TRACE((mcl_stdout, "   mcl_recvfrom: not an MCL id, switch to standard recvfrom\n"))
+ 		return (recvfrom(id, (char*)buf, len, 0, saddr,
+-#ifdef LINUX
++#if defined(LINUX)
+ 				(size_t*) /* linux => uint, solaris => int */
++#elif defined(FREEBSD)
++				(socklen_t*)
++
  #endif
  				saddr_len));
  	}
diff -Nur /usr/ports/mbone/mcl/files/patch-mcl_osdep.h mcl/files/patch-mcl_osdep.h
--- /usr/ports/mbone/mcl/files/patch-mcl_osdep.h	Fri Nov 14 18:33:33 2003
+++ mcl/files/patch-mcl_osdep.h	Sun Dec  7 19:00:41 2003
@@ -1,24 +1,24 @@
---- src/common/mcl_osdep.h.orig	Tue Jul 22 19:37:39 2003
-+++ src/common/mcl_osdep.h	Wed Oct 15 16:11:46 2003
-@@ -30,7 +30,7 @@
- /*
+--- src/common/mcl_osdep.h.orig	Sun Dec  7 18:58:22 2003
++++ src/common/mcl_osdep.h	Sun Dec  7 19:00:39 2003
+@@ -44,7 +44,7 @@
   * bit field order is compiler/OS dependant
+  * With linux, see the above LINUX_XXX defines...
   */
--#if defined(LINUX) || defined(WIN32)
-+#if defined(LINUX) || defined(WIN32) || defined(FREEBSD)
+-#if defined(LINUX_I386) || defined(WIN32)
++#if defined(LINUX_I386) || defined(WIN32) || defined (FREEBSD)
  #define _BIT_FIELDS_LTOH
  #undef _BIT_FIELDS_HTOL
  
-@@ -44,7 +44,7 @@
+@@ -58,7 +58,7 @@
  /*
   * sighandler
   */
 -#if defined(LINUX)
-+#if defined(LINUX) || defined(FREEBSD)
++#if defined(LINUX) || defined (FREEBSD)
  	/* On Linux systems, signal handlers must be of __sighandler_t type */
  #define	sighandler_t	__sighandler_t
  
-@@ -63,9 +63,9 @@
+@@ -77,9 +77,9 @@
  #define u_int16_t	ushort_t	/* or uint16_t */
  #define u_int32_t	uint_t		/* or uint32_t */
  
diff -Nur /usr/ports/mbone/mcl/files/patch-mcl_profile.h mcl/files/patch-mcl_profile.h
--- /usr/ports/mbone/mcl/files/patch-mcl_profile.h	Thu Jan  1 02:00:00 1970
+++ mcl/files/patch-mcl_profile.h	Tue Dec 16 23:49:24 2003
@@ -0,0 +1,11 @@
+--- src/alc/mcl_profile.h.orig	Tue Dec 16 23:47:58 2003
++++ src/alc/mcl_profile.h	Tue Dec 16 23:48:09 2003
+@@ -130,7 +130,7 @@
+ /*
+  * Do you want to use LDPC large block Forward Error Correction (FEC) ?
+  */
+-#define LDPC_FEC
++//#define LDPC_FEC
+ 
+ #if defined(RSE_FEC) || defined(LDPC_FEC)
+ #define FEC
diff -Nur /usr/ports/mbone/mcl/files/patch-mclftp-Makefile mcl/files/patch-mclftp-Makefile
--- /usr/ports/mbone/mcl/files/patch-mclftp-Makefile	Thu Jan  1 02:00:00 1970
+++ mcl/files/patch-mclftp-Makefile	Wed Dec 17 00:16:35 2003
@@ -0,0 +1,17 @@
+--- mclftp/Makefile.orig	Wed Dec 17 00:13:34 2003
++++ mclftp/Makefile	Wed Dec 17 00:15:56 2003
+@@ -36,6 +36,14 @@
+ 	LIBRARIES = -lc -lm -lsocket -lnsl /usr/ucblib/libucb.a -lposix4 -lpthread
+ endif
+ 
++ifeq (${OS},freebsd)
++	# FreeBSD version
++	# MCL library requires -pthread
++	#
++	BINDIR = ../bin/freebsd
++	LIBRARIES = -lm -pthread
++endif
++
+ 
+ 
+ ###### Other variables ######
diff -Nur /usr/ports/mbone/mcl/pkg-plist mcl/pkg-plist
--- /usr/ports/mbone/mcl/pkg-plist	Fri Nov 14 18:33:33 2003
+++ mcl/pkg-plist	Wed Jan  7 13:36:02 2004
@@ -1,4 +1,8 @@
 bin/fcast
+bin/flute
 bin/robcast_client
 bin/robcast_server
 lib/libmclalc.a
+include/mcl_lib_api.h
+include/alc/mcl_lib_api_alc.h
+ at dirrm include/alc
--- mcl.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list