> 3. release project.0.3.1, keeping project.0.3 unchanged The problem is that `project.0.3` will be broken for ever, as well as all dependencies that depend on this particular version. Maybe there is actually some misunderstanding, and we're talking about different things. Just to clarify, are you going to go through opam-repository and update all archives of old libraries (e.g. sexplib.7.0.5, sexplib.108.00, ...) and remove `.syntax` findlib library from it? This is what I'm afraid of. And this is what I name "retroactively". As according to the PR there is nothing like this. If all old archives will be still available, then it is perfectly fine. > ​For merlin and oasis we just need to add pa_sexp_conv.syntax, we'll do that. This is what I'm proposing. > I don't know bap very well, does it have "sexplib.syntax" hardcoded ​in its source code or is the same situation as merlin and oasis? Yep, but it is not a problem to me to fix it. I'm just wondering are there any more packages, that provide build systems, that can have such problems. Maybe just grepping the opam universe will help in answering this question. On Tue, Jan 26, 2016 at 11:15 AM, Jeremie Dimino wrote: > On Tue, Jan 26, 2016 at 3:15 PM, Ivan Gotovchits wrote: > >> > Do you know of any tool that rely on this? >> >> OASIS it the most notable [1]. >> > > ​Ah, I didn't know about this hack​, and apparently it's the same hack for > merlin. Well, we can certainly add ".syntax" packages to pa_sexp_conv and > others then > > >> 1. Delete `project.0.3` from the repository and add new `project.0.3-???` >> with a fixed build system >> 2. Retrospectively modify `project.0.3` build system and upload a new >> tarball without changing a library. >> > > ​I was thinking of: > > 3. release project.0.3.1, keeping project.0.3 unchanged > > That the same as what one would have to do if the API changed in an > incompatible way. > > >> Also, some packages, may encode library names in the code itself. For >> example, bap uses this to track dependencies of dynamically loaded plugins. >> Merlin has a heuristics, that >> guesses requested syntax extensions based on package names. >> > > ​For merlin and oasis we just need to add pa_sexp_conv.syntax, we'll do > that. > I don't know bap very well, does it have "sexplib.syntax" hardcoded ​in > its source code or is the same situation as merlin and oasis? > > -- > Jeremie >