Update ports to use substitutions