
Recently I experimented a little with putting several Hackage packages into a single Linux distro package, but I ran into a slight problem with registering Haskell packages temporarily. These are the basic steps taken to configure, compile, and stage a Haskell package in ArchLinux: runhaskell Setup configure --prefix=/usr --docdir=/usr/share/doc/${pkgname} runhaskell Setup build runhaskell Setup haddock runhaskell Setup register --gen-script runhaskell Setup unregister --gen-script runhaskell Setup copy --destdir=${pkgdir} This works fine for a single Hackage package, but if I want to compile two or more of them into a single distro package, and there are dependencies between them, then it won't do. I also don't want to fully install and/or register the Hackage packages during the build for obvious reasons of containment and system contamination. So, looking at the Cabal help I found the --package-db flag for configure. The steps now become: runhaskell Setup configure --prefix=/usr --docdir=/usr/share/doc/${pkgname} --package-db=my-temp-db runhaskell Setup build runhaskell Setup haddock runhaskell Setup register --inplace runhaskell Setup register --gen-script runhaskell Setup unregister --gen-script runhaskell Setup copy --destdir=${pkgdir} That works and I can satisfy dependencies between the Hackage packages, without affecting the system-wide database. Great. Except that the generated register/unregister scripts now also point to my-temp-db, and there seems to be no way to prevent this. I solved it for now by using sed, but I'd love to leave sed out, if at all possible. So, have I missed something, or is this a use case that wasn't considered when developing Cabal? Would it be worth raising a bug for this at all? /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus@therning.org http://therning.org/magnus identi.ca|twitter: magthe