www-client/waterfox: bump to 2020.09
Package-Manager: Portage-3.0.4, Repoman-3.0.1 Signed-off-by: Maciej Barć <xgqt@protonmail.com>
This commit is contained in:
parent
fcd6eb6346
commit
ae969e3f9c
@ -2,3 +2,4 @@ DIST firefox-56.0-patches-07.tar.xz 12696 BLAKE2B 60fe9e4aee235bebd1ceeeca9f455b
|
||||
DIST waterfox-2020.05.tar.gz 409604600 BLAKE2B 2ba76eea8623c27c9bfa4baa182a89c5f6734c107082032cf49a4f3bdda340b3d65c54337553908f8cf8657d9da515d3fa6d3536b4d5ff869092582a85de7e0b SHA512 50bc6c8f2d8a1c9d529c75b466413343a1475fca3b5177067b01f4de19c22a437f549824d19f97b49f0383c146f728a2ebd296daeb0c354c3a3d9ca0db86346f
|
||||
DIST waterfox-2020.07.1.tar.gz 410117026 BLAKE2B 5c2a54caa27c3dec323c1f66110e288ab84b45b6001eb78ff3623d992d1cea3ea4b6378e1c18e0618ace9f049d341c987cc25231a6d10bec2f3f4df96d20bfe5 SHA512 28c111de097e165fe9e80d20f92e68ef095a10fd136bc906c1ec75ebf4af0aacb31e6f10d74222438014f5d579d68c773cae6e7aedfb78e869fb8d26372d569e
|
||||
DIST waterfox-2020.07.2.tar.gz 410119190 BLAKE2B dded02d62a61e664ddf1a24fbfecf7381d5a26dd0360e2fb0844aae79a815e02046fcb997c4e2f355f853a6b5432402c97ed6d45a5fe515707c631345edc2cb2 SHA512 9a554067a9b19d06d6fd3d20f9743d484138130516dd099d0656f4b0a911cbab8c38e0286fd7c0ed66aefebf6c3f1af609c09f4c7fead77278b69f14794bb6d4
|
||||
DIST waterfox-2020.09.tar.gz 476808044 BLAKE2B 35a359f2c8237ab284a895f06a721a921807d4862f5415fdd61142e540783e14a6d92c10c5c00acbeac24a638afdcd0b3b14fd808fb9303406c605865afc4c92 SHA512 fbf3d36dcd8b90e509612d08276d55aa0e09d2e0158c90a538d91499b8d6840782b6194eedaa6eb949d2f47c1b7e247831370c6d9971de813920d7bf7f1c6fc1
|
||||
|
411
www-client/waterfox/waterfox-2020.09.ebuild
Normal file
411
www-client/waterfox/waterfox-2020.09.ebuild
Normal file
@ -0,0 +1,411 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
VIRTUALX_REQUIRED="pgo"
|
||||
WANT_AUTOCONF="2.1"
|
||||
MOZ_ESR=""
|
||||
|
||||
# This list can be updated with scripts/get_langs.sh from the mozilla overlay
|
||||
MOZ_LANGS=( ach af an ar as ast az bg bn-BD bn-IN br bs ca cak cs cy da de dsb
|
||||
el en en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE
|
||||
gd gl gn gu-IN he hi-IN hr hsb hu hy-AM id is it ja ka kab kk km kn ko lij lt lv
|
||||
mai mk ml mr ms nb-NO nl nn-NO or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq
|
||||
sr sv-SE ta te th tr uk uz vi xh zh-CN zh-TW )
|
||||
|
||||
# Patch version
|
||||
PATCH="firefox-56.0-patches-07"
|
||||
#PATCH="waterfox-2019.12-patches-01"
|
||||
MOZ_HTTP_URI="https://github.com/MrAlex94/Waterfox/archive"
|
||||
#MOZ_LANGPACK_HTTP_URI="https://github.com/MrAlex94/www.waterfoxproject.org"
|
||||
|
||||
MOZCONFIG_OPTIONAL_WIFI=1
|
||||
|
||||
inherit check-reqs eapi7-ver flag-o-matic toolchain-funcs eutils gnome2-utils \
|
||||
mozconfig-v6.56 pax-utils xdg-utils autotools virtualx
|
||||
|
||||
MY_PV="${PV}-classic"
|
||||
|
||||
DESCRIPTION="Waterfox Web Browser"
|
||||
HOMEPAGE="http://www.waterfoxproject.org"
|
||||
|
||||
RESTRICT="
|
||||
!test? ( test )
|
||||
mirror
|
||||
"
|
||||
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="
|
||||
+gmp-autoupdate
|
||||
eme-free
|
||||
hardened
|
||||
hwaccel
|
||||
jack
|
||||
nsplugin
|
||||
pgo
|
||||
selinux
|
||||
test
|
||||
"
|
||||
|
||||
PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
|
||||
|
||||
SRC_URI="
|
||||
${MOZ_HTTP_URI}/${MY_PV}.tar.gz -> ${P}.tar.gz
|
||||
${PATCH_URIS[@]}
|
||||
"
|
||||
|
||||
ASM_DEPEND="
|
||||
>=dev-lang/yasm-1.1
|
||||
"
|
||||
RDEPEND="
|
||||
>=dev-db/sqlite-3.33.0
|
||||
>=dev-libs/nspr-4.16
|
||||
>=dev-libs/nss-3.32.1
|
||||
jack? (
|
||||
virtual/jack
|
||||
)
|
||||
selinux? (
|
||||
sec-policy/selinux-mozilla
|
||||
)
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
virtual/rust
|
||||
pgo? (
|
||||
>=sys-devel/gcc-4.5
|
||||
)
|
||||
amd64? (
|
||||
${ASM_DEPEND} virtual/opengl
|
||||
)
|
||||
x86? (
|
||||
${ASM_DEPEND} virtual/opengl
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${PN^}-${MY_PV}"
|
||||
|
||||
QA_PRESTRIPPED="usr/lib*/${PN}/waterfox"
|
||||
|
||||
BUILD_OBJ_DIR="${S}/wf"
|
||||
|
||||
# allow GMP_PLUGIN_LIST to be set in an eclass or
|
||||
# overridden in the enviromnent (advanced hackers only)
|
||||
if [[ -z ${GMP_PLUGIN_LIST} ]]; then
|
||||
GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm )
|
||||
fi
|
||||
|
||||
pkg_setup() {
|
||||
moz_pkgsetup
|
||||
|
||||
# Avoid PGO profiling problems due to enviroment leakage
|
||||
# These should *always* be cleaned up anyway
|
||||
unset DBUS_SESSION_BUS_ADDRESS \
|
||||
DISPLAY \
|
||||
ORBIT_SOCKETDIR \
|
||||
SESSION_MANAGER \
|
||||
XDG_SESSION_COOKIE \
|
||||
XAUTHORITY
|
||||
|
||||
if use pgo; then
|
||||
einfo
|
||||
ewarn "You will do a double build for profile guided optimization."
|
||||
ewarn "This will result in your build taking at least twice as long as before."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
# Ensure we have enough disk space to compile
|
||||
if use pgo || use debug || use test ; then
|
||||
CHECKREQS_DISK_BUILD="8G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="4G"
|
||||
fi
|
||||
check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patch_exclude=(
|
||||
1000_gentoo_install_dir.patch
|
||||
2001_system_harfbuzz.patch
|
||||
2002_system_graphite2.patch
|
||||
)
|
||||
|
||||
local mpatch
|
||||
for mpatch in ${patch_exclude[@]} ; do
|
||||
if [[ -f "${FILESDIR}"/${mpatch} ]] ; then
|
||||
cp "${FILESDIR}"/${mpatch} \
|
||||
"${WORKDIR}"/firefox/ || die
|
||||
else
|
||||
rm "${WORKDIR}"/firefox/${mpatch} || die
|
||||
fi
|
||||
done
|
||||
|
||||
# Apply our patches
|
||||
eapply "${WORKDIR}/firefox"
|
||||
|
||||
#eapply "${FILESDIR}/${P}-classic-version.patch"
|
||||
|
||||
# Enable gnomebreakpad
|
||||
if use debug ; then
|
||||
sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \
|
||||
"${S}"/build/unix/run-mozilla.sh || die "sed failed!"
|
||||
fi
|
||||
|
||||
# Drop -Wl,--as-needed related manipulation for ia64 as it causes ld sefgaults, bug #582432
|
||||
if use ia64 ; then
|
||||
sed -i \
|
||||
-e '/^OS_LIBS += no_as_needed/d' \
|
||||
-e '/^OS_LIBS += as_needed/d' \
|
||||
"${S}"/widget/gtk/mozgtk/gtk2/moz.build \
|
||||
"${S}"/widget/gtk/mozgtk/gtk3/moz.build \
|
||||
|| die "sed failed to drop --as-needed for ia64"
|
||||
fi
|
||||
|
||||
# Ensure that our plugins dir is enabled as default
|
||||
sed -i -e "s:/usr/lib/mozilla/plugins:/usr/lib/nsbrowser/plugins:" \
|
||||
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 32bit!"
|
||||
sed -i -e "s:/usr/lib64/mozilla/plugins:/usr/lib64/nsbrowser/plugins:" \
|
||||
"${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path for 64bit!"
|
||||
|
||||
# Fix sandbox violations during make clean, bug 372817
|
||||
sed -e "s:\(/no-such-file\):${T}\1:g" \
|
||||
-i "${S}"/config/rules.mk \
|
||||
-i "${S}"/nsprpub/configure{.in,} \
|
||||
|| die
|
||||
|
||||
# Don't exit with error when some libs are missing which we have in
|
||||
# system.
|
||||
sed '/^MOZ_PKG_FATAL_WARNINGS/s@= 1@= 0@' \
|
||||
-i "${S}"/browser/installer/Makefile.in || die
|
||||
|
||||
# Don't error out when there's no files to be removed:
|
||||
sed 's@\(xargs rm\)$@\1 -f@' \
|
||||
-i "${S}"/toolkit/mozapps/installer/packager.mk || die
|
||||
|
||||
# Keep codebase the same even if not using official branding
|
||||
#sed '/^MOZ_DEV_EDITION=1/d' \
|
||||
# -i "${S}"/browser/branding/aurora/configure.sh || die
|
||||
|
||||
# Allow user to apply any additional patches without modifing ebuild
|
||||
eapply_user
|
||||
|
||||
# Autotools configure is now called old-configure.in
|
||||
# This works because there is still a configure.in that happens to be for the
|
||||
# shell wrapper configure script
|
||||
eautoreconf old-configure.in
|
||||
|
||||
# Must run autoconf in js/src
|
||||
cd "${S}"/js/src || die
|
||||
eautoconf old-configure.in
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MEXTENSIONS="default"
|
||||
# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
|
||||
# Note: These are for Gentoo Linux use ONLY. For your own distribution, please
|
||||
# get your own set of keys.
|
||||
_google_api_key=AIzaSyDEAOvatFo0eTgsV_ZlEzx0ObmepsMzfAc
|
||||
|
||||
####################################
|
||||
#
|
||||
# mozconfig, CFLAGS and CXXFLAGS setup
|
||||
#
|
||||
####################################
|
||||
|
||||
mozconfig_init
|
||||
mozconfig_config
|
||||
|
||||
# enable JACK, bug 600002
|
||||
mozconfig_use_enable jack
|
||||
|
||||
use eme-free && mozconfig_annotate '+eme-free' --disable-eme
|
||||
|
||||
# It doesn't compile on alpha without this LDFLAGS
|
||||
use alpha && append-ldflags "-Wl,--no-relax"
|
||||
|
||||
# Add full relro support for hardened
|
||||
if use hardened; then
|
||||
append-ldflags "-Wl,-z,relro,-z,now"
|
||||
mozconfig_use_enable hardened hardening
|
||||
fi
|
||||
|
||||
# Setup api key for location services
|
||||
echo -n "${_google_api_key}" > "${S}"/google-api-key
|
||||
mozconfig_annotate '' --with-google-api-keyfile="${S}/google-api-key"
|
||||
|
||||
mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"
|
||||
|
||||
# Waterfox specific stuff
|
||||
mozconfig_annotate 'Waterfox' --disable-elf-hack
|
||||
mozconfig_annotate 'Waterfox' --with-app-name=${PN}
|
||||
mozconfig_annotate 'Waterfox' --with-app-basename=${PN}
|
||||
mozconfig_annotate 'Waterfox' --with-branding=browser/branding/unofficial
|
||||
mozconfig_annotate 'Waterfox' --with-distribution-id=org.waterfoxproject
|
||||
|
||||
# Allow for a proper pgo build
|
||||
if use pgo; then
|
||||
echo "mk_add_options PROFILE_GEN_SCRIPT='EXTRA_TEST_ARGS=10 \$(MAKE) -C \$(MOZ_OBJDIR) pgo-profile-run'" >> "${S}"/.mozconfig
|
||||
fi
|
||||
|
||||
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
|
||||
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
|
||||
|
||||
# Finalize and report settings
|
||||
mozconfig_final
|
||||
|
||||
# workaround for funky/broken upstream configure...
|
||||
SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
emake -f client.mk configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use pgo; then
|
||||
addpredict /root
|
||||
addpredict /etc/gconf
|
||||
# Reset and cleanup environment variables used by GNOME/XDG
|
||||
gnome2_environment_reset
|
||||
|
||||
# Firefox tries to use dri stuff when it's run, see bug 380283
|
||||
shopt -s nullglob
|
||||
cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
|
||||
if test -z "${cards}"; then
|
||||
cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g')
|
||||
if test -n "${cards}"; then
|
||||
# Binary drivers seem to cause access violations anyway, so
|
||||
# let's use indirect rendering so that the device files aren't
|
||||
# touched at all. See bug 394715.
|
||||
export LIBGL_ALWAYS_INDIRECT=1
|
||||
fi
|
||||
fi
|
||||
shopt -u nullglob
|
||||
[[ -n "${cards}" ]] && addpredict "${cards}"
|
||||
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
virtx emake -f client.mk profiledbuild || die "virtx emake failed"
|
||||
else
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
emake -f client.mk realbuild
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${BUILD_OBJ_DIR}" || die
|
||||
|
||||
# Pax mark xpcshell for hardened support, only used for startupcache creation.
|
||||
pax-mark m "${BUILD_OBJ_DIR}"/dist/bin/xpcshell
|
||||
|
||||
# Add our default prefs for firefox
|
||||
cp "${FILESDIR}"/gentoo-default-prefs.js-1 \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
mozconfig_install_prefs \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js"
|
||||
|
||||
# Augment this with hwaccel prefs
|
||||
if use hwaccel ; then
|
||||
cat "${FILESDIR}"/gentoo-hwaccel-prefs.js-1 >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
echo "pref(\"extensions.autoDisableScopes\", 3);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
|
||||
if use nsplugin; then
|
||||
echo "pref(\"plugin.load_flash_only\", false);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
fi
|
||||
|
||||
local plugin
|
||||
use gmp-autoupdate || use eme-free || for plugin in "${GMP_PLUGIN_LIST[@]}" ; do
|
||||
echo "pref(\"media.${plugin}.autoupdate\", false);" >> \
|
||||
"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" \
|
||||
|| die
|
||||
done
|
||||
|
||||
MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
# Install language packs
|
||||
#mozlinguas_src_install
|
||||
|
||||
local size sizes icon_path icon name
|
||||
|
||||
sizes="16 22 24 32 256"
|
||||
icon_path="${S}/browser/branding/unofficial"
|
||||
icon="${PN}"
|
||||
name="Waterfox"
|
||||
|
||||
# Install icons and .desktop for menu entry
|
||||
for size in ${sizes}; do
|
||||
insinto "/usr/share/icons/hicolor/${size}x${size}/apps"
|
||||
newins "${icon_path}/default${size}.png" "${icon}.png"
|
||||
done
|
||||
# The 128x128 icon has a different name
|
||||
insinto "/usr/share/icons/hicolor/128x128/apps"
|
||||
doins "${icon_path}/${icon}.png"
|
||||
# Install a 48x48 icon into /usr/share/pixmaps for legacy DEs
|
||||
newicon "${icon_path}/default48.png" "${icon}.png"
|
||||
newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop"
|
||||
sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" \
|
||||
"${ED%/}/usr/share/applications/${PN}.desktop" \
|
||||
|| die
|
||||
|
||||
# Add StartupNotify=true bug 237317
|
||||
if use startup-notification ; then
|
||||
echo "StartupNotify=true" >> \
|
||||
"${ED%/}/usr/share/applications/${PN}.desktop" || die
|
||||
fi
|
||||
|
||||
# Required in order to use plugins and even run firefox on hardened.
|
||||
pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{waterfox,waterfox-bin,plugin-container}
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
|
||||
# if the apulse libs are available in MOZILLA_FIVE_HOME then apulse
|
||||
# doesn't need to be forced into the LD_LIBRARY_PATH
|
||||
if use pulseaudio && has_version ">=media-sound/apulse-0.1.9" ; then
|
||||
einfo "APULSE found - Generating library symlinks for sound support"
|
||||
local lib
|
||||
pushd "${ED}"${MOZILLA_FIVE_HOME} &>/dev/null || die
|
||||
for lib in ../apulse/libpulse{.so{,.0},-simple.so{,.0}} ; do
|
||||
# a quickpkg rolled by hand will grab symlinks as part of the package,
|
||||
# so we need to avoid creating them if they already exist.
|
||||
if ! [ -L ${lib##*/} ]; then
|
||||
ln -s "${lib}" ${lib##*/} || die
|
||||
fi
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Update mimedb for the new .desktop file
|
||||
xdg_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
|
||||
if ! use gmp-autoupdate && ! use eme-free ; then
|
||||
elog "USE='-gmp-autoupdate' has disabled the following plugins from updating or"
|
||||
elog "installing into new profiles:"
|
||||
local plugin
|
||||
for plugin in "${GMP_PLUGIN_LIST[@]}"; do elog "\t ${plugin}" ; done
|
||||
fi
|
||||
|
||||
if use pulseaudio && has_version ">=media-sound/apulse-0.1.9"; then
|
||||
elog "Apulse was detected at merge time on this system and so it will always be"
|
||||
elog "used for sound. If you wish to use pulseaudio instead please unmerge"
|
||||
elog "media-sound/apulse."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
}
|
Loading…
Reference in New Issue
Block a user