diff options
Diffstat (limited to 'pkgs/development/compilers/ghcjs/8.0/boot.patch')
-rw-r--r-- | pkgs/development/compilers/ghcjs/8.0/boot.patch | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/pkgs/development/compilers/ghcjs/8.0/boot.patch b/pkgs/development/compilers/ghcjs/8.0/boot.patch new file mode 100644 index 00000000000..bbb5b30468c --- /dev/null +++ b/pkgs/development/compilers/ghcjs/8.0/boot.patch @@ -0,0 +1,86 @@ +diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs +index db8b12e..7b815c5 100644 +--- a/src-bin/Boot.hs ++++ b/src-bin/Boot.hs +@@ -540,9 +540,7 @@ initPackageDB :: B () + 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 () +@@ -566,29 +564,22 @@ installDevelopmentTree = subTop $ do + 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 +@@ -1201,14 +1192,14 @@ cabalInstallFlags parmakeGhcjs = do + , "--avoid-reinstalls" + , "--builddir", "dist" + , "--with-compiler", ghcjs ^. pgmLocText ++ , "--with-gcc", "@CC@" + , "--with-hc-pkg", ghcjsPkg ^. pgmLocText +- , "--prefix", toTextI instDir ++ , "--prefix", "@PREFIX@" ++ , "--libdir", "$prefix/lib/$compiler" ++ , "--libsubdir", "$pkgid" + , bool haddock "--enable-documentation" "--disable-documentation" + , "--haddock-html" +--- workaround for hoogle support being broken in haddock for GHC 7.10RC1 +-#if !(__GLASGOW_HASKELL__ >= 709) + , "--haddock-hoogle" +-#endif + , "--haddock-hyperlink-source" + -- don't slow down Windows builds too much, on other platforms we get this more + -- or less for free, thanks to dynamic-too +diff --git a/src/Compiler/Info.hs b/src/Compiler/Info.hs +index 33a401f..e2405a7 100644 +--- a/src/Compiler/Info.hs ++++ b/src/Compiler/Info.hs +@@ -48,13 +48,7 @@ compilerInfo nativeToo dflags = do + + -- | the directory to use if started without -B flag + getDefaultTopDir :: IO FilePath +-getDefaultTopDir = do +- appdir <- getAppUserDataDirectory "ghcjs" +- return (appdir </> subdir </> "ghcjs") +- where +- targetARCH = arch +- targetOS = os +- subdir = targetARCH ++ '-':targetOS ++ '-':getFullCompilerVersion ++getDefaultTopDir = return "@PREFIX@/lib/ghcjs-@VERSION@" + + getDefaultLibDir :: IO FilePath + getDefaultLibDir = getDefaultTopDir |