Gentoo Archives: gentoo-commits

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