shake-ats 0.2.0.0 → 0.2.0.1
raw patch · 2 files changed
+8/−9 lines, 2 filesPVP: minor bump suggested
API additions: PVP suggests at least a minor version bump
API changes (from Hackage documentation)
+ Development.Shake.ATS: instance GHC.Classes.Eq Development.Shake.ATS.Version
Files
- shake-ats.cabal +1/−1
- src/Development/Shake/ATS.hs +7/−8
shake-ats.cabal view
@@ -1,5 +1,5 @@ name: shake-ats-version: 0.2.0.0+version: 0.2.0.1 synopsis: Utilities for building ATS projects with shake description: Various helper functions for building [ATS](http://www.ats-lang.org/) with the [shake](http://shakebuild.com/) library homepage: https://github.com/vmchale/shake-ats#readme
src/Development/Shake/ATS.hs view
@@ -29,16 +29,17 @@ import System.Exit (ExitCode (ExitSuccess)) newtype Version = Version [Integer]+ deriving (Eq) instance Show Version where- show (Version []) = ""- show (Version [x]) = show x- show (Version (x:xs)) = show x ++ "." ++ show (Version xs)+ show (Version is) = intercalate "." (show <$> is) +-- | The directory @~/.atspkg@ pkgHome :: Action String pkgHome = fromMaybe "/usr/local/" <$> mh where mh = fmap (++ "/.atspkg/") <$> getEnv "HOME" +-- | The directory that will be @PATSHOME@. patsHome :: Version -> Action String patsHome v = fmap (++ (show v ++ "/")) pkgHome @@ -64,12 +65,10 @@ liftIO $ createDirectoryIfMissing True (home ++ "/" ++ takeDirectory dep) liftIO $ copyFile dep (home ++ "/" ++ dep) - patsHomeLocs :: Int -> String patsHomeLocs n = intercalate ":" $ (<> ".atspkg/contrib") . ("./" <>) <$> g where g = [ join $ replicate i "../" | i <- [1..n] ] --- TODO musl? atsBin :: String -- ^ C compiler we should use -> [String] -- ^ Flags to pass to the C compiler -> Version -- ^ Library version@@ -123,12 +122,12 @@ -- @ats-src@ directory. cgen :: Version -- ^ Library version -> Version -- ^ Compiler version- -> FilePath -- ^ Directory for the generated C code+ -> FilePath -- ^ Directory containing ATS source code -> Rules () cgen v v' dir = "//*.c" %> \out -> do- let sourceFile = dir ++ "/" ++ (dropDirectory1 out -<.> "dats")+ let sourceFile = dir ++ "/" ++ (takeBaseName out -<.> "dats") handleSource v v' sourceFile atsCommand v v' sourceFile out @@ -161,7 +160,7 @@ "//*.c" %> \out -> do - let sourceFile = dir ++ "/" ++ (dropDirectory1 out -<.> "dats")+ let sourceFile = dir ++ "/" ++ (takeBaseName out -<.> "dats") handleSource v v' sourceFile (Exit c, Stderr err) :: (Exit, Stderr String) <- atsCommand v v' sourceFile out cmd_ [Stdin err] Shell "pats-filter"