Subject: [bug#76946] [PATCH] gnu: box2d: Update to v3.0.0

From: [email-masked]
Date: Tue, 11 Mar 2025 16:46:43 +0100 (CET)

Hello,

I made a package definition for Box2d v3. The API is completely new so I suggest keeping the previous version to maintain existing compatibility.
Tests has been switched off because a third-party application named `enkiTS' is needed and is downloaded from its repository for all test apps.

Best regards

From a1973cc0491ad6c8375f10382902a542efe35354 Mon Sep 17 00:00:00 2001
Message-ID: <a1973cc0491[email-masked]>
From: Arnaud Lechevallier <[email-masked]>
Date: Tue, 11 Mar 2025 15:48:14 +0100
Subject: [PATCH] gnu: Update box2d to v3.0.0.

* gnu/packages/game-development.sch (box2d-3): New variable.

Change-Id: Ie7113832d557ac9a2265a9636b5b1141909771fe
---
 gnu/packages/game-development.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index bf4fe00828..91369089b9 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -35,6 +35,7 @@
 ;;; Copyright © 2024 Maxim Cournoyer <[email-masked]>
 ;;; Copyright © 2025 Sharlatan Hellseher <[email-masked]>
 ;;; Copyright © 2025 宋文武 <[email-masked]>
+;;; Copyright © 2025 Arnaud Lechevallier <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3357,6 +3358,30 @@ (define-public box2d
 physics engine is just a system for procedural animation.")
     (license license:expat)))
 
+(define-public box2d-3
+  (package
+   (inherit box2d)
+   (name "box2d")
+   (version "3.0.0")
+   (source
+    (origin
+     (method git-fetch)
+     (uri (git-reference
+           (url "https://github.com/erincatto/box2d")
+           (commit (string-append "v" version))))
+     (file-name (git-file-name name version))
+     (sha256
+      (base32 "0m01c23mxvg96zypqyi2fpkd1dsvgflafi3ncga6ihdvxbwaybk5"))))
+   (build-system cmake-build-system)
+   (arguments
+    (substitute-keyword-arguments
+        (package-arguments box2d)
+      ((#:test-target _) "")            ; no check
+      ((#:configure-flags original-flags)
+       `(cons* "-DBOX2D_UNIT_TESTS=OFF" ; enkiTS need for all test apps
+               "-DBOX2D_SAMPLES=OFF"
+               (delete "-DBOX2D_BUILD_TESTBED=OFF" ,original-flags)))))))
+
 (define-public libtcod
   (package
     (name "libtcod")

base-commit: 338867d01cf362679cbed37e93ed2527664a9104
-- 
2.48.1