Package: ghc6
Version: 6.4.1-1
Severity: serious
Justification: causes an FTBFS for haskelldb, washngo
Tags: upstream patch

The following upstream change in 6.4.1 breaks packages that build
executables with HS-Source-Dir:

--- ghc6-6.4/libraries/Cabal/Distribution/Simple/Install.hs
+++ ghc6-6.4.1/libraries/Cabal/Distribution/Simple/Install.hs
@@ -107,8 +107,9 @@
               -> PackageDescription -> IO ()
 installExeGhc verbose pref buildPref pkg_descr
     = do createDirectoryIfMissing True pref
-         withExe pkg_descr $ \ (Executable e _ b) ->
-             copyFileVerbose verbose (buildPref `joinFileName` (hsSourceDir b) 
`joinFileName` e) (pref `joinFileName` e)
+         withExe pkg_descr $ \ (Executable e _ b) -> do
+             let exeName = e `joinFileExt` exeExtension
+             copyFileVerbose verbose (buildPref `joinFileName` exeName) (pref 
`joinFileName` exeName)
 
 -- |Install for ghc, .hi and .a
 installLibGHC :: Int      -- ^verbose

The new code looks for executables in dist/build/<exeName> rather than
dist/build/<HS-Source-Dir>/<exeName> where they are built, and the
installation phase breaks.  Patch attached.

Thanks,

Matej
--- ghc6-6.4.1.dist/libraries/Cabal/Distribution/Simple/Install.hs
+++ ghc6-6.4.1/libraries/Cabal/Distribution/Simple/Install.hs
@@ -109,7 +109,7 @@
     = do createDirectoryIfMissing True pref
          withExe pkg_descr $ \ (Executable e _ b) -> do
              let exeName = e `joinFileExt` exeExtension
-             copyFileVerbose verbose (buildPref `joinFileName` exeName) (pref 
`joinFileName` exeName)
+             copyFileVerbose verbose (buildPref `joinFileName` (hsSourceDir b) 
`joinFileName` exeName) (pref `joinFileName` exeName)
 
 -- |Install for ghc, .hi and .a
 installLibGHC :: Int      -- ^verbose

Reply via email to