South Africa all-rounder Ryan McLaren has been ruled out of the second Test against Australia in Port Elizabeth with concussion.