!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

712 Members
For discussions and questions about Haskell with Nix, cabal2nix and haskellPackages in nixpkgs | Current Docs: https://haskell4nix.readthedocs.io/144 Servers

Load older messages


SenderMessageTime
12 Jan 2026
@aiya:catgirl.cloudaiya so i'm trying to fix a package that requires random>=1.3 as a dependency but the version of random in nixpkgs is 1.2. what's the best practice here? do i: 02:19:34
@aiya:catgirl.cloudaiya *

so i'm trying to fix a package that requires random>=1.3 as a dependency but the version of random in nixpkgs is 1.2. what's the best practice here? do i:

  1. create a new package random_1_3_1
  2. try and back-patch the package to work with random 1.2
  3. override the build deps for that specific package's derivation? (i don't like this option, other packages require random>=1.3 too)
02:21:05
@aiya:catgirl.cloudaiya *

so i'm trying to fix a package that requires random>=1.3 as a dependency but the version of random in nixpkgs is 1.2. what's the best practice here? do i:

  1. create a new package random_1_3_1
  2. try and back-patch the package to work with random 1.2
  3. update random to 1.3 (probably not recommended, stackage lts has it as 1.2.1)
  4. override the build deps for that specific package's derivation? (i don't like this option, other packages require random>=1.3 too)

i couldn't find specific guidance on CONTRIBUTING.md and while i know some packages get multiple version i've yet to see a Haskell non-core package have multiple versions on nixpkgs

02:23:40
@aiya:catgirl.cloudaiya set a profile picture.02:33:02
@aiya:catgirl.cloudaiya changed their profile picture.02:34:54
@aiya:catgirl.cloudaiya changed their profile picture.02:36:52
@artem.types:matrix.orgArtem @aiya:catgirl.cloud: random_1_3_1 is already there (I think because haskellPackages by default include LTS versions and latest versions too) 04:56:53
@artem.types:matrix.orgArtemtrying to fix liquidhaskell in nixpkgs in the light of https://github.com/ucsd-progsys/liquidhaskell/issues/2188: https://github.com/NixOS/nixpkgs/pull/47948420:52:29
13 Jan 2026
@sjanssen:matrix.orgSpencer Janssen changed their profile picture.17:03:17
@sjanssen:matrix.orgSpencer Janssen removed their profile picture.17:03:29
@sjanssen:matrix.orgSpencer Janssen set a profile picture.17:59:55
@sjanssen:matrix.orgSpencer Janssen changed their profile picture.18:00:46
@sjanssen:matrix.orgSpencer Janssen changed their profile picture.18:02:01
16 Jan 2026
@perigord:matrix.orgPerigord changed their profile picture.12:37:05
19 Jan 2026
@ashinnv:matrix.orgm changed their display name from Dr Mayhem, esq to Grand Warden Mayhem, Punisher of Deer.00:08:13
20 Jan 2026
@mangoiv.:matrix.orgMangoIVhls 2.13.0.0 adds support for ghc 9.14 which would be nice to have because of the haskell debugger. https://github.com/haskell/haskell-language-server/releases/tag/2.13.0.0 is there anything I can do to accelerate having that land? 08:45:08
@magic_rb:matrix.redalder.orgmagic_rbthe haskell debugger, forgot about that one, cant wait to try it12:50:58
@innocentzer0:matrix.orginnocentzer0 joined the room.21:25:05
21 Jan 2026
@teoc:matrix.orgTeo (he/him)Would it be worthwhile to add a nix expression that allows one to use ghc nightly bindists with nix? It would basically be the same as the current binary ones but targeting HEAD. I wanted to get your thoughts on this before implementing anything. I basically need to maintain this for head.hackage anyway14:01:16
@teoc:matrix.orgTeo (he/him)* Would it be worthwhile to add a nix expression that allows one to use ghc nightly bindists with nix? It would basically be the same as the current binary ones but targeting HEAD. I wanted to get your thoughts on this before opening a PR. I basically need to maintain this for head.hackage anyway14:01:41
@josh:quadrivium.ukdutchie is there an easy way to get a git version of a cabal library? I would like to use optics with GHC 9.12 but it needs this commit to pass the tests. 14:04:26
@morj:morj.menMorj Something like this? https://github.com/maurges/re/blob/5f92f51cd437664e961b45cb2e7908e3c1bdadca/default.nix#L6-L13 14:17:13
@josh:quadrivium.ukdutchie that looks plausible, does it work in haskellPackages.mkDerivation as well? 14:26:07
@maralorn:maralorn.demaralorn Huh, I have also stumbled over the optics problem. I resolved to use 9.10 instead, but that sucks because of missing hlint support in hls on that ghc. 14:29:47
@morj:morj.menMorj I like how developPackage is only documented on the wiki, and mkDerivation is only documented in the nixpkgs manual 14:33:01
@morj:morj.menMorjWith mkDerivation can't you just supply the fetchTarball to libraryDepends?14:34:31
@josh:quadrivium.ukdutchie

I tried this:

optics = pkgs.haskell.lib.compose.overrideSrc {
  src = pkgs.fetchFromGitHub {
    owner = "well-typed";
    repo = "optics";
    rev = "9ef04b58176c77b0ef93076196705d21b6bd6824";
    hash = "sha256-TOINPPBBmUg1gbqwOX+FrqyFuch2LRX6i5NdEHUtbEY=";
  };
} hpkgs.optics;

but it fails:

Running phase: setupCompilerEnvironmentPhase
Build with /nix/store/h9k9g4l9sq4y59jh5hnizhww0ing5a0a-ghc-9.12.2.
Running phase: unpackPhase
unpacking source archive /nix/store/pnx7r3pv632p5gq7dhpsi4pkpx4g59hi-source
source root is source
Running phase: patchPhase
sed: no input files
14:34:34
@josh:quadrivium.ukdutchieI guess I need to point it at a subdir or something14:35:08
@josh:quadrivium.ukdutchie hmm I can just overrideCabal { doCheck = false; } 14:44:02
@josh:quadrivium.ukdutchie or dontCheck actually 14:53:40

Show newer messages


Back to Room ListRoom Version: 6