diff options
-rw-r--r-- | www-client/opera/Manifest | 1 | ||||
-rw-r--r-- | www-client/opera/opera-89.0.4447.91.ebuild | 158 |
2 files changed, 159 insertions, 0 deletions
diff --git a/www-client/opera/Manifest b/www-client/opera/Manifest index c400bd1747ba..8b82cc62e093 100644 --- a/www-client/opera/Manifest +++ b/www-client/opera/Manifest @@ -1,2 +1,3 @@ DIST opera-ffmpeg-codecs-102.0.5005.61.tar.xz 1429920 BLAKE2B a4cb07805650c3cd7f7e1127e475775c95d74b8cd17af5ad736a6d4f256176586b1608c2a617961cf2f3f7980879bc8f1a84cd9faa4838eafbc7b1b4e2edfe1a SHA512 af20383a0b77da89bf2ef52b412d9cce0a1f12bcfe2612ebd5110f1e8008cfff874da36e00b980609ac29346c545f2326bbe5f1b42473530f2886d67a00f52ca DIST opera-stable_89.0.4447.83_amd64.deb 86714216 BLAKE2B fad6220116819a352bca38b378c6164314fe82df230d8c6d024fb3188eed45a515151ba47c8646b7ce0d87e27761790add4fa404a2ce75db3a21b469d814c536 SHA512 e9ca106059848bbfd8b3778a8c2b26d6eb253137bfb451085df239e001ea3cd35a701acf10d770ac37a71eb70910f88dff6337d3cf79ad448dcdba2771b6d0ca +DIST opera-stable_89.0.4447.91_amd64.deb 86689928 BLAKE2B c626629f61fbdd8485355f949393fce061e54ccd2781ce73ca903123510fd0afee28fb34af5c29c381ace6961de0159c581315d71ade1c00a9e5f81899bd6128 SHA512 d43533f0804f15b74a87364f811ae2e05ab63289ee55e7f8f9f5c41c33381b22f317f7edbf6ae48f12ab41ccf702dd03e14ec0fc5a1b281a99eafed6ecd006e7 diff --git a/www-client/opera/opera-89.0.4447.91.ebuild b/www-client/opera/opera-89.0.4447.91.ebuild new file mode 100644 index 000000000000..d9356701daff --- /dev/null +++ b/www-client/opera/opera-89.0.4447.91.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +CHROMIUM_LANGS=" + bg bn ca cs da de el en-GB en-US es-419 es fil fi fr hi hr hu id + it ja ko lt lv ms nb nl pl pt-BR pt-PT ro ru sk sr sv sw ta te th tr uk vi + zh-CN zh-TW +" + +# These are intended for ebuild maintainer use to force RPM if DEB is not available. +: ${OPERA_FORCE_RPM=no} + +inherit chromium-2 pax-utils xdg + +if [[ ${OPERA_FORCE_RPM} == yes ]]; then + inherit rpm + OPERA_ARCHIVE_EXT="rpm" +else + inherit unpacker + OPERA_ARCHIVE_EXT="deb" +fi + +DESCRIPTION="A fast and secure web browser" +HOMEPAGE="https://www.opera.com/" +LICENSE="OPERA-2018" +SLOT="0" + +SRC_URI_BASE=( + "https://download1.operacdn.com/pub/${PN}" + "https://download2.operacdn.com/pub/${PN}" + "https://download3.operacdn.com/pub/${PN}" + "https://download4.operacdn.com/pub/${PN}" +) + +if [[ ${PN} == opera ]]; then + MY_PN=${PN}-stable + SRC_URI_BASE=( "${SRC_URI_BASE[@]/%//desktop}" ) +else + MY_PN=${PN} +fi + +KEYWORDS="-* ~amd64" + +FFMPEG_VERSION="102.0.5005.61" + +SRC_URI="${SRC_URI_BASE[@]/%//${PV}/linux/${MY_PN}_${PV}_amd64.${OPERA_ARCHIVE_EXT}} + proprietary-codecs? ( + mirror+https://dev.gentoo.org/~sultan/distfiles/www-client/opera/opera-ffmpeg-codecs-${FFMPEG_VERSION}.tar.xz + )" + +IUSE="+proprietary-codecs suid" +RESTRICT="bindist mirror strip" + +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 + gnome-base/gsettings-desktop-schemas + media-libs/alsa-lib + media-libs/mesa[gbm(+)] + net-misc/curl + net-print/cups + sys-apps/dbus + sys-libs/glibc + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/libdrm + x11-libs/libxcb + x11-libs/libxkbcommon + x11-libs/libxshmfence + x11-libs/libX11 + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXrandr + x11-libs/pango +" + +QA_PREBUILT="*" +S=${WORKDIR} +OPERA_HOME="opt/opera${PN#opera}" + +pkg_pretend() { + # Protect against people using autounmask overzealously + use amd64 || die "opera only works on amd64" +} + +pkg_setup() { + chromium_suid_sandbox_check_kernel_config +} + +src_unpack() { + : +} + +src_install() { + dodir / + cd "${ED}" || die + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rpm_src_unpack "${A[0]}" + else + unpacker + fi + + # move to /opt, bug #573052 + mkdir -p "${OPERA_HOME%${PN}}" + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + mv "usr/lib64/${PN}" "${OPERA_HOME%${PN}}" || die + else + mv "usr/lib/x86_64-linux-gnu/${PN}" "${OPERA_HOME%${PN}}" || die + fi + rm -r "usr/lib" || die + + # disable auto update + rm "${OPERA_HOME}/${PN%-*}_autoupdate"{,.licenses,.version} || die + + if [[ ${OPERA_FORCE_RPM} == yes ]]; then + rm "${OPERA_HOME}/setup_repo.sh" || die + else + rm -r "usr/share/lintian" || die + + # fix docs + mv usr/share/doc/${MY_PN} usr/share/doc/${PF} || die + gzip -d usr/share/doc/${PF}/changelog.gz || die + fi + + # fix desktop file + sed -i \ + -e 's|^TargetEnvironment|X-&|g' \ + usr/share/applications/${PN}.desktop || die + + # remove unused language packs + pushd "${OPERA_HOME}/localization" > /dev/null || die + chromium_remove_language_paks + popd > /dev/null || die + + # setup opera symlink + rm "usr/bin/${PN}" || die + dosym "../../${OPERA_HOME}/${PN}" "/usr/bin/${PN}" + + # install proprietary codecs + rm "${OPERA_HOME}/resources/ffmpeg_preload_config.json" || die + if use proprietary-codecs; then + mv lib_extra "${OPERA_HOME}" + fi + + # pax mark opera, bug #562038 + pax-mark m "${OPERA_HOME}/opera" + # enable suid sandbox if requested + use suid && fperms 4711 "${OPERA_HOME}/opera_sandbox" +} |