summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory Pratt <anarchy@gentoo.org>2006-03-19 15:02:34 +0000
committerJory Pratt <anarchy@gentoo.org>2006-03-19 15:02:34 +0000
commit9840dae7967848bd13c0f6ac8c33ac474f8b74fe (patch)
tree8b96b8240d3e33698e670dbf4809660439c897fc /net-libs/gecko-sdk
parentAdded ~ppc. Bug 126745. (diff)
downloadgentoo-2-9840dae7967848bd13c0f6ac8c33ac474f8b74fe.tar.gz
gentoo-2-9840dae7967848bd13c0f6ac8c33ac474f8b74fe.tar.bz2
gentoo-2-9840dae7967848bd13c0f6ac8c33ac474f8b74fe.zip
glibc-2.4 support wrt bug #125832
(Portage version: 2.1_pre6-r3)
Diffstat (limited to 'net-libs/gecko-sdk')
-rw-r--r--net-libs/gecko-sdk/ChangeLog8
-rw-r--r--net-libs/gecko-sdk/Manifest53
-rw-r--r--net-libs/gecko-sdk/files/010_glibc-2.4.patch84
-rw-r--r--net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12-r29
-rw-r--r--net-libs/gecko-sdk/gecko-sdk-1.7.12-r2.ebuild241
5 files changed, 384 insertions, 11 deletions
diff --git a/net-libs/gecko-sdk/ChangeLog b/net-libs/gecko-sdk/ChangeLog
index 5774e635ac30..002a6fc84ed3 100644
--- a/net-libs/gecko-sdk/ChangeLog
+++ b/net-libs/gecko-sdk/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-libs/gecko-sdk
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/gecko-sdk/ChangeLog,v 1.25 2006/01/09 22:30:00 josejx Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/gecko-sdk/ChangeLog,v 1.26 2006/03/19 15:02:34 anarchy Exp $
+
+*gecko-sdk-1.7.12-r2 (19 Mar 2006)
+
+ 19 Mar 2006; Jory A. Pratt <anarchy@gentoo.org>
+ +files/010_glibc-2.4.patch, +gecko-sdk-1.7.12-r2.ebuild:
+ glibc-2.4 support wrt bug #125832
09 Jan 2006; Joseph Jezak <josejx@gentoo.org> metadata.xml:
Removed myself as maintainer, Anarchy said he will maintain it for the
diff --git a/net-libs/gecko-sdk/Manifest b/net-libs/gecko-sdk/Manifest
index 0c62e17abc66..8d561c009b80 100644
--- a/net-libs/gecko-sdk/Manifest
+++ b/net-libs/gecko-sdk/Manifest
@@ -1,27 +1,60 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
MD5 2f974760bbf5dabe4f704b6805a6acbd ChangeLog 4247
+RMD160 b204fe031de2ebeabf511cb650a18a45151a1f85 ChangeLog 4247
+SHA256 1fdb406142e64bfbc6ba92e0b5c33942fca79feadf5c46005e2bf8c604d0ce9a ChangeLog 4247
+MD5 1bbe55892586ddbce300e5abb134a681 files/010_glibc-2.4.patch 2628
+RMD160 77d35dec11624ef1b3ad84d72eb437068cbc9f0f files/010_glibc-2.4.patch 2628
+SHA256 5a64ffadb56c3c2316202e57ce82b6439c3037c6f4a5a1d4783d03173741e5cd files/010_glibc-2.4.patch 2628
MD5 c927b56f320d1bacf28c49a7ee3c37ba files/digest-gecko-sdk-1.7.12 376
+RMD160 2c28a015e6908ace8c960809afabdc8a31cc49b4 files/digest-gecko-sdk-1.7.12 376
+SHA256 8c7db1b9a36b07b617aed3050165afc8bcc1c856d5b8720961d950a7680f7a54 files/digest-gecko-sdk-1.7.12 376
MD5 19bfbff741d54e3b35b048ab445096ed files/digest-gecko-sdk-1.7.12-r1 232
+RMD160 cba7bc1163a211ff9418ad7a667521359641b4bd files/digest-gecko-sdk-1.7.12-r1 232
+SHA256 2bc495d7b73234cb2e180bb7bf07af4f57a50dcc7c4367af40be6c9aee3c8197 files/digest-gecko-sdk-1.7.12-r1 232
+MD5 4b010bb51265549b21d5bc1d77c25874 files/digest-gecko-sdk-1.7.12-r2 834
+RMD160 25360bfb65da9da05596fcd0ad11b222fbec3827 files/digest-gecko-sdk-1.7.12-r2 834
+SHA256 162ccb84299c4e0d9cefe821d721b4e0a02c7580af6fdf9d02e5670281e4a499 files/digest-gecko-sdk-1.7.12-r2 834
MD5 be67106b98a3cc1562eee877200e6ae0 files/digest-gecko-sdk-1.7.8 280
+RMD160 bf8286e8441d0694359c22795348cbc62e190e1e files/digest-gecko-sdk-1.7.8 280
+SHA256 57b69d55c578f785af5f1ecf5d1cfd2ec949eba4c1575fa58325d23e4a556ed5 files/digest-gecko-sdk-1.7.8 280
MD5 1f71cb3a30531a90fb7d1d3445588ba6 files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch 465
+RMD160 eb8d4e5bf83d3997dec93c1e51e4b4b02bdf064e files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch 465
+SHA256 e13fdd216f1746ff5c0e217c4f2e763f5b1c6393b54723ea35b5534044b30d9b files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch 465
MD5 f7930e7f2cba691a9b6654b61ba1217e files/mozilla-1.7.12-libart-freetype.patch 2412
+RMD160 dfbe1717346ce27d9834d423d890e28fbc165a5f files/mozilla-1.7.12-libart-freetype.patch 2412
+SHA256 e0145b919750c0a0c418a1d905863f8b0c24bfb0d6947c92eecb512031b3b601 files/mozilla-1.7.12-libart-freetype.patch 2412
MD5 a3ab6ae2213780c0e20c5b9aa8f018e9 files/mozilla-1.7.6-gcc4.patch 1818
+RMD160 7be7c0f39933dcad5c45909ef6099ad3a170d40e files/mozilla-1.7.6-gcc4.patch 1818
+SHA256 09bf6b2d51c27eccbf3b6c21aafb7f6263b723b3e526419f81a90db7bc203046 files/mozilla-1.7.6-gcc4.patch 1818
MD5 b7c78ba7ca0c519d0f3d2b80ab4cdd74 files/mozilla-1.7.6-ppc64.patch 3651
+RMD160 312e41a02f755ded2ad9d4cb556899086b10b311 files/mozilla-1.7.6-ppc64.patch 3651
+SHA256 ef4731d5d2cd960591ae1358c3a15f245652485e91c7510bab381908134a18c0 files/mozilla-1.7.6-ppc64.patch 3651
MD5 eb21396de389b3ef0277d5f95d59c348 files/mozilla-1.7.8-amd64.patch 4020
+RMD160 8233071590d4237288923dba664d7da62853b70c files/mozilla-1.7.8-amd64.patch 4020
+SHA256 d1244c42644ff428228e7dcfc6d9f9f7251bc9ca06172053e6456379fd73c824 files/mozilla-1.7.8-amd64.patch 4020
MD5 5b22d0e1ea93923e3e66787c286ad86f files/mozilla-1.7.8-objectframefix.diff 673
+RMD160 746b76958538089eff6e05404237068006bda14e files/mozilla-1.7.8-objectframefix.diff 673
+SHA256 e222f935eb2e23c8ca4117dd4af4862579e8110c46534603bdcaff7b36568dfa files/mozilla-1.7.8-objectframefix.diff 673
MD5 8f8d70da6eb8cf07acbbb85fb0f08636 files/mozilla-hppa.patch 7863
+RMD160 e45ff21ec6bb4a947c20f5ec9a7252375e91bff4 files/mozilla-hppa.patch 7863
+SHA256 5e407a6f34ad2eb9e49f2d15db373df05afcc52676469a4d8066f3536cca771b files/mozilla-hppa.patch 7863
MD5 baddc2dbe81599d1575a4a4f95314377 files/mozilla-rebuild-databases.pl 2412
+RMD160 80162695b5a8a7bfff570f1e53c50a1728739ad7 files/mozilla-rebuild-databases.pl 2412
+SHA256 a186d81c1f1d9f98a0f5efad7793e75f919cad342f24617bde88154bee0557bd files/mozilla-rebuild-databases.pl 2412
MD5 278524216669b594ea5b6468a180ed73 files/mozilla-stackgrowth.patch 931
+RMD160 c2b81d96f968e3cae36462bd4b567fe60b1a83e0 files/mozilla-stackgrowth.patch 931
+SHA256 80dcdfd2feda3ec59a715b59e86e54a6110ccac4ad499cfaa032151606682605 files/mozilla-stackgrowth.patch 931
MD5 957bc911c21996313fe6f649558823f9 gecko-sdk-1.7.12-r1.ebuild 8011
+RMD160 a23d5901cc1da8dbfd63e040d1f7b76334d5f1a8 gecko-sdk-1.7.12-r1.ebuild 8011
+SHA256 12e5c4031a745d8261005f4e536b0e34b6d7e06e3e84726d75dee9e5e0d52b3c gecko-sdk-1.7.12-r1.ebuild 8011
+MD5 9a1bd64bc7ac5edf8c56442b8a4d1744 gecko-sdk-1.7.12-r2.ebuild 8079
+RMD160 94fb021c04abbc8e5ad97396c205830764044296 gecko-sdk-1.7.12-r2.ebuild 8079
+SHA256 1bc6496f2775ec1fdd55a6d989db3e552ac86a0e2657a70103c3f94d8ca812e6 gecko-sdk-1.7.12-r2.ebuild 8079
MD5 8b22525bd9a836743abec05930d9543f gecko-sdk-1.7.12.ebuild 6945
+RMD160 1d7ca89e0be020b543c6a1577b0272500d503254 gecko-sdk-1.7.12.ebuild 6945
+SHA256 51384ed3c455252d3aa17116378981e403740d13426b0a52cadac4165d92004d gecko-sdk-1.7.12.ebuild 6945
MD5 68e8f6854f38d88b6b6f0cd7ded9b721 gecko-sdk-1.7.8.ebuild 6838
+RMD160 b5fead0d34bc827981303460c644b5471f087d35 gecko-sdk-1.7.8.ebuild 6838
+SHA256 b90230af512768622e50b3004a602b1a1f6e2b6d158ab7df484526d7f52ee74a gecko-sdk-1.7.8.ebuild 6838
MD5 ce23390351fe8020387d93ee29e09a3d metadata.xml 160
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDwuPzcsIHjyDViGQRAm3jAKDRFx5JY8TqV1EvziIJ15PZlmhB1wCff0Xn
-iQlcWBwuZxW4kfgGc0oOSSo=
-=mWir
------END PGP SIGNATURE-----
+RMD160 d5a9f0bf8989621c2bde30facb53bcae00aba709 metadata.xml 160
+SHA256 0cc5126362a12cee42ec1197c528a804cf36859329dd2c6d9225726831d14b8b metadata.xml 160
diff --git a/net-libs/gecko-sdk/files/010_glibc-2.4.patch b/net-libs/gecko-sdk/files/010_glibc-2.4.patch
new file mode 100644
index 000000000000..e4b56d30dd48
--- /dev/null
+++ b/net-libs/gecko-sdk/files/010_glibc-2.4.patch
@@ -0,0 +1,84 @@
+diff -u -p -8 -r1.12 nsStackFrameUnix.cpp
+--- xpcom/base/nsStackFrameUnix.cpp 18 Apr 2004 14:18:12 -0000 1.12
++++ xpcom/base/nsStackFrameUnix.cpp 23 Jan 2006 09:23:04 -0000
+@@ -77,19 +77,30 @@ void DemangleSymbol(const char * aSymbol
+ if (demangled)
+ {
+ strncpy(aBuffer,demangled,aBufLen);
+ free(demangled);
+ }
+ #endif // MOZ_DEMANGLE_SYMBOLS
+ }
+
++#if defined(linux) // Linux
++#if (__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 3)) // use glibc backtrace()
++#include <execinfo.h>
++void DumpStackToFile(FILE* aStream)
++{
++ void *array[20];
++ size_t size;
+
+-#if defined(linux) && defined(__GLIBC__) && (defined(__i386) || defined(PPC)) // i386 or PPC Linux stackwalking code
++ fflush(aStream);
++ size = backtrace (array, 20);
++ backtrace_symbols_fd (array, size, fileno(aStream));
++}
+
++#elif defined(__GLIBC__) && (defined(__i386) || defined(PPC)) // old style i386 or PPC Linux stackwalking code
+ #include <setjmp.h>
+ //
+
+ void DumpStackToFile(FILE* aStream)
+ {
+ jmp_buf jb;
+ setjmp(jb);
+
+@@ -135,16 +146,23 @@ void DumpStackToFile(FILE* aStream)
+
+ PRUint32 off = (char*)pc - (char*)info.dli_saddr;
+ fprintf(aStream, "%s+0x%08X [%s +0x%08X]\n",
+ symbol, off, info.dli_fname, foff);
+ }
+ }
+ }
+
++#else // not implemented
++void DumpStackToFile(FILE* aStream)
++{
++ fprintf(aStream, "Info: Stacktrace not implemented for this Linux platform\n");
++}
++#endif // Linux
++
+ #elif defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386))
+
+ /*
+ * Stack walking code for Solaris courtesy of Bart Smaalder's "memtrak".
+ */
+
+ #include <synch.h>
+ #include <ucontext.h>
+
+diff -u -p -8 -r1.96 nsTraceRefcntImpl.cpp
+--- xpcom/base/nsTraceRefcntImpl.cpp 24 Jun 2005 00:24:41 -0000 1.96
++++ xpcom/base/nsTraceRefcntImpl.cpp 23 Jan 2006 09:24:05 -0000
+@@ -823,18 +823,18 @@ static void InitTraceLog(void)
+ #include "nsStackFrameWin.h"
+ void
+ nsTraceRefcntImpl::WalkTheStack(FILE* aStream)
+ {
+ DumpStackToFile(aStream);
+ }
+
+ // WIN32 x86 stack walking code
+-// i386 or PPC Linux stackwalking code or Solaris
+-#elif (defined(linux) && defined(__GLIBC__) && (defined(__i386) || defined(PPC))) || (defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386)))
++// Linux stackwalking code or Solaris
++#elif (defined(linux) && defined(__GLIBC__)) || (defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386)))
+ #include "nsStackFrameUnix.h"
+ void
+ nsTraceRefcntImpl::WalkTheStack(FILE* aStream)
+ {
+ DumpStackToFile(aStream);
+ }
+
+ #else // unsupported platform.
diff --git a/net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12-r2 b/net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12-r2
new file mode 100644
index 000000000000..21ad14df377b
--- /dev/null
+++ b/net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12-r2
@@ -0,0 +1,9 @@
+MD5 b4355a5746dde47cf0a7981df1dff998 moz_libart_lgpl-2.3.10p1.tar.bz2 103063
+RMD160 c1ab4b41fe40e3f63dbf95476a1cc125d5537be7 moz_libart_lgpl-2.3.10p1.tar.bz2 103063
+SHA256 8cc868780a0763a5afaa36f92d7c5f9efe248b4e05440f645e4e91ddfdd6d1b5 moz_libart_lgpl-2.3.10p1.tar.bz2 103063
+MD5 8260c8412cda7f33b0a4dade34494772 mozilla-1.7.12-patches-1.1.tar.bz2 107977
+RMD160 b191c7713273bea08bfd5dd520cf1ecfaa4d0a3f mozilla-1.7.12-patches-1.1.tar.bz2 107977
+SHA256 710f5ac06caa01a6a9e1a59f9d252744ccfe350cd97ce25c67d2b68e3bfb67cd mozilla-1.7.12-patches-1.1.tar.bz2 107977
+MD5 f1ad6adbbc0510eb76d352c94c801fac mozilla-1.7.12-source.tar.bz2 30446836
+RMD160 8881779a39f360a814177ed948fab5a8330193aa mozilla-1.7.12-source.tar.bz2 30446836
+SHA256 9fcbcdd0d72775659817cd0d826c2f59356e07545e4cc8d14086cd96cec7c200 mozilla-1.7.12-source.tar.bz2 30446836
diff --git a/net-libs/gecko-sdk/gecko-sdk-1.7.12-r2.ebuild b/net-libs/gecko-sdk/gecko-sdk-1.7.12-r2.ebuild
new file mode 100644
index 000000000000..6d5b615bdd5d
--- /dev/null
+++ b/net-libs/gecko-sdk/gecko-sdk-1.7.12-r2.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/gecko-sdk/gecko-sdk-1.7.12-r2.ebuild,v 1.1 2006/03/19 15:02:34 anarchy Exp $
+
+unset ALLOWED_FLAGS # Stupid extra-functions.sh ... bug 49179
+MOZ_FREETYPE2="no" # Need to disable for newer .. remove here and in mozconfig
+ # when older is removed from tree.
+MOZ_PANGO="yes" # Need to enable for newer .. remove here and in mozconfig
+ # when older is removed from tree.
+inherit flag-o-matic toolchain-funcs eutils mozconfig mozilla-launcher makeedit multilib
+
+PVER="1.1"
+SVGVER="2.3.10p1"
+
+# 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/mozilla${MY_PV}/source/mozilla-${MY_PV}-source.tar.bz2
+ mozsvg? (
+ mirror://gentoo/moz_libart_lgpl-${SVGVER}.tar.bz2
+ http://dev.gentoo.org/~azarah/mozilla/moz_libart_lgpl-${SVGVER}.tar.bz2
+ )
+ mirror://gentoo/mozilla-${PV}-patches-${PVER}.tar.bz2
+ http://dev.gentoo.org/~azarah/mozilla/mozilla-${PV}-patches-${PVER}.tar.bz2"
+
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+SLOT="0"
+LICENSE="MPL-1.1 NPL-1.1"
+IUSE="crypt gnome java ldap mozcalendar mozdevelop moznocompose moznoirc moznomail mozsvg postgres ssl"
+
+# 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 )
+ crypt? ( !moznomail? ( >=app-crypt/gnupg-1.2.1 ) )
+ >=www-client/mozilla-launcher-1.42"
+
+DEPEND="${RDEPEND}
+ ~sys-devel/autoconf-2.13
+ java? ( >=dev-java/java-config-0.2.0 )
+ dev-lang/perl
+ postgres? ( >=dev-db/postgresql-7.2.0 )"
+
+S=${WORKDIR}/mozilla
+
+
+src_unpack() {
+ unpack mozilla-${MY_PV}-source.tar.bz2 mozilla-${PV}-patches-${PVER}.tar.bz2
+ cd ${S} || die
+
+ if use mozsvg; then
+ cd ${S}/other-licenses
+ unpack moz_libart_lgpl-${SVGVER}.tar.bz2
+ fi
+ cd ${S}
+
+ ####################################
+ #
+ # patch collection
+ #
+ ####################################
+
+ # Firefox only patches
+ rm -f ${WORKDIR}/patch/{093,094,402,407}*
+ # Need pango-1.10.0 stable
+ rm -f ${WORKDIR}/patch/03[67]*
+ epatch ${WORKDIR}/patch
+
+ # Without 03[67]* patches, we need to link to pangoxft
+ epatch ${FILESDIR}/mozilla-1.7.12-gtk2xft-link-pangoxft.patch
+
+ # Glibc 2.4 fix
+ epatch "${FILESDIR}/010_glibc-2.4.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"
+
+ # Needed by some of the patches
+ WANT_AUTOCONF=2.1 autoconf || die "WANT_AUTOCONF failed"
+}
+
+src_compile() {
+ declare x
+ declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/gecko-sdk"
+
+ ####################################
+ #
+ # 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_enable mozsvg svg
+ mozconfig_use_enable mozsvg svg-renderer-libart
+ use mozsvg && export MOZ_INTERNAL_LIBART_LGPL=1
+ mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}/lib
+ mozconfig_annotate '' --with-user-appdir=.mozilla
+ mozconfig_annotate gentoo --disable-mailnews
+ mozconfig_annotate gentoo --disable-composer
+ mozconfig_annotate gentoo --disable-calendar
+ mozconfig_annotate gentoo --enable-extensions=-irc
+
+ # Finalize and report settings
+ mozconfig_final
+
+ # hardened GCC uses -fstack-protector-all by default, which breaks us
+ has_hardened && append-flags -fno-stack-protector-all
+ replace-flags -fstack-protector-all -fstack-protector
+
+ ####################################
+ #
+ # Configure and build
+ #
+ ####################################
+
+ CPPFLAGS="${CPPFLAGS} -DARON_WAS_HERE" \
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
+ econf || die
+
+ # It would be great if we could pass these in via CPPFLAGS or CFLAGS prior
+ # to econf, but the quotes cause configure to fail.
+ sed -i -e \
+ 's|-DARON_WAS_HERE|-DGENTOO_NSPLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsplugins\\\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\\\"/usr/'"$(get_libdir)"'/nsbrowser/plugins\\\"|' \
+ ${S}/config/autoconf.mk \
+ ${S}/nsprpub/config/autoconf.mk \
+ ${S}/xpfe/global/buildconfig.html
+
+ # Fixup the RPATH
+ sed -i -e \
+ 's|#RPATH_FIXER|'"${MOZILLA_FIVE_HOME}/lib"'|' \
+ ${S}/config/rules.mk \
+ ${S}/nsprpub/config/rules.mk \
+ ${S}/security/coreconf/rules.mk \
+ ${S}/security/coreconf/rules.mk
+
+ # This removes extraneous CFLAGS from the Makefiles to reduce RAM
+ # requirements while compiling
+ edit_makefiles
+
+ emake || die
+
+ ####################################
+ #
+ # Build SDK/GRE (we add all the components/chrome
+ # to make sure that our its full-featured)
+ #
+ ####################################
+
+ cd ${S}/embedding/config
+ # Add extra libs/components/chrome we might need
+ for x in libjsj.so \
+ libgtkxtbin.so \
+ components/\* \
+ components/myspell/\* \
+ chrome/\*.jar \
+ chrome/icons/default/\*; do
+ echo "${x}" >> ${S}/embedding/config/basebrowser-unix
+ done
+ # Make sure we have all needed libs for our components
+ for x in $(LD_LIBRARY_PATH="${S}/dist/bin" ldd ${S}/dist/bin/components/*.so 2>&1 | \
+ awk '$3 ~ "dist/bin" {print $1}' | sort -u) ; do
+ echo "${x}" >> ${S}/embedding/config/basebrowser-unix
+ done
+ # Update installed-chrome.txt
+ rm -f ${S}/embedding/config/installed-chrome.txt
+ cp -f ${S}/dist/bin/chrome/installed-chrome.txt ${S}/embedding/config/
+ # Build the embedded dist
+ emake || die
+}
+
+src_install() {
+ declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/gecko-sdk"
+
+ dodir /usr/$(get_libdir)
+ cp -RL ${S}/dist/sdk ${D}/${MOZILLA_FIVE_HOME}
+ # Also install the embedded dist for galeon, epiphany, etc
+ cp -RL ${S}/dist/idl/* ${D}/${MOZILLA_FIVE_HOME}/idl/
+ cp -RL ${S}/dist/include/* ${D}/${MOZILLA_FIVE_HOME}/include/
+ cp -RL ${S}/dist/Embed/* ${D}/${MOZILLA_FIVE_HOME}/lib/
+ # Default plugin
+ cp -RL ${S}/dist/bin/plugins ${D}/${MOZILLA_FIVE_HOME}/lib/
+
+ exeinto ${MOZILLA_FIVE_HOME}/bin
+ doexe ${S}/dist/bin/regchrome
+ doexe ${FILESDIR}/mozilla-rebuild-databases.pl
+ dosed -e 's|/lib/gecko-sdk|/'"$(get_libdir)"'/gecko-sdk|g' \
+ ${MOZILLA_FIVE_HOME}/mozilla-rebuild-databases.pl
+
+ # Fix mozilla-config and install it
+ sed -i -e "s|/usr/$(get_libdir)/mozilla-${MY_PV}|${MOZILLA_FIVE_HOME}/lib|g
+ s|/usr/include/mozilla-${MY_PV}|${MOZILLA_FIVE_HOME}/include|g
+ s|/usr/share/idl/mozilla-${MY_PV}|${MOZILLA_FIVE_HOME}/idl|g
+ s|\(echo -L.*\)\($\)|\1 -Wl,-rpath,${MOZILLA_FIVE_HOME}/lib\2|" \
+ ${S}/build/unix/mozilla-config
+ exeinto /usr/bin
+ newexe ${S}/build/unix/mozilla-config gecko-sdk-config
+
+ # Fix pkgconfig files and install them
+ insinto /usr/$(get_libdir)/pkgconfig
+ for x in ${S}/build/unix/*.pc; do
+ sed -i -e "s|^libdir=.*|libdir=${MOZILLA_FIVE_HOME}/lib|
+ s|^includedir=.*|includedir=${MOZILLA_FIVE_HOME}/include|
+ s|^idldir=.*|idldir=${MOZILLA_FIVE_HOME}/idl|
+ s|\(Libs:.*\)\($\)|\1 -Wl,-rpath,\${libdir}\2|
+ s|mozilla|gecko-sdk|g" ${x}
+ newins ${x} $(echo "${x##*/}" | sed -e 's:mozilla:gecko-sdk:')
+ done
+
+ # Install docs
+ dodoc ${S}/{LEGAL,LICENSE}
+}
+
+pkg_postinst() {
+ declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/gecko-sdk"
+
+ ${MOZILLA_FIVE_HOME}/bin/mozilla-rebuild-databases.pl
+}
+
+pkg_postrm() {
+ declare MOZILLA_FIVE_HOME="/usr/$(get_libdir)/gecko-sdk"
+
+ [[ -x ${MOZILLA_FIVE_HOME}/bin/mozilla-rebuild-databases.pl ]] && \
+ ${MOZILLA_FIVE_HOME}/bin/mozilla-rebuild-databases.pl
+}