Assuming you want a Mac-based solution, the main player seems to be Elgato EyeTV:
http://www.elgato.com/elgato/int/mainmenu/products.en.html
... it does recording & there's a client app for iOS. It has a "series pass" feature, but it may depend on a subscription to a particular listings service, so I haven't tried it.
If you want a "just works" solution rather than a challenge, don't read on.
If you want an open source solution then the all-singing, all-dancing solution is MythTV
http://www.mythtv.org/ - but (in most cases) you'll need a Linux system to run the server part**.
It has a reputation for being rocket science to set up, but if you use something like MythBuntu (
http://www.mythbuntu.org/) to install it on a dedicated machine, and it recognizes your hardware, its not too bad (tuning could be easier). The complexity is partly because it supports so many standards, multiple/distributed tuners, different listings sources etc. Once its up an running, then its perfectly friendly.
The main challenge is finding a tuner that's supported & occasionally a bit of faff locating the driver or the firmware - my EyeTV Diversity tuner works fine and, in the UK, grabbing the free listings from the off-air digital source is adequate. It doesn't have "series pass" as such but it can automatically record programs based on title, subtitle and (optionally) channel & time, which does the job pretty well.
Your Mileage May Vary in other countries and/or with Satellite/Cable systems.
Its a client/server system, so you can have a backend with the tuner hardware & filestore and have multiple frontends on your network that can watch TV and recordings. The good news is that the frontend
does work on the Mac.
** The server *will* run on Mac but, since OS X lacks the LinuxTV framework, the only tuners it can use are a few ethernet-based ones like HDHomeRun. I *have* successfully had it working with the frontend running on OS X connecting to the backend running in Linux under Parallels (VirtualBox wouldn't hack it - I think its the USB support needed for the tuner) - however, that's more "something to do when there's nothing on TV" than a practical solution
