summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-games/vamos')
-rw-r--r--dev-games/vamos/Manifest1
-rw-r--r--dev-games/vamos/files/vamos-0.8.2-fix-buildsystem.patch378
-rw-r--r--dev-games/vamos/files/vamos-0.8.2-fix-c++14.patch25
-rw-r--r--dev-games/vamos/vamos-0.8.2.ebuild62
4 files changed, 466 insertions, 0 deletions
diff --git a/dev-games/vamos/Manifest b/dev-games/vamos/Manifest
index af87d15968d1..48823523eade 100644
--- a/dev-games/vamos/Manifest
+++ b/dev-games/vamos/Manifest
@@ -1 +1,2 @@
DIST vamos-0.7.1.tar.gz 1681074 SHA256 c81930b5ea376431c0abf868bf23153440eb6c44c1c47e3d9a53a5a15ab35824 SHA512 7560911e12636a4c530b6eeedc942be7121e39312d58f736a72d3b7fa2f632c962e9ccf714709f8f2e4335fa6d718f6870e7ba9e0c84f55c572e7915b4bf03e2 WHIRLPOOL 925b0038ae1638d270f54b7fee81526589bb4e2a67817834d17678063d2587da753d4e75237d610c4c111fabb1fcdb6b6e42417893f78245cd5f04100d7ada09
+DIST vamos-0.8.2.tar.gz 2148278 SHA256 d4c2d16b4947b5afc46b4f5dcf797d11173ed86b4a599e78223c227a882b8f1d SHA512 bbc5b71790983b3db60c633f21b15b86c232a560f05ddc407c805d5bc39cf7a90bf556b9c59b4683a187961be755b1578a0a02b8b42599c6a634bd0f5936e880 WHIRLPOOL 75173076be9739282d56713517a1083155f57b2c4cf5a5379a61de952613671a0fd03820a48682082d29c98c7b44bebfef86d17ab9164b5d8b43e1a522bab36e
diff --git a/dev-games/vamos/files/vamos-0.8.2-fix-buildsystem.patch b/dev-games/vamos/files/vamos-0.8.2-fix-buildsystem.patch
new file mode 100644
index 000000000000..f78ac1c4f055
--- /dev/null
+++ b/dev-games/vamos/files/vamos-0.8.2-fix-buildsystem.patch
@@ -0,0 +1,378 @@
+Fix buildsystem:
+* Prevent pollution of python site-packages root dir
+* Fix underlinking in modules
+* Remove broken AX_* macros
+* Add workaround for parallel install issue with automake
+
+--- a/body/Makefile.am
++++ b/body/Makefile.am
+@@ -21,6 +21,10 @@
+ Tire.cc \
+ Transmission.cc \
+ Wheel.cc
++libvamos_body_la_LIBADD = \
++ -l$(BOOST_PYTHON_LIB) \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la
+
+ pkginclude_HEADERS = \
+ Aerodynamic_Device.h \
+@@ -46,24 +50,23 @@
+
+ EXTRA_DIST = $(pkginclude_HEADERS)
+
+-AM_CXXFLAGS = -fPIC -Wall -pedantic
++AM_CXXFLAGS = -Wall -pedantic
++AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
+
+ # Python Module
+ if HAVE_PYTHON
+-pyexec_LTLIBRARIES = body.la
++pkgpyexec_LTLIBRARIES = body.la
+ else
+-pyexec_LTLIBRARIES =
++pkgpyexec_LTLIBRARIES =
+ endif
+
+ body_la_SOURCES = bp-body.cc
+-body_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
+ body_la_LDFLAGS = -avoid-version -module
+ body_la_LIBADD = \
+- $(top_srcdir)/body/libvamos-body.la \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
+- -l$(PYTHON_LIB) \
+- -l$(BOOST_PYTHON_LIB)
++ libvamos-body.la \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la \
++ $(PYTHON_LIBS)
+
+ if DO_UNIT_TESTS
+ UNIT_TESTS = \
+@@ -81,7 +84,7 @@
+ test_Aerodynamic_Device_SOURCES = test_Aerodynamic_Device.cc
+ test_Aerodynamic_Device_CXXFLAGS = -DBOOST_TEST_DYN_LINK
+ test_Aerodynamic_Device_LDADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
++ ../geometry/libvamos-geometry.la \
+ Frame.lo \
+ Particle.lo \
+ Aerodynamic_Device.lo \
+@@ -89,35 +92,35 @@
+ test_Car_SOURCES = test_Car.cc
+ test_Car_CXXFLAGS = -DBOOST_TEST_DYN_LINK
+ test_Car_LDADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
+- $(top_srcdir)/body/libvamos-body.la \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la \
++ ../body/libvamos-body.la \
+ -lboost_unit_test_framework
+ test_Frame_SOURCES = test_Frame.cc
+ test_Frame_CXXFLAGS = -DBOOST_TEST_DYN_LINK
+ test_Frame_LDADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
++ ../geometry/libvamos-geometry.la \
+ Frame.lo \
+ -lboost_unit_test_framework
+ test_Particle_SOURCES = test_Particle.cc
+ test_Particle_CXXFLAGS = -DBOOST_TEST_DYN_LINK
+ test_Particle_LDADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
++ ../geometry/libvamos-geometry.la \
+ Frame.lo \
+ Particle.lo \
+ -lboost_unit_test_framework
+ test_Rigid_Body_SOURCES = test_Rigid_Body.cc
+ test_Rigid_Body_CXXFLAGS = -DBOOST_TEST_DYN_LINK
+ test_Rigid_Body_LDADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
+- $(top_srcdir)/body/libvamos-body.la \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la \
++ ../body/libvamos-body.la \
+ -lboost_unit_test_framework
+
+ if DO_UNIT_TESTS
+ check-local: $(UNIT_TESTS)
+ for test in $(UNIT_TESTS); do \
+ echo $$test; \
+- $(top_srcdir)/body/$$test; \
++ ../body/$$test; \
+ done
+ endif
+--- a/configure.ac
++++ b/configure.ac
+@@ -19,7 +19,7 @@
+ AC_PROG_INSTALL
+ AC_PROG_MAKE_SET
+
+-AC_PROG_LIBTOOL
++LT_INIT
+
+ AC_PATH_X
+
+@@ -28,9 +28,6 @@
+
+ AC_CONFIG_FILES([vamos/vamos], [chmod +x vamos/vamos])
+
+-dnl Python
+-AX_PYTHON
+-
+ dnl Boost
+ AX_BOOST_BASE([1.46.0],, AC_MSG_ERROR([Boost >= v1.46.0 is required.]))
+ AX_BOOST_PYTHON([1.46.0])
+--- a/geometry/Makefile.am
++++ b/geometry/Makefile.am
+@@ -15,6 +15,7 @@
+ Three_Vector.cc \
+ Two_Vector.cc \
+ Parameter.cc
++libvamos_geometry_la_LIBADD = -l$(BOOST_PYTHON_LIB)
+
+ pkginclude_HEADERS = \
+ Calculations.h \
+@@ -39,22 +40,21 @@
+
+ EXTRA_DIST = $(pkginclude_HEADERS)
+
+-AM_CXXFLAGS = -fPIC -Wall -pedantic
++AM_CXXFLAGS = -Wall -pedantic
++AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
+
+ # Python Module
+ if HAVE_PYTHON
+-pyexec_LTLIBRARIES = geometry.la
++pkgpyexec_LTLIBRARIES = geometry.la
+ else
+-pyexec_LTLIBRARIES =
++pkgpyexec_LTLIBRARIES =
+ endif
+
+ geometry_la_SOURCES = bp-geometry.cc
+-geometry_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
+ geometry_la_LDFLAGS = -avoid-version -module
+ geometry_la_LIBADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- -l$(PYTHON_LIB) \
+- -l$(BOOST_PYTHON_LIB)
++ libvamos-geometry.la \
++ $(PYTHON_LIBS)
+
+ # Unit Tests
+ if DO_UNIT_TESTS
+@@ -110,6 +110,6 @@
+ check-local: $(UNIT_TESTS)
+ for test in $(UNIT_TESTS); do \
+ echo $$test; \
+- $(top_srcdir)/geometry/$$test; \
++ ../geometry/$$test; \
+ done
+ endif
+--- a/media/Makefile.am
++++ b/media/Makefile.am
+@@ -7,6 +7,7 @@
+ Texture_Image.cc \
+ Two_D.cc \
+ XML_Parser.cc
++libvamos_media_la_LIBADD = ../geometry/libvamos-geometry.la
+
+ pkginclude_HEADERS = \
+ Ac3d.h \
+@@ -19,23 +20,27 @@
+
+ EXTRA_DIST = $(pkginclude_HEADERS)
+
+-AM_CXXFLAGS = -fPIC -Wall -pedantic
++AM_CXXFLAGS = -Wall -pedantic
++AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
+
+ # Python Module
+ if HAVE_PYTHON
+-pyexec_LTLIBRARIES = media.la
++pkgpyexec_LTLIBRARIES = media.la
+ else
+-pyexec_LTLIBRARIES =
++pkgpyexec_LTLIBRARIES =
+ endif
+
+ media_la_SOURCES = bp-media.cc
+-media_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
+ media_la_LDFLAGS = -avoid-version -module
+ media_la_LIBADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
+- -l$(PYTHON_LIB) \
+- -l$(BOOST_PYTHON_LIB)
++ ../geometry/libvamos-geometry.la \
++ libvamos-media.la \
++ $(PYTHON_LIBS)
++
++# workaround for broken parallel install support in automake with LTLIBRARIES
++# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328
++install_pkgpyexecLTLIBRARIES = install-pkgpyexecLTLIBRARIES
++$(install_pkgpyexecLTLIBRARIES): install-libLTLIBRARIES
+
+ # Unit Tests
+ if DO_UNIT_TESTS
+@@ -54,6 +59,6 @@
+ check-local: $(UNIT_TESTS)
+ for test in $(UNIT_TESTS); do \
+ echo $$test; \
+- $(top_srcdir)/media/$$test; \
++ ../media/$$test; \
+ done
+ endif
+--- a/track/Makefile.am
++++ b/track/Makefile.am
+@@ -6,6 +6,9 @@
+ Road_Segment.cc \
+ Strip_Track.cc \
+ Strip_Track_Reader.cc
++libvamos_track_la_LIBADD = \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la
+
+ pkginclude_HEADERS = \
+ Gl_Road_Segment.h \
+@@ -17,24 +20,23 @@
+
+ EXTRA_DIST = $(pkginclude_HEADERS)
+
+-AM_CXXFLAGS = -fPIC -Wall -pedantic
++AM_CXXFLAGS = -Wall -pedantic
++AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
+
+ # Python Module
+ if HAVE_PYTHON
+-pyexec_LTLIBRARIES = track.la
++pkgpyexec_LTLIBRARIES = track.la
+ else
+-pyexec_LTLIBRARIES =
++pkgpyexec_LTLIBRARIES =
+ endif
+
+ track_la_SOURCES = bp-track.cc
+-track_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
+ track_la_LDFLAGS = -avoid-version -module
+ track_la_LIBADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
+- $(top_srcdir)/track/libvamos-track.la \
+- -l$(PYTHON_LIB) \
+- -l$(BOOST_PYTHON_LIB)
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la \
++ libvamos-track.la \
++ $(PYTHON_LIBS)
+
+ # Unit Tests
+ if DO_UNIT_TESTS
+@@ -50,14 +52,14 @@
+ test_Road_Segment_SOURCES = test_Road_Segment.cc
+ test_Road_Segment_CXXFLAGS = -DBOOST_TEST_DYN_LINK
+ test_Road_Segment_LDADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
++ ../geometry/libvamos-geometry.la \
+ Road_Segment.lo \
+ -lboost_unit_test_framework
+ test_Strip_Track_SOURCES = test_Strip_Track.cc
+ test_Strip_Track_CXXFLAGS = -DBOOST_TEST_DYN_LINK
+ test_Strip_Track_LDADD = \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la \
+ Road_Segment.lo \
+ Gl_Road_Segment.lo \
+ Strip_Track.lo \
+@@ -68,6 +70,6 @@
+ check-local: $(UNIT_TESTS)
+ for test in $(UNIT_TESTS); do \
+ echo $$test; \
+- $(top_srcdir)/track/$$test; \
++ ../track/$$test; \
+ done
+ endif
+--- a/vamos/Makefile.am
++++ b/vamos/Makefile.am
+@@ -9,12 +9,12 @@
+ EXTRA_DIST = Options.h
+
+ cvamos_LDADD = \
+- $(top_srcdir)/world/libvamos-world.la \
+- $(top_srcdir)/body/libvamos-body.la \
+- $(top_srcdir)/track/libvamos-track.la \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
++ ../world/libvamos-world.la \
++ ../body/libvamos-body.la \
++ ../track/libvamos-track.la \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la \
+ -lboost_system \
+ -lboost_filesystem
+
+-AM_CXXFLAGS = -fPIC -Wall -pedantic -DDATADIR=\"$(pkgdatadir)\"
++AM_CXXFLAGS = -Wall -pedantic -DDATADIR=\"$(pkgdatadir)\"
+--- a/world/Makefile.am
++++ b/world/Makefile.am
+@@ -10,6 +10,10 @@
+ Sounds.cc \
+ Timing_Info.cc \
+ World.cc
++libvamos_world_la_LIBADD = \
++ ../geometry/libvamos-geometry.la \
++ ../track/libvamos-track.la \
++ ../body/libvamos-body.la
+
+ pkginclude_HEADERS = \
+ Atmosphere.h \
+@@ -26,26 +30,25 @@
+
+ EXTRA_DIST = $(pkginclude_HEADERS)
+
+-AM_CXXFLAGS = -fPIC -Wall -pedantic
++AM_CXXFLAGS = -Wall -pedantic
++AM_CPPFLAGS = $(PYTHON_CPPFLAGS)
+
+ # Python Module
+ if HAVE_PYTHON
+-pyexec_LTLIBRARIES = world.la
++pkgpyexec_LTLIBRARIES = world.la
+ else
+-pyexec_LTLIBRARIES =
++pkgpyexec_LTLIBRARIES =
+ endif
+
+ world_la_SOURCES = bp-world.cc
+-world_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(PYTHON_INCLUDE_DIR)
+ world_la_LDFLAGS = -avoid-version -module
+ world_la_LIBADD = \
+- $(top_srcdir)/body/libvamos-body.la \
+- $(top_srcdir)/geometry/libvamos-geometry.la \
+- $(top_srcdir)/media/libvamos-media.la \
+- $(top_srcdir)/track/libvamos-track.la \
+- $(top_srcdir)/world/libvamos-world.la \
+- -l$(PYTHON_LIB) \
+- -l$(BOOST_PYTHON_LIB)
++ ../body/libvamos-body.la \
++ ../geometry/libvamos-geometry.la \
++ ../media/libvamos-media.la \
++ ../track/libvamos-track.la \
++ libvamos-world.la \
++ $(PYTHON_LIBS)
+
+ # Unit Tests
+ if DO_UNIT_TESTS
+@@ -67,6 +70,6 @@
+ check-local: $(UNIT_TESTS)
+ for test in $(UNIT_TESTS); do \
+ echo $$test; \
+- $(top_srcdir)/world/$$test; \
++ ../world/$$test; \
+ done
+ endif
diff --git a/dev-games/vamos/files/vamos-0.8.2-fix-c++14.patch b/dev-games/vamos/files/vamos-0.8.2-fix-c++14.patch
new file mode 100644
index 000000000000..95c90995f194
--- /dev/null
+++ b/dev-games/vamos/files/vamos-0.8.2-fix-c++14.patch
@@ -0,0 +1,25 @@
+Fix building in C++14 mode.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=600774
+
+--- a/media/Ac3d.cc
++++ b/media/Ac3d.cc
+@@ -892,7 +892,7 @@
+ m_rotation (rotation)
+ {
+ std::ifstream is (m_file.c_str ());
+- if (is == 0)
++ if (!is)
+ {
+ throw No_File (m_file);
+ }
+--- a/media/XML_Parser.cc
++++ b/media/XML_Parser.cc
+@@ -391,7 +391,7 @@
+ {
+ m_file = file;
+ mp_stream = new std::ifstream (file.c_str ());
+- if ((mp_stream == 0) || (*mp_stream == 0))
++ if ((mp_stream == NULL) || (!(*mp_stream)))
+ {
+ throw No_XML_File (m_file);
+ }
diff --git a/dev-games/vamos/vamos-0.8.2.ebuild b/dev-games/vamos/vamos-0.8.2.ebuild
new file mode 100644
index 000000000000..9ed292f6c40a
--- /dev/null
+++ b/dev-games/vamos/vamos-0.8.2.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python3_{4,5} )
+
+inherit autotools python-single-r1
+
+DESCRIPTION="An automotive simulation framework"
+HOMEPAGE="http://vamos.sourceforge.net/"
+SRC_URI="mirror://sourceforge/vamos/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ media-libs/freealut
+ media-libs/freeglut
+ media-libs/libpng:0=
+ media-libs/libsdl[joystick,video]
+ media-libs/openal
+ virtual/glu
+ virtual/opengl"
+DEPEND="${RDEPEND}
+ >=sys-devel/autoconf-archive-2016.09.16
+ virtual/pkgconfig"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.2-fix-buildsystem.patch
+ "${FILESDIR}"/${PN}-0.8.2-fix-c++14.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --with-x \
+ --disable-static \
+ --with-boost-python="${EPYTHON#python}" \
+ $(use_enable test unit-tests) \
+ PYTHON="${EPYTHON}"
+}
+
+src_install() {
+ default
+
+ dobin caelum/.libs/caelum
+ newdoc caelum/README README.caelum
+
+ find "${D}" -name '*.la' -delete || die
+}