summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Laue <brad@gentoo.org>2003-11-16 18:03:01 +0000
committerBrad Laue <brad@gentoo.org>2003-11-16 18:03:01 +0000
commit09a42c6b7f2419f6adc5591986a6ca044ba8e55a (patch)
treec491a6a1dce21fee2b0d912e47a31e2aedfcb7e0 /net-www/mozilla
parentBump to x86 (diff)
downloadgentoo-2-09a42c6b7f2419f6adc5591986a6ca044ba8e55a.tar.gz
gentoo-2-09a42c6b7f2419f6adc5591986a6ca044ba8e55a.tar.bz2
gentoo-2-09a42c6b7f2419f6adc5591986a6ca044ba8e55a.zip
Importing Mozilla 1.4.1, updating mozilla 1.5 for a new enigmail
Diffstat (limited to 'net-www/mozilla')
-rw-r--r--net-www/mozilla/ChangeLog8
-rw-r--r--net-www/mozilla/Manifest32
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.4.13
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.5-r13
-rw-r--r--net-www/mozilla/mozilla-1.4.1.ebuild624
-rw-r--r--net-www/mozilla/mozilla-1.5-r1.ebuild601
6 files changed, 1256 insertions, 15 deletions
diff --git a/net-www/mozilla/ChangeLog b/net-www/mozilla/ChangeLog
index 3c6983facdd6..db1c050dde80 100644
--- a/net-www/mozilla/ChangeLog
+++ b/net-www/mozilla/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-www/mozilla
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.128 2003/11/15 03:08:21 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.129 2003/11/16 18:02:50 brad Exp $
+
+*mozilla-1.5-r1 (16 Nov 2003)
+
+ 16 Nov 2003; Brad Laue <brad@gentoo.org> mozilla-1.4.1.ebuild,
+ mozilla-1.5-r1.ebuild:
+ Bump version for new enigmail, import mozilla 1.4.1
14 Nov 2003; Aron Griffis <agriffis@gentoo.org> mozilla-1.4-r3.ebuild:
Stable on ia64
diff --git a/net-www/mozilla/Manifest b/net-www/mozilla/Manifest
index 0529bc727af0..00de9da9afdb 100644
--- a/net-www/mozilla/Manifest
+++ b/net-www/mozilla/Manifest
@@ -1,17 +1,24 @@
-MD5 171be5cddc8f315f7436f0893754b299 ChangeLog 22006
-MD5 4e16e2e2e9d548e73eeedd01fef661f8 mozilla-1.2.1-r5.ebuild 20917
+MD5 ce23390351fe8020387d93ee29e09a3d metadata.xml 160
MD5 46cc36ca1e203a4555aed9840f8a3635 mozilla-1.0.1-r3.ebuild 15212
MD5 d9f06faf9990f4b5f890a127046de9a8 mozilla-1.1-r1.ebuild 14822
-MD5 ae6f8c3a96767d491dd65c111d6340cc mozilla-1.4-r4.ebuild 17265
+MD5 4e16e2e2e9d548e73eeedd01fef661f8 mozilla-1.2.1-r5.ebuild 20917
MD5 3d428c2cf97c36c769ff7ac419996aa5 mozilla-1.3-r2.ebuild 16750
-MD5 6e8e847d464feea0e901b10f7e321099 mozilla-1.5.ebuild 16429
MD5 bffb8e53bbce3441adf3ecb533fbe00c mozilla-1.4-r3.ebuild 16733
-MD5 ce23390351fe8020387d93ee29e09a3d metadata.xml 160
+MD5 ae6f8c3a96767d491dd65c111d6340cc mozilla-1.4-r4.ebuild 17265
+MD5 3a7b5237a2dd18a6a458d5787d05b828 mozilla-1.4.1.ebuild 17257
+MD5 f737dec04a88f093743fe38a5e94ee13 mozilla-1.5-r1.ebuild 16407
+MD5 6e8e847d464feea0e901b10f7e321099 mozilla-1.5.ebuild 16429
+MD5 42125ccfcee927879491befcdf7f8b86 ChangeLog 22178
MD5 2245cc4f37902e2c6dd188f72874fbb3 files/10mozilla 60
MD5 cf872ecce56e05c488ae7f41b50dec31 files/digest-mozilla-1.0.1-r3 281
MD5 eccaf421f7e91faad5f835cadca4263e files/digest-mozilla-1.1-r1 202
MD5 08ca97500d420d77f99f60d5eeb54c1f files/digest-mozilla-1.2.1-r5 268
MD5 3cbe151665ba43403e657607949244e8 files/digest-mozilla-1.3-r2 201
+MD5 965c8430aca20b99db6430555624b4d2 files/digest-mozilla-1.4-r3 201
+MD5 3fc638d05bf40a6d7a5d3296ee2a0449 files/digest-mozilla-1.4-r4 201
+MD5 14ab5596f8ab82d99af369a72d6c7d6e files/digest-mozilla-1.5 201
+MD5 e30291e992d71bccac5937cca9696da0 files/enigmail-Makefile 1560
+MD5 d0e52abf109fe61c4195f0cbf002ae18 files/google.src 706
MD5 766df4cd7332bf4127847985f98e46ec files/gtk2mozilla_head_patch2 27148
MD5 fec6b616b0fec2ee53d64edc2dbfa03c files/mozilla 134
MD5 937ecdca5b59d442c2b0b5027ead762d files/mozilla-1.0-abi-compat-wrappers.patch 1799
@@ -19,31 +26,28 @@ MD5 4749f0978ad569b9bcf028c75b5de9cc files/mozilla-1.0-abi-xpcom-ppc.patch 12433
MD5 e239c459343aa377a9c1a6fd0239e4c9 files/mozilla-1.0-asmfixes.patch 9089
MD5 2428c0ad22b38f773fb9c174722909de files/mozilla-1.0.1-platform.patch 3543
MD5 1c48ae2eab3e01fae125748d40917e79 files/mozilla-1.0.1-sparc-xpcom.patch 4267
+MD5 f0e9adeb0454377ce019e8969e644efb files/mozilla-1.4-amd64.patch 35052
MD5 23d6b685fd5e49a07cc4a1786871bf47 files/mozilla-alpha-xpcom-subs-fix.patch 4953
MD5 df4a4bc60d8f5d28c801ccedfea84d70 files/mozilla-ft-bytecode.patch 629
MD5 296fe1fa9c5b387bcd909f0a128c7a16 files/mozilla-new-freetype2.patch 720
MD5 d2a2c551fe8991a27d4abe4e3bbedbe3 files/mozilla-xft-unix-prefs.patch 1320
MD5 5b01d0425f9ef7bbe0765985e6041c6b files/mozilla.sh 6684
-MD5 965c8430aca20b99db6430555624b4d2 files/digest-mozilla-1.4-r3 201
-MD5 d0e52abf109fe61c4195f0cbf002ae18 files/google.src 706
-MD5 3fc638d05bf40a6d7a5d3296ee2a0449 files/digest-mozilla-1.4-r4 201
MD5 7d244b888dbd302c14414cbfc1f62501 files/xft.js 135
-MD5 e30291e992d71bccac5937cca9696da0 files/enigmail-Makefile 1560
-MD5 14ab5596f8ab82d99af369a72d6c7d6e files/digest-mozilla-1.5 201
-MD5 f0e9adeb0454377ce019e8969e644efb files/mozilla-1.4-amd64.patch 35052
+MD5 28cbb765c235caf88a998f8a413d29f3 files/digest-mozilla-1.4.1 196
+MD5 75e7de2ef297a2260862175d3289cb45 files/digest-mozilla-1.5-r1 201
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 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 9ec98639ee6359407ab5150486c3d0d1 files/1.2/mozilla-1.2b-Xft-includes.patch.bz2 387
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 d63b3ff6f56728d85392ac75a9745a15 files/1.2/mozilla-1.2.1-Xrender-includes.patch.bz2 605
-MD5 4877db25d49b916e55a5d11238c63d8c files/1.2/mozilla-1.2-image-reload-memleak.patch 1489
MD5 068edb8c46e34027f9c3febc19656c70 files/1.3/mozilla-1.3-fix-RAW-target.patch 328
-MD5 82ebd0eb0bf87f9ddb11e686904d2633 files/1.3/mozilla-1.3-provider-shutdown.patch 4754
MD5 1655fea18e9fc538b41d88561d6080c7 files/1.3/mozilla-1.3-fix-gtkim.patch 921
MD5 491741624c0aee888ea4a6824b979c3c files/1.3/mozilla-1.3-gtk2.patch 17387
+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
diff --git a/net-www/mozilla/files/digest-mozilla-1.4.1 b/net-www/mozilla/files/digest-mozilla-1.4.1
new file mode 100644
index 000000000000..4ac03878d551
--- /dev/null
+++ b/net-www/mozilla/files/digest-mozilla-1.4.1
@@ -0,0 +1,3 @@
+MD5 a1b72d97981cabb6160526d8c8d97ac1 mozilla-1.4.1.tar.bz2 32132892
+MD5 6524ba86e4b3fbf85306bf3cedcf3924 enigmail-0.76.7.tar.gz 223867
+MD5 e74a2050826326a24631be4d8ed3d902 ipc-1.0.3.tar.gz 234922
diff --git a/net-www/mozilla/files/digest-mozilla-1.5-r1 b/net-www/mozilla/files/digest-mozilla-1.5-r1
new file mode 100644
index 000000000000..80359ba92b8d
--- /dev/null
+++ b/net-www/mozilla/files/digest-mozilla-1.5-r1
@@ -0,0 +1,3 @@
+MD5 9d59651eac39a95da756d38fe5385896 mozilla-source-1.5.tar.bz2 29464409
+MD5 7fff5f1f5e9757eec09fd81051c34db4 enigmail-0.82.2.tar.gz 254794
+MD5 6cd6efb8cea6bb24fde3e02ba7f46676 ipc-1.0.4.tar.gz 134269
diff --git a/net-www/mozilla/mozilla-1.4.1.ebuild b/net-www/mozilla/mozilla-1.4.1.ebuild
new file mode 100644
index 000000000000..00792f78c5ad
--- /dev/null
+++ b/net-www/mozilla/mozilla-1.4.1.ebuild
@@ -0,0 +1,624 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.4.1.ebuild,v 1.1 2003/11/16 18:02:51 brad Exp $
+
+IUSE="java crypt ipv6 gtk2 ssl ldap gnome debug"
+# Internal USE flags that I do not really want to advertise ...
+IUSE="${IUSE} mozcalendar mozaccess mozp3p mozxmlterm"
+IUSE="${IUSE} moznoirc moznomail moznocompose moznoxft"
+
+inherit flag-o-matic gcc eutils nsplugins
+
+# Recently there has been a lot of stability problem in Gentoo-land. Many
+# things can be the cause to this, but I believe that it is due to gcc3
+# still having issues with optimizations, or with it not filtering bad
+# combinations (protecting the user maybe from himeself) yet.
+#
+# This can clearly be seen in large builds like glibc, where too aggressive
+# CFLAGS cause the tests to fail miserbly.
+#
+# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion
+# knows what he is talking about:
+#
+# People really shouldn't force code-specific options on... It's a
+# bad idea. The -march options aren't just to look pretty. They enable
+# options that are sensible (and include sse,mmx,3dnow when apropriate).
+#
+# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If
+# you do not like it, comment it, but do not bugreport if you run into
+# problems.
+#
+# <azarah@gentoo.org> (13 Oct 2002)
+strip-flags
+#
+# Crashes on start when compiled with -fomit-frame-pointer
+filter-flags "-fomit-frame-pointer"
+filter-flags -ffast-math
+append-flags -s -fforce-addr
+
+# Sparc support ...
+replace-sparc64-flags
+
+#fix to avoid gcc-3.3.x micompilation issues.
+if [ "`use ppc`" -a "$(gcc-major-version)" -eq "3" -a "$(gcc-minor-version)" -eq "3" ]
+then
+
+append-flags -fno-strict-aliasing
+
+fi
+
+# We set -O in ./configure to -O1, as -O2 cause crashes on startup ...
+# (bug #13287)
+
+if [ "${ARCH}" = "amd64" ]
+then
+ # Anything more than this causes segfaults on startup on amd64
+ export CFLAGS="-Wall -O -fPIC -pipe"
+ export CXXFLAGS=${CFLAGS}
+else
+ export CFLAGS="${CFLAGS//-O?}"
+ export CXXFLAGS="${CFLAGS//-O?}"
+fi
+
+EMVER="0.76.7"
+IPCVER="1.0.3"
+
+PATCH_VER="1.0"
+
+# handle _rc versions
+MY_PV1="${PV/_}"
+MY_PV2="${MY_PV1/eta}"
+S="${WORKDIR}/mozilla"
+DESCRIPTION="The Mozilla Web Browser"
+SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/${PN}${MY_PV2}/src/${PN}-${MY_PV2}.tar.bz2
+ crypt? ( http://downloads.mozdev.org/enigmail/src/enigmail-${EMVER}.tar.gz
+ http://enigmail.mozdev.org/dload/src/ipc-${IPCVER}.tar.gz )"
+# mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2"
+HOMEPAGE="http://www.mozilla.org"
+
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~amd64"
+SLOT="0"
+LICENSE="MPL-1.1 NPL-1.1"
+
+RDEPEND=">=x11-base/xfree-4.2.0-r11
+ >=dev-libs/libIDL-0.8.0
+ >=sys-libs/zlib-1.1.4
+ >=media-libs/fontconfig-2.1
+ 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 :
+ =x11-libs/gtk+-1.2* )
+ ( gtk2? >=dev-libs/glib-2.2.0 :
+ =dev-libs/glib-1.2* )
+ gtk2? ( >=x11-libs/pango-1.2.1 )
+ !gtk2? ( >=gnome-base/ORBit-0.5.10-r1 )
+ java? ( virtual/jre )
+ crypt? ( >=app-crypt/gnupg-1.2.1 )"
+
+DEPEND="${RDEPEND}
+ virtual/x11
+ dev-util/pkgconfig
+ dev-lang/perl
+ java? ( >=dev-java/java-config-0.2.0 )"
+
+
+moz_setup() {
+
+ # Set MAKEOPTS to have proper -j? option ..
+# get_number_of_jobs
+ # This should enable parallel builds, I hope
+ export MAKE="emake"
+
+ # 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 [ -n "`use ssl`" ]
+ then
+ export MOZ_PSM="1"
+ fi
+
+ # do we build java support for the NSS stuff ?
+ # NOTE: this is broken for the moment
+# if [ "`use java`" ]
+# then
+# export NS_USE_JDK="1"
+# fi
+}
+
+src_unpack() {
+
+ moz_setup
+
+ unpack ${A}
+
+ cd ${S}
+
+ if [ "$(gcc-major-version)" -eq "3" ]
+ then
+ # ABI Patch for alpha/xpcom for gcc-3.x
+ if [ "${ARCH}" = "alpha" ]
+ then
+ cd ${S}; epatch ${FILESDIR}/${PN}-alpha-xpcom-subs-fix.patch
+ fi
+ if [ "${ARCH}" = "amd64" ]
+ then
+ cd ${S}; epatch ${FILESDIR}/${PN}-1.4-amd64.patch
+ fi
+ fi
+
+ epatch ${FILESDIR}/1.2/${PN}-1.2b-default-plugin-less-annoying.patch.bz2
+ epatch ${FILESDIR}/1.2/${PN}-1.2b-over-the-spot.patch.bz2
+ epatch ${FILESDIR}/1.2/${PN}-1.2b-wallet.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
+
+ export WANT_AUTOCONF_2_1=1
+ autoconf &> /dev/null
+ unset WANT_AUTOCONF_2_1
+
+ # Unpack the enigmail plugin
+ if [ -n "`use crypt`" -a -z "`use moznomail`" ]
+ then
+ mv -f ${WORKDIR}/ipc ${S}/extensions/
+ mv -f ${WORKDIR}/enigmail ${S}/extensions/
+ cp ${FILESDIR}/enigmail-Makefile ${S}/extensions/enigmail/Makefile
+ fi
+
+ # Fix build with Linux 2.6
+ cp ${S}/security/coreconf/Linux2.5.mk ${S}/security/coreconf/Linux2.6.mk
+
+}
+
+src_compile() {
+
+ moz_setup
+
+ local myconf=
+ # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until
+ # tested ok -- azarah
+ if [ -n "`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 [ -z "`use ldap`" ]
+ then
+ myconf="${myconf} --disable-ldap"
+ fi
+
+ if [ -z "`use debug`" ]
+ then
+ myconf="${myconf} --enable-strip-libs \
+ --disable-debug \
+ --disable-tests \
+ --enable-reorder \
+ --enable-strip"
+# --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 [ -n "`use x86`" -o -n "`use ppc`" ]
+ then
+ myconf="${myconf} --enable-elf-dynstr-gc"
+ fi
+ fi
+
+ # Check if we should enable Xft support ...
+ if [ -z "`use moznoxft`" ]
+ then
+ if [ -n "`use gtk2`" ]
+ then
+ local pango_version=""
+
+ # We need Xft2.0 localy installed
+ if (test -x /usr/bin/pkg-config) && (pkg-config xft)
+ then
+ pango_version="`pkg-config --modversion pango | cut -d. -f1,2`"
+ pango_version="`echo ${pango_version} | sed -e 's:\.::g'`"
+
+ # 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!"
+ myconf="${myconf} --disable-xft `use_enable truetype freetype2`"
+ fi
+ else
+ ewarn "Building without Xft2.0 support!"
+ 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
+ myconf="${myconf} --disable-xft `use_enable truetype freetype2`"
+ fi
+
+ if [ -n "`use ipv6`" ]
+ then
+ myconf="${myconf} --enable-ipv6"
+ fi
+
+
+ # NB!!: Due to the fact that the non default extensions do not always
+ # compile properly, using them is considered unsupported, and
+ # is just here for completeness. Please do not use if you
+ # do not know what you are doing!
+ #
+ # The defaults are (as of 1.2, according to configure (line ~11445)):
+ # cookie, wallet, content-packs, xml-rpc, xmlextras, help, pref, transformiix,
+ # venkman, inspector, irc, universalchardet, typeaheadfind
+ # Non-defaults are:
+ # xmlterm access-builtin p3p datetime finger cview
+ local myext="default"
+ if [ -n "`use mozxmlterm`" ]
+ then
+ myext="${myext},xmlterm"
+ fi
+ if [ -n "`use mozaccess`" ]
+ then
+ myext="${myext},access-builtin"
+ fi
+ if [ -n "`use mozp3p`" ]
+ then
+ myext="${myext},p3p"
+ fi
+ if [ -n "`use moznoirc`" ]
+ then
+ myext="${myext},-irc"
+ fi
+
+# if [ -n "`use mozsvg`" ]
+# then
+# export MOZ_INTERNAL_LIBART_LGPL="1"
+# myconf="${myconf} --enable-svg"
+# else
+# myconf="${myconf} --disable-svg"
+# fi
+ # re-enable calendar for 1.4, builds autonomously (no dependencies anymore)
+ if [ -n "`use mozcalendar`" ]
+ then
+ myconf="${myconf} --enable-calendar"
+ fi
+
+ if [ -n "`use moznomail`" ]
+ then
+ myconf="${myconf} --disable-mailnews"
+ fi
+ if [ -n "`use moznocompose`" -a -n "`use moznomail`" ]
+ then
+ myconf="${myconf} --disable-composer"
+ fi
+
+ if [ "$(gcc-major-version)" -eq "3" ]
+ then
+ # Currently gcc-3.2 or older do not work well if we specify "-march"
+ # and other optimizations for pentium4.
+ if [ "$(gcc-minor-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
+ if [ "${ARCH}" = "x86" ]
+ then
+ myconf="${myconf} --enable-old-abi-compat-wrappers"
+ fi
+ fi
+
+ if [ -n "`use alpha`" ]
+ then
+ # mozilla wont 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
+ fi
+
+ # *********************************************************************
+ #
+ # Configure and build Mozilla
+ #
+ # *********************************************************************
+
+ export BUILD_MODULES=all
+ export BUILD_OPT=1
+
+ # Get it to work without warnings on gcc3
+ export CXXFLAGS="${CXXFLAGS} -Wno-deprecated"
+
+ # On amd64 we statically set 'safe' CFLAGS. Use those only.
+ # using the standard -O2 will cause segfaults on startup for amd64
+ if [ "${ARCH}" = "amd64" ]
+ then
+ ENABLE_OPTIMIZE="${CFLAGS}"
+ else
+ ENABLE_OPTIMIZE="-O2"
+ fi
+
+ cd ${S}
+ einfo "Configuring Mozilla..."
+ ./configure --prefix=/usr/lib/mozilla \
+ --disable-pedantic \
+ --disable-short-wchar \
+ --disable-xprint \
+ --enable-mathml \
+ --without-system-nspr \
+ --enable-nspr-autoconf \
+ --with-system-zlib \
+ --enable-xsl \
+ --enable-crypto \
+ --enable-extensions="${myext}" \
+ --enable-optimize="${ENABLE_OPTIMIZE}" \
+ --with-default-mozilla-five-home=/usr/lib/mozilla \
+ ${myconf} || die
+
+ einfo "Building Mozilla..."
+ make WORKDIR="${WORKDIR}" || die
+
+ # *********************************************************************
+ #
+ # Build Mozilla NSS
+ #
+ # *********************************************************************
+
+ # Build the NSS/SSL support
+ if [ "`use ssl`" ]
+ then
+ einfo "Building Mozilla NSS..."
+ cd ${S}/security/coreconf
+
+ # Fix #include problem
+ cp headers.mk headers.mk.orig
+ echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\
+ >>headers.mk
+
+ # Disable jobserver here ...
+ make MAKE="make" || die
+
+ cd ${S}/security/nss
+
+ # Disable jobserver here ...
+ make MAKE="make" moz_import || die
+ make MAKE="make" || die
+ cd ${S}
+ fi
+
+ # *********************************************************************
+ #
+ # Build Enigmail plugin
+ #
+ # *********************************************************************
+
+ # Build the enigmail plugin
+ if [ -n "`use crypt`" -a -z "`use moznomail`" ]
+ then
+ einfo "Building Enigmail plugin..."
+ cd ${S}/extensions/ipc
+ make || die
+
+ cd ${S}/extensions/enigmail
+ make || die
+ fi
+}
+
+src_install() {
+
+ moz_setup
+
+ # 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_PV2}::g" mozilla-config
+ perl -pi -e "s:/mozilla-${MY_PV2}::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_PV2}::g" ${x}
+ perl -pi -e "s:/mozilla-${MY_PV2}::g" ${x}
+ doins ${x}
+ fi
+ done
+
+ cd ${S}
+ exeinto /usr/bin
+ newexe ${FILESDIR}/mozilla.sh mozilla
+ insinto /etc/env.d
+ doins ${FILESDIR}/10mozilla
+ dodoc LEGAL LICENSE README/mozilla/README*
+
+ # Install rebuild script
+ exeinto /usr/lib/mozilla/
+ newexe ${S}/build/package/rpm/SOURCES/mozilla-rebuild-databases.pl.in \
+ mozilla-rebuild-databases.pl
+ dosed 's|LIBDIR|/usr/lib|g' /usr/lib/mozilla/mozilla-rebuild-databases.pl
+ dosed 's|-MOZILLA_VERSION||g' /usr/lib/mozilla/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}/build/package/rpm/SOURCES/mozicon16.xpm
+ doins ${S}/build/package/rpm/SOURCES/mozicon50.xpm
+
+ # Install icon and .desktop for menu entry
+ if [ "`use gnome`" ]
+ then
+ insinto /usr/share/pixmaps
+ doins ${S}/build/package/rpm/SOURCES/mozilla-icon.png
+
+ # Fix comment of menu entry
+ cd ${S}/build/package/rpm/SOURCES
+ perl -pi -e 's:Comment=Mozilla:Comment=Mozilla Web Browser:' mozilla.desktop
+ cd ${S}
+ insinto /usr/share/gnome/apps/Internet
+ doins ${S}/build/package/rpm/SOURCES/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() {
+ # Stale components and chrome files break when unmerging old
+ if [ -d ${ROOT}/usr/lib/mozilla/components ]
+ then
+ rm -rf ${ROOT}/usr/lib/mozilla/components
+ fi
+ if [ -d ${ROOT}/usr/lib/mozilla/chrome ]
+ then
+ rm -rf ${ROOT}/usr/lib/mozilla/chrome
+ fi
+
+ # Remove stale component registry.
+ if [ -e ${ROOT}/usr/lib/mozilla/component.reg ]
+ then
+ rm -f ${ROOT}/usr/lib/mozilla/component.reg
+ fi
+ if [ -e ${ROOT}/usr/lib/mozilla/components/compreg.dat ]
+ then
+ rm -f ${ROOT}/usr/lib/mozilla/components/compreg.dat
+ fi
+
+ # Make sure these are removed.
+ rm -f ${ROOT}/usr/lib/mozilla/lib{Xft,Xrender}.so*
+
+ # Move old plugins dir
+ pkg_mv_plugins /usr/lib/mozilla/plugins
+}
+
+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 {} \; || :
+
+
+ echo
+ ewarn "Please unmerge old versions of mozilla, as the header"
+ ewarn "layout in /usr/lib/mozilla/include have changed and will"
+ ewarn "result in compile errors when compiling programs that need"
+ ewarn "mozilla headers and libs (galeon, nautilus, ...)"
+}
+
+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
+}
+
diff --git a/net-www/mozilla/mozilla-1.5-r1.ebuild b/net-www/mozilla/mozilla-1.5-r1.ebuild
new file mode 100644
index 000000000000..b826dfbea489
--- /dev/null
+++ b/net-www/mozilla/mozilla-1.5-r1.ebuild
@@ -0,0 +1,601 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.5-r1.ebuild,v 1.1 2003/11/16 18:02:51 brad Exp $
+
+IUSE="java crypt ipv6 gtk2 ssl ldap gnome debug"
+# Internal USE flags that I do not really want to advertise ...
+IUSE="${IUSE} mozcalendar mozaccess mozxmlterm"
+IUSE="${IUSE} moznoirc moznomail moznocompose moznoxft"
+
+inherit flag-o-matic gcc eutils nsplugins
+
+# Strip over-aggressive CFLAGS - Mozilla supplies its own fine-tuned CFLAGS and shouldn't be interfered with
+strip-flags
+
+# Strip flags which create more documented instability
+filter-flags "-fomit-frame-pointer"
+filter-flags -ffast-math
+append-flags -s -fforce-addr
+
+# Sparc support ...
+replace-sparc64-flags
+
+#fix to avoid gcc-3.3.x micompilation issues.
+if [ "`use ppc`" -a "$(gcc-major-version)" -eq "3" -a "$(gcc-minor-version)" -eq "3" ]
+then
+
+append-flags -fno-strict-aliasing
+
+fi
+
+# We set -O in ./configure to -O1, as -O2 cause crashes on startup ... (bug #13287)
+
+if [ "${ARCH}" = "amd64" ]
+then
+ # Anything more than this causes segfaults on startup on amd64
+ export CFLAGS="-Wall -O -fPIC -pipe"
+ export CXXFLAGS=${CFLAGS}
+else
+ export CFLAGS="${CFLAGS//-O?}"
+ export CXXFLAGS="${CFLAGS//-O?}"
+fi
+
+EMVER="0.82.2"
+IPCVER="1.0.4"
+
+PATCH_VER="1.0"
+
+# handle _rc versions
+MY_PV1="${PV/_}"
+MY_PV2="${MY_PV1/eta}"
+S="${WORKDIR}/mozilla"
+DESCRIPTION="The Mozilla Web Browser"
+SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/${PN}${MY_PV2}/src/${PN}-source-${MY_PV2}.tar.bz2
+ crypt? ( mirror://gentoo/enigmail-${EMVER}.tar.gz
+ http://downloads.mozdev.org/enigmail/src/ipc-${IPCVER}.tar.gz )"
+# mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2"
+HOMEPAGE="http://www.mozilla.org"
+
+KEYWORDS="~x86 ~ppc ~sparc ~alpha amd64"
+SLOT="0"
+LICENSE="MPL-1.1 NPL-1.1"
+
+RDEPEND=">=x11-base/xfree-4.2.0-r11
+ >=dev-libs/libIDL-0.8.0
+ >=sys-libs/zlib-1.1.4
+ >=media-libs/fontconfig-2.1
+ 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 :
+ =x11-libs/gtk+-1.2* )
+ ( gtk2? >=dev-libs/glib-2.2.0 :
+ =dev-libs/glib-1.2* )
+ gtk2? ( >=x11-libs/pango-1.2.1 )
+ !gtk2? ( >=gnome-base/ORBit-0.5.10-r1 )
+ java? ( virtual/jre )
+ crypt? ( >=app-crypt/gnupg-1.2.1 )"
+
+DEPEND="${RDEPEND}
+ virtual/x11
+ dev-util/pkgconfig
+ dev-lang/perl
+ java? ( >=dev-java/java-config-0.2.0 )"
+
+
+moz_setup() {
+
+ # Set MAKEOPTS to have proper -j? option ..
+ get_number_of_jobs
+ # This should enable parallel builds, I hope
+ export MAKE="emake"
+
+ # 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 [ -n "`use ssl`" ]
+ then
+ export MOZ_PSM="1"
+ fi
+
+}
+
+src_unpack() {
+
+ moz_setup
+
+ unpack ${A}
+
+ cd ${S}
+
+ if [ "$(gcc-major-version)" -eq "3" ]
+ then
+ # ABI Patch for alpha/xpcom for gcc-3.x
+ if [ "${ARCH}" = "alpha" ]
+ then
+ cd ${S}; epatch ${FILESDIR}/${PN}-alpha-xpcom-subs-fix.patch
+ fi
+ if [ "${ARCH}" = "amd64" ]
+ then
+ cd ${S}; epatch ${FILESDIR}/${PN}-1.4-amd64.patch
+ fi
+ fi
+
+ epatch ${FILESDIR}/1.2/${PN}-1.2b-default-plugin-less-annoying.patch.bz2
+ epatch ${FILESDIR}/1.2/${PN}-1.2b-over-the-spot.patch.bz2
+ epatch ${FILESDIR}/1.2/${PN}-1.2b-wallet.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
+
+ export WANT_AUTOCONF_2_1=1
+ autoconf &> /dev/null
+ unset WANT_AUTOCONF_2_1
+
+ # Unpack the enigmail plugin
+ if [ -n "`use crypt`" -a -z "`use moznomail`" ]
+ then
+ mv -f ${WORKDIR}/ipc ${S}/extensions/
+ mv -f ${WORKDIR}/enigmail ${S}/extensions/
+ cp ${FILESDIR}/enigmail/Makefile-enigmail ${S}/extensions/enigmail/Makefile
+ cp ${FILESDIR}/enigmail/Makefile-ipc ${S}/extensions/ipc/Makefile
+ fi
+
+}
+
+src_compile() {
+
+ moz_setup
+
+ local myconf=
+ # NOTE: QT and XLIB toolkit seems very unstable, leave disabled until
+ # tested ok -- azarah
+ if [ -n "`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 [ -z "`use ldap`" ]
+ then
+ myconf="${myconf} --disable-ldap"
+ fi
+
+ if [ -z "`use debug`" ]
+ then
+ myconf="${myconf} --enable-strip-libs \
+ --disable-debug \
+ --disable-tests \
+ --enable-reorder \
+ --enable-strip"
+# --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 [ -n "`use x86`" -o -n "`use ppc`" ]
+ then
+ myconf="${myconf} --enable-elf-dynstr-gc"
+ fi
+ fi
+
+ # Check if we should enable Xft support ...
+ if [ -z "`use moznoxft`" ]
+ then
+ if [ -n "`use gtk2`" ]
+ then
+ local pango_version=""
+
+ # We need Xft2.0 localy installed
+ if (test -x /usr/bin/pkg-config) && (pkg-config xft)
+ then
+ pango_version="`pkg-config --modversion pango | cut -d. -f1,2`"
+ pango_version="`echo ${pango_version} | sed -e 's:\.::g'`"
+
+ # 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!"
+ myconf="${myconf} --disable-xft `use_enable truetype freetype2`"
+ fi
+ else
+ ewarn "Building without Xft2.0 support!"
+ 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
+ myconf="${myconf} --disable-xft `use_enable truetype freetype2`"
+ fi
+
+ if [ -n "`use ipv6`" ]
+ then
+ myconf="${myconf} --enable-ipv6"
+ fi
+
+
+ # NB!!: Due to the fact that the non default extensions do not always
+ # compile properly, using them is considered unsupported, and
+ # is just here for completeness. Please do not use if you
+ # do not know what you are doing!
+ #
+ # 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
+ use mozxmlterm || use mozaccess && \
+ ewarn "" && \
+ ewarn "The use of the non-default extensions is considered unsupported, and these" && \
+ ewarn "may not always compile properly." && \
+ ewarn "Please do not use if you do not know what you're doing!" && \
+ ewarn "" && \
+ sleep 3
+
+ local myext="default"
+ if [ -n "`use mozxmlterm`" ]
+ then
+ myext="${myext},xmlterm"
+ fi
+ if [ -n "`use mozaccess`" ]
+ then
+ myext="${myext},access-builtin"
+ fi
+ if [ -n "`use moznoirc`" ]
+ then
+ myext="${myext},-irc"
+ fi
+
+# Disable SVG until it's properly implemented
+# if [ -n "`use mozsvg`" ]
+# then
+# export MOZ_INTERNAL_LIBART_LGPL="1"
+# myconf="${myconf} --enable-svg"
+# else
+# myconf="${myconf} --disable-svg"
+# fi
+ if [ -n "`use mozcalendar`" ]
+ then
+ myconf="${myconf} --enable-calendar"
+ fi
+
+ if [ -n "`use moznomail`" ]
+ then
+ myconf="${myconf} --disable-mailnews"
+ fi
+ if [ -n "`use moznocompose`" -a -n "`use moznomail`" ]
+ then
+ myconf="${myconf} --disable-composer"
+ fi
+
+ if [ "$(gcc-major-version)" -eq "3" ]
+ then
+ # Currently gcc-3.2 or older do not work well if we specify "-march"
+ # and other optimizations for pentium4.
+ if [ "$(gcc-minor-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
+ if [ "${ARCH}" = "x86" ]
+ then
+ myconf="${myconf} --enable-old-abi-compat-wrappers"
+ fi
+ fi
+
+ if [ -n "`use alpha`" ]
+ then
+ # mozilla wont 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
+ fi
+
+ # *********************************************************************
+ #
+ # Configure and build Mozilla
+ #
+ # *********************************************************************
+
+ export BUILD_MODULES=all
+ export BUILD_OPT=1
+
+ # Get it to work without warnings on gcc3
+ export CXXFLAGS="${CXXFLAGS} -Wno-deprecated"
+
+ # On amd64 we statically set 'safe' CFLAGS. Use those only.
+ # using the standard -O2 will cause segfaults on startup for amd64
+ if [ "${ARCH}" = "amd64" ]
+ then
+ ENABLE_OPTIMIZE="${CFLAGS}"
+ else
+ ENABLE_OPTIMIZE="-O2"
+ fi
+
+ cd ${S}
+ einfo "Configuring Mozilla..."
+ ./configure --prefix=/usr/lib/mozilla \
+ --disable-pedantic \
+ --disable-short-wchar \
+ --disable-xprint \
+ --enable-mathml \
+ --without-system-nspr \
+ --enable-nspr-autoconf \
+ --with-system-zlib \
+ --enable-xsl \
+ --enable-crypto \
+ --enable-extensions="${myext}" \
+ --enable-optimize="${ENABLE_OPTIMIZE}" \
+ --with-default-mozilla-five-home=/usr/lib/mozilla \
+ ${myconf} || die
+
+ einfo "Building Mozilla..."
+ make WORKDIR="${WORKDIR}" || die
+
+ # *********************************************************************
+ #
+ # Build Mozilla NSS
+ #
+ # *********************************************************************
+
+ # Build the NSS/SSL support
+ if [ "`use ssl`" ]
+ then
+ einfo "Building Mozilla NSS..."
+ cd ${S}/security/coreconf
+
+ # Fix #include problem
+ cp headers.mk headers.mk.orig
+ echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\
+ >>headers.mk
+
+ # Disable jobserver here ...
+ make MAKE="make" || die
+
+ cd ${S}/security/nss
+
+ # Disable jobserver here ...
+ make MAKE="make" moz_import || die
+ make MAKE="make" || die
+ cd ${S}
+ fi
+
+ # *********************************************************************
+ #
+ # Build Enigmail plugin
+ #
+ # *********************************************************************
+
+ # Build the enigmail plugin
+ if [ -n "`use crypt`" -a -z "`use moznomail`" ]
+ then
+ einfo "Building Enigmail plugin..."
+ cd ${S}/extensions/ipc
+ make || die
+
+ cd ${S}/extensions/enigmail
+ make || die
+ fi
+}
+
+src_install() {
+
+ moz_setup
+
+ # 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_PV2}::g" mozilla-config
+ perl -pi -e "s:/mozilla-${MY_PV2}::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_PV2}::g" ${x}
+ perl -pi -e "s:/mozilla-${MY_PV2}::g" ${x}
+ doins ${x}
+ fi
+ done
+
+ cd ${S}
+ exeinto /usr/bin
+ newexe ${FILESDIR}/mozilla.sh mozilla
+ insinto /etc/env.d
+ doins ${FILESDIR}/10mozilla
+ dodoc LEGAL LICENSE README/mozilla/README*
+
+ # Install rebuild script
+ exeinto /usr/lib/mozilla/
+ newexe ${S}/build/package/rpm/SOURCES/mozilla-rebuild-databases.pl.in \
+ mozilla-rebuild-databases.pl
+ dosed 's|LIBDIR|/usr/lib|g' /usr/lib/mozilla/mozilla-rebuild-databases.pl
+ dosed 's|-MOZILLA_VERSION||g' /usr/lib/mozilla/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}/build/package/rpm/SOURCES/mozicon16.xpm
+ doins ${S}/build/package/rpm/SOURCES/mozicon50.xpm
+
+ # Install icon and .desktop for menu entry
+ if [ "`use gnome`" ]
+ then
+ insinto /usr/share/pixmaps
+ doins ${S}/build/package/rpm/SOURCES/mozilla-icon.png
+
+ # Fix comment of menu entry
+ cd ${S}/build/package/rpm/SOURCES
+ perl -pi -e 's:Comment=Mozilla:Comment=Mozilla Web Browser:' mozilla.desktop
+ cd ${S}
+ insinto /usr/share/gnome/apps/Internet
+ doins ${S}/build/package/rpm/SOURCES/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() {
+ # Stale components and chrome files break when unmerging old
+ if [ -d ${ROOT}/usr/lib/mozilla/components ]
+ then
+ rm -rf ${ROOT}/usr/lib/mozilla/components
+ fi
+ if [ -d ${ROOT}/usr/lib/mozilla/chrome ]
+ then
+ rm -rf ${ROOT}/usr/lib/mozilla/chrome
+ fi
+
+ # Remove stale component registry.
+ if [ -e ${ROOT}/usr/lib/mozilla/component.reg ]
+ then
+ rm -f ${ROOT}/usr/lib/mozilla/component.reg
+ fi
+ if [ -e ${ROOT}/usr/lib/mozilla/components/compreg.dat ]
+ then
+ rm -f ${ROOT}/usr/lib/mozilla/components/compreg.dat
+ fi
+
+ # Make sure these are removed.
+ rm -f ${ROOT}/usr/lib/mozilla/lib{Xft,Xrender}.so*
+
+ # Move old plugins dir
+ pkg_mv_plugins /usr/lib/mozilla/plugins
+}
+
+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 {} \; || :
+
+
+ echo
+ ewarn "Please unmerge old versions of mozilla, as the header"
+ ewarn "layout in /usr/lib/mozilla/include have changed and will"
+ ewarn "result in compile errors when compiling programs that need"
+ ewarn "mozilla headers and libs (galeon, nautilus, ...)"
+}
+
+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
+}
+