Instalando tcl/tk

TÍTULO:				Instalando tcl/tk
VERSIÓN LFS:	Cualquiera.
AUTOR:				Tushar Teredesai <Tush@Yahoo.Com>
TRADUCTOR:	Proyecto LFS-ES

SINOPSIS:
	 Cómo instalar tcl/tk sin tener que conservar el árbol de fuentes.

RECETA:

La localización primaria de este sitio es <http://tushar.lfsforum.org>, gracias a
Deutsche LFS Foren. La última versión de esta receta y cualquier parche relevante
están disponibles en ese sitio. Por favor, consulta la localización primaria antes
de enviar anuncios de errores/mejoras a esta receta.

Puedes copiar libremente este documento o crear trabajos derivados o distribuir el
documento en cualquier formato. Según tu criterio, puedes dar crédito al autor ori-
ginal:)

Usa la receta bajo tu propio riesgo. Ni el autor, ni el proyecto Linux desde Cero
(Linux From Scratch) acepta cualquier responsabilidad por lo que sea que ocurra usando
estos documentos o archivos asociados.

Un lugar apropiado para discutir sobre esta receta es blfs-support Lista-de-correo/
Grupos-de-Noticias en LinuxFromScratch.Org.

¿Qué es TCL/TK?

De http://www.tck.tk:
* Tcl (Tool Command Language) es utilizado por más de medio millón de desarrolladores 
de todo el mundo y ha llegado a ser un componente crítico en miles de corporaciones. 
Tiene una sintaxis simple y programable que puede ser usada como una aplicación 
solitaria o embebida en programas de aplicaciones. Lo mejor de todo, Tcl
es de fuente abierta (open source) por lo que es completemente libre.
* Tk es un conjunto de herramientas de interfaz de usuario gráfica que hace posible
crear GUIs poderosas rápidamente. Prueba de lo popular que es que ahora está 
incluido con todas las distribuciones de Tcl.

¿Por qué esta receta?

Yo necesitaba tcl/tk para ejecutar AMSN Messegner para comunicar con mis amigos que
tienen MSN (preferiría que no oyeras eso). Lo que encontraba idiota era que después
de instalar el código compilado, seguía buscando archivos en la localización en
donde compilé los fuentes. Me fui a indagar y finalicé en Gentoo. Sus instrucciones
eran buenas, pero yo necesitaba un modo en que pudiera hacer un guión para toda la
instalación y que no tuviera que cambiar de guión con cada actualización de tcl/tk.
De ahí esta receta.

Historial de cambios:
[2002-10-24]
	* Primera versión pública.

Pre-requisitos (post LFS):
	* XFree86
		<http://freshmeat.net/projects/xfree86/>

Paquetes a descargar:
	* tcl/tk:)
		<http://freshmeat.net/projects/tcltk/>


Instalando TCL:

Primero definimos variables para el paquete y la versión.
	PACKAGE=tcl
	VERSION=8.4.0
	SRC_FILE=${PACKAGE}${VERSION}-src.tar.gz
	SRC_DIR=${PACKAGE}${VERSION}
	V=`echo $VERSION | cut -d "." -f 1,2`

Extrae el archivo.
	tar -xvzf ${SRC_FILE}
	cd ${SRC_DIR}
	DIR="${PWD}"
	cd unix/

Configura y compila el paquete.
	./configure --prefix=/usr --disable-symbols --enable-threads
	make

Ahora borra las referencias al árbol de fuentes.
	cp tclConfig.sh tclConfig.sh.orig
	sed -e "s:${DIR}/unix:/usr/lib:" \
		-e "s:${DIR}:/usr/include/tcl${V}:" \
		tclConfig.sh.orig > tclConfig.sh

Instala del modo estándar.
	make install

Copia los ficheros de cabecera.
	install -d /usr/include/tcl${V}/unix
	install -m644 *.h /usr/include/tcl${V}/unix/
	install -d /usr/include/tcl${V}/generic
	install -c -m644 ../generic/*.h /usr/include/tcl${V}/generic/
	rm -f /usr/include/tcl${V}/generic/{tcl,tclDecls,tclPlatDecls}.h
	ln -nsf /usr/include/tcl${V} /usr/lib/tcl${V}/include

Haz los enlaces de compatibilidad
	ln -sf libtcl${V}.so /usr/lib/libtcl.so
	ln -sf libtclstub${V}.a /usr/lib/libtclstub.a
	ln -sf tclsh${V} /usr/bin/tclsh


Instalando tk:

Primero definimos las variables para el paquete y la versión.
	PACKAGE=tk
	VERSION=8.4.0
	SRC_FILE=${PACKAGE}${VERSION}-src.tar.gz
	SRC_DIR=${PACKAGE}${VERSION}
	V=`echo $VERSION | cut -d "." -f 1,2`

Extrae el archivo.
	tar -xvzf ${SRC_FILE}
	cd ${SRC_DIR}
	DIR="${PWD}"
	cd unix/

Configura y compila el paquete.
	./configure --prefix=/usr --disable-symbols --enable-threads
	make

Ahora borra las referencias al árbol de fuentes.
	cp tkConfig.sh tkConfig.sh.orig
	sed -e "s:${DIR}/unix:/usr/lib:" \
		-e "s:${DIR}:/usr/include/tk${V}:" \
		tkConfig.sh.orig > tkConfig.sh

Instala del modo estándar.
	make install

Copia los ficheros de cabecera.
	install -d /usr/include/tk${V}/unix
	install -m644 *.h /usr/include/tk${V}/unix/
	install -d /usr/include/tk${V}/generic
	install -m644 ../generic/*.h /usr/include/tk${V}/generic/
	rm -f /usr/include/tk${V}/generic/{tk,tkDecls,tkPlatDecls}.h
	ln -nsf /usr/include/tk${V} /usr/lib/tk${V}/include

Haz los enlaces de compatibilidad
	# Enlaces de compatibilidad
	ln -sf libtk${V}.so /usr/lib/libtk.so
	ln -sf libtkstub${V}.a /usr/lib/libtkstub.a
	ln -sf wish${V} /usr/bin/wish


No te olvides de enviarme anuncios de errores y mejoras para que así pueda
mantener esta receta actualizada.