speedie-overlay/www-client/icecat-bin/icecat-bin-60.7.0.ebuild
2022-11-11 15:48:06 +01:00

151 lines
3.3 KiB
Bash

# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop linux-info pax-utils xdg
BASE_URI="https://ftp.gnu.org/gnu/gnuzilla/${PV}"
SRC_URI="amd64? ( ${BASE_URI}/icecat-${PV}.en-US.gnulinux-x86_64.tar.bz2 -> ${PN}_x86_64-${PV}.tar.bz2 )
x86? ( ${BASE_URI}/icecat-${PV}.en-US.gnulinux-i686.tar.bz2 -> ${PN}_i686-${PV}.tar.bz2 )"
DESCRIPTION="GNU IceCat web browser"
HOMEPAGE="https://gnu.org/software/gnuzilla"
KEYWORDS="-* amd64 x86"
SLOT="rapid"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
IUSE="+alsa +ffmpeg +pulseaudio selinux"
RESTRICT="strip"
BDEPEND="app-arch/unzip
alsa? (
!pulseaudio? (
dev-util/patchelf
)
)"
COMMON_DEPEND="alsa? (
!pulseaudio? (
media-sound/apulse
)
)"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
dev-libs/atk
dev-libs/dbus-glib
>=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/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/libXtst
x11-libs/libxcb
>=x11-libs/pango-1.22.0
alsa? (
!pulseaudio? ( media-sound/apulse )
)
ffmpeg? ( media-video/ffmpeg )
pulseaudio? ( media-sound/pulseaudio )
selinux? ( sec-policy/selinux-mozilla )
"
src_unpack() {
local _src_file
mkdir "${S}" || die
for _src_file in ${A} ; do
MY_SRC_FILE=${_src_file}
done
}
src_install() {
# Set GNU_FIVE_HOME
local GNU_FIVE_HOME="/opt/icecat"
dodir /opt
pushd "${ED}"/opt &>/dev/null || die
unpack "${MY_SRC_FILE}"
popd &>/dev/null || die
pax-mark m \
"${ED}${GNU_FIVE_HOME}"/${MOZ_PN} \
"${ED}${GNU_FIVE_HOME}"/${MOZ_PN}-bin \
"${ED}${GNU_FIVE_HOME}"/plugin-container
# Patch alsa support
local apulselib=
if use alsa && ! use pulseaudio ; then
apulselib="${EPREFIX}/usr/$(get_libdir)/apulse"
patchelf --set-rpath "${apulselib}" "${ED}${GNU_FIVE_HOME}/libxul.so" || die
fi
# Install icons
local icon_srcdir="${ED}/${GNU_FIVE_HOME}/browser/chrome/icons/default"
local icon_symbolic_file="${FILESDIR}/icecat-symbolic.svg"
insinto /usr/share/icons/hicolor/symbolic/apps
newins "${icon_symbolic_file}" ${PN}-symbolic.svg
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="GNU IceCat (bin)"
local desktop_file="${FILESDIR}/${PN}-r3.desktop"
local desktop_filename="${PN}.desktop"
local exec_command="${PN}"
local icon="${PN}"
cp "${desktop_file}" "${WORKDIR}/${PN}.desktop-template" || die
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:@GNU_FIVE_HOME@:${GNU_FIVE_HOME}:" \
-e "s:@APULSELIB_DIR@:${apulselib}:" \
"${ED}/usr/bin/${PN}" \
|| die
}