aboutsummaryrefslogtreecommitdiff
path: root/fr_FR.ISO8859-1/htdocs/gnome/docs/porting.sgml
blob: bce2489a28d4cb3ce59fa7975d31d8ff9fa5cdf7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [
<!ENTITY base CDATA "../..">
<!ENTITY date "$FreeBSD: www/fr/gnome/docs/porting.sgml,v 1.5 2005/10/06 12:56:03 blackend Exp $">
<!ENTITY title "Projet GNOME pour FreeBSD : Comment cr&eacute;er un port">
<!ENTITY % navinclude.developers "INCLUDE">
]>

<!--
  The FreeBSD French Documentation Project
  Original revision: 1.18

  Version francaise : Stephane Legrand <stephane@freebsd-fr.org>
-->

<html>
  &header;

    <table border="0">
      <tr>
        <td>
          <p>Ce document consid&egrave;re que vous connaissez d&eacute;j&agrave; comment le syst&egrave;me des ports fonctionne
	    et par cons&eacute;quent ne donne que les trucs et astuces sp&eacute;cifiques &agrave; GNOME. Des instructions
	    plus g&eacute;n&eacute;rales sont disponibles dans le
	    <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/index.html">Manuel du Porteur d'Applications pour FreeBSD</a>.
	  </p>
	  <h2>Les macros Makefile pour GNOME</h2>
          <p>Pour les ports qui <i>n&eacute;cessitent</i> GNOME, vous devez d&eacute;finir les variables suivantes
	    dans le Makefile du port :</p>

          <pre>
USE_GNOME=	yes
USE_X_PREFIX=	yes
          </pre>

          <p>Cela prendra en charge le pr&eacute;fix d'installation ainsi que les d&eacute;pendances
            indispensables pour GNOME. Si votre port peut utiliser GNOME, mais qu'il
	    n'est pas requis, vous pouvez d&eacute;finir les variables suivantes dans votre Makefile :</p>

          <pre>
WANT_GNOME=	yes
          </pre>

          <p>Si le syst&egrave;me des ports d&eacute;tecte que GNOME est install&eacute; sur le syst&egrave;me
	    alors les composants GNOME seront compil&eacute;s. Autres macros utiles en rapport
            avec GNOME qui peuvent &ecirc;tre utilis&eacute;es dans le Makefile :</p>

<!-- Begin GNOME-related Makefile macros -->
          <ul>
            <li><p><tt>USE_GLIB (WANT_GLIB)</tt> : L'application n&eacute;cessite
	      (peut utiliser) Glib.  D&eacute;finir <tt>USE_GNOME</tt> ou <tt>USE_GTK</tt>
	      d&eacute;finit automatiquement cette option.</p></li>

            <li><p><tt>USE_GTK (WANT_GTK)</tt> : L'application n'est pas forc&eacute;ment
	      compatible GNOME mais n&eacute;cessite GTK+. Cela prendra en charge
	      ces d&eacute;pendances. A noter que cette option ne <b>doit pas</b> &ecirc;tre d&eacute;finie
	      si <tt>USE_GNOME</tt> est d&eacute;fini.</p></li>

            <li><p><tt>USE_ESOUND (WANT_ESOUND)</tt> : L'application n&eacute;cessite
	      (peut utiliser) esound. En temps normal, le support esound est ajout&eacute; en sp&eacute;cifiant
	      <tt>USE_GNOME</tt>.</p></li>

            <li><p><tt>USE_IMLIB (WANT_IMLIB)</tt> : L'application n&eacute;cessite
	      (peut utiliser) la librairie graphique Imlib. Il n'est pas n&eacute;cessaire de l'indiquer
	      si <tt>USE_GNOME</tt> est d&eacute;fini.</p></li>

            <li><p><tt>USE_GNOMELIBS (WANT_GNOMELIBS)</tt> : L'application
	      n&eacute;cessite (peut utiliser) les librairies GNOME. Cela n'implique pas autant
	      de d&eacute;pendances que <tt>USE_GNOME</tt> et doit &ecirc;tre utilis&eacute; pour
	      les applications qui utilisent GNOME mais qui n'ont pas besoin du Centre de
	      Contr&ocirc;le GNOME, de la librairie capplet ou d'un composant faisant partie
	      du noyau de GNOME.</p></li>

            <li><p><tt>USE_GNOMECTRL (WANT_GNOMECTRL)</tt> : L'application
	      n&eacute;cessite (peut utiliser) toutes les librairies GNOME et le Centre de Contr&ocirc;le
              GNOME mais n'utilise aucun composant du noyau de GNOME. Cette option est
	      habituellement utilis&eacute;e pour les APIs.</p></li>
          </ul>

		  <p>Si votre port peut en option utiliser GNOME, vous devez utiliser
		  <tt>WANT_GNOME= yes</tt> dans votre Makefile et v&eacute;rifier si
		  <tt>HAVE_GNOME</tt> est positionn&eacute;. Comme c'est une &eacute;valuation
                  conditionnelle, vous devez le placer entre <tt>bsd.port.pre.mk</tt>
		  et <tt>bsd.port.post.mk</tt>. Par exemple :</p>

		  <pre>
WANT_GNOME=	yes

.include &lt;bsd.port.pre.mk&gt;

.if defined(HAVE_GNOME)
USE_GNOME=	yes
CONFIGURE_ARGS+=	--with-gnome
.else
CONFIGURE_ARGS+=	--without-gnome
.endif

.include &lt;bsd.port.post.mk&gt;
          </pre>

		  <p><tt>WANT_GNOME</tt> indique au syst&egrave;me des ports
		  de v&eacute;rifie l'existence de <tt>gnome-config</tt>. S'il
		  existe, <tt>HAVE_GNOME</tt> est positionn&eacute;. Sinon, <tt>HAVE_GNOME</tt>
		  ne l'est pas. En positionnant <tt>USE_GNOME</tt> apr&egrave;s la v&eacute;rification sur
		  <tt>HAVE_GNOME</tt> le port enregistrera toutes les d&eacute;pendances
		  li&eacute;es &agrave; GNOME correctement.</p>

          <p>Lors de la cr&eacute;ation des ports GNOME, rappelez-vous que de nombreuses applications
		  ont besoin de r&eacute;pertoires partag&eacute;s dans <tt>${PREFIX}/share/gnome</tt>. Les ports
		  doivent &ecirc;tre construits de telle mani&egrave;re que les fichiers plac&eacute;s dans ces
		  r&eacute;pertoires soient supprim&eacute;s avant le paquetage qui a cr&eacute;&eacute; les
		  r&eacute;pertoires (i.e. le paquetage a une instruction <tt>@dirrm</tt>
                  appropri&eacute;e dans le fichier pkg-plist). Pour GNOME, le port parent
                  principal est <tt>gnomecore</tt>. Si votre port inclu
		  <tt>USE_GNOME= yes</tt>, tout devrait &ecirc;tre correct. Si vous n'&ecirc;tes
		  pas certain d'avoir besoin d'autres paquetages, vous pouvez utiliser
		  le script <tt>${PORTSDIR}/Tools/scripts/gnomedepends.py</tt>
		  afin d'examiner le fichier pkg-plist de votre port :</p>

		  <pre>
# cd /usr/ports/x11/mygnomeport
# /usr/ports/Tools/scripts/gnomedepends.py
According to the contents of pkg-plist the port depends on the following GNOME
port(s):

/usr/ports/mail/gmail, for directories:
	share/gnome/help
	share/gnome/apps
	share/gnome

/usr/ports/sysutils/gnomecontrolcenter, for directories:
	share/gnome/apps/Settings
	share/gnome/apps

/usr/ports/textproc/scrollkeeper, for directories:
	share/gnome/omf
	share/gnome

/usr/ports/x11/gnomecore, for directories:
	share/gnome/apps/System

/usr/ports/x11/gnomelibs, for directories:
	share/gnome/pixmaps
	share/gnome/help
          </pre>

		  <p>Pour voir la liste des paquetages indiqu&eacute;s comme n&eacute;cessaire par votre port,
		  utilisez la commande <tt>make package-depends</tt>.</p>
<!-- End GNOME-related Makefile macros -->

<!-- Begine GNOME I18N -->
          <h2>Internationalisation de GNOME</h2>
          <p>GNOME s'appuie sur le port <tt>gettext</tt> pour
	    l'internationalisation (I18N). FreeBSD supporte actuellement deux
	    versions de <tt>gettext</tt> : la 0.10.35 et la 0.11.1. La plupart des ports
	    peuvent utiliser la 0.11.1. Cependant, si lors de la compilation de votre port, vous avez une
	    erreur avec les fichiers de traduction .po, vous pouvez avoir besoin d'utiliser
	    la version plus ancienne de <tt>gettext</tt>.</p>

	  <p>Pour utiliser cette version plus ancienne de <tt>gettext</tt>, ajoutez les lignes suivantes dans le
	    Makefile de votre port :</p>

	  <pre>
BUILD_DEPENDS=  msgfmt-old:${PORTSDIR}/devel/gettext-old
CONFIGURE_ENV+= MSGFMT=${LOCALBASE}/bin/msgfmt-old \
	XGETTEXT=${LOCALBASE}/bin/xgettext-old
	  </pre>

	  <p>Lors de l'installation des applications GNOME, assurez-vous que les fichiers
	    de traduction sont plac&eacute;s dans <tt>/usr/X11R6/share/locale</tt> et
	    non pas dans <tt>/usr/X11R6/share/gnome/locale</tt>. Pour ce faire, ajoutez les
	    lignes suivantes dans la section <tt>pre-patch:</tt> du Makefile de votre port :</p>

	  <pre>
pre-patch:
	@find ${WRKSRC} -name "Makefile.in*" | xargs ${PERL} -pi -e \
		's|\$\(datadir\)/gnome/|\$\(datadir\)/|g ; \
		 s|\$\(datadir\)/locale|\$\(prefix\)/share/locale|g'
          </pre>

	  <p>Assurez-vous &eacute;galement que les fichiers de traduction sont install&eacute;s avec l'extension .mo et
	    non pas avec l'extension .gmo. Pour cela, vous pouvez habituellement utiliser ce
	    <a href="../patches/patch-po::Makefile.in.in">patch</a>.</p>

<!-- End GNOME I18N -->

<!-- Begin GNOME libtool -->
          <h2>Probl&egrave;mes li&eacute;s &agrave; Libtool</h2>

	  <p>La plupart si ce n'est toutes les applications GNOME d&eacute;pendent de la libtool de GNU. Elles
	    utilisent &eacute;galement le syst&egrave;me "configure" de GNU. Les derni&egrave;res versions de libtool ont
	    un probl&egrave;me la macro <tt>USE_LIBTOOL</tt> de FreeBSD. L'utilisation de cette
	    macro est d&eacute;conseill&eacute;e. A la place, positionnez <tt>GNU_CONFIGURE= yes</tt>,
	    et utilisez ce <a href="../patches/patch-ltmain.sh">patch</a>.
	    Il emp&ecirc;che l'installation des fichiers .la, emp&ecirc;che la
		compilation et l'installation des librairies statiques au format archive et
		permet de s'assurer que l'option -pthread est pass&eacute; &agrave; l'&eacute;diteur de lien.</p>
<!-- End GNOME libtool -->

<!-- Begin GNOME distfiles -->
          <h2>Fichiers sources</h2>

          <p>A mesure que GNOME 2.0 gagne en popularit&eacute;, nous devons
	    faire le tri entre les fichiers sources de GNOME 2.0 et ceux de GNOME 1.0 ainsi
	    que faire notre possible pour conserver un classement correct des fichiers sources dans le r&eacute;pertoire "distfiles". Pour ce faire,
	    les ports de GNOME 1.0 qui t&eacute;l&eacute;chargent leurs fichiers sources depuis le serveur
	    <tt>${MASTER_SITE_GNOME}</tt> doivent ajouter la ligne suivante
	    au fichier Makefile :</p>

      <pre>
DIST_SUBDIR=    gnome
      </pre>

	  <p>Les ports de GNOME 2.0 qui t&eacute;l&eacute;chargent leurs fichiers sources depuis le serveur
	    <tt>${MASTER_SITE_GNOME}</tt> doivent ajouter la ligne suivante
	    au fichier Makefile :</p>

	  <pre>
DIST_SUBDIR=    gnome2
	  </pre>

	  <p>Plusieurs des fichiers sources GNOME sont disponibles aux formats  tar gzip et tar bzip2.
            Pour &eacute;conomiser du temps de t&eacute;l&eacute;chargement sur les lignes &agrave; faible d&eacute;bit,
	    utilisez les fichiers sources bzip2 &agrave; chaque fois que possible. Pour cela,
	    ajoutez la ligne suivante au fichier Makefile du port :</p>

	  <pre>
USE_BZIP2=  yes
	  </pre>

<!-- End GNOME distfiles -->


          <p>Si vous avez malgr&eacute; tout besoin d'aide pour votre port, prenez exemple sur les
		    <a href="/ports/gnome.html">ports existant</a>.
			La <a href="mailto:&email;@FreeBSD.org">liste de diffusion
                        freebsd-gnome</a> est &eacute;galement l&agrave; pour vous aider.</p>
        </td>
      </tr>
    </table>

  &footer;
  </body>
</html>