Heya Simon.

I've noticed that in ghc 6.4.2, ghc-pkg doesn't create the file (or
maybe just the directory) when trying to register a package:

rm  -r ~/.ghc/i386-linux-6.4.2
/usr/bin/ghc-pkg update .installed-pkg-config --user
ghc-pkg.bin: /home/ijones/.ghc/i386-linux-6.4.2/package.conf: getPermissions: 
does not exist (No such file or directory)

Cabal could try to create the file & directory w/ something like what
you have in ghc-pkg plus createDirectoryIfMissing, but I'm a bit
nervous of using the System.Info stuff since I know it's pretty new.
I'd like to keep cabal working w/ ghc 6.2.  We can probably solve this
by creating a ghc 6.3 version of
Distribution.GHCPackageConfig.maybeCreateLocalPackageConfig and
calling it around line 149 of Distribution.Simple.Register.

Here's how ghc-pkg generates the filename:

  appdir <- getAppUserDataDirectory "ghc"

  let
        subdir = targetARCH ++ '-':targetOS ++ '-':version
        archdir   = appdir `joinFileName` subdir
        user_conf = archdir `joinFileName` "package.conf"
  user_exists <- doesFileExist user_conf

I'm not sure where the bug is in ghc-pkg; it's not obvious to me, but
it'll probably be obvious to you.  Should we implement a cabal
workaround?  Has anyone complained about this?

peace,

  isaac
_______________________________________________
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel

Reply via email to