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 +2/−1
- src/Language/ATS/Package.hs +2/−0
- src/Language/ATS/Package/Build.hs +0/−18
- src/Language/ATS/Package/Build/Cabal.hs +39/−0
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 }