commit:     997986c149716eb0784421fbcd6d7e1032739bfa
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 15 14:27:07 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Fri Dec 15 14:32:03 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=997986c1

www-client/vivaldi: Add version 6.5.3206.39

Also allow use of mainline FFmpeg rather than the Chromium fork.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 www-client/vivaldi/Manifest                   |   3 +
 www-client/vivaldi/metadata.xml               |   3 +-
 www-client/vivaldi/vivaldi-6.5.3206.39.ebuild | 224 ++++++++++++++++++++++++++
 3 files changed, 229 insertions(+), 1 deletion(-)

diff --git a/www-client/vivaldi/Manifest b/www-client/vivaldi/Manifest
index 8585bac37caf..8e73e6c35c88 100644
--- a/www-client/vivaldi/Manifest
+++ b/www-client/vivaldi/Manifest
@@ -4,3 +4,6 @@ DIST vivaldi-stable_6.4.3160.44-1_armhf.deb 100950780 BLAKE2B 
5bbdcbbba0dd88db7b
 DIST vivaldi-stable_6.4.3160.47-1_amd64.deb 105651576 BLAKE2B 
662c8a469c6cd366a1fbdfceadb5a3ef4437abedd281937963c67755d1eb358ae3c0a0fa0d56f77b47e8bdea425fd90b320e8d2e1174df5bf3d6138d735e4521
 SHA512 
5aabd916bb78872994bc2083e2b900494d4a4074cd035082e5093780fa370db5a9d7f420d290f1089bf10699018a1e5a79def578cadbc74b7af730a7c6a5fc38
 DIST vivaldi-stable_6.4.3160.47-1_arm64.deb 100314332 BLAKE2B 
5fa8fb438ba562ac18f475af120840a815156335f087abb66a469d160bb136103b7b76c11cc2172c31b31a42debccf465a058b603c92a0954a5090549f69b576
 SHA512 
90fa7d9eff4cb2ef2492cbde4c8e0adc7156d8022c6064dd99f7f90b7badef05a30a9813a0126b0389e95d22a6e4bb787ea199cb3d0ce6bed380d01fd7528123
 DIST vivaldi-stable_6.4.3160.47-1_armhf.deb 100960588 BLAKE2B 
6154c7c2e482d10c36d342baa00b8fbf6e2aca229ca9faac2bf2560d3b266f5cc1e39379433edf56b5a8e15e8fbc43c57c5a981b7bccf2f4257edffa6a741c43
 SHA512 
3c382fecd2bb5fe2a65454ed784fc45c1daa632b2717a9b28c5aaf3770d7a9f8b82cae2b5f80bde7adb7d0d3656fc6b710a1b84ac62f2df8ef8e0c1f2a652aca
+DIST vivaldi-stable_6.5.3206.39-1_amd64.deb 106977464 BLAKE2B 
199383dfe17abef1efb936ad6370256b19aa2078d6924237fb9f7b5a20c5a6d3f7162077e8e0f7ede67911db4f61e389a7866e0c96f59b2fc387204968c1af97
 SHA512 
bb9255ea4d08ad0353a9df34d0903762dacc356ffd57b2d9393780bd37eb7d55e481ff74c9ea7b88b1f355830133c21f04eb7b7b458ccdb7f932588bda3e45bb
+DIST vivaldi-stable_6.5.3206.39-1_arm64.deb 100850000 BLAKE2B 
96cdc6897c960ee82e28bf091e18f2c13e01181f323a0ed92a8f4f80942c5660d0ad526bce1d54bf1bc1e8ea21358622a6b5d281dadfd1d971672739c49bb5c5
 SHA512 
905bb3b7cf9a348d93532825f822b06dc35de37acb09a6c8ba5d453bb4c69afc67c47e3fceac20b9ccec53f7debae07489ee4c83d073767d9522cd6bc617b0c0
+DIST vivaldi-stable_6.5.3206.39-1_armhf.deb 102305368 BLAKE2B 
8728b06c410165fb59205fecb6153ff99d8a2116197c2d1a6e0b08fa688a2fe536d57b7a2457c4e15bdc319a49ac9e9fa726feb3fbbcdeb19025078600614cb0
 SHA512 
d1a8c906b85f579438d78fcde7970c0890048605b46e97ebb15955e381837737959f027245a5af23051f0b78e29095ad2ee3304bc875d9df2903396623882200

diff --git a/www-client/vivaldi/metadata.xml b/www-client/vivaldi/metadata.xml
index 1170096145fc..5e37797ec3be 100644
--- a/www-client/vivaldi/metadata.xml
+++ b/www-client/vivaldi/metadata.xml
@@ -6,7 +6,8 @@
                <name>James Le Cuirot</name>
        </maintainer>
        <use>
-               <flag name="proprietary-codecs">Use system 
<pkg>media-video/ffmpeg</pkg> to support patent-encumbered media codecs</flag>
+               <flag name="ffmpeg-chromium">Use Chromium FFmpeg fork 
(<pkg>media-video/ffmpeg-chromium</pkg>) rather than mainline FFmpeg 
(<pkg>media-video/ffmpeg</pkg>)</flag>
+               <flag name="proprietary-codecs">Use system FFmpeg library to 
support patent-encumbered media codecs</flag>
                <flag name="widevine">Unsupported closed-source DRM capability 
(required by Netflix VOD)</flag>
        </use>
 </pkgmetadata>

diff --git a/www-client/vivaldi/vivaldi-6.5.3206.39.ebuild 
b/www-client/vivaldi/vivaldi-6.5.3206.39.ebuild
new file mode 100644
index 000000000000..1cb4e268a82f
--- /dev/null
+++ b/www-client/vivaldi/vivaldi-6.5.3206.39.ebuild
@@ -0,0 +1,224 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CHROMIUM_VERSION="120"
+CHROMIUM_LANGS="
+       af
+       am
+       ar
+       az
+       be
+       bg
+       bn
+       ca
+       ca-valencia
+       cs
+       da
+       de
+       de-CH
+       el
+       en-GB
+       en-US
+       eo
+       es
+       es-419
+       es-PE
+       et
+       eu
+       fa
+       fi
+       fil
+       fr
+       fy
+       gd
+       gl
+       gu
+       he
+       hi
+       hr
+       hu
+       hy
+       id
+       io
+       is
+       it
+       ja
+       jbo
+       ka
+       kab
+       kn
+       ko
+       ku
+       lt
+       lv
+       mk
+       ml
+       mr
+       ms
+       nb
+       nl
+       nn
+       pa
+       pl
+       pt-BR
+       pt-PT
+       ro
+       ru
+       sc
+       sk
+       sl
+       sq
+       sr
+       sr-Latn
+       sv
+       sw
+       ta
+       te
+       th
+       tr
+       uk
+       ur
+       vi
+       zh-CN
+       zh-TW
+"
+
+inherit chromium-2 desktop linux-info unpacker xdg
+
+VIVALDI_PN="${PN/%vivaldi/vivaldi-stable}"
+VIVALDI_HOME="opt/${PN}"
+DESCRIPTION="A browser for our friends"
+HOMEPAGE="https://vivaldi.com/";
+
+if [[ ${PV} = *_p* ]]; then
+       DEB_REV="${PV#*_p}"
+else
+       DEB_REV=1
+fi
+
+KEYWORDS="-* ~amd64 ~arm ~arm64"
+VIVALDI_BASE_URI="https://downloads.vivaldi.com/${VIVALDI_PN#vivaldi-}/${VIVALDI_PN}_${PV%_p*}-${DEB_REV}_";
+
+SRC_URI="
+       amd64? ( ${VIVALDI_BASE_URI}amd64.deb )
+       arm? ( ${VIVALDI_BASE_URI}armhf.deb )
+       arm64? ( ${VIVALDI_BASE_URI}arm64.deb )
+"
+
+LICENSE="Vivaldi"
+SLOT="0"
+IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 widevine"
+RESTRICT="bindist mirror"
+REQUIRED_USE="ffmpeg-chromium? ( proprietary-codecs )"
+
+RDEPEND="
+       >=app-accessibility/at-spi2-core-2.46.0:2
+       dev-libs/expat
+       dev-libs/glib:2
+       dev-libs/nspr
+       dev-libs/nss
+       media-libs/alsa-lib
+       media-libs/mesa[gbm(+)]
+       net-print/cups
+       sys-apps/dbus
+       x11-libs/cairo
+       x11-libs/libdrm
+       x11-libs/libX11
+       x11-libs/libxcb
+       x11-libs/libXcomposite
+       x11-libs/libXdamage
+       x11-libs/libXext
+       x11-libs/libXfixes
+       x11-libs/libxkbcommon
+       x11-libs/libXrandr
+       x11-libs/pango[X]
+       gtk? ( gui-libs/gtk:4 x11-libs/gtk+:3 )
+       proprietary-codecs? (
+               !ffmpeg-chromium? ( 
>=media-video/ffmpeg-6.1-r1:0/58.60.60[chromium] )
+               ffmpeg-chromium? ( 
media-video/ffmpeg-chromium:${CHROMIUM_VERSION} )
+       )
+       qt5? (
+               dev-qt/qtcore:5
+               dev-qt/qtgui:5
+               dev-qt/qtwidgets:5
+       )
+       widevine? ( www-plugins/chrome-binary-plugins )
+"
+
+QA_PREBUILT="*"
+CONFIG_CHECK="~CPU_FREQ"
+S="${WORKDIR}"
+
+src_unpack() {
+       unpack_deb ${A}
+}
+
+src_prepare() {
+       # Rename docs directory to our needs.
+       mv usr/share/doc/{${VIVALDI_PN},${PF}}/ || die
+
+       # Decompress the docs.
+       gunzip usr/share/doc/${PF}/changelog.gz || die
+
+       # The appdata directory is deprecated.
+       mv usr/share/{appdata,metainfo}/ || die
+
+       # Remove cron job for updating from Debian repos.
+       rm etc/cron.daily/${PN} ${VIVALDI_HOME}/cron/${PN} || die
+       rmdir etc/{cron.daily/,} ${VIVALDI_HOME}/cron/ || die
+
+       # Remove scripts that will most likely break things.
+       rm -vf ${VIVALDI_HOME}/update-{ffmpeg,widevine} || die
+
+       pushd ${VIVALDI_HOME}/locales > /dev/null || die
+       rm ja-KS.pak || die # No flag for Kansai as not in IETF list.
+       chromium_remove_language_paks
+       popd > /dev/null || die
+
+       if use proprietary-codecs; then
+               rm ${VIVALDI_HOME}/lib/libffmpeg.so || die
+               rmdir ${VIVALDI_HOME}/lib || die
+       fi
+
+       if ! use qt5; then
+               rm ${VIVALDI_HOME}/libqt5_shim.so || die
+       fi
+
+       if ! false; then # use qt6; then (TODO)
+               rm ${VIVALDI_HOME}/libqt6_shim.so || die
+       fi
+
+       eapply_user
+}
+
+src_install() {
+       mv */ "${D}" || die
+       dosym ../../${VIVALDI_HOME}/${PN} /usr/bin/${VIVALDI_PN}
+       fperms 4711 /${VIVALDI_HOME}/vivaldi-sandbox
+
+       local logo size
+       for logo in "${ED}"/${VIVALDI_HOME}/product_logo_*.png; do
+               size=${logo##*_}
+               size=${size%.*}
+               newicon -s "${size}" "${logo}" ${PN}.png
+       done
+
+       if use proprietary-codecs; then
+               dosym ../../usr/$(get_libdir)/chromium/libffmpeg.so$(usex 
ffmpeg-chromium .${CHROMIUM_VERSION} "") \
+                         /${VIVALDI_HOME}/libffmpeg.so.$(ver_cut 1-2)
+       fi
+
+       if use widevine; then
+               dosym ../../usr/$(get_libdir)/chromium-browser/WidevineCdm \
+                         /${VIVALDI_HOME}/WidevineCdm
+       else
+               rm "${ED}"/${VIVALDI_HOME}/WidevineCdm || die
+       fi
+
+       case ${PN} in
+               vivaldi) dosym ${VIVALDI_PN} /usr/bin/${PN} ;;
+               vivaldi-snapshot) dosym ${PN} /${VIVALDI_HOME}/vivaldi ;;
+       esac
+}

Reply via email to