A 40-year-old Adelaide man is in hospital and fighting for life after a fight at Port Pirie in South Australia.