packages feed

ats-pkg 2.6.0.3 → 2.6.1.0

raw patch · 4 files changed

+43/−19 lines, 4 filesdep ~basedep ~dhalldep ~shake-atsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, dhall, shake-ats

API changes (from Hackage documentation)

+ Language.ATS.Package: atsPolyglotBuild :: IO ()

Files

ats-pkg.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: ats-pkg-version: 2.6.0.3+version: 2.6.1.0 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -51,6 +51,7 @@         Language.ATS.Package.Dependency         Language.ATS.Package.Compiler         Language.ATS.Package.Build+        Language.ATS.Package.Build.Cabal         Language.ATS.Package.Build.IO         Language.ATS.Package.Upgrade         Language.ATS.Package.Config
src/Language/ATS/Package.hs view
@@ -12,6 +12,7 @@                             , upgradeBin                             -- * Cabal helper functions                             , cabalHooks+                            , atsPolyglotBuild                             -- * Types                             , Version (..)                             , Pkg (..)@@ -30,6 +31,7 @@                             ) where  import           Language.ATS.Package.Build+import           Language.ATS.Package.Build.Cabal import           Language.ATS.Package.Compiler import           Language.ATS.Package.Dependency import           Language.ATS.Package.Dhall
src/Language/ATS/Package/Build.hs view
@@ -7,7 +7,6 @@ module Language.ATS.Package.Build ( mkPkg                                   , pkgToAction                                   , build-                                  , cabalHooks                                   , buildAll                                   , check                                   ) where@@ -21,9 +20,6 @@ import           Development.Shake.Check import           Development.Shake.Clean import           Development.Shake.Man-import           Distribution.PackageDescription      hiding (Executable, includes, options)-import           Distribution.Simple                  hiding (Version, showVersion)-import           Distribution.Simple.Setup import           Language.ATS.Package.Compiler import           Language.ATS.Package.Config import           Language.ATS.Package.Dependency@@ -43,20 +39,6 @@ -- | Build in current directory or indicated directory buildAll :: Maybe FilePath -> IO () buildAll p = on (>>) (=<< wants p) fetchCompiler setupCompiler--buildCabal :: Args -> ConfigFlags -> IO HookedBuildInfo-buildCabal _ _ = do-    build mempty-    libDir <- (<> "/") <$> getCurrentDirectory-    pure (modifyLib libDir emptyHookedBuildInfo)--modifyLib :: String -> HookedBuildInfo -> HookedBuildInfo-modifyLib libDir = first (over _Just modify)-    where modify bi = let olds = extraLibDirs bi-            in bi { extraLibDirs = (libDir <>) <$> olds }--cabalHooks :: UserHooks-cabalHooks = simpleUserHooks { preConf = buildCabal }  -- | Build a set of targets build :: [String] -- ^ Targets
+ src/Language/ATS/Package/Build/Cabal.hs view
@@ -0,0 +1,39 @@+-- | Integration with @Cabal@.+module Language.ATS.Package.Build.Cabal ( cabalHooks+                                        , atsPolyglotBuild+                                        ) where++import           Distribution.PackageDescription+import           Distribution.Simple+import           Distribution.Simple.LocalBuildInfo+import           Language.ATS.Package.Build+import           Quaalude++atsPolyglotBuild :: IO ()+atsPolyglotBuild = defaultMainWithHooks cabalHooks++configureCabal :: IO LocalBuildInfo -> IO LocalBuildInfo+configureCabal = (<*>) $ do+    build mempty+    libDir <- (<> "/") <$> getCurrentDirectory+    pure (modifyConf libDir)++modifyBuildInfo :: String -> BuildInfo -> BuildInfo+modifyBuildInfo libDir bi = let olds = extraLibDirs bi+    in bi { extraLibDirs = (libDir <>) <$> olds }++modifyConf :: String -> LocalBuildInfo -> LocalBuildInfo+modifyConf libDir bi = let old = localPkgDescr bi+    in bi { localPkgDescr = modifyPkgDescr libDir old }++modifyPkgDescr :: String -> PackageDescription -> PackageDescription+modifyPkgDescr libDir pd = let old = library pd+    in pd { library = fmap (modifyLibrary libDir) old }++modifyLibrary :: String -> Library -> Library+modifyLibrary libDir lib = let old = libBuildInfo lib+    in lib { libBuildInfo = modifyBuildInfo libDir old }++cabalHooks :: UserHooks+cabalHooks = let defConf = confHook simpleUserHooks+    in simpleUserHooks { confHook = configureCabal .* defConf }