From 0a5059eeb20b0d2f16a85101c43a9ab17c0461dc Mon Sep 17 00:00:00 2001 From: Noah Gardner Date: Fri, 25 Sep 2026 11:15:29 -0400 Subject: [PATCH 1/2] build: bolt from [tools.bolt] (v1.8.0), no bolt flake input Drop the bolt flake input. bolt is now the lock's [tools.bolt] pin (v1.8.0), built by ez's nix lib: ez.mkLint for the lint check, ez.toolPackage for packages.bolt, and ez.mkShell { src = self; } puts it in the dev shell. ez lock wrote ez.lock.toml and the .ez/lib allowlist. Relock the flake's ez (836aa9c) and bend (2.0.27). Co-Authored-By: Claude Opus 5.5 (1M context) --- .gitignore | 4 +++- ez.lock.toml | 11 +++++++++ ez.toml | 8 +++++++ flake.lock | 64 ++++++---------------------------------------------- flake.nix | 11 +++------ 5 files changed, 32 insertions(+), 66 deletions(-) create mode 100644 ez.lock.toml diff --git a/.gitignore b/.gitignore index 204079e..279a810 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ result bin/ -.ez/ +.ez/* +!.ez/lib +.ez/lib/* .gate/ *.gpu .claude/ diff --git a/ez.lock.toml b/ez.lock.toml new file mode 100644 index 0000000..fb31278 --- /dev/null +++ b/ez.lock.toml @@ -0,0 +1,11 @@ +[lock] +version = "2" +hub = "https://hub.bend-lang.com" + +[tools.bolt] +git = "https://github.com/Emerging-Patterns/bolt" +rev = "02fb09377f5c0fbddb5f6b7c32c8ab4ae14240df" +tag = "v1.8.0" +root = "." +narHash = "sha256-53zE+3lZ/jn9GvIeGoavvNMaFyUs5dEFWd7fwP49TlM=" +entry = "main.bend" diff --git a/ez.toml b/ez.toml index 9206960..6f739e4 100644 --- a/ez.toml +++ b/ez.toml @@ -1,3 +1,11 @@ [package] name = "ezaudio" entry = "ezaudio/main.bend" + +[tools.bolt] +git = "https://github.com/Emerging-Patterns/bolt" +rev = "02fb09377f5c0fbddb5f6b7c32c8ab4ae14240df" +tag = "v1.8.0" +root = "." +narHash = "sha256-53zE+3lZ/jn9GvIeGoavvNMaFyUs5dEFWd7fwP49TlM=" +entry = "main.bend" diff --git a/flake.lock b/flake.lock index 3f9fca8..a8b2a35 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1790013287, - "narHash": "sha256-Yr/1J0Wn0Q0xkmPwJk2eOyCrqMgOymZu1Np2FKoVRMQ=", + "lastModified": 1790348040, + "narHash": "sha256-6oh+6jj7kyl4xJsmq4p3BtU/BUl2f2LlC/5kH081D1M=", "owner": "bendlang", "repo": "bend", - "rev": "a49524265bdfa5753a4bf38e25f0574a705dd868", + "rev": "774ef644dccf9c3f8053f7276d8901ad23da006c", "type": "github" }, "original": { @@ -20,56 +20,7 @@ "type": "github" } }, - "bolt": { - "inputs": { - "bend": [ - "bend" - ], - "ez": "ez", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790029208, - "narHash": "sha256-H4wu9ivQFeBnvnXKT7O4QgjM6AHDH1A6IhFb6vqcKZU=", - "owner": "Emerging-Patterns", - "repo": "bolt", - "rev": "995adc90fe96c95c8f2604632305c644e5109ed2", - "type": "github" - }, - "original": { - "owner": "Emerging-Patterns", - "repo": "bolt", - "type": "github" - } - }, "ez": { - "inputs": { - "bend": [ - "bolt", - "bend" - ], - "nixpkgs": [ - "bolt", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1790028674, - "narHash": "sha256-0cSIKVwoxmsJIlk3BpRVoLzB0nPjqBq+asPZZ5k6sIM=", - "owner": "Emerging-Patterns", - "repo": "ez", - "rev": "62aa63305cde7294cc6a15b540d392adcda1d9a7", - "type": "github" - }, - "original": { - "owner": "Emerging-Patterns", - "repo": "ez", - "type": "github" - } - }, - "ez_2": { "inputs": { "bend": [ "bend" @@ -79,11 +30,11 @@ ] }, "locked": { - "lastModified": 1790028674, - "narHash": "sha256-0cSIKVwoxmsJIlk3BpRVoLzB0nPjqBq+asPZZ5k6sIM=", + "lastModified": 1790310127, + "narHash": "sha256-csxvWEjzbSOTuXxWcKbyfBrHMXru2JkA2u3oO1AH5MU=", "owner": "Emerging-Patterns", "repo": "ez", - "rev": "62aa63305cde7294cc6a15b540d392adcda1d9a7", + "rev": "836aa9c0a4f9a53a7d8e15e80a8451c58eb03503", "type": "github" }, "original": { @@ -111,8 +62,7 @@ "root": { "inputs": { "bend": "bend", - "bolt": "bolt", - "ez": "ez_2", + "ez": "ez", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index e935925..a37ced9 100644 --- a/flake.nix +++ b/flake.nix @@ -11,11 +11,6 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.bend.follows = "bend"; }; - inputs.bolt = { - url = "github:Emerging-Patterns/bolt"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.bend.follows = "bend"; - }; outputs = { self, nixpkgs, ... }@inputs: let @@ -25,7 +20,7 @@ ez = inputs.ez.lib.${system}; ezBin = inputs.ez.packages.${system}.default; bend = inputs.bend.packages.${system}.default; - bolt = inputs.bolt.packages.${system}.default; + bolt = ez.toolPackage { name = "bolt"; src = self; inherit bend; wrapFlags = [ "--gpu" "off" ]; }; bend-cc = ez.bend-cc; bench = import ./bench { @@ -43,15 +38,15 @@ checks.${system} = { proofs = ez.mkProofs { ez = ezBin; src = self; }; - lint = ez.mkLint { inherit bolt; src = self; }; + lint = ez.mkLint { src = self; }; } // bench.checks; devShells.${system}.default = ez.mkShell { + src = self; packages = [ bend bend-cc ezBin - bolt pkgs.python3 pkgs.ffmpeg-headless bench.packages.ezaudio-bench-drv From a4d491a8146af616b74a0dddeb57d8adc3d27bf5 Mon Sep 17 00:00:00 2001 From: Noah Gardner Date: Fri, 25 Sep 2026 11:29:48 -0400 Subject: [PATCH 2/2] build: lower bolt 1.8.0's new rules to warn until fixed See https://github.com/Emerging-Patterns/ezaudio/issues/36. Co-Authored-By: Claude Opus 5.5 (1M context) --- bolt.bend | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bolt.bend b/bolt.bend index 3838bc2..da32ab5 100644 --- a/bolt.bend +++ b/bolt.bend @@ -17,3 +17,19 @@ def style() -> String: # a pure def named by no law def laws() -> String: "error" + +# bolt 1.8.0 closed: warn until the findings are fixed (see the tracking issue) +def closed() -> String: + "warn" + +# bolt 1.8.0 coverage: warn until the findings are fixed (see the tracking issue) +def coverage() -> String: + "warn" + +# bolt 1.8.0 wrap: warn until the findings are fixed (see the tracking issue) +def wrap() -> String: + "warn" + +# bolt 1.8.0 param: warn until the findings are fixed (see the tracking issue) +def param() -> String: + "warn"