!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

724 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.org145 Servers

Load older messages


SenderMessageTime
24 Apr 2025
@dragospe:matrix.orgPeter Dragos I far as I can tell, the latest version of accelerate on hackage has the same base constraints 14:43:58
@dragospe:matrix.orgPeter DragosI'll give this a shot, thanks14:44:06
@maralorn:maralorn.demaralornWhy are you mentioning base constraints? They don’t appear in your error message.14:44:58
@maralorn:maralorn.demaralornHuh, I see your point. Last release 5 years ago. Unclear whether you can compile this against a current ghc.14:47:56
@dragospe:matrix.orgPeter Dragos

Sorry, I originally asked over in the Haskell matrix and then realized it was better off here.

The relevant info is that the version in release-24.11 gives

       > Error: Setup: Encountered missing or private dependencies:
       > base >=4.12 && <4.15
       >

14:48:28
@maralorn:maralorn.demaralorn Well then first you try doJailbreak. 14:49:12
@maralorn:maralorn.demaralornIf it works it’s the easiest solution. But it probably doesn’t …14:49:39
@dragospe:matrix.orgPeter Dragos But the repository itself (link] is active. Jailbreaking didn't work, so someone suggested pulling directly from the repo. I got that to build on 24.11 with one other dontCheck on a dependency, but haskell-updates has the issue mentioned above 14:50:07
@dragospe:matrix.orgPeter Dragos * But the repository itself (link) is active. Jailbreaking didn't work, so someone suggested pulling directly from the repo. I got that to build on 24.11 with one other dontCheck on a dependency, but haskell-updates has the issue mentioned above 14:50:19
@maralorn:maralorn.demaralornHuh, then I am confused.14:50:50
@maralorn:maralorn.demaralornBecause my explanation should also mean that it doesn’t work on 24.11. Since the derivation clearly hasn’t changed for years.14:51:20
@maralorn:maralorn.demaralornJust to be sure: The error message appears in the build of accelerate and not in one of its dependencies?14:52:02
@maralorn:maralorn.demaralornHuh, you used callCabal2nix or something similar on 24.11, right? Because the accelerate derivation in nixpkgs indeed does not mention mircolens, formatting or double-conversion.14:53:35
@dragospe:matrix.orgPeter Dragos

I did, yes.

My complete overlay was

      hs-overlay = final: prev: {
        haskell = prev.haskell // {
          packageOverrides = hfinal: hprev:
            prev.haskell.packageOverrides hfinal hprev // {
              parconc-examples = hfinal.callCabal2nix "parconc-examples" ./. { };
              accelerate = hfinal.callCabal2nix "accelerate"
                (final.fetchFromGitHub {
                  owner = "AccelerateHS";
                  repo = "accelerate";
                  rev = "3f681a5091eddf5a3b97f4cd0de32adc830e1117";
                  sha256 = "sha256-tCcl7wAls+5cBSrqbxfEAJngbV43OJcLJdaC4qqkBxc=";
                }
                )
                { };
              distributed-process-simplelocalnet =
                final.haskell.lib.dontCheck hprev.distributed-process-simplelocalnet;
            };

        };
        parconc-examples = final.haskell.lib.compose.justStaticExecutables final.haskellPackages.parconc-examples;
      };
14:54:53
@dragospe:matrix.orgPeter Dragos

and the command I'm using to try the build is √ nixpkgs % nix build .#haskellPackages.accelerate --impure, which gives

       > Using Parsec parser
       > Configuring accelerate-1.3.0.0...
       > CallStack (from HasCallStack):
       >   withMetadata, called at libraries/Cabal/Cabal/src/Distribution/Simple/Utils.hs:368:14 in Cabal-3.10.3.0-inplace:Distribution.Simple.Utils
       > Error: Setup: Encountered missing or private dependencies:
       > double-conversion >=2.0, formatting >=7.0, microlens >=0.4
14:56:16
@maralorn:maralorn.demaralornI guess at this point the cleanest solution would be a) get upstream to make a release or b) create a new accelerate-unstable derivation with cabal2nix in nixpkgs and use it to completely replace the existing derivation. cachix does it like that, iirc.14:56:47
@dragospe:matrix.orgPeter Dragoswhich aligns with what you're finding. So i guess I'd need to do a slightly more involved override for the derivation to add those dependencies (and possibly other fix-ups)?14:56:58
@maralorn:maralorn.demaralornBut otherwise you can probably get by by just adding the dependencies like I described.14:57:12
@dragospe:matrix.orgPeter Dragosgreat. I'll give it a go, thank you!14:58:54
@dragospe:matrix.orgPeter DragosWorked great!15:30:28
@scm:sven.ccscm left the room.18:41:45
25 Apr 2025
@relichunter:nitro.chatrelichunter joined the room.05:19:55
@nrs-status:matrix.orgthirdofmay18081814goyaAnyone have thoughts on nixpkgs default haskell infrastructure vs haskell.nix?13:51:55
@nrs-status:matrix.orgthirdofmay18081814goyaIs it usecase dependent or does anyone have a preference13:52:08
@toonn:matrix.orgtoonn If you want to upstream things into Nixpkgs, use Nixpkgs infra, otherwise I prefer haskell.nix. 13:56:28
@toonn:matrix.orgtoonn It is almost just have a Cabal or Stack setup and a tiny Nix wrapper that hardly changes between projects. 13:57:12
@teoc:matrix.orgTeo (he/him)haskell.nix has pretty bad performance in my experience13:57:36
@toonn:matrix.orgtoonn I use it on a Core2Duo from a decade ago. 13:58:05
@toonn:matrix.orgtoonn It's heavier than the Nixpkgs infra though, that's certainly true. But that's because it does so much more. 13:58:46
@nrs-status:matrix.orgthirdofmay18081814goyahm I see ty for comments15:06:24

Show newer messages


Back to Room ListRoom Version: 6