| 16 Sep 2025 |
bglgwyng | I hoped callCabal2Nix is enough to do my stuffs, but it turns out not. I realized that I need more control over arguments passed to cabl2nix expression. | 10:23:40 |
bglgwyng | It seems that I need to define mkDerivation, which is to be passed to cabal2nix expression. | 10:24:06 |
bglgwyng | Do we have a nice example other than one ine nixpkgs? | 10:24:20 |
cdepillabout | stacklock2nix has this same problem. Here's how I'm solving it: https://github.com/cdepillabout/stacklock2nix/blob/108f6ab6d0208e3842443bea26dfd72b37d82f28/nix/build-support/stacklock2nix/cabal2nixArgsForPkg.nix | 10:26:46 |
bglgwyng | Thanks! | 10:27:12 |
sterni | bglgwyng: https://github.com/NixOS/nixpkgs/pull/443442 | 13:56:12 |
bglgwyng | Great! | 15:09:28 |
| 17 Sep 2025 |
bglgwyng | > Using Parsec parser
> Did not find a GI repository for GLib-2.0 in ["/nix/store/367sp8xqvk70a050fm6f8a93lig0gx41-ghc-9.10.1/share/gir-1.0","/nix/store/6zdgga8jx741p46wmx8xyibwz3x3fps6-ncurses-6.5/share/gir-1.0","/nix/store/hnzqas16kwcvaj2j5wb4izxdh692f9vn-elfutils-0.193/share/gir-1.0","/nix/store/05h9vfzhqf7l6w1xczixici2ldw9y788-pkg-config-wrapper-0.29.2/share/gir-1.0","/nix/store/c38cqq7a91inmdgciv3r22kmx49y6axj-attoparsec-0.14.4/share/gir-1.0","/nix/store/xwfxs15j96m3jbgxj2r0swvckj2x0xj7-vector-0.13.2.0/share/gir-1.0","/nix/store/gx2l0rnp3qcnysdddkg9dqnh2mz6w08k-patchelf-0.15.2/share/gir-1.0","/opt/homebrew/share/gir-1.0"].
> CallStack (from HasCallStack):
> error, called at lib/Data/GI/GIR/Repository.hs:94:20 in haskell-gi-0.26.17-J7744VfCWJN7HmDfsyCDMT:Data.GI.GIR.Repository
For full logs, run:
nix log /nix/store/2gwlmv6cq5bw8ra7jriga1i0gyjmq5p4-gi-glib-2.0.30.drv
Does anyone know what it means? I tried to build cabal2nix result of gi-glib(+ some configurations) and found this error.
| 02:42:19 |
alexfmpe | Redacted or Malformed Event | 06:29:24 |
alexfmpe | In reply to @sternenseemann:systemli.org We should probably eventually look into that again… I threw a day or two at this a couple months back trying to cargo cult what haskell.nix did, only with nixpkgs' general emulation utils rather than hardcode qemu/wine etc. | 06:32:18 |
alexfmpe | My motivation was mobile so I tried doing it for android TH but got stuck on some linkage shenanigans I don't remember | 06:32:44 |
alexfmpe | And think I couldn't try with windows due to executables not building properly | 06:33:13 |
alexfmpe | But now that I think about it, maybe I can try some other cross just to get the general shape of things out the door | 06:33:57 |
alexfmpe | The emulation stuff can also be used for cross testing, but a lot of suites use TH for test discovery so that needs to work first | 06:35:17 |
alexfmpe | In reply to @mangoiv.:matrix.org I think haskell.nix can do Windows cross, I wasn't aware nixpkgs can do that https://github.com/NixOS/nixpkgs/pull/357744#issue-2677729790 | 06:39:45 |
bglgwyng | Can someone help me with this? | 12:28:23 |
bglgwyng | I made a reproducer here
https://github.com/bglgwyng/override-haskell-gi-base/blob/main/flake.nix#L19 | 12:28:29 |
bglgwyng | What I found weird is that the gi-glib definitions is virtually the same with the haskellPackages.gi-glib which is build successfully | 12:29:13 |
bglgwyng | I just copied haskell-gi-base code and override it. If I understand correctly, there should not be any difference in the behavior. | 12:30:06 |
bglgwyng | I found
haskell-gi-base = addBuildDepend pkgs.gobject-introspection super.haskell-gi-base;
in configuration-nix.nix
| 14:42:44 |
bglgwyng | * I found
{ haskell-gi-base = addBuildDepend pkgs.gobject-introspection super.haskell-gi-base; }
in configuration-nix.nix
| 14:42:52 |
bglgwyng | Hmm... can we remove this quick fix modifying haskell-gi-base.cabal? I don't mean I'm going to do though. | 14:57:08 |
sterni | cabal doesn't allow declaring dependencies on non-Haskell build tools iirc | 16:08:03 |
sterni | the idea behind configuration-nix was that you would apply this configuration to your package set even if you are building a downstream package set, but I'm not sure if this actually works out in practice. Most likely too many assumptions in there. | 16:09:22 |
sterni | sounds like a nice idea. I think amjoseph tried it before and ran into a lot of problems, but maybe he tried to get powerpc64le-linux to work and ran into some unrelated issues | 16:10:24 |
sterni | an alternative/complementary approach to this is "postprocessing" in cabal2nix which can almost arbitrarily modify the generated package expressions. We are trying to slowly remove that feature though as it is a bit of a nightmare to maintain | 16:12:31 |
| 18 Sep 2025 |
iqubic (she/her) | So, I'm looking to use XMobar on my NixOS system. I'm already quite familiar with Haskell and the XMobar config style. The main issue I'm running into is that the ALSA module says "to activate this plugin you must pass the with_alsa flag during compilation." How do I do that? | 19:16:21 |
iqubic (she/her) | I'm enabling XMobar via Home Manager and it gives me an option for "programs.xmobar.package" which defaults to "pkgs.haskellPackages.xmobar" | 19:17:19 |
iqubic (she/her) | So, my question is... how do I override a Haskell package like this? | 19:17:33 |
iqubic (she/her) | Nevermind... I'm a moron. Looking at the code in Nixpkgs, with_alsa is a default flag for this package. | 19:20:34 |