From 8d8f56664d8119c649a801a4630a70af6b3f5be4 Mon Sep 17 00:00:00 2001 From: Alexander Miroshnichenko Date: Wed, 17 Jun 2026 14:11:20 +0300 Subject: [PATCH] fix(packages): correct pname typo, add missing category, add sed warning, fix indent - graphify: fix pname typo graphifyy -> graphify - container-use: add missing passthru.category - radar: add brittleness warning on postPatch sed block - freebuff: fix extractNpmPkg indentation --- packages/container-use/package.nix | 1 + packages/freebuff/package.nix | 111 +++++++++++++++-------------- packages/graphify/package.nix | 2 +- packages/radar/package.nix | 3 + 4 files changed, 62 insertions(+), 55 deletions(-) diff --git a/packages/container-use/package.nix b/packages/container-use/package.nix index 07416cf..c29a5b1 100644 --- a/packages/container-use/package.nix +++ b/packages/container-use/package.nix @@ -34,6 +34,7 @@ buildGoModule rec { ]; passthru = { + category = "AI Coding Agents"; updateScript = [ "nix-update" "--flake" diff --git a/packages/freebuff/package.nix b/packages/freebuff/package.nix index 53cda86..a3dd46a 100644 --- a/packages/freebuff/package.nix +++ b/packages/freebuff/package.nix @@ -59,74 +59,77 @@ stdenv.mkDerivation rec { src = freebuffSrc; - nativeBuildInputs = [ makeWrapper patchelf ]; + nativeBuildInputs = [ + makeWrapper + patchelf + ]; dontStrip = true; dontPatchelf = true; installPhase = '' - runHook preInstall + runHook preInstall - # Extract and patch the pre-built binary for NixOS compatibility - mkdir -p "$out/bin" /tmp/fb-engine - tar xzf "${binarySrc}" -C /tmp/fb-engine --strip-components=0 - cp /tmp/fb-engine/freebuff "$out/bin/freebuff-engine" - chmod 755 "$out/bin/freebuff-engine" + # Extract and patch the pre-built binary for NixOS compatibility + mkdir -p "$out/bin" /tmp/fb-engine + tar xzf "${binarySrc}" -C /tmp/fb-engine --strip-components=0 + cp /tmp/fb-engine/freebuff "$out/bin/freebuff-engine" + chmod 755 "$out/bin/freebuff-engine" - patchelf \ - --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" \ - --set-rpath "${glibc}/lib:" \ - "$out/bin/freebuff-engine" + patchelf \ + --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" \ + --set-rpath "${glibc}/lib:" \ + "$out/bin/freebuff-engine" - if [ -f /tmp/fb-engine/tree-sitter.wasm ]; then - cp /tmp/fb-engine/tree-sitter.wasm "$out/bin/" - fi + if [ -f /tmp/fb-engine/tree-sitter.wasm ]; then + cp /tmp/fb-engine/tree-sitter.wasm "$out/bin/" + fi - rm -rf /tmp/fb-engine + rm -rf /tmp/fb-engine - # Extract npm dependencies from pre-fetched tarballs - extractNpmPkg() { - local src="$1" target="$2" - mkdir -p "$target" - tar xzf "$src" -C "$target" --strip-components=1 + # Extract npm dependencies from pre-fetched tarballs + extractNpmPkg() { + local src="$1" target="$2" + mkdir -p "$target" + tar xzf "$src" -C "$target" --strip-components=1 + } + + mkdir -p "$out/lib/node_modules/tar" + mkdir -p "$out/lib/node_modules/chownr" + mkdir -p "$out/lib/node_modules/minipass" + mkdir -p "$out/lib/node_modules/minizlib" + mkdir -p "$out/lib/node_modules/yallist" + mkdir -p "$out/lib/node_modules/@isaacs/fs-minipass" + + extractNpmPkg "${pkgTar}" "$out/lib/node_modules/tar" + extractNpmPkg "${pkgChownr}" "$out/lib/node_modules/chownr" + extractNpmPkg "${pkgMinipass}" "$out/lib/node_modules/minipass" + extractNpmPkg "${pkgMinizlib}" "$out/lib/node_modules/minizlib" + extractNpmPkg "${pkgYallist}" "$out/lib/node_modules/yallist" + extractNpmPkg "${pkgFsMinipass}" "$out/lib/node_modules/@isaacs/fs-minipass" + + # Launcher: run the patched engine directly from nix-store + cat > "$out/bin/launcher.js" << LAUNCHER_EOF + #!/usr/bin/env node + const { spawn } = require('child_process'); + const TERMINAL_RESET = '\x1b[?1049l\x1b[?1000l\x1b[?1002l\x1b[?1003l\x1b[?1006l\x1b[?2004l\x1b[?25h'; + const engine = '${placeholder "out"}/bin/freebuff-engine'; + + function reset() { + try { if (process.stdin.isTTY && process.stdin.setRawMode) process.stdin.setRawMode(false); } catch(e){} + try { if (process.stdout.isTTY) process.stdout.write(TERMINAL_RESET); } catch(e){} } - mkdir -p "$out/lib/node_modules/tar" - mkdir -p "$out/lib/node_modules/chownr" - mkdir -p "$out/lib/node_modules/minipass" - mkdir -p "$out/lib/node_modules/minizlib" - mkdir -p "$out/lib/node_modules/yallist" - mkdir -p "$out/lib/node_modules/@isaacs/fs-minipass" + const child = spawn(engine, process.argv.slice(2), { stdio: 'inherit' }); + child.on('exit', (code, signal) => { reset(); process.exit(signal ? 1 : code || 0); }); + child.on('error', (e) => { console.error('Failed to start freebuff:', e.message); process.exit(1); }); + LAUNCHER_EOF - extractNpmPkg "${pkgTar}" "$out/lib/node_modules/tar" - extractNpmPkg "${pkgChownr}" "$out/lib/node_modules/chownr" - extractNpmPkg "${pkgMinipass}" "$out/lib/node_modules/minipass" - extractNpmPkg "${pkgMinizlib}" "$out/lib/node_modules/minizlib" - extractNpmPkg "${pkgYallist}" "$out/lib/node_modules/yallist" - extractNpmPkg "${pkgFsMinipass}" "$out/lib/node_modules/@isaacs/fs-minipass" + makeWrapper "${nodejs}/bin/node" "$out/bin/freebuff" \ + --set NODE_PATH "$out/lib/node_modules" \ + --add-flags "$out/bin/launcher.js" - # Launcher: run the patched engine directly from nix-store - cat > "$out/bin/launcher.js" << LAUNCHER_EOF -#!/usr/bin/env node -const { spawn } = require('child_process'); -const TERMINAL_RESET = '\x1b[?1049l\x1b[?1000l\x1b[?1002l\x1b[?1003l\x1b[?1006l\x1b[?2004l\x1b[?25h'; -const engine = '${placeholder "out"}/bin/freebuff-engine'; - -function reset() { - try { if (process.stdin.isTTY && process.stdin.setRawMode) process.stdin.setRawMode(false); } catch(e){} - try { if (process.stdout.isTTY) process.stdout.write(TERMINAL_RESET); } catch(e){} -} - -const child = spawn(engine, process.argv.slice(2), { stdio: 'inherit' }); -child.on('exit', (code, signal) => { reset(); process.exit(signal ? 1 : code || 0); }); -child.on('error', (e) => { console.error('Failed to start freebuff:', e.message); process.exit(1); }); -LAUNCHER_EOF - - makeWrapper "${nodejs}/bin/node" "$out/bin/freebuff" \ - --set NODE_PATH "$out/lib/node_modules" \ - --add-flags "$out/bin/launcher.js" - - runHook postInstall + runHook postInstall ''; doCheck = false; diff --git a/packages/graphify/package.nix b/packages/graphify/package.nix index 0820596..238ffb7 100644 --- a/packages/graphify/package.nix +++ b/packages/graphify/package.nix @@ -5,7 +5,7 @@ }: python3Packages.buildPythonApplication rec { - pname = "graphifyy"; + pname = "graphify"; version = "0.7.10"; pyproject = true; diff --git a/packages/radar/package.nix b/packages/radar/package.nix index 2933a24..45e46bf 100644 --- a/packages/radar/package.nix +++ b/packages/radar/package.nix @@ -25,6 +25,9 @@ let postPatch = '' # Fix missing resolved URLs for packages under web/node_modules/ + # WARNING: This sed is version-specific — if upstream bumps a + # transitive dep version, the patterns silently fail and the + # build breaks. Update resolved/integrity values when bumping radar. # that are actually external npm packages (not workspace links). # Insert "resolved" and "integrity" after the "version" field # for each affected package using sed.