Orphaned package "archimedes"?

I recently took a look at the OCaml jupyter notebook support. Its demo uses archimedes, and there are some version-conflicts there. I tried to find the source-archive, so I could fix the conflicts, and found that only the releases exist (over at ocamlforge, where it’s hosted) and no git repo or other source-code archive.

Does anybody know if archimedes is still maintained someplace else?

I’m going to proceed to fix it, but figured I should try to send back changes …

1 Like

This is what I could find on the topic, which says it won’t be updated but may be rewritten on top of other libraries: [archimedes] - Migrate off camlp4 · Issue #17 · Chris00/ocaml-cairo · GitHub

So there are two separate problems:

  1. just getting archimedes to work with modern OCaml, and changing as absolutely little as possible. This was trivial (passing all tests, so hopefully correct :wink: and I’ve already got this done.

  2. upgrading it from using oasis and camlp4 to … a modern build-tool, maybe camlp5, maybe the standard PPX rewriters. I haven’t done a thing about this, for two reasons: (a) not needed to get archimedes working; (b) not going to do more work unless the maintainers agree to it.

I’ve emailed the maintainers, but got no replies. I’d be happy to take over maintenance at the level of “keep upgrading with OCaml, replace camlp4->camlp5, replace oasis->Makefiles” (b/c that’s what I know how to do: I don’t use dune and don’t know much about the official PPX machinery). But I don’t know that that’s what the maintainers would want, so … not sure how to proceed.

Just fixing the minor stuff to get it to build and pass tests with ocaml 4.14.0 was … pretty trivial. And it seems like a useful thing, useful in the context of jupyter, at least. So I’d like to make a release. But (again) don’t know what the maintainers want.

1 Like

If it is just about fixing build problems then perhaps a patch in the opam repository would be useful meanwhile, especially if other packages depend on it (like the jupyter archimedes package). I see plenty of other packages having patches in the opam repo (according to a quick count there are ~193 packages with patches).
Then that patch can be integrated in due course in the next release of archimedes (or its successor/rewrite).

I see that there’s this “files” subdirectory, but … I don’t find any documentation on it: do you know where I might find some? (I think your suggestion is a good way to go forward, though if I end up waiting a month (b/c other stuff to do), I might just ask the repository maintainers if I can take over the package).

ETA: to be sure, only b/c I’m not getting a reply to my email to the listed maintainers.

In the opam manual here.

1 Like

opam - Manual you need to add a patches field in the .opam file and list the patches in the files/ dir. Have a look at how other packages have been patched.
(and you can clone and set up a local opam repo to test all this out on).

1 Like

Ah, thank you both! I searched for “opam patch packaging” and “opam files packaging” and found … the “Packaging.html” page, and not the “Manual.html” page. Ah, well.