From a3457055c99aa1a9e233264342cbc795831245be Mon Sep 17 00:00:00 2001
From: Mikhail Glushenkov <mikhail.glushenkov@gmail.com>
Date: Tue, 17 Mar 2015 17:01:59 +0100
Subject: [PATCH] Revert "Added checks to see if files and directories exist"

This reverts commit 1b93023235e57c2b0a237ea770563ac36196b51d.
---
 .../Distribution/PackageDescription/Check.hs  | 49 ++++++++-----------
 1 file changed, 20 insertions(+), 29 deletions(-)

diff --git a/Cabal/Distribution/PackageDescription/Check.hs b/Cabal/Distribution/PackageDescription/Check.hs
index c92c5a0583..9127acfb7a 100644
--- a/Cabal/Distribution/PackageDescription/Check.hs
+++ b/Cabal/Distribution/PackageDescription/Check.hs
@@ -1383,36 +1383,30 @@ checkPackageContent :: Monad m => CheckPackageContentOps m
                     -> PackageDescription
                     -> m [PackageCheck]
 checkPackageContent ops pkg = do
+  licenseErrors   <- checkLicensesExist   ops pkg
   setupError      <- checkSetupExists     ops pkg
   configureError  <- checkConfigureExists ops pkg
   localPathErrors <- checkLocalPathsExist ops pkg
   vcsLocation     <- checkMissingVcsInfo  ops pkg
-  fileExistsError <- checkFilesExist      ops pkg
 
-  return $ 
-        catMaybes [setupError, configureError]
+  return $ licenseErrors
+        ++ catMaybes [setupError, configureError]
         ++ localPathErrors
         ++ vcsLocation
-        ++ fileExistsError
-
-checkFilesExist :: Monad m => CheckPackageContentOps m
-                -> PackageDescription
-                -> m [PackageCheck]
-checkFilesExist ops pkg = do
-  let filess = [ (files, kind)
-               | (files, kind) <-
-                    [ (files, "license-file")       | files <- licenseFiles  pkg ]
-                 ++ [ (files, "extra-source-files") | files <- extraSrcFiles pkg ]
-                 ++ [ (files, "data-files")         | files <- dataFiles     pkg ]
-                 ++ [ (files, "extra-doc-files")    | files <- extraDocFiles pkg ]
-               ]
-
-  missing <- filterM (liftM not . doesFileExist ops . fst) filess
-  return [ PackageBuildWarning {
-             explanation = quote (kind ++ ": " ++ file)
-                        ++ " file does not exist."
-           }
-         | (file, kind) <- missing ]
+
+checkLicensesExist :: Monad m => CheckPackageContentOps m
+                   -> PackageDescription
+                   -> m [PackageCheck]
+checkLicensesExist ops pkg = do
+    exists <- mapM (doesFileExist ops) (licenseFiles pkg)
+    return
+      [ PackageBuildWarning $
+           "The '" ++ fieldname ++ "' field refers to the file "
+        ++ quote file ++ " which does not exist."
+      | (file, False) <- zip (licenseFiles pkg) exists ]
+  where
+    fieldname | length (licenseFiles pkg) == 1 = "license-file"
+              | otherwise                      = "license-files"
 
 checkSetupExists :: Monad m => CheckPackageContentOps m
                  -> PackageDescription
@@ -1442,12 +1436,9 @@ checkLocalPathsExist ops pkg = do
   let dirs = [ (dir, kind)
              | bi <- allBuildInfo pkg
              , (dir, kind) <-
-                  [ (dir, "extra-lib-dirs")  | dir <- extraLibDirs  bi ]
-               ++ [ (dir, "include-dirs")    | dir <- includeDirs   bi ]
-               ++ [ (dir, "hs-source-dirs")  | dir <- hsSourceDirs  bi ]
-               ++ [ (dir, "c-sources")       | dir <- cSources      bi ]
-               ++ [ (dir, "js-sources")      | dir <- jsSources     bi ]
-
+                  [ (dir, "extra-lib-dirs") | dir <- extraLibDirs bi ]
+               ++ [ (dir, "include-dirs")   | dir <- includeDirs  bi ]
+               ++ [ (dir, "hs-source-dirs") | dir <- hsSourceDirs bi ]
              , isRelative dir ]
   missing <- filterM (liftM not . doesDirectoryExist ops . fst) dirs
   return [ PackageBuildWarning {
-- 
GitLab