Come purtroppo sappiamo già, l'unica soluzione a questo problema consiste nel ricompilare Thunderbird dopo aver installato le versioni patchate di Freetype, Fontconfig, LibXft e Cairo; bisogna ricordare poi che, anche in questo caso, è proibito redistribuire, con il nome Thunderbird (opzione --enable-official-branding), i binari precompilati in proprio.
Chi avesse il problema dei font inguardabili su Thunderbird 3.x, può risolvere allora in modo abbastanza semplice.
Innanzi tutto, preleviamo tutto il necessario da un qualunque repository per Slackware a 64 bit; infatti, non esistono binari precompilati a 64 bit per Firefox e Thunderbird, per cui nei repository Slackware vengono forniti i necessari SlackBuid che funzionano in automatico, sia per i 32 bit, sia per i 64 bit.
Possiamo prendere, ad esempio, l'intero contenuto della directory mozilla-thunderbird da:
ftp://ftp.heanet.ie/mirrors/ftp.slackwa ... ource/xap/
Salviamo tutto in una nostra directory dove dobbiamo aggiungere anche i sorgenti (tar.bz2) di Thunderbird 3:
http://releases.mozilla.org/pub/mozilla ... .0/source/
e il file (cliccare su bz2) per la localizzazione in italiano (è lo stesso di Firefox 3.x):
http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/it/
Per avere la localizzazione in italiano, bisogna modificare leggermente lo SlackBuild in questo modo:
Codice: Seleziona tutto
#!/bin/sh
# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Thanks to the folks at the Mozilla Foundation for permission to
# distribute this, and for all the great work! :-)
# This is a source build script. Unfortunately, there is no official
# binary tarball available for x86_64
#thunderbird source
# thunderbird language
# http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/lt/rev/66029a6acff4
#set -e
LOCTAG=it
LOCNAME=it-7a8bf17872ac
LOCFILE=it-7a8bf17872ac.tar.bz2
VERSION=$(basename $(ls thunderbird-*.tar.bz2 | cut -d - -f 2 | rev | cut -f 3- -d . | rev) .source)
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
BUILD=${BUILD:-1}
MOZVERS=${MOZVERS:-1.9.1}
NUMJOBS=${NUMJOBS:-" -j2 "}
# Try to be gentle to the compiler, no optimizations:
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "arm" ]; then
SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "armel" ]; then
SLKCFLAGS="-O2 -march=armv4t"
LIBDIRSUFFIX=""
fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-mozilla-thunderbird
rm -rf $PKG
mkdir -p $TMP $PKG/usr/lib${LIBDIRSUFFIX}
cd $TMP
rm -rf comm-$MOZVERS
tar xvf $CWD/thunderbird-$VERSION.source.tar.bz2 || exit 1
cd comm-$MOZVERS || exit 1
mkdir l10n
cd l10n
tar xvf $CWD/$LOCFILE
mv $LOCNAME $LOCTAG
cd ..
# Fix a long standing bug that's prevented staying current on GTK+.
# Thanks to the BLFS folks. :-)
cat << EOF >> layout/build/Makefile.in
ifdef MOZ_ENABLE_CANVAS
EXTRA_DSO_LDOPTS += \$(XLDFLAGS) -lX11 -lXrender
endif
EOF
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
export MOZILLA_OFFICIAL="1" &&
export BUILD_OFFICIAL="1" &&
export MOZ_PHOENIX="1" &&
export CFLAGS="$SLKCFLAGS" &&
export CXXFLAGS="$SLKCFLAGS" &&
./configure \
--enable-official-branding \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-default-mozilla-five-home=/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION \
--with-system-zlib \
--with-l10n-base=$TMP/comm-$MOZVERS/l10n \
--enable-application=mail \
--enable-default-toolkit=cairo-gtk2 \
--enable-crypto \
--enable-svg \
--enable-canvas \
--enable-xft \
--enable-xinerama \
--enable-optimize \
--enable-reorder \
--enable-static \
--enable-strip \
--enable-system-cairo \
--enable-cpp-rtti \
--enable-single-profile \
--enable-ui-locale=it \
--disable-ldap \
--disable-accessibility \
--disable-debug \
--disable-tests \
--disable-logging \
--disable-pedantic \
--disable-installer \
--disable-profilesharing
# Complains about missing APNG support in Slackware's libpng:
#--with-system-png \
#make -f client.mk build MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
make MOZ_MAKE_FLAGS="$NUMJOBS" || exit 1
make install DESTDIR=$PKG || exit 1
# We don't need these (just symlinks anyway):
rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-devel-$VERSION
# Nor these:
rm -rf $PKG/usr/include
( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
cp -a defaults/profile/mimeTypes.rdf defaults/profile/mimeTypes.rdf.orig
zcat $CWD/mimeTypes.rdf > defaults/profile/mimeTypes.rdf || exit 1
) || exit 1
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
mkdir -p $PKG/usr/share/applications
cat $CWD/mozilla-thunderbird.desktop > $PKG/usr/share/applications/mozilla-thunderbird.desktop
mkdir -p $PKG/usr/share/pixmaps
cat $CWD/thunderbird.png > $PKG/usr/share/pixmaps/thunderbird.png
# These files/directories are usually created if Firefox is run as root,
# which on many systems might (and possibly should) be never. Therefore, if we
# don't see them we'll put stubs in place to prevent startup errors.
( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
if [ -d extensions/talkback\@mozilla.org ]; then
if [ ! -r extensions/talkback\@mozilla.org/chrome.manifest ]; then
echo > extensions/talkback\@mozilla.org/chrome.manifest
fi
fi
if [ ! -d updates ]; then
mkdir -p updates/0
fi
)
# Need some default icons in the right place:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default
install -m 644 other-licenses/branding/thunderbird/default16.png \
$PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/icons/
install -m 644 other-licenses/branding/thunderbird/default16.png \
$PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/chrome/icons/default/
( cd $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION
install -m 644 icons/{default,mozicon50}.xpm chrome/icons/default/
)
# Copy over the LICENSE
install -p -c -m 644 LICENSE $PKG/usr/lib${LIBDIRSUFFIX}/thunderbird-$VERSION/
mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/mozilla-thunderbird-$VERSION-$ARCH-$BUILD.txz
Da notare che nello SlackBuild di Pat rimangono alcune righe che sembrano riferite al vecchio Thunderbird 2.x e non servono più con Thunderbird 3.x; in ogni caso, basta commentare l'opzione set -e e la compilazione va a buon fine lo stesso.




