aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Stakenvicius <axs@gentoo.org>2018-08-16 13:21:31 -0400
committerIan Stakenvicius <axs@gentoo.org>2018-08-16 13:21:31 -0400
commit38ea4d5b3f48d4c0e8bb002b19aba008edc84265 (patch)
treea8c8ae2bcd36fe74ff6b1ab3fd0e1459556dc116 /www-client
parentmozconfig-v6.52.eclass: inherit mozcoreconf-v5 not v6 (diff)
downloadmozilla-38ea4d5b3f48d4c0e8bb002b19aba008edc84265.tar.gz
mozilla-38ea4d5b3f48d4c0e8bb002b19aba008edc84265.tar.bz2
mozilla-38ea4d5b3f48d4c0e8bb002b19aba008edc84265.zip
Merge mozconfig-v6.60.eclass into firefox-60 and thunderbird-60
As the constant eclass bumping has become more and more undesireable, mozconfig is going away and so each ebuild will contain its configuration and dependencies.
Diffstat (limited to 'www-client')
-rw-r--r--www-client/firefox/firefox-60.1.0.ebuild202
1 files changed, 176 insertions, 26 deletions
diff --git a/www-client/firefox/firefox-60.1.0.ebuild b/www-client/firefox/firefox-60.1.0.ebuild
index f808822b..8f2df814 100644
--- a/www-client/firefox/firefox-60.1.0.ebuild
+++ b/www-client/firefox/firefox-60.1.0.ebuild
@@ -27,10 +27,8 @@ fi
PATCH="${PN}-60.0-patches-02"
MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases"
-MOZCONFIG_OPTIONAL_WIFI=1
-
inherit check-reqs flag-o-matic toolchain-funcs eutils gnome2-utils llvm \
- mozconfig-v6.60 pax-utils xdg-utils autotools mozlinguas-v2
+ mozcoreconf-v6 pax-utils xdg-utils autotools mozlinguas-v2
DESCRIPTION="Firefox Web Browser"
HOMEPAGE="http://www.mozilla.com/firefox"
@@ -39,32 +37,84 @@ KEYWORDS="~amd64 ~x86"
SLOT="0"
LICENSE="MPL-2.0 GPL-2 LGPL-2.1"
-IUSE="bindist eme-free +gmp-autoupdate hardened hwaccel jack +screenshot selinux test"
+IUSE="bindist dbus debug eme-free +gmp-autoupdate hardened hwaccel jack neon
+ pulseaudio +screenshot selinux startup-notification system-harfbuzz system-icu
+ system-jpeg system-libevent system-sqlite system-libvpx test wifi"
RESTRICT="!bindist? ( bindist )"
-SRCHASH=239e434d6d2b8e1e2b697c3416d1e96d48fe98e5
-SDIR="release"
-[[ ${PV} = *_beta* ]] && SDIR="beta"
-
PATCH_URIS=( https://dev.gentoo.org/~{anarchy,axs,polynomial-c}/mozilla/patchsets/${PATCH}.tar.xz )
SRC_URI="${SRC_URI}
${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz
${PATCH_URIS[@]}"
-ASM_DEPEND=">=dev-lang/yasm-1.1"
-
-RDEPEND="
- system-icu? ( >=dev-libs/icu-60.2 )
- jack? ( virtual/jack )
+CDEPEND="
>=dev-libs/nss-3.36.1
>=dev-libs/nspr-4.19
+ >=app-text/hunspell-1.5.4:=
+ dev-libs/atk
+ dev-libs/expat
+ >=x11-libs/cairo-1.10[X]
+ >=x11-libs/gtk+-2.18:2
+ >=x11-libs/gtk+-3.4.0:3
+ x11-libs/gdk-pixbuf
+ >=x11-libs/pango-1.22.0
+ >=media-libs/libpng-1.6.34:0=[apng]
+ >=media-libs/mesa-10.2:*
+ media-libs/fontconfig
+ >=media-libs/freetype-2.4.10
+ kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) )
+ virtual/freedesktop-icon-theme
+ dbus? ( >=sys-apps/dbus-0.60
+ >=dev-libs/dbus-glib-0.72 )
+ startup-notification? ( >=x11-libs/startup-notification-0.8 )
+ >=x11-libs/pixman-0.19.2
+ >=dev-libs/glib-2.26:2
+ >=sys-libs/zlib-1.2.3
+ >=virtual/libffi-3.0.10
+ virtual/ffmpeg
+ x11-libs/libX11
+ x11-libs/libXcomposite
+ x11-libs/libXdamage
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXrender
+ x11-libs/libXt
+ system-icu? ( >=dev-libs/icu-60.2:= )
+ system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 )
+ system-libevent? ( >=dev-libs/libevent-2.0:0= )
+ system-sqlite? ( >=dev-db/sqlite-3.20.1:3[secure-delete,debug=] )
+ system-libvpx? ( >=media-libs/libvpx-1.5.0:0=[postproc] )
+ system-harfbuzz? ( >=media-libs/harfbuzz-1.4.2:0= >=media-gfx/graphite2-1.3.9-r1 )
+ wifi? ( kernel_linux? ( >=sys-apps/dbus-0.60
+ >=dev-libs/dbus-glib-0.72
+ net-misc/networkmanager ) )
+ jack? ( virtual/jack )
selinux? ( sec-policy/selinux-mozilla )"
-DEPEND="${RDEPEND}
+RDEPEND="${CDEPEND}
+ jack? ( virtual/jack )
+ pulseaudio? ( || ( media-sound/pulseaudio
+ >=media-sound/apulse-0.1.9 ) )
+ selinux? ( sec-policy/selinux-mozilla )"
+
+DEPEND="${CDEPEND}
+ app-arch/zip
+ app-arch/unzip
+ >=sys-devel/binutils-2.16.1
+ sys-apps/findutils
+ pulseaudio? ( media-sound/pulseaudio )
+ elibc_glibc? ( || (
+ ( >=dev-lang/rust-1.24.0[-extended(-)] >=dev-util/cargo-0.25.0 )
+ >=dev-lang/rust-1.24.0[extended]
+ ( >=dev-lang/rust-bin-1.24.0 >=dev-util/cargo-0.25.0 )
+ ) )
+ elibc_musl? ( || ( >=dev-lang/rust-1.24.0
+ >=dev-util/cargo-0.25.0
+ ) )
>=sys-devel/llvm-4.0.1
>=sys-devel/clang-4.0.1
- amd64? ( ${ASM_DEPEND} virtual/opengl )
- x86? ( ${ASM_DEPEND} virtual/opengl )"
+ amd64? ( >=dev-lang/yasm-1.1 virtual/opengl )
+ x86? ( >=dev-lang/yasm-1.1 virtual/opengl )"
S="${WORKDIR}/firefox-${PV%_*}"
@@ -192,13 +242,23 @@ src_configure() {
####################################
mozconfig_init
- mozconfig_config
+ # common config components
+ mozconfig_annotate 'system_libs' \
+ --with-system-zlib \
+ --with-system-bz2
- # enable JACK, bug 600002
- mozconfig_use_enable jack
+ # Stylo is only broken on x86 builds
+ use x86 && mozconfig_annotate 'Upstream bug 1341234' --disable-stylo
- # Enable/Disable eme support
- use eme-free && mozconfig_annotate '+eme-free' --disable-eme
+ # Must pass release in order to properly select linker
+ mozconfig_annotate 'Enable by Gentoo' --enable-release
+
+ # Must pass --enable-gold if using ld.gold
+ if tc-ld-is-gold ; then
+ mozconfig_annotate 'tc-ld-is-gold=true' --enable-gold
+ else
+ mozconfig_annotate 'tc-ld-is-gold=false' --disable-gold
+ fi
# It doesn't compile on alpha without this LDFLAGS
use alpha && append-ldflags "-Wl,--no-relax"
@@ -209,6 +269,84 @@ src_configure() {
mozconfig_use_enable hardened hardening
fi
+ # Modifications to better support ARM, bug 553364
+ if use neon ; then
+ mozconfig_annotate '' --with-fpu=neon
+ mozconfig_annotate '' --with-thumb=yes
+ mozconfig_annotate '' --with-thumb-interwork=no
+ fi
+ if [[ ${CHOST} == armv* ]] ; then
+ mozconfig_annotate '' --with-float-abi=hard
+ if ! use system-libvpx ; then
+ sed -i -e "s|softfp|hard|" \
+ "${S}"/media/libvpx/moz.build
+ fi
+ fi
+
+ mozconfig_use_enable !bindist official-branding
+ # Enable position independent executables
+ mozconfig_annotate 'enabled by Gentoo' --enable-pie
+
+ mozconfig_use_enable debug
+ mozconfig_use_enable debug tests
+ if ! use debug ; then
+ mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols
+ else
+ mozconfig_annotate 'enabled by Gentoo' --enable-debug-symbols
+ fi
+ # These are enabled by default in all mozilla applications
+ mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --with-system-nss --with-nss-prefix="${SYSROOT}${EPREFIX}"/usr
+ mozconfig_annotate '' --x-includes="${SYSROOT}${EPREFIX}"/usr/include \
+ --x-libraries="${SYSROOT}${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate '' --prefix="${EPREFIX}"/usr
+ mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir)
+ mozconfig_annotate 'Gentoo default' --enable-system-hunspell
+ mozconfig_annotate '' --disable-crashreporter
+ mozconfig_annotate 'Gentoo default' --with-system-png
+ mozconfig_annotate '' --enable-system-ffi
+ mozconfig_annotate '' --disable-gconf
+ mozconfig_annotate '' --with-intl-api
+ mozconfig_annotate '' --enable-system-pixman
+ # Instead of the standard --build= and --host=, mozilla uses --host instead
+ # of --build, and --target intstead of --host.
+ # Note, mozilla also has --build but it does not do what you think it does.
+ # Set both --target and --host as mozilla uses python to guess values otherwise
+ mozconfig_annotate '' --target="${CHOST}"
+ mozconfig_annotate '' --host="${CBUILD:-${CHOST}}"
+ if use system-libevent; then
+ mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr
+ fi
+
+ # skia has no support for big-endian platforms
+ if [[ $(tc-endian) == "big" ]]; then
+ mozconfig_annotate 'big endian target' --disable-skia
+ else
+ mozconfig_annotate '' --enable-skia
+ fi
+
+ # use the gtk3 toolkit (the only one supported at this point)
+ mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3
+
+ mozconfig_use_enable startup-notification
+ mozconfig_use_enable system-sqlite
+ mozconfig_use_with system-jpeg
+ mozconfig_use_with system-icu
+ mozconfig_use_with system-libvpx
+ mozconfig_use_with system-harfbuzz
+ mozconfig_use_with system-harfbuzz system-graphite2
+ mozconfig_use_enable pulseaudio
+ # force the deprecated alsa sound code if pulseaudio is disabled
+ if use kernel_linux && ! use pulseaudio ; then
+ mozconfig_annotate '-pulseaudio' --enable-alsa
+ fi
+
+ # enable JACK, bug 600002
+ mozconfig_use_enable jack
+
+ # Enable/Disable eme support
+ use eme-free && mozconfig_annotate '+eme-free' --disable-eme
+
# 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"
@@ -218,9 +356,6 @@ src_configure() {
echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig
echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig
- # Default mozilla_five_home no longer valid option
- sed '/with-default-mozilla-five-home=/d' -i "${S}"/.mozconfig
-
# Finalize and report settings
mozconfig_final
@@ -245,8 +380,23 @@ src_install() {
"${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"
+ # set dictionary path, to use system hunspell
+ echo "pref(\"spellchecker.dictionary_path\", \"${EPREFIX}/usr/share/myspell\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+
+ # force the graphite pref if system-harfbuzz is enabled, since the pref cant disable it
+ if use system-harfbuzz ; then
+ echo "sticky_pref(\"gfx.font_rendering.graphite.enabled\",true);" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
+
+ # force cairo as the canvas renderer on platforms without skia support
+ if [[ $(tc-endian) == "big" ]] ; then
+ echo "sticky_pref(\"gfx.canvas.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ echo "sticky_pref(\"gfx.content.azure.backends\",\"cairo\");" \
+ >>"${BUILD_OBJ_DIR}/dist/bin/browser/defaults/preferences/all-gentoo.js" || die
+ fi
# Augment this with hwaccel prefs
if use hwaccel ; then