Make installPackage install settings from the [package].buildinfo file.
authorjudah.jacobson@gmail.com <unknown>
Thu, 6 Sep 2007 01:00:44 +0000 (01:00 +0000)
committerjudah.jacobson@gmail.com <unknown>
Thu, 6 Sep 2007 01:00:44 +0000 (01:00 +0000)
M ./libraries/installPackage.hs -1 +14

libraries/installPackage.hs

index 451fda1..d1ca8fa 100644 (file)
@@ -5,6 +5,7 @@ import Distribution.Simple.Configure
 import Distribution.Simple.LocalBuildInfo
 import Distribution.Simple.Program
 import Distribution.Simple.Setup
+import Distribution.Simple.Utils
 import Distribution.Verbosity
 import System.Environment
 
@@ -41,7 +42,7 @@ doit destdir pref idatadir idocdir ghcpkg ghcpkgconf verbosity =
                                   regGenScript = False,
                                   regInPlace = False
                               }
-          lbi <- getPersistBuildConfig
+          lbi <- getConfig verbosity
           let pd = localPkgDescr lbi
               i = installDirTemplates lbi
               -- XXX This is an almighty hack, shadowing the base
@@ -84,3 +85,15 @@ doit destdir pref idatadir idocdir ghcpkg ghcpkgconf verbosity =
           (regHook simpleUserHooks)  pd_reg  lbi_reg  userHooks registerFlags
           return ()
 
+-- Get the build info, merging the setup-config and buildinfo files.
+getConfig :: Verbosity -> IO LocalBuildInfo
+getConfig verbosity = do
+    lbi <- getPersistBuildConfig
+    maybe_infoFile <- defaultHookedPackageDesc
+    case maybe_infoFile of
+        Nothing -> return lbi
+        Just infoFile -> do
+            hbi <- readHookedBuildInfo verbosity infoFile
+            return lbi { localPkgDescr = updatePackageDescription hbi (localPkgDescr lbi)}
+
+