Ensure that cabal is up-to-date

Cabal will run once every day. The package recipes where refactored to
remove duplication.