diff options
author | 2005-04-25 08:46:25 +0000 | |
---|---|---|
committer | 2005-04-25 08:46:25 +0000 | |
commit | 7e93d145d206cd9eaba52628f0594312bee8ca38 (patch) | |
tree | 338fb48ca163b80d390c64819b33b3422b61eda9 /www-client | |
parent | Fix building with gcc4. Patch from Genady Okrain (Mafteah) 's overlay (plus (diff) | |
download | gentoo-2-7e93d145d206cd9eaba52628f0594312bee8ca38.tar.gz gentoo-2-7e93d145d206cd9eaba52628f0594312bee8ca38.tar.bz2 gentoo-2-7e93d145d206cd9eaba52628f0594312bee8ca38.zip |
Fix building with gcc4. Patch from halcy0n's dev space.
(Portage version: 2.0.51.20-r4)
Diffstat (limited to 'www-client')
-rw-r--r-- | www-client/mozilla/ChangeLog | 8 | ||||
-rw-r--r-- | www-client/mozilla/Manifest | 3 | ||||
-rw-r--r-- | www-client/mozilla/files/digest-mozilla-1.7.7-r1 | 1 | ||||
-rw-r--r-- | www-client/mozilla/files/mozilla-1.7.6-gcc4.patch | 46 | ||||
-rw-r--r-- | www-client/mozilla/mozilla-1.7.7-r1.ebuild | 381 |
5 files changed, 438 insertions, 1 deletions
diff --git a/www-client/mozilla/ChangeLog b/www-client/mozilla/ChangeLog index 2d8735ed288c..0444d1ca743a 100644 --- a/www-client/mozilla/ChangeLog +++ b/www-client/mozilla/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for www-client/mozilla # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-client/mozilla/ChangeLog,v 1.23 2005/04/19 18:59:48 corsair Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-client/mozilla/ChangeLog,v 1.24 2005/04/25 08:46:25 azarah Exp $ + +*mozilla-1.7.7-r1 (25 Apr 2005) + + 25 Apr 2005; Martin Schlemmer <azarah@gentoo.org> + +files/mozilla-1.7.6-gcc4.patch, +mozilla-1.7.7-r1.ebuild: + Fix building with gcc4. Patch from halcy0n's dev space. 19 Apr 2005; Markus Rothe <corsair@gentoo.org> mozilla-1.7.7.ebuild: Added ppc64 patch to ebuild and marked ~ppc64; bug #89305 diff --git a/www-client/mozilla/Manifest b/www-client/mozilla/Manifest index a04acdba64a8..a497fdcccbcb 100644 --- a/www-client/mozilla/Manifest +++ b/www-client/mozilla/Manifest @@ -4,6 +4,7 @@ MD5 003fd9a8ac4f985476cfe5c01c6e43e4 mozilla-1.7.5-r1.ebuild 11182 MD5 8adafba88ad7121d8c24b45212b3d818 mozilla-1.7.5.ebuild 10571 MD5 d12e70c419df7a908affe2d26980c359 mozilla-1.7.6-r1.ebuild 11614 MD5 ce8c1522b5c8f461803f65da7617a908 mozilla-1.7.7.ebuild 11608 +MD5 5edc20f47f1f86b6f859e742a5a57c13 mozilla-1.7.7-r1.ebuild 11685 MD5 b99dabe3c40cfafe2e63bdef95815596 files/10mozilla 105 MD5 b19c38da8865b9ee5555aeb826d1d360 files/digest-mozilla-1.7.5 203 MD5 b19c38da8865b9ee5555aeb826d1d360 files/digest-mozilla-1.7.5-r1 203 @@ -19,6 +20,8 @@ MD5 f48be110754a5106f06cd313c22c4337 files/svg-cairo-0.3.0-fix.patch 1063 MD5 7d244b888dbd302c14414cbfc1f62501 files/xft.js 135 MD5 dda9d34fd8970334058d801c524a027c files/digest-mozilla-1.7.7 203 MD5 b7c78ba7ca0c519d0f3d2b80ab4cdd74 files/mozilla-1.7.6-ppc64.patch 3651 +MD5 a3ab6ae2213780c0e20c5b9aa8f018e9 files/mozilla-1.7.6-gcc4.patch 1818 +MD5 3bbf0541c099bbea78633360a10be54a files/digest-mozilla-1.7.7-r1 75 MD5 068edb8c46e34027f9c3febc19656c70 files/1.3/mozilla-1.3-fix-RAW-target.patch 328 MD5 6d52ff4ce4567db1cad08ea40157a65d files/icon/mozilla-icon.png 2350 MD5 e3c488f3226f61adbb11d6a73ae84209 files/icon/mozilla.desktop 153 diff --git a/www-client/mozilla/files/digest-mozilla-1.7.7-r1 b/www-client/mozilla/files/digest-mozilla-1.7.7-r1 new file mode 100644 index 000000000000..4f61d21c7e29 --- /dev/null +++ b/www-client/mozilla/files/digest-mozilla-1.7.7-r1 @@ -0,0 +1 @@ +MD5 a16d3d98bb90d45c7bc04dae20d39e3e mozilla-source-1.7.7.tar.bz2 29776225 diff --git a/www-client/mozilla/files/mozilla-1.7.6-gcc4.patch b/www-client/mozilla/files/mozilla-1.7.6-gcc4.patch new file mode 100644 index 000000000000..2d0a04949072 --- /dev/null +++ b/www-client/mozilla/files/mozilla-1.7.6-gcc4.patch @@ -0,0 +1,46 @@ +diff -ur mozilla-orig/security/nss/lib/pki1/oiddata.h mozilla/security/nss/lib/pki1/oiddata.h +--- mozilla-orig/security/nss/lib/pki1/oiddata.h 2005-03-13 19:12:25.000000000 -0500 ++++ mozilla/security/nss/lib/pki1/oiddata.h 2005-03-13 19:15:19.000000000 -0500 +@@ -43,12 +43,6 @@ + #include "nsspki1t.h" + #endif /* NSSPKI1T_H */ + +-extern const NSSOID nss_builtin_oids[]; +-extern const PRUint32 nss_builtin_oid_count; +- +-/*extern const nssAttributeTypeAliasTable nss_attribute_type_aliases[];*/ +-/*extern const PRUint32 nss_attribute_type_alias_count;*/ +- + extern const NSSOID *NSS_OID_RFC1274_UID; + extern const NSSOID *NSS_OID_RFC1274_EMAIL; + extern const NSSOID *NSS_OID_RFC2247_DC; +diff -ur mozilla-orig/security/nss/lib/pki1/oidgen.perl mozilla/security/nss/lib/pki1/oidgen.perl +--- mozilla-orig/security/nss/lib/pki1/oidgen.perl 2005-03-13 19:12:25.000000000 -0500 ++++ mozilla/security/nss/lib/pki1/oidgen.perl 2005-03-13 19:15:19.000000000 -0500 +@@ -233,12 +233,6 @@ + #include "nsspki1t.h" + #endif /* NSSPKI1T_H */ + +-extern const NSSOID nss_builtin_oids[]; +-extern const PRUint32 nss_builtin_oid_count; +- +-/*extern const nssAttributeTypeAliasTable nss_attribute_type_aliases[];*/ +-/*extern const PRUint32 nss_attribute_type_alias_count;*/ +- + EOD + ; + +diff -ur mozilla-orig/security/nss/lib/pki1/pki1.h mozilla/security/nss/lib/pki1/pki1.h +--- mozilla-orig/security/nss/lib/pki1/pki1.h 2005-03-13 19:12:25.000000000 -0500 ++++ mozilla/security/nss/lib/pki1/pki1.h 2005-03-13 19:15:19.000000000 -0500 +@@ -55,7 +55,9 @@ + + PR_BEGIN_EXTERN_C + +-/* fgmr 19990505 moved these here from oiddata.h */ ++extern const NSSOID nss_builtin_oids[]; ++extern const PRUint32 nss_builtin_oid_count; ++ + extern const nssAttributeTypeAliasTable nss_attribute_type_aliases[]; + extern const PRUint32 nss_attribute_type_alias_count; + diff --git a/www-client/mozilla/mozilla-1.7.7-r1.ebuild b/www-client/mozilla/mozilla-1.7.7-r1.ebuild new file mode 100644 index 000000000000..bfb18a21aafb --- /dev/null +++ b/www-client/mozilla/mozilla-1.7.7-r1.ebuild @@ -0,0 +1,381 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-client/mozilla/mozilla-1.7.7-r1.ebuild,v 1.1 2005/04/25 08:46:25 azarah Exp $ + +unset ALLOWED_FLAGS # stupid extra-functions.sh ... bug 49179 +inherit flag-o-matic gcc eutils nsplugins mozilla-launcher mozconfig makeedit multilib + +IUSE="java crypt ssl moznomail postgres" + +EMVER="0.91.0" +IPCVER="1.1.2" + +# handle _rc versions +MY_PV=${PV/_alpha/a} # handle alpha +MY_PV=${MY_PV/_beta/b} # handle beta +MY_PV=${MY_PV/_rc/rc} # handle rc + +DESCRIPTION="Mozilla Application Suite - web browser, email, HTML editor, IRC" +HOMEPAGE="http://www.mozilla.org" +SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/${PN}${MY_PV}/source/${PN}-source-${MY_PV}.tar.bz2 + crypt? ( !moznomail? ( + http://www.mozilla-enigmail.org/downloads/src/ipc-${IPCVER}.tar.gz + http://www.mozilla-enigmail.org/downloads/src/enigmail-${EMVER}.tar.gz + ) )" + +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +SLOT="0" +LICENSE="MPL-1.1 NPL-1.1" + +# xrender.pc appeared for the first time in xorg-x11-6.7.0-r2 +# and is required to build with support for cairo. #71504 +RDEPEND="java? ( virtual/jre ) + mozsvg? ( + >=x11-base/xorg-x11-6.7.0-r2 + x11-libs/cairo + ) + crypt? ( !moznomail? ( >=app-crypt/gnupg-1.2.1 ) ) + >=www-client/mozilla-launcher-1.28" + +DEPEND="${RDEPEND} + ~sys-devel/autoconf-2.13 + java? ( >=dev-java/java-config-0.2.0 ) + dev-lang/perl + pgsql? ( >=dev-db/postgresql-7.2.0 )" + +S="${WORKDIR}/mozilla" + +src_unpack() { + typeset x + + unpack ${A} || die "unpack failed" + cd ${S} || die "cd failed" + + if [[ $(gcc-major-version) -eq 3 ]]; then + # ABI Patch for alpha/xpcom for gcc-3.x + if [[ ${ARCH} == alpha ]]; then + epatch ${FILESDIR}/${PN}-alpha-xpcom-subs-fix.patch + fi + fi + + # Fix stack growth logic + epatch ${FILESDIR}/${PN}-stackgrowth.patch + + # Fix logic error when using RAW target + # <azarah@gentoo.org> (23 Feb 2003) + epatch ${FILESDIR}/1.3/${PN}-1.3-fix-RAW-target.patch + + # HPPA patches from Ivar <orskaug@stud.ntnu.no> + # <gmsoft@gentoo.org> (22 Dec 2004) + epatch ${FILESDIR}/mozilla-hppa.patch + + # patch out ft caching code since the API changed between releases of + # freetype; this enables freetype-2.1.8+ compat. + # https://bugzilla.mozilla.org/show_bug.cgi?id=234035#c65 + epatch ${FILESDIR}/mozilla-1.7.3-4ft2.patch + + # Patch to allow compilation on ppc64 - bug #54843 + use ppc64 && epatch ${FILESDIR}/mozilla-1.7.6-ppc64.patch + + # Patch for newer versions of cairo ( bug #80301) + if has_version '>=x11-libs/cairo-0.3.0'; then + epatch ${FILESDIR}/svg-cairo-0.3.0-fix.patch + fi + + # Fix building with gcc4 + epatch ${FILESDIR}/${PN}-1.7.6-gcc4.patch + + # Fix scripts that call for /usr/local/bin/perl #51916 + ebegin "Patching smime to call perl from /usr/bin" + sed -i -e '1s,usr/local/bin,usr/bin,' security/nss/cmd/smimetools/smime + eend || die "sed failed" + + WANT_AUTOCONF=2.1 autoconf || die "WANT_AUTOCONF failed" + + # Unpack the enigmail plugin + if use crypt && ! use moznomail; then + for x in ipc enigmail; do + mv ${WORKDIR}/${x} ${S}/extensions || die "mv failed" + cd ${S}/extensions/${x} || die "cd failed" + makemake # from mozilla.eclass + done + fi +} + +src_compile() { + #################################### + # + # mozconfig, CFLAGS and CXXFLAGS setup + # + #################################### + + mozconfig_init + + # Bug 60668: Galeon doesn't build without oji enabled, so enable it + # regardless of java setting. + mozconfig_annotate '' --enable-oji --enable-mathml + + # Other moz-specific settings + mozconfig_use_enable mozdevelop jsd + mozconfig_use_enable mozdevelop xpctools + mozconfig_use_extension mozdevelop venkman + mozconfig_use_enable gnome gnomevfs + mozconfig_use_extension gnome gnomevfs + mozconfig_use_extension !moznoirc irc + mozconfig_use_extension mozxmlterm xmlterm + mozconfig_use_extension postgres sql + mozconfig_use_enable mozcalendar calendar + mozconfig_use_enable ldap + mozconfig_use_enable ldap ldap-experimental + mozconfig_use_enable mozsvg svg + mozconfig_use_enable mozsvg svg-renderer-cairo + mozconfig_annotate '' --prefix=/usr/$(get_libdir)/mozilla + mozconfig_annotate '' --with-default-mozilla-five-home=/usr/$(get_libdir)/mozilla + + if use moznomail && ! use mozcalendar; then + mozconfig_annotate "+moznomail -mozcalendar" --disable-mailnews + fi + if use moznocompose && use moznomail; then + mozconfig_annotate "+moznocompose +moznomail" --disable-composer + fi + + # Finalize and report settings + mozconfig_final + + if use postgres ; then + export MOZ_ENABLE_PGSQL=1 + export MOZ_PGSQL_INCLUDES=/usr/include + export MOZ_PGSQL_LIBS=/usr/$(get_libdir) + fi + + #################################### + # + # Configure and build Mozilla + # + #################################### + + # ./configure picks up the mozconfig stuff + CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \ + ./configure || die "configure failed" + + # This removes extraneous CFLAGS from the Makefiles to reduce RAM + # requirements while compiling + edit_makefiles + + emake || die "emake failed" + + #################################### + # + # Build Mozilla NSS + # + #################################### + + # Build the NSS/SSL support + if use ssl; then + einfo "Building Mozilla NSS..." + + # Fix #include problem + cd ${S}/security/coreconf || die "cd coreconf failed" + echo 'INCLUDES += -I$(DIST)/include/nspr -I$(DIST)/include/dbm'\ + >>headers.mk + emake -j1 || die "make security headers failed" + + cd ${S}/security/nss || die "cd nss failed" + emake -j1 moz_import || die "make moz_import failed" + emake -j1 || die "make nss failed" + fi + + #################################### + # + # Build Enigmail plugin + # + #################################### + + # Build the enigmail plugin + if use crypt && ! use moznomail; then + einfo "Building Enigmail plugin..." + cd ${S}/extensions/ipc || die "cd ipc failed" + emake || die "make ipc failed" + + cd ${S}/extensions/enigmail || die "cd enigmail failed" + emake || die "make enigmail failed" + fi +} + +src_install() { + # Install, don't create tarball + dodir /usr/$(get_libdir) + cd ${S}/xpinstall/packager + einfo "Installing mozilla into build root..." + make MOZ_PKG_FORMAT="RAW" TAR_CREATE_FLAGS="-chf" > /dev/null || die "make failed" + mv -f ${S}/dist/mozilla ${D}/usr/$(get_libdir)/mozilla + + einfo "Installing includes and idl files..." + # Copy the include and idl files + dodir /usr/$(get_libdir)/mozilla/include/idl /usr/include + cd ${S}/dist + cp -LfR include/* ${D}/usr/$(get_libdir)/mozilla/include + cp -LfR idl/* ${D}/usr/$(get_libdir)/mozilla/include/idl + dosym /usr/$(get_libdir)/mozilla/include /usr/include/mozilla + + # Install the development tools in /usr + dodir /usr/bin + mv ${D}/usr/$(get_libdir)/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/$(get_libdir)/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/$(get_libdir)/mozilla/include/nss/{zconf.h,zlib.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 "make failed" + # Gets installed as symbolic links ... + cp -Lf ${WORKDIR}/nss/bin/* ${D}/usr/bin + cp -Lf ${WORKDIR}/nss/lib/* ${D}/usr/$(get_libdir)/mozilla + + # Need to unset these incase we want to rebuild, else the build + # gets newked. + unset SOURCE_LIB_DIR + unset SOURCE_BIN_DIR + fi + + cd ${S}/build/unix + # Fix mozilla-config and install it + perl -pi -e "s:/lib/mozilla-${MY_PV}::g" mozilla-config + perl -pi -e "s:/mozilla-${MY_PV}::g" mozilla-config + exeinto /usr/$(get_libdir)/mozilla + doexe mozilla-config + # Fix pkgconfig files and install them + insinto /usr/$(get_libdir)/pkgconfig + for x in *.pc; do + if [[ -f ${x} ]]; then + perl -pi -e "s:/lib/mozilla-${MY_PV}::g" ${x} + perl -pi -e "s:/mozilla-${MY_PV}::g" ${x} + doins ${x} + fi + done + cd ${S} + + dodir /usr/bin + cat <<EOF >${D}/usr/bin/mozilla +#!/bin/sh +# +# Stub script to run mozilla-launcher. We used to use a symlink here but +# OOo brokenness makes it necessary to use a stub instead: +# http://bugs.gentoo.org/show_bug.cgi?id=78890 + +export MOZILLA_LAUNCHER=mozilla +exec /usr/libexec/mozilla-launcher "\$@" +EOF + chmod 0755 ${D}/usr/bin/mozilla + insinto /etc/env.d + doins ${FILESDIR}/10mozilla + dodoc LEGAL LICENSE README/mozilla/README* + + # Install rebuild script + exeinto /usr/$(get_libdir)/mozilla/ + doexe ${FILESDIR}/mozilla-rebuild-databases.pl + + # Move plugins dir + src_mv_plugins /usr/$(get_libdir)/mozilla/plugins + + # Update Google search plugin to use UTF8 charset ... + insinto /usr/$(get_libdir)/mozilla/searchplugins + doins ${FILESDIR}/google.src + + if [[ -f "${WORKDIR}/.xft" ]]; then + # We are using Xft, so change the default font + insinto /usr/$(get_libdir)/mozilla/defaults/pref + doins ${FILESDIR}/xft.js + fi + + # Fix icons to look the same everywhere + insinto /usr/$(get_libdir)/mozilla/icons + doins ${S}/widget/src/gtk/mozicon16.xpm + doins ${S}/widget/src/gtk/mozicon50.xpm + + # Install icon and .desktop for menu entry + insinto /usr/share/pixmaps + doins ${FILESDIR}/icon/mozilla-icon.png + insinto /usr/share/applications + doins ${FILESDIR}/icon/mozilla.desktop + + # 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/$(get_libdir)/mozilla + find ${D}/usr/$(get_libdir)/mozilla/ -type d -exec chmod 0755 {} \; || : +} + +pkg_preinst() { + # Move old plugins dir + pkg_mv_plugins /usr/$(get_libdir)/mozilla/plugins + + if true; then + # Remove entire installed instance to solve various problems, + # for example see bug 27719 + rm -rf ${ROOT}/usr/$(get_libdir)/mozilla + else + # Stale components and chrome files break when unmerging old + rm -rf ${ROOT}/usr/$(get_libdir)/mozilla/components + rm -rf ${ROOT}/usr/$(get_libdir)/mozilla/chrome + + # Remove stale component registry. + rm -f ${ROOT}/usr/$(get_libdir)/mozilla/component.reg + rm -f ${ROOT}/usr/$(get_libdir)/mozilla/components/compreg.dat + + # Make sure these are removed. + rm -f ${ROOT}/usr/$(get_libdir)/mozilla/lib{Xft,Xrender}.so* + fi +} + +pkg_postinst() { + export MOZILLA_FIVE_HOME="${ROOT}/usr/$(get_libdir)/mozilla" + + # Needed to update the run time bindings for REGXPCOM + # (do not remove next line!) + env-update + + # Register Components and Chrome + einfo "Registering Components and Chrome..." + ${MOZILLA_FIVE_HOME}/mozilla-rebuild-databases.pl + + # Fix permissions of component registry + chmod 0644 ${MOZILLA_FIVE_HOME}/components/compreg.dat + + # Fix directory permissions + find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 0755 {} \; + + # Fix permissions on chrome files + find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec chmod 0644 {} \; + + update_mozilla_launcher_symlinks +} + +pkg_postrm() { + # Regenerate component.reg in case some things changed + if [[ -e ${ROOT}/usr/$(get_libdir)/mozilla/regxpcom ]]; then + export MOZILLA_FIVE_HOME="${ROOT}/usr/$(get_libdir)/mozilla" + + if [[ -x ${MOZILLA_FIVE_HOME}/mozilla-rebuild-databases.pl ]]; then + ${MOZILLA_FIVE_HOME}/mozilla-rebuild-databases.pl + # Fix directory permissions + find ${MOZILLA_FIVE_HOME}/ -type d -perm 0700 -exec chmod 755 {} \; + # Fix permissions on chrome files + find ${MOZILLA_FIVE_HOME}/chrome/ -name '*.rdf' -exec chmod 0644 {} \; + fi + fi + + update_mozilla_launcher_symlinks +} |