haskell / haskell/haskell-language-server

Document why hls binaries are statically linked (and track ghc changes to allow loading dynamic libs within a static executable)

Open
#2,000 40 comments 0 reactions 0 assignees View on GitHub
old_type: distribution type: enhancement
Dominant language
Haskell
Stars
3k
Forks
455
Avg merge
2d 19h
Merged PRs (30d)
11

Description

I learned from @mpickering that HLS distributes GHC binaries with `DYNAMIC_GHC_PROGRAMS=YES`, and that this creates various problems for TemplateHaskell regarding dynamic linking.

I am interested in this topic because of https://github.com/NixOS/nixpkgs/issues/129245.

I was trying to find documentation on the fact that, or why, HLS does that, but couldn't find any.

Could that be written down somewhere? It would make users' and packagers' life easier.

---

On the question itself: Would `DYNAMIC_GHC_PROGRAMS=YES` be more problematic to distribute somwhow? It appears to me that if e.g. the VSCode plugin downloader can download GHC, it could also download some `.so` files with it.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.