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