!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

729 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
12 Jan 2026
@aiya:catgirl.cloudaiya
[34 of 40] Compiling Graphics.Image.Types ( src/Graphics/Image/Types.hs, dist/build/Graphics/Image/Types.o, dist/build/Graphics/Image/Types.dyn_o )
<no location info>: error:
    Simplifier ticks exhausted
  When trying RuleFired Class op $p8ColorSpace
  To increase the limit, use -fsimpl-tick-factor=N (default 100).

  In addition try adjusting -funfolding-case-threshold=N and
  -funfolding-case-scaling=N for the module in question.
  Using threshold=1 and scaling=5 should break most inlining loops.

  If you need to increase the tick factor substantially, while also
  adjusting unfolding parameters please file a bug report and
  indicate the factor you needed.

  If GHC was unable to complete compilation even with a very large factor
  (a thousand or more), please consult the "Known bugs or infelicities"
  section in the Users Guide before filing a report. There are a
  few situations unlikely to occur in practical programs for which
  simplifier non-termination has been judged acceptable.

  To see detailed counts use -ddump-simpl-stats
  Total ticks: 4241
02:04:12
@aiya:catgirl.cloudaiya someone's already opened an issue about this upstream 02:11:34
@aiya:catgirl.cloudaiya *

someone's already opened an issue about this upstream

as for a fix, you can always increase the tick tolerance as specified in the error message above or reduce inlining in colorSpace.hs

02:12:23
@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.orgSupreme Allied Commander Mayhem, Lord of the Nine Stars 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

Show newer messages


Back to Room ListRoom Version: 6