| 9 Dec 2025 |
| Morj joined the room. | 10:44:13 |
andromeda | I lied I'm going to mess around with FFI to see if I can get RGFW working instead of GLFW :) | 18:57:59 |
andromeda | Ok so it's not working. I've been trying to troubleshoot for a while... maybe it's the way I've linked dependent libraries? Maybe it's a type error in my FFI? A brief look-around by someone smarter than me would be greatly appreciated... one again ignore the atrocities that are the build process... https://git.mtgmonkey.net/Andromeda/hs-rgfw | 22:01:48 |
andromeda | the problem is that a window doesn't appear and window_shouldClose is immediately false, leading me to believe a type representation error or a windowing dependency error has occuredd | 22:03:19 |
| 10 Dec 2025 |
andromeda | once I remove the #define RGFW_WAYLAND it works for 1 frame on an X window manager (namely x monad) | 05:08:00 |
andromeda | or better if I define ..WAYLAND and ..X11 then it automatically falls back | 05:12:45 |
andromeda | but still only one frame | 05:12:56 |
andromeda | this is really embarassing but I mixed up which exit code-style function return was good (==0) and bad (/=0) | 05:21:11 |
iqubic (she/her) | So I have the Haskell package sbv listed as a dependency of my project in my Cabal file and then I'm pulling that in with cabal2Nix. For some reason, Nix is trying to pull in sbv-11.7 which is A) old and B) broken. Is there some way I can tell Nix to get version 13.3 for me? | 09:52:54 |
iqubic (she/her) | https://hackage.haskell.org/package/sbv | 09:52:59 |
iqubic (she/her) | { pkgs ? import <nixpkgs> {} }:
let
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
myPkg = pkgs.haskell.packages.ghc912.callCabal2nix "aoc25" src {};
in
pkgs.stdenv.mkDerivation {
name = "aoc-shell";
buildInputs = [
myPkg.env.nativeBuildInputs
pkgs.cabal-install
pkgs.haskell.packages.ghc912.haskell-language-server
pkgs.z3
];
}
| 09:53:12 |
toonn | I think you'll have to override the package. Probably best to check the Nixpkgs manual because it's tricky. | 10:04:22 |
maralorn | iqubic if none of your dependencies need sbv you can get away with putting the override in the empty attrset at the end of your line 4. | 10:05:34 |
maralorn | There might be a ...ghc912.sbv_13_3 attribute which you can use. | 10:07:32 |
maralorn | Although it might also be broken without intervention. | 10:07:51 |
toonn | (Highly recommend Haskell.nix for this use case.) | 10:14:49 |
maralorn | I don’t think I agree. 😄 | 10:22:45 |
iqubic (she/her) | maralorn: No. None of the other packages I'm requiring in my Cabal file have sbv as a dependency. It's a top-level dependency, and not a transitive dependency. | 10:44:45 |
iqubic (she/her) | How would I use that in my dev environment? I'm using callCabal2Nix, so it might be a bit hard to override this. | 10:45:27 |
maralorn | Redacted or Malformed Event | 10:59:07 |
maralorn |
- Figure out which package there is. e.g. if your version of nixpkgs has sbv_13_0 or sbv_13_3.
| 11:00:09 |
maralorn |
- adapt line 4 like this
myPkg = pkgs.haskell.packages.ghc912.callCabal2nix "aoc25" src { sbv = pkgs.haskell.packages.ghc912.sbv_13_3; }
| 11:00:53 |
maralorn | If you can’t find an sbv_x_y attribute to your liking you can instead use callHackage and if that doesn’t work callHackageDirect. Both are documented in the nixpkgs manual. | 11:01:49 |
iqubic (she/her) | Using pkgs.haskell.packages.ghc912.sbv_13_3 isn't working.
LATITUDE-NIXOS hs/aoc25 » nix-shell 1 ↵
fetching path input 'path:/nix/store/3w2nr2aq2gp76nb6lh1alx6h10mwvp5d-source'
error:
… while evaluating an expression to select 'drvPath' on it
at «internal»:1:552:
… while evaluating strict
at «internal»:1:552:
(stack trace truncated; use '--show-trace' to show the full trace)
error: attribute 'outPath' missing
at /nix/store/3w2nr2aq2gp76nb6lh1alx6h10mwvp5d-source/lib/deprecated/misc.nix:253:19:
252| startSet = map (x: {
253| key = x.outPath;
| ^
254| val = x;
note: trace involved the following derivations:
derivation 'aoc-shell
| 11:07:12 |
maralorn | That error message confuses me. | 11:08:10 |
iqubic (she/her) | Why? | 11:08:27 |
maralorn | Because it is not "has no attribute sbv_13_3". | 11:09:07 |
maralorn | You can find possible sbv attributes by launching nix repl binding pkgs = import <nixpkgs> {} and then doing tabcompletion. | 11:10:53 |
iqubic (she/her) | Oh... I see what the issue is.. | 11:15:39 |
iqubic (she/her) | { pkgs ? import <nixpkgs> {} }:
let
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
newSbv = { sbv = pkgs.haskell.packages.ghc912.sbv_12_2; };
myPkg = pkgs.haskell.packages.ghc912.callCabal2nix "aoc25" src { sbv = newSbv; };
in
pkgs.stdenv.mkDerivation {
name = "aoc-shell";
buildInputs = [
myPkg.env.nativeBuildInputs
pkgs.cabal-install
pkgs.haskell.packages.ghc912.haskell-language-server
# pkgs.z3
];
}
| 11:15:49 |