# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 CHROMIUM_VERSION="100" CHROMIUM_LANGS=" af am ar bg bn ca cs da de de-CH el en-GB en-US eo es es-419 es-PE et fa fi fil fr fy gd gu he hi hr hu id io it ja jbo kab kn ko ku lt lv ml mr ms nb nl nn pl pt-BR pt-PT ro ru sc sk sl sr sv sw ta te th tr uk ur vi zh-CN zh-TW " inherit chromium-2 desktop 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}_" RE="\bamd64\b"; [[ ${KEYWORDS} =~ ${RE} ]] && SRC_URI+=" amd64? ( ${VIVALDI_BASE_URI}amd64.deb )" RE="\barm\b"; [[ ${KEYWORDS} =~ ${RE} ]] && SRC_URI+=" arm? ( ${VIVALDI_BASE_URI}armhf.deb )" RE="\barm64\b"; [[ ${KEYWORDS} =~ ${RE} ]] && SRC_URI+=" arm64? ( ${VIVALDI_BASE_URI}arm64.deb )" RE="\bx86\b"; [[ ${KEYWORDS} =~ ${RE} ]] && SRC_URI+=" x86? ( ${VIVALDI_BASE_URI}i386.deb )" LICENSE="Vivaldi" SLOT="0" IUSE="proprietary-codecs widevine" RESTRICT="bindist mirror" RDEPEND=" app-accessibility/at-spi2-atk:2 app-accessibility/at-spi2-core:2 dev-libs/atk 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] || ( gui-libs/gtk:4 x11-libs/gtk+:3 ) proprietary-codecs? ( media-video/ffmpeg-chromium:${CHROMIUM_VERSION} ) widevine? ( www-plugins/chrome-binary-plugins ) " QA_PREBUILT="*" 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 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.${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 }