From e477f91e4f56642fa81690e7447bf152a329cab9 Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 11:16:24 -0700 Subject: [PATCH 01/17] no-op --- ARCHITECTURE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 38ec99fd..d761f396 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -175,4 +175,5 @@ If you’re unsure where code belongs, ask: If the answer is **no**, it does not belong in `shared/` or `happ/`. -That single heuristic will prevent most architectural violations. \ No newline at end of file +That single heuristic will prevent most architectural violations. + From 7172dc2d97a5811fc7fa04b2976ea7399923a71b Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 13:18:08 -0700 Subject: [PATCH 02/17] added clang, cmake, and pgk-config to ci check dependencies --- .github/workflows/test.yaml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index fb04b7a2..f8e66e30 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -13,13 +13,18 @@ jobs: steps: - uses: actions/checkout@v4 - # πŸ”΄ REQUIRED: minimal system bootstrap so bindgen/libclang can start - + # βœ… Step 1: Ensure system has dynamic libs for libclang and C++ - name: Install system dependencies run: | sudo apt-get update - sudo apt-get install -y libclang-14-dev libstdc++6 clang - + sudo apt-get install -y \ + libclang-dev \ + libstdc++6 \ + clang \ + cmake \ + pkg-config + + # βœ… Step 2: Setup Nix (used for Holochain/holonix) - name: Install nix uses: cachix/install-nix-action@v27 with: @@ -31,6 +36,7 @@ jobs: with: name: holochain-ci + # βœ… Step 3: Run your tests inside Nix shell - name: Install and test run: | - nix develop --command bash -c "npm i && npm t" \ No newline at end of file + nix develop --command bash -c "npm install && npm test" \ No newline at end of file From 764bd42dd0bafe03d5a4fafd0f5689e8ed29061c Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 14:02:52 -0700 Subject: [PATCH 03/17] added LD_LIBRARY_PATH to get to ci check dependencies --- .github/workflows/test.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f8e66e30..fc9b79b5 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -39,4 +39,5 @@ jobs: # βœ… Step 3: Run your tests inside Nix shell - name: Install and test run: | + export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH" nix develop --command bash -c "npm install && npm test" \ No newline at end of file From e46282afa2da3a71affaa0ff1b1edabfb4b1c8c0 Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 14:06:13 -0700 Subject: [PATCH 04/17] patched Install nix --- .github/workflows/test.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index fc9b79b5..2cdff0f2 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -28,7 +28,6 @@ jobs: - name: Install nix uses: cachix/install-nix-action@v27 with: - install_url: https://releases.nixos.org/nix/nix-2.23.3/install extra_nix_config: | experimental-features = flakes nix-command From 0802ca88449199dd8cc683312053a3d3c21d0990 Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 16:24:53 -0700 Subject: [PATCH 05/17] backed ubuntu off to ubuntu-22.04 to avoid GLBC conflict for CI checks --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 2cdff0f2..22a7a752 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -8,7 +8,7 @@ on: jobs: testbuild: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 From 022471644da2f27660c57c0745c775d61a673961 Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 16:30:44 -0700 Subject: [PATCH 06/17] removed LD_LIBRARY_PATH --- .github/workflows/test.yaml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 22a7a752..add45cf4 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -2,18 +2,17 @@ name: "test" on: push: - branches: [ main, develop ] + branches: [main, develop] pull_request: - branches: [ main, develop ] + branches: [main, develop] jobs: testbuild: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v4 - # βœ… Step 1: Ensure system has dynamic libs for libclang and C++ - name: Install system dependencies run: | sudo apt-get update @@ -24,19 +23,16 @@ jobs: cmake \ pkg-config - # βœ… Step 2: Setup Nix (used for Holochain/holonix) - - name: Install nix + - name: Install Nix uses: cachix/install-nix-action@v27 with: extra_nix_config: | - experimental-features = flakes nix-command + experimental-features = nix-command flakes - uses: cachix/cachix-action@v15 with: name: holochain-ci - # βœ… Step 3: Run your tests inside Nix shell - name: Install and test run: | - export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH" nix develop --command bash -c "npm install && npm test" \ No newline at end of file From 87d3a3bbdc01b699fc75156733a52f93886a9b78 Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 17:00:31 -0700 Subject: [PATCH 07/17] backed ubuntu off to 22.04 --- .github/workflows/test.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index add45cf4..d7f0a19d 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -8,7 +8,7 @@ on: jobs: testbuild: - runs-on: ubuntu-24.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 From d6abba70fa41197e45a9f5dd22add7d4d234285c Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 17:31:37 -0700 Subject: [PATCH 08/17] still shotgunning possible CI fixes --- flake.nix | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/flake.nix b/flake.nix index da7baf4b..6a5ac1c5 100644 --- a/flake.nix +++ b/flake.nix @@ -36,28 +36,18 @@ binaryen ]; - shellHook = - '' - export PS1='$begin:math:display$\\033\[1\;34m$end:math:display$[holonix:\w]\$$begin:math:display$\\033\[0m$end:math:display$ ' - - # Cross-platform: modern CMake policy + reduce configure flakiness - export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" - export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" - '' - # macOS-only: use Apple's toolchain for native deps - + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' - # Requires Xcode CLT: xcode-select --install - export CC="$(xcrun -f clang)" - export CXX="$(xcrun -f clang++)" - export AR="$(xcrun -f ar)" - export SDKROOT="$(xcrun --show-sdk-path)" - : ''${MACOSX_DEPLOYMENT_TARGET:=12.0} - - export CMAKE_C_COMPILER="$CC" - export CMAKE_CXX_COMPILER="$CXX" - export CMAKE_GENERATOR="Unix Makefiles" - export CMAKE_OSX_ARCHITECTURES="${if pkgs.stdenv.isAarch64 then "arm64" else "x86_64"}" - ''; + shellHook = '' + export PS1='\[\033[1;34m\][holonix:\w]\$\[\033[0m\] ' + + # Use nix-provided libclang + LLVM runtime + export LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib" + export LD_LIBRARY_PATH="${pkgs.llvmPackages.llvm.lib}/lib:$LD_LIBRARY_PATH" + + export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" + export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" + '' + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' + ... + ''; }; }; }; From 69a97746051c376b3fb6892f57c3a62a9ec57045 Mon Sep 17 00:00:00 2001 From: evomimic Date: Fri, 9 Jan 2026 18:16:17 -0700 Subject: [PATCH 09/17] still shotgunning possible CI fixes --- flake.nix | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.nix b/flake.nix index 6a5ac1c5..86bd42d2 100644 --- a/flake.nix +++ b/flake.nix @@ -22,14 +22,14 @@ # Extra native tools (incl. libclang + libstdc++ for CI) nativeBuildInputs = [ - pkgs.libsodium - pkgs.pkg-config - pkgs.llvmPackages.libunwind - pkgs.llvmPackages.libclang # βœ… Required by bindgen - pkgs.llvmPackages.clang-unwrapped # βœ… Needed to satisfy some crates - pkgs.stdenv.cc.cc.lib # βœ… Pulls in libstdc++.so - pkgs.cmake - ]; + pkgs.libsodium + pkgs.pkg-config + pkgs.llvmPackages.libunwind + pkgs.llvmPackages.libclang # βœ… Required by bindgen + pkgs.llvmPackages.clang-unwrapped # βœ… Needed to satisfy some crates + pkgs.stdenv.cc.cc.lib # βœ… Pulls in libstdc++.so + pkgs.cmake + ]; packages = with pkgs; [ nodejs_22 @@ -41,12 +41,12 @@ # Use nix-provided libclang + LLVM runtime export LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib" - export LD_LIBRARY_PATH="${pkgs.llvmPackages.llvm.lib}/lib:$LD_LIBRARY_PATH" + export LD_LIBRARY_PATH="${pkgs.llvmPackages.llvm}/lib:$LD_LIBRARY_PATH" export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" '' + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' - ... + # macOS-specific build settings go here ''; }; }; From 317fb4093f0a543c0aa96128923060ad967e884c Mon Sep 17 00:00:00 2001 From: evomimic Date: Sat, 10 Jan 2026 09:48:39 -0700 Subject: [PATCH 10/17] still shotgunning possible CI fixes --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 86bd42d2..dd951a3d 100644 --- a/flake.nix +++ b/flake.nix @@ -29,6 +29,7 @@ pkgs.llvmPackages.clang-unwrapped # βœ… Needed to satisfy some crates pkgs.stdenv.cc.cc.lib # βœ… Pulls in libstdc++.so pkgs.cmake + pkgs.glibc.dev ]; packages = with pkgs; [ From 418d999653b42db32ab9199f6bccc34aa6fb24c1 Mon Sep 17 00:00:00 2001 From: evomimic Date: Sat, 10 Jan 2026 11:33:49 -0700 Subject: [PATCH 11/17] still shotgunning possible CI fixes --- flake.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flake.nix b/flake.nix index dd951a3d..ce8e7614 100644 --- a/flake.nix +++ b/flake.nix @@ -40,6 +40,10 @@ shellHook = '' export PS1='\[\033[1;34m\][holonix:\w]\$\[\033[0m\] ' + # βœ… Make sure system headers like stdlib.h are found + export NIX_CFLAGS_COMPILE="-isystem ${pkgs.glibc.dev}/include $NIX_CFLAGS_COMPILE" + export NIX_LDFLAGS="-L${pkgs.glibc}/lib $NIX_LDFLAGS" + # Use nix-provided libclang + LLVM runtime export LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib" export LD_LIBRARY_PATH="${pkgs.llvmPackages.llvm}/lib:$LD_LIBRARY_PATH" From 0793bb262d9853c5829842b648dc3ed4d350c538 Mon Sep 17 00:00:00 2001 From: evomimic Date: Sun, 11 Jan 2026 17:48:38 -0700 Subject: [PATCH 12/17] still shotgunning possible CI fixes --- flake.nix | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/flake.nix b/flake.nix index ce8e7614..f18d9e89 100644 --- a/flake.nix +++ b/flake.nix @@ -22,39 +22,44 @@ # Extra native tools (incl. libclang + libstdc++ for CI) nativeBuildInputs = [ - pkgs.libsodium - pkgs.pkg-config - pkgs.llvmPackages.libunwind - pkgs.llvmPackages.libclang # βœ… Required by bindgen - pkgs.llvmPackages.clang-unwrapped # βœ… Needed to satisfy some crates - pkgs.stdenv.cc.cc.lib # βœ… Pulls in libstdc++.so - pkgs.cmake - pkgs.glibc.dev - ]; + pkgs.libsodium + pkgs.pkg-config + pkgs.llvmPackages.libunwind + pkgs.llvmPackages.libclang # βœ… Required by bindgen + pkgs.llvmPackages.clang-unwrapped # βœ… Needed to satisfy some crates + pkgs.stdenv.cc.cc.lib # βœ… Pulls in libstdc++.so + pkgs.cmake + ]; packages = with pkgs; [ nodejs_22 binaryen ]; - shellHook = '' - export PS1='\[\033[1;34m\][holonix:\w]\$\[\033[0m\] ' - - # βœ… Make sure system headers like stdlib.h are found - export NIX_CFLAGS_COMPILE="-isystem ${pkgs.glibc.dev}/include $NIX_CFLAGS_COMPILE" - export NIX_LDFLAGS="-L${pkgs.glibc}/lib $NIX_LDFLAGS" + shellHook = + '' + export PS1='\[\033[1;34m\][holonix:\w]\$\[\033[0m\] ' - # Use nix-provided libclang + LLVM runtime - export LIBCLANG_PATH="${pkgs.llvmPackages.libclang.lib}/lib" - export LD_LIBRARY_PATH="${pkgs.llvmPackages.llvm}/lib:$LD_LIBRARY_PATH" + # Cross-platform: modern CMake policy + reduce configure flakiness + export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" + export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" + '' + # macOS-only: use Apple's toolchain for native deps + + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' + # Requires Xcode CLT: xcode-select --install + export CC="$(xcrun -f clang)" + export CXX="$(xcrun -f clang++)" + export AR="$(xcrun -f ar)" + export SDKROOT="$(xcrun --show-sdk-path)" + : ''${MACOSX_DEPLOYMENT_TARGET:=12.0} - export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" - export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" - '' + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' - # macOS-specific build settings go here - ''; + export CMAKE_C_COMPILER="$CC" + export CMAKE_CXX_COMPILER="$CXX" + export CMAKE_GENERATOR="Unix Makefiles" + export CMAKE_OSX_ARCHITECTURES="${if pkgs.stdenv.isAarch64 then "arm64" else "x86_64"}" + ''; }; }; }; }; -} \ No newline at end of file +} From dff7374f1b86c411b6c77514d1189b9e9d30a63c Mon Sep 17 00:00:00 2001 From: evomimic Date: Sun, 11 Jan 2026 18:31:28 -0700 Subject: [PATCH 13/17] still shotgunning possible CI fixes --- .github/workflows/test.yaml | 6 +++++- flake.nix | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index d7f0a19d..d5e5f68d 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -35,4 +35,8 @@ jobs: - name: Install and test run: | - nix develop --command bash -c "npm install && npm test" \ No newline at end of file + export LIBCLANG_PATH=$(nix eval --raw .#devShells.x86_64-linux.default.buildInputs | grep libclang | head -1)/lib + export LD_LIBRARY_PATH=$(nix eval --raw .#devShells.x86_64-linux.default.buildInputs | grep llvm | head -1)/lib:$LD_LIBRARY_PATH + export NIX_CFLAGS_COMPILE="-isystem $(nix eval --raw .#devShells.x86_64-linux.default.buildInputs | grep glibc | grep dev | head -1)/include" + export NIX_LDFLAGS="-L$(nix eval --raw .#devShells.x86_64-linux.default.buildInputs | grep glibc | grep -v dev | head -1)/lib" + nix develop --command bash -c "npm install && npm test" diff --git a/flake.nix b/flake.nix index f18d9e89..82ef0cd7 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,7 @@ pkgs.llvmPackages.libclang # βœ… Required by bindgen pkgs.llvmPackages.clang-unwrapped # βœ… Needed to satisfy some crates pkgs.stdenv.cc.cc.lib # βœ… Pulls in libstdc++.so + pkgs.glibc.dev pkgs.cmake ]; From 90432beabe9ab0b548f4b5b0119d095dcd921bb0 Mon Sep 17 00:00:00 2001 From: evomimic Date: Mon, 12 Jan 2026 06:07:19 -0700 Subject: [PATCH 14/17] moved required packages to devShells from nativeBuildInputs --- flake.nix | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/flake.nix b/flake.nix index 82ef0cd7..ac5562b2 100644 --- a/flake.nix +++ b/flake.nix @@ -20,19 +20,21 @@ # Pull in holonix dev shell inputsFrom = [ inputs'.holonix.devShells.default ]; - # Extra native tools (incl. libclang + libstdc++ for CI) - nativeBuildInputs = [ - pkgs.libsodium - pkgs.pkg-config - pkgs.llvmPackages.libunwind - pkgs.llvmPackages.libclang # βœ… Required by bindgen - pkgs.llvmPackages.clang-unwrapped # βœ… Needed to satisfy some crates - pkgs.stdenv.cc.cc.lib # βœ… Pulls in libstdc++.so - pkgs.glibc.dev - pkgs.cmake - ]; - + # βœ… ALL required tooling goes here (CI + local) packages = with pkgs; [ + # C/C++ toolchain and headers + stdenv.cc + glibc.dev + + # Build dependencies for Rust + bindgen + cmake crates + llvmPackages.libclang + llvmPackages.clang-unwrapped + llvmPackages.libunwind + pkg-config + cmake + libsodium + + # App-specific tools nodejs_22 binaryen ]; @@ -41,13 +43,12 @@ '' export PS1='\[\033[1;34m\][holonix:\w]\$\[\033[0m\] ' - # Cross-platform: modern CMake policy + reduce configure flakiness + # Cross-platform: safe defaults for CMake-based crates export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" '' - # macOS-only: use Apple's toolchain for native deps + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' - # Requires Xcode CLT: xcode-select --install + # macOS-only: use Apple's toolchain export CC="$(xcrun -f clang)" export CXX="$(xcrun -f clang++)" export AR="$(xcrun -f ar)" @@ -63,4 +64,4 @@ }; }; }; -} +} \ No newline at end of file From 27df5e6c107350776746583eaa62c3f9ff652148 Mon Sep 17 00:00:00 2001 From: evomimic Date: Mon, 12 Jan 2026 06:41:14 -0700 Subject: [PATCH 15/17] added NIX_CFLAGS_COMPILE --- flake.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/flake.nix b/flake.nix index ac5562b2..c4840689 100644 --- a/flake.nix +++ b/flake.nix @@ -46,6 +46,10 @@ # Cross-platform: safe defaults for CMake-based crates export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" + + # 🩹 Ensure standard C headers (like stdlib.h) are found + export NIX_CFLAGS_COMPILE="-isystem ${pkgs.glibc.dev}/include" + '' + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' # macOS-only: use Apple's toolchain From 988f95654062866547f0fe71930d562c6d055221 Mon Sep 17 00:00:00 2001 From: evomimic Date: Mon, 12 Jan 2026 07:29:53 -0700 Subject: [PATCH 16/17] added NIX_CFLAGS_COMPILE --- .github/workflows/debug-glibc.yml | 44 +++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/debug-glibc.yml diff --git a/.github/workflows/debug-glibc.yml b/.github/workflows/debug-glibc.yml new file mode 100644 index 00000000..29a8975d --- /dev/null +++ b/.github/workflows/debug-glibc.yml @@ -0,0 +1,44 @@ +name: Debug nix develop environment + +on: + workflow_dispatch: + +jobs: + debug-nix: + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v3 + + - name: Install Nix + uses: cachix/install-nix-action@v24 + + - name: Enter nix develop shell + run: | + nix develop --command bash -c ' + echo "πŸ”§ Nix develop shell entered" + + echo + echo "πŸ” Checking for stdlib.h" + find /nix/store -name "stdlib.h" || echo "❌ stdlib.h not found" + + echo + echo "πŸ“‚ Checking expected glibc include path" + ls -l /nix/store/*glibc*/include/stdlib.h || echo "❌ /glibc*/include/stdlib.h not found" + + echo + echo "🧠 C compiler version and paths:" + gcc --version + echo + + echo "πŸ“€ GCC include paths:" + echo | gcc -E -x c -v - + + echo + echo "πŸ“€ g++ include paths:" + echo | g++ -E -x c++ -v - + + echo + echo "βœ… Diagnostic complete" + ' \ No newline at end of file From 7832e3cf30eb9bb6936df44fbd6063b9fd4cc2fa Mon Sep 17 00:00:00 2001 From: evomimic Date: Mon, 12 Jan 2026 10:26:12 -0700 Subject: [PATCH 17/17] another try at CI --- flake.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index c4840689..a975e481 100644 --- a/flake.nix +++ b/flake.nix @@ -20,13 +20,12 @@ # Pull in holonix dev shell inputsFrom = [ inputs'.holonix.devShells.default ]; - # βœ… ALL required tooling goes here (CI + local) packages = with pkgs; [ - # C/C++ toolchain and headers + # βœ… Native build toolchain + headers required on CI (Ubuntu) stdenv.cc glibc.dev - # Build dependencies for Rust + bindgen + cmake crates + # βœ… For crates like bindgen / cmake / datachannel-sys llvmPackages.libclang llvmPackages.clang-unwrapped llvmPackages.libunwind @@ -43,13 +42,13 @@ '' export PS1='\[\033[1;34m\][holonix:\w]\$\[\033[0m\] ' - # Cross-platform: safe defaults for CMake-based crates + # πŸ›  For CMake-based crates and general safety export CMAKE_ARGS="''${CMAKE_ARGS:-} -DCMAKE_POLICY_VERSION_MINIMUM=3.10" export CMAKE_BUILD_PARALLEL_LEVEL="''${CMAKE_BUILD_PARALLEL_LEVEL:-1}" - # 🩹 Ensure standard C headers (like stdlib.h) are found + # βœ… Critical for CI (Ubuntu) to find stdlib headers + libs export NIX_CFLAGS_COMPILE="-isystem ${pkgs.glibc.dev}/include" - + export NIX_LDFLAGS="-L${pkgs.glibc}/lib -L${pkgs.stdenv.cc.cc.lib}/lib" '' + pkgs.lib.optionalString pkgs.stdenv.isDarwin '' # macOS-only: use Apple's toolchain