slitaz-doc-wiki-data view pages/fr/scratchbook/gtk-libs.txt @ rev 142

Updated en:handbook:start to 4.0
author Christian Mesh meshca@clarkson.edu
date Mon Mar 19 22:02:10 2012 +0000 (2012-03-19)
parents
children
line source
1 ====== Bibliothèques GTK+ ======
3 Compilation et installation des bibliothèques GTK+ et compagnie.
5 ===== À propos =====
7 Ce chapitre décrit l'installation et la configuration sur SliTaz des bibliothèques GTK permettant d'installer des milliers de logiciels. À noter que vous pouvez simplement compiler et créer un paquet SliTaz que vous installez ensuite à la demande avec tazpkg.
9 La compilation de GTK demande pas mal de temps, et il faut satisfaire beaucoup de dépendances. Vous trouverez (en anglais) le guide de compilation de GTK: [[http://developer.gnome.org/gtk/2.22/gtk-building.html|gtk-building sur developer.gnome.org]]. Ce document précise qu'il faut compiler dans l'ordre: GLib, Pango, ATK, puis GTK+. Avant de commencer il faut vérifier que les dépendances soient bien installées sur votre système hôte. Les paquets GLib, Pango, ATK, et GTK+ vont ensemble, et sont distribués par l'équipe des développeurs GTK. Nous ne les décrivons pas, seulement les commandes à lancer.
11 ==== Variable d'environnement ($fs) ====
13 Pour ne pas spécifier tout le chemin vers le répertoire rootfs, export de la variable d'environnement:
15 # export fs=$PWD/rootfs
17 Pour vérifier:
19 # echo $fs
21 ===== cairo-1.2.6 - 2D graphics library =====
23 Nous commençons par libcairo ([[http://www.cairographics.org/|http://www.cairographics.org/]]) utilisé pour compiler pango:
25 # cd src
26 # wget http://cairographics.org/releases/cairo-1.2.6.tar.gz
27 # tar xzf cairo-1.2.6.tar.gz
28 # cd cairo-1.2.6
29 # ./configure --prefix=/usr --mandir=/usr/share/man \\
30 --with-html-dir=/usr/share/doc
31 # make
32 # make DESTDIR=$PWD/_pkg install
33 # strip -v _pkg/usr/lib/*.so*
35 ==== Installation dans rootfs ====
37 # cp -av _pkg/usr/lib/*.so* $fs/usr/lib
39 ===== glib-2.12.4 - C routines =====
41 # cd ..
42 # wget ftp://ftp.gtk.org/pub/glib/2.12/glib-2.12.4.tar.bz2
43 # tar xjf glib-2.12.4.tar.bz2
44 # cd glib-2.12.4
45 # ./configure --prefix=/usr --sysconfdir=/etc \\
46 --mandir=/usr/share/man --with-html-dir=/usr/share/doc
47 # make
48 # make DESTDIR=$PWD/_pkg install
49 # strip -v _pkg/usr/bin/*
50 # strip -v _pkg/usr/lib/*.so*
52 ==== Installation dans rootfs ====
54 Option, les utilitaires glib-genmarshal et gobject-query ont besoin de /lib/tls/librt.so.1:
56 # cp -a _pkg/usr/lib/*.so* $fs/usr/lib
57 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
59 Les binaires en option:
61 # cp -a _pkg/usr/bin/* $fs/usr/bin
63 ===== pango-1.14.8 - Library for layout and rendering of text =====
65 # cd ..
66 # wget ftp://ftp.gtk.org/pub/pango/1.14/pango-1.14.8.tar.bz2
67 # tar xjf pango-1.14.8.tar.bz2
68 # cd pango-1.14.8
69 # ./configure --prefix=/usr --sysconfdir=/etc \\
70 --mandir=/usr/share/man --with-html-dir=/usr/share/doc
71 # make
72 # make DESTDIR=$PWD/_pkg install
73 # strip -v _pkg/usr/bin/*
74 # strip -v _pkg/usr/lib/*.so*
75 # strip -v _pkg/usr/lib/pango/1.5.0/modules/*
77 ==== Installation dans rootfs ====
79 # cp -a _pkg/usr/bin/* $fs/usr/bin
80 # cp -a _pkg/usr/lib/*.so* $fs/usr/lib
81 # cp -a _pkg/usr/lib/pango $fs/usr/lib
82 # rm -rf $fs/usr/lib/pango/1.5.0/modules/*.la
83 # cp -a _pkg/etc $fs
85 Création du fichier /etc/pango/pango.modules via un chroot dans le rootfs (pango-querymodules utilise librt.so.1):
87 # chroot $fs /bin/ash
88 /# pango-querymodules > /etc/pango/pango.modules
89 # exit
91 ===== atk-1.12.4 - Accessibility toolkit =====
93 # cd ..
94 # wget http://ftp.gnome.org/pub/gnome/sources/atk/1.12/atk-1.12.4.tar.bz2
95 # tar xjf atk-1.12.4.tar.bz2
96 # cd atk-1.12.4
97 # ./configure --prefix=/usr --mandir=/usr/share/man \\
98 --with-html-dir=/usr/share/doc
99 # make
100 # make DESTDIR=$PWD/_pkg install
101 # strip -v _pkg/usr/lib/*.so*
103 ==== Installation dans rootfs ====
105 # cp -a _pkg/usr/lib/*.so* $fs/usr/lib
106 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
108 ===== gtk+-2.8.20 - The GIMP Toolkit =====
110 # cd ..
111 # wget ftp://ftp.gtk.org/pub/gtk/v2.8/gtk+-2.8.20.tar.bz2
112 # tar xjf gtk+-2.8.20.tar.bz2
113 # cd gtk+-2.8.20
114 # ./configure --prefix=/usr --sysconfdir=/etc \\
115 --mandir=/usr/share/man --with-html-dir=/usr/share/doc
116 # make
117 # make DESTDIR=$PWD/_pkg install
118 # strip -v _pkg/usr/bin/*
119 # strip -v _pkg/usr/lib/*.so*
120 # strip -v --strip-unneeded \\
121 _pkg/usr/lib/gtk-2.0/2.4.0/*/*
123 ==== Installation dans rootfs ====
125 # cp -a _pkg/usr/lib/*.so* $fs/usr/lib
126 # mkdir $fs/usr/lib/gtk-2.0
127 # cp -a _pkg/usr/lib/gtk-2.0/2.4.0 $fs/usr/lib/gtk-2.0
128 # rm -rf $fs/usr/lib/gtk-2.0/2.4.0/*/*.la
130 Locale et thèmes:
132 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
133 # cp -a _pkg/usr/share/themes $fs/usr/share
135 Les applications:
137 # cp _pkg/usr/bin/gtk-query-immodules-2.0 $fs/usr/bin
138 # cp _pkg/usr/bin/gtk-update-icon-cache $fs/usr/bin
139 # cp _pkg/usr/bin/gdk-pixbuf-csource $fs/usr/bin
140 # cp _pkg/usr/bin/gdk-pixbuf-query-loaders $fs/usr/bin
141 ...
143 Pour l'application gtk-demo:
145 # cp -a _pkg/usr/bin/gtk-demo $fs/usr/bin
146 # cp -a _pkg/usr/share/gtk-2.0 $fs/usr/share
148 Création des fichiers /etc/gtk-2.0/gtk.immodules et gdk-pixbuf.loaders via un chroot dans le rootfs:
150 # chroot $fs /bin/ash
151 /# mkdir /etc/gtk-2.0
152 /# gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules
153 /# gdk-pixbuf-query-loaders > /etc/gtk-2.0/gdk-pixbuf.loaders
154 # exit
156 À ce stade vous pouvez tester GTK+ avec l'application 'gtk-demo' en créant une ISO, et en utilisant 'qemu'. Vous pouvez aussi compiler une petite application GTK+ tel que LeafPad, et tester! La compilation et l'installation des application GTK+ distribuées par défaut avec SliTaz, est décrite dans le chapitre [[gtk-apps|gtk-apps]].
158 ===== Génération de l'initramfs, et d'une image ISO =====
160 Pour créer une nouvelle image ISO vous pouvez utiliser 'mktaziso' contenu dans [[http://doc.slitaz.org/fr:cookbook:slitaztools|SliTaz tools]]. Vous pouvez aussi créer un nouvelle image initramfs, et la copier dans /boot de la racine de cdrom (rootcd), et pour finir créer un image ISO avec genisoimage:
162 # cd $fs
163 # find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz
164 # cd ..
165 # cp rootfs.gz rootcd/boot
166 # genisoimage -R -o slitaz-cooking.iso -b boot/isolinux/isolinux.bin \\
167 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \\
168 -V "SliTaz" -boot-info-table rootcd
170 ==== Suite ====
172 Après les bibliothèques, [[gtk-apps|les applications GTK+]].