diff options
Diffstat (limited to 'www-client/seamonkey')
-rw-r--r-- | www-client/seamonkey/Manifest | 6 | ||||
-rw-r--r-- | www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch | 72 | ||||
-rw-r--r-- | www-client/seamonkey/seamonkey-2.53.7.1-r1.ebuild (renamed from www-client/seamonkey/seamonkey-2.53.7.1.ebuild) | 18 | ||||
-rw-r--r-- | www-client/seamonkey/seamonkey-2.53.7.ebuild | 555 |
4 files changed, 84 insertions, 567 deletions
diff --git a/www-client/seamonkey/Manifest b/www-client/seamonkey/Manifest index f3cc9065305e..95f507bbd537 100644 --- a/www-client/seamonkey/Manifest +++ b/www-client/seamonkey/Manifest @@ -1,12 +1,10 @@ AUX all-gentoo-1.js 1008 BLAKE2B 50418db37f55b9b9e53049abb95af79a5ee5137df9aab3ef6d1791e51a0c2f35d78b390982c5c20f4a57acebfaa013139276d0343cd4733a925510c8a5567c69 SHA512 5d1c9331db3c988f79be7756b57254bb3d2cb56cf10c7e79878d9968f882713cdcca0013d3507c4d69fcc7e99164a27b05ffbbb5ce78ee86b91ecce366a997c4 AUX seamonkey-2.53.7-ownertab.patch 10144 BLAKE2B fd30a83ede6f2d284ac6f308bc1dbc298961e468cc7e353cec95f13b0db8b5722494075dfd73b261348c9affb187b203a7598e7f62a062fbdcf87a62561f723b SHA512 227882f698918d160e01df47516af90bbfa13b206d5ddf6184b5b44ecc2b940e7424955001a4759a24529cd63150e5ef922c4e605d577b0201be6fce81c7c9ea +AUX seamonkey-2.53.7.1-cpu_hog_fix.patch 2741 BLAKE2B be6bd492a84a61635334271d9ca53e031184e4780115a889d5e73cf74cec6209546210ec36cec3f929d37dce16d855d8c2563de15736a18717b4125027d34f97 SHA512 f1bb8db6eb5b3b5dd2aad4a9e5bb7592923f95f04639e84a0eac643b573b399675a6a8126152a0a07620443314f4563288c89ff0cc4cdc592fc680bf2fe6e7a2 AUX seamonkey.desktop 307 BLAKE2B 81aaa9a69dc60ae0872ebdfe796d3a6afbd4bd15c1c83c14abc06579c15bed2e48114e3fb374bab0ba7d9d4de28109b215601a2d6bd56af3aa9e82a4d0baaa91 SHA512 081d8ec12e9e2035fc8020238803ab9df98dac4350ce90a29e9e65a38efa13bb14cba0fbc2e68a2a857c5046142c68ecc8ab4535da4f284c0e04a3879afc429f DIST seamonkey-2.53.3-system_libvpx-1.8.patch.xz 3128 BLAKE2B f73802d2715a11964a4b4d34b582a2999ab42cff9ed005c5ca8c002ae745a973fbb682c3e568f6727a7fe93dc2d7a5ba3367adc4e1d256b8ab0cf8d940fceb8a SHA512 80b87c260445af181d1a0d39de9f95ac7c93f76e12328c1799e8607f50ca9e2a20bc4f15de3f32efbbabb444fd5352612b2629fee61875fa0acd6d050df338a2 DIST seamonkey-2.53.6_beta1-patches-01.tar.xz 44160 BLAKE2B f6a959a983e726cd919ab5004b27cd496a78cd58759168d6dd64e155059c7b52f269bc42143ddb69a1e8880c72779257216d942a1abc58800491fde9eaaea061 SHA512 710e668209f76f2ca4112923c61219e435123791dfcfcb202af1f7975436d17f13ab025722e9725f219e9de9d024091514d23c71a851d68f750c11ea8d56c2b9 DIST seamonkey-2.53.7.1.source-l10n.tar.xz 13540652 BLAKE2B a42471ee8d2c4c57158291a9770aa6759a620e4b9a38a1bedcf17495332924839d65f1a12dce3c7452137fd6d176c576ec0da639f20be29621b10406c0e9bd4f SHA512 d4bde45e0dfdbd1eb316ef3f3d2e611a1a3314a1144ad7075f96ad35c961bc07fd82bbfd7959aa9bee0034cbf081427670d7da3eb3b3aac85b5db7aab92b32a5 DIST seamonkey-2.53.7.1.source.tar.xz 283452108 BLAKE2B 4f0a73c5d57c708e4b5d5af6ddee1c9515b6bf401b0181da17c03cdeee1afb9d120c0157cdf2a07e8fa6495462e8bbb4b85e3e6646dbbead123934c565732926 SHA512 21f52b2668b8cb31670a80f3fbcd04d714527545ddd36fa5782999be398428cfeac989da4e3e7e049202249d43c71228ebc8640dd0b594150c8cff0b587caf7e -DIST seamonkey-2.53.7.source-l10n.tar.xz 13540652 BLAKE2B a42471ee8d2c4c57158291a9770aa6759a620e4b9a38a1bedcf17495332924839d65f1a12dce3c7452137fd6d176c576ec0da639f20be29621b10406c0e9bd4f SHA512 d4bde45e0dfdbd1eb316ef3f3d2e611a1a3314a1144ad7075f96ad35c961bc07fd82bbfd7959aa9bee0034cbf081427670d7da3eb3b3aac85b5db7aab92b32a5 -DIST seamonkey-2.53.7.source.tar.xz 283282204 BLAKE2B a0e239381b6f1dbd41042ab1daf1ed986d6ea9f6fb68cb38b41e05e579937d1754f4293f1d3b9ded7ce6f05f3ca8cd292addfd06fe6405777c440ded2804d4c1 SHA512 175bf010f5279f07e0cccaf2d8caf4d6e0368de035aba7b5bc4c5da301de19aa7fc8c0125b2ee3d1c1a859e94c8f7985c977bafe48cd6f453d609270891887e5 -EBUILD seamonkey-2.53.7.1.ebuild 16911 BLAKE2B 20340af7ed5f9df85d29c3eac01d3838c24d1f41a47e0c644b1a312e95f5fa9f4a9e28bb6d413253124baee5f7fca5109a837c1012c8d758a280b8faddb3d557 SHA512 bdd9af9a6ba09879864b60ffc5fb201c280b3491c6f9f62abd236f5e0fc420a9b0f6172b49c38833127095119b6c823cb98cb0039510f6b07a834edf2101186d -EBUILD seamonkey-2.53.7.ebuild 16802 BLAKE2B d1a5cc51af9b561a02f9e3666e12ba6c7656009614b06eb4d2a0132f3333b8a2cdd4868ca719cc9fd83f7c87b195ea450c08718bca6105bb3dde74f30eded7d0 SHA512 f1c54faca5ecd8766f1f1b99df439baa475237c51fa7a2ea2890f7207895125c008d54746abadeb256582e6727e5c3d7709a7ceb69235cf4583727255cbc6cc4 +EBUILD seamonkey-2.53.7.1-r1.ebuild 17016 BLAKE2B 510209a67ec6491980882db3d4db818836d16db5a12274360f3127c33be75a2926bfab00b4ea82dbaf3b1bfcdca6f1aa1dc0e16dc22ff7417226b0778d53be6d SHA512 8229072b97e4986b1d3c2de921e6d6d88e061132f2f2f799d1ab8652cacc76a3f05f1e8625adaea49e63e23f948ce9da299538a9530657b4b059fb94f86b84ab MISC metadata.xml 1931 BLAKE2B 3cb5bb9f57b5b669b2c9c0d90616bd04928483f51bf0c0909e63836e069f6a87cfd0a2f37b8753abe8976a11219c7daa577ac0d9ee6f2335eec7c375614333ee SHA512 9ee6b67335f7a66a8ad1d211f257042fe9b741432691502be8b39d71888a1f783310fb1049757cb5059c530aa3b6e0c1d6b94f86feaf74fd096168c21611f524 diff --git a/www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch b/www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch new file mode 100644 index 000000000000..51894c485012 --- /dev/null +++ b/www-client/seamonkey/files/seamonkey-2.53.7.1-cpu_hog_fix.patch @@ -0,0 +1,72 @@ +https://github.com/JustOff/github-wc-polyfill/issues/10 + +--- a/netwerk/protocol/websocket/WebSocketChannel.h ++++ b/netwerk/protocol/websocket/WebSocketChannel.h +@@ -151,6 +151,7 @@ private: + void GeneratePong(uint8_t *payload, uint32_t len); + void GeneratePing(); + ++ MOZ_MUST_USE nsresult OnNetworkChangedTargetThread(); + MOZ_MUST_USE nsresult OnNetworkChanged(); + MOZ_MUST_USE nsresult StartPinging(); + +--- a/netwerk/protocol/websocket/WebSocketChannel.cpp ++++ b/netwerk/protocol/websocket/WebSocketChannel.cpp +@@ -1270,14 +1270,14 @@ WebSocketChannel::Observe(nsISupports *s + // Next we check mDataStarted, which we need to do on mTargetThread. + if (!IsOnTargetThread()) { + mTargetThread->Dispatch( +- NewRunnableMethod("net::WebSocketChannel::OnNetworkChanged", ++ NewRunnableMethod("net::WebSocketChannel::OnNetworkChangedTargetThread", + this, +- &WebSocketChannel::OnNetworkChanged), ++ &WebSocketChannel::OnNetworkChangedTargetThread), + NS_DISPATCH_NORMAL); + } else { +- nsresult rv = OnNetworkChanged(); ++ nsresult rv = OnNetworkChangedTargetThread(); + if (NS_FAILED(rv)) { +- LOG(("WebSocket: OnNetworkChanged failed (%08" PRIx32 ")", ++ LOG(("WebSocket: OnNetworkChangedTargetThread failed (%08" PRIx32 ")", + static_cast<uint32_t>(rv))); + } + } +@@ -1289,23 +1289,25 @@ WebSocketChannel::Observe(nsISupports *s + } + + nsresult +-WebSocketChannel::OnNetworkChanged() ++WebSocketChannel::OnNetworkChangedTargetThread() + { +- if (IsOnTargetThread()) { +- LOG(("WebSocketChannel::OnNetworkChanged() - on target thread %p", this)); +- +- if (!mDataStarted) { +- LOG(("WebSocket: data not started yet, no ping needed")); +- return NS_OK; +- } ++ LOG(("WebSocketChannel::OnNetworkChangedTargetThread() - on target thread %p", this)); + +- return mSocketThread->Dispatch( +- NewRunnableMethod("net::WebSocketChannel::OnNetworkChanged", +- this, +- &WebSocketChannel::OnNetworkChanged), +- NS_DISPATCH_NORMAL); ++ if (!mDataStarted) { ++ LOG(("WebSocket: data not started yet, no ping needed")); ++ return NS_OK; + } + ++ return mSocketThread->Dispatch( ++ NewRunnableMethod("net::WebSocketChannel::OnNetworkChanged", ++ this, ++ &WebSocketChannel::OnNetworkChanged), ++ NS_DISPATCH_NORMAL); ++} ++ ++nsresult ++WebSocketChannel::OnNetworkChanged() ++{ + MOZ_ASSERT(OnSocketThread(), "not on socket thread"); + + LOG(("WebSocketChannel::OnNetworkChanged() - on socket thread %p", this)); diff --git a/www-client/seamonkey/seamonkey-2.53.7.1.ebuild b/www-client/seamonkey/seamonkey-2.53.7.1-r1.ebuild index 79cd3a849a6e..ce8fefb7646d 100644 --- a/www-client/seamonkey/seamonkey-2.53.7.1.ebuild +++ b/www-client/seamonkey/seamonkey-2.53.7.1-r1.ebuild @@ -51,7 +51,7 @@ SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,sqlite} ) IUSE="+chatzilla cpu_flags_arm_neon +crypt dbus debug +gmp-autoupdate +ipc jack lto minimal pulseaudio +roaming selinux startup-notification test wifi" IUSE+=" ${SYSTEM_IUSE[@]}" -KEYWORDS="~amd64 ~ppc64 ~x86" +KEYWORDS="amd64 ~ppc64 x86" RESTRICT="!test? ( test )" @@ -192,6 +192,9 @@ src_prepare() { # https://bugzilla.mozilla.org/show_bug.cgi?id=1623054 eapply "${FILESDIR}/${PN}-2.53.7-ownertab.patch" + # https://github.com/JustOff/github-wc-polyfill/issues/10 + eapply "${FILESDIR}/${PN}-2.53.7.1-cpu_hog_fix.patch" + # Shell scripts sometimes contain DOS line endings; bug 391889 grep -rlZ --include="*.sh" $'\r$' . | while read -r -d $'\0' file ; do @@ -388,19 +391,18 @@ src_configure() { # Linking fails without this due to memory exhaustion use x86 && append-ldflags "-Wl,--no-keep-memory" - if ! use chatzilla ; then - MEXTENSIONS+=",-irc" - fi if ! use roaming ; then MEXTENSIONS+=",-sroaming" fi # Setup api key for location services - echo -n "${_google_api_key}" > "${S}"/google-api-key + printf '%s' "${_google_api_key}" > "${S}"/google-api-key mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" + mozconfig_use_enable chatzilla irc + mozconfig_annotate '' --enable-dominspector # use startup-cache for faster startup time mozconfig_annotate '' --enable-startupcache @@ -504,8 +506,8 @@ src_install() { emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' # remove the en_US-only xpi file so a version with all requested locales can be installed - if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi ]] ; then - rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die + if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi ]] ; then + rm -f "${ED}"/${MOZILLA_FIVE_HOME}/extensions/${emid}.xpi || die fi # merge the extra locales into the main extension @@ -514,7 +516,7 @@ src_install() { # install the merged extension mkdir -p "${T}/${emid}" || die cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die - insinto ${MOZILLA_FIVE_HOME}/distribution/extensions + insinto ${MOZILLA_FIVE_HOME}/extensions doins -r "${T}/${emid}" fi diff --git a/www-client/seamonkey/seamonkey-2.53.7.ebuild b/www-client/seamonkey/seamonkey-2.53.7.ebuild deleted file mode 100644 index a71a636282ed..000000000000 --- a/www-client/seamonkey/seamonkey-2.53.7.ebuild +++ /dev/null @@ -1,555 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -WANT_AUTOCONF="2.1" - -PYTHON_COMPAT=( python3_{7..9} ) -PYTHON_REQ_USE='ncurses,sqlite,ssl,threads(+)' - -# This list can be updated with scripts/get_langs.sh from the mozilla overlay -# note - could not roll langpacks for: ca fi -#MOZ_LANGS=(ca cs de en-GB es-AR es-ES fi fr gl hu it ja lt nb-NO nl pl pt-PT -# ru sk sv-SE tr uk zh-CN zh-TW) -MOZ_LANGS=(cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT - ru sk sv-SE zh-CN zh-TW) - -MOZ_PV="${PV/_pre*}" -MOZ_PV="${MOZ_PV/_alpha/a}" -MOZ_PV="${MOZ_PV/_beta/b}" -MOZ_PV="${MOZ_PV/_rc/rc}" -MOZ_P="${P}" -MY_MOZ_P="${PN}-${MOZ_PV}" - -if [[ ${PV} == *_pre* ]] ; then - MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/candidates/${MOZ_PV}-candidates/build${PV##*_pre}" -else - MOZ_HTTP_URI="https://archive.mozilla.org/pub/${PN}/releases/${MOZ_PV}" -fi - -SRC_URI="${MOZ_HTTP_URI}/source/${MY_MOZ_P}.source.tar.xz -> ${P}.source.tar.xz - ${MOZ_HTTP_URI}/source/${MY_MOZ_P}.source-l10n.tar.xz -> ${P}.source-l10n.tar.xz" -S="${WORKDIR}/${MY_MOZ_P}" - -MOZ_GENERATE_LANGPACKS=1 -MOZ_L10N_SOURCEDIR="${S}/${P}-l10n" -inherit autotools check-reqs desktop flag-o-matic mozcoreconf-v6 mozextension mozlinguas-v2 pax-utils toolchain-funcs xdg-utils - -DESCRIPTION="Seamonkey Web Browser" -HOMEPAGE="https://www.seamonkey-project.org/" - -PATCH="${PN}-2.53.6_beta1-patches-01" -SRC_URI+=" - https://dev.gentoo.org/~polynomial-c/mozilla/patchsets/${PATCH}.tar.xz - system-libvpx? ( https://dev.gentoo.org/~polynomial-c/mozilla/${PN}-2.53.3-system_libvpx-1.8.patch.xz ) -" - -LICENSE="MPL-2.0 GPL-2 LGPL-2.1" -SLOT="0" -SYSTEM_IUSE=( +system-{av1,harfbuzz,icu,jpeg,libevent,libvpx,sqlite} ) -IUSE="+chatzilla cpu_flags_arm_neon +crypt dbus debug +gmp-autoupdate +ipc jack -lto minimal pulseaudio +roaming selinux startup-notification test wifi" -IUSE+=" ${SYSTEM_IUSE[@]}" -KEYWORDS="amd64 ~ppc64 x86" - -RESTRICT="!test? ( test )" - -ASM_DEPEND=">=dev-lang/yasm-1.1" - -BDEPEND=" - app-arch/unzip - app-arch/zip - >=dev-lang/nasm-2.13 - dev-lang/perl - sys-apps/findutils - >=sys-devel/binutils-2.16.1 - virtual/pkgconfig - >=virtual/rust-1.34.0 - amd64? ( ${ASM_DEPEND} ) - lto? ( sys-devel/binutils[gold] ) - x86? ( ${ASM_DEPEND} ) -" -COMMON_DEPEND=" - >=app-text/hunspell-1.5.4:= - dev-libs/atk - >=dev-libs/glib-2.26:2 - >=dev-libs/libffi-3.0.10:= - >=dev-libs/nspr-4.23 - >=dev-libs/nss-3.47.1 - media-libs/fontconfig - >=media-libs/freetype-2.4.10 - >=media-libs/libpng-1.6.31:0=[apng] - >=media-libs/mesa-10.2:= - >=sys-libs/zlib-1.2.3 - >=x11-libs/cairo-1.10[X] - x11-libs/gdk-pixbuf - >=x11-libs/gtk+-2.18:2 - >=x11-libs/gtk+-3.4.0:3 - x11-libs/libX11 - x11-libs/libXcomposite - x11-libs/libXdamage - x11-libs/libXext - x11-libs/libXfixes - x11-libs/libXrender - x11-libs/libXt - >=x11-libs/pango-1.22.0 - >=x11-libs/pixman-0.19.2 - media-video/ffmpeg - virtual/freedesktop-icon-theme - dbus? ( - >=dev-libs/dbus-glib-0.72 - >=sys-apps/dbus-0.60 - ) - jack? ( virtual/jack ) - crypt? ( <x11-plugins/enigmail-2.1.0 ) - kernel_linux? ( !pulseaudio? ( media-libs/alsa-lib ) ) - pulseaudio? ( || ( - media-sound/pulseaudio - >=media-sound/apulse-0.1.9 - ) ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - system-av1? ( - >=media-libs/dav1d-0.3.0:= - >=media-libs/libaom-1.0.0:= - ) - system-harfbuzz? ( - >=media-gfx/graphite2-1.3.9-r1 - >=media-libs/harfbuzz-1.3.3:0= - ) - system-icu? ( >=dev-libs/icu-59.1:= ) - system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) - system-libevent? ( >=dev-libs/libevent-2.0:0= ) - system-libvpx? ( >=media-libs/libvpx-1.8.0:0=[postproc] ) - system-sqlite? ( >=dev-db/sqlite-3.19.3:3[secure-delete,debug=] ) - wifi? ( - kernel_linux? ( - >=dev-libs/dbus-glib-0.72 - net-misc/networkmanager - >=sys-apps/dbus-0.60 - ) - ) -" -RDEPEND="${COMMON_DEPEND} - selinux? ( sec-policy/selinux-mozilla ) -" -DEPEND="${COMMON_DEPEND} - amd64? ( virtual/opengl ) - x86? ( virtual/opengl ) -" - -# allow GMP_PLUGIN_LIST to be set in an eclass or -# overridden in the enviromnent (advanced hackers only) -[[ -z ${GMP_PLUGIN_LIST} ]] && GMP_PLUGIN_LIST=( gmp-gmpopenh264 gmp-widevinecdm ) - -BUILD_OBJ_DIR="${S}/seamonk" - -pkg_setup() { - if [[ ${PV} == *_beta* ]] || [[ ${PV} == *_pre* ]] ; then - ewarn "You're using an unofficial release of ${PN}. Don't file any bug in" - ewarn "Gentoo's Bugtracker against this package in case it breaks for you." - ewarn "Those belong to upstream: https://bugzilla.mozilla.org" - fi - - moz_pkgsetup -} - -pkg_pretend() { - # Ensure we have enough disk space to compile - if use debug || use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -spkg_setup() { - # Ensure we have enough disk space to compile - if use debug || use lto || use test ; then - CHECKREQS_DISK_BUILD="16G" - else - CHECKREQS_DISK_BUILD="12G" - fi - check-reqs_pkg_setup -} - -src_unpack() { - local l10n_sources="${P}.source-l10n.tar.xz" - unpack ${A/ ${l10n_sources}} - - mkdir "${S}/${P}-l10n" || die - cd "${S}/${P}-l10n" || die - unpack ${l10n_sources} -} - -src_prepare() { - rm "${WORKDIR}/mozilla/6009_musl_sandbox_membarrier.patch" || die - - # Apply our patches - eapply "${WORKDIR}"/mozilla - - # Shell scripts sometimes contain DOS line endings; bug 391889 - grep -rlZ --include="*.sh" $'\r$' . | - while read -r -d $'\0' file ; do - einfo edos2unix "${file}" - edos2unix "${file}" - done - - use system-libvpx \ - && eapply -p2 "${WORKDIR}/${PN}-2.53.3-system_libvpx-1.8.patch" - - # Allow user to apply any additional patches without modifing ebuild - eapply_user - - # Don't error for format with gcc-9 - grep -rl -- '-Werror=format' | xargs sed -i 's/error=format/no-&/' || die - - # Enable gnomebreakpad - if use debug ; then - sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" \ - build/unix/run-mozilla.sh || die - fi - - # Ensure that are plugins dir is enabled as default - sed -i -e "s:/usr/$(get_libdir)/mozilla/plugins:/usr/$(get_libdir)/${PN}/plugins:" \ - xpcom/io/nsAppFileLocationProvider.cpp || 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 comm/suite/installer/Makefile.in || die - # Don't error out when there's no files to be removed: - sed 's@\(xargs rm\)$@\1 -f@' \ - -i toolkit/mozapps/installer/packager.mk || die - - # Don't build libs-% locale files for chatzilla if we are not building chatzilla - # (this is hard-coded in the build system at present rather than being based on configuration) - if ! use chatzilla ; then - sed '/extensions\/irc\/locales libs-/s@^@#@' \ - -i comm/suite/locales/Makefile.in || die - fi - - eautoreconf old-configure.in - cd 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 - - ################################## - # Former mozconfig_config() part # - ################################## - - # Migrated from mozcoreconf-2 - mozconfig_annotate 'system_libs' --with-system-bz2 - mozconfig_annotate 'system_libs' --with-system-zlib - - # Disable for testing purposes only - mozconfig_annotate 'Upstream bug 1341234' --disable-stylo - - # Must pass release in order to properly select linker via gold useflag - 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 - - # 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 - - mozconfig_use_enable startup-notification - - # wifi pulls in dbus so manage both here - mozconfig_use_enable wifi necko-wifi - if use kernel_linux && use wifi && ! use dbus ; then - echo "Enabling dbus support due to wifi request" - mozconfig_annotate 'dbus required by necko-wifi on linux' --enable-dbus - else - mozconfig_use_enable dbus - mozconfig_annotate 'disabled' --disable-necko-wifi - 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) - if use system-libevent ; then - mozconfig_annotate '' --with-system-libevent="${SYSROOT}${EPREFIX}"/usr - fi - 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 - - # 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 - - # default toolkit is cairo-gtk3, optional use flags can change this - mozconfig_annotate '' --enable-default-toolkit=cairo-gtk3 - - # 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}}" - - 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 - - # For testing purpose only - mozconfig_annotate 'Sandbox' --enable-content-sandbox - - 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_with system-av1 - - # Modifications to better support ARM, bug 553364 - if use cpu_flags_arm_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|" media/libvpx/moz.build || die - fi - fi - - if use lto ; then - # Linking only works when using ld.gold when LTO is enabled - mozconfig_annotate "forcing ld=gold due to USE=lto" --enable-linker=gold - # ThinLTO is currently broken, see bmo#1644409 - mozconfig_annotate '+lto' --enable-lto=full - else - if tc-ld-is-gold ; then - mozconfig_annotate "linker is set to gold" --enable-linker=gold - else - mozconfig_annotate "linker is set to bfd" --enable-linker=bfd - fi - fi - # LTO flag was handled via configure - filter-flags '-flto*' - - ################################## - # Former mozconfig_config() end # - ################################## - - # enable JACK, bug 600002 - mozconfig_use_enable jack - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - # Linking fails without this due to memory exhaustion - use x86 && append-ldflags "-Wl,--no-keep-memory" - - if ! use chatzilla ; then - MEXTENSIONS+=",-irc" - fi - if ! use roaming ; then - MEXTENSIONS+=",-sroaming" - fi - - # Setup api key for location services - echo -n "${_google_api_key}" > "${S}"/google-api-key - mozconfig_annotate '' --with-google-location-service-api-keyfile="${S}/google-api-key" - mozconfig_annotate '' --with-google-safebrowsing-api-keyfile="${S}/google-api-key" - - mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" - - # use startup-cache for faster startup time - mozconfig_annotate '' --enable-startupcache - - # Use an objdir to keep things organized. - echo "mk_add_options MOZ_OBJDIR=${BUILD_OBJ_DIR}" >> "${S}"/.mozconfig - echo "mk_add_options XARGS=/usr/bin/xargs" >> "${S}"/.mozconfig - - mozlinguas_mozconfig - - # Finalize and report settings - mozconfig_final - - # Work around breakage in makeopts with --no-print-directory - MAKEOPTS="${MAKEOPTS/--no-print-directory/}" - - if [[ $(gcc-major-version) -lt 4 ]] ; then - append-cxxflags -fno-stack-protector - elif [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]] ; then - if use amd64 || use x86 ; then - append-flags -mno-avx - fi - fi - - # Pass $MAKEOPTS to build system - export MOZ_MAKE_FLAGS="${MAKEOPTS}" - # Use system's Python environment - #export MACH_USE_SYSTEM_PYTHON=1 - # Disable notification when build system has finished - export MOZ_NOSPAM=1 - - # workaround for funky/broken upstream configure... - SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - emake V=1 -f client.mk configure - #./mach configure || die -} - -src_compile() { - MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL}" \ - emake V=1 -f client.mk - #./mach build --verbose || die - - mozlinguas_src_compile -} - -src_install() { - MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" - DICTPATH="\"${EPREFIX}/usr/share/myspell\"" - - local emid - cd "${BUILD_OBJ_DIR}" || die - - # Pax mark xpcshell for hardened support, only used for startupcache creation. - pax-mark m dist/bin/xpcshell - - # Copy our preference before omnijar is created. - sed "s|SEAMONKEY_PVR|${PVR}|" "${FILESDIR}"/all-gentoo-1.js > \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - # Set default path to search for dictionaries. - echo "pref(\"spellchecker.dictionary_path\", ${DICTPATH});" \ - >> dist/bin/defaults/pref/all-gentoo.js \ - || die - - echo 'pref("extensions.autoDisableScopes", 3);' >> \ - dist/bin/defaults/pref/all-gentoo.js \ - || die - - local plugin - if ! use gmp-autoupdate ; then - for plugin in "${GMP_PLUGIN_LIST[@]}" ; do - echo "pref(\"media.${plugin}.autoupdate\", false);" >> \ - dist/bin/defaults/pref/all-gentoo.js || die - done - fi - - MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX}/bin/bash}" \ - emake DESTDIR="${D}" install - MOZ_P="${MY_MOZ_P}" mozlinguas_src_install - - cp "${FILESDIR}"/${PN}.desktop "${T}" || die - - sed 's|^\(MimeType=.*\)$|\1text/x-vcard;text/directory;application/mbox;message/rfc822;x-scheme-handler/mailto;|' \ - -i "${T}"/${PN}.desktop || die - sed 's|^\(Categories=.*\)$|\1Email;|' -i "${T}"/${PN}.desktop \ - || die - - # Install icon and .desktop for menu entry - newicon "${S}"/comm/suite/branding/${PN}/default64.png ${PN}.png - domenu "${T}"/${PN}.desktop - - # Required in order to use plugins and even run seamonkey on hardened. - pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/{seamonkey,seamonkey-bin,plugin-container} - - if use minimal ; then - rm -r "${ED}"/usr/include "${ED}/${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} || die - fi - - if use chatzilla ; then - emid='{59c81df5-4b7a-477b-912d-4e0fdf64e5f2}' - - # remove the en_US-only xpi file so a version with all requested locales can be installed - if [[ -e "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi ]] ; then - rm -f "${ED}"/${MOZILLA_FIVE_HOME}/distribution/extensions/${emid}.xpi || die - fi - - # merge the extra locales into the main extension - mozlinguas_xpistage_langpacks dist/xpi-stage/chatzilla - - # install the merged extension - mkdir -p "${T}/${emid}" || die - cp -RLp -t "${T}/${emid}" dist/xpi-stage/chatzilla/* || die - insinto ${MOZILLA_FIVE_HOME}/distribution/extensions - doins -r "${T}/${emid}" - fi - - # Provide a place for plugins - keepdir "${MOZILLA_FIVE_HOME}/plugins" - - # revdep-rebuild entry - insinto /etc/revdep-rebuild - echo "SEARCH_DIRS_MASK=${MOZILLA_FIVE_HOME}*" >> ${T}/11${PN} - doins "${T}"/11${PN} - -} - -pkg_preinst() { - SEAMONKEY_PLUGINS_DIR="${ROOT}/usr/$(get_libdir)/${PN}/plugins" - - if [[ -L "${SEAMONKEY_PLUGINS_DIR}" ]] ; then - rm "${SEAMONKEY_PLUGINS_DIR}" || die - fi -} - -pkg_postinst() { - # Update mimedb for the new .desktop file - xdg_desktop_database_update - - if ! use gmp-autoupdate ; 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 chatzilla ; then - elog "chatzilla is now an extension which can be en-/disabled and configured via" - elog "the Add-on manager." - fi -} - -pkg_postrm() { - xdg_desktop_database_update -} |