--- /dev/null
+diff -ru tcl3d/config_Linux tcl3d-m/config_Linux
+--- tcl3d/config_Linux 2010-08-30 15:57:56.000000000 -0400
++++ tcl3d-m/config_Linux 2016-10-30 13:28:34.080601812 -0400
+@@ -74,6 +74,8 @@
+ TKINCDIR = $(TKDIR)/include
+ TCLLIBDIR = $(TCLDIR)/lib
+ TKLIBDIR = $(TKDIR)/lib
++TCLLIBINCDIR = $(TCLLIBDIR)/tcl$(TCLVERSION)/include
++TKLIBINCDIR = $(TCLLIBDIR)/tk$(TCLVERSION)/include
+ TCLSTUBLIBS = $(TKLIBDIR)/libtkstub$(TCLVERSION)$(LIBEXT) $(TCLLIBDIR)/libtclstub$(TCLVERSION)$(LIBEXT)
+ TCLSTDLIBS = $(TKLIBDIR)/libtk$(TCLVERSION)$(LIBEXT) $(TCLLIBDIR)/libtcl$(TCLVERSION)$(LIBEXT)
+ TCLSH = tclsh$(TCLVERSION)
+@@ -84,7 +86,13 @@
+ CPDIR = csh -f cpdir
+ MKDIR = mkdir -p
+
+-INCL = -I. -I$(TCLINCDIR)
++INCL = \
++ -I. \
++ -I$(TCLINCDIR) \
++ -I$(TCLLIBINCDIR)/generic \
++ -I$(TCLLIBINCDIR)/unix \
++ -I$(TKLIBINCDIR)/generic \
++ -I$(TKLIBINCDIR)/unix
+
+ ifdef WITH_STUBS
+ TCLLIBS = $(TCLSTUBLIBS)
+diff -ru tcl3d/config_Linux64 tcl3d-m/config_Linux64
+--- tcl3d/config_Linux64 2010-12-30 16:06:48.000000000 -0500
++++ tcl3d-m/config_Linux64 2016-10-30 13:08:33.326771912 -0400
+@@ -74,6 +74,8 @@
+ TKINCDIR = $(TKDIR)/include
+ TCLLIBDIR = $(TCLDIR)/lib64
+ TKLIBDIR = $(TKDIR)/lib64
++TCLLIBINCDIR = $(TCLLIBDIR)/tcl$(TCLVERSION)/include
++TKLIBINCDIR = $(TCLLIBDIR)/tk$(TCLVERSION)/include
+ TCLSTUBLIBS = $(TKLIBDIR)/libtkstub$(TCLVERSION)$(LIBEXT) $(TCLLIBDIR)/libtclstub$(TCLVERSION)$(LIBEXT)
+ TCLSTDLIBS = $(TKLIBDIR)/libtk$(TCLVERSION)$(SHLIBEXT) $(TCLLIBDIR)/libtcl$(TCLVERSION)$(SHLIBEXT)
+ TCLSH = tclsh$(TCLVERSION)
+@@ -84,7 +86,13 @@
+ CPDIR = csh -f cpdir
+ MKDIR = mkdir -p
+
+-INCL = -I. -I$(TCLINCDIR)
++INCL = \
++ -I. \
++ -I$(TCLINCDIR) \
++ -I$(TCLLIBINCDIR)/generic \
++ -I$(TCLLIBINCDIR)/unix \
++ -I$(TKLIBINCDIR)/generic \
++ -I$(TKLIBINCDIR)/unix
+
+ ifdef WITH_STUBS
+ TCLLIBS = $(TCLSTUBLIBS)
+diff -ru tcl3d/tcl3dOsg/Makefile tcl3d-m/tcl3dOsg/Makefile
+--- tcl3d/tcl3dOsg/Makefile 2010-09-30 16:20:28.000000000 -0400
++++ tcl3d-m/tcl3dOsg/Makefile 2016-10-30 13:12:53.367593401 -0400
+@@ -308,12 +308,13 @@
+ OPT += /Od
+ endif
+ CFLAGS = $(OPT) $(PPDEFS) -I$(GL_INCDIR) -Iinclude $(INCL)
++CXXFLAGS = -fpermissive
+
+ .SUFFIXES: # Delete the default suffixes.
+ .SUFFIXES: .cpp $(OBJEXT) .h # Install our own suffixes.
+
+ .cpp$(OBJEXT):
+- $(CXX) $(CFLAGS) $<
++ $(CXX) $(CFLAGS) $(CXXFLAGS) $<
+
+ all: osg osganimation osgdb osgfx osgga osgmanipulator osgopenthreads \
+ osgparticle osgsim osgshadow osgterrain osgtext osgutil osgviewer \
--- /dev/null
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Tcl bindings to OpenGL and other 3D libraries"
+HOMEPAGE="http://www.tcl3d.org"
+SRC_URI="http://www.tcl3d.org/download/${P}.distrib/${PN}-src-${PV}.zip"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug"
+
+DEPEND="
+ >=dev-lang/swig-1.3.38:0=
+ dev-lang/tk:0=
+ dev-lang/tcl:0=
+ dev-games/ode
+ dev-games/openscenegraph
+ media-libs/libsdl
+ media-libs/ftgl
+ virtual/opengl
+ x11-libs/libXmu
+"
+
+S="${WORKDIR}/${PN}"
+PATCHES=( "${FILESDIR}/${P}-include-tk-dir-and-permissive.patch" )
+
+src_prepare() {
+ default
+
+ local _TCL_V=( $(echo 'puts [info tclversion]' | tclsh | tr '.' ' ') )
+ local _TCL_FV="${_TCL_V[0]}.${_TCL_V[1]}"
+
+ einfo "Configuring for Tcl ${_TCL_FV}"
+ sed -i \
+ -e 's:^\(TCLMAJOR\) *=\(.*\)$:\1 = '${_TCL_V[0]}':' \
+ -e 's:^\(TCLMINOR\) *=\(.*\)$:\1 = '${_TCL_V[1]}':' \
+ config_Linux* || die
+
+ # Fix libSDL link
+ sed -i -e 's:-lSDL-1\.2:-lSDL:g' tcl3dSDL/Makefile || die
+}
+
+src_compile() {
+ append-flags -fPIC
+ use debug || append-flags -DNDEBUG
+
+ # Restricting build to -j1 since it seems that if we build it in parallel,
+ # it fails with the "tcl3dOsg" project attempting to import glewdefs.i,
+ # and not finding it.
+ emake \
+ -j1 \
+ INSTDIR="/usr" \
+ OPT="${CFLAGS}" \
+ CC="$(tc-getCC) -c" \
+ CXX="$(tc-getCXX) -c" \
+ LD="$(tc-getLD)" \
+ WRAP_FTGL=1 \
+ WRAP_SDL=1 \
+ WRAP_GL2PS=0 \
+ WRAP_ODE=1
+}
+
+src_install() {
+ emake INSTDIR="${D}/usr" DESTDIR="${D}" INSTLIB="${D}/usr/$(get_libdir)" install
+}