summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2003-01-19 14:28:54 +0000
committerMartin Schlemmer <azarah@gentoo.org>2003-01-19 14:28:54 +0000
commitb2fe40e6711ab742a26b0584d49904dc214fa4f6 (patch)
tree86b3608fcc40da65f3f5d761249ded4165e748f0 /net-www
parentnew ebuild for korean input modules for gtk+-2.0 (diff)
downloadgentoo-2-b2fe40e6711ab742a26b0584d49904dc214fa4f6.tar.gz
gentoo-2-b2fe40e6711ab742a26b0584d49904dc214fa4f6.tar.bz2
gentoo-2-b2fe40e6711ab742a26b0584d49904dc214fa4f6.zip
fix memory leak
Diffstat (limited to 'net-www')
-rw-r--r--net-www/mozilla/ChangeLog12
-rw-r--r--net-www/mozilla/files/1.2/mozilla-1.2-image-reload-memleak.patch45
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.0-r31
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.2.1-r14
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.2.1-r34
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.2.1-r5 (renamed from net-www/mozilla/files/digest-mozilla-1.2.1-r2)0
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.3a4
-rw-r--r--net-www/mozilla/files/gtk2_embed.patch.bz2bin4153 -> 0 bytes
-rw-r--r--net-www/mozilla/files/gtk2_widget.patch.bz2bin2198 -> 0 bytes
-rw-r--r--net-www/mozilla/mozilla-1.0-r3.ebuild469
-rw-r--r--net-www/mozilla/mozilla-1.2.1-r1.ebuild691
-rw-r--r--net-www/mozilla/mozilla-1.2.1-r2.ebuild699
-rw-r--r--net-www/mozilla/mozilla-1.2.1-r5.ebuild (renamed from net-www/mozilla/mozilla-1.2.1-r3.ebuild)26
-rw-r--r--net-www/mozilla/mozilla-1.3a.ebuild711
14 files changed, 79 insertions, 2587 deletions
diff --git a/net-www/mozilla/ChangeLog b/net-www/mozilla/ChangeLog
index 2e448bc2bb1e..4bf276a497ed 100644
--- a/net-www/mozilla/ChangeLog
+++ b/net-www/mozilla/ChangeLog
@@ -1,7 +1,15 @@
# ChangeLog for net-www/mozilla
# Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.80 2003/01/09 12:45:34 jmorgan Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.81 2003/01/19 14:28:54 azarah Exp $
+*mozilla-1.2.1-r5 (19 Jan 2003)
+
+ 19 Jan 2003; Martin Schlemmer <azarah@gentoo.org> mozilla-1.2.1-r5.ebuild :
+ Fix a memory leak when reloading images:
+
+ http://bugs.gentoo.org/show_bug.cgi?id=13667
+ http://bugzilla.mozilla.org/show_bug.cgi?id=179498
+
09 Jan 2003; Jack Morgan <jmorgan@gentoo.org> mozilla-1.2.1-r4.ebuild :
Added sparc support with replace-flags (bug #13554 - thanks to Kumba)
@@ -9,6 +17,8 @@
We set -O in ./configure to -O1, as -O2 cause crashes on startup ...
(bug #13287)
+*mozilla-1.2.1-r4 (26 Dec 2002)
+
26 Dec 2002; Martin Schlemmer <azarah@gentoo.org> mozilla-1.2.1-r4.ebuild :
Same as last -r3, just created to make sure we have all the fixes, and
marked stable for x86.
diff --git a/net-www/mozilla/files/1.2/mozilla-1.2-image-reload-memleak.patch b/net-www/mozilla/files/1.2/mozilla-1.2-image-reload-memleak.patch
new file mode 100644
index 000000000000..51e6c37ef826
--- /dev/null
+++ b/net-www/mozilla/files/1.2/mozilla-1.2-image-reload-memleak.patch
@@ -0,0 +1,45 @@
+? hpradhan@hedwig
+Index: nsImageDocument.cpp
+===================================================================
+RCS file: /cvsroot/mozilla/content/html/document/src/nsImageDocument.cpp,v
+retrieving revision 1.87
+diff -u -u -r1.87 nsImageDocument.cpp
+--- content/html/document/src/nsImageDocument.cpp 28 Sep 2002 10:50:50 -0000 1.87
++++ content/html/document/src/nsImageDocument.cpp 11 Dec 2002 11:52:11 -0000
+@@ -97,6 +97,8 @@
+ PRBool aReset = PR_TRUE,
+ nsIContentSink* aSink = nsnull);
+
++ NS_IMETHOD SetScriptGlobalObject(nsIScriptGlobalObject* aScriptGlobalObject);
++
+ nsresult CreateSyntheticDocument();
+
+ nsresult EndLayout(nsISupports *ctxt,
+@@ -144,8 +146,6 @@
+ NS_IMETHODIMP
+ ImageListener::OnStartRequest(nsIRequest* request, nsISupports *ctxt)
+ {
+- nsresult rv;
+-
+ nsCOMPtr<nsIChannel> channel = do_QueryInterface(request);
+ if (!channel) return NS_ERROR_NULL_POINTER;
+
+@@ -276,6 +276,18 @@
+ return NS_OK;
+ }
+
++NS_IMETHODIMP
++nsImageDocument::SetScriptGlobalObject(nsIScriptGlobalObject* aScriptGlobalObject)
++{
++ if (!aScriptGlobalObject) {
++ // If the global object is being set to null, then it means we are
++ // going away soon. Drop our ref to imgRequest so that we dont end
++ // up leaking due to cycles through imgLib
++ mImageRequest = nsnull;
++ }
++
++ return nsHTMLDocument::SetScriptGlobalObject(aScriptGlobalObject);
++}
+
+ nsresult
+ nsImageDocument::CreateSyntheticDocument()
diff --git a/net-www/mozilla/files/digest-mozilla-1.0-r3 b/net-www/mozilla/files/digest-mozilla-1.0-r3
deleted file mode 100644
index b445e74f96ef..000000000000
--- a/net-www/mozilla/files/digest-mozilla-1.0-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 033da936e48336aa2c5d8bf0aa039056 mozilla-source-1.0.tar.bz2 29620700
diff --git a/net-www/mozilla/files/digest-mozilla-1.2.1-r1 b/net-www/mozilla/files/digest-mozilla-1.2.1-r1
deleted file mode 100644
index 2a452b7df951..000000000000
--- a/net-www/mozilla/files/digest-mozilla-1.2.1-r1
+++ /dev/null
@@ -1,4 +0,0 @@
-MD5 58c37a29ef2fae2939f5be116abec32a mozilla-source-1.2.1.tar.bz2 30919648
-MD5 365b640d9ba605fdf478e2e96ce8ce89 enigmail-0.71.0.tar.gz 179703
-MD5 e00bb4cdc9abb69e875f6717c110dfa7 ipc-1.0.1.tar.gz 128677
-MD5 5ef5c58e501b0cb873ee2b2a04ed74e3 fcpackage.2_0.tar.gz 538159
diff --git a/net-www/mozilla/files/digest-mozilla-1.2.1-r3 b/net-www/mozilla/files/digest-mozilla-1.2.1-r3
deleted file mode 100644
index 757f3e5294c7..000000000000
--- a/net-www/mozilla/files/digest-mozilla-1.2.1-r3
+++ /dev/null
@@ -1,4 +0,0 @@
-MD5 58c37a29ef2fae2939f5be116abec32a mozilla-source-1.2.1.tar.bz2 30919648
-MD5 365b640d9ba605fdf478e2e96ce8ce89 enigmail-0.71.0.tar.gz 179703
-MD5 e00bb4cdc9abb69e875f6717c110dfa7 ipc-1.0.1.tar.gz 128677
-MD5 2f2852c80924a9b5356c3037a471c1a1 fcpackage.2_1.tar.gz 544661
diff --git a/net-www/mozilla/files/digest-mozilla-1.2.1-r2 b/net-www/mozilla/files/digest-mozilla-1.2.1-r5
index 757f3e5294c7..757f3e5294c7 100644
--- a/net-www/mozilla/files/digest-mozilla-1.2.1-r2
+++ b/net-www/mozilla/files/digest-mozilla-1.2.1-r5
diff --git a/net-www/mozilla/files/digest-mozilla-1.3a b/net-www/mozilla/files/digest-mozilla-1.3a
deleted file mode 100644
index 568ebda35bbe..000000000000
--- a/net-www/mozilla/files/digest-mozilla-1.3a
+++ /dev/null
@@ -1,4 +0,0 @@
-MD5 3f5d70a6db244735ac5fe8861fce048f mozilla-source-1.3a.tar.gz 41169740
-MD5 365b640d9ba605fdf478e2e96ce8ce89 enigmail-0.71.0.tar.gz 179703
-MD5 e00bb4cdc9abb69e875f6717c110dfa7 ipc-1.0.1.tar.gz 128677
-MD5 2f2852c80924a9b5356c3037a471c1a1 fcpackage.2_1.tar.gz 544661
diff --git a/net-www/mozilla/files/gtk2_embed.patch.bz2 b/net-www/mozilla/files/gtk2_embed.patch.bz2
deleted file mode 100644
index 5b7be782b8ae..000000000000
--- a/net-www/mozilla/files/gtk2_embed.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/net-www/mozilla/files/gtk2_widget.patch.bz2 b/net-www/mozilla/files/gtk2_widget.patch.bz2
deleted file mode 100644
index 6dbd86db001e..000000000000
--- a/net-www/mozilla/files/gtk2_widget.patch.bz2
+++ /dev/null
Binary files differ
diff --git a/net-www/mozilla/mozilla-1.0-r3.ebuild b/net-www/mozilla/mozilla-1.0-r3.ebuild
deleted file mode 100644
index ebd08ff7cd45..000000000000
--- a/net-www/mozilla/mozilla-1.0-r3.ebuild
+++ /dev/null
@@ -1,469 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.0-r3.ebuild,v 1.22 2002/12/09 04:33:20 manson Exp $
-
-IUSE="moznomail java mozp3p mozaccess gtk2 mozinterfaceinfo ssl ldap mozxmlterm mozctl gnome mozsvg"
-
-inherit flag-o-matic makeedit nsplugins
-# NOTE: to build without the mail and news component: export NO_MAIL="YES"
-
-# 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
-
-# handle _rc versions
-MY_PV1=${PV/_}
-MY_PV2=${PV/_/\.}
-S=${WORKDIR}/mozilla
-DESCRIPTION="The Mozilla Web Browser"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV1}/src/${PN}-source-${MY_PV1}.tar.bz2"
-HOMEPAGE="http://www.mozilla.org"
-KEYWORDS="x86 ppc sparc"
-LICENSE="MPL-1.1 NPL-1.1"
-
-RDEPEND=">=x11-base/xfree-4.2.0-r11
- >=gnome-base/ORBit-0.5.10-r1
- >=sys-libs/zlib-1.1.4
- >=media-libs/jpeg-6b
- >=media-libs/libmng-1.0.0
- >=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.0.5 :
- =x11-libs/gtk+-1.2* )
- ( gtk2? >=dev-libs/glib-2.0.4 :
- =dev-libs/glib-1.2* )
- java? ( virtual/jre )"
-# gtk? ( x11-libs/gtk+ )
-# mozqt? ( x11-libs/qt )"
-
-DEPEND="java? ( >=dev-java/java-config-0.2.0 )
- ${RDEPEND}
- virtual/x11
- sys-devel/perl"
-
-SLOT="0"
-
-# needed by src_compile() and src_install()
-export MOZILLA_OFFICIAL=1
-export BUILD_OFFICIAL=1
-
-# enable XFT
-[ "${DISABLE_XFT}" != "1" ] && [ -z "`use gtk2`" ] && \
- export MOZ_ENABLE_XFT=1
-
-# enable GTK+-2.0 support
-if [ "`use gtk2`" ] ; then
- export MOZ_ENABLE_GTK2=1
- export MOZ_WIDGET_GTK2=1
- export MOZ_WIDGET_TOOLKIT=gtk2
-fi
-
-# make sure the nss module gets build (for NSS support)
-[ -n "`use ssl`" ] && export MOZ_PSM=1
-
-# do we build java support for the NSS stuff ?
-# NOTE: this is broken for the moment
-#[ "`use java`" ] && export NS_USE_JDK=1
-
-
-src_unpack() {
-
- unpack ${A}
-
- # Fix a compile error with freetype-2.0.9 or later
- cd ${S}
- patch -p1 < ${FILESDIR}/mozilla-new-freetype2.patch || die
-
- [ -z "${CC}" ] && CC=gcc
- if [ "`${CC} -dumpversion | cut -d. -f1,2`" != "2.95" ] ; then
- # Fix bogus asm (from Mandrake .spec)
- patch -p1 < ${FILESDIR}/${P}-asmfixes.patch || die
-
-# patch -p1 < ${FILESDIR}/${P}-gcc3-java-plugin.patch || die
-
- # ABI compat patch for gcc-3.x to use gcc-2.95 plugins
- #
- # http://bugzilla.mozilla.org/show_bug.cgi?id=154206
- # http://bugzilla.mozilla.org/show_bug.cgi?id=124006
- # http://bugzilla.mozilla.org/show_bug.cgi?id=116444
- #
- if [ "${ARCH}" = "x86" ] ; then
- patch -p0 < ${FILESDIR}/${P}-abi-compat-wrappers.patch
- fi
-
- # ABI Patch for ppc/xpcom for gcc-3.x
- # http://bugzilla.mozilla.org/show_bug.cgi?id=142594
-
- if [ "${ARCH}" = "ppc" ] ; then
- patch -p0 < ${FILESDIR}/mozilla-1.0-abi-xpcom-ppc.patch || die
- fi
- fi
-
- # Apply the bytecode patch for freetype2
- patch -p1 < ${FILESDIR}/mozilla-ft-bytecode.patch || die
-
- # Use gtk+-2.0 as widget toolkit
- if [ "`use gtk2`" ] ; then
- cd ${S}/embedding/browser/gtk/src
- bzip2 -dc ${FILESDIR}/gtk2_embed.patch.bz2 | patch -p0 || die
- cd ${S}/widget/src/gtk2
- bzip2 -dc ${FILESDIR}/gtk2_widget.patch.bz2 | patch -p0 || die
- fi
-
- # Fix bug #7656
- cd ${S}/other-licenses/Xft/Xrender
- ln -s /usr/X11R6/include/X11/extensions/Xext.h Xext.h
- ln -s /usr/X11R6/include/X11/extensions/renderproto.h renderproto.h
-}
-
-src_compile() {
-
- chown -R root.root *
- #This should enable parallel builds, I hope
- export MAKE="emake"
- 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-gtk"
- else
- myconf="${myconf} --enable-toolkit-gtk \
- --enable-default-toolkit=gtk \
- --disable-toolkit-qt \
- --disable-toolkit-xlib \
- --disable-gtk2"
- fi
-
- if [ -z "`use ldap`" ] ; then
- myconf="${myconf} --disable-ldap"
- fi
-
- if [ -z "${DEBUG}" ] ; then
- myconf="${myconf} --enable-strip-libs \
- --disable-debug \
- --disable-dtd-debug \
- --disable-tests"
- fi
-
- if [ -n "${MOZ_ENABLE_XFT}" ] ; then
- # for this we have to use freetype-2.0.8 included with XFree86
- myconf="${myconf} --enable-xft \
- --with-ft-prefix=/usr/X11R6 \
- --with-ft-exec-prefix=/usr/X11R6/bin"
-
- export FT2_CONFIG="/usr/X11R6/bin/freetype-config"
- 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.0rc1, according to configure (line ~10799)):
- # cookie wallet content-packs xml-rpc xmlextras help transformiix venkman inspector irc
- # Non-defaults are:
- # xmlterm access-builtin ctl p3p interfaceinfo
- local myext="default"
- if [ -n "`use mozxmlterm`" ] ; then
- myext="${myext},xmlterm"
- fi
- if [ -n "`use mozaccess-builtin`" ] ; then
- myext="${myext},access-builtin"
- fi
- if [ -n "`use mozctl`" ] ; then
- myext="${myext},ctl"
- fi
- if [ -n "`use mozp3p`" ] ; then
- myext="${myext},p3p"
- fi
- if [ -n "`use mozinterfaceinfo`" ] ; then
- myext="${myext},interfaceinfo"
- fi
-
- if [ -n "`use mozsvg`" ] ; then
- export MOZ_INTERNAL_LIBART_LGPL="1"
- myconf="${myconf} --enable-svg"
- else
- myconf="${myconf} --disable-svg"
- fi
-
- if [ -n "`use moznomail`" ] || \
- [ "${NO_MAIL}" = "YES" ] || [ "${NO_MAIL}" = "yes" ]
- then
- myconf="${myconf} --disable-mailnews"
- fi
-
- export BUILD_MODULES=all
- export BUILD_OPT=1
-
- # Currently gcc-3.1.1 dont work well if we specify "-march"
- # and other optimizations
- [ -z "${CC}" ] && CC=gcc
- if [ "`${CC} -dumpversion`" = "3.1.1" ] || \
- [ "`${CC} -dumpversion`" = "3.2" ]
- then
- export CFLAGS="${CFLAGS/pentium4/pentium3}"
- export CXXFLAGS="${CFLAGS/pentium4/pentium3}"
- fi
-
- # Crashes on start when compiled with -fomit-frame-pointer
- CFLAGS="${CFLAGS/-fomit-frame-pointer}"
- CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}"
-
- ./configure --prefix=/usr/lib/mozilla \
- --disable-pedantic \
- --enable-mathml \
- --without-system-nspr \
- --enable-nspr-autoconf \
- --with-system-zlib \
- --enable-ipv6 \
- --enable-xsl \
- --enable-crypto \
- --enable-detect-webshell-leaks \
- --enable-xinerama \
- --with-java-supplement \
- --with-pthreads \
- --with-extensions="${myext}" \
- --enable-optimize="-Wno-deprecated -O2" \
- --with-default-mozilla-five-home=/usr/lib/mozilla \
- ${myconf} || die
-
- edit_makefiles
-
- make || die
-
- # Build the NSS/SSL support
- if [ "`use ssl`" ] ; then
- 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
-
- make || die
-
- cd ${S}/security/nss
-
- make moz_import || die
- make || die
- cd ${S}
- fi
-}
-
-src_install() {
-
- # 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
-
- # Build the Release Tarball
- cd ${S}/xpinstall/packager
- make || die
- dodir /usr/lib
-
- TODO=""
- case ${ARCH} in
- ppc)
- TODO="${S}/dist/mozilla-powerpc-unknown-linux-gnu.tar.gz"
- ;;
- x86)
- TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz"
- ;;
- sparc)
- ;;
- arm)
- ;;
- *)
- TODO="${S}/dist/mozilla-`uname -m`-pc-linux-gnu.tar.gz"
- ;;
- esac
-
- tar xzf ${TODO} -C ${D}/usr/lib
-
- # 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
- # Install the headers ('make install' do not work for headers ...)
- insinto /usr/lib/mozilla/include/nss
- doins ${S}/dist/public/seccmd/*.h
- doins ${S}/dist/public/security/*.h
-
- cd ${S}/security/nss
-
- mkdir -p ${WORKDIR}/nss/{bin,lib}
- 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}
- exeinto /usr/bin
- newexe ${FILESDIR}/mozilla.sh mozilla
- insinto /etc/env.d
- doins ${FILESDIR}/10mozilla
- dodoc LEGAL LICENSE README/mozilla/README*
-
- # Move plugins dir
- src_mv_plugins usr/lib/mozilla/plugins
-
- # 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
- cp mozilla.desktop mozilla.desktop.orig
- sed -e 's:Comment=Mozilla:Comment=Mozilla Web Browser:' \
- mozilla.desktop.orig >mozilla.desktop
- cd ${S}
- insinto /usr/share/gnome/apps/Internet
- doins ${S}/build/package/rpm/SOURCES/mozilla.desktop
- fi
-
- if [ -n "${MOZ_ENABLE_XFT}" ] ; then
- cd ${D}/usr/lib/mozilla/defaults/pref
- patch -p0 <${FILESDIR}/mozilla-xft-unix-prefs.patch || \
- die "failed unix prefs patch"
- fi
-
- # Take care of non root execution
- # (seems the problem is that not all files are readible by the user)
- chmod -R g+r,o+r ${D}/usr/lib/mozilla
-}
-
-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/components ]
- then
- rm -rf ${ROOT}/usr/lib/mozilla/chrome
- fi
-
- # Move old plugins dir
- pkg_mv_plugins /usr/lib/mozilla/plugins
-}
-
-pkg_postinst() {
-
- export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla"
-
- # Make symlink for Java plugin (do not do in src_install(), else it only
- # gets installed every second time)
- if [ "`use java`" ] && [ ! -L ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla` ]
- then
- if [ -e `java-config --full-browser-plugin-path=mozilla` ]
- then
- ln -sf `java-config --full-browser-plugin-path=mozilla` \
- ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla`
- fi
- fi
-
- # Take care of component registration
-
- # Remove any stale component.reg
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ] ; then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- # Tempory fix for missing libtimer_gtk.so
- # If it exists when generating component.reg (before unmerge of old),
- # it 'corrupts' the newly generated component.reg with invalid references.
- if [ -e ${MOZILLA_FIVE_HOME}/components/libtimer_gtk.so ] ; then
- rm -f ${MOZILLA_FIVE_HOME}/components/libtimer_gtk.so
- fi
-
- # Needed to update the run time bindings for REGXPCOM
- # (do not remove next line!)
- env-update
- # Register components, setup Chrome .rdf files and fix file permissions
- umask 022
- ${MOZILLA_FIVE_HOME}/regxpcom
- chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg
- # Setup the default skin and locale to correctly generate the Chrome .rdf files
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- echo "skin,install,select,classic/1.0" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- echo "locale,install,select,en-US" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- ${MOZILLA_FIVE_HOME}/regchrome
- find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; || :
-
-
- 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 [ -e ${MOZILLA_FIVE_HOME}/component.reg ] ; then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- ${MOZILLA_FIVE_HOME}/regxpcom
- chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg
-
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- ${MOZILLA_FIVE_HOME}/regchrome
- find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; || :
- fi
-}
-
diff --git a/net-www/mozilla/mozilla-1.2.1-r1.ebuild b/net-www/mozilla/mozilla-1.2.1-r1.ebuild
deleted file mode 100644
index a446a945360a..000000000000
--- a/net-www/mozilla/mozilla-1.2.1-r1.ebuild
+++ /dev/null
@@ -1,691 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.2.1-r1.ebuild,v 1.5 2002/12/15 15:38:07 mholzer Exp $
-
-IUSE="java crypt ipv6 gtk2 ssl ldap gnome"
-# Internal USE flags that I do not really want to advertise ...
-IUSE="${IUSE} mozsvg mozcalendar mozaccess mozinterfaceinfo mozp3p mozxmlterm"
-IUSE="${IUSE} moznoirc moznomail moznocompose moznoxft"
-
-inherit flag-o-matic gcc makeedit eutils nsplugins
-
-# Crashes on start when compiled with -fomit-frame-pointer
-filter-flags "-fomit-frame-pointer"
-
-# 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
-
-EMVER="0.71.0"
-IPCVER="1.0.1"
-
-FCVER="2.0"
-
-PATCH_VER="1.0"
-
-# handle _rc versions
-MY_PV1="${PV/_}"
-MY_PV2="${MY_PV1/eta}"
-S="${WORKDIR}/mozilla"
-FC_S="${WORKDIR}/fcpackage.${FCVER/\./_}/Xft"
-DESCRIPTION="The Mozilla Web Browser"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV2}/src/${PN}-source-${MY_PV2}.tar.bz2
- crypt? ( http://enigmail.mozdev.org/dload/src/enigmail-${EMVER}.tar.gz
- http://enigmail.mozdev.org/dload/src/ipc-${IPCVER}.tar.gz )
- http://fontconfig.org/release/fcpackage.${FCVER/\./_}.tar.gz"
-# mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2"
-HOMEPAGE="http://www.mozilla.org"
-
-KEYWORDS="~x86 ~ppc ~sparc ~alpha"
-SLOT="0"
-LICENSE="MPL-1.1 NPL-1.1"
-
-RDEPEND=">=x11-base/xfree-4.2.0-r11
- >=gnome-base/ORBit-0.5.10-r1
- >=dev-libs/libIDL-0.8.0
- >=sys-libs/zlib-1.1.4
- >=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.0.9 :
- =x11-libs/gtk+-1.2* )
- ( gtk2? >=dev-libs/glib-2.0.6 :
- =dev-libs/glib-1.2* )
- !gtk2? ( >=media-libs/fontconfig-2.0-r3 )
- java? ( virtual/jre )
- crypt? ( >=app-crypt/gnupg-1.2.1 )"
-
-DEPEND="${RDEPEND}
- virtual/x11
- dev-util/pkgconfig
- sys-devel/perl
- java? ( >=dev-java/java-config-0.2.0 )"
-
-
-moz_setup() {
-
- # Setup CC and CXX
- if [ -z "${CC}" ]
- then
- export CC="gcc"
- fi
- if [ -z "${CXX}" ]
- then
- if [ "$(gcc-major-version)" -eq "3" ]
- then
- export CXX="g++"
- else
- export CXX="gcc"
- fi
- fi
-
- #This should enable parallel builds, I hope
- if [ -f /proc/cpuinfo ]
- then
- # Set MAKEOPTS to have proper -j? option ..
- get_number_of_jobs
- export MAKE="emake"
- fi
-
- # 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}
-
- 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
- fi
-
- # A patch for mozilla to disregard the PLATFORM variable, which
- # can break compiles (has done for sparc64). See:
- # http://bugzilla.mozilla.org/show_bug.cgi?id=174143
- cd ${S}; epatch ${FILESDIR}/${PN}-1.0.1-platform.patch
-
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-default-plugin-less-annoying.patch.bz2
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-over-the-spot.patch.bz2
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-freetype.patch.bz2
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-wallet.patch.bz2
-
- # Pasting from another app to mozilla do not always work if data
- # to be pasted is larger than 4k:
- #
- # http://bugzilla.mozilla.org/show_bug.cgi?id=56219
- #
- # <azarah@gentoo.org> (30 Nov 2002)
-# Seem to cause lockups/segfaults - <azarah@gentoo.org> (8 Dec 2002)
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}-cutnpaste-limit-fix.patch.bz2
-
- if [ -z "`use gtk2`" ]
- then
- if [ -z "`use moznoxft`" ]
- then
- # Get mozilla to link to Xft2.0 that we install in tmp directory
- # <azarah@gentoo.org> (18 Nov 2002)
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-Xft-includes.patch.bz2
- fi
- else
- # Update Gtk+2 bits from CVS
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-gtk2.patch.bz2
- fi
-
- cd ${S}
- 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/
- fi
-
- cd ${FC_S}
- export WANT_AUTOCONF_2_5=1
- autoconf --force &> /dev/null
- unset WANT_AUTOCONF_2_5
-}
-
-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 [ "${DEBUGBUILD}" != "yes" ]
- then
- myconf="${myconf} --enable-strip-libs \
- --disable-debug \
- --disable-tests \
- --disable-dtd-debug \
- --enable-reorder \
- --enable-strip \
- --enable-elf-dynstr-gc \
- --enable-cpp-rtti"
-
- if [ -z "`use gtk2`" ]
- then
- myconf="${myconf} --disable-accessibility \
- --disable-logging"
- 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 support!"
- myconf="${myconf} --enable-xft"
- else
- ewarn "Building without Xft2.0 support!"
- myconf="${myconf} --disable-xft"
- fi
- else
- ewarn "Building without Xft2.0 support!"
- myconf="${myconf} --disable-xft"
- fi
- else
- einfo "Building with Xft2.0 support!"
- myconf="${myconf} --enable-xft"
- fi
- else
- myconf="${myconf} --disable-xft"
- 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 interfaceinfo datetime finger cview
- local myext="default"
- if [ -n "`use mozxmlterm`" ]
- then
- myext="${myext},xmlterm"
- fi
- if [ -n "`use mozaccess-builtin`" ]
- then
- myext="${myext},access-builtin"
- fi
- if [ -n "`use mozp3p`" ]
- then
- myext="${myext},p3p"
- fi
- if [ -n "`use mozinterfaceinfo`" ]
- then
- myext="${myext},interfaceinfo"
- 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
-# This puppy needs libical, which is not in portage yet. Also make mozilla
-# depend on swig, so not sure if its the best idea around to enable ...
-# if [ -n "`use mozcalendar`" ]
-# then
-# myconf="${myconf} --enable-calendar"
-# fi
-
- if [ -n "`use moznomail`" ]
- then
- myconf="${myconf} --disable-mailnews"
- fi
- if [ -n "`use moznocompose`" ]
- then
- myconf="${myconf} --disable-composer"
- fi
-
- if [ "$(gcc-major-version)" -eq "3" ]
- then
- # If CXX is not set, 'c++' is used to compile and not 'g++', which
- # could cause problems.
- if [ -z "${CC}" -o -z "${CXX}" ]
- then
- eerror "CC or CXX are not set. This may be due to pkg_setup() not"
- eerror "being run. Please file a bug report that include your portage"
- eerror "version, USE flags and CFLAGS."
- die "CC or CXX are not set!"
- fi
-
- # Currently gcc-3.2 or older do not work well if we specify "-march"
- # and other optimizations for pentium4.
- export CFLAGS="${CFLAGS/-march=pentium4/-march=pentium3}"
- export CXXFLAGS="${CXXFLAGS/-march=pentium4/-march=pentium3}"
-
- # 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
-
- # *********************************************************************
- #
- # Configure and build Xft2.0 and Xrender
- #
- # *********************************************************************
-
- if [ -z "`use gtk2`" -a -z "`use moznoxft`" ]
- then
- cd ${FC_S}
- einfo "Configuring Xft2.0..."
- mkdir -p ${WORKDIR}/Xft
- ./configure --prefix=${WORKDIR}/Xft || die
-
- einfo "Building Xft2.0..."
- emake || die
-
- einfo "Installing Xft2.0 in temp directory..."
- make prefix=${WORKDIR}/Xft \
- confdir=${WORKDIR}/Xft/etc/fonts \
- datadir=${WORKDIR}/Xft/share \
- install || die
-
- # We also need to update Xrender ..
- cd ${FC_S}/../Xrender
- einfo "Compiling Xrender..."
- xmkmf
- make
- cp -df Xrender.h extutil.h region.h render.h renderproto.h \
- ${WORKDIR}/Xft/include
- cp -df libXrender.so* ${WORKDIR}/Xft/lib
-
- # Where is Xft2.0 located ?
- export PKG_CONFIG_PATH="${WORKDIR}/Xft/lib/pkgconfig"
-
- export LDPATH="${WORKDIR}/Xft/lib:${LDPATH}"
- 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"
-
- cd ${S}
- einfo "Configuring Mozilla..."
- ./configure --prefix=/usr/lib/mozilla \
- --disable-pedantic \
- --disable-short-wchar \
- --without-mng \
- --disable-xprint \
- --enable-mathml \
- --without-system-nspr \
- --enable-nspr-autoconf \
- --with-system-zlib \
- --enable-xsl \
- --enable-crypto \
- --with-java-supplement \
- --with-pthreads \
- --enable-extensions="${myext}" \
- --enable-optimize="-O2" \
- --with-default-mozilla-five-home=/usr/lib/mozilla \
- ${myconf} || die
-
- edit_makefiles
- 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
-
- if [ -z "`use gtk2`" ]
- then
- einfo "Installing Xft2.0..."
- cp -df ${WORKDIR}/Xft/lib/libXft.so.* ${D}/usr/lib/mozilla
- cp -df ${WORKDIR}/Xft/lib/libXrender.so.* ${D}/usr/lib/mozilla
- fi
-
- 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
- doins ${S}/dist/public/nss/*.h
- doins ${S}/dist/public/seccmd/*.h
- 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*
-
- # Move plugins dir
- src_mv_plugins usr/lib/mozilla/plugins
-
- # 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/component.reg ]
- then
- rm -f ${ROOT}/usr/lib/component.reg
- fi
-
- # Move old plugins dir
- pkg_mv_plugins /usr/lib/mozilla/plugins
-}
-
-pkg_postinst() {
-
- export MOZILLA_FIVE_HOME="${ROOT}/usr/lib/mozilla"
-
- # Make symlink for Java plugin (do not do in src_install(), else it only
- # gets installed every second time)
- if [ "`use java`" -a "`gcc-major-version`" -ne "3" \
- -a ! -L ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla` ]
- then
- if [ -e `java-config --full-browser-plugin-path=mozilla` ]
- then
- ln -snf `java-config --full-browser-plugin-path=mozilla` \
- ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla`
- fi
- fi
-
- # Take care of component registration
-
- # Remove any stale component.reg
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- umask 022
-
- # Needed to update the run time bindings for REGXPCOM
- # (do not remove next line!)
- env-update
- # Register components, setup Chrome .rdf files and fix file permissions
- einfo "Registering Components and Chrome..."
- ${MOZILLA_FIVE_HOME}/regxpcom &> /dev/null
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- chmod 0644 ${MOZILLA_FIVE_HOME}/component.reg
- fi
- # Setup the default skin and locale to correctly generate the Chrome .rdf files
- rm -rf ${MOZILLA_FIVE_HOME}/chrome/overlayinfo
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- echo "skin,install,select,classic/1.0" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- echo "locale,install,select,en-US" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- ${MOZILLA_FIVE_HOME}/regchrome &> /dev/null
- 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 [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- ${MOZILLA_FIVE_HOME}/regxpcom
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- rm -rf ${MOZILLA_FIVE_HOME}/chrome/overlayinfo
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- ${MOZILLA_FIVE_HOME}/regchrome
- find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; || :
- fi
-}
-
diff --git a/net-www/mozilla/mozilla-1.2.1-r2.ebuild b/net-www/mozilla/mozilla-1.2.1-r2.ebuild
deleted file mode 100644
index 5a5c63f9d971..000000000000
--- a/net-www/mozilla/mozilla-1.2.1-r2.ebuild
+++ /dev/null
@@ -1,699 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.2.1-r2.ebuild,v 1.4 2002/12/15 15:38:07 mholzer Exp $
-
-IUSE="java crypt ipv6 gtk2 ssl ldap gnome"
-# Internal USE flags that I do not really want to advertise ...
-IUSE="${IUSE} mozsvg mozcalendar mozaccess mozinterfaceinfo mozp3p mozxmlterm"
-IUSE="${IUSE} moznoirc moznomail moznocompose moznoxft"
-
-inherit flag-o-matic gcc makeedit eutils nsplugins
-
-# Crashes on start when compiled with -fomit-frame-pointer
-filter-flags "-fomit-frame-pointer"
-
-# 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
-
-EMVER="0.71.0"
-IPCVER="1.0.1"
-
-FCVER="2.1"
-
-PATCH_VER="1.0"
-
-# handle _rc versions
-MY_PV1="${PV/_}"
-MY_PV2="${MY_PV1/eta}"
-S="${WORKDIR}/mozilla"
-FC_S="${WORKDIR}/fcpackage.${FCVER/\./_}/Xft"
-DESCRIPTION="The Mozilla Web Browser"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV2}/src/${PN}-source-${MY_PV2}.tar.bz2
- crypt? ( http://enigmail.mozdev.org/dload/src/enigmail-${EMVER}.tar.gz
- http://enigmail.mozdev.org/dload/src/ipc-${IPCVER}.tar.gz )
- http://fontconfig.org/release/fcpackage.${FCVER/\./_}.tar.gz"
-# mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2"
-HOMEPAGE="http://www.mozilla.org"
-
-KEYWORDS="~x86 ~ppc ~sparc ~alpha"
-SLOT="0"
-LICENSE="MPL-1.1 NPL-1.1"
-
-RDEPEND=">=x11-base/xfree-4.2.0-r11
- >=gnome-base/ORBit-0.5.10-r1
- >=dev-libs/libIDL-0.8.0
- >=sys-libs/zlib-1.1.4
- >=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.0.8 :
- =x11-libs/gtk+-1.2* )
- ( gtk2? >=dev-libs/glib-2.0.6 :
- =dev-libs/glib-1.2* )
- !gtk2? ( >=media-libs/fontconfig-2.1 )
- java? ( virtual/jre )
- crypt? ( >=app-crypt/gnupg-1.2.1 )"
-
-DEPEND="${RDEPEND}
- virtual/x11
- dev-util/pkgconfig
- sys-devel/perl
- java? ( >=dev-java/java-config-0.2.0 )"
-
-
-moz_setup() {
-
- # Setup CC and CXX
- if [ -z "${CC}" ]
- then
- export CC="gcc"
- fi
- if [ -z "${CXX}" ]
- then
- if [ "$(gcc-major-version)" -eq "3" ]
- then
- export CXX="g++"
- else
- export CXX="gcc"
- fi
- fi
-
- #This should enable parallel builds, I hope
- if [ -f /proc/cpuinfo ]
- then
- # Set MAKEOPTS to have proper -j? option ..
- get_number_of_jobs
- export MAKE="emake"
- fi
-
- # 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}
-
- 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
- fi
-
- # A patch for mozilla to disregard the PLATFORM variable, which
- # can break compiles (has done for sparc64). See:
- # http://bugzilla.mozilla.org/show_bug.cgi?id=174143
- cd ${S}; epatch ${FILESDIR}/${PN}-1.0.1-platform.patch
-
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-default-plugin-less-annoying.patch.bz2
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-over-the-spot.patch.bz2
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-freetype.patch.bz2
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-wallet.patch.bz2
-
- # Pasting from another app to mozilla do not always work if data
- # to be pasted is larger than 4k:
- #
- # http://bugzilla.mozilla.org/show_bug.cgi?id=56219
- #
- # <azarah@gentoo.org> (30 Nov 2002)
-# Seem to cause lockups/segfaults - <azarah@gentoo.org> (8 Dec 2002)
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}-cutnpaste-limit-fix.patch.bz2
-
- if [ -z "`use gtk2`" ]
- then
- if [ -z "`use moznoxft`" ]
- then
- # Get mozilla to link to Xft2.0 that we install in tmp directory
- # <azarah@gentoo.org> (18 Nov 2002)
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-Xft-includes.patch.bz2
- fi
- else
- # Update Gtk+2 bits from CVS
- epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-gtk2.patch.bz2
- fi
-
- cd ${S}
- 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/
- fi
-
- cd ${FC_S}
- export WANT_AUTOCONF_2_5=1
- autoconf --force &> /dev/null
- unset WANT_AUTOCONF_2_5
-}
-
-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 [ "${DEBUGBUILD}" != "yes" ]
- then
- myconf="${myconf} --enable-strip-libs \
- --disable-debug \
- --disable-tests \
- --disable-dtd-debug \
- --enable-reorder \
- --enable-strip \
- --enable-elf-dynstr-gc \
- --enable-cpp-rtti"
-
- if [ -z "`use gtk2`" ]
- then
- myconf="${myconf} --disable-accessibility \
- --disable-logging"
- 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 support!"
- myconf="${myconf} --enable-xft"
- else
- ewarn "Building without Xft2.0 support!"
- myconf="${myconf} --disable-xft"
- fi
- else
- ewarn "Building without Xft2.0 support!"
- myconf="${myconf} --disable-xft"
- fi
- else
- einfo "Building with Xft2.0 support!"
- myconf="${myconf} --enable-xft"
- fi
- else
- myconf="${myconf} --disable-xft"
- 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 interfaceinfo datetime finger cview
- local myext="default"
- if [ -n "`use mozxmlterm`" ]
- then
- myext="${myext},xmlterm"
- fi
- if [ -n "`use mozaccess-builtin`" ]
- then
- myext="${myext},access-builtin"
- fi
- if [ -n "`use mozp3p`" ]
- then
- myext="${myext},p3p"
- fi
- if [ -n "`use mozinterfaceinfo`" ]
- then
- myext="${myext},interfaceinfo"
- 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
-# This puppy needs libical, which is not in portage yet. Also make mozilla
-# depend on swig, so not sure if its the best idea around to enable ...
-# if [ -n "`use mozcalendar`" ]
-# then
-# myconf="${myconf} --enable-calendar"
-# fi
-
- if [ -n "`use moznomail`" ]
- then
- myconf="${myconf} --disable-mailnews"
- fi
- if [ -n "`use moznocompose`" ]
- 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.
- export CFLAGS="${CFLAGS/-march=pentium4/-march=pentium3}"
- export CXXFLAGS="${CXXFLAGS/-march=pentium4/-march=pentium3}"
-
- # 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
-
- # *********************************************************************
- #
- # Configure and build Xft2.0 and Xrender
- #
- # *********************************************************************
-
- if [ -z "`use gtk2`" -a -z "`use moznoxft`" ]
- then
- mkdir -p ${WORKDIR}/Xft/{include,lib}
-
- # We need to update Xrender ..
- cd ${FC_S}/../Xrender
- einfo "Compiling Xrender..."
- xmkmf
- # Use install as libXrender_moz.so so that it do not conflict with
- # system wide libs ...
- make LIBNAME="Xrender_moz"
- cp -df Xrender.h extutil.h region.h render.h renderproto.h \
- ${WORKDIR}/Xft/include
- cp -df libXrender_moz.so* ${WORKDIR}/Xft/lib
- cd ${WORKDIR}/Xft/lib
- # Create the libXrender.so to our _moz version so that Xft will
- # link to the correct library ...
- ln -snf libXrender_moz.so.? libXrender.so
-
- einfo "Configuring Xft2.0..."
- cd ${FC_S}
- ./configure --prefix=${WORKDIR}/Xft \
- --sysconfdir=/etc \
- --x-includes=${WORKDIR}/Xft/include \
- --x-libraries=${WORKDIR}/Xft/lib || die
-
- einfo "Building Xft2.0..."
- # Use install as libXft_moz.so so that it do not conflict with
- # system wide libs ...
- emake LIBBASE="libXft_moz.so" || die
-
- einfo "Installing Xft2.0 in temp directory..."
- make prefix=${WORKDIR}/Xft \
- confdir=${WORKDIR}/Xft/etc/fonts \
- datadir=${WORKDIR}/Xft/share \
- LIBBASE="libXft_moz.so" \
- install || die
- cd ${WORKDIR}/Xft/lib
- ln -snf libXft_moz.so.? libXft.so
-
- # Where is Xft2.0 located ?
- export PKG_CONFIG_PATH="${WORKDIR}/Xft/lib/pkgconfig"
-
- export LDPATH="${WORKDIR}/Xft/lib:${LDPATH}"
- 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"
-
- cd ${S}
- einfo "Configuring Mozilla..."
- ./configure --prefix=/usr/lib/mozilla \
- --disable-pedantic \
- --disable-short-wchar \
- --without-mng \
- --disable-xprint \
- --enable-mathml \
- --without-system-nspr \
- --enable-nspr-autoconf \
- --with-system-zlib \
- --enable-xsl \
- --enable-crypto \
- --with-java-supplement \
- --with-pthreads \
- --enable-extensions="${myext}" \
- --enable-optimize="-O2" \
- --with-default-mozilla-five-home=/usr/lib/mozilla \
- ${myconf} || die
-
- edit_makefiles
- 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
-
- if [ -z "`use gtk2`" ]
- then
- einfo "Installing Xft2.0..."
- cp -df ${WORKDIR}/Xft/lib/libXft_moz.so.* ${D}/usr/lib/mozilla
- cp -df ${WORKDIR}/Xft/lib/libXrender_moz.so.* ${D}/usr/lib/mozilla
- fi
-
- 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*
-
- # Move plugins dir
- src_mv_plugins usr/lib/mozilla/plugins
-
- # 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/component.reg ]
- then
- rm -f ${ROOT}/usr/lib/component.reg
- 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"
-
- # Make symlink for Java plugin (do not do in src_install(), else it only
- # gets installed every second time)
- if [ "`use java`" -a "`gcc-major-version`" -ne "3" \
- -a ! -L ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla` ]
- then
- if [ -e `java-config --full-browser-plugin-path=mozilla` ]
- then
- ln -snf `java-config --full-browser-plugin-path=mozilla` \
- ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla`
- fi
- fi
-
- # Take care of component registration
-
- # Remove any stale component.reg
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- umask 022
-
- # Needed to update the run time bindings for REGXPCOM
- # (do not remove next line!)
- env-update
- # Register components, setup Chrome .rdf files and fix file permissions
- einfo "Registering Components and Chrome..."
- ${MOZILLA_FIVE_HOME}/regxpcom &> /dev/null
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- chmod 0644 ${MOZILLA_FIVE_HOME}/component.reg
- fi
- # Setup the default skin and locale to correctly generate the Chrome .rdf files
- rm -rf ${MOZILLA_FIVE_HOME}/chrome/overlayinfo
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- echo "skin,install,select,classic/1.0" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- echo "locale,install,select,en-US" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- ${MOZILLA_FIVE_HOME}/regchrome &> /dev/null
- 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 [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- ${MOZILLA_FIVE_HOME}/regxpcom
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- rm -rf ${MOZILLA_FIVE_HOME}/chrome/overlayinfo
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- ${MOZILLA_FIVE_HOME}/regchrome
- find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; || :
- fi
-}
-
diff --git a/net-www/mozilla/mozilla-1.2.1-r3.ebuild b/net-www/mozilla/mozilla-1.2.1-r5.ebuild
index 2661d0e23fb4..86d0e0e6b8bf 100644
--- a/net-www/mozilla/mozilla-1.2.1-r3.ebuild
+++ b/net-www/mozilla/mozilla-1.2.1-r5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.2.1-r3.ebuild,v 1.7 2002/12/26 01:41:34 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.2.1-r5.ebuild,v 1.1 2003/01/19 14:28:54 azarah Exp $
IUSE="java crypt ipv6 gtk2 ssl ldap gnome"
# Internal USE flags that I do not really want to advertise ...
@@ -12,6 +12,10 @@ inherit flag-o-matic gcc makeedit eutils nsplugins
# Crashes on start when compiled with -fomit-frame-pointer
filter-flags "-fomit-frame-pointer"
+# Sparc support ...
+replace-flags "-mcpu=ultrasparc" "-mcpu=v8 -mtune=v9"
+replace-flags "-mcpu=v9" "-mcpu=v8 -mtune=v9"
+
# 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
@@ -34,6 +38,11 @@ filter-flags "-fomit-frame-pointer"
# <azarah@gentoo.org> (13 Oct 2002)
strip-flags
+# We set -O in ./configure to -O1, as -O2 cause crashes on startup ...
+# (bug #13287)
+export CFLAGS="${CFLAGS//-O?}"
+export CXXFLAGS="${CFLAGS//-O?}"
+
EMVER="0.71.0"
IPCVER="1.0.1"
@@ -54,7 +63,7 @@ SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV2}/src/${PN}-sou
# mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2"
HOMEPAGE="http://www.mozilla.org"
-KEYWORDS="~x86 ~ppc ~sparc ~alpha"
+KEYWORDS="x86 ~ppc ~sparc ~alpha"
SLOT="0"
LICENSE="MPL-1.1 NPL-1.1"
@@ -179,6 +188,14 @@ src_unpack() {
# Seem to cause lockups/segfaults - <azarah@gentoo.org> (8 Dec 2002)
# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}-cutnpaste-limit-fix.patch.bz2
+ # Fix a memory leak when reloading images:
+ #
+ # http://bugs.gentoo.org/show_bug.cgi?id=13667
+ # http://bugzilla.mozilla.org/show_bug.cgi?id=179498
+ #
+ # <azarah@gentoo.org> (19 Jan 2003)
+ epatch ${FILESDIR}/${PV%\.*}/${P%\.*}-image-reload-memleak.patch
+
if [ -z "`use gtk2`" ]
then
if [ -z "`use moznoxft`" ]
@@ -457,7 +474,7 @@ src_compile() {
--with-java-supplement \
--with-pthreads \
--enable-extensions="${myext}" \
- --enable-optimize="-O2" \
+ --enable-optimize="-O1" \
--with-default-mozilla-five-home=/usr/lib/mozilla \
${myconf} || die
@@ -734,3 +751,6 @@ pkg_postrm() {
fi
}
+# Sparc support ...
+replace-flags "-mcpu=ultrasparc" "-mcpu=v8"
+replace-flags "-mcpu=v9" "-mcpu=v8"
diff --git a/net-www/mozilla/mozilla-1.3a.ebuild b/net-www/mozilla/mozilla-1.3a.ebuild
deleted file mode 100644
index 87ce009ce7f3..000000000000
--- a/net-www/mozilla/mozilla-1.3a.ebuild
+++ /dev/null
@@ -1,711 +0,0 @@
-# Copyright 1999-2002 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/mozilla-1.3a.ebuild,v 1.1 2003/01/10 13:35:34 mjc Exp $
-
-IUSE="java crypt ipv6 gtk2 ssl ldap gnome"
-# Internal USE flags that I do not really want to advertise ...
-IUSE="${IUSE} mozsvg mozcalendar mozaccess mozinterfaceinfo mozp3p mozxmlterm"
-IUSE="${IUSE} moznoirc moznomail moznocompose moznoxft"
-
-inherit flag-o-matic gcc makeedit eutils nsplugins
-
-# Crashes on start when compiled with -fomit-frame-pointer
-#filter-flags "-fomit-frame-pointer"
-
-# 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
-
-EMVER="0.71.0"
-IPCVER="1.0.1"
-
-FCVER="2.1"
-
-PATCH_VER="1.0"
-
-# handle _rc versions
-MY_PV1="${PV/_}"
-MY_PV2="${MY_PV1/eta}"
-S="${WORKDIR}/mozilla"
-FC_S="${WORKDIR}/fcpackage.${FCVER/\./_}/Xft"
-DESCRIPTION="The Mozilla Web Browser"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/releases/${PN}${MY_PV2}/src/${PN}-source-${MY_PV2}.tar.gz
- crypt? ( http://enigmail.mozdev.org/dload/src/enigmail-${EMVER}.tar.gz
- http://enigmail.mozdev.org/dload/src/ipc-${IPCVER}.tar.gz )
- http://fontconfig.org/release/fcpackage.${FCVER/\./_}.tar.gz"
-# mirror://gentoo/${P}-patches-${PATCH_VER}.tar.bz2"
-HOMEPAGE="http://www.mozilla.org"
-
-KEYWORDS="~x86 ~ppc ~sparc ~alpha"
-SLOT="0"
-LICENSE="MPL-1.1 NPL-1.1"
-
-RDEPEND=">=x11-base/xfree-4.2.0-r11
- >=gnome-base/ORBit-0.5.10-r1
- >=dev-libs/libIDL-0.8.0
- >=sys-libs/zlib-1.1.4
- >=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.0.8 :
- =x11-libs/gtk+-1.2* )
- ( gtk2? >=dev-libs/glib-2.0.6 :
- =dev-libs/glib-1.2* )
- !gtk2? ( >=media-libs/fontconfig-2.1 )
- java? ( virtual/jre )
- crypt? ( >=app-crypt/gnupg-1.2.1 )"
-
-DEPEND="${RDEPEND}
- virtual/x11
- dev-util/pkgconfig
- sys-devel/perl
- java? ( >=dev-java/java-config-0.2.0 )"
-
-
-moz_setup() {
-
- # Setup CC and CXX
- if [ -z "${CC}" ]
- then
- export CC="gcc"
- fi
- if [ -z "${CXX}" ]
- then
- if [ "$(gcc-major-version)" -eq "3" ]
- then
- export CXX="g++"
- else
- export CXX="gcc"
- fi
- fi
-
- #This should enable parallel builds, I hope
- if [ -f /proc/cpuinfo ]
- then
- # Set MAKEOPTS to have proper -j? option ..
- get_number_of_jobs
- export MAKE="emake"
- fi
-
- # 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}
-
-# 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
-# fi
-
- # A patch for mozilla to disregard the PLATFORM variable, which
- # can break compiles (has done for sparc64). See:
- # http://bugzilla.mozilla.org/show_bug.cgi?id=174143
-# cd ${S}; epatch ${FILESDIR}/${PN}-1.0.1-platform.patch
-
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-default-plugin-less-annoying.patch.bz2
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-over-the-spot.patch.bz2
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-freetype.patch.bz2
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-wallet.patch.bz2
-
- # Pasting from another app to mozilla do not always work if data
- # to be pasted is larger than 4k:
- #
- # http://bugzilla.mozilla.org/show_bug.cgi?id=56219
- #
- # <azarah@gentoo.org> (30 Nov 2002)
-# Seem to cause lockups/segfaults - <azarah@gentoo.org> (8 Dec 2002)
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}-cutnpaste-limit-fix.patch.bz2
-
-# if [ -z "`use gtk2`" ]
-# then
-# if [ -z "`use moznoxft`" ]
-# then
-# # Get mozilla to link to Xft2.0 that we install in tmp directory
-# # <azarah@gentoo.org> (18 Nov 2002)
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-Xft-includes.patch.bz2
-#
-# # Fix include problem in Xrender if the updated one is not installed
-# # system wide ... bug #12223.
-# cd ${FC_S}/../Xrender
-# epatch ${FILESDIR}/${PV%\.*}/${P}-Xrender-includes.patch.bz2
-# cd ${S}
-# fi
-# else
-# # Update Gtk+2 bits from CVS
-# epatch ${FILESDIR}/${PV%\.*}/${P%\.*}b-gtk2.patch.bz2
-# fi
-
- cd ${S}
- 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/
- fi
-
- cd ${FC_S}
- export WANT_AUTOCONF_2_5=1
- autoconf --force &> /dev/null
- unset WANT_AUTOCONF_2_5
-}
-
-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 [ "${DEBUGBUILD}" != "yes" ]
- then
- myconf="${myconf} --enable-strip-libs \
- --disable-debug \
- --disable-tests \
- --disable-dtd-debug \
- --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
-
- if [ -z "`use gtk2`" ]
- then
- myconf="${myconf} --disable-accessibility \
- --disable-logging"
- 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 support!"
- myconf="${myconf} --enable-xft"
- else
- ewarn "Building without Xft2.0 support!"
- myconf="${myconf} --disable-xft"
- fi
- else
- ewarn "Building without Xft2.0 support!"
- myconf="${myconf} --disable-xft"
- fi
- else
- einfo "Building with Xft2.0 support!"
- myconf="${myconf} --enable-xft"
- fi
- else
- myconf="${myconf} --disable-xft"
- 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 interfaceinfo datetime finger cview
- local myext="default"
- if [ -n "`use mozxmlterm`" ]
- then
- myext="${myext},xmlterm"
- fi
- if [ -n "`use mozaccess-builtin`" ]
- then
- myext="${myext},access-builtin"
- fi
- if [ -n "`use mozp3p`" ]
- then
- myext="${myext},p3p"
- fi
- if [ -n "`use mozinterfaceinfo`" ]
- then
- myext="${myext},interfaceinfo"
- 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
-# This puppy needs libical, which is not in portage yet. Also make mozilla
-# depend on swig, so not sure if its the best idea around to enable ...
-# if [ -n "`use mozcalendar`" ]
-# then
-# myconf="${myconf} --enable-calendar"
-# fi
-
- if [ -n "`use moznomail`" ]
- then
- myconf="${myconf} --disable-mailnews"
- fi
- if [ -n "`use moznocompose`" ]
- 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.
- export CFLAGS="${CFLAGS/-march=pentium4/-march=pentium3}"
- export CXXFLAGS="${CXXFLAGS/-march=pentium4/-march=pentium3}"
-
- # 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
-
- # *********************************************************************
- #
- # Configure and build Xft2.0 and Xrender
- #
- # *********************************************************************
-
- if [ -z "`use gtk2`" -a -z "`use moznoxft`" ]
- then
- mkdir -p ${WORKDIR}/Xft/{include/X11/extensions,lib}
-
- # We need to update Xrender ..
- cd ${FC_S}/../Xrender
- einfo "Compiling Xrender..."
- xmkmf
- # Use install as libXrender_moz.so so that it do not conflict with
- # system wide libs ...
- make LIBNAME="Xrender_moz"
- cp -df Xrender.h extutil.h region.h render.h renderproto.h \
- ${WORKDIR}/Xft/include/X11/extensions
- cp -df libXrender_moz.so* ${WORKDIR}/Xft/lib
- cd ${WORKDIR}/Xft/lib
- # Create the libXrender.so to our _moz version so that Xft will
- # link to the correct library ...
- ln -snf libXrender_moz.so.? libXrender.so
-
- einfo "Configuring Xft2.0..."
- cd ${FC_S}
- ./configure --prefix=${WORKDIR}/Xft \
- --sysconfdir=/etc \
- --x-includes=${WORKDIR}/Xft/include \
- --x-libraries=${WORKDIR}/Xft/lib || die
-
- einfo "Building Xft2.0..."
- # Use install as libXft_moz.so so that it do not conflict with
- # system wide libs ...
- emake LIBBASE="libXft_moz.so" || die
-
- einfo "Installing Xft2.0 in temp directory..."
- make prefix=${WORKDIR}/Xft \
- confdir=${WORKDIR}/Xft/etc/fonts \
- datadir=${WORKDIR}/Xft/share \
- LIBBASE="libXft_moz.so" \
- install || die
- cd ${WORKDIR}/Xft/lib
- ln -snf libXft_moz.so.? libXft.so
-
- # Where is Xft2.0 located ?
- export PKG_CONFIG_PATH="${WORKDIR}/Xft/lib/pkgconfig"
-
- export LDPATH="${WORKDIR}/Xft/lib:${LDPATH}"
- 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"
-
- cd ${S}
- einfo "Configuring Mozilla..."
- ./configure --prefix=/usr/lib/mozilla \
- --disable-pedantic \
- --disable-short-wchar \
- --without-mng \
- --disable-xprint \
- --enable-mathml \
- --without-system-nspr \
- --enable-nspr-autoconf \
- --with-system-zlib \
- --enable-xsl \
- --enable-crypto \
- --with-java-supplement \
- --with-pthreads \
- --enable-extensions="${myext}" \
- --enable-optimize="-O2" \
- --with-default-mozilla-five-home=/usr/lib/mozilla \
- ${myconf} || die
-
- edit_makefiles
- 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
-
- if [ -z "`use gtk2`" ]
- then
- einfo "Installing Xft2.0..."
- cp -df ${WORKDIR}/Xft/lib/libXft_moz.so.* ${D}/usr/lib/mozilla
- cp -df ${WORKDIR}/Xft/lib/libXrender_moz.so.* ${D}/usr/lib/mozilla
- fi
-
- 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*
-
- # Move plugins dir
- src_mv_plugins usr/lib/mozilla/plugins
-
- # 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/component.reg ]
- then
- rm -f ${ROOT}/usr/lib/component.reg
- 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"
-
- # Make symlink for Java plugin (do not do in src_install(), else it only
- # gets installed every second time)
- if [ "`use java`" -a "`gcc-major-version`" -ne "3" \
- -a ! -L ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla` ]
- then
- if [ -e `java-config --full-browser-plugin-path=mozilla` ]
- then
- ln -snf `java-config --full-browser-plugin-path=mozilla` \
- ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla`
- fi
- fi
-
- # Take care of component registration
-
- # Remove any stale component.reg
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- umask 022
-
- # Needed to update the run time bindings for REGXPCOM
- # (do not remove next line!)
- env-update
- # Register components, setup Chrome .rdf files and fix file permissions
- einfo "Registering Components and Chrome..."
- ${MOZILLA_FIVE_HOME}/regxpcom &> /dev/null
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- chmod 0644 ${MOZILLA_FIVE_HOME}/component.reg
- fi
- # Setup the default skin and locale to correctly generate the Chrome .rdf files
- rm -rf ${MOZILLA_FIVE_HOME}/chrome/overlayinfo
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- echo "skin,install,select,classic/1.0" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- echo "locale,install,select,en-US" >> \
- ${MOZILLA_FIVE_HOME}/chrome/installed-chrome.txt
- ${MOZILLA_FIVE_HOME}/regchrome &> /dev/null
- 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 [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- rm -f ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- ${MOZILLA_FIVE_HOME}/regxpcom
- if [ -e ${MOZILLA_FIVE_HOME}/component.reg ]
- then
- chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg
- fi
-
- rm -rf ${MOZILLA_FIVE_HOME}/chrome/overlayinfo
- find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec rm -f {} \; || :
- ${MOZILLA_FIVE_HOME}/regchrome
- find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; || :
- fi
-}
-