I agree 100%. This is the biggest problem right now. The OPAM devs have done spectacular work in other areas, including taking care of the solver issue. What remains is continuous integration of old packages. OcamlPro had a server for this task at some point, but it seems like it may be gone. As you said though, it’s not enough just to label the packages that don’t build, or to publish a matrix on a web site. We need to act based on this information.
I think packages that don’t build should enter ‘unmaintained’ state. OPAM should allow you to try and build them, but when you do, for each unmaintained package it should say “I’m sorry – package X hasn’t been updated for OCaml 4.05. Please request the author to update the package at firstname.lastname@example.org, and post an issue at email@example.com.”
I honestly think that this is the only way to incentivize package authors to keep their packages up-to-date. Many package authors don’t feel the need because they don’t feel like anyone uses their packages – they’re providing a free service, after all. Human communication with users should help nudge them towards maintaining their packages, or at least moving them to github where others can help.
This, btw, is why I don’t think we should make it too easy to publish on OPAM. Publishing is one thing; maintaining is a whole different story, taking a much greater level of commitment. Newbies shouldn’t be encouraged to publish. It’s equivalent to emphasizing quantity over quality.