17 Oct 2024 |
K900 | No, we dont | 10:40:08 |
K900 | * No, we don't propagate optionals I tihnk | 10:40:14 |
Alyssa Ross | actually I guess there's no harm if wlroots is linked with it | 10:40:16 |
K900 | * No, we don't propagate optionals I think | 10:40:16 |
emily | propagating optional dependencies does not feel right to me tbh | 10:40:16 |
emily | In reply to @k900:0upti.me No, we don't propagate optionals I think (I think the problem is that ~everything is optional) | 10:40:27 |
Alyssa Ross | because it's getting basically propagated anyway | 10:40:27 |
K900 | Because things that use wlr-vulkan will have to use libvulkan directly anyway | 10:40:32 |
Alyssa Ross | okay yeah wlroots links libvulkan anyway | 10:41:26 |
Alyssa Ross | so it's fine to propagate imo | 10:41:31 |
K900 | Then propagate it yeah | 10:41:33 |
K900 | I thought it dlopened it | 10:41:38 |
emily | you could argue for propagating every runtime dependency like this, right? | 10:42:04 |
Alyssa Ross | it uses vulkan-loader | 10:42:07 |
emily | (what's with Nixpkgs having the habit of getting around to things just as not getting around to them becomes unbearably painful? we finally solved Darwin SDKs right as every package in the universe was refusing to build with the macOS 11 SDK or lost in some Rust setEnv capture soup. I start idly working on pkgconf stuff and then we run into this a couple months later) | 10:42:37 |
K900 | I still love that the first domino in this chain was me being unable to watch videos from Steam | 10:43:35 |
emily | In reply to @emilazy:matrix.org you could argue for propagating every runtime dependency like this, right? I feel sort of weird about it, but I suspect I am just not completely following the logic for why propagating is more correct (rather than just easier) than adding the relevant packages to downstream derivations (so I am explicitly not objecting to it, but I would like to understand better at some point). | 10:44:53 |
K900 | If something depends on e.g. wlroots, which has requires.private: libffi or whatever | 10:45:22 |
K900 | The downstream package should not know about libffi | 10:45:29 |
K900 | It's an implementation detail of wlroots | 10:45:34 |
emily | right | 10:45:37 |
K900 | So wlroots should propagate it | 10:45:38 |
K900 | The downside of that is that it also works the other way | 10:45:48 |
K900 | Because now a package that depends on both libffi and wlroots can depend on just wlroots and get libffi for free | 10:46:01 |
emily | I mean maybe in an ideal world we'd have propagateJustForSandboxAndIndirectDeps or something | 10:46:02 |
K900 | By it leaking from wlroots | 10:46:07 |
emily | that "hides" it | 10:46:08 |
K900 | Ideally we'd want like, full path references in pkg-config files | 10:46:28 |
emily | I'm not sure I see the logic for Vulkan though | 10:46:33 |
emily | In reply to @k900:0upti.me Ideally we'd want like, full path references in pkg-config files that sounds nice. | 10:46:41 |