summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAron Griffis <agriffis@gentoo.org>2004-07-22 19:18:42 +0000
committerAron Griffis <agriffis@gentoo.org>2004-07-22 19:18:42 +0000
commit7d899eca2ddd8201a4b22d2eef598330e40a0907 (patch)
treec9d56c6c58e4accd0164b9cfdd318fc8d9eff08a /net-www/mozilla
parentversion bump. removed 0.3.7 (Manifest recommit) (diff)
downloadgentoo-2-7d899eca2ddd8201a4b22d2eef598330e40a0907.tar.gz
gentoo-2-7d899eca2ddd8201a4b22d2eef598330e40a0907.tar.bz2
gentoo-2-7d899eca2ddd8201a4b22d2eef598330e40a0907.zip
New ~arch revision to try switching to emake and move mozilla-launcher to RDEPEND #57352
Diffstat (limited to 'net-www/mozilla')
-rw-r--r--net-www/mozilla/ChangeLog8
-rw-r--r--net-www/mozilla/Manifest42
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.7-r13
-rw-r--r--net-www/mozilla/mozilla-1.7-r1.ebuild582
4 files changed, 614 insertions, 21 deletions
diff --git a/net-www/mozilla/ChangeLog b/net-www/mozilla/ChangeLog
index 61eebd935cb2..5e47e49e6c3b 100644
--- a/net-www/mozilla/ChangeLog
+++ b/net-www/mozilla/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-www/mozilla
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.182 2004/07/22 14:24:50 lv Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.183 2004/07/22 19:18:42 agriffis Exp $
+
+*mozilla-1.7-r1 (22 Jul 2004)
+
+ 22 Jul 2004; Aron Griffis <agriffis@gentoo.org> +mozilla-1.7-r1.ebuild:
+ New ~arch revision to try switching to emake and move mozilla-launcher to
+ RDEPEND #57352
22 Jul 2004; Travis Tilley <lv@gentoo.org> mozilla-1.7.ebuild:
stable on amd64
diff --git a/net-www/mozilla/Manifest b/net-www/mozilla/Manifest
index b99fb8a0c241..dadc17d7bcaf 100644
--- a/net-www/mozilla/Manifest
+++ b/net-www/mozilla/Manifest
@@ -1,40 +1,42 @@
-MD5 8c7adde6a04e37ece0b9d383cc27162c ChangeLog 32082
MD5 ce23390351fe8020387d93ee29e09a3d metadata.xml 160
MD5 1e41f8c02054d823209771f1606d0bea mozilla-1.6-r1.ebuild 16989
+MD5 07b4b12fa3abe607e251e22327a7a114 mozilla-1.7-r1.ebuild 16489
+MD5 8c7adde6a04e37ece0b9d383cc27162c ChangeLog 32082
MD5 8aaacfb7f9a72af5f9407ec07c67e801 mozilla-1.7.ebuild 16481
-MD5 e816a98fb3581a6d4a050aa4cdf12905 files/mozilla-1.7-amd64.patch 25433
+MD5 b99dabe3c40cfafe2e63bdef95815596 files/10mozilla 105
+MD5 11cae063228d9997b2cf9f150d9837fe files/digest-mozilla-1.6-r1 201
+MD5 c3b63fbbf42894e19fff553092660af6 files/digest-mozilla-1.7-r1 204
+MD5 e30291e992d71bccac5937cca9696da0 files/enigmail-Makefile 1560
MD5 d0e52abf109fe61c4195f0cbf002ae18 files/google.src 706
MD5 766df4cd7332bf4127847985f98e46ec files/gtk2mozilla_head_patch2 27148
+MD5 2f72a8b70f733c46b922c38c3d9afb46 files/ipc-1.0.6-nsPipeChannel.patch 614
+MD5 fec6b616b0fec2ee53d64edc2dbfa03c files/mozilla 134
MD5 f0e9adeb0454377ce019e8969e644efb files/mozilla-1.4-amd64.patch 35052
MD5 3ad7410bd680964096c84eee3fa21abf files/mozilla-1.6-gcc-3.4.patch 460
-MD5 11cae063228d9997b2cf9f150d9837fe files/digest-mozilla-1.6-r1 201
-MD5 e4adf41536cf80df5f8f5f6ff9bd88a7 files/mozilla-rebuild-databases.pl 2310
-MD5 fec6b616b0fec2ee53d64edc2dbfa03c files/mozilla 134
+MD5 e816a98fb3581a6d4a050aa4cdf12905 files/mozilla-1.7-amd64.patch 25433
MD5 23d6b685fd5e49a07cc4a1786871bf47 files/mozilla-alpha-xpcom-subs-fix.patch 4953
-MD5 b99dabe3c40cfafe2e63bdef95815596 files/10mozilla 105
-MD5 2f72a8b70f733c46b922c38c3d9afb46 files/ipc-1.0.6-nsPipeChannel.patch 614
+MD5 df4a4bc60d8f5d28c801ccedfea84d70 files/mozilla-ft-bytecode.patch 629
+MD5 296fe1fa9c5b387bcd909f0a128c7a16 files/mozilla-new-freetype2.patch 720
+MD5 e4adf41536cf80df5f8f5f6ff9bd88a7 files/mozilla-rebuild-databases.pl 2310
+MD5 d2a2c551fe8991a27d4abe4e3bbedbe3 files/mozilla-xft-unix-prefs.patch 1320
MD5 2e275ac9f0f12d670020e3b18a295dfb files/mozilla.sh 6688
MD5 7d244b888dbd302c14414cbfc1f62501 files/xft.js 135
-MD5 e30291e992d71bccac5937cca9696da0 files/enigmail-Makefile 1560
-MD5 df4a4bc60d8f5d28c801ccedfea84d70 files/mozilla-ft-bytecode.patch 629
MD5 c3b63fbbf42894e19fff553092660af6 files/digest-mozilla-1.7 204
-MD5 d2a2c551fe8991a27d4abe4e3bbedbe3 files/mozilla-xft-unix-prefs.patch 1320
-MD5 296fe1fa9c5b387bcd909f0a128c7a16 files/mozilla-new-freetype2.patch 720
-MD5 9bb311174360a35555ae82617d33bc3f files/1.2/mozilla-1.2b-over-the-spot.patch.bz2 320
-MD5 025a72a791c12f7c3f50e59fc63db451 files/1.2/mozilla-1.2b-freetype.patch.bz2 854
+MD5 8803e1d528f2f49a3f3fa98ba14d9ff0 files/1.2/mozilla-1.2-branch-update.patch.bz2 8240
MD5 83da5242120c74b0ca6cceae9d6cf237 files/1.2/mozilla-1.2-cutnpaste-limit-fix.patch.bz2 2838
-MD5 b94275225c24a9776a85f33734c8a7eb files/1.2/mozilla-1.2b-wallet.patch.bz2 396
+MD5 4877db25d49b916e55a5d11238c63d8c files/1.2/mozilla-1.2-image-reload-memleak.patch 1489
MD5 d63b3ff6f56728d85392ac75a9745a15 files/1.2/mozilla-1.2.1-Xrender-includes.patch.bz2 605
-MD5 fd94ea7ab54ecfd812c46fa5ce53cd0e files/1.2/mozilla-1.2b-default-plugin-less-annoying.patch.bz2 1030
MD5 9ec98639ee6359407ab5150486c3d0d1 files/1.2/mozilla-1.2b-Xft-includes.patch.bz2 387
-MD5 8803e1d528f2f49a3f3fa98ba14d9ff0 files/1.2/mozilla-1.2-branch-update.patch.bz2 8240
-MD5 4877db25d49b916e55a5d11238c63d8c files/1.2/mozilla-1.2-image-reload-memleak.patch 1489
+MD5 fd94ea7ab54ecfd812c46fa5ce53cd0e files/1.2/mozilla-1.2b-default-plugin-less-annoying.patch.bz2 1030
+MD5 025a72a791c12f7c3f50e59fc63db451 files/1.2/mozilla-1.2b-freetype.patch.bz2 854
MD5 696d4810f2ccb8f2bcb0275fa13c67b9 files/1.2/mozilla-1.2b-gtk2.patch.bz2 6091
+MD5 9bb311174360a35555ae82617d33bc3f files/1.2/mozilla-1.2b-over-the-spot.patch.bz2 320
+MD5 b94275225c24a9776a85f33734c8a7eb files/1.2/mozilla-1.2b-wallet.patch.bz2 396
MD5 068edb8c46e34027f9c3febc19656c70 files/1.3/mozilla-1.3-fix-RAW-target.patch 328
MD5 1655fea18e9fc538b41d88561d6080c7 files/1.3/mozilla-1.3-fix-gtkim.patch 921
-MD5 82ebd0eb0bf87f9ddb11e686904d2633 files/1.3/mozilla-1.3-provider-shutdown.patch 4754
MD5 491741624c0aee888ea4a6824b979c3c files/1.3/mozilla-1.3-gtk2.patch 17387
-MD5 6d52ff4ce4567db1cad08ea40157a65d files/icon/mozilla-icon.png 2350
-MD5 e3c488f3226f61adbb11d6a73ae84209 files/icon/mozilla.desktop 153
+MD5 82ebd0eb0bf87f9ddb11e686904d2633 files/1.3/mozilla-1.3-provider-shutdown.patch 4754
MD5 e30291e992d71bccac5937cca9696da0 files/enigmail/Makefile-enigmail 1560
MD5 68a7617a6d3f0f37904cd6aaa90fe1ba files/enigmail/Makefile-ipc 1596
+MD5 6d52ff4ce4567db1cad08ea40157a65d files/icon/mozilla-icon.png 2350
+MD5 e3c488f3226f61adbb11d6a73ae84209 files/icon/mozilla.desktop 153
diff --git a/net-www/mozilla/files/digest-mozilla-1.7-r1 b/net-www/mozilla/files/digest-mozilla-1.7-r1
new file mode 100644
index 000000000000..813569f1bcaa
--- /dev/null
+++ b/net-www/mozilla/files/digest-mozilla-1.7-r1
@@ -0,0 +1,3 @@
+MD5 5b4494934c4ffaee83bc79a8b181a8c3 mozilla-source-1.7.tar.bz2 35174502
+MD5 e4c79a7bb5ac7428dfef767e835fc770 ipc-1.0.6.tar.gz 116519
+MD5 b8bc2517de376a99b6ad7a9ad96747d2 enigmail-0.84.1-r1.tar.gz 309440
diff --git a/net-www/mozilla/mozilla-1.7-r1.ebuild b/net-www/mozilla/mozilla-1.7-r1.ebuild
new file mode 100644
index 000000000000..bf08d1e95a18
--- /dev/null
+++ b/net-www/mozilla/mozilla-1.7-r1.ebuild
@@ -0,0 +1,582 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.7-r1.ebuild,v 1.1 2004/07/22 19:18:42 agriffis Exp $
+
+IUSE="java crypt ipv6 gtk2 ssl ldap gnome debug xinerama xprint"
+# Internal USE flags that I do not really want to advertise ...
+IUSE="${IUSE} mozcalendar mozsvg"
+IUSE="${IUSE} moznoirc moznomail moznocompose moznoxft"
+
+unset ALLOWED_FLAGS # stupid extra-functions.sh ... bug 49179
+inherit flag-o-matic gcc eutils nsplugins mozilla-launcher
+
+EMVER="0.84.1"
+IPCVER="1.0.6"
+
+# handle _rc versions
+MY_PV=${PV/_alpha/a} # handle alpha
+MY_PV=${MY_PV/_beta/b} # handle beta
+MY_PV=${MY_PV/_rc/rc} # handle rc
+
+DESCRIPTION="The Mozilla Application Suite - web browser, email, HTML editor, IRC"
+HOMEPAGE="http://www.mozilla.org"
+SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/${PN}${MY_PV}/src/${PN}-source-${MY_PV}.tar.bz2
+ crypt? ( !moznomail? (
+ http://downloads.mozdev.org/enigmail/src/ipc-${IPCVER}.tar.gz
+ mirror://gentoo/enigmail-${EMVER}-r1.tar.gz
+ ) )"
+# Normally the following would be used instead of the mirror://gentoo/
+# reference above, but the upstream source tarball changed without
+# changing the filename. (17 Jun 2004 agriffis)
+# http://downloads.mozdev.org/enigmail/src/enigmail-${EMVER}.tar.gz
+
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~amd64 ~ia64"
+SLOT="0"
+LICENSE="MPL-1.1 NPL-1.1"
+
+common_depends="virtual/x11
+ >=sys-libs/zlib-1.1.4
+ >=media-libs/fontconfig-2.1
+ !moznoxft ( virtual/xft )
+ >=media-libs/jpeg-6b
+ >=media-libs/libpng-1.2.1
+ >=sys-apps/portage-2.0.14
+ dev-libs/expat
+ app-arch/zip
+ app-arch/unzip
+ gtk2? (
+ >=x11-libs/gtk+-2.2.0
+ >=dev-libs/glib-2.2.0
+ >=x11-libs/pango-1.2.1
+ >=dev-libs/libIDL-0.8.0 )
+ !gtk2? (
+ =x11-libs/gtk+-1.2*
+ =dev-libs/glib-1.2*
+ >=gnome-base/ORBit-0.5.10-r1 )
+ java? ( virtual/jre )
+ crypt? ( !moznomail ( >=app-crypt/gnupg-1.2.1 ) )
+ gnome? ( >=gnome-base/gnome-vfs-2.3.5 )"
+
+DEPEND="${common_depends}
+ dev-util/pkgconfig
+ dev-lang/perl
+ java? ( >=dev-java/java-config-0.2.0 )"
+
+RDEPEND="${common_depends}
+ >=net-www/mozilla-launcher-1.7-r1"
+
+S="${WORKDIR}/mozilla"
+
+pkg_setup() {
+ # needed by src_compile() and src_install()
+ export MOZILLA_OFFICIAL=1
+ export BUILD_OFFICIAL=1
+
+ # make sure the nss module gets build (for NSS support)
+ if use ssl; then
+ export MOZ_PSM="1"
+ fi
+}
+
+# Simulate the silly csh makemake script
+makemake() {
+ typeset m topdir
+
+ for m in $(find . -name Makefile.in); do
+ topdir=$(echo "$m" | sed -r 's:[^/]+:..:g')
+ sed -e "s:@srcdir@:.:g" -e "s:@top_srcdir@:${topdir}:g" \
+ < ${m} > ${m%.in} || die "sed ${m} failed"
+ done
+}
+
+src_unpack() {
+ typeset x
+
+ unpack ${A} || die "unpack failed"
+ cd ${S} || die
+
+ if [[ $(gcc-major-version) -eq 3 ]]; then
+ # ABI Patch for alpha/xpcom for gcc-3.x
+ if [[ ${ARCH} == alpha ]]; then
+ epatch ${FILESDIR}/${PN}-alpha-xpcom-subs-fix.patch
+ fi
+ # unecessary now, already in the source
+ # Danny van Dyk <kugelfang@gentoo.org> 2004/06/20
+ #if [[ ${ARCH} == amd64 ]]; then
+ # epatch ${FILESDIR}/${PN}-1.7-amd64.patch
+ #fi
+ fi
+
+ epatch ${FILESDIR}/1.2/${PN}-1.2b-default-plugin-less-annoying.patch.bz2
+
+ # Fix logic error when using RAW target
+ # <azarah@gentoo.org> (23 Feb 2003)
+ epatch ${FILESDIR}/1.3/${PN}-1.3-fix-RAW-target.patch
+
+ # Fix incorrect version in milestone.txt (1.7rc1 claims 1.7b)
+ # If 1.7rc2 is anything to go by, then milestone.txt should report
+ # the upcoming version number, e.g. 1.7
+ local old_milestone=$(grep '^[0-9]' config/milestone.txt)
+ if [[ ${old_milestone} != ${PV%_*} ]]; then
+ einfo "Updating milestone.txt from ${old_milestone} to ${PV%_*}"
+ sed -i -ne '/^#/p' config/milestone.txt # maintain comments
+ echo "${PV%_*}" >> config/milestone.txt # add version line
+ fi
+
+ WANT_AUTOCONF_2_1=1 autoconf &> /dev/null
+
+ # Unpack the enigmail plugin
+ if use crypt && ! use moznomail; then
+ for x in ipc enigmail; do
+ mv ${WORKDIR}/${x} ${S}/extensions || die
+ cd ${S}/extensions/${x} || die
+ makemake # see function above
+ done
+
+ # Fix ipc-1.0.6 compilation problem by updating line from cvs
+ # (09 Jun 2004 agriffis)
+ cd ${S}/extensions/ipc
+ epatch ${FILESDIR}/ipc-1.0.6-nsPipeChannel.patch
+ fi
+}
+
+src_compile() {
+ ####################################
+ #
+ # myconf setup
+ #
+ ####################################
+
+ local myconf
+
+ # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until
+ # tested ok -- azarah
+ if use gtk2; then
+ myconf="${myconf}
+ --enable-toolkit-gtk2 \
+ --enable-default-toolkit=gtk2 \
+ --disable-toolkit-qt \
+ --disable-toolkit-xlib \
+ --disable-toolkit-gtk"
+ else
+ myconf="${myconf}
+ --enable-toolkit-gtk \
+ --enable-default-toolkit=gtk \
+ --disable-toolkit-qt \
+ --disable-toolkit-xlib \
+ --disable-toolkit-gtk2"
+ fi
+
+ if ! use debug; then
+ myconf="${myconf} \
+ --disable-debug \
+ --disable-tests \
+ --enable-reorder \
+ --enable-strip \
+ --enable-strip-libs"
+# --enable-cpp-rtti"
+
+ # Currently --enable-elf-dynstr-gc only works for x86 and ppc,
+ # thanks to Jason Wever <weeve@gentoo.org> for the fix.
+ if use x86 || use ppc; then
+ myconf="${myconf} --enable-elf-dynstr-gc"
+ fi
+ fi
+
+ # Check if we should enable Xft support ...
+ if ! use moznoxft; then
+ if use gtk2; then
+ local pango_version=""
+
+ # We need Xft2.0 localy installed
+ if [[ -x /usr/bin/pkg-config ]] && pkg-config xft; then
+ pango_version=$(pkg-config --modversion pango | cut -d. -f1,2)
+
+ # We also need pango-1.1, else Mozilla links to both
+ # Xft1.1 *and* Xft2.0, and segfault...
+ if [[ ${pango_version//.} -gt 10 ]]; then
+ einfo "Building with Xft2.0 (Gtk+-2.0) support"
+ myconf="${myconf} --enable-xft --disable-freetype2"
+ touch ${WORKDIR}/.xft
+ else
+ ewarn "Building without Xft2.0 support (bad pango)"
+ myconf="${myconf} --disable-xft $(use_enable truetype freetype2)"
+ fi
+ else
+ ewarn "Building without Xft2.0 support (no pkg-config xft)"
+ myconf="${myconf} --disable-xft $(use_enable truetype freetype2)"
+ fi
+ else
+ einfo "Building with Xft2.0 (Gtk+-1.0) support"
+ myconf="${myconf} --enable-xft --disable-freetype2"
+ touch ${WORKDIR}/.xft
+ fi
+ else
+ einfo "Building without Xft2.0 support (moznoxft)"
+ myconf="${myconf} --disable-xft $(use_enable truetype freetype2)"
+ fi
+
+ # Re-enabled per bug 24522 (28 Apr 2004 agriffis)
+ if use mozsvg; then
+ export MOZ_INTERNAL_LIBART_LGPL=1
+ myconf="${myconf} --enable-svg --enable-svg-renderer-libart"
+ else
+ myconf="${myconf} --disable-svg"
+ fi
+
+ if use moznomail && ! use mozcalendar; then
+ myconf="${myconf} --disable-mailnews"
+ fi
+ if use moznocompose && use moznomail; then
+ myconf="${myconf} --disable-composer"
+ fi
+
+ ####################################
+ #
+ # myext setup
+ #
+ ####################################
+
+ # The defaults are:
+ # cookie wallet content-packs xml-rpc xmlextras help p3p pref
+ # transformiix venkman inspector irc universalchardet
+ # typeaheadfind webservices spellcheck
+ # Non-defaults are:
+ # xmlterm access-builtin datetime finger cview
+
+ # Remove access and xmlterm as options since they're preventing the build
+ # more than they work. (04 Jul 2004 brad)
+ #if use mozxmlterm || use mozaccess; then
+ # ewarn ""
+ # ewarn "NB!!: The use of the non-default extensions is considered"
+ # ewarn "unsupported, and these may not always compile properly."
+ # ewarn "Please do not use if you do not know what you're doing!"
+ # ewarn ""
+ # sleep 3
+ #fi
+
+ local myext="default"
+ #use mozxmlterm && myext="${myext},xmlterm"
+ #use mozaccess && myext="${myext},access-builtin"
+ use moznoirc && myext="${myext},-irc"
+
+ ####################################
+ #
+ # CFLAGS setup and ARCH support
+ #
+ ####################################
+
+ # Set optimization level based on CFLAGS
+ if is-flag -O0; then
+ enable_optimize=-O0
+ elif [[ ${ARCH} == alpha || ${ARCH} == amd64 || ${ARCH} == ia64 ]]; then
+ # Anything more than this causes segfaults on startup on 64-bit
+ # (bug 33767)
+ enable_optimize=-O1
+ append-flags -fPIC
+ elif is-flag -O1; then
+ enable_optimize=-O1
+ else
+ enable_optimize=-O2
+ 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
+
+ # Who added the following line and why? It doesn't really hurt
+ # anything, but is it necessary?? (28 Apr 2004 agriffis)
+ append-flags -fforce-addr
+
+ # Additional ARCH support
+ case "${ARCH}" in
+ alpha)
+ # Mozilla won't link with X11 on alpha, for some crazy reason.
+ # set it to link explicitly here.
+ sed -i 's/\(EXTRA_DSO_LDOPTS += $(MOZ_GTK_LDFLAGS).*$\)/\1 -L/usr/X11R6/lib -lX11/' \
+ ${S}/gfx/src/gtk/Makefile.in
+ ;;
+
+ ppc)
+ # Fix to avoid gcc-3.3.x micompilation issues.
+ if [[ $(gcc-major-version).$(gcc-minor-version) == 3.3 ]]; then
+ append-flags -fno-strict-aliasing
+ fi
+ ;;
+
+ sparc)
+ # Sparc support ...
+ replace-sparc64-flags
+ ;;
+
+ x86)
+ if [[ $(gcc-major-version) -eq 3 ]]; then
+ # gcc-3 prior to 3.2.3 doesn't work well for pentium4
+ # see bug 25332
+ if [[ $(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
+ # Enable us to use flash, etc plugins compiled with gcc-2.95.3
+ myconf="${myconf} --enable-old-abi-compat-wrappers"
+ fi
+ ;;
+ esac
+
+ # Needed to build without warnings on gcc-3
+ CXXFLAGS="${CXXFLAGS} -Wno-deprecated"
+
+ ####################################
+ #
+ # Configure and build Mozilla
+ #
+ ####################################
+
+ export BUILD_MODULES=all
+ export BUILD_OPT=1
+
+ cd ${S}
+ einfo "Configuring Mozilla..."
+ ./configure --prefix=/usr/lib/mozilla \
+ --with-system-jpeg \
+ --with-system-mng \
+ --with-system-png \
+ --with-system-zlib \
+ $(use_enable gnome gnomevfs) \
+ $(use_enable ipv6) \
+ $(use_enable ldap) \
+ $(use_enable mozcalendar calendar) \
+ $(use_enable xprint) \
+ $(use_enable xinerama) \
+ --disable-pedantic \
+ --disable-short-wchar \
+ --enable-mathml \
+ --without-system-nspr \
+ --enable-nspr-autoconf \
+ --enable-xsl \
+ --enable-crypto \
+ --enable-extensions="${myext}" \
+ --enable-optimize="${enable_optimize}" \
+ --with-default-mozilla-five-home=/usr/lib/mozilla \
+ ${myconf} || die
+
+ einfo "Building Mozilla..."
+ emake WORKDIR="${WORKDIR}" || die
+
+ ####################################
+ #
+ # Build Mozilla NSS
+ #
+ ####################################
+
+ # Build the NSS/SSL support
+ if use ssl; then
+ einfo "Building Mozilla NSS..."
+
+ # Fix #include problem
+ cd ${S}/security/coreconf || die "cd coreconf failed"
+ echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\
+ >>headers.mk
+ emake || die "make security headers failed"
+
+ cd ${S}/security/nss || die "cd nss failed"
+ emake moz_import || die "make moz_import failed"
+ emake || die "make nss failed"
+ fi
+
+ ####################################
+ #
+ # Build Enigmail plugin
+ #
+ ####################################
+
+ # Build the enigmail plugin
+ if use crypt && ! use moznomail; then
+ einfo "Building Enigmail plugin..."
+ cd ${S}/extensions/ipc || die "cd ipc failed"
+ emake || die "make ipc failed"
+
+ cd ${S}/extensions/enigmail || die "cd enigmail failed"
+ emake || die "make enigmail failed"
+ fi
+}
+
+src_install() {
+ # Install, don't create tarball
+ dodir /usr/lib
+ cd ${S}/xpinstall/packager
+ einfo "Installing mozilla into build root..."
+ make MOZ_PKG_FORMAT="RAW" TAR_CREATE_FLAGS="-chf" > /dev/null || die
+ mv -f ${S}/dist/mozilla ${D}/usr/lib/mozilla
+
+ einfo "Installing includes and idl files..."
+ # Copy the include and idl files
+ dodir /usr/lib/mozilla/include/idl /usr/include
+ cd ${S}/dist
+ cp -LfR include/* ${D}/usr/lib/mozilla/include
+ cp -LfR idl/* ${D}/usr/lib/mozilla/include/idl
+ dosym /usr/lib/mozilla/include /usr/include/mozilla
+
+ # Install the development tools in /usr
+ dodir /usr/bin
+ mv ${D}/usr/lib/mozilla/{xpcshell,xpidl,xpt_dump,xpt_link} ${D}/usr/bin
+
+ # Install the NSS/SSL libs, headers and tools
+ if use ssl; then
+ einfo "Installing Mozilla NSS..."
+ # Install the headers ('make install' do not work for headers ...)
+ insinto /usr/lib/mozilla/include/nss
+ [ -d ${S}/dist/public/nss ] && doins ${S}/dist/public/nss/*.h
+ [ -d ${S}/dist/public/seccmd ] && doins ${S}/dist/public/seccmd/*.h
+ [ -d ${S}/dist/public/security ] && doins ${S}/dist/public/security/*.h
+ # These come with zlib ...
+ rm -f ${D}/usr/lib/mozilla/include/nss/{zconf.h,zlib.h}
+
+ cd ${S}/security/nss
+
+ mkdir -p ${WORKDIR}/nss/{bin,lib}
+ export BUILD_OPT=1
+ export SOURCE_BIN_DIR=${WORKDIR}/nss/bin
+ export SOURCE_LIB_DIR=${WORKDIR}/nss/lib
+
+ make install || die
+ # Gets installed as symbolic links ...
+ cp -Lf ${WORKDIR}/nss/bin/* ${D}/usr/bin
+ cp -Lf ${WORKDIR}/nss/lib/* ${D}/usr/lib/mozilla
+
+ # Need to unset these incase we want to rebuild, else the build
+ # gets newked.
+ unset SOURCE_LIB_DIR
+ unset SOURCE_BIN_DIR
+ fi
+
+ cd ${S}/build/unix
+ # Fix mozilla-config and install it
+ perl -pi -e "s:/lib/mozilla-${MY_PV}::g" mozilla-config
+ perl -pi -e "s:/mozilla-${MY_PV}::g" mozilla-config
+ exeinto /usr/lib/mozilla
+ doexe mozilla-config
+ # Fix pkgconfig files and install them
+ insinto /usr/lib/pkgconfig
+ for x in *.pc; do
+ if [[ -f ${x} ]]; then
+ perl -pi -e "s:/lib/mozilla-${MY_PV}::g" ${x}
+ perl -pi -e "s:/mozilla-${MY_PV}::g" ${x}
+ doins ${x}
+ fi
+ done
+ cd ${S}
+
+ dodir /usr/bin
+ dosym /usr/libexec/mozilla-launcher /usr/bin/mozilla
+ insinto /etc/env.d
+ doins ${FILESDIR}/10mozilla
+ dodoc LEGAL LICENSE README/mozilla/README*
+
+ # Install rebuild script
+ exeinto /usr/lib/mozilla/
+ doexe ${FILESDIR}/mozilla-rebuild-databases.pl
+
+ # Move plugins dir
+ src_mv_plugins /usr/lib/mozilla/plugins
+
+ # Update Google search plugin to use UTF8 charset ...
+ insinto /usr/lib/mozilla/searchplugins
+ doins ${FILESDIR}/google.src
+
+ if [[ -f "${WORKDIR}/.xft" ]]; then
+ # We are using Xft, so change the default font
+ insinto /usr/lib/mozilla/defaults/pref
+ doins ${FILESDIR}/xft.js
+ fi
+
+ # Fix icons to look the same everywhere
+ insinto /usr/lib/mozilla/icons
+ doins ${S}/widget/src/gtk/mozicon16.xpm
+ doins ${S}/widget/src/gtk/mozicon50.xpm
+
+ # Install icon and .desktop for menu entry
+ if use gnome; then
+ insinto /usr/share/pixmaps
+ doins ${FILESDIR}/icon/mozilla-icon.png
+
+ insinto /usr/share/applications
+ doins ${FILESDIR}/icon/mozilla.desktop
+ fi
+
+ # Take care of non root execution
+ # (seems the problem is that not all files are readible by the user)
+ einfo "Fixing Permissions..."
+ chmod -R g+r,o+r ${D}/usr/lib/mozilla
+ find ${D}/usr/lib/mozilla/ -type d -exec chmod 0755 {} \; || :
+}
+
+pkg_preinst() {
+ # Move old plugins dir
+ pkg_mv_plugins /usr/lib/mozilla/plugins
+
+ if true; then
+ # Remove entire installed instance to solve various problems,
+ # for example see bug 27719
+ rm -rf ${ROOT}/usr/lib/mozilla
+ else
+ # Stale components and chrome files break when unmerging old
+ rm -rf ${ROOT}/usr/lib/mozilla/components
+ rm -rf ${ROOT}/usr/lib/mozilla/chrome
+
+ # Remove stale component registry.
+ rm -f ${ROOT}/usr/lib/mozilla/component.reg
+ rm -f ${ROOT}/usr/lib/mozilla/components/compreg.dat
+
+ # Make sure these are removed.
+ rm -f ${ROOT}/usr/lib/mozilla/lib{Xft,Xrender}.so*
+ fi
+}
+
+pkg_postinst() {
+ export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla"
+
+ # Needed to update the run time bindings for REGXPCOM
+ # (do not remove next line!)
+ env-update
+
+ # Register Components and Chrome
+ einfo "Registering Components and Chrome..."
+ ${MOZILLA_FIVE_HOME}/mozilla-rebuild-databases.pl
+
+ # Fix permissions of component registry
+ chmod 0644 ${MOZILLA_FIVE_HOME}/components/compreg.dat
+
+ # Fix directory permissions
+ find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 0755 {} \;
+
+ # Fix permissions on chrome files
+ find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec chmod 0644 {} \;
+
+ update_mozilla_launcher_symlinks
+}
+
+pkg_postrm() {
+ # Regenerate component.reg in case some things changed
+ if [[ -e ${ROOT}/usr/lib/mozilla/regxpcom ]]; then
+ export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla"
+
+ if [[ -x ${MOZILLA_FIVE_HOME}/mozilla-rebuild-databases.pl ]]; then
+ ${MOZILLA_FIVE_HOME}/mozilla-rebuild-databases.pl
+ # Fix directory permissions
+ find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \;
+ # Fix permissions on chrome files
+ find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec chmod 0644 {} \;
+ fi
+ fi
+
+ update_mozilla_launcher_symlinks
+}