diff options
Diffstat (limited to 'www-client/vivaldi-snapshot/vivaldi-snapshot-7.1.3527.3.ebuild')
-rw-r--r-- | www-client/vivaldi-snapshot/vivaldi-snapshot-7.1.3527.3.ebuild | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/www-client/vivaldi-snapshot/vivaldi-snapshot-7.1.3527.3.ebuild b/www-client/vivaldi-snapshot/vivaldi-snapshot-7.1.3527.3.ebuild new file mode 100644 index 000000000000..8063fc01d0e9 --- /dev/null +++ b/www-client/vivaldi-snapshot/vivaldi-snapshot-7.1.3527.3.ebuild @@ -0,0 +1,226 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CHROMIUM_VERSION="128" +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 + 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 toolchain-funcs 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 + +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 ) +" + +S="${WORKDIR}" +LICENSE="Vivaldi" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~arm64" +IUSE="ffmpeg-chromium gtk proprietary-codecs qt5 qt6 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 + 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 + ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) + widevine? ( www-plugins/chrome-binary-plugins ) +" + +QA_PREBUILT="*" +CONFIG_CHECK="~CPU_FREQ" + +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. + rm kmr.pak || die # No flag for Kurmanji. + chromium_remove_language_paks + popd > /dev/null || die + + if use proprietary-codecs; then + einfo Bundled $($(tc-getSTRINGS) ${VIVALDI_HOME}/lib/libffmpeg.so | grep -m1 "^FFmpeg version ") + 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 ! use qt6; then + 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 +} |