(aura) Pull package sources via git · fosskers/aura@ca9c38d
@@ -29,6 +29,7 @@ module Aura.Packages.AUR
2929 ( aurLookup
3030 , aurRepo
3131 , isAurPackage
32+ , clone
3233 , sourceTarball
3334 , aurInfo
3435 , aurSearch
@@ -49,8 +50,9 @@ import Data.Versions (versioning)
4950import Internet
5051import Linux.Arch.Aur
5152import Network.HTTP.Client (Manager)
53+import Shelly (Sh, run_)
5254import System.FilePath ((</>))
53-import Utilities (decompress, list)
55+import Utilities (list, quietSh)
54565557---
5658@@ -81,9 +83,7 @@ buildable m ai = do
8183 , bldProvidesOf = list (Provides $ aurNameOf ai) (Provides . head) $ providesOf ai
8284 , bldDepsOf = mapMaybe parseDep $ dependsOf ai ++ makeDepsOf ai -- TODO bad mapMaybe?
8385 , bldVersionOf = either (const Nothing) Just . versioning $ aurVersionOf ai
84- , isExplicit = False
85- , buildScripts = f }
86-where f fp = sourceTarball m fp (pkgBaseOf ai) >>= traverse (fmap T.unpack . decompress (T.pack fp) . T.pack)
86+ , isExplicit = False }
87878888isAurPackage :: (Member (Reader Settings) r, Member IO r) => T.Text -> Eff r Bool
8989isAurPackage name = asks managerOf >>= \m -> isJust <$> send (pkgbuild' @IO m name)
@@ -97,6 +97,16 @@ aurLink = "https://aur.archlinux.org"
9797pkgUrl :: T.Text -> T.Text
9898pkgUrl pkg = T.pack $ T.unpack aurLink </> "packages" </> T.unpack pkg
9999100+-------------------
101+-- SOURCES FROM GIT
102+-------------------
103+clone :: Buildable -> Sh (Maybe FilePath)
104+clone b = do
105+ (ec, _) <- quietSh $ run_ "git" ["clone", "--depth", "1", aurLink <> "/" <> bldBaseNameOf b <> ".git"]
106+case ec of
107+ (ExitFailure _) -> pure Nothing
108+ExitSuccess -> pure . Just . T.unpack $ bldBaseNameOf b
109+100110------------------
101111-- SOURCE TARBALLS
102112------------------