diff options
author | Jory Pratt <anarchy@gentoo.org> | 2010-09-16 11:58:12 +0000 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2010-09-16 11:58:12 +0000 |
commit | 357d6c2bef84439b690275269f04942e46890128 (patch) | |
tree | 6940edd70ba2c9c7223abbfb1b28ecf64b4b744e /net-libs | |
parent | Don't use stderr anymore, bug 326279. Move sed to add 'svn mkdir' to the prev... (diff) | |
download | historical-357d6c2bef84439b690275269f04942e46890128.tar.gz historical-357d6c2bef84439b690275269f04942e46890128.tar.bz2 historical-357d6c2bef84439b690275269f04942e46890128.zip |
Fix potentional crash in windowwatcher
Package-Manager: portage-2.1.9.7/cvs/Linux x86_64
Diffstat (limited to 'net-libs')
-rw-r--r-- | net-libs/xulrunner/ChangeLog | 8 | ||||
-rw-r--r-- | net-libs/xulrunner/Manifest | 4 | ||||
-rw-r--r-- | net-libs/xulrunner/files/fix_crash_in_windowwatcher.patch | 28 | ||||
-rw-r--r-- | net-libs/xulrunner/xulrunner-1.9.2.9-r1.ebuild | 248 |
4 files changed, 286 insertions, 2 deletions
diff --git a/net-libs/xulrunner/ChangeLog b/net-libs/xulrunner/ChangeLog index cb2648d2e6d7..98f099b587bc 100644 --- a/net-libs/xulrunner/ChangeLog +++ b/net-libs/xulrunner/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for net-libs/xulrunner # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/ChangeLog,v 1.360 2010/09/14 21:20:06 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/ChangeLog,v 1.361 2010/09/16 11:58:12 anarchy Exp $ + +*xulrunner-1.9.2.9-r1 (16 Sep 2010) + + 16 Sep 2010; Jory A. Pratt <bambam@gentoo.org> + +xulrunner-1.9.2.9-r1.ebuild, +files/fix_crash_in_windowwatcher.patch: + Fix potentional crash in windowwatcher 14 Sep 2010; Jeroen Roovers <jer@gentoo.org> xulrunner-1.9.2.9.ebuild: Stable for HPPA (bug #336396). diff --git a/net-libs/xulrunner/Manifest b/net-libs/xulrunner/Manifest index 21a9d7533f3b..baf06103992a 100644 --- a/net-libs/xulrunner/Manifest +++ b/net-libs/xulrunner/Manifest @@ -5,6 +5,7 @@ AUX 1002_fix-system-hunspell-dict-detections.patch 3394 RMD160 5db17109743eeff45 AUX 1009-armv4t-nanojit-v2.patch 12251 RMD160 9e9d862879d4897067605879245c1a6d50cf32fe SHA1 dcfe3da40dc822f2769e244571b721b59e59f322 SHA256 68c4df9c5313b93e8c5d7c7e8ed8375a88e9afa28c05e3965180058ba06cf05b AUX 301-xulrunner-xpctools.diff 550 RMD160 12d370d5473de5c54233a70533cd35e37305ef86 SHA1 e3812ce6a4446b0b9d496a9dd4760d03bf0de449 SHA256 6bf510f7df5a41f47501cbdbcffc46d0c04865e3597dc6a575cd4a9cfae1def4 AUX 801-enable-x86_64-tracemonkey.patch 501 RMD160 e8341671a9ab7f05cf58735a2b862ded55d82829 SHA1 d0c194c79993c3c47a8c46726d3f024e044766a0 SHA256 20f558efbf4ed1960b390c353c7eeb94108fcdb8aaf33f1fea6caf44468aeb7c +AUX fix_crash_in_windowwatcher.patch 1102 RMD160 d539f5d8d82b389a8b2969a294821fd2d1184dd4 SHA1 0c2a8a36cdff57ba45166c76def0950cce297470 SHA256 5dd5145c1f3c0de1267384f0d68aa48c7cf50ba080d5074144f5b706af85d737 AUX xulrunner-1.9-no_sunstudio.patch 416 RMD160 fbd1be7182ff8a7aead935cf2f2ce5432aa5f5b8 SHA1 b50c3c30485ef140a0aeeb6de3875761cd906bcb SHA256 2dce8f5a07c623701ce5ae8c2517bd8776adff6c3a371d4762570e806ccf0a34 AUX xulrunner-1.9-solaris64.patch 18082 RMD160 8d1b3e2b8a6eb191b0d775f0e96391a321d6e981 SHA1 b984870ff665613ece1af103220f7a7a2d4296cb SHA256 d6c8a8f5835aa3075f1da70aa7524dc81d4a081d9b78503ec929d22e5c742f05 AUX xulrunner-1.9.1.5-solaris-undef-regs.patch 433 RMD160 11f805b661ce8ded829b00ae5e3b134a32420ac4 SHA1 d90ef838e52c3f3d7d21e91bb2451614a9ebefbc SHA256 730150845b311b394dc0c398afb72ef74c7d220dbc6013872d922610189ab0f8 @@ -19,6 +20,7 @@ DIST firefox-3.6.9.source.tar.bz2 51240588 RMD160 530b1d64cc02ba0433c3a39d1c97c5 DIST xulrunner-1.9.2-patches-0.6.tar.bz2 16308 RMD160 6066ea0b01f8b6c9eae1a0692ad9a07f04ab7327 SHA1 ebba861e23ef36256dc29d7d04820222be8e4241 SHA256 6a9d709f9ee15d6c139a35f8a6826cd7b473188290bd5e81e56297d8f36e2235 DIST xulrunner-1.9.2-patches-0.7.tar.bz2 16366 RMD160 2bfa5f56d58d5bb4508512190cf07454814fb0b5 SHA1 2c6e2cfb0c50a5595795561126de26941dbed576 SHA256 3e25e9b8d5fe9109f03889bca9240f92acd502fd68efe0e7eda304f5487b6bf0 EBUILD xulrunner-1.9.2.8.ebuild 7748 RMD160 960a894404d2441a4209e4b26f0c2fec98eb165b SHA1 b4e4a38bf91fbdb2d95476b34bf5fd027b9711e9 SHA256 24a9947c9554dbc55d86d08a6e694751b323e840c65d3306f0253fc347a1a9c2 +EBUILD xulrunner-1.9.2.9-r1.ebuild 8013 RMD160 add08d506e9fbbe2f9f5fbda3f66a3773e34af81 SHA1 206b50b66c8025b9ac273ca319c1c1248bfa2d98 SHA256 4088534695609a105e16b457ae7eaa5c619c7dc790df09b9b2905131eb9478ee EBUILD xulrunner-1.9.2.9.ebuild 7942 RMD160 bdc9cb18d341c345fb7a0a95ddf1aec1c5cdeda8 SHA1 c940c01cd4d9f2e59622d071ffacb7aa8b24a12b SHA256 b9ea83c25118fa0bd489c9febf69cbbe4ed320f0a565bb57f578864179fe93b5 -MISC ChangeLog 49308 RMD160 43c168176a574281aff705f3329e7bfd26eb1a6c SHA1 544c985ee9788d3d9df643a61a2447b7596a6630 SHA256 e0820683c723e6ba4c8f1e78f3605f2423ed938cb1fabec91141b0001428dfb7 +MISC ChangeLog 49513 RMD160 73406fd7f67ad4e64813983225a7797c924b798d SHA1 a5f30277c9fa8ea7e3c4fec291ffcd9e33484c3b SHA256 c4cad960cfbd443a5939e2138683964468588f2406f804ea3b483bc574ed20b3 MISC metadata.xml 534 RMD160 6f9915565c51559c0e4726fed4e43cffce894306 SHA1 7ababd8846ab59b3ea43ac0153750584aa792055 SHA256 60f561d9e9846e96bfa0d6a9161058986c65dba93879073e7138477b6ce61978 diff --git a/net-libs/xulrunner/files/fix_crash_in_windowwatcher.patch b/net-libs/xulrunner/files/fix_crash_in_windowwatcher.patch new file mode 100644 index 000000000000..774e43ae4e59 --- /dev/null +++ b/net-libs/xulrunner/files/fix_crash_in_windowwatcher.patch @@ -0,0 +1,28 @@ +# HG changeset patch +# Parent e981d93d6534b48a75655ad886d494bd3bbe3ff2 +# User Blake Kaplan <mrbkap@gmail.com> +Bug 594699 - Null check this to return to pre-bug 532730 behavior in pathological cases. + +diff --git a/embedding/components/windowwatcher/src/nsWindowWatcher.cpp b/embedding/components/windowwatcher/src/nsWindowWatcher.cpp +--- a/embedding/components/windowwatcher/src/nsWindowWatcher.cpp ++++ b/embedding/components/windowwatcher/src/nsWindowWatcher.cpp +@@ -517,17 +517,17 @@ nsWindowWatcher::OpenWindowJSInternal(ns + nsCOMPtr<nsIDocShellTreeItem> newDocShellItem; // from the new window + JSContextAutoPopper callerContextGuard; + + NS_ENSURE_ARG_POINTER(_retval); + *_retval = 0; + + nsCOMPtr<nsIContentUtils> utils = + do_GetService("@mozilla.org/content/contentutils;1"); +- if (!utils->IsSafeToRunScript()) { ++ if (utils && !utils->IsSafeToRunScript()) { + return NS_ERROR_FAILURE; + } + + GetWindowTreeOwner(aParent, getter_AddRefs(parentTreeOwner)); + + if (aUrl) { + rv = URIfromURL(aUrl, aParent, getter_AddRefs(uriToLoad)); + if (NS_FAILED(rv)) + diff --git a/net-libs/xulrunner/xulrunner-1.9.2.9-r1.ebuild b/net-libs/xulrunner/xulrunner-1.9.2.9-r1.ebuild new file mode 100644 index 000000000000..5a3cda746439 --- /dev/null +++ b/net-libs/xulrunner/xulrunner-1.9.2.9-r1.ebuild @@ -0,0 +1,248 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-libs/xulrunner/xulrunner-1.9.2.9-r1.ebuild,v 1.1 2010/09/16 11:58:12 anarchy Exp $ + +EAPI="3" +WANT_AUTOCONF="2.1" + +inherit flag-o-matic toolchain-funcs eutils mozconfig-3 makeedit multilib java-pkg-opt-2 autotools python prefix pax-utils + +MY_PV="${PV/_rc/rc}" # Handle beta +MY_PV="${MY_PV/1.9.2/3.6}" +MAJ_PV="1.9.2" # from mozilla-* branch name +PATCH="${PN}-1.9.2-patches-0.7" + +DESCRIPTION="Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications" +HOMEPAGE="http://developer.mozilla.org/en/docs/XULRunner" +SRC_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2 + http://dev.gentoo.org/~anarchy/mozilla/patchsets/${PATCH}.tar.bz2" + +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris" +SLOT="1.9" +LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )" +IUSE="+alsa +cups debug +ipc libnotify system-sqlite wifi" + +RDEPEND=" + >=sys-devel/binutils-2.16.1 + >=dev-libs/nss-3.12.7 + >=dev-libs/nspr-4.8.6 + system-sqlite? ( >=dev-db/sqlite-3.6.22-r2[fts3,secure-delete] ) + alsa? ( media-libs/alsa-lib ) + >=app-text/hunspell-1.2 + >=x11-libs/cairo-1.8.8[X] + x11-libs/pango[X] + x11-libs/libXt + x11-libs/pixman + >=dev-libs/libevent-1.4.7 + wifi? ( net-wireless/wireless-tools ) + libnotify? ( >=x11-libs/libnotify-0.4 ) + cups? ( net-print/cups[gnutls] )" + +DEPEND="java? ( >=virtual/jdk-1.4 ) + ${RDEPEND} + =dev-lang/python-2*[threads] + dev-util/pkgconfig" + +# virtual/jre should not be in DEPEND. bug 325981 +RDEPEND="java? ( >=virtual/jre-1.4 ) ${RDEPEND}" + +S="${WORKDIR}/mozilla-${MAJ_PV}" + +pkg_setup() { + # Ensure we always build with C locale. + export LANG="C" + export LC_ALL="C" + export LC_MESSAGES="C" + export LC_CTYPE="C" + + java-pkg-opt-2_pkg_setup + + python_set_active_version 2 +} + +src_prepare() { + # Apply our patches + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}" + + epatch "${FILESDIR}/fix_crash_in_windowwatcher.patch" + + eprefixify \ + extensions/java/xpcom/interfaces/org/mozilla/xpcom/Mozilla.java \ + xpcom/build/nsXPCOMPrivate.h \ + xulrunner/installer/Makefile.in \ + xulrunner/app/nsRegisterGREUnix.cpp + + # fix double symbols due to double -ljemalloc + sed -i -e '/^LIBS += $(JEMALLOC_LIBS)/s/^/#/' \ + xulrunner/stub/Makefile.in || die + + # Allow user to apply additional patches without modifing ebuild + epatch_user + + # Same as in config/autoconf.mk.in + MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}" + SDKDIR="/usr/$(get_libdir)/${PN}-devel-${MAJ_PV}/sdk" + + # Gentoo install dirs + sed -i -e "s:@PV@:${MAJ_PV}:" "${S}"/config/autoconf.mk.in \ + || die "${MAJ_PV} sed failed!" + + # 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 + + eautoreconf + + cd js/src + eautoreconf +} + +src_configure() { + #################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + #################################### + + mozconfig_init + mozconfig_config + + MEXTENSIONS="default" + + MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}" + + # It doesn't compile on alpha without this LDFLAGS + use alpha && append-ldflags "-Wl,--no-relax" + + mozconfig_annotate '' --with-default-mozilla-five-home="${MOZLIBDIR}" + mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}" + mozconfig_annotate '' --enable-application=xulrunner + mozconfig_annotate '' --disable-mailnews + mozconfig_annotate 'broken' --disable-crashreporter + mozconfig_annotate '' --enable-image-encoder=all + mozconfig_annotate '' --enable-canvas + mozconfig_annotate 'gtk' --enable-default-toolkit=cairo-gtk2 + # Bug 60668: Galeon doesn't build without oji enabled, so enable it + # regardless of java setting. + mozconfig_annotate '' --enable-oji --enable-mathml + mozconfig_annotate 'places' --enable-storage --enable-places + mozconfig_annotate '' --enable-safe-browsing + + # Build mozdevelop permately + mozconfig_annotate '' --enable-jsd --enable-xpctools + + # System-wide install specs + mozconfig_annotate '' --disable-installer + mozconfig_annotate '' --disable-updater + mozconfig_annotate '' --disable-strip + mozconfig_annotate '' --disable-install-strip + + # Use system libraries + mozconfig_annotate '' --enable-system-cairo + mozconfig_annotate '' --enable-system-hunspell + mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr + mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr + mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir) + mozconfig_annotate '' --with-system-bz2 + mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr + + mozconfig_use_enable ipc # +ipc, upstream default + mozconfig_use_enable libnotify + mozconfig_use_enable java javaxpcom + mozconfig_use_enable wifi necko-wifi + mozconfig_use_enable alsa ogg + mozconfig_use_enable alsa wave + mozconfig_use_enable system-sqlite + mozconfig_use_enable cups printing + + # Debug + if use debug ; then + mozconfig_annotate 'debug' --disable-optimize + mozconfig_annotate 'debug' --enable-debug=-ggdb + mozconfig_annotate 'debug' --enable-debug-modules=all + mozconfig_annotate 'debug' --enable-debugger-info-modules + fi + + # Finalize and report settings + mozconfig_final + + if [[ $(gcc-major-version) -lt 4 ]]; then + append-flags -fno-stack-protector + fi + + #################################### + # + # Configure and build + # + #################################### + + # Disable no-print-directory + MAKEOPTS=${MAKEOPTS/--no-print-directory/} + + # Ensure that are plugins dir is enabled as default + sed -i -e "s:/usr/lib/mozilla/plugins:/usr/$(get_libdir)/nsbrowser/plugins:" \ + "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path!" + + # hack added to workaround bug 299905 on hosts with libc that doesn't + # support tls, (probably will only hit this condition with Gentoo Prefix) + tc-has-tls -l || export ac_cv_thread_keyword=no + + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" PYTHON="$(PYTHON)" econf +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + rm "${ED}"/usr/bin/xulrunner + + MOZLIBDIR="/usr/$(get_libdir)/${PN}-${MAJ_PV}" + SDKDIR="/usr/$(get_libdir)/${PN}-devel-${MAJ_PV}/sdk" + + if has_multilib_profile; then + local config + for config in "${ED}"/etc/gre.d/*.system.conf ; do + mv "${config}" "${config%.conf}.${CHOST}.conf" + done + fi + + dodir /usr/bin + dosym "${MOZLIBDIR}/xulrunner" "/usr/bin/xulrunner-${MAJ_PV}" || die + + # env.d file for ld search path + dodir /etc/env.d + echo "LDPATH=${EPREFIX}/${MOZLIBDIR}" > "${ED}"/etc/env.d/08xulrunner || die "env.d failed" + + # Add our defaults to xulrunner and out of firefox + cp "${FILESDIR}"/xulrunner-default-prefs.js \ + "${ED}/${MOZLIBDIR}/defaults/pref/all-gentoo.js" || \ + die "failed to cp xulrunner-default-prefs.js" + + pax-mark m "${D}"/${MOZLIBDIR}/plugin-container + + if use java ; then + java-pkg_regjar "${ED}/${MOZLIBDIR}/javaxpcom.jar" + java-pkg_regso "${ED}/${MOZLIBDIR}/libjavaxpcomglue.so" + java-pkg_regjar "${ED}/${SDKDIR}/lib/MozillaGlue.jar" + java-pkg_regjar "${ED}/${SDKDIR}/lib/MozillaInterfaces.jar" + fi +} + +pkg_postinst() { + ewarn "If firefox fails to start with \"failed to load xpcom\", run revdep-rebuild" + ewarn "If that does not fix the problem, rebuild dev-libs/nss" + ewarn "Try dev-util/lafilefixer if you get build failures related to .la files" + + einfo + einfo "All prefs can be overridden by the user. The preferences are to make" + einfo "use of xulrunner out of the box on an average system without the user" + einfo "having to go through and enable the basics." + + einfo + ewarn "Any package that requires xulrunner:1.9 slot could and most likely will" + ewarn "have issues. These issues should be reported to maintainer, and mozilla herd" + ewarn "should be cc'd on the bug report. Thank you anarchy@gentoo.org ." +} |