dev-tcltk/tcl3d version bump to 0.5.0 and added x86 support
authorJonathan Vasquez <jvasquez1011@gmail.com>
Mon, 24 Oct 2016 01:26:47 +0000 (21:26 -0400)
committerAmy Winston <amynka@gentoo.org>
Mon, 31 Oct 2016 14:19:29 +0000 (15:19 +0100)
Gentoo-Bug: 469304,514300

dev-tcltk/tcl3d/Manifest
dev-tcltk/tcl3d/files/tcl3d-0.5.0-include-tk-dir-and-permissive.patch [new file with mode: 0644]
dev-tcltk/tcl3d/metadata.xml
dev-tcltk/tcl3d/tcl3d-0.5.0.ebuild [new file with mode: 0644]

index a5c60e4e45582bb71d2739c9e318e5e27edc592c..a1f72ddc38e76e2b59e10ace018b924b9691e472 100644 (file)
@@ -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 (file)
index 0000000..58efa18
--- /dev/null
@@ -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 \
index 5ae050b132cfc2e016332b26a76241213d49aec0..851c8cbb05820676f6d2a16ab49ff9f4956ac3cb 100644 (file)
@@ -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 (file)
index 0000000..fd106fc
--- /dev/null
@@ -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
+}