Skip to content

Centralize IOG library lists in iog-libs.nix#240

Merged
angerman merged 2 commits into
mainfrom
fix/centralize-iog-libs
Feb 28, 2026
Merged

Centralize IOG library lists in iog-libs.nix#240
angerman merged 2 commits into
mainfrom
fix/centralize-iog-libs

Conversation

@angerman
Copy link
Copy Markdown
Collaborator

Summary

  • Extract duplicated IOG dependency lists from dynamic.nix, static.nix, cross-js.nix, and cross-windows.nix into a single iog-libs.nix
  • Categorizes dependencies: crypto (all shells), data (dynamic/static), tools (dynamic/static), cross-tools (cross-compilation)
  • Eliminates manual synchronization when adding new libraries (e.g., lmdb was previously only in dynamic/static, not cross targets)
  • Includes the lmdb addition from feature/add-lmdb

Addresses #56

Test plan

  • nix flake show — all devShells/hydraJobs evaluate without errors
  • nix eval '.#devShells.aarch64-darwin.ghc96-iog.buildInputs' — verified lmdb, libblst, libsodium-vrf, secp256k1 present
  • nix eval '.#devShells.aarch64-darwin.ghc96-static-iog.buildInputs' — verified static variants present with lmdb
  • CI builds pass on all platforms

Extract the duplicated IOG dependency lists from dynamic.nix,
static.nix, cross-js.nix, and cross-windows.nix into a single
iog-libs.nix file. This eliminates manual synchronization when
adding new libraries (e.g., lmdb was previously missing from
cross-compilation targets) and provides a canonical source of
truth for IOG-specific dependencies.

The centralized file categorizes dependencies into:
- crypto: libblst, libsodium-vrf, secp256k1 (all shell types)
- data: lmdb (dynamic/static only)
- tools: cbor-diag, cddl, gh, icu, jq, yq-go (dynamic/static)
- cross-tools: cbor-diag, cddl (cross-compilation targets)

Each consumer imports iog-libs.nix and transforms as needed
(e.g., static.nix passes static=true to resolve static-* variants).

Addresses #56
Move the iog-libs.nix sync comment from inside the shell heredoc
(where it breaks line continuation and triggers SC2215) to a Nix
comment above the writeShellApplicationWithRuntime block.
@angerman angerman force-pushed the fix/centralize-iog-libs branch from 482dddb to c7b22a3 Compare February 28, 2026 01:25
@angerman angerman added this pull request to the merge queue Feb 28, 2026
Merged via the queue into main with commit 0e060b5 Feb 28, 2026
16 of 21 checks passed
@angerman angerman deleted the fix/centralize-iog-libs branch February 28, 2026 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant