!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.140 Servers

You have reached the beginning of time (for this room).


SenderMessageTime
20 Aug 2025
@emilazy:matrix.orgemily I tested with temp-dir = /nix/tmp. possible that I regressed something with temp-dir = /tmp. though it would be a bit weird since most of the refactoring around temp stuff was fairly mechanical 11:32:47
@jopejoe1:matrix.orgjopejoe1 (4094@epvpn) changed their display name from jopejoe1 (4094@GPN23) to jopejoe1.18:50:44
21 Aug 2025
@weethet:catgirl.cloudWeetHetWhat the07:58:55
@weethet:catgirl.cloudWeetHet nix flake update should have nothing to do with that code 08:01:19
@weethet:catgirl.cloudWeetHet

Fails:

$ nix --extra-experimental-features nix-command --extra-experimental-features flakes flake lock --override-input lix git+https://git.lix.systems/lix-project/lix?rev=20f84eb6bfa874a1c4f45b38b949335f580ea0d7
error:
       … while updating the lock file of flake 'path:/Users/weethet/Projects/Trash?lastModified=1755765056&narHash=sha256-gTvZ/vT/V3E8DVb2V%2BH03/0mNxHr7V0RG2FTU1V9B7U%3D'

       … while updating the flake input 'lix'

       … while fetching the input 'git+https://git.lix.systems/lix-project/lix?rev=20f84eb6bfa874a1c4f45b38b949335f580ea0d7'

       error: failed to extract archive (Cannot extract through symlink /tmp/nix-7s5dsxncvd8wyr6wd9wpkv5f4y/.clang-format)

Succeeds:

$ TMPDIR=/private/tmp nix --extra-experimental-features nix-command --extra-experimental-features flakes flake lock --override-input lix git+https://git.lix.systems/lix-project/lix?rev=20f84eb6bfa874a1c4f45b38b949335f580ea0d7
09:15:11
@weethet:catgirl.cloudWeetHet

Probably this would be the fix:

Path defaultTempDir()
{
    auto dir = settings.tempDir.get().or_else([] {
        return getEnvNonEmpty("TMPDIR").and_then([](auto val) -> std::optional<Path> {
#if __APPLE__
            /* On macOS, don't use the per-session TMPDIR (as set e.g. by
               sshd). This breaks build users because they don't have access
               to the TMPDIR, in particular in ‘nix-store --serve’. */
            if (val.starts_with("/var/folders/")) {
                return std::nullopt;
            }
#endif
            return val;
        });
    }).value_or("/tmp");
    
    return canonPath(dir, true);
}
09:16:15
@emilazy:matrix.orgemilywhy would it need to change? did I break the behaviour of something in the temp directory functions?10:27:50
@emilazy:matrix.orgemily tbh that #if __APPLE__ seems obsolete 10:28:21
@emilazy:matrix.orgemily given that builds are now in /nix 10:28:26
@emilazy:matrix.orgemilymaybe we could just drop it…10:28:30
@raitobezarius:matrix.orgraitobezarius emily given https://git.lix.systems/lix-project/lix/issues/975 i intend to submit a revert of the series starting from there fwiw 14:34:33
@raitobezarius:matrix.orgraitobezariusmaybe a clean revert is better hm14:35:21
@raitobezarius:matrix.orgraitobezariusok, i will do a clean revert of the 12-submitted-series14:36:25
@raitobezarius:matrix.orgraitobezarius https://gerrit.lix.systems/c/lix/+/4039 revert chain 14:37:24

Show newer messages


Back to Room ListRoom Version: 10