summaryrefslogtreecommitdiff
path: root/games-sports/vdrift
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /games-sports/vdrift
reinit the tree, so we can have metadata
Diffstat (limited to 'games-sports/vdrift')
-rw-r--r--games-sports/vdrift/Manifest8
-rw-r--r--games-sports/vdrift/files/vdrift-20120722-build.patch28
-rw-r--r--games-sports/vdrift/files/vdrift-20120722-bullet.patch100
-rw-r--r--games-sports/vdrift/metadata.xml11
-rw-r--r--games-sports/vdrift/vdrift-20120722.ebuild70
5 files changed, 217 insertions, 0 deletions
diff --git a/games-sports/vdrift/Manifest b/games-sports/vdrift/Manifest
new file mode 100644
index 000000000000..77d6cbd5963e
--- /dev/null
+++ b/games-sports/vdrift/Manifest
@@ -0,0 +1,8 @@
+AUX vdrift-20120722-build.patch 1199 SHA256 25b95cdb59f4edc0263a2a0bc54d661b559c80eb979e6a6af369903dc0a3bb32 SHA512 4a12d2c3120d641668263dd7d8a2fb8b455e7f39ca33fabe85945fe6b7439f54d7cd2cf0b1752c7aae29d0b88c727f84f4e7092d3233bf5532c4db278b0eae39 WHIRLPOOL a3048f6a25b020ed155f5d36da2095484a273bf25a08e99f6352bd961b7093aa49f144ecb318d803321a40942d3c2f28d835c0be96aec92497b3fcae615d83bc
+AUX vdrift-20120722-bullet.patch 3406 SHA256 3c70c730b47865f491a04abdae9c245e6800129b31972aa7520bc7687d771640 SHA512 aab973d586ae876b1f8fd528cdff80f97d5082954e616296604bd334694116fd4ce980698219e8a2c9662f50da9c5daf9ca9cc70ddd2a2f6795f0aa9673c7a71 WHIRLPOOL f7e4eccd601498ed9aedc016310d8f4975313477d5728366d3a688dd89c0b80bd01cbcdaaf469834deba76f7d20f36d1f1cc25862bc529fcaf1fbc5481d459c6
+DIST vdrift-2012-07-22.tar.bz2 589288618 SHA256 5409feea1d9eb3d943f49ecc265b73f3283a00036e055038f5e5114dfc6113fb SHA512 eb6f243fd28e5fe46e856c37cb528c8ec903bdec91b6aa86681add79a333077a3a8874f694255913ae8492b965884f02057a95a98e37027ff67c082a8ca5527e WHIRLPOOL 7488cbc64b1fefca9d16267a623afd08b1fb2bd02af13b0c12cdbc9a2cc18f8965a796b2d8222e85826a277aaf17d8f9adda4e2b9621e6b7779fcb3546f140dd
+DIST vdrift-2012-07-22c_patch.diff 21689 SHA256 3e669ac2ce6da04548bb53b63694d21fd83cd8971e3f268031d7ffd93b79ae22 SHA512 7b82ba53f3c19ccd01de9ea64e0b7e15224219c0c614a6505b2a3f552ce78565fdedf7781a198c58606d3e9b94e594dee79097d46687e7d4fc763868204b761d WHIRLPOOL f24a7acb58d711d6bf4cda04ff4be1990c241399effdc821ecc8330bfd04a9067a048a840db9be7cabd1c6ca1b7051b003d548b87b2a1bb7d5000afdeb4e0a03
+EBUILD vdrift-20120722.ebuild 1511 SHA256 7bde191a3a78af18c56df9d3a3ef580d9678fd49c7492e07aa4af343972fafce SHA512 738e9e57c9fa01f243b5711ac602070ed2450e25c2c1b18726ba47f5edecb4a56a9a72388fac0107ef1db87223927c5ae57a6e93153917edb19662a6de02862a WHIRLPOOL 07bb484996b227e8857197bc3454d56458c637f83fbf9e3efa1883289b6f04e2cca8320ce15b4666a8ff13148290eaa70727bf77ea86842a5f14cf1a0b2a3434
+MISC ChangeLog 2509 SHA256 398eada9eb4d66a2ce1d4186c237dd6355b74b5e12509e190806393f90002731 SHA512 a05b5bb43ed472f70d8aade290070114b3af041c9a10fc03677c29c1a2afb6c171738e27373a949ae80a95db135bb4447de5cf94051c5892a68893d6101d5565 WHIRLPOOL 1dfd21d51e4f3e61e583ee149929180e51ef1674822e340e3537c3f2572cfea8db70a0b5af63488f33c9841a3f6c292d7fde1beaa1930c7dca2fd27183fbcb4d
+MISC ChangeLog-2015 4045 SHA256 1590c81837b1df9fb26a6c56f764dbee657c1c53084e74ce31b80f66d68b96ff SHA512 c3f1c5edb742afbd38ac35b6e0e1422349845f3707286ad14765c5b2a2224d0fea676386714074a2747b78d8dae1269db814285481db0dd7d0125ab0a94168b9 WHIRLPOOL 39afa7aa130bd38cee29462579d498de3f5a160e89ebb2be8bfd945a339c7707cdc8608fcf05b3a42cf08a0b8fb22b0e55f741daa2dfdcab1b2f4291763d892a
+MISC metadata.xml 329 SHA256 f97ce8d7731cbabf78239b811a2d22eef1b35b9e7a94f7534515f515e0916a2c SHA512 c669371ccb3d0aee737982574fa3cbadba74d6e559fede3bfbac99d7f4f8c1e8e632a2659460008938c307b0e52dd66af357a3f65752c88d8735cf036046fcc0 WHIRLPOOL b347e2e8bd985778984b8bc90091816aa183afc0af352fdb09f732dfa8869a595cce49b486549f31719f70f6c51520602032d2685cd04d2038349ba799b8e134
diff --git a/games-sports/vdrift/files/vdrift-20120722-build.patch b/games-sports/vdrift/files/vdrift-20120722-build.patch
new file mode 100644
index 000000000000..16b6fe4c9ba1
--- /dev/null
+++ b/games-sports/vdrift/files/vdrift-20120722-build.patch
@@ -0,0 +1,28 @@
+--- VDrift.orig/SConstruct
++++ VDrift/SConstruct
+@@ -44,6 +44,7 @@
+ LIBPATH = ['.', '#lib', LOCALBASE + '/lib'],
+ LINKFLAGS = ['-pthread','-lintl'],
+ options = opts)
++ env['LINKFLAGS'] += SCons.Util.CLVar(os.environ['LDFLAGS'])
+ check_headers = ['GL/gl.h', 'GL/glu.h', 'SDL/SDL.h', 'SDL/SDL_image.h', 'SDL/SDL_rotozoom.h', 'vorbis/vorbisfile.h', 'GL/glew.h', 'bullet/btBulletCollisionCommon.h']
+ check_libs = []
+ if 'CC' in os.environ:
+@@ -380,7 +381,7 @@
+ if env['release']:
+ # release build, debugging off, optimizations on
+ if (sys.platform != 'freebsd6') and (sys.platform != 'freebsd7') and (sys.platform != 'freebsd8') and (sys.platform != 'freebsd9') and (sys.platform != 'win32') and (sys.platform != 'cygwin'):
+- env.Append(CCFLAGS = ['-O1', '-pipe'])
++ env.Append(CCFLAGS = ['-pipe'])
+ else:
+ # debug build, lots of debugging, no optimizations
+ env.Append(CCFLAGS = ['-g3'])
+@@ -399,7 +400,6 @@
+ env.Append(CCFLAGS = ['-pg'])
+ env.Append(LINKFLAGS = ['-pg'])
+ env.Append(CCFLAGS = ['-g3'])
+- env.Append(CCFLAGS = ['-O1'])
+
+ #------------------------------------#
+ # compile-time efficiency assessment #
+
diff --git a/games-sports/vdrift/files/vdrift-20120722-bullet.patch b/games-sports/vdrift/files/vdrift-20120722-bullet.patch
new file mode 100644
index 000000000000..907433417ee6
--- /dev/null
+++ b/games-sports/vdrift/files/vdrift-20120722-bullet.patch
@@ -0,0 +1,100 @@
+--- src/cardynamics.cpp Mon Jan 19 23:26:36 1970
++++ src/cardynamics.cpp Mon Jan 19 23:26:36 1970
+@@ -1791,23 +1791,29 @@
+
+ bool CARDYNAMICS::WheelContactCallback(
+ btManifoldPoint& cp,
+- const btCollisionObject* colObj0,
+- int partId0,
++ const btCollisionObjectWrapper* col0,
++ int part0,
+ int index0,
+- const btCollisionObject* colObj1,
+- int partId1,
++ const btCollisionObjectWrapper* col1,
++ int part1,
+ int index1)
+ {
+- // cars are fracture bodies, wheel is a cylinder shape
+- const btCollisionShape* shape = colObj0->getCollisionShape();
+- if ((colObj0->getInternalType() & CO_FRACTURE_TYPE) &&
++#if (BT_BULLET_VERSION < 281)
++ const btCollisionObject* obj = col0;
++ const btCollisionShape* shape = obj->getCollisionShape();
++ const btCollisionShape* rootshape = obj->getRootCollisionShape();
++#else
++ const btCollisionObject* obj = col0->getCollisionObject();
++ const btCollisionShape* shape = col0->getCollisionShape();
++ const btCollisionShape* rootshape = obj->getCollisionShape();
++#endif
++ if ((obj->getInternalType() & CO_FRACTURE_TYPE) &&
+ (shape->getShapeType() == CYLINDER_SHAPE_PROXYTYPE))
+ {
+- // is contact within contact patch?
+- const btCompoundShape* car = static_cast<const btCompoundShape*>(colObj0->getRootCollisionShape());
+- const btCylinderShapeX* wheel = static_cast<const btCylinderShapeX*>(shape);
+- btVector3 contactPoint = cp.m_localPointA - car->getChildTransform(cp.m_index0).getOrigin();
+- if (-direction::up.dot(contactPoint) > 0.5 * wheel->getRadius())
++ const btCompoundShape* carshape = static_cast<const btCompoundShape*>(rootshape);
++ const btCylinderShapeX* wheelshape = static_cast<const btCylinderShapeX*>(shape);
++ btVector3 contactPoint = cp.m_localPointA - carshape->getChildTransform(cp.m_index0).getOrigin();
++ if (-direction::up.dot(contactPoint) > 0.5 * wheelshape->getRadius())
+ {
+ // break contact (hack)
+ cp.m_normalWorldOnB = btVector3(0, 0, 0);
+--- src/cardynamics.h Mon Jan 19 23:26:36 1970
++++ src/cardynamics.h Mon Jan 19 23:26:36 1970
+@@ -25,6 +25,12 @@
+ class FractureBody;
+ class PTree;
+
++#if (BT_BULLET_VERSION < 281)
++#define btCollisionObjectWrapper btCollisionObject
++#else
++struct btCollisionObjectWrapper;
++#endif
++
+ class CARDYNAMICS : public btActionInterface
+ {
+ friend class PERFORMANCE_TESTING;
+@@ -151,11 +157,11 @@
+
+ static bool WheelContactCallback(
+ btManifoldPoint& cp,
+- const btCollisionObject* colObj0,
+- int partId0,
++ const btCollisionObjectWrapper* col0,
++ int part0,
+ int index0,
+- const btCollisionObject* colObj1,
+- int partId1,
++ const btCollisionObjectWrapper* col1,
++ int part1,
+ int index1);
+
+ protected:
+--- src/dynamicsworld.cpp Mon Jan 19 23:26:36 1970
++++ src/dynamicsworld.cpp Mon Jan 19 23:26:36 1970
+@@ -105,7 +105,7 @@
+ int patch_id = -1;
+ const BEZIER * b = 0;
+ const TRACKSURFACE * s = TRACKSURFACE::None();
+- btCollisionObject * c = 0;
++ const btCollisionObject * c = 0;
+
+ MyRayResultCallback ray(origin, p, caster);
+ rayTest(origin, p, ray);
+@@ -221,6 +221,7 @@
+
+ void DynamicsWorld::fractureCallback()
+ {
++#if (BT_BULLET_VERSION < 281)
+ m_activeConnections.resize(0);
+
+ int numManifolds = getDispatcher()->getNumManifolds();
+@@ -268,4 +269,5 @@
+ btRigidBody* child = body->updateConnection(con_id);
+ if (child) addRigidBody(child);
+ }
++#endif
+ } \ No newline at end of file
diff --git a/games-sports/vdrift/metadata.xml b/games-sports/vdrift/metadata.xml
new file mode 100644
index 000000000000..873fcd84214e
--- /dev/null
+++ b/games-sports/vdrift/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="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">vdrift</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-sports/vdrift/vdrift-20120722.ebuild b/games-sports/vdrift/vdrift-20120722.ebuild
new file mode 100644
index 000000000000..316f904278a1
--- /dev/null
+++ b/games-sports/vdrift/vdrift-20120722.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils scons-utils games
+
+MY_P=${PN}-${PV:0:4}-${PV:4:2}-${PV:6:2}
+DESCRIPTION="A driving simulation made with drift racing in mind"
+HOMEPAGE="http://vdrift.net/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.bz2
+ mirror://sourceforge/${PN}/${MY_P}c_patch.diff"
+
+LICENSE="GPL-3 ZLIB LGPL-2.1+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="app-arch/libarchive
+ media-libs/glew
+ media-libs/libsdl[opengl,video]
+ media-libs/sdl-gfx
+ media-libs/sdl-image[png]
+ media-libs/libvorbis
+ net-misc/curl
+ sci-physics/bullet[-double-precision]
+ virtual/opengl
+ virtual/glu"
+DEPEND="${RDEPEND}
+ dev-cpp/asio
+ dev-libs/boost
+ virtual/pkgconfig"
+
+S=${WORKDIR}/VDrift
+
+src_unpack() {
+ unpack ${MY_P}.tar.bz2
+}
+
+src_prepare() {
+ epatch \
+ "${DISTDIR}"/${MY_P}c_patch.diff \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${P}-bullet.patch
+}
+
+src_compile() {
+ escons \
+ force_feedback=1 \
+ destdir="${D}" \
+ bindir="${GAMES_BINDIR}" \
+ datadir="${GAMES_DATADIR}"/${PN} \
+ prefix= \
+ use_binreloc=0 \
+ release=1 \
+ os_cc=1 \
+ os_cxx=1 \
+ os_cxxflags=1 \
+ || die
+}
+
+src_install() {
+ dogamesbin build/vdrift
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r data/*
+ newicon data/textures/icons/vdrift-64x64.png ${PN}.png
+ make_desktop_entry ${PN} VDrift
+ find "${D}" -name "SCon*" -exec rm \{\} +
+ keepdir "${GAMES_DATADIR}"/${PN}/{music,settings/replays,settings/screenshots}
+ prepgamesdirs
+}