diff options
Diffstat (limited to 'media-gfx/tachyon')
-rw-r--r-- | media-gfx/tachyon/Manifest | 7 | ||||
-rw-r--r-- | media-gfx/tachyon/files/tachyon-0.99_beta6-ldflags.patch | 13 | ||||
-rw-r--r-- | media-gfx/tachyon/files/tachyon-0.99_beta6-shared.patch | 179 | ||||
-rw-r--r-- | media-gfx/tachyon/metadata.xml | 11 | ||||
-rw-r--r-- | media-gfx/tachyon/tachyon-0.99_beta6-r1.ebuild | 134 |
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 +} |