cartel 0.2.0.0 → 0.4.0.0
raw patch · 8 files changed
+97/−24 lines, 8 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Cartel.Ast: CPPOptions :: [String] -> BuildInfoField
+ Cartel.Ast: instance Functor CondBlock
+ Cartel.Defaults: repository :: Vcs -> Maybe String -> String -> Repository
- Cartel.Ast: Head :: (Maybe String) -> RepoKind
+ Cartel.Ast: Head :: RepoKind
- Cartel.Ast: This :: String -> RepoKind
+ Cartel.Ast: This :: RepoKind
Files
- cartel.cabal +2/−2
- current-versions.txt +3/−3
- genCabal.hs +2/−2
- lib/Cartel/Ast.hs +54/−6
- lib/Cartel/Defaults.hs +21/−2
- lib/Cartel/Render.hs +5/−6
- lib/Cartel/Tools.hs +7/−0
- minimum-versions.txt +3/−3
cartel.cabal view
@@ -3,10 +3,10 @@ -- http://www.github.com/massysett/cartel -- -- Script name used to generate: genCabal.hs--- Generated on: 2014-05-27 21:31:49.996187 EDT+-- Generated on: 2014-05-28 19:56:02.905259 EDT -- Cartel library version: 0.1.0.0 name: cartel-version: 0.2.0.0+version: 0.4.0.0 cabal-version: >= 1.14 build-type: Simple license: BSD3
current-versions.txt view
@@ -1,7 +1,7 @@ This package was tested to work with these dependency versions and compiler version. These are the default versions fetched by cabal install.-Tested as of: 2014-05-28 01:31:54.008981 UTC+Tested as of: 2014-05-28 23:55:01.837807 UTC Path to compiler: ghc-7.8.2 Compiler description: 7.8.2 @@ -33,6 +33,6 @@ transformers-0.3.0.0 unix-2.7.0.1 -/home/massysett/cartel/sunlight-28486/db:- cartel-0.2.0.0+/home/massysett/cartel/sunlight-24643/db:+ cartel-0.4.0.0
genCabal.hs view
@@ -3,7 +3,7 @@ -- -- You should note in your comments which version of Cartel was used -- when writing the Cartel program; in this case, I used version--- 0.1.0.0.+-- 0.4.0.0. -- -- There's no huge benefit to using Cartel for small programs or -- libraries; indeed, Cartel itself is small so there's not much@@ -49,7 +49,7 @@ properties :: A.Properties properties = A.properties { A.prName = "cartel"- , A.prVersion = A.Version [0,2,0,0]+ , A.prVersion = A.Version [0,4,0,0] , A.prCabalVersion = (1, 14) , A.prBuildType = A.Simple , A.prLicense = A.BSD3
lib/Cartel/Ast.hs view
@@ -358,6 +358,10 @@ | CCOptions [String] -- ^ C Compiler options. + | CPPOptions [String]+ -- ^ C Preprocessor options. Undocumented, see+ -- <https://github.com/haskell/cabal/issues/646>+ | LDOptions [String] -- ^ Linker options. @@ -411,14 +415,17 @@ , ifElse :: [a] } deriving (Eq, Ord, Show) +instance Functor CondBlock where+ fmap f (CondBlock t ts es) = CondBlock t (map f ts) (map f es)+ -- | What kind of VCS repository is this? data RepoKind- = Head (Maybe String)- -- ^ The Maybe String is the repository tag. It is optional; use- -- Nothing if there is no tag.- | This String- -- ^ The String is the repository tag. It is required for the- -- @this@ repo kind.++ = Head+ -- ^ The latest development branch of the repository++ | This+ -- ^ The sources for this release of this package. deriving (Eq, Ord, Show) data Vcs@@ -435,19 +442,60 @@ data Repository = Repository { repoVcs :: Vcs+ -- ^ Specifies the version control system in use.+ , repoKind :: RepoKind+ -- ^ Whether this is a @head@, which refers to the latest+ -- development branch of the package, or a @this@, which contains+ -- the sources for this release of the package.+ , repoLocation :: String+ -- ^ A URL giving the location of the repository. Will vary by+ -- repository type; for git, you may use a @git://@ URL, for+ -- example. This field is required.+ , repoBranch :: String+ -- ^ For example, CVS, SVN, and git can have multiple branches in+ -- a single repository; darcs cannot. If you need to specify a+ -- branch, do it here. This field is optional.+ , repoTag :: String+ -- ^ A repository tag. It is required for the @this@ repo kind.+ -- It is optional for the @head@ repo kind. The tag will often be+ -- a version number of some kind and should point the user to the+ -- sources in the repo that correspond to a particular package+ -- version.+ , repoSubdir :: String+ -- ^ Some projects put the sources for multiple packages under a+ -- single source repository. This field lets you specify the+ -- relative path from the root of the repository to the top+ -- directory for the package, ie the directory containing the+ -- package’s .cabal file.+ --+ -- This field is optional. It defaults to empty which corresponds+ -- to the root directory of the repository.+ } deriving (Eq, Ord, Show) -- | A single flag. data Flag = Flag { flName :: String+ -- ^ The name of the flag; other parts of the Cabal file refer to+ -- the flag using this name.+ , flDescription :: String+ -- ^ A description of the flag (typically one line long.)+ , flDefault :: Bool+ -- ^ Default value of this flag.+ , flManual :: Bool+ -- ^ If True, then Cabal will not change this flag's value as it+ -- tries to build the package. If False, then Cabal will first+ -- try to satisfy dependencies with the default flag value and+ -- then, if that is not possible, with the negated value.+ } deriving (Eq, Ord, Show) data Cabal = Cabal
lib/Cartel/Defaults.hs view
@@ -11,10 +11,10 @@ properties = A.Properties { A.prName = "" , A.prVersion = A.Version []- , A.prCabalVersion = (1, 20)+ , A.prCabalVersion = (1, 14) , A.prBuildType = A.Simple , A.prLicense = A.BSD3- , A.prLicenseFile = "LICENSE"+ , A.prLicenseFile = "" , A.prLicenseFiles = [] , A.prCopyright = "" , A.prAuthor = ""@@ -43,5 +43,24 @@ , A.cExecutables = [] , A.cTestSuites = [] , A.cBenchmarks = []+ }++repository+ :: A.Vcs+ -- ^ Type of VCS in use+ -> Maybe String+ -- ^ To use the @this@ repo kind, use Just String, where the+ -- String is the tag corresponding to the current branch. To use+ -- the @head@ repository kind, use Nothing.+ -> String+ -- ^ Repo location+ -> A.Repository+repository v ms l = A.Repository+ { A.repoVcs = v+ , A.repoKind = maybe A.Head (const A.This) ms+ , A.repoLocation = l+ , A.repoBranch = ""+ , A.repoTag = maybe "" id ms+ , A.repoSubdir = "" }
lib/Cartel/Render.hs view
@@ -252,6 +252,8 @@ labeledList i "extra-lib-dirs" ps A.CCOptions ps -> labeledList i "cc-options" ps+ A.CPPOptions ps ->+ labeledList i "cpp-options" ps A.LDOptions ps -> labeledList i "ld-options" ps A.PkgConfigDepends ps ->@@ -303,8 +305,8 @@ repoKind :: A.RepoKind -> String repoKind a = case a of- A.Head _ -> "head"- A.This _ -> "this"+ A.Head -> "head"+ A.This -> "this" repository :: A.Repository -> String repository r =@@ -313,15 +315,12 @@ ++ lbl "location" (A.repoLocation r) ++ lbl "module" mdle ++ lbl "branch" (A.repoBranch r)- ++ lbl "tag" tag+ ++ lbl "tag" (A.repoTag r) ++ lbl "subdir" (A.repoSubdir r) where mdle = case A.repoVcs r of A.Cvs s -> s _ -> ""- tag = case A.repoKind r of- A.Head m -> maybe "" id m- A.This s -> s lbl = labeled 1 cabal :: A.Cabal -> String
lib/Cartel/Tools.hs view
@@ -143,12 +143,19 @@ -- preprocessed into Haskell files. Includes: -- -- * hs (Haskell)+-- -- * lhs (literate Haskell)+-- -- * gc (greencard)+-- -- * chs (c2hs)+-- -- * hsc (hsc2hs)+-- -- * y and ly (happy)+-- -- * x (alex)+-- -- * cpphs fileExtensions :: [String]
minimum-versions.txt view
@@ -1,7 +1,7 @@ This package was tested to work with these dependency versions and compiler version. These are the minimum versions given in the .cabal file.-Tested as of: 2014-05-28 01:31:54.008981 UTC+Tested as of: 2014-05-28 23:55:01.837807 UTC Path to compiler: ghc-7.4.1 Compiler description: 7.4.1 @@ -33,6 +33,6 @@ time-1.4 unix-2.5.1.0 -/home/massysett/cartel/sunlight-28486/db:- cartel-0.2.0.0+/home/massysett/cartel/sunlight-24643/db:+ cartel-0.4.0.0