| 20 Oct 2025 |
sterni (he/him) | In reply to @raboof:matrix.org with https://github.com/NixOS/nixpkgs/commit/fffebd7398360d241c3e34f01af4813ef199e488 haskell.packages.ghc912.these seems deterministic, so that's promising! * did you measure performance impact? | 07:00:28 |
sterni (he/him) | In reply to @raboof:matrix.org I noticed that we're packaging both .so and .a artifacts where Arch seems to only include the .so . Probably a naive question, but are we using those .a's? :) * yes, dynamically linking executables means excessively large closure sizes | 07:01:25 |
Alex | In reply to @sternenseemann:systemli.org yes As usual, separate outputs would be nice but potentially require a lot of effort to implement. :s | 08:17:03 |
| 21 Oct 2025 |
| 50^2 changed their profile picture. | 04:51:49 |
| @le:4d2.org left the room. | 10:36:16 |
eldritchcookie | is cabal2nix not aware of build-tools-depends or do i need to blame flake-parts's haskell-flake? | 21:57:25 |
Artem | eldritchcookie: the latter I think | 23:13:21 |
Artem | * eldritchcookie: the former I think | 23:13:25 |
Artem | * eldritchcookie: the former I think (not aware) | 23:13:33 |
eldritchcookie | i did some digging and actually calling cabal2nix on my cabal package has an output which contains TestToolDepends = [tasty-discover]; so somebody is dropping that and it certainly isnt cabal2nix | 23:17:22 |
| 22 Oct 2025 |
raboof | for 'these' it does seem slower, but in the order of 'tens of milliseconds' on an ~11-second build. I tried a more substantial package (hoogle), that was about 2 seconds slower for a 46-second build (averages across 4 builds each). So measurable impact (but promising to see it did seem to have the desired effect for hoogle as well)... | 10:39:44 |
magic_rb | hm, im getting this from nixpkgs:
> [55 of 73] Compiling JavaScript.Web.Canvas.ImageData ( JavaScript/Web/Canvas/ImageData.hs, dist/build/JavaScript/Web/Canvas/ImageData.o )
> [56 of 73] Compiling JavaScript.Web.Canvas ( JavaScript/Web/Canvas.hs, dist/build/JavaScript/Web/Canvas.o )ipt/Web/Canvas/Internal.o )
> [57 of 73] Compiling JavaScript.Web.Canvas.TextMetrics ( JavaScript/Web/Canvas/TextMetrics.hs, dist/build/JavaScript/Web/Canvas/TextMetrics.o )
> [58 of 73] Compiling JavaScript.Web.CloseEvent.Internal ( JavaScript/Web/CloseEvent/Internal.hs, dist/build/JavaScript/Web/CloseEvent/Internal.o )
> [59 of 73] Compiling JavaScript.Web.CloseEvent ( JavaScript/Web/CloseEvent.hs, dist/build/JavaScript/Web/CloseEvent.o )ionFrame.o )
> [60 of 73] Compiling JavaScript.Web.ErrorEvent.Internal ( JavaScript/Web/ErrorEvent/Internal.hs, dist/build/JavaScript/Web/ErrorEvent/Internal.o )
> [61 of 73] Compiling JavaScript.Web.ErrorEvent ( JavaScript/Web/ErrorEvent.hs, dist/build/JavaScript/Web/ErrorEvent.o )
> [62 of 73] Compiling JavaScript.Web.File ( JavaScript/Web/File.hs, dist/build/JavaScript/Web/File.o )1;
> [63 of 73] Compiling JavaScript.Web.History ( JavaScript/Web/History.hs, dist/build/JavaScript/Web/History.o )
> [64 of 73] Compiling JavaScript.Web.Location ( JavaScript/Web/Location.hs, dist/build/JavaScript/Web/Location.o )
> [65 of 73] Compiling JavaScript.Web.MessageEvent.Internal ( JavaScript/Web/MessageEvent/Internal.hs, dist/build/JavaScript/Web/MessageEvent/Internal.o )
> [66 of 73] Compiling JavaScript.Web.MessageEvent ( JavaScript/Web/MessageEvent.hs, dist/build/JavaScript/Web/MessageEvent.o )
> [67 of 73] Compiling JavaScript.Web.Performance ( JavaScript/Web/Performance.hs, dist/build/JavaScript/Web/Performance.o )
> [68 of 73] Compiling JavaScript.Web.Storage.Internal ( JavaScript/Web/Storage/Internal.hs, dist/build/JavaScript/Web/Storage/Internal.o )
> [69 of 73] Compiling JavaScript.Web.Storage ( JavaScript/Web/Storage.hs, dist/build/JavaScript/Web/Storage.o )
> [70 of 73] Compiling JavaScript.Web.StorageEvent ( JavaScript/Web/StorageEvent.hs, dist/build/JavaScript/Web/StorageEvent.o )
> [71 of 73] Compiling JavaScript.Web.WebSocket ( JavaScript/Web/WebSocket.hs, dist/build/JavaScript/Web/WebSocket.o )
> [72 of 73] Compiling JavaScript.Web.Worker ( JavaScript/Web/Worker.hs, dist/build/JavaScript/Web/Worker.o )
> [73 of 73] Compiling JavaScript.Web.XMLHttpRequest ( JavaScript/Web/XMLHttpRequest.hs, dist/build/JavaScript/Web/XMLHttpRequest.o )
> javascript-unknown-ghcjs-ghc-9.10.3: JavaScript C pre-processor: could not execute:
For full logs, run:
nix log /nix/store/b9y291nv2niv71aggzy6l5gnhvn6qkdx-ghcjs-base-0.8.0.4.drv
error: 1 dependencies of derivation '/nix/store/fpfwgskiyns3lbfa23b98mzmnknzvy0s-jsaddle-0.9.9.3.drv' failed to build
error: 1 dependencies of derivation '/nix/store/fwfk823qa6ghsxy3ba95k9a06ij4w4m5-miso-1.8.7.0.drv' failed to build
weird | 20:24:03 |
magic_rb | its an interesting failure, very, not helpful | 20:24:57 |
| 23 Oct 2025 |
alexfmpe | might want to try 9.12 from recent nixpkgs | 17:23:06 |
alexfmpe | pkgsCross.ghcjs.haskell.packages.ghc912 has cached miso and reflex-dom, which means a lot of other packages are also cached by being their deps | 17:23:38 |
alexfmpe | I get nix-build -A pkgsCross.ghcjs.haskell.packages.ghc912.ghcjs-base from cache on https://github.com/NixOS/nixpkgs/commit/c90b7f75f4e9d4dffcdc30261f565da1e261d468 which is just a few days old | 17:26:32 |
alexfmpe | magic_rb: ^ | 17:26:42 |
Uraraka ~ Ochaco | I kind of gave up with ghcjs when it started giving cryptic errors so I moved my stack over to wasm | 17:27:18 |
alexfmpe | js backend is recent enough I wouldn't bother much with anything older than 9.12 | 17:27:21 |
alexfmpe | but yeah, wasm is very much an option | 17:27:59 |
alexfmpe | funnily enough eval of this is broken on master and on present haskell-updates, looks like something got merged very recently | 17:28:51 |
alexfmpe | $ nix-build -A pkgsCross.ghcjs.haskell.packages.ghc912.hello
error: no C compiler provided for this platform
| 17:30:22 |
alexfmpe | yay | 17:30:26 |
alexfmpe | bisect was pretty quick: this broke eval: https://github.com/NixOS/nixpkgs/pull/366593 | 17:39:01 |
alexfmpe | somehow we're getting a ghcjs -> emscripten -> openjdk -> python -> openssl that ends up trying to eval stdenv.cc.isGnu that then throws because there's no c compiler | 17:51:32 |
magic_rb | In reply to @alexfmpe:matrix.org js backend is recent enough I wouldn't bother much with anything older than 9.12 mhm i actully figured it out, but i had to apply https://gitlab.haskell.org/ghc/ghc/-/merge_requests/14882 but using sed | 17:54:57 |
magic_rb | had to add both HEAP8 and HEAPU8 | 17:55:12 |
alexfmpe | ah ok, keep in mind I 'backported' that last week | 17:58:28 |
alexfmpe | https://github.com/NixOS/nixpkgs/pull/451527 | 17:58:28 |
magic_rb | ah, good to know | 18:47:06 |