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@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 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 +@dirrm include/alc