Previously: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/thread/RBOQEJY4QHNPDUTUU7GCNVJLNEH6JYKN/ https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx/thread/KQ523Z3S3VUATKU6V2NASAPGBKR5EJWC/ https://lists.fedoraproject.org/pipermail/devel/2011-September/thread.html#157495 Unison is a file synchronization tool written in OCaml. The binary protocol isn't compatible from one major release to the next, so to provide compatibility with the broader ecosystem of Unison on other Linux distros we have 3 branches of it in Fedora: unison213 (upstream release 2.13) unison227 (upstream release 2.27) unison240 (upstream release 2.40) We don't package upstream releases 2.48 or 2.5x in Fedora at all. Anyway the news is that none of these branches can be compiled with our OCaml 4.10.0-beta-1 compiler. For the past 5 years OCaml has been introducing safe, immutable strings. This has required code changes so was introduced gradually, but the last step happens next month when OCaml 4.10.0 final is released. In OCaml 4.10 the -unsafe-string option is disabled, so code must be updated to use immutable strings. Even the upstream version of Unison has not been ported to use safe strings (ie requiring the -unsafe-string option), never mind the older branches that we're packaging. I did attempt a safe string port and ... it's complicated. The code does a lot of byte string manipulation all over the place using its own custom functions with four letter function names, single letter variable names, and no comments. (Don't believe me? Here's the first function that would need to be fixed: https://github.com/bcpierce00/unison/blob/26a29f79487484b7982c85e0dc879cf7aaaf584f/src/unicode.ml#L788 ) If we were to package Unison properly in Fedora (apart from fixing the big mess above), I would prefer that we had a single unison package which built multiple versioned unison subpackages. I had a proof of concept of this a few years ago. It looks as if Unison will be orphaned and retired unless someone who cares persuades upstream to move to immutable strings and backport the same work to the older branches. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx