!RbXGJhHMsnQcNIDFWN:nixos.org

Haskell in Nixpkgs/NixOS

717 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.org144 Servers

Load older messages


SenderMessageTime
15 Sep 2025
@emilazy:matrix.orgemilyit's not hard to adapt stuff to newer versions13:50:54
@emilazy:matrix.orgemilyjust slightly tedious sometimes13:50:59
@alex:tunstall.xyzAlex
In reply to @emilazy:matrix.org
it's not hard to adapt stuff to newer versions

This one's non-trivial... Actually something wrong with Hugs' version of base IIRC (maybe a slightly less old base could be patched in?)

ERROR "libraries/bootlib/Foreign/C/Types.hs":173 - Undefined type constructor "NotReallyAType"

13:54:22
@Ericson2314:matrix.orgJohn EricsonOo Haven caught up in all of this, but I like where things are going 13:54:21
@Ericson2314:matrix.orgJohn Ericson*haven't 13:54:25
@emilazy:matrix.orgemilythis is at runtime?13:55:12
@emilazy:matrix.orgemilysmells like latent UB in Hugs that's getting exposed13:55:23
@alex:tunstall.xyzAlexNope, build time.13:55:29
@emilazy:matrix.orgemilybut that's not C13:55:39
@emilazy:matrix.orgemilyI mean it's Hugs outputting that right13:55:50
@emilazy:matrix.orgemilyso it's Hugs runtime13:55:55
@alex:tunstall.xyzAlex The NotReallyAType comes from base's autoconf script somehow not finding the corresponding Haskell type for a few C types. 13:56:31
@emilazy:matrix.orgemilyI see13:58:14
@emilazy:matrix.orgemilyprobably there are new warnings/errors in GCC confusing it13:58:32
@emilazy:matrix.orgemilythat happens a lot in autoconf13:58:41
@emilazy:matrix.orgemilycheck config.log13:58:43
@emilazy:matrix.orgemilyyou'll probably see some ancient looking C program that needs adapting13:58:56
@emilazy:matrix.orgemily you should of course autoreconfHook and get it on latest autotools 13:59:10
@alex:tunstall.xyzAlexThanks for the advice. I'll take a look when I get to work on the PRs.14:05:39
@bglgwyng:matrix.orgbglgwyngI realized that I diagnosed the issue wrong15:02:06
@bglgwyng:matrix.orgbglgwyng
{
        packages.zlib1 = (pkgs.haskellPackages.zlib).override { zlib = pkgs.zlib; };
        # it works
        packages.zlib2 = (pkgs.haskellPackages.callCabal2nix "zlib" inputs.zlib-src { }).override { zlib = pkgs.zlib; };
        # it works
        packages.splitmix1 = (pkgs.haskellPackages.splitmix).override { testu01 = null; };
        # it doesn't work
        packages.splitmix2 = (pkgs.haskellPackages.callCabal2nix "splitmix" inputs.splitmix-src { }).override { testu01 = null; };
      };

Only the last one failed with 'error: function 'anonymous lambda' called without required argument 'testu01''

15:02:33
@bglgwyng:matrix.orgbglgwyngHere is the reproducer https://github.com/bglgwyng/haskellPackages-override15:02:59
@bglgwyng:matrix.orgbglgwyng *
{
        packages.zlib1 = (pkgs.haskellPackages.zlib).override { zlib = pkgs.zlib; };
        # it works
        packages.zlib2 = (pkgs.haskellPackages.callCabal2nix "zlib" inputs.zlib-src { }).override { zlib = pkgs.zlib; };
        # it works
        packages.splitmix1 = (pkgs.haskellPackages.splitmix).override { testu01 = null; };
        # it doesn't work
        packages.splitmix2 = (pkgs.haskellPackages.callCabal2nix "splitmix" inputs.splitmix-src { }).override { testu01 = null; };
      };

Only the last one failed with error: function 'anonymous lambda' called without required argument 'testu01'

15:03:21
@bglgwyng:matrix.orgbglgwyng I can see testu01 in the arguments of cabal2nix-splitmix, but somehow the override failed. 15:04:08
@keypusher:matrix.orgkeypusherI have a hard time getting protoc (on the PATH) while building a package with callCabal2Nix. It's used by cabal extension.15:20:20
@keypusher:matrix.orgkeypusherAre there any tricks to troubleshooting that?15:21:06
@sternenseemann:systemli.orgsterni (he/him) keypusher: cabal2nix does not really have the ability to do that automatically since Cabal does not allow specifying a dependency on a build tool that is not itself a Cabal package. You need to use addBuildTools or the like from haskell.lib.compose. 15:32:07
@sternenseemann:systemli.orgsterni (he/him) bglgwyng: on what system does packages.splitmix2 fail to evaluate? 15:36:34
@keypusher:matrix.orgkeypusherOh ok. I tried googling "haskell.lib.compose addBuildtools" but came up a bit short. You don't happen to have some useful url?15:37:31
@keypusher:matrix.orgkeypusherthanks btw!15:37:53

Show newer messages


Back to Room ListRoom Version: 6