How to delete an unmaintained opam package?

Hi everyone.

I previously released the zlist package, which is an implementation of lazy lists.

The package’s value is almost exclusively pedagogical, particular since there is now a standard Seq module, and I don’t wish to continue maintaining it.

Ideally, I’d like to delete the repository, but I don’t want to be the cause of any negative effects on the opam repository or the wider ecosystem (like links to missing source archives, etc).

What are the available options?

2 Likes

You need to create a PR deleting the .opam of your library; btw even if the library is not mainteined, a project could still using it for some reason, and deleting from opam can break their build process (that’s the negative effect).

1 Like

I might keep the project alive after all, and perhaps move it to GitHub. If I were to move the project and do a new opam release, what happens to the previous opam release with a distribution archive hosted on GitLab that no longer exists?

The larger issue seems to me to be that things can change (ie, people can delete repositories, artifacts, etc) and the opam ecosystem has no way of “knowing”. Are there already mechanisms in place to address this that I’m not aware of? I can’t imagine that I’m the first person who wants to change the way a package is maintained.

We have an opam cache which contains the sources of all the releases in the opam-repository, indexed by their hashes.

The artifacts could be re-uploaded on an ad-hoc Github releases (or in the server you prefer) and then we update the urls in the opam-repository. Or they could be pointed directly, as happened for example here.

Thanks, @mseri! I didn’t realize that there’s a cache.

I’ll follow-up with the opam-repository regardless of what I decide so that the package remains in good health.