From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id ED4571382C5 for ; Wed, 25 Apr 2018 11:25:25 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 041FCE0908; Wed, 25 Apr 2018 11:25:24 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id C12BBE0908 for ; Wed, 25 Apr 2018 11:25:23 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 5D146335C5C for ; Wed, 25 Apr 2018 11:25:22 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 86B8C27E for ; Wed, 25 Apr 2018 11:25:20 +0000 (UTC) From: "Alexis Ballier" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Alexis Ballier" Message-ID: <1524655445.a808806c00e4f441b95e182b84b10eb8ad8e243f.aballier@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/ffmpeg/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-video/ffmpeg/ffmpeg-4.0.ebuild media-video/ffmpeg/ffmpeg-9999.ebuild X-VCS-Directories: media-video/ffmpeg/ X-VCS-Committer: aballier X-VCS-Committer-Name: Alexis Ballier X-VCS-Revision: a808806c00e4f441b95e182b84b10eb8ad8e243f X-VCS-Branch: master Date: Wed, 25 Apr 2018 11:25:20 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 1ae96e27-f6cf-4635-a666-499b2cea6b84 X-Archives-Hash: f5f719fc5fe98a02a72a8ab136022ee6 commit: a808806c00e4f441b95e182b84b10eb8ad8e243f Author: Alexis Ballier gentoo org> AuthorDate: Wed Apr 25 11:24:05 2018 +0000 Commit: Alexis Ballier gentoo org> CommitDate: Wed Apr 25 11:24:05 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a808806c media-video/ffmpeg: improve crypto lib logic Ensure all combinations of crypto lib useflags are possible. Make the behavior match use.desc. Minor: Add RESTRICT=bindist when building gpl with libressl. Package-Manager: Portage-2.3.31, Repoman-2.3.9 media-video/ffmpeg/ffmpeg-4.0.ebuild | 30 +++++++++++++++++------------- media-video/ffmpeg/ffmpeg-9999.ebuild | 32 ++++++++++++++++++-------------- 2 files changed, 35 insertions(+), 27 deletions(-) diff --git a/media-video/ffmpeg/ffmpeg-4.0.ebuild b/media-video/ffmpeg/ffmpeg-4.0.ebuild index 0f932551acf..480732eac83 100644 --- a/media-video/ffmpeg/ffmpeg-4.0.ebuild +++ b/media-video/ffmpeg/ffmpeg-4.0.ebuild @@ -196,7 +196,6 @@ RDEPEND=" gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gnutls? ( !openssl? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) iec61883? ( @@ -215,7 +214,6 @@ RDEPEND=" libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) @@ -225,7 +223,6 @@ RDEPEND=" openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] ) opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) @@ -258,6 +255,19 @@ RDEPEND=" postproc? ( !media-libs/libpostproc ) " +# Crypto & co provider magic +# - libressl is a useflag meaning it should always favor libressl over openssl +# - libressl and openssl provide more features to ffmpeg than gnutls +# +# The ordering is thus: libressl > openssl > gnutls +RDEPEND="${RDEPEND} + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + !libressl? ( + openssl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] ) + !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) + ) +" + DEPEND="${RDEPEND} >=sys-devel/make-3.81 doc? ( sys-apps/texinfo ) @@ -288,7 +298,7 @@ REQUIRED_USE=" ${GPL_REQUIRED_USE} ${CPU_REQUIRED_USE}" RESTRICT=" - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) + gpl? ( openssl? ( bindist ) fdk? ( bindist ) libressl? ( bindist ) ) " S=${WORKDIR}/${P/_/-} @@ -349,15 +359,9 @@ multilib_src_configure() { done # Incompatible features: openssl or libressl and gnutls - # openssl and libressl support provides a (strict) superset of gnutls support as of 2017.11.30 - # So, we warn the user and disable gnutls - if use openssl && use gnutls; then - ewarn "openssl and gnutls are mutually exclusive in ${PN}, disabling gnutls since openssl provides more features" - myconf+=( --disable-gnutls ) - fi - - if use libressl && use gnutls; then - ewarn "libressl and gnutls are mutually excluse in ${PN}, disabling gnutls since libressl provides more features" + if use libressl ; then + myconf+=( --disable-gnutls --disable-openssl ) + elif use openssl ; then myconf+=( --disable-gnutls ) fi diff --git a/media-video/ffmpeg/ffmpeg-9999.ebuild b/media-video/ffmpeg/ffmpeg-9999.ebuild index bc7026c5e25..bd45bac1d29 100644 --- a/media-video/ffmpeg/ffmpeg-9999.ebuild +++ b/media-video/ffmpeg/ffmpeg-9999.ebuild @@ -196,7 +196,6 @@ RDEPEND=" gcrypt? ( >=dev-libs/libgcrypt-1.6:0=[${MULTILIB_USEDEP}] ) gme? ( >=media-libs/game-music-emu-0.6.0[${MULTILIB_USEDEP}] ) gmp? ( >=dev-libs/gmp-6:0=[${MULTILIB_USEDEP}] ) - gnutls? ( !openssl? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) gsm? ( >=media-sound/gsm-1.0.13-r1[${MULTILIB_USEDEP}] ) iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] ) iec61883? ( @@ -215,7 +214,6 @@ RDEPEND=" libcaca? ( >=media-libs/libcaca-0.99_beta18-r1[${MULTILIB_USEDEP}] ) libdrm? ( x11-libs/libdrm[${MULTILIB_USEDEP}] ) libilbc? ( >=media-libs/libilbc-2[${MULTILIB_USEDEP}] ) - libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) libsoxr? ( >=media-libs/soxr-0.1.0[${MULTILIB_USEDEP}] ) libv4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] ) lv2? ( media-libs/lv2[${MULTILIB_USEDEP}] media-libs/lilv[${MULTILIB_USEDEP}] ) @@ -225,7 +223,6 @@ RDEPEND=" openal? ( >=media-libs/openal-1.15.1[${MULTILIB_USEDEP}] ) opencl? ( virtual/opencl[${MULTILIB_USEDEP}] ) opengl? ( >=virtual/opengl-7.0-r1[${MULTILIB_USEDEP}] ) - openssl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] ) opus? ( >=media-libs/opus-1.0.2-r2[${MULTILIB_USEDEP}] ) pulseaudio? ( >=media-sound/pulseaudio-2.1-r1[${MULTILIB_USEDEP}] ) librtmp? ( >=media-video/rtmpdump-2.4_p20131018[${MULTILIB_USEDEP}] ) @@ -258,6 +255,19 @@ RDEPEND=" postproc? ( !media-libs/libpostproc ) " +# Crypto & co provider magic +# - libressl is a useflag meaning it should always favor libressl over openssl +# - libressl and openssl provide more features to ffmpeg than gnutls +# +# The ordering is thus: libressl > openssl > gnutls +RDEPEND="${RDEPEND} + libressl? ( dev-libs/libressl:0=[${MULTILIB_USEDEP}] ) + !libressl? ( + openssl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] ) + !openssl? ( gnutls? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) ) + ) +" + DEPEND="${RDEPEND} >=sys-devel/make-3.81 doc? ( sys-apps/texinfo ) @@ -288,7 +298,7 @@ REQUIRED_USE=" ${GPL_REQUIRED_USE} ${CPU_REQUIRED_USE}" RESTRICT=" - gpl? ( openssl? ( bindist ) fdk? ( bindist ) ) + gpl? ( openssl? ( bindist ) fdk? ( bindist ) libressl? ( bindist ) ) " S=${WORKDIR}/${P/_/-} @@ -313,7 +323,7 @@ multilib_src_configure() { local myconf=( ${EXTRA_FFMPEG_CONF} ) local ffuse=( "${FFMPEG_FLAG_MAP[@]}" ) - use openssl || use libressl && use gpl && myconf+=( --enable-nonfree ) + use openssl || use libressl && use gpl && myconf+=( --enable-nonfree ) use samba && myconf+=( --enable-version3 ) # Encoders @@ -349,18 +359,12 @@ multilib_src_configure() { done # Incompatible features: openssl or libressl and gnutls - # openssl and libressl support provides a (strict) superset of gnutls support as of 2017.11.30 - # So, we warn the user and disable gnutls - if use openssl && use gnutls; then - ewarn "openssl and gnutls are mutually exclusive in ${PN}, disabling gnutls since openssl provides more features" + if use libressl ; then + myconf+=( --disable-gnutls --disable-openssl ) + elif use openssl ; then myconf+=( --disable-gnutls ) fi - if use libressl && use gnutls; then - ewarn "libressl and gnutls are mutually excluse in ${PN}, disabling gnutls since libressl provides more features" - myconf+=( --disable-gnutls ) - fi - # (temporarily) disable non-multilib deps if ! multilib_is_native_abi; then for i in frei0r libzmq ; do