git: e09fc10aa0e2 - main - games/vamos: undeprecate the port, update to latest version

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Tue, 11 Mar 2025 17:03:44 UTC
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e09fc10aa0e2d4e4e3d2d1871907c59036aa6e49

commit e09fc10aa0e2d4e4e3d2d1871907c59036aa6e49
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2025-03-11 17:01:40 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2025-03-11 17:01:40 +0000

    games/vamos: undeprecate the port, update to latest version
    
    - Update to version 0.8.2 which uses Boost via Python bindings
    - Cleanup the Makefile from various artifacts of the past
    - Replace manual stripping with INSTALL_TARGET=install-strip
      and absolute symlink with relative one per stage QA report
---
 games/vamos/Makefile                          | 47 +++++++++------------------
 games/vamos/distinfo                          |  5 +--
 games/vamos/files/patch-body_Makefile.in      | 11 +++++++
 games/vamos/files/patch-geometry_Makefile.in  | 11 +++++++
 games/vamos/files/patch-geometry__Parameter.h | 10 ------
 games/vamos/files/patch-media_Ac3d.cc         | 43 ++++++++++++++++++++++++
 games/vamos/files/patch-media_Makefile.in     | 11 +++++++
 games/vamos/files/patch-media_XML__Parser.cc  | 11 +++++++
 games/vamos/files/patch-track_Makefile.in     | 11 +++++++
 games/vamos/files/patch-world_Makefile.in     | 11 +++++++
 games/vamos/pkg-plist                         | 38 ++++++++++++++++++++--
 11 files changed, 163 insertions(+), 46 deletions(-)

diff --git a/games/vamos/Makefile b/games/vamos/Makefile
index 355f4f794f2f..9383436874ba 100644
--- a/games/vamos/Makefile
+++ b/games/vamos/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	vamos
-PORTVERSION=	0.7.1
-PORTREVISION=	30
+PORTVERSION=	0.8.2
 CATEGORIES=	games
 MASTER_SITES=	SF/${PORTNAME}/${PORTNAME}/ \
 		SF/nemysisfreebsdp/${CATEGORIES}/:icons
@@ -14,27 +13,20 @@ WWW=		https://vamos.sourceforge.net/
 LICENSE=	GPLv2+
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-BROKEN=		fails to build with boost-1.85+
-DEPRECATED=	Unmaintained in tree for years, fails to build with newer versions of boost
-EXPIRATION_DATE=2025-03-31
-
-LIB_DEPENDS=	libboost_date_time.so:devel/boost-libs \
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR}
+LIB_DEPENDS=	${PY_BOOST} \
 		libpng.so:graphics/png
 
-USES=		compiler:c++11-lang gl gnome libtool openal:al,alut pkgconfig \
-		sdl xorg
-USE_CXXSTD=	c++98
+USES=		compiler:c++11-lang gl libtool localbase openal:al,alut \
+		python sdl xorg
 USE_XORG=	sm ice x11 xi xext xmu
-USE_GL=		glut
+USE_GL=		gl glu glut
 USE_SDL=	sdl
 GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=	ac_cv_lib_freeglut_glutGetModifiers=no \
-		--disable-unit-tests
+CONFIGURE_ARGS=	--enable-unit-tests=no
 USE_LDCONFIG=	yes
-
-CPPFLAGS+=	-I${LOCALBASE}/include
-LDFLAGS+=	-lpthread -L${LOCALBASE}/lib
-LDFLAGS_i386=	-Wl,-znotext
+INSTALL_TARGET=	install-strip
+LLD_UNSAFE=	for preemption of audio/openal-soft libs
 
 INFO=		vamos
 PORTDOCS=	*
@@ -46,28 +38,21 @@ ICON_SIZES=	32x32 48x48 64x64 72x72 96x96 128x128
 DESKTOP_ENTRIES="Vamos" "" ${PORTNAME} \
 		"${PORTNAME}" "Game;ArcadeGame;" ""
 
-post-extract:
-	@${CHMOD} ${BINMODE} ${WRKSRC}/config/install-sh
-
 post-patch:
-	@${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${REINPLACE_CMD} -e \
-		'/^AM_CXXFLAGS/s| -pedantic|| ; \
-		 /^AM_CXXFLAGS/s| -O[[:alnum:]]|| ; \
-		 /^AM_CXXFLAGS/s| -g|| ; \
-		 /^AM_CXXFLAGS/s| -DBOOST_TEST_DYN_LINK|| ; \
-		 /^AM_CXXFLAGS/s| -L/usr/lib/boost||'
+	@${REINPLACE_CMD} -e '/test/s,ax_boost_python_lib",BOOST_PYTHON_LIB",' \
+	    -e 's,^for python in python.*python;,for python in python${PYTHON_VER};,' \
+		${WRKSRC}/configure
+	@${REINPLACE_CMD} -e '/std::/s,mem_fun,mem_fn,' \
+		${WRKSRC}/body/Gl_Car.cc \
+		${WRKSRC}/track/Strip_Track.cc
 
 post-install:
-.for l in geometry media body track world
-	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libvamos-${l}.so.0
-.endfor
-
 .for s in ${ICON_SIZES}
 	@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}/apps
 	${INSTALL_DATA} ${WRKDIR}/${PORTNAME}_${s}.png \
 		${STAGEDIR}${PREFIX}/share/icons/hicolor/${s}/apps/${PORTNAME}.png
 .endfor
-	${LN} -sf ${PREFIX}/share/icons/hicolor/48x48/apps/${PORTNAME}.png \
+	${LN} -sf ../icons/hicolor/48x48/apps/${PORTNAME}.png \
 		${STAGEDIR}${PREFIX}/share/pixmaps/
 	cd ${WRKSRC} && ${COPYTREE_SHARE} "AUTHORS ChangeLog README TODO doc/matrixfaq.htm" \
 		${STAGEDIR}${DOCSDIR}
diff --git a/games/vamos/distinfo b/games/vamos/distinfo
index 09ba84d80f94..e335edd09bb9 100644
--- a/games/vamos/distinfo
+++ b/games/vamos/distinfo
@@ -1,4 +1,5 @@
-SHA256 (vamos-0.7.1.tar.gz) = c81930b5ea376431c0abf868bf23153440eb6c44c1c47e3d9a53a5a15ab35824
-SIZE (vamos-0.7.1.tar.gz) = 1681074
+TIMESTAMP = 1396476552
+SHA256 (vamos-0.8.2.tar.gz) = d4c2d16b4947b5afc46b4f5dcf797d11173ed86b4a599e78223c227a882b8f1d
+SIZE (vamos-0.8.2.tar.gz) = 2148278
 SHA256 (vamos_icons.tar.gz) = fea7c87be02480eef7253e7ad98b82ec5b28d6fd6523427a83cf5595e8a9ccee
 SIZE (vamos_icons.tar.gz) = 15765
diff --git a/games/vamos/files/patch-body_Makefile.in b/games/vamos/files/patch-body_Makefile.in
new file mode 100644
index 000000000000..10c8cfd6bf83
--- /dev/null
+++ b/games/vamos/files/patch-body_Makefile.in
@@ -0,0 +1,11 @@
+--- body/Makefile.in.orig	2014-04-02 21:56:11 UTC
++++ body/Makefile.in
+@@ -125,7 +125,7 @@ am__uninstall_files_from_dir = { \
+ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pyexecdir)" \
+ 	"$(DESTDIR)$(pkgincludedir)"
+ LTLIBRARIES = $(lib_LTLIBRARIES) $(pyexec_LTLIBRARIES)
+-body_la_DEPENDENCIES = $(top_srcdir)/body/libvamos-body.la \
++body_la_DEPENDENCIES = libvamos-body.la \
+ 	$(top_srcdir)/geometry/libvamos-geometry.la \
+ 	$(top_srcdir)/media/libvamos-media.la
+ am_body_la_OBJECTS = body_la-bp-body.lo
diff --git a/games/vamos/files/patch-geometry_Makefile.in b/games/vamos/files/patch-geometry_Makefile.in
new file mode 100644
index 000000000000..32ac6c5ecb43
--- /dev/null
+++ b/games/vamos/files/patch-geometry_Makefile.in
@@ -0,0 +1,11 @@
+--- geometry/Makefile.in.orig	2014-04-02 21:56:12 UTC
++++ geometry/Makefile.in
+@@ -126,7 +126,7 @@ am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(p
+ 	"$(DESTDIR)$(pkgincludedir)"
+ LTLIBRARIES = $(lib_LTLIBRARIES) $(pyexec_LTLIBRARIES)
+ geometry_la_DEPENDENCIES =  \
+-	$(top_srcdir)/geometry/libvamos-geometry.la
++	libvamos-geometry.la
+ am_geometry_la_OBJECTS = geometry_la-bp-geometry.lo
+ geometry_la_OBJECTS = $(am_geometry_la_OBJECTS)
+ AM_V_lt = $(am__v_lt_@AM_V@)
diff --git a/games/vamos/files/patch-geometry__Parameter.h b/games/vamos/files/patch-geometry__Parameter.h
deleted file mode 100644
index 3c85dee8a569..000000000000
--- a/games/vamos/files/patch-geometry__Parameter.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./geometry/Parameter.h.orig	2011-08-28 21:10:15.000000000 +0200
-+++ ./geometry/Parameter.h	2014-01-26 19:15:00.000000000 +0100
-@@ -21,6 +21,7 @@
- #define PARAMETER_H
- 
- #include <vector>
-+#include <stdlib.h>
- 
- /// A container for numbers passed from the command line.
- namespace Vamos_Geometry
diff --git a/games/vamos/files/patch-media_Ac3d.cc b/games/vamos/files/patch-media_Ac3d.cc
new file mode 100644
index 000000000000..bc2dbfd5ae1c
--- /dev/null
+++ b/games/vamos/files/patch-media_Ac3d.cc
@@ -0,0 +1,43 @@
+--- media/Ac3d.cc.orig	2014-04-02 21:55:37 UTC
++++ media/Ac3d.cc
+@@ -791,7 +791,7 @@ Ac3d_Object::Ac3d_Object (std::string type, double sca
+ 	  }
+ 	buffer [length] = '\0';
+ 	m_data = std::string (buffer);
+-	delete buffer;
++	delete[] buffer;
+   }
+ 
+   void 
+@@ -808,11 +808,11 @@ Ac3d_Object::Ac3d_Object (std::string type, double sca
+ 	  }
+ 
+ 	std::for_each (m_surfaces.begin (), m_surfaces.end (), 
+-				   std::mem_fun (&Ac3d_Surface::build));
++				   std::mem_fn (&Ac3d_Surface::build));
+ 
+ 	glDisable (GL_TEXTURE_2D);
+ 	std::for_each (m_kids.begin (), m_kids.end (), 
+-				   std::mem_fun (&Ac3d_Object::build));
++				   std::mem_fn (&Ac3d_Object::build));
+ 	glEnable (GL_TEXTURE_2D);
+   }
+ 
+@@ -892,7 +892,7 @@ Ac3d_Object::Ac3d_Object (std::string type, double sca
+ 	m_rotation (rotation)
+   {
+ 	std::ifstream is (m_file.c_str ());
+-	if (is == 0)
++	if (!is)
+ 	  {
+ 		throw No_File (m_file);
+ 	  }
+@@ -1215,7 +1215,7 @@ Ac3d_Object::Ac3d_Object (std::string type, double sca
+ 	glNewList (id, GL_COMPILE);
+ 
+ 	std::for_each (m_objects.begin (), m_objects.end (), 
+-				   std::mem_fun (&Ac3d_Object::build));
++				   std::mem_fn (&Ac3d_Object::build));
+ 
+ 	glEndList ();
+ 
diff --git a/games/vamos/files/patch-media_Makefile.in b/games/vamos/files/patch-media_Makefile.in
new file mode 100644
index 000000000000..4a915f3d3a4e
--- /dev/null
+++ b/games/vamos/files/patch-media_Makefile.in
@@ -0,0 +1,11 @@
+--- media/Makefile.in.orig	2014-04-02 21:56:12 UTC
++++ media/Makefile.in
+@@ -134,7 +134,7 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
+ am__v_lt_0 = --silent
+ am__v_lt_1 = 
+ media_la_DEPENDENCIES = $(top_srcdir)/geometry/libvamos-geometry.la \
+-	$(top_srcdir)/media/libvamos-media.la
++	libvamos-media.la
+ am_media_la_OBJECTS = media_la-bp-media.lo
+ media_la_OBJECTS = $(am_media_la_OBJECTS)
+ media_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
diff --git a/games/vamos/files/patch-media_XML__Parser.cc b/games/vamos/files/patch-media_XML__Parser.cc
new file mode 100644
index 000000000000..d96eebeec563
--- /dev/null
+++ b/games/vamos/files/patch-media_XML__Parser.cc
@@ -0,0 +1,11 @@
+--- media/XML_Parser.cc.orig	2014-02-03 01:08:19 UTC
++++ media/XML_Parser.cc
+@@ -391,7 +391,7 @@ XML_Parser::read (std::string file)
+ {
+   m_file = file;
+   mp_stream = new std::ifstream (file.c_str ());
+-  if ((mp_stream == 0) || (*mp_stream == 0))
++  if (!mp_stream || !*mp_stream)
+ 	{
+ 	  throw No_XML_File (m_file);
+ 	}
diff --git a/games/vamos/files/patch-track_Makefile.in b/games/vamos/files/patch-track_Makefile.in
new file mode 100644
index 000000000000..d87bbb773237
--- /dev/null
+++ b/games/vamos/files/patch-track_Makefile.in
@@ -0,0 +1,11 @@
+--- track/Makefile.in.orig	2014-04-02 21:56:12 UTC
++++ track/Makefile.in
+@@ -135,7 +135,7 @@ am__v_lt_0 = --silent
+ am__v_lt_1 = 
+ track_la_DEPENDENCIES = $(top_srcdir)/geometry/libvamos-geometry.la \
+ 	$(top_srcdir)/media/libvamos-media.la \
+-	$(top_srcdir)/track/libvamos-track.la
++	libvamos-track.la
+ am_track_la_OBJECTS = track_la-bp-track.lo
+ track_la_OBJECTS = $(am_track_la_OBJECTS)
+ track_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
diff --git a/games/vamos/files/patch-world_Makefile.in b/games/vamos/files/patch-world_Makefile.in
new file mode 100644
index 000000000000..984cb0729c99
--- /dev/null
+++ b/games/vamos/files/patch-world_Makefile.in
@@ -0,0 +1,11 @@
+--- world/Makefile.in.orig	2014-04-02 21:56:12 UTC
++++ world/Makefile.in
+@@ -138,7 +138,7 @@ world_la_DEPENDENCIES = $(top_srcdir)/body/libvamos-bo
+ 	$(top_srcdir)/geometry/libvamos-geometry.la \
+ 	$(top_srcdir)/media/libvamos-media.la \
+ 	$(top_srcdir)/track/libvamos-track.la \
+-	$(top_srcdir)/world/libvamos-world.la
++	libvamos-world.la
+ am_world_la_OBJECTS = world_la-bp-world.lo
+ world_la_OBJECTS = $(am_world_la_OBJECTS)
+ world_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
diff --git a/games/vamos/pkg-plist b/games/vamos/pkg-plist
index 1f07a14248d7..727adb4d9b21 100644
--- a/games/vamos/pkg-plist
+++ b/games/vamos/pkg-plist
@@ -37,6 +37,7 @@ include/vamos/geometry/Two_Vector.h
 include/vamos/media/Ac3d.h
 include/vamos/media/Sample.h
 include/vamos/media/Texture_Image.h
+include/vamos/media/Two_D.h
 include/vamos/media/XML_Parser.h
 include/vamos/track/Gl_Road_Segment.h
 include/vamos/track/Road_Segment.h
@@ -71,6 +72,31 @@ lib/libvamos-world.a
 lib/libvamos-world.so
 lib/libvamos-world.so.0
 lib/libvamos-world.so.0.0.0
+%%PYTHON_SITELIBDIR%%/body.a
+%%PYTHON_SITELIBDIR%%/body.so
+%%PYTHON_SITELIBDIR%%/geometry.a
+%%PYTHON_SITELIBDIR%%/geometry.so
+%%PYTHON_SITELIBDIR%%/media.a
+%%PYTHON_SITELIBDIR%%/media.so
+%%PYTHON_SITELIBDIR%%/track.a
+%%PYTHON_SITELIBDIR%%/track.so
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/config%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/random_circuit%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/random_circuit%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/random_road%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/random_road%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/vamos%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/vamos%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/vamos_track%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/vamos/__pycache__/vamos_track%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/vamos/config.py
+%%PYTHON_SITELIBDIR%%/vamos/random_circuit.py
+%%PYTHON_SITELIBDIR%%/vamos/random_road.py
+%%PYTHON_SITELIBDIR%%/vamos/vamos.py
+%%PYTHON_SITELIBDIR%%/vamos/vamos_track.py
+%%PYTHON_SITELIBDIR%%/world.a
+%%PYTHON_SITELIBDIR%%/world.so
 share/icons/hicolor/128x128/apps/vamos.png
 share/icons/hicolor/32x32/apps/vamos.png
 share/icons/hicolor/48x48/apps/vamos.png
@@ -117,7 +143,6 @@ share/pixmaps/vamos.png
 %%DATADIR%%/cars/wheel-fast.ac
 %%DATADIR%%/cars/wheel.ac
 %%DATADIR%%/controls/clutch-wheel.xml
-%%DATADIR%%/controls/default-controls.xml
 %%DATADIR%%/controls/keyboard.xml
 %%DATADIR%%/controls/mouse.xml
 %%DATADIR%%/controls/stick.xml
@@ -181,8 +206,10 @@ share/pixmaps/vamos.png
 %%DATADIR%%/textures/track2.png
 %%DATADIR%%/textures/wall.png
 %%DATADIR%%/tracks/Albert_Park.xml
+%%DATADIR%%/tracks/Americas.xml
 %%DATADIR%%/tracks/Bahrain.xml
 %%DATADIR%%/tracks/Catalunya.xml
+%%DATADIR%%/tracks/Curl.xml
 %%DATADIR%%/tracks/D.xml
 %%DATADIR%%/tracks/Hockenheimring.xml
 %%DATADIR%%/tracks/Hungaroring.xml
@@ -190,10 +217,14 @@ share/pixmaps/vamos.png
 %%DATADIR%%/tracks/Indianapolis.xml
 %%DATADIR%%/tracks/Interlagos.xml
 %%DATADIR%%/tracks/Istanbul.xml
+%%DATADIR%%/tracks/Jerez.xml
+%%DATADIR%%/tracks/Korea.xml
 %%DATADIR%%/tracks/Kyalami.xml
 %%DATADIR%%/tracks/Laguna_Seca.xml
+%%DATADIR%%/tracks/Le_Mans.xml
 %%DATADIR%%/tracks/Magny-Cours.xml
 %%DATADIR%%/tracks/Monaco.xml
+%%DATADIR%%/tracks/Monza-1967.xml
 %%DATADIR%%/tracks/Monza-Bank.xml
 %%DATADIR%%/tracks/Monza.xml
 %%DATADIR%%/tracks/Mosport.xml
@@ -205,18 +236,19 @@ share/pixmaps/vamos.png
 %%DATADIR%%/tracks/Silverstone-2010.xml
 %%DATADIR%%/tracks/Silverstone-2011.xml
 %%DATADIR%%/tracks/Silverstone.xml
+%%DATADIR%%/tracks/Singapore.xml
 %%DATADIR%%/tracks/Spa.xml
 %%DATADIR%%/tracks/Suzuka.xml
 %%DATADIR%%/tracks/Valencia.xml
 %%DATADIR%%/tracks/Villeneuve.xml
+%%DATADIR%%/tracks/Watkins_Glen.xml
 %%DATADIR%%/tracks/Yas_Marina.xml
 %%DATADIR%%/tracks/bridge.ac
-%%DATADIR%%/tracks/default-track.xml
 %%DATADIR%%/tracks/drag.xml
 %%DATADIR%%/tracks/garage.ac
 %%DATADIR%%/tracks/grandstand.ac
 %%DATADIR%%/tracks/jump.xml
 %%DATADIR%%/tracks/skid_pad.xml
-%%DATADIR%%/worlds/default-world.xml
 %%DATADIR%%/worlds/earth.xml
 %%DATADIR%%/worlds/moon.xml
+%%DATADIR%%/worlds/night.xml