!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

894 Members
For people hacking on the Nix package manager itself188 Servers

Load older messages


SenderMessageTime
20 Feb 2025
@emilazy:matrix.orgemilywhich does not seem like it would require any strange low-level workarounds for the output selection machinery, because they would just be real outputs (that happen to be full of symlinks)00:20:26
@roberthensing:matrix.orgroberth I do have a goal for that machinery to not be strange, because it helps remove certain dependency chains, especially those in foo.doc outputs, but that is secondary 00:21:56
@roberthensing:matrix.orgroberthcan be used to simplify bootstrapping a bit00:22:34
@emilazy:matrix.orgemily ok, a bigger issue is that e.g. /nix/store/8fc4pxbkadmhnw2zspsbiayz0qdkkm94-nix-main-2.26.1-dev/include/nix/shared.hh does #include "path.hh", but <nix/path.hh> is in nix-store, and AFAICT even if you have them both on the include path a relative include won't look at "the same prefix in another directory" like that 00:22:44
@emilazy:matrix.orgemily (I haven't tested with your PR yet since it requires a full Nix rebuild, I'm just manually adding libs.foos, but it seems like the separate library packages just don't work so I don't think propagation would fix that) 00:23:04
@emilazy:matrix.orgemily (a symlink farm would hide the issue I think, by making path.hh be in the same directory as shared.hh, but it seems like a general issue for having split-up components) 00:23:24
@emilazy:matrix.orgemilyhm, it might be user error actually. let me test some more00:24:30
@roberthensing:matrix.orgroberthbetween these packages, meson seems to figure things out, fwiw00:25:26
@roberthensing:matrix.orgroberth we could make dev a symlink farm if we need to 00:25:58
@Ericson2314:matrix.orgJohn Ericson emily: you might want to see what nix-eval-jobs and hydra are now doing for 2.26 00:29:11
@Ericson2314:matrix.orgJohn Ericsonyes the config stuff is not yet good by any means00:29:24
@emilazy:matrix.orgemily looks like explicit -includes rather than anything in the .pc? https://github.com/NixOS/hydra/blob/18c0d762109549351ecf622cde34514351a72492/meson.build#L22-L26 00:30:17
@Ericson2314:matrix.orgJohn Ericsonyes :*00:30:27
@Ericson2314:matrix.orgJohn Ericson * yes :(00:30:30
@Ericson2314:matrix.orgJohn Ericsonnow that we are more explicit about the configuration variables than with autoconf, I want to only export the ones the headers actualy depend on00:31:15
@Ericson2314:matrix.orgJohn Ericson(which should be a lot less)00:31:21
@Ericson2314:matrix.orgJohn Ericson and use regular #include 00:31:37
@Ericson2314:matrix.orgJohn Ericson emily: another thing is I don't know whether #include "foo" or #include <nix/foo> is better within nix itself 00:34:26
@Ericson2314:matrix.orgJohn Ericsonthe latter violates "don't know your own name" but keeps us dogfooding our headers as others would use them00:34:50
@Ericson2314:matrix.orgJohn Ericson (the /nix in the pkg-config is definitely bad) 00:35:04
@Ericson2314:matrix.orgJohn Ericson * (the /nix in the *.pc is definitely bad) 00:35:14
@emilazy:matrix.orgemily I'm honestly surprised if #include "b.h" works to find y/include/foo/b.h from x/include/foo/a.h even if both are on the include path 00:36:45
@emilazy:matrix.orgemilybut if it does then I guess it's fine00:36:48
@Ericson2314:matrix.orgJohn EricsonI am not sure that works00:43:18
@Ericson2314:matrix.orgJohn Ericsonthere is just the sibling even if not in same path rule00:43:34
@Ericson2314:matrix.orgJohn Ericson * there is just the sibling even if on directly on the path rule00:43:44
@emilazy:matrix.orgemilythen I'm not sure how ^ ever works00:47:10
@Ericson2314:matrix.orgJohn Ericson emily: that's because -I.../nix in the pkg-config` 01:38:14
@Ericson2314:matrix.orgJohn Ericsonand also the meson build time C flags01:38:24
@Ericson2314:matrix.orgJohn Ericson * and also the meson when building Nix itself C flags01:38:37

Show newer messages


Back to Room ListRoom Version: 6