<dinosaure>
sterni: hope that MirageOS 4 will help you :) I'm not an expert of NixOS but we definitely should put more effort on that (may be I should switch to NixOS :p)
kensan has quit [Ping timeout: 240 seconds]
kensan has joined #mirage
<sterni>
dinosaure: I'm optimistic :) so far only good things have come from more dune
<sterni>
it's just a shame that dune can't handle C libs apparently?
<sterni>
when packaging all the freestanding stuff for mirage I always run into the issue that they want to get the prefix for pkg-config from opam which is a bit of an annoyance
<hannes>
sterni: ..and tada.wav... this is changing with MirageOS4 as well (since then solo5/ocaml-freestanding is a cross-compilation toolchain, and dune + cross-compilation is used --> no need for pkg-config anymore \o/)
<hannes>
the Makefile solution stems from older dune releases where we did not have control over C flags, and dune always added -fPIC, which we do not want in certain scenarios
kensan has quit [Remote host closed the connection]
<sterni>
hannes: actually I'm kinda dreading no more pkg-config depending on how it will work because with our nix package builder environment pkg-config just works™
<hannes>
sterni: in the MirageOS ecosystem we used pkg-config only to pass around CFLAGS, which we'll now do by solo5 installing the toolchain (plus some dune magic IIRC)
<sterni>
I see yeah
<sterni>
I mean as long as dune takes care of stuff it's probably okay because it is usually pretty respectful
<sterni>
and I guess it'll reuse OCAMLPATH to find the C libraries?
<hannes>
sterni: with the monorepo approach, it just compiles everything in CWD and doesn't need to find anything
<hannes>
well, maybe the ocaml runtime and nolibc and libm - not sure which mechanism is used for that.
<dinosaure>
sterni: yes, on this point we trust specifically on `dune` to get the right path to our ocaml-freestanding runtime
<dinosaure>
so, we use `findlib.conf`/`dune`/`OCAMLPATH`. I'm not really aware about the dune mechanism however
<sterni>
I think it mostly reuses OCAMLPATH and checks the dune-package file pretty much
<sterni>
at least we don't have anything special for making dune work in nixpkgs afaik
<dinosaure>
cool :) and yeah, MirageOS 4 will definitely help us :)
kensan has joined #mirage
<sterni>
also on nixos I guess we just need to make it better for OCaml so everybody comes pooring over :p
<sterni>
I'd be hesitant to oversell it since using opam for OCaml development is still arguably better
<sterni>
but I guess it's the distro to be on according to repology no one really has that much OCaml packaged and you can have dev environments without opam and such
<sterni>
but we are basically maintaining a package set independently from opam and we don't have multiple versions of packages nor a SAT solver so stuff breaks more often
dobson has quit [Quit: Leaving]
dobson has joined #mirage
<sterni>
in other news: I've managed to build the stub_resolver unikernel for the xen target with nix
<sterni>
I guess I'll have to setup xen now to see if it *actually* works
<sterni>
but it compiles
<dinosaure>
"if it compiles, it works" ;)
<sterni>
that's the promise at leats :p
<sterni>
I was gonna enable xen on my laptop quickly but it doesn't support efi?!