# Get aMSN to use anti-aliased fonts (with ebuilds)

## Nephren-Ka

Hi all,

With the official release of aMSN 0.95, I'm sure many of you would like to have the benefit of using AA'd fonts in it as well. As you may or may not know, this requires using a development version of TK/TCL (8.5) that isn't in portage yet. I've seen many threads about using CVS snapshots to do this manually, but I figured that some people might want to do this an easier way (including myself). After some searching, I've found some modified ebuilds that work for installing TK/TCL8.5a3, and they are as follows:

tk-8.5.0.ebuild :

```

# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-lang/tk/tk-8.5.0.ebuild,v 1.5 2005/05/09 17:37:33 gustavoz Exp $

inherit eutils

DESCRIPTION="Tk Widget Set"

HOMEPAGE="http://dev.scriptics.com/software/tcltk/"

SRC_URI="mirror://sourceforge/tcl/tk8.5a3-src.tar.gz"

LICENSE="BSD"

SLOT="0"

KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 sparc x86"

IUSE="threads"

DEPEND=">=sys-apps/sed-4.0.5

   >=sys-apps/portage-2.0.47-r10

   virtual/x11

   =dev-lang/tcl-${PV}*"

S=${WORKDIR}/${PN}8.5a3

pkg_setup() {

   if use threads

   then

      ewarn ""

      ewarn "PLEASE NOTE: You are compiling ${P} with"

      ewarn "threading enabled."

      ewarn "Threading is not supported by all applications"

      ewarn "that compile against tcl. You use threading at"

      ewarn "your own discretion."

      ewarn ""

      epause 5

   fi

}

src_unpack() {

   unpack ${A}

   cd ${S}

   #epatch ${FILESDIR}/remove-control-v-${PV}.diff || die

   #epatch ${FILESDIR}/${P}-man.patch || die

}

src_compile() {

   cd ${S}/unix

   local local_config_use=""

   if use threads

   then

      local_config_use="--enable-threads"

   fi

   econf \

      --with-tcl=/usr/$(get_libdir) \

      ${local_config_use} || die

   emake CFLAGS="${CFLAGS}" || die

}

src_install() {

   #short version number

   local v1

   v1=${PV%.*}

   cd ${S}/unix

   #make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die

   S= make INSTALL_ROOT=${D} install || die

   # fix the tkConfig.sh to eliminate refs to the build directory

   sed -i \

      -e "s,^\(TK_BUILD_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_SRC_DIR='\)${S}',\1/usr/$(get_libdir)/tk${v1}/include'," \

      -e "s,^\(TK_BUILD_STUB_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_BUILD_STUB_LIB_PATH='\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_CC_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

      -e "s,^\(TK_LD_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

      ${D}/usr/lib/tkConfig.sh

   # install private headers

   dodir /usr/$(get_libdir)/tk${v1}/include/unix

   install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/unix

   dodir /usr/$(get_libdir)/tk${v1}/include/generic

   install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/generic

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tk.h

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkDecls.h

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkPlatDecls.h

   # install symlink for libraries

   #dosym /usr/$(get_libdir)/libtk${v1}.a /usr/$(get_libdir)/libtk.a

   dosym /usr/$(get_libdir)/libtk${v1}.so /usr/$(get_libdir)/libtk.so

   dosym /usr/$(get_libdir)/libtkstub${v1}.a /usr/$(get_libdir)/libtkstub.a

   ln -sf wish${v1} ${D}/usr/bin/wish

   cd ${S}

   dodoc README changes license.terms

}

```

and tcl-8.5.0.ebuild:

```

# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/tcl-8.5.0.ebuild,v 1.6 2005/05/09 17:35:46 gustavoz Exp $

inherit eutils

DESCRIPTION="Tool Command Language"

HOMEPAGE="http://dev.scriptics.com/software/tcltk/"

SRC_URI="mirror://sourceforge/tcl/tcl8.5a3-src.tar.gz"

#SRC_URI="http://prdownloads.sourceforge.net/tcl/tcl8.5a3-src.tar.gz"

LICENSE="BSD"

SLOT="0"

KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86"

IUSE="threads"

DEPEND="virtual/libc"

S=${WORKDIR}/${PN}8.5a3

pkg_setup() {

   if use threads

   then

      ewarn ""

      ewarn "PLEASE NOTE: You are compiling ${P} with"

      ewarn "threading enabled."

      ewarn "Threading is not supported by all applications"

      ewarn "that compile against tcl. You use threading at"

      ewarn "your own discretion."

      ewarn ""

      epause 5

   fi

}

src_unpack() {

   unpack ${A}

   cd ${S}

   #epatch ${FILESDIR}/${PN}-8.4.6-multilib.patch

}

src_compile() {

   local local_config_use=""

   if use threads

   then

      local_config_use="--enable-threads"

   fi

   cd ${S}/unix

   econf ${local_config_use} || die

   emake CFLAGS="${CFLAGS}" || die

}

src_install() {

   #short version number

   local v1

   v1=${PV%.*}

   cd ${S}/unix

   S= make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die

   # fix the tclConfig.sh to eliminate refs to the build directory

   sed -e "s,^TCL_BUILD_LIB_SPEC='-L.*/unix,TCL_BUILD_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_SRC_DIR='.*',TCL_SRC_DIR='${ROOT}/usr/$(get_libdir)/tcl${v1}/include'," \

      -e "s,^TCL_BUILD_STUB_LIB_SPEC='-L.*/unix,TCL_BUILD_STUB_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_BUILD_STUB_LIB_PATH='.*/unix,TCL_BUILD_STUB_LIB_PATH='${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_LIB_FILE='libtcl8.4..TCL_DBGX..so',TCL_LIB_FILE=\"libtcl8.4\$\{TCL_DBGX\}.so\"," \

      -e "s,^TCL_CC_SEARCH_FLAGS='\(.*\)',TCL_CC_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \

      -e "s,^TCL_LD_SEARCH_FLAGS='\(.*\)',TCL_LD_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \

      ${D}/usr/$(get_libdir)/tclConfig.sh > ${D}/usr/$(get_libdir)/tclConfig.sh.new

   mv ${D}/usr/$(get_libdir)/tclConfig.sh.new ${D}/usr/$(get_libdir)/tclConfig.sh

   # install private headers

   dodir /usr/$(get_libdir)/tcl${v1}/include/unix

   install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/unix

   dodir /usr/$(get_libdir)/tcl${v1}/include/generic

   install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/generic

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tcl.h

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclDecls.h

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclPlatDecls.h

   # install symlink for libraries

   dosym /usr/$(get_libdir)/libtcl${v1}.so /usr/$(get_libdir)/libtcl.so

   dosym /usr/$(get_libdir)/libtclstub${v1}.a /usr/$(get_libdir)/libtclstub.a

   ln -sf tclsh${v1} ${D}/usr/bin/tclsh

   cd ${S}

   dodoc README changes license.terms

}

pkg_postinst() {

   ewarn

   ewarn "If you're upgrading from tcl-8.3, you must recompile the other"

   ewarn "packages on your system that link with tcl after the upgrade"

   ewarn "completes.  To perform this action, please run revdep-rebuild"

   ewarn "in package app-portage/gentoolkit."

   ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should"

   ewarn "upgrade them before this recompilation, too,"

   ewarn

   ewarn ${S}

}

```

These both need to first be downloaded to your portage overlay. Most of you will probably have one in /usr/local/portage. If you do not have this set up, you can define this in your /etc/make.conf as so:

```

PORTDIR_OVERLAY="/usr/local/portage"

```

You may want to read up a bit more on portage overlays here: http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds

To continue, you will need to create some directories in there to house these ebuilds:

```

mkdir /usr/local/portage/dev-lang/

mkdir /usr/local/portage/dev-lang/tcl

mkdir /usr/local/portage/dev-lang/tk

```

Put the TCL and TK ebuilds in their respective directories (named as above, tcl-8.5.0.ebuild and tk-8.5.0.ebuild) We need to create the digests for these ebuilds, so do as follows for each:

```

ebuild /usr/local/portage/dev-lang/tcl/tcl-8.5.0.ebuild digest

ebuild /usr/local/portage/dev-lang/tk/tk-8.5.0.ebuild digest

```

Then, we simply need to emerage these, along with (re)emerging aMSN. Note that we are passing an extra paramater to enable XFT support (this will enable us to use AA'd fonts through XFT):

```

EXTRA_ECONF="--enable-xft" emerge -av tcl tk amsn

```

Now, once those are done, you can load up the new aMSN (you may have to remove your old ~/.amsn first), you can now go into tools/preferences/appearance/choose font, and choose a nice font to use. 

That's it, enjoy!

----------

## agentwd40

works great thanks!

----------

## Nephren-Ka

 *agentwd40 wrote:*   

> works great thanks!

 

Glad to hear it   :Very Happy: 

----------

## voidzero

Yeah man, you just made my day!!!   :Cool: 

----------

## mrcs

Hi,

Just a heads up: These ebuilds fail if you have bash-3.1, see https://bugs.gentoo.org/show_bug.cgi?id=117744 (same problem, different version).

Haven't tried to apply the path to these yet though, I downgraded bash instead. Will try though!

EDIT: Forgot to thank you for these!   :Very Happy: 

UPDATE: Patch works wonders for me with both ebuilds.

----------

## Nephren-Ka

 *kireru wrote:*   

> Hi,
> 
> Just a heads up: These ebuilds fail if you have bash-3.1, see https://bugs.gentoo.org/show_bug.cgi?id=117744 (same problem, different version).
> 
> Haven't tried to apply the path to these yet though, I downgraded bash instead. Will try though!
> ...

 

I had read about that bash 3.1 problem, thanks for the info. I thought that downgrading bash to 3.0 fixed the problem? (I don't know, I use zsh). Glad it worked for you!

----------

## mrcs

Yup, downgrading bash solves the problem, as does the patch on bugzilla. So I guess it's up to the user how he/she wants to tackle the problem!

----------

## Aries-Belgium

Hi there,

when I try to emerge tcl-8.5.0 it hangs here:

```
Installing and cross-linking command (.n) docs
```

it doesn't do anything any more. I've waited for over 30 minutes now and still he doesn't go on.

Is this normal?

Can't I just disable docs from creating? There aren't any USE flags to do this with the newer tcl and tk.

----------

## mvr_rennes

 *Aries-Belgium wrote:*   

> Hi there,
> 
> when I try to emerge tcl-8.5.0 it hangs here:
> 
> ```
> ...

 

I'm having the same problem here... any tips?

Cheers,

M

----------

## kadu

good howto  :Very Happy: 

----------

## Nephren-Ka

 *Aries-Belgium wrote:*   

> Hi there,
> 
> when I try to emerge tcl-8.5.0 it hangs here:
> 
> ```
> ...

 

I have no idea why it's freezing at this stage, to be honest. The following is all that that is doing:

```

@echo "Installing and cross-linking command (.n) docs";

    @for i in $(TOP_DIR)/doc/*.n; do \

          $(UNIX_DIR)/installManPage $(MAN_FLAGS) $$i $(MANN_INSTALL_DIR); \

     done

```

It's simply installing the manpages into the gentoo-standard manpage dir that we specify earlier in the ebuild 

```
MAN_INSTALL_DIR=${D}/usr/share/man install
```

Tk has to go through the same process. Did Tk emerge OK for you? Can you paste your 'emerge --info' output for me please?

----------

## Aries-Belgium

 *Nephren-Ka wrote:*   

> 
> 
> I have no idea why it's freezing at this stage, to be honest. The following is all that that is doing:
> 
> ```
> ...

 

I don't think it hangs while doing that, because I allready commented the manpage-lines in the Makefile.in and it also hangs. So I think the problem is after the install of the man pages.

 *Nephren-Ka wrote:*   

> 
> 
> Tk has to go through the same process. Did Tk emerge OK for you? Can you paste your 'emerge --info' output for me please?

 

I haven't tried the tk installation yet, because I need to emerge tcl first.

This is my emerge --info:

```
Portage 2.0.53 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r2, 2.6.14-gentoo-r5 i686)

=================================================================

System uname: 2.6.14-gentoo-r5 i686 AMD-K7(tm) Processor

Gentoo Base System version 1.4.16

ccache version 2.3 [enabled]

dev-lang/python:     2.3.4-r1, 2.4.2

sys-apps/sandbox:    1.2.13

sys-devel/autoconf:  2.13, 2.59-r6

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1

sys-devel/libtool:   1.5.20

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-Wall -march=athlon-tbird -O2 -pipe -fforce-addr -fno-strength-reduce -funroll-loops -fexpensive-optimizations -frerun-loop-opt -frerun-cse-after-loop -falign-functions=4 -mmmx -m32"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-O2 -mcpu=i686 -pipe"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig ccache distlocks sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 3dnow X aac alsa apache2 apm audiofile avi berkdb bitmap-fonts browserplugin bzip2 cdr cgi cli crypt cups curl dba debug divx4linux dvd dvdr emboss encode ethereal exif expat flash foomaticdb fortran ftp gd gdbm gif glut gpm gstreamer gtk gtk2 hal imagemagick imlib inifile java javascript jpeg junit lcms libg++ libwww lm_sensors mad memlimit mhash mikmod mime ming mmx mng motif moznocompose moznoirc moznomail mp3 mpeg msn mysql mysqli nas ncurses nls odbc ogg oggvorbis opengl oss pam pcre pdflib perl php png ppds python qt quicktime rar readline ruby samba sdl server session shorten sndfile sockets spell spl sqlite ssl svg svga tcltk tcpd threads tidy tiff tokenizer truetype truetype-fonts type1-fonts udev usb v4l vcd verbose vhosts videos vorbis win32codecs wmf wxwindows xface xine xinerama xml xml2 xmms xprint xv xvid zip zlib userland_GNU kernel_linux elibc_glibc"

Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
```

----------

## Nephren-Ka

 *Aries-Belgium wrote:*   

>  *Nephren-Ka wrote:*   
> 
> I have no idea why it's freezing at this stage, to be honest. The following is all that that is doing:
> 
> ```
> ...

 

Well, first off...how did you make the changes to the makefile? Did you make the change to the Makefile.im and then re-tar the package, move it to your distfiles dir, and create a new digest? If so, I dont know why it would still try to install the manpages if it's commented out. 

Secondly...this may well not have anything to do with it, but you have some insane CFLAGS there, and I've seen many instances where some cause problems. Have you thought of maybe simplifying those a bit? (I doubt you'll get much if any optimization from all of those extra parameters).

----------

## Aries-Belgium

 *Nephren-Ka wrote:*   

> 
> 
> Well, first off...how did you make the changes to the makefile? Did you make the change to the Makefile.im and then re-tar the package, move it to your distfiles dir, and create a new digest? If so, I dont know why it would still try to install the manpages if it's commented out. 

 

Yes, I tar.gz-ed it back and put the file in the distfiles and than run a digest. It doesn't install the manpages but than he hangs right before he would install the manpages. So I think it goes wrong the step right after the manpages are installed. I don't know enough of the Makefile.in to know what's going on after that. Maybe you know ...

 *Nephren-Ka wrote:*   

> 
> 
> Secondly...this may well not have anything to do with it, but you have some insane CFLAGS there, and I've seen many instances where some cause problems. Have you thought of maybe simplifying those a bit? (I doubt you'll get much if any optimization from all of those extra parameters).

 

I tried it with the standard cflags for my processor and still have the same problem.

[EDIT]

Can you post a screenshot of aMSN with xft enabled? I would like to see the difference ...

----------

## Nephren-Ka

 *Aries-Belgium wrote:*   

>  *Nephren-Ka wrote:*   
> 
> Well, first off...how did you make the changes to the makefile? Did you make the change to the Makefile.im and then re-tar the package, move it to your distfiles dir, and create a new digest? If so, I dont know why it would still try to install the manpages if it's commented out.  
> 
> Yes, I tar.gz-ed it back and put the file in the distfiles and than run a digest. It doesn't install the manpages but than he hangs right before he would install the manpages. So I think it goes wrong the step right after the manpages are installed. I don't know enough of the Makefile.in to know what's going on after that. Maybe you know ...
> ...

 

Sure, you can see a screenshot of my main amsn window in this screenshot. I will take a look at the makefile and see what I can do.

----------

## zietbukuel

Worked ok, but now im not able to open more than one conversation, because it hangs....   :Evil or Very Mad:  thanks REALLY sucks...

----------

## mvr_rennes

About the hanging problem when installing TK... I've run a make install on the /var/tmp/portage/tk-8.5.0/unix dir and it

works just fine. It is likely hanging on your sed script. What is it exactly that you want to change there?

Cheers,

M

----------

## Aries-Belgium

 *mvr_rennes wrote:*   

> About the hanging problem when installing TK... I've run a make install on the /var/tmp/portage/tk-8.5.0/unix dir and it
> 
> works just fine. It is likely hanging on your sed script. What is it exactly that you want to change there?
> 
> Cheers,
> ...

 

I can't get tcl to emerge. And tk depends on tcl so tk doesn't want to emerge without tcl. I don't really want to mess up my system by compiling and installing it myself. I would like to see it work with the ebuild.

Could it be an outdated package? gcc or something?

----------

## Da Fox

I just wanted to say thanks, this really is great  :Very Happy: 

I had installed amsn .95 but it kept seg faulting, and I didn't know why, but it was because I also followed the old topic to get AA fonts, while the new amsn was linking with tcl/tk 8.4  :Smile: 

----------

## thoffmeyer

I'll have to try these out, thanks!

----------

## Hum

if you're having some problems getting tcl to compile with bash 3.1 i have generated a patch and modified the ebuild.. dump the patch in the /usr/local/portage/dev-lang/tcl/files directory. I hope i don't copy / paste this incorrectly. 

```
# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/tcl-8.5.0.ebuild,v 1.6 2005/05/09 17:35:46 gustavoz Exp $

inherit eutils

DESCRIPTION="Tool Command Language"

HOMEPAGE="http://dev.scriptics.com/software/tcltk/"

SRC_URI="mirror://sourceforge/tcl/tcl8.5a3-src.tar.gz"

LICENSE="BSD"

SLOT="0"

KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86"

IUSE="threads"

DEPEND="virtual/libc"

S=${WORKDIR}/${PN}8.5a3

pkg_setup() {

   if use threads

   then

      ewarn ""

      ewarn "PLEASE NOTE: You are compiling ${P} with"

      ewarn "threading enabled."

      ewarn "Threading is not supported by all applications"

      ewarn "that compile against tcl. You use threading at"

      ewarn "your own discretion."

      ewarn ""

      epause 5

   fi

}

src_unpack() {

   unpack ${A}

   cd ${S}

   epatch ${FILESDIR}/${PN}-8.5.0-configure.patch

}

src_compile() {

   local local_config_use=""

   if use threads

   then

      local_config_use="--enable-threads"

   fi

   cd ${S}/unix

   econf ${local_config_use} || die

   emake CFLAGS="${CFLAGS}" || die

}

src_install() {

   #short version number

   local v1

   v1=${PV%.*}

   cd ${S}/unix

   S= make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die

   # fix the tclConfig.sh to eliminate refs to the build directory

   sed -e "s,^TCL_BUILD_LIB_SPEC='-L.*/unix,TCL_BUILD_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_SRC_DIR='.*',TCL_SRC_DIR='${ROOT}/usr/$(get_libdir)/tcl${v1}/include'," \

      -e "s,^TCL_BUILD_STUB_LIB_SPEC='-L.*/unix,TCL_BUILD_STUB_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_BUILD_STUB_LIB_PATH='.*/unix,TCL_BUILD_STUB_LIB_PATH='${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_LIB_FILE='libtcl8.4..TCL_DBGX..so',TCL_LIB_FILE=\"libtcl8.4\$\{TCL_DBGX\}.so\"," \

      -e "s,^TCL_CC_SEARCH_FLAGS='\(.*\)',TCL_CC_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \

      -e "s,^TCL_LD_SEARCH_FLAGS='\(.*\)',TCL_LD_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \

      ${D}/usr/$(get_libdir)/tclConfig.sh > ${D}/usr/$(get_libdir)/tclConfig.sh.new

   mv ${D}/usr/$(get_libdir)/tclConfig.sh.new ${D}/usr/$(get_libdir)/tclConfig.sh

   # install private headers

   dodir /usr/$(get_libdir)/tcl${v1}/include/unix

   install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/unix

   dodir /usr/$(get_libdir)/tcl${v1}/include/generic

   install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/generic

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tcl.h

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclDecls.h

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclPlatDecls.h

   # install symlink for libraries

   dosym /usr/$(get_libdir)/libtcl${v1}.so /usr/$(get_libdir)/libtcl.so

   dosym /usr/$(get_libdir)/libtclstub${v1}.a /usr/$(get_libdir)/libtclstub.a

   ln -sf tclsh${v1} ${D}/usr/bin/tclsh

   cd ${S}

   dodoc README changes license.terms

}

pkg_postinst() {

   ewarn

   ewarn "If you're upgrading from tcl-8.3, you must recompile the other"

   ewarn "packages on your system that link with tcl after the upgrade"

   ewarn "completes.  To perform this action, please run revdep-rebuild"

   ewarn "in package app-portage/gentoolkit."

   ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should"

   ewarn "upgrade them before this recompilation, too,"

   ewarn

   ewarn ${S}

}

```

call this file tcl-8.5.0-configure.patch or modify the ebuild to reflect the changes

```

--- unix/configure   2006-01-11 18:56:23.000000000 -0400

+++ unix/configureback   2006-01-11 18:58:58.000000000 -0400

@@ -6406,7 +6406,7 @@

        # results, and the version is kept in special file).

 

        if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then

-      system=MP-RAS-`awk '{print }' /etc/.relid'`

+      system=MP-RAS-`awk '{print }' /etc/.relid`

        fi

        if test "`uname -s`" = "AIX" ; then

       system=AIX-`uname -v`.`uname -r`

@@ -15255,7 +15255,7 @@

        # results, and the version is kept in special file).

 

        if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then

-      system=MP-RAS-`awk '{print }' /etc/.relid'`

+      system=MP-RAS-`awk '{print }' /etc/.relid`

        fi

        if test "`uname -s`" = "AIX" ; then

       system=AIX-`uname -v`.`uname -r`

```

----------

## Nephren-Ka

 *Hum wrote:*   

> if you're having some problems getting tcl to compile with bash 3.1 i have generated a patch and modified the ebuild.. dump the patch in the /usr/local/portage/dev-lang/tcl/files directory. I hope i don't copy / paste this incorrectly. 
> 
> ```
> # Copyright 1999-2005 Gentoo Foundation
> 
> ...

 

Very nice, thanks for posting that here Hum  :Smile: 

----------

## bakkus

Unfortunately, it doesn't really work...

I removed my existing ebuild, entered the new one, digested and tried emerging.

This is what happened:

```

athlon64 tcl # emerge tcl

Calculating dependencies ...done!

>>> emerge (1 of 1) dev-lang/tcl-8.5.0 to /

>>> checksums files   ;-) tcl-8.5.0.ebuild

>>> checksums files   ;-) files/tcl-8.5.0-configure.patch

>>> checksums files   ;-) files/digest-tcl-8.5.0

>>> checksums src_uri ;-) tcl8.5a3-src.tar.gz

 * 

 * PLEASE NOTE: You are compiling tcl-8.5.0 with

 * threading enabled.

 * Threading is not supported by all applications

 * that compile against tcl. You use threading at

 * your own discretion.

 * 

>>> Unpacking source...

>>> Unpacking tcl8.5a3-src.tar.gz to /var/tmp/portage/tcl-8.5.0/work

 * Applying tcl-8.5.0-configure.patch ...

 * Failed Patch: tcl-8.5.0-configure.patch !

 *  ( /usr/local/portage/dev-lang/tcl/files/tcl-8.5.0-configure.patch )

 * 

 * Include in your bugreport the contents of:

 * 

 *   /var/tmp/portage/tcl-8.5.0/temp/tcl-8.5.0-configure.patch-30928.out

!!! ERROR: dev-lang/tcl-8.5.0 failed.

!!! Function epatch, Line 350, Exitcode 0

!!! Failed Patch: tcl-8.5.0-configure.patch!

!!! If you need support, post the topmost build error, NOT this status message.

```

The contents of /var/tmp/portage/tcl-8.5.0/temp/tcl-8.5.0-configure.patch-30928.out:

```
athlon64 tcl # cat /var/tmp/portage/tcl-8.5.0/temp/tcl-8.5.0-configure.patch-30928.out

***** tcl-8.5.0-configure.patch *****

=====================================

PATCH COMMAND:  patch -p0 -g0 --no-backup-if-mismatch < /usr/local/portage/dev-lang/tcl/files/tcl-8.5.0-configure.patch

=====================================

patching file unix/configure

Hunk #1 FAILED at 6406.

Hunk #2 FAILED at 15255.

2 out of 2 hunks FAILED -- saving rejects to file unix/configure.rej

=====================================

PATCH COMMAND:  patch -p1 -g0 --no-backup-if-mismatch < /usr/local/portage/dev-lang/tcl/files/tcl-8.5.0-configure.patch

=====================================

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- unix/configure   2006-01-11 18:56:23.000000000 -0400

|+++ unix/configureback   2006-01-11 18:58:58.000000000 -0400

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

=====================================

PATCH COMMAND:  patch -p2 -g0 --no-backup-if-mismatch < /usr/local/portage/dev-lang/tcl/files/tcl-8.5.0-configure.patch

=====================================

missing header for unified diff at line 3 of patch

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- unix/configure   2006-01-11 18:56:23.000000000 -0400

|+++ unix/configureback   2006-01-11 18:58:58.000000000 -0400

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

=====================================

PATCH COMMAND:  patch -p3 -g0 --no-backup-if-mismatch < /usr/local/portage/dev-lang/tcl/files/tcl-8.5.0-configure.patch

=====================================

missing header for unified diff at line 3 of patch

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- unix/configure   2006-01-11 18:56:23.000000000 -0400

|+++ unix/configureback   2006-01-11 18:58:58.000000000 -0400

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

=====================================

PATCH COMMAND:  patch -p4 -g0 --no-backup-if-mismatch < /usr/local/portage/dev-lang/tcl/files/tcl-8.5.0-configure.patch

=====================================

missing header for unified diff at line 3 of patch

can't find file to patch at input line 3

Perhaps you used the wrong -p or --strip option?

The text leading up to this was:

--------------------------

|--- unix/configure   2006-01-11 18:56:23.000000000 -0400

|+++ unix/configureback   2006-01-11 18:58:58.000000000 -0400

--------------------------

No file to patch.  Skipping patch.

2 out of 2 hunks ignored

```

----------

## Aries-Belgium

Okay, my problem (see above) is solved.

There were some errors while pasting the ebuild source to nano (or vim). I figured out that every rule of a function has to have a red background in vim. Changed it ... saved it ... digested it ... and emerged it ... works like a charm!

Thanks man!

[EDIT]

But I can't see that big of change in amsn then before ...

----------

## Da Fox

you also need to select a font that can be anti-aliased (a TTF) in your aMSN preferences, select for example "Bit Stream Vera". You need to do this for both the main app, and for conversation windows iirc  :Smile: 

----------

## CoffeeBuzz

Patched tcl properly for 3.1 but tk gives me

checking system version (for dynamic loading)... ./configure: line 10184: syntax error near unexpected token `('

./configure: line 10184: `    case `(ac_space=' '; set | grep ac_space) 2>&1` in'

anyone know the proper bash 3.1 (_p5-r1) syntax for that line?

----------

## Hum

hopefully this copy/pastes ok  :Smile: 

tk-8.5.0-configure.patch

```
--- unixold/configurebak        2006-01-18 21:27:37.000000000 -

+++ unix/configure      2006-01-18 21:27:44.000000000 -0400

@@ -4253,7 +4253,7 @@

            # results, and the version is kept in special file)

            if test -r /etc/.relid -a "X`uname -n`" = "X`uname

-               system=MP-RAS-`awk '{print }' /etc/.relid'`

+               system=MP-RAS-`awk '{print }' /etc/.relid`

            fi

            if test "`uname -s`" = "AIX" ; then

                system=AIX-`uname -v`.`uname -r`

```

tk-8.5.0.ebuild

```
# Copyright 1999-2006 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: $

DESCRIPTION=""

HOMEPAGE=""

SRC_URI=""

# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-lang/tk/tk-8.5.0.ebuild,v 1.5 2005/05/09 17:37:33 gustavoz Exp $

inherit eutils

DESCRIPTION="Tk Widget Set"

HOMEPAGE="http://dev.scriptics.com/software/tcltk/"

SRC_URI="mirror://sourceforge/tcl/tk8.5a3-src.tar.gz"

LICENSE="BSD"

SLOT="0"

KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 sparc x86"

IUSE="threads"

DEPEND=">=sys-apps/sed-4.0.5

   >=sys-apps/portage-2.0.47-r10

   virtual/x11

   =dev-lang/tcl-${PV}*"

S=${WORKDIR}/${PN}8.5a3

pkg_setup() {

   if use threads

   then

      ewarn ""

      ewarn "PLEASE NOTE: You are compiling ${P} with"

      ewarn "threading enabled."

      ewarn "Threading is not supported by all applications"

      ewarn "that compile against tcl. You use threading at"

      ewarn "your own discretion."

      ewarn ""

      epause 5

   fi

}

src_unpack() {

   unpack ${A}

   cd ${S}

   epatch ${FILESDIR}/tk-8.5.0-configure.patch || die

   #epatch ${FILESDIR}/${P}-man.patch || die

}

src_compile() {

   cd ${S}/unix

   local local_config_use=""

   if use threads

   then

      local_config_use="--enable-threads"

   fi

   econf \

      --with-tcl=/usr/$(get_libdir) \

      ${local_config_use} || die

   emake CFLAGS="${CFLAGS}" || die

}

src_install() {

   #short version number

   local v1

   v1=${PV%.*}

   cd ${S}/unix

   #make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die

   S= make INSTALL_ROOT=${D} install || die

   # fix the tkConfig.sh to eliminate refs to the build directory

   sed -i \

      -e "s,^\(TK_BUILD_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_SRC_DIR='\)${S}',\1/usr/$(get_libdir)/tk${v1}/include'," \

      -e "s,^\(TK_BUILD_STUB_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_BUILD_STUB_LIB_PATH='\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_CC_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

      -e "s,^\(TK_LD_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

      ${D}/usr/lib/tkConfig.sh

   # install private headers

   dodir /usr/$(get_libdir)/tk${v1}/include/unix

   install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/unix

   dodir /usr/$(get_libdir)/tk${v1}/include/generic

   install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/generic

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tk.h

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkDecls.h

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkPlatDecls.h

   # install symlink for libraries

   #dosym /usr/$(get_libdir)/libtk${v1}.a /usr/$(get_libdir)/libtk.a

   dosym /usr/$(get_libdir)/libtk${v1}.so /usr/$(get_libdir)/libtk.so

   dosym /usr/$(get_libdir)/libtkstub${v1}.a /usr/$(get_libdir)/libtkstub.a

   ln -sf wish${v1} ${D}/usr/bin/wish

   cd ${S}

   dodoc README changes license.terms

}
```

----------

## Nephren-Ka

 *Aries-Belgium wrote:*   

> Okay, my problem (see above) is solved.
> 
> There were some errors while pasting the ebuild source to nano (or vim). I figured out that every rule of a function has to have a red background in vim. Changed it ... saved it ... digested it ... and emerged it ... works like a charm!
> 
> Thanks man!
> ...

 

No problem

 *Quote:*   

> 
> 
> But I can't see that big of change in amsn then before ...

 

You need to select a nice AA'd font. In the picture I posted of my setup above, I am using Bitstream Vera Sans  :Smile: 

----------

## Aries-Belgium

Okay found out what the problem was ... I hadn't enabled anti-alias in my /etc/fonts/local.conf ... did that now and now it all working!Last edited by Aries-Belgium on Wed Jan 25, 2006 10:17 pm; edited 1 time in total

----------

## Kuhndog86

 *Aries-Belgium wrote:*   

> Okay, my problem (see above) is solved.
> 
> There were some errors while pasting the ebuild source to nano (or vim). I figured out that every rule of a function has to have a red background in vim. Changed it ... saved it ... digested it ... and emerged it ... works like a charm!
> 
> Thanks man!
> ...

 

So how do I fix the ebuild exactly?  (I don't use vim)

Thanks

----------

## revertex

to people with problems with copy/paste, try cat:

```
cat > foo.ebuild
```

then press this sequence, 

 wheelmouse button (or whatever you use to paste)

enter key

ctrl+c

don't forget the enter key before ctrl+c, ctrl+c straight will cut the last line.

@Nephren-Ka

Thank's a ton for the tip, your crystal clear instructions take me less than five minutes to accomplish.

 Therefore i hate amsn with ttf it's much more pleasant.

----------

## CoffeeBuzz

 *Hum wrote:*   

> hopefully this copy/pastes ok 
> 
> tk-8.5.0-configure.patch
> 
> ```
> ...

 

ebuild pastes fine but i'll be damned if i can EVER get a patch to copy/paste properly and work... I always have to make my own patch... anyone toss a hand? I tried the cat > blah.patch trick and many others... emacs, nano (dont use vim)... notta.

----------

## Kuhndog86

The cat trick didn't work for me either...perhaps the patches could be submitted to bugzilla if that isn't too much work.

----------

## Nephren-Ka

 *CoffeeBuzz wrote:*   

>  *Hum wrote:*   hopefully this copy/pastes ok 
> 
> tk-8.5.0-configure.patch
> 
> ```
> ...

 

Are you guys all pasting into a terminal window? It has never failed to work for me, just opening up nano in a blank term and wheel-click pasting it into the file. This is for patches, or for ebuilds.

----------

## Noyan

cat empty terminal 8 different editors and at last i wanted my friends to copy paste for me (4 friends) 

and vim still shows syntax error

Why dont u upload this ebuilds and patches?As u see all users here has syntax error...

----------

## zietbukuel

I've got this:

```
Application initialization failed: this isn't a Tk applicationunknown color name "Black"

Error in startup script: this isn't a Tk applicationunknown color name "Black"

    (default value for "-highlightcolor" in widget ".")

    invoked from within

"load /usr/lib/tk8.5/../libtk8.5.so Tk"

    ("package ifneeded" script)

    invoked from within

"package require Tk"

    (file "/usr/bin/amsn" line 46)
```

This was after I installed xorg-7.0   :Confused: 

----------

## Hum

 *zietbukuel wrote:*   

> I've got this:
> 
> ```
> Application initialization failed: this isn't a Tk applicationunknown color name "Black"
> 
> ...

 

https://forums.gentoo.org/viewtopic-t-420200-highlight-rgb+txt.html

----------

## zietbukuel

Problem fixed, now amsn starts. But i have a new peoblem... i cant open more than one conversation using tabs. if i open a conversation myself then amsn crashes/freezes but when someone else talks to me everything is ok   :Confused: 

----------

## Dikkiedik

While trying to compile TK using this howto I get the following error:

```

/lib   --build=i386-pc-linux-gnu --enable-xft

configure: WARNING: you should use --build, --host, --target

configure: WARNING: invalid host type:

checking for Tcl configuration... found /usr/lib/tclConfig.sh

checking for existence of /usr/lib/tclConfig.sh... loading

configure: error: /usr/lib/tclConfig.sh is for Tcl .

Tk 8.5a3 needs Tcl 8.5.

Use --with-tcl= option to indicate location of tclConfig.sh file for Tcl 8.5.

!!! Please attach the following file when filing a report to bugs.gentoo.org:

!!! /var/tmp/portage/tk-8.5.0/work/tk8.5a3/unix/config.log

!!! ERROR: dev-lang/tk-8.5.0 failed.

Call stack:

  ebuild.sh, line 1894:   Called dyn_compile

  ebuild.sh, line 941:   Called src_compile

  tk-8.5.0.ebuild, line 55:   Called econf 'compile'

!!! econf failed

!!! If you need support, post the topmost build error, and the call stack if relevant.

```

Could anybody help me with this?

----------

## Dikkiedik

The file : tclConfig.sh seems to be empty.

So, that may be the problem.

How do I fix this?

----------

## Dikkiedik

If you get the same error as I have try the tcl-8.5a1 sources instead of tcl-8.5a3,

I edited the ebuild so it would download those, and it worked for me.

Strugled with it for 2 days but finaly figured it out.

----------

## Dikkiedik

These are the adapted ebuilds that worked for me:

tcl-8.5.0.ebuild

```

# Copyright 1999-2005 Gentoo Foundation 

 # Distributed under the terms of the GNU General Public License v2 

 # $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/tcl-8.5.0.ebuild,v 1.6 2005/05/09 17:35:46 gustavoz Exp $ 

 

 inherit eutils 

 

 DESCRIPTION="Tool Command Language" 

 HOMEPAGE="http://dev.scriptics.com/software/tcltk/tcl8.5a1-src.tar.gz" 

 SRC_URI="ftp://ftp.tcl.tk/pub/tcl/tcl8_5/"

 #SRC_URI="http://surfnet.dl.sourceforge.net/sourceforge/tcl/tcl8.5a3-src.tar.gz" 

 #SRC_URI="mirror://sourceforge/tcl/tcl8.5a3-src.tar.gz" 

 #SRC_URI="http://prdownloads.sourceforge.net/tcl/tcl8.5a3-src.tar.gz" 

 

 

 LICENSE="BSD" 

 SLOT="0" 

 KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86" 

 IUSE="threads" 

 

 DEPEND="virtual/libc" 

 

 S=${WORKDIR}/${PN}8.5a3 

 

 pkg_setup() { 

    if use threads 

    then 

       ewarn "" 

       ewarn "PLEASE NOTE: You are compiling ${P} with" 

       ewarn "threading enabled." 

       ewarn "Threading is not supported by all applications" 

       ewarn "that compile against tcl. You use threading at" 

       ewarn "your own discretion." 

       ewarn "" 

       epause 5 

    fi 

 } 

 

 src_unpack() { 

    unpack ${A} 

    cd ${S} 

    #epatch ${FILESDIR}/${PN}-8.4.6-multilib.patch 

 } 

 

 src_compile() { 

    local local_config_use="" 

 

    if use threads 

    then 

       local_config_use="--enable-threads" 

    fi 

 

    cd ${S}/unix 

    econf ${local_config_use} || die 

    emake CFLAGS="${CFLAGS}" || die 

 } 

 

 src_install() { 

    #short version number 

    local v1 

    v1=${PV%.*} 

 

    cd ${S}/unix 

    S= make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die 

 

    # fix the tclConfig.sh to eliminate refs to the build directory 

    sed -e "s,^TCL_BUILD_LIB_SPEC='-L.*/unix,TCL_BUILD_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \ 

       -e "s,^TCL_SRC_DIR='.*',TCL_SRC_DIR='${ROOT}/usr/$(get_libdir)/tcl${v1}/include'," \ 

       -e "s,^TCL_BUILD_STUB_LIB_SPEC='-L.*/unix,TCL_BUILD_STUB_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \ 

       -e "s,^TCL_BUILD_STUB_LIB_PATH='.*/unix,TCL_BUILD_STUB_LIB_PATH='${ROOT}/usr/$(get_libdir)," \ 

       -e "s,^TCL_LIB_FILE='libtcl8.4..TCL_DBGX..so',TCL_LIB_FILE=\"libtcl8.4\$\{TCL_DBGX\}.so\"," \ 

       -e "s,^TCL_CC_SEARCH_FLAGS='\(.*\)',TCL_CC_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \ 

       -e "s,^TCL_LD_SEARCH_FLAGS='\(.*\)',TCL_LD_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \ 

       ${D}/usr/$(get_libdir)/tclConfig.sh > ${D}/usr/$(get_libdir)/tclConfig.sh.new 

    mv ${D}/usr/$(get_libdir)/tclConfig.sh.new ${D}/usr/$(get_libdir)/tclConfig.sh 

 

    # install private headers 

    dodir /usr/$(get_libdir)/tcl${v1}/include/unix 

    install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/unix 

    dodir /usr/$(get_libdir)/tcl${v1}/include/generic 

    install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/generic 

    rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tcl.h 

    rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclDecls.h 

    rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclPlatDecls.h 

 

    # install symlink for libraries 

    dosym /usr/$(get_libdir)/libtcl${v1}.so /usr/$(get_libdir)/libtcl.so 

    dosym /usr/$(get_libdir)/libtclstub${v1}.a /usr/$(get_libdir)/libtclstub.a 

 

    ln -sf tclsh${v1} ${D}/usr/bin/tclsh 

 

    cd ${S} 

    dodoc README changes license.terms 

 } 

 

 pkg_postinst() { 

    ewarn 

    ewarn "If you're upgrading from tcl-8.3, you must recompile the other" 

    ewarn "packages on your system that link with tcl after the upgrade" 

    ewarn "completes.  To perform this action, please run revdep-rebuild" 

    ewarn "in package app-portage/gentoolkit." 

    ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should" 

    ewarn "upgrade them before this recompilation, too," 

    ewarn 

    ewarn ${S} 

 } 

```

tk-8.5.0.ebuild

```

 # Copyright 1999-2005 Gentoo Foundation 

 # Distributed under the terms of the GNU General Public License v2 

 # $Header: /var/cvsroot/gentoo-x86/dev-lang/tk/tk-8.5.0.ebuild,v 1.5 2005/05/09 17:37:33 gustavoz Exp $ 

 

 inherit eutils 

 

 DESCRIPTION="Tk Widget Set" 

 HOMEPAGE="http://dev.scriptics.com/software/tcltk/" 

 SRC_URI="http://heanet.dl.sourceforge.net/sourceforge/tcl/tk8.5a3-src.tar.gz" 

 #SRC_URI="mirror://sourceforge/tcl/tk8.5a3-src.tar.gz" 

 

 

 

 LICENSE="BSD" 

 SLOT="0" 

 KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 sparc x86" 

 IUSE="threads" 

 

 DEPEND=">=sys-apps/sed-4.0.5 

    >=sys-apps/portage-2.0.47-r10 

    virtual/x11 

    =dev-lang/tcl-${PV}*" 

 

 S=${WORKDIR}/${PN}8.5a3 

 

 pkg_setup() { 

    if use threads 

    then 

       ewarn "" 

       ewarn "PLEASE NOTE: You are compiling ${P} with" 

       ewarn "threading enabled." 

       ewarn "Threading is not supported by all applications" 

       ewarn "that compile against tcl. You use threading at" 

       ewarn "your own discretion." 

       ewarn "" 

       epause 5 

    fi 

 } 

 

 src_unpack() { 

    unpack ${A} 

    cd ${S} 

    #epatch ${FILESDIR}/remove-control-v-${PV}.diff || die 

    #epatch ${FILESDIR}/${P}-man.patch || die 

 } 

 

 src_compile() { 

    cd ${S}/unix 

 

    local local_config_use="" 

 

    if use threads 

    then 

       local_config_use="--enable-threads" 

    fi 

 

    econf \ 

       --with-tcl=/usr/$(get_libdir) \ 

       ${local_config_use} || die 

 

    emake CFLAGS="${CFLAGS}" || die 

 } 

 

 src_install() { 

    #short version number 

    local v1 

    v1=${PV%.*} 

 

    cd ${S}/unix 

    #make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die 

    S= make INSTALL_ROOT=${D} install || die 

 

    # fix the tkConfig.sh to eliminate refs to the build directory 

    sed -i \ 

       -e "s,^\(TK_BUILD_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \ 

       -e "s,^\(TK_SRC_DIR='\)${S}',\1/usr/$(get_libdir)/tk${v1}/include'," \ 

       -e "s,^\(TK_BUILD_STUB_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \ 

       -e "s,^\(TK_BUILD_STUB_LIB_PATH='\)${S}/unix,\1/usr/$(get_libdir)," \ 

       -e "s,^\(TK_CC_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \ 

       -e "s,^\(TK_LD_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \ 

       ${D}/usr/lib/tkConfig.sh 

 

    # install private headers 

    dodir /usr/$(get_libdir)/tk${v1}/include/unix 

    install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/unix 

    dodir /usr/$(get_libdir)/tk${v1}/include/generic 

    install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/generic 

    rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tk.h 

    rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkDecls.h 

    rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkPlatDecls.h 

 

    # install symlink for libraries 

    #dosym /usr/$(get_libdir)/libtk${v1}.a /usr/$(get_libdir)/libtk.a 

    dosym /usr/$(get_libdir)/libtk${v1}.so /usr/$(get_libdir)/libtk.so 

    dosym /usr/$(get_libdir)/libtkstub${v1}.a /usr/$(get_libdir)/libtkstub.a 

 

    ln -sf wish${v1} ${D}/usr/bin/wish 

 

    cd ${S} 

    dodoc README changes license.terms 

 } 

```

----------

## aVirulence

 *Kuhndog86 wrote:*   

> The cat trick didn't work for me either...perhaps the patches could be submitted to bugzilla if that isn't too much work.

 

Yeah, that would be great. It doesn't work for me neither.. 

Thanks

----------

## HTS

Working great dude, Thanks !

----------

## Dikkiedik

I've figured out a workaround for the empty config.sh file.. comment out the part in the tcl ebuild which say : 

"fix the tclConfig.sh to eliminate refs to the build directory" 

and then simoltaniously build tcl and tk. ^_^

----------

## mettallicat

i've got this :'(

```

darkmobile tcl # ebuild tcl-8.5.0.ebuild digest

>>> Generating the digest file...

<<<

Traceback (most recent call last):

  File "/usr/sbin/ebuild", line 81, in ?

    a = portage.doebuild(ebuild, arg, portage.root, tmpsettings, debug=debug, cleanup=("noauto" not in portage.features), tree=mytree)

  File "/usr/lib/portage/pym/portage.py", line 2866, in doebuild

    return (not digestgen(aalist,mysettings,overwrite=1))

  File "/usr/lib/portage/pym/portage.py", line 2127, in digestgen

    mydigests=digestCreate(myarchives, basedir, oldDigest=myolddigest)

  File "/usr/lib/portage/pym/portage.py", line 2053, in digestCreate

    mydigests[x] = portage_checksum.perform_multiple_checksums(myfile, hashes=portage_const.MANIFEST1_HASH_FUNCTIONS)

  File "/usr/lib/portage/pym/portage_checksum.py", line 158, in perform_multiple_checksums

    rVal[x] = perform_checksum(filename, hashfunc_map[x], calc_prelink)[0]

  File "/usr/lib/portage/pym/portage_checksum.py", line 140, in perform_checksum

    raise e

IOError: [Errno 21] Is a directory: '/usr/portage/distfiles'

```

----------

## mahound

 *bakkus wrote:*   

> Unfortunately, it doesn't really work...
> 
> I removed my existing ebuild, entered the new one, digested and tried emerging.
> 
> This is what happened:
> ...

 

Well... same happened to me. I made a patch from scratch:

```
--- unix/configure      2005-06-04 22:07:14.000000000 +0100

+++ unix/configure.new  2006-03-26 13:22:39.000000000 +0100

@@ -6406,7 +6406,7 @@

            # results, and the version is kept in special file).

            if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then

-               system=MP-RAS-`awk '{print }' /etc/.relid'`

+               system=MP-RAS-`awk '{print }' /etc/.relid`

            fi

            if test "`uname -s`" = "AIX" ; then

                system=AIX-`uname -v`.`uname -r`

@@ -15255,7 +15255,7 @@

            # results, and the version is kept in special file).

            if test -r /etc/.relid -a "X`uname -n`" = "X`uname -s`" ; then

-               system=MP-RAS-`awk '{print }' /etc/.relid'`

+               system=MP-RAS-`awk '{print }' /etc/.relid`

            fi

            if test "`uname -s`" = "AIX" ; then

                system=AIX-`uname -v`.`uname -r`

```

And it works... (no idea why... patches look alike)...

EDIT: Well, it looks as a copy/paste problem...

----------

## PiRmD

Thanks so much it works like a charm here !

A little question anyway, I read here http://amsn.sourceforge.net/forums/viewtopic.php?t=481 that this new version of Tcl/Tk should also allow the use of SCIM to input Chinese. I still can not succed in having SCIM working. Have some of you tried it?

As a side note I also cannot input French letters like ê or ë (I get a ^e and "e). Is it a misconfiguration of my own or a limitation of Tcl/Tk?

----------

## HTS

Dudes, your patches look complicated and copy/paste often messes up the patches...

So I have hosted ebuilds that work directly with bash 3.1.

The modification was just one line in each according to what I found in Bugzilla,

Worked here but I've done so many things before... I'm not sure they'll work for everyone, give me some feedback please!

Thanks to truc for his comment on tabulations.

Here are the ebuilds:

tcl-8.5.0.ebuild

tk-8.5.0.ebuildLast edited by HTS on Sun Jun 18, 2006 10:04 pm; edited 2 times in total

----------

## truc

```
emerge -DNutav world

These are the packages that would be merged, in reverse order:

Calculating world dependencies... done!

[nomerge      ] net-im/amsn-0.95-r2  USE="gnome imlib -kde -xmms" 

[ebuild     U ]  dev-lang/tk-8.5.0 [8.4.13] USE="-threads" 0 kB [2] 

[ebuild  N    ]   virtual/x11-7.0-r2  0 kB 

[ebuild  N    ]    x11-misc/gccmakedep-1.0.2  USE="-debug" 68 kB 

[ebuild  N    ]    x11-libs/liboldX-1.0.1  USE="-debug" 210 kB 

[ebuild  N    ]    x11-libs/libXTrap-1.0.0  USE="-debug" 214 kB 

[ebuild  N    ]    x11-libs/libXevie-1.0.1  USE="-debug" 219 kB 

[ebuild  N    ]    x11-themes/xcursor-themes-1.0.1  USE="-debug" 2,204 kB 

[ebuild  N    ]     x11-apps/xcursorgen-1.0.1  USE="-debug" 80 kB 

[ebuild  N    ]    x11-apps/xsetroot-1.0.1  USE="-debug" 75 kB 

[ebuild  N    ]    x11-libs/libXprintAppUtil-1.0.1  USE="-debug" 203 kB 

[ebuild  N    ]     x11-libs/libXprintUtil-1.0.1  USE="-debug" 218 kB 

[ebuild  N    ]    x11-libs/libXvMC-1.0.2  USE="-debug" 224 kB 

[ebuild  N    ]    x11-apps/xdm-1.0.4  USE="xprint -debug -ipv6 -pam" 354 kB 

[ebuild  N    ]    x11-themes/gentoo-xcursors-0.3.1  1,168 kB 

[ebuild     U ]  dev-lang/tcl-8.5.0 [8.4.13] USE="-threads" 0 kB [2] 

Total size of downloads: 5,245 kB

Portage overlays:

 [1] /usr/local/overlays/portage

 [2] /usr/local/overlays/test

Would you like to merge these packages? [Yes/No] 

```

Why does it want to install virtual/x11-7.0-r2  and then all it dependencies! I don't want that! Anything I can do?Last edited by truc on Sun Jun 18, 2006 10:28 pm; edited 3 times in total

----------

## Priyantha Bleeker

When you using tcl tk 8.5.x then you have to look to this page to get TLS working with amsn  :Smile: 

http://permalink.gmane.org/gmane.network.instant-messaging.amsn.devel/4402

It helped me a lot  :Smile: 

Now I can use tls without any problems.

----------

## HTS

Truc,

Yep you're right about the 3 spaces, copy/paste from Firefow always does that... I hadn't noticed

Hopefully it's corrected now.

(It didn't prevent them from working though  :Wink: )

For your dependency problem, what version of Xorg are you currently using? If Modular X is masked it shouldn't pop up in the emerge world...

----------

## truc

 *truc wrote:*   

> 
> 
> ```
> emerge -DNutav world
> 
> ...

 

well actually I took example in the previous ebuild of tk and tcl, and have no longer all theses dependencies:

```
# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-lang/tk/tk-8.5.0.ebuild,v 1.5 2005/05/09 17:37:33 gustavoz Exp $

inherit eutils

DESCRIPTION="Tk Widget Set"

HOMEPAGE="http://dev.scriptics.com/software/tcltk/"

SRC_URI="mirror://sourceforge/tcl/tk8.5a3-src.tar.gz"

LICENSE="BSD"

SLOT="0"

KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 sparc x86"

IUSE="threads"

RDEPEND="|| ( x11-libs/libX11 virtual/x11 )

    ~dev-lang/tcl-${PV}"

DEPEND="${RDEPEND}

    >=sys-apps/sed-4.0.5

    >=sys-apps/portage-2.0.47-r10

    || (

        ( x11-libs/libXt x11-proto/xproto )

        virtual/x11

    )"

S=${WORKDIR}/${PN}8.5a3

pkg_setup() {

    if use threads

    then

        ewarn ""

        ewarn "PLEASE NOTE: You are compiling ${P} with"

        ewarn "threading enabled."

        ewarn "Threading is not supported by all applications"

        ewarn "that compile against tcl. You use threading at"

        ewarn "your own discretion."

        ewarn ""

        epause 5

    fi

}

src_unpack() {

    unpack ${A}

    cd ${S}

    #epatch ${FILESDIR}/remove-control-v-${PV}.diff || die

    #epatch ${FILESDIR}/${P}-man.patch || die

    sed -i -e "s/relid'/relid/" "${S}"/unix/configure

}

src_compile() {

    cd ${S}/unix

    local local_config_use=""

    if use threads

    then

        local_config_use="--enable-threads"

    fi

    

    econf \

        --with-tcl=/usr/$(get_libdir) \

        ${local_config_use} || die

    emake CFLAGS="${CFLAGS}" || die

}                                                                                                                                                                                              

src_install() {

    #short version number

    local v1

    v1=${PV%.*}

    cd ${S}/unix

    #make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die

    S= make INSTALL_ROOT=${D} install || die

    # fix the tkConfig.sh to eliminate refs to the build directory

    sed -i \

        -e "s,^\(TK_BUILD_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

        -e "s,^\(TK_SRC_DIR='\)${S}',\1/usr/$(get_libdir)/tk${v1}/include'," \

        -e "s,^\(TK_BUILD_STUB_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

        -e "s,^\(TK_BUILD_STUB_LIB_PATH='\)${S}/unix,\1/usr/$(get_libdir)," \

        -e "s,^\(TK_CC_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

        -e "s,^\(TK_LD_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

        ${D}/usr/lib/tkConfig.sh

    # install private headers

    dodir /usr/$(get_libdir)/tk${v1}/include/unix

    install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/unix

    dodir /usr/$(get_libdir)/tk${v1}/include/generic

    install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/generic

    rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tk.h

    rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkDecls.h

    rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkPlatDecls.h

    # install symlink for libraries

    #dosym /usr/$(get_libdir)/libtk${v1}.a /usr/$(get_libdir)/libtk.a

    dosym /usr/$(get_libdir)/libtk${v1}.so /usr/$(get_libdir)/libtk.so

    dosym /usr/$(get_libdir)/libtkstub${v1}.a /usr/$(get_libdir)/libtkstub.a

    ln -sf wish${v1} ${D}/usr/bin/wish

    cd ${S}

    dodoc README changes license.terms

}

```

and 

```
...
```

EDIT: erf I don't think I modified tcl ebuild  :Smile: 

And it's running smoothly, thanks again for the good work  :Smile: 

----------

## HTS

Edited ebuilds for version 8.5a4 of tcl and tk:

tcl-8.5.0.ebuild

tk-8.5.0.ebuild

NOTE: The fix for bash3.1 is included in this version.

----------

## truc

I also use 

```
DEPEND=">=sys-apps/sed-4.0.5

    >=sys-apps/portage-2.0.47-r10

    =dev-lang/tcl-${PV}*

    || (

        ( x11-libs/libXt x11-proto/xproto )

        virtual/x11

        )"

```

 for the tk ebuild, otherwise I had lot of useless dependency due to virtual/x11 ( see my previous post

And, I've just learned a little trick that put the EXTRA_ECONF="--enable-xft"  automaticaly for the package you want:

```
for pkg in {dev-lang/tk,dev-lang/tcl,net-im/amsn} ; do mkdirhier /etc/portage/env/${pkg%/*} ; echo "EXTRA_ECONF=\"--enable-xft\"" >> /etc/portage/env/$pkg ; done
```

Next time tk, tcl or amsn will be emerged, it will be with the EXTRA_ECONF="--enable-xft"  :Smile:  (obviously you can do that with whatever you want, USE, CFLAGS, LDFLAGS and so on )Last edited by truc on Thu Jul 13, 2006 7:53 am; edited 1 time in total

----------

## HTS

Nice hacks  :Wink: 

Thanks, I'll do that too.

----------

## CoffeeBuzz

Not sure if I'm using an outdated tk 8.5 ebuild but graphviz compile failed claiming tkUnixPort.h didnt exist. I created a link from unix/tkUnixPort.h to generic/tkUnixPort.h to fix the issue. (not sure if this is a graphviz bug, no idea if tk8.4 puts the file in the same place as 8.5)

----------

## HTS

Yep CoffeBuzz you are using obsolete ebuilds, probably 8.5a3, the path to some include files was broken in a3 and fixed in a4 if I remember well.

Anyway the problem comes from tcl/tk.

----------

## CoffeeBuzz

 *Priyantha Bleeker wrote:*   

> When you using tcl tk 8.5.x then you have to look to this page to get TLS working with amsn 
> 
> http://permalink.gmane.org/gmane.network.instant-messaging.amsn.devel/4402
> 
> It helped me a lot 
> ...

 

What is TLS exactly?

----------

## HTS

Transport Layer Security

Apparently similar to SSL

http://en.wikipedia.org/wiki/Secure_Sockets_Layer

----------

## soya

After emerging tcl, tk and amsn-svn i'm getting involved in this trouble

```

You can't load tkcximage....

```

I'm using amsn-svn (but also tried the stable versio 0.96Rc1, 0.96 etc). tcl tk version is

```

dev-lang/tcl-8.5 (tcl8.5a4)

tk-8.5 (tk8.5a4)

tls-1.5.0

```

Also have tried compiling the libraries with/without debug support etc..

This seems ok

```

paupc ~ # ls -l /usr/lib/libtclstub.a

lrwxrwxrwx 1 root root 24 oct  5 02:08 /usr/lib/libtclstub.a -> /usr/lib/libtclstub8.5.a

paupc ~ # ls /usr/lib/libtkstub.a

/usr/lib/libtkstub.a

paupc ~ # ls -l /usr/lib/libtkstub.a

lrwxrwxrwx 1 root root 23 oct  5 02:10 /usr/lib/libtkstub.a -> /usr/lib/libtkstub8.5.a

```

Also tried downloading the source tarball and compiling by hand, tried cd utils/TkCximage/ && configure etc but no luck..

I don't know what to do, i hate other msn clones, i would like to solve the problem, what can i do? thanks in advanced  :Smile: 

----------

## soya

Amsn-svn compiles fine and TkCximage.so too

```
ldd /usr/share/amsn/utils/TkCximage/TkCximage.so

        linux-gate.so.1 =>  (0xffffe000)

        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x40050000)

        libz.so.1 => /lib/libz.so.1 (0x40087000)

        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x40099000)

        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x400cc000)

        libm.so.6 => /lib/libm.so.6 (0x40189000)

        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libgcc_s.so.1 (0x401ae000)

        libc.so.6 => /lib/libc.so.6 (0x401b8000)

        /lib/ld-linux.so.2 (0x80000000) 
```

When doing this i get this errors

```
# wish

% load ./TkCximage.so

couldn't load file "./TkCximage.so": ./TkCximage.so: undefined symbol: _ZNSt15_List_node_base6unhookEv
```

----------

## Alejandro Nova

Can any 1 update the ebuild for TCL/Tk 8.5 a5?

----------

## toaster.waffle

EDIT:

Nevermind, I rebooted and things are better... Only the menu/contacts list fonts are aliased...  Improvement! *high fives*

----------

## pacho2

I am trying with this ebuilds, but antialias doesn't seem to work in amsn  :Sad: :

http://files.myopera.com/pacho/files/tcl-8.5.0.ebuild

http://files.myopera.com/pacho/files/tk-8.5.0.ebuild

If you are able to fix this... thanks a lot  :Smile: 

----------

## pacho2

media-gfx/graphviz-2.8-r2 failed to merge against new tk/tcl version with the following error:

```

 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/lib/tk8.5/include/generic -I//usr/lib/tcl8.5/include/generic -I//usr/lib/tcl8.5/include/generic -I/usr/lib/tk8.5/include/generic -DUSE_TCL_STUBS -DUSE_TK_STUBS -DPACKAGE_NAME=\"tk\" -DPACKAGE_TARNAME=\"tk\" -DPACKAGE_VERSION=\"8.5\" "-DPACKAGE_STRING=\"tk 8.5\"" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_GETATTR_NP=1 -DGETATTRNP_NOT_DECLARED=1 -DTCL_THREADS=1 -DPEEK_XCLOSEIM=1 -DTCL_SHLIB_EXT=\".so\" -DTCL_CFG_OPTIMIZED=1 -DTCL_CFG_DEBUG=1 -D_LARGEFILE64_SOURCE=1 "-DTCL_WIDE_INT_TYPE=long long" -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_PW_GECOS=1 -DHAVE_XSS=1 -DHAVE_XFT=1 -UPACKAGE_NAME -UPACKAGE_STRING -UPACKAGE_TARNAME -UPACKAGE_VERSION -O2 -pipe -fomit-frame-pointer -march=pentium-m -mfpmath=sse -msse3 -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall -ffast-math -c tkspline.c  -fPIC -DPIC -o .libs/tkspline.o

In file included from /usr/lib/tk8.5/include/generic/tkInt.h:27,

                 from tkspline.c:22:

/usr/lib/tk8.5/include/generic/tkPort.h:32:25: error: tkUnixPort.h: No such file or directory

make[4]: *** [tkspline.lo] Error 1

make[4]: se sale del directorio `/var/tmp/portage/graphviz-2.8-r2/work/graphviz-2.8/tclpkg/tkspline'

make[3]: *** [all-recursive] Error 1

make[3]: se sale del directorio `/var/tmp/portage/graphviz-2.8-r2/work/graphviz-2.8/tclpkg/tkspline'

make[2]: *** [all-recursive] Error 1

make[2]: se sale del directorio `/var/tmp/portage/graphviz-2.8-r2/work/graphviz-2.8/tclpkg'

make[1]: *** [all-recursive] Error 1

make[1]: se sale del directorio `/var/tmp/portage/graphviz-2.8-r2/work/graphviz-2.8'

make: *** [all] Error 2

```

----------

## pacho2

What about this?

Anybody has amsn with antialiased fonts? What ebuild has he used?

Thanks

----------

## pacho2

Nothing?  :Neutral: 

----------

## HTS

Working here... with amsn from svn. Didn't try with 0.96 though.

The ebuild for amsn-svn is in zugaina's overlay.

If you use layman: layman -a zugaina

I used my same old ebuilds updated for 8.5a5.

Edited ebuilds for version 8.5a5 of tcl and tk:

tcl-8.5.0.ebuild

tk-8.5.0.ebuild

Redigest and recompile:

```
EXTRA_ECONF="--enable-xft" emerge -av tcl tk amsn-svn
```

Looking nice with Dejavu-Sans font and emerald theme

EDIT: however, pixmapmenu is *very* broken at the moment, don't even try to enable it in Chameleon...

EDIT2: actually, the whole chameleon plugin is broken in amsn-svn, just don't use it till it's updated

EDIT3: haha, tested with amsn 0.96 to which I actually reverted. My old theme looked so much better and I really hate those frames around the groups. And the pixmap menus work in here. Screenshot

----------

## HTS

Oh, by the way, Pacho2, have a closer look at your error when you build graphiz...

They actually moved the file tkUnixPort.h. You can either fix the include in the source or link the file to its old location:

```
ln -s /usr/lib/tk8.5/include/unix/tkUnixPort.h /usr/lib/tk8.5/include/generic/
```

! check out the number of views of this topic !

LOL

----------

## pacho2

Ok, I will try with them now  :Smile: 

Why don't you try to add an "xft" USE flag?

Thanks a lot  :Smile: 

----------

## aproan

I think the site http://evaost4.free.fr/ is dead right now, couldn't manage to install your ebuilds.

By the way, ive tried several tutorials on doing this and i always get this, it's quite wierd.

```
>>> Unpacking tcl8.5a3-src.tar.gz to /var/tmp/portage/dev-lang/tcl-8.5.0/work

gzip: stdin: not in gzip format

tar: Child returned status 1

tar: Error exit delayed from previous errors

!!! ERROR: dev-lang/tcl-8.5.0 failed.

Call stack:

  ebuild.sh, line 1614:   Called dyn_unpack

  ebuild.sh, line 751:   Called qa_call 'src_unpack'

  environment, line 3036:   Called src_unpack

  tcl-8.5.0.ebuild, line 37:   Called unpack 'tcl8.5a3-src.tar.gz'

  ebuild.sh, line 423:   Called die

!!! failure unpacking tcl8.5a3-src.tar.gz

!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! A complete build log is located at '/var/tmp/portage/dev-lang/tcl-8.5.0/temp/build.log'.

!!! This ebuild is from an overlay: '/usr/local/portage'
```

----------

## HTS

It was temporarily down. Free hosting sucks  :Wink:  Hope you get it to work.

----------

## aproan

I was able to get the ebuilds.

However, they don't seem to work that well. They seem to replace in /usr/portage/distfiles the .tar.gz with some wierd .tar.gz (HTML document) that is only 971Kbs.

I've even tried to download (using wget) the tar file but it gets overwritten when i do the emerge. Can I tell the ebuild not to download anything but just to proceed? I have tried commenting on the SRC_URI line but that didnt help

----------

## HTS

Don't really know what you're doing wrong...

The archive is fetched correctly here:

```
>>> Downloading 'http://ufpr.dl.sourceforge.net/sourceforge/tcl/tcl8.5a5-src.tar.gz'

--00:20:11--  http://ufpr.dl.sourceforge.net/sourceforge/tcl/tcl8.5a5-src.tar.gz

           => `/usr/portage/distfiles/tcl8.5a5-src.tar.gz'

Resolving ufpr.dl.sourceforge.net... 200.17.202.1

Connecting to ufpr.dl.sourceforge.net|200.17.202.1|:80... connected.

HTTP request sent, awaiting response... 200 OK

Length: 3,997,622 (3.8M) [application/x-tar]

100%[==============================================================================================>] 3,997,622    138.10K/s    ETA 00:00
```

----------

## aproan

I think i got it to work.

I commented on these lines on my /etc/make.conf

```

#GENTOO_MIRRORS="http://gentoo.localhost.net.ar/ ftp://mirrors.localhost.net.ar/pub/mirrors/gentoo http://www.las.ic.unicamp.br/pub/gentoo/ ftp://ftp.las.ic.unicamp.br/pub/gentoo/ ftp://ftp.lug.ro/gentoo http://ftp.lug.ro/gentoo/ http://ftp.roedu.net/pub/mirrors/gentoo.org/ ftp://ftp.roedu.net/pub/mirrors/gentoo.org/ ftp://ftp.romnet.org/gentoo/ http://ftp.romnet.org/gentoo/ "

#SYNC="rsync://rsync.samerica.gentoo.org/gentoo-portage"
```

and I did:

```
EXTRA_ECONF="--enable-xft" emerge --digest -av tcl
```

Instead of doing the digest in another step. I think it is working. Wierd huh?

----------

## luker2701

 *truc wrote:*   

> 
> 
> ```
> emerge -DNutav world
> 
> ...

 

I had the same problem and to fix it I simply edited the tk-8.5.0.ebuild, which I saw in the fixed ebuild listed in this topic.  Under the DEPEND= I changed:

```
virtual/x11
```

 to be 

```
|| ( ( x11-libs/libXt x11-proto/xproto ) virtual/x11 )
```

.

As well, I had the tls1.5(0) problem, so I followed the instructions here http://permalink.gmane.org/gmane.network.instant-messaging.amsn.devel/4402

----------

## Appleman1234

Does anyone know why expect and skencil don't want to build with new tcl and tk ?

----------

## HTS

For skencil, it's rather obvious... Read the merge error:

```
Looking for tcl/tk libraries under /usr/lib ,/usr/local/lib...

   Looking for tcl/tk 8.4...

   Looking for tcl/tk 84...

   Looking for tcl/tk 8.3...

   Looking for tcl/tk 83...

   Looking for tcl/tk 8.2...

   Looking for tcl/tk 82...

   Looking for tcl/tk 8.1...

   Looking for tcl/tk 81...

   Looking for tcl/tk 8.0...

   Looking for tcl/tk 80...
```

It's not looking for 8.5 because it doesn't know it exists.

Just tell the setup.py to look for it and it works  :Razz: 

EDIT: Here is a patch for skencil to fix this issue.

skencil-0.6.17-fix-tcltk.patch

skencil-0.6.17.ebuild

Assuming your local overlay is in /usr/portage/local, copy the portage skencil to your overlay:

```

mkdir /usr/portage/local/media-gfx

cp -av /usr/portage/media-gfx/skencil /usr/portage/local/media-gfx/

```

Replace the ebuild with the one provided above and copy the patch to files:

```
cp <path_to_ebuild> /usr/portage/local/media-gfx/skencil/

cp <path_to_patch> /usr/portage/local/media-gfx/skencil/files/

ebuild /usr/portage/local/media-gfx/skencil/skencil-0.6.17.ebuild digest

emerge -av skencil
```

You're done  :Wink: 

----------

## HTS

I managed to get dev-tcltk/expect to compile against the new tcl/tk.

However, this requires quite a few steps, and there's something broken in the autotools configuration which causes the "-DHAVE_UNISTD_H" cflag not to be properly propagated to all compilation lines.

If you desperately need expect, I can tell what I did. Otherwise I suggest just waiting for a fix from upstream.

----------

## elmede

Hi there, man!!

Ok, just a quick bugfix.

As it turns out, just recently 

virtual/X11 

has been removed for portage (was being used for something like backwards compatibility with monolitic Xorg).

Could you change the dependancy in tk to something like:

x11-libs/libX11

That's it..

thanks a lot! keep up the good work!

----------

## HTS

Thanks for reporting this,

I'm sorry I don't have much time to spare for this at the moment.

I made a mental note about that and will update the ebuild online when I find a couple of minutes.

----------

## Appleman1234

Is the custom skencil ebuild extendable to the latest version of skencil ?

And can you pm me the instructions to getting expect to compile cleanly ?

----------

## spoon-man

thanks for the ebuilds

----------

## Ralgo

Hi there!!!... i have a problem  :Sad: 

dev-lang/tcl Installed versions:  8.5.0

dev-lang/tk Installed versions:  8.5.0

amsn svn installed

```
cberoiza@tarro ~ $ amsn

Error in startup script: extra characters after close-brace

    while executing

"set command [list  $self  {*}$Snit_optionInfo(configure-$option)  $option]

            "

    (procedure "snit::RT.CacheConfigureCommand" line 36)

    invoked from within

"snit::RT.CacheConfigureCommand  $type $selfns $win $self $option"

    (procedure "::snit::RT.method.configurelist" line 7)

    invoked from within

"::snit::RT.method.configurelist $type $selfns $win $self $args"

    (procedure "::snit::RT.method.configure" line 4)

    invoked from within

"$self configure -width $arrow1width"

    (procedure "::pixmapscrollbar::Snit_constructor" line 154)

    invoked from within

"::pixmapscrollbar::Snit_constructor ::pixmapscrollbar ::pixmapscrollbar::Snit_inst1 .plugins_log.ys .plugins_log.ys -command {.plugins_log.info yview}"

    ("eval" body line 1)

    invoked from within

"eval [linsert $arglist 0  ${type}::Snit_constructor $type $selfns $instance $instance]"

    (procedure "RT.ConstructInstance" line 9)

    invoked from within

"RT.ConstructInstance $type $selfns $name $args"

    (procedure "::snit::RT.widget.typemethod.create" line 53)

    invoked from within

"scrollbar $window.ys -command "$window.info yview""

    (procedure "::pluginslog::draw" line 12)

    invoked from within

"::pluginslog::draw"

    invoked from within

"if { $initialize_amsn == 1 } {

     ::pluginslog::draw

}"

    (file "pluginslog.tcl" line 210)

    invoked from within

"source pluginslog.tcl"

    ("uplevel" body line 27)

    invoked from within

"uplevel \#0 {

        # amsncore.tcl is already loaded but we'll re-source it here in case we manually do reload_files

        source amsncore.tcl

        source audio.tc..."

    (procedure "reload_files" line 2)

    invoked from within

"reload_files"

    (file "/usr/bin/amsn" line 250)
```

Amsn 0.96 works, svn no... Somebody help me??? :/

PD: I dont speak english so well, but i understeand any answer =)

----------

## dweezil-n0xad

searching google...

ah, a patch is needed.

patched /usr/share/amsn_dev/utils/snit/snit2.tcl with this:

```
--- snit2.orig.tcl      2007-05-28 14:04:25.000000000 +0100

+++ snit2.tcl   2007-05-28 14:04:35.000000000 +0100

@@ -3145,7 +3145,7 @@

                 # WHD: Snit 2.0 code -- simpler, no slower.

                 set command [list \

                                  $self \

-                                 {*}$Snit_optionInfo(configure-$option) \

+                                 {expand}$Snit_optionInfo(configure-$option) \

                                  $option]

             } 
```

hmmz, now amsn starts but tk gives an error.

searching the amsn forum...

ahh

 *Quote:*   

> This bug was caused by the fact that tcl/tk changed the syntax of the language between a5 and a6 (I think) and this caused aMSN to bug, so we had to fix snit ourselves, which makes it bug for people using earlier version of tcl/tk 8.5 (before they changed the language syntax). We chose to make it compatible only with the latest version of tcl/tk 8.5 because any previous version has a bug that causes aMSN to have a huge memory leak caused by Tk itself. So everyone should either use a stable version, or use the latest version.

 I guess we have to update tcl/tk to the latest version. 

Trying tcl/tk 8.5a6...

...

...tada.wav! svn amsn works.

You will need to edit the tcl and tk ebuilds. change SRC_URI and WORKDIR in the ebuilds, or simply use these:

tcl-8.5a6 ebuild

tk-8.5.a6 ebuild

re-digest en rebuild.

done   :Smile: 

----------

## Appleman1234

Unfortunately, this version of tk, tcl causes large memory leaks in AMSN  and apparently the CVS tk & tcl fix the problem, I haven't tested them yet, but will probably get around to it sooner or later...

----------

## Dottout

many ppl ask for amsn-svn ebuild. well, this is the one I use, with plugins and skins USEs (thanks to the original author, I modified it today due to svn host update)

```

# Copyright 1999-2006 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

ESVN_REPO_URI="https://amsn.svn.sourceforge.net/svnroot/amsn/trunk/amsn"

ESVN_PROJECT="amsn"

inherit subversion eutils

DESCRIPTION="Alvaro's Messenger client for MSN"

HOMEPAGE="http://amsn.sourceforge.net"

IUSE="debug nolibng gnome kde skins plugins"

SLOT="0"

LICENSE="GPL-2"

KEYWORDS="~alpha amd64 ~hppa ~ppc ~sparc x86"

DEPEND=">=dev-lang/tcl-8.4

   >=dev-lang/tk-8.4

   >=dev-tcltk/tls-1.4.1"

RDEPEND="${DEPEND}"

pkg_setup() {

   eerror "This is a LIVE SVN ebuild."

   eerror "That means there are NO promises it will work."

}

src_compile() {

   use debug   && myconf="$myconf --enable-debug"

   use nolibng   && myconf="$myconf --disable-libng"

   econf ${myconf} || die

   emake || die

}

src_install() {

   dodir /usr/share/amsn_dev/

   cp -a ${S}/* ${D}/usr/share/amsn_dev

   if use gnome

   then

      dodir /usr/share/applications

      cp /usr/share/amsn_cvs/amsn.desktop /usr/share/applications

      einfo "Installing GNOME/KDE Icons in /usr/share/pixmaps"

      dodir /usr/share/pixmaps

      cp -a ${S}/icons/32x32/* ${D}/usr/share/pixmaps/

   fi

   if use kde

   then

      dodir /usr/share/applnk/Internet

      cp /usr/share/amsn_cvs/amsn.desktop /usr/share/applnk/Internet/

      einfo "Installing KDE Icons in default theme"

      dodir /usr/share/pixmaps

      cp -a ${S}/icons/32x32/* ${D}/usr/share/pixmaps/

   fi

   dodir /usr/bin/

   ln -s /usr/share/amsn_dev/amsn ${D}/usr/bin/amsn_dev

   cd ${D}/usr/share/amsn_dev

   dodoc TODO README FAQ CREDITS HELP

   if use skins

   then

      einfo "Downloading and installing skins from SVN"

      svn co https://amsn.svn.sourceforge.net/amsn/trunk/amsn-extras/skins skins

      cp -r skins/* /usr/share/amsn_dev/skins/

   fi

   if use plugins

   then

      einfo "Downloading and installing plugins from SVN"

      svn co https://amsn.svn.sourceforge.net/amsn/trunk/amsn-extras/plugins plugins

      cp -r plugins/* /usr/share/amsn_dev/plugins/

   fi

}

pkg_postinst() {

   ewarn "You might have to remove ~/.amsn prior to running as user if amsn hangs on start-up."

   ewarn "Remember, this stuff is SVN only code so dont cry when"

   ewarn "I break you :)."

   ewarn "If you want to report bugs, go to our forum at http://amsn.sf.net/forums"

   ewarn "or use our IRC channel at irc.freenode.net #amsn"

   ewarn ""

   ewarn "In order to use this cvs version, run amsn_dev instead of amsn."

}

```

----------

## pask1970

Hi there.

When i try to install the amsn-svn from the Zugaina overlay, i get this

```
Calculating dependencies... done!

>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) net-im/amsn-svn-1.0 to /

 * checking ebuild checksums ;-) ...                                      [ ok ]

 * checking auxfile checksums ;-) ...                                     [ ok ]

 * checking miscfile checksums ;-) ...                                    [ ok ]

>>> Unpacking source...

 * subversion check out start -->

 *      repository: https://svn.sourceforge.net/svnroot/amsn/trunk/amsn

svn: PROPFIND request failed on '/svnroot/amsn/trunk/amsn'

svn: PROPFIND of '/svnroot/amsn/trunk/amsn': 501 Not Implemented (https://svn.sourceforge.net)

 * 

 * ERROR: net-im/amsn-svn-1.0 failed.

 * Call stack:

 *   ebuild.sh, line 1647:   Called dyn_unpack

 *   ebuild.sh, line 768:   Called qa_call 'src_unpack'

 *   ebuild.sh, line 44:   Called src_unpack

 *   ebuild.sh, line 1327:   Called subversion_src_unpack

 *   subversion.eclass, line 254:   Called subversion_fetch

 *   subversion.eclass, line 173:   Called die

 * 

 * subversion.eclass: can't fetch from https://svn.sourceforge.net/svnroot/amsn/trunk/amsn.

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-im/amsn-svn-1.0/temp/build.log'.

 * 

```

It compiled correctly until 3 days ago. Help me as i have no idea of how to deal about it   :Smile: 

Sorry for my English

----------

## Dottout

according to my previous post amsn's svn host at sourceforge has changed. so..use my ebuild or edit yourself the one in your overlay

----------

## pask1970

 *Dottout wrote:*   

> according to my previous post amsn's svn host at sourceforge has changed. so..use my ebuild or edit yourself the one in your overlay

 

Thanks   :Embarassed: 

I'm sorry, but i'm really a n00b   :Very Happy: 

----------

## Dottout

don't mind, we are here to give help  :Wink: 

----------

## phalcos

Screenshot anyone?

----------

## Dottout

here it is http://www.dottout.com/Screenshot.png

----------

## luminoso

ebuilds seam really stable.

Why not to include them on portage (hard masked or so)?

----------

## AdmiralNemo

Just in case anyone happens to run across this:

```
>>> Emerging (1 of 1) net-im/amsn-svn-9999-r1 to /

 * checking ebuild checksums ;-) ...                                                                              [ ok ]

 * checking auxfile checksums ;-) ...                                                                             [ ok ]

 * checking miscfile checksums ;-) ...                                                                            [ ok ]

 * This is a LIVE SVN ebuild.

 * That means there are NO promises it will work.

>>> Unpacking source...

 * 

 * ERROR: net-im/amsn-svn-9999-r1 failed.

 * Call stack:

 *   ebuild.sh, line 1648:   Called dyn_unpack

 *   ebuild.sh, line 768:   Called qa_call 'src_unpack'

 *   ebuild.sh, line 44:   Called src_unpack

 *   ebuild.sh, line 1328:   Called subversion_src_unpack

 *   subversion.eclass, line 254:   Called subversion_fetch

 *   subversion.eclass, line 179:   Called die

 * 

 * subversion.eclass: ESVN_REPO_URI (or specified URI) and working copy's URL are not matched.

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/net-im/amsn-svn-9999-r1/temp/build.log'.

 * This ebuild is from an overlay: '/usr/local/portage/'

 * 

```

You can correct it by removing the current source directory like so:

```
rm -rf /usr/portage/distfiles/svn-src/amsn/
```

----------

## samhob

Hi all, I have installed the tcl8.5 available on portage (I unmasked it) unfortunately some of my apps needs the libtcl8.4.so, how can I fix that thing?

thanks in advance

----------

## T-G

 *luker2701 wrote:*   

>  *truc wrote:*   
> 
> ```
> emerge -DNutav world
> 
> ...

 

...

----------

## dweezil-n0xad

Tcl/Tk 8.5b1 released.

updated ebuilds:

tcl-8.5.0.ebuild

```
# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-lang/tcl/tcl-8.5.0.ebuild,v 1.6 2005/05/09 17:35:46 gustavoz Exp $

inherit eutils

DESCRIPTION="Tool Command Language"

HOMEPAGE="http://dev.scriptics.com/software/tcltk/"

SRC_URI="mirror://sourceforge/tcl/tcl8.5b1-src.tar.gz"

#SRC_URI="http://prdownloads.sourceforge.net/tcl/tcl8.5a7-src.tar.gz"

LICENSE="BSD"

SLOT="0"

KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86"

IUSE="threads"

DEPEND="virtual/libc"

S=${WORKDIR}/${PN}8.5b1

pkg_setup() {

   if use threads

   then

      ewarn ""

      ewarn "PLEASE NOTE: You are compiling ${P} with"

      ewarn "threading enabled."

      ewarn "Threading is not supported by all applications"

      ewarn "that compile against tcl. You use threading at"

      ewarn "your own discretion."

      ewarn ""

      epause 5

   fi

}

src_unpack() {

   unpack ${A}

   cd ${S}

   #epatch ${FILESDIR}/${PN}-8.4.6-multilib.patch

}

src_compile() {

   local local_config_use=""

   if use threads

   then

      local_config_use="--enable-threads"

   fi

   cd ${S}/unix

   econf ${local_config_use} || die

   emake CFLAGS="${CFLAGS}" || die

}

src_install() {

   #short version number

   local v1

   v1=${PV%.*}

   cd ${S}/unix

   S= make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die

   # fix the tclConfig.sh to eliminate refs to the build directory

   sed -e "s,^TCL_BUILD_LIB_SPEC='-L.*/unix,TCL_BUILD_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_SRC_DIR='.*',TCL_SRC_DIR='${ROOT}/usr/$(get_libdir)/tcl${v1}/include'," \

      -e "s,^TCL_BUILD_STUB_LIB_SPEC='-L.*/unix,TCL_BUILD_STUB_LIB_SPEC='-L${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_BUILD_STUB_LIB_PATH='.*/unix,TCL_BUILD_STUB_LIB_PATH='${ROOT}/usr/$(get_libdir)," \

      -e "s,^TCL_LIB_FILE='libtcl8.4..TCL_DBGX..so',TCL_LIB_FILE=\"libtcl8.4\$\{TCL_DBGX\}.so\"," \

      -e "s,^TCL_CC_SEARCH_FLAGS='\(.*\)',TCL_CC_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \

      -e "s,^TCL_LD_SEARCH_FLAGS='\(.*\)',TCL_LD_SEARCH_FLAGS='\1:/usr/$(get_libdir)'," \

      ${D}/usr/$(get_libdir)/tclConfig.sh > ${D}/usr/$(get_libdir)/tclConfig.sh.new

   mv ${D}/usr/$(get_libdir)/tclConfig.sh.new ${D}/usr/$(get_libdir)/tclConfig.sh

   # install private headers

   dodir /usr/$(get_libdir)/tcl${v1}/include/unix

   install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/unix

   dodir /usr/$(get_libdir)/tcl${v1}/include/generic

   install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tcl${v1}/include/generic

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tcl.h

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclDecls.h

   rm -f ${D}/usr/$(get_libdir)/tcl${v1}/include/generic/tclPlatDecls.h

   # install symlink for libraries

   dosym /usr/$(get_libdir)/libtcl${v1}.so /usr/$(get_libdir)/libtcl.so

   dosym /usr/$(get_libdir)/libtclstub${v1}.a /usr/$(get_libdir)/libtclstub.a

   ln -sf tclsh${v1} ${D}/usr/bin/tclsh

   cd ${S}

   dodoc README changes license.terms

}

pkg_postinst() {

   ewarn

   ewarn "If you're upgrading from tcl-8.3, you must recompile the other"

   ewarn "packages on your system that link with tcl after the upgrade"

   ewarn "completes.  To perform this action, please run revdep-rebuild"

   ewarn "in package app-portage/gentoolkit."

   ewarn "If you have dev-lang/tk and dev-tcltk/tclx installed you should"

   ewarn "upgrade them before this recompilation, too,"

   ewarn

   ewarn ${S}

} 
```

tk-8.5.0.ebuild:

```
# Copyright 1999-2005 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/dev-lang/tk/tk-8.5.0.ebuild,v 1.5 2005/05/09 17:37:33 gustavoz Exp $

inherit eutils

DESCRIPTION="Tk Widget Set"

HOMEPAGE="http://dev.scriptics.com/software/tcltk/"

SRC_URI="mirror://sourceforge/tcl/tk8.5b1-src.tar.gz"

LICENSE="BSD"

SLOT="0"

KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ~ppc ~ppc64 sparc x86"

IUSE="threads"

DEPEND=">=sys-apps/sed-4.0.5

   >=sys-apps/portage-2.0.47-r10

   || ( ( x11-libs/libXt x11-proto/xproto ) virtual/x11 )

   =dev-lang/tcl-${PV}*"

S=${WORKDIR}/${PN}8.5b1

pkg_setup() {

   if use threads

   then

      ewarn ""

      ewarn "PLEASE NOTE: You are compiling ${P} with"

      ewarn "threading enabled."

      ewarn "Threading is not supported by all applications"

      ewarn "that compile against tcl. You use threading at"

      ewarn "your own discretion."

      ewarn ""

      epause 5

   fi

}

src_unpack() {

   unpack ${A}

   cd ${S}

   #epatch ${FILESDIR}/remove-control-v-${PV}.diff || die

   #epatch ${FILESDIR}/${P}-man.patch || die

}

src_compile() {

   cd ${S}/unix

   local local_config_use=""

   if use threads

   then

      local_config_use="--enable-threads"

   fi

   econf \

      --with-tcl=/usr/$(get_libdir) \

      ${local_config_use} || die

   emake CFLAGS="${CFLAGS}" || die

}

src_install() {

   #short version number

   local v1

   v1=${PV%.*}

   cd ${S}/unix

   #make INSTALL_ROOT=${D} MAN_INSTALL_DIR=${D}/usr/share/man install || die

   S= make INSTALL_ROOT=${D} install || die

   # fix the tkConfig.sh to eliminate refs to the build directory

   sed -i \

      -e "s,^\(TK_BUILD_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_SRC_DIR='\)${S}',\1/usr/$(get_libdir)/tk${v1}/include'," \

      -e "s,^\(TK_BUILD_STUB_LIB_SPEC='-L\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_BUILD_STUB_LIB_PATH='\)${S}/unix,\1/usr/$(get_libdir)," \

      -e "s,^\(TK_CC_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

      -e "s,^\(TK_LD_SEARCH_FLAGS='.*\)',\1:/usr/$(get_libdir)'," \

      ${D}/usr/lib/tkConfig.sh

   # install private headers

   dodir /usr/$(get_libdir)/tk${v1}/include/unix

   install -c -m0644 ${S}/unix/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/unix

   dodir /usr/$(get_libdir)/tk${v1}/include/generic

   install -c -m0644 ${S}/generic/*.h ${D}/usr/$(get_libdir)/tk${v1}/include/generic

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tk.h

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkDecls.h

   rm -f ${D}/usr/$(get_libdir)/tk${v1}/include/generic/tkPlatDecls.h

   # install symlink for libraries

   #dosym /usr/$(get_libdir)/libtk${v1}.a /usr/$(get_libdir)/libtk.a

   dosym /usr/$(get_libdir)/libtk${v1}.so /usr/$(get_libdir)/libtk.so

   dosym /usr/$(get_libdir)/libtkstub${v1}.a /usr/$(get_libdir)/libtkstub.a

   ln -sf wish${v1} ${D}/usr/bin/wish

   cd ${S}

   dodoc README changes license.terms

}  
```

----------

## rada

 *luminoso wrote:*   

> ebuilds seam really stable.
> 
> Why not to include them on portage (hard masked or so)?

 

Post the ebuilds on https://bugs.gentoo.org if they're not already there.

@dweezil: Thanks for the new ebuilds.

----------

