summaryrefslogtreecommitdiff
path: root/media-gfx/tachyon
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/tachyon')
-rw-r--r--media-gfx/tachyon/Manifest7
-rw-r--r--media-gfx/tachyon/files/tachyon-0.99_beta6-ldflags.patch13
-rw-r--r--media-gfx/tachyon/files/tachyon-0.99_beta6-shared.patch179
-rw-r--r--media-gfx/tachyon/metadata.xml11
-rw-r--r--media-gfx/tachyon/tachyon-0.99_beta6-r1.ebuild134
5 files changed, 344 insertions, 0 deletions
diff --git a/media-gfx/tachyon/Manifest b/media-gfx/tachyon/Manifest
new file mode 100644
index 000000000000..c8a66ef38511
--- /dev/null
+++ b/media-gfx/tachyon/Manifest
@@ -0,0 +1,7 @@
+AUX tachyon-0.99_beta6-ldflags.patch 939 SHA256 e1f38acbfbba9835119b88713064aaefd179a214396ea46a0ae8ee5d44046e28 SHA512 a57a66fd72295b74de7ec94bf1a0b4c75fc61c1189bf0c4eb288a274915f72c97c869b60aad167a73d78c7242821e522de22e4de99ab13a3f61367568bfb5acd WHIRLPOOL 3c7210588f055e7f20a6fa8e392106febf6236188f147756cccd636f71b901963203e758d70792be54fe0ad855bf77b4a8e14b1abf069655897c849edb03b5ff
+AUX tachyon-0.99_beta6-shared.patch 8065 SHA256 839f49108fb45d69aac09e4989bca9d667b1f374dab970a171c567c68a6de9ec SHA512 535a3e6524d6d788e1eabf73fb5cd1bbbb2cbc6fb32294895762cf2405360c40861b1813b3b15bea6f28577595bffd84607997a9964bd743722b003acc1dfd17 WHIRLPOOL 4240de75abc404df1ab0550ee1dcaad00235712c2636e84f5eb66a2fb225e925fd559768d0a393c336a4e4afeda8e398ee5fa7d1654c89d8bf7ffc05cefb9081
+DIST tachyon-0.99b6.tar.gz 2981568 SHA256 f4dcaf9c76a4f49310f56254390f9611c22e353947a1745a8c623e8bc8119b97 SHA512 4d0d707bf46528b87bfe1a05f490f40bcbee8f21271c5212247d4fd25956a27ad8a40b4621817a3f1c03495f1ba9eeb99b152929fdcd92c7118a35ef116f3f33 WHIRLPOOL b8f12422ff2ca0199b37f12cd4dde09401e7c7d5aa238b8f16f742d34af382e613cf91d1e6e2827dfc585b46ade56ec100fcad9d625a3e6c32882549b6fcb490
+EBUILD tachyon-0.99_beta6-r1.ebuild 2784 SHA256 9db85e0b440c24c59ec254914a707a1a4d6e2b483a5cd7ed55996c2710c650fa SHA512 ed925e8dcb650254e4c60f375850c89d16dbc6a75997b8360bad2fec0e645c5cc970a8cbfb7968e494a73cc5d781c65f3d073de830db8112c5e177058b0584e5 WHIRLPOOL 6565825c8ba869147be5529fab54005bc8c5e96bbe26d4d02b3aba700b206d69a4a407e402a5f84c890eea33f90077b198b3d0f7f49635990e52cc54fd253204
+MISC ChangeLog 2612 SHA256 aa0fee90a4779927b3bd6c9caf4cd50e0848ce5613f9a1b26700b1cf1faf7516 SHA512 e06bfbc16d495c3547d432daaf1a48fd020dcce89bc8b2949078d422dada32151099c9931e867bc840ed4dcbe6cc3cf4b0a693a314ab4feff3aadfada841dca3 WHIRLPOOL af8eedede776b82b8064e131c9ae6e2b49d06f3428c39ed9658df03649a50eb76be369e05f12d3d8b6c3c8ad9bcf361c8149dc8d62bda2468ce8cf48a41316f3
+MISC ChangeLog-2015 1845 SHA256 7d3a91a0d037d485a22634ccd427a3924d63cb951d8a6861b144eba29b8f76bf SHA512 de4b4e00faf7e0961bfa152f1febab805ee8dc1074c839dbbc516bfa27668d357660e5525d480c70cea67529810a015c4c1e9f9cb7c2680febcdbceeeea52996 WHIRLPOOL 45c647022c150140f532f84c315e89b0c9f624ca28326fddf75baf8a83485d7756c96bd3821b4a216a712aa8d1db0816549bdc5881d689c6e7deec73fa3fae6d
+MISC metadata.xml 339 SHA256 9132e32eb7ae057e7d13623c24b2158a2b4a2566acef821fea4d38dda13d6119 SHA512 ceba0ae3ec140c4efe0d1708243954fb3bc9804109727610079712a5ce91f5133197e61a2c3bb4dcfd6f743dcfcbc829cc68f5def0b2aa023e3eeb5dfa09a68a WHIRLPOOL ec584df1363d3ea72c0478f65700dc7811c8c60b2346d47d0cb0d48c4d4ab8d41c09e83f6156cb2ec4f70cb1b34ca7f1eff8eff12927fa8cd717a5a3ca0320ad
diff --git a/media-gfx/tachyon/files/tachyon-0.99_beta6-ldflags.patch b/media-gfx/tachyon/files/tachyon-0.99_beta6-ldflags.patch
new file mode 100644
index 000000000000..99d5b8bfb664
--- /dev/null
+++ b/media-gfx/tachyon/files/tachyon-0.99_beta6-ldflags.patch
@@ -0,0 +1,13 @@
+diff --git a/unix/Makefile b/unix/Makefile
+index 8dd0846..d2fe1ac 100644
+--- a/unix/Makefile
++++ b/unix/Makefile
+@@ -121,7 +121,7 @@ ${MGFLIB} : ../libmgf/Makefile
+ };
+
+ ${ARCHDIR}/tachyon : ${RAYLIB} ${PARSELIB} ${OBJDIR}/main.o ${OBJDIR}/getargs.o ${OBJDIR}/parse.o ${OBJDIR}/nffparse.o ${OBJDIR}/glwin.o ${OBJDIR}/spaceball.o ${OBJDIR}/trackball.o ${PARSEOBJS}
+- ${CC} ${CFLAGS} ${DEMOINC} -o ${ARCHDIR}/tachyon ${OBJDIR}/main.o ${OBJDIR}/getargs.o ${OBJDIR}/parse.o ${OBJDIR}/nffparse.o ${OBJDIR}/glwin.o ${OBJDIR}/spaceball.o ${OBJDIR}/trackball.o ${PARSEOBJS} -L${RAYLIBDIR} ${PARSELIBS} ${LIBS}
++ ${CC} ${CFLAGS} ${LDFLAGS} ${DEMOINC} -o ${ARCHDIR}/tachyon ${OBJDIR}/main.o ${OBJDIR}/getargs.o ${OBJDIR}/parse.o ${OBJDIR}/nffparse.o ${OBJDIR}/glwin.o ${OBJDIR}/spaceball.o ${OBJDIR}/trackball.o ${PARSEOBJS} -L${RAYLIBDIR} ${PARSELIBS} ${LIBS}
+ ${STRIP} ${ARCHDIR}/tachyon
+
+ ${ARCHDIR}/animray : ${RAYLIB} ${OBJDIR}/mainanim.o
diff --git a/media-gfx/tachyon/files/tachyon-0.99_beta6-shared.patch b/media-gfx/tachyon/files/tachyon-0.99_beta6-shared.patch
new file mode 100644
index 000000000000..dd23fe301675
--- /dev/null
+++ b/media-gfx/tachyon/files/tachyon-0.99_beta6-shared.patch
@@ -0,0 +1,179 @@
+diff -up tachyon/unix/Makefile.shared tachyon/unix/Makefile
+--- tachyon/unix/Makefile.shared 2011-02-07 16:14:38.000000000 +0100
++++ tachyon/unix/Makefile 2011-07-23 20:23:51.000000000 +0200
+@@ -22,7 +22,7 @@ OBJDIR=${ARCHDIR}/libtachyon
+ #
+ # Name of raytracing library file to create
+ #
+-RAYLIB=${ARCHDIR}/libtachyon.a
++RAYLIB=${ARCHDIR}/libtachyon.so
+ RAYLIBDIR=${ARCHDIR}
+
+ #
+@@ -251,124 +251,125 @@ RAYOBJS= ${OBJDIR}/api.o \
+ ${OBJDIR}/tgafile.o \
+ ${OBJDIR}/winbmp.o
+
++VERSION=$(shell grep TACHYON_VERSION_STRING ../src/tachyon.h | cut -d\" -f 2)
++${RAYLIB} : DIRNAME=tachyon-${VERSION}
+ ${RAYLIB} : ${RAYOBJS}
+- rm -f ${RAYLIB}
+- ${AR} ${ARFLAGS} ${RAYLIB} ${RAYOBJS}
+- ${RANLIB} ${RAYLIB}
++ ${CC} ${LDFLAGS} -shared -Wl,-soname,libtachyon.so.${VERSION} -o ${RAYLIBDIR}/libtachyon.so.${VERSION} ${CFLAGS} -fPIC ${RAYOBJS} ${PNGLIB} -lm -lpthread ${JPEGLIB}
++ ln -s libtachyon.so.${VERSION} ${RAYLIBDIR}/libtachyon.so
+
+ ${OBJDIR}/vol.o : ${SRCDIR}/vol.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/vol.c -o ${OBJDIR}/vol.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/vol.c -o ${OBJDIR}/vol.o
+
+ ${OBJDIR}/extvol.o : ${SRCDIR}/extvol.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/extvol.c -o ${OBJDIR}/extvol.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/extvol.c -o ${OBJDIR}/extvol.o
+
+ ${OBJDIR}/winbmp.o : ${SRCDIR}/winbmp.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/winbmp.c -o ${OBJDIR}/winbmp.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/winbmp.c -o ${OBJDIR}/winbmp.o
+
+ ${OBJDIR}/vector.o : ${SRCDIR}/vector.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/vector.c -o ${OBJDIR}/vector.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/vector.c -o ${OBJDIR}/vector.o
+
+ ${OBJDIR}/triangle.o : ${SRCDIR}/triangle.c ${OBJDEPS} ${SRCDIR}/triangle.h
+- ${CC} ${CFLAGS} -c ${SRCDIR}/triangle.c -o ${OBJDIR}/triangle.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/triangle.c -o ${OBJDIR}/triangle.o
+
+ ${OBJDIR}/trace.o : ${SRCDIR}/trace.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/trace.c -o ${OBJDIR}/trace.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/trace.c -o ${OBJDIR}/trace.o
+
+ ${OBJDIR}/threads.o : ${SRCDIR}/threads.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/threads.c -o ${OBJDIR}/threads.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/threads.c -o ${OBJDIR}/threads.o
+
+ ${OBJDIR}/tgafile.o : ${SRCDIR}/tgafile.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/tgafile.c -o ${OBJDIR}/tgafile.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/tgafile.c -o ${OBJDIR}/tgafile.o
+
+ ${OBJDIR}/util.o : ${SRCDIR}/util.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/util.c -o ${OBJDIR}/util.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/util.c -o ${OBJDIR}/util.o
+
+ ${OBJDIR}/ui.o : ${SRCDIR}/ui.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/ui.c -o ${OBJDIR}/ui.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/ui.c -o ${OBJDIR}/ui.o
+
+ ${OBJDIR}/texture.o : ${SRCDIR}/texture.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/texture.c -o ${OBJDIR}/texture.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/texture.c -o ${OBJDIR}/texture.o
+
+ ${OBJDIR}/sphere.o : ${SRCDIR}/sphere.c ${OBJDEPS} ${SRCDIR}/sphere.h
+- ${CC} ${CFLAGS} -c ${SRCDIR}/sphere.c -o ${OBJDIR}/sphere.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/sphere.c -o ${OBJDIR}/sphere.o
+
+ ${OBJDIR}/sgirgb.o : ${SRCDIR}/sgirgb.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/sgirgb.c -o ${OBJDIR}/sgirgb.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/sgirgb.c -o ${OBJDIR}/sgirgb.o
+
+ ${OBJDIR}/shade.o : ${SRCDIR}/shade.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/shade.c -o ${OBJDIR}/shade.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/shade.c -o ${OBJDIR}/shade.o
+
+ ${OBJDIR}/ring.o : ${SRCDIR}/ring.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/ring.c -o ${OBJDIR}/ring.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/ring.c -o ${OBJDIR}/ring.o
+
+ ${OBJDIR}/render.o : ${SRCDIR}/render.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/render.c -o ${OBJDIR}/render.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/render.c -o ${OBJDIR}/render.o
+
+ ${OBJDIR}/quadric.o : ${SRCDIR}/quadric.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/quadric.c -o ${OBJDIR}/quadric.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/quadric.c -o ${OBJDIR}/quadric.o
+
+ ${OBJDIR}/jpeg.o : ${SRCDIR}/jpeg.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/jpeg.c -o ${OBJDIR}/jpeg.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/jpeg.c -o ${OBJDIR}/jpeg.o
+
+ ${OBJDIR}/pngfile.o : ${SRCDIR}/pngfile.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/pngfile.c -o ${OBJDIR}/pngfile.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/pngfile.c -o ${OBJDIR}/pngfile.o
+
+ ${OBJDIR}/ppm.o : ${SRCDIR}/ppm.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/ppm.c -o ${OBJDIR}/ppm.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/ppm.c -o ${OBJDIR}/ppm.o
+
+ ${OBJDIR}/psd.o : ${SRCDIR}/psd.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/psd.c -o ${OBJDIR}/psd.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/psd.c -o ${OBJDIR}/psd.o
+
+ ${OBJDIR}/plane.o : ${SRCDIR}/plane.c ${OBJDEPS} ${SRCDIR}/plane.h
+- ${CC} ${CFLAGS} -c ${SRCDIR}/plane.c -o ${OBJDIR}/plane.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/plane.c -o ${OBJDIR}/plane.o
+
+ ${OBJDIR}/parallel.o : ${SRCDIR}/parallel.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/parallel.c -o ${OBJDIR}/parallel.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/parallel.c -o ${OBJDIR}/parallel.o
+
+ ${OBJDIR}/objbound.o : ${SRCDIR}/objbound.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/objbound.c -o ${OBJDIR}/objbound.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/objbound.c -o ${OBJDIR}/objbound.o
+
+ ${OBJDIR}/light.o : ${SRCDIR}/light.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/light.c -o ${OBJDIR}/light.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/light.c -o ${OBJDIR}/light.o
+
+ ${OBJDIR}/intersect.o : ${SRCDIR}/intersect.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/intersect.c -o ${OBJDIR}/intersect.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/intersect.c -o ${OBJDIR}/intersect.o
+
+ ${OBJDIR}/imageio.o : ${SRCDIR}/imageio.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/imageio.c -o ${OBJDIR}/imageio.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/imageio.c -o ${OBJDIR}/imageio.o
+
+ ${OBJDIR}/imap.o : ${SRCDIR}/imap.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/imap.c -o ${OBJDIR}/imap.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/imap.c -o ${OBJDIR}/imap.o
+
+ ${OBJDIR}/grid.o : ${SRCDIR}/grid.c ${SRCDIR}/grid.h ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/grid.c -o ${OBJDIR}/grid.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/grid.c -o ${OBJDIR}/grid.o
+
+ ${OBJDIR}/global.o : ${SRCDIR}/global.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/global.c -o ${OBJDIR}/global.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/global.c -o ${OBJDIR}/global.o
+
+ ${OBJDIR}/hash.o : ${SRCDIR}/hash.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/hash.c -o ${OBJDIR}/hash.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/hash.c -o ${OBJDIR}/hash.o
+
+ ${OBJDIR}/cylinder.o : ${SRCDIR}/cylinder.c ${OBJDEPS} ${SRCDIR}/cylinder.h
+- ${CC} ${CFLAGS} -c ${SRCDIR}/cylinder.c -o ${OBJDIR}/cylinder.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/cylinder.c -o ${OBJDIR}/cylinder.o
+
+ ${OBJDIR}/coordsys.o : ${SRCDIR}/coordsys.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/coordsys.c -o ${OBJDIR}/coordsys.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/coordsys.c -o ${OBJDIR}/coordsys.o
+
+ ${OBJDIR}/camera.o : ${SRCDIR}/camera.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/camera.c -o ${OBJDIR}/camera.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/camera.c -o ${OBJDIR}/camera.o
+
+ ${OBJDIR}/box.o : ${SRCDIR}/box.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/box.c -o ${OBJDIR}/box.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/box.c -o ${OBJDIR}/box.o
+
+ ${OBJDIR}/bndbox.o : ${SRCDIR}/bndbox.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/bndbox.c -o ${OBJDIR}/bndbox.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/bndbox.c -o ${OBJDIR}/bndbox.o
+
+ ${OBJDIR}/apigeom.o : ${SRCDIR}/apigeom.c ${OBJDEPS}
+- ${CC} ${CFLAGS} -c ${SRCDIR}/apigeom.c -o ${OBJDIR}/apigeom.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/apigeom.c -o ${OBJDIR}/apigeom.o
+
+ ${OBJDIR}/api.o : ${SRCDIR}/api.c ${OBJDEPS} ${SRCDIR}/sphere.h ${SRCDIR}/plane.h ${SRCDIR}/triangle.h ${SRCDIR}/cylinder.h
+- ${CC} ${CFLAGS} -c ${SRCDIR}/api.c -o ${OBJDIR}/api.o
++ ${CC} ${CFLAGS} -fPIC -c ${SRCDIR}/api.c -o ${OBJDIR}/api.o
+
+ clean :
+ @echo "Cleaning object files, binaries etc."
diff --git a/media-gfx/tachyon/metadata.xml b/media-gfx/tachyon/metadata.xml
new file mode 100644
index 000000000000..ab6b74b6c31b
--- /dev/null
+++ b/media-gfx/tachyon/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ </maintainer>
+<maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/media-gfx/tachyon/tachyon-0.99_beta6-r1.ebuild b/media-gfx/tachyon/tachyon-0.99_beta6-r1.ebuild
new file mode 100644
index 000000000000..3c7fc02b92b7
--- /dev/null
+++ b/media-gfx/tachyon/tachyon-0.99_beta6-r1.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils toolchain-funcs
+
+MY_PV=${PV/_beta/b}
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="A portable, high performance parallel ray tracing system"
+HOMEPAGE="http://jedi.ks.uiuc.edu/~johns/raytracer/"
+SRC_URI="http://jedi.ks.uiuc.edu/~johns/raytracer/files/${MY_PV}/${MY_P}.tar.gz"
+
+SLOT="0"
+LICENSE="BSD"
+KEYWORDS="~amd64 ~ppc ~x86 ~x64-macos ~x86-macos"
+IUSE="doc examples jpeg mpi +opengl png threads"
+
+CDEPEND="
+ jpeg? ( virtual/jpeg:0= )
+ mpi? ( virtual/mpi )
+ opengl? (
+ virtual/glu
+ virtual/opengl
+ )
+ png? ( media-libs/libpng:0= )"
+DEPEND="${CDEPEND}
+ virtual/pkgconfig"
+RDEPEND="${CDEPEND}"
+
+REQUIRED_USE="^^ ( opengl mpi )"
+
+S="${WORKDIR}/${PN}/unix"
+
+pkg_setup() {
+ local ostarget
+
+ # TODO: Test on alpha, ia64
+ # TODO: add other architectures
+ # TODO: X, Motif, MBOX, Open Media Framework, Spaceball I/O, MGF ?
+ TACHYON_MAKE_TARGET=
+
+ case ${CHOST} in
+ powerpc*-darwin*) ostarget=macosx ;;
+ *86*-darwin*) ostarget=macosx-x86 ;;
+ *) ostarget=linux ;;
+ esac
+
+ if use threads ; then
+ if use opengl ; then
+ TACHYON_MAKE_TARGET=${ostarget}-thr-ogl
+ elif use mpi ; then
+ TACHYON_MAKE_TARGET=${ostarget}-mpi-thr
+ else
+ TACHYON_MAKE_TARGET=${ostarget}-thr
+ fi
+
+ # TODO: Support for linux-athlon-thr ?
+ else
+ if use mpi ; then
+ TACHYON_MAKE_TARGET=${ostarget}-mpi
+ else
+ TACHYON_MAKE_TARGET=${ostarget}
+ fi
+ fi
+
+ if [[ -z "${TACHYON_MAKE_TARGET}" ]]; then
+ die "No target found, check use flags"
+ else
+ einfo "Using target: ${TACHYON_MAKE_TARGET}"
+ fi
+}
+
+src_prepare() {
+ emakeconf=()
+ use jpeg && \
+ emakeconf+=(
+ USEJPEG=-DUSEJPEG
+ JPEGLIB=-ljpeg
+ )
+
+ use png && \
+ emakeconf+=(
+ USEPNG=-DUSEPNG
+ PNGINC="$($(tc-getPKG_CONFIG) --cflags libpng)"
+ PNGLIB="$($(tc-getPKG_CONFIG) --libs libpng)"
+ )
+
+ if use mpi ; then
+ sed \
+ -e "s:MPIDIR=:MPIDIR=/usr:g" \
+ -e "s:linux-lam:linux-mpi:g" \
+ -i Make-config || die "sed failed"
+ fi
+ sed -i \
+ -e "s:-O3::g;s:-g::g;s:-pg::g" \
+ -e "s:-m32:${CFLAGS}:g" \
+ -e "s:-m64:${CFLAGS}:g" \
+ -e "s:-ffast-math::g" \
+ -e "s:STRIP = strip:STRIP = touch:g" \
+ -e "s:CC = *cc:CC = $(tc-getCC):g" \
+ -e "s:-fomit-frame-pointer::g" Make-arch || die "sed failed"
+
+ epatch \
+ "${FILESDIR}"/${P}-ldflags.patch \
+ "${FILESDIR}"/${P}-shared.patch
+ eapply_user
+}
+
+src_compile() {
+ emake ${TACHYON_MAKE_TARGET} "${emakeconf[@]}" VERSION=${PV}
+}
+
+src_install() {
+ cd .. || die
+ dodoc Changes README
+
+ insinto /usr/include/${PN}
+ doins src/*.h
+
+ use doc && dohtml docs/tachyon/*
+
+ cd compile/${TACHYON_MAKE_TARGET} || die
+
+ dobin ${PN}
+ dolib.so lib${PN}.so*
+
+ if use examples; then
+ cd "${S}/../scenes" || die
+ insinto "/usr/share/${PN}/examples"
+ doins *
+ fi
+}