Package with problematic lock file, how to fix?

Hi! I’m working to add vcpkg into nixpkgs. I’m having a problem because it tries to write into a lockfile into the nix store and I’m exploring idea on how to do it.

  • Making the lock file a symlink to /run, but that feels a bit wrong
  • Gently asking vcpkg to skip the lock and implement our own locking using flock
  • Just skip the lock and tell our users to be careful (not ideal)

I just wanted some input before going forward with one of the options, thanks

Some other options:

  • If there’s a command-line param to set the lockfile path, you can use a wrapper script.
  • Patch the vcpkg source to change its lockfile path to somewhere in /run as part of the package definition.

Thank you for your insight. Now I also have to create a directory where it is expected to write files and read from them later. Since vcpkg is already creating a $HOME/.vcpkg/ directory I was thinking creating a subdirectory of that and let vcpkg write the build trees there. Is it an acceptable solution or is something more like /var/vpckg/buildtrees actually preferable?

Hmm, actually on MacOS there is only /var/run and it’s not writable by users by default. I’ll have to dig a bit more there.