New release, GLSA105396. Use libart rather than cairo, bug #106713. Update
authorMartin Schlemmer <azarah@gentoo.org>
Mon, 26 Sep 2005 01:01:15 +0000 (01:01 +0000)
committerMartin Schlemmer <azarah@gentoo.org>
Mon, 26 Sep 2005 01:01:15 +0000 (01:01 +0000)
gtk2 and xft code from upstream to fix various freetype-2.1.9 issues
including printing non-latin. Same for the libart renderer code.
Package-Manager: portage-2.0.52-r1

12 files changed:
net-libs/gecko-sdk/ChangeLog
net-libs/gecko-sdk/Manifest
net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12 [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-1.7.12-libart-freetype.patch [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-1.7.6-gcc4.patch [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-1.7.6-ppc64.patch [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-1.7.8-amd64.patch [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-1.7.8-objectframefix.diff [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-hppa.patch [new file with mode: 0644]
net-libs/gecko-sdk/files/mozilla-stackgrowth.patch [new file with mode: 0644]
net-libs/gecko-sdk/gecko-sdk-1.7.12.ebuild [new file with mode: 0644]

index b9b8b360a57486445dfbd89734bcee21862ba237..20cb813a5a80aeaca9918475872a073641e7f74f 100644 (file)
@@ -1,6 +1,19 @@
 # ChangeLog for net-libs/gecko-sdk
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/gecko-sdk/ChangeLog,v 1.14 2005/07/11 22:02:57 josejx Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/gecko-sdk/ChangeLog,v 1.15 2005/09/26 01:01:15 azarah Exp $
+
+*gecko-sdk-1.7.12 (26 Sep 2005)
+
+  26 Sep 2005; Martin Schlemmer <azarah@gentoo.org>
+  +files/mozilla-1.7.6-gcc4.patch, +files/mozilla-1.7.6-ppc64.patch,
+  +files/mozilla-1.7.8-amd64.patch,
+  +files/mozilla-1.7.8-objectframefix.diff,
+  +files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch,
+  +files/mozilla-1.7.12-libart-freetype.patch, +files/mozilla-hppa.patch,
+  +files/mozilla-stackgrowth.patch, +gecko-sdk-1.7.12.ebuild:
+  New release, GLSA105396. Use libart rather than cairo, bug #106713. Update
+  gtk2 and xft code from upstream to fix various freetype-2.1.9 issues
+  including printing non-latin. Same for the libart renderer code.
 
 *gecko-sdk-1.7.8 (11 Jul 2005)
 
index 70856228c83e98eb91f48c591c0bc49f997f10b1..accd3773aa0a8f0f1755a87e1a054f2f07d64d91 100644 (file)
@@ -1,4 +1,24 @@
-MD5 5a6f53058dc7672f746cb71a89d3ce33 ChangeLog 2291
-MD5 66c156160ef60780ee4c80a28873e766 metadata.xml 250
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+MD5 8b22525bd9a836743abec05930d9543f gecko-sdk-1.7.12.ebuild 6945
 MD5 7297b847a9f0fadad2c55425d8f49f97 gecko-sdk-1.7.8.ebuild 6801
+MD5 e774e3ab3446f71e588ff052fdd95ada ChangeLog 2930
+MD5 66c156160ef60780ee4c80a28873e766 metadata.xml 250
+MD5 b7c78ba7ca0c519d0f3d2b80ab4cdd74 files/mozilla-1.7.6-ppc64.patch 3651
+MD5 f7930e7f2cba691a9b6654b61ba1217e files/mozilla-1.7.12-libart-freetype.patch 2412
+MD5 5b22d0e1ea93923e3e66787c286ad86f files/mozilla-1.7.8-objectframefix.diff 673
+MD5 8f8d70da6eb8cf07acbbb85fb0f08636 files/mozilla-hppa.patch 7863
+MD5 1f71cb3a30531a90fb7d1d3445588ba6 files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch 465
+MD5 278524216669b594ea5b6468a180ed73 files/mozilla-stackgrowth.patch 931
+MD5 eb21396de389b3ef0277d5f95d59c348 files/mozilla-1.7.8-amd64.patch 4020
+MD5 a3ab6ae2213780c0e20c5b9aa8f018e9 files/mozilla-1.7.6-gcc4.patch 1818
+MD5 8047a3fb75a7615d8c40e82de392468f files/digest-gecko-sdk-1.7.12 504
 MD5 5d946445ba7bba30fb129f941bc7e84b files/digest-gecko-sdk-1.7.8 203
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.2 (GNU/Linux)
+
+iD8DBQFDN0jI1ZcsMnZjRyIRAoLtAJ4jDTVP3are/zuC+a/5aYaWDpfLsgCcDNse
+F9gyxhvNJI0rLeU1IQLl+/8=
+=1kQK
+-----END PGP SIGNATURE-----
diff --git a/net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12 b/net-libs/gecko-sdk/files/digest-gecko-sdk-1.7.12
new file mode 100644 (file)
index 0000000..93b4ddc
--- /dev/null
@@ -0,0 +1,7 @@
+MD5 f1ad6adbbc0510eb76d352c94c801fac mozilla-1.7.12-source.tar.bz2 30446836
+MD5 64ba4c6e3b52568468c4f6680ec7e679 ipc-1.1.3.tar.gz 102593
+MD5 50c369ce6d6fcb2d275cd30319a601ff enigmail-0.92.0.tar.gz 377123
+MD5 b4355a5746dde47cf0a7981df1dff998 moz_libart_lgpl-2.3.10p1.tar.bz2 103063
+MD5 7960994910bda4c14a52bc119f9ceefc mozilla-jslibmath-alpha.patch 625
+MD5 855fcb4f3e40bbcc608113ceb11e2ceb mozilla-1.7.12-gtk2xft.patch.bz2 40416
+MD5 a120cd14ade242622387f76875ca9c39 mozilla-1.7.10-nsplugins-v2.patch 1968
diff --git a/net-libs/gecko-sdk/files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch b/net-libs/gecko-sdk/files/mozilla-1.7.12-gtk2xft-link-pangoxft.patch
new file mode 100644 (file)
index 0000000..3b2b58a
--- /dev/null
@@ -0,0 +1,15 @@
+--- mozilla/configure.in.az    2005-09-26 00:07:40.000000000 +0200
++++ mozilla/configure.in       2005-09-26 00:10:56.000000000 +0200
+@@ -3430,9 +3430,10 @@
+ if test "$MOZ_ENABLE_XFT"
+ then
+     AC_DEFINE(MOZ_ENABLE_XFT)
+-    PKG_CHECK_MODULES(MOZ_XFT, xft)
+     if test "$MOZ_ENABLE_GTK2"; then
+-        PKG_CHECK_MODULES(_PANGOCHK, pango >= 1.1.0)
++        PKG_CHECK_MODULES(MOZ_XFT, xft pangoxft >= 1.1.0)
++    else
++        PKG_CHECK_MODULES(MOZ_XFT, xft)
+     fi
+ fi
+ 
diff --git a/net-libs/gecko-sdk/files/mozilla-1.7.12-libart-freetype.patch b/net-libs/gecko-sdk/files/mozilla-1.7.12-libart-freetype.patch
new file mode 100644 (file)
index 0000000..84392bd
--- /dev/null
@@ -0,0 +1,50 @@
+$NetBSD: patch-by,v 1.2 2004/07/05 14:22:42 taya Exp $
+
+diff -ru ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp
+--- ../Orig/mozilla/layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp       2004-03-19 10:36:16.000000000 +0900
++++ ./layout/svg/renderer/src/libart/nsSVGLibartGlyphMetricsFT.cpp     2004-07-04 22:59:19.000000000 +0900
+@@ -155,15 +155,15 @@
+ 
+   static NS_NAMED_LITERAL_STRING(arial, "arial");
+   nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("helvetica"),
+-                                              &arial);
++                                              (nsDependentString *)&arial);
+ 
+   static NS_NAMED_LITERAL_STRING(courier, "courier new");
+   nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("courier"),
+-                                              &courier);
++                                              (nsDependentString *)&courier);
+ 
+   static NS_NAMED_LITERAL_STRING(times, "times new roman");
+   nsSVGLibartGlyphMetricsFT::sFontAliases.Put(NS_LITERAL_STRING("times"),
+-                                              &times);
++                                              (nsDependentString *)&times);
+ }
+ 
+ void NS_FreeSVGLibartGlyphMetricsFTGlobals()
+@@ -440,19 +440,19 @@
+     return;
+   }
+ 
+-  FTC_Image_Desc imageDesc;
+-  imageDesc.font.face_id=(void*)font_data.font_entry.get(); // XXX do we need to addref?
++  FTC_ImageType imageDesc;
++  imageDesc->face_id = (FTC_FaceID)font_data.font_entry.get(); // XXX do we need to addref?
+   float twipstopixel = GetTwipsToPixels();
+   float scale = GetPixelScale();
+-  imageDesc.font.pix_width = (int)((float)(font_data.font.size)*twipstopixel/scale);
+-  imageDesc.font.pix_height = (int)((float)(font_data.font.size)*twipstopixel/scale);
+-  imageDesc.image_type |= ftc_image_grays;
++  imageDesc->width = (int)((float)(font_data.font.size)*twipstopixel/scale);
++  imageDesc->height = (int)((float)(font_data.font.size)*twipstopixel/scale);
++  imageDesc->flags = 0;
+ 
+   // get the face
+   nsresult rv;
+   FTC_Manager mgr;
+   nsSVGLibartFreetype::ft2->GetFTCacheManager(&mgr);
+-  rv = nsSVGLibartFreetype::ft2->ManagerLookupSize(mgr, &imageDesc.font, &mFace, nsnull);
++  rv = nsSVGLibartFreetype::ft2->ManagerLookupFace(mgr, imageDesc->face_id, &mFace);
+   NS_ASSERTION(mFace, "failed to get face/size");
+ }
+ 
diff --git a/net-libs/gecko-sdk/files/mozilla-1.7.6-gcc4.patch b/net-libs/gecko-sdk/files/mozilla-1.7.6-gcc4.patch
new file mode 100644 (file)
index 0000000..2d0a049
--- /dev/null
@@ -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/net-libs/gecko-sdk/files/mozilla-1.7.6-ppc64.patch b/net-libs/gecko-sdk/files/mozilla-1.7.6-ppc64.patch
new file mode 100644 (file)
index 0000000..a2cb235
--- /dev/null
@@ -0,0 +1,113 @@
+--- mozilla.orig/security/coreconf/Linux.mk    2004-02-10 20:33:51.000000000 -0600
++++ mozilla/security/coreconf/Linux.mk 2005-04-01 22:41:04.000000000 -0600
+@@ -54,6 +54,10 @@
+       OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+       CPU_ARCH        = m68k
+ else          
++ifeq ($(OS_TEST),ppc64)
++      OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
++      CPU_ARCH        = ppc64
++else
+ ifeq ($(OS_TEST),ppc)
+       OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+       CPU_ARCH        = ppc
+@@ -117,6 +121,7 @@
+ endif
+ endif
+ endif
++endif
+ 
+ 
+ LIBC_TAG              = _glibc
+@@ -138,7 +143,7 @@
+ OS_PTHREAD = -lpthread 
+ endif
+ 
+-OS_CFLAGS             = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR
++OS_CFLAGS             = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi  -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR
+ OS_LIBS                       = -L/lib $(OS_PTHREAD) -ldl -lc
+ 
+ ifdef USE_PTHREADS
+--- mozilla.orig/nsprpub/pr/src/io/prprf.c     2004-03-08 21:18:19.000000000 -0600
++++ mozilla/nsprpub/pr/src/io/prprf.c  2005-04-16 13:18:10.000000000 -0500
+@@ -51,7 +51,8 @@
+ ** Note: on some platforms va_list is defined as an array,
+ ** and requires array notation.
+ */
+-#if (defined(LINUX) && defined(__x86_64__))
++#if (defined(LINUX) && defined(__x86_64__)) || \
++    (defined(LINUX) && defined(__powerpc64__))
+ #define VARARGS_ASSIGN(foo, bar) __va_copy((foo), (bar))
+ #elif (defined(LINUX) && defined(__powerpc__)) || \
+     (defined(LINUX) && defined(__s390__)) || \
+diff -uNr mozilla.orig/nsprpub/pr/include/md/_linux.cfg mozilla/nsprpub/pr/include/md/_linux.cfg
+--- mozilla.orig/nsprpub/pr/include/md/_linux.cfg      2004-03-08 21:18:20.000000000 -0600
++++ mozilla/nsprpub/pr/include/md/_linux.cfg   2005-04-16 13:02:50.000000000 -0500
+@@ -45,7 +45,52 @@
+ 
+ #define PR_AF_INET6 10  /* same as AF_INET6 */
+ 
+-#ifdef __powerpc__
++#ifdef __powerpc64__
++
++#undef  IS_LITTLE_ENDIAN
++#define IS_BIG_ENDIAN    1
++#define IS_64
++
++#define PR_BYTES_PER_BYTE   1
++#define PR_BYTES_PER_SHORT  2
++#define PR_BYTES_PER_INT    4
++#define PR_BYTES_PER_INT64  8
++#define PR_BYTES_PER_LONG   8
++#define PR_BYTES_PER_FLOAT  4
++#define PR_BYTES_PER_DOUBLE 8
++#define PR_BYTES_PER_WORD   8
++#define PR_BYTES_PER_DWORD  8
++
++#define PR_BITS_PER_BYTE    8
++#define PR_BITS_PER_SHORT   16
++#define PR_BITS_PER_INT     32
++#define PR_BITS_PER_INT64   64
++#define PR_BITS_PER_LONG    64
++#define PR_BITS_PER_FLOAT   32
++#define PR_BITS_PER_DOUBLE  64
++#define PR_BITS_PER_WORD    64
++
++#define PR_BITS_PER_BYTE_LOG2   3
++#define PR_BITS_PER_SHORT_LOG2  4
++#define PR_BITS_PER_INT_LOG2    5
++#define PR_BITS_PER_INT64_LOG2  6
++#define PR_BITS_PER_LONG_LOG2   6
++#define PR_BITS_PER_FLOAT_LOG2  5
++#define PR_BITS_PER_DOUBLE_LOG2 6
++#define PR_BITS_PER_WORD_LOG2   6
++
++#define PR_ALIGN_OF_SHORT   2
++#define PR_ALIGN_OF_INT     4
++#define PR_ALIGN_OF_LONG    8
++#define PR_ALIGN_OF_INT64   8
++#define PR_ALIGN_OF_FLOAT   4
++#define PR_ALIGN_OF_DOUBLE  8
++#define PR_ALIGN_OF_POINTER 8
++#define PR_ALIGN_OF_WORD    8
++#define PR_BYTES_PER_WORD_LOG2   3
++#define PR_BYTES_PER_DWORD_LOG2  3
++
++#elif defined(__powerpc__)
+ 
+ #undef  IS_LITTLE_ENDIAN
+ #define IS_BIG_ENDIAN    1
+diff -uNr mozilla.orig/nsprpub/pr/include/md/_linux.h mozilla/nsprpub/pr/include/md/_linux.h
+--- mozilla.orig/nsprpub/pr/include/md/_linux.h        2004-03-08 21:18:20.000000000 -0600
++++ mozilla/nsprpub/pr/include/md/_linux.h     2005-04-16 13:03:27.000000000 -0500
+@@ -43,7 +43,9 @@
+ 
+ #define PR_LINKER_ARCH        "linux"
+ #define _PR_SI_SYSNAME  "LINUX"
+-#ifdef __powerpc__
++#ifdef __powerpc64__
++#define _PR_SI_ARCHITECTURE "ppc64"
++#elif defined(__powerpc__)
+ #define _PR_SI_ARCHITECTURE "ppc"
+ #elif defined(__alpha)
+ #define _PR_SI_ARCHITECTURE "alpha"
diff --git a/net-libs/gecko-sdk/files/mozilla-1.7.8-amd64.patch b/net-libs/gecko-sdk/files/mozilla-1.7.8-amd64.patch
new file mode 100644 (file)
index 0000000..96215fb
--- /dev/null
@@ -0,0 +1,71 @@
+--- gfx/src/freetype/nsFreeType.cpp    7 Feb 2004 15:22:30 -0000       1.24
++++ mozilla/gfx/src/freetype/nsFreeType.cpp    4 Mar 2005 19:59:53 -0000
+@@ -96,7 +96,7 @@
+ // Define the FreeType2 functions we resolve at run time.
+ // see the comment near nsFreeType2::DoneFace() for more info
+ //
+-#define NS_FT2_OFFSET(f) (int)&((nsFreeType2*)0)->f
++#define NS_FT2_OFFSET(f) (NS_PTR_TO_INT32(&((nsFreeType2*)0)->f))
+ FtFuncList nsFreeType2::FtFuncs [] = {
+   {"FT_Done_Face",            NS_FT2_OFFSET(nsFT_Done_Face),            PR_TRUE},
+   {"FT_Done_FreeType",        NS_FT2_OFFSET(nsFT_Done_FreeType),        PR_TRUE},
+--- netwerk/protocol/http/src/nsHttpConnectionMgr.cpp  1 Sep 2004 23:31:03 -0000       1.7.20.1
++++ mozilla/netwerk/protocol/http/src/nsHttpConnectionMgr.cpp  4 Mar 2005 19:59:57 -0000
+@@ -834,8 +834,8 @@
+ void
+ nsHttpConnectionMgr::OnMsgUpdateParam(nsresult status, void *param)
+ {
+-    PRUint16 name  = (PRUint32(param) & 0xFFFF0000) >> 16;
+-    PRUint16 value =  PRUint32(param) & 0x0000FFFF;
++    PRUint16 name  = (NS_PTR_TO_INT32(param) & 0xFFFF0000) >> 16;
++    PRUint16 value =  NS_PTR_TO_INT32(param) & 0x0000FFFF;
+ 
+     switch (name) {
+     case MAX_CONNECTIONS:
+--- widget/src/gtk2/nsDragService.cpp  30 Oct 2003 01:48:41 -0000      1.5
++++ mozilla/widget/src/gtk2/nsDragService.cpp  4 Mar 2005 20:00:01 -0000
+@@ -838,7 +838,7 @@
+             (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+         listTarget->target = g_strdup(gMimeListType);
+         listTarget->flags = 0;
+-        listTarget->info = (guint)listAtom;
++        listTarget->info = (guint)(NS_PTR_TO_INT32(listAtom));
+         PR_LOG(sDragLm, PR_LOG_DEBUG,
+                ("automatically adding target %s with id %ld\n",
+                listTarget->target, listAtom));
+@@ -877,7 +877,7 @@
+                              (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+                             listTarget->target = g_strdup(gTextUriListType);
+                             listTarget->flags = 0;
+-                            listTarget->info = (guint)listAtom;
++                            listTarget->info = (guint)NS_PTR_TO_INT32(listAtom);
+                             PR_LOG(sDragLm, PR_LOG_DEBUG,
+                                    ("automatically adding target %s with \
+                                    id %ld\n", listTarget->target, listAtom));
+@@ -914,7 +914,7 @@
+                           (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+                         target->target = g_strdup(flavorStr);
+                         target->flags = 0;
+-                        target->info = (guint)atom;
++                        target->info = (guint)NS_PTR_TO_INT32(atom);
+                         PR_LOG(sDragLm, PR_LOG_DEBUG,
+                                ("adding target %s with id %ld\n",
+                                target->target, atom));
+@@ -931,7 +931,7 @@
+                              (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+                             plainTarget->target = g_strdup(kTextMime);
+                             plainTarget->flags = 0;
+-                            plainTarget->info = (guint)plainAtom;
++                            plainTarget->info = (guint)NS_PTR_TO_INT32(plainAtom);
+                             PR_LOG(sDragLm, PR_LOG_DEBUG,
+                                    ("automatically adding target %s with \
+                                    id %ld\n", plainTarget->target, plainAtom));
+@@ -948,7 +948,7 @@
+                              (GtkTargetEntry *)g_malloc(sizeof(GtkTargetEntry));
+                             urlTarget->target = g_strdup(gMozUrlType);
+                             urlTarget->flags = 0;
+-                            urlTarget->info = (guint)urlAtom;
++                            urlTarget->info = (guint)NS_PTR_TO_INT32(urlAtom);
+                             PR_LOG(sDragLm, PR_LOG_DEBUG,
+                                    ("automatically adding target %s with \
+                                    id %ld\n", urlTarget->target, urlAtom));
diff --git a/net-libs/gecko-sdk/files/mozilla-1.7.8-objectframefix.diff b/net-libs/gecko-sdk/files/mozilla-1.7.8-objectframefix.diff
new file mode 100644 (file)
index 0000000..b03b855
--- /dev/null
@@ -0,0 +1,21 @@
+--- layout/html/base/src/nsObjectFrame.cpp.orig        2005-05-15 00:40:19.000000000 +0200
++++ layout/html/base/src/nsObjectFrame.cpp     2005-05-15 00:43:44.000000000 +0200
+@@ -1720,7 +1720,7 @@
+       break;
+ 
+     nsHTMLContainerFrame::CreateViewForFrame(divFrame, this, PR_FALSE);
+-    mFrames.AppendFrame(this, divFrame);
++    // mFrames.AppendFrame(this, divFrame);
+ 
+     rv = NS_NewImageFrame(shell, &imgFrame);
+     if (NS_FAILED(rv))
+@@ -1756,6 +1756,9 @@
+ 
+     if (textFrame)
+       textFrame->Destroy(aPresContext);
++  } else {
++    // Creation of all our anonymous content succeeded.
++    mFrames.AppendFrame(this, divFrame);
+   }
+ 
+   nsCOMPtr<nsISupportsArray> array;
diff --git a/net-libs/gecko-sdk/files/mozilla-hppa.patch b/net-libs/gecko-sdk/files/mozilla-hppa.patch
new file mode 100644 (file)
index 0000000..d874ae1
--- /dev/null
@@ -0,0 +1,232 @@
+diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2004-12-21 13:37:00.503842544 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in      2004-12-21 13:41:49.439917584 +0000
+@@ -167,6 +167,19 @@
+ endif
+ endif
+ 
++#
++# Linux/HPPA/gcc
++#
++ifeq ($(OS_ARCH),Linux)
++ifneq (,$(filter parisc parisc64,$(OS_TEST)))
++#ifeq ($(CC),gcc)  # Do not check for gcc since there is only this compiler on linux for hppa
++CPPSRCS               := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp
++ASFILES               := xptcstubs_asm_parisc_linux.s xptcinvoke_asm_parisc_linux.s
++#endif
++endif
++endif
++
++
+ ######################################################################
+ # M68k
+ ######################################################################
+diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s       1970-01-01 00:00:00.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s    2004-12-21 13:39:03.390160984 +0000
+@@ -0,0 +1,128 @@
++
++      .LEVEL 1.1
++      .text
++      .align 4
++
++framesz:
++      .equ 128
++
++; XPTC_InvokeByIndex(nsISuppots* that, PRUint32 methodIndex,
++;   PRUint32 paramCount, nsXPTCVariant* params);
++
++.globl XPTC_InvokeByIndex
++      .type XPTC_InvokeByIndex, @function
++
++
++XPTC_InvokeByIndex:
++      .PROC
++      .CALLINFO FRAME=72, CALLER,SAVE_RP, SAVE_SP, ENTRY_GR=3
++      .ENTRY
++
++ ; frame marker takes 48 bytes,
++ ; register spill area takes 8 bytes,
++ ; local stack area takes 72 bytes result in 128 bytes total
++
++        STW          %rp,-20(%sp)
++        STW,MA       %r3,128(%sp)
++
++        LDO     -framesz(%r30),%r28
++        STW     %r28,-4(%r30)       ; save previous sp
++        STW     %r19,-32(%r30)
++
++        STW     %r26,-36-framesz(%r30)  ; save argument registers in
++        STW     %r25,-40-framesz(%r30)  ; in PREVIOUS frame
++        STW     %r24,-44-framesz(%r30)  ;
++        STW     %r23,-48-framesz(%r30)  ;
++
++;     B,L     .+8,%r2
++;     ADDIL   L'invoke_count_bytes-$PIC_pcrel$1+4,%r2,%r1
++;    ;    LDO     R'invoke_count_bytes-$PIC_pcrel$2+8(%r1),%r1
++;$PIC_pcrel$1
++;        LDSID   (%r1),%r31
++;$PIC_pcrel$2
++;        MTSP    %r31,%sr0
++
++      .CALL   ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26;out=28
++        BL    invoke_count_bytes,%r31
++        COPY    %r31,%r2
++
++        CMPIB,>=        0,%r28, .+76
++        COPY    %r30,%r3            ; copy stack ptr to saved stack ptr
++        ADD     %r30,%r28,%r30      ; extend stack frame
++        LDW     -4(%r3),%r28        ; move frame
++        STW     %r28,-4(%r30)
++        LDW     -8(%r3),%r28
++        STW     %r28,-8(%r30)
++        LDW     -12(%r3),%r28
++        STW     %r28,-12(%r30)
++        LDW     -16(%r3),%r28
++        STW     %r28,-16(%r30)
++        LDW     -20(%r3),%r28
++        STW     %r28,-20(%r30)
++        LDW     -24(%r3),%r28
++        STW     %r28,-24(%r30)
++        LDW     -28(%r3),%r28
++        STW     %r28,-28(%r30)
++        LDW     -32(%r3),%r28
++        STW     %r28,-32(%r30)
++
++        LDO     -40(%r30),%r26         ; load copy address
++        LDW     -44-framesz(%r3),%r25  ; load rest of 2 arguments
++        LDW     -48-framesz(%r3),%r24  ;
++
++        LDW     -32(%r30),%r19 ; shared lib call destroys r19; reload
++;        B,L     .+8,%r2
++;        ADDIL   L'invoke_copy_to_stack-$PIC_pcrel$3+4,%r2,%r1
++;        LDO     R'invoke_copy_to_stack-$PIC_pcrel$4+8(%r1),%r1
++;$PIC_pcrel$3
++;        LDSID   (%r1),%r31
++;$PIC_pcrel$4
++;        MTSP    %r31,%sr0
++        .CALL   ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26
++        BL    invoke_copy_to_stack,%r31
++        COPY    %r31,%r2
++
++        LDO     -48(%r30),%r20
++        EXTRW,U,= %r28,31,1,%r22
++        FLDD    0(%r20),%fr7  ; load double arg 1
++        EXTRW,U,= %r28,30,1,%r22
++        FLDW    8(%r20),%fr5L ; load float arg 1
++        EXTRW,U,= %r28,29,1,%r22
++        FLDW    4(%r20),%fr6L ; load float arg 2
++        EXTRW,U,= %r28,28,1,%r22
++        FLDW    0(%r20),%fr7L ; load float arg 3
++
++        LDW     -36-framesz(%r3),%r26  ; load ptr to 'that'
++        LDW     -40(%r30),%r25  ; load the rest of dispatch argument registers
++        LDW     -44(%r30),%r24
++        LDW     -48(%r30),%r23
++
++        LDW     -36-framesz(%r3),%r20  ; load vtable addr
++        LDW     -40-framesz(%r3),%r28  ; load index
++        LDW     0(%r20),%r20    ; follow vtable
++;        LDO     0(%r20),%r20   ; offset vtable by 16 bytes (g++: 8, aCC: 16)
++        SH2ADDL %r28,%r20,%r28  ; add 4*index to vtable entry
++        LDW     0(%r28),%r22    ; load vtable entry
++
++;        B,L     .+8,%r2
++;        ADDIL   L'$$dyncall_external-$PIC_pcrel$5+4,%r2,%r1
++;        LDO     R'$$dyncall_external-$PIC_pcrel$6+8(%r1),%r1
++;$PIC_pcrel$5
++;        LDSID   (%r1),%r31
++;$PIC_pcrel$6
++;        MTSP    %r31,%sr0
++        .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=22-26;out=28;
++        BL    $$dyncall,%r31
++        COPY    %r31,%r2
++
++        LDW     -32(%r30),%r19
++        COPY    %r3,%r30              ; restore saved stack ptr
++
++        LDW          -148(%sp),%rp
++        LDWM       -128(%sp),%r3
++      BV,N             (%rp)
++      NOP
++   .EXIT
++  .PROCEND  ;in=23,24,25,26;
++  .SIZE XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
++
+diff -uNr mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s
+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s        1970-01-01 00:00:00.000000000 +0000
++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s     2004-12-21 13:39:03.392160680 +0000
+@@ -0,0 +1,73 @@
++        .LEVEL  1.1
++      .TEXT
++      .ALIGN 4
++
++curframesz:
++      .EQU 128
++
++
++; SharedStub has stack size of 128 bytes
++
++lastframesz:
++      .EQU 64
++
++; the StubN C++ function has a small stack size of 64 bytes
++
++
++.globl SharedStub
++      .type SharedStub, @function
++
++SharedStub:
++        .PROC
++        .CALLINFO CALLER,FRAME=80,SAVE_RP
++
++  .ENTRY
++        STW     %rp,-20(%sp)
++        LDO     128(%sp),%sp
++
++        STW     %r19,-32(%r30)
++        STW     %r26,-36-curframesz(%r30) ; save arg0 in previous frame
++
++        LDO     -80(%r30),%r28
++        FSTD,MA %fr5,8(%r28)   ; save darg0
++        FSTD,MA %fr7,8(%r28)   ; save darg1
++        FSTW,MA %fr4L,4(%r28)  ; save farg0
++        FSTW,MA %fr5L,4(%r28)  ; save farg1
++        FSTW,MA %fr6L,4(%r28)  ; save farg2
++        FSTW,MA %fr7L,4(%r28)  ; save farg3
++
++        ; Former value of register 26 is already properly saved by StubN,
++        ; but register 25-23 are not because of the arguments mismatch
++        STW     %r25,-40-curframesz-lastframesz(%r30) ; save r25
++        STW     %r24,-44-curframesz-lastframesz(%r30) ; save r24
++        STW     %r23,-48-curframesz-lastframesz(%r30) ; save r23
++        COPY    %r26,%r25                             ; method index is arg1
++        LDW     -36-curframesz-lastframesz(%r30),%r26 ; self is arg0
++        LDO     -40-curframesz-lastframesz(%r30),%r24 ; normal args is arg2
++        LDO     -80(%r30),%r23                        ; floating args is arg3
++
++;       BL      .+8,%r2
++;       ADDIL   L'PrepareAndDispatch-$PIC_pcrel$0+4,%r2
++;        LDO     R'PrepareAndDispatch-$PIC_pcrel$1+8(%r1),%r1
++;$PIC_pcrel$0
++;        LDSID   (%r1),%r31
++;$PIC_pcrel$1
++;        MTSP    %r31,%sr0
++        .CALL   ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=23-26;out=28;
++        BL     PrepareAndDispatch, %r31
++        COPY    %r31,%r2
++
++        LDW     -32(%r30),%r19
++
++        LDW     -148(%sp),%rp
++        LDO     -128(%sp),%sp
++
++
++      BV,N     (%rp)
++      NOP
++      NOP
++
++      .EXIT
++        .PROCEND        ;in=26;out=28;
++
++      .SIZE SharedStub, .-SharedStub
diff --git a/net-libs/gecko-sdk/files/mozilla-stackgrowth.patch b/net-libs/gecko-sdk/files/mozilla-stackgrowth.patch
new file mode 100644 (file)
index 0000000..af226b2
--- /dev/null
@@ -0,0 +1,37 @@
+--- js/src/jscpucfg.c  15 Nov 2003 00:10:56 -0000      3.21
++++ js/src/jscpucfg.c  22 Oct 2004 05:45:36 -0000
+@@ -153,19 +153,34 @@ static int Log2(unsigned int n)
+  */
+ static void BitsPerByte(void)
+ {
+     bpb = 8;
+ }
+ 
++#ifdef __GNUC__
++#if (__GNUC__ > 2)
++__attribute__((noinline))
++#endif
++static int StackGrowthDirection(int *dummy1addr)
++{
++    int *dummy2 = alloca (sizeof (int));
++
++    return (dummy2 < dummy1addr) ? -1 : 1;
++}
++
++#else /* __GNUC__ */
++
+ static int StackGrowthDirection(int *dummy1addr)
+ {
+     int dummy2;
+ 
+     return (&dummy2 < dummy1addr) ? -1 : 1;
+ }
+ 
++#endif /* __GNUC__ */
++
+ int main(int argc, char **argv)
+ {
+     int sizeof_char, sizeof_short, sizeof_int, sizeof_int64, sizeof_long,
+         sizeof_float, sizeof_double, sizeof_word, sizeof_dword;
+     int bits_per_int64_log2, align_of_short, align_of_int, align_of_long,
+         align_of_int64, align_of_float, align_of_double, align_of_pointer,
diff --git a/net-libs/gecko-sdk/gecko-sdk-1.7.12.ebuild b/net-libs/gecko-sdk/gecko-sdk-1.7.12.ebuild
new file mode 100644 (file)
index 0000000..736ff5a
--- /dev/null
@@ -0,0 +1,216 @@
+# Copyright 1999-2005 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.ebuild,v 1.1 2005/09/26 01:01:15 azarah 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.
+inherit flag-o-matic toolchain-funcs eutils mozconfig mozilla-launcher makeedit multilib
+
+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-jslibmath-alpha.patch
+       mirror://gentoo/mozilla-1.7.12-gtk2xft.patch.bz2
+       http://dev.gentoo.org/~azarah/mozilla/mozilla-1.7.12-gtk2xft.patch.bz2
+       http://dev.gentoo.org/~agriffis/dist/mozilla-1.7.10-nsplugins-v2.patch"
+
+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
+       cd ${S} || die
+
+       if use mozsvg; then
+               cd ${S}/other-licenses
+               unpack moz_libart_lgpl-${SVGVER}.tar.bz2
+       fi
+       cd ${S}
+
+       ####################################
+       #
+       # architecture patches
+       #
+       ####################################
+
+       if [[ $(gcc-major-version) -eq 3 ]]; then
+               # ABI Patch for alpha/xpcom for gcc-3.x
+               if [[ ${ARCH} == alpha ]]; then
+                       epatch ${FILESDIR}/mozilla-alpha-xpcom-subs-fix.patch
+               fi
+       fi
+
+       # HPPA patches from Ivar <orskaug@stud.ntnu.no>
+       # <gmsoft@gentoo.org> (22 Dec 2004)
+       epatch ${FILESDIR}/mozilla-hppa.patch
+
+       # patch to fix math operations on alpha, makes maps.google.com work!
+       epatch ${DISTDIR}/mozilla-jslibmath-alpha.patch
+
+       # Patch to allow compilation on ppc64 - bug #54843
+       use ppc64 && epatch ${FILESDIR}/mozilla-1.7.6-ppc64.patch
+
+       # Fix building on amd64 with gcc4 (patch from Debian)
+       epatch ${FILESDIR}/mozilla-1.7.8-amd64.patch
+
+       ####################################
+       #
+       # general compilation and run-time fixes
+       #
+       ####################################
+
+       # GCC4 compile fix, bug #87800
+       epatch ${FILESDIR}/mozilla-1.7.6-gcc4.patch
+
+       # Fix stack growth logic
+       epatch ${FILESDIR}/mozilla-stackgrowth.patch
+
+       # Rather use gtk2+xft than freetype for font rendering, and add patch
+       # from mozilla bugzilla to improve printing.
+       # https://bugzilla.mozilla.org/show_bug.cgi?id=215219#c113
+       epatch ${DISTDIR}/mozilla-1.7.12-gtk2xft.patch.bz2
+       # Fix for above
+       epatch ${FILESDIR}/mozilla-1.7.12-gtk2xft-link-pangoxft.patch
+
+       # Fix libart SVG renderer building against newer freetype2
+       epatch ${FILESDIR}/mozilla-1.7.12-libart-freetype.patch
+
+       ####################################
+       #
+       # behavioral fixes
+       #
+       ####################################
+
+       # Mozilla Bug 292257, https://bugzilla.mozilla.org/show_bug.cgi?id=292257
+       # Mozilla crashes under some rare cases when plugin.default_plugin_disabled
+       # is true. This patch fixes that. Backported by hansmi@gentoo.org.
+       epatch ${FILESDIR}/mozilla-1.7.8-objectframefix.diff
+
+       # 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"
+
+       # look in /usr/lib/nsplugins for plugins, in addition to the usual places
+       epatch ${DISTDIR}/mozilla-1.7.10-nsplugins-v2.patch
+
+       ####################################
+       #
+       # security fixes
+       #
+       ####################################
+
+       # Needed by some of the patches
+       WANT_AUTOCONF=2.1 autoconf || die "WANT_AUTOCONF failed"
+}
+
+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 postgres sql
+       if use postgres ; then
+               export MOZ_ENABLE_PGSQL=1
+               export MOZ_PGSQL_INCLUDES=/usr/include
+               export MOZ_PGSQL_LIBS=/usr/$(get_libdir)
+       fi
+       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-libart
+       use mozsvg && export MOZ_INTERNAL_LIBART_LGPL=1
+       mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}
+       mozconfig_annotate '' --with-user-appdir=.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
+
+       # 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
+
+       # This removes extraneous CFLAGS from the Makefiles to reduce RAM
+       # requirements while compiling
+       edit_makefiles
+
+       emake || die
+}
+
+src_install() {
+       cd ${S}/dist
+       mkdir -p ${D}/usr/$(get_libdir)
+       cp -RL sdk ${D}/usr/$(get_libdir)/gecko-sdk
+}