summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-lang/tk
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-lang/tk')
-rw-r--r--dev-lang/tk/Manifest3
-rw-r--r--dev-lang/tk/files/tcl-8.5.9-gentoo-fbsd.patch13
-rw-r--r--dev-lang/tk/files/tk-8.4-lastevent.patch28
-rw-r--r--dev-lang/tk/files/tk-8.4.11-multilib.patch24
-rw-r--r--dev-lang/tk/files/tk-8.4.15-aqua.patch11
-rw-r--r--dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch12
-rw-r--r--dev-lang/tk/files/tk-8.4.9-man.patch29
-rw-r--r--dev-lang/tk/files/tk-8.5.10-conf.patch31
-rw-r--r--dev-lang/tk/files/tk-8.5.11-fedora-xft.patch13
-rw-r--r--dev-lang/tk/files/tk-8.5.11-fix-name-collision-uclibc.patch35
-rw-r--r--dev-lang/tk/files/tk-8.5.13-conf.patch25
-rw-r--r--dev-lang/tk/files/tk-8.5.13-multilib.patch12
-rw-r--r--dev-lang/tk/files/tk-8.5.14-conf.patch16
-rw-r--r--dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch12
-rw-r--r--dev-lang/tk/files/tk-configure-LANG.patch41
-rw-r--r--dev-lang/tk/metadata.xml8
-rw-r--r--dev-lang/tk/tk-8.5.17-r100.ebuild94
-rw-r--r--dev-lang/tk/tk-8.5.17.ebuild124
-rw-r--r--dev-lang/tk/tk-8.6.4-r1.ebuild139
19 files changed, 670 insertions, 0 deletions
diff --git a/dev-lang/tk/Manifest b/dev-lang/tk/Manifest
new file mode 100644
index 000000000000..6c31ec8bda8d
--- /dev/null
+++ b/dev-lang/tk/Manifest
@@ -0,0 +1,3 @@
+DIST tcl8.5.17-src.tar.gz 4546317 SHA256 4c7cd8f2e0900cb36dde899b3f9f4d5c471ee3c4f8304cf9ec71fd18cd5e98d6 SHA512 ad5ddb4cd6378fd6bbea8cd85ceb1cf90392b2e8c49fbfb3e4b35c81d3ae3e3f087697c41fcba8c8e06de1d9e7539397e26d58b864dc01ba65abe4ba4efa9568 WHIRLPOOL 7e97049eb3875bcdc33b2d8ab02b0932173916fbbdfbc7970dd3c3ed1fe520c15ed1d6106215a823b5fc6f5008f12f3ccd1525dd536ec239388e6bf459352ab6
+DIST tk8.5.17-src.tar.gz 4095985 SHA256 b517914d076fba047c4bbc02f7dd7f0b0b06d1931826ae440129162d8bba92d3 SHA512 ddadc738c2567e35d1257b59212c8a0eb70a1bf041d986bc6df3b841b51d934d79a0ef389c928223a64516a92cae3357b2c789edca9c8a626ff4c1cf320c4f4f WHIRLPOOL 431ad2d190755b997b07c8a59046c7f15a7be39cb8b162daccae8eca4c4b6e97a52d5823e7e566380935abefad347d18a28fc3a7e78892b6186ebcefce726fd3
+DIST tk8.6.4-src.tar.gz 4266426 SHA256 08f99df85e5dc9c4271762163c6aabb962c8b297dc5c4c1af8bdd05fc2dd26c1 SHA512 d0a1d1fd0938af4a9e532aa1bd4488647cff05f98e9e09b5fa16b773364a5d61030b7975541c688c7e0afc0bde60d49ce50a24d842549bab1622a0255e267909 WHIRLPOOL 8660c222d9b32d805d654ca9d9a881ec93705874790186a426fcbddf31e39316bccde4421a949684ba456351aeac619de0b7a27f39c1d3af14157d7553472801
diff --git a/dev-lang/tk/files/tcl-8.5.9-gentoo-fbsd.patch b/dev-lang/tk/files/tcl-8.5.9-gentoo-fbsd.patch
new file mode 100644
index 000000000000..022d81d3e261
--- /dev/null
+++ b/dev-lang/tk/files/tcl-8.5.9-gentoo-fbsd.patch
@@ -0,0 +1,13 @@
+diff --git a/unix/tcl.m4 b/unix/tcl.m4
+index fdd9d44..31bfca8 100644
+--- a/unix/tcl.m4
++++ b/unix/tcl.m4
+@@ -1601,7 +1601,7 @@ dnl AC_CHECK_TOOL(AR, ar)
+ # Version numbers are dot-stripped by system policy.
+ TCL_TRIM_DOTS=`echo ${VERSION} | tr -d .`
+ UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a'
+- SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so.1'
++ SHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}\$\{DBGX\}.so'
+ TCL_LIB_VERSIONS_OK=nodots
+ ;;
+ Darwin-*)
diff --git a/dev-lang/tk/files/tk-8.4-lastevent.patch b/dev-lang/tk/files/tk-8.4-lastevent.patch
new file mode 100644
index 000000000000..f93d335bf964
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4-lastevent.patch
@@ -0,0 +1,28 @@
+Source: Jeffrey Gardner (je_fro) <jeffrey.e.gardner@comcast.net> - http://overlays.gentoo.org/dev/je_fro/browser/dev-lang/tk/files/tk-8.4-lastevent.patch
+Upstream: N/A
+Reason: Fix ABI incompatibility introduced by x11-proto/xproto-7.0.13 (bug #225999)
+--- generic/tk.h.orig 2008-02-06 16:31:40.000000000 +0100
++++ generic/tk.h 2008-07-24 08:21:46.000000000 +0200
+@@ -635,17 +635,15 @@
+ *
+ *---------------------------------------------------------------------------
+ */
+-#define VirtualEvent (LASTEvent)
+-#define ActivateNotify (LASTEvent + 1)
+-#define DeactivateNotify (LASTEvent + 2)
+-#define MouseWheelEvent (LASTEvent + 3)
+-#define TK_LASTEVENT (LASTEvent + 4)
++#define VirtualEvent (MappingNotify + 1)
++#define ActivateNotify (MappingNotify + 2)
++#define DeactivateNotify (MappingNotify + 3)
++#define MouseWheelEvent (MappingNotify + 4)
++#define TK_LASTEVENT (MappingNotify + 5)
+
+ #define MouseWheelMask (1L << 28)
+-
+ #define ActivateMask (1L << 29)
+ #define VirtualEventMask (1L << 30)
+-#define TK_LASTEVENT (LASTEvent + 4)
+
+
+ /*
diff --git a/dev-lang/tk/files/tk-8.4.11-multilib.patch b/dev-lang/tk/files/tk-8.4.11-multilib.patch
new file mode 100644
index 000000000000..092b806259f2
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4.11-multilib.patch
@@ -0,0 +1,24 @@
+diff -Naur tk8.4.11.orig/unix/configure tk8.4.11/unix/configure
+--- tk8.4.11.orig/unix/configure 2005-06-30 01:43:10.000000000 +0900
++++ tk8.4.11/unix/configure 2005-07-02 23:22:35.000000000 +0900
+@@ -5721,7 +5721,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++TK_LIBRARY='$(libdir)/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)$(TK_DBGX)'
+diff -Naur tk8.4.11.orig/unix/configure.in tk8.4.11/unix/configure.in
+--- tk8.4.11.orig/unix/configure.in 2005-06-30 01:43:10.000000000 +0900
++++ tk8.4.11/unix/configure.in 2005-07-02 23:22:16.000000000 +0900
+@@ -393,7 +393,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++TK_LIBRARY='$(libdir)/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)$(TK_DBGX)'
diff --git a/dev-lang/tk/files/tk-8.4.15-aqua.patch b/dev-lang/tk/files/tk-8.4.15-aqua.patch
new file mode 100644
index 000000000000..9e6f59d12ce6
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4.15-aqua.patch
@@ -0,0 +1,11 @@
+--- unix/Makefile.in
++++ unix/Makefile.in
+@@ -468,7 +468,7 @@
+
+ AQUA_HDRS = $(MAC_OSX_DIR)/tkMacOSX.h $(GENERIC_DIR)/tkIntXlibDecls.h
+
+-AQUA_XLIB_HDRS = $(XLIB_DIR)/X11/*.h $(XLIB_DIR)/xbytes.h
++AQUA_XLIB_HDRS =
+
+ AQUA_PRIVATE_HDRS = $(MAC_OSX_DIR)/tkMacOSXPort.h $(MAC_OSX_DIR)/tkMacOSXInt.h
+
diff --git a/dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch b/dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch
new file mode 100644
index 000000000000..b427d276f06d
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4.15-tclm4-soname.patch
@@ -0,0 +1,12 @@
+diff -Naur tk8.4.15.orig/unix/tcl.m4 tk8.4.15/unix/tcl.m4
+--- tk8.4.15.orig/unix/tcl.m4 2007-05-26 01:09:54.000000000 +0900
++++ tk8.4.15/unix/tcl.m4 2007-07-21 02:16:13.000000000 +0900
+@@ -1345,7 +1345,7 @@
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+ if test "$have_dl" = yes; then
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/dev-lang/tk/files/tk-8.4.9-man.patch b/dev-lang/tk/files/tk-8.4.9-man.patch
new file mode 100644
index 000000000000..bb816f809c84
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.4.9-man.patch
@@ -0,0 +1,29 @@
+diff -Naur tk8.4.9.orig/unix/installManPage tk8.4.9/unix/installManPage
+--- tk8.4.9.orig/unix/installManPage 2004-12-07 04:46:29.000000000 +0900
++++ tk8.4.9/unix/installManPage 2005-03-02 23:36:23.252797867 +0900
+@@ -3,7 +3,7 @@
+ ZIP=:
+ while true; do
+ case $1 in
+- -s | --symlinks ) S="-s ";;
++ -s | --symlinks ) TK_S="-s ";;
+ -z | --compress ) ZIP=$2; shift ;;
+ -e | --extension ) Z=$2; shift ;;
+ -s | --suffix ) SUFFIX=$2; shift ;;
+@@ -18,7 +18,7 @@
+
+ MANPAGE=$1
+ DIR=$2
+-test -z "$S" && S="$DIR/"
++test -z "$TK_S" && TK_S="$DIR/"
+
+ # A sed script to parse the alternative names out of a man page.
+ #
+@@ -62,6 +62,6 @@
+ $ZIP $DIR/$FIRST
+ else
+ rm -f $DIR/$f $DIR/$f.*
+- ln $S$FIRST$Z $DIR/$f$Z
++ ln $TK_S$FIRST$Z $DIR/$f$Z
+ fi
+ done
diff --git a/dev-lang/tk/files/tk-8.5.10-conf.patch b/dev-lang/tk/files/tk-8.5.10-conf.patch
new file mode 100644
index 000000000000..8a6104223d9a
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5.10-conf.patch
@@ -0,0 +1,31 @@
+ unix/tcl.m4 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/unix/tcl.m4 b/unix/tcl.m4
+index 3974753..9c36eb5 100644
+--- a/unix/tcl.m4
++++ b/unix/tcl.m4
+@@ -1420,12 +1420,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+ AS_IF([test $doRpath = yes], [
+- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'])
++ CC_SEARCH_FLAGS=''])
+ LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
+ AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"])
+ AS_IF([test $do64bit = yes], [
+@@ -1452,7 +1452,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_SUFFIX=".so"
+
+- SHLIB_LD='${CC} -shared'
++ SHLIB_LD='${CC} ${CFLAGS} -shared'
+ DL_OBJS=""
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/dev-lang/tk/files/tk-8.5.11-fedora-xft.patch b/dev-lang/tk/files/tk-8.5.11-fedora-xft.patch
new file mode 100644
index 000000000000..67640db085f1
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5.11-fedora-xft.patch
@@ -0,0 +1,13 @@
+--- tk8.5.9/unix/configure.in.old 2010-09-02 20:12:14.000000000 +0200
++++ tk8.5.9/unix/configure.in 2011-02-17 13:32:22.719116636 +0100
+@@ -530,8 +530,8 @@
+ XFT_LIBS=`xft-config --libs 2>/dev/null` || found_xft="no"
+ if test "$found_xft" = "no" ; then
+ found_xft=yes
+- XFT_CFLAGS=`pkg-config --cflags xft 2>/dev/null` || found_xft="no"
+- XFT_LIBS=`pkg-config --libs xft 2>/dev/null` || found_xft="no"
++ XFT_CFLAGS=`pkg-config --cflags xft freetype2 2>/dev/null` || found_xft="no"
++ XFT_LIBS=`pkg-config --libs xft freetype2 2>/dev/null` || found_xft="no"
+ fi
+ AC_MSG_RESULT([$found_xft])
+ dnl make sure that compiling against Xft header file doesn't bomb
diff --git a/dev-lang/tk/files/tk-8.5.11-fix-name-collision-uclibc.patch b/dev-lang/tk/files/tk-8.5.11-fix-name-collision-uclibc.patch
new file mode 100644
index 000000000000..a92717ac9d8b
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5.11-fix-name-collision-uclibc.patch
@@ -0,0 +1,35 @@
+diff -Naur tk8.5.11.orig/generic/ttk/ttkTreeview.c tk8.5.11/generic/ttk/ttkTreeview.c
+--- tk8.5.11.orig/generic/ttk/ttkTreeview.c 2011-11-01 10:05:27.000000000 -0400
++++ tk8.5.11/generic/ttk/ttkTreeview.c 2012-11-04 13:23:41.000000000 -0500
+@@ -485,11 +485,11 @@
+ }
+ }
+
+-/* + unshare(objPtr) --
++/* + unshareObj(objPtr) --
+ * Ensure that a Tcl_Obj * has refcount 1 -- either return objPtr
+ * itself, or a duplicated copy.
+ */
+-static Tcl_Obj *unshare(Tcl_Obj *objPtr)
++static Tcl_Obj *unshareObj(Tcl_Obj *objPtr)
+ {
+ if (Tcl_IsShared(objPtr)) {
+ Tcl_Obj *newObj = Tcl_DuplicateObj(objPtr);
+@@ -2525,7 +2525,7 @@
+ } else { /* set column */
+ int length;
+
+- item->valuesObj = unshare(item->valuesObj);
++ item->valuesObj = unshareObj(item->valuesObj);
+
+ /* Make sure -values is fully populated:
+ */
+@@ -2826,7 +2826,7 @@
+ */
+ for (parent = item->parent; parent; parent = parent->parent) {
+ if (!(parent->state & TTK_STATE_OPEN)) {
+- parent->openObj = unshare(parent->openObj);
++ parent->openObj = unshareObj(parent->openObj);
+ Tcl_SetBooleanObj(parent->openObj, 1);
+ parent->state |= TTK_STATE_OPEN;
+ TtkRedisplayWidget(&tv->core);
diff --git a/dev-lang/tk/files/tk-8.5.13-conf.patch b/dev-lang/tk/files/tk-8.5.13-conf.patch
new file mode 100644
index 000000000000..b77b8b3ad34a
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5.13-conf.patch
@@ -0,0 +1,25 @@
+ unix/tcl.m4 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/unix/tcl.m4 b/unix/tcl.m4
+index 3974753..9c36eb5 100644
+--- a/unix/tcl.m4
++++ b/unix/tcl.m4
+@@ -1420,7 +1420,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
+@@ -1452,7 +1452,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
+ SHLIB_CFLAGS="-fPIC"
+ SHLIB_SUFFIX=".so"
+
+- SHLIB_LD='${CC} -shared'
++ SHLIB_LD='${CC} ${CFLAGS} -shared'
+ DL_OBJS=""
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/dev-lang/tk/files/tk-8.5.13-multilib.patch b/dev-lang/tk/files/tk-8.5.13-multilib.patch
new file mode 100644
index 000000000000..db3d8cc00817
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5.13-multilib.patch
@@ -0,0 +1,12 @@
+diff -Naur tk8.4.11.orig/unix/configure.in tk8.4.11/unix/configure.in
+--- tk8.4.11.orig/unix/configure.in 2005-06-30 01:43:10.000000000 +0900
++++ tk8.4.11/unix/configure.in 2005-07-02 23:22:16.000000000 +0900
+@@ -393,7 +393,7 @@
+ TCL_STUB_FLAGS="-DUSE_TCL_STUBS"
+ fi
+
+-TK_LIBRARY='$(prefix)/lib/tk$(VERSION)'
++TK_LIBRARY='$(libdir)/tk$(VERSION)'
+ PRIVATE_INCLUDE_DIR='$(includedir)'
+ HTML_DIR='$(DISTDIR)/html'
+ TK_PKG_DIR='tk$(VERSION)$(TK_DBGX)'
diff --git a/dev-lang/tk/files/tk-8.5.14-conf.patch b/dev-lang/tk/files/tk-8.5.14-conf.patch
new file mode 100644
index 000000000000..553f93f9b7dc
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5.14-conf.patch
@@ -0,0 +1,16 @@
+ unix/tcl.m4 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/unix/tcl.m4 b/unix/tcl.m4
+index 3974753..9c36eb5 100644
+--- a/unix/tcl.m4
++++ b/unix/tcl.m4
+@@ -1420,7 +1420,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch b/dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch
new file mode 100644
index 000000000000..3fdd4843136c
--- /dev/null
+++ b/dev-lang/tk/files/tk-8.5_alpha6-tclm4-soname.patch
@@ -0,0 +1,12 @@
+diff -Naur tk8.5a6.orig/unix/tcl.m4 tk8.5a6/unix/tcl.m4
+--- tk8.5a6.orig/unix/tcl.m4 2007-04-27 06:02:27.000000000 +0900
++++ tk8.5a6/unix/tcl.m4 2007-07-21 02:47:58.000000000 +0900
+@@ -1425,7 +1425,7 @@
+ # get rid of the warnings.
+ #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
+
+- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
++ SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS} -Wl,-soname,${@}'
+ DL_OBJS="tclLoadDl.o"
+ DL_LIBS="-ldl"
+ LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
diff --git a/dev-lang/tk/files/tk-configure-LANG.patch b/dev-lang/tk/files/tk-configure-LANG.patch
new file mode 100644
index 000000000000..3ef76ef911c0
--- /dev/null
+++ b/dev-lang/tk/files/tk-configure-LANG.patch
@@ -0,0 +1,41 @@
+The LANG vars aren't reset early enough so when sed tries to use [a-zA-Z] in
+option parsing, it may break.
+
+http://bugs.gentoo.org/103483
+
+--- configure
++++ configure
+@@ -54,6 +54,16 @@
+ infodir='${prefix}/info'
+ mandir='${prefix}/man'
+
++# NLS nuisances.
++# Only set these to C if already set. These must not be set unconditionally
++# because not all systems understand e.g. LANG=C (notably SCO).
++# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
++# Non-C LC_CTYPE values break the ctype check.
++if test "${LANG+set}" = set; then LANG=C; export LANG; fi
++if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
++if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
++if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
++
+ # Initialize some other variables.
+ subdirs=
+ MFLAGS= MAKEFLAGS=
+@@ -452,16 +463,6 @@
+ esac
+ done
+
+-# NLS nuisances.
+-# Only set these to C if already set. These must not be set unconditionally
+-# because not all systems understand e.g. LANG=C (notably SCO).
+-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+-# Non-C LC_CTYPE values break the ctype check.
+-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+-
+ # confdefs.h avoids OS command line length limits that DEFS can exceed.
+ rm -rf conftest* confdefs.h
+ # AIX cpp loses on an empty file, so make sure it contains at least a newline.
diff --git a/dev-lang/tk/metadata.xml b/dev-lang/tk/metadata.xml
new file mode 100644
index 000000000000..6aece7ec2ee6
--- /dev/null
+++ b/dev-lang/tk/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>tcltk</herd>
+ <upstream>
+ <remote-id type="sourceforge">tcl</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-lang/tk/tk-8.5.17-r100.ebuild b/dev-lang/tk/tk-8.5.17-r100.ebuild
new file mode 100644
index 000000000000..6763b41ba14a
--- /dev/null
+++ b/dev-lang/tk/tk-8.5.17-r100.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils flag-o-matic multilib prefix toolchain-funcs versionator virtualx
+
+MY_P="${PN}${PV/_beta/b}"
+
+DESCRIPTION="Tk Widget Set"
+HOMEPAGE="http://www.tcl.tk/"
+SRC_URI="
+ mirror://sourceforge/tcl/${MY_P}-src.tar.gz
+ mirror://sourceforge/tcl/${MY_P//tk/tcl}-src.tar.gz
+ "
+
+LICENSE="tcltk"
+SLOT="8.5"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug threads truetype aqua xscreensaver"
+
+RDEPEND="
+ !aqua? (
+ media-libs/fontconfig
+ media-libs/freetype:2
+ x11-libs/libX11
+ x11-libs/libXt
+ truetype? ( x11-libs/libXft )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ )
+ ~dev-lang/tcl-${PV}:8.5=
+ !=dev-lang/tk-8.5:0"
+DEPEND="${RDEPEND}
+ !aqua? ( x11-proto/xproto )"
+
+SPARENT="${WORKDIR}/${MY_P}"
+S="${SPARENT}"/unix
+
+DOCS=()
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-8.5.11-fedora-xft.patch \
+ "${FILESDIR}"/${PN}-8.5.13-multilib.patch
+
+ epatch "${FILESDIR}"/${PN}-8.4.15-aqua.patch
+ eprefixify Makefile.in
+
+ # Bug 125971
+ epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch
+
+ # Make sure we use the right pkg-config, and link against fontconfig
+ # (since the code base uses Fc* functions).
+ sed \
+ -e 's/FT_New_Face/XftFontOpen/g' \
+ -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \
+ -e 's:xft freetype2:xft freetype2 fontconfig:' \
+ -i configure.in || die
+ rm -f configure || die
+
+ append-cppflags \
+ -I"${WORKDIR}/${MY_P//tk/tcl}/generic" \
+ -I"${WORKDIR}/${MY_P//tk/tcl}/unix"
+
+ sed \
+ -e '/chmod/s:555:755:g' \
+ -i Makefile.in || die
+
+ tc-export CC
+
+ eautoconf
+}
+
+src_configure() {
+ local v1=$(get_version_component_range 1-2)
+ local mylibdir=$(get_libdir)
+
+ econf \
+ --with-tcl="${EPREFIX}/usr/${mylibdir}/tcl${v1}" \
+ $(use_enable threads) \
+ $(use_enable aqua) \
+ $(use_enable truetype xft) \
+ $(use_enable xscreensaver xss) \
+ $(use_enable debug symbols)
+}
+
+src_test() {
+ Xemake test
+}
+
+src_install() {
+ dolib.so libtk8.5.so
+}
diff --git a/dev-lang/tk/tk-8.5.17.ebuild b/dev-lang/tk/tk-8.5.17.ebuild
new file mode 100644
index 000000000000..6c10f4701a9d
--- /dev/null
+++ b/dev-lang/tk/tk-8.5.17.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib prefix toolchain-funcs versionator virtualx
+
+MY_P="${PN}${PV/_beta/b}"
+
+DESCRIPTION="Tk Widget Set"
+HOMEPAGE="http://www.tcl.tk/"
+SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz"
+
+LICENSE="tcltk"
+SLOT="0/8.5"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug threads truetype aqua xscreensaver"
+
+RDEPEND="
+ !aqua? (
+ media-libs/fontconfig
+ media-libs/freetype:2
+ x11-libs/libX11
+ x11-libs/libXt
+ truetype? ( x11-libs/libXft )
+ xscreensaver? ( x11-libs/libXScrnSaver )
+ )
+ ~dev-lang/tcl-${PV}:0="
+DEPEND="${RDEPEND}
+ !aqua? ( x11-proto/xproto )"
+
+SPARENT="${WORKDIR}/${MY_P}"
+S="${SPARENT}"/unix
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${PN}-8.5.11-fedora-xft.patch \
+ "${FILESDIR}"/${PN}-8.5.13-multilib.patch
+
+ epatch "${FILESDIR}"/${PN}-8.4.15-aqua.patch
+ eprefixify Makefile.in
+
+ # Bug 125971
+ epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch
+
+ # Make sure we use the right pkg-config, and link against fontconfig
+ # (since the code base uses Fc* functions).
+ sed \
+ -e 's/FT_New_Face/XftFontOpen/g' \
+ -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \
+ -e 's:xft freetype2:xft freetype2 fontconfig:' \
+ -i configure.in || die
+ rm -f configure || die
+
+ sed \
+ -e '/chmod/s:555:755:g' \
+ -i Makefile.in || die
+
+ tc-export CC
+
+ eautoconf
+}
+
+src_configure() {
+ local mylibdir=$(get_libdir)
+
+ econf \
+ --with-tcl="${EPREFIX}/usr/${mylibdir}" \
+ $(use_enable threads) \
+ $(use_enable aqua) \
+ $(use_enable truetype xft) \
+ $(use_enable xscreensaver xss) \
+ $(use_enable debug symbols)
+}
+
+src_test() {
+ Xemake test
+}
+
+src_install() {
+ #short version number
+ local v1=$(get_version_component_range 1-2)
+ local mylibdir=$(get_libdir)
+
+ S= default
+
+ # normalize $S path, bug #280766 (pkgcore)
+ local nS="$(cd "${S}"; pwd)"
+
+ # fix the tkConfig.sh to eliminate refs to the build directory
+ # and drop unnecessary -L inclusion to default system libdir
+
+ sed \
+ -e "/^TK_BUILD_LIB_SPEC=/s:-L${SPARENT}.*unix *::g" \
+ -e "/^TK_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TK_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tk${v1}/include:g" \
+ -e "/^TK_BUILD_STUB_LIB_SPEC=/s:-L${SPARENT}.*unix *::g" \
+ -e "/^TK_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TK_BUILD_STUB_LIB_PATH=/s:${SPARENT}.*unix:${EPREFIX}/usr/${mylibdir}:g" \
+ -e "/^TK_LIB_FILE=/s:'libtk${v1}..TK_DBGX..so':\"libk${v1}\$\{TK_DBGX\}.so\":g" \
+ -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
+ if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ sed \
+ -e "/^TK_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
+ -e "/^TK_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \
+ -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
+ fi
+
+ # install private headers
+ insinto /usr/${mylibdir}/tk${v1}/include/unix
+ doins "${S}"/*.h
+ insinto /usr/${mylibdir}/tk${v1}/include/generic
+ doins "${SPARENT}"/generic/*.h
+ rm -f "${ED}"/usr/${mylibdir}/tk${v1}/include/generic/{tk,tkDecls,tkPlatDecls}.h || die
+
+ # install symlink for libraries
+ dosym libtk${v1}$(get_libname) /usr/${mylibdir}/libtk$(get_libname)
+ dosym libtkstub${v1}.a /usr/${mylibdir}/libtkstub.a
+
+ dosym wish${v1} /usr/bin/wish
+
+ dodoc "${SPARENT}"/{ChangeLog*,README,changes}
+}
diff --git a/dev-lang/tk/tk-8.6.4-r1.ebuild b/dev-lang/tk/tk-8.6.4-r1.ebuild
new file mode 100644
index 000000000000..106d6f53ad09
--- /dev/null
+++ b/dev-lang/tk/tk-8.6.4-r1.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils multilib multilib-minimal prefix toolchain-funcs versionator virtualx
+
+MY_P="${PN}${PV/_beta/b}"
+
+DESCRIPTION="Tk Widget Set"
+HOMEPAGE="http://www.tcl.tk/"
+SRC_URI="mirror://sourceforge/tcl/${MY_P}-src.tar.gz"
+
+LICENSE="tcltk"
+SLOT="0/8.6"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="debug +threads truetype aqua xscreensaver"
+
+RDEPEND="
+ !aqua? (
+ >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
+ >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
+ >=x11-libs/libXt-1.1.4[${MULTILIB_USEDEP}]
+ truetype? ( >=x11-libs/libXft-2.3.1-r1[${MULTILIB_USEDEP}] )
+ xscreensaver? ( >=x11-libs/libXScrnSaver-1.2.2-r1[${MULTILIB_USEDEP}] )
+ )
+ ~dev-lang/tcl-${PV}:0=[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ !aqua? ( >=x11-proto/xproto-7.0.24[${MULTILIB_USEDEP}] )"
+
+# Not bumped to 8.6
+#RESTRICT=test
+
+SPARENT="${WORKDIR}/${MY_P}"
+S="${SPARENT}"/unix
+
+src_prepare() {
+ find \
+ "${SPARENT}"/compat/* \
+ -delete || die
+
+ epatch \
+ "${FILESDIR}"/${PN}-8.5.11-fedora-xft.patch \
+ "${FILESDIR}"/${PN}-8.5.13-multilib.patch
+
+ epatch "${FILESDIR}"/${PN}-8.4.15-aqua.patch
+ eprefixify Makefile.in
+
+ # Bug 125971
+ epatch "${FILESDIR}"/${PN}-8.5.14-conf.patch
+
+ # Make sure we use the right pkg-config, and link against fontconfig
+ # (since the code base uses Fc* functions).
+ sed \
+ -e 's/FT_New_Face/XftFontOpen/g' \
+ -e "s:\<pkg-config\>:$(tc-getPKG_CONFIG):" \
+ -e 's:xft freetype2:xft freetype2 fontconfig:' \
+ -i configure.in || die
+ rm -f configure || die
+
+ tc-export CC
+
+ sed \
+ -e '/chmod/s:555:755:g' \
+ -i Makefile.in || die
+
+ sed \
+ -e 's:-O[2s]\?::g' \
+ -i tcl.m4 || die
+
+ mv configure.{in,ac} || die
+
+ eautoconf
+
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local mylibdir=$(get_libdir)
+
+ econf \
+ --with-tcl="${EPREFIX}/usr/${mylibdir}" \
+ $(use_enable threads) \
+ $(use_enable aqua) \
+ $(use_enable truetype xft) \
+ $(use_enable xscreensaver xss) \
+ $(use_enable debug symbols)
+}
+
+multilib_src_test() {
+ Xemake test
+}
+
+multilib_src_install() {
+ #short version number
+ local v1=$(get_version_component_range 1-2)
+ local mylibdir=$(get_libdir)
+
+ S= default
+
+ # normalize $S path, bug #280766 (pkgcore)
+ local nS="$(cd "${S}"; pwd)"
+
+ # fix the tkConfig.sh to eliminate refs to the build directory
+ # and drop unnecessary -L inclusion to default system libdir
+
+ sed \
+ -e "/^TK_BUILD_LIB_SPEC=/s:-L${S}-\w*\.\w* ::g" \
+ -e "/^TK_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TK_SRC_DIR=/s:${SPARENT}:${EPREFIX}/usr/${mylibdir}/tk${v1}/include:g" \
+ -e "/^TK_BUILD_STUB_LIB_SPEC=/s:-L${S}-\w*\.\w* *::g" \
+ -e "/^TK_STUB_LIB_SPEC=/s:-L${EPREFIX}/usr/${mylibdir} *::g" \
+ -e "/^TK_BUILD_STUB_LIB_PATH=/s:${S}-\w*\.\w*:${EPREFIX}/usr/${mylibdir}:g" \
+ -e "/^TK_LIB_FILE=/s:'libtk${v1}..TK_DBGX..so':\"libk${v1}\$\{TK_DBGX\}.so\":g" \
+ -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
+ if use prefix && [[ ${CHOST} != *-darwin* && ${CHOST} != *-mint* ]] ; then
+ sed \
+ -e "/^TK_CC_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|g" \
+ -e "/^TK_LD_SEARCH_FLAGS=/s|'$|:${EPREFIX}/usr/${mylibdir}'|" \
+ -i "${ED}"/usr/${mylibdir}/tkConfig.sh || die
+ fi
+
+ # install private headers
+ insinto /usr/${mylibdir}/tk${v1}/include/unix
+ doins "${S}"/*.h
+ insinto /usr/${mylibdir}/tk${v1}/include/generic
+ doins "${SPARENT}"/generic/*.h
+ rm -f "${ED}"/usr/${mylibdir}/tk${v1}/include/generic/{tk,tkDecls,tkPlatDecls}.h || die
+
+ # install symlink for libraries
+ dosym libtk${v1}$(get_libname) /usr/${mylibdir}/libtk$(get_libname)
+ dosym libtkstub${v1}.a /usr/${mylibdir}/libtkstub.a
+
+ if multilib_is_native_abi; then
+ dosym wish${v1} /usr/bin/wish
+ dodoc "${SPARENT}"/{ChangeLog*,README,changes}
+ fi
+}