feat(third_party/bazel): Check in rules_haskell from Tweag

This commit is contained in:
Vincent Ambo 2019-07-04 11:18:12 +01:00
parent 2eb1dc26e4
commit f723b8b878
479 changed files with 51484 additions and 0 deletions

View file

@ -0,0 +1,11 @@
--- lib/package.conf.d/base-4.12.0.0.conf 2019-03-19 18:04:35.186653529 +0100
+++ lib/package.conf.d/base-4.12.0.0.conf 2019-03-19 18:04:48.958873769 +0100
@@ -79,7 +79,7 @@
data-dir: $topdir\x86_64-windows-ghc-8.6.2\base-4.12.0.0
hs-libraries: HSbase-4.12.0.0
extra-libraries:
- wsock32 user32 shell32 msvcrt mingw32 mingwex
+ wsock32 user32 shell32 msvcrt mingw32 mingwex shlwapi
include-dirs: $topdir\base-4.12.0.0\include
includes:
HsBase.h

View file

@ -0,0 +1,11 @@
--- lib/package.conf.d/base-4.12.0.0.conf 2019-03-20 12:24:30.857292020 +0100
+++ lib/package.conf.d/base-4.12.0.0.conf 2019-03-20 12:24:44.637400564 +0100
@@ -79,7 +79,7 @@
data-dir: $topdir\x86_64-windows-ghc-8.6.4\base-4.12.0.0
hs-libraries: HSbase-4.12.0.0
extra-libraries:
- wsock32 user32 shell32 msvcrt mingw32 mingwex
+ wsock32 user32 shell32 msvcrt mingw32 mingwex shlwapi
include-dirs: $topdir\base-4.12.0.0\include
includes:
HsBase.h

View file

@ -0,0 +1,39 @@
:add {ADD_SOURCES}
:module + System.IO GHC.IO.Handle Control.Exception System.Directory
import qualified GHC.IO.Handle as Handle
import qualified System.IO as IO
import qualified System.Directory as Dir
rules_haskell_stdout_dupe <- Handle.hDuplicate IO.stdout
:{
(rules_haskell_stdout_copy_file, rules_haskell_stdout_copy_h) <- do
rules_haskell_tmp_dir <- Dir.getTemporaryDirectory Prelude.>>= Dir.canonicalizePath
(rules_haskell_fn, rules_haskell_h) <- IO.openTempFile rules_haskell_tmp_dir "rules-haskell-ghci-repl"
Handle.hDuplicateTo rules_haskell_h IO.stdout
Prelude.return (rules_haskell_fn, rules_haskell_h)
:}
:show modules
:{
rules_haskell_loaded_modules <- do
Handle.hClose rules_haskell_stdout_copy_h
-- I had to do it like this because flushing and then searching in the
-- stream at offset 0 did not work (no data is there, although the
-- corresponding file certainly contained it after flushing). Couldn't
-- figure this one out, so we first close the file and then read from it.
rules_haskell_h <- IO.openFile rules_haskell_stdout_copy_file IO.ReadMode
rules_haskell_xs <- Handle.hGetContents rules_haskell_h
Dir.removeFile rules_haskell_stdout_copy_file
Prelude.return Prelude.$ Prelude.takeWhile (Prelude./= ' ') Prelude.<$> Prelude.lines rules_haskell_xs
:}
hDuplicateTo rules_haskell_stdout_dupe IO.stdout
:{
let rules_haskell_add_loaded_modules _ =
Prelude.return Prelude.$ ":module + " Prelude.++
Data.List.intercalate " " (("*" Prelude.++) Prelude.<$> rules_haskell_loaded_modules)
:}
:module - System.IO GHC.IO.Handle Control.Exception System.Directory
:def rules_haskell_add_loaded_modules rules_haskell_add_loaded_modules
:rules_haskell_add_loaded_modules
:undef rules_haskell_add_loaded_modules
-- reload modules to drop the rules_haskell* definitions
:reload
{COMMANDS}