pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

box2d: add upgrade candidate



Module Name:	pkgsrc-wip
Committed By:	Thomas Klausner <wiz%NetBSD.org@localhost>
Pushed By:	wiz
Date:		Sat Feb 14 11:23:19 2026 +0100
Changeset:	53de652d702ce07984360b9e3d70f607852b2493

Added Files:
	box2d/DESCR
	box2d/Makefile
	box2d/PLIST
	box2d/buildlink3.mk
	box2d/distinfo
	box2d/log

Log Message:
box2d: add upgrade candidate

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=53de652d702ce07984360b9e3d70f607852b2493

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 box2d/DESCR         | 24 ++++++++++++++++++++++++
 box2d/Makefile      | 26 ++++++++++++++++++++++++++
 box2d/PLIST         | 13 +++++++++++++
 box2d/buildlink3.mk | 13 +++++++++++++
 box2d/distinfo      |  5 +++++
 box2d/log           | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 133 insertions(+)

diffs:
diff --git a/box2d/DESCR b/box2d/DESCR
new file mode 100644
index 0000000000..7ef0903e1f
--- /dev/null
+++ b/box2d/DESCR
@@ -0,0 +1,24 @@
+Box2D is a 2D physics engine for games. It features:
+
+Collision
+    Continuous collision detection
+    Contact callbacks: begin, end, pre-solve, post-solve
+    Convex polygons and circles
+    Multiple shapes per body
+    One-shot contact manifolds
+    Dynamic tree broadphase
+    Efficient pair management
+    Fast broadphase AABB queries
+    Collision groups and categories
+
+Physics
+    Continuous physics with time of impact solver
+    Persistent body-joint-contact graph
+    Island solution and sleep management
+    Contact, friction, and restitution
+    Stable stacking with a linear-time solver
+    Revolute, prismatic, distance, pulley, gear, mouse joint,
+      and other joint types
+    Joint limits, motors, and friction
+    Momentum decoupled position correction
+    Fairly accurate reaction forces/impulses
diff --git a/box2d/Makefile b/box2d/Makefile
new file mode 100644
index 0000000000..6f080ac923
--- /dev/null
+++ b/box2d/Makefile
@@ -0,0 +1,26 @@
+# $NetBSD: Makefile,v 1.5 2024/08/25 06:18:49 wiz Exp $
+
+DISTNAME=	box2d-3.1.1
+CATEGORIES=	graphics
+MASTER_SITES=	${MASTER_SITE_GITHUB:=erincatto/}
+GITHUB_TAG=	v${PKGVERSION_NOREV}
+
+MAINTAINER=	ryoon%NetBSD.org@localhost
+HOMEPAGE=	https://github.com/erincatto/box2d/
+COMMENT=	2D physics engine for games
+LICENSE=	mit
+
+USE_LANGUAGES=	c c++
+
+CMAKE_CONFIGURE_ARGS+=	-DBOX2D_BUILD_UNIT_TESTS=OFF
+CMAKE_CONFIGURE_ARGS+=	-DBOX2D_BUILD_TESTBED=OFF
+CMAKE_CONFIGURE_ARGS+=	-DBOX2D_SAMPLES=OFF
+CMAKE_CONFIGURE_ARGS+=	-DBUILD_SHARED_LIBS=ON
+
+.include "../../devel/cmake/build.mk"
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXcursor/buildlink3.mk"
+.include "../../x11/libXi/buildlink3.mk"
+.include "../../x11/libXinerama/buildlink3.mk"
+.include "../../x11/libXrandr/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/box2d/PLIST b/box2d/PLIST
new file mode 100644
index 0000000000..41c581ee73
--- /dev/null
+++ b/box2d/PLIST
@@ -0,0 +1,13 @@
+@comment $NetBSD$
+include/box2d/base.h
+include/box2d/box2d.h
+include/box2d/collision.h
+include/box2d/id.h
+include/box2d/math_functions.h
+include/box2d/types.h
+lib/cmake/box2d/box2dConfig-noconfig.cmake
+lib/cmake/box2d/box2dConfig.cmake
+lib/cmake/box2d/box2dConfigVersion.cmake
+lib/libbox2d.so
+lib/libbox2d.so.3
+lib/libbox2d.so.${PKGVERSION}
diff --git a/box2d/buildlink3.mk b/box2d/buildlink3.mk
new file mode 100644
index 0000000000..35c678a0ec
--- /dev/null
+++ b/box2d/buildlink3.mk
@@ -0,0 +1,13 @@
+# $NetBSD: buildlink3.mk,v 1.1 2021/02/06 06:41:33 ryoon Exp $
+
+BUILDLINK_TREE+=	box2d
+
+.if !defined(BOX2D_BUILDLINK3_MK)
+BOX2D_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.box2d+=	box2d>=2.4.1
+BUILDLINK_PKGSRCDIR.box2d?=	../../graphics/box2d
+
+.endif	# BOX2D_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-box2d
diff --git a/box2d/distinfo b/box2d/distinfo
new file mode 100644
index 0000000000..e3a01806e8
--- /dev/null
+++ b/box2d/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.4 2024/08/11 06:39:04 wiz Exp $
+
+BLAKE2s (box2d-3.1.1.tar.gz) = ed7b5f74ba923d6999c1c545c11eadb45023d990a4233edebf603b8321fd9dfd
+SHA512 (box2d-3.1.1.tar.gz) = 7367640e7f2ff395b8ca48766c71f57c96e08c298627c996eba76899a149ee28b0e3ecacfa4a224fdb5d160c7e25c6069bb8414fd1575787727d796097aa347b
+Size (box2d-3.1.1.tar.gz) = 780115 bytes
diff --git a/box2d/log b/box2d/log
new file mode 100644
index 0000000000..6ce4d4b650
--- /dev/null
+++ b/box2d/log
@@ -0,0 +1,52 @@
+# v3.1 Release Notes
+
+## API Changes
+- 64-bit filter categories and masks
+- 64-bit dynamic tree user data
+- Renamed `b2SmoothSegment` to `b2ChainSegment`
+- Cast and overlap functions modified for argument consistency
+- Contact begin events now provide the manifold
+- More consistent functions to make polygons
+- Contact events are now disabled by default
+- Replaced `b2Timer` with `uint64_t`
+- Shape material properties now use `b2SurfaceMaterial`
+
+## New Features
+- New character mover features and sample
+- Revised sensor system is now independent of body type and sleep
+- Rolling resistance and tangent speed
+- Friction and restitution mixing callbacks
+- World explosions
+- World access to the maximum linear speed
+- More control over body mass updates
+- Filter joint to disable collision between specific bodies
+- Bodies can now have names for debugging
+- Added `b2Body_SetTargetTransform` for kinematic bodies
+
+## Improvements
+- Cross-platform determinism
+- Custom SSE2 and Neon for significantly improved performance
+- SSE2 is the default instead of AVX2
+- Removed SIMDE library dependency
+- Faster ray and shape casts
+- Faster continuous collision
+- Each segment of a chain shape may have a different surface material
+- Reduced overhead of restitution when not used
+- Implemented atomic platform wrappers eliminating the `experimental:c11atomics` flag
+
+## Bugs Fixes
+- Many bug fixes based on user testing
+- Fixed missing hit events
+- Capsule and polygon manifold fixes
+- Fixed missing contact end events
+- PreSolve is now called in continuous collision
+- Reduced clipping into chain shapes by fast bodies
+- Friction and restitution are now remixed in the contact solver every time step
+- Body move events are now correctly adjusted for time of impact
+
+## Infrastructure
+- Unit test for API coverage
+- macOS and Windows samples built in GitHub actions
+- CMake install
+- imgui and glfw versions are now pinned in FetchContent
+- Initial Emscripten support


Home | Main Index | Thread Index | Old Index