Index: head/audio/libshout/Makefile =================================================================== --- head/audio/libshout/Makefile (revision 511025) +++ head/audio/libshout/Makefile (revision 511026) @@ -1,42 +1,42 @@ # Created by: Zach Zurflu # $FreeBSD$ PORTNAME= libshout PORTVERSION= 2.4.3 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= audio net MASTER_SITES= https://downloads.xiph.org/releases/libshout/ \ https://svn.xiph.org/releases/libshout/ \ LOCAL/sunpoet MAINTAINER= sunpoet@FreeBSD.org COMMENT= Connect and transmit data to an Icecast media streaming server LICENSE= LGPL20 LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libogg.so:audio/libogg \ libvorbis.so:audio/libvorbis OPTIONS_DEFINE= DOCS SPEEX THEORA OPTIONS_DEFAULT=SPEEX THEORA USES= gmake libtool pathfix pkgconfig ssl GNU_CONFIGURE= yes INSTALL_TARGET= install-strip LDFLAGS+= -lcrypto USE_LDCONFIG= yes SPEEX_CONFIGURE_ENABLE= speex SPEEX_LIB_DEPENDS= libspeex.so:audio/speex THEORA_CONFIGURE_ENABLE=theora THEORA_LIB_DEPENDS= libtheora.so:multimedia/libtheora post-patch: @${REINPLACE_CMD} -e '/^DATA = / s| $$(ckport_DATA)||; /^install-data-am:/ s| install-ckportDATA||' ${WRKSRC}/Makefile.in @${REINPLACE_CMD} -e 's| -ffast-math||g; /libssl/d' ${WRKSRC}/configure @${REINPLACE_CMD} -e '/^AM_CPPFLAGS = / s|^\(.*\) \(@XIPH_CPPFLAGS@\) \(.*\)$$|\1 \3 \2|' ${WRKSRC}/examples/Makefile.in @${REINPLACE_CMD} -e 's|#ifdef IPV6_V6ONLY|#if defined(__BSD_VISIBLE) \&\& defined(IPV6_V6ONLY)|' ${WRKSRC}/src/common/net/sock.c .include Index: head/audio/libshout/files/patch-include-shout-shout.h.in =================================================================== --- head/audio/libshout/files/patch-include-shout-shout.h.in (nonexistent) +++ head/audio/libshout/files/patch-include-shout-shout.h.in (revision 511026) @@ -0,0 +1,26 @@ +Obtained from: https://gitlab.xiph.org/xiph/icecast-libshout/commit/0ac7ed9e84c3871d4427acc1ce59dca5e4af21ef + +--- include/shout/shout.h.in.orig 2019-05-22 09:05:32 UTC ++++ include/shout/shout.h.in +@@ -85,6 +85,11 @@ extern "C" { + #define SHOUT_TLS_RFC2818 ( 11) /* Use TLS for transport layer like HTTPS [RFC2818] does. */ + #define SHOUT_TLS_RFC2817 ( 12) /* Use TLS via HTTP Upgrade:-header [RFC2817]. */ + ++/* Possible values for blocking */ ++#define SHOUT_BLOCKING_DEFAULT (255) /* Use the default blocking setting. */ ++#define SHOUT_BLOCKING_FULL ( 0) /* Block in all I/O related functions */ ++#define SHOUT_BLOCKING_NONE ( 1) /* Do not block in I/O related functions */ ++ + #define SHOUT_AI_BITRATE "bitrate" + #define SHOUT_AI_SAMPLERATE "samplerate" + #define SHOUT_AI_CHANNELS "channels" +@@ -244,7 +249,8 @@ int shout_set_protocol(shout_t *self, un + unsigned int shout_get_protocol(shout_t *self); + + /* Instructs libshout to use nonblocking I/O. Must be called before +- * shout_open (no switching back and forth midstream at the moment). */ ++ * shout_open (no switching back and forth midstream at the moment). ++ * nonblocking is one of SHOUT_BLOCKING_xxx. */ + int shout_set_nonblocking(shout_t* self, unsigned int nonblocking); + unsigned int shout_get_nonblocking(shout_t *self); + Property changes on: head/audio/libshout/files/patch-include-shout-shout.h.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/audio/libshout/files/patch-src-connection.c =================================================================== --- head/audio/libshout/files/patch-src-connection.c (nonexistent) +++ head/audio/libshout/files/patch-src-connection.c (revision 511026) @@ -0,0 +1,59 @@ +Obtained from: https://gitlab.xiph.org/xiph/icecast-libshout/commit/0ac7ed9e84c3871d4427acc1ce59dca5e4af21ef + https://gitlab.xiph.org/xiph/icecast-libshout/commit/b807c1e2550718bdc73d65ac1b05255d18f45c54 + +--- src/connection.c.orig 2019-05-20 19:32:59 UTC ++++ src/connection.c +@@ -118,7 +118,7 @@ static struct timeval shout_connection_i + .tv_usec = (timeout % 1000) * 1000 + }; + return tv; +- } else if (con->nonblocking) { ++ } else if (con->nonblocking == SHOUT_BLOCKING_NONE) { + return tv_nonblocking; + } else { + return tv_blocking; +@@ -167,7 +167,7 @@ static shout_connection_return_state_t s + } + break; + case SHOUT_SOCKSTATE_CONNECTING: +- if (con->nonblocking) { ++ if (con->nonblocking == SHOUT_BLOCKING_NONE) { + ret = shout_connection_iter__wait_for_io(con, shout, 1, 1, 0); + if (ret != SHOUT_RS_DONE) { + return ret; +@@ -460,7 +460,7 @@ int shout_connection_ite + break; \ + case SHOUT_RS_TIMEOUT: \ + case SHOUT_RS_NOTNOW: \ +- if (con->nonblocking) \ ++ if (con->nonblocking == SHOUT_BLOCKING_NONE) \ + return SHOUTERR_RETRY; \ + retry = 1; \ + break; \ +@@ -518,7 +518,7 @@ int shout_connection_sel + } + int shout_connection_set_nonblocking(shout_connection_t *con, unsigned int nonblocking) + { +- if (!con) ++ if (!con || (nonblocking != SHOUT_BLOCKING_DEFAULT && nonblocking != SHOUT_BLOCKING_FULL && nonblocking != SHOUT_BLOCKING_NONE)) + return SHOUTERR_INSANE; + + if (con->socket != SOCK_ERROR) +@@ -563,13 +563,14 @@ int shout_connection_con + if (con->socket != SOCK_ERROR || con->current_socket_state != SHOUT_SOCKSTATE_UNCONNECTED) + return SHOUTERR_BUSY; + +- shout_connection_set_nonblocking(con, shout_get_nonblocking(shout)); ++ if (con->nonblocking == SHOUT_BLOCKING_DEFAULT) ++ shout_connection_set_nonblocking(con, shout_get_nonblocking(shout)); + + port = shout->port; +- if (shout_get_protocol(shout) == SHOUT_PROTOCOL_ICY) ++ if (con->impl == shout_icy_impl) + port++; + +- if (con->nonblocking) { ++ if (con->nonblocking == SHOUT_BLOCKING_NONE) { + con->socket = sock_connect_non_blocking(shout->host, port); + } else { + con->socket = sock_connect(shout->host, port); Property changes on: head/audio/libshout/files/patch-src-connection.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/audio/libshout/files/patch-src-shout.c =================================================================== --- head/audio/libshout/files/patch-src-shout.c (nonexistent) +++ head/audio/libshout/files/patch-src-shout.c (revision 511026) @@ -0,0 +1,25 @@ +Obtained from: https://gitlab.xiph.org/xiph/icecast-libshout/commit/0ac7ed9e84c3871d4427acc1ce59dca5e4af21ef + +--- src/shout.c.orig 2019-05-22 09:05:32 UTC ++++ src/shout.c +@@ -417,7 +417,7 @@ int shout_set_metadata(shout_t *self, sh + #ifdef HAVE_OPENSSL + shout_connection_select_tlsmode(connection, self->tls_mode); + #endif +- shout_connection_set_nonblocking(connection, 0); ++ shout_connection_set_nonblocking(connection, SHOUT_BLOCKING_FULL); + + connection->target_message_state = SHOUT_MSGSTATE_PARSED_FINAL; + +@@ -989,7 +989,10 @@ unsigned int shout_get_protocol(shout_t + + int shout_set_nonblocking(shout_t *self, unsigned int nonblocking) + { +- if (!self || (nonblocking != 0 && nonblocking != 1)) ++ if (nonblocking == SHOUT_BLOCKING_DEFAULT) ++ nonblocking = SHOUT_BLOCKING_FULL; ++ ++ if (!self || (nonblocking != SHOUT_BLOCKING_FULL && nonblocking != SHOUT_BLOCKING_NONE)) + return SHOUTERR_INSANE; + + if (self->connection) Property changes on: head/audio/libshout/files/patch-src-shout.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property