From 3cb063c805ec841ca33b8371ef8aba9329221b6c Mon Sep 17 00:00:00 2001
From: Alec Theriault <alec.theriault@gmail.com>
Date: Wed, 13 Feb 2019 07:44:58 -0800
Subject: [PATCH] Remove `parallel` as a submodule

`parallel` is used in exactly one place in the GHC tree: the T2317 test.
It seems almost by accident that it is a submodule; libraries needed
only for tests should net be included as submodules (see `QuickCheck`,
`async`, `haskell98`, `regex-compat`, `utf8-string`, `vector` and more
for examples).

T2317 will now get run only when `parallel` is installed instead of
`parallel` being required for the testsuite to run.
---
 .gitmodules                     | 4 ----
 ghc.mk                          | 4 ----
 hadrian/src/Base.hs             | 2 +-
 hadrian/src/Packages.hs         | 5 ++---
 hadrian/src/Rules/SourceDist.hs | 1 -
 hadrian/src/Settings/Default.hs | 1 -
 libraries/parallel              | 1 -
 packages                        | 1 -
 8 files changed, 3 insertions(+), 16 deletions(-)
 delete mode 160000 libraries/parallel

diff --git a/.gitmodules b/.gitmodules
index d2ab9ed6689b..5700a96a2287 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -83,10 +83,6 @@
 	url = ../packages/unix.git
 	ignore = untracked
 	branch = 2.7
-[submodule "libraries/parallel"]
-	path = libraries/parallel
-	url = ../packages/parallel.git
-	ignore = untracked
 [submodule "libraries/stm"]
 	path = libraries/stm
 	url = ../packages/stm.git
diff --git a/ghc.mk b/ghc.mk
index 143afb9c9dfe..47d260db9f4e 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -1206,9 +1206,6 @@ GIT_COMMIT_ID:
 
 sdist-ghc-prep-tree : VERSION GIT_COMMIT_ID
 
-# Extra packages which shouldn't be in the source distribution: see #8801
-EXTRA_PACKAGES=parallel
-
 .PHONY: sdist-ghc-prep-tree
 sdist-ghc-prep-tree :
 	$(call removeTrees,$(SRC_DIST_GHC_ROOT))
@@ -1223,7 +1220,6 @@ sdist-ghc-prep-tree :
 	$(call removeTrees,$(SRC_DIST_GHC_DIR)/libraries/stamp/)
 	$(call removeTrees,$(SRC_DIST_GHC_DIR)/compiler/stage[123])
 	$(call removeFiles,$(SRC_DIST_GHC_DIR)/mk/build.mk)
-	for i in $(EXTRA_PACKAGES); do $(RM) $(RM_OPTS_REC) $(SRC_DIST_GHC_DIR)/libraries/$$i/; done
 	cd $(SRC_DIST_GHC_DIR) && "$(FIND)" $(SRC_DIST_GHC_DIRS) \( -name .git -o -name "autom4te*" -o -name "*~" -o -name "\#*" -o -name ".\#*" -o -name "log" -o -name "*-SAVE" -o -name "*.orig" -o -name "*.rej" \) -print | "$(XARGS)" $(XARGS_OPTS) "$(RM)" $(RM_OPTS_REC)
 
 # Add files generated by alex and happy.
diff --git a/hadrian/src/Base.hs b/hadrian/src/Base.hs
index 277d6148ab31..77eec0a48aeb 100644
--- a/hadrian/src/Base.hs
+++ b/hadrian/src/Base.hs
@@ -34,7 +34,7 @@ import Control.Monad.Reader
 import Data.List.Extra
 import Data.Maybe
 import Data.Semigroup
-import Development.Shake hiding (parallel, unit, (*>), Normal)
+import Development.Shake hiding (unit, (*>), Normal)
 import Development.Shake.Classes
 import Development.Shake.FilePath
 import Development.Shake.Util
diff --git a/hadrian/src/Packages.hs b/hadrian/src/Packages.hs
index f32661e534d2..02dc1343873a 100644
--- a/hadrian/src/Packages.hs
+++ b/hadrian/src/Packages.hs
@@ -6,7 +6,7 @@ module Packages (
     filepath, genapply, genprimopcode, ghc, ghcBoot, ghcBootTh, ghcCompact,
     ghcHeap, ghci, ghcPkg, ghcPrim, ghcSplit, haddock, haskeline,
     hsc2hs, hp2ps, hpc, hpcBin, integerGmp, integerSimple, iserv, libffi,
-    libiserv, mtl, parsec, parallel, pretty, primitive, process, rts, runGhc,
+    libiserv, mtl, parsec, pretty, primitive, process, rts, runGhc,
     stm, templateHaskell, terminfo, text, time, timeout, touchy, transformers,
     unlit, unix, win32, xhtml, ghcPackages, isGhcPackage,
 
@@ -35,7 +35,7 @@ ghcPackages =
     , filepath, genapply, genprimopcode, ghc, ghcBoot, ghcBootTh, ghcCompact
     , ghcHeap, ghci, ghcPkg, ghcPrim, haddock, haskeline, hsc2hs, hp2ps
     , hpc, hpcBin, integerGmp, integerSimple, iserv, libffi, libiserv, mtl
-    , parsec, parallel, pretty, process, rts, runGhc, stm, templateHaskell
+    , parsec, pretty, process, rts, runGhc, stm, templateHaskell
     , terminfo, text, time, touchy, transformers, unlit, unix, win32, xhtml
     , timeout ]
 
@@ -82,7 +82,6 @@ libffi              = top  "libffi"
 libiserv            = lib  "libiserv"
 mtl                 = lib  "mtl"
 parsec              = lib  "parsec"
-parallel            = lib  "parallel"
 pretty              = lib  "pretty"
 primitive           = lib  "primitive"
 process             = lib  "process"
diff --git a/hadrian/src/Rules/SourceDist.hs b/hadrian/src/Rules/SourceDist.hs
index 8bec3f3b261b..6e56c666b6ec 100644
--- a/hadrian/src/Rules/SourceDist.hs
+++ b/hadrian/src/Rules/SourceDist.hs
@@ -68,7 +68,6 @@ prepareTree dest = do
         , Test "libraries//ghc.mk"
         , Test "libraries//include/Hs*Config.h"
         , Test "libraries/dph"
-        , Test "libraries/parallel"
         , Test "libraries/primitive"
         , Test "libraries/random"
         , Test "libraries/stm"
diff --git a/hadrian/src/Settings/Default.hs b/hadrian/src/Settings/Default.hs
index 01fc01430b41..cec1d6616a99 100644
--- a/hadrian/src/Settings/Default.hs
+++ b/hadrian/src/Settings/Default.hs
@@ -135,7 +135,6 @@ testsuitePackages = do
              , hp2ps
              , hsc2hs
              , iserv
-             , parallel
              , runGhc
              , unlit         ] ++
              [ timeout | win ]
diff --git a/libraries/parallel b/libraries/parallel
deleted file mode 160000
index 4a04f41b7e28..000000000000
--- a/libraries/parallel
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 4a04f41b7e2857ab8a09bcb8ed0b346516b0c817
diff --git a/packages b/packages
index 2f4dfd112a9a..40141ac21731 100644
--- a/packages
+++ b/packages
@@ -65,6 +65,5 @@ libraries/unix               -           -                               ssh://g
 libraries/Win32              -           -                               https://github.com/haskell/win32.git
 libraries/xhtml              -           -                               https://github.com/haskell/xhtml.git
 nofib                        nofib       -                               -
-libraries/parallel           extra       -                               ssh://git@github.com/haskell/parallel.git
 libraries/stm                -           -                               ssh://git@github.com/haskell/stm.git
 .                            -           ghc.git                         -
-- 
GitLab