forked from pool/MozillaThunderbird
update to thunderbird 5
OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=116
This commit is contained in:
parent
4bf1d83352
commit
9896e68dce
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jun 25 08:31:05 UTC 2011 - wr@rosenauer.org
|
||||
|
||||
- update to version 5.0
|
||||
- new enigmail cvs snapshot
|
||||
- improved logic for the launcher command
|
||||
- enable gio usage (instead of gnomevfs) for 11.4 and newer
|
||||
- build dump_syms dynamic to build on 12.1 and above
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 20 09:36:22 UTC 2011 - wr@rosenauer.org
|
||||
|
||||
|
@ -20,16 +20,14 @@
|
||||
|
||||
|
||||
Name: MozillaThunderbird
|
||||
BuildRequires: autoconf213 fdupes gcc-c++ hunspell-devel libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip update-desktop-files zip
|
||||
BuildRequires: autoconf213 fdupes gcc-c++ hunspell-devel libcurl-devel libgnomeui-devel libidl-devel libnotify-devel python startup-notification-devel unzip update-desktop-files Mesa-devel yasm zip
|
||||
BuildRequires: mozilla-nss-devel >= 3.12.8
|
||||
%if %suse_version > 1100
|
||||
BuildRequires: nss-shared-helper-devel
|
||||
%endif
|
||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||
%define mainversion 3.1.11
|
||||
%define mainversion 5.0
|
||||
Version: %{mainversion}
|
||||
Release: 1
|
||||
%define releasedate 2011061600
|
||||
%define releasedate 2011062400
|
||||
Provides: thunderbird = %{version}
|
||||
Summary: The Stand-Alone Mozilla Mail Component
|
||||
Url: http://www.mozilla.org/products/thunderbird/
|
||||
@ -43,27 +41,30 @@ Source4: l10n-%{version}.tar.bz2
|
||||
Source6: suse-default-prefs.js
|
||||
Source7: find-external-requires.sh
|
||||
Source8: MozillaThunderbird-rpmlintrc
|
||||
Source9: enigmail-1.1.2.tar.bz2
|
||||
Source9: enigmail-1.1.99.tar.bz2
|
||||
Source10: create-tar.sh
|
||||
Patch1: mozilla-dump_syms-static.patch
|
||||
Patch2: thunderbird-appname.patch
|
||||
Patch4: tb-ssldap.patch
|
||||
Patch5: tb-develdirs.patch
|
||||
Patch9: mozilla-shared-nss-db.patch
|
||||
Patch10: mozilla-gdk-pixbuf.patch
|
||||
Patch11: thunderbird-shared-nss-db.patch
|
||||
Patch13: mozilla-xsmp.patch
|
||||
Patch14: mozilla-gcc46.patch
|
||||
Source11: compare-locales.tar.bz2
|
||||
# Gecko/Toolkit
|
||||
Patch1: mozilla-shared-nss-db.patch
|
||||
Patch2: mozilla-cairo-lcd.patch
|
||||
Patch3: mozilla-language.patch
|
||||
Patch4: mozilla-gio.patch
|
||||
Patch5: mozilla-cairo-return.patch
|
||||
Patch6: mozilla-dump_syms-static.patch
|
||||
# Thunderbird/mail
|
||||
Patch10: tb-ssldap.patch
|
||||
Patch11: tb-develdirs.patch
|
||||
Patch12: thunderbird-shared-nss-db.patch
|
||||
Patch13: thunderbird-gio.patch
|
||||
#enigmail
|
||||
Patch20: enigmail-cz-CZ-fix.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: coreutils fileutils textutils /bin/sh
|
||||
### build options
|
||||
%define build_enigmail 1
|
||||
%define crashreporter 1
|
||||
%define has_system_cairo 0
|
||||
%if %suse_version > 1110
|
||||
%define has_system_cairo 1
|
||||
%endif
|
||||
%define localize 1
|
||||
%define localize 1
|
||||
### build options end
|
||||
%define _use_internal_dependency_generator 0
|
||||
%define __find_requires sh %{SOURCE7}
|
||||
@ -86,7 +87,7 @@ written using the XUL user interface language and designed to be
|
||||
cross-platform. It is a stand-alone application instead of part of the
|
||||
Mozilla application suite.
|
||||
|
||||
|
||||
%if %localize
|
||||
%package translations-common
|
||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||
Summary: Common translations for MozillaThunderbird
|
||||
@ -111,7 +112,7 @@ Obsoletes: %{name}-translations < %{version}-%{release}
|
||||
%description translations-other
|
||||
This package contains several optional languages for the user interface
|
||||
of MozillaThunderbird.
|
||||
|
||||
%endif
|
||||
|
||||
%package devel
|
||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||
@ -126,7 +127,6 @@ Software Development Kit to build plugins/extensions against Thunderbird.
|
||||
|
||||
|
||||
%if %crashreporter
|
||||
|
||||
%package buildsymbols
|
||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||
Summary: Breakpad buildsymbols for %{name}
|
||||
@ -138,9 +138,8 @@ symbols meant for upload to Mozilla's crash collector database.
|
||||
%endif
|
||||
|
||||
%if %build_enigmail
|
||||
|
||||
%package -n enigmail
|
||||
Version: 1.1.2
|
||||
Version: 1.1.99
|
||||
Release: 7
|
||||
License: MPLv1.1 or GPLv2+
|
||||
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
||||
@ -159,25 +158,35 @@ This package contains the Enigmail OpenPGP Addon for Thunderbird and SeaMonkey.
|
||||
|
||||
%prep
|
||||
%if %build_enigmail
|
||||
%setup -n thunderbird -q -b 4 -b 9
|
||||
%setup -n thunderbird -q -b 4 -b 11 -b 9
|
||||
%else
|
||||
%setup -n thunderbird -q -b 4
|
||||
%setup -n thunderbird -q -b 4 -b 11
|
||||
%endif
|
||||
# xulrunner patches
|
||||
pushd mozilla
|
||||
%patch1 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
popd
|
||||
# comm-central patches
|
||||
%patch2 -p1
|
||||
%patch4 -p1
|
||||
%patch5
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
pushd ../enigmail
|
||||
%patch20 -p1
|
||||
popd
|
||||
|
||||
%build
|
||||
# no need to add build time to binaries
|
||||
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
|
||||
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
|
||||
TIME="\"$(date -d "${modified}" "+%%R")\""
|
||||
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
|
||||
#
|
||||
export SUSE_ASNEEDED=0
|
||||
export MOZ_BUILD_DATE=%{releasedate}
|
||||
export MOZILLA_OFFICIAL=1
|
||||
@ -194,6 +203,7 @@ mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_MILESTONE_RELEASE=1
|
||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
|
||||
ac_add_options --enable-application=mail
|
||||
ac_add_options --prefix=%{_prefix}
|
||||
ac_add_options --libdir=%{progdir}
|
||||
@ -201,25 +211,26 @@ ac_add_options --includedir=%{_includedir}
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --disable-debug
|
||||
ac_add_options --enable-optimize
|
||||
ac_add_options --enable-static
|
||||
ac_add_options --disable-shared
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
ac_add_options --with-system-jpeg
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --with-l10n-base=../l10n
|
||||
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
|
||||
ac_add_options --disable-updater
|
||||
#ac_add_options --with-system-png # no apng support
|
||||
%if %suse_version > 1030
|
||||
ac_add_options --enable-system-hunspell
|
||||
%endif
|
||||
ac_add_options --enable-ldap-experimental
|
||||
ac_add_options --disable-installer
|
||||
ac_add_options --disable-mochitest
|
||||
ac_add_options --enable-startup-notification
|
||||
ac_add_options --enable-official-branding
|
||||
ac_add_options --disable-necko-wifi
|
||||
EOF
|
||||
%if %suse_version > 1130
|
||||
cat << EOF >> $MOZCONFIG
|
||||
ac_add_options --disable-gnomevfs
|
||||
ac_add_options --enable-gio
|
||||
EOF
|
||||
%endif
|
||||
%if %has_system_cairo
|
||||
cat << EOF >> $MOZCONFIG
|
||||
ac_add_options --enable-system-cairo
|
||||
@ -235,40 +246,55 @@ make -f client.mk build
|
||||
### enigmail build
|
||||
%if %build_enigmail
|
||||
cp -r $RPM_BUILD_DIR/enigmail $RPM_BUILD_DIR/thunderbird/mailnews/extensions/
|
||||
(cd $RPM_BUILD_DIR/thunderbird/mailnews/extensions/enigmail; ./makemake -r; make; make xpi)
|
||||
|
||||
pushd $RPM_BUILD_DIR/thunderbird/mailnews/extensions/enigmail
|
||||
./makemake -r -o '../../../../obj'
|
||||
popd
|
||||
pushd $RPM_BUILD_DIR/obj/mailnews/extensions/enigmail
|
||||
make MOZ_CHROME_FILE_FORMAT=jar
|
||||
make xpi
|
||||
popd
|
||||
%endif
|
||||
|
||||
%install
|
||||
cd ../obj
|
||||
make -C mail/installer STRIP=/bin/true
|
||||
# copy tree into RPM_BUILD_ROOT
|
||||
mkdir -p $RPM_BUILD_ROOT%{progdir}
|
||||
cp -rf $RPM_BUILD_DIR/thunderbird/mozilla/dist/thunderbird/* \
|
||||
cp -rf $RPM_BUILD_DIR/obj/mozilla/dist/thunderbird/* \
|
||||
$RPM_BUILD_ROOT%{progdir}
|
||||
# build additional locales
|
||||
%if %localize
|
||||
%if 0%{?SOURCE5:1}
|
||||
cp %SOURCE5 mail/locales/shipped-locales
|
||||
cp %SOURCE5 ../thunderbird/mail/locales/shipped-locales
|
||||
%endif
|
||||
rm -f %{_tmppath}/translations.*
|
||||
for locale in $(awk '{ print $1; }' mail/locales/shipped-locales); do
|
||||
touch %{_tmppath}/translations.{common,other}
|
||||
for locale in $(awk '{ print $1; }' ../thunderbird/mail/locales/all-locales); do
|
||||
case $locale in
|
||||
ja-JP-mac|en-US)
|
||||
ja-JP-mac|en-US|ta-LK)
|
||||
# locales not to be included in translations package
|
||||
;;
|
||||
*)
|
||||
make -C mail/locales libs-$locale || continue
|
||||
cp mozilla/dist/xpi-stage/locale-$locale/chrome/$locale.jar \
|
||||
$RPM_BUILD_ROOT%{progdir}/chrome
|
||||
cp mozilla/dist/xpi-stage/locale-$locale/chrome/$locale.manifest \
|
||||
$RPM_BUILD_ROOT%{progdir}/chrome
|
||||
pushd $RPM_BUILD_DIR/compare-locales
|
||||
PYTHONPATH=lib \
|
||||
scripts/compare-locales -m ../l10n-merged/$locale \
|
||||
../thunderbird/mail/locales/l10n.ini ../l10n $locale
|
||||
popd
|
||||
LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
|
||||
make -C mail/locales langpack-$locale || continue
|
||||
cp -r mozilla/dist/xpi-stage/locale-$locale \
|
||||
$RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@thunderbird.mozilla.org
|
||||
# remove prefs and profile defaults from langpack
|
||||
rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale@thunderbird.mozilla.org/defaults
|
||||
# check against the fixed common list and sort into the right filelist
|
||||
_matched=0
|
||||
for _match in ar ca cs da de en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
|
||||
[ "$_match" = "$locale" ] && _matched=1
|
||||
done
|
||||
[ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
|
||||
echo %{progdir}/chrome/$locale.jar >> %{_tmppath}/translations.$_l10ntarget
|
||||
echo %{progdir}/chrome/$locale.manifest >> %{_tmppath}/translations.$_l10ntarget
|
||||
echo %{progdir}/extensions/langpack-$locale@thunderbird.mozilla.org \
|
||||
>> %{_tmppath}/translations.$_l10ntarget
|
||||
esac
|
||||
done
|
||||
%endif
|
||||
@ -356,6 +382,7 @@ done
|
||||
# excluded files
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/thunderbird
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/removed-files
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/precomplete
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/updater
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini
|
||||
rm -f $RPM_BUILD_ROOT%{progdir}/update.locale
|
||||
@ -418,18 +445,13 @@ exit 0
|
||||
%dir %{progdir}
|
||||
%{progdir}/application.ini
|
||||
%{progdir}/blocklist.xml
|
||||
%{progdir}/res/
|
||||
%{progdir}/chrome.manifest
|
||||
%{progdir}/README.txt
|
||||
%{progdir}/libldap60.so
|
||||
%{progdir}/libprldap60.so
|
||||
%{progdir}/libssldap60.so
|
||||
%{progdir}/libldif60.so
|
||||
%{progdir}/libsqlite3.so
|
||||
%{progdir}/libmozjs.so
|
||||
%{progdir}/libxpcom_core.so
|
||||
%{progdir}/libxpcom.so
|
||||
%{progdir}/*.so
|
||||
%{progdir}/mozilla-xremote-client
|
||||
%{progdir}/omni.jar
|
||||
%{progdir}/platform.ini
|
||||
%{progdir}/plugin-container
|
||||
%{progdir}/run-mozilla.sh
|
||||
%{progdir}/thunderbird-bin
|
||||
# crashreporter files
|
||||
@ -439,28 +461,18 @@ exit 0
|
||||
%{progdir}/Throbber-small.gif
|
||||
%endif
|
||||
%{progdir}/components/
|
||||
%{progdir}/modules/
|
||||
%dir %{progdir}/chrome/
|
||||
%{progdir}/chrome/classic.*
|
||||
%{progdir}/chrome/comm.*
|
||||
%{progdir}/chrome/en-US.*
|
||||
%{progdir}/chrome/gloda.*
|
||||
%{progdir}/chrome/messenger.*
|
||||
%{progdir}/chrome/newsblog.*
|
||||
%{progdir}/chrome/pippki.*
|
||||
%{progdir}/chrome/toolkit.*
|
||||
%{progdir}/chrome/icons/
|
||||
%dir %{progdir}/dictionaries/
|
||||
%{progdir}/defaults/
|
||||
%{progdir}/greprefs/
|
||||
%{progdir}/extensions/
|
||||
%dir %{progdir}/extensions/
|
||||
%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
|
||||
%{progdir}/isp/
|
||||
%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||
%{_datadir}/icons/hicolor/*/apps/%{progname}.png
|
||||
%{_bindir}/%{progname}
|
||||
|
||||
%if %localize
|
||||
|
||||
%files translations-common -f %{_tmppath}/translations.common
|
||||
%defattr(-,root,root)
|
||||
|
||||
@ -471,7 +483,6 @@ exit 0
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/%{progname}/*.a
|
||||
%{_libdir}/%{progname}/regxpcom
|
||||
%{_libdir}/%{progname}/xpidl
|
||||
%{_libdir}/%{progname}/xpt_dump
|
||||
%{_libdir}/%{progname}/xpt_link
|
||||
@ -479,7 +490,6 @@ exit 0
|
||||
%{_includedir}/%{progname}/
|
||||
|
||||
%if %build_enigmail
|
||||
|
||||
%files -n enigmail
|
||||
%defattr(-,root,root)
|
||||
%dir %{_libdir}/mozilla
|
||||
@ -487,7 +497,6 @@ exit 0
|
||||
%endif
|
||||
|
||||
%if %crashreporter
|
||||
|
||||
%files buildsymbols
|
||||
%defattr(-,root,root)
|
||||
%{_datadir}/mozilla/
|
||||
|
3
compare-locales.tar.bz2
Normal file
3
compare-locales.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cd5366bf0c4db4c38f29f7230cac1fa6c8f539dd9fb830531a901bd065f3bf42
|
||||
size 25651
|
@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
BRANCH="releases/comm-1.9.2" # comm-central
|
||||
RELEASE_TAG="THUNDERBIRD_3_1_11_RELEASE"
|
||||
VERSION="3.1.11"
|
||||
BRANCH="releases/comm-miramar"
|
||||
RELEASE_TAG="THUNDERBIRD_5_0_RELEASE "
|
||||
VERSION="5.0"
|
||||
|
||||
echo "cloning $BRANCH..."
|
||||
hg clone http://hg.mozilla.org/$BRANCH thunderbird
|
||||
@ -12,7 +12,7 @@ hg update -r $RELEASE_TAG
|
||||
echo "running client.py..."
|
||||
[ "$RELEASE_TAG" == "default" ] || _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG"
|
||||
# temporary!
|
||||
_extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-1.9.2 $_extra"
|
||||
#_extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-miramar $_extra"
|
||||
python client.py checkout --skip-chatzilla --skip-venkman $_extra
|
||||
popd
|
||||
echo "creating archive..."
|
||||
@ -24,7 +24,7 @@ echo "fetching locales..."
|
||||
if [ -e shipped-locales ]; then
|
||||
SHIPPED_LOCALES=shipped-locales
|
||||
else
|
||||
SHIPPED_LOCALES=thunderbird/mail/locales/shipped-locales
|
||||
SHIPPED_LOCALES=thunderbird/mail/locales/all-locales
|
||||
fi
|
||||
test ! -d l10n && mkdir l10n
|
||||
for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do
|
||||
@ -33,7 +33,7 @@ for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do
|
||||
;;
|
||||
*)
|
||||
echo "fetching $locale ..."
|
||||
hg clone http://hg.mozilla.org/releases/l10n-mozilla-1.9.2/$locale l10n/$locale
|
||||
hg clone http://hg.mozilla.org/releases/l10n-miramar/$locale l10n/$locale
|
||||
hg -R l10n/$locale up -C -r $RELEASE_TAG
|
||||
;;
|
||||
esac
|
||||
@ -43,3 +43,8 @@ tar cjf l10n-$VERSION.tar.bz2 \
|
||||
--exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser --exclude=calendar \
|
||||
--exclude=suite \
|
||||
l10n
|
||||
|
||||
# compare-locales
|
||||
hg clone http://hg.mozilla.org/build/compare-locales
|
||||
tar cjf compare-locales.tar.bz2 --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:463878db781e019e6687350f2618d0a31331848f2e9aa45f359a4b700d22a82e
|
||||
size 891190
|
3
enigmail-1.1.99.tar.bz2
Normal file
3
enigmail-1.1.99.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:acd2bd3823d466d5aff03fe870747f858e255441e010e0f7a54a38d2e895dc55
|
||||
size 951495
|
68
enigmail-cz-CZ-fix.patch
Normal file
68
enigmail-cz-CZ-fix.patch
Normal file
@ -0,0 +1,68 @@
|
||||
---
|
||||
lang/cs-CZ/enigmail.dtd | 44 ++++++++++++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 42 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/lang/cs-CZ/enigmail.dtd
|
||||
+++ b/lang/cs-CZ/enigmail.dtd
|
||||
@@ -73,7 +73,7 @@
|
||||
<!ENTITY enigmail.doubleDashSeparator.label "'--' je oddělovač podpisu">
|
||||
<!ENTITY enigmail.useGpgAgent.label "Použít gpg-agenta pro heslo">
|
||||
<!ENTITY enigmail.noHushMailSupport.label "Použít '<' a '>' k určení e-mailové adresy">
|
||||
-<!ENTITY enigmail.keepSettingsForReply.tooltip "Pokud je to možné, šifrovat odpověď na zašifrovanou zprávu">
|
||||
+<!ENTITY enigmail.keepCryptoSettingsForReply.tooltip "Pokud je to možné, šifrovat odpověď na zašifrovanou zprávu">
|
||||
<!ENTITY enigmail.doubleDashSeparator.tooltip "Samotné dvě pomlčky na řádku označí blok s podpisem">
|
||||
<!ENTITY enigmail.useGpgAgent.tooltip "Použít gpg-agenta (součást GnuPG 2) pro všechny vstupy hesla">
|
||||
<!ENTITY enigmail.noHushMailSupport.tooltip "Použít '<' a '>' znaky pro určení e-mailové adresy pro GnuPG. Zakažte, pokud příjemce používá staré klíče Hushmail.">
|
||||
@@ -174,7 +174,7 @@
|
||||
<!ENTITY enigmail.defineRules.label "Upravit pravidla ...">
|
||||
<!ENTITY enigmail.defineRules.tooltip "Klepněte sem pro zobrazení, přidání, odstranění či úpravu pravidel pro výběr klíče.">
|
||||
<!ENTITY enigmail.usePGPMimeAlways.label "Vždy použít PGP/MIME">
|
||||
-<!ENTITY enigmail.keepSettingsForReply.label "Šifrovat odpovědi na zašifrované zprávy">
|
||||
+<!ENTITY enigmail.keepCryptoSettingsForReply.label "Šifrovat odpovědi na zašifrované zprávy">
|
||||
<!ENTITY enigmail.confirmBeforeSend.label "Před odesláním vždy potvrdit">
|
||||
<!ENTITY enigmail.confirmBeforeSend.tooltip "Aktivovat pro zobrazení informace o podpisu/šifrování zprávy před odesláním">
|
||||
<!ENTITY enigmail.wrapHtmlBeforeSend.label "Znovu zalomit podepsaný HTML text před odesláním">
|
||||
@@ -556,3 +556,43 @@
|
||||
<!ENTITY enigmail.setupWiz.pgNoStart.desc "Rozhodl/a jste se nepoužívat Průvodce pro konfiguraci OpenPGP.<html:br/><html:br/>Děkujeme za používání Enigmailu.">
|
||||
<!ENTITY enigmail.advancedIdentityDlg.title "Rozšířené nastavení OpenPGP pro identitu">
|
||||
<!ENTITY enigmail.amPrefPgp.sendKeyWithMsg.label "Připojit ke zprávě můj veřejný klíč">
|
||||
+<!ENTITY enigmail.msgViewColumn.label "OpenPGP">
|
||||
+<!ENTITY enigmail.msgViewColumn.tooltip "Seřadit podle stavu OpenGPG">
|
||||
+<!ENTITY enigmail.displayKeyProperties.label "Zobrazit vlastnosti klíče">
|
||||
+<!ENTITY enigmail.revealAttachmentsButton.label "Jména přiložených souborů jsou skryta. Stikněte tlačítko 'Odmaskovat' k zobrazení originálních jmen.">
|
||||
+<!ENTITY enigmail.ctxVerifyAtt.label "Ověřit podpis">
|
||||
+<!ENTITY enigmail.ctxVerifyAtt.accesskey "v">
|
||||
+<!ENTITY enigmail.keyMan.createMail.label "Napsat e-mail vybraným klíčům">
|
||||
+<!ENTITY enigmail.keyMan.createMail.accesskey "N">
|
||||
+<!ENTITY enigmail.keyMan.addToPRRule.label "Přidat pravidlo k jednotlivým příjemncům">
|
||||
+<!ENTITY enigmail.keyMan.addPhoto.label "Přidat fotku">
|
||||
+<!ENTITY enigmail.keyMan.addPhoto.accesskey "P">
|
||||
+
|
||||
+<!ENTITY enigmail.addPhoto.question.label "Opravdu si přejete přidat následující obrázek k následujícímu klíčí?">
|
||||
+<!ENTITY enigmail.addPhoto.title "Přidat fotku ke klíči">
|
||||
+<!ENTITY enigmail.addToRule.newRuleButton.accesskey "N">
|
||||
+<!ENTITY enigmail.addToRule.newRuleButton.label "Vytvořit nové pravidlo">
|
||||
+<!ENTITY enigmail.addToRule.title "Přidat klíč k jednotlivému pravidlu">
|
||||
+<!ENTITY enigmail.addToRule.useRuleButton.accesskey "A">
|
||||
+<!ENTITY enigmail.addToRule.useRuleButton.label "Přidat klíč k vybranému pravidlu">
|
||||
+<!ENTITY enigmail.encDlgIgnoreRules.accesskey "I">
|
||||
+<!ENTITY enigmail.encDlgIgnoreRules.label "Ignorovat jednotlivá pravidla">
|
||||
+<!ENTITY enigmail.keyMan.showInvalidKeys.accesskey "D">
|
||||
+<!ENTITY enigmail.keyMan.showInvalidKeys.label "Zobrazit nevalidní klíče">
|
||||
+<!ENTITY enigmail.keyMan.showOthersKeys.accesskey "O">
|
||||
+<!ENTITY enigmail.keyMan.showOthersKeys.label "Zobrazit klíče od ostatních osob">
|
||||
+<!ENTITY enigmail.keyMan.showUntrustedKeys.accesskey "U">
|
||||
+<!ENTITY enigmail.keyMan.showUntrustedKeys.label "Zobrazit nedůvěryhodné klíče">
|
||||
+<!ENTITY enigmail.photoViewer.title "OpenPGP -- zobrazení fotek">
|
||||
+<!ENTITY enigmail.setupWiz.pgKeyImport.desc "Pro import zadejte soubory obsahující veřejný a soukromý klíč.
|
||||
+ Kolonka pro soukromý klíč může zůstat prázdná v případě, že první soubor obsahuje
|
||||
+ oba klíče.">
|
||||
+<!ENTITY enigmail.setupWiz.pgKeyImport.pubkeyFile "Soubor s veřejným klíčem">
|
||||
+<!ENTITY enigmail.setupWiz.pgKeyImport.seckeyFile "Soubor se soukromým klíčem">
|
||||
+<!ENTITY enigmail.setupWiz.pgKeyImport.subtitle "Zadejte soubory k importu">
|
||||
+<!ENTITY enigmail.setupWiz.pgKeyImport.title "Importovat klíče OpenPGP">
|
||||
+<!ENTITY enigmail.setupWiz.pgNoKeyFound.desc "Nelze nalézt žádný OpenPGP klíč. Níže zvolte, zda chcete vytvořit nový pár klíčů,
|
||||
+ nebo zda chcete importovat již existující klíč.">
|
||||
+<!ENTITY enigmail.setupWiz.pgNoKeyFound.importKey "Mám existující klíče, které chci importovat">
|
||||
+<!ENTITY enigmail.setupWiz.pgNoKeyFound.subtitle "Nelze nalézt žádné OpenPGP klíče">
|
||||
+<!ENTITY enigmail.setupWiz.pgNoKeyFound.title "Žádný OpenPGP klíč nenalezen">
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c21aa265252f3f37cebb5b62c9262aa1ae097e25a90ef0c31111da1bfc7b77aa
|
||||
size 20472893
|
3
l10n-5.0.tar.bz2
Normal file
3
l10n-5.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:76980d781ca01d1ecfc396b2548f101569db7e4632a15d8aa9a9012b38b50470
|
||||
size 23978736
|
1333
mozilla-cairo-lcd.patch
Normal file
1333
mozilla-cairo-lcd.patch
Normal file
File diff suppressed because it is too large
Load Diff
21
mozilla-cairo-return.patch
Normal file
21
mozilla-cairo-return.patch
Normal file
@ -0,0 +1,21 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent e36e1a20cb5e1ba0e4bc3facac58029544d92e0a
|
||||
Bug 631155 - undefined return value in function '_cairo_surface_wrapper_flush'
|
||||
|
||||
diff --git a/gfx/cairo/cairo/src/cairo-surface-wrapper.c b/gfx/cairo/cairo/src/cairo-surface-wrapper.c
|
||||
--- a/gfx/cairo/cairo/src/cairo-surface-wrapper.c
|
||||
+++ b/gfx/cairo/cairo/src/cairo-surface-wrapper.c
|
||||
@@ -526,9 +526,12 @@ _cairo_surface_wrapper_fini (cairo_surfa
|
||||
}
|
||||
|
||||
cairo_status_t
|
||||
_cairo_surface_wrapper_flush (cairo_surface_wrapper_t *wrapper)
|
||||
{
|
||||
if (wrapper->target->backend->flush) {
|
||||
return wrapper->target->backend->flush(wrapper->target);
|
||||
}
|
||||
+
|
||||
+ // this is preliminary to cool down gcc and build checks
|
||||
+ return CAIRO_STATUS_SUCCESS;
|
||||
}
|
@ -1,105 +0,0 @@
|
||||
See the following bug reports;
|
||||
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=623116
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=623123
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=623126
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=628371
|
||||
|
||||
diff --git a/xpcom/base/nsDebugImpl.h b/xpcom/base/nsDebugImpl.h
|
||||
--- a/xpcom/base/nsDebugImpl.h
|
||||
+++ b/xpcom/base/nsDebugImpl.h
|
||||
@@ -40,6 +40,7 @@
|
||||
class nsDebugImpl : public nsIDebug2
|
||||
{
|
||||
public:
|
||||
+ nsDebugImpl() {}
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSIDEBUG
|
||||
NS_DECL_NSIDEBUG2
|
||||
diff --git a/xpcom/base/nsTraceRefcntImpl.h b/xpcom/base/nsTraceRefcntImpl.h
|
||||
--- a/xpcom/base/nsTraceRefcntImpl.h
|
||||
+++ b/xpcom/base/nsTraceRefcntImpl.h
|
||||
@@ -44,6 +44,7 @@
|
||||
class nsTraceRefcntImpl : public nsITraceRefcnt
|
||||
{
|
||||
public:
|
||||
+ nsTraceRefcntImpl() {}
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSITRACEREFCNT
|
||||
|
||||
diff --git a/xpcom/glue/nsEnumeratorUtils.cpp b/xpcom/glue/nsEnumeratorUtils.cpp
|
||||
--- a/xpcom/glue/nsEnumeratorUtils.cpp
|
||||
+++ b/xpcom/glue/nsEnumeratorUtils.cpp
|
||||
@@ -52,6 +52,7 @@ class EmptyEnumeratorImpl : public nsISi
|
||||
public nsIStringEnumerator
|
||||
{
|
||||
public:
|
||||
+ EmptyEnumeratorImpl() {}
|
||||
// nsISupports interface
|
||||
NS_DECL_ISUPPORTS_INHERITED // not really inherited, but no mRefCnt
|
||||
|
||||
diff --git a/xpcom/io/nsUnicharInputStream.h b/xpcom/io/nsUnicharInputStream.h
|
||||
--- a/xpcom/io/nsUnicharInputStream.h
|
||||
+++ b/xpcom/io/nsUnicharInputStream.h
|
||||
@@ -51,6 +51,7 @@ class nsSimpleUnicharStreamFactory :
|
||||
private nsISimpleUnicharStreamFactory
|
||||
{
|
||||
public:
|
||||
+ nsSimpleUnicharStreamFactory() {}
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIFACTORY
|
||||
NS_DECL_NSISIMPLEUNICHARSTREAMFACTORY
|
||||
diff --git a/intl/unicharutil/util/nsUnicharUtils.h b/intl/unicharutil/util/nsUnicharUtils.h
|
||||
--- a/intl/unicharutil/util/nsUnicharUtils.h
|
||||
+++ b/intl/unicharutil/util/nsUnicharUtils.h
|
||||
@@ -103,6 +103,7 @@ public:
|
||||
class nsCaseInsensitiveStringComparator : public nsStringComparator
|
||||
{
|
||||
public:
|
||||
+ nsCaseInsensitiveStringComparator() {}
|
||||
virtual int operator() (const PRUnichar*,
|
||||
const PRUnichar*,
|
||||
PRUint32 aLength) const;
|
||||
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
|
||||
--- a/toolkit/xre/nsAppRunner.cpp
|
||||
+++ b/toolkit/xre/nsAppRunner.cpp
|
||||
@@ -616,6 +616,7 @@ class nsXULAppInfo : public nsIXULAppInf
|
||||
|
||||
{
|
||||
public:
|
||||
+ nsXULAppInfo() {}
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIXULAPPINFO
|
||||
NS_DECL_NSIXULRUNTIME
|
||||
diff --git a/embedding/browser/gtk/src/EmbedPrivate.cpp b/embedding/browser/gtk/src/EmbedPrivate.cpp
|
||||
index 57fd9b1..0052ca7 100644
|
||||
--- a/embedding/browser/gtk/src/EmbedPrivate.cpp
|
||||
+++ b/embedding/browser/gtk/src/EmbedPrivate.cpp
|
||||
@@ -99,6 +99,7 @@ nsIDirectoryServiceProvider *EmbedPrivate::sAppFileLocProvider = nsnull;
|
||||
class GTKEmbedDirectoryProvider : public nsIDirectoryServiceProvider2
|
||||
{
|
||||
public:
|
||||
+ GTKEmbedDirectoryProvider() {}
|
||||
NS_DECL_ISUPPORTS_INHERITED
|
||||
NS_DECL_NSIDIRECTORYSERVICEPROVIDER
|
||||
NS_DECL_NSIDIRECTORYSERVICEPROVIDER2
|
||||
--- a/gfx/ots/src/os2.cc 2011-02-22 09:34:58.000000000 +0100
|
||||
+++ b/gfx/ots/src/os2.cc 2011-03-25 10:08:02.183485823 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "os2.h"
|
||||
|
||||
#include "head.h"
|
||||
+#include <stddef.h>
|
||||
|
||||
// OS/2 - OS/2 and Windows Metrics
|
||||
// http://www.microsoft.com/opentype/otspec/os2.htm
|
||||
--- a/toolkit/crashreporter/google-breakpad/src/common/linux/language.cc 2011-02-22 09:35:48.000000000 +0100
|
||||
+++ b/toolkit/crashreporter/google-breakpad/src/common/linux/language.cc 2011-03-25 10:33:34.367485573 +0100
|
||||
@@ -39,6 +39,7 @@
|
||||
// C++ language-specific operations.
|
||||
class CPPLanguage: public Language {
|
||||
public:
|
||||
+ CPPLanguage() {};
|
||||
string MakeQualifiedName(const string &parent_name,
|
||||
const string &name) const {
|
||||
if (parent_name.empty())
|
@ -1,31 +0,0 @@
|
||||
# HG changeset patch
|
||||
# Parent ca3a2bf92df09c5425fa1b2486366d40ed757fa1
|
||||
Fix compilation with Gnome > 2.30
|
||||
|
||||
diff --git a/toolkit/system/gnome/Makefile.in b/toolkit/system/gnome/Makefile.in
|
||||
--- a/toolkit/system/gnome/Makefile.in
|
||||
+++ b/toolkit/system/gnome/Makefile.in
|
||||
@@ -77,21 +77,23 @@ endif
|
||||
EXTRA_DSO_LDOPTS += \
|
||||
$(XPCOM_GLUE_LDOPTS) \
|
||||
$(XPCOM_FROZEN_LDOPTS) \
|
||||
$(NSPR_LIBS) \
|
||||
$(MOZ_GCONF_LIBS) \
|
||||
$(MOZ_GNOMEVFS_LIBS) \
|
||||
$(GLIB_LIBS) \
|
||||
$(MOZ_LIBNOTIFY_LIBS) \
|
||||
+ $(MOZ_GTK2_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/components/build/
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
|
||||
CXXFLAGS += \
|
||||
$(MOZ_GTK2_CFLAGS) \
|
||||
$(MOZ_GCONF_CFLAGS) \
|
||||
$(MOZ_GNOMEVFS_CFLAGS) \
|
||||
$(GLIB_CFLAGS) \
|
||||
$(MOZ_LIBNOTIFY_CFLAGS) \
|
||||
+ $(MOZ_GTK2_CFLAGS) \
|
||||
$(NULL)
|
284
mozilla-gio.patch
Normal file
284
mozilla-gio.patch
Normal file
@ -0,0 +1,284 @@
|
||||
# HG changeset patch
|
||||
# User Chris Coulson
|
||||
# Parent 0ebe30f9eacfe67fa0b699457e524d5a9c96359e
|
||||
Bug 611953 - GNOME 3.0 readiness (patch 2 + 3)
|
||||
|
||||
diff --git a/toolkit/system/gnome/nsGIOService.cpp b/toolkit/system/gnome/nsGIOService.cpp
|
||||
--- a/toolkit/system/gnome/nsGIOService.cpp
|
||||
+++ b/toolkit/system/gnome/nsGIOService.cpp
|
||||
@@ -101,25 +101,25 @@ nsGIOMimeApp::GetName(nsACString& aName)
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsGIOMimeApp::GetCommand(nsACString& aCommand)
|
||||
{
|
||||
get_commandline_t g_app_info_get_commandline_ptr;
|
||||
|
||||
- void *libHandle = dlopen("libgio-2.0.so", RTLD_LAZY);
|
||||
+ void *libHandle = dlopen("libgio-2.0.so.0", RTLD_LAZY);
|
||||
if (!libHandle) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
dlerror(); /* clear any existing error */
|
||||
g_app_info_get_commandline_ptr =
|
||||
(get_commandline_t) dlsym(libHandle, "g_app_info_get_commandline");
|
||||
- if (dlerror() != NULL) {
|
||||
- const char cmd = *g_app_info_get_commandline_ptr(mApp);
|
||||
+ if (dlerror() == NULL) {
|
||||
+ const char *cmd = g_app_info_get_commandline_ptr(mApp);
|
||||
if (!cmd) {
|
||||
dlclose(libHandle);
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
aCommand.Assign(cmd);
|
||||
}
|
||||
dlclose(libHandle);
|
||||
return NS_OK;
|
||||
@@ -277,16 +277,43 @@ nsGIOMimeApp::SetAsDefaultForFileExtensi
|
||||
} else {
|
||||
*ext_pos = '\0';
|
||||
}
|
||||
}
|
||||
g_free(extensions);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * Set default application for URI's of a particular scheme
|
||||
+ * @param aURIScheme string containing the URI scheme
|
||||
+ * @return NS_OK when application was set as default for URI scheme,
|
||||
+ * NS_ERROR_FAILURE otherwise
|
||||
+ */
|
||||
+NS_IMETHODIMP
|
||||
+nsGIOMimeApp::SetAsDefaultForURIScheme(nsACString const& aURIScheme)
|
||||
+{
|
||||
+ GError *error = NULL;
|
||||
+ nsCAutoString contentType("x-scheme-handler/");
|
||||
+ contentType.Append(aURIScheme);
|
||||
+
|
||||
+ g_app_info_set_as_default_for_type(mApp,
|
||||
+ contentType.get(),
|
||||
+ &error);
|
||||
+ if (error) {
|
||||
+ g_warning("Cannot set application as default for URI scheme (%s): %s",
|
||||
+ PromiseFlatCString(aURIScheme).get(),
|
||||
+ error->message);
|
||||
+ g_error_free(error);
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ return NS_OK;
|
||||
+}
|
||||
+
|
||||
nsresult
|
||||
nsGIOService::Init()
|
||||
{
|
||||
// do nothing, gvfs/gio does not init.
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsGIOService, nsIGIOService)
|
||||
@@ -317,29 +344,45 @@ nsGIOService::GetMimeTypeFromExtension(c
|
||||
g_free(mime_type);
|
||||
g_free(content_type);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
// used in nsGNOMERegistry
|
||||
// -----------------------------------------------------------------------------
|
||||
NS_IMETHODIMP
|
||||
+nsGIOService::GetAppForURIScheme(const nsACString& aURIScheme,
|
||||
+ nsIGIOMimeApp** aApp)
|
||||
+{
|
||||
+ *aApp = nsnull;
|
||||
+
|
||||
+ GAppInfo *app_info = g_app_info_get_default_for_uri_scheme(
|
||||
+ PromiseFlatCString(aURIScheme).get());
|
||||
+ if (app_info) {
|
||||
+ nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info);
|
||||
+ NS_ADDREF(*aApp = mozApp);
|
||||
+ } else {
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+ }
|
||||
+ return NS_OK;
|
||||
+}
|
||||
+
|
||||
+NS_IMETHODIMP
|
||||
nsGIOService::GetAppForMimeType(const nsACString& aMimeType,
|
||||
nsIGIOMimeApp** aApp)
|
||||
{
|
||||
*aApp = nsnull;
|
||||
char *content_type =
|
||||
get_content_type_from_mime_type(PromiseFlatCString(aMimeType).get());
|
||||
if (!content_type)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
GAppInfo *app_info = g_app_info_get_default_for_type(content_type, false);
|
||||
if (app_info) {
|
||||
nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info);
|
||||
- NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY);
|
||||
NS_ADDREF(*aApp = mozApp);
|
||||
} else {
|
||||
g_free(content_type);
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
g_free(content_type);
|
||||
return NS_OK;
|
||||
}
|
||||
@@ -414,75 +457,46 @@ nsGIOService::CreateAppFromCommand(nsACS
|
||||
nsIGIOMimeApp** appInfo)
|
||||
{
|
||||
GError *error = NULL;
|
||||
*appInfo = nsnull;
|
||||
|
||||
GAppInfo *app_info = NULL, *app_info_from_list = NULL;
|
||||
GList *apps = g_app_info_get_all();
|
||||
GList *apps_p = apps;
|
||||
- get_commandline_t g_app_info_get_commandline_ptr;
|
||||
-
|
||||
- void *libHandle = dlopen("libgio-2.0.so", RTLD_LAZY);
|
||||
- if (!libHandle) {
|
||||
- return NS_ERROR_FAILURE;
|
||||
- }
|
||||
- dlerror(); /* clear any existing error */
|
||||
- g_app_info_get_commandline_ptr =
|
||||
- (get_commandline_t) dlsym(libHandle, "g_app_info_get_commandline");
|
||||
- if (dlerror() != NULL) {
|
||||
- g_app_info_get_commandline_ptr = NULL;
|
||||
- }
|
||||
|
||||
// Try to find relevant and existing GAppInfo in all installed application
|
||||
+ // We do this by comparing each GAppInfo's executable with out own
|
||||
while (apps_p) {
|
||||
app_info_from_list = (GAppInfo*) apps_p->data;
|
||||
- /* This is a silly test. It just compares app names but not
|
||||
- * commands. This is due to old version of Glib/Gio. The required
|
||||
- * function which allows to do a regular check of existence of desktop file
|
||||
- * is possible by using function g_app_info_get_commandline. This function
|
||||
- * has been introduced in Glib 2.20. */
|
||||
- if (app_info_from_list && strcmp(g_app_info_get_name(app_info_from_list),
|
||||
- PromiseFlatCString(appName).get()) == 0 )
|
||||
- {
|
||||
- if (g_app_info_get_commandline_ptr)
|
||||
- {
|
||||
- /* Following test is only possible with Glib >= 2.20.
|
||||
- * Compare path only by using strncmp */
|
||||
- if (strncmp(g_app_info_get_commandline_ptr(app_info_from_list),
|
||||
- PromiseFlatCString(cmd).get(),
|
||||
- strlen(PromiseFlatCString(cmd).get())) == 0)
|
||||
- {
|
||||
- app_info = app_info_from_list;
|
||||
- break;
|
||||
- } else {
|
||||
- g_object_unref(app_info_from_list);
|
||||
- }
|
||||
- } else {
|
||||
+ if (!app_info) {
|
||||
+ // If the executable is not absolute, get it's full path
|
||||
+ char *executable = g_find_program_in_path(g_app_info_get_executable(app_info_from_list));
|
||||
+
|
||||
+ if (executable && strcmp(executable, PromiseFlatCString(cmd).get()) == 0) {
|
||||
+ g_object_ref (app_info_from_list);
|
||||
app_info = app_info_from_list;
|
||||
- break;
|
||||
}
|
||||
- } else {
|
||||
- g_object_unref(app_info_from_list);
|
||||
+ g_free(executable);
|
||||
}
|
||||
+
|
||||
+ g_object_unref(app_info_from_list);
|
||||
apps_p = apps_p->next;
|
||||
}
|
||||
g_list_free(apps);
|
||||
|
||||
if (!app_info) {
|
||||
app_info = g_app_info_create_from_commandline(PromiseFlatCString(cmd).get(),
|
||||
PromiseFlatCString(appName).get(),
|
||||
G_APP_INFO_CREATE_SUPPORTS_URIS,
|
||||
&error);
|
||||
}
|
||||
|
||||
if (!app_info) {
|
||||
g_warning("Cannot create application info from command: %s", error->message);
|
||||
g_error_free(error);
|
||||
- dlclose(libHandle);
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
nsGIOMimeApp *mozApp = new nsGIOMimeApp(app_info);
|
||||
NS_ENSURE_TRUE(mozApp, NS_ERROR_OUT_OF_MEMORY);
|
||||
NS_ADDREF(*appInfo = mozApp);
|
||||
- dlclose(libHandle);
|
||||
return NS_OK;
|
||||
}
|
||||
diff --git a/xpcom/system/nsIGIOService.idl b/xpcom/system/nsIGIOService.idl
|
||||
--- a/xpcom/system/nsIGIOService.idl
|
||||
+++ b/xpcom/system/nsIGIOService.idl
|
||||
@@ -39,17 +39,17 @@
|
||||
|
||||
#include "nsISupports.idl"
|
||||
|
||||
interface nsIUTF8StringEnumerator;
|
||||
interface nsIURI;
|
||||
|
||||
/* nsIGIOMimeApp holds information about an application that is looked up
|
||||
with nsIGIOService::GetAppForMimeType. */
|
||||
-// 66009894-9877-405b-9321-bf30420e34e6 prev uuid
|
||||
+// e77021b4-4012-407d-b686-7a1f18050109 prev uuid
|
||||
|
||||
[scriptable, uuid(e77021b4-4012-407d-b686-7a1f18050109)]
|
||||
interface nsIGIOMimeApp : nsISupports
|
||||
{
|
||||
const long EXPECTS_URIS = 0;
|
||||
const long EXPECTS_PATHS = 1;
|
||||
const long EXPECTS_URIS_FOR_NON_FILES = 2;
|
||||
|
||||
@@ -57,41 +57,45 @@ interface nsIGIOMimeApp : nsISupports
|
||||
readonly attribute AUTF8String name;
|
||||
readonly attribute AUTF8String command;
|
||||
readonly attribute long expectsURIs; // see constants above
|
||||
readonly attribute nsIUTF8StringEnumerator supportedURISchemes;
|
||||
|
||||
void launch(in AUTF8String uri);
|
||||
void setAsDefaultForMimeType(in AUTF8String mimeType);
|
||||
void setAsDefaultForFileExtensions(in AUTF8String extensions);
|
||||
+ void setAsDefaultForURIScheme(in AUTF8String uriScheme);
|
||||
};
|
||||
|
||||
/*
|
||||
* The VFS service makes use of two distinct registries.
|
||||
*
|
||||
* The application registry holds information about applications (uniquely
|
||||
* identified by id), such as which MIME types and URI schemes they are
|
||||
* capable of handling, whether they run in a terminal, etc.
|
||||
*
|
||||
* The MIME registry holds information about MIME types, such as which
|
||||
* extensions map to a given MIME type. The MIME registry also stores the
|
||||
* id of the application selected to handle each MIME type.
|
||||
*/
|
||||
|
||||
-// prev id dea20bf0-4e4d-48c5-b932-dc3e116dc64b
|
||||
-[scriptable, uuid(47e372c2-78bb-4899-8114-56aa7d9cdac5)]
|
||||
+// prev id 47e372c2-78bb-4899-8114-56aa7d9cdac5
|
||||
+[scriptable, uuid(74ca8791-330d-4786-9569-2a2a19f0b486)]
|
||||
interface nsIGIOService : nsISupports
|
||||
{
|
||||
|
||||
/*** MIME registry methods ***/
|
||||
|
||||
/* Obtain the MIME type registered for an extension. The extension
|
||||
should not include a leading dot. */
|
||||
AUTF8String getMimeTypeFromExtension(in AUTF8String extension);
|
||||
|
||||
+ /* Obtain the preferred application for opening a given URI scheme */
|
||||
+ nsIGIOMimeApp getAppForURIScheme(in AUTF8String aURIScheme);
|
||||
+
|
||||
/* Obtain the preferred application for opening a given MIME type */
|
||||
nsIGIOMimeApp getAppForMimeType(in AUTF8String mimeType);
|
||||
|
||||
/* Obtain the preferred application for opening a given MIME type */
|
||||
nsIGIOMimeApp createAppFromCommand(in AUTF8String cmd,
|
||||
in AUTF8String appName);
|
||||
|
||||
/* Obtain a description for the given MIME type */
|
48
mozilla-language.patch
Normal file
48
mozilla-language.patch
Normal file
@ -0,0 +1,48 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent db620d83124746201970dcf50c661957df979eca
|
||||
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
|
||||
|
||||
diff --git a/intl/locale/src/nsLocaleService.cpp b/intl/locale/src/nsLocaleService.cpp
|
||||
--- a/intl/locale/src/nsLocaleService.cpp
|
||||
+++ b/intl/locale/src/nsLocaleService.cpp
|
||||
@@ -181,16 +181,17 @@ nsLocaleService::nsLocaleService(void)
|
||||
}
|
||||
|
||||
|
||||
#ifdef MOZ_WIDGET_QT
|
||||
const char* lang = QLocale::system().name().toAscii();
|
||||
#else
|
||||
// Get system configuration
|
||||
const char* lang = getenv("LANG");
|
||||
+ const char* language = getenv("LANGUAGE");
|
||||
#endif
|
||||
|
||||
for( i = 0; i < LocaleListLength; i++ ) {
|
||||
nsresult result;
|
||||
// setlocale( , "") evaluates LC_* and LANG
|
||||
char* lc_temp = setlocale(posix_locale_category[i], "");
|
||||
CopyASCIItoUTF16(LocaleList[i], category);
|
||||
category_platform = category;
|
||||
@@ -206,16 +207,21 @@ nsLocaleService::nsLocaleService(void)
|
||||
else {
|
||||
CopyASCIItoUTF16(lang, platformLocale);
|
||||
result = posixConverter->GetXPLocale(lang, xpLocale);
|
||||
}
|
||||
}
|
||||
if (NS_FAILED(result)) {
|
||||
return;
|
||||
}
|
||||
+ // LANGUAGE is overriding LC_MESSAGES
|
||||
+ if (i == LC_MESSAGES && language && *language) {
|
||||
+ CopyASCIItoUTF16(language, platformLocale);
|
||||
+ result = posixConverter->GetXPLocale(language, xpLocale);
|
||||
+ }
|
||||
resultLocale->AddCategory(category, xpLocale);
|
||||
resultLocale->AddCategory(category_platform, platformLocale);
|
||||
}
|
||||
mSystemLocale = do_QueryInterface(resultLocale);
|
||||
mApplicationLocale = do_QueryInterface(resultLocale);
|
||||
} // if ( NS_SUCCEEDED )...
|
||||
|
||||
#endif // XP_UNIX
|
@ -1,13 +1,13 @@
|
||||
From: Hans Petter Jansson <hpj@copyleft.no>
|
||||
Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
Subject: use libnsssharedhelper if available at compile time
|
||||
(can be disabled by exporting MOZ_XRE_NO_NSSHELPER=1)
|
||||
(can be disabled by exporting MOZ_TB_NO_NSSHELPER=1)
|
||||
References:
|
||||
|
||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
--- a/config/autoconf.mk.in
|
||||
+++ b/config/autoconf.mk.in
|
||||
@@ -561,16 +561,20 @@ MOZ_ENABLE_LIBNOTIFY = @MOZ_ENABLE_LIBNO
|
||||
@@ -571,16 +571,20 @@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS
|
||||
|
||||
GLIB_CFLAGS = @GLIB_CFLAGS@
|
||||
GLIB_LIBS = @GLIB_LIBS@
|
||||
@ -22,30 +22,30 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
+
|
||||
MOZ_NATIVE_MAKEDEPEND = @SYSTEM_MAKEDEPEND@
|
||||
|
||||
export CL_INCLUDES_PREFIX = @CL_INCLUDES_PREFIX@
|
||||
|
||||
MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@
|
||||
COMPILER_DEPEND = @COMPILER_DEPEND@
|
||||
MDDEPDIR := @MDDEPDIR@
|
||||
|
||||
MOZ_DEMANGLE_SYMBOLS = @MOZ_DEMANGLE_SYMBOLS@
|
||||
|
||||
CC_WRAPPER = @CC_WRAPPER@
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -8016,16 +8016,32 @@ AC_SUBST(QCMS_LIBS)
|
||||
@@ -8610,16 +8610,31 @@ AC_SUBST(QCMS_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
dnl OTS
|
||||
dnl HarfBuzz
|
||||
dnl ========================================================
|
||||
MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)'
|
||||
AC_SUBST(MOZ_OTS_LIBS)
|
||||
MOZ_HARFBUZZ_LIBS='$(DEPTH)/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
|
||||
AC_SUBST(MOZ_HARFBUZZ_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for nss-shared-helper
|
||||
+dnl ========================================================
|
||||
+
|
||||
+ PKG_CHECK_MODULES(NSSHELPER, nss-shared-helper,
|
||||
+ [MOZ_ENABLE_NSSHELPER=1],
|
||||
+ [MOZ_ENABLE_NSSHELPER=])
|
||||
+ [MOZ_ENABLE_NSSHELPER=1],
|
||||
+ [MOZ_ENABLE_NSSHELPER=])
|
||||
+
|
||||
+if test "$MOZ_ENABLE_NSSHELPER"; then
|
||||
+ AC_DEFINE(MOZ_ENABLE_NSSHELPER)
|
||||
@ -54,21 +54,20 @@ diff --git a/configure.in b/configure.in
|
||||
+AC_SUBST(NSSHELPER_CFLAGS)
|
||||
+AC_SUBST(NSSHELPER_LIBS)
|
||||
+
|
||||
+
|
||||
+dnl ========================================================
|
||||
dnl OTS
|
||||
dnl ========================================================
|
||||
MOZ_OTS_LIBS='$(DEPTH)/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)'
|
||||
AC_SUBST(MOZ_OTS_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
dnl disable xul
|
||||
dnl ========================================================
|
||||
MOZ_ARG_DISABLE_BOOL(xul,
|
||||
[ --disable-xul Disable XUL],
|
||||
MOZ_XUL= )
|
||||
if test "$MOZ_XUL"; then
|
||||
AC_DEFINE(MOZ_XUL)
|
||||
else
|
||||
diff --git a/security/manager/ssl/src/Makefile.in b/security/manager/ssl/src/Makefile.in
|
||||
--- a/security/manager/ssl/src/Makefile.in
|
||||
+++ b/security/manager/ssl/src/Makefile.in
|
||||
@@ -133,19 +133,20 @@ REQUIRES = nspr \
|
||||
$(NULL)
|
||||
@@ -117,19 +117,20 @@ CSRCS += md4.c
|
||||
|
||||
|
||||
EXTRA_DEPS = $(NSS_DEP_LIBS)
|
||||
|
||||
@ -116,30 +115,34 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
||||
|
||||
#include "nsNetUtil.h"
|
||||
#include "nsAppDirectoryServiceDefs.h"
|
||||
@@ -1606,17 +1613,31 @@ nsNSSComponent::InitializeNSS(PRBool sho
|
||||
// The call to ConfigureInternalPKCS11Token needs to be done before NSS is initialized,
|
||||
// but affects only static data.
|
||||
// If we could assume i18n will not change between profiles, one call per application
|
||||
// run were sufficient. As I can't predict what happens in the future, let's repeat
|
||||
// this call for every re-init of NSS.
|
||||
|
||||
@@ -1658,18 +1665,34 @@ nsNSSComponent::InitializeNSS(PRBool sho
|
||||
ConfigureInternalPKCS11Token();
|
||||
|
||||
- SECStatus init_rv = ::NSS_InitReadWrite(profileStr.get());
|
||||
// The NSS_INIT_NOROOTINIT flag turns off the loading of the root certs
|
||||
// module by NSS_Initialize because we will load it in InstallLoadableRoots
|
||||
// later. It also allows us to work around a bug in the system NSS in
|
||||
// Ubuntu 8.04, which loads any nonexistent "<configdir>/libnssckbi.so" as
|
||||
// "/usr/lib/nss/libnssckbi.so".
|
||||
PRUint32 init_flags = NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE;
|
||||
- SECStatus init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
- SECMOD_DB, init_flags);
|
||||
+ SECStatus init_rv = SECFailure;
|
||||
+#ifdef MOZ_ENABLE_NSSHELPER
|
||||
+ if (PR_GetEnv("MOZ_TB_NO_NSSHELPER")) {
|
||||
+ init_rv = ::NSS_InitReadWrite(profileStr.get());
|
||||
+ if (PR_GetEnv("MOZ_XRE_NO_NSSHELPER")) {
|
||||
+ init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
+ SECMOD_DB, init_flags);
|
||||
+ } else {
|
||||
+ init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), 0);
|
||||
+ init_rv = ::nsshelp_open_db ("Thunderbird", profileStr.get(), init_flags);
|
||||
+
|
||||
+ if (init_rv != SECSuccess) {
|
||||
+ PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("can not init NSS using nsshelp_open_db in %s\n", profileStr.get()));
|
||||
+ init_rv = ::NSS_InitReadWrite(profileStr.get());
|
||||
+ init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
+ SECMOD_DB, init_flags);
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
+ init_rv = ::NSS_InitReadWrite(profileStr.get());
|
||||
+ init_rv = ::NSS_Initialize(profileStr.get(), "", "",
|
||||
+ SECMOD_DB, init_flags);
|
||||
+#endif
|
||||
|
||||
if (init_rv != SECSuccess) {
|
||||
@ -152,7 +155,7 @@ diff --git a/security/manager/ssl/src/nsNSSComponent.cpp b/security/manager/ssl/
|
||||
diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
||||
--- a/toolkit/library/Makefile.in
|
||||
+++ b/toolkit/library/Makefile.in
|
||||
@@ -189,17 +189,17 @@ else
|
||||
@@ -169,17 +169,17 @@ ifndef MOZ_ENABLE_LIBXUL
|
||||
EXTRA_DSO_LDOPTS += \
|
||||
$(MOZ_COMPONENT_LIBS) \
|
||||
$(MOZ_JS_LIBS) \
|
||||
@ -161,12 +164,12 @@ diff --git a/toolkit/library/Makefile.in b/toolkit/library/Makefile.in
|
||||
|
||||
DEFINES += -DIMPL_XREAPI
|
||||
|
||||
-EXTRA_DSO_LDOPTS += $(NSPR_LIBS)
|
||||
+EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(NSSHELPER_LIBS)
|
||||
-EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB)
|
||||
+EXTRA_DSO_LDOPTS += $(NSPR_LIBS) $(MOZALLOC_LIB) $(NSSHELPER_LIBS)
|
||||
|
||||
ifeq ($(MOZ_WIDGET_TOOLKIT),cocoa)
|
||||
CXXFLAGS += $(TK_CFLAGS)
|
||||
EXTRA_DSO_LDOPTS += \
|
||||
OS_LIBS += \
|
||||
-framework SystemConfiguration \
|
||||
-framework QuickTime \
|
||||
-framework IOKit \
|
||||
|
@ -1,192 +0,0 @@
|
||||
From: Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
Subject: XSMP restore doesn't work for Thunderbird
|
||||
References:
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=508986
|
||||
https://bugzilla.novell.com/show_bug.cgi?id=528406
|
||||
|
||||
diff --git a/toolkit/xre/nsNativeAppSupportUnix.cpp b/toolkit/xre/nsNativeAppSupportUnix.cpp
|
||||
--- a/toolkit/xre/nsNativeAppSupportUnix.cpp
|
||||
+++ b/toolkit/xre/nsNativeAppSupportUnix.cpp
|
||||
@@ -94,108 +94,52 @@ typedef enum {
|
||||
GNOME_DIALOG_NORMAL
|
||||
} GnomeDialogType;
|
||||
|
||||
typedef GnomeProgram * (*_gnome_program_init_fn)(const char *, const char *,
|
||||
const GnomeModuleInfo *, int,
|
||||
char **, const char *, ...);
|
||||
typedef const GnomeModuleInfo * (*_libgnomeui_module_info_get_fn)();
|
||||
typedef GnomeClient * (*_gnome_master_client_fn)(void);
|
||||
-typedef void (*GnomeInteractFunction)(GnomeClient *, gint, GnomeDialogType,
|
||||
- gpointer);
|
||||
-typedef void (*_gnome_client_request_interaction_fn)(GnomeClient *,
|
||||
- GnomeDialogType,
|
||||
- GnomeInteractFunction,
|
||||
- gpointer);
|
||||
-typedef void (*_gnome_interaction_key_return_fn)(gint, gboolean);
|
||||
typedef void (*_gnome_client_set_restart_command_fn)(GnomeClient*, gint, gchar*[]);
|
||||
|
||||
-static _gnome_client_request_interaction_fn gnome_client_request_interaction;
|
||||
-static _gnome_interaction_key_return_fn gnome_interaction_key_return;
|
||||
static _gnome_client_set_restart_command_fn gnome_client_set_restart_command;
|
||||
|
||||
-void interact_cb(GnomeClient *client, gint key,
|
||||
- GnomeDialogType type, gpointer data)
|
||||
-{
|
||||
- nsCOMPtr<nsIObserverService> obsServ =
|
||||
- do_GetService("@mozilla.org/observer-service;1");
|
||||
- nsCOMPtr<nsISupportsPRBool> cancelQuit =
|
||||
- do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID);
|
||||
-
|
||||
- cancelQuit->SetData(PR_FALSE);
|
||||
-
|
||||
- obsServ->NotifyObservers(cancelQuit, "quit-application-requested", nsnull);
|
||||
-
|
||||
- PRBool abortQuit;
|
||||
- cancelQuit->GetData(&abortQuit);
|
||||
-
|
||||
- gnome_interaction_key_return(key, abortQuit);
|
||||
-}
|
||||
-
|
||||
gboolean save_yourself_cb(GnomeClient *client, gint phase,
|
||||
GnomeSaveStyle style, gboolean shutdown,
|
||||
GnomeInteractStyle interact, gboolean fast,
|
||||
gpointer user_data)
|
||||
{
|
||||
- if (!shutdown)
|
||||
- return TRUE;
|
||||
-
|
||||
nsCOMPtr<nsIObserverService> obsServ =
|
||||
do_GetService("@mozilla.org/observer-service;1");
|
||||
|
||||
nsCOMPtr<nsISupportsPRBool> didSaveSession =
|
||||
do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID);
|
||||
|
||||
if (!obsServ || !didSaveSession)
|
||||
return TRUE; // OOM
|
||||
|
||||
+ // Notify observers to save the session state
|
||||
didSaveSession->SetData(PR_FALSE);
|
||||
obsServ->NotifyObservers(didSaveSession, "session-save", nsnull);
|
||||
|
||||
PRBool status;
|
||||
didSaveSession->GetData(&status);
|
||||
|
||||
- // Didn't save, or no way of saving. So signal for quit-application.
|
||||
- if (!status) {
|
||||
- if (interact == GNOME_INTERACT_ANY)
|
||||
- gnome_client_request_interaction(client, GNOME_DIALOG_NORMAL,
|
||||
- interact_cb, nsnull);
|
||||
- return TRUE;
|
||||
- }
|
||||
-
|
||||
- // Is there a request to suppress default binary launcher?
|
||||
- char* argv1 = getenv("MOZ_APP_LAUNCHER");
|
||||
+ // If there was no session saved and the save_yourself request is
|
||||
+ // caused by upcoming shutdown we like to prepare for it
|
||||
+ if (!status && shutdown) {
|
||||
+ nsCOMPtr<nsISupportsPRBool> cancelQuit =
|
||||
+ do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID);
|
||||
|
||||
- if(!argv1) {
|
||||
- // Tell GNOME the command for restarting us so that we can be part of XSMP session restore
|
||||
- NS_ASSERTION(gDirServiceProvider, "gDirServiceProvider is NULL! This shouldn't happen!");
|
||||
- nsCOMPtr<nsIFile> executablePath;
|
||||
- nsresult rv;
|
||||
+ cancelQuit->SetData(PR_FALSE);
|
||||
+ obsServ->NotifyObservers(cancelQuit, "quit-application-requested", nsnull);
|
||||
|
||||
- PRBool dummy;
|
||||
- rv = gDirServiceProvider->GetFile(XRE_EXECUTABLE_FILE, &dummy, getter_AddRefs(executablePath));
|
||||
-
|
||||
- if (NS_SUCCEEDED(rv)) {
|
||||
- nsCAutoString path;
|
||||
-
|
||||
- // Strip off the -bin suffix to get the shell script we should run; this is what Breakpad does
|
||||
- nsCAutoString leafName;
|
||||
- rv = executablePath->GetNativeLeafName(leafName);
|
||||
- if (NS_SUCCEEDED(rv) && StringEndsWith(leafName, NS_LITERAL_CSTRING("-bin"))) {
|
||||
- leafName.SetLength(leafName.Length() - strlen("-bin"));
|
||||
- executablePath->SetNativeLeafName(leafName);
|
||||
- }
|
||||
-
|
||||
- executablePath->GetNativePath(path);
|
||||
- argv1 = (char*)(path.get());
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- if(argv1) {
|
||||
- gnome_client_set_restart_command(client, 1, &argv1);
|
||||
+ PRBool abortQuit;
|
||||
+ cancelQuit->GetData(&abortQuit);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void die_cb(GnomeClient *client, gpointer user_data)
|
||||
{
|
||||
nsCOMPtr<nsIAppStartup> appService =
|
||||
@@ -446,29 +390,59 @@ nsNativeAppSupportUnix::Start(PRBool *aR
|
||||
}
|
||||
#endif
|
||||
|
||||
// Careful! These libraries cannot be unloaded after this point because
|
||||
// gnome_program_init causes atexit handlers to be registered. Strange
|
||||
// crashes will occur if these libraries are unloaded.
|
||||
|
||||
#ifdef MOZ_X11
|
||||
- gnome_client_request_interaction = (_gnome_client_request_interaction_fn)
|
||||
- PR_FindFunctionSymbol(gnomeuiLib, "gnome_client_request_interaction");
|
||||
- gnome_interaction_key_return = (_gnome_interaction_key_return_fn)
|
||||
- PR_FindFunctionSymbol(gnomeuiLib, "gnome_interaction_key_return");
|
||||
gnome_client_set_restart_command = (_gnome_client_set_restart_command_fn)
|
||||
PR_FindFunctionSymbol(gnomeuiLib, "gnome_client_set_restart_command");
|
||||
|
||||
_gnome_master_client_fn gnome_master_client = (_gnome_master_client_fn)
|
||||
PR_FindFunctionSymbol(gnomeuiLib, "gnome_master_client");
|
||||
|
||||
GnomeClient *client = gnome_master_client();
|
||||
g_signal_connect(client, "save-yourself", G_CALLBACK(save_yourself_cb), NULL);
|
||||
g_signal_connect(client, "die", G_CALLBACK(die_cb), NULL);
|
||||
+
|
||||
+ // Set the correct/requested restart command in any case.
|
||||
+
|
||||
+ // Is there a request to suppress default binary launcher?
|
||||
+ char* argv1 = getenv("MOZ_APP_LAUNCHER");
|
||||
+
|
||||
+ if(!argv1) {
|
||||
+ // Tell the desktop the command for restarting us so that we can be part of XSMP session restore
|
||||
+ NS_ASSERTION(gDirServiceProvider, "gDirServiceProvider is NULL! This shouldn't happen!");
|
||||
+ nsCOMPtr<nsIFile> executablePath;
|
||||
+ nsresult rv;
|
||||
+
|
||||
+ PRBool dummy;
|
||||
+ rv = gDirServiceProvider->GetFile(XRE_EXECUTABLE_FILE, &dummy, getter_AddRefs(executablePath));
|
||||
+
|
||||
+ if (NS_SUCCEEDED(rv)) {
|
||||
+ nsCAutoString path;
|
||||
+
|
||||
+ // Strip off the -bin suffix to get the shell script we should run; this is what Breakpad does
|
||||
+ nsCAutoString leafName;
|
||||
+ rv = executablePath->GetNativeLeafName(leafName);
|
||||
+ if (NS_SUCCEEDED(rv) && StringEndsWith(leafName, NS_LITERAL_CSTRING("-bin"))) {
|
||||
+ leafName.SetLength(leafName.Length() - strlen("-bin"));
|
||||
+ executablePath->SetNativeLeafName(leafName);
|
||||
+ }
|
||||
+
|
||||
+ executablePath->GetNativePath(path);
|
||||
+ argv1 = (char*)(path.get());
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (argv1) {
|
||||
+ gnome_client_set_restart_command(client, 1, &argv1);
|
||||
+ }
|
||||
#endif /* MOZ_X11 */
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsNativeAppSupportUnix::Stop(PRBool *aResult)
|
||||
{
|
@ -59,11 +59,20 @@ MOZ_DIST_LIB="%PROGDIR"
|
||||
MOZ_APPNAME="%APPNAME"
|
||||
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin"
|
||||
|
||||
export MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
|
||||
MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
|
||||
if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then
|
||||
[ -h "/usr/bin/$MOZ_APPNAME" ] && \
|
||||
_link=$(readlink -f "/usr/bin/$MOZ_APPNAME")
|
||||
if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then
|
||||
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
|
||||
fi
|
||||
else
|
||||
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
|
||||
fi
|
||||
|
||||
mozilla_lib=`file $MOZ_PROGRAM`
|
||||
LIB=lib
|
||||
echo $mozilla_lib | grep -q -E 'x86-64|s390x|ppc64' && LIB=lib64
|
||||
echo $mozilla_lib | grep -q -E 'x86-64|s390x|64-bit.PowerPC' && LIB=lib64
|
||||
|
||||
BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
|
||||
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
|
||||
|
@ -1,6 +1,12 @@
|
||||
--- config/autoconf.mk.in.orig 2009-02-11 20:12:19.000000000 +0100
|
||||
+++ config/autoconf.mk.in 2009-02-11 20:13:15.000000000 +0100
|
||||
@@ -60,11 +60,11 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
|
||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
--- a/config/autoconf.mk.in
|
||||
+++ b/config/autoconf.mk.in
|
||||
@@ -56,21 +56,21 @@ MOZ_APP_NAME = @MOZ_APP_NAME@
|
||||
MOZ_APP_DISPLAYNAME = @MOZ_APP_DISPLAYNAME@
|
||||
MOZ_APP_VERSION = @MOZ_APP_VERSION@
|
||||
|
||||
MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
@ -10,7 +16,12 @@
|
||||
datadir = @datadir@
|
||||
mandir = @mandir@
|
||||
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+idldir = @libdir@/$(MOZ_APP_NAME)3
|
||||
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)3
|
||||
|
||||
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
||||
|
||||
MOZDEPTH = $(DEPTH)/mozilla
|
||||
DIST = $(MOZDEPTH)/dist
|
||||
LIBXUL_SDK = @LIBXUL_SDK@
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
|
||||
--- a/mail/installer/package-manifest.in
|
||||
+++ b/mail/installer/package-manifest.in
|
||||
@@ -240,16 +240,17 @@
|
||||
@@ -268,16 +268,17 @@
|
||||
#ifdef XP_WIN32
|
||||
@BINPATH@/nsldap32v60@DLL_SUFFIX@
|
||||
@BINPATH@/nsldappr32v60@DLL_SUFFIX@
|
||||
@ -18,4 +18,4 @@ diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifes
|
||||
@BINPATH@/components/nsLoginInfo.js
|
||||
@BINPATH@/components/nsLoginManager.js
|
||||
@BINPATH@/components/nsLoginManagerPrompter.js
|
||||
@BINPATH@/components/storage-Legacy.js
|
||||
@BINPATH@/components/passwordmgr.manifest
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5a9985c450b6a2f5b8aa7ae137c9e2f2ad3c1b3a111a72b16127a9e015e675c3
|
||||
size 68643272
|
3
thunderbird-5.0-source.tar.bz2
Normal file
3
thunderbird-5.0-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b01aa9346ee270e10e84b40124bc5411122d94dbd08cd3ceb202bd736db22355
|
||||
size 86688765
|
@ -1,26 +0,0 @@
|
||||
diff --git a/mail/components/shell/nsMailGNOMEIntegration.cpp b/mail/components/shell/nsMailGNOMEIntegration.cpp
|
||||
--- a/mail/components/shell/nsMailGNOMEIntegration.cpp
|
||||
+++ b/mail/components/shell/nsMailGNOMEIntegration.cpp
|
||||
@@ -93,16 +93,22 @@ nsMailGNOMEIntegration::Init()
|
||||
rv = NS_GetSpecialDirectory(NS_XPCOM_CURRENT_PROCESS_DIR,
|
||||
getter_AddRefs(appPath));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = appPath->AppendNative(NS_LITERAL_CSTRING(MOZ_APP_NAME));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
rv = appPath->GetNativePath(mAppPath);
|
||||
+
|
||||
+ /* This path of thunderbird is hardcoded for the default path setting
|
||||
+ * And the above code is not used.
|
||||
+ */
|
||||
+ mAppPath.Assign ("/usr/bin/thunderbird");
|
||||
+
|
||||
return rv;
|
||||
}
|
||||
|
||||
NS_IMPL_ISUPPORTS1(nsMailGNOMEIntegration, nsIShellService)
|
||||
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsMailGNOMEIntegration::IsDefaultClient(PRBool aStartupCheck, PRUint16 aApps, PRBool * aIsDefaultClient)
|
254
thunderbird-gio.patch
Normal file
254
thunderbird-gio.patch
Normal file
@ -0,0 +1,254 @@
|
||||
Bug 624341 - Update check for default mailer to work the new way (glib >= 2.27.1)
|
||||
|
||||
diff --git a/mail/components/shell/nsMailGNOMEIntegration.cpp b/mail/components/shell/nsMailGNOMEIntegration.cpp
|
||||
--- a/mail/components/shell/nsMailGNOMEIntegration.cpp
|
||||
+++ b/mail/components/shell/nsMailGNOMEIntegration.cpp
|
||||
@@ -33,28 +33,30 @@
|
||||
* 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 ***** */
|
||||
|
||||
#include "nsMailGNOMEIntegration.h"
|
||||
#include "nsIGConfService.h"
|
||||
+#include "nsIGIOService.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsIServiceManager.h"
|
||||
#include "prenv.h"
|
||||
#include "nsIFile.h"
|
||||
#include "nsIStringBundle.h"
|
||||
#include "nsIPromptService.h"
|
||||
#include "nsIPrefService.h"
|
||||
#include "nsIPrefBranch.h"
|
||||
#include "nsDirectoryServiceDefs.h"
|
||||
#include "nsDirectoryServiceUtils.h"
|
||||
#include "nsEmbedCID.h"
|
||||
#include "nsMemory.h"
|
||||
+#include "nsIStringBundle.h"
|
||||
|
||||
#include <glib.h>
|
||||
#include <limits.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static const char* const sMailProtocols[] = {
|
||||
"mailto"
|
||||
};
|
||||
@@ -77,18 +79,19 @@ nsMailGNOMEIntegration::nsMailGNOMEInteg
|
||||
nsresult
|
||||
nsMailGNOMEIntegration::Init()
|
||||
{
|
||||
nsresult rv;
|
||||
|
||||
// GConf _must_ be available, or we do not allow CreateInstance to succeed.
|
||||
|
||||
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||
|
||||
- if (!gconf)
|
||||
+ if (!gconf && !giovfs)
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
|
||||
// Check G_BROKEN_FILENAMES. If it's set, then filenames in glib use
|
||||
// the locale encoding. If it's not set, they use UTF-8.
|
||||
mUseLocaleFilenames = PR_GetEnv("G_BROKEN_FILENAMES") != nsnull;
|
||||
|
||||
if (GetAppPathFromLauncher())
|
||||
return NS_OK;
|
||||
@@ -117,18 +120,18 @@ nsMailGNOMEIntegration::GetAppPathFromLa
|
||||
return PR_FALSE;
|
||||
|
||||
if (g_path_is_absolute(launcher)) {
|
||||
mAppPath = launcher;
|
||||
tmp = g_path_get_basename(launcher);
|
||||
gchar *fullpath = g_find_program_in_path(tmp);
|
||||
if (fullpath && mAppPath.Equals(fullpath)) {
|
||||
mAppIsInPath = PR_TRUE;
|
||||
- g_free(fullpath);
|
||||
}
|
||||
+ g_free(fullpath);
|
||||
} else {
|
||||
tmp = g_find_program_in_path(launcher);
|
||||
if (!tmp)
|
||||
return PR_FALSE;
|
||||
mAppPath = tmp;
|
||||
mAppIsInPath = PR_TRUE;
|
||||
}
|
||||
|
||||
@@ -210,66 +213,117 @@ nsMailGNOMEIntegration::KeyMatchesAppNam
|
||||
return PR_FALSE;
|
||||
|
||||
PRBool matches = mAppPath.Equals(commandPath);
|
||||
g_free(commandPath);
|
||||
return matches;
|
||||
}
|
||||
|
||||
PRBool
|
||||
+nsMailGNOMEIntegration::CheckHandlerMatchesAppName(const nsACString &handler) const
|
||||
+{
|
||||
+ gint argc;
|
||||
+ gchar **argv;
|
||||
+ nsCAutoString command(handler);
|
||||
+
|
||||
+ if (g_shell_parse_argv(command.get(), &argc, &argv, NULL)) {
|
||||
+ command.Assign(argv[0]);
|
||||
+ g_strfreev(argv);
|
||||
+ } else {
|
||||
+ return PR_FALSE;
|
||||
+ }
|
||||
+
|
||||
+ return KeyMatchesAppName(command.get());
|
||||
+}
|
||||
+
|
||||
+PRBool
|
||||
nsMailGNOMEIntegration::checkDefault(const char* const *aProtocols, unsigned int aLength)
|
||||
{
|
||||
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||
|
||||
PRBool enabled;
|
||||
nsCAutoString handler;
|
||||
+ nsresult rv;
|
||||
|
||||
for (unsigned int i = 0; i < aLength; ++i) {
|
||||
- handler.Truncate();
|
||||
- nsresult rv = gconf->GetAppForProtocol(nsDependentCString(aProtocols[i]),
|
||||
- &enabled, handler);
|
||||
- if (NS_SUCCEEDED(rv))
|
||||
- {
|
||||
- // The string will be something of the form: [/path/to/]app "%s"
|
||||
- // We want to remove all of the parameters and get just the binary name.
|
||||
+ if (gconf) {
|
||||
+ handler.Truncate();
|
||||
+ rv = gconf->GetAppForProtocol(nsDependentCString(aProtocols[i]),
|
||||
+ &enabled, handler);
|
||||
+ if (NS_SUCCEEDED(rv) && (!CheckHandlerMatchesAppName(handler) || !enabled)) {
|
||||
+ return PR_FALSE;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- gint argc;
|
||||
- gchar **argv;
|
||||
-
|
||||
- if (g_shell_parse_argv(handler.get(), &argc, &argv, NULL) && argc > 0) {
|
||||
- handler.Assign(argv[0]);
|
||||
- g_strfreev(argv);
|
||||
- } else
|
||||
+ if (giovfs) {
|
||||
+ handler.Truncate();
|
||||
+ nsCOMPtr<nsIGIOMimeApp> app;
|
||||
+ rv = giovfs->GetAppForURIScheme(nsDependentCString(aProtocols[i]),
|
||||
+ getter_AddRefs(app));
|
||||
+ if (NS_FAILED(rv) || !app) {
|
||||
return PR_FALSE;
|
||||
-
|
||||
- if (!KeyMatchesAppName(handler.get()) || !enabled)
|
||||
- return PR_FALSE; // the handler is disabled or set to another app
|
||||
+ }
|
||||
+ rv = app->GetCommand(handler);
|
||||
+ if (NS_SUCCEEDED(rv) && !CheckHandlerMatchesAppName(handler)) {
|
||||
+ return PR_FALSE;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
return PR_TRUE;
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsMailGNOMEIntegration::MakeDefault(const char* const *aProtocols,
|
||||
unsigned int aLength)
|
||||
{
|
||||
nsCAutoString appKeyValue;
|
||||
nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||
+ nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
|
||||
if(mAppIsInPath) {
|
||||
// mAppPath is in the users path, so use only the basename as the launcher
|
||||
gchar *tmp = g_path_get_basename(mAppPath.get());
|
||||
appKeyValue = tmp;
|
||||
g_free(tmp);
|
||||
} else {
|
||||
appKeyValue = mAppPath;
|
||||
}
|
||||
|
||||
appKeyValue.AppendLiteral(" %s");
|
||||
|
||||
- for (unsigned int i = 0; i < aLength; ++i) {
|
||||
- nsresult rv = gconf->SetAppForProtocol(nsDependentCString(aProtocols[i]),
|
||||
- appKeyValue);
|
||||
+ nsresult rv;
|
||||
+ if (gconf) {
|
||||
+ for (unsigned int i = 0; i < aLength; ++i) {
|
||||
+ rv = gconf->SetAppForProtocol(nsDependentCString(aProtocols[i]),
|
||||
+ appKeyValue);
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (giovfs) {
|
||||
+ nsCOMPtr<nsIStringBundleService> bundleService =
|
||||
+ do_GetService(NS_STRINGBUNDLE_CONTRACTID, &rv);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
+
|
||||
+ nsCOMPtr<nsIStringBundle> brandBundle;
|
||||
+ rv = bundleService->CreateBundle(BRAND_PROPERTIES, getter_AddRefs(brandBundle));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+
|
||||
+ nsString brandShortName;
|
||||
+ brandBundle->GetStringFromName(NS_LITERAL_STRING("brandShortName").get(),
|
||||
+ getter_Copies(brandShortName));
|
||||
+
|
||||
+ // use brandShortName as the application id.
|
||||
+ NS_ConvertUTF16toUTF8 id(brandShortName);
|
||||
+
|
||||
+ nsCOMPtr<nsIGIOMimeApp> app;
|
||||
+ rv = giovfs->CreateAppFromCommand(mAppPath, id, getter_AddRefs(app));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+
|
||||
+ for (unsigned int i = 0; i < aLength; ++i) {
|
||||
+ rv = app->SetAsDefaultForURIScheme(nsDependentCString(aProtocols[i]));
|
||||
+ NS_ENSURE_SUCCESS(rv, rv);
|
||||
+ }
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
diff --git a/mail/components/shell/nsMailGNOMEIntegration.h b/mail/components/shell/nsMailGNOMEIntegration.h
|
||||
--- a/mail/components/shell/nsMailGNOMEIntegration.h
|
||||
+++ b/mail/components/shell/nsMailGNOMEIntegration.h
|
||||
@@ -37,16 +37,18 @@
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
#ifndef nsMailGNOMEIntegration_h_
|
||||
#define nsMailGNOMEIntegration_h_
|
||||
|
||||
#include "nsIShellService.h"
|
||||
#include "nsStringGlue.h"
|
||||
|
||||
+#define BRAND_PROPERTIES "chrome://branding/locale/brand.properties"
|
||||
+
|
||||
#define NS_MAILGNOMEINTEGRATION_CID \
|
||||
{0xbddef0f4, 0x5e2d, 0x4846, {0xbd, 0xec, 0x86, 0xd0, 0x78, 0x1d, 0x8d, 0xed}}
|
||||
|
||||
class nsMailGNOMEIntegration : public nsIShellService
|
||||
{
|
||||
public:
|
||||
NS_DECL_ISUPPORTS
|
||||
NS_DECL_NSISHELLSERVICE
|
||||
@@ -57,15 +59,16 @@ public:
|
||||
protected:
|
||||
virtual ~nsMailGNOMEIntegration() {};
|
||||
|
||||
PRBool KeyMatchesAppName(const char *aKeyValue) const;
|
||||
PRBool checkDefault(const char* const *aProtocols, unsigned int aLength);
|
||||
nsresult MakeDefault(const char* const *aProtocols, unsigned int aLength);
|
||||
private:
|
||||
PRBool GetAppPathFromLauncher();
|
||||
+ PRBool CheckHandlerMatchesAppName(const nsACString& handler) const;
|
||||
PRPackedBool mUseLocaleFilenames;
|
||||
PRPackedBool mCheckedThisSession;
|
||||
nsCString mAppPath;
|
||||
PRPackedBool mAppIsInPath;
|
||||
};
|
||||
|
||||
#endif
|
@ -7,7 +7,7 @@ References:
|
||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
--- a/config/autoconf.mk.in
|
||||
+++ b/config/autoconf.mk.in
|
||||
@@ -470,16 +470,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB
|
||||
@@ -459,16 +459,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB
|
||||
XT_LIBS = @XT_LIBS@
|
||||
|
||||
MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
|
||||
@ -25,19 +25,19 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
MOZ_AUTO_DEPS = @MOZ_AUTO_DEPS@
|
||||
COMPILER_DEPEND = @COMPILER_DEPEND@
|
||||
MDDEPDIR := @MDDEPDIR@
|
||||
|
||||
MOZ_DEMANGLE_SYMBOLS = @MOZ_DEMANGLE_SYMBOLS@
|
||||
CC_WRAPPER = @CC_WRAPPER@
|
||||
CXX_WRAPPER = @CXX_WRAPPER@
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -6999,16 +6999,31 @@ AC_SUBST(QCMS_LIBS)
|
||||
@@ -6796,16 +6796,31 @@ AC_SUBST(QCMS_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
dnl OTS
|
||||
dnl HarfBuzz
|
||||
dnl ========================================================
|
||||
MOZ_OTS_LIBS='$(DEPTH)/mozilla/gfx/ots/src/$(LIB_PREFIX)mozots.$(LIB_SUFFIX)'
|
||||
AC_SUBST(MOZ_OTS_LIBS)
|
||||
MOZ_HARFBUZZ_LIBS='$(DEPTH)/mozilla/gfx/harfbuzz/src/$(LIB_PREFIX)mozharfbuzz.$(LIB_SUFFIX)'
|
||||
AC_SUBST(MOZ_HARFBUZZ_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
+dnl Check for nss-shared-helper
|
||||
@ -66,21 +66,21 @@ diff --git a/configure.in b/configure.in
|
||||
diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in
|
||||
--- a/mail/app/Makefile.in
|
||||
+++ b/mail/app/Makefile.in
|
||||
@@ -127,16 +127,17 @@ APP_XPCOM_LIBS = $(XPCOM_LIBS)
|
||||
@@ -124,16 +124,17 @@ MOZILLA_INTERNAL_API = 1
|
||||
APP_XPCOM_LIBS = $(XPCOM_LIBS)
|
||||
endif
|
||||
|
||||
LIBS += \
|
||||
$(STATIC_COMPONENTS_LINKER_PATH) \
|
||||
$(MOZ_JS_LIBS) \
|
||||
$(EXTRA_DSO_LIBS) \
|
||||
$(APP_XPCOM_LIBS) \
|
||||
$(NSPR_LIBS) \
|
||||
+ $(NSSHELPER_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
ifdef BUILD_STATIC_LIBS
|
||||
LIBS += \
|
||||
$(MOZ_JS_LIBS) \
|
||||
$(TK_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
# Add explicit X11 dependency when building against X11 toolkits
|
||||
ifneq (,$(filter gtk gtk2 xlib,$(MOZ_WIDGET_TOOLKIT)))
|
||||
LIBS += $(XLDFLAGS) $(XLIBS)
|
||||
endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user