www-client/vivaldi: Add support for external libffmpeg (bug #580990).
authorJeroen Roovers <jer@gentoo.org>
Mon, 11 Sep 2017 18:34:10 +0000 (20:34 +0200)
committerJeroen Roovers <jer@gentoo.org>
Mon, 11 Sep 2017 18:37:04 +0000 (20:37 +0200)
Package-Manager: Portage-2.3.8, Repoman-2.3.3

www-client/vivaldi/files/vivaldi-1.11.917.43_p1-libffmpeg.patch [new file with mode: 0644]
www-client/vivaldi/vivaldi-1.11.917.43_p1-r1.ebuild [new file with mode: 0644]

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 (file)
index 0000000..a086191
--- /dev/null
@@ -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 (file)
index 0000000..31012c0
--- /dev/null
@@ -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
+}