!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

415 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.138 Servers

Load older messages


SenderMessageTime
12 Aug 2025
@emilazy:matrix.orgemily Sergei Zimmerman (xokdvium)'s patch doesn't take anything away 20:16:16
@emilazy:matrix.orgemily (it computes the previous behaviour back on top of the new toml11) 20:16:27
@emilazy:matrix.orgemilyit's just an unfortunate amount of complexity for a broken feature that's clearly an eval stability liability, so I'd prefer to see a drop on HEAD20:17:01
@emilazy:matrix.orgemilydoing it only for stable releases bounds the lifetime of the complexity20:17:21
@raitobezarius:matrix.orgraitobezariusSorry, you're absolutely right20:17:58
@raitobezarius:matrix.orgraitobezariusThat sounds like a good plan, patch for releases and drop for HEAD20:18:13
@raitobezarius:matrix.orgraitobezariusThank you xokdvium for this!20:18:46
@xokdvium:matrix.orgSergei Zimmerman (xokdvium)Sure. I'll bring this issue up at the nix team meeting as well. I'd be in favor of dropping this feature on master. Digging through toml11 def wasn't a great experience.20:20:09
@raitobezarius:matrix.orgraitobezarius(expectations for the work above: I can probably review some CLs around that but I'm on holidays for the next 5 days, so I won't take care of it immediately)21:13:26
13 Aug 2025
@niko:nrab.lolniko ⚡️oh no I was wondering why nix build on lix main wouldn't reproduce them and turns out the other failing install checks only error on new nixpkgs unstable that's not a good sign09:53:56
@picnoir:alternativebit.frPicnoir changed their display name from Picnoir DECT 7426 to Picnoir.13:24:51
@emilazy:matrix.orgemily

has anyone run into this on macOS error: failed to extract archive (Cannot extract through symlink /tmp/nix-50z48nbfhpxw5h6rvfcpq4ibip/nix-darwin-e04a388232d9a6ba56967ce5b53a8a6f713cdfcf)

it might be related to me trying to recover my busted system right now but I usually have /nix/tmp as my temp-dir and I'm wondering if there is actually some broken behaviour around /tmp -> /private/tmp when using --store local with the default config

15:35:17
@emilazy:matrix.orgemily --temp-dir /private/tmp fixes it 15:35:35
14 Aug 2025
@emilazy:matrix.orgemily overlay may need adjusting for https://github.com/NixOS/nixpkgs/pull/433617, though should probably be harmless as the users are on nixComponents.* or a specific version now I guess 14:09:10
@emilazy:matrix.orgemily is there a reason we reject builtins.fromJSON "9223372036854775808" but allow builtins.fromJSON "-9223372036854775809" and produce a float 14:49:01
@emilazy:matrix.orgemily it seems intentional (error: unsigned json number 9223372036854775808 outside of Nix integer range, "unsigned" specifically) but it also seems bizarre 14:49:14
@emilazy:matrix.orgemily
@note There are three enumeration entries (number_integer, number_unsigned, and
number_float), because the library distinguishes these three types for numbers:
@ref basic_json::number_unsigned_t is used for unsigned integers,
@ref basic_json::number_integer_t is used for signed integers, and
@ref basic_json::number_float_t is used for floating-point numbers or to
approximate integers which do not fit in the limits of their respective type.
14:51:57
@emilazy:matrix.orgemily so it's handled like that in nlohmann_json to allow lossless parsing of bigger-than-signed integers if you have an unsigned type as C++ does 14:52:27
@emilazy:matrix.orgemilybut Nix only has a signed integer type14:52:35
@emilazy:matrix.orgemily if we're doing "values outside the range get approximated as floats" a la JavaScript (though note that we losslessly represent more values than JS does already since we have a separate integer type…), then we should do that for too-large signed integers too 14:53:11
@emilazy:matrix.orgemilyotherwise, we should reject out-of-range integers regardless of sign14:53:31
@emilazy:matrix.orgemily(this probably means our JSON serialization is nonportable too by RFC rules?)14:53:41
@emilazy:matrix.orgemily IOW, the nlohmann_json semantics are "we try to find an integer type we can fit a literal into, and otherwise we produce a float" 14:54:35
@emilazy:matrix.orgemily if we were to implement "we try to find an integer type we can fit a literal into, and otherwise we produce a float" in Nix, we should produce a float for builtins.fromJSON "9223372036854775808" 14:54:52
@emilazy:matrix.orgemily otherwise, if we want "we reject integer-looking literals that don't fit into an integer type, and produce a float only for explicitly float-y values", we should error out on builtins.fromJSON "-9223372036854775809" 14:55:16
@emilazy:matrix.orgemily the current combination of behaviour seems like an unjustifiable accident caused by the impedance mismatch between nlohmann_json's API oriented around C++ numeric types, and Nix's signed-only integers 14:55:45
@emilazy:matrix.orgemilyP.S. I want to cry14:56:12
@weethet:catgirl.cloudWeetHet @raitobezarius:matrix.org please review https://gerrit.lix.systems/c/lix/+/3862 15:29:28
@piegames:flausch.socialpiegames
In reply to @emilazy:matrix.org
IOW, the nlohmann_json semantics are "we try to find an integer type we can fit a literal into, and otherwise we produce a float"
Thanks, I hate it
15:34:14
@emilazy:matrix.orgemilywell, blame JavaScript :)15:34:30

Show newer messages


Back to Room ListRoom Version: 10