chs-cabal 0.1.1.3 → 0.1.1.4
raw patch · 3 files changed
+24/−9 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +4/−0
- chs-cabal.cabal +7/−1
- src/Distribution/C2Hs/TopSort.hs +13/−8
CHANGELOG.md view
@@ -1,5 +1,9 @@ # chs-cabal +## 0.1.1.4++ * Update for Cabal 3.14 correctly+ ## 0.1.1.3 * Update for Cabal 3.14
chs-cabal.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: chs-cabal-version: 0.1.1.3+version: 0.1.1.4 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2019, 2021 Vanessa McHale@@ -38,3 +38,9 @@ if impl(ghc >=8.4) ghc-options: -Wmissing-export-lists++ if impl(ghc >=8.2)+ ghc-options: -Wcpp-undef++ if impl(ghc >=8.10)+ ghc-options: -Wunused-packages
src/Distribution/C2Hs/TopSort.hs view
@@ -9,13 +9,17 @@ import Distribution.Compat.Graph (Node (..), fromDistinctList, revTopSort)-import Distribution.ModuleName (ModuleName)+import Distribution.ModuleName (ModuleName,+ toFilePath) import Distribution.Parsec (simpleParsec) import Distribution.Simple.PreProcess.Types (Suffix (..))-import Distribution.Utils.Path (FileOrDir (..), Pkg, Source, (</>),+import Distribution.Utils.Path (FileOrDir (..),+ Pkg, Source, SymbolicPath,- interpretSymbolicPathCWD)-import Distribution.Simple.Utils (findModuleFileEx,+ (</>),+ interpretSymbolicPathCWD,+ makeRelativePathEx)+import Distribution.Simple.Utils (findFileCwdWithExtension', warn) import Distribution.Verbosity (Verbosity) import Language.Haskell.CHs.Deps (getFileImports)@@ -30,18 +34,19 @@ -> IO [ModuleName] -- ^ Sorted modules reorderC2Hs v dirs preMods = do - chsFiles <- traverse (fmap (interpretSymbolicPathCWD . uncurry (</>)) . findCHS) preMods+ chsFiles <- traverse (fmap (fmap (interpretSymbolicPathCWD . uncurry (</>))) . findCHS) preMods modDeps <- traverse (extractDeps v) (zip preMods chsFiles) pure $ fmap (\(N m _ _) -> m) (revTopSort $ fromDistinctList modDeps) - where findCHS = findModuleFileEx v dirs [Suffix ".chs"]+ where findCHS = findFileCwdWithExtension' Nothing [Suffix ".chs"] dirs . makeRelativePathEx . toFilePath -- | Given a 'ModuleName' and its corresponding filepath, return a 'Node' -- with its associated @c2hs@ dependencies-extractDeps :: Verbosity -> (ModuleName, FilePath) -> IO (Node ModuleName ModuleName)-extractDeps v (m, f) = do+extractDeps :: Verbosity -> (ModuleName, Maybe FilePath) -> IO (Node ModuleName ModuleName)+extractDeps _ (m, Nothing) = pure (N m m [])+extractDeps v (m, Just f) = do res <- getFileImports f mods <- case res of Right ms -> case traverse simpleParsec ms of