packages feed

ats-pkg 1.4.0.6 → 2.0.0.2

raw patch · 5 files changed

+22/−9 lines, 5 filesdep ~shake-atsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: shake-ats

API changes (from Hackage documentation)

+ Language.ATS.Package: [hs2ats] :: Bin -> [TargetPair]
+ Language.ATS.Package: [hsDeps] :: Bin -> [Text]
- Language.ATS.Package: Bin :: Text -> Text -> [Text] -> Bool -> Bin
+ Language.ATS.Package: Bin :: Text -> Text -> [Text] -> [Text] -> [TargetPair] -> Bool -> Bin

Files

ats-pkg.cabal view
@@ -1,5 +1,5 @@ name:                ats-pkg-version:             1.4.0.6+version:             2.0.0.2 synopsis:            Package manager for ATS description:         A collection of scripts to make building ATS projects easy. homepage:            https://github.com/vmchale/ats-pkg#readme@@ -50,7 +50,7 @@                      , unix                      , lens                      , dhall-                     , shake-ats+                     , shake-ats >= 0.3.0.3                      , shake-ext >= 1.4.0.2                      , composition-prelude >= 1.1.0.2                      , optparse-applicative
src/Language/ATS/Package/Build.hs view
@@ -21,6 +21,7 @@ import           Language.ATS.Package.Type import           System.Directory                     (getCurrentDirectory) +-- TODO clean generated ATS mkClean :: Rules () mkClean =     "clean" ~> do@@ -87,11 +88,14 @@     mkInstall >>     (pkgToAction rs =<< getConfig) +asTuple :: TargetPair -> (Text, Text)+asTuple (TargetPair s t) = (s, t)+ -- TODO infer dependencies on gc/atomic gc based on boolean flag. pkgToAction :: [String] -> Pkg -> Rules () pkgToAction rs (Pkg bs ts mt v v' ds cds cc cf as cdir) = do     unless (rs == ["clean"]) $-        let cdps = if any gc bs then libcAtomicOps : libcGC : cds else cds in+        let cdps = if any gc bs then libcAtomicOps : libcGC (Version [7,6,4]) : cds else cds in         liftIO $ fetchDeps False ds cdps >> stopGlobalPool     action (need ["atspkg.dhall"])     mapM_ g (bs ++ ts)@@ -103,7 +107,7 @@             (Just m) -> want (bool bins (manTarget m : bins) pa)             Nothing  -> want bins -    where g (Bin s t ls gc') = atsBin (TL.unpack cc) (TL.unpack <$> cf) v v' gc' (TL.unpack <$> ls) (TL.unpack s) (TL.unpack t)+    where g (Bin s t ls hs' atg gc') = atsBin (TL.unpack cc) (TL.unpack <$> cf) v v' gc' (TL.unpack <$> ls) (TL.unpack s) (TL.unpack <$> hs') (both TL.unpack . asTuple <$> atg) (TL.unpack t)           cDeps = unless (null as) $ do             let cedar = TL.unpack cdir                 atsSourceDirs = nub (takeDirectory . TL.unpack <$> as)
src/Language/ATS/Package/Dependency.hs view
@@ -31,8 +31,9 @@ libcAtomicOps :: Dependency libcAtomicOps = Dependency "atomic-ops" "atomic-ops-7.6.2" "https://github.com/ivmai/libatomic_ops/releases/download/v7.6.2/libatomic_ops-7.6.2.tar.gz" (Version [7,6,2]) -libcGC :: Dependency-libcGC = Dependency "gc" "gc-7.4.10" "https://github.com/ivmai/bdwgc/releases/download/v7.4.10/gc-7.4.10.tar.gz" (Version [7,4,10])+libcGC :: Version -> Dependency+libcGC v = Dependency "gc" ("gc-" <> g v) ("https://github.com/ivmai/bdwgc/releases/download/v" <> g v <> "/gc-" <> g v <> ".tar.gz") v+    where g = TL.pack . show  fetchDeps :: Bool -- ^ Set to 'False' if unsure.           -> [Dependency] -- ^ ATS dependencies
src/Language/ATS/Package/Type.hs view
@@ -15,6 +15,7 @@                                  , Bin (..)                                  , Version (..)                                  , Constraint (..)+                                 , TargetPair (..)                                  -- * Lenses                                  , dirLens                                  ) where@@ -44,9 +45,15 @@  makeLensesFor [("dir", "dirLens")] ''Dependency +data TargetPair = TargetPair { hs  :: Text+                             , ats :: Text+                             } deriving (Eq, Show, Generic, Interpret)+ data Bin = Bin { src    :: Text -- ^ Source file (should end with @.dats@)                , target :: Text -- ^ Binary to be built                , libs   :: [Text] -- ^ Libraries to link against (e.g. @[ "pthread" ]@)+               , hsDeps :: [Text] -- ^ Haskell source files to link against final generated ATS+               , hs2ats :: [TargetPair] -- ^ List of sources and targets for @hs2ats@                , gc     :: Bool -- ^ Whether to use the garbage collector                }          deriving (Show, Eq, Generic, Interpret)
stack.yaml view
@@ -3,11 +3,12 @@ packages:   - '.' extra-deps:-  - shake-ext-1.4.0.3-  - shake-ats-0.2.0.4+  - shake-ext-1.4.0.8+  - shake-ats-0.3.0.3   - composition-prelude-1.1.0.2-  - language-ats-0.1.1.5+  - language-ats-0.1.1.8   - cli-setup-0.1.0.3+  - hs2ats-0.1.0.1 flags:   ats-pkg:     development: false