From de3de7a9aaa840612b292dd8c70ef5f6b2102eb1 Mon Sep 17 00:00:00 2001 From: Jeroen Roovers Date: Mon, 11 Sep 2017 20:34:10 +0200 Subject: [PATCH] www-client/vivaldi: Add support for external libffmpeg (bug #580990). Package-Manager: Portage-2.3.8, Repoman-2.3.3 --- .../vivaldi-1.11.917.43_p1-libffmpeg.patch | 27 +++++ .../vivaldi/vivaldi-1.11.917.43_p1-r1.ebuild | 114 ++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 www-client/vivaldi/files/vivaldi-1.11.917.43_p1-libffmpeg.patch create mode 100644 www-client/vivaldi/vivaldi-1.11.917.43_p1-r1.ebuild diff --git a/www-client/vivaldi/files/vivaldi-1.11.917.43_p1-libffmpeg.patch b/www-client/vivaldi/files/vivaldi-1.11.917.43_p1-libffmpeg.patch new file mode 100644 index 000000000000..a0861913d335 --- /dev/null +++ b/www-client/vivaldi/files/vivaldi-1.11.917.43_p1-libffmpeg.patch @@ -0,0 +1,27 @@ +--- a/opt/vivaldi/vivaldi ++++ b/opt/vivaldi/vivaldi +@@ -32,14 +32,14 @@ + # Chromium's FFMpeg version N-82746-g6bb7ea7 is the oldest known working version + # chromium/third_party/ffmpeg/chromium/config/Chromium/linux/x64/libavutil/ffversion.h + if [ -r "$1" ]; then +- if [ `grep -aom1 'FFmpeg version N-[0-9]\+-' "$1" | cut -f2 -d-` -ge "82746" ]; then ++# if [ `grep -aom1 'FFmpeg version N-[0-9]\+-' "$1" | cut -f2 -d-` -ge "82746" ]; then + if [[ -n "$LD_PRELOAD" ]]; then + export LD_PRELOAD="$LD_PRELOAD:$1" + else + export LD_PRELOAD="$1" + fi + export VIVALDI_FFMPEG_FOUND=YES +- fi ++# fi + fi + fi + fi +@@ -54,6 +54,7 @@ + # Check for libs in order that they are most likely to appear. + # Where possible, use other files/directories to confirm it's the correct variant. + VIVALDI_FFMPEG_FOUND=NO ++checkffmpeg "/usr/lib64/chromium/libffmpeg.so" + checkffmpeg "/usr/lib/$DEBARCH/oxide-qt/libffmpeg.so" '/usr/share/doc/oxideqt-codecs-extra' + checkffmpeg '/usr/lib/chromium-browser/libffmpeg.so' '/usr/share/doc/chromium-codecs-ffmpeg-extra' + diff --git a/www-client/vivaldi/vivaldi-1.11.917.43_p1-r1.ebuild b/www-client/vivaldi/vivaldi-1.11.917.43_p1-r1.ebuild new file mode 100644 index 000000000000..31012c00e4f0 --- /dev/null +++ b/www-client/vivaldi/vivaldi-1.11.917.43_p1-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +CHROMIUM_LANGS=" + am ar bg bn ca cs da de el en-GB en-US es es-419 et fa fi fil fr gu he hi + hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv + sw ta te th tr uk vi zh-CN zh-TW +" +inherit chromium-2 eutils multilib unpacker toolchain-funcs + +#VIVALDI_BRANCH="snapshot" + +VIVALDI_PN="${PN}-${VIVALDI_BRANCH:-stable}" +VIVALDI_BIN="${PN}${VIVALDI_BRANCH/snapshot/-snapshot}" +VIVALDI_HOME="opt/${VIVALDI_BIN}" +DESCRIPTION="A new browser for our friends" +HOMEPAGE="http://vivaldi.com/" +VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_BRANCH:-stable}/${VIVALDI_PN}_${PV/_p/-}_" +SRC_URI=" + amd64? ( ${VIVALDI_BASE_URI}amd64.deb -> ${P}-amd64.deb ) + x86? ( ${VIVALDI_BASE_URI}i386.deb -> ${P}-i386.deb ) +" + +LICENSE="Vivaldi" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +RESTRICT="bindist mirror" + +DEPEND=" + virtual/libiconv +" +RDEPEND=" + dev-libs/expat + dev-libs/glib:2 + dev-libs/nspr + dev-libs/nss + >=dev-libs/openssl-1.0.1:0 + gnome-base/gconf:2 + media-libs/alsa-lib + media-libs/fontconfig + media-libs/freetype + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/libcap + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:2 + x11-libs/libX11 + x11-libs/libXScrnSaver + x11-libs/libXcomposite + x11-libs/libXcursor + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXrender + x11-libs/libXtst + x11-libs/pango[X] +" +QA_PREBUILT="*" +S=${WORKDIR} + +src_unpack() { + unpack_deb ${A} +} + +src_prepare() { + iconv -c -t UTF-8 usr/share/applications/${VIVALDI_PN}.desktop > "${T}"/${VIVALDI_PN}.desktop || die + mv "${T}"/${VIVALDI_PN}.desktop usr/share/applications/${VIVALDI_PN}.desktop || die + + sed -i \ + -e "s|${VIVALDI_BIN}|${PN}|g" \ + usr/share/applications/${VIVALDI_PN}.desktop \ + usr/share/xfce4/helpers/${VIVALDI_BIN}.desktop || die + + mv usr/share/doc/${VIVALDI_PN} usr/share/doc/${PF} || die + chmod 0755 usr/share/doc/${PF} || die + + rm \ + _gpgbuilder \ + etc/cron.daily/${VIVALDI_BIN} \ + ${VIVALDI_HOME}/libwidevinecdm.so \ + || die + rmdir \ + etc/cron.daily/ \ + etc/ \ + || die + + local c d + for d in 16 22 24 32 48 64 128 256; do + mkdir -p usr/share/icons/hicolor/${d}x${d}/apps || die + cp \ + ${VIVALDI_HOME}/product_logo_${d}.png \ + usr/share/icons/hicolor/${d}x${d}/apps/vivaldi.png || die + done + + pushd "${VIVALDI_HOME}/locales" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + epatch "${FILESDIR}"/${PN}-1.11.917.43_p1-libffmpeg.patch + + epatch_user +} + +src_install() { + mv * "${D}" || die + dosym /${VIVALDI_HOME}/${PN} /usr/bin/${PN} + + fperms 4711 /${VIVALDI_HOME}/${PN}-sandbox +} -- 2.26.2