Hello. The Ada maintainers are considering a new naming scheme for -dev packages, where libada-foo-dev Provides: libada-foo-dev-HASH. source packages Build-Depend: libada-foo-dev binary -dev packages Depend: libada-foo-dev-HASH The intent is similar to the one of shared object versions, but the name changes often (for example, with the architecture) and is computed, so virtual packages seem more appropriate.
Policy 3.6 does not disapprove: ... should not use virtual package names (except privately, amongst a cooperating group of packages) unless they have been agreed upon and appear in the list of virtual package names. However politeness recommends to ask for objections before polluting the package namespace. Haskell and Ocaml apparently use a similar scheme.