diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-12-14 17:26:07 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-12-14 17:26:07 +0000 |
commit | 816b663212ff1a8c0507157a10265810cbeed61c (patch) | |
tree | 4a9d88d9e351ed7d8f4f8da26d2da7b2b8c412c9 /net-www | |
parent | quit if mtrr support not compiled in .. bug #12015 (diff) | |
download | gentoo-2-816b663212ff1a8c0507157a10265810cbeed61c.tar.gz gentoo-2-816b663212ff1a8c0507157a10265810cbeed61c.tar.bz2 gentoo-2-816b663212ff1a8c0507157a10265810cbeed61c.zip |
update Xft and Xrender. add _moz to libXft and libXrender to try and fix the mozilla not always starting bug
Diffstat (limited to 'net-www')
-rw-r--r-- | net-www/mozilla/ChangeLog | 10 | ||||
-rw-r--r-- | net-www/mozilla/files/digest-mozilla-1.2.1-r2 | 4 | ||||
-rw-r--r-- | net-www/mozilla/mozilla-1.2.1-r2.ebuild | 696 |
3 files changed, 709 insertions, 1 deletions
diff --git a/net-www/mozilla/ChangeLog b/net-www/mozilla/ChangeLog index 046fe7360994..9e227709e324 100644 --- a/net-www/mozilla/ChangeLog +++ b/net-www/mozilla/ChangeLog @@ -1,6 +1,14 @@ # 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.67 2002/12/13 11:00:27 blizzy Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-www/mozilla/ChangeLog,v 1.68 2002/12/14 17:26:07 azarah Exp $ + +*mozilla-1.2.1-r2 (14 Dec 2002) + + 14 Dec 2002; Martin Schlemmer <azarah@gentoo.org> mozilla-1.2.1-r2.ebuild : + + Update to use fontconfig-2.1 tarball (Xft2.0.1, bugfixed Xrender). Modify + Xft and Xrender to install libXft_moz.so* and libXrender_moz.so*, and mozilla + to link to those. This should hopefully fix bugs where mozilla do not start. 09 Dec 2002; Martin Schlemmer <azarah@gentoo.org> mozilla-1.2.1-r1.ebuild : diff --git a/net-www/mozilla/files/digest-mozilla-1.2.1-r2 b/net-www/mozilla/files/digest-mozilla-1.2.1-r2 new file mode 100644 index 000000000000..757f3e5294c7 --- /dev/null +++ b/net-www/mozilla/files/digest-mozilla-1.2.1-r2 @@ -0,0 +1,4 @@ +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/mozilla-1.2.1-r2.ebuild b/net-www/mozilla/mozilla-1.2.1-r2.ebuild new file mode 100644 index 000000000000..b1919b4d4293 --- /dev/null +++ b/net-www/mozilla/mozilla-1.2.1-r2.ebuild @@ -0,0 +1,696 @@ +# 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.1 2002/12/14 17:26:07 azarah 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/distfiles/${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 + + # 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 + + # 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 +} + |