summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2002-10-19 12:41:49 +0000
committerMartin Schlemmer <azarah@gentoo.org>2002-10-19 12:41:49 +0000
commit2ecf09efea8dc2baf0066ae807faff9b28b15bda (patch)
treeba35723d863a60645556ef5ab745ec5e055fafec /net-www/mozilla
parentadded =dev-java/jikes-1.16 (diff)
downloadgentoo-2-2ecf09efea8dc2baf0066ae807faff9b28b15bda.tar.gz
gentoo-2-2ecf09efea8dc2baf0066ae807faff9b28b15bda.tar.bz2
gentoo-2-2ecf09efea8dc2baf0066ae807faff9b28b15bda.zip
add abi-compat patch
Diffstat (limited to 'net-www/mozilla')
-rw-r--r--net-www/mozilla/ChangeLog7
-rw-r--r--net-www/mozilla/files/digest-mozilla-1.0.1-r23
-rw-r--r--net-www/mozilla/mozilla-1.0.1-r2.ebuild487
3 files changed, 496 insertions, 1 deletions
diff --git a/net-www/mozilla/ChangeLog b/net-www/mozilla/ChangeLog
index b4c1eb949c17..79fd0a1ff5b3 100644
--- a/net-www/mozilla/ChangeLog
+++ b/net-www/mozilla/ChangeLog
@@ -1,6 +1,11 @@
# 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.42 2002/10/18 22:43:05 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.43 2002/10/19 12:41:49 azarah Exp $
+
+*mozilla-1.0.1-r2 (19 Oct 2002)
+
+ 19 Oct 2002; Martin Schlemmer <azarah@gentoo.org> :
+ Add the abi-compat patch back, thanks to Tony Clark.
18 Oct 2002; Seemant Kulleen <seemant@gentoo.org> :
Add an ABI fix for sparc/sparc64 gcc-3.x based systems.
diff --git a/net-www/mozilla/files/digest-mozilla-1.0.1-r2 b/net-www/mozilla/files/digest-mozilla-1.0.1-r2
new file mode 100644
index 000000000000..7e16a39c7700
--- /dev/null
+++ b/net-www/mozilla/files/digest-mozilla-1.0.1-r2
@@ -0,0 +1,3 @@
+MD5 8a4b5be862c3a0c33a86adf3a3a67c09 mozilla-source-1.0.1.tar.bz2 29943174
+MD5 946afa0c6fc91918fb3adc021c8471ae enigmail-0.63.3.tar.gz 134642
+MD5 a3cea7d2efa70fe9ce2066cf2fa6cf9d ipc-0.99.63.tar.gz 57214
diff --git a/net-www/mozilla/mozilla-1.0.1-r2.ebuild b/net-www/mozilla/mozilla-1.0.1-r2.ebuild
new file mode 100644
index 000000000000..2c25914e7f3f
--- /dev/null
+++ b/net-www/mozilla/mozilla-1.0.1-r2.ebuild
@@ -0,0 +1,487 @@
+# 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.1-r2.ebuild,v 1.1 2002/10/19 12:41:49 azarah Exp $
+
+IUSE="mozxmlterm moznomail java mozp3p crypt ipv6 gtk2 mozinterfaceinfo ssl ldap mozaccess mozctl gnome mozsvg"
+
+# NOTE: to build without the mail and news component: export NO_MAIL="YES"
+inherit flag-o-matic gcc makeedit
+
+# Crashes on start when compiled with -fomit-frame-pointer
+filter-flags "-fomit-frame-pointer"
+
+EMVER="0.63.3"
+IPCVER="0.99.63"
+
+# 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/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 )"
+HOMEPAGE="http://www.mozilla.org"
+
+KEYWORDS="x86 ppc sparc sparc64 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
+ >=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 )"
+
+DEPEND="${RDEPEND}
+ virtual/x11
+ sys-devel/perl
+ java? ( >=dev-java/java-config-0.2.0 )"
+
+# needed by src_compile() and src_install()
+export MOZILLA_OFFICIAL=1
+export BUILD_OFFICIAL=1
+
+# enable XFT
+[ "${DISABLE_XFT}" != "1" ] && export MOZ_ENABLE_XFT=1
+
+# 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}
+
+ cd ${S}
+
+ # Fix a ownership porblem
+ chown -R root.root *
+
+ if [ "$(gcc-version)" != "2.95" ] ; then
+ # Fix bogus asm (from Mandrake .spec)
+ patch -p1 < ${FILESDIR}/mozilla-1.0-asmfixes.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}/mozilla-1.0-abi-compat-wrappers.patch || die
+ 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
+
+ # ABI Patch for alpha/xpcom for gcc-3.x
+ if [ "${ARCH}" = "alpha" ] ; then
+ patch -p1 < ${FILESDIR}/mozilla-alpha-xpcom-subs-fix.patch || die
+ fi
+
+ # ABI Patch for sparc and sparc64/xpcom for gcc-3.x
+ if use sparc &>/dev/null || use sparc64 &>/dev/null
+ then
+ patch -p1 < ${FILESDIR}/mozilla-1.0.1-sparc-xpcom.patch || die
+ fi
+ fi
+
+ # Apply the bytecode patch for freetype2
+ patch -p1 < ${FILESDIR}/mozilla-ft-bytecode.patch || die
+
+ # Some patches from Mandrake to fix various crashes. This
+ # seems to fix the "crash on submit bug".
+ patch -p1 < ${FILESDIR}/${P}-nsrange.patch || die
+ patch -p1 < ${FILESDIR}/${P}-bidiselection.patch || die
+ patch -p1 < ${FILESDIR}/${P}-referrer.patch || die
+ patch -p1 < ${FILESDIR}/${P}-prefcrash.patch || die
+ patch -p1 < ${FILESDIR}/${P}-xuldom.patch || die
+
+ # Unpack the enigmail plugin
+ if [ -n "`use crypt`" -a -z "`use moznomail`" ] && \
+ [ "${NO_MAIL}" != "YES" -a "${NO_MAIL}" != "yes" ]
+ then
+ mv ${WORKDIR}/ipc ${S}/extensions/
+ mv ${WORKDIR}/enigmail ${S}/extensions/
+ 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() {
+
+ 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 "${DEBUG}" ] ; then
+ myconf="${myconf} --enable-strip-libs \
+ --disable-debug \
+ --disable-tests"
+# Seems to be the cause of crashes on form submit
+# --disable-dtd-debug
+ fi
+
+ if [ -n "${MOZ_ENABLE_XFT}" ] ; then
+ # Enable Xft (currently this is done via freetype2 for gtk1,
+ # and libpangoXft for gtk2).
+ myconf="${myconf} --enable-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.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" -o "${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 for pentium4.
+ if [ "$(gcc-major-version)" -eq "3" ] ; then
+ export CFLAGS="${CFLAGS/pentium4/pentium3}"
+ export CXXFLAGS="${CXXFLAGS/pentium4/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
+
+ #This should enable parallel builds, I hope
+ export MAKE="emake"
+
+ # Get it to work without warnings on gcc3
+ CXXFLAGS="${CXXFLAGS} -Wno-deprecated"
+
+ ./configure --prefix=/usr/lib/mozilla \
+ --disable-pedantic \
+ --enable-mathml \
+ --without-system-nspr \
+ --enable-nspr-autoconf \
+ --with-system-zlib \
+ --enable-xsl \
+ --enable-crypto \
+ --enable-detect-webshell-leaks \
+ --enable-xinerama \
+ --with-java-supplement \
+ --with-pthreads \
+ --with-extensions="${myext}" \
+ --enable-optimize="-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
+
+ # Build the enigmail plugin
+ if [ -n "`use crypt`" -a -z "`use moznomail`" ] && \
+ [ "${NO_MAIL}" != "YES" -a "${NO_MAIL}" != "yes" ]
+ then
+ cd ${S}/extensions/ipc
+ make || die
+
+ cd ${S}/extensions/enigmail
+ make || die
+ fi
+}
+
+src_install() {
+
+ # Install, don't create tarball
+ dodir /usr/lib
+ cd ${S}/xpinstall/packager
+ einfo "Installing mozilla into build root..."
+ make MOZ_PKG_FORMAT="raw" TAR_CREATE_FLAGS="-chf" > /dev/null || die
+ mv -f ${S}/dist/mozilla ${D}/usr/lib/mozilla
+
+ # 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
+ # 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 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-${PV}::g" mozilla-config
+ perl -pi -e "s:/mozilla-${PV}::g" mozilla-config
+ exeinto /usr/lib/mozilla
+ doexe mozilla-config
+ # Fix pkgconfig files and install them
+ insinto /usr/lib/pkgconfig
+ for x in *.pc
+ do
+ if [ -f ${x} ]
+ then
+ perl -pi -e "s:/lib/mozilla-${PV}::g" ${x}
+ perl -pi -e "s:/mozilla-${PV}::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*
+
+ # 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
+
+ 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/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
+}
+
+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 ! -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
+
+ # We do not yet want any JAVA plugins with gcc-3.x, as they cause
+ # mozilla to crash in some cases.
+ if [ "$(gcc-version)" != "2.95" -a -n "`use java`" ] ; then
+ if [ -L ${MOZILLA_FIVE_HOME}/plugins/`java-config --browser-plugin=mozilla` ] ; then
+ rm -f ${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
+ einfo "Registering Components and Chrome..."
+ umask 022
+ ${MOZILLA_FIVE_HOME}/regxpcom
+ if [ -e ${MOZILLA_FIVE_HOME}/component.reg ] ; then
+ chmod g+r,o+r ${MOZILLA_FIVE_HOME}/component.reg
+ fi
+ # 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
+ einfo
+ einfo "*****************************************************************"
+ einfo "* NB: Please unmerge old versions of mozilla, as the header *"
+ einfo "* layout in /usr/lib/mozilla/include have changed and will *"
+ einfo "* result in compile errors when compiling programs that need *"
+ einfo "* mozilla headers and libs (galeon, nautilus, ...) *"
+ einfo "*****************************************************************"
+ echo
+}
+
+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
+
+ 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
+}
+