Skip to content

update dependencies and get LB compiling - #297

Open
Benjmhart wants to merge 6 commits into
mainfrom
staging
Open

update dependencies and get LB compiling#297
Benjmhart wants to merge 6 commits into
mainfrom
staging

Conversation

@Benjmhart

Copy link
Copy Markdown
Member

this branch updates dependencies and gets the build running under van-rossum compatible package set

Benjmhart and others added 6 commits July 23, 2026 17:59
Hercules CI evaluates in pure mode and re-derives the lock, walking the
flake-lang -> haskell-nix -> hackage override chain and failing with
'cannot update unlocked flake input flake-lang/haskell-nix/hackage in
pure mode'. flake-lang had a mutable branch ref; pin it to the exact rev
the lock was built against so CI uses the committed lock as-is.

Build is unchanged (lbr-plutus drv identical); nix flake check green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The depth-2 hackage override (flake-lang -> haskell-nix -> hackage) can't be
evaluated by Hercules CI in pure mode (it re-locks the transitive input and
can't fetch it), which is why CI kept failing with 'cannot update unlocked
flake input ... in pure mode'.

Replace it: keep only the depth-1 CHaP override (immutable rev, which CI
accepts) for plutus 1.65, leave haskell.nix + its bundled hackage.nix at
flake-lang's defaults (index-state 2025-09-27), and inject the one package that
only gained GHC 9.12 support later — proto-lens 0.7.1.7 — as a haskell.nix
extraHackage source dependency (settings.haskell.proto-lens-deps, fetched with
submodules and symlinks dereferenced) into the compiler/codegen/frontend
projects.

nix flake check green (226/226). Build outputs unchanged for the runtimes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Benjmhart
Benjmhart requested review from avnik, gnumonik and szg251 August 6, 2026 00:45

@avnik avnik left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nix and cabal stuff looks reasonable.
purescirpt-cip30 issue still need to be resolved

@bladyjoker bladyjoker left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey lovelies! Drive by commenting x)

Comment thread settings.nix
Comment on lines +98 to +117
proto-lens-deps =
let
src = pkgs.fetchgit {
url = "https://github.com/google/proto-lens.git";
rev = "1b3bcd51f4f9236d6826f7f0a1c4387d90af04ce";
fetchSubmodules = true;
sha256 = "0wp2fk8s806aakhjr68i8zwvsl5w07ji4iwh3ms3ml48lx9a3bma";
};
# proto-lens' data-files reach the bundled protobuf .proto files via a
# symlink (proto-lens-imports/google -> ../../google/protobuf/...) to a
# sibling submodule dir. Extracting a single package subdir as an
# extraHackage dep dangles that symlink, so copy with -L to inline the
# real files and make each subdir self-contained.
pkg = name: pkgs.runCommand name { } ''cp -rL ${src}/${name} $out'';
in
[
"${pkg "proto-lens"}"
"${pkg "proto-lens-runtime"}"
];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd add this to flake.nix inputs rather than here.

Comment thread settings.nix
Comment on lines +87 to +91
plutarch-src = pkgs.runCommand "plutarch-src-noWerror" { } ''
cp -r ${inputs.plutarch} $out
chmod -R +w $out
find $out -name '*.cabal' -exec sed -i 's/-Werror//g' {} +
'';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no way to instruct via haskell.nix API (like it's done for freer-simple) to remove some compilation flags?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thinking this is better placed in flake-lang.nix that deals with packaging and compilation?

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.

3 participants