Hi. I wrote this mail to you some time ago, but never got a reply. I don't want to bother you, but I'm resending it just in case the previous copy had got lost.
I'm a member of the Debian Haskell Team. We recently migrated to GHC 6.12, but you're package seems not to be compilable with GHC 6.12 (the same happens also on hackage). Hackage failure log is here: [1]. [1] http://hackage.haskell.org/packages/archive/plugins/1.4.1/logs/failure/ghc-6.12 I've created a patch (attached) which should fix some of the problems. Anyway, now I'm facing two errors I'm not able to deal with: > [11 of 15] Compiling System.Plugins.Load ( src/System/Plugins/Load.hs, > dist-ghc6/build/System/Plugins/Load.o ) > > src/System/Plugins/Load.hs:98:4: > Couldn't match expected type `IO ModIface' > against inferred type `DynFlags.DynFlags -> b' > In a stmt of a 'do' expression: e <- newHscEnv undefined > In the expression: > do { e <- newHscEnv undefined; > initTcRnIf > 'r' > e > undefined > undefined > (readBinIface IgnoreHiWay QuietBinIFaceReading hi_path) } > In the definition of `readBinIface'': > readBinIface' hi_path > = do { e <- newHscEnv undefined; > initTcRnIf > 'r' > e > undefined > undefined > (readBinIface IgnoreHiWay > QuietBinIFaceReading hi_path) } > > src/System/Plugins/Load.hs:441:13: > A lazy (~) pattern cannot contain unlifted types ~(Ptr addr) > In the pattern: ~(Ptr addr) > In a stmt of a 'do' expression: > (ptr@(~(Ptr addr))) <- withCString symbol c_lookupSymbol > In the expression: > do { let symbol = prefixUnderscore > ++ (maybe "" (\ p -> ...) pkg) > ++ encode m ++ "_" ++ (encode valsym) ++ > "_closure"; > (ptr@(~(Ptr addr))) <- withCString symbol c_lookupSymbol; > if (ptr == nullPtr) then > return Nothing > else > case addrToHValue# addr of { (# hval #) -> return (Just > hval) } } Do you have any advices for me? I hope the attached patch can be helpful for you. :-) Thanks, Giovanni. -- Giovanni Mascellani <mascell...@poisson.phc.unipi.it> Pisa, Italy Web: http://poisson.phc.unipi.it/~mascellani Jabber: g.mascell...@jabber.org / giova...@elabor.homelinux.org
diff -Nur -x '*.orig' -x '*~' hs-plugins-1.4.1//src/System/MkTemp.hs hs-plugins-1.4.1.new//src/System/MkTemp.hs --- hs-plugins-1.4.1//src/System/MkTemp.hs 2009-03-15 21:14:39.000000000 +0100 +++ hs-plugins-1.4.1.new//src/System/MkTemp.hs 2010-02-21 02:11:20.000000000 +0100 @@ -214,7 +214,7 @@ if b then ioError err -- race else openFile f ReadWriteMode where - err = IOError Nothing AlreadyExists "open0600" "already exists" Nothing + err = IOError Nothing AlreadyExists "open0600" "already exists" Nothing (Just f) {- -- open(path, O_CREAT|O_EXCL|O_RDWR, 0600) diff -Nur -x '*.orig' -x '*~' hs-plugins-1.4.1//src/System/Plugins/Env.hs hs-plugins-1.4.1.new//src/System/Plugins/Env.hs --- hs-plugins-1.4.1//src/System/Plugins/Env.hs 2009-03-15 21:14:39.000000000 +0100 +++ hs-plugins-1.4.1.new//src/System/Plugins/Env.hs 2010-02-21 02:11:08.000000000 +0100 @@ -287,9 +287,9 @@ union :: PkgEnvs -> [PackageConfig] -> PkgEnvs union ls ps' = let fm = emptyFM -- new FM for this package.conf - in foldr (\p fm' -> if (display $ package p) == "base" -- ghc doesn't supply a version with 'base' + in foldr (\p fm' -> if (display $ sourcePackageId p) == "base" -- ghc doesn't supply a version with 'base' -- for some reason. - then addToFM (addToFM fm' (display $ package p) p) (packageName p) p + then addToFM (addToFM fm' (display $ sourcePackageId p) p) (packageName p) p else addToFM fm' (packageName p) p) fm ps' : ls -- @@ -312,7 +312,7 @@ readPackageConf :: FilePath -> IO [PackageConfig] readPackageConf f = do pc <- configureAllKnownPrograms silent defaultProgramConfiguration - pkgIndex <- getInstalledPackages silent (SpecificPackageDB f) pc + pkgIndex <- getInstalledPackages silent [(SpecificPackageDB f)] pc return $ allPackages pkgIndex -- ----------------------------------------------------------- diff -Nur -x '*.orig' -x '*~' hs-plugins-1.4.1//src/System/Plugins/PackageAPI.hs hs-plugins-1.4.1.new//src/System/Plugins/PackageAPI.hs --- hs-plugins-1.4.1//src/System/Plugins/PackageAPI.hs 2009-03-15 21:14:39.000000000 +0100 +++ hs-plugins-1.4.1.new//src/System/Plugins/PackageAPI.hs 2010-02-21 02:12:20.000000000 +0100 @@ -58,8 +58,8 @@ type PackageConfig = InstalledPackageInfo -packageName = display . package -packageName_ = pkgName . package +packageName = display . sourcePackageId +packageName_ = pkgName . sourcePackageId packageDeps = (map display) . depends updImportDirs f pk@(InstalledPackageInfo { importDirs = idirs }) =
signature.asc
Description: OpenPGP digital signature