1 |
armin76 07/11/29 18:24:10 |
2 |
|
3 |
Added: 000_flex-configure-LANG.patch |
4 |
001_firefox-1.0-prdtoa.patch |
5 |
002_seamonkey-disable-visibility.patch |
6 |
003_firefox-arm.patch 004_mozilla-hppa.patch |
7 |
005_mozilla-firefox-1.1a2-ia64.patch |
8 |
007_seamonkey-1.0.1-dumpstack.patch |
9 |
008_seamonkey-gentoo-pkgconfig.patch |
10 |
009_firefox-gdkpango.patch |
11 |
010_visibility-gcc-4.2.patch |
12 |
020_firefox-0.7.3-default-plugin-less-annoying.patch |
13 |
021_seamonkey-1.1-include-cairo-libs.patch |
14 |
030_pango-cairo-1.patch |
15 |
031_firefox-1.1-uriloader-1.patch |
16 |
032_firefox-2.0_ppc64-1.patch |
17 |
033_firefox-2.0_ppc_powerpc.patch |
18 |
050_respect-host-variable.patch |
19 |
055_firefox-2.0_gfbsd-pthreads.patch |
20 |
063_mozilla-rpath-3.patch |
21 |
064_mozilla-1.7.10-nsplugins-v2.patch |
22 |
101_thunderbird-0.7.3-gnome-uriloader.patch |
23 |
220_seamonkey-gentoo-homepage.patch |
24 |
225_mozilla-nspr-packages.patch |
25 |
301_mozilla-1.7.3-gnome-vfs-default-app.patch |
26 |
303_mozilla-1.7.13-as-needed.patch |
27 |
304_mozilla-1.7.5-g-application-name.patch |
28 |
Log: |
29 |
Add patches for 1.1.6 |
30 |
|
31 |
Revision Changes Path |
32 |
1.1 src/patchsets/seamonkey/1.1.6/000_flex-configure-LANG.patch |
33 |
|
34 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/000_flex-configure-LANG.patch?rev=1.1&view=markup |
35 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/000_flex-configure-LANG.patch?rev=1.1&content-type=text/plain |
36 |
|
37 |
Index: 000_flex-configure-LANG.patch |
38 |
=================================================================== |
39 |
The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in |
40 |
option parsing, it may break. |
41 |
|
42 |
http://bugs.gentoo.org/103483 |
43 |
|
44 |
--- configure |
45 |
+++ configure |
46 |
@@ -54,6 +54,16 @@ |
47 |
infodir='${prefix}/info' |
48 |
mandir='${prefix}/man' |
49 |
|
50 |
+# NLS nuisances. |
51 |
+# Only set these to C if already set. These must not be set unconditionally |
52 |
+# because not all systems understand e.g. LANG=C (notably SCO). |
53 |
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! |
54 |
+# Non-C LC_CTYPE values break the ctype check. |
55 |
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi |
56 |
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi |
57 |
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi |
58 |
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi |
59 |
+ |
60 |
# Initialize some other variables. |
61 |
subdirs= |
62 |
MFLAGS= MAKEFLAGS= |
63 |
@@ -452,16 +463,6 @@ |
64 |
esac |
65 |
done |
66 |
|
67 |
-# NLS nuisances. |
68 |
-# Only set these to C if already set. These must not be set unconditionally |
69 |
-# because not all systems understand e.g. LANG=C (notably SCO). |
70 |
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! |
71 |
-# Non-C LC_CTYPE values break the ctype check. |
72 |
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi |
73 |
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi |
74 |
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi |
75 |
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi |
76 |
- |
77 |
# confdefs.h avoids OS command line length limits that DEFS can exceed. |
78 |
rm -rf conftest* confdefs.h |
79 |
# AIX cpp loses on an empty file, so make sure it contains at least a newline. |
80 |
|
81 |
|
82 |
|
83 |
1.1 src/patchsets/seamonkey/1.1.6/001_firefox-1.0-prdtoa.patch |
84 |
|
85 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/001_firefox-1.0-prdtoa.patch?rev=1.1&view=markup |
86 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/001_firefox-1.0-prdtoa.patch?rev=1.1&content-type=text/plain |
87 |
|
88 |
Index: 001_firefox-1.0-prdtoa.patch |
89 |
=================================================================== |
90 |
Index: nsprpub/pr/src/misc/Makefile.in |
91 |
=================================================================== |
92 |
RCS file: /cvsroot/mozilla/nsprpub/pr/src/misc/Makefile.in,v |
93 |
retrieving revision 1.15.2.2 |
94 |
diff -u -r1.15.2.2 Makefile.in |
95 |
--- nsprpub/pr/src/misc/Makefile.in 6 Jun 2003 03:09:17 -0000 1.15.2.2 |
96 |
+++ nsprpub/pr/src/misc/Makefile.in 19 Nov 2004 00:58:35 -0000 |
97 |
@@ -82,6 +82,15 @@ |
98 |
|
99 |
include $(topsrcdir)/config/rules.mk |
100 |
|
101 |
+ifneq (,$(filter Linuxs390 Linuxs390x,$(OS_ARCH)$(OS_TEST))) |
102 |
+ |
103 |
+NONOPT_CFLAGS=$(filter-out -O%, $(CFLAGS)) |
104 |
+ |
105 |
+$(OBJDIR)/prdtoa.$(OBJ_SUFFIX): prdtoa.c |
106 |
+ @$(MAKE_OBJDIR) |
107 |
+ $(CC) -o $@ -c $(NONOPT_CFLAGS) -ffloat-store $< |
108 |
+endif |
109 |
+ |
110 |
# Prevent floating point errors caused by MSVC 6.0 Processor Pack |
111 |
# optimizations (bug 207421). This disables optimizations that |
112 |
# could change the precision of floating-point calculations for |
113 |
|
114 |
|
115 |
|
116 |
1.1 src/patchsets/seamonkey/1.1.6/002_seamonkey-disable-visibility.patch |
117 |
|
118 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/002_seamonkey-disable-visibility.patch?rev=1.1&view=markup |
119 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/002_seamonkey-disable-visibility.patch?rev=1.1&content-type=text/plain |
120 |
|
121 |
Index: 002_seamonkey-disable-visibility.patch |
122 |
=================================================================== |
123 |
Index: mozilla/configure.in |
124 |
=================================================================== |
125 |
RCS file: /cvsroot/mozilla/configure.in,v |
126 |
retrieving revision 1.1503.2.15.2.3 |
127 |
diff -u -r1.1503.2.15.2.3 configure.in |
128 |
--- mozilla/configure.in 10 Jan 2006 03:11:42 -0000 1.1503.2.15.2.3 |
129 |
+++ mozilla/configure.in 21 Jan 2006 09:00:24 -0000 |
130 |
@@ -2383,7 +2383,7 @@ |
131 |
dnl Check for .hidden assembler directive and visibility attribute. |
132 |
dnl Borrowed from glibc configure.in |
133 |
dnl =============================================================== |
134 |
-if test "$GNU_CC"; then |
135 |
+if /bin/false; then |
136 |
AC_CACHE_CHECK(for visibility(hidden) attribute, |
137 |
ac_cv_visibility_hidden, |
138 |
[cat > conftest.c <<EOF |
139 |
|
140 |
|
141 |
|
142 |
1.1 src/patchsets/seamonkey/1.1.6/003_firefox-arm.patch |
143 |
|
144 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/003_firefox-arm.patch?rev=1.1&view=markup |
145 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/003_firefox-arm.patch?rev=1.1&content-type=text/plain |
146 |
|
147 |
Index: 003_firefox-arm.patch |
148 |
=================================================================== |
149 |
# Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=336183 |
150 |
|
151 |
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2006-05-17 02:02:51.000000000 -0400 |
152 |
+++ mozilla-16052006/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2006-05-17 01:17:16.000000000 -0400 |
153 |
@@ -39,18 +39,31 @@ |
154 |
/* Implement shared vtbl methods. */ |
155 |
|
156 |
#include "xptcprivate.h" |
157 |
|
158 |
#if !defined(LINUX) || !defined(__arm__) |
159 |
#error "This code is for Linux ARM only. Please check if it works for you, too.\nDepends strongly on gcc behaviour." |
160 |
#endif |
161 |
|
162 |
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) |
163 |
+/* This tells gcc3.4+ not to optimize away symbols. |
164 |
+ * @see http://gcc.gnu.org/gcc-3.4/changes.html |
165 |
+ */ |
166 |
+#define DONT_DROP_OR_WARN __attribute__((used)) |
167 |
+#else |
168 |
+/* This tells older gccs not to warn about unused vairables. |
169 |
+ * @see http://docs.freebsd.org/info/gcc/gcc.info.Variable_Attributes.html |
170 |
+ */ |
171 |
+#define DONT_DROP_OR_WARN __attribute__((unused)) |
172 |
+#endif |
173 |
+ |
174 |
/* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ |
175 |
-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); |
176 |
+static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch") |
177 |
+DONT_DROP_OR_WARN; |
178 |
|
179 |
static nsresult |
180 |
PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) |
181 |
{ |
182 |
#define PARAM_BUFFER_COUNT 16 |
183 |
|
184 |
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; |
185 |
nsXPTCMiniVariant* dispatchParams = NULL; |
186 |
|
187 |
|
188 |
|
189 |
1.1 src/patchsets/seamonkey/1.1.6/004_mozilla-hppa.patch |
190 |
|
191 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/004_mozilla-hppa.patch?rev=1.1&view=markup |
192 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/004_mozilla-hppa.patch?rev=1.1&content-type=text/plain |
193 |
|
194 |
Index: 004_mozilla-hppa.patch |
195 |
=================================================================== |
196 |
# Original patch just cleaned up, Author on original patch was Randolph Chung (tausq@××××××.org) |
197 |
# Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=287150 |
198 |
|
199 |
Index: xpcom/reflect/xptcall/src/md/unix/Makefile.in |
200 |
=================================================================== |
201 |
RCS file: /cvsroot/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in,v |
202 |
retrieving revision 1.92 |
203 |
diff -u -B -u -8 -p -r1.92 Makefile.in |
204 |
--- xpcom/reflect/xptcall/src/md/unix/Makefile.in 14 Dec 2006 19:13:43 -0000 1.92 |
205 |
+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in 3 Jan 2007 18:20:44 -0000 |
206 |
@@ -185,16 +185,29 @@ CPPSRCS := xptcinvoke_ipf32.cpp xptcstu |
207 |
ASFILES := xptcstubs_asm_ipf32.s xptcinvoke_asm_ipf32.s |
208 |
endif |
209 |
|
210 |
# #18875 Building the CPP's (CXX) optimized causes a crash |
211 |
CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS)) |
212 |
endif |
213 |
endif |
214 |
|
215 |
+# |
216 |
+# Linux/HPPA/gcc |
217 |
+# |
218 |
+ifeq ($(OS_ARCH),Linux) |
219 |
+ifneq (,$(filter parisc parisc64,$(OS_TEST))) |
220 |
+#ifeq ($(CC),gcc) # Do not check for gcc since there is only this compiler on linux for hppa |
221 |
+CPPSRCS := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp |
222 |
+ASFILES := xptcstubs_asm_parisc_linux.s xptcinvoke_asm_parisc_linux.s |
223 |
+#endif |
224 |
+endif |
225 |
+endif |
226 |
+ |
227 |
+ |
228 |
###################################################################### |
229 |
# M68k |
230 |
###################################################################### |
231 |
# |
232 |
# NetBSD/m68k |
233 |
# |
234 |
ifeq ($(OS_ARCH),NetBSD) |
235 |
ifneq (,$(filter amiga atari hp300 mac68k mvme68k next68k sun3 sun3x x68k,$(OS_TEST))) |
236 |
Index: xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s |
237 |
=================================================================== |
238 |
RCS file: xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s |
239 |
diff -N xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s |
240 |
--- /dev/null 1 Jan 1970 00:00:00 -0000 |
241 |
+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_parisc_linux.s 3 Jan 2007 18:20:44 -0000 |
242 |
@@ -0,0 +1,102 @@ |
243 |
+ |
244 |
+ .LEVEL 1.1 |
245 |
+ .text |
246 |
+ .align 4 |
247 |
+ |
248 |
+framesz: |
249 |
+ .equ 128 |
250 |
+ |
251 |
+.globl XPTC_InvokeByIndex |
252 |
+ .type XPTC_InvokeByIndex, @function |
253 |
+ |
254 |
+ |
255 |
+XPTC_InvokeByIndex: |
256 |
+ .PROC |
257 |
+ .CALLINFO FRAME=72, CALLER,SAVE_RP, SAVE_SP, ENTRY_GR=3 |
258 |
+ .ENTRY |
259 |
+ |
260 |
+ ; frame marker takes 48 bytes, |
261 |
+ ; register spill area takes 8 bytes, |
262 |
+ ; local stack area takes 72 bytes result in 128 bytes total |
263 |
+ |
264 |
+ STW %rp,-20(%sp) |
265 |
+ STW,MA %r3,128(%sp) |
266 |
+ |
267 |
+ LDO -framesz(%r30),%r28 |
268 |
+ STW %r28,-4(%r30) ; save previous sp |
269 |
+ STW %r19,-32(%r30) |
270 |
+ |
271 |
+ STW %r26,-36-framesz(%r30) ; save argument registers in |
272 |
+ STW %r25,-40-framesz(%r30) ; in PREVIOUS frame |
273 |
+ STW %r24,-44-framesz(%r30) ; |
274 |
+ STW %r23,-48-framesz(%r30) ; |
275 |
+ |
276 |
+ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26;out=28 |
277 |
+ BL invoke_count_bytes,%r31 |
278 |
+ COPY %r31,%r2 |
279 |
+ |
280 |
+ CMPIB,>= 0,%r28, .+76 |
281 |
+ COPY %r30,%r3 ; copy stack ptr to saved stack ptr |
282 |
+ ADD %r30,%r28,%r30 ; extend stack frame |
283 |
+ LDW -4(%r3),%r28 ; move frame |
284 |
+ STW %r28,-4(%r30) |
285 |
+ LDW -8(%r3),%r28 |
286 |
+ STW %r28,-8(%r30) |
287 |
+ LDW -12(%r3),%r28 |
288 |
+ STW %r28,-12(%r30) |
289 |
+ LDW -16(%r3),%r28 |
290 |
+ STW %r28,-16(%r30) |
291 |
+ LDW -20(%r3),%r28 |
292 |
+ STW %r28,-20(%r30) |
293 |
+ LDW -24(%r3),%r28 |
294 |
+ STW %r28,-24(%r30) |
295 |
+ LDW -28(%r3),%r28 |
296 |
+ STW %r28,-28(%r30) |
297 |
+ LDW -32(%r3),%r28 |
298 |
+ STW %r28,-32(%r30) |
299 |
+ |
300 |
+ LDO -40(%r30),%r26 ; load copy address |
301 |
+ LDW -44-framesz(%r3),%r25 ; load rest of 2 arguments |
302 |
+ LDW -48-framesz(%r3),%r24 ; |
303 |
+ |
304 |
+ LDW -32(%r30),%r19 ; shared lib call destroys r19; reload |
305 |
+ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR ;in=24,25,26 |
306 |
+ BL invoke_copy_to_stack,%r31 |
307 |
+ COPY %r31,%r2 |
308 |
+ |
309 |
+ LDO -48(%r30),%r20 |
310 |
+ EXTRW,U,= %r28,31,1,%r22 |
311 |
+ FLDD 0(%r20),%fr7 ; load double arg 1 |
312 |
+ EXTRW,U,= %r28,30,1,%r22 |
313 |
+ FLDW 8(%r20),%fr5L ; load float arg 1 |
314 |
+ EXTRW,U,= %r28,29,1,%r22 |
315 |
+ FLDW 4(%r20),%fr6L ; load float arg 2 |
316 |
+ EXTRW,U,= %r28,28,1,%r22 |
317 |
+ FLDW 0(%r20),%fr7L ; load float arg 3 |
318 |
+ |
319 |
+ LDW -36-framesz(%r3),%r26 ; load ptr to 'that' |
320 |
+ LDW -40(%r30),%r25 ; load the rest of dispatch argument registers |
321 |
+ LDW -44(%r30),%r24 |
322 |
+ LDW -48(%r30),%r23 |
323 |
+ |
324 |
+ LDW -36-framesz(%r3),%r20 ; load vtable addr |
325 |
+ LDW -40-framesz(%r3),%r28 ; load index |
326 |
+ LDW 0(%r20),%r20 ; follow vtable |
327 |
+ SH2ADDL %r28,%r20,%r28 ; add 4*index to vtable entry |
328 |
+ LDW 0(%r28),%r22 ; load vtable entry |
329 |
+ |
330 |
+ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=22-26;out=28; |
331 |
+ BL $$dyncall,%r31 |
332 |
+ COPY %r31,%r2 |
333 |
+ |
334 |
+ LDW -32(%r30),%r19 |
335 |
+ COPY %r3,%r30 ; restore saved stack ptr |
336 |
+ |
337 |
+ LDW -148(%sp),%rp |
338 |
+ LDWM -128(%sp),%r3 |
339 |
+ BV,N (%rp) |
340 |
+ NOP |
341 |
+ .EXIT |
342 |
+ .PROCEND ;in=23,24,25,26; |
343 |
+ .SIZE XPTC_InvokeByIndex, .-XPTC_InvokeByIndex |
344 |
+ |
345 |
Index: xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s |
346 |
=================================================================== |
347 |
RCS file: xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s |
348 |
diff -N xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s |
349 |
--- /dev/null 1 Jan 1970 00:00:00 -0000 |
350 |
+++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_parisc_linux.s 3 Jan 2007 18:20:44 -0000 |
351 |
@@ -0,0 +1,66 @@ |
352 |
+ .LEVEL 1.1 |
353 |
+ .TEXT |
354 |
+ .ALIGN 4 |
355 |
+ |
356 |
+curframesz: |
357 |
+ .EQU 128 |
358 |
+ |
359 |
+ |
360 |
+; SharedStub has stack size of 128 bytes |
361 |
+ |
362 |
+lastframesz: |
363 |
+ .EQU 64 |
364 |
+ |
365 |
+; the StubN C++ function has a small stack size of 64 bytes |
366 |
+ |
367 |
+ |
368 |
+.globl SharedStub |
369 |
+ .type SharedStub, @function |
370 |
+ |
371 |
+SharedStub: |
372 |
+ .PROC |
373 |
+ .CALLINFO CALLER,FRAME=80,SAVE_RP |
374 |
+ |
375 |
+ .ENTRY |
376 |
+ STW %rp,-20(%sp) |
377 |
+ LDO 128(%sp),%sp |
378 |
+ |
379 |
+ STW %r19,-32(%r30) |
380 |
+ STW %r26,-36-curframesz(%r30) ; save arg0 in previous frame |
381 |
+ |
382 |
+ LDO -80(%r30),%r28 |
383 |
+ FSTD,MA %fr5,8(%r28) ; save darg0 |
384 |
+ FSTD,MA %fr7,8(%r28) ; save darg1 |
385 |
+ FSTW,MA %fr4L,4(%r28) ; save farg0 |
386 |
+ FSTW,MA %fr5L,4(%r28) ; save farg1 |
387 |
+ FSTW,MA %fr6L,4(%r28) ; save farg2 |
388 |
+ FSTW,MA %fr7L,4(%r28) ; save farg3 |
389 |
+ |
390 |
+ ; Former value of register 26 is already properly saved by StubN, |
391 |
+ ; but register 25-23 are not because of the arguments mismatch |
392 |
+ STW %r25,-40-curframesz-lastframesz(%r30) ; save r25 |
393 |
+ STW %r24,-44-curframesz-lastframesz(%r30) ; save r24 |
394 |
+ STW %r23,-48-curframesz-lastframesz(%r30) ; save r23 |
395 |
+ COPY %r26,%r25 ; method index is arg1 |
396 |
+ LDW -36-curframesz-lastframesz(%r30),%r26 ; self is arg0 |
397 |
+ LDO -40-curframesz-lastframesz(%r30),%r24 ; normal args is arg2 |
398 |
+ LDO -80(%r30),%r23 ; floating args is arg3 |
399 |
+ |
400 |
+ .CALL ARGW0=GR,ARGW1=GR,ARGW2=GR,ARGW3=GR,RTNVAL=GR ;in=23-26;out=28; |
401 |
+ BL PrepareAndDispatch, %r31 |
402 |
+ COPY %r31,%r2 |
403 |
+ |
404 |
+ LDW -32(%r30),%r19 |
405 |
+ |
406 |
+ LDW -148(%sp),%rp |
407 |
+ LDO -128(%sp),%sp |
408 |
+ |
409 |
+ |
410 |
+ BV,N (%rp) |
411 |
+ NOP |
412 |
+ NOP |
413 |
+ |
414 |
+ .EXIT |
415 |
+ .PROCEND ;in=26;out=28; |
416 |
+ |
417 |
+ .SIZE SharedStub, .-SharedStub |
418 |
|
419 |
|
420 |
|
421 |
1.1 src/patchsets/seamonkey/1.1.6/005_mozilla-firefox-1.1a2-ia64.patch |
422 |
|
423 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/005_mozilla-firefox-1.1a2-ia64.patch?rev=1.1&view=markup |
424 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/005_mozilla-firefox-1.1a2-ia64.patch?rev=1.1&content-type=text/plain |
425 |
|
426 |
Index: 005_mozilla-firefox-1.1a2-ia64.patch |
427 |
=================================================================== |
428 |
--- mozilla.orig/extensions/transformiix/source/base/Double.cpp |
429 |
+++ mozilla/extensions/transformiix/source/base/Double.cpp |
430 |
@@ -75,14 +75,7 @@ |
431 |
#define CPU_IS_ARM |
432 |
#endif |
433 |
|
434 |
-#if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2 |
435 |
-/** |
436 |
- * This version of the macros is safe for the alias optimizations |
437 |
- * that gcc does, but uses gcc-specific extensions. |
438 |
- */ |
439 |
- |
440 |
typedef union txdpun { |
441 |
- PRFloat64 d; |
442 |
struct { |
443 |
#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM) |
444 |
PRUint32 lo, hi; |
445 |
@@ -90,8 +83,14 @@ |
446 |
PRUint32 hi, lo; |
447 |
#endif |
448 |
} s; |
449 |
+ PRFloat64 d; |
450 |
} txdpun; |
451 |
|
452 |
+#if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2 |
453 |
+/** |
454 |
+ * This version of the macros is safe for the alias optimizations |
455 |
+ * that gcc does, but uses gcc-specific extensions. |
456 |
+ */ |
457 |
#define TX_DOUBLE_HI32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.hi; })) |
458 |
#define TX_DOUBLE_LO32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.lo; })) |
459 |
|
460 |
@@ -117,20 +116,20 @@ |
461 |
|
462 |
//-- Initialize Double related constants |
463 |
#ifdef IS_BIG_ENDIAN |
464 |
-const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, |
465 |
- 0xffffffff}; |
466 |
-const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0}; |
467 |
-const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}; |
468 |
+const txdpun nanMask = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, |
469 |
+ 0xffffffff}; |
470 |
+const txdpun infMask = {TX_DOUBLE_HI32_EXPMASK, 0}; |
471 |
+const txdpun negInfMask = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}; |
472 |
#else |
473 |
-const PRUint32 nanMask[2] = {0xffffffff, |
474 |
- TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}; |
475 |
-const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK}; |
476 |
-const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}; |
477 |
+const txdpun nanMask = {0xffffffff, |
478 |
+ TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}; |
479 |
+const txdpun infMask = {0, TX_DOUBLE_HI32_EXPMASK}; |
480 |
+const txdpun negInfMask = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}; |
481 |
#endif |
482 |
|
483 |
-const double Double::NaN = *((double*)nanMask); |
484 |
-const double Double::POSITIVE_INFINITY = *((double*)infMask); |
485 |
-const double Double::NEGATIVE_INFINITY = *((double*)negInfMask); |
486 |
+const double Double::NaN = nanMask.d; |
487 |
+const double Double::POSITIVE_INFINITY = infMask.d; |
488 |
+const double Double::NEGATIVE_INFINITY = negInfMask.d; |
489 |
|
490 |
/* |
491 |
* Determines whether the given double represents positive or negative |
492 |
|
493 |
|
494 |
|
495 |
1.1 src/patchsets/seamonkey/1.1.6/007_seamonkey-1.0.1-dumpstack.patch |
496 |
|
497 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/007_seamonkey-1.0.1-dumpstack.patch?rev=1.1&view=markup |
498 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/007_seamonkey-1.0.1-dumpstack.patch?rev=1.1&content-type=text/plain |
499 |
|
500 |
Index: 007_seamonkey-1.0.1-dumpstack.patch |
501 |
=================================================================== |
502 |
--- mozilla/xpcom/base/nsStackFrameUnix.cpp.prestackdisable 2006-04-14 02:30:15.000000000 +0200 |
503 |
+++ mozilla/xpcom/base/nsStackFrameUnix.cpp 2006-04-14 02:31:02.000000000 +0200 |
504 |
@@ -88,6 +88,9 @@ |
505 |
|
506 |
void DumpStackToFile(FILE* aStream) |
507 |
{ |
508 |
+ fprintf(aStream, "Stacktrace disabled for now.\n" |
509 |
+ "See https://bugzilla.mozilla.org/show_bug.cgi?id=323853\n"); |
510 |
+#if 0 |
511 |
// Stack walking code courtesy Kipp's "leaky". |
512 |
|
513 |
// Get the frame pointer |
514 |
@@ -128,6 +131,7 @@ |
515 |
symbol, off, info.dli_fname, foff); |
516 |
} |
517 |
} |
518 |
+#endif |
519 |
} |
520 |
|
521 |
#elif defined(__sun) && (defined(__sparc) || defined(sparc) || defined(__i386) || defined(i386)) |
522 |
|
523 |
|
524 |
|
525 |
1.1 src/patchsets/seamonkey/1.1.6/008_seamonkey-gentoo-pkgconfig.patch |
526 |
|
527 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/008_seamonkey-gentoo-pkgconfig.patch?rev=1.1&view=markup |
528 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/008_seamonkey-gentoo-pkgconfig.patch?rev=1.1&content-type=text/plain |
529 |
|
530 |
Index: 008_seamonkey-gentoo-pkgconfig.patch |
531 |
=================================================================== |
532 |
--- mozilla/config/autoconf.mk.in 2005-08-17 19:17:17.000000000 +0200 |
533 |
+++ mozilla/config/autoconf.mk.in 2005-11-17 14:23:11.000000000 +0100 |
534 |
@@ -54,13 +54,13 @@ |
535 |
prefix = @prefix@ |
536 |
exec_prefix = @exec_prefix@ |
537 |
bindir = @bindir@ |
538 |
-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) |
539 |
+includedir = $(mozappdir)/include |
540 |
libdir = @libdir@ |
541 |
datadir = @datadir@ |
542 |
mandir = @mandir@ |
543 |
-idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) |
544 |
+idldir = $(mozappdir)/idl |
545 |
|
546 |
-mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) |
547 |
+mozappdir = $(libdir)/$(MOZ_APP_NAME) |
548 |
mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION) |
549 |
mrelibdir = $(mredir)/lib |
550 |
|
551 |
--- mozilla/build/unix/Makefile.in 2005-07-07 20:24:39.000000000 +0200 |
552 |
+++ mozilla/build/unix/Makefile.in 2005-11-17 21:41:47.000000000 +0100 |
553 |
@@ -61,6 +61,19 @@ |
554 |
NSPR_VERSION=$(shell $(DEPTH)/nsprpub/config/nspr-config --version) |
555 |
endif |
556 |
|
557 |
+# Hack to make sure that mozilla-nss.pc has the proper nss dependencies |
558 |
+ifdef MOZ_NATIVE_NSS |
559 |
+FULL_NSS_CFLAGS=$(shell $(NSS_CONFIG) --cflags) |
560 |
+FULL_NSS_LIBS=$(shell $(NSS_CONFIG) --libs) |
561 |
+NSS_NAME=nss |
562 |
+NSS_VERSION=$(shell $(NSS_CONFIG) --version) |
563 |
+else |
564 |
+FULL_NSS_CFLAGS=-I$(includedir)/nss |
565 |
+FULL_NSS_LIBS=-L$(mozappdir)/nss -lnss3 -lsmime3 -lssl3 -lsoftokn3 |
566 |
+NSS_NAME=$(MOZ_APP_NAME)-nss |
567 |
+NSS_VERSION=$(MOZ_APP_VERSION) |
568 |
+endif |
569 |
+ |
570 |
ifdef MOZ_ENABLE_GTK |
571 |
SUPERWIN_LIBS=-lgtksuperwin |
572 |
endif |
573 |
@@ -82,7 +82,8 @@ |
574 |
-e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \ |
575 |
-e "s|%DEFS%|$(_DEFS)|" \ |
576 |
-e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \ |
577 |
- -e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" > $@ |
578 |
+ -e 's|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|' \ |
579 |
+ -e 's|\(echo -L.*\)\($$\)|\1 -Wl,-R$(mozappdir)\2|' > $@ |
580 |
|
581 |
$(MOZ_APP_NAME)-%.pc : mozilla-%.pc.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk |
582 |
cat $< | sed \ |
583 |
@@ -99,7 +112,12 @@ |
584 |
-e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \ |
585 |
-e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \ |
586 |
-e "s|%NSPR_NAME%|$(NSPR_NAME)|" \ |
587 |
- -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" > $@ |
588 |
+ -e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" \ |
589 |
+ -e "s|%FULL_NSS_LIBS%|$(FULL_NSS_LIBS)|" \ |
590 |
+ -e "s|%FULL_NSS_CFLAGS%|$(FULL_NSS_CFLAGS)|" \ |
591 |
+ -e "s|%NSS_NAME%|$(NSS_NAME)|" \ |
592 |
+ -e "s|%NSS_VERSION%|$(NSS_VERSION)|" \ |
593 |
+ -e "s|\(^Libs: -L.*\)|\1 -Wl,-R\$$\{libdir}|" > $@ |
594 |
|
595 |
libs:: $(MOZ_APP_NAME)-config |
596 |
chmod 755 $< |
597 |
--- mozilla/build/unix/mozilla-js.pc.in.orig 2005-07-05 23:21:52.000000000 +0000 |
598 |
+++ mozilla/build/unix/mozilla-js.pc.in 2006-01-15 10:03:00.000000000 +0000 |
599 |
@@ -6,6 +6,6 @@ |
600 |
Name: JavaScript |
601 |
Description: The Mozilla JavaScript Library |
602 |
Version: %MOZILLA_VERSION% |
603 |
-Requires: %NSPR_NAME% >= %NSPR_VERSION% |
604 |
+Requires: %MOZ_APP_NAME%-%NSPR_NAME% >= %NSPR_VERSION% |
605 |
Libs: -L${libdir} -lmozjs |
606 |
Cflags: -I${includedir}/js -DXP_UNIX |
607 |
--- mozilla/build/unix/mozilla-nspr.pc.in.orig 2005-07-05 23:21:52.000000000 +0000 |
608 |
+++ mozilla/build/unix/mozilla-nspr.pc.in 2006-01-15 10:01:16.000000000 +0000 |
609 |
@@ -1,12 +1,5 @@ |
610 |
-prefix=%prefix% |
611 |
-exec_prefix=%exec_prefix% |
612 |
-libdir=%libdir% |
613 |
-includedir=%includedir% |
614 |
- |
615 |
Name: NSPR |
616 |
Description: The Netscape Portable Runtime |
617 |
Version: %NSPR_VERSION% |
618 |
-Libs: %FULL_NSPR_LIBS% |
619 |
-Cflags: %FULL_NSPR_CFLAGS% |
620 |
- |
621 |
+Requires: %NSPR_NAME% >= %NSPR_VERSION% |
622 |
|
623 |
--- mozilla/build/unix/mozilla-xpcom.pc.in.orig 2005-07-05 23:21:52.000000000 +0000 |
624 |
+++ mozilla/build/unix/mozilla-xpcom.pc.in 2006-01-15 10:02:34.000000000 +0000 |
625 |
@@ -7,6 +7,6 @@ |
626 |
Name: XPCOM |
627 |
Description: The Mozilla Cross Platform Component Library |
628 |
Version: %MOZILLA_VERSION% |
629 |
-Requires: %NSPR_NAME% >= %NSPR_VERSION% |
630 |
+Requires: %MOZ_APP_NAME%-%NSPR_NAME% >= %NSPR_VERSION% |
631 |
Libs: -L${libdir} -lxpcom |
632 |
Cflags: -I${includedir} -I${includedir}/xpcom -I${includedir}/string |
633 |
--- mozilla/build/unix/mozilla-nss.pc.in.orig 2005-07-05 23:21:52.000000000 +0000 |
634 |
+++ mozilla/build/unix/mozilla-nss.pc.in 2006-01-15 10:26:13.000000000 +0000 |
635 |
@@ -1,11 +1,4 @@ |
636 |
-prefix=%prefix% |
637 |
-exec_prefix=%exec_prefix% |
638 |
-libdir=%libdir% |
639 |
-includedir=%includedir% |
640 |
- |
641 |
Name: NSS |
642 |
Description: Mozilla Network Security Services |
643 |
-Version: %MOZILLA_VERSION% |
644 |
-Requires: %NSPR_NAME% >= %NSPR_VERSION% |
645 |
-Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3 |
646 |
-Cflags: -I${includedir}/nss |
647 |
+Version: %NSS_VERSION% |
648 |
+Requires: %NSS_NAME% >= %NSS_VERSION% |
649 |
|
650 |
|
651 |
|
652 |
1.1 src/patchsets/seamonkey/1.1.6/009_firefox-gdkpango.patch |
653 |
|
654 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/009_firefox-gdkpango.patch?rev=1.1&view=markup |
655 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/009_firefox-gdkpango.patch?rev=1.1&content-type=text/plain |
656 |
|
657 |
Index: 009_firefox-gdkpango.patch |
658 |
=================================================================== |
659 |
--- config/system-headers.orig 2007-10-19 21:38:00.000000000 +0200 |
660 |
+++ config/system-headers 2007-10-19 21:38:41.000000000 +0200 |
661 |
@@ -208,6 +208,7 @@ |
662 |
gdk/gdkevents.h |
663 |
gdk/gdk.h |
664 |
gdk/gdkkeysyms.h |
665 |
+gdk/gdkpango.h |
666 |
gdk/gdkprivate.h |
667 |
gdk/gdkregion.h |
668 |
gdk/gdkwindow.h |
669 |
|
670 |
|
671 |
|
672 |
1.1 src/patchsets/seamonkey/1.1.6/010_visibility-gcc-4.2.patch |
673 |
|
674 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/010_visibility-gcc-4.2.patch?rev=1.1&view=markup |
675 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/010_visibility-gcc-4.2.patch?rev=1.1&content-type=text/plain |
676 |
|
677 |
Index: 010_visibility-gcc-4.2.patch |
678 |
=================================================================== |
679 |
--- configure.in.orig 2007-10-12 20:39:27.000000000 +0200 |
680 |
+++ configure.in 2007-10-12 20:40:49.000000000 +0200 |
681 |
@@ -2657,8 +2657,7 @@ |
682 |
]) |
683 |
if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \ |
684 |
"$ac_cv_have_visibility_class_bug" = "no"; then |
685 |
- VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' |
686 |
- WRAP_SYSTEM_INCLUDES=1 |
687 |
+ VISIBILITY_FLAGS='-fvisibility=hidden' |
688 |
else |
689 |
VISIBILITY_FLAGS='-fvisibility=hidden' |
690 |
fi # have visibility pragma bug |
691 |
|
692 |
|
693 |
|
694 |
1.1 src/patchsets/seamonkey/1.1.6/020_firefox-0.7.3-default-plugin-less-annoying.patch |
695 |
|
696 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/020_firefox-0.7.3-default-plugin-less-annoying.patch?rev=1.1&view=markup |
697 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/020_firefox-0.7.3-default-plugin-less-annoying.patch?rev=1.1&content-type=text/plain |
698 |
|
699 |
Index: 020_firefox-0.7.3-default-plugin-less-annoying.patch |
700 |
=================================================================== |
701 |
--- mozilla/modules/plugin/samples/default/unix/npshell.c.foo Tue May 7 14:18:45 2002 |
702 |
+++ mozilla/modules/plugin/samples/default/unix/npshell.c Tue May 7 14:49:55 2002 |
703 |
@@ -224,7 +224,7 @@ |
704 |
This->depth = ws_info->depth; |
705 |
This->colormap = ws_info->colormap; |
706 |
makePixmap(This); |
707 |
- makeWidget(This); |
708 |
+ /* makeWidget(This); */ |
709 |
} |
710 |
return NPERR_NO_ERROR; |
711 |
} |
712 |
--- mozilla/modules/plugin/samples/default/unix/nullplugin.c.foo Tue May 7 14:18:45 2002 |
713 |
+++ mozilla/modules/plugin/samples/default/unix/nullplugin.c Tue May 7 14:48:33 2002 |
714 |
@@ -70,6 +70,8 @@ |
715 |
|
716 |
gtk_object_remove_data(GTK_OBJECT(button), DIALOGID); |
717 |
|
718 |
+#if 0 |
719 |
+ |
720 |
if (This->pluginsFileUrl != NULL) |
721 |
{ |
722 |
/* Get the JavaScript command string */ |
723 |
@@ -110,6 +112,7 @@ |
724 |
NPN_MemFree(url); |
725 |
} |
726 |
} |
727 |
+#endif |
728 |
destroyWidget(This); |
729 |
} |
730 |
|
731 |
@@ -265,14 +268,14 @@ |
732 |
GTK_DIALOG(dialogWindow)->action_area); |
733 |
gtk_object_set_data(GTK_OBJECT(okButton), DIALOGID, dialogWindow); |
734 |
|
735 |
- cancelButton= AddWidget(gtk_button_new_with_label (CANCEL_BUTTON), |
736 |
- GTK_DIALOG(dialogWindow)->action_area); |
737 |
+ /* cancelButton= AddWidget(gtk_button_new_with_label (CANCEL_BUTTON), |
738 |
+ GTK_DIALOG(dialogWindow)->action_area); */ |
739 |
|
740 |
gtk_signal_connect (GTK_OBJECT(okButton), "clicked", |
741 |
GTK_SIGNAL_FUNC(DialogOKClicked), This); |
742 |
|
743 |
- gtk_signal_connect (GTK_OBJECT(cancelButton), "clicked", |
744 |
- GTK_SIGNAL_FUNC(DialogCancelClicked), This); |
745 |
+ /* gtk_signal_connect (GTK_OBJECT(cancelButton), "clicked", |
746 |
+ GTK_SIGNAL_FUNC(DialogCancelClicked), This); */ |
747 |
|
748 |
/* hookup to when the dialog is destroyed */ |
749 |
gtk_signal_connect(GTK_OBJECT(dialogWindow), "destroy", |
750 |
--- mozilla/modules/plugin/samples/default/unix/nullplugin.h.foo Tue May 7 14:46:48 2002 |
751 |
+++ mozilla/modules/plugin/samples/default/unix/nullplugin.h Tue May 7 14:47:08 2002 |
752 |
@@ -53,9 +53,7 @@ |
753 |
#define JVM_MINETYPE "application/x-java-vm" |
754 |
#define MESSAGE "\ |
755 |
This page contains information of a type (%s) that can\n\ |
756 |
-only be viewed with the appropriate Plug-in.\n\ |
757 |
-\n\ |
758 |
-Click OK to download Plugin." |
759 |
+only be viewed with the appropriate Plug-in." |
760 |
|
761 |
#define GET 1 |
762 |
#define REFRESH 2 |
763 |
|
764 |
|
765 |
|
766 |
1.1 src/patchsets/seamonkey/1.1.6/021_seamonkey-1.1-include-cairo-libs.patch |
767 |
|
768 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/021_seamonkey-1.1-include-cairo-libs.patch?rev=1.1&view=markup |
769 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/021_seamonkey-1.1-include-cairo-libs.patch?rev=1.1&content-type=text/plain |
770 |
|
771 |
Index: 021_seamonkey-1.1-include-cairo-libs.patch |
772 |
=================================================================== |
773 |
--- mozilla/configure.in.orig 2007-01-11 19:45:06.000000000 +0100 |
774 |
+++ mozilla/configure.in 2007-01-23 21:18:26.905154656 +0100 |
775 |
@@ -6730,7 +6730,7 @@ |
776 |
else |
777 |
PKG_CHECK_MODULES(CAIRO, cairo >= $CAIRO_VERSION) |
778 |
MOZ_CAIRO_CFLAGS=$CAIRO_CFLAGS |
779 |
- MOZ_CAIRO_LIBS=$CAIRO_LIBS |
780 |
+ MOZ_CAIRO_LIBS="$CAIRO_LIBS -lXrender $XLIBS -lfontconfig -lfreetype" |
781 |
fi |
782 |
fi |
783 |
|
784 |
|
785 |
|
786 |
|
787 |
1.1 src/patchsets/seamonkey/1.1.6/030_pango-cairo-1.patch |
788 |
|
789 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/030_pango-cairo-1.patch?rev=1.1&view=markup |
790 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/030_pango-cairo-1.patch?rev=1.1&content-type=text/plain |
791 |
|
792 |
Index: 030_pango-cairo-1.patch |
793 |
=================================================================== |
794 |
--- config/autoconf.mk.in.old 2007-01-20 21:19:33.000000000 +0100 |
795 |
+++ config/autoconf.mk.in 2007-01-20 21:20:16.000000000 +0100 |
796 |
@@ -479,6 +479,7 @@ |
797 |
MOZ_ENABLE_PANGO = @MOZ_ENABLE_PANGO@ |
798 |
MOZ_PANGO_CFLAGS = @MOZ_PANGO_CFLAGS@ |
799 |
MOZ_PANGO_LIBS = @MOZ_PANGO_LIBS@ |
800 |
+MOZ_PANGOCAIRO = @MOZ_PANGOCAIRO@ |
801 |
|
802 |
MOZ_EXTRA_X11CONVERTERS = @MOZ_EXTRA_X11CONVERTERS@ |
803 |
|
804 |
--- gfx/src/gtk/mozilla-decoder.cpp.old 2007-01-20 21:21:30.000000000 +0100 |
805 |
+++ gfx/src/gtk/mozilla-decoder.cpp 2007-01-20 21:24:19.000000000 +0100 |
806 |
@@ -40,6 +40,11 @@ |
807 |
#define PANGO_ENABLE_ENGINE |
808 |
|
809 |
#include "mozilla-decoder.h" |
810 |
+#ifdef MOZ_PANGOCAIRO |
811 |
+#include <pango/pangocairo.h> |
812 |
+#else |
813 |
+#include <pango/pangoxft.h> |
814 |
+#endif |
815 |
#include <pango/pangofc-fontmap.h> |
816 |
#include <pango/pangofc-font.h> |
817 |
#include <gdk/gdkpango.h> |
818 |
@@ -213,8 +218,11 @@ |
819 |
printf("unknown suffix used for mapping\n"); |
820 |
} |
821 |
} |
822 |
- |
823 |
+#ifdef MOZ_PANGOCAIRO |
824 |
+ pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_cairo_font_map_get_default()), |
825 |
+#else |
826 |
pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(fontmap), |
827 |
+#endif |
828 |
mozilla_find_decoder, |
829 |
NULL, |
830 |
NULL); |
831 |
--- configure.in.old 2007-01-20 21:25:20.000000000 +0100 |
832 |
+++ configure.in 2007-01-20 21:32:21.000000000 +0100 |
833 |
@@ -3923,8 +3923,8 @@ |
834 |
MOZ_ENABLE_GTK2=1 |
835 |
MOZ_ENABLE_XREMOTE=1 |
836 |
MOZ_ENABLE_COREXFONTS=${MOZ_ENABLE_COREXFONTS-} |
837 |
- TK_CFLAGS='$(MOZ_GTK2_CFLAGS)' |
838 |
- TK_LIBS='$(MOZ_GTK2_LIBS)' |
839 |
+ TK_CFLAGS='$(MOZ_GTK2_CFLAGS) $(MOZ_PANGO_CFLAGS)' |
840 |
+ TK_LIBS='$(MOZ_GTK2_LIBS) $(MOD_PANGO_LIBS)' |
841 |
AC_DEFINE(MOZ_WIDGET_GTK2) |
842 |
;; |
843 |
|
844 |
@@ -4581,12 +4581,14 @@ |
845 |
then |
846 |
AC_DEFINE(MOZ_ENABLE_XFT) |
847 |
PKG_CHECK_MODULES(MOZ_XFT, xft) |
848 |
- PKG_CHECK_MODULES(_PANGOCHK, pango >= 1.1.0) |
849 |
+ PKG_CHECK_MODULES(MOZ_PANGO, pangoxft >= 1.1.0 pangox) |
850 |
fi |
851 |
|
852 |
AC_SUBST(MOZ_ENABLE_XFT) |
853 |
AC_SUBST(MOZ_XFT_CFLAGS) |
854 |
AC_SUBST(MOZ_XFT_LIBS) |
855 |
+AC_SUBST(MOZ_PANGO_CFLAGS) |
856 |
+AC_SUBST(MOZ_PANGO_LIBS) |
857 |
|
858 |
dnl ======================================================== |
859 |
dnl = pango font rendering |
860 |
@@ -4600,8 +4602,17 @@ |
861 |
then |
862 |
AC_DEFINE(MOZ_ENABLE_PANGO) |
863 |
PKG_CHECK_MODULES(MOZ_PANGO, pangoxft >= 1.6.0) |
864 |
+ PKG_CHECK_MODULES(PANGOCAIRO_CHK, pangocairo >= 1.10.0, |
865 |
+ [ |
866 |
+ MOZ_PANGOCAIRO=1 |
867 |
+ AC_DEFINE(MOZ_PANGOCAIRO) |
868 |
+ MOZ_PANGO_CFLAGS="$PANGOCAIRO_CHK_CFLAGS $MOZ_PANGO_CFLAGS" |
869 |
+ MOZ_PANGO_LIBS="$PANGOCAIRO_CHK_LIBS $MOZ_PANGO_LIBS" |
870 |
+ ], |
871 |
+ [:]) |
872 |
|
873 |
AC_SUBST(MOZ_ENABLE_PANGO) |
874 |
+ AC_SUBST(MOZ_PANGOCAIRO) |
875 |
AC_SUBST(MOZ_PANGO_CFLAGS) |
876 |
AC_SUBST(MOZ_PANGO_LIBS) |
877 |
fi |
878 |
|
879 |
|
880 |
|
881 |
1.1 src/patchsets/seamonkey/1.1.6/031_firefox-1.1-uriloader-1.patch |
882 |
|
883 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/031_firefox-1.1-uriloader-1.patch?rev=1.1&view=markup |
884 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/031_firefox-1.1-uriloader-1.patch?rev=1.1&content-type=text/plain |
885 |
|
886 |
Index: 031_firefox-1.1-uriloader-1.patch |
887 |
=================================================================== |
888 |
Index: uriloader/exthandler/Makefile.in |
889 |
=================================================================== |
890 |
RCS file: /cvsroot/mozilla/uriloader/exthandler/Makefile.in,v |
891 |
retrieving revision 1.60 |
892 |
diff -d -u -p -r1.60 Makefile.in |
893 |
--- uriloader/exthandler/Makefile.in 2 May 2005 16:30:03 -0000 1.60 |
894 |
+++ uriloader/exthandler/Makefile.in 21 Jul 2005 03:07:39 -0000 |
895 |
@@ -102,7 +102,7 @@ endif |
896 |
LOCAL_INCLUDES = -I$(srcdir) |
897 |
|
898 |
ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) |
899 |
-OSHELPER += nsGNOMERegistry.cpp |
900 |
+OSHELPER += nsMIMEInfoUnix.cpp nsGNOMERegistry.cpp |
901 |
endif |
902 |
|
903 |
ifeq ($(MOZ_WIDGET_TOOLKIT),beos) |
904 |
Index: uriloader/exthandler/unix/nsGNOMERegistry.cpp |
905 |
=================================================================== |
906 |
RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp,v |
907 |
retrieving revision 1.10 |
908 |
diff -d -u -p -r1.10 nsGNOMERegistry.cpp |
909 |
--- uriloader/exthandler/unix/nsGNOMERegistry.cpp 16 Oct 2004 13:46:17 -0000 1.10 |
910 |
+++ uriloader/exthandler/unix/nsGNOMERegistry.cpp 21 Jul 2005 03:07:40 -0000 |
911 |
@@ -42,7 +42,7 @@ |
912 |
#include "nsString.h" |
913 |
#include "nsIComponentManager.h" |
914 |
#include "nsILocalFile.h" |
915 |
-#include "nsMIMEInfoImpl.h" |
916 |
+#include "nsMIMEInfoUnix.h" |
917 |
#include "nsAutoPtr.h" |
918 |
|
919 |
#include <glib.h> |
920 |
@@ -56,12 +56,12 @@ typedef struct _GConfClient GConfClient; |
921 |
typedef struct _GnomeProgram GnomeProgram; |
922 |
typedef struct _GnomeModuleInfo GnomeModuleInfo; |
923 |
|
924 |
-typedef struct { |
925 |
+struct GnomeVFSMimeApplication { |
926 |
char *id; |
927 |
char *name; |
928 |
char *command; |
929 |
/* there is more here, but we don't need it */ |
930 |
-} GnomeVFSMimeApplication; |
931 |
+}; |
932 |
|
933 |
typedef GConfClient * (*_gconf_client_get_default_fn)(); |
934 |
typedef gchar * (*_gconf_client_get_string_fn)(GConfClient *, |
935 |
@@ -264,7 +264,7 @@ nsGNOMERegistry::GetAppDescForScheme(con |
936 |
} |
937 |
|
938 |
|
939 |
-/* static */ already_AddRefed<nsMIMEInfoBase> |
940 |
+/* static */ already_AddRefed<nsMIMEInfoUnix> |
941 |
nsGNOMERegistry::GetFromExtension(const char *aFileExt) |
942 |
{ |
943 |
if (!gconfLib) |
944 |
@@ -286,7 +286,7 @@ nsGNOMERegistry::GetFromExtension(const |
945 |
return GetFromType(mimeType); |
946 |
} |
947 |
|
948 |
-/* static */ already_AddRefed<nsMIMEInfoBase> |
949 |
+/* static */ already_AddRefed<nsMIMEInfoUnix> |
950 |
nsGNOMERegistry::GetFromType(const char *aMIMEType) |
951 |
{ |
952 |
if (!gconfLib) |
953 |
@@ -296,9 +296,11 @@ nsGNOMERegistry::GetFromType(const char |
954 |
if (!handlerApp) |
955 |
return nsnull; |
956 |
|
957 |
- nsRefPtr<nsMIMEInfoImpl> mimeInfo = new nsMIMEInfoImpl(aMIMEType); |
958 |
+ nsRefPtr<nsMIMEInfoUnix> mimeInfo = new nsMIMEInfoUnix(aMIMEType); |
959 |
NS_ENSURE_TRUE(mimeInfo, nsnull); |
960 |
|
961 |
+ mimeInfo->SetDefaultGnomeVFSMimeApplication(handlerApp); |
962 |
+ |
963 |
// Get the list of extensions and append then to the mimeInfo. |
964 |
GList *extensions = _gnome_vfs_mime_get_extensions_list(aMIMEType); |
965 |
for (GList *extension = extensions; extension; extension = extension->next) |
966 |
@@ -320,11 +322,21 @@ nsGNOMERegistry::GetFromType(const char |
967 |
return nsnull; |
968 |
} |
969 |
|
970 |
- gchar *commandPath = g_find_program_in_path(nativeCommand); |
971 |
+ gchar **argv; |
972 |
+ gboolean res = g_shell_parse_argv(nativeCommand, NULL, &argv, NULL); |
973 |
+ if (!res) { |
974 |
+ NS_ERROR("Could not convert helper app command to filesystem encoding"); |
975 |
+ _gnome_vfs_mime_application_free(handlerApp); |
976 |
+ return nsnull; |
977 |
+ } |
978 |
+ |
979 |
+ gchar *commandPath = g_find_program_in_path(argv[0]); |
980 |
|
981 |
g_free(nativeCommand); |
982 |
+ g_strfreev(argv); |
983 |
|
984 |
if (!commandPath) { |
985 |
+ NS_WARNING("could not find command in path"); |
986 |
_gnome_vfs_mime_application_free(handlerApp); |
987 |
return nsnull; |
988 |
} |
989 |
@@ -342,7 +354,7 @@ nsGNOMERegistry::GetFromType(const char |
990 |
|
991 |
_gnome_vfs_mime_application_free(handlerApp); |
992 |
|
993 |
- nsMIMEInfoBase* retval; |
994 |
+ nsMIMEInfoUnix* retval; |
995 |
NS_ADDREF((retval = mimeInfo)); |
996 |
return retval; |
997 |
} |
998 |
Index: uriloader/exthandler/unix/nsGNOMERegistry.h |
999 |
=================================================================== |
1000 |
RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsGNOMERegistry.h,v |
1001 |
retrieving revision 1.3 |
1002 |
diff -d -u -p -r1.3 nsGNOMERegistry.h |
1003 |
--- uriloader/exthandler/unix/nsGNOMERegistry.h 16 Oct 2004 13:46:17 -0000 1.3 |
1004 |
+++ uriloader/exthandler/unix/nsGNOMERegistry.h 21 Jul 2005 03:07:40 -0000 |
1005 |
@@ -35,10 +35,13 @@ |
1006 |
* |
1007 |
* ***** END LICENSE BLOCK ***** */ |
1008 |
|
1009 |
+#ifndef nsGNOMERegistry_h__ |
1010 |
+#define nsGNOMERegistry_h__ |
1011 |
+ |
1012 |
#include "nsIURI.h" |
1013 |
#include "nsCOMPtr.h" |
1014 |
|
1015 |
-class nsMIMEInfoBase; |
1016 |
+class nsMIMEInfoUnix; |
1017 |
|
1018 |
class nsGNOMERegistry |
1019 |
{ |
1020 |
@@ -52,7 +55,9 @@ class nsGNOMERegistry |
1021 |
static void GetAppDescForScheme(const nsACString& aScheme, |
1022 |
nsAString& aDesc); |
1023 |
|
1024 |
- static already_AddRefed<nsMIMEInfoBase> GetFromExtension(const char *aFileExt); |
1025 |
+ static already_AddRefed<nsMIMEInfoUnix> GetFromExtension(const char *aFileExt); |
1026 |
|
1027 |
- static already_AddRefed<nsMIMEInfoBase> GetFromType(const char *aMIMEType); |
1028 |
+ static already_AddRefed<nsMIMEInfoUnix> GetFromType(const char *aMIMEType); |
1029 |
}; |
1030 |
+ |
1031 |
+#endif // nsGNOMERegistry_h__ |
1032 |
Index: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp |
1033 |
=================================================================== |
1034 |
RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.cpp |
1035 |
diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.cpp |
1036 |
--- /dev/null 1 Jan 1970 00:00:00 -0000 |
1037 |
+++ uriloader/exthandler/unix/nsMIMEInfoUnix.cpp 21 Jul 2005 03:07:40 -0000 |
1038 |
@@ -0,0 +1,196 @@ |
1039 |
+/* ***** BEGIN LICENSE BLOCK ***** |
1040 |
+ * Version: MPL 1.1 |
1041 |
+ * |
1042 |
+ * The contents of this file are subject to the Mozilla Public License Version |
1043 |
+ * 1.1 (the "License"); you may not use this file except in compliance with |
1044 |
+ * the License. You may obtain a copy of the License at |
1045 |
+ * http://www.mozilla.org/MPL/ |
1046 |
+ * |
1047 |
+ * Software distributed under the License is distributed on an "AS IS" basis, |
1048 |
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
1049 |
+ * for the specific language governing rights and limitations under the |
1050 |
+ * License. |
1051 |
+ * |
1052 |
+ * The Original Code is mozilla.org Code. |
1053 |
+ * |
1054 |
+ * The Initial Developer of the Original Code is |
1055 |
+ * Red Hat, Inc. |
1056 |
+ * Portions created by the Initial Developer are Copyright (C) 2005 |
1057 |
+ * the Initial Developer. All Rights Reserved. |
1058 |
+ * |
1059 |
+ * Contributor(s): |
1060 |
+ * Christopher Aillon <caillon@××××××.com> (Original author) |
1061 |
+ * |
1062 |
+ * |
1063 |
+ * ***** END LICENSE BLOCK ***** */ |
1064 |
+ |
1065 |
+#include "nsMIMEInfoUnix.h" |
1066 |
+#include "prlink.h" |
1067 |
+#include "prmem.h" |
1068 |
+#include <glib.h> |
1069 |
+#include <glib-object.h> |
1070 |
+ |
1071 |
+static PRLibrary *gnomeLib; |
1072 |
+static PRLibrary *vfsLib; |
1073 |
+ |
1074 |
+typedef struct _GnomeProgram GnomeProgram; |
1075 |
+typedef struct _GnomeModuleInfo GnomeModuleInfo; |
1076 |
+ |
1077 |
+typedef enum { |
1078 |
+ GNOME_VFS_OK // there's more but we don't care about them. |
1079 |
+} GnomeVFSResult; |
1080 |
+ |
1081 |
+typedef GnomeVFSResult (*_gnome_vfs_mime_application_launch_fn) |
1082 |
+ (GnomeVFSMimeApplication *app, |
1083 |
+ GList *uris); |
1084 |
+typedef void (*_gnome_vfs_mime_application_free_fn)(GnomeVFSMimeApplication *); |
1085 |
+typedef GnomeVFSMimeApplication * (*_gnome_vfs_mime_application_copy_fn)(GnomeVFSMimeApplication *); |
1086 |
+typedef GnomeProgram * (*_gnome_program_init_fn)(const char *, const char *, |
1087 |
+ const GnomeModuleInfo *, int, |
1088 |
+ char **, const char *, ...); |
1089 |
+typedef const char * (*_gnome_vfs_mime_application_get_name_fn)(GnomeVFSMimeApplication *); |
1090 |
+typedef const GnomeModuleInfo * (*_libgnome_module_info_get_fn)(); |
1091 |
+typedef GnomeProgram * (*_gnome_program_get_fn)(); |
1092 |
+typedef char * (*_gnome_vfs_make_uri_from_input_fn)(const char *); |
1093 |
+ |
1094 |
+#define DECL_FUNC_PTR(func) static _##func##_fn _##func |
1095 |
+ |
1096 |
+DECL_FUNC_PTR(gnome_vfs_mime_application_launch); |
1097 |
+DECL_FUNC_PTR(gnome_vfs_mime_application_free); |
1098 |
+DECL_FUNC_PTR(gnome_vfs_mime_application_copy); |
1099 |
+DECL_FUNC_PTR(gnome_vfs_mime_application_get_name); |
1100 |
+DECL_FUNC_PTR(gnome_program_init); |
1101 |
+DECL_FUNC_PTR(gnome_program_get); |
1102 |
+DECL_FUNC_PTR(libgnome_module_info_get); |
1103 |
+DECL_FUNC_PTR(gnome_vfs_make_uri_from_input); |
1104 |
+ |
1105 |
+static PRLibrary * |
1106 |
+LoadVersionedLibrary(const char* libName, const char* libVersion) |
1107 |
+{ |
1108 |
+ char *platformLibName = PR_GetLibraryName(nsnull, libName); |
1109 |
+ nsCAutoString versionLibName(platformLibName); |
1110 |
+ versionLibName.Append(libVersion); |
1111 |
+ PR_Free(platformLibName); |
1112 |
+ return PR_LoadLibrary(versionLibName.get()); |
1113 |
+} |
1114 |
+ |
1115 |
+static void |
1116 |
+Cleanup() |
1117 |
+{ |
1118 |
+ // Unload all libraries |
1119 |
+ if (gnomeLib) |
1120 |
+ PR_UnloadLibrary(gnomeLib); |
1121 |
+ if (vfsLib) |
1122 |
+ PR_UnloadLibrary(vfsLib); |
1123 |
+ |
1124 |
+ gnomeLib = vfsLib = nsnull; |
1125 |
+} |
1126 |
+ |
1127 |
+static void |
1128 |
+InitGnomeVFS() |
1129 |
+{ |
1130 |
+ static PRBool initialized = PR_FALSE; |
1131 |
+ |
1132 |
+ if (initialized) |
1133 |
+ return; |
1134 |
+ |
1135 |
+ #define ENSURE_LIB(lib) \ |
1136 |
+ PR_BEGIN_MACRO \ |
1137 |
+ if (!lib) { \ |
1138 |
+ Cleanup(); \ |
1139 |
+ return; \ |
1140 |
+ } \ |
1141 |
+ PR_END_MACRO |
1142 |
+ |
1143 |
+ #define GET_LIB_FUNCTION(lib, func, failure) \ |
1144 |
+ PR_BEGIN_MACRO \ |
1145 |
+ _##func = (_##func##_fn) PR_FindFunctionSymbol(lib##Lib, #func); \ |
1146 |
+ if (!_##func) { \ |
1147 |
+ failure; \ |
1148 |
+ } \ |
1149 |
+ PR_END_MACRO |
1150 |
+ |
1151 |
+ // Attempt to open libgnome |
1152 |
+ gnomeLib = LoadVersionedLibrary("gnome-2", ".0"); |
1153 |
+ ENSURE_LIB(gnomeLib); |
1154 |
+ |
1155 |
+ GET_LIB_FUNCTION(gnome, gnome_program_init, return Cleanup()); |
1156 |
+ GET_LIB_FUNCTION(gnome, libgnome_module_info_get, return Cleanup()); |
1157 |
+ GET_LIB_FUNCTION(gnome, gnome_program_get, return Cleanup()); |
1158 |
+ |
1159 |
+ // Attempt to open libgnomevfs |
1160 |
+ vfsLib = LoadVersionedLibrary("gnomevfs-2", ".0"); |
1161 |
+ ENSURE_LIB(vfsLib); |
1162 |
+ |
1163 |
+ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_launch, /* do nothing */); |
1164 |
+ GET_LIB_FUNCTION(vfs, gnome_vfs_make_uri_from_input, return Cleanup()); |
1165 |
+ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_get_name, return Cleanup()); |
1166 |
+ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_free, return Cleanup()); |
1167 |
+ GET_LIB_FUNCTION(vfs, gnome_vfs_mime_application_copy, return Cleanup()); |
1168 |
+ |
1169 |
+ // Initialize GNOME, if it's not already initialized. It's not |
1170 |
+ // necessary to tell GNOME about our actual command line arguments. |
1171 |
+ |
1172 |
+ if (!_gnome_program_get()) { |
1173 |
+ char *argv[1] = { "gecko" }; |
1174 |
+ _gnome_program_init("Gecko", "1.0", _libgnome_module_info_get(), |
1175 |
+ 1, argv, NULL); |
1176 |
+ } |
1177 |
+ |
1178 |
+ // Note: after GNOME has been initialized, do not ever unload these |
1179 |
+ // libraries. They register atexit handlers, so if they are unloaded, we'll |
1180 |
+ // crash on exit. |
1181 |
+} |
1182 |
+ |
1183 |
+void |
1184 |
+nsMIMEInfoUnix::SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication* app) |
1185 |
+{ |
1186 |
+ if (_gnome_vfs_mime_application_copy && _gnome_vfs_mime_application_free) { |
1187 |
+ mDefaultVFSApplication = _gnome_vfs_mime_application_copy(app); |
1188 |
+ |
1189 |
+ mPreferredAction = nsIMIMEInfo::useSystemDefault; |
1190 |
+ |
1191 |
+ const gchar * name = _gnome_vfs_mime_application_get_name(mDefaultVFSApplication); |
1192 |
+ if (name) |
1193 |
+ mDefaultAppDescription = NS_ConvertUTF8toUCS2(name); |
1194 |
+ } |
1195 |
+} |
1196 |
+ |
1197 |
+nsMIMEInfoUnix::~nsMIMEInfoUnix() |
1198 |
+{ |
1199 |
+ if (mDefaultVFSApplication) |
1200 |
+ _gnome_vfs_mime_application_free(mDefaultVFSApplication); |
1201 |
+} |
1202 |
+ |
1203 |
+nsresult |
1204 |
+nsMIMEInfoUnix::LaunchDefaultWithFile(nsIFile* aFile) |
1205 |
+{ |
1206 |
+ NS_ENSURE_ARG_POINTER(aFile); |
1207 |
+ |
1208 |
+ InitGnomeVFS(); |
1209 |
+ |
1210 |
+ if (_gnome_vfs_mime_application_launch && mDefaultVFSApplication) { |
1211 |
+ nsCAutoString nativePath; |
1212 |
+ aFile->GetNativePath(nativePath); |
1213 |
+ |
1214 |
+ gchar *uri = _gnome_vfs_make_uri_from_input(nativePath.get()); |
1215 |
+ |
1216 |
+ GList *uris = NULL; |
1217 |
+ uris = g_list_append(uris, uri); |
1218 |
+ |
1219 |
+ GnomeVFSResult result = _gnome_vfs_mime_application_launch(mDefaultVFSApplication, uris); |
1220 |
+ |
1221 |
+ g_free(uri); |
1222 |
+ g_list_free(uris); |
1223 |
+ |
1224 |
+ if (result != GNOME_VFS_OK) |
1225 |
+ return NS_ERROR_FAILURE; |
1226 |
+ |
1227 |
+ return NS_OK; |
1228 |
+ } |
1229 |
+ |
1230 |
+ if (!mDefaultApplication) |
1231 |
+ return NS_ERROR_FILE_NOT_FOUND; |
1232 |
+ |
1233 |
+ return LaunchWithIProcess(mDefaultApplication, aFile); |
1234 |
+} |
1235 |
Index: uriloader/exthandler/unix/nsMIMEInfoUnix.h |
1236 |
=================================================================== |
1237 |
RCS file: uriloader/exthandler/unix/nsMIMEInfoUnix.h |
1238 |
diff -N uriloader/exthandler/unix/nsMIMEInfoUnix.h |
1239 |
--- /dev/null 1 Jan 1970 00:00:00 -0000 |
1240 |
+++ uriloader/exthandler/unix/nsMIMEInfoUnix.h 21 Jul 2005 03:07:40 -0000 |
1241 |
@@ -0,0 +1,50 @@ |
1242 |
+/* ***** BEGIN LICENSE BLOCK ***** |
1243 |
+ * Version: MPL 1.1 |
1244 |
+ * |
1245 |
+ * The contents of this file are subject to the Mozilla Public License Version |
1246 |
+ * 1.1 (the "License"); you may not use this file except in compliance with |
1247 |
+ * the License. You may obtain a copy of the License at |
1248 |
+ * http://www.mozilla.org/MPL/ |
1249 |
+ * |
1250 |
+ * Software distributed under the License is distributed on an "AS IS" basis, |
1251 |
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
1252 |
+ * for the specific language governing rights and limitations under the |
1253 |
+ * License. |
1254 |
+ * |
1255 |
+ * The Original Code is mozilla.org Code. |
1256 |
+ * |
1257 |
+ * The Initial Developer of the Original Code is |
1258 |
+ * Red Hat, Inc. |
1259 |
+ * Portions created by the Initial Developer are Copyright (C) 2005 |
1260 |
+ * the Initial Developer. All Rights Reserved. |
1261 |
+ * |
1262 |
+ * Contributor(s): |
1263 |
+ * Christopher Aillon <caillon@××××××.com> (Original author) |
1264 |
+ * |
1265 |
+ * |
1266 |
+ * ***** END LICENSE BLOCK ***** */ |
1267 |
+ |
1268 |
+#ifndef nsMimeInfoUnix_h__ |
1269 |
+#define nsMimeInfoUnix_h__ |
1270 |
+ |
1271 |
+#include "nsMIMEInfoImpl.h" |
1272 |
+ |
1273 |
+struct GnomeVFSMimeApplication; |
1274 |
+ |
1275 |
+class nsMIMEInfoUnix : public nsMIMEInfoImpl |
1276 |
+{ |
1277 |
+public: |
1278 |
+ nsMIMEInfoUnix(const char* aType = "") : nsMIMEInfoImpl(aType), mDefaultVFSApplication(nsnull) {} |
1279 |
+ nsMIMEInfoUnix(const nsACString& aMIMEType) : nsMIMEInfoImpl(aMIMEType) {}; |
1280 |
+ |
1281 |
+ virtual ~nsMIMEInfoUnix(); |
1282 |
+ |
1283 |
+ void SetDefaultGnomeVFSMimeApplication(GnomeVFSMimeApplication *app); |
1284 |
+ |
1285 |
+protected: |
1286 |
+ virtual NS_HIDDEN_(nsresult) LaunchDefaultWithFile(nsIFile* aFile); |
1287 |
+ |
1288 |
+ GnomeVFSMimeApplication *mDefaultVFSApplication; |
1289 |
+}; |
1290 |
+ |
1291 |
+#endif // nsMimeInfoUnix_h__ |
1292 |
Index: uriloader/exthandler/unix/nsOSHelperAppService.cpp |
1293 |
=================================================================== |
1294 |
RCS file: /cvsroot/mozilla/uriloader/exthandler/unix/nsOSHelperAppService.cpp,v |
1295 |
retrieving revision 1.58 |
1296 |
diff -d -u -p -r1.58 nsOSHelperAppService.cpp |
1297 |
--- uriloader/exthandler/unix/nsOSHelperAppService.cpp 25 Oct 2004 07:46:01 -0000 1.58 |
1298 |
+++ uriloader/exthandler/unix/nsOSHelperAppService.cpp 21 Jul 2005 03:07:40 -0000 |
1299 |
@@ -44,6 +44,7 @@ |
1300 |
#include "nsOSHelperAppService.h" |
1301 |
#ifdef MOZ_WIDGET_GTK2 |
1302 |
#include "nsGNOMERegistry.h" |
1303 |
+#include "nsMIMEInfoUnix.h" |
1304 |
#endif |
1305 |
#include "nsISupports.h" |
1306 |
#include "nsString.h" |
1307 |
|
1308 |
|
1309 |
|
1310 |
1.1 src/patchsets/seamonkey/1.1.6/032_firefox-2.0_ppc64-1.patch |
1311 |
|
1312 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/032_firefox-2.0_ppc64-1.patch?rev=1.1&view=markup |
1313 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/032_firefox-2.0_ppc64-1.patch?rev=1.1&content-type=text/plain |
1314 |
|
1315 |
Index: 032_firefox-2.0_ppc64-1.patch |
1316 |
=================================================================== |
1317 |
# Upstream https://bugzilla.mozilla.org/show_bug.cgi?id=361415 |
1318 |
|
1319 |
unchanged: |
1320 |
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-21 17:09:28.000000000 +0000 |
1321 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2006-11-20 10:13:38.000000000 +0000 |
1322 |
@@ -267,6 +267,11 @@ |
1323 |
ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s |
1324 |
AS := $(CC) -c -x assembler-with-cpp |
1325 |
endif |
1326 |
+ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc64) |
1327 |
+CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp |
1328 |
+ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s |
1329 |
+AS := $(CC) -c -x assembler-with-cpp |
1330 |
+endif |
1331 |
|
1332 |
# |
1333 |
# NetBSD/PPC |
1334 |
diff -u mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s |
1335 |
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s 2006-11-21 14:01:45.000000000 +0000 |
1336 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc64_linux.s 2006-11-22 10:43:26.000000000 +0000 |
1337 |
@@ -0,0 +1,154 @@ |
1338 |
+// -*- Mode: Asm -*- |
1339 |
+// |
1340 |
+// The contents of this file are subject to the Netscape Public |
1341 |
+// License Version 1.1 (the "License"); you may not use this file |
1342 |
+// except in compliance with the License. You may obtain a copy of |
1343 |
+// the License at http://www.mozilla.org/NPL/ |
1344 |
+// |
1345 |
+// Software distributed under the License is distributed on an "AS |
1346 |
+// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
1347 |
+// implied. See the License for the specific language governing |
1348 |
+// rights and limitations under the License. |
1349 |
+// |
1350 |
+// The Original Code is mozilla.org code. |
1351 |
+// |
1352 |
+// The Initial Developer of the Original Code is Netscape |
1353 |
+// Communications Corporation. Portions created by Netscape are |
1354 |
+// Copyright (C) 1999 Netscape Communications Corporation. All |
1355 |
+// Rights Reserved. |
1356 |
+// |
1357 |
+// Contributor(s): |
1358 |
+// dwmw2@×××××××××.org (David Woodhouse) |
1359 |
+// Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
1360 |
+// beard@××××××××.com (Patrick Beard) |
1361 |
+// waterson@××××××××.com (Chris Waterson) |
1362 |
+// |
1363 |
+ |
1364 |
+.set r0,0; .set r1,1; .set r2,2; .set r3,3; .set r4,4 |
1365 |
+.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9 |
1366 |
+.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14 |
1367 |
+.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19 |
1368 |
+.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24 |
1369 |
+.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29 |
1370 |
+.set r30,30; .set r31,31 |
1371 |
+.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4 |
1372 |
+.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9 |
1373 |
+.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14 |
1374 |
+.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19 |
1375 |
+.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24 |
1376 |
+.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29 |
1377 |
+.set f30,30; .set f31,31 |
1378 |
+ |
1379 |
+ |
1380 |
+// |
1381 |
+// XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, |
1382 |
+// PRUint32 paramCount, nsXPTCVariant* params) |
1383 |
+// |
1384 |
+ |
1385 |
+ .section ".toc","aw" |
1386 |
+ .section ".text" |
1387 |
+ .align 2 |
1388 |
+ .globl XPTC_InvokeByIndex |
1389 |
+ .section ".opd","aw" |
1390 |
+ .align 3 |
1391 |
+XPTC_InvokeByIndex: |
1392 |
+ .quad .XPTC_InvokeByIndex,.TOC.@tocbase |
1393 |
+ .previous |
1394 |
+ .type XPTC_InvokeByIndex,@function |
1395 |
+.XPTC_InvokeByIndex: |
1396 |
+ mflr 0 |
1397 |
+ std 0,16(r1) |
1398 |
+ |
1399 |
+ std r29,-24(r1) |
1400 |
+ std r30,-16(r1) |
1401 |
+ std r31,-8(r1) |
1402 |
+ |
1403 |
+ mr r29,r3 // Save 'that' in r29 |
1404 |
+ mr r30,r4 // Save 'methodIndex' in r30 |
1405 |
+ mr r31,r1 // Save old frame |
1406 |
+ |
1407 |
+ // Allocate stack frame with space for params. Since at least the |
1408 |
+ // first 7 parameters (not including 'that') will be in registers, |
1409 |
+ // we don't actually need stack space for those. We must ensure |
1410 |
+ // that the stack remains 16-byte aligned. |
1411 |
+ // |
1412 |
+ // | ..128-byte stack frame.. | | 7 GP | 13 FP | 3 NV | |
1413 |
+ // | |(params)........| regs | regs | regs | |
1414 |
+ // (r1)...........(+112)....(+128) |
1415 |
+ // (-23*8).(-16*8).(-3*8)..(r31) |
1416 |
+ |
1417 |
+ // +stack frame, -unused stack params, +regs storage, +1 for alignment |
1418 |
+ addi r7,r5,((112/8)-7+7+13+3+1) |
1419 |
+ rldicr r7,r7,3,59 // multiply by 8 and mask with ~15 |
1420 |
+ neg r7,r7 |
1421 |
+ stdux r1,r1,r7 |
1422 |
+ |
1423 |
+ |
1424 |
+ // Call invoke_copy_to_stack(PRUint64* gpregs, double* fpregs, |
1425 |
+ // PRUint32 paramCount, nsXPTCVariant* s, |
1426 |
+ // PRUint64* d)) |
1427 |
+ |
1428 |
+ // r5, r6 are passed through intact (paramCount, params) |
1429 |
+ // r7 (d) has to be r1+112 -- where parameters are passed on the stack. |
1430 |
+ // r3, r4 are above that, easier to address from r31 than from r1 |
1431 |
+ |
1432 |
+ subi r3,r31,(23*8) // r3 --> GPRS |
1433 |
+ subi r4,r31,(16*8) // r4 --> FPRS |
1434 |
+ addi r7,r1,112 // r7 --> params |
1435 |
+ bl invoke_copy_to_stack |
1436 |
+ nop |
1437 |
+ |
1438 |
+ // Set up to invoke function |
1439 |
+ |
1440 |
+ ld r9,0(r29) // vtable (r29 is 'that') |
1441 |
+ mr r3,r29 // self is first arg, obviously |
1442 |
+ |
1443 |
+ sldi r30,r30,3 // Find function descriptor |
1444 |
+ add r9,r9,r30 |
1445 |
+ ld r9,0(r9) |
1446 |
+ |
1447 |
+ ld r0,0(r9) // Actual address from fd. |
1448 |
+ std r2,40(r1) // Save r2 (TOC pointer) |
1449 |
+ |
1450 |
+ mtctr 0 |
1451 |
+ ld r11,16(r9) // Environment pointer from fd. |
1452 |
+ ld r2,8(r9) // TOC pointer from fd. |
1453 |
+ |
1454 |
+ // Load FP and GP registers as required |
1455 |
+ ld r4, -(23*8)(r31) |
1456 |
+ ld r5, -(22*8)(r31) |
1457 |
+ ld r6, -(21*8)(r31) |
1458 |
+ ld r7, -(20*8)(r31) |
1459 |
+ ld r8, -(19*8)(r31) |
1460 |
+ ld r9, -(18*8)(r31) |
1461 |
+ ld r10, -(17*8)(r31) |
1462 |
+ |
1463 |
+ lfd f1, -(16*8)(r31) |
1464 |
+ lfd f2, -(15*8)(r31) |
1465 |
+ lfd f3, -(14*8)(r31) |
1466 |
+ lfd f4, -(13*8)(r31) |
1467 |
+ lfd f5, -(12*8)(r31) |
1468 |
+ lfd f6, -(11*8)(r31) |
1469 |
+ lfd f7, -(10*8)(r31) |
1470 |
+ lfd f8, -(9*8)(r31) |
1471 |
+ lfd f9, -(8*8)(r31) |
1472 |
+ lfd f10, -(7*8)(r31) |
1473 |
+ lfd f11, -(6*8)(r31) |
1474 |
+ lfd f12, -(5*8)(r31) |
1475 |
+ lfd f13, -(4*8)(r31) |
1476 |
+ |
1477 |
+ bctrl // Do it |
1478 |
+ |
1479 |
+ ld r2,40(r1) // Load our own TOC pointer |
1480 |
+ ld r1,0(r1) // Revert stack frame |
1481 |
+ ld 0,16(r1) // Reload lr |
1482 |
+ ld 29,-24(r1) // Restore NVGPRS |
1483 |
+ ld 30,-16(r1) |
1484 |
+ ld 31,-8(r1) |
1485 |
+ mtlr 0 |
1486 |
+ blr |
1487 |
+ |
1488 |
+ .size XPTC_InvokeByIndex,.-.XPTC_InvokeByIndex |
1489 |
+ |
1490 |
+ /* Magic indicating no need for an executable stack */ |
1491 |
+ .section .note.GNU-stack, "", @progbits ; .previous |
1492 |
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp 1970-01-01 01:00:00.000000000 +0100 |
1493 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc64_linux.cpp 2006-11-21 17:00:06.000000000 +0000 |
1494 |
@@ -0,0 +1,127 @@ |
1495 |
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
1496 |
+/* ***** BEGIN LICENSE BLOCK ***** |
1497 |
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
1498 |
+ * |
1499 |
+ * The contents of this file are subject to the Mozilla Public License Version |
1500 |
+ * 1.1 (the "License"); you may not use this file except in compliance with |
1501 |
+ * the License. You may obtain a copy of the License at |
1502 |
+ * http://www.mozilla.org/MPL/ |
1503 |
+ * |
1504 |
+ * Software distributed under the License is distributed on an "AS IS" basis, |
1505 |
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
1506 |
+ * for the specific language governing rights and limitations under the |
1507 |
+ * License. |
1508 |
+ * |
1509 |
+ * The Original Code is mozilla.org code. |
1510 |
+ * |
1511 |
+ * The Initial Developer of the Original Code is |
1512 |
+ * Netscape Communications Corporation. |
1513 |
+ * Portions created by the Initial Developer are Copyright (C) 1998 |
1514 |
+ * the Initial Developer. All Rights Reserved. |
1515 |
+ * |
1516 |
+ * Contributor(s): |
1517 |
+ * dwmw2@×××××××××.org (David Woodhouse) |
1518 |
+ * Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
1519 |
+ * beard@××××××××.com (Patrick Beard) |
1520 |
+ * waterson@××××××××.com (Chris Waterson) |
1521 |
+ * |
1522 |
+ * Alternatively, the contents of this file may be used under the terms of |
1523 |
+ * either of the GNU General Public License Version 2 or later (the "GPL"), |
1524 |
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
1525 |
+ * in which case the provisions of the GPL or the LGPL are applicable instead |
1526 |
+ * of those above. If you wish to allow use of your version of this file only |
1527 |
+ * under the terms of either the GPL or the LGPL, and not to allow others to |
1528 |
+ * use your version of this file under the terms of the MPL, indicate your |
1529 |
+ * decision by deleting the provisions above and replace them with the notice |
1530 |
+ * and other provisions required by the GPL or the LGPL. If you do not delete |
1531 |
+ * the provisions above, a recipient may use your version of this file under |
1532 |
+ * the terms of any one of the MPL, the GPL or the LGPL. |
1533 |
+ * |
1534 |
+ * ***** END LICENSE BLOCK ***** */ |
1535 |
+ |
1536 |
+// Platform specific code to invoke XPCOM methods on native objects |
1537 |
+ |
1538 |
+// The purpose of XPTC_InvokeByIndex() is to map a platform |
1539 |
+// independent call to the platform ABI. To do that, |
1540 |
+// XPTC_InvokeByIndex() has to determine the method to call via vtable |
1541 |
+// access. The parameters for the method are read from the |
1542 |
+// nsXPTCVariant* and prepared for the native ABI. |
1543 |
+ |
1544 |
+#include <stdio.h> |
1545 |
+#include "xptcprivate.h" |
1546 |
+ |
1547 |
+// 8 integral parameters are passed in registers, not including 'that' |
1548 |
+#define GPR_COUNT 7 |
1549 |
+ |
1550 |
+// 8 floating point parameters are passed in registers, floats are |
1551 |
+// promoted to doubles when passed in registers |
1552 |
+#define FPR_COUNT 13 |
1553 |
+ |
1554 |
+extern "C" PRUint32 |
1555 |
+invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s) |
1556 |
+{ |
1557 |
+ return PRUint32(((paramCount * 2) + 3) & ~3); |
1558 |
+} |
1559 |
+ |
1560 |
+extern "C" void |
1561 |
+invoke_copy_to_stack(PRUint64* gpregs, |
1562 |
+ double* fpregs, |
1563 |
+ PRUint32 paramCount, |
1564 |
+ nsXPTCVariant* s, |
1565 |
+ PRUint64* d) |
1566 |
+{ |
1567 |
+ PRUint64 tempu64; |
1568 |
+ |
1569 |
+ for(uint32 i = 0; i < paramCount; i++, s++) { |
1570 |
+ if(s->IsPtrData()) |
1571 |
+ tempu64 = (PRUint64) s->ptr; |
1572 |
+ else { |
1573 |
+ switch(s->type) { |
1574 |
+ case nsXPTType::T_FLOAT: break; |
1575 |
+ case nsXPTType::T_DOUBLE: break; |
1576 |
+ case nsXPTType::T_I8: tempu64 = s->val.i8; break; |
1577 |
+ case nsXPTType::T_I16: tempu64 = s->val.i16; break; |
1578 |
+ case nsXPTType::T_I32: tempu64 = s->val.i32; break; |
1579 |
+ case nsXPTType::T_I64: tempu64 = s->val.i64; break; |
1580 |
+ case nsXPTType::T_U8: tempu64 = s->val.u8; break; |
1581 |
+ case nsXPTType::T_U16: tempu64 = s->val.u16; break; |
1582 |
+ case nsXPTType::T_U32: tempu64 = s->val.u32; break; |
1583 |
+ case nsXPTType::T_U64: tempu64 = s->val.u64; break; |
1584 |
+ case nsXPTType::T_BOOL: tempu64 = s->val.b; break; |
1585 |
+ case nsXPTType::T_CHAR: tempu64 = s->val.c; break; |
1586 |
+ case nsXPTType::T_WCHAR: tempu64 = s->val.wc; break; |
1587 |
+ default: tempu64 = (PRUint64) s->val.p; break; |
1588 |
+ } |
1589 |
+ } |
1590 |
+ |
1591 |
+ if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) { |
1592 |
+ if (i < FPR_COUNT) |
1593 |
+ fpregs[i] = s->val.d; |
1594 |
+ else |
1595 |
+ *(double *)d = s->val.d; |
1596 |
+ } |
1597 |
+ else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) { |
1598 |
+ if (i < FPR_COUNT) { |
1599 |
+ fpregs[i] = s->val.f; // if passed in registers, floats are promoted to doubles |
1600 |
+ } else { |
1601 |
+ float *p = (float *)d; |
1602 |
+ p++; |
1603 |
+ *p = s->val.f; |
1604 |
+ } |
1605 |
+ } |
1606 |
+ else { |
1607 |
+ if (i < GPR_COUNT) |
1608 |
+ gpregs[i] = tempu64; |
1609 |
+ else |
1610 |
+ *d = tempu64; |
1611 |
+ } |
1612 |
+ if (i >= 7) |
1613 |
+ d++; |
1614 |
+ } |
1615 |
+} |
1616 |
+ |
1617 |
+extern "C" |
1618 |
+XPTC_PUBLIC_API(nsresult) |
1619 |
+XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex, |
1620 |
+ PRUint32 paramCount, nsXPTCVariant* params); |
1621 |
+ |
1622 |
diff -u mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s |
1623 |
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s 2006-11-21 16:38:52.000000000 +0000 |
1624 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc64_linux.s 2006-11-22 10:51:14.000000000 +0000 |
1625 |
@@ -0,0 +1,102 @@ |
1626 |
+// -*- Mode: Asm -*- |
1627 |
+// |
1628 |
+// The contents of this file are subject to the Netscape Public |
1629 |
+// License Version 1.1 (the "License"); you may not use this file |
1630 |
+// except in compliance with the License. You may obtain a copy of |
1631 |
+// the License at http://www.mozilla.org/NPL/ |
1632 |
+// |
1633 |
+// Software distributed under the License is distributed on an "AS |
1634 |
+// IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
1635 |
+// implied. See the License for the specific language governing |
1636 |
+// rights and limitations under the License. |
1637 |
+// |
1638 |
+// The Original Code is mozilla.org code. |
1639 |
+// |
1640 |
+// The Initial Developer of the Original Code is Netscape |
1641 |
+// Communications Corporation. Portions created by Netscape are |
1642 |
+// Copyright (C) 1999 Netscape Communications Corporation. All |
1643 |
+// Rights Reserved. |
1644 |
+// |
1645 |
+// Contributor(s): |
1646 |
+// dwmw2@×××××××××.org (David Woodhouse) |
1647 |
+// Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
1648 |
+// beard@××××××××.com (Patrick Beard) |
1649 |
+// waterson@××××××××.com (Chris Waterson) |
1650 |
+// |
1651 |
+ |
1652 |
+.set r0,0; .set r1,1; .set RTOC,2; .set r3,3; .set r4,4 |
1653 |
+.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9 |
1654 |
+.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14 |
1655 |
+.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19 |
1656 |
+.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24 |
1657 |
+.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29 |
1658 |
+.set r30,30; .set r31,31 |
1659 |
+.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4 |
1660 |
+.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9 |
1661 |
+.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14 |
1662 |
+.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19 |
1663 |
+.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24 |
1664 |
+.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29 |
1665 |
+.set f30,30; .set f31,31 |
1666 |
+ |
1667 |
+ .section ".text" |
1668 |
+ .align 2 |
1669 |
+ .globl SharedStub |
1670 |
+ .section ".opd","aw" |
1671 |
+ .align 3 |
1672 |
+ |
1673 |
+SharedStub: |
1674 |
+ .quad .SharedStub,.TOC.@tocbase |
1675 |
+ .previous |
1676 |
+ .type SharedStub,@function |
1677 |
+ |
1678 |
+.SharedStub: |
1679 |
+ mflr r0 |
1680 |
+ |
1681 |
+ std r4, -56(r1) // Save all GPRS |
1682 |
+ std r5, -48(r1) |
1683 |
+ std r6, -40(r1) |
1684 |
+ std r7, -32(r1) |
1685 |
+ std r8, -24(r1) |
1686 |
+ std r9, -16(r1) |
1687 |
+ std r10, -8(r1) |
1688 |
+ |
1689 |
+ stfd f13, -64(r1) // ... and FPRS |
1690 |
+ stfd f12, -72(r1) |
1691 |
+ stfd f11, -80(r1) |
1692 |
+ stfd f10, -88(r1) |
1693 |
+ stfd f9, -96(r1) |
1694 |
+ stfd f8, -104(r1) |
1695 |
+ stfd f7, -112(r1) |
1696 |
+ stfd f6, -120(r1) |
1697 |
+ stfd f5, -128(r1) |
1698 |
+ stfd f4, -136(r1) |
1699 |
+ stfd f3, -144(r1) |
1700 |
+ stfd f2, -152(r1) |
1701 |
+ stfd f1, -160(r1) |
1702 |
+ |
1703 |
+ subi r6,r1,56 // r6 --> gprData |
1704 |
+ subi r7,r1,160 // r7 --> fprData |
1705 |
+ addi r5,r1,112 // r5 --> extra stack args |
1706 |
+ |
1707 |
+ std r0, 16(r1) |
1708 |
+ |
1709 |
+ stdu r1,-288(r1) |
1710 |
+ // r3 has the 'self' pointer already |
1711 |
+ |
1712 |
+ mr r4,r11 // r4 is methodIndex selector, passed |
1713 |
+ // via r11 in the nsXPTCStubBase::StubXX() call |
1714 |
+ |
1715 |
+ bl PrepareAndDispatch |
1716 |
+ nop |
1717 |
+ |
1718 |
+ ld 1,0(r1) // restore stack |
1719 |
+ ld r0,16(r1) // restore LR |
1720 |
+ mtlr r0 |
1721 |
+ blr |
1722 |
+ |
1723 |
+ .size SharedStub,.-.SharedStub |
1724 |
+ |
1725 |
+ |
1726 |
+/* Magic indicating no need for an executable stack */ |
1727 |
+.section .note.GNU-stack, "", @progbits ; .previous |
1728 |
unchanged: |
1729 |
--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp 1970-01-01 01:00:00.000000000 +0100 |
1730 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc64_linux.cpp 2006-11-21 16:59:46.000000000 +0000 |
1731 |
@@ -0,0 +1,247 @@ |
1732 |
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
1733 |
+/* ***** BEGIN LICENSE BLOCK ***** |
1734 |
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
1735 |
+ * |
1736 |
+ * The contents of this file are subject to the Mozilla Public License Version |
1737 |
+ * 1.1 (the "License"); you may not use this file except in compliance with |
1738 |
+ * the License. You may obtain a copy of the License at |
1739 |
+ * http://www.mozilla.org/MPL/ |
1740 |
+ * |
1741 |
+ * Software distributed under the License is distributed on an "AS IS" basis, |
1742 |
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
1743 |
+ * for the specific language governing rights and limitations under the |
1744 |
+ * License. |
1745 |
+ * |
1746 |
+ * The Original Code is mozilla.org code. |
1747 |
+ * |
1748 |
+ * The Initial Developer of the Original Code is |
1749 |
+ * Netscape Communications Corporation. |
1750 |
+ * Portions created by the Initial Developer are Copyright (C) 1999 |
1751 |
+ * the Initial Developer. All Rights Reserved. |
1752 |
+ * |
1753 |
+ * Contributor(s): |
1754 |
+ * dwmw2@×××××××××.org (David Woodhouse) |
1755 |
+ * Franz.Sirl-kernel@××××××××××.com (Franz Sirl) |
1756 |
+ * beard@××××××××.com (Patrick Beard) |
1757 |
+ * waterson@××××××××.com (Chris Waterson) |
1758 |
+ * |
1759 |
+ * Alternatively, the contents of this file may be used under the terms of |
1760 |
+ * either of the GNU General Public License Version 2 or later (the "GPL"), |
1761 |
+ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), |
1762 |
+ * in which case the provisions of the GPL or the LGPL are applicable instead |
1763 |
+ * of those above. If you wish to allow use of your version of this file only |
1764 |
+ * under the terms of either the GPL or the LGPL, and not to allow others to |
1765 |
+ * use your version of this file under the terms of the MPL, indicate your |
1766 |
+ * decision by deleting the provisions above and replace them with the notice |
1767 |
+ * and other provisions required by the GPL or the LGPL. If you do not delete |
1768 |
+ * the provisions above, a recipient may use your version of this file under |
1769 |
+ * the terms of any one of the MPL, the GPL or the LGPL. |
1770 |
+ * |
1771 |
+ * ***** END LICENSE BLOCK ***** */ |
1772 |
+ |
1773 |
+// Implement shared vtbl methods. |
1774 |
+ |
1775 |
+#include "xptcprivate.h" |
1776 |
+ |
1777 |
+// The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral |
1778 |
+// parameters and the first 13 floating point parameters in registers |
1779 |
+// (r3-r10 and f1-f13), no stack space is allocated for these by the |
1780 |
+// caller. The rest of the parameters are passed in the callers stack |
1781 |
+// area. The stack pointer has to retain 16-byte alignment, longlongs |
1782 |
+// and doubles are aligned on 8-byte boundaries. |
1783 |
+ |
1784 |
+#define PARAM_BUFFER_COUNT 16 |
1785 |
+#define GPR_COUNT 7 |
1786 |
+#define FPR_COUNT 13 |
1787 |
+ |
1788 |
+// PrepareAndDispatch() is called by SharedStub() and calls the actual method. |
1789 |
+// |
1790 |
+// - 'args[]' contains the arguments passed on stack |
1791 |
+// - 'gprData[]' contains the arguments passed in integer registers |
1792 |
+// - 'fprData[]' contains the arguments passed in floating point registers |
1793 |
+// |
1794 |
+// The parameters are mapped into an array of type 'nsXPTCMiniVariant' |
1795 |
+// and then the method gets called. |
1796 |
+#include <stdio.h> |
1797 |
+extern "C" nsresult |
1798 |
+PrepareAndDispatch(nsXPTCStubBase* self, |
1799 |
+ PRUint64 methodIndex, |
1800 |
+ PRUint64* args, |
1801 |
+ PRUint64 *gprData, |
1802 |
+ double *fprData) |
1803 |
+{ |
1804 |
+ nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT]; |
1805 |
+ nsXPTCMiniVariant* dispatchParams = NULL; |
1806 |
+ nsIInterfaceInfo* iface_info = NULL; |
1807 |
+ const nsXPTMethodInfo* info; |
1808 |
+ PRUint32 paramCount; |
1809 |
+ PRUint32 i; |
1810 |
+ nsresult result = NS_ERROR_FAILURE; |
1811 |
+ |
1812 |
+ NS_ASSERTION(self,"no self"); |
1813 |
+ |
1814 |
+ self->GetInterfaceInfo(&iface_info); |
1815 |
+ NS_ASSERTION(iface_info,"no interface info"); |
1816 |
+ if (! iface_info) |
1817 |
+ return NS_ERROR_UNEXPECTED; |
1818 |
+ |
1819 |
+ iface_info->GetMethodInfo(PRUint16(methodIndex), &info); |
1820 |
+ NS_ASSERTION(info,"no method info"); |
1821 |
+ if (! info) |
1822 |
+ return NS_ERROR_UNEXPECTED; |
1823 |
+ |
1824 |
+ paramCount = info->GetParamCount(); |
1825 |
+ |
1826 |
+ // setup variant array pointer |
1827 |
+ if(paramCount > PARAM_BUFFER_COUNT) |
1828 |
+ dispatchParams = new nsXPTCMiniVariant[paramCount]; |
1829 |
+ else |
1830 |
+ dispatchParams = paramBuffer; |
1831 |
+ |
1832 |
+ NS_ASSERTION(dispatchParams,"no place for params"); |
1833 |
+ if (! dispatchParams) |
1834 |
+ return NS_ERROR_OUT_OF_MEMORY; |
1835 |
+ |
1836 |
+ PRUint64* ap = args; |
1837 |
+ PRUint64 tempu64; |
1838 |
+ |
1839 |
+ for(i = 0; i < paramCount; i++) { |
1840 |
+ const nsXPTParamInfo& param = info->GetParam(i); |
1841 |
+ const nsXPTType& type = param.GetType(); |
1842 |
+ nsXPTCMiniVariant* dp = &dispatchParams[i]; |
1843 |
+ |
1844 |
+ if (!param.IsOut() && type == nsXPTType::T_DOUBLE) { |
1845 |
+ if (i < FPR_COUNT) |
1846 |
+ dp->val.d = fprData[i]; |
1847 |
+ else |
1848 |
+ dp->val.d = *(double*) ap; |
1849 |
+ } else if (!param.IsOut() && type == nsXPTType::T_FLOAT) { |
1850 |
+ if (i < FPR_COUNT) |
1851 |
+ dp->val.f = (float) fprData[i]; // in registers floats are passed as doubles |
1852 |
+ else { |
1853 |
+ float *p = (float *)ap; |
1854 |
+ p++; |
1855 |
+ dp->val.f = *p; |
1856 |
+ } |
1857 |
+ } else { /* integer type or pointer */ |
1858 |
+ if (i < GPR_COUNT) |
1859 |
+ tempu64 = gprData[i]; |
1860 |
+ else |
1861 |
+ tempu64 = *ap; |
1862 |
+ |
1863 |
+ if (param.IsOut() || !type.IsArithmetic()) |
1864 |
+ dp->val.p = (void*) tempu64; |
1865 |
+ else if (type ==nsXPTType::T_I8) |
1866 |
+ dp->val.i8 = (PRInt8) tempu64; |
1867 |
+ else if (type ==nsXPTType::T_I16) |
1868 |
+ dp->val.i16 = (PRInt16) tempu64; |
1869 |
+ else if (type ==nsXPTType::T_I32) |
1870 |
+ dp->val.i32 = (PRInt32) tempu64; |
1871 |
+ else if (type ==nsXPTType::T_I64) |
1872 |
+ dp->val.i64 = (PRInt64) tempu64; |
1873 |
+ else if (type ==nsXPTType::T_U8) |
1874 |
+ dp->val.u8 = (PRUint8) tempu64; |
1875 |
+ else if (type ==nsXPTType::T_U16) |
1876 |
+ dp->val.u16 = (PRUint16) tempu64; |
1877 |
+ else if (type ==nsXPTType::T_U32) |
1878 |
+ dp->val.u32 = (PRUint32) tempu64; |
1879 |
+ else if (type ==nsXPTType::T_U64) |
1880 |
+ dp->val.u64 = (PRUint64) tempu64; |
1881 |
+ else if (type ==nsXPTType::T_BOOL) |
1882 |
+ dp->val.b = (PRBool) tempu64; |
1883 |
+ else if (type ==nsXPTType::T_CHAR) |
1884 |
+ dp->val.c = (char) tempu64; |
1885 |
+ else if (type ==nsXPTType::T_WCHAR) |
1886 |
+ dp->val.wc = (wchar_t) tempu64; |
1887 |
+ else |
1888 |
+ NS_ASSERTION(0, "bad type"); |
1889 |
+ } |
1890 |
+ |
1891 |
+ if (i >= 7) |
1892 |
+ ap++; |
1893 |
+ } |
1894 |
+ |
1895 |
+ result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams); |
1896 |
+ |
1897 |
+ NS_RELEASE(iface_info); |
1898 |
+ |
1899 |
+ if (dispatchParams != paramBuffer) |
1900 |
+ delete [] dispatchParams; |
1901 |
+ |
1902 |
+ return result; |
1903 |
+} |
1904 |
+ |
1905 |
+// Load r11 with the constant 'n' and branch to SharedStub(). |
1906 |
+// |
1907 |
+// XXX Yes, it's ugly that we're relying on gcc's name-mangling here; |
1908 |
+// however, it's quick, dirty, and'll break when the ABI changes on |
1909 |
+// us, which is what we want ;-). |
1910 |
+ |
1911 |
+#if __GXX_ABI_VERSION < 100 |
1912 |
+#error Prehistoric GCC not supported here |
1913 |
+#else |
1914 |
+// gcc-3 version |
1915 |
+// |
1916 |
+// As G++3 ABI contains the length of the functionname in the mangled |
1917 |
+// name, it is difficult to get a generic assembler mechanism like |
1918 |
+// in the G++ 2.95 case. |
1919 |
+// Create names would be like: |
1920 |
+// _ZN14nsXPTCStubBase5Stub1Ev |
1921 |
+// _ZN14nsXPTCStubBase6Stub12Ev |
1922 |
+// _ZN14nsXPTCStubBase7Stub123Ev |
1923 |
+// _ZN14nsXPTCStubBase8Stub1234Ev |
1924 |
+// etc. |
1925 |
+// Use assembler directives to get the names right... |
1926 |
+ |
1927 |
+# define STUB_ENTRY(n) \ |
1928 |
+__asm__ ( \ |
1929 |
+ ".section \".toc\",\"aw\" \n\t" \ |
1930 |
+ ".section \".text\" \n\t" \ |
1931 |
+ ".align 2 \n\t" \ |
1932 |
+ ".if "#n" < 10 \n\t" \ |
1933 |
+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \ |
1934 |
+ ".section \".opd\",\"aw\" \n\t" \ |
1935 |
+ ".align 3 \n\t" \ |
1936 |
+"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \ |
1937 |
+ ".quad ._ZN14nsXPTCStubBase5Stub"#n"Ev,.TOC.@tocbase \n\t" \ |
1938 |
+ ".previous \n\t" \ |
1939 |
+ ".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \ |
1940 |
+"._ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \ |
1941 |
+ \ |
1942 |
+ ".elseif "#n" < 100 \n\t" \ |
1943 |
+ ".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \ |
1944 |
+ ".section \".opd\",\"aw\" \n\t" \ |
1945 |
+ ".align 3 \n\t" \ |
1946 |
+"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \ |
1947 |
+ ".quad ._ZN14nsXPTCStubBase6Stub"#n"Ev,.TOC.@tocbase \n\t" \ |
1948 |
+ ".previous \n\t" \ |
1949 |
+ ".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \ |
1950 |
+"._ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \ |
1951 |
+ \ |
1952 |
+ ".elseif "#n" < 1000 \n\t" \ |
1953 |
+ ".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \ |
1954 |
+ ".section \".opd\",\"aw\" \n\t" \ |
1955 |
+ ".align 3 \n\t" \ |
1956 |
+"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \ |
1957 |
+ ".quad ._ZN14nsXPTCStubBase7Stub"#n"Ev,.TOC.@tocbase \n\t" \ |
1958 |
+ ".previous \n\t" \ |
1959 |
+ ".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \ |
1960 |
+"._ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \ |
1961 |
+ \ |
1962 |
+ ".else \n\t" \ |
1963 |
+ ".err \"stub number "#n" >= 1000 not yet supported\"\n" \ |
1964 |
+ ".endif \n\t" \ |
1965 |
+ \ |
1966 |
+ "li 11,"#n" \n\t" \ |
1967 |
+ "b SharedStub \n" \ |
1968 |
+); |
1969 |
+#endif |
1970 |
+ |
1971 |
+#define SENTINEL_ENTRY(n) \ |
1972 |
+nsresult nsXPTCStubBase::Sentinel##n() \ |
1973 |
+{ \ |
1974 |
+ NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \ |
1975 |
+ return NS_ERROR_NOT_IMPLEMENTED; \ |
1976 |
+} |
1977 |
+ |
1978 |
+#include "xptcstubsdef.inc" |
1979 |
|
1980 |
|
1981 |
|
1982 |
1.1 src/patchsets/seamonkey/1.1.6/033_firefox-2.0_ppc_powerpc.patch |
1983 |
|
1984 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/033_firefox-2.0_ppc_powerpc.patch?rev=1.1&view=markup |
1985 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/033_firefox-2.0_ppc_powerpc.patch?rev=1.1&content-type=text/plain |
1986 |
|
1987 |
Index: 033_firefox-2.0_ppc_powerpc.patch |
1988 |
=================================================================== |
1989 |
--- mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig 2007-03-05 13:46:38.000000000 +0100 |
1990 |
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in 2007-03-05 13:47:30.000000000 +0100 |
1991 |
@@ -288,12 +288,12 @@ |
1992 |
# |
1993 |
# Linux/PPC |
1994 |
# |
1995 |
-ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc) |
1996 |
+ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc) |
1997 |
CPPSRCS := xptcinvoke_ppc_linux.cpp xptcstubs_ppc_linux.cpp |
1998 |
ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s |
1999 |
AS := $(CC) -c -x assembler-with-cpp |
2000 |
endif |
2001 |
-ifeq ($(OS_ARCH)$(OS_TEST),Linuxppc64) |
2002 |
+ifeq ($(OS_ARCH)$(OS_TEST),Linuxpowerpc64) |
2003 |
CPPSRCS := xptcinvoke_ppc64_linux.cpp xptcstubs_ppc64_linux.cpp |
2004 |
ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s |
2005 |
AS := $(CC) -c -x assembler-with-cpp |
2006 |
|
2007 |
|
2008 |
|
2009 |
1.1 src/patchsets/seamonkey/1.1.6/050_respect-host-variable.patch |
2010 |
|
2011 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/050_respect-host-variable.patch?rev=1.1&view=markup |
2012 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/050_respect-host-variable.patch?rev=1.1&content-type=text/plain |
2013 |
|
2014 |
Index: 050_respect-host-variable.patch |
2015 |
=================================================================== |
2016 |
# https://bugs.gentoo.org/show_bug.cgi?id=168893 |
2017 |
|
2018 |
--- mozilla/configure.in.old 2007-03-02 23:28:27.000000000 +0200 |
2019 |
+++ mozilla/configure.in 2007-03-02 23:29:23.000000000 +0200 |
2020 |
@@ -825,7 +825,6 @@ |
2021 |
OS_TARGET="${target_os}" |
2022 |
OS_ARCH=`echo $target_os | sed -e 's|/|_|g'` |
2023 |
OS_RELEASE= |
2024 |
- OS_TEST="${target_cpu}" |
2025 |
case "${target_os}" in |
2026 |
linux*) OS_ARCH=Linux ;; |
2027 |
solaris*) OS_ARCH=SunOS OS_RELEASE=5 ;; |
2028 |
@@ -837,8 +836,10 @@ |
2029 |
OS_TARGET=`uname -s` |
2030 |
OS_ARCH=`uname -s | sed -e 's|/|_|g'` |
2031 |
OS_RELEASE=`uname -r` |
2032 |
- OS_TEST=`uname -m` |
2033 |
fi |
2034 |
+ |
2035 |
+OS_TEST="${target_cpu}" |
2036 |
+ |
2037 |
_COMPILER_PREFIX= |
2038 |
|
2039 |
HOST_OS_ARCH=`echo $host_os | sed -e 's|/|_|g'` |
2040 |
|
2041 |
|
2042 |
|
2043 |
1.1 src/patchsets/seamonkey/1.1.6/055_firefox-2.0_gfbsd-pthreads.patch |
2044 |
|
2045 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&view=markup |
2046 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&content-type=text/plain |
2047 |
|
2048 |
Index: 055_firefox-2.0_gfbsd-pthreads.patch |
2049 |
=================================================================== |
2050 |
# https://bugs.gentoo.org/show_bug.cgi?id=169825 |
2051 |
|
2052 |
--- mozilla/config/rules.mk.orig Thu Sep 14 14:07:03 2006 |
2053 |
+++ mozilla/config/rules.mk Wed Oct 18 11:00:09 2006 |
2054 |
@@ -442,9 +442,7 @@ |
2055 |
endif |
2056 |
|
2057 |
ifeq ($(OS_ARCH),FreeBSD) |
2058 |
-ifdef IS_COMPONENT |
2059 |
-EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic |
2060 |
-endif |
2061 |
+EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc |
2062 |
endif |
2063 |
|
2064 |
ifeq ($(OS_ARCH),NetBSD) |
2065 |
--- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300 |
2066 |
+++ mozilla/configure.in 2007-03-07 15:35:41 -0300 |
2067 |
@@ -2667,7 +2667,7 @@ |
2068 |
*-hpux11.*) |
2069 |
;; |
2070 |
*) |
2071 |
- AC_CHECK_LIB(c_r, gethostbyname_r) |
2072 |
+ AC_SEARCH_LIBS([gethostbyname_r], [c_r]) |
2073 |
;; |
2074 |
esac |
2075 |
AC_CHECK_LIB(m, atan) |
2076 |
--- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300 |
2077 |
+++ mozilla/configure.in 2007-03-07 13:59:53 -0300 |
2078 |
@@ -2839,11 +2839,12 @@ |
2079 |
*-*-freebsd*) |
2080 |
AC_DEFINE(_REENTRANT) |
2081 |
AC_DEFINE(_THREAD_SAFE) |
2082 |
- dnl -pthread links in -lc_r, so don't specify it explicitly. |
2083 |
- if test "$ac_cv_have_dash_pthread" = "yes"; then |
2084 |
- _PTHREAD_LDFLAGS="-pthread" |
2085 |
+ dnl use the environment PTHREAD_LIBS |
2086 |
+ if test -n "$PTHREAD_LIBS"; then |
2087 |
+ _PTHREAD_LDFLAGS="$PTHREAD_LIBS" |
2088 |
else |
2089 |
- _PTHREAD_LDFLAGS="-lc_r" |
2090 |
+ _PTHREAD_LDFLAGS="-lpthread" |
2091 |
fi |
2092 |
+ LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}" |
2093 |
;; |
2094 |
|
2095 |
|
2096 |
|
2097 |
1.1 src/patchsets/seamonkey/1.1.6/063_mozilla-rpath-3.patch |
2098 |
|
2099 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/063_mozilla-rpath-3.patch?rev=1.1&view=markup |
2100 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/063_mozilla-rpath-3.patch?rev=1.1&content-type=text/plain |
2101 |
|
2102 |
Index: 063_mozilla-rpath-3.patch |
2103 |
=================================================================== |
2104 |
--- config/rules.mk.orig 2005-07-28 01:45:18.000000000 +0000 |
2105 |
+++ config/rules.mk 2005-07-28 01:45:21.000000000 +0000 |
2106 |
@@ -507,5 +507,10 @@ |
2107 |
# |
2108 |
ifeq ($(OS_ARCH),Linux) |
2109 |
ifdef IS_COMPONENT |
2110 |
+DSO_LDOPTS += -Wl,-rpath,'$$ORIGIN:$$ORIGIN/..' |
2111 |
+OS_LDFLAGS += -Wl,-rpath,'$$ORIGIN:$$ORIGIN/..' |
2112 |
EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic |
2113 |
+else |
2114 |
+DSO_LDOPTS += -Wl,-rpath,'$$ORIGIN' |
2115 |
+OS_LDFLAGS += -Wl,-rpath,'$$ORIGIN' |
2116 |
endif |
2117 |
|
2118 |
|
2119 |
|
2120 |
|
2121 |
1.1 src/patchsets/seamonkey/1.1.6/064_mozilla-1.7.10-nsplugins-v2.patch |
2122 |
|
2123 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/064_mozilla-1.7.10-nsplugins-v2.patch?rev=1.1&view=markup |
2124 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/064_mozilla-1.7.10-nsplugins-v2.patch?rev=1.1&content-type=text/plain |
2125 |
|
2126 |
Index: 064_mozilla-1.7.10-nsplugins-v2.patch |
2127 |
=================================================================== |
2128 |
This is the second revision of the nsplugins patch. The first revision did not |
2129 |
work. This one does. |
2130 |
|
2131 |
This patch adds /usr/$(get_libdir)/nsplugins and /usr/$(get_libdir)/nsbrowser/plugins |
2132 |
to the search path for plugins. The point of this patch is to provide a place |
2133 |
to install netscape-compatible plugins which can be used by any of |
2134 |
mozilla/firefox/thunderbird/seamonkey, for example the acroread plugin. This |
2135 |
obviates the code in nsplugins.eclass except for inst_plugin |
2136 |
|
2137 |
Note that mozilla/firefox/thunderbird/seamonkey handle dup plugins like this: |
2138 |
First by mtime order (more recent takes precedence), second by alpha order. |
2139 |
|
2140 |
01 Aug 2005 agriffis |
2141 |
|
2142 |
--- mozilla/xpcom/io/nsAppFileLocationProvider.cpp.agriffis 2005-08-01 15:53:34.000000000 -0400 |
2143 |
+++ mozilla/xpcom/io/nsAppFileLocationProvider.cpp 2005-08-01 22:18:21.766663456 -0400 |
2144 |
@@ -196,6 +196,14 @@ |
2145 |
if (NS_SUCCEEDED(rv)) |
2146 |
rv = localFile->AppendRelativeNativePath(PLUGINS_DIR_NAME); |
2147 |
} |
2148 |
+ else if (nsCRT::strcmp(prop, GENTOO_NSPLUGINS_DIR) == 0) |
2149 |
+ { |
2150 |
+ rv = NS_NewNativeLocalFile(nsDependentCString(GENTOO_NSPLUGINS_DIR), PR_TRUE, getter_AddRefs(localFile)); |
2151 |
+ } |
2152 |
+ else if (nsCRT::strcmp(prop, GENTOO_NSBROWSER_PLUGINS_DIR) == 0) |
2153 |
+ { |
2154 |
+ rv = NS_NewNativeLocalFile(nsDependentCString(GENTOO_NSBROWSER_PLUGINS_DIR), PR_TRUE, getter_AddRefs(localFile)); |
2155 |
+ } |
2156 |
#if defined(XP_MAC) || defined(XP_MACOSX) |
2157 |
else if (nsCRT::strcmp(prop, NS_MACOSX_USER_PLUGIN_DIR) == 0) |
2158 |
{ |
2159 |
@@ -579,7 +587,7 @@ |
2160 |
|
2161 |
*_retval = new nsAppDirectoryEnumerator(this, keys); |
2162 |
#else |
2163 |
- static const char* keys[] = { nsnull, NS_USER_PLUGINS_DIR, NS_APP_PLUGINS_DIR, nsnull }; |
2164 |
+ static const char* keys[] = { nsnull, GENTOO_NSPLUGINS_DIR, GENTOO_NSBROWSER_PLUGINS_DIR, NS_USER_PLUGINS_DIR, NS_APP_PLUGINS_DIR, nsnull }; |
2165 |
if (!keys[0] && !(keys[0] = PR_GetEnv("MOZ_PLUGIN_PATH"))) { |
2166 |
static const char nullstr = 0; |
2167 |
keys[0] = &nullstr; |
2168 |
|
2169 |
|
2170 |
|
2171 |
1.1 src/patchsets/seamonkey/1.1.6/101_thunderbird-0.7.3-gnome-uriloader.patch |
2172 |
|
2173 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/101_thunderbird-0.7.3-gnome-uriloader.patch?rev=1.1&view=markup |
2174 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/101_thunderbird-0.7.3-gnome-uriloader.patch?rev=1.1&content-type=text/plain |
2175 |
|
2176 |
Index: 101_thunderbird-0.7.3-gnome-uriloader.patch |
2177 |
=================================================================== |
2178 |
--- mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp.foo 2004-01-05 18:38:48.000000000 -0500 |
2179 |
+++ mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp 2004-01-05 19:14:51.000000000 -0500 |
2180 |
@@ -39,6 +39,7 @@ |
2181 |
#include "nsGNOMERegistry.h" |
2182 |
#include "prlink.h" |
2183 |
#include "prmem.h" |
2184 |
+#include "prenv.h" |
2185 |
#include "nsString.h" |
2186 |
#include "nsIComponentManager.h" |
2187 |
#include "nsILocalFile.h" |
2188 |
@@ -137,6 +138,10 @@ |
2189 |
} \ |
2190 |
PR_END_MACRO |
2191 |
|
2192 |
+ // Don't even use this code if an env var is set |
2193 |
+ if (PR_GetEnv("MOZ_DISABLE_GNOME")) |
2194 |
+ return; |
2195 |
+ |
2196 |
// Attempt to open libgconf |
2197 |
gconfLib = LoadVersionedLibrary("gconf-2", ".4"); |
2198 |
ENSURE_LIB(gconfLib); |
2199 |
|
2200 |
|
2201 |
|
2202 |
1.1 src/patchsets/seamonkey/1.1.6/220_seamonkey-gentoo-homepage.patch |
2203 |
|
2204 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/220_seamonkey-gentoo-homepage.patch?rev=1.1&view=markup |
2205 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/220_seamonkey-gentoo-homepage.patch?rev=1.1&content-type=text/plain |
2206 |
|
2207 |
Index: 220_seamonkey-gentoo-homepage.patch |
2208 |
=================================================================== |
2209 |
--- xpfe/browser/resources/locale/en-US/region.properties.old 2007-01-20 21:11:14.000000000 +0100 |
2210 |
+++ xpfe/browser/resources/locale/en-US/region.properties 2007-01-20 21:12:31.000000000 +0100 |
2211 |
@@ -1,5 +1,5 @@ |
2212 |
# navigator.properties |
2213 |
-homePageDefault=http://www.mozilla.org/ |
2214 |
+homePageDefault=http://www.gentoo.org/ |
2215 |
keywordList=http://home.netscape.com/escapes/keywords |
2216 |
webmailKeyword=http://webmail.netscape.com |
2217 |
fallbackDefaultSearchURL=http://www.google.com/search?q= |
2218 |
@@ -7,7 +7,7 @@ |
2219 |
# |
2220 |
# all.js |
2221 |
# |
2222 |
-browser.startup.homepage=http://www.mozilla.org/projects/seamonkey/start/ |
2223 |
+browser.startup.homepage=http://www.gentoo.org |
2224 |
browser.throbber.url=http://www.mozilla.org/projects/seamonkey/ |
2225 |
browser.search.defaulturl=http://www.google.com/search?q= |
2226 |
general.useragent.contentlocale=US |
2227 |
@@ -17,4 +17,4 @@ |
2228 |
|
2229 |
#config.js |
2230 |
# |
2231 |
-startup.homepage_override_url=http://www.mozilla.org/projects/seamonkey/start/ |
2232 |
+startup.homepage_override_url=http://www.gentoo.org |
2233 |
|
2234 |
|
2235 |
|
2236 |
1.1 src/patchsets/seamonkey/1.1.6/225_mozilla-nspr-packages.patch |
2237 |
|
2238 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/225_mozilla-nspr-packages.patch?rev=1.1&view=markup |
2239 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/225_mozilla-nspr-packages.patch?rev=1.1&content-type=text/plain |
2240 |
|
2241 |
Index: 225_mozilla-nspr-packages.patch |
2242 |
=================================================================== |
2243 |
--- xpinstall/packager/packages-unix.old 2007-01-20 21:14:14.000000000 +0100 |
2244 |
+++ xpinstall/packager/packages-unix 2007-01-20 21:17:57.000000000 +0100 |
2245 |
@@ -45,9 +45,6 @@ |
2246 |
|
2247 |
[xpcom] |
2248 |
bin/libmozjs.so |
2249 |
-bin/libnspr4.so |
2250 |
-bin/libplc4.so |
2251 |
-bin/libplds4.so |
2252 |
bin/cpu/sparcv8plus/libnspr_flt4.so |
2253 |
bin/libxpcom.so |
2254 |
bin/libxpcom_core.so |
2255 |
@@ -469,17 +466,13 @@ |
2256 |
bin/components/talkback/* |
2257 |
|
2258 |
[psm] |
2259 |
-bin/libnssckbi.so |
2260 |
bin/components/libpipboot.so |
2261 |
bin/components/pipboot.xpt |
2262 |
bin/components/libpipnss.so |
2263 |
bin/components/pipnss.xpt |
2264 |
bin/components/libpippki.so |
2265 |
bin/components/pippki.xpt |
2266 |
-bin/libnss3.so |
2267 |
-bin/libsmime3.so |
2268 |
bin/libsoftokn3.chk |
2269 |
-bin/libsoftokn3.so |
2270 |
bin/libfreebl3.chk |
2271 |
bin/libfreebl3.so |
2272 |
bin/libfreebl_32fpu_3.chk |
2273 |
@@ -492,7 +485,6 @@ |
2274 |
bin/libfreebl_64fpu_3.so |
2275 |
bin/libfreebl_64int_3.chk |
2276 |
bin/libfreebl_64int_3.so |
2277 |
-bin/libssl3.so |
2278 |
bin/chrome/pipnss.jar |
2279 |
bin/chrome/pippki.jar |
2280 |
|
2281 |
@@ -510,5 +502,17 @@ |
2282 |
bin/components/spellchecker.xpt |
2283 |
bin/dictionaries/* |
2284 |
|
2285 |
+[nspr] |
2286 |
+bin/libnspr4.so |
2287 |
+bin/libplc4.so |
2288 |
+bin/libplds4.so |
2289 |
+ |
2290 |
+[nss] |
2291 |
+bin/libnssckbi.so |
2292 |
+bin/libnss3.so |
2293 |
+bin/libsmime3.so |
2294 |
+bin/libsoftokn3.so |
2295 |
+bin/libssl3.so |
2296 |
+ |
2297 |
[reporter] |
2298 |
bin/chrome/reporter.jar |
2299 |
|
2300 |
|
2301 |
|
2302 |
1.1 src/patchsets/seamonkey/1.1.6/301_mozilla-1.7.3-gnome-vfs-default-app.patch |
2303 |
|
2304 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/301_mozilla-1.7.3-gnome-vfs-default-app.patch?rev=1.1&view=markup |
2305 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/301_mozilla-1.7.3-gnome-vfs-default-app.patch?rev=1.1&content-type=text/plain |
2306 |
|
2307 |
Index: 301_mozilla-1.7.3-gnome-vfs-default-app.patch |
2308 |
=================================================================== |
2309 |
--- mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp.foo 2004-03-06 09:41:00.000000000 -0500 |
2310 |
+++ mozilla/uriloader/exthandler/unix/nsGNOMERegistry.cpp 2004-10-18 18:55:55.000000000 -0400 |
2311 |
@@ -283,6 +283,11 @@ |
2312 |
|
2313 |
gchar *nativeCommand = g_filename_from_utf8(handlerApp->command, |
2314 |
-1, NULL, NULL, NULL); |
2315 |
+ |
2316 |
+ // Some versions of the mime stuff will add whitespace to the end or |
2317 |
+ // beginning of the command |
2318 |
+ nativeCommand = g_strstrip(nativeCommand); |
2319 |
+ |
2320 |
if (!nativeCommand) { |
2321 |
NS_ERROR("Could not convert helper app command to filesystem encoding"); |
2322 |
_gnome_vfs_mime_application_free(handlerApp); |
2323 |
|
2324 |
|
2325 |
|
2326 |
1.1 src/patchsets/seamonkey/1.1.6/303_mozilla-1.7.13-as-needed.patch |
2327 |
|
2328 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/303_mozilla-1.7.13-as-needed.patch?rev=1.1&view=markup |
2329 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/303_mozilla-1.7.13-as-needed.patch?rev=1.1&content-type=text/plain |
2330 |
|
2331 |
Index: 303_mozilla-1.7.13-as-needed.patch |
2332 |
=================================================================== |
2333 |
--- embedding/browser/gtk/tests/Makefile.in.orig 2006-04-29 22:56:46.000000000 -0500 |
2334 |
+++ embedding/browser/gtk/tests/Makefile.in 2006-04-29 22:57:17.000000000 -0500 |
2335 |
@@ -58,6 +58,8 @@ |
2336 |
endif |
2337 |
endif |
2338 |
|
2339 |
+OS_LDFLAGS += -Wl,-rpath-link,'$(DEPTH)/dist/bin' |
2340 |
+ |
2341 |
ifdef MOZ_ENABLE_GTK |
2342 |
LIBS += \ |
2343 |
-lgtkembedmoz \ |
2344 |
|
2345 |
|
2346 |
|
2347 |
1.1 src/patchsets/seamonkey/1.1.6/304_mozilla-1.7.5-g-application-name.patch |
2348 |
|
2349 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/304_mozilla-1.7.5-g-application-name.patch?rev=1.1&view=markup |
2350 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/seamonkey/1.1.6/304_mozilla-1.7.5-g-application-name.patch?rev=1.1&content-type=text/plain |
2351 |
|
2352 |
Index: 304_mozilla-1.7.5-g-application-name.patch |
2353 |
=================================================================== |
2354 |
Index: xpfe/bootstrap/nsAppRunner.cpp |
2355 |
=================================================================== |
2356 |
RCS file: /cvsroot/mozilla/xpfe/bootstrap/nsAppRunner.cpp,v |
2357 |
retrieving revision 1.428 |
2358 |
diff -d -u -p -r1.428 nsAppRunner.cpp |
2359 |
--- xpfe/bootstrap/nsAppRunner.cpp 20 Dec 2004 21:53:33 -0000 1.428 |
2360 |
+++ xpfe/bootstrap/nsAppRunner.cpp 5 Mar 2005 08:39:12 -0000 |
2361 |
@@ -1612,6 +1612,11 @@ static PRBool GetWantSplashScreen(int ar |
2362 |
return dosplash; |
2363 |
} |
2364 |
|
2365 |
+#ifdef MOZ_WIDGET_GTK2 |
2366 |
+#include "prlink.h" |
2367 |
+typedef void (*_g_set_application_name_fn)(const gchar *application_name); |
2368 |
+#endif |
2369 |
+ |
2370 |
int main(int argc, char* argv[]) |
2371 |
{ |
2372 |
NS_TIMELINE_MARK("enter main"); |
2373 |
@@ -1712,6 +1717,19 @@ int main(int argc, char* argv[]) |
2374 |
#endif |
2375 |
gtk_init(&argc, &argv); |
2376 |
|
2377 |
+#if defined(MOZ_WIDGET_GTK2) |
2378 |
+ // g_set_application_name () is only defined in glib2.2 and higher. |
2379 |
+ PRLibrary *glib2; |
2380 |
+ _g_set_application_name_fn _g_set_application_name = |
2381 |
+ (_g_set_application_name_fn)PR_FindFunctionSymbolAndLibrary("g_set_application_name", &glib2); |
2382 |
+ if (_g_set_application_name) { |
2383 |
+ _g_set_application_name("seamonkey"); /* MOZ_APP_NAME */ |
2384 |
+ } |
2385 |
+ if (glib2) { |
2386 |
+ PR_UnloadLibrary(glib2); |
2387 |
+ } |
2388 |
+#endif |
2389 |
+ |
2390 |
gtk_widget_set_default_visual(gdk_rgb_get_visual()); |
2391 |
gtk_widget_set_default_colormap(gdk_rgb_get_cmap()); |
2392 |
#endif /* MOZ_WIDGET_GTK || MOZ_WIDGET_GTK2 */ |
2393 |
|
2394 |
|
2395 |
|
2396 |
-- |
2397 |
gentoo-commits@g.o mailing list |