!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

685 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://nixos.org/manual/nixpkgs/unstable/#haskell | Current PR: https://github.com/nixos/nixpkgs/pulls?q=is%3Apr+is%3Aopen+head%3Ahaskell-updates | Maintainer Docs: https://github.com/NixOS/nixpkgs/blob/haskell-updates/pkgs/development/haskell-modules/HACKING.md | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org | Merger Schedule: https://cloud.maralorn.de/apps/calendar/p/H6migHmKX7xHoTFa/dayGridMonth/now | Join #haskell.nix:libera.chat for question about the alternative haskell.nix infrastructure136 Servers

Load older messages


SenderMessageTime
14 Jul 2025
@sternenseemann:systemli.orgsterni🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 https://www.stackage.org/lts-2420:59:47
@alexfmpe:matrix.orgalexfmpeseems my packages work there which is good because I'm about to disappear into a black hole for 3 weeks 23:36:31
15 Jul 2025
@sternenseemann:systemli.orgsterniI have a good feeling about this LTS version (clueless)09:20:07
@sternenseemann:systemli.orgsterni maralorn: have you played around with nix-eval-jobs before? 09:21:30
@sternenseemann:systemli.orgsterniDid we intentionally remove this job? https://hydra.nixos.org/eval/1816888#tabs-removed can't remember anything09:30:49
@maralorn:maralorn.demaralornYeah, the fact that it arrived so fast is probably a good sign.09:31:40
@maralorn:maralorn.demaralornNot really, I think. Why?09:32:10
@sternenseemann:systemli.orgsterniwe need to use it now because hydra-eval-jobs got killed09:32:36
@maralorn:maralorn.demaralornHuh, I see.09:32:51
@sternenseemann:systemli.orgsterni it has a different streaming output I think which needs changes 09:35:29
@sternenseemann:systemli.orgsterniI figured out the flags needed to get it to behave like hydra-eval-jobs mostly now09:35:43
@sternenseemann:systemli.orgsternibut I haven't seen it finish on my machine yet and I don't quite know what's going on09:35:58
@sternenseemann:systemli.orgsterniI think it has some built in resource limits09:36:05
@sternenseemann:systemli.orgsterniI have a draft pr with it09:36:18
@ncfavier:matrix.orgncfavier

has anyone seen this error before with the GHC JS backend?

Aborted('HEAP8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ))

(nix run github:ncfavier/glam/ghcjs-backend#glam-js to reproduce; say yes at the prompts to avoid building GHC)

11:10:59
@maralorn:maralorn.demaralorn ncfavier: Yes! That is a known issue. 11:24:12
@maralorn:maralorn.demaralorn

I have upstreamed a fix in ghc, which is not yet released and funnily I don’t think the fix works anyway. πŸ˜„ However there is a known to be working workaround:

Put this in the executable part of your .cabal file.

-- Workaround for a runtime error ("HEAP8 not found"). Only necessary until
-- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/14362 is resolved.
ld-options: -sEXPORTED_RUNTIME_METHODS=HEAP8,HEAPU8
11:26:25
@maralorn:maralorn.demaralornOne of the causes here is that the emscripten version used in ghc CI is older than in nixpkgs.11:28:35
@ncfavier:matrix.orgncfavieramazing, thank you so much!11:33:49
@alexfmpe:matrix.orgalexfmpeWonder if we should add the ghc issue as an eval warning heh13:03:47
@ncfavier:matrix.orgncfavier maybe we could just add that to the default cabal flags if stdenv.hostPlatform.isGhcjs or something 13:55:13
@alexfmpe:matrix.orgalexfmpeif it's morally a "ghc backport" I agree14:44:10
@alexfmpe:matrix.orgalexfmpeotherwise it can get weird if upstream is injecting ld-options and what not for you14:44:32
@alexfmpe:matrix.orgalexfmpesilently14:44:37
@maralorn:maralorn.demaralornThe major problem with ld-options is that they override preconfigured ld-options.15:23:30
@maralorn:maralorn.demaralornWhich is no problem for the js backend because it currently has none.15:23:46
@maralorn:maralorn.demaralornBut in general they are mainly meant for ghc devs for debugging purposes and bgamari dislikes the fact that they are exposed via cabal options.15:24:41
@ncfavier:matrix.orgncfavier *

has anyone seen this error before with the GHC JS backend?

Aborted('HEAP8' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ))
16:06:43
16 Jul 2025
@ncfavier:matrix.orgncfavier

Is this the blessed way to write an overlay that adds a package foo to all Haskell package sets, without undoing previous overlays? If so, should we add it to the manual?

final: prev: {
  haskell = prev.haskell // {
    packageOverrides = final.lib.composeExtensions prev.haskell.packageOverrides
      (hfinal: hprev: {
        foo = ...;
      });
  };
}
15:13:51
@ncfavier:matrix.orgncfavier *

Is this the blessed way to write an overlay that adds a package foo to all Haskell package sets, without undoing previous overlays? If so, should we add it to the manual? If not, what is?

final: prev: {
  haskell = prev.haskell // {
    packageOverrides = final.lib.composeExtensions prev.haskell.packageOverrides
      (hfinal: hprev: {
        foo = ...;
      });
  };
}
15:15:17

Show newer messages


Back to Room ListRoom Version: 6