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:		Tue Oct 27 16:27:58 2026 +0100
Changeset:	a7e57195ba60415346013a5bcbfd422b7c3c5486

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

Log Message:
box2d: add upgrade candidate

breaks libreoffice

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

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

diffstat:
 Makefile            |  1 +
 box2d/DESCR         | 24 ++++++++++++++++++++++++
 box2d/Makefile      | 27 +++++++++++++++++++++++++++
 box2d/PLIST         | 17 +++++++++++++++++
 box2d/buildlink3.mk | 12 ++++++++++++
 box2d/distinfo      |  5 +++++
 box2d/log           | 44 ++++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 130 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 2a649e4b6d..28b8f45da7 100644
--- a/Makefile
+++ b/Makefile
@@ -379,6 +379,7 @@ SUBDIR+=	boron
 SUBDIR+=	botan3-git
 SUBDIR+=	bottom
 SUBDIR+=	bowtie2
+SUBDIR+=	box2d
 SUBDIR+=	bpcscripts
 SUBDIR+=	brain-mesh-builder
 SUBDIR+=	breakpad
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..39c472d09a
--- /dev/null
+++ b/box2d/Makefile
@@ -0,0 +1,27 @@
+# $NetBSD: Makefile,v 1.6 2026/09/22 07:55:31 ryoon Exp $
+
+DISTNAME=	box2d-3.2.0
+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_SAMPLES=OFF
+CMAKE_CONFIGURE_ARGS+=	-DBUILD_SHARED_LIBS=ON
+
+PKGCONFIG_OVERRIDE+=	src/box2d.pc.in
+
+.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..4e4334409b
--- /dev/null
+++ b/box2d/PLIST
@@ -0,0 +1,17 @@
+@comment $NetBSD$
+include/box2d/base.h
+include/box2d/box2d.h
+include/box2d/collision.h
+include/box2d/config.h
+include/box2d/constants.h
+include/box2d/id.h
+include/box2d/math_functions.h
+include/box2d/math_types.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}
+lib/pkgconfig/box2d.pc
diff --git a/box2d/buildlink3.mk b/box2d/buildlink3.mk
new file mode 100644
index 0000000000..d4043cdb4e
--- /dev/null
+++ b/box2d/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD: buildlink3.mk,v 1.2 2026/09/22 07:55:31 ryoon Exp $
+
+BUILDLINK_TREE+=	box2d
+
+.if !defined(BOX2D_BUILDLINK3_MK)
+BOX2D_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.box2d+=	box2d>=3.1.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..6854b2c700
--- /dev/null
+++ b/box2d/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.5 2026/09/22 07:55:31 ryoon Exp $
+
+BLAKE2s (box2d-3.2.0.tar.gz) = 46e75e7b9f8ee398f38ad63e49c4a3b81bbc1b5679a29594aa0059d0bc34a345
+SHA512 (box2d-3.2.0.tar.gz) = 874bde300e7e33e950152f1d86cb4e2989cd7e30b2d89ac29d9596d9251b514972285eaba19b2d2941870f6d0e446265bf22e4d2a6df287f2c9807e0a82c8ed1
+Size (box2d-3.2.0.tar.gz) = 1471322 bytes
diff --git a/box2d/log b/box2d/log
new file mode 100644
index 0000000000..db28392eb6
--- /dev/null
+++ b/box2d/log
@@ -0,0 +1,44 @@
+API changes
+
+    Joint definitions share a common b2JointDef base and use local frames instead of anchors, axes and reference angles.
+    Mouse joint removed, the motor joint now has spring and velocity targets.
+    Motion locks replace fixed rotation.
+    Chain shapes are segment based.
+    Contact ids (b2ContactId) in contact events, with b2Contact_GetData.
+    Pre-solve callback redesigned, plus a separate continuous pre-solve callback.
+    Native task system. Box2D runs its own threads when no task callbacks are hooked up.
+
+New features
+
+    Large worlds with optional double precision (BOX2D_DOUBLE_PRECISION).
+    Recording and replay, plus world snapshots (experimental).
+    Contact recycling for better stability and performance.
+    Dynamic character mover with new mover and pogo joints (experimental).
+    Joint events for breakable joints (force and torque thresholds).
+    Tunable continuous collision per body (safety factor).
+    Restitution iterations and propagation.
+    Wind and drag on shapes.
+    Distance joint spring force limits.
+    Loose chain segments.
+    Continuous sensor events. Fast shapes are swept against static sensors, and bullets against all non-bullet sensors.
+    Runtime AVX2 dispatch with SSE2 fallback.
+
+Improvements
+
+    Many optimizations.
+    Faster broad-phase and ray casts. Much less single threaded work.
+    Faster island merging and splitting.
+    Kinematic bodies are cheaper. Graph coloring treats them like static bodies.
+    More stable prismatic joint under stress.
+    More accurate rotational inertia for shapes far from the body origin.
+    Invalid input is now rejected and logged in release builds.
+    Various SIMD optimizations.
+
+Infrastructure
+
+    pkg-config support.
+    Swift and Zig builds in CI.
+    MinGW, clang-cl and Windows ARM64 builds.
+    JSON descriptions of the public API in api/ for binding generators, one per precision.
+    CMake presets.
+    Revised samples UI and many new samples.


Home | Main Index | Thread Index | Old Index