autonix-deps-kf5 0.2.0.0 → 0.2.0.1
raw patch · 2 files changed
+21/−3 lines, 2 files
Files
- autonix-deps-kf5.cabal +1/−1
- src/Autonix/KF5.hs +20/−2
autonix-deps-kf5.cabal view
@@ -1,5 +1,5 @@ name: autonix-deps-kf5-version: 0.2.0.0+version: 0.2.0.1 synopsis: Generate dependencies for KDE 5 Nix expressions license: BSD3 license-file: LICENSE
src/Autonix/KF5.hs view
@@ -63,6 +63,19 @@ \[[:space:]]*([#\\.${}_[:alnum:][:space:]]+)\\)" ix pkg . buildInputs %= S.union (S.fromList $ map ("KF5" <>) new) +findQt5Components :: (MonadIO m, MonadState Deps m) => Analyzer m+findQt5Components pkg = awaitForever $ \(path, contents) ->+ when ("CMakeLists.txt" == takeFileName path) $ do+ let new = filter (not . cmakeReserved)+ $ filter (not . B.null)+ $ concatMap B.words+ $ concatMap (take 1 . drop 1)+ $ match regex contents+ regex = makeRegex+ "find_package[[:space:]]*\\([[:space:]]*Qt5\+ \[[:space:]]*([#\\.${}_[:alnum:][:space:]]+)\\)"+ ix pkg . buildInputs %= S.union (S.fromList $ map ("Qt5" <>) new)+ cmakeReserved :: ByteString -> Bool cmakeReserved bs = or $ map ($ bs) [ B.elem '$'@@ -76,8 +89,13 @@ ] kf5Analyzers :: (MonadIO m, MonadState Deps m) => [Analyzer m]-kf5Analyzers = [findKF5Components, renameKF5Pkgs, propagateKF5Deps]- ++ cmakeAnalyzers+kf5Analyzers =+ [ findKF5Components+ , findQt5Components+ , renameKF5Pkgs+ , propagateKF5Deps+ ]+ ++ cmakeAnalyzers kf5PostAnalyze :: MonadState Deps m => m () kf5PostAnalyze = do