You could use the Horde groupware suite (which comes with a calendar),
and then subscribe to your Google Calendar from in there. You could
then use Horde to view (any maybe edit, can you edit Google Calendar's
ics files?) your calendar, and get it synced with Evolution easily (I
believe Evolution comes with inbuilt Google Calendar support.) You
could use nuevasync to sync Google Calendar with your iphone (see a
which emulates Microsoft Exchange.