summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-tcltk/tcl3d/Manifest1
-rw-r--r--dev-tcltk/tcl3d/files/tcl3d-0.5.0-include-tk-dir-and-permissive.patch72
-rw-r--r--dev-tcltk/tcl3d/metadata.xml1
-rw-r--r--dev-tcltk/tcl3d/tcl3d-0.5.0.ebuild71
4 files changed, 145 insertions, 0 deletions
diff --git a/dev-tcltk/tcl3d/Manifest b/dev-tcltk/tcl3d/Manifest
index a5c60e4e4558..a1f72ddc38e7 100644
--- a/dev-tcltk/tcl3d/Manifest
+++ b/dev-tcltk/tcl3d/Manifest
@@ -1 +1,2 @@
DIST tcl3d-src-0.4.0.zip 1501305 SHA256 f98bee3c2ca0189780125b683481949e1499018ee56ad1d21b4e3e594e058496 SHA512 a8a525693bc45e9fb9e2167e2121d300ff60534f2bced33bb068a1075cfd8e8281dd97bd7fb432b9d6a95cdb37fc3da03c82dd1ee20e368fb8ac249ea54c30a5 WHIRLPOOL cbc1982df7a28b93249ff7877d0376b06b64261bb33f3df8c64b2c80600684529605b9eeff6f593c2e9f7c64c253066b226f0a0dae9cee21bec980f6782c7777
+DIST tcl3d-src-0.5.0.zip 3936271 SHA256 a2ecccbdb9c87fd02a7b969cc02abbf43aa51e619bd79e08dbffb8e376b6957c SHA512 24f799d5cc0ad9daf060b6b723d1197be678c0716b2099287e004221889c56da03f7368d6cd4c47dbbbbfe936b0bf65366cd452d3d9c2335cdfbae6ff3860a29 WHIRLPOOL b2a1f3d81be1bed6476652bc6fd4ed2dd3bd85a2b895c950a1298f6ed998b05f0ac02937233f352bf794818112e114f22b3d2123c99be7a6458e464ee33e1604
diff --git a/dev-tcltk/tcl3d/files/tcl3d-0.5.0-include-tk-dir-and-permissive.patch b/dev-tcltk/tcl3d/files/tcl3d-0.5.0-include-tk-dir-and-permissive.patch
new file mode 100644
index 000000000000..58efa18acdb2
--- /dev/null
+++ b/dev-tcltk/tcl3d/files/tcl3d-0.5.0-include-tk-dir-and-permissive.patch
@@ -0,0 +1,72 @@
+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 \
diff --git a/dev-tcltk/tcl3d/metadata.xml b/dev-tcltk/tcl3d/metadata.xml
index 5ae050b132cf..851c8cbb0582 100644
--- a/dev-tcltk/tcl3d/metadata.xml
+++ b/dev-tcltk/tcl3d/metadata.xml
@@ -20,6 +20,7 @@ tcl3dSDL Wrapper for the Simple DirectMedia Library.
tcl3dFTGL Wrapper for the OpenGL Font Rendering Library.
tcl3dGl2ps Wrapper for the OpenGL To Postscript library. *
tcl3dOde Wrapper for the Open Dynamics Engine.
+tcl3dOsg Wrapper for OpenSceneGraph
tcl3dGauges Tcl3D package for displaying gauges.
</longdescription>
</pkgmetadata>
diff --git a/dev-tcltk/tcl3d/tcl3d-0.5.0.ebuild b/dev-tcltk/tcl3d/tcl3d-0.5.0.ebuild
new file mode 100644
index 000000000000..fd106fc06752
--- /dev/null
+++ b/dev-tcltk/tcl3d/tcl3d-0.5.0.ebuild
@@ -0,0 +1,71 @@
+# 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
+}