I've searched for a while, and it seems that the most recommended crate is ring. However it doesn't serves native md5 digest, while the hmac-related function requires a native one.
I've also tried hmac crate, which supports sha256 in it's example. Unfortunately the interface seems to be incompatible with md5 crate.
You can use the md-5 crate. Unfortunately the maintainer of the md5 crate has refused to be compatible with RustCrypto crates, so situation is more confusing than it could've been...
BTW I hope you are using HMAC-MD5 strictly for compatibility reasons?
To make it clear, "md5" is not compatible with RustCrypto family, but "md-5" is written by RustCrypto team so it's compatible with them. You can use the latter with "hmac" to obtain hmac-md5 functionality.