diff options
author | Jory Pratt <anarchy@gentoo.org> | 2006-03-19 15:02:34 +0000 |
---|---|---|
committer | Jory Pratt <anarchy@gentoo.org> | 2006-03-19 15:02:34 +0000 |
commit | 9840dae7967848bd13c0f6ac8c33ac474f8b74fe (patch) | |
tree | 8b96b8240d3e33698e670dbf4809660439c897fc /net-libs | |
parent | Added ~ppc. Bug 126745. (diff) | |
download | gentoo-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')
-rw-r--r-- | net-libs/gecko-sdk/ChangeLog | 8 | ||||
-rw-r--r-- | net-libs/gecko-sdk/Manifest | 53 | ||||
-rw-r--r-- | net-libs/gecko-sdk/files/010_glibc-2.4.patch | 84 | ||||
-rw-r--r-- | net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12-r2 | 9 | ||||
-rw-r--r-- | net-libs/gecko-sdk/gecko-sdk-1.7.12-r2.ebuild | 241 |
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 +} |