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/mozilla-firefox/3.0.10: 000_flex-configure-LANG.patch 001-firefox_gentoo_install_dirs.patch 003-bz386904_config_rules_install_dist_files.patch 005-installer_shouldnt_copy_xulrunner.patch 007-xulonly-dont_depend_on_nspr_sources.patch 009-xulonly-nspr_flags_by_pkg_config_hack.patch 020_noxul-mips-asm.patch 021_noxul-mips-fpic.patch 030-firefox_encode_spaces.patch 055_firefox-2.0_gfbsd-pthreads.patch 063_firefox-rpath-3.patch 064_noxul-nsplugins-v3.patch 068_noxul-nss-gentoo-fix.patch 080_gcc-4.4-elif.patch 085-arm-gcc42.patch 090-unaligned.patch 096_glibc-maxpathlen.patch 097_noxul_glibc-maxpathlen.patch 100-system-hunspell-corrections.patch 300-xulonly-gnome_firefox_default_browser.patch 667_typeahead-broken-v4.patch 800-noxul-bsd-include.patch
Date: Tue, 28 Apr 2009 14:11:06
Message-Id: E1Lyo1T-00074J-Kc@stork.gentoo.org
1 armin76 09/04/28 14:10:59
2
3 Added: 000_flex-configure-LANG.patch
4 001-firefox_gentoo_install_dirs.patch
5 003-bz386904_config_rules_install_dist_files.patch
6 005-installer_shouldnt_copy_xulrunner.patch
7 007-xulonly-dont_depend_on_nspr_sources.patch
8 009-xulonly-nspr_flags_by_pkg_config_hack.patch
9 020_noxul-mips-asm.patch 021_noxul-mips-fpic.patch
10 030-firefox_encode_spaces.patch
11 055_firefox-2.0_gfbsd-pthreads.patch
12 063_firefox-rpath-3.patch
13 064_noxul-nsplugins-v3.patch
14 068_noxul-nss-gentoo-fix.patch
15 080_gcc-4.4-elif.patch 085-arm-gcc42.patch
16 090-unaligned.patch 096_glibc-maxpathlen.patch
17 097_noxul_glibc-maxpathlen.patch
18 100-system-hunspell-corrections.patch
19 300-xulonly-gnome_firefox_default_browser.patch
20 667_typeahead-broken-v4.patch
21 800-noxul-bsd-include.patch
22 Log:
23 Add patchset for 3.0.10
24
25 Revision Changes Path
26 1.1 src/patchsets/mozilla-firefox/3.0.10/000_flex-configure-LANG.patch
27
28 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/000_flex-configure-LANG.patch?rev=1.1&view=markup
29 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/000_flex-configure-LANG.patch?rev=1.1&content-type=text/plain
30
31 Index: 000_flex-configure-LANG.patch
32 ===================================================================
33 The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
34 option parsing, it may break.
35
36 http://bugs.gentoo.org/103483
37
38 --- configure
39 +++ configure
40 @@ -54,6 +54,16 @@
41 infodir='${prefix}/info'
42 mandir='${prefix}/man'
43
44 +# NLS nuisances.
45 +# Only set these to C if already set. These must not be set unconditionally
46 +# because not all systems understand e.g. LANG=C (notably SCO).
47 +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
48 +# Non-C LC_CTYPE values break the ctype check.
49 +if test "${LANG+set}" = set; then LANG=C; export LANG; fi
50 +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
51 +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
52 +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
53 +
54 # Initialize some other variables.
55 subdirs=
56 MFLAGS= MAKEFLAGS=
57 @@ -452,16 +463,6 @@
58 esac
59 done
60
61 -# NLS nuisances.
62 -# Only set these to C if already set. These must not be set unconditionally
63 -# because not all systems understand e.g. LANG=C (notably SCO).
64 -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
65 -# Non-C LC_CTYPE values break the ctype check.
66 -if test "${LANG+set}" = set; then LANG=C; export LANG; fi
67 -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
68 -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
69 -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
70 -
71 # confdefs.h avoids OS command line length limits that DEFS can exceed.
72 rm -rf conftest* confdefs.h
73 # AIX cpp loses on an empty file, so make sure it contains at least a newline.
74
75
76
77 1.1 src/patchsets/mozilla-firefox/3.0.10/001-firefox_gentoo_install_dirs.patch
78
79 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/001-firefox_gentoo_install_dirs.patch?rev=1.1&view=markup
80 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/001-firefox_gentoo_install_dirs.patch?rev=1.1&content-type=text/plain
81
82 Index: 001-firefox_gentoo_install_dirs.patch
83 ===================================================================
84 --- config/autoconf.mk.in.orig 2007-08-03 22:02:32.000000000 +0200
85 +++ config/autoconf.mk.in 2007-08-03 22:07:00.000000000 +0200
86 @@ -58,14 +58,14 @@
87 prefix = @prefix@
88 exec_prefix = @exec_prefix@
89 bindir = @bindir@
90 -includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
91 +includedir = @includedir@/mozilla-firefox
92 libdir = @libdir@
93 datadir = @datadir@
94 mandir = @mandir@
95 -idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
96 +idldir = $(includedir)/idl
97
98 -installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
99 -sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
100 +installdir = $(libdir)/mozilla-firefox
101 +sdkdir = $(libdir)/mozilla-firefox
102
103 DIST = $(DEPTH)/dist
104 LIBXUL_SDK = @LIBXUL_SDK@
105
106
107
108 1.1 src/patchsets/mozilla-firefox/3.0.10/003-bz386904_config_rules_install_dist_files.patch
109
110 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/003-bz386904_config_rules_install_dist_files.patch?rev=1.1&view=markup
111 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/003-bz386904_config_rules_install_dist_files.patch?rev=1.1&content-type=text/plain
112
113 Index: 003-bz386904_config_rules_install_dist_files.patch
114 ===================================================================
115 This is from:
116 https://bugzilla.mozilla.org/show_bug.cgi?id=386904
117 https://bugzilla.mozilla.org/attachment.cgi?id=270967
118
119
120 -- Summary:
121
122 This patch implements DIST_FILES install:: target as well as
123 DIST_CHROME_FILES install target.
124
125 -- Evaluation:
126
127 DIST_FILES is now used in browser/app/Makefile.in to install
128 application.ini; however, DEST_FILES is only implemented for
129 libs::, but not for install::.
130
131 In consequence, make install'ed installs of firefox now break
132 with missing application.ini file.
133
134 When writing this fix, it became obvious that DIST_CHROME_FILES
135 install: target is missing too ... though it doesn't cause any
136 problems because its not really used.
137
138 ---
139 config/rules.mk | 28 ++++++++++++++++++++++++++++
140 1 file changed, 28 insertions(+)
141
142 Index: mozilla/config/rules.mk
143 ===================================================================
144 --- mozilla.orig/config/rules.mk 2007-08-18 15:15:17.000000000 +0000
145 +++ mozilla/config/rules.mk 2007-08-18 15:15:36.000000000 +0000
146 @@ -1699,28 +1699,56 @@
147 @$(EXIT_ON_ERROR) \
148 for f in $(DIST_FILES); do \
149 dest=$(FINAL_TARGET)/`basename $$f`; \
150 $(RM) -f $$dest; \
151 $(PYTHON) $(MOZILLA_DIR)/config/Preprocessor.py \
152 $(XULAPP_DEFINES) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) \
153 $(srcdir)/$$f > $$dest; \
154 done
155 +
156 +install:: $(DIST_FILES)
157 +ifndef XPI_NAME
158 +ifndef NO_INSTALL
159 + @$(EXIT_ON_ERROR) \
160 + for f in $(DIST_FILES); do \
161 + dest=$(DESTDIR)$(mozappdir)/`basename $$f`; \
162 + $(RM) -f $$dest; \
163 + $(PYTHON) $(MOZILLA_DIR)/config/Preprocessor.py \
164 + $(XULAPP_DEFINES) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) \
165 + $(srcdir)/$$f > $$dest; \
166 + done
167 +endif
168 +endif
169 endif
170
171 ifneq ($(DIST_CHROME_FILES),)
172 libs:: $(DIST_CHROME_FILES)
173 @$(EXIT_ON_ERROR) \
174 for f in $(DIST_CHROME_FILES); do \
175 dest=$(FINAL_TARGET)/chrome/`basename $$f`; \
176 $(RM) -f $$dest; \
177 $(PYTHON) $(MOZILLA_DIR)/config/Preprocessor.py \
178 $(XULAPP_DEFINES) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) \
179 $(srcdir)/$$f > $$dest; \
180 done
181 +
182 +install:: $(DIST_CHROME_FILES)
183 +ifndef XPI_NAME
184 +ifndef NO_INSTALL
185 + @$(EXIT_ON_ERROR) \
186 + for f in $(DIST_CHROME_FILES); do \
187 + dest=$(DESTDIR)$(mozappdir)/chrome/`basename $$f`; \
188 + $(RM) -f $$dest; \
189 + $(PYTHON) $(MOZILLA_DIR)/config/Preprocessor.py \
190 + $(XULAPP_DEFINES) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) \
191 + $(srcdir)/$$f > $$dest; \
192 + done
193 +endif
194 +endif
195 endif
196
197 ifneq ($(XPI_PKGNAME),)
198 libs realchrome::
199 ifdef STRIP_XPI
200 ifndef MOZ_DEBUG
201 @echo "Stripping $(XPI_PKGNAME) package directory..."
202 @echo $(FINAL_TARGET)
203
204
205
206 1.1 src/patchsets/mozilla-firefox/3.0.10/005-installer_shouldnt_copy_xulrunner.patch
207
208 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/005-installer_shouldnt_copy_xulrunner.patch?rev=1.1&view=markup
209 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/005-installer_shouldnt_copy_xulrunner.patch?rev=1.1&content-type=text/plain
210
211 Index: 005-installer_shouldnt_copy_xulrunner.patch
212 ===================================================================
213 ---
214 config/rules.mk | 5 +++++
215 1 file changed, 5 insertions(+)
216
217 Index: mozilla/config/rules.mk
218 ===================================================================
219 --- mozilla.orig/config/rules.mk
220 +++ mozilla/config/rules.mk
221 @@ -57,16 +57,21 @@
222 REPORT_BUILD = @echo $(notdir $<)
223
224 ifeq ($(OS_ARCH),OS2)
225 EXEC =
226 else
227 EXEC = exec
228 endif
229
230 +# Don't copy xulrunner files at install time, when using system xulrunner
231 +ifdef LIBXUL_SDK
232 + SKIP_COPY_XULRUNNER=1
233 +endif
234 +
235 # ELOG prints out failed command when building silently (gmake -s).
236 ifneq (,$(findstring -s,$(MAKEFLAGS)))
237 ELOG := $(EXEC) sh $(BUILD_TOOLS)/print-failed-commands.sh
238 else
239 ELOG :=
240 endif
241
242 ifeq ($(MOZ_OS2_TOOLS),VACPP)
243
244
245
246 1.1 src/patchsets/mozilla-firefox/3.0.10/007-xulonly-dont_depend_on_nspr_sources.patch
247
248 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/007-xulonly-dont_depend_on_nspr_sources.patch?rev=1.1&view=markup
249 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/007-xulonly-dont_depend_on_nspr_sources.patch?rev=1.1&content-type=text/plain
250
251 Index: 007-xulonly-dont_depend_on_nspr_sources.patch
252 ===================================================================
253 ---
254 config/Makefile.in | 2 -
255 config/make-system-wrappers.pl | 59 +++++++++++++++++++++++++++++++++++++++++
256 2 files changed, 60 insertions(+), 1 deletion(-)
257
258 Index: mozilla/config/Makefile.in
259 ===================================================================
260 --- mozilla.orig/config/Makefile.in
261 +++ mozilla/config/Makefile.in
262 @@ -121,17 +121,17 @@
263 -DMOZ_TREE_CAIRO=$(MOZ_TREE_CAIRO) \
264 -DMOZ_ENABLE_LIBXUL=$(MOZ_ENABLE_LIBXUL) \
265 -DMOZ_NATIVE_HUNSPELL=$(MOZ_NATIVE_HUNSPELL) \
266 -DMOZ_NATIVE_BZ2=$(MOZ_NATIVE_BZ2) \
267 -DMOZ_NATIVE_ZLIB=$(MOZ_NATIVE_ZLIB) \
268 -DMOZ_NATIVE_PNG=$(MOZ_NATIVE_PNG) \
269 -DMOZ_NATIVE_JPEG=$(MOZ_NATIVE_JPEG) \
270 -DMOZ_NATIVE_LCMS=$(MOZ_NATIVE_LCMS) \
271 - $(srcdir)/system-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
272 + $(srcdir)/system-headers | $(PERL) $(topsrcdir)/config/make-system-wrappers.pl system_wrappers
273 $(INSTALL) system_wrappers $(DIST)/include
274
275 GARBAGE_DIRS += system_wrappers
276 endif
277
278 install::
279 $(SYSINSTALL) $(IFLAGS1) $(DEPTH)/mozilla-config.h $(DESTDIR)$(includedir)
280
281 Index: mozilla/config/make-system-wrappers.pl
282 ===================================================================
283 --- /dev/null
284 +++ mozilla/config/make-system-wrappers.pl
285 @@ -0,0 +1,59 @@
286 +#!/usr/bin/perl
287 +#
288 +# ***** BEGIN LICENSE BLOCK *****
289 +# Version: MPL 1.1/GPL 2.0/LGPL 2.1
290 +#
291 +# The contents of this file are subject to the Mozilla Public License Version
292 +# 1.1 (the "License"); you may not use this file except in compliance with
293 +# the License. You may obtain a copy of the License at
294 +# http://www.mozilla.org/MPL/
295 +#
296 +# Software distributed under the License is distributed on an "AS IS" basis,
297 +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
298 +# for the specific language governing rights and limitations under the
299 +# License.
300 +#
301 +# The Original Code is mozilla.org code.
302 +#
303 +# The Initial Developer of the Original Code is
304 +# IBM Corporation.
305 +# Portions created by the Initial Developer are Copyright (C) 2004
306 +# the Initial Developer. All Rights Reserved.
307 +#
308 +# Contributor(s):
309 +# Brian Ryner <bryner@××××××××××.com>
310 +#
311 +# Alternatively, the contents of this file may be used under the terms of
312 +# either of the GNU General Public License Version 2 or later (the "GPL"),
313 +# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
314 +# in which case the provisions of the GPL or the LGPL are applicable instead
315 +# of those above. If you wish to allow use of your version of this file only
316 +# under the terms of either the GPL or the LGPL, and not to allow others to
317 +# use your version of this file under the terms of the MPL, indicate your
318 +# decision by deleting the provisions above and replace them with the notice
319 +# and other provisions required by the GPL or the LGPL. If you do not delete
320 +# the provisions above, a recipient may use your version of this file under
321 +# the terms of any one of the MPL, the GPL or the LGPL.
322 +#
323 +# ***** END LICENSE BLOCK *****
324 +
325 +$output_dir = shift;
326 +
327 +while (<STDIN>) {
328 + chomp;
329 + if (-e "$output_dir/$_") {
330 + next;
331 + }
332 +
333 + if (/(.*)\/[^\/*]/) {
334 + mkdir "$output_dir/$1";
335 + }
336 +
337 + open OUT, ">$output_dir/$_";
338 + print OUT "#pragma GCC system_header\n"; # suppress include_next warning
339 + print OUT "#pragma GCC visibility push(default)\n";
340 + print OUT "#include_next \<$_\>\n";
341 + print OUT "#pragma GCC visibility pop\n";
342 + close OUT;
343 +}
344 +
345
346
347
348 1.1 src/patchsets/mozilla-firefox/3.0.10/009-xulonly-nspr_flags_by_pkg_config_hack.patch
349
350 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/009-xulonly-nspr_flags_by_pkg_config_hack.patch?rev=1.1&view=markup
351 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/009-xulonly-nspr_flags_by_pkg_config_hack.patch?rev=1.1&content-type=text/plain
352
353 Index: 009-xulonly-nspr_flags_by_pkg_config_hack.patch
354 ===================================================================
355 ---
356 configure.in | 21 +++-----------
357
358 Index: mozilla/configure.in
359 ===================================================================
360 --- mozilla.orig/configure.in
361 +++ mozilla/configure.in
362 @@ -3872,32 +3872,33 @@
363 AC_TRY_COMPILE([#include "prlog.h"],
364 [#ifndef PR_STATIC_ASSERT
365 #error PR_STATIC_ASSERT not defined
366 #endif],
367 [MOZ_NATIVE_NSPR=1],
368 AC_MSG_ERROR([system NSPR does not support PR_STATIC_ASSERT]))
369 CFLAGS=$_SAVE_CFLAGS
370 else
371 - NSPR_CFLAGS='`$(DEPTH)/nsprpub/config/nspr-config --prefix=$(LIBXUL_DIST) --includedir=$(LIBXUL_DIST)/include/nspr --cflags`'
372 + NSPR_CFLAGS=`pkg-config mozilla-nspr --cflags`
373 + NSPR_LIBS=`pkg-config mozilla-nspr --libs`
374 # explicitly set libs for Visual Age C++ for OS/2
375 if test "$OS_ARCH" = "OS2" -a "$VACPP" = "yes"; then
376 NSPR_LIBS='$(LIBXUL_DIST)/lib/nspr'$NSPR_VERSION'.lib $(LIBXUL_DIST)/lib/plc'$NSPR_VERSION'.lib $(LIBXUL_DIST)/lib/plds'$NSPR_VERSION'.lib '$_PTHREAD_LDFLAGS''
377 elif test "$OS_ARCH" = "WINCE"; then
378 NSPR_CFLAGS='-I$(LIBXUL_DIST)/include/nspr'
379 NSPR_LIBS='$(LIBXUL_DIST)/lib/nspr'$NSPR_VERSION'.lib $(LIBXUL_DIST)/lib/plc'$NSPR_VERSION'.lib $(LIBXUL_DIST)/lib/plds'$NSPR_VERSION'.lib '
380 elif test "$OS_ARCH" = "WINNT"; then
381 NSPR_CFLAGS='-I$(LIBXUL_DIST)/include/nspr'
382 if test -n "$GNU_CC"; then
383 NSPR_LIBS="-L\$(LIBXUL_DIST)/lib -lnspr$NSPR_VERSION -lplc$NSPR_VERSION -lplds$NSPR_VERSION"
384 else
385 NSPR_LIBS='$(LIBXUL_DIST)/lib/nspr'$NSPR_VERSION'.lib $(LIBXUL_DIST)/lib/plc'$NSPR_VERSION'.lib $(LIBXUL_DIST)/lib/plds'$NSPR_VERSION'.lib '
386 fi
387 else
388 - NSPR_LIBS='`$(DEPTH)/nsprpub/config/nspr-config --prefix=$(LIBXUL_DIST) --libdir=$(LIBXUL_DIST)/lib --libs`'
389 + NSPR_LIBS=`pkg-config mozilla-nspr --libs`
390 fi
391 fi
392
393 dnl ========================================================
394 dnl = If NSS was not detected in the system,
395 dnl = use the one in the source tree (mozilla/security/nss)
396 dnl ========================================================
397
398 @@ -7617,17 +7618,19 @@
399 AC_SUBST(MOZ_ZLIB_CFLAGS)
400 AC_SUBST(MOZ_ZLIB_LIBS)
401 AC_SUBST(MOZ_BZ2_CFLAGS)
402 AC_SUBST(MOZ_BZ2_LIBS)
403 AC_SUBST(MOZ_PNG_CFLAGS)
404 AC_SUBST(MOZ_PNG_LIBS)
405
406 AC_SUBST(NSPR_CFLAGS)
407 +AC_DEFINE(NSPR_CFLAGS)
408 AC_SUBST(NSPR_LIBS)
409 +AC_DEFINE(NSPR_LIBS)
410 AC_SUBST(MOZ_NATIVE_NSPR)
411
412 AC_SUBST(NSS_CFLAGS)
413 AC_SUBST(NSS_LIBS)
414 AC_SUBST(NSS_DEP_LIBS)
415 AC_SUBST(MOZ_NATIVE_NSS)
416
417 AC_SUBST(CFLAGS)
418 @@ -7961,30 +7964,16 @@
419 fi
420 if test -n "$HAVE_64BIT_OS"; then
421 ac_configure_args="$ac_configure_args --enable-64bit"
422 fi
423 AC_OUTPUT_SUBDIRS(nsprpub)
424 ac_configure_args="$_SUBDIR_CONFIG_ARGS"
425 fi
426
427 -if test -z "$MOZ_NATIVE_NSPR"; then
428 - # Hack to deal with the fact that we use NSPR_CFLAGS everywhere
429 - AC_MSG_WARN([Recreating autoconf.mk with updated nspr-config output])
430 - if test ! "$VACPP" && test "$OS_ARCH" != "WINNT" && test "$OS_ARCH" != "WINCE"; then
431 - _libs=`./nsprpub/config/nspr-config --prefix=$\(LIBXUL_DIST\) --exec-prefix=$\(DIST\) --libdir=$\(LIBXUL_DIST\)/lib --libs`
432 - $PERL -pi.bak -e "s '^NSPR_LIBS\\s*=.*'NSPR_LIBS = $_libs'" config/autoconf.mk
433 - fi
434 - if test "$OS_ARCH" != "WINNT" && test "$OS_ARCH" != "WINCE" ; then
435 - _cflags=`./nsprpub/config/nspr-config --prefix=$\(LIBXUL_DIST\) --exec-prefix=$\(DIST\) --includedir=$\(LIBXUL_DIST\)/include/nspr --cflags`
436 - $PERL -pi.bak -e "s '^NSPR_CFLAGS\\s*=.*'NSPR_CFLAGS = $_cflags'" config/autoconf.mk
437 - fi
438 - rm -f config/autoconf.mk.bak
439 -fi
440 -
441 # if we're building the LDAP XPCOM component, we need to build
442 # the c-sdk first.
443 #
444 if test "$MOZ_LDAP_XPCOM"; then
445
446 # these subdirs may not yet have been created in the build tree.
447 # don't use the "-p" switch to mkdir, since not all platforms have it
448 #
449
450
451
452 1.1 src/patchsets/mozilla-firefox/3.0.10/020_noxul-mips-asm.patch
453
454 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/020_noxul-mips-asm.patch?rev=1.1&view=markup
455 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/020_noxul-mips-asm.patch?rev=1.1&content-type=text/plain
456
457 Index: 020_noxul-mips-asm.patch
458 ===================================================================
459 Upstream Bug: http://bugzilla.mozilla.org/show_bug.cgi?id=258429
460
461 This patch is required to fix build issues with Mozilla on MIPS architectures.
462 The out-of-the-box code is coded to build on a PlayStation 2 game console, which
463 is a highly specialised MIPS machine based around the Toshiba TX5900. This CPU
464 is very non-standard, causing problems with generic MIPS machines like Silicon
465 Graphics workstations.
466
467 The following patch fixes the assembly language routines for generic MIPS
468 machines. In the case where it is being compiled for a PlayStation 2, the older
469 PS2-specific implementation is used instead.
470
471 Patch $Revision: 1.1 $
472 diff --git a/configure.in b/configure.in
473 index f49bf6c..2423b6c 100644
474 --- a/configure.in
475 +++ b/configure.in
476 @@ -1806,8 +1806,7 @@ case "$target" in
477 MOZ_ENABLE_OLD_ABI_COMPAT_WRAPPERS=1
478 ;;
479 mips*)
480 - CFLAGS="$CFLAGS -Wa,-xgot"
481 - CXXFLAGS="$CXXFLAGS -Wa,-xgot"
482 + MOZ_DEBUG_FLAGS="-g" # We want inlining
483 ;;
484 esac
485 ;;
486 diff --git a/xpcom/reflect/xptcall/src/md/unix/Makefile.in b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
487 index 559fd96..6181699 100644
488 --- a/xpcom/reflect/xptcall/src/md/unix/Makefile.in
489 +++ b/xpcom/reflect/xptcall/src/md/unix/Makefile.in
490 @@ -276,11 +276,7 @@ ifeq ($(OS_ARCH),Linux)
491 ifneq (,$(findstring mips, $(OS_TEST)))
492 CPPSRCS := xptcinvoke_mips.cpp xptcstubs_mips.cpp
493 ASFILES := xptcinvoke_asm_mips.s xptcstubs_asm_mips.s
494 -#xptcstubs_mips.cpp
495 -# xptcstubs_asm_mips.s
496 -ifdef GNU_CC
497 -ASFLAGS += $(INCLUDES) -x assembler-with-cpp -D__GNUC__
498 -endif
499 +ASFLAGS += -I$(PUBLIC) -x assembler-with-cpp
500 endif
501 endif
502
503 @@ -466,10 +462,7 @@ LOCAL_INCLUDES += \
504
505 ifeq ($(OS_ARCH),Linux)
506 ifneq (,$(findstring mips, $(OS_TEST)))
507 -xptcstubs_asm_mips.o: xptcstubs_asm_mips.s.m4 $(PUBLIC)/xptcstubsdef.inc
508 - m4 $(INCLUDES) $< > ./xptcstubs_asm_mips.s && \
509 - $(AS) -o $@ $(ASFLAGS) $(AS_DASH_C_FLAG) ./xptcstubs_asm_mips.s
510 - $(RM) -f ./xptcstubs_asm_mips.s
511 +xptcstubs_asm_mips.o: $(PUBLIC)/xptcstubsdef.inc
512 endif
513 endif
514
515 diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s
516 index 8704247..6cf9deb 100644
517 --- a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s
518 +++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s
519 @@ -24,6 +24,7 @@
520 * Contributor(s):
521 * Brendan Eich <brendan@×××××××.org>
522 * Stuart Parmenter <pavlov@××××××××.com>
523 + * Thiemo Seufer <seufer@×××××××××××××××××××××.de>
524 *
525 * Alternatively, the contents of this file may be used under the terms of
526 * either the GNU General Public License Version 2 or later (the "GPL"), or
527 @@ -44,139 +45,123 @@
528 #include <sys/regdef.h>
529 #include <sys/asm.h>
530
531 -.text
532 -.globl invoke_count_words
533 -.globl invoke_copy_to_stack
534 -
535 -# We need a variable number of words allocated from the stack for copies of
536 -# the params, and this space must come between the high frame (where ra, gp,
537 -# and s0 are saved) and the low frame (where a0-a3 are saved by the callee
538 -# functions we invoke).
539 -
540 -LOCALSZ=4 # s0, s1, ra, gp
541 -NARGSAVE=4 # a0, a1, a2, a3
542 -HIFRAMESZ=(LOCALSZ*SZREG)
543 -LOFRAMESZ=(NARGSAVE*SZREG)
544 -FRAMESZ=(HIFRAMESZ+LOFRAMESZ+ALSZ)&ALMASK
545 -
546 -# XXX these 2*SZREG, etc. are very magic -- we *know* that ALSZ&ALMASK cause
547 -# FRAMESZ to be 0 mod 8, in this case to be 16 and not 12.
548 -RAOFF=FRAMESZ - (2*SZREG)
549 -GPOFF=FRAMESZ - (3*SZREG)
550 -S0OFF=FRAMESZ - (4*SZREG)
551 -S1OFF=FRAMESZ - (5*SZREG)
552 -
553 -# These are not magic -- they are just our argsave slots in the caller frame.
554 -A0OFF=FRAMESZ
555 -A1OFF=FRAMESZ + (1*SZREG)
556 -A2OFF=FRAMESZ + (2*SZREG)
557 -A3OFF=FRAMESZ + (3*SZREG)
558 -
559 - #
560 - # _XPTC_InvokeByIndex(that, methodIndex, paramCount, params)
561 - # a0 a1 a2 a3
562 -
563 -NESTED(_XPTC_InvokeByIndex, FRAMESZ, ra)
564 -
565 - .set noreorder
566 - .cpload t9
567 - .set reorder
568 -
569 +# NARGSAVE is the argument space in the callers frame, including extra
570 +# 'shadowed' space for the argument registers. The minimum of 4
571 +# argument slots is sometimes predefined in the header files.
572 +#ifndef NARGSAVE
573 +#define NARGSAVE 4
574 +#endif
575 +
576 +#define LOCALSZ 3 /* gp, fp, ra */
577 +#define FRAMESZ ((((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK)
578 +
579 +#define RAOFF (FRAMESZ - (1*SZREG))
580 +#define FPOFF (FRAMESZ - (2*SZREG))
581 +#define GPOFF (FRAMESZ - (3*SZREG))
582 +
583 +#define A0OFF (FRAMESZ + (0*SZREG))
584 +#define A1OFF (FRAMESZ + (1*SZREG))
585 +#define A2OFF (FRAMESZ + (2*SZREG))
586 +#define A3OFF (FRAMESZ + (3*SZREG))
587 +
588 + .text
589 +
590 +#
591 +# _NS_InvokeByIndex_P(that, methodIndex, paramCount, params)
592 +# a0 a1 a2 a3
593 +
594 + .globl _NS_InvokeByIndex_P
595 + .align 2
596 + .type _NS_InvokeByIndex_P,@function
597 + .ent _NS_InvokeByIndex_P,0
598 + .frame fp, FRAMESZ, ra
599 +_NS_InvokeByIndex_P:
600 + SETUP_GP
601 subu sp, FRAMESZ
602
603 - # specify the save register mask -- XXX do we want the a0-a3 here, given
604 - # our "split" frame where the args are saved below a dynamicly allocated
605 - # region under the high frame?
606 - #
607 - # 10010000000000010000000011110000
608 - .mask 0x900100F0, -((NARGSAVE+LOCALSZ)*SZREG)
609 + # specify the save register mask for gp, fp, ra, a3 - a0
610 + .mask 0xD00000F0, RAOFF-FRAMESZ
611
612 - # thou shalt not use .cprestore if yer frame has variable size...
613 - # .cprestore GPOFF
614 + sw ra, RAOFF(sp)
615 + sw fp, FPOFF(sp)
616
617 - REG_S ra, RAOFF(sp)
618 + # we can't use .cprestore in a variable stack frame
619 + sw gp, GPOFF(sp)
620
621 - # this happens automatically with .cprestore, but we cannot use that op...
622 - REG_S gp, GPOFF(sp)
623 - REG_S s0, S0OFF(sp)
624 - REG_S s1, S1OFF(sp)
625 + sw a0, A0OFF(sp)
626 + sw a1, A1OFF(sp)
627 + sw a2, A2OFF(sp)
628 + sw a3, A3OFF(sp)
629
630 - REG_S a0, A0OFF(sp)
631 - REG_S a1, A1OFF(sp)
632 - REG_S a2, A2OFF(sp)
633 - REG_S a3, A3OFF(sp)
634 + # save bottom of fixed frame
635 + move fp, sp
636
637 - # invoke_count_words(paramCount, params)
638 + # extern "C" uint32
639 + # invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s);
640 + la t9, invoke_count_words
641 move a0, a2
642 move a1, a3
643 -
644 - jal invoke_count_words
645 - lw gp, GPOFF(sp)
646 -
647 - # save the old sp so we can pop the param area and any "low frame"
648 - # needed as an argsave area below the param block for callees that
649 - # we invoke.
650 - move s0, sp
651 -
652 - REG_L a1, A2OFF(sp) # a1 = paramCount
653 - REG_L a2, A3OFF(sp) # a2 = params
654 -
655 - # we define a word as 4 bytes, period end of story!
656 - sll v0, 2 # 4 bytes * result of invoke_copy_words
657 - subu v0, LOFRAMESZ # but we take back the argsave area built into
658 - # our stack frame -- SWEET!
659 - subu sp, sp, v0 # make room
660 - move a0, sp # a0 = param stack address
661 - move s1, a0 # save it for later -- it should be safe here
662 -
663 - # the old sp is still saved in s0, but we now need another argsave
664 - # area ("low frame") for the invoke_copy_to_stack call.
665 - subu sp, sp, LOFRAMESZ
666 -
667 - # copy the param into the stack areas
668 + jalr t9
669 + lw gp, GPOFF(fp)
670 +
671 + # allocate variable stack, with a size of:
672 + # wordsize (of 4 bytes) * result (already aligned to dword)
673 + # but a minimum of 16 byte
674 + sll v0, 2
675 + slt t0, v0, 16
676 + beqz t0, 1f
677 + li v0, 16
678 +1: subu sp, v0
679 +
680 + # let a0 point to the bottom of the variable stack, allocate
681 + # another fixed stack for:
682 + # extern "C" void
683 # invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount,
684 - # nsXPTCVariant* s)
685 - jal invoke_copy_to_stack
686 - lw gp, GPOFF(s0)
687 -
688 - move sp, s0 # get orig sp back, popping params and argsave
689 -
690 - REG_L a0, A0OFF(sp) # a0 = set "that" to be "this"
691 - REG_L a1, A1OFF(sp) # a1 = methodIndex
692 -
693 - # t1 = methodIndex * 4
694 - # (use shift instead of mult)
695 - sll t1, a1, 2
696 -
697 - # calculate the function we need to jump to,
698 - # which must then be saved in t9
699 + # nsXPTCVariant* s);
700 + la t9, invoke_copy_to_stack
701 + move a0, sp
702 + lw a1, A2OFF(fp)
703 + lw a2, A3OFF(fp)
704 + subu sp, 16
705 + jalr t9
706 + lw gp, GPOFF(fp)
707 +
708 + # back to the variable stack frame
709 + addu sp, 16
710 +
711 + # calculate the function we need to jump to, which must then be
712 + # stored in t9
713 + lw a0, A0OFF(fp) # a0 = set "that" to be "this"
714 + lw t0, A1OFF(fp) # a1 = methodIndex
715 lw t9, 0(a0)
716 - addu t9, t9, t1
717 - lw t9, 8(t9)
718 -
719 - # a1..a3 and f13..f14 should now be set to what
720 - # invoke_copy_to_stack told us. skip a0 and f12
721 - # because that is the "this" pointer
722 -
723 - REG_L a1, 1*SZREG(s1)
724 - REG_L a2, 2*SZREG(s1)
725 - REG_L a3, 3*SZREG(s1)
726 -
727 - l.d $f13, 8(s1)
728 - l.d $f14, 16(s1)
729 -
730 - # Create the stack pointer for the function, which must have 4 words
731 - # of space for callee-saved args. invoke_count_words allocated space
732 - # for a0 starting at s1, so we just move s1 into sp.
733 - move sp, s1
734 -
735 - jalr ra, t9
736 - lw gp, GPOFF(s0)
737 -
738 - move sp, s0
739 -
740 - REG_L ra, RAOFF(sp)
741 - REG_L s0, S0OFF(sp)
742 - addu sp, FRAMESZ
743 + # t0 = methodIndex << PTRLOG
744 + sll t0, t0, PTRLOG
745 + addu t9, t0
746 +#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
747 + lw t9, (t9)
748 +#else /* not G++ V3 ABI */
749 + lw t9, 2*PTRSIZE(t9)
750 +#endif /* G++ V3 ABI */
751 +
752 + # Set a1-a3 to what invoke_copy_to_stack told us. a0 is already
753 + # the "this" pointer. We don't have to care about floating
754 + # point arguments, the non-FP "this" pointer as first argument
755 + # means they'll never be used.
756 + lw a1, 1*SZREG(sp)
757 + lw a2, 2*SZREG(sp)
758 + lw a3, 3*SZREG(sp)
759 +
760 + jalr t9
761 + # Micro-optimization: There's no gp usage below this point, so
762 + # we don't reload.
763 + # lw gp, GPOFF(fp)
764 +
765 + # leave variable stack frame
766 + move sp, fp
767 +
768 + lw ra, RAOFF(sp)
769 + lw fp, FPOFF(sp)
770 +
771 + addiu sp, FRAMESZ
772 j ra
773 -.end _XPTC_InvokeByIndex
774 +END(_NS_InvokeByIndex_P)
775 diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips.cpp
776 index a73e432..2c27a26 100644
777 --- a/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips.cpp
778 +++ b/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_mips.cpp
779 @@ -24,6 +24,7 @@
780 * Contributor(s):
781 * Stuart Parmenter <pavlov@××××××××.com>
782 * Brendan Eich <brendan@×××××××.org>
783 + * Thiemo Seufer <seufer@×××××××××××××××××××××.de>
784 *
785 * Alternatively, the contents of this file may be used under the terms of
786 * either of the GNU General Public License Version 2 or later (the "GPL"),
787 @@ -52,10 +53,8 @@ invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
788 // Count a word for a0 even though it's never stored or loaded
789 // We do this only for alignment of register pairs.
790 PRUint32 result = 1;
791 - for (PRUint32 i = 0; i < paramCount; i++, s++)
792 + for (PRUint32 i = 0; i < paramCount; i++, result++, s++)
793 {
794 - result++;
795 -
796 if (s->IsPtrData())
797 continue;
798
799 @@ -68,6 +67,9 @@ invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
800 result++;
801 result++;
802 break;
803 +
804 + default:
805 + break;
806 }
807 }
808 return (result + 1) & ~(PRUint32)1;
809 @@ -88,8 +90,6 @@ invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount,
810 continue;
811 }
812
813 - *((void**)d) = s->val.p;
814 -
815 switch(s->type)
816 {
817 case nsXPTType::T_I64 :
818 @@ -104,19 +104,20 @@ invoke_copy_to_stack(PRUint32* d, PRUint32 paramCount,
819 if ((PRWord)d & 4) d++;
820 *((double*) d) = s->val.d; d++;
821 break;
822 + default:
823 + *((void**)d) = s->val.p;
824 + break;
825 }
826 }
827 }
828
829 -extern "C" nsresult _XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
830 +extern "C" nsresult _NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
831 PRUint32 paramCount,
832 nsXPTCVariant* params);
833
834 -extern "C"
835 -XPTC_PUBLIC_API(nsresult)
836 -XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
837 +EXPORT_XPCOM_API(nsresult)
838 +NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
839 PRUint32 paramCount, nsXPTCVariant* params)
840 {
841 - return _XPTC_InvokeByIndex(that, methodIndex, paramCount, params);
842 -}
843 -
844 + return _NS_InvokeByIndex_P(that, methodIndex, paramCount, params);
845 +}
846 diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s
847 new file mode 100644
848 index 0000000..c2dc0c7
849 --- /dev/null
850 +++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s
851 @@ -0,0 +1,142 @@
852 +/* -*- Mode: asm; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
853 + * Version: MPL 1.1
854 + *
855 + * The contents of this file are subject to the Mozilla Public License Version
856 + * 1.1 (the "License"); you may not use this file except in compliance with
857 + * the License. You may obtain a copy of the License at
858 + * http://www.mozilla.org/MPL/
859 + *
860 + * Software distributed under the License is distributed on an "AS IS" basis,
861 + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
862 + * for the specific language governing rights and limitations under the
863 + * License.
864 + *
865 + * The Original Code is mozilla.org code.
866 + *
867 + * The Initial Developer of the Original Code is
868 + * Netscape Communications Corp, Inc.
869 + * Portions created by the Initial Developer are Copyright (C) 2001
870 + * the Initial Developer. All Rights Reserved.
871 + *
872 + * Contributor(s):
873 + * Stuart Parmenter <pavlov@××××××××.com>
874 + * Chris Waterson <waterson@××××××××.com>
875 + * Thiemo Seufer <seufer@×××××××××××××××××××××.de>
876 + */
877 +
878 +/* This code is for MIPS using the O32 ABI. */
879 +
880 +#include <sys/regdef.h>
881 +#include <sys/asm.h>
882 +
883 +# NARGSAVE is the argument space in the callers frame, including extra
884 +# 'shadowed' space for the argument registers. The minimum of 4
885 +# argument slots is sometimes predefined in the header files.
886 +#ifndef NARGSAVE
887 +#define NARGSAVE 4
888 +#endif
889 +
890 +#define LOCALSZ 2 /* gp, ra */
891 +#define FRAMESZ ((((NARGSAVE+LOCALSZ)*SZREG)+ALSZ)&ALMASK)
892 +
893 +#define RAOFF (FRAMESZ - (1*SZREG))
894 +#define GPOFF (FRAMESZ - (2*SZREG))
895 +
896 +#define A0OFF (FRAMESZ + (0*SZREG))
897 +#define A1OFF (FRAMESZ + (1*SZREG))
898 +#define A2OFF (FRAMESZ + (2*SZREG))
899 +#define A3OFF (FRAMESZ + (3*SZREG))
900 +
901 + .text
902 +
903 +#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
904 +#define STUB_ENTRY(x) \
905 + .if x < 10; \
906 + .globl _ZN14nsXPTCStubBase5Stub ##x ##Ev; \
907 + .type _ZN14nsXPTCStubBase5Stub ##x ##Ev,@function; \
908 + .aent _ZN14nsXPTCStubBase5Stub ##x ##Ev,0; \
909 +_ZN14nsXPTCStubBase5Stub ##x ##Ev:; \
910 + SETUP_GP; \
911 + li t0,x; \
912 + b sharedstub; \
913 + .elseif x < 100; \
914 + .globl _ZN14nsXPTCStubBase6Stub ##x ##Ev; \
915 + .type _ZN14nsXPTCStubBase6Stub ##x ##Ev,@function; \
916 + .aent _ZN14nsXPTCStubBase6Stub ##x ##Ev,0; \
917 +_ZN14nsXPTCStubBase6Stub ##x ##Ev:; \
918 + SETUP_GP; \
919 + li t0,x; \
920 + b sharedstub; \
921 + .elseif x < 1000; \
922 + .globl _ZN14nsXPTCStubBase7Stub ##x ##Ev; \
923 + .type _ZN14nsXPTCStubBase7Stub ##x ##Ev,@function; \
924 + .aent _ZN14nsXPTCStubBase7Stub ##x ##Ev,0; \
925 +_ZN14nsXPTCStubBase7Stub ##x ##Ev:; \
926 + SETUP_GP; \
927 + li t0,x; \
928 + b sharedstub; \
929 + .else; \
930 + .err; \
931 + .endif
932 +#else /* not G++ V3 ABI */
933 +#define STUB_ENTRY(x) \
934 + .globl Stub ##x ##__14nsXPTCStubBase; \
935 + .type Stub ##x ##__14nsXPTCStubBase,@function; \
936 + .aent Stub ##x ##__14nsXPTCStubBase,0; \
937 +Stub ##x ##__14nsXPTCStubBase:; \
938 + SETUP_GP; \
939 + li t0,x; \
940 + b sharedstub
941 +#endif /* G++ V3 ABI */
942 +
943 +# SENTINEL_ENTRY is handled in the cpp file.
944 +#define SENTINEL_ENTRY(x)
945 +
946 +#
947 +# open a dummy frame for the function entries
948 +#
949 + .align 2
950 + .type dummy,@function
951 + .ent dummy, 0
952 + .frame sp, FRAMESZ, ra
953 +dummy:
954 + SETUP_GP
955 +
956 +#include "xptcstubsdef.inc"
957 +
958 +sharedstub:
959 + subu sp, FRAMESZ
960 +
961 + # specify the save register mask for gp, ra, a0-a3
962 + .mask 0x900000F0, RAOFF-FRAMESZ
963 +
964 + sw ra, RAOFF(sp)
965 + SAVE_GP(GPOFF)
966 +
967 + # Micro-optimization: a0 is already loaded, and its slot gets
968 + # ignored by PrepareAndDispatch, so no need to save it here.
969 + # sw a0, A0OFF(sp)
970 + sw a1, A1OFF(sp)
971 + sw a2, A2OFF(sp)
972 + sw a3, A3OFF(sp)
973 +
974 + la t9, PrepareAndDispatch
975 +
976 + # t0 is methodIndex
977 + move a1, t0
978 + # have a2 point to the begin of the argument space on stack
979 + addiu a2, sp, FRAMESZ
980 +
981 + # PrepareAndDispatch(that, methodIndex, args)
982 + jalr t9
983 +
984 + # Micro-optimization: Using jalr explicitly has the side-effect
985 + # of not triggering .cprestore. This is ok because we have no
986 + # gp reference below this point. It also allows better
987 + # instruction sscheduling.
988 + # lw gp, GPOFF(fp)
989 +
990 + lw ra, RAOFF(sp)
991 + addiu sp, FRAMESZ
992 + j ra
993 + END(dummy)
994 diff --git a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips.cpp b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips.cpp
995 index 4d60f7b..bdce59c 100644
996 --- a/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips.cpp
997 +++ b/xpcom/reflect/xptcall/src/md/unix/xptcstubs_mips.cpp
998 @@ -39,6 +39,7 @@
999 * ***** END LICENSE BLOCK ***** */
1000
1001 #include "xptcprivate.h"
1002 +#include "xptiprivate.h"
1003
1004 /*
1005 * This is for MIPS O32 ABI
1006 @@ -54,7 +55,6 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint32* args)
1007
1008 nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
1009 nsXPTCMiniVariant* dispatchParams = NULL;
1010 - nsIInterfaceInfo* iface_info = NULL;
1011 const nsXPTMethodInfo* info;
1012 PRUint8 paramCount;
1013 PRUint8 i;
1014 @@ -62,11 +62,8 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint32* args)
1015
1016 NS_ASSERTION(self,"no self");
1017
1018 - self->GetInterfaceInfo(&iface_info);
1019 - NS_ASSERTION(iface_info,"no interface info");
1020 -
1021 - iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
1022 - NS_ASSERTION(info,"no interface info");
1023 + self->mEntry->GetMethodInfo(PRUint16(methodIndex), &info);
1024 + NS_ASSERTION(info,"no method info");
1025
1026 paramCount = info->GetParamCount();
1027
1028 @@ -109,9 +106,7 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint32 methodIndex, PRUint32* args)
1029 }
1030 }
1031
1032 - result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
1033 -
1034 - NS_RELEASE(iface_info);
1035 + result = self->mOuter->CallMethod((PRUint16)methodIndex, info, dispatchParams);
1036
1037 if(dispatchParams != paramBuffer)
1038 delete [] dispatchParams;
1039
1040
1041
1042 1.1 src/patchsets/mozilla-firefox/3.0.10/021_noxul-mips-fpic.patch
1043
1044 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/021_noxul-mips-fpic.patch?rev=1.1&view=markup
1045 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/021_noxul-mips-fpic.patch?rev=1.1&content-type=text/plain
1046
1047 Index: 021_noxul-mips-fpic.patch
1048 ===================================================================
1049 Upstream bug: https://bugzilla.mozilla.org/attachment.cgi?id=321598
1050
1051 We've had an issue on debian with the mips xpcom stubs because gcc 4.3 changed
1052 its default from PIC to non-PIC. While the whole c++ code is built as PIC code,
1053 the xptc stubs assembly ends up built as non-PIC.
1054
1055 It would be safer to build the assembly with -fPIC when C++ is built with -fPIC,
1056 to avoid future possible problems with gcc changing its default again on
1057 some random architecture. The attached patch does it for linux, but it might be
1058 necessary to do the same on other architectures.
1059
1060 Patch $Revision: 1.1 $
1061 diff --git a/configure.in b/configure.in
1062 index 3730f0e..516da66 100644
1063 --- a/configure.in
1064 +++ b/configure.in
1065 @@ -1279,6 +1279,7 @@ if test "$GNU_CC"; then
1066 WARNINGS_AS_ERRORS='-Werror'
1067 DSO_CFLAGS=''
1068 DSO_PIC_CFLAGS='-fPIC'
1069 + ASFLAGS="$ASFLAGS -fPIC"
1070 _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti
1071 _MOZ_RTTI_FLAGS_OFF=${_COMPILER_PREFIX}-fno-rtti
1072 _MOZ_EXCEPTIONS_FLAGS_ON='-fhandle-exceptions'
1073
1074
1075
1076 1.1 src/patchsets/mozilla-firefox/3.0.10/030-firefox_encode_spaces.patch
1077
1078 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/030-firefox_encode_spaces.patch?rev=1.1&view=markup
1079 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/030-firefox_encode_spaces.patch?rev=1.1&content-type=text/plain
1080
1081 Index: 030-firefox_encode_spaces.patch
1082 ===================================================================
1083 # Upstream bug 440075
1084 diff --git a/browser/base/content/urlbarBindings.xml b/browser/base/content/urlbarBindings.xml
1085 --- a/browser/base/content/urlbarBindings.xml
1086 +++ b/browser/base/content/urlbarBindings.xml
1087 @@ -139,54 +139,55 @@
1088 // haven't seen that, so hopefully that behavior has changed.
1089 flavourSet.appendFlavour("text/x-moz-url");
1090 flavourSet.appendFlavour("text/unicode");
1091 flavourSet.appendFlavour("application/x-moz-file", "nsIFile");
1092 return flavourSet;
1093 ]]></body>
1094 </method>
1095
1096 + <method name="_getSelectedValueForClipboard">
1097 + <body><![CDATA[
1098 + var val = this.value.substring(this.selectionStart, this.selectionEnd);
1099 +
1100 + // If the entire value is selected and it's a valid non-javascript,
1101 + // non-data URI, encode it.
1102 + if (val == this.value &&
1103 + this.getAttribute("pageproxystate") == "valid") {
1104 + let uri;
1105 + let ioService = Cc["@mozilla.org/network/io-service;1"]
1106 + .getService(Ci.nsIIOService);
1107 + try {
1108 + uri = ioService.newURI(val, null, null);
1109 + } catch (e) {}
1110 + if (uri && !uri.schemeIs("javascript") && !uri.schemeIs("data"))
1111 + val = uri.spec;
1112 + }
1113 +
1114 + return val;
1115 + ]]></body>
1116 + </method>
1117 +
1118 <field name="_copyCutController"><![CDATA[
1119 ({
1120 urlbar: this,
1121 doCommand: function(aCommand) {
1122 var urlbar = this.urlbar;
1123 - var start = urlbar.selectionStart;
1124 - var end = urlbar.selectionEnd;
1125 - if (start == end)
1126 + var val = urlbar._getSelectedValueForClipboard();
1127 + if (!val)
1128 return;
1129 - var val;
1130 - if (start == 0 && end == urlbar.textLength) {
1131 - val = urlbar.value;
1132
1133 - // If the entire value is selected and it's a valid non-javascript,
1134 - // non-data URI, encode it.
1135 - var uri;
1136 - if (urlbar.getAttribute("pageproxystate") == "valid") {
1137 - var ioService = Cc["@mozilla.org/network/io-service;1"]
1138 - .getService(Ci.nsIIOService);
1139 - try {
1140 - uri = ioService.newURI(val, null, null);
1141 - } catch (e) {}
1142 - }
1143 - if (uri && !uri.schemeIs("javascript") && !uri.schemeIs("data"))
1144 - val = uri.spec;
1145 + if (aCommand == "cmd_cut" && this.isCommandEnabled(aCommand)) {
1146 + let start = urlbar.selectionStart;
1147 + let end = urlbar.selectionEnd;
1148 + urlbar.value = urlbar.value.substring(0, start) + urlbar.value.substring(end);
1149 + urlbar.selectionStart = urlbar.selectionEnd = start;
1150 + SetPageProxyState("invalid");
1151 + }
1152
1153 - if (aCommand == "cmd_cut" && this.isCommandEnabled(aCommand)) {
1154 - urlbar.value = "";
1155 - SetPageProxyState("invalid");
1156 - }
1157 - } else {
1158 - val = urlbar.value.substring(start, end);
1159 - if (aCommand == "cmd_cut" && this.isCommandEnabled(aCommand)) {
1160 - urlbar.value = urlbar.value.substring(0, start) + urlbar.value.substring(end);
1161 - urlbar.selectionStart = urlbar.selectionEnd = start;
1162 - SetPageProxyState("invalid");
1163 - }
1164 - }
1165 Cc["@mozilla.org/widget/clipboardhelper;1"]
1166 .getService(Ci.nsIClipboardHelper)
1167 .copyString(val);
1168 },
1169 supportsCommand: function(aCommand) {
1170 switch (aCommand) {
1171 case "cmd_copy":
1172 case "cmd_cut":
1173 @@ -268,16 +269,30 @@
1174 </setter>
1175 </property>
1176 </implementation>
1177
1178 <handlers>
1179 <handler event="focus" phase="capturing" action="this._hideURLTooltip();"/>
1180 <handler event="dragover" phase="capturing" action="nsDragAndDrop.dragOver(event, this);"/>
1181 <handler event="dragdrop" phase="capturing" action="nsDragAndDrop.drop(event, this);"/>
1182 + <handler event="select"><![CDATA[
1183 + if (!Cc["@mozilla.org/widget/clipboard;1"]
1184 + .getService(Ci.nsIClipboard)
1185 + .supportsSelectionClipboard())
1186 + return;
1187 +
1188 + var val = this._getSelectedValueForClipboard();
1189 + if (!val)
1190 + return;
1191 +
1192 + Cc["@mozilla.org/widget/clipboardhelper;1"]
1193 + .getService(Ci.nsIClipboardHelper)
1194 + .copyStringToClipboard(val, Ci.nsIClipboard.kSelectionClipboard);
1195 + ]]></handler>
1196 </handlers>
1197
1198 </binding>
1199
1200 <!-- Note: this binding is applied to the autocomplete popup used in the Search bar and in web page content -->
1201 <binding id="browser-autocomplete-result-popup" extends="chrome://global/content/bindings/autocomplete.xml#autocomplete-result-popup">
1202 <implementation>
1203 <method name="openAutocompletePopup">
1204
1205
1206
1207 1.1 src/patchsets/mozilla-firefox/3.0.10/055_firefox-2.0_gfbsd-pthreads.patch
1208
1209 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&view=markup
1210 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/055_firefox-2.0_gfbsd-pthreads.patch?rev=1.1&content-type=text/plain
1211
1212 Index: 055_firefox-2.0_gfbsd-pthreads.patch
1213 ===================================================================
1214 # https://bugs.gentoo.org/show_bug.cgi?id=169825
1215
1216 --- mozilla/config/rules.mk.orig Thu Sep 14 14:07:03 2006
1217 +++ mozilla/config/rules.mk Wed Oct 18 11:00:09 2006
1218 @@ -442,9 +442,7 @@
1219 endif
1220
1221 ifeq ($(OS_ARCH),FreeBSD)
1222 -ifdef IS_COMPONENT
1223 -EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
1224 -endif
1225 +EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic -lc
1226 endif
1227
1228 ifeq ($(OS_ARCH),NetBSD)
1229 --- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300
1230 +++ mozilla/configure.in 2007-03-07 15:35:41 -0300
1231 @@ -2667,7 +2667,7 @@
1232 *-hpux11.*)
1233 ;;
1234 *)
1235 - AC_CHECK_LIB(c_r, gethostbyname_r)
1236 + AC_SEARCH_LIBS([gethostbyname_r], [c_r])
1237 ;;
1238 esac
1239 AC_CHECK_LIB(m, atan)
1240 --- mozilla/configure.in.orig 2007-02-06 02:37:37 -0300
1241 +++ mozilla/configure.in 2007-03-07 13:59:53 -0300
1242 @@ -2839,11 +2839,12 @@
1243 *-*-freebsd*)
1244 AC_DEFINE(_REENTRANT)
1245 AC_DEFINE(_THREAD_SAFE)
1246 - dnl -pthread links in -lc_r, so don't specify it explicitly.
1247 - if test "$ac_cv_have_dash_pthread" = "yes"; then
1248 - _PTHREAD_LDFLAGS="-pthread"
1249 + dnl use the environment PTHREAD_LIBS
1250 + if test -n "$PTHREAD_LIBS"; then
1251 + _PTHREAD_LDFLAGS="$PTHREAD_LIBS"
1252 else
1253 - _PTHREAD_LDFLAGS="-lc_r"
1254 + _PTHREAD_LDFLAGS="-lpthread"
1255 fi
1256 + LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}"
1257 ;;
1258
1259
1260
1261 1.1 src/patchsets/mozilla-firefox/3.0.10/063_firefox-rpath-3.patch
1262
1263 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/063_firefox-rpath-3.patch?rev=1.1&view=markup
1264 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/063_firefox-rpath-3.patch?rev=1.1&content-type=text/plain
1265
1266 Index: 063_firefox-rpath-3.patch
1267 ===================================================================
1268 # Gentoo http://bugs.gentoo.org/show_bug.cgi?id=100597
1269
1270 --- mozilla/config/rules.mk.orig 2006-07-07 06:13:36.000000000 +0200
1271 +++ mozilla/config/rules.mk 2006-07-19 13:22:04.000000000 +0200
1272 @@ -510,7 +510,12 @@
1273 #
1274 ifeq ($(OS_ARCH),Linux)
1275 ifdef IS_COMPONENT
1276 +DSO_LDOPTS += -Wl,-rpath,'$$ORIGIN:$$ORIGIN/..'
1277 +OS_LDFLAGS += -Wl,-rpath,'$$ORIGIN:$$ORIGIN/..'
1278 EXTRA_DSO_LDOPTS += -Wl,-Bsymbolic
1279 +else
1280 +DSO_LDOPTS += -Wl,-rpath,'$$ORIGIN'
1281 +OS_LDFLAGS += -Wl,-rpath,'$$ORIGIN'
1282 endif
1283 endif
1284
1285
1286
1287
1288 1.1 src/patchsets/mozilla-firefox/3.0.10/064_noxul-nsplugins-v3.patch
1289
1290 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/064_noxul-nsplugins-v3.patch?rev=1.1&view=markup
1291 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/064_noxul-nsplugins-v3.patch?rev=1.1&content-type=text/plain
1292
1293 Index: 064_noxul-nsplugins-v3.patch
1294 ===================================================================
1295 # Gentoo's Add a search path for plugins. by agriffis
1296
1297 --- xpcom/io/nsAppFileLocationProvider.cpp.original 2007-02-14 00:59:21.000000000 +0100
1298 +++ xpcom/io/nsAppFileLocationProvider.cpp 2007-02-14 01:17:35.000000000 +0100
1299 @@ -205,6 +205,14 @@
1300 if (NS_SUCCEEDED(rv))
1301 rv = localFile->AppendRelativeNativePath(PLUGINS_DIR_NAME);
1302 }
1303 + else if (nsCRT::strcmp(prop, GENTOO_NSPLUGINS_DIR) == 0)
1304 + {
1305 + rv = NS_NewNativeLocalFile(nsDependentCString(GENTOO_NSPLUGINS_DIR), PR_TRUE, getter_AddRefs(localFile));
1306 + }
1307 + else if (nsCRT::strcmp(prop, GENTOO_NSBROWSER_PLUGINS_DIR) == 0)
1308 + {
1309 + rv = NS_NewNativeLocalFile(nsDependentCString(GENTOO_NSBROWSER_PLUGINS_DIR), PR_TRUE, getter_AddRefs(localFile));
1310 + }
1311 #ifdef XP_MACOSX
1312 else if (nsCRT::strcmp(prop, NS_MACOSX_USER_PLUGIN_DIR) == 0)
1313 {
1314 @@ -592,7 +600,7 @@
1315
1316 *_retval = new nsAppDirectoryEnumerator(this, keys);
1317 #else
1318 - static const char* keys[] = { nsnull, NS_USER_PLUGINS_DIR, NS_APP_PLUGINS_DIR, nsnull };
1319 + static const char* keys[] = { nsnull, GENTOO_NSPLUGINS_DIR, GENTOO_NSBROWSER_PLUGINS_DIR, NS_USER_PLUGINS_DIR, NS_APP_PLUGINS_DIR, nsnull };
1320 if (!keys[0] && !(keys[0] = PR_GetEnv("MOZ_PLUGIN_PATH"))) {
1321 static const char nullstr = 0;
1322 keys[0] = &nullstr;
1323
1324
1325
1326 1.1 src/patchsets/mozilla-firefox/3.0.10/068_noxul-nss-gentoo-fix.patch
1327
1328 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/068_noxul-nss-gentoo-fix.patch?rev=1.1&view=markup
1329 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/068_noxul-nss-gentoo-fix.patch?rev=1.1&content-type=text/plain
1330
1331 Index: 068_noxul-nss-gentoo-fix.patch
1332 ===================================================================
1333 --- security/manager/ssl/src/nsNSSComponent.cpp.orig 2007-05-27 21:04:27.000000000 +0200
1334 +++ security/manager/ssl/src/nsNSSComponent.cpp 2007-05-27 21:17:56.000000000 +0200
1335 @@ -130,6 +130,8 @@
1336
1337 #define NS_CRYPTO_HASH_BUFFER_SIZE 4096
1338
1339 +#define GENTOO_NSS_LIBDIR NS_LITERAL_CSTRING ("nss")
1340 +
1341 static NS_DEFINE_CID(kNSSComponentCID, NS_NSSCOMPONENT_CID);
1342 int nsNSSComponent::mInstanceCount = 0;
1343
1344 @@ -708,11 +710,11 @@
1345 return;
1346
1347 const char *possible_ckbi_locations[] = {
1348 - NS_XPCOM_CURRENT_PROCESS_DIR,
1349 - NS_GRE_DIR,
1350 - 0 // This special value means:
1351 + 0,// This special value means:
1352 // search for ckbi in the directories on the shared
1353 // library/DLL search path
1354 + NS_XPCOM_CURRENT_PROCESS_DIR,
1355 + NS_GRE_DIR
1356 };
1357
1358 for (size_t il = 0; il < sizeof(possible_ckbi_locations)/sizeof(const char*); ++il) {
1359 @@ -721,7 +723,16 @@
1360
1361 if (!possible_ckbi_locations[il])
1362 {
1363 - fullLibraryPath = PR_GetLibraryName(nsnull, "nssckbi");
1364 +
1365 + directoryService->Get( NS_UNIX_LIB_DIR,
1366 + NS_GET_IID(nsILocalFile),
1367 + getter_AddRefs(mozFile));
1368 +
1369 + if (!mozFile) {
1370 + continue;
1371 + }
1372 +
1373 + mozFile->AppendNative(GENTOO_NSS_LIBDIR);
1374 }
1375 else
1376 {
1377 @@ -733,11 +744,12 @@
1378 continue;
1379 }
1380
1381 - nsCAutoString processDir;
1382 - mozFile->GetNativePath(processDir);
1383 - fullLibraryPath = PR_GetLibraryName(processDir.get(), "nssckbi");
1384 }
1385
1386 + nsCAutoString processDir;
1387 + mozFile->GetNativePath(processDir);
1388 + fullLibraryPath = PR_GetLibraryName(processDir.get(), "nssckbi");
1389 +
1390 if (!fullLibraryPath) {
1391 continue;
1392 }
1393 --- config/config.mk.orig 2007-05-27 23:32:35.000000000 +0200
1394 +++ config/config.mk 2007-05-27 23:34:30.000000000 +0200
1395 @@ -778,6 +778,7 @@
1396
1397 DEFINES += -DOSTYPE=\"$(OS_CONFIG)\"
1398 DEFINES += -DOSARCH=$(OS_ARCH)
1399 +DEFINES += -DGENTOO_LIB_DIR=\"$(libdir)\"
1400
1401 # For profiling
1402 ifdef ENABLE_EAZEL_PROFILER
1403 --- xpcom/io/SpecialSystemDirectory.cpp.orig 2007-05-27 23:36:29.000000000 +0200
1404 +++ xpcom/io/SpecialSystemDirectory.cpp 2007-05-27 23:37:48.000000000 +0200
1405 @@ -560,7 +560,7 @@
1406 PR_TRUE,
1407 aFile);
1408 case Unix_LibDirectory:
1409 - return NS_NewNativeLocalFile(nsDependentCString("/usr/local/lib/netscape/"),
1410 + return NS_NewNativeLocalFile(nsDependentCString(GENTOO_LIB_DIR),
1411 PR_TRUE,
1412 aFile);
1413
1414
1415
1416
1417 1.1 src/patchsets/mozilla-firefox/3.0.10/080_gcc-4.4-elif.patch
1418
1419 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/080_gcc-4.4-elif.patch?rev=1.1&view=markup
1420 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/080_gcc-4.4-elif.patch?rev=1.1&content-type=text/plain
1421
1422 Index: 080_gcc-4.4-elif.patch
1423 ===================================================================
1424 diff -Naurp mozilla-orig/toolkit/xre/nsAppRunner.cpp mozilla/toolkit/xre/nsAppRunner.cpp
1425 --- mozilla-orig/toolkit/xre/nsAppRunner.cpp 2008-11-17 08:36:43.000000000 -0600
1426 +++ mozilla/toolkit/xre/nsAppRunner.cpp 2009-03-01 20:35:11.000000000 -0600
1427 @@ -1459,7 +1459,7 @@ XRE_GetBinaryPath(const char* argv0, nsI
1428 if (NS_FAILED(rv))
1429 return rv;
1430
1431 -#elif
1432 +#else
1433 #error Oops, you need platform-specific code here
1434 #endif
1435
1436
1437
1438
1439 1.1 src/patchsets/mozilla-firefox/3.0.10/085-arm-gcc42.patch
1440
1441 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/085-arm-gcc42.patch?rev=1.1&view=markup
1442 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/085-arm-gcc42.patch?rev=1.1&content-type=text/plain
1443
1444 Index: 085-arm-gcc42.patch
1445 ===================================================================
1446 diff --git a/configure.in b/configure.in
1447 index d4a74cb..3730f0e 100644
1448 --- a/configure.in
1449 +++ b/configure.in
1450 @@ -2743,7 +2743,7 @@ dnl Note that we assume that mac & win32 have short wchar (see nscore.h)
1451
1452 AC_CACHE_CHECK(for compiler -fshort-wchar option,
1453 ac_cv_have_usable_wchar_option_v2,
1454 - [AC_TRY_COMPILE([#include <stddef.h>
1455 + [AC_TRY_LINK([#include <stddef.h>
1456 $configure_static_assert_macros],
1457 [CONFIGURE_STATIC_ASSERT(sizeof(wchar_t) == 2);
1458 CONFIGURE_STATIC_ASSERT((wchar_t)-1 > (wchar_t) 0)],
1459
1460
1461
1462 1.1 src/patchsets/mozilla-firefox/3.0.10/090-unaligned.patch
1463
1464 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/090-unaligned.patch?rev=1.1&view=markup
1465 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/090-unaligned.patch?rev=1.1&content-type=text/plain
1466
1467 Index: 090-unaligned.patch
1468 ===================================================================
1469 diff -ur mozilla.orig/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp mozilla/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp
1470 --- mozilla.orig/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp 2009-04-01 12:47:52.000000000 +0000
1471 +++ mozilla/toolkit/components/url-classifier/src/nsUrlClassifierDBService.cpp 2009-04-01 12:48:38.000000000 +0000
1472 @@ -332,7 +332,9 @@
1473 (mHaveComplete && mCompleteHash < entry.mCompleteHash));
1474 }
1475
1476 - PRInt64 mId;
1477 + char __dummy_to_make_mid_aligned[4];
1478 +
1479 + PRInt64 mId __attribute__ ((packed));
1480
1481 nsUrlClassifierDomainHash mKey;
1482
1483 @@ -2023,8 +2025,9 @@
1484 return NS_ERROR_FAILURE;
1485 }
1486 const nsCSubstring& str = Substring(chunk, start, 4);
1487 - const PRUint32 *p = reinterpret_cast<const PRUint32*>(str.BeginReading());
1488 - entry->mAddChunkId = PR_ntohl(*p);
1489 + PRUint32 p;
1490 + memcpy(&p, reinterpret_cast<const PRUint32*>(str.BeginReading()), 4);
1491 + entry->mAddChunkId = PR_ntohl(p);
1492 if (entry->mAddChunkId == 0) {
1493 NS_WARNING("Received invalid chunk number.");
1494 return NS_ERROR_FAILURE;
1495 @@ -2052,8 +2055,9 @@
1496
1497 if (chunkType == CHUNK_SUB) {
1498 const nsCSubstring& str = Substring(chunk, start, 4);
1499 - const PRUint32 *p = reinterpret_cast<const PRUint32*>(str.BeginReading());
1500 - entry->mAddChunkId = PR_ntohl(*p);
1501 + PRUint32 p;
1502 + memcpy(&p, reinterpret_cast<const PRUint32*>(str.BeginReading()), 4);
1503 + entry->mAddChunkId = PR_ntohl(p);
1504 if (entry->mAddChunkId == 0) {
1505 NS_WARNING("Received invalid chunk number.");
1506 return NS_ERROR_FAILURE;
1507
1508
1509
1510 1.1 src/patchsets/mozilla-firefox/3.0.10/096_glibc-maxpathlen.patch
1511
1512 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/096_glibc-maxpathlen.patch?rev=1.1&view=markup
1513 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/096_glibc-maxpathlen.patch?rev=1.1&content-type=text/plain
1514
1515 Index: 096_glibc-maxpathlen.patch
1516 ===================================================================
1517
1518 # HG changeset patch
1519 # User Dmitry Potapov <dpotapov@×××××.com>
1520 # Date 1224561357 18000
1521 # Node ID adf33dbb59d04461121d236451dc8b5973b96fab
1522 # Parent 6e9a29a235ce506b4ca35fabefa34b48033beb69
1523 Bug 412610 - "MAXPATHLEN too small for glibc's realpath()" (define MAXPATHLEN as PATH_MAX when PATH_MAX is available) [r=bsmedberg]
1524
1525 --- browser/components/migration/src/nsDogbertProfileMigrator.cpp.old Tue Oct 21 16:36:29 2008 +1300
1526 +++ browser/components/migration/src/nsDogbertProfileMigrator.cpp Mon Oct 20 22:55:57 2008 -0500
1527 @@ -58,9 +58,12 @@
1528 #include "nsDirectoryServiceDefs.h"
1529 #include "nsDirectoryServiceUtils.h"
1530 #include <stdlib.h>
1531 +#include <limits.h>
1532
1533 #ifndef MAXPATHLEN
1534 -#ifdef _MAX_PATH
1535 +#ifdef PATH_MAX
1536 +#define MAXPATHLEN PATH_MAX
1537 +#elif defined(_MAX_PATH)
1538 #define MAXPATHLEN _MAX_PATH
1539 #elif defined(CCHMAXPATH)
1540 #define MAXPATHLEN CCHMAXPATH
1541 --- browser/components/migration/src/nsProfileMigrator.cpp.old Tue Oct 21 16:36:29 2008 +1300
1542 +++ browser/components/migration/src/nsProfileMigrator.cpp Mon Oct 20 22:55:57 2008 -0500
1543 @@ -63,12 +63,16 @@
1544 #include <windows.h>
1545 #include "nsIWindowsRegKey.h"
1546 #include "nsILocalFileWin.h"
1547 +#else
1548 +#include <limits.h>
1549 #endif
1550
1551 #include "nsAutoPtr.h"
1552
1553 #ifndef MAXPATHLEN
1554 -#ifdef _MAX_PATH
1555 +#ifdef PATH_MAX
1556 +#define MAXPATHLEN PATH_MAX
1557 +#elif defined(_MAX_PATH)
1558 #define MAXPATHLEN _MAX_PATH
1559 #elif defined(CCHMAXPATH)
1560 #define MAXPATHLEN CCHMAXPATH
1561 --- toolkit/mozapps/update/src/updater/updater.cpp.old Tue Oct 21 16:36:29 2008 +1300
1562 +++ toolkit/mozapps/update/src/updater/updater.cpp Mon Oct 20 22:55:57 2008 -0500
1563 @@ -118,7 +118,9 @@ void LaunchChild(int argc, char **argv);
1564 #endif
1565
1566 #ifndef MAXPATHLEN
1567 -# ifdef MAX_PATH
1568 +# ifdef PATH_MAX
1569 +# define MAXPATHLEN PATH_MAX
1570 +# elif defined(_MAX_PATH)
1571 # define MAXPATHLEN MAX_PATH
1572 # elif defined(_MAX_PATH)
1573 # define MAXPATHLEN _MAX_PATH
1574 --- toolkit/xre/nsAppRunner.h.old Tue Oct 21 16:36:29 2008 +1300
1575 +++ toolkit/xre/nsAppRunner.h Mon Oct 20 22:55:57 2008 -0500
1576 @@ -40,10 +40,14 @@
1577
1578 #ifdef XP_WIN
1579 #include <windows.h>
1580 +#else
1581 +#include <limits.h>
1582 #endif
1583
1584 #ifndef MAXPATHLEN
1585 -#ifdef _MAX_PATH
1586 +#ifdef PATH_MAX
1587 +#define MAXPATHLEN PATH_MAX
1588 +#elif defined(_MAX_PATH)
1589 #define MAXPATHLEN _MAX_PATH
1590 #elif defined(CCHMAXPATH)
1591 #define MAXPATHLEN CCHMAXPATH
1592
1593
1594
1595
1596
1597 1.1 src/patchsets/mozilla-firefox/3.0.10/097_noxul_glibc-maxpathlen.patch
1598
1599 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/097_noxul_glibc-maxpathlen.patch?rev=1.1&view=markup
1600 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/097_noxul_glibc-maxpathlen.patch?rev=1.1&content-type=text/plain
1601
1602 Index: 097_noxul_glibc-maxpathlen.patch
1603 ===================================================================
1604 --- xpcom/build/nsXPCOMPrivate.h.old Tue Oct 21 16:36:29 2008 +1300
1605 +++ xpcom/build/nsXPCOMPrivate.h Mon Oct 20 22:55:57 2008 -0500
1606 @@ -231,6 +231,7 @@ NS_GetFrozenFunctions(XPCOMFunctions *en
1607 #define XUL_DLL "libxul"MOZ_DLL_SUFFIX
1608
1609 #else // Unix
1610 +#include <limits.h> // for PATH_MAX
1611
1612 #define XPCOM_DLL "libxpcom"MOZ_DLL_SUFFIX
1613
1614
1615
1616
1617
1618 1.1 src/patchsets/mozilla-firefox/3.0.10/100-system-hunspell-corrections.patch
1619
1620 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/100-system-hunspell-corrections.patch?rev=1.1&view=markup
1621 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/100-system-hunspell-corrections.patch?rev=1.1&content-type=text/plain
1622
1623 Index: 100-system-hunspell-corrections.patch
1624 ===================================================================
1625 --- ./extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2008-02-15 19:21:21.000000000 +0000
1626 +++ ./extensions/spellcheck/hunspell/src/mozHunspell.cpp 2008-02-15 19:23:20.000000000 +0000
1627 @@ -63,6 +63,9 @@
1628 #include "nsISimpleEnumerator.h"
1629 #include "nsIDirectoryEnumerator.h"
1630 #include "nsIFile.h"
1631 +#ifdef MOZ_NATIVE_HUNSPELL
1632 +#include "nsILocalFile.h"
1633 +#endif
1634 #include "nsDirectoryServiceUtils.h"
1635 #include "nsDirectoryServiceDefs.h"
1636 #include "mozISpellI18NManager.h"
1637 @@ -307,7 +310,16 @@
1638 return;
1639
1640 nsCOMPtr<nsIFile> dictDir;
1641 - rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY,
1642 + #ifdef MOZ_NATIVE_HUNSPELL
1643 + nsCOMPtr<nsILocalFile> localFile;
1644 + rv = NS_NewNativeLocalFile(nsDependentCString("/usr/share/myspell"),PR_TRUE, getter_AddRefs(localFile));
1645 + if (localFile && NS_SUCCEEDED(rv)) {
1646 + localFile->QueryInterface(NS_GET_IID(nsIFile), getter_AddRefs(dictDir));
1647 + LoadDictionariesFromDir(dictDir);
1648 + }
1649 + else {
1650 + #endif
1651 + rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY,
1652 NS_GET_IID(nsIFile), getter_AddRefs(dictDir));
1653 if (NS_SUCCEEDED(rv)) {
1654 LoadDictionariesFromDir(dictDir);
1655 @@ -332,6 +344,9 @@
1656 LoadDictionariesFromDir(appDir);
1657 }
1658 }
1659 +#ifdef MOZ_NATIVE_HUNSPELL
1660 + }
1661 +#endif
1662
1663 nsCOMPtr<nsISimpleEnumerator> dictDirs;
1664 rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST,
1665 --- ./extensions/spellcheck/src/Makefile.in.orig 2008-02-15 19:25:58.000000000 +0000
1666 +++ ./extensions/spellcheck/src/Makefile.in 2008-02-15 19:28:36.000000000 +0000
1667 @@ -63,9 +63,16 @@
1668 txtsvc \
1669 uconv \
1670 unicharutil \
1671 + xulapp \
1672 $(NULL)
1673
1674 -CPPSRCS = \
1675 +ifdef MOZ_NATIVE_HUNSPELL
1676 +CPPSRCS += mozHunspell.cpp
1677 +ifdef MOZ_XUL_APP
1678 +CPPSRCS += mozHunspellDirProvider.cpp
1679 +endif
1680 +endif
1681 +CPPSRCS += \
1682 mozSpellCheckerFactory.cpp \
1683 mozSpellChecker.cpp \
1684 mozPersonalDictionary.cpp \
1685 @@ -80,8 +87,14 @@
1686 SHARED_LIBRARY_LIBS += ../osxspell/src/$(LIB_PREFIX)osxspell_s.$(LIB_SUFFIX)
1687 LOCAL_INCLUDES += -I$(srcdir)/../osxspell/src
1688 else
1689 +ifndef MOZ_NATIVE_HUNSPELL
1690 SHARED_LIBRARY_LIBS += ../hunspell/src/$(LIB_PREFIX)hunspell_s.$(LIB_SUFFIX)
1691 LOCAL_INCLUDES += -I$(srcdir)/../hunspell/src
1692 +else
1693 +LOCAL_INCLUDES += $(MOZ_HUNSPELL_CFLAGS) \
1694 + -DMOZ_NATIVE_HUNSPELL \
1695 + $(NULL)
1696 +endif
1697 endif
1698
1699 EXTRA_DSO_LDOPTS = \
1700 @@ -96,3 +112,18 @@
1701 LOCAL_INCLUDES += \
1702 -I$(topsrcdir)/xpcom/io \
1703 $(NULL)
1704 +
1705 +ifdef MOZ_NATIVE_HUNSPELL
1706 +export:: $(srcdir)/../hunspell/src/mozHunspell.cpp
1707 + $(INSTALL) $(srcdir)/../hunspell/src/mozHunspell.* .
1708 +GARBAGE += mozHunspell.$(OBJ_SUFFIX) mozHunspell.cpp
1709 +clean::
1710 + rm -f mozHunspell.*
1711 +ifdef MOZ_XUL_APP
1712 +export:: $(srcdir)/../hunspell/src/mozHunspellDirProvider.cpp
1713 + $(INSTALL) $(srcdir)/../hunspell/src/mozHunspellDirProvider.* .
1714 +GARBAGE += mozHunspellDirProvider.$(OBJ_SUFFIX) mozHunspellDirProvider.cpp
1715 +clean::
1716 + rm -f mozHunspellDirProvider.*
1717 +endif
1718 +endif
1719 --- ./extensions/spellcheck/Makefile.in.orig 2008-02-15 19:23:39.000000000 +0000
1720 +++ ./extensions/spellcheck/Makefile.in 2008-02-15 19:24:34.000000000 +0000
1721 @@ -42,13 +42,19 @@
1722 include $(DEPTH)/config/autoconf.mk
1723
1724 MODULE = spellchecker
1725 -DIRS = idl locales
1726 +ifndef MOZ_NATIVE_HUNSPELL
1727 +DIRS = idl locales
1728 +else
1729 +DIRS = idl
1730 +endif
1731
1732 ifeq (camino,$(MOZ_BUILD_APP))
1733 DIRS += osxspell
1734 else
1735 +ifndef MOZ_NATIVE_HUNSPELL
1736 DIRS += hunspell
1737 endif
1738 +endif
1739
1740 DIRS += src
1741
1742
1743
1744 1.1 src/patchsets/mozilla-firefox/3.0.10/300-xulonly-gnome_firefox_default_browser.patch
1745
1746 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/300-xulonly-gnome_firefox_default_browser.patch?rev=1.1&view=markup
1747 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/300-xulonly-gnome_firefox_default_browser.patch?rev=1.1&content-type=text/plain
1748
1749 Index: 300-xulonly-gnome_firefox_default_browser.patch
1750 ===================================================================
1751 ---
1752 browser/components/shell/src/nsGNOMEShellService.cpp | 16 ++++++++++++++--
1753 1 file changed, 14 insertions(+), 2 deletions(-)
1754
1755 Index: mozilla/browser/components/shell/src/nsGNOMEShellService.cpp
1756 ===================================================================
1757 --- mozilla.orig/browser/components/shell/src/nsGNOMEShellService.cpp
1758 +++ mozilla/browser/components/shell/src/nsGNOMEShellService.cpp
1759 @@ -62,16 +62,18 @@
1760 #endif
1761
1762 #include <glib.h>
1763 #include <glib-object.h>
1764 #include <gdk-pixbuf/gdk-pixbuf.h>
1765 #include <limits.h>
1766 #include <stdlib.h>
1767
1768 +#define SYSTEM_PATH_BUILD 1
1769 +
1770 struct ProtocolAssociation
1771 {
1772 const char *name;
1773 PRBool essential;
1774 };
1775
1776 struct MimeTypeAssociation
1777 {
1778 @@ -135,17 +137,16 @@
1779 return appPath->GetNativePath(mAppPath);
1780 }
1781
1782 NS_IMPL_ISUPPORTS1(nsGNOMEShellService, nsIShellService)
1783
1784 PRBool
1785 nsGNOMEShellService::KeyMatchesAppName(const char *aKeyValue) const
1786 {
1787 -
1788 gchar *commandPath;
1789 if (mUseLocaleFilenames) {
1790 gchar *nativePath = g_filename_from_utf8(aKeyValue, -1, NULL, NULL, NULL);
1791 if (!nativePath) {
1792 NS_ERROR("Error converting path to filesystem encoding");
1793 return PR_FALSE;
1794 }
1795
1796 @@ -153,19 +154,25 @@
1797 g_free(nativePath);
1798 } else {
1799 commandPath = g_find_program_in_path(aKeyValue);
1800 }
1801
1802 if (!commandPath)
1803 return PR_FALSE;
1804
1805 +#ifdef SYSTEM_PATH_BUILD
1806 + PRBool matches = NS_LITERAL_CSTRING("/usr/bin/" MOZ_APP_NAME).Equals(commandPath);
1807 + g_free(commandPath);
1808 + return matches;
1809 +#else
1810 PRBool matches = mAppPath.Equals(commandPath);
1811 g_free(commandPath);
1812 return matches;
1813 +#endif
1814 }
1815
1816 NS_IMETHODIMP
1817 nsGNOMEShellService::IsDefaultBrowser(PRBool aStartupCheck,
1818 PRBool* aIsDefaultBrowser)
1819 {
1820 *aIsDefaultBrowser = PR_FALSE;
1821 if (aStartupCheck)
1822 @@ -211,18 +218,23 @@
1823 #ifdef DEBUG
1824 if (aForAllUsers)
1825 NS_WARNING("Setting the default browser for all users is not yet supported");
1826 #endif
1827
1828 nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
1829
1830 nsCAutoString schemeList;
1831 +
1832 +#ifdef SYSTEM_PATH_BUILD
1833 + nsCAutoString appKeyValue(NS_LITERAL_CSTRING("/usr/bin/" MOZ_APP_NAME));
1834 +#else
1835 nsCAutoString appKeyValue(mAppPath);
1836 - appKeyValue.Append(" \"%s\"");
1837 +#endif
1838 + appKeyValue.Append(" %s");
1839 unsigned int i;
1840
1841 for (i = 0; i < NS_ARRAY_LENGTH(appProtocols); ++i) {
1842 schemeList.Append(nsDependentCString(appProtocols[i].name));
1843 schemeList.Append(',');
1844
1845 if (appProtocols[i].essential || aClaimAllTypes) {
1846 gconf->SetAppForProtocol(nsDependentCString(appProtocols[i].name),
1847
1848
1849
1850 1.1 src/patchsets/mozilla-firefox/3.0.10/667_typeahead-broken-v4.patch
1851
1852 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/667_typeahead-broken-v4.patch?rev=1.1&view=markup
1853 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/667_typeahead-broken-v4.patch?rev=1.1&content-type=text/plain
1854
1855 Index: 667_typeahead-broken-v4.patch
1856 ===================================================================
1857 --- extensions/typeaheadfind/src/Makefile.in.orig 2007-06-19 22:55:23.000000000 +0200
1858 +++ extensions/typeaheadfind/src/Makefile.in 2007-06-19 22:58:33.000000000 +0200
1859 @@ -46,8 +46,7 @@
1860 ifneq ($(OS_ARCH),WINNT)
1861 SHORT_LIBNAME = typahead
1862 endif
1863 -GRE_MODULE = 1
1864 -MOZILLA_INTERNAL_API = 1
1865 +LIBXUL_LIBRARY = 1
1866
1867 PACKAGE_FILE = typeaheadfind.pkg
1868
1869 @@ -84,9 +83,6 @@
1870 nsTypeAheadFindRegistration.cpp \
1871 $(NULL)
1872
1873 -EXTRA_DSO_LIBS = \
1874 - gkgfx \
1875 - $(NULL)
1876
1877 EXTRA_DSO_LDOPTS += \
1878 $(LIBS_DIR) \
1879 --- extensions/typeaheadfind/public/nsITypeAheadFind.idl 2007-08-05 20:29:55.000000000 +0200
1880 +++ /dev/null 2007-08-04 01:52:23.948566729 +0200
1881 @@ -1,88 +0,0 @@
1882 -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
1883 -/* ***** BEGIN LICENSE BLOCK *****
1884 - * Version: MPL 1.1/GPL 2.0/LGPL 2.1
1885 - *
1886 - * The contents of this file are subject to the Mozilla Public License Version
1887 - * 1.1 (the "License"); you may not use this file except in compliance with
1888 - * the License. You may obtain a copy of the License at
1889 - * http://www.mozilla.org/MPL/
1890 - *
1891 - * Software distributed under the License is distributed on an "AS IS" basis,
1892 - * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
1893 - * for the specific language governing rights and limitations under the
1894 - * License.
1895 - *
1896 - * The Original Code is mozilla.org code.
1897 - *
1898 - * The Initial Developer of the Original Code is
1899 - * Netscape Communications Corporation.
1900 - * Portions created by the Initial Developer are Copyright (C) 1998
1901 - * the Initial Developer. All Rights Reserved.
1902 - *
1903 - * Contributor(s):
1904 - * Original Author: Aaron Leventhal (aaronl@××××××××.com)
1905 - *
1906 - * Alternatively, the contents of this file may be used under the terms of
1907 - * either the GNU General Public License Version 2 or later (the "GPL"), or
1908 - * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
1909 - * in which case the provisions of the GPL or the LGPL are applicable instead
1910 - * of those above. If you wish to allow use of your version of this file only
1911 - * under the terms of either the GPL or the LGPL, and not to allow others to
1912 - * use your version of this file under the terms of the MPL, indicate your
1913 - * decision by deleting the provisions above and replace them with the notice
1914 - * and other provisions required by the GPL or the LGPL. If you do not delete
1915 - * the provisions above, a recipient may use your version of this file under
1916 - * the terms of any one of the MPL, the GPL or the LGPL.
1917 - *
1918 - * ***** END LICENSE BLOCK ***** */
1919 -
1920 -#include "nsISupports.idl"
1921 -#include "domstubs.idl"
1922 -#include "nsISupportsPrimitives.idl"
1923 -
1924 -%{ C++
1925 - #include "nsIDOMEvent.h"
1926 -
1927 - #define NS_TYPEAHEADFIND_CID \
1928 - {0x46590685, 0xbc00, 0x4aac, {0xab, 0xed, 0x2c, 0x10, 0xa5, 0xb9, 0x45, 0xa4}}
1929 -
1930 - #define NS_TYPEAHEADFIND_CONTRACTID "@mozilla.org/suitetypeaheadfind;1"
1931 -%}
1932 -
1933 -interface nsIDOMEvent;
1934 -
1935 -[scriptable, uuid(AD1C62CC-72F4-4c5b-BE78-503854F9E0D8)]
1936 -interface nsISuiteTypeAheadFind : nsISupports
1937 -{
1938 - /** Is type ahead find mode currently on? */
1939 - readonly attribute boolean isActive;
1940 -
1941 - /** Manually start type ahead find mode */
1942 - void startNewFind(in nsIDOMWindow aWindow, in boolean aLinksOnly);
1943 -
1944 - /** Manually cancel type ahead find mode */
1945 - void cancelFind();
1946 -
1947 - /**
1948 - * Will find as you type start automatically if the user
1949 - * types with the focus on page content other than a textfield or select?
1950 - * If autostart is off, the startNewFind() method can be used to enact
1951 - * type ahead find, as well as cmd_findTypeLinks or cmd_findTypeText.
1952 - */
1953 - void setAutoStart(in nsIDOMWindow aWindow, in boolean aIsAutoStartOn);
1954 - boolean getAutoStart(in nsIDOMWindow aWindow);
1955 -
1956 - /**
1957 - * Find next recurrence if typeaheadfind was the last used find,
1958 - * as opposed to regular find. Returns false in nsISupportsPRBool if we
1959 - * don't handle the request.
1960 - */
1961 - void findNext(in boolean aReverse, in nsISupportsInterfacePointer aCallerWindowSupports);
1962 -
1963 - /*
1964 - * Go back and remove one character from find string
1965 - * Returns true if backspace used
1966 - */
1967 - boolean backOneChar();
1968 -};
1969 -
1970 --- /dev/null 2007-08-04 01:52:23.948566729 +0200
1971 +++ extensions/typeaheadfind/public/nsISuiteTypeAheadFind.idl 2007-08-05 20:07:55.000000000 +0200
1972 @@ -0,0 +1,88 @@
1973 +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
1974 +/* ***** BEGIN LICENSE BLOCK *****
1975 + * Version: MPL 1.1/GPL 2.0/LGPL 2.1
1976 + *
1977 + * The contents of this file are subject to the Mozilla Public License Version
1978 + * 1.1 (the "License"); you may not use this file except in compliance with
1979 + * the License. You may obtain a copy of the License at
1980 + * http://www.mozilla.org/MPL/
1981 + *
1982 + * Software distributed under the License is distributed on an "AS IS" basis,
1983 + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
1984 + * for the specific language governing rights and limitations under the
1985 + * License.
1986 + *
1987 + * The Original Code is mozilla.org code.
1988 + *
1989 + * The Initial Developer of the Original Code is
1990 + * Netscape Communications Corporation.
1991 + * Portions created by the Initial Developer are Copyright (C) 1998
1992 + * the Initial Developer. All Rights Reserved.
1993 + *
1994 + * Contributor(s):
1995 + * Original Author: Aaron Leventhal (aaronl@××××××××.com)
1996 + *
1997 + * Alternatively, the contents of this file may be used under the terms of
1998 + * either the GNU General Public License Version 2 or later (the "GPL"), or
1999 + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
2000 + * in which case the provisions of the GPL or the LGPL are applicable instead
2001 + * of those above. If you wish to allow use of your version of this file only
2002 + * under the terms of either the GPL or the LGPL, and not to allow others to
2003 + * use your version of this file under the terms of the MPL, indicate your
2004 + * decision by deleting the provisions above and replace them with the notice
2005 + * and other provisions required by the GPL or the LGPL. If you do not delete
2006 + * the provisions above, a recipient may use your version of this file under
2007 + * the terms of any one of the MPL, the GPL or the LGPL.
2008 + *
2009 + * ***** END LICENSE BLOCK ***** */
2010 +
2011 +#include "nsISupports.idl"
2012 +#include "domstubs.idl"
2013 +#include "nsISupportsPrimitives.idl"
2014 +
2015 +%{ C++
2016 + #include "nsIDOMEvent.h"
2017 +
2018 + #define NS_TYPEAHEADFIND_CID \
2019 + {0x46590685, 0xbc00, 0x4aac, {0xab, 0xed, 0x2c, 0x10, 0xa5, 0xb9, 0x45, 0xa4}}
2020 +
2021 + #define NS_TYPEAHEADFIND_CONTRACTID "@mozilla.org/suitetypeaheadfind;1"
2022 +%}
2023 +
2024 +interface nsIDOMEvent;
2025 +
2026 +[scriptable, uuid(AD1C62CC-72F4-4c5b-BE78-503854F9E0D8)]
2027 +interface nsISuiteTypeAheadFind : nsISupports
2028 +{
2029 + /** Is type ahead find mode currently on? */
2030 + readonly attribute boolean isActive;
2031 +
2032 + /** Manually start type ahead find mode */
2033 + void startNewFind(in nsIDOMWindow aWindow, in boolean aLinksOnly);
2034 +
2035 + /** Manually cancel type ahead find mode */
2036 + void cancelFind();
2037 +
2038 + /**
2039 + * Will find as you type start automatically if the user
2040 + * types with the focus on page content other than a textfield or select?
2041 + * If autostart is off, the startNewFind() method can be used to enact
2042 + * type ahead find, as well as cmd_findTypeLinks or cmd_findTypeText.
2043 + */
2044 + void setAutoStart(in nsIDOMWindow aWindow, in boolean aIsAutoStartOn);
2045 + boolean getAutoStart(in nsIDOMWindow aWindow);
2046 +
2047 + /**
2048 + * Find next recurrence if typeaheadfind was the last used find,
2049 + * as opposed to regular find. Returns false in nsISupportsPRBool if we
2050 + * don't handle the request.
2051 + */
2052 + void findNext(in boolean aReverse, in nsISupportsInterfacePointer aCallerWindowSupports);
2053 +
2054 + /*
2055 + * Go back and remove one character from find string
2056 + * Returns true if backspace used
2057 + */
2058 + boolean backOneChar();
2059 +};
2060 +
2061 --- extensions/typeaheadfind/src/nsTypeAheadFind.h.orig 2007-08-05 20:27:01.000000000 +0200
2062 +++ extensions/typeaheadfind/src/nsTypeAheadFind.h 2007-08-05 20:27:12.000000000 +0200
2063 @@ -60,7 +60,7 @@
2064 #include "nsIDOMRange.h"
2065 #include "nsIDOMWindow.h"
2066 #include "nsIDocShellTreeItem.h"
2067 -#include "nsITypeAheadFind.h"
2068 +#include "nsISuiteTypeAheadFind.h"
2069 #include "nsIStringBundle.h"
2070 #include "nsISupportsArray.h"
2071 #include "nsISound.h"
2072 --- extensions/typeaheadfind/public/Makefile.in.orig 2008-02-09 15:11:25.000000000 +0100
2073 +++ extensions/typeaheadfind/public/Makefile.in 2008-02-09 15:12:54.000000000 +0100
2074 @@ -45,6 +45,6 @@
2075 XPIDL_MODULE=suitetypeaheadfind
2076 GRE_MODULE = 1
2077
2078 -XPIDLSRCS = nsITypeAheadFind.idl
2079 +XPIDLSRCS = nsISuiteTypeAheadFind.idl
2080
2081 include $(topsrcdir)/config/rules.mk
2082
2083
2084
2085 1.1 src/patchsets/mozilla-firefox/3.0.10/800-noxul-bsd-include.patch
2086
2087 file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/800-noxul-bsd-include.patch?rev=1.1&view=markup
2088 plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/mozilla-firefox/3.0.10/800-noxul-bsd-include.patch?rev=1.1&content-type=text/plain
2089
2090 Index: 800-noxul-bsd-include.patch
2091 ===================================================================
2092 --- configure.in.old 2007-12-10 12:29:54 +0000
2093 +++ configure.in 2007-12-10 12:38:19 +0000
2094 @@ -2862,6 +2862,7 @@
2095 ;;
2096 *)
2097 AC_CHECK_LIB(m, atan)
2098 + AC_CHECK_HEADER(dlfcn.h, AC_DEFINE(HAVE_DLCNF_H))
2099 AC_CHECK_LIB(dl, dlopen,
2100 AC_CHECK_HEADER(dlfcn.h,
2101 LIBS="-ldl $LIBS"
2102 --- xpcom/base/nsStackWalk.cpp.old 2007-12-10 12:43:02 +0000
2103 +++ xpcom/base/nsStackWalk.cpp 2007-12-10 12:43:51 +0000
2104 @@ -1111,7 +1111,7 @@
2105 #define __USE_GNU
2106 #endif
2107
2108 -#if defined(HAVE_LIBDL) || defined(XP_MACOSX)
2109 +#if defined(HAVE_DLCNF_H) || defined(XP_MACOSX)
2110 #include <dlfcn.h>
2111 #endif