From dbb7996014a04921387e13501d03e4a538dc2a12 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sat, 14 Feb 2026 18:52:25 -0500 Subject: [PATCH 1/3] fix: pin hatch-cpp<0.3, remove bash -c from build:cpp for Windows compat --- cpp/pyproject.toml.jinja | 4 ++-- cppjswasm/js/package.json.jinja | 2 +- cppjswasm/pyproject.toml.jinja | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cpp/pyproject.toml.jinja b/cpp/pyproject.toml.jinja index 6f87d36..42d3592 100644 --- a/cpp/pyproject.toml.jinja +++ b/cpp/pyproject.toml.jinja @@ -1,7 +1,7 @@ [build-system] requires = [ "hatchling", - "hatch-cpp", + "hatch-cpp<0.3", "pybind11", ] build-backend="hatchling.build" @@ -40,7 +40,7 @@ develop = [ "check-manifest", "cibuildwheel", "codespell>=2.4,<2.5", - "hatch-cpp", + "hatch-cpp<0.3", "hatchling", "mdformat>=0.7.22,<1.1", "mdformat-tables>=1", diff --git a/cppjswasm/js/package.json.jinja b/cppjswasm/js/package.json.jinja index 7aa4155..6c4aff7 100644 --- a/cppjswasm/js/package.json.jinja +++ b/cppjswasm/js/package.json.jinja @@ -26,7 +26,7 @@ "access": "public" }, "scripts": { - "build:cpp": "bash -c 'if [ -f ../emsdk/emsdk_env.sh ]; then source ../emsdk/emsdk_env.sh 2>/dev/null; fi && mkdir -p dist/pkg && em++ -O2 -std=c++17 -s WASM=1 -s MODULARIZE=1 -s EXPORT_ES6=1 -s SINGLE_FILE=1 -s ALLOW_MEMORY_GROWTH=1 -s ENVIRONMENT=web,worker --bind -I ../cpp ../cpp/{{project_name_formatted}}/example.cpp src/cpp/bindings.cpp -o dist/pkg/{{module}}.js'", + "build:cpp": "node -e \"require('fs').mkdirSync('dist/pkg',{recursive:true})\" && em++ -O2 -std=c++17 -s WASM=1 -s MODULARIZE=1 -s EXPORT_ES6=1 -s SINGLE_FILE=1 -s ALLOW_MEMORY_GROWTH=1 -s ENVIRONMENT=web,worker --bind -I ../cpp ../cpp/{{project_name_formatted}}/example.cpp src/cpp/bindings.cpp -o dist/pkg/{{module}}.js", "build:debug": "node build.mjs --debug", "build:prod": "node build.mjs", "build": "npm-run-all build:cpp build:prod", diff --git a/cppjswasm/pyproject.toml.jinja b/cppjswasm/pyproject.toml.jinja index 53d5739..3450999 100644 --- a/cppjswasm/pyproject.toml.jinja +++ b/cppjswasm/pyproject.toml.jinja @@ -1,7 +1,7 @@ [build-system] requires = [ "hatchling", - "hatch-cpp", + "hatch-cpp<0.3", "hatch-js", "pybind11", ] @@ -42,7 +42,7 @@ develop = [ "check-manifest", "cibuildwheel", "codespell>=2.4,<2.5", - "hatch-cpp", + "hatch-cpp<0.3", "hatch-js", "hatchling", "mdformat>=0.7.22,<1.1", From a82cb3f93bb599e47eecb7e031896045a61e49cc Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sat, 14 Feb 2026 18:59:32 -0500 Subject: [PATCH 2/3] fix: use direct PATH manipulation instead of sourcing emsdk_env.sh emsdk_env.sh uses BASH_SOURCE which fails silently in dash/sh (default Make shell on Ubuntu), preventing em++ from being found. --- cppjswasm/Makefile.jinja | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cppjswasm/Makefile.jinja b/cppjswasm/Makefile.jinja index 05576a5..8cc3b9f 100644 --- a/cppjswasm/Makefile.jinja +++ b/cppjswasm/Makefile.jinja @@ -1,8 +1,8 @@ ######### # BUILD # ######### -EMSDK_ENV := $(shell pwd)/emsdk/emsdk_env.sh -ACTIVATE_EMSDK := if [ -f "$(EMSDK_ENV)" ]; then . "$(EMSDK_ENV)" 2>/dev/null; fi +EMSDK_DIR := $(shell pwd)/emsdk +ACTIVATE_EMSDK := if [ -d "$(EMSDK_DIR)/upstream/emscripten" ]; then export PATH="$(EMSDK_DIR):$(EMSDK_DIR)/upstream/emscripten:$$PATH"; fi .PHONY: develop-py develop-js develop-cpp develop develop-py: From 6b5f645104521c80e0f763df16edaeba39aff180 Mon Sep 17 00:00:00 2001 From: Tim Paine <3105306+timkpaine@users.noreply.github.com> Date: Sat, 14 Feb 2026 21:56:20 -0500 Subject: [PATCH 3/3] Small fix for cpp to use newer manylinux image --- cpp/pyproject.toml.jinja | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cpp/pyproject.toml.jinja b/cpp/pyproject.toml.jinja index 42d3592..5509239 100644 --- a/cpp/pyproject.toml.jinja +++ b/cpp/pyproject.toml.jinja @@ -1,7 +1,7 @@ [build-system] requires = [ "hatchling", - "hatch-cpp<0.3", + "hatch-cpp", "pybind11", ] build-backend="hatchling.build" @@ -40,7 +40,7 @@ develop = [ "check-manifest", "cibuildwheel", "codespell>=2.4,<2.5", - "hatch-cpp<0.3", + "hatch-cpp", "hatchling", "mdformat>=0.7.22,<1.1", "mdformat-tables>=1", @@ -92,6 +92,7 @@ test-command = "echo 'TODO'" test-extras = "develop" [tool.cibuildwheel.linux] +manylinux-x86_64-image = "manylinux_2_28" skip = "*i686 musllinux*" [tool.cibuildwheel.macos]