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