Gentoo Archives: gentoo-commits

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