151 lines
3.3 KiB
Bash
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
|
|
}
|