OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=27
This commit is contained in:
parent
2f36c23d4e
commit
da73731b3b
@ -1,3 +1,43 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 15 10:32:09 CDT 2008 - maw@suse.de
|
||||
|
||||
- Review and approve changes.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 8 09:51:06 CEST 2008 - wr@rosenauer.org
|
||||
|
||||
- use system hunspell from 11.0 on (bnc#385739)
|
||||
- remove more executable bits from non-executable files
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 23 09:42:12 CEST 2008 - wr@rosenauer.org
|
||||
|
||||
- security update to version 2.0.0.17 (bnc#429179)
|
||||
* MFSA 2008-37 / CVE-2008-0016
|
||||
UTF-8 URL stack buffer overflow
|
||||
* MFSA 2008-38 / CVE-2008-3835
|
||||
nsXMLDocument::OnChannelRedirect() same-origin violation
|
||||
* MFSA 2008-41 / CVE-2008-4058 / CVE-2008-4059 / CVE-2008-4060
|
||||
Privilege escalation via XPCnativeWrapper pollution
|
||||
* MFSA 2008-42 / CVE-2008-4061 / CVE-2008-4062 / CVE-2008-4063
|
||||
CVE-2008-4064
|
||||
Crashes with evidence of memory corruption
|
||||
* MFSA 2008-43 / CVE-2008-4065 / CVE-2008-4066
|
||||
BOM characters, low surrogates stripped from JavaScript before
|
||||
execution
|
||||
* MFSA 2008-44 / CVE-2008-4067 / CVE-2008-4068
|
||||
resource: traversal vulnerabilities
|
||||
* MFSA 2008-46 / CVE-2008-4070
|
||||
Heap overflow when canceling newsgroup message
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 15 13:06:11 CEST 2008 - wr@rosenauer.org
|
||||
|
||||
- fixed undefined operation in nsMailboxService.cpp (abuild.patch)
|
||||
- cleanup spec a bit while merging from OBS/mozilla
|
||||
* forwarding old fixes to cups-paper.patch, mozilla.sh.in and
|
||||
add-plugins.sh (were fixed long ago in the OBS repo)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 11 21:34:40 CEST 2008 - mauro@suse.de
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package MozillaThunderbird (Version 2.0.0.16)
|
||||
# spec file for package MozillaThunderbird (Version 2.0.0.17)
|
||||
#
|
||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
@ -18,9 +18,23 @@
|
||||
|
||||
|
||||
Name: MozillaThunderbird
|
||||
BuildRequires: fdupes gcc-c++ libgnomeui-devel libidl-devel mozilla-nss-devel orbit-devel unzip update-desktop-files zip
|
||||
BuildRequires: gcc-c++ libgnomeui-devel libidl-devel orbit-devel unzip update-desktop-files zip
|
||||
%if %suse_version > 1030
|
||||
BuildRequires: hunspell-devel
|
||||
%endif
|
||||
%if %suse_version > 1020
|
||||
BuildRequires: fdupes
|
||||
%endif
|
||||
# fix broken 9.3 requirements
|
||||
%if %suse_version <= 930
|
||||
BuildRequires: freetype2-devel popt-devel
|
||||
%endif
|
||||
# fix broken SLES9 requirements
|
||||
%if %suse_version == 910
|
||||
BuildRequires: gnome-vfs2 libgnome libgnomeui pkgconfig
|
||||
%endif
|
||||
License: GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
|
||||
Version: 2.0.0.16
|
||||
Version: 2.0.0.17
|
||||
Release: 1
|
||||
Summary: The Stand-Alone Mozilla Mail Component
|
||||
Url: http://www.mozilla.org/products/thunderbird/
|
||||
@ -34,10 +48,10 @@ Source5: mailredirect-0.7.5.xpi
|
||||
Source6: suse-default-prefs.js
|
||||
Source9: enigmail-0.95.7.tar.bz2
|
||||
Source11: enigmail.manifest
|
||||
Source12: %{name}-%{version}-rpmlintrc
|
||||
Source12: %{name}-rpmlintrc
|
||||
Patch1: replytolist.patch
|
||||
Patch2: thunderbird-appname.patch
|
||||
#Patch3: mozilla-gcc4.3-fixes.patch
|
||||
Patch3: mozilla-gcc4.3-fixes.patch
|
||||
Patch4: locale.patch
|
||||
Patch5: abuild.patch
|
||||
Patch6: nspr-prdtoa.patch
|
||||
@ -56,28 +70,24 @@ Patch22: cjk-postscript-fonts.dif
|
||||
Patch25: postscript.patch
|
||||
Patch26: cups-paper.patch
|
||||
Patch27: thunderbird-1.5.0.8-uninitalized-vars-232305.patch
|
||||
#Patch28: thunderbird-gcc4.3-fixes.patch
|
||||
Patch29: visibility.patch
|
||||
#Patch30: unused-includes.patch
|
||||
Patch28: mozilla-system-hunspell.patch.bz2
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: libstdc++ fileutils textutils /bin/sh
|
||||
PreReq: coreutils fileutils textutils /bin/sh
|
||||
%if %suse_version > 1000
|
||||
Suggests: %{name}-translations
|
||||
%endif
|
||||
%define has_system_cairo 0
|
||||
%define has_system_nspr 0
|
||||
%define has_system_nss 0
|
||||
%define pango 0
|
||||
%if %suse_version > 930 || %is_plus
|
||||
%if %suse_version > 930
|
||||
%define has_system_cairo 1
|
||||
%endif
|
||||
%if %suse_version > 1010 || 0%{?opensuse_bs}
|
||||
# NSPR and NSS in OBS:mozilla are always sufficient
|
||||
%define has_system_nspr 1
|
||||
%endif
|
||||
%if %suse_version > 1000 || %is_plus
|
||||
# NSS version on 10.1 is too old (<3.11)
|
||||
%define has_system_nss 1
|
||||
%endif
|
||||
%if %is_plus || %suse_version >= 930
|
||||
%define pango 1
|
||||
%endif
|
||||
%if %has_system_nspr
|
||||
BuildRequires: mozilla-nspr-devel
|
||||
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
|
||||
@ -86,7 +96,7 @@ Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr
|
||||
BuildRequires: mozilla-nss-devel
|
||||
%endif
|
||||
%define _unpackaged_files_terminate_build 0
|
||||
%define releasedate 2008072000
|
||||
%define releasedate 2008092200
|
||||
%define progname thunderbird
|
||||
%define progdir %{_prefix}/%_lib/thunderbird
|
||||
%define my_provides /tmp/my-provides
|
||||
@ -123,7 +133,7 @@ Authors:
|
||||
%package translations
|
||||
License: GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
|
||||
Summary: Translations of MozillaThunderbird
|
||||
Provides: locale(MozillaThunderbird:be;bg;ca;cs;da;de;el;en_GB;es_AR;es_ES;eu;fi;fr;ga_IE;hu;it;ja;ko;lt;mk;nb_NO;nl;nn_NO;pa_IN;pl;pt_BR;pt_PT;ru;sk;sl;sv_SE;tr;zh_CN;zh_TW)
|
||||
Provides: locale(MozillaThunderbird:af;be;bg;ca;cs;da;de;el;en_GB;es_AR;es_ES;eu;fi;fr;ga_IE;he;hu;it;ja;ko;lt;mk;nb_NO;nl;nn_NO;pa_IN;pl;pt_BR;pt_PT;ru;sk;sl;sv_SE;tr;uk;zh_CN;zh_TW)
|
||||
Group: Productivity/Networking/Email/Clients
|
||||
PreReq: %{name} = %{version}
|
||||
|
||||
@ -172,7 +182,7 @@ cd $RPM_BUILD_DIR
|
||||
cd $RPM_BUILD_DIR/mozilla
|
||||
%patch1
|
||||
%patch2
|
||||
#%patch3
|
||||
%patch3
|
||||
%patch4
|
||||
%patch5
|
||||
%patch6
|
||||
@ -190,21 +200,20 @@ cd $RPM_BUILD_DIR/mozilla
|
||||
%patch25
|
||||
%patch26
|
||||
%patch27 -p0
|
||||
# %patch28 -p1
|
||||
#%patch30
|
||||
# use hunspell from 11.0 on only
|
||||
%if %suse_version > 1030
|
||||
%patch28
|
||||
%endif
|
||||
|
||||
%build
|
||||
export MOZ_BUILD_DATE=%{releasedate}
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
export CFLAGS="$RPM_OPT_FLAGS -g -Os -fno-strict-aliasing"
|
||||
%if %suse_version > 1000
|
||||
export CFLAGS="$CFLAGS -fstack-protector -fwrapv"
|
||||
%endif
|
||||
export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing"
|
||||
%ifarch ppc64
|
||||
export CFLAGS="$CFLAGS -mminimal-toc"
|
||||
%endif
|
||||
# enigmail build fials with visibility enabled
|
||||
# enigmail build fails with visibility enabled
|
||||
%if %suse_version > 1020
|
||||
%ifarch x86_64 s390 s390x
|
||||
export ac_cv_visibility_hidden="no"
|
||||
@ -230,7 +239,7 @@ ac_add_options --sysconfdir=%{_sysconfdir}
|
||||
ac_add_options --mandir=%{_mandir}
|
||||
ac_add_options --includedir=%{_includedir}
|
||||
# shouldn't be needed with exported CFLAGS
|
||||
# ac_add_options --enable-optimize="$CFLAGS"
|
||||
#ac_add_options --enable-optimize="$CFLAGS"
|
||||
ac_add_options --with-system-jpeg
|
||||
ac_add_options --with-system-png
|
||||
ac_add_options --with-system-zlib
|
||||
@ -240,6 +249,9 @@ ac_add_options --enable-xft
|
||||
%if %suse_version > 920
|
||||
ac_add_options --enable-pango
|
||||
%endif
|
||||
%if %suse_version > 1030
|
||||
ac_add_options --enable-system-myspell
|
||||
%endif
|
||||
ac_add_options --disable-freetype2
|
||||
ac_add_options --disable-installer
|
||||
ac_add_options --disable-plugins
|
||||
@ -287,7 +299,7 @@ for locale in $(awk '{ print $1; }' mail/locales/shipped-locales); do
|
||||
case $locale in
|
||||
ja-JP-mac|en-US)
|
||||
# locales not to be included in translations package
|
||||
;;
|
||||
;;
|
||||
*)
|
||||
make -C mail/locales libs-$locale
|
||||
cp dist/xpi-stage/locale-$locale/chrome/$locale.jar \
|
||||
@ -339,8 +351,6 @@ cp -rL dist/idl/* $RPM_BUILD_ROOT%{_includedir}/thunderbird/
|
||||
cp -rL dist/include/* $RPM_BUILD_ROOT%{_includedir}/thunderbird/
|
||||
cp -rL dist/bin/thunderbird-config $RPM_BUILD_ROOT%{_bindir}/
|
||||
install -m 755 $RPM_BUILD_DIR/mozilla/build/unix/thunderbird-*.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
|
||||
find $RPM_BUILD_ROOT/%{_includedir}/thunderbird | grep '\.h$' | xargs chmod -x
|
||||
chmod -x $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/*.pc
|
||||
%if %has_system_nss
|
||||
rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc
|
||||
ln -sf nss.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc
|
||||
@ -377,11 +387,14 @@ _redir_dir=$RPM_BUILD_ROOT%{progdir}/extensions/\{CC3C233D-6668-41bc-AAEB-F3A1D1
|
||||
mkdir $_redir_dir
|
||||
unzip %{SOURCE5} -d $_redir_dir
|
||||
#
|
||||
# remove spurious executable bits
|
||||
find $RPM_BUILD_ROOT/usr/include/thunderbird -type f -exec chmod a-x {} \;
|
||||
find $RPM_BUILD_ROOT%{_libdir}/pkgconfig/* -type f -exec chmod a-x {} \;
|
||||
find $RPM_BUILD_ROOT%{_libdir}/thunderbird -name "*.js" -o -name "*.xpm" | xargs chmod a-x
|
||||
#
|
||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps/
|
||||
cp -f $RPM_BUILD_ROOT%{progdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_datadir}/pixmaps/thunderbird.xpm
|
||||
%if %suse_version > 820
|
||||
%suse_update_desktop_file %{name} Application Network Email GTK
|
||||
%endif
|
||||
%suse_update_desktop_file %{name} Network Email GTK
|
||||
%if !%has_system_nss
|
||||
# modify provides and requires lists
|
||||
cat << EOF > %{my_provides}
|
||||
@ -398,8 +411,8 @@ chmod 755 %{my_requires}
|
||||
%if %suse_version > 1020
|
||||
# Some sites use different partitions for /usr/(lib|lib64) and /usr/share. Since you
|
||||
# can't create hardlinks across partitions, we'll do this more than once.
|
||||
%fdupes $RPM_BUILD_ROOT/%progdir
|
||||
%fdupes $RPM_BUILD_ROOT/%{_datadir}
|
||||
%fdupes $RPM_BUILD_ROOT%{progdir}
|
||||
%fdupes $RPM_BUILD_ROOT%{_datadir}
|
||||
%endif
|
||||
|
||||
%clean
|
||||
@ -680,6 +693,34 @@ exit 0
|
||||
%{_bindir}/thunderbird-config
|
||||
|
||||
%changelog
|
||||
* Wed Oct 15 2008 maw@suse.de
|
||||
- Review and approve changes.
|
||||
* Wed Oct 08 2008 wr@rosenauer.org
|
||||
- use system hunspell from 11.0 on (bnc#385739)
|
||||
- remove more executable bits from non-executable files
|
||||
* Tue Sep 23 2008 wr@rosenauer.org
|
||||
- security update to version 2.0.0.17 (bnc#429179)
|
||||
* MFSA 2008-37 / CVE-2008-0016
|
||||
UTF-8 URL stack buffer overflow
|
||||
* MFSA 2008-38 / CVE-2008-3835
|
||||
nsXMLDocument::OnChannelRedirect() same-origin violation
|
||||
* MFSA 2008-41 / CVE-2008-4058 / CVE-2008-4059 / CVE-2008-4060
|
||||
Privilege escalation via XPCnativeWrapper pollution
|
||||
* MFSA 2008-42 / CVE-2008-4061 / CVE-2008-4062 / CVE-2008-4063
|
||||
CVE-2008-4064
|
||||
Crashes with evidence of memory corruption
|
||||
* MFSA 2008-43 / CVE-2008-4065 / CVE-2008-4066
|
||||
BOM characters, low surrogates stripped from JavaScript before
|
||||
execution
|
||||
* MFSA 2008-44 / CVE-2008-4067 / CVE-2008-4068
|
||||
resource: traversal vulnerabilities
|
||||
* MFSA 2008-46 / CVE-2008-4070
|
||||
Heap overflow when canceling newsgroup message
|
||||
* Mon Sep 15 2008 wr@rosenauer.org
|
||||
- fixed undefined operation in nsMailboxService.cpp (abuild.patch)
|
||||
- cleanup spec a bit while merging from OBS/mozilla
|
||||
* forwarding old fixes to cups-paper.patch, mozilla.sh.in and
|
||||
add-plugins.sh (were fixed long ago in the OBS repo)
|
||||
* Thu Sep 11 2008 mauro@suse.de
|
||||
- Update to 2.0.0.16 (fixed bnc#417869), fixes:
|
||||
+ MFSA 2008-34 Remote code execution by overflowing CSS
|
||||
@ -731,7 +772,7 @@ exit 0
|
||||
- recommend gpg instead of requireing a fixed path
|
||||
* Wed Sep 12 2007 maw@suse.de
|
||||
- Added gpg/pinentry requirements (#309160).
|
||||
* Tue Sep 04 2007 maw@suse.de
|
||||
* Mon Sep 03 2007 maw@suse.de
|
||||
- Don't run %%fdupes on directories where multiple partitions
|
||||
are liable to be mounted.
|
||||
* Mon Sep 03 2007 maw@suse.de
|
||||
@ -774,10 +815,10 @@ exit 0
|
||||
- Update to enigmail 0.95.2.
|
||||
* Thu Jun 21 2007 adrian@suse.de
|
||||
- fix changelog entry order
|
||||
* Sat Jun 16 2007 maw@suse.de
|
||||
* Fri Jun 15 2007 maw@suse.de
|
||||
- Merge update to 2.0.0.4 from the build service (thanks, Wolfgang)
|
||||
- Remove some commented out stuff.
|
||||
* Thu Jun 14 2007 wr@rosenauer.org
|
||||
* Wed Jun 13 2007 wr@rosenauer.org
|
||||
- update to maintenance release 2.0.0.4
|
||||
- update enigmail to 0.95.1
|
||||
- adopted patches:
|
||||
@ -821,9 +862,9 @@ exit 0
|
||||
- fixed check in add-plugins.sh (#242237)
|
||||
* Tue Jan 30 2007 maw@suse.de
|
||||
- Add thunderbird-1.5.0.8-uninitalized-vars-232305.patch (#232305).
|
||||
* Fri Jan 19 2007 maw@suse.de
|
||||
* Thu Jan 18 2007 maw@suse.de
|
||||
- Add undefined-ops.patch, silencing some warnings.
|
||||
* Thu Nov 09 2006 jhargadon@suse.de
|
||||
* Wed Nov 08 2006 jhargadon@suse.de
|
||||
- security update to version 1.5.0.8
|
||||
* Tue Sep 12 2006 stark@suse.de
|
||||
- security update to version 1.5.0.7
|
||||
@ -852,7 +893,7 @@ exit 0
|
||||
- improved postscript output (bmo #334485)
|
||||
- changed defaults for printer properties (#6534)
|
||||
- get available paper sizes from CUPS (#65482)
|
||||
* Sun Mar 19 2006 stark@suse.de
|
||||
* Sat Mar 18 2006 stark@suse.de
|
||||
- translations package is suggested now by main package
|
||||
- yet another set of upstream fixes (#148876)
|
||||
* Sun Mar 12 2006 stark@suse.de
|
||||
@ -962,7 +1003,7 @@ exit 0
|
||||
* Thu Apr 28 2005 stark@suse.de
|
||||
- updated to current 1.0 branch version
|
||||
- use static NSPR from other location
|
||||
* Sun Apr 24 2005 stark@suse.de
|
||||
* Sat Apr 23 2005 stark@suse.de
|
||||
- activate usage of system NSPR for distributions after 9.3
|
||||
- add patch to be able to use systen NSPR at all
|
||||
- extended desktop file
|
||||
@ -1026,7 +1067,7 @@ exit 0
|
||||
- removing relocation of TEMP directory (#34391)
|
||||
* Fri Mar 26 2004 uli@suse.de
|
||||
- fixed hang during build on s390* (bug #35440)
|
||||
* Mon Mar 08 2004 ro@suse.de
|
||||
* Sun Mar 07 2004 ro@suse.de
|
||||
- match function declaration in enigmail mimedummy.cpp
|
||||
* Fri Mar 05 2004 stark@suse.de
|
||||
- more fixes for #35179
|
||||
|
92
abuild.patch
92
abuild.patch
@ -1,4 +1,4 @@
|
||||
From: Wolfgang Rosenauer <stark@suse.de>
|
||||
From: Wolfgang Rosenauer <stark@suse.de / wr@rosenauer.org>
|
||||
Subject: Fix compiler warnings which disturb autobuild
|
||||
References:
|
||||
|
||||
@ -22,10 +22,15 @@ Problematic file(s) and their linenumbers:
|
||||
nsFrame.cpp: 3536
|
||||
###
|
||||
|
||||
Index: gfx/src/gtk/nsFontMetricsUtils.cpp
|
||||
===================================================================
|
||||
--- gfx/src/gtk/nsFontMetricsUtils.cpp.orig
|
||||
+++ gfx/src/gtk/nsFontMetricsUtils.cpp
|
||||
### autobuild
|
||||
I: Program causes undefined operation
|
||||
(likely same variable used twiceand post/pre incremented in the same expression).
|
||||
e.g. x = x++; Split it in two operations.
|
||||
E: MozillaThunderbird sequence-point nsMailboxService.cpp: 231
|
||||
###
|
||||
|
||||
--- gfx/src/gtk/nsFontMetricsUtils.cpp.old 2005-03-24 07:27:33.000000000 +0100
|
||||
+++ gfx/src/gtk/nsFontMetricsUtils.cpp 2005-03-24 07:28:26.000000000 +0100
|
||||
@@ -75,6 +75,7 @@ NS_FontMetricsGetHints(void)
|
||||
#ifdef MOZ_ENABLE_COREXFONTS
|
||||
return nsFontMetricsGTK::GetHints();
|
||||
@ -41,12 +46,18 @@ Index: gfx/src/gtk/nsFontMetricsUtils.cpp
|
||||
+ return 1;
|
||||
}
|
||||
|
||||
#if defined(MOZ_ENABLE_XFT) && defined(MOZ_ENABLE_COREXFONTS)
|
||||
#ifdef MOZ_ENABLE_XFT
|
||||
Index: intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp
|
||||
===================================================================
|
||||
--- intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp.orig
|
||||
+++ intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp
|
||||
@@ -842,6 +842,7 @@ PRInt16 JamoSrchReplace (const JamoNormM
|
||||
RCS file: /cvsroot/mozilla/intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp,v
|
||||
retrieving revision 1.10
|
||||
diff -u -p -6 -r1.10 nsUnicodeToJamoTTF.cpp
|
||||
--- intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp 19 Feb 2005 07:27:54 -0000 1.10
|
||||
+++ intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp 7 Jun 2005 07:21:10 -0000
|
||||
@@ -842,12 +842,13 @@ PRInt16 JamoSrchReplace (const JamoNormM
|
||||
// we don't need a separate range check here because the one in
|
||||
// for-loop is sufficient.
|
||||
for (PRInt32 i = start; i <= end - clusterLen; i++)
|
||||
{
|
||||
const JamoNormMap *match;
|
||||
JamoNormMap key;
|
||||
@ -54,11 +65,20 @@ Index: intl/uconv/ucvko/nsUnicodeToJamoTTF.cpp
|
||||
|
||||
// cluster array is made up of PRUint8's to save memory
|
||||
// and we have to subtract aOffset from the input before looking it up.
|
||||
key.seq[0] = aIn[i] - aOffset;
|
||||
key.seq[1] = aIn[i + 1] - aOffset;
|
||||
key.seq[2] = clusterLen == 3 ? (aIn[i + 2] - aOffset) : 0;
|
||||
Index: layout/generic/nsObjectFrame.cpp
|
||||
===================================================================
|
||||
--- layout/generic/nsObjectFrame.cpp.orig
|
||||
+++ layout/generic/nsObjectFrame.cpp
|
||||
@@ -1846,6 +1846,7 @@ nsObjectFrame::Paint(nsPresContext*
|
||||
RCS file: /cvsroot/mozilla/layout/generic/nsObjectFrame.cpp,v
|
||||
retrieving revision 1.505
|
||||
diff -u -p -6 -r1.505 nsObjectFrame.cpp
|
||||
--- layout/generic/nsObjectFrame.cpp 6 May 2005 03:14:31 -0000 1.505
|
||||
+++ layout/generic/nsObjectFrame.cpp 7 Jun 2005 07:23:27 -0000
|
||||
@@ -1850,12 +1850,13 @@ nsObjectFrame::Paint(nsPresContext*
|
||||
// now we need to setup the correct location for printing
|
||||
nsresult rv;
|
||||
nsPluginWindow window;
|
||||
nsPoint origin;
|
||||
float t2p;
|
||||
window.window = nsnull;
|
||||
@ -66,11 +86,20 @@ Index: layout/generic/nsObjectFrame.cpp
|
||||
|
||||
// prepare embedded mode printing struct
|
||||
nsPluginPrint npprint;
|
||||
npprint.mode = nsPluginMode_Embedded;
|
||||
|
||||
// we need to find out if we are windowless or not
|
||||
Index: docshell/base/nsWebShell.cpp
|
||||
===================================================================
|
||||
--- docshell/base/nsWebShell.cpp.orig
|
||||
+++ docshell/base/nsWebShell.cpp
|
||||
@@ -557,6 +557,7 @@ nsWebShell::OnLinkClickSync(nsIContent *
|
||||
RCS file: /cvsroot/mozilla/docshell/base/nsWebShell.cpp,v
|
||||
retrieving revision 1.656.2.1
|
||||
diff -u -p -6 -r1.656.2.1 nsWebShell.cpp
|
||||
--- docshell/base/nsWebShell.cpp 16 Sep 2005 19:11:52 -0000 1.656.2.1
|
||||
+++ docshell/base/nsWebShell.cpp 22 Sep 2005 06:30:30 -0000
|
||||
@@ -556,12 +556,13 @@ nsWebShell::OnLinkClickSync(nsIContent *
|
||||
// XXX TODO Should be similar to the HTML IMG ALT attribute handling
|
||||
// in NS 4.x
|
||||
default:
|
||||
NS_ABORT_IF_FALSE(0,"unexpected link verb");
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
@ -78,11 +107,20 @@ Index: docshell/base/nsWebShell.cpp
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsWebShell::OnOverLink(nsIContent* aContent,
|
||||
nsIURI* aURI,
|
||||
const PRUnichar* aTargetSpec)
|
||||
Index: layout/generic/nsFrame.cpp
|
||||
===================================================================
|
||||
--- layout/generic/nsFrame.cpp.orig
|
||||
+++ layout/generic/nsFrame.cpp
|
||||
@@ -3569,7 +3569,7 @@ nsFrame::PeekOffsetParagraph(nsPresConte
|
||||
RCS file: /cvsroot/mozilla/layout/generic/nsFrame.cpp,v
|
||||
retrieving revision 3.574.2.4
|
||||
diff -u -p -6 -r3.574.2.4 nsFrame.cpp
|
||||
--- layout/generic/nsFrame.cpp 20 Sep 2005 06:32:09 -0000 3.574.2.4
|
||||
+++ layout/generic/nsFrame.cpp 22 Sep 2005 06:31:42 -0000
|
||||
@@ -3528,13 +3528,13 @@ nsresult
|
||||
nsFrame::PeekOffsetParagraph(nsPresContext* aPresContext,
|
||||
nsPeekOffsetStruct *aPos)
|
||||
{
|
||||
#ifdef DEBUG_paragraph
|
||||
printf("Selecting paragraph\n");
|
||||
#endif
|
||||
@ -91,11 +129,20 @@ Index: layout/generic/nsFrame.cpp
|
||||
nsCOMPtr<nsILineIterator> iter (getter_AddRefs(GetBlockFrameAndLineIter(this, &blockFrame)));
|
||||
if (!blockFrame || !iter)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
PRInt32 thisLine;
|
||||
nsresult result = iter->FindLineContaining(this, &thisLine);
|
||||
Index: mailnews/local/src/nsMailboxService.cpp
|
||||
===================================================================
|
||||
--- mailnews/local/src/nsMailboxService.cpp.orig
|
||||
+++ mailnews/local/src/nsMailboxService.cpp
|
||||
@@ -228,7 +228,7 @@ nsresult nsMailboxService::FetchMessage(
|
||||
RCS file: /cvsroot/mozilla/mailnews/local/src/nsMailboxService.cpp,v
|
||||
retrieving revision 1.114.8.7
|
||||
diff -u -p -6 -r1.114.8.7 nsMailboxService.cpp
|
||||
--- mailnews/local/src/nsMailboxService.cpp 30 Aug 2006 22:18:29 -0000 1.114.8.7
|
||||
+++ mailnews/local/src/nsMailboxService.cpp 11 Sep 2008 11:09:24 -0000
|
||||
@@ -225,13 +225,13 @@ nsresult nsMailboxService::FetchMessage(
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// this happens with forward inline of message/rfc822 attachment
|
||||
// opened in a stand-alone msg window.
|
||||
@ -104,3 +151,6 @@ Index: mailnews/local/src/nsMailboxService.cpp
|
||||
if (typeIndex != kNotFound)
|
||||
{
|
||||
uriString.Cut(typeIndex, sizeof("&type=application/x-message-display") - 1);
|
||||
rv = NS_NewURI(getter_AddRefs(url), uriString.get());
|
||||
mailboxurl = do_QueryInterface(url);
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ MOZ_APP="%APPNAME"
|
||||
|
||||
# MySPELL
|
||||
MYSPELL=/usr/share/myspell
|
||||
MOZ_SPELL=$PREFIX/components/myspell
|
||||
MOZ_SPELL=$PREFIX/dictionaries
|
||||
if [ -d $MOZ_SPELL ] ; then
|
||||
if [ -d $MYSPELL ] ; then
|
||||
for dict in $MYSPELL/??[-_]??.aff ; do
|
||||
@ -35,7 +35,7 @@ if [ -d $MOZ_SPELL ] ; then
|
||||
country=`echo ${dict_file:3:2}`
|
||||
|
||||
# check for .dic file
|
||||
if ! [ -r $MYSPELL/${lang}[-_]${country}.dic ] ; then
|
||||
if [ ! -r $MYSPELL/${lang}[-_]${country}.dic ] ; then
|
||||
continue
|
||||
fi
|
||||
|
||||
|
391
cups-paper.patch
391
cups-paper.patch
@ -523,186 +523,6 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=324060
|
||||
+
|
||||
+
|
||||
+#endif /* nsPaperFactoryPS_h__ */
|
||||
--- gfx/src/psshared/nsPaperPS.cpp
|
||||
+++ gfx/src/psshared/nsPaperPS.cpp
|
||||
@@ -22,6 +22,7 @@
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
+ * Arne John Glenstrup <panic@itu.dk>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
@@ -37,9 +38,25 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
-
|
||||
+#ifdef MOZ_LOGGING
|
||||
+#define FORCE_PR_LOG 1 /* Allow logging in the release build */
|
||||
+#endif /* MOZ_LOGGING */
|
||||
+#include "prlog.h"
|
||||
+
|
||||
#include "nsPaperPS.h"
|
||||
#include "plstr.h"
|
||||
+#include "nsPSPrinters.h"
|
||||
+#include <math.h>
|
||||
+
|
||||
+#ifdef PR_LOGGING
|
||||
+static PRLogModuleInfo *PaperSizePSLM = PR_NewLogModule("PaperSizePS");
|
||||
+#endif /* PR_LOGGING */
|
||||
+/* Macro to make lines shorter */
|
||||
+#define DO_PR_DEBUG_LOG(x) PR_LOG(PaperSizePSLM, PR_LOG_DEBUG, x)
|
||||
+
|
||||
+#define MM_PER_PT (25.4 / 72.0)
|
||||
+#define HALF_INCH_PT 36.0
|
||||
+#define EPSILON 0.125
|
||||
|
||||
#define COUNTOF(x) (sizeof(x) / sizeof((x)[0]))
|
||||
|
||||
@@ -57,7 +74,15 @@
|
||||
#undef SIZE_MM
|
||||
};
|
||||
|
||||
-const unsigned int nsPaperSizePS::mCount = COUNTOF(mList);
|
||||
+nsCUPSShim nsPaperSizeCUPS::mCups;
|
||||
+
|
||||
+/* ~nsIPaperSizePS() is virtual, so must implement a destructor. */
|
||||
+nsIPaperSizePS::~nsIPaperSizePS () { }
|
||||
+
|
||||
+nsPaperSizePS::nsPaperSizePS() {
|
||||
+ mCount = COUNTOF(mList);
|
||||
+ mCurrent = 0;
|
||||
+}
|
||||
|
||||
PRBool
|
||||
nsPaperSizePS::Find(const char *aName)
|
||||
@@ -70,3 +95,125 @@
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
+
|
||||
+nsPaperSizeCUPS::nsPaperSizeCUPS(const char* fullPrinterName,
|
||||
+ const char* printerName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS('%s', '%s')\n",
|
||||
+ fullPrinterName, printerName));
|
||||
+ /* Don't use CUPS before we are sure we have access to the PPD */
|
||||
+ mUsingCups = false;
|
||||
+ mPPD = nsnull;
|
||||
+ mCount = COUNTOF(mList);
|
||||
+ mCurrent = 0;
|
||||
+ if (!fullPrinterName || !printerName ||
|
||||
+ nsPSPrinterList::kTypeCUPS !=
|
||||
+ nsPSPrinterList::GetPrinterType(nsDependentCString(fullPrinterName)))
|
||||
+ return;
|
||||
+ if (!mCups.IsInitialized()) { mCups.Init(); }
|
||||
+ if (!mCups.IsInitialized()) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: CUPS unavailable\n"));
|
||||
+ return;
|
||||
+ }
|
||||
+ const char* ppdFileName = mCups.mCupsGetPPD(printerName);
|
||||
+ if (!ppdFileName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: "
|
||||
+ "cannot get PPD file name for printer '%s'\n",
|
||||
+ printerName));
|
||||
+ return;
|
||||
+ }
|
||||
+ mPPD = mCups.mPpdOpenFile(ppdFileName);
|
||||
+ if (!mPPD) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: "
|
||||
+ "cannot open PPD file '%s'\n",
|
||||
+ ppdFileName));
|
||||
+ return;
|
||||
+ }
|
||||
+ mCount = mPPD->num_sizes;
|
||||
+ mUsingCups = true;
|
||||
+}
|
||||
+
|
||||
+nsPaperSizeCUPS::~nsPaperSizeCUPS() {
|
||||
+ if (mPPD) mCups.mPpdClose(mPPD);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+nsPaperSizeCUPS::SkipZeroSizes() {
|
||||
+ if (!mUsingCups) return;
|
||||
+ while (mCurrent < mCount
|
||||
+ && (mPPD->sizes[mCurrent].width == 0.0f ||
|
||||
+ mPPD->sizes[mCurrent].length == 0.0f)) {
|
||||
+ mCurrent++;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::Find(const char* aName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::Find ('%s') ", aName));
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Find(aName);
|
||||
+ for (int i = mCount; i--; ) {
|
||||
+ if (!PL_strcasecmp(aName, mPPD->sizes[i].name)) {
|
||||
+ DO_PR_DEBUG_LOG
|
||||
+ (("found paper '%s' (%gx%gmm)\n",
|
||||
+ aName,
|
||||
+ round(mPPD->sizes[i].width * MM_PER_PT),
|
||||
+ round(mPPD->sizes[i].length * MM_PER_PT)));
|
||||
+ mCurrent = i;
|
||||
+ return PR_TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ DO_PR_DEBUG_LOG(("did not find paper '%s'\n", aName));
|
||||
+ return PR_FALSE;
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::FindDefault() {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::FindDefault"));
|
||||
+ if (!mUsingCups) return nsPaperSizePS::FindDefault();
|
||||
+ mCups.mPpdMarkDefaults(mPPD);
|
||||
+ for (int i = mCount; i--; ) {
|
||||
+ if (mCups.mPpdIsMarked(mPPD, "PageSize", mPPD->sizes[i].name )) {
|
||||
+ DO_PR_DEBUG_LOG
|
||||
+ (("found default paper '%s' (%gx%gmm)\n",
|
||||
+ mPPD->sizes[i].name,
|
||||
+ round(mPPD->sizes[i].width * MM_PER_PT),
|
||||
+ round(mPPD->sizes[i].length * MM_PER_PT)));
|
||||
+ mCurrent = i;
|
||||
+ return PR_TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ mCurrent = 0;
|
||||
+ DO_PR_DEBUG_LOG(("no default paper found, therefore set the first\n"));
|
||||
+ return PR_TRUE;
|
||||
+}
|
||||
+
|
||||
+const char*
|
||||
+nsPaperSizeCUPS::Name() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Name();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return mPPD->sizes[mCurrent].name;
|
||||
+}
|
||||
+
|
||||
+float
|
||||
+nsPaperSizeCUPS::Width_mm() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Width_mm();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return round(mPPD->sizes[mCurrent].width * MM_PER_PT);
|
||||
+}
|
||||
+
|
||||
+float
|
||||
+nsPaperSizeCUPS::Height_mm() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Height_mm();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return round(mPPD->sizes[mCurrent].length * MM_PER_PT);
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::IsMetric() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::IsMetric();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ /* Educated guess: unless sizes are integral number */
|
||||
+ /* of half inches, present them to the user in metric. */
|
||||
+ return
|
||||
+ fabs(fmod(mPPD->sizes[mCurrent].width, HALF_INCH_PT)) > EPSILON ||
|
||||
+ fabs(fmod(mPPD->sizes[mCurrent].length, HALF_INCH_PT)) > EPSILON;
|
||||
+}
|
||||
--- gfx/src/psshared/nsPaperPS.h
|
||||
+++ gfx/src/psshared/nsPaperPS.h
|
||||
@@ -40,9 +40,9 @@
|
||||
@ -856,3 +676,214 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=324060
|
||||
}
|
||||
|
||||
PRBool hasSpoolerCmd = (nsPSPrinterList::kTypePS ==
|
||||
Index: gfx/src/psshared/nsPaperPS.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/gfx/src/psshared/nsPaperPS.cpp,v
|
||||
retrieving revision 1.1.20.1
|
||||
diff -u -p -6 -r1.1.20.1 nsPaperPS.cpp
|
||||
--- gfx/src/psshared/nsPaperPS.cpp 3 Dec 2006 17:59:29 -0000 1.1.20.1
|
||||
+++ gfx/src/psshared/nsPaperPS.cpp 31 Oct 2007 14:28:58 -0000
|
||||
@@ -19,12 +19,14 @@
|
||||
* The Initial Developer of the Original Code is
|
||||
* Kenneth Herron <kherron@newsguy.com>.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
+ * Arne John Glenstrup <panic@itu.dk>
|
||||
+ * Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
@@ -34,15 +36,32 @@
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
-
|
||||
+#ifdef MOZ_LOGGING
|
||||
+#define FORCE_PR_LOG 1 /* Allow logging in the release build */
|
||||
+#endif /* MOZ_LOGGING */
|
||||
+#include "prlog.h"
|
||||
+#include "prio.h"
|
||||
+
|
||||
#include "nsPaperPS.h"
|
||||
#include "plstr.h"
|
||||
+#include "nsPSPrinters.h"
|
||||
+#include <math.h>
|
||||
+
|
||||
+#ifdef PR_LOGGING
|
||||
+static PRLogModuleInfo *PaperSizePSLM = PR_NewLogModule("PaperSizePS");
|
||||
+#endif /* PR_LOGGING */
|
||||
+/* Macro to make lines shorter */
|
||||
+#define DO_PR_DEBUG_LOG(x) PR_LOG(PaperSizePSLM, PR_LOG_DEBUG, x)
|
||||
+
|
||||
+#define MM_PER_PT (25.4 / 72.0)
|
||||
+#define HALF_INCH_PT 36.0
|
||||
+#define EPSILON 0.125
|
||||
|
||||
#define COUNTOF(x) (sizeof(x) / sizeof((x)[0]))
|
||||
|
||||
const nsPaperSizePS_ nsPaperSizePS::mList[] =
|
||||
{
|
||||
#define SIZE_MM(x) (x)
|
||||
@@ -55,19 +74,153 @@ const nsPaperSizePS_ nsPaperSizePS::mLis
|
||||
{ "Tabloid", SIZE_INCH(11), SIZE_INCH(17), PR_FALSE },
|
||||
{ "Executive", SIZE_INCH(7.5), SIZE_INCH(10), PR_FALSE },
|
||||
#undef SIZE_INCH
|
||||
#undef SIZE_MM
|
||||
};
|
||||
|
||||
-const unsigned int nsPaperSizePS::mCount = COUNTOF(mList);
|
||||
+nsCUPSShim nsPaperSizeCUPS::mCups;
|
||||
+
|
||||
+/* ~nsIPaperSizePS() is virtual, so must implement a destructor. */
|
||||
+nsIPaperSizePS::~nsIPaperSizePS () { }
|
||||
+
|
||||
+nsPaperSizePS::nsPaperSizePS() {
|
||||
+ mCount = COUNTOF(mList);
|
||||
+ mCurrent = 0;
|
||||
+}
|
||||
|
||||
PRBool
|
||||
nsPaperSizePS::Find(const char *aName)
|
||||
{
|
||||
for (int i = mCount; i--; ) {
|
||||
if (!PL_strcasecmp(aName, mList[i].name)) {
|
||||
mCurrent = i;
|
||||
return PR_TRUE;
|
||||
}
|
||||
}
|
||||
return PR_FALSE;
|
||||
}
|
||||
+
|
||||
+nsPaperSizeCUPS::nsPaperSizeCUPS(const char* fullPrinterName,
|
||||
+ const char* printerName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS('%s', '%s')\n",
|
||||
+ fullPrinterName, printerName));
|
||||
+ /* Don't use CUPS before we are sure we have access to the PPD */
|
||||
+ mUsingCups = false;
|
||||
+ mPPD = nsnull;
|
||||
+ mCount = COUNTOF(mList);
|
||||
+ mCurrent = 0;
|
||||
+ if (!fullPrinterName || !printerName ||
|
||||
+ nsPSPrinterList::kTypeCUPS !=
|
||||
+ nsPSPrinterList::GetPrinterType(nsDependentCString(fullPrinterName)))
|
||||
+ return;
|
||||
+ if (!mCups.IsInitialized()) { mCups.Init(); }
|
||||
+ if (!mCups.IsInitialized()) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: CUPS unavailable\n"));
|
||||
+ return;
|
||||
+ }
|
||||
+ const char* ppdFileName = mCups.mCupsGetPPD(printerName);
|
||||
+ if (!ppdFileName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: "
|
||||
+ "cannot get PPD file name for printer '%s'\n",
|
||||
+ printerName));
|
||||
+ return;
|
||||
+ }
|
||||
+ mPPD = mCups.mPpdOpenFile(ppdFileName);
|
||||
+ // Remove the PPD file returned (it is a temporary file)
|
||||
+ // as soon as we've opened it
|
||||
+ if (ppdFileName) PR_Delete(ppdFileName);
|
||||
+
|
||||
+ if (!mPPD) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::nsPaperSizeCUPS: "
|
||||
+ "cannot open PPD file '%s'\n",
|
||||
+ ppdFileName));
|
||||
+ return;
|
||||
+ }
|
||||
+ mCount = mPPD->num_sizes;
|
||||
+ mUsingCups = true;
|
||||
+}
|
||||
+
|
||||
+nsPaperSizeCUPS::~nsPaperSizeCUPS() {
|
||||
+ if (mPPD) mCups.mPpdClose(mPPD);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+nsPaperSizeCUPS::SkipZeroSizes() {
|
||||
+ if (!mUsingCups) return;
|
||||
+ while (mCurrent < mCount
|
||||
+ && (mPPD->sizes[mCurrent].width == 0.0f ||
|
||||
+ mPPD->sizes[mCurrent].length == 0.0f)) {
|
||||
+ mCurrent++;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::Find(const char* aName) {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::Find ('%s') ", aName));
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Find(aName);
|
||||
+ for (int i = mCount; i--; ) {
|
||||
+ if (!PL_strcasecmp(aName, mPPD->sizes[i].name)) {
|
||||
+ DO_PR_DEBUG_LOG
|
||||
+ (("found paper '%s' (%gx%gmm)\n",
|
||||
+ aName,
|
||||
+ round(mPPD->sizes[i].width * MM_PER_PT),
|
||||
+ round(mPPD->sizes[i].length * MM_PER_PT)));
|
||||
+ mCurrent = i;
|
||||
+ return PR_TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ DO_PR_DEBUG_LOG(("did not find paper '%s'\n", aName));
|
||||
+ return PR_FALSE;
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::FindDefault() {
|
||||
+ DO_PR_DEBUG_LOG(("nsPaperSizeCUPS::FindDefault"));
|
||||
+ if (!mUsingCups) return nsPaperSizePS::FindDefault();
|
||||
+ mCups.mPpdMarkDefaults(mPPD);
|
||||
+ for (int i = mCount; i--; ) {
|
||||
+ if (mCups.mPpdIsMarked(mPPD, "PageSize", mPPD->sizes[i].name )) {
|
||||
+ DO_PR_DEBUG_LOG
|
||||
+ (("found default paper '%s' (%gx%gmm)\n",
|
||||
+ mPPD->sizes[i].name,
|
||||
+ round(mPPD->sizes[i].width * MM_PER_PT),
|
||||
+ round(mPPD->sizes[i].length * MM_PER_PT)));
|
||||
+ mCurrent = i;
|
||||
+ return PR_TRUE;
|
||||
+ }
|
||||
+ }
|
||||
+ mCurrent = 0;
|
||||
+ DO_PR_DEBUG_LOG(("no default paper found, therefore set the first\n"));
|
||||
+ return PR_TRUE;
|
||||
+}
|
||||
+
|
||||
+const char*
|
||||
+nsPaperSizeCUPS::Name() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Name();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return mPPD->sizes[mCurrent].name;
|
||||
+}
|
||||
+
|
||||
+float
|
||||
+nsPaperSizeCUPS::Width_mm() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Width_mm();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return round(mPPD->sizes[mCurrent].width * MM_PER_PT);
|
||||
+}
|
||||
+
|
||||
+float
|
||||
+nsPaperSizeCUPS::Height_mm() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::Height_mm();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ return round(mPPD->sizes[mCurrent].length * MM_PER_PT);
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
+nsPaperSizeCUPS::IsMetric() {
|
||||
+ if (!mUsingCups) return nsPaperSizePS::IsMetric();
|
||||
+ NS_PRECONDITION(!AtEnd(), "Invalid current item");
|
||||
+ /* Educated guess: unless sizes are integral number */
|
||||
+ /* of half inches, present them to the user in metric. */
|
||||
+ return
|
||||
+ fabs(fmod(mPPD->sizes[mCurrent].width, HALF_INCH_PT)) > EPSILON ||
|
||||
+ fabs(fmod(mPPD->sizes[mCurrent].length, HALF_INCH_PT)) > EPSILON;
|
||||
+}
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:af3ca4352febce1b0134c0d157c1aa15ce91f5c1239b0b4a11d8d850e2cb3b28
|
||||
size 10042542
|
3
l10n-2.0.0.17.tar.bz2
Normal file
3
l10n-2.0.0.17.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5e872e07339d7cb40f16c13fd560a2607b55948e1ab0dc72505be07a8b54c686
|
||||
size 10044071
|
109
mozilla-gcc4.3-fixes.patch
Normal file
109
mozilla-gcc4.3-fixes.patch
Normal file
@ -0,0 +1,109 @@
|
||||
References:
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=403675
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=386362
|
||||
|
||||
Index: modules/libpr0n/encoders/png/nsPNGEncoder.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/modules/libpr0n/encoders/png/nsPNGEncoder.h,v
|
||||
retrieving revision 1.1.18.1
|
||||
diff -u -p -6 -r1.1.18.1 nsPNGEncoder.h
|
||||
--- modules/libpr0n/encoders/png/nsPNGEncoder.h 20 May 2006 17:20:49 -0000 1.1.18.1
|
||||
+++ modules/libpr0n/encoders/png/nsPNGEncoder.h 13 Nov 2007 22:07:36 -0000
|
||||
@@ -35,14 +35,16 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "imgIEncoder.h"
|
||||
#ifdef MOZILLA_1_8_BRANCH
|
||||
#define imgIEncoder imgIEncoder_MOZILLA_1_8_BRANCH
|
||||
+#ifndef NS_DECL_IMGIENCODER
|
||||
#define NS_DECL_IMGIENCODER NS_DECL_IMGIENCODER_MOZILLA_1_8_BRANCH
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
#include <png.h>
|
||||
|
||||
#define NS_PNGENCODER_CID \
|
||||
{ /* 38d1592e-b81e-432b-86f8-471878bbfe07 */ \
|
||||
0x38d1592e, \
|
||||
@@ -60,12 +62,20 @@ public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_IMGIENCODER
|
||||
NS_DECL_NSIINPUTSTREAM
|
||||
|
||||
nsPNGEncoder();
|
||||
|
||||
+ NS_IMETHOD InitFromData(const PRUint8* aData,
|
||||
+ PRUint32 aLength, // (unused, req'd by JS)
|
||||
+ PRUint32 aWidth,
|
||||
+ PRUint32 aHeight,
|
||||
+ PRUint32 aStride,
|
||||
+ PRUint32 aInputFormat,
|
||||
+ const nsAString& aOutputOptions);
|
||||
+
|
||||
private:
|
||||
~nsPNGEncoder();
|
||||
|
||||
protected:
|
||||
void ConvertHostARGBRow(const PRUint8* aSrc, PRUint8* aDest,
|
||||
PRUint32 aPixelWidth, PRBool aUseTransparency);
|
||||
Index: modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h,v
|
||||
retrieving revision 1.1.14.1
|
||||
diff -u -p -6 -r1.1.14.1 nsJPEGEncoder.h
|
||||
--- modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h 20 May 2006 17:20:48 -0000 1.1.14.1
|
||||
+++ modules/libpr0n/encoders/jpeg/nsJPEGEncoder.h 13 Nov 2007 22:07:57 -0000
|
||||
@@ -36,14 +36,16 @@
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#include "imgIEncoder.h"
|
||||
#ifdef MOZILLA_1_8_BRANCH
|
||||
#define imgIEncoder imgIEncoder_MOZILLA_1_8_BRANCH
|
||||
+#ifndef NS_DECL_IMGIENCODER
|
||||
#define NS_DECL_IMGIENCODER NS_DECL_IMGIENCODER_MOZILLA_1_8_BRANCH
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
// needed for JPEG library
|
||||
#include <stdio.h>
|
||||
|
||||
extern "C" {
|
||||
#include "jpeglib.h"
|
||||
@@ -66,12 +68,20 @@ public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_IMGIENCODER
|
||||
NS_DECL_NSIINPUTSTREAM
|
||||
|
||||
nsJPEGEncoder();
|
||||
|
||||
+ NS_IMETHOD InitFromData(const PRUint8* aData,
|
||||
+ PRUint32 aLength, // (unused, req'd by JS)
|
||||
+ PRUint32 aWidth,
|
||||
+ PRUint32 aHeight,
|
||||
+ PRUint32 aStride,
|
||||
+ PRUint32 aInputFormat,
|
||||
+ const nsAString& aOutputOptions);
|
||||
+
|
||||
private:
|
||||
~nsJPEGEncoder();
|
||||
|
||||
protected:
|
||||
|
||||
void ConvertHostARGBRow(const PRUint8* aSrc, PRUint8* aDest,
|
||||
Index: modules/libpr0n/public/imgIEncoder.idl
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/modules/libpr0n/public/imgIEncoder.idl,v
|
||||
retrieving revision 1.1.10.3
|
||||
diff -u -p -r1.1.10.3 imgIEncoder.idl
|
||||
--- modules/libpr0n/public/imgIEncoder.idl 20 May 2006 17:20:49 -0000 1.1.10.3
|
||||
+++ modules/libpr0n/public/imgIEncoder.idl 14 Nov 2007 10:41:40 -0000
|
||||
@@ -96,6 +96,6 @@ interface nsIFile;
|
||||
[scriptable, uuid(CCC5B3AD-3E67-4e3d-97E1-B06B2E96FEF8)]
|
||||
interface imgIEncoder : nsISupports
|
||||
{
|
||||
- void encodeClipboardImage(in nsIClipboardImage aClipboardImage, out nsIFile aImageFile);
|
||||
+ /* void encodeClipboardImage(in nsIClipboardImage aClipboardImage, out nsIFile aImageFile); */
|
||||
};
|
||||
|
3
mozilla-system-hunspell.patch.bz2
Normal file
3
mozilla-system-hunspell.patch.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1e6d91c89720c42391c4d91a94d502d99c6c41199c444b5798a716b93d50a7b7
|
||||
size 23552
|
@ -46,16 +46,13 @@ MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin"
|
||||
# enigmail should honor env
|
||||
export ENIGMAIL_PASS_ENV=http_proxy
|
||||
|
||||
# AOSS
|
||||
AOSS=$(which aoss)
|
||||
|
||||
# ignore composite extension
|
||||
export XLIB_SKIP_ARGB_VISUALS=1
|
||||
|
||||
# Pango support
|
||||
if [ -z "$MOZ_ENABLE_PANGO" -a -z "$MOZ_DISABLE_PANGO" ]; then
|
||||
case "${LC_ALL-${LC_CTYPE-${LANG-en_US}}}" in
|
||||
bn*|gu*|hi*|km*|kn*|ml*|mr*|pa*|ta*|te*) # list of languages which need pango
|
||||
bn*|gu*|hi*|ja*|km*|kn*|ml*|mr*|pa*|ta*|te*) # list of languages which need pango
|
||||
;;
|
||||
*)
|
||||
export MOZ_DISABLE_PANGO=1 # disable by default
|
||||
@ -134,7 +131,7 @@ moz_pis_startstop_scripts()
|
||||
## Start addon scripts
|
||||
moz_pis_startstop_scripts "start"
|
||||
|
||||
$AOSS $MOZ_PROGRAM $@
|
||||
$MOZ_PROGRAM $@
|
||||
|
||||
## Stop addon scripts
|
||||
moz_pis_startstop_scripts "stop"
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b6ed2f4ae30e1a382d576475d567c1e23dcd25ba01fe35f7b02de2e5c9e2a280
|
||||
size 40580763
|
3
thunderbird-2.0.0.17-source.tar.bz2
Normal file
3
thunderbird-2.0.0.17-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a2a68c397d8893b554b92d07d414a78699d70341c2dc3cc36e5cce0cfad74898
|
||||
size 40603932
|
@ -1,22 +0,0 @@
|
||||
From: Wolfgang Rosenauer <stark@suse.de>
|
||||
Subject: disable visibility feature
|
||||
References:
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=83908
|
||||
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297
|
||||
|
||||
because of a gcc bug it's not possible to build with that
|
||||
feature at the moment
|
||||
|
||||
Index: configure
|
||||
===================================================================
|
||||
--- configure.orig
|
||||
+++ configure
|
||||
@@ -7949,7 +7949,7 @@ EOF
|
||||
if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
|
||||
if egrep '\.(hidden|extern_private).*foo_hidden' conftest.s >/dev/null; then
|
||||
if ! egrep '\.(hidden|extern_private).*foo_default' conftest.s > /dev/null; then
|
||||
- ac_cv_visibility_pragma=yes
|
||||
+ ac_cv_visibility_pragma=no
|
||||
fi
|
||||
fi
|
||||
fi
|
Loading…
Reference in New Issue
Block a user