Looks like you forgot to weigh the weapon to the bone called 'weapon_bone' which is (most likely) used like weapon attachments from HL2 models so the weapon knows where to be in the hand. The Spy model should have a similarly named bone and source simply attaches the two together.
Also looks like you forgot to include the collision model for one thing so it won't have proper physics.