You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-tcltk/tcl3d/tcl3d-0.5.0-r1.ebuild

93 lines
2.2 KiB

# 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
}