commit:     183f1f66c64b090d5dcdf3af18d65adda151361e
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sat Dec  9 21:23:51 2023 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Sat Dec  9 21:25:18 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=183f1f66

www-client/vivaldi-snapshot: Add version 6.5.3206.29

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

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

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

diff --git a/www-client/vivaldi-snapshot/Manifest 
b/www-client/vivaldi-snapshot/Manifest
index 2ec35793e85a..9d992cca01f7 100644
--- a/www-client/vivaldi-snapshot/Manifest
+++ b/www-client/vivaldi-snapshot/Manifest
@@ -4,3 +4,6 @@ DIST vivaldi-snapshot_6.5.3201.4-1_armhf.deb 102205784 BLAKE2B 
e12c1a0e46169a9b1
 DIST vivaldi-snapshot_6.5.3206.24-1_amd64.deb 106846764 BLAKE2B 
5f280e64bd0b62aabdb10526d8880aa683c17e0175f18b3fc1f64076f26ccb3b2441952d9975222ca6de2f640b18d29dadf586bdf6d4e1b45a97eed6f662f5ac
 SHA512 
921daf6447d5c797582266594b785b9de71dfa72b8eb1a947dc14624299c1254f17623d49a6df1f393c25f46c9339d1fccf900276160a9b59524c69d6c5e161f
 DIST vivaldi-snapshot_6.5.3206.24-1_arm64.deb 100811600 BLAKE2B 
beed04a690d97e8a162c1b0bfdcfa36acdaa8fc7406710ec710b76110448c4ba84a94129f9b4f234f4f813ebc1827399f828ab6f584e8b080bc5d73c8b6423cf
 SHA512 
a17a67e8929f7a61535e9d2e96d9654933bd558dfaa9da3a0609192ba5731c5910010e2d16e62b9769a10df56e57520715404688bbda89eef1f81e72b91c5cb5
 DIST vivaldi-snapshot_6.5.3206.24-1_armhf.deb 102242064 BLAKE2B 
430d87cb115abe590f787d9100ea44a1ed5a8b1313a7184ddf70a24f1c5f50c37a2e2362ca121b748ffcf181f429bf60f7621b0f4618124e3faee278c1a4c6d2
 SHA512 
56939bd575a430c984ab03f2b46354701fdc2611d1022a4a13a3e8b2263b4874aa91f037f197bf4c5549ff43b25c63094eee20287aae26bdc48341b306977422
+DIST vivaldi-snapshot_6.5.3206.29-1_amd64.deb 106760208 BLAKE2B 
68ff92af1e5b60cc3c048eb9e0dd1cfeca7ad556341a01ca4a1709d079d4ee6f23a559c7cd03e96913b3fb9eecfea4e5cc0e703bd770ab2697810ea8fc09a1ba
 SHA512 
5def4d22abba6352bf20157c42b347ec3f2762c8f38c05032ff93db550367897cc265607e5f6a33ae058e0482e3b0eb518cc78754c67521095aad080afa77de1
+DIST vivaldi-snapshot_6.5.3206.29-1_arm64.deb 100824792 BLAKE2B 
51585bdc72acea5d18035a76cf7ccbf136b78a4b1c863de4c869bf91c5f236dc45e562fb87094d995c14997d22936f45de4fadaa98206dec29d56b9e267136a3
 SHA512 
8b15c477bcec65ae3235b4b987a19db5a4037237298bd33e3a164f3ee2608eb0b2798cdf57fbf4d5e980381383506140537a48d1a40c4dd40adbaf016c78821a
+DIST vivaldi-snapshot_6.5.3206.29-1_armhf.deb 102259264 BLAKE2B 
4b413ae0561c18559eda8b21cf22fc5b6005879eb23a3ae206d81deb6238fa14342160cd75a1398a2bf9488e939d870d131373ecedca9f7282828a698ed906c8
 SHA512 
4e0bf530c37c7c0e39279c1cf9141aac62043aea92d34081478e1528c3c4caf0aed469a2a4120cad49a6048ddcd0c4516f9b2169e63602213342a0b694a3b780

diff --git a/www-client/vivaldi-snapshot/metadata.xml 
b/www-client/vivaldi-snapshot/metadata.xml
index 1170096145fc..5e37797ec3be 100644
--- a/www-client/vivaldi-snapshot/metadata.xml
+++ b/www-client/vivaldi-snapshot/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-snapshot/vivaldi-snapshot-6.5.3206.29.ebuild 
b/www-client/vivaldi-snapshot/vivaldi-snapshot-6.5.3206.29.ebuild
new file mode 100644
index 000000000000..7265c813be92
--- /dev/null
+++ b/www-client/vivaldi-snapshot/vivaldi-snapshot-6.5.3206.29.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="117"
+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