diff --git a/net/multicat/Makefile b/net/multicat/Makefile index f0e74165576c..51b319da63d5 100644 --- a/net/multicat/Makefile +++ b/net/multicat/Makefile @@ -1,36 +1,36 @@ # Created by: Dmitry Marakasov # $FreeBSD$ PORTNAME= multicat -PORTVERSION= 2.2 +PORTVERSION= 2.3 CATEGORIES= net multimedia MASTER_SITES= https://get.videolan.org/multicat/${PORTVERSION}/ -MAINTAINER= ports@FreeBSD.org +MAINTAINER= m.muenz@gmail.com COMMENT= Simple and efficient multicast and transport stream manipulation LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= ${LOCALBASE}/include/bitstream/mpeg/ts.h:multimedia/bitstream USES= localbase tar:bzip2 ALL_TARGET= ${PORTNAME} -PORTDOCS= AUTHORS Changelog NEWS README PLIST_FILES= bin/${PORTNAME} \ man/man1/${PORTNAME}.1.gz +PORTDOCS= AUTHORS Changelog NEWS README OPTIONS_DEFINE= DOCS do-install: ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1 do-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} .for f in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${f} ${STAGEDIR}${DOCSDIR}/ .endfor .include diff --git a/net/multicat/distinfo b/net/multicat/distinfo index f576f4cb2619..e97ac8a4a07f 100644 --- a/net/multicat/distinfo +++ b/net/multicat/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1486402678 -SHA256 (multicat-2.2.tar.bz2) = fa4e48b38665658df7719293f9358df08f59f3eb7f7b77df510b35951e316b40 -SIZE (multicat-2.2.tar.bz2) = 35369 +TIMESTAMP = 1573810897 +SHA256 (multicat-2.3.tar.bz2) = 2be162e9e8b2e6f6aa7686431f102db6c72c8288bd82dbc67ffed631f4a3361e +SIZE (multicat-2.3.tar.bz2) = 37307 diff --git a/net/multicat/files/patch-Makefile b/net/multicat/files/patch-Makefile index b3416af6c624..b13ff913ef40 100644 --- a/net/multicat/files/patch-Makefile +++ b/net/multicat/files/patch-Makefile @@ -1,12 +1,13 @@ ---- Makefile.orig 2017-01-31 18:17:02 UTC +--- Makefile.orig 2018-06-12 15:18:47 UTC +++ Makefile @@ -1,8 +1,7 @@ # multicat Makefile - VERSION = 2.2 --CFLAGS += -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE +-VERSION = 2.2 +-CFLAGS += -Wall -Wformat-security -O3 -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE -D_DEFAULT_SOURCE -CFLAGS += -g ++VERSION = 2.3 +CFLAGS += -Wall -Wformat-security -D_FILE_OFFSET_BITS=64 -D_ISOC99_SOURCE -D_BSD_SOURCE # Comment out the following line for Mac OS X build LDLIBS += -lrt -pthread diff --git a/net/multicat/files/patch-multicat.c b/net/multicat/files/patch-multicat.c index e5db18ba7e4d..3eedcc640e7b 100644 --- a/net/multicat/files/patch-multicat.c +++ b/net/multicat/files/patch-multicat.c @@ -1,28 +1,19 @@ ---- multicat.c.orig 2016-10-07 14:32:44 UTC +--- multicat.c.orig 2019-11-15 11:52:01 UTC +++ multicat.c -@@ -44,7 +44,7 @@ - #include - #include - --#ifdef __FreeBSD__ -+#if defined(__FreeBSD__) || defined(__DragonFly__) - # include - #endif - -@@ -280,14 +280,14 @@ static ssize_t raw_Write( const void *p_ +@@ -280,14 +280,14 @@ static ssize_t raw_Write( const void *p_buf, size_t i_ ssize_t i_ret; struct iovec iov[2]; - #if defined(__FreeBSD__) + #if defined(__FreeBSD__) || defined(__DragonFly__) pktheader.udph.uh_ulen #else pktheader.udph.len #endif = htons(sizeof(struct udphdr) + i_len); - #if defined(__FreeBSD__) + #if defined(__FreeBSD__) || defined(__DragonFly__) pktheader.iph.ip_len = htons(sizeof(struct udprawpkt) + i_len); #endif diff --git a/net/multicat/files/patch-util.c b/net/multicat/files/patch-util.c index 4374d3e96059..ddd7a8cf8f4f 100644 --- a/net/multicat/files/patch-util.c +++ b/net/multicat/files/patch-util.c @@ -1,56 +1,65 @@ ---- util.c.orig 2016-10-07 14:32:44 UTC +--- util.c.orig 2019-11-15 11:52:26 UTC +++ util.c -@@ -285,7 +285,7 @@ static int GetInterfaceIndex( const char +@@ -285,7 +285,7 @@ static int GetInterfaceIndex( const char *psz_name ) close( i_fd ); -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__DragonFly__) return ifr.ifr_index; #else return ifr.ifr_ifindex; -@@ -451,7 +451,7 @@ static void RawFillHeaders(struct udpraw +@@ -454,7 +454,7 @@ static void RawFillHeaders(struct udprawpkt *dgram, uint8_t ttl, uint8_t tos, uint16_t len) { #ifndef __APPLE__ -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__DragonFly__) struct ip *iph = &(dgram->iph); #else struct iphdr *iph = &(dgram->iph); -@@ -468,7 +468,7 @@ static void RawFillHeaders(struct udpraw +@@ -471,7 +471,7 @@ static void RawFillHeaders(struct udprawpkt *dgram, printf("Filling raw header (%p) (%s:%u -> %s:%u)\n", dgram, ipsrc_str, portsrc, ipdst_str, portdst); #endif -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__DragonFly__) // Fill ip header iph->ip_hl = 5; // ip header with no specific option iph->ip_v = 4; -@@ -710,7 +710,7 @@ int OpenSocket( const char *_psz_arg, in +@@ -558,7 +558,7 @@ int OpenSocket( const char *_psz_arg, int i_ttl, uint1 + in_addr_t i_raw_srcaddr = INADDR_ANY; + int i_raw_srcport = 0; + char *psz_ifname = NULL; +-#ifdef __FreeBSD__ ++#if defined(__FreeBSD__) || defined(__DragonFly__) + int hincl = 1; + #endif + +@@ -718,7 +718,7 @@ int OpenSocket( const char *_psz_arg, int i_ttl, uint1 i_raw_srcaddr, connect_addr.sin.sin_addr.s_addr, i_raw_srcport, ntohs(connect_addr.sin.sin_port), i_ttl, i_tos, 0); i_fd = socket( AF_INET, SOCK_RAW, IPPROTO_RAW ); -#ifdef __FreeBSD__ +#if defined(__FreeBSD__) || defined(__DragonFly__) if ( setsockopt( i_fd, IPPROTO_IP, IP_HDRINCL, &hincl, sizeof(hincl)) == -1 ) { msg_Err( NULL, "unable to set socket (%s)", strerror(errno) ); -@@ -747,7 +747,7 @@ int OpenSocket( const char *_psz_arg, in +@@ -755,7 +755,7 @@ int OpenSocket( const char *_psz_arg, int i_ttl, uint1 if ( bind_addr.ss.ss_family != AF_UNSPEC ) { - #if !defined(__APPLE__) && !defined(__FreeBSD__) + #if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__DragonFly__) if ( IN6_IS_ADDR_MULTICAST( &bind_addr.sin6.sin6_addr ) ) { struct ipv6_mreq imr; -@@ -827,7 +827,7 @@ normal_bind: +@@ -838,7 +838,7 @@ normal_bind: } else #endif -#ifndef __FreeBSD__ +#if !defined(__FreeBSD__) && !defined(__DragonFly__) if ( i_bind_if_index ) { /* Linux-specific interface-bound multicast */ diff --git a/net/multicat/files/patch-util.h b/net/multicat/files/patch-util.h index d54b9af6b63f..a6d564f56bb6 100644 --- a/net/multicat/files/patch-util.h +++ b/net/multicat/files/patch-util.h @@ -1,20 +1,20 @@ ---- util.h.orig 2016-10-07 14:32:44 UTC +--- util.h.orig 2019-11-15 11:52:14 UTC +++ util.h -@@ -24,7 +24,7 @@ - #include +@@ -25,7 +25,7 @@ #include + #include -#if defined(__APPLE__) || defined(__FreeBSD__) +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) #define POLLRDHUP 0 /* uClibc may does not have clock_nanosleep() */ #elif !defined (__UCLIBC__) || \ -@@ -59,7 +59,7 @@ typedef union +@@ -60,7 +60,7 @@ typedef union + * Raw udp packet structure with flexible-array payload *****************************************************************************/ struct udprawpkt { - #if !defined(__APPLE__) --#if defined(__FreeBSD__) -+#if defined(__FreeBSD__) || defined(__DragonFly__) +-#if defined(__APPLE__) || defined(__FreeBSD__) ++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) struct ip iph; #else struct iphdr iph; diff --git a/net/multicat/pkg-descr b/net/multicat/pkg-descr index f5207753d3c8..2be2cab4b844 100644 --- a/net/multicat/pkg-descr +++ b/net/multicat/pkg-descr @@ -1,16 +1,16 @@ multicat is a 1 input/1 output application. Inputs and outputs can be network streams (unicast and multicast), files, directories, character devices or FIFOs. It is thought to be a multicast equivalent of the popular netcat tool. Typical applications are recording live transport streams, or playing out TS files without modification. Also it is able to record a continuous stream into a directory, rotate the files periodically, and make seamless extracts from it. Multicat tries to rebuild the internal clock of the input stream; but it wants to remain agnostic of what is transported, so in case of files the said clock is stored to an auxiliary file (example.aux accompanies example.ts) while recording. Other inputs are considered "live", and the input clock is simply derived from the reception time of the packets. -WWW: http://www.videolan.org/projects/multicat.html +WWW: https://www.videolan.org/projects/multicat.html