summaryrefslogtreecommitdiff
path: root/docs/es/gtkfaq-es-3.html
blob: f4d6b89289a6c061a7d1409ddc123ca0c828b662 (plain)
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.6">
 <TITLE>GTK+ FAQ: Desarrollo de GTK+</TITLE>
 <LINK HREF="gtkfaq-es-4.html" REL=next>
 <LINK HREF="gtkfaq-es-2.html" REL=previous>
 <LINK HREF="gtkfaq-es.html#toc3" REL=contents>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<A HREF="gtkfaq-es-4.html">Next</A>
<A HREF="gtkfaq-es-2.html">Previous</A>
<A HREF="gtkfaq-es.html#toc3">Contents</A>
<HR NOSHADE>
<H2><A NAME="s3">3. Desarrollo de GTK+</A></H2>

<H2><A NAME="ss3.1">3.1 ¿Qué es esta cosa CVS de la cual todo el mundo habla, y cómo puedo acceder a ella?</A>
</H2>

<P>CVS es el Concurrent Version System (Sistema de Versión Concurrente) y es
un medio muy popular de control de versión para proyectos de software.
Está diseñado para permitir que múltiples autores puedan operar de
manera simultánea en el mismo árbol fuente. Este árbol fuente es
mantenido centralizadamente, pero cada desarrollador tiene una réplica local
de este repositorio en el cual hacen sus cambios.
<P>Los desarrolladores de GTK+ utilizan un repositorio CVS para almacenar la
copia maestra de la actual versión en desarrollo de GTK+. Como tal,
la gente que desea contribuír con parches a GTK+ deben generarlos para la
versión del CVS. La gente normal debe utilizar los paquetes liberados.
<P>El conjunto de herramientas CVS está disponible como paquetes RPM en los
sitios usuales de RedHat. La última versión está disponible en
<A HREF="http://download.cyclic.com/pub/">&lt;http://download.cyclic.com/pub/&gt;</A><P>Cualquiera puede bajar la última versión CVS de GTK+ utilizando
acceso anónimo con los siguientes pasos:
<UL>
<LI> En un descendiente del intérprete de comandos bourne (ej. bash)
teclee:
<PRE>
export CVSROOT=':pserver:anonymous@anoncvs.gimp.org:/debian/home/gnomecvs'
</PRE>
</LI>
<LI>Luego, la primera vez que el árbol fuente se retira, se necesita
un <EM>login</EM> cvs.
<PRE>
cvs login
</PRE>

Ésto hará que se le solicite una clave de acceso. No hay clave de 
acceso para cvs.gimp.org, así que solo ingrese un retorno de carro.</LI>
<LI>Para conseguir el árbol y colocarlo en un subdirectorio de su
directorio de trabajo actual, emita el comando:
<PRE>
cvs -z3 get gtk+
</PRE>


Observe que con el árbol GTK+ 1.1, glib se ha movido a un módulo CVS
separado, de manera que si no tiene glib instalado necesitará conseguirlo
igualmente:
<PRE>
cvs -z3 get glib
</PRE>

</LI>
</UL>
<H2><A NAME="ss3.2">3.2 ¿Cómo puedo contribuír a GTK+?</A>
</H2>

<P>Es simple. Si algo no funciona en un programa como usted piensa que debería,
revise la documentación para asegurarse de que no ha pasado algo por alto.
Si es un verdadero error o característica perdida, rastréelo en el
fuente de GTK+, cámbielo, y entonces genere un parche en la forma de un
'diff de contexto'. Esto puede hacerse utilizando un comando como
<CODE>diff -ru &lt;oldfile&gt; &lt;newfile&gt;</CODE>. Entonces envíe el archivo 
de parche a:
<PRE>
ftp://ftp.gtk.org/incoming
</PRE>

junto a un archivo README. ¡Asegúrese de seguir las convenciones de
asignación de nombres o su parche será borrado! Los archivos deben ser
de esta forma:
<PRE>
gtk-&lt;username>-&lt;date yymmdd-n>.patch.gz
gtk-&lt;username>-&lt;date yymmdd-n>.patch.README
</PRE>

La "n" en la fecha indica un número único (empezando de 0)
de parches que subió ese día. Debe ser 0, a menos que envíe más de
un parche en el mismo día.
<P>Example:
<PRE>
gtk-gale-982701-0.patch.gz
gtk-gale-982701-0.patch.README
</PRE>

Una vez que usted envía <EM>lo que sea</EM>, envíe el README a
ftp-admin@gtk.org
<P>
<H2><A NAME="ss3.3">3.3 ¿Cómo averiguo si mi parche fue aplicado, y si no, por qué no?</A>
</H2>

<P>Los parches enviados se mandarán a 
<CODE>ftp://ftp.gtk.org/pub/gtk/patches</CODE>
donde uno del equipo de desarrollo de GTK+ los recogerá. Si son aplicados,
serán movidos a <CODE>/pub/gtk/patches/old</CODE>.
<P>Los parches que no son aplicados, por cualquier razón, se mandarán a
<CODE>/pub/gtk/patches/unapplied</CODE> o <CODE>/pub/gtk/patches/outdated</CODE>.
En este punto puede preguntar en la lista de correo <CODE>gtk-list</CODE> el porqué
su parche no fué aplicado. Hay muchas razones posibles por las cuales un
parche no se aplica, pasando desde que no se puede aplicar limpiamente, hasta 
que no es correcto. No se rinda si no logró que su parche se aplicase a la
primera.
<P>
<H2><A NAME="ss3.4">3.4 ¿Cuál es la política sobre la incorporación de nuevos <EM>widgets</EM> en la librería?</A>
</H2>

<P>Esto corresponde a los autores, de manera que tendrá que preguntarles
al terminar su <EM>widget</EM>. Como una guía general, los <EM>widgets</EM>
que por lo general son útiles, funcionan, y no son una desgracia al conjunto
de <EM>widgets</EM> serán incluídos con mucho gusto.
<P>
<H2><A NAME="ss3.5">3.5 ¿Hay alguien trabajando en atamientos para otros lenguajes distintos a C?</A>
</H2>

<P>Sí. Existe
<UL>
<LI>una envoltura de C++ para GTK+ llamada gtk--. Puede encontrar el su
página hogar en: 
<A HREF="http://www.cs.tut.fi/~p150650/gtk/gtk--.html">http://www.cs.tut.fi/~p150650/gtk/gtk--.html</A>. 
El sitio FTP es
<A HREF="ftp://ftp.gtk.org/pub/gtk/gtk--">ftp://ftp.gtk.org/pub/gtk/gtk--</A>.
<P>
<P>
</LI>
<LI>Hay dos ataduras para Objective-C en desarrollo:

<UL>
<LI>El paquete elegido por el 
<A HREF="http://www.gnome.org/">proyecto GNOME</A> es obgtk. Objgtk se basa en la clase Object y es
mantenido por 
<A HREF="mailto:sopwith@cuc.edu">Elliot Lee</A>.
Aparentemente, objgtk se está aceptando como el atamiento `estándar'
de Objective-C para GTK+.
</LI>
<LI> Si usted está más inclinado al 
<A HREF="http://www.gnustep.org/">proyecto GNUstep</A>,
puede que quiera revisar GTKKit por
<A HREF="mailto:helge@mdlink.de">Helge He&szlig;</A>.
La intención es crear un atamiento GTK+ utilizando FoundationKit.
GTKKit incluye linduras como escribir un archivo con una plantilla tipo 
XML para construír una interface GTK+.
</LI>
</UL>
 
<P>               
</LI>
<LI>Atamientos Perl
<A HREF="ftp://ftp.gtk.org/pub/gtk/perl">ftp://ftp.gtk.org/pub/gtk/perl</A>
<P>
</LI>
<LI>Atamientos Guile. La página hogar se encuentra en
<A HREF="http://www.ping.de/sites/zagadka/guile-gtk">http://www.ping.de/sites/zagadka/guile-gtk</A>.
Por cierto, Guile es la implantación del Proyecto GNU de Scheme R4RS (el
estándar). Si le gusta Scheme, querrá darle un vistazo a éste.
<P>
<P>
</LI>
<LI>David Monniaux informa:
<BLOCKQUOTE>
He empezado un sistema de atamiento gtk-O'Caml. Las bases del sistema,
incluyendo <EM>callbacks</EM>, funcionan bien.

El desarrollo actual se encuentra en
<A HREF="http://www.ens-lyon.fr/~dmonniau/arcs">http://www.ens-lyon.fr/~dmonniau/arcs</A></BLOCKQUOTE>

</LI>
<LI>Se han hecho varios atamientos para python:
<P>
<UL>
<LI>pygtk se encuentra en 
<A HREF="http://www.daa.com.au/~james/pygtk">http://www.daa.com.au/~james/pygtk</A> y 
<A HREF="ftp://ftp.gtk.org/pub/gtk/python">ftp://ftp.gtk.org/pub/gtk/python</A></LI>
<LI>python-gtk se encuentra en
<A HREF="http://www.ucalgary.ca/~nascheme/python-gtk">http://www.ucalgary.ca/~nascheme/python-gtk</A></LI>
</UL>
<P>
</LI>
<LI>Hay un <EM>widget</EM> disponible para GTK+. Agárrelo en
<A HREF="http://www.sakuranet.or.jp/~aozasa/shige/doc/comp/gtk/gtkGL/files-en.html">http://www.sakuranet.or.jp/~aozasa/shige/doc/comp/gtk/gtkGL/files-en.html</A>
</LI>
</UL>
<P>
<HR NOSHADE>
<A HREF="gtkfaq-es-4.html">Next</A>
<A HREF="gtkfaq-es-2.html">Previous</A>
<A HREF="gtkfaq-es.html#toc3">Contents</A>
</BODY>
</HTML>