From 4af71790b06df999ef8c61ff653221b69cdfdd9d Mon Sep 17 00:00:00 2001
From: Oleg Grenrus <oleg.grenrus@iki.fi>
Date: Fri, 15 Nov 2019 09:34:52 +0200
Subject: [PATCH] Add regression test, and resolve #6334

Revert "Properly expand globs when looking for headers in extra-src-files."

This reverts commit 3b54835cc6ac756c09e3809254c3213e09947180.
---
 cabal-install/Distribution/Client/SourceFiles.hs    |  8 +-------
 .../PackageTests/Regression/T6334/cabal.out         |  8 ++++++++
 .../PackageTests/Regression/T6334/cabal.project     |  1 +
 .../PackageTests/Regression/T6334/cabal.test.hs     |  3 +++
 .../PackageTests/Regression/T6334/foo/README.md     |  1 +
 .../PackageTests/Regression/T6334/foo/foo.cabal     | 13 +++++++++++++
 .../PackageTests/Regression/T6334/foo/src/Foo.hs    |  1 +
 7 files changed, 28 insertions(+), 7 deletions(-)
 create mode 100644 cabal-testsuite/PackageTests/Regression/T6334/cabal.out
 create mode 100644 cabal-testsuite/PackageTests/Regression/T6334/cabal.project
 create mode 100644 cabal-testsuite/PackageTests/Regression/T6334/cabal.test.hs
 create mode 100644 cabal-testsuite/PackageTests/Regression/T6334/foo/README.md
 create mode 100644 cabal-testsuite/PackageTests/Regression/T6334/foo/foo.cabal
 create mode 100644 cabal-testsuite/PackageTests/Regression/T6334/foo/src/Foo.hs

diff --git a/cabal-install/Distribution/Client/SourceFiles.hs b/cabal-install/Distribution/Client/SourceFiles.hs
index 1e74f8baef..fdd51abb77 100644
--- a/cabal-install/Distribution/Client/SourceFiles.hs
+++ b/cabal-install/Distribution/Client/SourceFiles.hs
@@ -17,7 +17,6 @@ import Distribution.Client.RebuildMonad
 
 import Distribution.Solver.Types.OptionalStanza
 
-import Distribution.Simple.Glob
 import Distribution.Simple.PreProcess
 
 import Distribution.Types.PackageDescription
@@ -34,14 +33,11 @@ import Distribution.Types.ForeignLib
 
 import Distribution.ModuleName
 
-import Distribution.Verbosity (silent)
-
 import Prelude ()
 import Distribution.Client.Compat.Prelude
 
 import System.FilePath
 import Control.Monad
-import Control.Monad.IO.Class
 import qualified Data.Set as Set
 
 needElaboratedConfiguredPackage :: ElaboratedConfiguredPackage -> Rebuild ()
@@ -156,9 +152,7 @@ needBuildInfo pkg_descr bi modules = do
     -- compilation).  It would be even better if we knew on a
     -- per-component basis which headers would be used but that
     -- seems to be too difficult.
-    forM_ (extraSrcFiles pkg_descr) $ \ glob -> do
-      files <- liftIO $ matchDirFileGlob silent (specVersion pkg_descr) "." glob
-      mapM_ needIfExists (filter ((==".h").takeExtension) files)
+    mapM_ needIfExists (filter ((==".h").takeExtension) (extraSrcFiles pkg_descr))
     forM_ (installIncludes bi) $ \f ->
         findFileMonitored ("." : includeDirs bi) f
             >>= maybe (return ()) need
diff --git a/cabal-testsuite/PackageTests/Regression/T6334/cabal.out b/cabal-testsuite/PackageTests/Regression/T6334/cabal.out
new file mode 100644
index 0000000000..255f6d4690
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T6334/cabal.out
@@ -0,0 +1,8 @@
+# cabal v2-build
+Resolving dependencies...
+Build profile: -w ghc-<GHCVER> -O1
+In order, the following will be built:
+ - foo-0 (lib) (first run)
+Configuring library for foo-0..
+Preprocessing library for foo-0..
+Building library for foo-0..
diff --git a/cabal-testsuite/PackageTests/Regression/T6334/cabal.project b/cabal-testsuite/PackageTests/Regression/T6334/cabal.project
new file mode 100644
index 0000000000..e63723e9dc
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T6334/cabal.project
@@ -0,0 +1 @@
+packages: foo
diff --git a/cabal-testsuite/PackageTests/Regression/T6334/cabal.test.hs b/cabal-testsuite/PackageTests/Regression/T6334/cabal.test.hs
new file mode 100644
index 0000000000..1adfcadf45
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T6334/cabal.test.hs
@@ -0,0 +1,3 @@
+import Test.Cabal.Prelude
+main = cabalTest $
+  cabal "v2-build" ["all"]
diff --git a/cabal-testsuite/PackageTests/Regression/T6334/foo/README.md b/cabal-testsuite/PackageTests/Regression/T6334/foo/README.md
new file mode 100644
index 0000000000..82ece4fb23
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T6334/foo/README.md
@@ -0,0 +1 @@
+Some file
diff --git a/cabal-testsuite/PackageTests/Regression/T6334/foo/foo.cabal b/cabal-testsuite/PackageTests/Regression/T6334/foo/foo.cabal
new file mode 100644
index 0000000000..d6e03d8201
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T6334/foo/foo.cabal
@@ -0,0 +1,13 @@
+cabal-version: 2.2
+name: foo
+version: 0
+description:
+  https://github.com/haskell/cabal/issues/6334
+extra-source-files:
+  README.md
+
+library
+  default-language: Haskell2010
+  hs-source-dirs: src
+  exposed-modules: Foo
+  build-depends: base <5
diff --git a/cabal-testsuite/PackageTests/Regression/T6334/foo/src/Foo.hs b/cabal-testsuite/PackageTests/Regression/T6334/foo/src/Foo.hs
new file mode 100644
index 0000000000..42e29cbf36
--- /dev/null
+++ b/cabal-testsuite/PackageTests/Regression/T6334/foo/src/Foo.hs
@@ -0,0 +1 @@
+module Foo () where
-- 
GitLab