As it happens, I found myself in need of a Roman Catholic liturgical calendar. That calendar is 'fun' (for very low values of 'fun'), because it needs to be calculated from both the lunar and solar year.
The principle date for Catholics is Easter, which is defined as the Sunday following the full moon that follows the northern spring equinox (the paschal full moon). The differences between the Julian calendar and the modern Gregorian calendar make it really 'fun' historically. Check out the details here.
Luckily for us, RomCal.net exists and he's done all the hard work for us already. The C source is straight-forward and compiles easily. We just need to change one file: 'fixed.h'. :-)
O.K., so here is my Canadian Saints version for various years in ical (ics) format: romcal2017.ics
And some other years:
And here is the tarball with the Canadian saints:
Using that program, you can also output ical, postscript, colour postscript, html and rtf. That original source code is here:
RomCal A Program to Generate the General Roman Calendar of the Catholic Church
All I did was change fixed.h and recompile. All kudos to romcal guy (real name Kenneth G. Bath).