summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2023-03-18 17:45:49 +0100
committerAlfredo Tupone <tupone@gentoo.org>2023-03-18 18:06:29 +0100
commit8d69281eb3a1fd8b67bfa735b73fb4e84253c850 (patch)
treed48c334f61666f225a3e9663c9bfa8c8673a42a2 /dev-tcltk/tcl3d/tcl3d-0.5.0-r1.ebuild
parentapp-crypt/debian-archive-keyring: 2023.2 (diff)
downloadgentoo-8d69281eb3a1fd8b67bfa735b73fb4e84253c850.tar.gz
gentoo-8d69281eb3a1fd8b67bfa735b73fb4e84253c850.tar.bz2
gentoo-8d69281eb3a1fd8b67bfa735b73fb4e84253c850.zip
dev-tcltk/tcl3d: fix on musl
Closes: https://bugs.gentoo.org/831455 Signed-off-by: Alfredo Tupone <tupone@gentoo.org>
Diffstat (limited to 'dev-tcltk/tcl3d/tcl3d-0.5.0-r1.ebuild')
-rw-r--r--dev-tcltk/tcl3d/tcl3d-0.5.0-r1.ebuild92
1 files changed, 92 insertions, 0 deletions
diff --git a/dev-tcltk/tcl3d/tcl3d-0.5.0-r1.ebuild b/dev-tcltk/tcl3d/tcl3d-0.5.0-r1.ebuild
new file mode 100644
index 000000000000..b295909cdc56
--- /dev/null
+++ b/dev-tcltk/tcl3d/tcl3d-0.5.0-r1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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 ode osg sdl truetype"
+
+RDEPEND="dev-lang/tcl:0=
+ dev-lang/tk:0=
+ x11-libs/libXi
+ x11-libs/libXmu
+ virtual/opengl
+ virtual/glu
+ ode? ( dev-games/ode )
+ osg? ( dev-games/openscenegraph )
+ truetype? ( media-libs/ftgl )
+ sdl? ( media-libs/libsdl )"
+DEPEND="${RDEPEND}
+ >=dev-lang/swig-1.3.38:0=
+ app-arch/unzip"
+
+S="${WORKDIR}/${PN}"
+PATCHES=(
+ "${FILESDIR}/${P}-include-tk-dir-and-permissive.patch"
+ "${FILESDIR}/${P}-implicit.patch"
+)
+
+src_prepare() {
+ sed -i \
+ -e '/\..$(DSEP)pkgIndex.tcl/d' \
+ tcl3d*/Makefile \
+ || die
+
+ default
+}
+
+src_configure() {
+ 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]}':' \
+ -e "s:lib64:$(get_libdir):" \
+ 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
+
+ # Configure wrapper
+ local CONFIG_PLUGIN="WRAP_GL2PS="
+ use truetype || CONFIG_PLUGIN+=" WRAP_FTGL="
+ use ode || CONFIG_PLUGIN+=" WRAP_ODE="
+ use osg || CONFIG_PLUGIN+=" WRAP_OSG="
+ use sdl || CONFIG_PLUGIN+=" WRAP_SDL="
+
+ # 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)" \
+ LDOUT="${LDFLAGS} -o" \
+ SHLIB_LD="$(tc-getCC) -shared" \
+ SHLIB_LDXX="$(tc-getCXX) -shared" \
+ ${CONFIG_PLUGIN}
+}
+
+src_install() {
+ emake INSTDIR="${D}/usr" DESTDIR="${D}" INSTLIB="${D}/usr/$(get_libdir)" install
+ insinto /usr/$(get_libdir)/${PN}${PV}
+ doins pkgIndex.tcl
+}