Given the constraints, I'd probably use a wiped application of glyphosate
(Roundup or similar). Wrap each rosebush in newspaper, or drop a cardboard
box over it. Apply glyphosate according to label instructions to just the
plants you want to kill -- it works best when your weeds are actively growing,
so water or wait for enough heat to start growth if you have to. When the
glyphosate is dry, remove the protection from the roses.
If you get glyphosate on a plant you want to keep, apply a slurry of soil and
water. Remember that glyphosate is applied to green tissues, not to the soil
After you've gotten the current crop of weeds, use mulch to suppress the growth
of more weeds, or vow to hoe weekly.
Remember, read and follow label directions precisely... too strong a
concentration, applying at the wrong time of growth, at the wrong temp, or
just before a rain will probably result in poor control. Because you're
using a wiped application, it's necessary to wear proper protective gear,