packages feed

ats-pkg 0.2.0.1 → 0.3.0.1

raw patch · 6 files changed

+32/−38 lines, 6 filesdep −hspecdep −mtldep −optparse-applicativedep ~basedep ~shake-extPVP ok

version bump matches the API change (PVP)

Dependencies removed: hspec, mtl, optparse-applicative

Dependency ranges changed: base, shake-ext

API changes (from Hackage documentation)

- Language.ATS.Package.Dependency: fetchFastArithmeticDeps :: IO ()
+ Language.ATS.Package.Dependency: Dependency :: String -> FilePath -> String -> Dependency
+ Language.ATS.Package.Dependency: [_dir] :: Dependency -> FilePath
+ Language.ATS.Package.Dependency: [_libName] :: Dependency -> String
+ Language.ATS.Package.Dependency: [_url] :: Dependency -> String
+ Language.ATS.Package.Dependency: atsGMP :: Dependency
+ Language.ATS.Package.Dependency: atsIntinf :: Dependency
+ Language.ATS.Package.Dependency: atsPrelude :: Dependency
+ Language.ATS.Package.Dependency: data Dependency
+ Language.ATS.Package.Dependency: instance GHC.Classes.Eq Language.ATS.Package.Dependency.Dependency
+ Language.ATS.Package.Dependency: instance GHC.Generics.Generic Language.ATS.Package.Dependency.Dependency
+ Language.ATS.Package.Dependency: instance GHC.Show.Show Language.ATS.Package.Dependency.Dependency
+ Language.ATS.Package.Type: [version] :: Pkg -> [Integer]
- Language.ATS.Package.Type: Pkg :: [Bin] -> [Bin] -> Maybe Text -> Pkg
+ Language.ATS.Package.Type: Pkg :: [Bin] -> [Bin] -> Maybe Text -> [Integer] -> Pkg

Files

.travis.yml view
@@ -50,6 +50,7 @@       yamllint stack.yaml       yamllint appveyor.yml       yamllint .travis.yml+      yamllint .yamllint     else       echo "skipping yaml verification..."     fi@@ -79,3 +80,4 @@ branches:   only:     - /\d+\.\d+\.\d+\.\d+.*$/+    - master
ats-pkg.cabal view
@@ -1,5 +1,5 @@ name:                ats-pkg-version:             0.2.0.1+version:             0.3.0.1 synopsis:            Package manager for ATS description:         A collection of scripts to make building ATS projects easy. homepage:            https://github.com/vmchale/ats-pkg#readme@@ -39,13 +39,11 @@                      , http-client-tls                      , text                      , directory-                     , optparse-applicative                      , process                      , parallel-io                      , unix                      , dhall-                     , mtl-                     , shake-ext >= 0.4.2.0+                     , shake-ext >= 0.5.0.1                      , composition-prelude >= 1.1.0.1   default-language:    Haskell2010   if flag(development)@@ -62,16 +60,6 @@   if flag(development)     ghc-options: -Werror   ghc-options:         -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat--test-suite ats-pkg-test-  type:                exitcode-stdio-1.0-  hs-source-dirs:      test-  main-is:             Spec.hs-  build-depends:       base-                     , ats-pkg-                     , hspec-  ghc-options:         -threaded -rtsopts -with-rtsopts=-N -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates -Wcompat-  default-language:    Haskell2010  source-repository head   type:     git
src/Language/ATS/Package/Dependency.hs view
@@ -1,18 +1,31 @@+{-# LANGUAGE DeriveGeneric     #-} {-# LANGUAGE OverloadedStrings #-} -module Language.ATS.Package.Dependency ( fetchDeps-                                       , fetchFastArithmeticDeps+module Language.ATS.Package.Dependency ( -- * Functions+                                         fetchDeps+                                       -- * Types+                                       , Dependency (..)+                                       -- * Dependency constants+                                       , atsPrelude+                                       , atsIntinf+                                       , atsGMP                                        ) where  import qualified Codec.Archive.Tar                    as Tar import           Codec.Compression.GZip               (decompress) import           Control.Concurrent.ParallelIO.Global import           Control.Monad+import           Dhall import           Network.HTTP.Client                  hiding (decompress) import           Network.HTTP.Client.TLS              (tlsManagerSettings) import           System.Directory -data Dependency = Dependency String FilePath String+-- | Type for a dependency+data Dependency = Dependency { _libName :: String -- ^ Library name, e.g.+                             , _dir     :: FilePath -- ^ Directory we should unpack to+                             , _url     :: String -- ^ Url pointing to tarball+                             }+    deriving (Eq, Show, Generic)  atsPrelude :: Dependency atsPrelude = Dependency "ats2-postiats-0.3.8-prelude" ".atspkg/prelude" "https://downloads.sourceforge.net/project/ats2-lang/ats2-lang/ats2-postiats-0.3.8/ATS2-Postiats-include-0.3.8.tgz"@@ -22,9 +35,6 @@  atsGMP :: Dependency atsGMP = Dependency "atscntrb-libgmp-1.0.4" ".atspkg/contrib/atscntrb-libgmp" "https://registry.npmjs.org/atscntrb-libgmp/-/atscntrb-libgmp-1.0.4.tgz"--fetchFastArithmeticDeps :: IO ()-fetchFastArithmeticDeps = fetchDeps [atsPrelude, atsIntinf, atsGMP]  fetchDeps :: [Dependency] -> IO () fetchDeps deps = do
src/Language/ATS/Package/Type.hs view
@@ -44,8 +44,8 @@ getConfig :: MonadIO m => m Pkg getConfig = liftIO (input auto "./atspkg.dhall") -asTarget :: Text -> FilePath-asTarget m = TL.unpack m -<.> "1"+manTarget :: Text -> FilePath+manTarget m = TL.unpack m -<.> "1"  mkInstall :: Rules () mkInstall =@@ -58,7 +58,7 @@         void $ zipWithM copyFile' bins binDest         case man config of             Just mt -> do-                let mt' = asTarget mt+                let mt' = manTarget mt                     manDest = (home <> "/.local/share/man/man1/") <> mt'                 need [mt']                 copyFile' mt' manDest@@ -79,21 +79,23 @@         need tests         mapM_ cmd_ tests --- TODO need @atspkg.dhall@ pkgToAction :: Pkg -> Rules ()-pkgToAction (Pkg bs ts mt) = do+pkgToAction (Pkg bs ts mt v) = do+    action (need ["atspkg.dhall"])     mapM_ g (bs ++ ts)     let bins = TL.unpack . target <$> bs     case mt of-        (Just m) -> want (asTarget m : bins)+        (Just m) -> want (manTarget m : bins)         Nothing  -> want bins -    where g (Bin s t ls gc') = atsBin gc' (TL.unpack <$> ls) (TL.unpack s) (TL.unpack t)+    where g (Bin s t ls gc') = atsBin (Version v) gc' (TL.unpack <$> ls) (TL.unpack s) (TL.unpack t) +-- TODO configuration for a library?+ data Bin = Bin { src :: Text, target :: Text, libs :: [Text], gc :: Bool }     deriving (Show, Eq, Generic, Interpret) -data Pkg = Pkg { bin :: [Bin], test :: [Bin], man :: Maybe Text }+data Pkg = Pkg { bin :: [Bin], test :: [Bin], man :: Maybe Text, version :: [Integer] }     deriving (Show, Eq, Generic, Interpret)  printConfig :: IO ()
stack.yaml view
@@ -3,8 +3,8 @@ packages:   - '.' extra-deps:-  - shake-ext-0.4.0.2-  - composition-prelude-1.1.0.0+  - shake-ext-0.5.0.1+  - composition-prelude-1.1.0.1   - language-ats-0.1.0.3 flags:   ats-pkg:
− test/Spec.hs
@@ -1,8 +0,0 @@-import           Language.ATS.Package-import           Test.Hspec--main :: IO ()-main = hspec $-    describe "head" $-        parallel $ it "gets the head of an infinite list" $-            head [1..] `shouldBe` 1