2014-12-12 02:53:25 +01:00
|
|
|
diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs
|
2014-12-25 03:58:45 +01:00
|
|
|
index d2c1fb3..15bf815 100644
|
2014-12-12 02:53:25 +01:00
|
|
|
--- a/src-bin/Boot.hs
|
|
|
|
+++ b/src-bin/Boot.hs
|
2014-12-25 03:58:45 +01:00
|
|
|
@@ -512,9 +512,7 @@ initPackageDB :: B ()
|
2014-12-12 02:53:25 +01:00
|
|
|
initPackageDB = do
|
|
|
|
msg info "creating package databases"
|
|
|
|
initDB "--global" <^> beLocations . blGlobalDB
|
|
|
|
- traverseOf_ _Just initUser <^> beLocations . blUserDBDir
|
|
|
|
where
|
|
|
|
- initUser dir = rm_f (dir </> "package.conf") >> initDB "--user" (dir </> "package.conf.d")
|
|
|
|
initDB dbName db = do
|
|
|
|
rm_rf db >> mkdir_p db
|
|
|
|
ghcjs_pkg_ ["init", toTextI db] `catchAny_` return ()
|
2014-12-25 03:58:45 +01:00
|
|
|
@@ -538,29 +536,22 @@ installDevelopmentTree = subTop $ do
|
2014-12-12 02:53:25 +01:00
|
|
|
msgD info $ "preparing development boot tree"
|
|
|
|
checkpoint' "ghcjs-boot-git" "ghcjs-boot repository already cloned and prepared" $ do
|
|
|
|
testGit "ghcjs-boot" >>= \case
|
|
|
|
- Just False -> failWith "ghcjs-boot already exists and is not a git repository"
|
|
|
|
- Just True -> do
|
|
|
|
- msg info "ghcjs-boot repository already exists but checkpoint not reached, cleaning first, then cloning"
|
|
|
|
- rm_rf "ghcjs-boot"
|
|
|
|
+ Just _ -> do
|
|
|
|
+ msg info "ghcjs-boot repository already exists; initializing ghcjs-boot"
|
|
|
|
initGhcjsBoot
|
|
|
|
Nothing -> do
|
|
|
|
msgD info "cloning ghcjs-boot git repository"
|
|
|
|
initGhcjsBoot
|
|
|
|
checkpoint' "shims-git" "shims repository already cloned" $ do
|
|
|
|
testGit "shims" >>= \case
|
|
|
|
- Just False -> failWith "shims already exists and is not a git repository"
|
|
|
|
- Just True -> do
|
|
|
|
- msgD info "shims repository already exists but checkpoint not reached, cleaning first, then cloning"
|
|
|
|
- rm_rf "shims"
|
|
|
|
- cloneGit shimsDescr "shims" bsrcShimsDevBranch bsrcShimsDev
|
|
|
|
+ Just _ -> do
|
|
|
|
+ msgD info "shims repository already exists; moving on"
|
|
|
|
Nothing -> do
|
|
|
|
msgD info "cloning shims git repository"
|
|
|
|
cloneGit shimsDescr "shims" bsrcShimsDevBranch bsrcShimsDev
|
|
|
|
where
|
|
|
|
initGhcjsBoot = sub $ do
|
|
|
|
- cloneGit bootDescr "ghcjs-boot" bsrcBootDevBranch bsrcBootDev
|
|
|
|
cd "ghcjs-boot"
|
|
|
|
- git_ ["submodule", "update", "--init", "--recursive"]
|
|
|
|
mapM_ patchPackage =<< allPackages
|
|
|
|
preparePrimops
|
|
|
|
buildGenPrim
|
2014-12-25 03:58:45 +01:00
|
|
|
@@ -672,7 +663,7 @@ patchPackage pkg
|
|
|
|
p' <- absPath p
|
|
|
|
cd (fromText pkg')
|
|
|
|
when isWindows (git_ ["config", "core.filemode", "false"])
|
|
|
|
- git_ ["apply", "-3", toTextI p']
|
|
|
|
+ git_ ["apply", toTextI p']
|
|
|
|
in sub $ cond applyPatch (msg info $ "no patch for package " <> pkgName <> " found") =<< test_f p
|
|
|
|
| otherwise = return ()
|
|
|
|
|
|
|
|
@@ -1082,7 +1073,9 @@ cabalInstallFlags parmakeGhcjs = do
|
2014-12-12 02:53:25 +01:00
|
|
|
, "--builddir", "dist"
|
|
|
|
, "--with-compiler", ghcjs ^. pgmLocText
|
|
|
|
, "--with-hc-pkg", ghcjsPkg ^. pgmLocText
|
|
|
|
- , "--prefix", toTextI instDir
|
|
|
|
+ , "--prefix", "@PREFIX@"
|
|
|
|
+ , "--libdir", "$prefix/lib/$compiler"
|
|
|
|
+ , "--libsubdir", "$pkgid"
|
|
|
|
, bool haddock "--enable-documentation" "--disable-documentation"
|
|
|
|
, "--haddock-html"
|
2014-12-25 03:58:45 +01:00
|
|
|
-- workaround for hoogle support being broken in haddock for GHC 7.10RC1
|
2014-12-12 02:53:25 +01:00
|
|
|
diff --git a/src/Compiler/Info.hs b/src/Compiler/Info.hs
|
2014-12-25 03:58:45 +01:00
|
|
|
index 33a401f..5d09c86 100644
|
2014-12-12 02:53:25 +01:00
|
|
|
--- a/src/Compiler/Info.hs
|
|
|
|
+++ b/src/Compiler/Info.hs
|
2014-12-25 03:58:45 +01:00
|
|
|
@@ -49,7 +49,7 @@ compilerInfo nativeToo dflags = do
|
2014-12-12 02:53:25 +01:00
|
|
|
-- | the directory to use if started without -B flag
|
|
|
|
getDefaultTopDir :: IO FilePath
|
|
|
|
getDefaultTopDir = do
|
|
|
|
- appdir <- getAppUserDataDirectory "ghcjs"
|
|
|
|
+ let appdir = "@PREFIX@/share/ghcjs"
|
|
|
|
return (appdir </> subdir </> "ghcjs")
|
|
|
|
where
|
|
|
|
targetARCH = arch
|