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.000000000 +0000
+++ seriousproton-2020.01.15+dfsg/debian/changelog      2024-04-14 
17:34:45.000000000 +0000
@@ -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 <b...@debian.org>  Sun, 14 Apr 2024 17:34:45 +0000
+
 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/control        2020-01-30 
19:26:09.000000000 +0000
+++ seriousproton-2020.01.15+dfsg/debian/control        2024-04-14 
17:26:00.000000000 +0000
@@ -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.000000000 +0000
+++ 
seriousproton-2020.01.15+dfsg/debian/patches/0006-Fix-FTBFS-with-box2d-2.4.0-or-later.patch
 2024-04-14 17:20:56.000000000 +0000
@@ -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<Collisionable> ptr = 
(Collisionable*)fixture->GetBody()->GetUserData();
++        P<Collisionable> ptr = 
reinterpret_cast<Collisionable*>(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<Collisionable*>(contact->GetFixtureA()->GetBody()->GetUserData().pointer);
++            Collisionable* B = 
reinterpret_cast<Collisionable*>(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<uintptr_t>(this);
+         bodyDef.allowSleep = false;
+         body = CollisionManager::world->CreateBody(&bodyDef);
+     }
+@@ -377,8 +377,8 @@ std::vector<sf::Vector2f> Collisionable:
+     case b2Shape::e_polygon:
+         {
+             b2PolygonShape* cs = static_cast<b2PolygonShape*>(s);
+-            for(int n=0; n<cs->GetVertexCount(); n++)
+-                ret.push_back(b2v(cs->GetVertex(n)));
++            for(int n=0; n<cs->m_count; n++)
++                ret.push_back(b2v(cs->m_vertices[n]));
+         }
+         break;
+     default:
diff -Nru seriousproton-2020.01.15+dfsg/debian/patches/series 
seriousproton-2020.01.15+dfsg/debian/patches/series
--- seriousproton-2020.01.15+dfsg/debian/patches/series 2020-01-30 
19:26:09.000000000 +0000
+++ seriousproton-2020.01.15+dfsg/debian/patches/series 2024-04-14 
17:20:56.000000000 +0000
@@ -3,3 +3,4 @@
 0003-src-collisionable-Remove-void-assignment-to-bool.patch
 0004-Build-a-shared-library.patch
 0005-CMake-Set-VERSION-and-SOVERSION.patch
+0006-Fix-FTBFS-with-box2d-2.4.0-or-later.patch

Reply via email to