From 06a67e68356b32d2dd3965baf023b7cc8fca2d33 Mon Sep 17 00:00:00 2001 From: Hamish Mackenzie Date: Tue, 19 Jan 2021 14:38:10 +1300 Subject: [PATCH] Fix issue where subDir was applied twice (#1004) This was breaking cleaning of components when a parent dir was needed. So `hs-source-dirs: x` was ok, `hs-source-dirs: x/y` would fail. --- lib/clean-cabal-component.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/clean-cabal-component.nix b/lib/clean-cabal-component.nix index 3f721d45..143f963e 100644 --- a/lib/clean-cabal-component.nix +++ b/lib/clean-cabal-component.nix @@ -58,16 +58,20 @@ in hsSourceDirs = builtins.map (d: combinePaths subDir d) component.hsSourceDirs ++ (if component.hsSourceDirs == [] then [subDir] else []); includeDirs = builtins.map (d: combinePaths subDir d) component.includeDirs; - dirsNeeded = builtins.map (d: combinePaths subDir d) ( + # paths that will be needed (used to check if a parent dir should be included) + dirsNeeded = + # These already include subDir [dataDir] ++ hsSourceDirs ++ includeDirs - ++ package.licenseFiles - ++ package.extraSrcFiles - ++ component.extraSrcFiles - ++ package.extraDocFiles ++ builtins.map (f: dataDir + f) package.dataFiles - ++ otherSourceFiles); + ++ otherSourceFiles + ++ builtins.map (d: combinePaths subDir d) ( + # These need the subDir added + package.licenseFiles + ++ package.extraSrcFiles + ++ component.extraSrcFiles + ++ package.extraDocFiles); fileMatch = dir: list: let prefixes = builtins.map (f: combinePaths dir f) (