Conversation
|
Could you add a CHANGES entry? |
|
Thanks. LGTM, notwithstanding rgrinberg's comments. Tested the PR (really for my own notes because I haven't done a Dune PR): |
|
xref to ocaml-community/utop#362 which needs something similar. |
|
I don't remember the details because I wrote directories a long time ago, starting from how it's implemented in rust and java here https://github.com/dirs-dev ; but :
Shouldn't it be appdata instead of localappdata (which is the one used for the cache) ? See there. Moreover IIRC in some cases using Also, I don't understand why you're using |
Thanks. I could add that logic since I'm already using a C binding, but on the other hand, it can be "incorrect" in the same way that
See #5808 (comment) |
Yes, that's why I believe the config dir and the data dir should be in appdata and not localappdata, which is not the case in the PR, right ? |
Sure, this may be a possibility. @jonahbeckford do you have an opinion as to whether |
|
If one is trying to cater for roaming vs local settings properly, What does Dune write under FWIW, especially as you have the function already, I'd use |
|
Thanks David for the input. I'll amend to use the C binding every time. But I think I am keeping |
ce0b264 to
24a8071
Compare
Done. |
|
I believe all points have been addressed. A formal approval would be appreciated, otherwise I'm planning to merge in the next few days. |
|
The Windows CI is failing when building the bootstrap binary: I cannot reproduce locally so far. Any ideas @dra27? |
|
This comment, possibly related, suggests adding |
|
@nojb I rebased and added |
|
New error after bootstrap is: |
Signed-off-by: nojebar <nicolas.ojeda.bar@lexifi.com>
Signed-off-by: nojebar <nicolas.ojeda.bar@lexifi.com>
Signed-off-by: nojebar <nicolas.ojeda.bar@lexifi.com>
Signed-off-by: nojebar <nicolas.ojeda.bar@lexifi.com>
Signed-off-by: Etienne Millon <me@emillon.org>
…ne-site, dune-rpc, dune-rpc-lwt, dune-private-libs, dune-glob, dune-configurator, dune-build-info, dune-action-plugin and chrome-trace (3.4.0) CHANGES: - Make `dune describe` correctly handle overlapping implementations for virtual libraries (ocaml/dune#5971, fixes ocaml/dune#5747, @esope) - Building the `@check` alias should make sure the libraries and executables don't have dependency cycles (ocaml/dune#5892, @rgrinberg) - [ctypes] Add support for the `errno` parameter using the `errno_policy` field in the ctypes settings. (ocaml/dune#5827, @droyo) - Fix `dune coq top` when it is invoked on files from a subdirectory of the directory containing the associated stanza (ocaml/dune#5784, fixes ocaml/dune#5552, @ejgallego, @rlepigre, @Alizter) - Fix hint when an invalid module name is found. (ocaml/dune#5922, fixes ocaml/dune#5273, @emillon) - The `(cat)` action now supports several files. (ocaml/dune#5928, fixes ocaml/dune#5795, @emillon) - Dune no longer uses shimmed `META` files for OCaml 5.x, solely using the ones installed by the compiler. (ocaml/dune#5916, @dra27) - Fix handling of the `(deps)` field in `(test)` stanzas when there is an `.expected` file. (ocaml/dune#5952, ocaml/dune#5951, fixes ocaml/dune#5950, @emillon) - Ignore insignificant filesystem events. This stops RPC in watch mode from flashing errors on insignificant file system events such as changes in the `.git/` directory. (ocaml/dune#5953, @rgrinberg) - Fix parsing more error messages emitted by the OCaml compiler. In particular, messages where the excerpt line number started with a blank character were skipped. (ocaml/dune#5981, @rgrinberg) - env stanza: warn if some rules are ignored because they appear after a wildcard rule. (ocaml/dune#5898, fixes ocaml/dune#5886, @emillon) - On Windows, XDG_CACHE_HOME is taken to be the `FOLDERID_InternetCache` if unset, and XDG_CONFIG_HOME and XDG_DATA_HOME are both taken to be `FOLDERID_LocalAppData` if unset. (ocaml/dune#5943, fixes ocaml/dune#5808, @nojb)
I don't think this is what the PR did, but we aren't allowed to do that. We should respect xdg settings when using the dune cache for example. EDIT: the above doesn't even matter since the boostrapped binary is the one installed in the user's switch. So it has to be a fully functional dune. |
oh is it? My knowledge about dune bootstrap dates from < 2.0 where we had a mini-dune. I assumed this was still the case, just with a different build strategy. Thanks for the clarification |
No problem! |
|
I'm seeing a Windows failure when trying to build current Dune master (with this PR). Here's a GHA run: https://github.com/melange-re/melange/actions/runs/3256688824/jobs/5347432767 And relevant output: |
|
@phated could you do a better test on your end on windows with esy? I'm using "resolutions": {
"@opam/dune": "ocaml/dune:dune.opam#bc0a0c3169dfd4aae72498c5fc5b1859dd6f870e"
} |
|
Made an issue for this in #6241 |

This sets the following XDG defaults on Windows:
A C call is needed to get the right path for
FOLDERID_InternetCache. This is included in the PR, but perhaps it is considered to be too much trouble? Opinions welcome.cc @dra27 @jonahbeckford
Fixes #5808