Skip to content

Reconcile the cross/dual-compiler stack onto stable-haskell/master (rpath/tool-guess/stage-qualified) #384

@angerman

Description

@angerman

Reconcile the cross / dual-compiler stack onto stable-haskell/master

The fixes the stable-haskell GHC build depends on are scattered across pre- and
post-split feature branches and none are on master. As a result
stable-haskell/ghc#188 has
to pin the pre-split feature/wasm-cross-ghcup-stack, which forces GHC to
revert compiler/Setup.hs + libraries/ghc-boot/Setup.hs to the
pre-VerbosityHandles API and to drop the hooks-exe sub-dir at stage0. This
tracks getting everything onto master so GHC can pin master and drop those
adaptations.

Two generations, split by the Verbosity commit edb808a0b8b

branch Verbosity split host-only / stage-qual #361 tool-guess #368 rpath self-$ORIGIN
master (01d053ac) (stage-qual code present)
feature/cross-compile, wip/andrea/stage-qualified-options ✅ (#378)
feature/wasm-cross-ghcup-stack (GHC's current pin)

The pin line and the post-split line share no recent ancestor; the integrated,
working stack is on the old line, while the modern API is on master.

Reconciliation — converge on master via the stage-qualified line

Downstream once the above are on master

In stable-haskell/ghc:

  • Re-pin cabal.project.stage{0,1,2.common,3} from
    feature/wasm-cross-ghcup-stack to master.
  • Revert the Setup.hs Verbosity revert (restore the
    #if MIN_VERSION_Cabal(3,17,0) form — master has VerbosityHandles again).
  • Restore the hooks-exe sub-dir at stage0.

The self-$ORIGIN rpath fix (#385) also removes glibc's reliance on the runtime
LD_LIBRARY_PATH crutch, so it's a genuine improvement, not only a musl
workaround (root cause of backpack/cabal/T14304 failing on Alpine/musl).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions