From 676b06fddde564e3b4ade774bbbf2123a2362339 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 12 Feb 2018 18:21:08 +0100 Subject: ffmpeg: enable ssl by default --- package/ffmpeg/Makefile | 7 +-- .../ffmpeg/patches/patch-libavformat_tls_openssl_c | 58 ++++++++++++++++++++++ 2 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 package/ffmpeg/patches/patch-libavformat_tls_openssl_c diff --git a/package/ffmpeg/Makefile b/package/ffmpeg/Makefile index 31b6414cf..900258739 100644 --- a/package/ffmpeg/Makefile +++ b/package/ffmpeg/Makefile @@ -5,13 +5,13 @@ include $(ADK_TOPDIR)/rules.mk PKG_NAME:= ffmpeg PKG_VERSION:= 3.4.1 -PKG_RELEASE:= 1 +PKG_RELEASE:= 2 PKG_HASH:= f3443e20154a590ab8a9eef7bc951e8731425efc75b44ff4bee31d8a7a574a2c PKG_DESCR:= record, convert and stream audio & video PKG_SECTION:= libs/video PKG_NEEDS:= threads -PKG_DEPENDS:= libncurses -PKG_BUILDDEP:= ncurses +PKG_DEPENDS:= libncurses libressl +PKG_BUILDDEP:= ncurses libressl PKG_URL:= http://www.ffmpeg.org/ PKG_SITES:= http://www.ffmpeg.org/releases/ PKG_LIBNAME:= libffmpeg @@ -184,6 +184,7 @@ CONFIGURE_ARGS:= --prefix=/usr \ --enable-nonfree \ --enable-swscale \ --enable-postproc \ + --enable-openssl \ $(CONFIGURE_CPU_OPTS) ifeq ($(ADK_PACKAGE_LIBFFMPEG_WITH_BZIP2),y) diff --git a/package/ffmpeg/patches/patch-libavformat_tls_openssl_c b/package/ffmpeg/patches/patch-libavformat_tls_openssl_c new file mode 100644 index 000000000..fabb23d1c --- /dev/null +++ b/package/ffmpeg/patches/patch-libavformat_tls_openssl_c @@ -0,0 +1,58 @@ +https://raw.githubusercontent.com/gentoo/libressl/master/media-video/ffmpeg/files/ffmpeg-3.3-libressl.patch + +--- ffmpeg-3.4.1.orig/libavformat/tls_openssl.c 2017-12-10 22:35:10.000000000 +0100 ++++ ffmpeg-3.4.1/libavformat/tls_openssl.c 2018-02-12 18:03:02.844775701 +0100 +@@ -43,7 +43,7 @@ typedef struct TLSContext { + TLSShared tls_shared; + SSL_CTX *ctx; + SSL *ssl; +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + BIO_METHOD* url_bio_method; + #endif + } TLSContext; +@@ -68,7 +68,7 @@ static unsigned long openssl_thread_id(v + + static int url_bio_create(BIO *b) + { +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + BIO_set_init(b, 1); + BIO_set_data(b, NULL); + BIO_set_flags(b, 0); +@@ -85,7 +85,7 @@ static int url_bio_destroy(BIO *b) + return 1; + } + +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + #define GET_BIO_DATA(x) BIO_get_data(x) + #else + #define GET_BIO_DATA(x) (x)->ptr +@@ -129,7 +129,7 @@ static int url_bio_bputs(BIO *b, const c + return url_bio_bwrite(b, str, strlen(str)); + } + +-#if OPENSSL_VERSION_NUMBER < 0x1010000fL ++#if OPENSSL_VERSION_NUMBER < 0x1010000fL || defined(LIBRESSL_VERSION_NUMBER) + static BIO_METHOD url_bio_method = { + .type = BIO_TYPE_SOURCE_SINK, + .name = "urlprotocol bio", +@@ -208,7 +208,7 @@ static int tls_close(URLContext *h) + SSL_CTX_free(c->ctx); + if (c->tls_shared.tcp) + ffurl_close(c->tls_shared.tcp); +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + if (c->url_bio_method) + BIO_meth_free(c->url_bio_method); + #endif +@@ -266,7 +266,7 @@ static int tls_open(URLContext *h, const + ret = AVERROR(EIO); + goto fail; + } +-#if OPENSSL_VERSION_NUMBER >= 0x1010000fL ++#if OPENSSL_VERSION_NUMBER >= 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER) + p->url_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK, "urlprotocol bio"); + BIO_meth_set_write(p->url_bio_method, url_bio_bwrite); + BIO_meth_set_read(p->url_bio_method, url_bio_bread); -- cgit v1.2.3