diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2018-09-13 17:34:27 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2018-09-13 17:34:45 +0200 |
commit | ded87ac360dd80ae69eb86dfb02183c4ceaf4652 (patch) | |
tree | f8c1061296043e96d9d3cfca93c83f6bd5973d94 /media-libs/libshout | |
parent | app-misc/elasticsearch: fix x-pack path (diff) | |
download | gentoo-ded87ac360dd80ae69eb86dfb02183c4ceaf4652.tar.gz gentoo-ded87ac360dd80ae69eb86dfb02183c4ceaf4652.tar.bz2 gentoo-ded87ac360dd80ae69eb86dfb02183c4ceaf4652.zip |
media-libs/libshout: Fixed compilation with openssl-1.1
Closes: https://bugs.gentoo.org/655688
Package-Manager: Portage-2.3.49, Repoman-2.3.10
Diffstat (limited to 'media-libs/libshout')
-rw-r--r-- | media-libs/libshout/files/libshout-2.4.1-tls-compile-with-OpenSSL-1.1.0.patch | 58 | ||||
-rw-r--r-- | media-libs/libshout/libshout-2.4.1-r2.ebuild | 59 |
2 files changed, 117 insertions, 0 deletions
diff --git a/media-libs/libshout/files/libshout-2.4.1-tls-compile-with-OpenSSL-1.1.0.patch b/media-libs/libshout/files/libshout-2.4.1-tls-compile-with-OpenSSL-1.1.0.patch new file mode 100644 index 000000000000..befd16e38464 --- /dev/null +++ b/media-libs/libshout/files/libshout-2.4.1-tls-compile-with-OpenSSL-1.1.0.patch @@ -0,0 +1,58 @@ +From 01fafc449f0de56743d08e7976933c49e2915bfa Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> +Date: Wed, 15 Nov 2017 12:46:25 +0000 +Subject: [PATCH] tls: compile with OpenSSL 1.1.0 + +The init functions are not longer required in OpenSSL 1.1 so I dropped +them. + +TLSv1_client_method() should not be used because it enables only the +TLSv1.0 protocol. Better is to use SSLv23_client_method() which enable +all the protocols including TLSv1.2. With this functions SSLv2 and SSLv3 +is theoretically possible but as of today those protocols are usually +build-time disabled. +To avoid all this OpenSSL 1.1 provides TLS_client_method() which is aim +to provide to highest TLS protocol version (same as +SSLv23_client_method() but it is deprecated in 1.1). + +Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> +--- + src/tls.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/src/tls.c b/src/tls.c +index 4562c7327077..e0e5c1a5f079 100644 +--- a/src/tls.c ++++ b/src/tls.c +@@ -24,6 +24,7 @@ + #endif + + #include <shout/shout.h> ++#include <string.h> + #include "shout_private.h" + + #ifndef XXX_HAVE_X509_check_host +@@ -61,14 +62,17 @@ shout_tls_t *shout_tls_new(shout_t *self, sock_t socket) + + static inline int tls_setup(shout_tls_t *tls) + { +- SSL_METHOD *meth; +- ++ const SSL_METHOD *meth; ++#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(LIBRESSL_VERSION_NUMBER) + SSL_library_init(); + SSL_load_error_strings(); + SSLeay_add_all_algorithms(); +- SSLeay_add_ssl_algorithms(); ++ SSLeay_add_ssl_algorithms(); + +- meth = TLSv1_client_method(); ++ meth = SSLv23_client_method(); ++#else ++ meth = TLS_client_method(); ++#endif + if (!meth) + goto error; + +-- +2.15.0 diff --git a/media-libs/libshout/libshout-2.4.1-r2.ebuild b/media-libs/libshout/libshout-2.4.1-r2.ebuild new file mode 100644 index 000000000000..be0811811b82 --- /dev/null +++ b/media-libs/libshout/libshout-2.4.1-r2.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools multilib-minimal + +DESCRIPTION="library for connecting and sending data to icecast servers" +HOMEPAGE="http://www.icecast.org/" +SRC_URI="http://downloads.xiph.org/releases/${PN}/${P}.tar.gz" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" +IUSE="libressl speex static-libs theora" + +RDEPEND=" + >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] + >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl ) + speex? ( >=media-libs/speex-1.2_rc1-r1[${MULTILIB_USEDEP}] ) + theora? ( >=media-libs/libtheora-1.1.1[${MULTILIB_USEDEP}] ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig +" + +MULTILIB_WRAPPED_HEADERS=( + /usr/include/shout/shout.h +) + +DOCS=( README examples/example.c ) + +PATCHES=( + "${FILESDIR}"/${PN}-2.4.1-underlinking.patch + "${FILESDIR}"/${PN}-2.4.1-tls-compile-with-OpenSSL-1.1.0.patch +) + +src_prepare() { + default + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + $(use_enable static-libs static) + $(use_enable theora) + $(use_enable speex) + ) + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_install_all() { + einstalldocs + rm -rf "${ED%/}"/usr/share/doc/${PN} || die + find "${D}" -name '*.la' -delete || die +} |