!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

731 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.org147 Servers

Load older messages


SenderMessageTime
28 Jan 2026
@maralorn:maralorn.demaralornWhat’s CHaP?11:39:30
@maralorn:maralorn.demaralornI am pretty sure there are examples on how to package non-hackage packages in nixpkgs.11:40:13
@maralorn:maralorn.demaralornIncluding some with a non-neglectable number of overrides.11:40:47
@maralorn:maralorn.demaralornActually I think even cachix does it.11:41:01
@dermetfan:matrix.orgRobin Stumm joined the room.11:48:38
@dermetfan:matrix.orgRobin Stummhttps://github.com/IntersectMBO/cardano-haskell-packages11:49:23
@locallycompact-github:matrix.orgDaniel FirthWe could be looking at more than 50% of the build plan would be custom, so 300 or more packages.11:52:13
@maralorn:maralorn.demaralornOooh.11:54:09
@maralorn:maralorn.demaralornI mean I wonder how large that would be in comparison to other large derivation packages in nixpkgs. Like those with a checked in npm or cargo lock.11:55:36
@locallycompact-github:matrix.orgDaniel Firth

It would be more or less exactly the same size as the equivalent horizon expression here. https://gitlab.horizon-haskell.net/package-sets/horizon-cardano

nix build 'git+https://gitlab.horizon-haskell.net/package-sets/horizon-cardano#horizon-cardano'

11:57:33
@maralorn:maralorn.demaralornIf you can encapsulate it cleanly (i.e. without interfering with the rest of haskellPackages) and the size is manageable it seems fine-ish. Of course there is then also the matter of maintainership. It mustn’t become a burden on the haskell team.11:57:39
@locallycompact-github:matrix.orgDaniel Firth That would be one option to just upstream the whole horizon expression under haskellPackages.horizon.cardano, if that's something nixpkgs would accept. 11:58:10
@locallycompact-github:matrix.orgDaniel FirthWould be much easier than trying to solve which parts of nixpkgs could be reused.11:58:36
@locallycompact-github:matrix.orgDaniel Firth *

It would be more or less exactly the same size as the equivalent horizon expression here. https://gitlab.horizon-haskell.net/package-sets/horizon-cardano

nix build 'git+https://gitlab.horizon-haskell.net/package-sets/horizon-cardano#cardano-node'

11:58:56
@maralorn:maralorn.demaralornI am sceptical. Also curious what the others think.12:01:00
@maralorn:maralorn.demaralornMaybe we can have this discussion more organized on a GitHub issue?12:01:32
@locallycompact-github:matrix.orgDaniel FirthIt would basically be a wholly independent package set. It might reuse the ghc definition but nothing else.12:01:42
@locallycompact-github:matrix.orgDaniel FirthSure. I'll write it up.12:01:46
@toonn:matrix.orgtoonn What is the goal? Are there existing dependents that would be desirable to package for users? 12:03:40
@toonn:matrix.orgtoonn End-users, not developer-users. 12:03:54
@locallycompact-github:matrix.orgDaniel Firth The goal is to package cardano-node for end users yes, not developers. But maintaining the build plan for cardano-node manually in nixpkgswith overrides and whatnot would be infeasible. 12:05:21
@locallycompact-github:matrix.orgDaniel Firth Occasionally dropping a new horizon expression as a separate package set expression into nixpkgs, one that didn't interfere with haskellPackages proper, would be quite easy for me to automate, it just depends whether that's OK or not. 12:08:34
29 Jan 2026
@alexfmpe:matrix.orgalexfmpe

when using pkgsStatic on my aarch64-darwin, most packages correctly build only the .o

$ nix-build -A pkgsStatic.haskell.packages.ghc910.these
Building library for these-1.2.1...
[1 of 3] Compiling Data.Functor.These ( src/Data/Functor/These.hs, dist/build/Data/Functor/These.o )

however there's a few odd ones where .dyn_o is also attempted

$ nix-build -A pkgsStatic.haskell.packages.ghc910.deferred-folds
Building library for deferred-folds-0.9.18.7...
[ 1 of 11] Compiling DeferredFolds.Prelude ( library/DeferredFolds/Prelude.hs, dist/build/DeferredFolds/Prelude.o, dist/build/DeferredFolds/Prelude.dyn_o )

$ nix-build -A pkgsStatic.haskell.packages.ghc910.constraints-extras
Building library for constraints-extras-0.4.0.2..
[1 of 4] Compiling Data.Constraint.Compose ( src/Data/Constraint/Compose.hs, dist/build/Data/Constraint/Compose.o, dist/build/Data/Constraint/Compose.dyn_o )

$ nix-build -A pkgsStatic.haskell.packages.ghc910.language-nix
Building library for language-nix-2.3.0...
[1 of 4] Compiling Language.Nix.Identifier ( src/Language/Nix/Identifier.hs, dist/build/Language/Nix/Identifier.o, dist/build/Language/Nix/Identifier.dyn_o )

unsurprisingly, these all fail with Failed to load dynamic interface file for <import>

01:25:46
@alexfmpe:matrix.orgalexfmpe but where are these random .dyn_o coming from? 01:26:03
@alexfmpe:matrix.orgalexfmpe

we're passing both

 --disable-shared
 --disable-executable-dynamic
01:27:58
@alexfmpe:matrix.orgalexfmpethese / language-nix got pretty much the same configureFlags, save for the package-db01:39:34
@alexfmpe:matrix.orgalexfmpe
diff these.flags language-nix.flags
3c3
<  --prefix=/nix/store/2p9mikrs1a5awxgw5gijxf3pqdfwbx72-these-static-arm64-apple-darwin-1.2.1
---
>  --prefix=/nix/store/x7msfranpbk5bpjk9mk22jh56m2yz235-language-nix-static-arm64-apple-darwin-2.3.0
7c7
<  --package-db=/nix/var/nix/builds/nix-3587-2546165707/tmp.EqliYPG7Mk/package.conf.d
---
>  --package-db=/nix/var/nix/builds/nix-95530-279909260/tmp.E7z4UnZFfa/package.conf.d
01:39:37
@alexfmpe:matrix.orgalexfmpecuriously I can trigger the same by enabling haddocks for pkgsStatic, but for a different set of packages02:02:00
@jboy:utwente.io@jboy:utwente.io left the room.10:57:31
@mrjtjmn:matrix.orgMrjt. changed their profile picture.11:11:24

Show newer messages


Back to Room ListRoom Version: 6