commit 1c2107e46268d26b9c8794345cd1b59cf4e602a5
parent bf5c92a2653b287f96c40443a2b3f5cd2ac02aba
Author: Ted Hess <thess@kitschensync.net>
Date: Fri, 13 Jan 2017 16:38:50 -0500
libshout: Update to 2.4.1. Create -nossl variant
Signed-off-by: Ted Hess <thess@kitschensync.net>
Diffstat:
4 files changed, 86 insertions(+), 30 deletions(-)
diff --git a/libs/libshout/Makefile b/libs/libshout/Makefile
@@ -1,6 +1,4 @@
#
-# Copyright (C) 2008-2015 OpenWrt.org
-#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -8,17 +6,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libshout
-PKG_VERSION:=2.3.1
-PKG_RELEASE:=3
+PKG_VERSION:=2.4.1
+PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://downloads.us.xiph.org/releases/libshout/
-PKG_MD5SUM:=11765b2592e7ea623ccd93d3f8df172c
+PKG_MD5SUM:=89cebf8cb0197f639cde69c95177fe47
+PKG_HASH:=f3acb8dec26f2dbf6df778888e0e429a4ce9378a9d461b02a7ccbf2991bbf24d
PKG_LICENSE:=LGPL-2.0+
PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
+PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>, \
+ Ted Hess <thess@kitschensync.net>
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
@@ -29,24 +29,31 @@ define Package/libshout/default
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Shoutcast client library
- URL:=http://www.icecast.org/download.php
- DEPENDS:= +libvorbis +libvorbisidec +libpthread
+ URL:=http://www.icecast.org
+ DEPENDS:= +libvorbisidec +libpthread
endef
define Package/libshout
$(call Package/libshout/default)
- TITLE+= (no speex & theora)
- VARIANT:=nospeex
+ TITLE+= (no theora)
+ DEPENDS+= +libopenssl
+ VARIANT:=notheora
+endef
+
+define Package/libshout-nossl
+ $(call Package/libshout/default)
+ TITLE+= (no ssl/theora)
+ VARIANT:=nossl
endef
define Package/libshout-full
$(call Package/libshout/default)
- TITLE+= (all codecs)
- DEPENDS+= +libspeex +libtheora
+ TITLE+=(full)
+ DEPENDS+= +libtheora +libopenssl
VARIANT:=full
endef
-define Package/libshout/description
+define Package/libshout/description/default
libshout allows applications to easily communicate and broadcast
to an Icecast streaming media server. It handles the socket connections,
metadata communication, and data streaming for the calling application,
@@ -54,19 +61,36 @@ define Package/libshout/description
details.
endef
-Package/libshout-full/description=Package/libshout/description
+define Package/libshout/description
+ $(call Package/libshout/description/default)
+ .
+ This package does not have Theora support.
+endef
+
+define Package/libshout-nossl/description
+ $(call Package/libshout/description/default)
+ .
+ This package does not have OpenSSL or Theora support.
+endef
+
+Package/libshout-full/description=$(Package/libshout/description/default)
CONFIGURE_ARGS += \
--enable-shared \
- --enable-static
+ --enable-static \
+ --disable-speex
-ifeq ($(BUILD_VARIANT),nospeex)
- CONFIGURE_ARGS += --disable-theora --disable-speex
+ifeq ($(BUILD_VARIANT),notheora)
+ CONFIGURE_ARGS += --disable-theora
+endif
+
+ifeq ($(BUILD_VARIANT),nossl)
+ CONFIGURE_ARGS += --disable-theora --with-openssl="no"
endif
CONFIGURE_VARS += \
VORBIS_CFLAGS="-I$(STAGING_DIR)/usr/include/tremor/" \
- VORBIS_LIBS="$(TARGET_LDFLAGS) -lvorbis -lvorbisidec" \
+ VORBIS_LIBS="$(TARGET_LDFLAGS) -lvorbisidec" \
TARGET_CFLAGS += $(FPIC) -Wl,-rpath-link="$(STAGING_DIR)/usr/lib"
@@ -86,7 +110,10 @@ define Package/libshout/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libshout.so.* $(1)/usr/lib/
endef
+
Package/libshout-full/install=$(Package/libshout/install)
+Package/libshout-nossl/install=$(Package/libshout/install)
$(eval $(call BuildPackage,libshout))
+$(eval $(call BuildPackage,libshout-nossl))
$(eval $(call BuildPackage,libshout-full))
diff --git a/libs/libshout/patches/100-add_with-openssl_option.patch b/libs/libshout/patches/100-add_with-openssl_option.patch
@@ -0,0 +1,27 @@
+--- a/m4/xiph_openssl.m4
++++ b/m4/xiph_openssl.m4
+@@ -29,14 +29,16 @@ else
+ fi
+ fi
+
+-# Now try linking to openssl
+-xt_save_CFLAGS="$CFLAGS"
+-xt_save_LIBS="$LIBS"
+-CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
+-LIBS="$OPENSSL_LIBS $LIBS"
+-AC_TRY_LINK([#include <openssl/ssl.h>], [void *a = SSL_new], [openssl_ok='yes'])
+-CFLAGS="$xt_save_CFLAGS"
+-LIBS="$xt_save_LIBS"
++if test "x$openssl_prefix" != "xno"; then
++ # Now try linking to openssl
++ xt_save_CFLAGS="$CFLAGS"
++ xt_save_LIBS="$LIBS"
++ CFLAGS="$CFLAGS $OPENSSL_CFLAGS"
++ LIBS="$OPENSSL_LIBS $LIBS"
++ AC_TRY_LINK([#include <openssl/ssl.h>], [void *a = SSL_new], [openssl_ok='yes'])
++ CFLAGS="$xt_save_CFLAGS"
++ LIBS="$xt_save_LIBS"
++fi
+
+ if test "$openssl_ok" = "yes"; then
+ AC_DEFINE(HAVE_OPENSSL, 1, [Define if you have libopenssl.])
diff --git a/libs/libshout/patches/120-vorbis-c.patch b/libs/libshout/patches/120-vorbis-c.patch
@@ -1,5 +1,5 @@
---- a/src/vorbis.c
-+++ b/src/vorbis.c
+--- a/src/codec_vorbis.c
++++ b/src/codec_vorbis.c
@@ -28,7 +28,7 @@
#endif
#include <stdlib.h>
@@ -8,4 +8,4 @@
+#include <tremor/ivorbiscodec.h>
#include "shout_private.h"
- #include "shout_ogg.h"
+ #include "format_ogg.h"
diff --git a/libs/libshout/patches/140-no_example_doc_win32.patch b/libs/libshout/patches/140-no_example_doc_win32.patch
@@ -1,17 +1,19 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -288,12 +288,12 @@ top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -3,14 +3,14 @@
AUTOMAKE_OPTIONS = 1.6 foreign
ACLOCAL_AMFLAGS = -I m4
--SUBDIRS = include src examples debian doc win32
-+SUBDIRS = include src debian
+
+-SUBDIRS = include src examples doc win32
++SUBDIRS = include src
+
EXTRA_DIST = INSTALL m4/shout.m4 m4/acx_pthread.m4 \
m4/ogg.m4 m4/vorbis.m4 m4/xiph_compiler.m4 m4/xiph_net.m4 \
- m4/xiph_types.m4
+ m4/xiph_types.m4 libshout.ckport
+ docdir = $(datadir)/doc/$(PACKAGE)
-doc_DATA = COPYING NEWS README examples/example.c examples/nonblocking.c
-+doc_DATA = COPYING NEWS README
++doc_DATA = COPYING README
+
m4datadir = $(datadir)/aclocal
m4data_DATA = m4/shout.m4
- @HAVE_PKGCONFIG_TRUE@pkgconfigdir = $(libdir)/pkgconfig