build: migrated to cabal (finally)