La prima cosa da fare allora consiste nel prelevare da http://www.vcn.bc.ca/~dugan/slackware-fonts/ i sorgenti e gli SlackBuild dei package da aggiornare (freetype, fontconfig, libXft e cairo); fortunatamente, le versioni presenti sul sito di Dugan Chen sono identiche a quelle usate da Pat sulla 13.
Dopo la compilazione, si ottengono i package in formato TGZ; per convertirli in TXZ basta prelevare lo script tgz2txz da http://michielvwessem.wordpress.com/200 ... t-tgz2txz/
Credo comunque che si possa evitare questo passaggio togliendo tgz nei vecchi SlackBuild e sostituendolo con txz; su questo argomento, chiedete ai pacchettizzatori .
Siccome si stratta di ricompilare da sorgenti, è necessario seguire un ordine rigoroso (compilazione - installazione) a causa del fatto che: fontconfig dipende da freetype, mentre libXft e cairo dipendono da fontconfig.
Quindi, una volta che si ha tutto il materiale a disposizione, bisogna uscire in modalità testo e disinstallare i vari package in questo ordine rigoroso:
1) cairo
2) libXft
3) fontconfig
4) freetype
Ora inizia la fase di ricompilazione - installazione, sempre in ordine rigoroso.
1) Ricompiliamo freetype, convertiamo poi il TGZ in TXZ e installiamolo (tutti i TGZ vengono creati in /tmp).
2) Ricompiliamo fontconfig, convertiamo poi il TGZ in TXZ e installiamolo.
3) Ricompiliamo libXft, convertiamo poi il TGZ in TXZ e installiamolo.
4) Ricompiliamo cairo, convertiamo poi il TGZ in TXZ e installiamolo.
A questo punto il più è fatto.
Eventualmente, installiamo i font di Windows e aggiorniamo la font-cache ricordandoci prima di inserire i nuovi percorsi in /etc/X11/xorg.conf e /etc/fonts/fonts.conf (tenete presente che l'installazione di fontconfig elimina eventuali precedenti configurazioni fatte da noi).
Ad esempio, supponendo di aver messo i font di 98/XP in /usr/share/fonts/WinTTF e i font di Vista in /usr/share/fonts/VistaTTF, possiamo aggiornare la cache con i comandi:
Codice: Seleziona tutto
mkfontscale /usr/share/fonts/WinTTF/
mkfontscale /usr/share/fonts/VistaTTF
mkfontdir /usr/share/fonts/WinTTF/
mkfontdir /usr/share/fonts/VistaTTF/
fc-cache -f -v
Riavviando ora KDE4 dovremmo raccogliere i frutti di tutto questo lavoro.
Dalle prove che ho fatto io i risultati sono eccezionali, proprio come per la Slackware 12.2; con i font piccolissimi si nota qualche alone colorato, ma per risolvere questo problema bisogna attendere gli aggiornamenti delle varie patches.
L'ultimo fastidio è la ricompilazione di Firefox; quelli di Mozilla ormai sono rimasti gli unici a compilare un browser che si linka staticamente a Cairo. Anche in questo caso, si può riciclare lo SlackBuil per la 12.2 e convertire poi il TGZ in TXZ (tgz2txz ci mette un pochino con i file grossi).
Tutto il necessario per la ricompilazione lo trovate su: http://data.bluewhite64.com/bluewhite64 ... a-firefox/
Lo SlackBuild deve essere rimpiazzato con questo:
Codice: Seleziona tutto
#!/bin/sh
# Slackware build script for <appname>
# Written by (your name) (your contact information)
LOCTAG=it
GECKOVER=1.9.1
PRJ=mozilla
APP=firefox
VERSION=${VERSION:-3.5.3}
BUILD=${BUILD:-1}
TAG=${TAG:-it}
# Set to i686 if Slackware < 12.1
ARCH=${ARCH:-native}
# http://releases.mozilla.org/pub/mozilla.org/firefox/releases/
SRC=$APP-$VERSION-source.tar.bz2
# http://hg.mozilla.org/releases/l10n-mozilla-1.9.1/it/
LOCNAME=it-57aa634d1850
LOCFILE=it-57aa634d1850.tar.bz2
CWD=$(pwd)
TMP=${TMP:-/tmp}
BUILDDIR=$TMP/build
SRCDIR=$BUILDDIR/source
PKGDIR=$BUILDDIR/package/$PRJ-$APP
OUTDIR=$BUILDDIR/output
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
elif [ "$ARCH" = "native" ]; then
SLKCFLAGS="-O3 -march=native"
fi
set -e
rm -rf $PKGDIR
mkdir -p $SRCDIR $PKGDIR $OUTDIR
cd $SRCDIR
rm -rf $PRJ
tar xfv $CWD/$SRC
mv $PRJ-$GECKOVER $PRJ
#cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/l10n co l10n/it
mkdir l10n
cd l10n
tar xvf $CWD/$LOCFILE
mv $LOCNAME $LOCTAG
cd ../$PRJ
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure --prefix=/usr \
--enable-official-branding \
--enable-application=browser \
--enable-install-strip \
--enable-strip \
--enable-system-cairo \
--enable-optimize \
--enable-ui-locale=it \
--disable-crashreporter \
--disable-debug \
--disable-javaxpcom \
--disable-installer \
--disable-updater \
--with-l10n-base=$SRCDIR/l10n
make
make install DESTDIR=$PKGDIR
cd $PKGDIR/usr/lib/$APP-$VERSION
patch -p1 < $CWD/firefox.moz_plugin_path.diff
mkdir -p $PKGDIR/usr/share/pixmaps
cp $CWD/firefox.png $PKGDIR/usr/share/pixmaps
mkdir -p $PKGDIR/usr/share/applications
cp $CWD/mozilla-firefox.desktop $PKGDIR/usr/share/applications
# Because the included "firefox.png" is a custom icon.
# http://www.gnome-look.org/content/show.php/Firefox+Icons?content=47617
if which convert ; then
ICONSDIR0="$PKGDIR/usr/lib/$APP-$VERSION/icons"
convert -antialias -resize 128x128 $CWD/$APP.png \
$ICONSDIR0/mozicon128.png
convert -antialias -resize 50x50 $CWD/$APP.png \
$ICONSDIR0/mozicon50.xpm
convert -antialias -resize 16x16 $CWD/$APP.png \
$ICONSDIR0/mozicon16.xpm
ICONSDIR1="$PKGDIR/usr/lib/$APP-$VERSION/chrome/icons/default"
convert -antialias -resize 48x48 $CWD/$APP.png \
$ICONSDIR1/default48.png || exit 1
convert -antialias -resize 32x32 $CWD/$APP.png \
$ICONSDIR1/default32.png || exit 1
convert -antialias -resize 16x16 $CWD/$APP.png \
$ICONSDIR1/default16.png || exit 1
fi
mkdir -p $PKGDIR/install
cat $CWD/slack-desc > $PKGDIR/install/slack-desc
cp $CWD/doinst.sh $PKGDIR
cd $PKGDIR
/sbin/makepkg -l y -c n $OUTDIR/$PRJ-$APP-$VERSION-$ARCH-$BUILD\_$TAG.tgz
Ricordatevi solo di modificare il numero di versione di Firefox e le due variabili:
Codice: Seleziona tutto
LOCNAME=it-57aa634d1850
LOCFILE=it-57aa634d1850.tar.bz2



