From: Axel S. <si...@co...> - 2010-05-20 06:38:33
|
diffing dir... Sun May 16 15:10:44 EDT 2010 Axe...@in... * Ensure that package can be built with Cabal 1.6. { hunk ./cairo/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./cairo/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./cairo/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./cairo/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./cairo/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./cairo/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./cairo/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./cairo/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./cairo/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./cairo/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./cairo/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./cairo/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./cairo/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./cairo/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./cairo/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./gconf/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./gconf/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./gconf/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./gconf/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./gconf/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./gconf/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./gconf/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./gconf/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./gconf/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./gconf/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./gconf/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./gconf/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./gconf/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./gconf/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./gconf/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./gio/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./gio/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./gio/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./gio/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./gio/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./gio/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./gio/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./gio/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./gio/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./gio/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./gio/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./gio/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./gio/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./gio/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./gio/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./glade/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./glade/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./glade/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./glade/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./glade/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./glade/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./glade/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./glade/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./glade/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./glade/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./glade/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./glade/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./glade/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./glade/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./glade/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./glib/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./glib/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./glib/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./glib/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./glib/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./glib/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./glib/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./glib/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./glib/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./glib/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./glib/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./glib/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./glib/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./glib/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./glib/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./gnomevfs/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./gnomevfs/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./gnomevfs/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./gnomevfs/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./gnomevfs/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./gnomevfs/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./gnomevfs/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./gnomevfs/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./gnomevfs/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./gnomevfs/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./gnomevfs/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./gnomevfs/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./gnomevfs/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./gnomevfs/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./gnomevfs/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./gstreamer/Gtk2HsSetup.hs 39 -import Distribution.InstalledPackageInfo ( importDirs ) +import Distribution.InstalledPackageInfo ( importDirs, + showInstalledPackageInfo, + libraryDirs, + extraLibraries, + extraGHCiLibraries ) hunk ./gstreamer/Gtk2HsSetup.hs 56 - libModules) + libModules, hasLibs) hunk ./gstreamer/Gtk2HsSetup.hs 69 - c2hsProgram, pkgConfigProgram, + c2hsProgram, pkgConfigProgram, requireProgram, ghcPkgProgram, hunk ./gstreamer/Gtk2HsSetup.hs 75 - fromFlag, toFlag) + fromFlag, toFlag, RegisterFlags(..), flagToMaybe, + fromFlagOrDefault, defaultRegisterFlags) hunk ./gstreamer/Gtk2HsSetup.hs 78 +import Distribution.Simple.Install ( install ) +#if CABAL_VERSION_CHECK(1,8,0) +import Distribution.Simple.Register ( generateRegistrationInfo, registerPackage ) +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./gstreamer/Gtk2HsSetup.hs 89 -import Control.Monad (unless) -import Data.Maybe (fromMaybe) +import Control.Monad (when, unless, filterM) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./gstreamer/Gtk2HsSetup.hs 96 +import Control.Applicative ((<$>)) +import System.Directory (getDirectoryContents, doesDirectoryExist) hunk ./gstreamer/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> (instHook simpleUserHooks) pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest, + regHook = registerHook +#else + instHook simpleUserHooks pd lbi uh flags >> hunk ./gstreamer/Gtk2HsSetup.hs 122 +#endif hunk ./gstreamer/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ +-- Lots of stuff for windows ghci support +------------------------------------------------------------------------------ + +getDlls :: [FilePath] -> IO [FilePath] +getDlls dirs = filter ((== ".dll") . takeExtension) . concat <$> + mapM getDirectoryContents dirs + +fixLibs :: [FilePath] -> [String] -> [String] +fixLibs dlls = concatMap $ \ lib -> + case filter (("lib" ++ lib) `isPrefixOf`) dlls of + dll:_ -> [dropExtension dll] + _ -> if lib == "z" then [] else [lib] + +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg@PackageDescription { library = Just lib } + lbi@LocalBuildInfo { libraryConfig = Just clbi } regFlags + = do + + installedPkgInfoRaw <- generateRegistrationInfo + verbosity pkg lib lbi clbi inplace distPref + + dllsInScope <- getSearchPath >>= (filterM doesDirectoryExist) >>= getDlls + let libs = fixLibs dllsInScope (extraLibraries installedPkgInfoRaw) + installedPkgInfo = installedPkgInfoRaw { + extraGHCiLibraries = libs } + + -- Three different modes: + case () of + _ | modeGenerateRegFile -> die "Generate Reg File not supported" + | modeGenerateRegScript -> die "Generate Reg Script not supported" + | otherwise -> registerPackage verbosity + installedPkgInfo pkg lbi inplace packageDb + + where + modeGenerateRegFile = isJust (flagToMaybe (regGenPkgConf regFlags)) + modeGenerateRegScript = fromFlag (regGenScript regFlags) + inplace = fromFlag (regInPlace regFlags) + packageDb = case flagToMaybe (regPackageDB regFlags) of + Just db -> db + Nothing -> registrationPackageDB (withPackageDB lbi) + distPref = fromFlag (regDistPref regFlags) + verbosity = fromFlag (regVerbosity regFlags) + +register _ _ regFlags = notice verbosity "No package to register" + where + verbosity = fromFlag (regVerbosity regFlags) + +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./gstreamer/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./gstreamer/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./gtk/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./gtk/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./gtk/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./gtk/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./gtk/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./gtk/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./gtk/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./gtk/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./gtk/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./gtk/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./gtk/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./gtk/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./gtk/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./gtk/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./gtk/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./gtkglext/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./gtkglext/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./gtkglext/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./gtkglext/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./gtkglext/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./gtkglext/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./gtkglext/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./gtkglext/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./gtkglext/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./gtkglext/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./gtkglext/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./gtkglext/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./gtkglext/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./gtkglext/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./gtkglext/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./gtksourceview2/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./gtksourceview2/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./gtksourceview2/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./gtksourceview2/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./gtksourceview2/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./gtksourceview2/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./gtksourceview2/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./gtksourceview2/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./gtksourceview2/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./gtksourceview2/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./gtksourceview2/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./gtksourceview2/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./gtksourceview2/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./gtksourceview2/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./gtksourceview2/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./pango/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./pango/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./pango/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./pango/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./pango/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./pango/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./pango/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./pango/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./pango/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./pango/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./pango/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./pango/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./pango/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./pango/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./pango/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./svgcairo/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./svgcairo/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./svgcairo/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./svgcairo/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./svgcairo/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./svgcairo/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./svgcairo/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./svgcairo/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./svgcairo/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./svgcairo/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./svgcairo/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./svgcairo/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./svgcairo/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./svgcairo/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./svgcairo/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./vte/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./vte/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./vte/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./vte/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./vte/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./vte/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./vte/Gtk2HsSetup.hs 119 +#else + instHook simpleUserHooks pd lbi uh flags >> + installCHI pd lbi (fromFlag (installVerbosity flags)) NoCopyDest +#endif hunk ./vte/Gtk2HsSetup.hs 125 +------------------------------------------------------------------------------ hunk ./vte/Gtk2HsSetup.hs 127 +------------------------------------------------------------------------------ + hunk ./vte/Gtk2HsSetup.hs 139 +-- The following code is a big copy-and-paste job from the sources of +-- Cabal 1.8 just to be able to fix a field in the package file. Yuck. + +#if CABAL_VERSION_CHECK(1,8,0) + [_$_] hunk ./vte/Gtk2HsSetup.hs 180 -#if defined(mingw32_HOST_OS) || defined(__MINGW32__) hunk ./vte/Gtk2HsSetup.hs 184 -#else - let installedPkgInfo = installedPkgInfoRaw -#endif hunk ./vte/Gtk2HsSetup.hs 206 +#else +installHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> InstallFlags -> IO () +installHook pkg_descr localbuildinfo _ flags = do + let copyFlags = defaultCopyFlags { + copyDistPref = installDistPref flags, + copyInPlace = installInPlace flags, + copyUseWrapper = installUseWrapper flags, + copyDest = toFlag NoCopyDest, + copyVerbosity = installVerbosity flags + } + install pkg_descr localbuildinfo copyFlags + let registerFlags = defaultRegisterFlags { + regDistPref = installDistPref flags, + regInPlace = installInPlace flags, + regPackageDB = installPackageDB flags, + regVerbosity = installVerbosity flags + } + when (hasLibs pkg_descr) $ register pkg_descr localbuildinfo registerFlags + +registerHook :: PackageDescription -> LocalBuildInfo + -> UserHooks -> RegisterFlags -> IO () +registerHook pkg_descr localbuildinfo _ flags = + if hasLibs pkg_descr + then register pkg_descr localbuildinfo flags + else setupMessage verbosity + "Package contains no library to register:" (packageId pkg_descr) + where verbosity = fromFlag (regVerbosity flags) + +register :: PackageDescription -> LocalBuildInfo + -> RegisterFlags -- ^Install in the user's database?; verbose + -> IO () +register pkg_descr lbi regFlags = do + let verbosity = fromFlag (regVerbosity regFlags) + warn verbosity "Cannot register ghci libraries with Cabal 1.6 (need 1.8)." + Register.register pkg_descr lbi regFlags + [_$_] +#endif + +------------------------------------------------------------------------------ hunk ./vte/Gtk2HsSetup.hs 247 +------------------------------------------------------------------------------ + hunk ./vte/Gtk2HsSetup.hs 256 +------------------------------------------------------------------------------ +-- Processing .chs files with our local c2hs. +------------------------------------------------------------------------------ + hunk ./webkit/Gtk2HsSetup.hs 67 - Program(..), ConfiguredProgram(..), lhcPkgProgram, + Program(..), ConfiguredProgram(..), hunk ./webkit/Gtk2HsSetup.hs 76 - defaultRegisterFlags) + fromFlagOrDefault, defaultRegisterFlags) hunk ./webkit/Gtk2HsSetup.hs 79 +#if CABAL_VERSION_CHECK(1,8,0) hunk ./webkit/Gtk2HsSetup.hs 81 +#else +import qualified Distribution.Simple.Register as Register ( register ) +#endif hunk ./webkit/Gtk2HsSetup.hs 90 -import Data.Maybe ( isJust, fromMaybe, maybeToList ) +import Data.Maybe ( isJust, isNothing, fromMaybe, maybeToList ) hunk ./webkit/Gtk2HsSetup.hs 114 - instHook = \pd lbi uh flags -> installHook pd lbi uh flags >> + instHook = \pd lbi uh flags -> +#if defined(mingw32_HOST_OS) || defined(__MINGW32__) + installHook pd lbi uh flags >> hunk ./webkit/Gtk2HsSetup.hs 119 +#else ... [truncated message content] |