@@ -15,7 +15,7 @@ import Distribution.Simple.PackageDescription
1515import Distribution.System
1616import Distribution.Text
1717import Distribution.Types.ComponentRequestedSpec
18- import Distribution.Utils.Path ( getSymbolicPath )
18+ import Distribution.Utils.Path ( getSymbolicPath , makeSymbolicPath )
1919import Distribution.Utils.ShortText ( fromShortText )
2020import Distribution.Verbosity
2121import Distribution.Version
@@ -29,7 +29,7 @@ type CopyrightYear = Int
2929cabal2spec :: Platform -> CompilerId -> FlagAssignment -> ForceBinary -> RunTests -> Maybe CopyrightYear
3030 -> FilePath -> FilePath -> IO ()
3131cabal2spec platform compilerId flags forceBinary runTests copyrightYear cabalFile specFile = do
32- gpd <- readGenericPackageDescription silent cabalFile
32+ gpd <- readGenericPackageDescription silent Nothing (makeSymbolicPath cabalFile)
3333 case finalizePD flags requestedComponents (const True ) platform (unknownCompilerInfo compilerId NoAbiTag ) [] gpd of
3434 Left missing -> fail (" finalizePD: " ++ show missing)
3535 Right (pd,_) -> createSpecFile specFile pd forceBinary runTests flags copyrightYear
@@ -231,8 +231,8 @@ createSpecFile specFile pkgDesc forceBinary runTests flagAssignment copyrightYea
231231 let licensefiles = map getSymbolicPath (licenseFiles pkgDesc)
232232
233233 -- remove docs from datafiles (#38)
234- docsUnfiltered <- fmap sort (findDocs (extraSrcFiles pkgDesc ++ extraDocFiles pkgDesc) licensefiles)
235- let datafiles = dataFiles pkgDesc
234+ docsUnfiltered <- fmap sort (findDocs (map getSymbolicPath ( extraSrcFiles pkgDesc) ++ map getSymbolicPath ( extraDocFiles pkgDesc) ) licensefiles)
235+ let datafiles = map getSymbolicPath ( dataFiles pkgDesc)
236236 dupdocs = docsUnfiltered `intersect` datafiles
237237 docs = docsUnfiltered \\ datafiles
238238 unless (null dupdocs) $
@@ -260,8 +260,8 @@ createSpecFile specFile pkgDesc forceBinary runTests flagAssignment copyrightYea
260260
261261 let listDataFiles = unless (null (dataFiles pkgDesc)) $ do
262262 put (" %dir %{_datadir}/" ++ pkg_name ++ " -%{version}" )
263- mapM_ (put . ((" %dir %{_datadir}/" ++ pkg_name ++ " -%{version}/" )++ ) . avoidSquareBrackets) (sort (listDirs (dataFiles pkgDesc)))
264- mapM_ (put . ((" %{_datadir}/" ++ pkg_name ++ " -%{version}/" )++ ) . avoidSquareBrackets) (sort (dataFiles pkgDesc))
263+ mapM_ (put . ((" %dir %{_datadir}/" ++ pkg_name ++ " -%{version}/" )++ ) . avoidSquareBrackets) (sort (listDirs (map getSymbolicPath ( dataFiles pkgDesc) )))
264+ mapM_ (put . ((" %{_datadir}/" ++ pkg_name ++ " -%{version}/" )++ ) . avoidSquareBrackets) (sort (map getSymbolicPath ( dataFiles pkgDesc) ))
265265
266266 listDirs :: [FilePath ] -> [FilePath ]
267267 listDirs = nub . concatMap (map joinPath . drop 1 . inits) . nub . map init . filter (\ p -> length p > 1 ) . map splitDirectories
0 commit comments