Without the first patch, this answers nil:
(build-declarations nil (filter-declaration-env (parse-declarations '((declare (fixnum x y z)))) :affecting '(x)))
With it I get ((type fixnum x)) as I expect.
A potential accuracy improvement for non-built-in types would be to use:
#+clozure (ccl::specifier-type symbol env)
similarly to the #+sbcl case; I will send that along as well if you like.
Also a tiny typo in the comment is patched.