# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 MOZ_PV=${PV} MOZ_PV_SUFFIX= MOZ_PN="${PN%-bin}" MOZ_P="${MOZ_PN}-${MOZ_PV}" MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" inherit desktop linux-info optfeature pax-utils xdg SRC_URI="https://rm-us.palemoon.org/release/${MOZ_PN}-${MOZ_PV}.linux-x86_64-gtk3.tar.xz" DESCRIPTION="Fork of Firefox" KEYWORDS="-* amd64" LICENSE="MPL-2.0 GPL-2 LGPL-2.1" SLOT=0 IUSE="+alsa +gmp-autoupdate +pulseaudio selinux wayland" RESTRICT="strip" BDEPEND="app-arch/unzip" RDEPEND="${DEPEND} !www-client/firefox-bin:0 >=app-accessibility/at-spi2-core-2.46.0:2 >=dev-libs/glib-2.26:2 media-libs/alsa-lib media-libs/fontconfig >=media-libs/freetype-2.4.10 sys-apps/dbus virtual/freedesktop-icon-theme >=x11-libs/cairo-1.10[X] x11-libs/gdk-pixbuf:2 >=x11-libs/gtk+-3.11:3[X,wayland?] x11-libs/libX11 x11-libs/libXcomposite x11-libs/libXcursor x11-libs/libXdamage x11-libs/libXext x11-libs/libXfixes x11-libs/libXi x11-libs/libXrandr x11-libs/libXrender x11-libs/libxcb >=x11-libs/pango-1.22.0 alsa? ( !pulseaudio? ( media-sound/apulse ) ) pulseaudio? ( media-libs/libpulse ) selinux? ( sec-policy/selinux-mozilla ) " QA_PREBUILT="opt/${MOZ_PN}/*" pkg_setup() { CONFIG_CHECK="~SECCOMP" WARNING_SECCOMP="CONFIG_SECCOMP not set! This system will be unable to play DRM-protected content." linux-info_pkg_setup } src_unpack() { local _lp_dir="${WORKDIR}/language_packs" local _src_file mkdir "${S}" || die if [[ ! -d "${_lp_dir}" ]] ; then mkdir "${_lp_dir}" || die fi for _src_file in ${A} ; do if [[ ${_src_file} == *.xpi ]]; then cp "${DISTDIR}/${_src_file}" "${_lp_dir}" || die "Failed to copy '${_src_file}' to '${_lp_dir}'!" else MY_SRC_FILE=${_src_file} fi done } src_install() { # Set MOZILLA_FIVE_HOME local MOZILLA_FIVE_HOME="/opt/${MOZ_PN}" dodir /opt pushd "${ED}"/opt &>/dev/null || die unpack "${MY_SRC_FILE}" popd &>/dev/null || die # Install policy (currently only used to disable application updates) local icon_srcdir="${ED}/${MOZILLA_FIVE_HOME}/browser/chrome/icons/default" insinto /usr/share/icons/hicolor/symbolic/apps local icon size for icon in "${icon_srcdir}"/default*.png ; do size=${icon%.png} size=${size##*/default} if [[ ${size} -eq 48 ]] ; then newicon "${icon}" ${PN}.png fi newicon -s ${size} "${icon}" ${PN}.png done # Install menu local app_name="Pale Moon (bin)" local desktop_file="${FILESDIR}/${PN}-r3.desktop" local desktop_filename="${PN}.desktop" local icon="${PN}" local use_wayland="false" local exec_command="${PN}" cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die # Add apulse support through our wrapper shell launcher, patchelf-method broken since 119.0. # See bgo#916230 local apulselib= if use alsa && ! use pulseaudio ; then apulselib="${EPREFIX}/usr/$(get_libdir)/apulse" fi sed -i \ -e "s:@NAME@:${app_name}:" \ -e "s:@EXEC@:${exec_command}:" \ -e "s:@ICON@:${icon}:" \ "${WORKDIR}/${PN}.desktop-template" \ || die newmenu "${WORKDIR}/${PN}.desktop-template" "${desktop_filename}" rm "${WORKDIR}/${PN}.desktop-template" || die # Install wrapper script [[ -f "${ED}/usr/bin/${PN}" ]] && rm "${ED}/usr/bin/${PN}" newbin "${FILESDIR}/${PN}-r1.sh" ${PN} # Update wrapper sed -i \ -e "s:@PREFIX@:${EPREFIX}/usr:" \ -e "s:@MOZ_FIVE_HOME@:${EPREFIX}${MOZILLA_FIVE_HOME}:" \ "${ED}/usr/bin/${PN}" \ || die } pkg_postinst() { xdg_pkg_postinst }