I am uploading a LowNMU with the posted patch in order to fix this.
The debdiff is included and the changes are in git.diff -Nru seriousproton-2020.01.15+dfsg/debian/changelog
seriousproton-2020.01.15+dfsg/debian/changelog
--- seriousproton-2020.01.15+dfsg/debian/changelog 2020-01-30
19:26:09.0 +
+++ seriousproton-2020.01.15+dfsg/debian/changelog 2024-04-14
17:34:45.0 +
@@ -1,3 +1,16 @@
+seriousproton (2020.01.15+dfsg-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload
+ * Remove non-ASCII characters from Description
+
+ [ Nicolas Braud-Santoni ]
+ * libseriousproton-dev: Add missing dependencies
+
+ [ David Paul ]
+ * Fix FTBFS with libbox2d-dev >= 2.4.0 (Closes: #997264)
+
+ -- Bastian Germann Sun, 14 Apr 2024 17:34:45 +
+
seriousproton (2020.01.15+dfsg-1) unstable; urgency=medium
* New upstream release
diff -Nru seriousproton-2020.01.15+dfsg/debian/control
seriousproton-2020.01.15+dfsg/debian/control
--- seriousproton-2020.01.15+dfsg/debian/control2020-01-30
19:26:09.0 +
+++ seriousproton-2020.01.15+dfsg/debian/control2024-04-14
17:26:00.0 +
@@ -14,11 +14,12 @@
Section: libdevel
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
- libseriousproton0 (= ${binary:Version})
+ libseriousproton0 (= ${binary:Version}),
+ libbox2d-dev, liblua5.3-dev, libsfml-dev
Description: C++ game engine -- development files
SeriousProton is implemented atop SFML, from scratch.
.
- “There will be dragons and undocumented stuff in here.”
+ "There will be dragons and undocumented stuff in here."
.
This package contains the development files (CMake, headers, ...)
@@ -28,6 +29,6 @@
Description: C++ game engine -- shared library
SeriousProton is implemented atop SFML, from scratch.
.
- “There will be dragons and undocumented stuff in here.”
+ "There will be dragons and undocumented stuff in here."
.
This package contains the shared library.
diff -Nru
seriousproton-2020.01.15+dfsg/debian/patches/0006-Fix-FTBFS-with-box2d-2.4.0-or-later.patch
seriousproton-2020.01.15+dfsg/debian/patches/0006-Fix-FTBFS-with-box2d-2.4.0-or-later.patch
---
seriousproton-2020.01.15+dfsg/debian/patches/0006-Fix-FTBFS-with-box2d-2.4.0-or-later.patch
1970-01-01 00:00:00.0 +
+++
seriousproton-2020.01.15+dfsg/debian/patches/0006-Fix-FTBFS-with-box2d-2.4.0-or-later.patch
2024-04-14 17:20:56.0 +
@@ -0,0 +1,73 @@
+Description: Fix FTBFS with Box2D >= 2.4.0
+ Adapted from a pull request in the upstream repository.
+Origin: https://github.com/daid/SeriousProton/pull/67
+Bug-Debian: https://bugs.debian.org/997264
+Last-Update: 2022-06-08
+---
+
+Index: seriousproton-2020.01.15+dfsg/src/collisionable.h
+===
+--- seriousproton-2020.01.15+dfsg.orig/src/collisionable.h
seriousproton-2020.01.15+dfsg/src/collisionable.h
+@@ -2,7 +2,7 @@
+ #define COLLISIONABLE_H
+
+ #include "P.h"
+-#include "Box2D/Box2D.h"
++#include "box2d/box2d.h"
+
+ class Collisionable;
+ class CollisionManager
+Index: seriousproton-2020.01.15+dfsg/src/collisionable.cpp
+===
+--- seriousproton-2020.01.15+dfsg.orig/src/collisionable.cpp
seriousproton-2020.01.15+dfsg/src/collisionable.cpp
+@@ -30,7 +30,7 @@ public:
+ /// @return false to terminate the query.
+ virtual bool ReportFixture(b2Fixture* fixture)
+ {
+-P ptr =
(Collisionable*)fixture->GetBody()->GetUserData();
++P ptr =
reinterpret_cast(fixture->GetBody()->GetUserData().pointer);
+ if (ptr)
+ list.push_back(ptr);
+ return true;
+@@ -75,8 +75,8 @@ void CollisionManager::handleCollisions(
+ {
+ if (contact->IsTouching() && contact->IsEnabled())
+ {
+-Collisionable* A =
(Collisionable*)contact->GetFixtureA()->GetBody()->GetUserData();
+-Collisionable* B =
(Collisionable*)contact->GetFixtureB()->GetBody()->GetUserData();
++Collisionable* A =
reinterpret_cast(contact->GetFixtureA()->GetBody()->GetUserData().pointer);
++Collisionable* B =
reinterpret_cast(contact->GetFixtureB()->GetBody()->GetUserData().pointer);
+ if (!A->isDestroyed() && !B->isDestroyed())
+ {
+ float collision_force = 0.0f;
+@@ -220,7 +220,7 @@ void Collisionable::setCollisionChain(co
+ }
+ else
+ {
+-shape.CreateChain(b_points.data(), b_points.size());
++shape.CreateChain(b_points.data(), b_points.size(), b2Vec2_zero,
b2Vec2_zero);
+ }
+
+ createBody(&shape);
+@@ -271,7 +271,7 @@ void Collisionable::createBody(b2Shape*
+ }else{
+ b2BodyDef bodyDef;
+ bodyDef.type = static_physics ? b2_kinematicBody : b2_dynamicBody;
+-bodyDef.userData = this;
++bodyDef.userData.pointer = reinterpret_cast(this);
+