!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

715 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/ | More Nix: #community:nixos.org | More Haskell: #haskell-space:matrix.org142 Servers

Load older messages


SenderMessageTime
19 Oct 2025
@raboof:matrix.orgraboofGotcha, makes sense17:56:09
@raboof:matrix.orgraboofit might be interesting to enable it by default for 9.12 - cache.nixos.org does appear to contain a bunch of packages.ghc912 packages (though it's not quite clear to me where they're built), so it might allow us to see build problems early20:18:58
20 Oct 2025
@peterbecich:matrix.orgPeter Becich

Would someone take a look at hls-cabal-plugin on NixPkgs?

Breakage reproducible on both master and haskell-updates:

NIXPKGS_ALLOW_BROKEN=1 nix build nixpkgs#haskellPackages.hls-cabal-plugin --impure 

NIXPKGS_ALLOW_BROKEN=1 nix build nixpkgs/haskell-updates#haskellPackages.hls-cabal-plugin --impure

I believe this is contributing to a breakage of Haskell Language Server

04:38:28
@maralorn:maralorn.demaralornNo, the standalone hls plugin packages are deprecated, they were moved into the hls package06:17:09
@peterbecich:matrix.orgPeter BecichThanks!06:19:50
@sternenseemann:systemli.orgsterni (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
06:59:59
@sternenseemann:systemli.orgsterni (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
07:00:18
@sternenseemann:systemli.orgsterni (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
@sternenseemann:systemli.orgsterni (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:tunstall.xyzAlex
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
@alexeusgr:matrix.org50^2 changed their profile picture.04:51:49
@le:4d2.org@le:4d2.org left the room.10:36:16
@eldritchcookie:matrix.orgeldritchcookieis cabal2nix not aware of build-tools-depends or do i need to blame flake-parts's haskell-flake?21:57:25
@artem.types:matrix.orgArtem eldritchcookie: the latter I think 23:13:21
@artem.types:matrix.orgArtem * eldritchcookie: the former I think 23:13:25
@artem.types:matrix.orgArtem * eldritchcookie: the former I think (not aware) 23:13:33
@eldritchcookie:matrix.orgeldritchcookiei 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 cabal2nix23:17:22
22 Oct 2025
@raboof:matrix.orgrabooffor '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:matrix.redalder.orgmagic_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:matrix.redalder.orgmagic_rbits an interesting failure, very, not helpful20:24:57
23 Oct 2025
@alexfmpe:matrix.orgalexfmpemight want to try 9.12 from recent nixpkgs17:23:06
@alexfmpe:matrix.orgalexfmpepkgsCross.ghcjs.haskell.packages.ghc912 has cached miso and reflex-dom, which means a lot of other packages are also cached by being their deps17:23:38
@alexfmpe:matrix.orgalexfmpe 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:matrix.orgalexfmpe magic_rb: ^ 17:26:42
@dandart:matrix.orgPeriI kind of gave up with ghcjs when it started giving cryptic errors so I moved my stack over to wasm17:27:18
@alexfmpe:matrix.orgalexfmpejs backend is recent enough I wouldn't bother much with anything older than 9.12 17:27:21
@alexfmpe:matrix.orgalexfmpebut yeah, wasm is very much an option17:27:59
@alexfmpe:matrix.orgalexfmpefunnily enough eval of this is broken on master and on present haskell-updates, looks like something got merged very recently 17:28:51
@alexfmpe:matrix.orgalexfmpe
$ nix-build -A pkgsCross.ghcjs.haskell.packages.ghc912.hello      
error: no C compiler provided for this platform
17:30:22
@alexfmpe:matrix.orgalexfmpeyay17:30:26

Show newer messages


Back to Room ListRoom Version: 6