Skip to content

Commit e61ed70

Browse files
committed
use unit-id as namespace in .fullpak
1 parent 8ba2ab4 commit e61ed70

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

external-stg/lib/Stg/Fullpak.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ mkFullpak ghcstgappPath stgbinsOnly includeAll fullpakName = do
6666
{ aiLiveCode =
6767
[ CodeInfo
6868
{ ciPackageName = modPackageName
69+
, ciUnitId = modUnitId
6970
, ciModuleName = modModuleName
7071
}
7172
| StgModuleInfo{..} <- fullpakModules
@@ -111,6 +112,6 @@ mkFullpak ghcstgappPath stgbinsOnly includeAll fullpakName = do
111112
]
112113
existingFiles <- withArchive modModpakPath $ mapM mkEntrySelector files >>= filterM doesEntryExist
113114
forM_ existingFiles $ \src -> do
114-
dst <- mkEntrySelector ("haskell" </> modPackageName </> modModuleName </> unEntrySelector src)
115+
dst <- mkEntrySelector ("haskell" </> modUnitId </> modModuleName </> unEntrySelector src)
115116
copyEntry modModpakPath src dst
116117
setExternalFileAttrs (fromFileMode 0o0644) dst

external-stg/lib/Stg/Program.hs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ getFullpakModules fullpakPath = do
222222
appinfoSelector <- liftIO $ mkEntrySelector fullpakAppInfoPath
223223
AppInfo{..} <- getEntry appinfoSelector >>= Y.decodeThrow
224224
forM aiLiveCode $ \CodeInfo{..} -> do
225-
s <- liftIO $ mkEntrySelector $ "haskell" </> ciPackageName </> ciModuleName </> modpakStgbinPath
225+
s <- liftIO $ mkEntrySelector $ "haskell" </> ciUnitId </> ciModuleName </> modpakStgbinPath
226226
decodeStgbin . BSL.fromStrict <$> getEntry s
227227

228228
-- .ghc_stgapp
@@ -522,6 +522,7 @@ downloadFoundationPakIfMissing ghcVersionString foundationPakPath = do
522522
data CodeInfo
523523
= CodeInfo
524524
{ ciPackageName :: String
525+
, ciUnitId :: String
525526
, ciModuleName :: String
526527
}
527528
deriving (Eq, Ord, Show)
@@ -530,13 +531,15 @@ instance FromJSON CodeInfo where
530531
parseJSON (Y.Object v) =
531532
CodeInfo
532533
<$> v .: "package-name"
534+
<*> v .: "unit-id"
533535
<*> v .: "module-name"
534536
parseJSON _ = fail "Expected Object for CodeInfo value"
535537

536538
instance ToJSON CodeInfo where
537539
toJSON CodeInfo{..} =
538540
object
539541
[ "package-name" .= ciPackageName
542+
, "unit-id" .= ciUnitId
540543
, "module-name" .= ciModuleName
541544
]
542545

0 commit comments

Comments
 (0)