From 0d64e171042fe59648c21c3170d42a31d28eab0d Mon Sep 17 00:00:00 2001 From: Sardem FF7 Date: Mon, 27 Jun 2011 14:20:01 +0200 Subject: Merge firefox and xulrunner --- eclass/mozilla-app.eclass | 465 ++++++++++++++++++++++++++++++ eclass/mozilla-config.eclass | 357 ----------------------- eclass/mozilla-scm-fetch.eclass | 27 ++ eclass/mozilla-scm.eclass | 140 +-------- net-libs/xulrunner/Manifest | 3 - net-libs/xulrunner/files/default-prefs.js | 16 - net-libs/xulrunner/files/gcc46.patch | 69 ----- net-libs/xulrunner/xulrunner-9999.ebuild | 81 ------ www-client/firefox/files/gcc46.patch | 69 +++++ www-client/firefox/firefox-9999.ebuild | 36 +-- 10 files changed, 567 insertions(+), 696 deletions(-) create mode 100644 eclass/mozilla-app.eclass delete mode 100644 eclass/mozilla-config.eclass delete mode 100644 net-libs/xulrunner/Manifest delete mode 100644 net-libs/xulrunner/files/default-prefs.js delete mode 100644 net-libs/xulrunner/files/gcc46.patch delete mode 100644 net-libs/xulrunner/xulrunner-9999.ebuild create mode 100644 www-client/firefox/files/gcc46.patch diff --git a/eclass/mozilla-app.eclass b/eclass/mozilla-app.eclass new file mode 100644 index 0000000..d00e3fe --- /dev/null +++ b/eclass/mozilla-app.eclass @@ -0,0 +1,465 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# @ECLASS: mozilla-config.eclass +# @MAINTAINER: +# Sardem FF7 +# @BLURB: This eclass provides Mozilla app build support + +WANT_AUTOCONF="2.1" + +inherit base multilib toolchain-funcs autotools python flag-o-matic pax-utils mozilla-scm + +MAJ_XUL_PV="7.0" + +S="${WORKDIR}/${XULRUNNER_HG_MODULE}" + +# +# Some per-application stuff +# +MOZLIBDIR="/usr/$(get_libdir)/xulrunner-${MAJ_XUL_PV}" +MOZDEVELDIR="/usr/$(get_libdir)/xulrunner-devel-${MAJ_XUL_PV}" +SDKDIR="${MOZDEVELDIR}/sdk" +MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" +case "${PN}" in + firefox) + MOZ_APPLICATION=browser + ;; + thunderbird) + MOZ_APPLICATION=mail + ;; +esac + +RDEPEND=" + x11-libs/libXrender + x11-libs/libXt + x11-libs/libXmu + >=sys-libs/zlib-1.1.4 + virtual/jpeg + dev-libs/expat + app-arch/unzip + >=x11-libs/gtk+-2.14.0 + >=dev-libs/glib-2.26 + >=x11-libs/pango-1.10.1 + >=dev-libs/libIDL-0.8.0 + >=dev-libs/libevent-1.4.7 + !=sys-devel/binutils-2.16.1 + ~dev-libs/nss-9999 + >=app-text/hunspell-1.2 + >=x11-libs/cairo-1.10.2[X] + x11-libs/pixman + dev-libs/libffi + + alsa? ( media-libs/alsa-lib ) + dbus? ( >=dev-libs/dbus-glib-0.72 ) + gconf? ( gnome-base/gconf:2 ) + libnotify? ( >=x11-libs/libnotify-0.4 ) + startup-notification? ( >=x11-libs/startup-notification-0.8 ) + system-sqlite? ( >=dev-db/sqlite-3.7.5[fts3,secure-delete,unlock-notify] ) + webm? ( media-libs/libvpx ) + wifi? ( net-wireless/wireless-tools ) + " + +DEPEND="${RDEPEND} + meta-sync/mozilla-repositories[mozdom=] + webm? ( dev-lang/yasm ) + >=sys-devel/gcc-4.1 + " + +RDEPEND+=" + !net-libs/xulrunner + !www-plugins/weave + " + +IUSE="+alsa bindist custom-optimization debug dbus gconf +ipc libnotify mozdom raw startup-notification +system-sqlite +webm wifi" + + +EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_install pkg_postinst + +function mozilla-app_pkg_setup() { + # Set by configure (plus USE_AUTOCONF=1), but useful for NSPR + export MOZILLA_CLIENT=1 + export BUILD_OPT=1 + export NO_STATIC_LIB=1 + export USE_PTHREADS=1 + + if [ "${XULRUNNER_HG_MODULE}" = "mozilla-aurora" ]; then + MOZ_BRANDING=aurora + elif use bindist; then + MOZ_BRANDING=nightly + else + MOZ_BRANDING=official + + elog "You are enabling official branding. You may not redistribute this build" + elog "to any users on your network or the internet. Doing so puts yourself into" + elog "a legal problem with Mozilla Foundation" + fi +} + +function mozilla-app_src_prepare() { + epatch "${FILESDIR}"/gcc46.patch + + # fix double symbols due to double -ljemalloc + sed -i \ + -e '/^LIBS += $(JEMALLOC_LIBS)/s/^/#/' \ + xulrunner/stub/Makefile.in \ + || 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 "sed failed!" + fi + + # tmp fix + sed -i \ + -e '/XPIDL_LINK =/s|$(LIBXUL_DIST)/sdk/bin|$(DEPTH)/xpcom/typelib/xpt/tools|' \ + config/config.mk \ + js/src/config/config.mk \ + || die "tmp fix failed (maybe the time to remove it)" + + # Gentoo install dirs + sed -i \ + -e 's:$(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION):$(includedir)/idl:' \ + -e 's:$(MOZ_APP_NAME)-$(MOZ_APP_VERSION):firefox:' \ + -e 's:$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION):firefox:' \ + -e 's:$(MOZ_APP_VERSION):'"${MAJ_XUL_PV}:" \ + config/autoconf.mk.in \ + || die "${MAJ_XUL_PV} sed failed!" + + eautoreconf + + cd js/src + eautoreconf +} + +mozconfig_annotate() { + declare reason=$1 x ; shift + [[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!" + for x in ${*}; do + echo "ac_add_options ${x} # ${reason}" >>.mozconfig + done +} + +mozconfig_flag() { + mozconfig_annotate "USE-flag: $(useq $1 && echo +$1 || echo -$1)" "$2" +} + +mozconfig_use_enable() { + mozconfig_flag "$1" "$(use_enable "$@")" +} + +mozconfig_use_with() { + mozconfig_flag "$1" "$(use_with "$@")" +} + +function mozilla-app_src_configure() { + 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 + + + #################################### + # + # Setup the initial .mozconfig + # See https://developer.mozilla.org/en/Configuring_Build_Options + # + #################################### + + cp ${MOZ_APPLICATION}/config/mozconfig .mozconfig \ + || die "cp mozconfig failed" + + #################################### + # + # CFLAGS setup and ARCH support + # + #################################### + + # Set optimization level + if use custom-optimization; then + local opt=-O2 + # Set optimization level based on CFLAGS + if [[ ${ARCH} == x86 ]]; then + if is-flag -O0; then + opt=-O0 + elif is-flag -O1; then + opt=-O1 + elif is-flag -Os; then + opt=-Os + fi + elif is-flag -O3; then + opt=-O3 + fi + mozconfig_annotate 'USE-flag: +custom-optimization' --enable-optimize=$opt + else + # Enable Mozilla's default + # It should be fine on all platform + mozconfig_annotate 'Default optimization: Mozilla' --enable-optimize + fi + + # Now strip optimization from CFLAGS so it doesn't end up in the + # compile string + filter-flags '-O*' + + # Strip over-aggressive CFLAGS - Mozilla supplies its own + # fine-tuned CFLAGS and shouldn't be interfered with.. Do this + # AFTER setting optimization above since strip-flags only allows + # -O -O1 and -O2 + strip-flags + + if [[ $(gcc-major-version) -eq 3 ]]; then + # Enable us to use flash, etc plugins compiled with gcc-2.95.3 + mozconfig_annotate "building with >=gcc-3" --enable-old-abi-compat-wrappers + + # Needed to build without warnings on gcc-3 + CXXFLAGS="${CXXFLAGS} -Wno-deprecated" + + if [[ "${ARCH}" == x86 && + ( $(gcc-minor-version) -lt 2 || + ( $(gcc-minor-version) -eq 2 && $(gcc-micro-version) -lt 3 ) + ) ]] + then + replace-flags -march=pentium4 -march=pentium3 + filter-flags -msse2 + fi + elif [[ $(gcc-major-version) -lt 4 ]]; then + append-flags -fno-stack-protector + fi + + # Go a little faster; use less RAM + append-flags "$MAKEEDIT_FLAGS" + + # Ensure we do not fail on i{3,5,7} processors that support -mavx + append-flags -mno-avx + + #################################### + # + # mozconfig setup + # + #################################### + + mozconfig_annotate 'Gentoo system' \ + --disable-installer \ + --disable-pedantic \ + --with-system-jpeg \ + --with-system-bz2 \ + --with-system-zlib \ + --disable-updater \ + --enable-system-cairo \ + --enable-system-hunspell \ + --enable-system-ffi \ + --disable-strip \ + --enable-default-toolkit=cairo-gtk2 \ + --disable-strip-libs \ + --disable-install-strip \ + --with-system-nspr \ + --with-nspr-prefix="${EPREFIX}"/usr \ + --with-system-nss \ + --with-nss-prefix="${EPREFIX}"/usr \ + --with-system-libevent="${EPREFIX}"/usr \ + --x-includes="${EPREFIX}"/usr/include \ + --x-libraries="${EPREFIX}"/usr/$(get_libdir) \ + --with-distribution-id=org.gentoo + + mozconfig_annotate 'Gentoo defaults' \ + --enable-gio \ + --enable-single-profile \ + --disable-profilesharing \ + --disable-profilelocking + + mozconfig_annotate 'Provide and use libmozjs' --enable-shared-js + + sed -i \ + -e '/--enable-application=/d' \ + -e '/--enable-extensions=/d'\ + .mozconfig + local extensions="default" + use mozdom && extensions+=",inspector" + mozconfig_annotate 'Application defaults' \ + --enable-application=${MOZ_APPLICATION} \ + --with-default-mozilla-five-home="${MOZILLA_FIVE_HOME}" \ + --enable-extensions="${extensions}" + + mozconfig_annotate 'Basic features' \ + --enable-crypto \ + --enable-tracejit \ + --enable-pango \ + --enable-mathml \ + --enable-safe-browsing \ + --enable-storage \ + --enable-places \ + --enable-places_bookmarks + + # jemalloc won't build with older glibc + ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate 'old glibc' --disable-jemalloc + + if [ "${MOZ_BRANDING}" = "official" ]; then + mozconfig_annotate 'Official branding' \ + --enable-official-branding + else + mozconfig_annotate 'Unofficial branding' \ + --with-branding=${MOZ_APPLICATION}/branding/${MOZ_BRANDING} + fi + + # Use system libraries + mozconfig_use_enable alsa ogg + mozconfig_use_enable alsa wave + mozconfig_use_enable dbus + mozconfig_use_enable gconf + mozconfig_use_enable ipc # +ipc, upstream default + mozconfig_use_enable libnotify + mozconfig_use_enable raw + mozconfig_use_enable startup-notification + mozconfig_use_enable system-sqlite + mozconfig_use_enable webm + mozconfig_use_with webm system-libvpx + mozconfig_use_enable wifi necko-wifi + + + # NOTE: Uses internal copy of libvpx + if use webm && ! use alsa; then + die "USE=webm needs USE=alsa" + fi + + + # Debug + if use debug; then + mozconfig_annotate 'Debug activated' \ + --disable-optimize \ + --enable-valgrind \ + --enable-debug=-ggdb \ + --enable-debug-modules=all \ + --enable-debugger-info-modules + else + mozconfig_annotate 'Debug deactivated' \ + --disable-debug \ + --disable-debug-symbols \ + --disable-tests + fi + + # omni.jar breaks ff on xr + # Bug 60668: Galeon doesn't build without oji enabled, so enable it + # regardless of java setting.--enable-oji + mozconfig_annotate 'Broken' \ + --disable-crashreporter \ + --enable-chrome-format=jar \ + --enable-oji + + mozconfig_annotate 'Deprecated' \ + --disable-gnomeui \ + --disable-gnomevfs + + + # Currently --enable-elf-dynstr-gc only works for x86 and ppc, + # thanks to Jason Wever for the fix. + # -- This breaks now on ppc, no idea why +# if use x86 || use ppc && [[ ${enable_optimize} != -O0 ]]; then + if use x86 && [[ ${enable_optimize} != -O0 ]]; then + mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc + fi +# fi + + echo + echo '==========================================================' + echo "Building ${PF} with the following configuration" + grep '^ac_add_options' .mozconfig | while read ac opt hash reason; do + [[ -z ${hash} || ${hash} == \# ]] \ + || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" + printf ' %-60s %s\n' "${opt}" "${reason:-mozilla.org default}" + done + echo '==========================================================' + echo + + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" PYTHON="$(PYTHON)" econf "$@" +} + +function mozilla-app_src_compile() { + emake tier_app_dirs=xulrunner || die "emake failed" +} + +function mozilla-app_src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + local prefdir="${ED}/${MOZILLA_FIVE_HOME}/defaults/pref" + [[ -d "${prefdir}erences" ]] && prefdir+="erences" + cp "${FILESDIR}"/default-prefs.js \ + "${prefdir}/all-gentoo.js" || \ + die "failed to cp default-prefs.js" + + local size branding_path icon + branding_path="${S}"/${MOZ_APPLICATION}/branding/${MOZ_BRANDING} + source "${branding_path}"/configure.sh + iconsname=default + case "${MOZ_APPLICATION}" in + mail) iconsname=mailicon ;; + esac + targeticonname="${MOZ_APP_DISPLAYNAME,,}" + + # Install icons and .desktop for menu entry + for size in 16 22 24 32 256; do + insinto "/usr/share/icons/hicolor/${size}x${size}/apps" + [ -f "${branding_path}/${iconsname}${size}.png" ] && { + newins "${branding_path}/${iconsname}${size}.png" "${targeticonname}.png" || die + } + done + + # The 128x128 icon has a different name + insinto "/usr/share/icons/hicolor/128x128/apps" + [ -f "${branding_path}/mozicon128.png" ] && { + newins "${branding_path}/mozicon128.png" "${targeticonname}.png" || die + } + + # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs + newicon "${branding_path}/content/icon48.png" "${targeticonname}.png" || die + newmenu "${FILESDIR}/${PN}.desktop" "${PN}.desktop" || die + + sed -i -e "s:@NAME@:${MOZ_APP_DISPLAYNAME}:" -e "s:@ICON@:${targeticonname}:" \ + "${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 + fi + + rm "${ED}"/usr/bin/xulrunner + + # env.d file for ld search path + dodir /etc/env.d + echo "LDPATH=${EPREFIX}/${MOZLIBDIR}" > "${ED}"/etc/env.d/08xulrunner || die "env.d failed" + + pax-mark m "${ED}"/${MOZLIBDIR}/plugin-container + pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/firefox + + # Plugins dir + dosym ../nsbrowser/plugins "${MOZILLA_FIVE_HOME}"/plugins \ + || die "failed to symlink" +} + +## +## eclass exported function +## pkg_postinst +## +function mozilla-scm_pkg_postinst { + ewarn "All the packages built against ${PN} won't compile," + ewarn "any package that fails to build warrants a bug report." + + inherit fdo-mime + # Update mimedb for the new .desktop file + fdo-mime_desktop_database_update + + ewarn "This is highly experimental DO NOT file a bug report" + ewarn "on Gentoo's bugzilla, please visit the Mozilla one instead" + + einfo "Don't forget to sync with meta-sync/mozilla-repositories" +} diff --git a/eclass/mozilla-config.eclass b/eclass/mozilla-config.eclass deleted file mode 100644 index ee1b144..0000000 --- a/eclass/mozilla-config.eclass +++ /dev/null @@ -1,357 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -# @ECLASS: mozilla-config.eclass -# @MAINTAINER: -# Sardem FF7 -# @BLURB: This eclass provides Mozilla config support - -inherit flag-o-matic - -## -## Base common stuff -## -RDEPEND=" - virtual/jpeg - dev-libs/expat - app-arch/unzip - >=x11-libs/gtk+-2.14.0 - >=dev-libs/glib-2.26 - >=x11-libs/pango-1.10.1 - >=dev-libs/libIDL-0.8.0 - >=dev-libs/libevent-1.4.7 - !=sys-devel/binutils-2.16.1 - ~dev-libs/nss-9999 - >=app-text/hunspell-1.2 - >=x11-libs/cairo-1.10.2[X] - x11-libs/pixman - dev-libs/libffi - - alsa? ( media-libs/alsa-lib ) - dbus? ( >=dev-libs/dbus-glib-0.72 ) - libnotify? ( >=x11-libs/libnotify-0.4 ) - startup-notification? ( >=x11-libs/startup-notification-0.8 ) - system-sqlite? ( >=dev-db/sqlite-3.7.5[fts3,secure-delete,unlock-notify] ) - webm? ( media-libs/libvpx ) - wifi? ( net-wireless/wireless-tools ) - " - -DEPEND="${RDEPEND} - webm? ( dev-lang/yasm ) - >=sys-devel/gcc-4.1 - " - -IUSE="+alsa custom-optimization dbus +ipc libnotify mozdom raw startup-notification +system-sqlite +webm wifi" -${IS_LIBXUL} || IUSE+=" bindist" - -# Set by configure (plus USE_AUTOCONF=1), but useful for NSPR -export MOZILLA_CLIENT=1 -export BUILD_OPT=1 -export NO_STATIC_LIB=1 -export USE_PTHREADS=1 - -mozconfig_annotate() { - declare reason=$1 x ; shift - [[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!" - for x in ${*}; do - echo "ac_add_options ${x} # ${reason}" >>.mozconfig - done -} - -mozconfig_flag() { - mozconfig_annotate "USE-flag: $(useq $1 && echo +$1 || echo -$1)" "$2" -} - -mozconfig_use_enable() { - mozconfig_flag "$1" "$(use_enable "$@")" -} - -mozconfig_use_with() { - mozconfig_flag "$1" "$(use_with "$@")" -} - -## -## mozconfig_configure -## -function mozconfig_configure { - #################################### - # - # Setup the initial .mozconfig - # See https://developer.mozilla.org/en/Configuring_Build_Options - # - #################################### - - cp ${MOZ_APPLICATION}/config/mozconfig .mozconfig \ - || die "cp mozconfig failed" - - #################################### - # - # CFLAGS setup and ARCH support - # - #################################### - - # Set optimization level - if use custom-optimization; then - local opt=-O2 - # Set optimization level based on CFLAGS - if [[ ${ARCH} == x86 ]]; then - if is-flag -O0; then - opt=-O0 - elif is-flag -O1; then - opt=-O1 - elif is-flag -Os; then - opt=-Os - fi - elif is-flag -O3; then - opt=-O3 - fi - mozconfig_annotate 'USE-flag: +custom-optimization' --enable-optimize=$opt - else - # Enable Mozilla's default - # It should be fine on all platform - mozconfig_annotate 'Default optimization: Mozilla' --enable-optimize - fi - - # Now strip optimization from CFLAGS so it doesn't end up in the - # compile string - filter-flags '-O*' - - # Strip over-aggressive CFLAGS - Mozilla supplies its own - # fine-tuned CFLAGS and shouldn't be interfered with.. Do this - # AFTER setting optimization above since strip-flags only allows - # -O -O1 and -O2 - strip-flags - - if [[ $(gcc-major-version) -eq 3 ]]; then - # Enable us to use flash, etc plugins compiled with gcc-2.95.3 - mozconfig_annotate "building with >=gcc-3" --enable-old-abi-compat-wrappers - - # Needed to build without warnings on gcc-3 - CXXFLAGS="${CXXFLAGS} -Wno-deprecated" - - if [[ "${ARCH}" == x86 && - ( $(gcc-minor-version) -lt 2 || - ( $(gcc-minor-version) -eq 2 && $(gcc-micro-version) -lt 3 ) - ) ]] - then - replace-flags -march=pentium4 -march=pentium3 - filter-flags -msse2 - fi - elif [[ $(gcc-major-version) -lt 4 ]]; then - append-flags -fno-stack-protector - fi - - # Go a little faster; use less RAM - append-flags "$MAKEEDIT_FLAGS" - - # Ensure we do not fail on i{3,5,7} processors that support -mavx - append-flags -mno-avx - - #################################### - # - # mozconfig setup - # - #################################### - - mozconfig_annotate 'Gentoo system' \ - --disable-installer \ - --disable-pedantic \ - --with-system-jpeg \ - --with-system-bz2 \ - --with-system-zlib \ - --disable-updater \ - --enable-system-cairo \ - --enable-system-hunspell \ - --enable-system-ffi \ - --disable-strip \ - --enable-default-toolkit=cairo-gtk2 \ - --disable-strip-libs \ - --disable-install-strip \ - --with-system-nspr \ - --with-nspr-prefix="${EPREFIX}"/usr \ - --with-system-nss \ - --with-nss-prefix="${EPREFIX}"/usr \ - --with-system-libevent="${EPREFIX}"/usr \ - --x-includes="${EPREFIX}"/usr/include \ - --x-libraries="${EPREFIX}"/usr/$(get_libdir) \ - --with-distribution-id=org.gentoo - - mozconfig_annotate 'Gentoo defaults' \ - --enable-gio \ - --enable-single-profile \ - --disable-profilesharing \ - --disable-profilelocking - - mozconfig_annotate 'Provide and use libmozjs' --enable-shared-js - - sed -i \ - -e '/--enable-application=/d' \ - -e '/--enable-extensions=/d'\ - .mozconfig - local extensions="default" - use mozdom && extensions+=",inspector" - mozconfig_annotate 'Application defaults' \ - --enable-application=${MOZ_APPLICATION} \ - --with-default-mozilla-five-home="${MOZILLA_FIVE_HOME}" \ - --enable-extensions="${extensions}" - - mozconfig_annotate 'Basic features' \ - --enable-crypto \ - --enable-tracejit \ - --enable-pango \ - --enable-mathml \ - --enable-safe-browsing \ - --enable-storage \ - --enable-places \ - --enable-places_bookmarks - - # jemalloc won't build with older glibc - ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate 'old glibc' --disable-jemalloc - - if ! ${IS_LIBXUL}; then - mozconfig_annotate 'libxul application' \ - --enable-official-branding \ - --with-system-libxul \ - --with-libxul-sdk="${EPREFIX}"${MOZDEVELDIR} - if [ "${MOZ_BRANDING}" = "official" ]; then - mozconfig_annotate 'Official branding' \ - --enable-official-branding - else - mozconfig_annotate 'Unofficial branding' \ - --with-branding=${MOZ_APPLICATION}/branding/${MOZ_BRANDING} - fi - fi - - [[ $# -gt 0 ]] && \ - mozconfig_annotate 'Ebuild specific option: '"${P}" \ - ${*} - - # Use system libraries - mozconfig_use_enable alsa ogg - mozconfig_use_enable alsa wave - mozconfig_use_enable dbus - mozconfig_use_enable ipc # +ipc, upstream default - mozconfig_use_enable libnotify - mozconfig_use_enable raw - mozconfig_use_enable startup-notification - mozconfig_use_enable system-sqlite - mozconfig_use_enable webm - mozconfig_use_with webm system-libvpx - mozconfig_use_enable wifi necko-wifi - - - # NOTE: Uses internal copy of libvpx - if use webm && ! use alsa; then - die "USE=webm needs USE=alsa" - fi - - - # Debug - if use debug ; then - mozconfig_annotate 'Debug activated' \ - --disable-optimize \ - --enable-valgrind \ - --enable-debug=-ggdb \ - --enable-debug-modules=all \ - --enable-debugger-info-modules - else - mozconfig_annotate 'Debug deactivated' \ - --disable-debug \ - --disable-debug-symbols \ - --disable-tests - fi - - # omni.jar breaks ff on xr - # Bug 60668: Galeon doesn't build without oji enabled, so enable it - # regardless of java setting.--enable-oji - mozconfig_annotate 'Broken' \ - --disable-crashreporter \ - --enable-chrome-format=jar \ - --enable-oji - - mozconfig_annotate 'Deprecated' \ - --disable-gnomeui \ - --disable-gnomevfs - - - # Currently --enable-elf-dynstr-gc only works for x86 and ppc, - # thanks to Jason Wever for the fix. - # -- This breaks now on ppc, no idea why -# if use x86 || use ppc && [[ ${enable_optimize} != -O0 ]]; then - if use x86 && [[ ${enable_optimize} != -O0 ]]; then - mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc - fi -# fi - - echo - echo '==========================================================' - echo "Building ${PF} with the following configuration" - grep '^ac_add_options' .mozconfig | while read ac opt hash reason; do - [[ -z ${hash} || ${hash} == \# ]] \ - || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}" - printf ' %-60s %s\n' "${opt}" "${reason:-mozilla.org default}" - done - echo '==========================================================' - echo - - mozilla-scm_src_configure -} - -function mozilla_application_install() { - [ -d "${S}"/${MOZ_APPLICATION}/branding/official ] || \ - ln -s ../../other-licenses/branding/${PN} "${S}"/${MOZ_APPLICATION}/branding/official - - local size branding_path icon - branding_path="${S}"/${MOZ_APPLICATION}/branding/${MOZ_BRANDING} - source "${branding_path}"/configure.sh - iconsname=default - case "${MOZ_APPLICATION}" in - mail) iconsname=mailicon ;; - esac - targeticonname="${MOZ_APP_DISPLAYNAME,,}" - - # Install icons and .desktop for menu entry - for size in 16 22 24 32 256; do - insinto "/usr/share/icons/hicolor/${size}x${size}/apps" - [ -f "${branding_path}/${iconsname}${size}.png" ] && { - newins "${branding_path}/${iconsname}${size}.png" "${targeticonname}.png" || die - } - done - - # The 128x128 icon has a different name - insinto "/usr/share/icons/hicolor/128x128/apps" - [ -f "${branding_path}/mozicon128.png" ] && { - newins "${branding_path}/mozicon128.png" "${targeticonname}.png" || die - } - - # Install a 48x48 icon into /usr/share/pixmaps for legacy DEs - newicon "${branding_path}/content/icon48.png" "${targeticonname}.png" || die - newmenu "${FILESDIR}/${PN}.desktop" "${PN}.desktop" || die - - sed -i -e "s:@NAME@:${MOZ_APP_DISPLAYNAME}:" -e "s:@ICON@:${targeticonname}:" \ - "${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 - fi -} - -EXPORT_FUNCTIONS pkg_setup - -function mozilla-config_pkg_setup() { - if [ "${XULRUNNER_HG_MODULE}" = "mozilla-aurora" ]; then - MOZ_BRANDING=aurora - elif use bindist; then - MOZ_BRANDING=nightly - else - MOZ_BRANDING=official - - elog "You are enabling official branding. You may not redistribute this build" - elog "to any users on your network or the internet. Doing so puts yourself into" - elog "a legal problem with Mozilla Foundation" - fi -} diff --git a/eclass/mozilla-scm-fetch.eclass b/eclass/mozilla-scm-fetch.eclass index 9db6d3a..6e1d720 100644 --- a/eclass/mozilla-scm-fetch.eclass +++ b/eclass/mozilla-scm-fetch.eclass @@ -121,3 +121,30 @@ function moz_hg_unpack { "${dest}" || die "hg clone failed" einfo "Work directory: ${dest}" } + +EXPORT_FUNCTIONS pkg_setup src_unpack + +## +## eclass exported function +## pkg_setup +## +function mozilla-scm_pkg_setup { + # Ensure we always build with C locale. + export LANG="C" + export LC_ALL="C" + export LC_MESSAGES="C" + export LC_CTYPE="C" + + python_set_active_version 2 +} + +## +## eclass exported function +## src_unpack +## +function mozilla-scm-fetch_src_unpack { + local base_dest=${1:-${XULRUNNER_HG_MODULE}} + addwrite "$(dirname "${EHG_STORE_DIR}")" || die "addwrite failed" + moz_hg_unpack "${XULRUNNER_HG_MODULE}" "${base_dest}" + use mozdom && moz_hg_unpack "${MOZDOM_HG_MODULE}" "${base_dest}/extensions/inspector" +} diff --git a/eclass/mozilla-scm.eclass b/eclass/mozilla-scm.eclass index 2d1117f..b619fa5 100644 --- a/eclass/mozilla-scm.eclass +++ b/eclass/mozilla-scm.eclass @@ -7,39 +7,8 @@ # Sardem FF7 # @BLURB: This eclass provides Mozilla SCM building support -WANT_AUTOCONF="2.1" -inherit mozilla-scm-fetch base multilib toolchain-funcs autotools python - -MAJ_XUL_PV="7.0" - -MOZ_HG_BASE_URI="http://hg.mozilla.org" - -S="${WORKDIR}/${XULRUNNER_HG_MODULE}" - -# -# Some per-application stuff -# -IS_LIBXUL=false -MOZLIBDIR="/usr/$(get_libdir)/xulrunner-${MAJ_XUL_PV}" -MOZDEVELDIR="/usr/$(get_libdir)/xulrunner-devel-${MAJ_XUL_PV}" -SDKDIR="${MOZDEVELDIR}/sdk" -MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}" -case "${PN}" in - xulrunner) - IS_LIBXUL=true - MOZ_APPLICATION=xulrunner - MOZILLA_FIVE_HOME="${MOZLIBDIR}" - ;; - firefox) - MOZ_APPLICATION=browser - ;; - thunderbird) - MOZ_APPLICATION=mail - ;; -esac - -EXPORT_FUNCTIONS pkg_setup src_unpack src_configure src_install pkg_postinst +inherit mozilla-scm-fetch # @ECLASS-VARIABLE: EHG_REVISION # @DESCRIPTION: @@ -49,110 +18,11 @@ EXPORT_FUNCTIONS pkg_setup src_unpack src_configure src_install pkg_postinst # just a revision, please consult `hg help revisions' for more details. : ${EHG_REVISION:=tip} - -## -## Base common stuff -## -RDEPEND="" -[ "${PN}" != "nspr" ] && RDEPEND+="~dev-libs/nspr-9999" -if [ -n "${MOZ_APPLICATION}" ]; then - IUSE="mozdom" - - DEPEND=" - meta-sync/mozilla-repositories[mozdom=] - " - RDEPEND+=" - x11-libs/libXrender - x11-libs/libXt - x11-libs/libXmu - >=sys-libs/zlib-1.1.4 - " - - ${IS_LIBXUL} || \ - RDEPEND+=" - ~net-libs/xulrunner-9999[libnotify=,mozdom=,raw=,system-sqlite=,webm=,wifi=] - " -else - DEPEND=" - meta-sync/mozilla-repositories - " -fi - -DEPEND+="${RDEPEND} +[ "${PN}" != "nspr" ] && RDEPEND="~dev-libs/nspr-9999" +DEPEND="${RDEPEND} app-arch/zip dev-util/pkgconfig =dev-lang/python-2*[threads] - " -## -## eclass exported function -## src_unpack -## -function mozilla-scm_src_unpack { - local base_dest=${1:-${XULRUNNER_HG_MODULE}} - addwrite "$(dirname "${EHG_STORE_DIR}")" || die "addwrite failed" - moz_hg_unpack "${XULRUNNER_HG_MODULE}" "${base_dest}" - use mozdom && moz_hg_unpack "${MOZDOM_HG_MODULE}" "${base_dest}/extensions/inspector" -} - -## -## eclass exported function -## pkg_setup -## -function mozilla-scm_pkg_setup { - # Ensure we always build with C locale. - export LANG="C" - export LC_ALL="C" - export LC_MESSAGES="C" - export LC_CTYPE="C" - - python_set_active_version 2 -} - -## -## eclass exported function -## src_configure -## -function mozilla-scm_src_configure { - CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" PYTHON="$(PYTHON)" econf "$@" -} - -## -## eclass exported function -## src_install -## -function mozilla-scm_src_install { - emake DESTDIR="${D}" install || die "emake install failed" - - local prefdir="${ED}/${MOZILLA_FIVE_HOME}/defaults/pref" - [[ -d "${prefdir}erences" ]] && prefdir+="erences" - cp "${FILESDIR}"/default-prefs.js \ - "${prefdir}/all-gentoo.js" || \ - die "failed to cp default-prefs.js" - - # Workaround - if ! ${IS_LIBXUL}; then - dosym ../xulrunner-${MAJ_XUL_PV} "${MOZILLA_FIVE_HOME}"/xulrunner \ - || die "failed to workaround xulrunner gre stuff" - fi -} - -## -## eclass exported function -## pkg_postinst -## -function mozilla-scm_pkg_postinst { - if ! ${IS_LIBXUL}; then - ewarn "All the packages built against ${PN} won't compile," - ewarn "any package that fails to build warrants a bug report." - - inherit fdo-mime - # Update mimedb for the new .desktop file - fdo-mime_desktop_database_update - fi - - ewarn "This is highly experimental DO NOT file a bug report" - ewarn "on Gentoo's bugzilla, please visit the Mozilla one instead" - - einfo "Don't forget to sync with meta-sync/mozilla-repositories" -} + meta-sync/mozilla-repositories + " diff --git a/net-libs/xulrunner/Manifest b/net-libs/xulrunner/Manifest deleted file mode 100644 index 5e2cead..0000000 --- a/net-libs/xulrunner/Manifest +++ /dev/null @@ -1,3 +0,0 @@ -AUX default-prefs.js 584 RMD160 2fd5ffe5ba46ec3ca7e17c3262f444b383c36e35 SHA1 9d9b838c253b4a136bbde38671e82079ea8d2e4b SHA256 eff68bbd2a1fb9f84d092da1cb765cf95183b57c511938689eed8cf94380c0e5 -AUX gcc46.patch 2958 RMD160 6b97757dbafd18a628fb186be15d836b74a0ee90 SHA1 26d85d0930af6c8bd0f968dc9baf72463c4e2215 SHA256 7afe6543175203f87f29ba7ff5e660bf67269a7b8a212ed576a09d3abf6bd5cb -EBUILD xulrunner-9999.ebuild 1980 RMD160 491177163e9b3883ac1d70993f4bb92b1bd19a01 SHA1 036f9fe0fcc492eadee8dacbdbc2552018e1a1ef SHA256 e09cc940cb042ee19e2344485eb2a22165dffdc5d1d23668dc02f43dc47b1a70 diff --git a/net-libs/xulrunner/files/default-prefs.js b/net-libs/xulrunner/files/default-prefs.js deleted file mode 100644 index a4e2574..0000000 --- a/net-libs/xulrunner/files/default-prefs.js +++ /dev/null @@ -1,16 +0,0 @@ -# The system does the updates -pref("app.update.enabled", false); -pref("app.update.autoInstallEnabled", false); - -# Matching the system locale is better -pref("intl.locale.matchOS", true); -pref("general.useragent.locale", "chrome://global/locale/intl.properties"); - - -pref("general.smoothScroll", true); -pref("general.autoScroll", false); -pref("accessibility.typeaheadfind", true); - -pref("browser.EULA.override", true); -pref("browser.display.use_system_colors", true); -pref("browser.link.open_external", 3); diff --git a/net-libs/xulrunner/files/gcc46.patch b/net-libs/xulrunner/files/gcc46.patch deleted file mode 100644 index 4758c16..0000000 --- a/net-libs/xulrunner/files/gcc46.patch +++ /dev/null @@ -1,69 +0,0 @@ -diff -urN a/layout/style/nsCSSRuleProcessor.cpp b/layout/style/nsCSSRuleProcessor.cpp ---- a/layout/style/nsCSSRuleProcessor.cpp 2011-03-18 19:34:00.000000000 -0400 -+++ b/layout/style/nsCSSRuleProcessor.cpp 2011-04-03 08:12:35.205741696 -0400 -@@ -1505,7 +1505,7 @@ - return PR_FALSE; - - const nsDefaultStringComparator defaultComparator; -- const nsASCIICaseInsensitiveStringComparator ciComparator; -+ const nsASCIICaseInsensitiveStringComparator ciComparator = nsASCIICaseInsensitiveStringComparator(); - const nsStringComparator& comparator = - (aAttrSelector->mCaseSensitive || !isHTML) - ? static_cast(defaultComparator) -diff -urN a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp ---- a/toolkit/xre/nsAppRunner.cpp 2011-04-03 08:17:35.091741681 -0400 -+++ b/toolkit/xre/nsAppRunner.cpp 2011-04-03 08:12:12.305741698 -0400 -@@ -1041,7 +1041,7 @@ - - #endif - --static const nsXULAppInfo kAppInfo; -+static const nsXULAppInfo kAppInfo = nsXULAppInfo(); - static nsresult AppInfoConstructor(nsISupports* aOuter, - REFNSIID aIID, void **aResult) - { -diff -urN a/xpcom/base/nsDebugImpl.cpp b/xpcom/base/nsDebugImpl.cpp ---- a/xpcom/base/nsDebugImpl.cpp 2011-03-18 19:34:13.000000000 -0400 -+++ b/xpcom/base/nsDebugImpl.cpp 2011-04-03 08:12:15.530741697 -0400 -@@ -524,7 +524,7 @@ - #endif - } - --static const nsDebugImpl kImpl; -+static const nsDebugImpl kImpl = nsDebugImpl(); - - nsresult - nsDebugImpl::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr) -diff -urN a/xpcom/base/nsTraceRefcntImpl.cpp b/xpcom/base/nsTraceRefcntImpl.cpp ---- a/xpcom/base/nsTraceRefcntImpl.cpp 2011-03-18 19:34:13.000000000 -0400 -+++ b/xpcom/base/nsTraceRefcntImpl.cpp 2011-04-03 08:12:15.529741697 -0400 -@@ -1362,7 +1362,7 @@ - return NS_OK; - } - --static const nsTraceRefcntImpl kTraceRefcntImpl; -+static const nsTraceRefcntImpl kTraceRefcntImpl = nsTraceRefcntImpl(); - - NS_METHOD - nsTraceRefcntImpl::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr) -diff -urN a/xpcom/glue/nsEnumeratorUtils.cpp b/xpcom/glue/nsEnumeratorUtils.cpp ---- a/xpcom/glue/nsEnumeratorUtils.cpp 2011-03-18 19:34:13.000000000 -0400 -+++ b/xpcom/glue/nsEnumeratorUtils.cpp 2011-04-03 08:12:15.574741697 -0400 -@@ -112,7 +112,7 @@ - return NS_ERROR_UNEXPECTED; - } - --const EmptyEnumeratorImpl EmptyEnumeratorImpl::kInstance; -+const EmptyEnumeratorImpl EmptyEnumeratorImpl::kInstance = EmptyEnumeratorImpl(); - - nsresult - NS_NewEmptyEnumerator(nsISimpleEnumerator** aResult) -diff -urN a/xpcom/io/nsUnicharInputStream.cpp b/xpcom/io/nsUnicharInputStream.cpp ---- a/xpcom/io/nsUnicharInputStream.cpp 2011-03-18 19:34:13.000000000 -0400 -+++ b/xpcom/io/nsUnicharInputStream.cpp 2011-04-03 08:12:16.023741697 -0400 -@@ -464,4 +464,4 @@ - } - - const nsSimpleUnicharStreamFactory --nsSimpleUnicharStreamFactory::kInstance; -+nsSimpleUnicharStreamFactory::kInstance = nsSimpleUnicharStreamFactory(); diff --git a/net-libs/xulrunner/xulrunner-9999.ebuild b/net-libs/xulrunner/xulrunner-9999.ebuild deleted file mode 100644 index be35198..0000000 --- a/net-libs/xulrunner/xulrunner-9999.ebuild +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI="3" - -inherit mozilla-scm mozilla-config pax-utils - -DESCRIPTION="Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications" -HOMEPAGE="http://developer.mozilla.org/en/docs/XULRunner" - -KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -SLOT="1.9" -IUSE="debug gconf" - -DEPEND=" - gconf? ( gnome-base/gconf:2 ) - " -RDEPEND="${DEPEND} - !www-plugins/weave - " - -src_prepare() { - epatch "${FILESDIR}"/gcc46.patch - - # fix double symbols due to double -ljemalloc - sed -i \ - -e '/^LIBS += $(JEMALLOC_LIBS)/s/^/#/' \ - xulrunner/stub/Makefile.in \ - || die - - # Gentoo install dirs - sed -i \ - -e 's:$(MOZ_APP_VERSION):'"${MAJ_XUL_PV}:" \ - config/autoconf.mk.in \ - || die "${MAJ_XUL_PV} sed failed!" - - # 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 "sed failed!" - fi - - eautoreconf - - cd js/src - eautoreconf -} - -src_configure() { - # 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 - - mozconfig_configure \ - $(use_enable gconf) -} - -src_install() { - mozilla-scm_src_install - - rm "${ED}"/usr/bin/xulrunner - - dodir /usr/bin - dosym "${MOZLIBDIR}/xulrunner" "/usr/bin/xulrunner-${MAJ_XUL_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" - - pax-mark m "${ED}"/${MOZLIBDIR}/plugin-container -} diff --git a/www-client/firefox/files/gcc46.patch b/www-client/firefox/files/gcc46.patch new file mode 100644 index 0000000..f5fee20 --- /dev/null +++ b/www-client/firefox/files/gcc46.patch @@ -0,0 +1,69 @@ +diff -urN a/layout/style/nsCSSRuleProcessor.cpp b/layout/style/nsCSSRuleProcessor.cpp +--- a/layout/style/nsCSSRuleProcessor.cpp 2011-03-18 19:34:00.000000000 -0400 ++++ b/layout/style/nsCSSRuleProcessor.cpp 2011-04-03 08:12:35.205741696 -0400 +@@ -1317,7 +1317,7 @@ + return PR_FALSE; + + const nsDefaultStringComparator defaultComparator; +- const nsASCIICaseInsensitiveStringComparator ciComparator; ++ const nsASCIICaseInsensitiveStringComparator ciComparator = nsASCIICaseInsensitiveStringComparator(); + const nsStringComparator& comparator = + (aAttrSelector->mCaseSensitive || !isHTML) + ? static_cast(defaultComparator) +diff -urN a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp +--- a/toolkit/xre/nsAppRunner.cpp 2011-04-03 08:17:35.091741681 -0400 ++++ b/toolkit/xre/nsAppRunner.cpp 2011-04-03 08:12:12.305741698 -0400 +@@ -1003,7 +1003,7 @@ + + #endif + +-static const nsXULAppInfo kAppInfo; ++static const nsXULAppInfo kAppInfo = nsXULAppInfo(); + static nsresult AppInfoConstructor(nsISupports* aOuter, + REFNSIID aIID, void **aResult) + { +diff -urN a/xpcom/base/nsDebugImpl.cpp b/xpcom/base/nsDebugImpl.cpp +--- a/xpcom/base/nsDebugImpl.cpp 2011-03-18 19:34:13.000000000 -0400 ++++ b/xpcom/base/nsDebugImpl.cpp 2011-04-03 08:12:15.530741697 -0400 +@@ -511,7 +511,7 @@ + #endif + } + +-static const nsDebugImpl kImpl; ++static const nsDebugImpl kImpl = nsDebugImpl(); + + nsresult + nsDebugImpl::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr) +diff -urN a/xpcom/base/nsTraceRefcntImpl.cpp b/xpcom/base/nsTraceRefcntImpl.cpp +--- a/xpcom/base/nsTraceRefcntImpl.cpp 2011-03-18 19:34:13.000000000 -0400 ++++ b/xpcom/base/nsTraceRefcntImpl.cpp 2011-04-03 08:12:15.529741697 -0400 +@@ -1356,7 +1356,7 @@ + return NS_OK; + } + +-static const nsTraceRefcntImpl kTraceRefcntImpl; ++static const nsTraceRefcntImpl kTraceRefcntImpl = nsTraceRefcntImpl(); + + NS_METHOD + nsTraceRefcntImpl::Create(nsISupports* outer, const nsIID& aIID, void* *aInstancePtr) +diff -urN a/xpcom/glue/nsEnumeratorUtils.cpp b/xpcom/glue/nsEnumeratorUtils.cpp +--- a/xpcom/glue/nsEnumeratorUtils.cpp 2011-03-18 19:34:13.000000000 -0400 ++++ b/xpcom/glue/nsEnumeratorUtils.cpp 2011-04-03 08:12:15.574741697 -0400 +@@ -113,7 +113,7 @@ + return NS_ERROR_UNEXPECTED; + } + +-const EmptyEnumeratorImpl EmptyEnumeratorImpl::kInstance; ++const EmptyEnumeratorImpl EmptyEnumeratorImpl::kInstance = EmptyEnumeratorImpl(); + + nsresult + NS_NewEmptyEnumerator(nsISimpleEnumerator** aResult) +diff -urN a/xpcom/io/nsUnicharInputStream.cpp b/xpcom/io/nsUnicharInputStream.cpp +--- a/xpcom/io/nsUnicharInputStream.cpp 2011-03-18 19:34:13.000000000 -0400 ++++ b/xpcom/io/nsUnicharInputStream.cpp 2011-04-03 08:12:16.023741697 -0400 +@@ -464,4 +464,4 @@ + } + + const nsSimpleUnicharStreamFactory +-nsSimpleUnicharStreamFactory::kInstance; ++nsSimpleUnicharStreamFactory::kInstance = nsSimpleUnicharStreamFactory(); diff --git a/www-client/firefox/firefox-9999.ebuild b/www-client/firefox/firefox-9999.ebuild index c98d64f..387137d 100644 --- a/www-client/firefox/firefox-9999.ebuild +++ b/www-client/firefox/firefox-9999.ebuild @@ -4,43 +4,9 @@ EAPI="3" -inherit mozilla-scm mozilla-config pax-utils +inherit mozilla-app DESCRIPTION="Firefox Web Browser" HOMEPAGE="http://www.mozilla.com/en-US/firefox" KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" - -src_prepare() { - # tmp fix - sed -i \ - -e '/XPIDL_LINK =/s|$(LIBXUL_DIST)/sdk/bin|$(DEPTH)/xpcom/typelib/xpt/tools|' \ - config/config.mk \ - js/src/config/config.mk \ - || die "tmp fix failed (maybe the time to remove it)" - - # Gentoo install dirs - sed -i \ - -e 's:$(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION):$(includedir)/idl:' \ - -e 's:$(MOZ_APP_NAME)-$(MOZ_APP_VERSION):firefox:' \ - -e 's:$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION):firefox:' \ - config/autoconf.mk.in \ - || die "${MAJ_XUL_PV} sed failed!" - - eautoreconf -} - -src_configure() { - mozconfig_configure -} - -src_install() { - mozilla-scm_src_install - mozilla_application_install - - pax-mark m "${ED}"/${MOZILLA_FIVE_HOME}/firefox - - # Plugins dir - dosym ../nsbrowser/plugins "${MOZILLA_FIVE_HOME}"/plugins \ - || die "failed to symlink" -} -- cgit v1.2.3-65-gdbad