Update to 4.1.2 on a Nexus S with CWM and broken USB port I have a Nexus S, rooted, with CWM and a stock 4.0.4 ROM. The USB port is broken(only charging works), so how do I go to stock 4.1.2 update? 

If there is a way to manually apply OTA, that'd be great. Or a way to fix the USB port, but I think that's widely reported and not really fixed.

I tried the system > updates (and clearing Google services framework trick) and it shows upto date, ie. no new OTA. Perhaps because I have a custom recovery?
If you can find someone else with an unlocked Nexus S, you can use nandroid backups to do everything on their device and then duplicate efforts to your device, like so: 
Let's call your phone Device A and theirs Device B. 
Boot into recovery on both devices, then make a nandroid backup of each device, which I will call Nandroid A and Nandroid B, for each phone.  Using some sort of wireless file-transfer application (AirDroid, Samba Server, etc), transfer the nandroid backups to a computer for safekeeping, and then put Nandroid A onto Device B and boot into recovery on Device B. Wipe the cache, dalvik cache, system partition, and data partition, then restore Nandroid A onto Device B. Once the restore is complete, boot Device B normally and perform the OTA update as you would under normal conditions.
Reboot into Recovery on Device B after installing the update, and make a new nandroid backup which I will call Nandroid A2. Then, move files around wirelessly as outlined above and wipe Device A and restore Nandroid A2 to Device A. Finally, wipe Device B and restore Nandroid B to Device B and give it back to your much-indebted-to friend.

Be careful when you wipe before a restore /not/ to wipe the internal storage on the device. The Nexus S doesn't have an SD card slot, otherwise I'd just advise you remove the SD card altogether while restoring... But TWRP has a pretty straightforward checkbox that will help you make sure you aren't wiping your internal storage.

Yes, this method is roundabout and long-winded, and yes, it does require access to hardware that you may not be able to get your hands on. But it will work.