diff options
| author | Joey Hess <joeyh@joeyh.name> | 2016-03-24 15:17:16 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2016-03-24 15:17:16 -0400 |
| commit | 7ee3157ab1922fd2f7158fd40927dca8a83ad4b0 (patch) | |
| tree | e4d3e187212469699b19c058f98a2ea0ff0fa9c1 | |
| parent | 51fa88feb1fd3621360c1db5b6b771a798a25a88 (diff) | |
docs and enable PolyKinds globally
| -rw-r--r-- | debian/changelog | 32 | ||||
| -rw-r--r-- | propellor.cabal | 6 |
2 files changed, 33 insertions, 5 deletions
diff --git a/debian/changelog b/debian/changelog index 2c2b2ea7..c9286fcf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,31 @@ +propellor (3.0.0) UNRELEASED; urgency=medium + + * Property types have been improved to indicate what systems they target. + Transition guide: + - Change "Property NoInfo" to "Property UnixLike" + - Change "Property HasInfo" to "Property (HasInfo + UnixLike)" + - Change "RevertableProperty NoInfo" to + "RevertableProperty UnixLike UnixLike" + - Change "RevertableProperty HasInfo" to + "RevertableProperty (HasInfo + UnixLike) UnixLike" + - GHC needs {-# LANGUAGE PolyKinds #-} to use these new type signatures. + This is enabled by default for all modules in propellor.cabal. But + if you are using propellor as a library, you may need to enable it + manually. + - If you know a property only works on a particular OS, like Debian + or FreeBSD, use that instead of "UnixLike". For example: + "Property (HasInfo + Debian)" + - It's also possible make a property support a set of OS's, for example: + "Property (HasInfo + Debian + FreeBSD)" + - The new `pickOS` property combinator can be used to combine different + properties, supporting different OS's, into one Property that chooses + what to do based on the Host's OS. + - `ensureProperty` now needs information about the metatypes of the + property it's used in to be passed to it. See the documentation + of `ensureProperty` for an example. + + -- Joey Hess <id@joeyh.name> Thu, 24 Mar 2016 15:02:33 -0400 + propellor (2.17.0) unstable; urgency=medium * Added initial support for FreeBSD. @@ -470,12 +498,12 @@ propellor (2.0.0) unstable; urgency=medium This was done to make sure that ensureProperty is only used on properties that do not have Info. Transition guide: - - Change all "Property" to "Property NoInfo" or "Property WithInfo" + - Change all "Property" to "Property NoInfo" or "Property HasInfo" (The compiler can tell you if you got it wrong!) - To construct a RevertableProperty, it is useful to use the new (<!>) operator - Constructing a list of properties can be problimatic, since - Property NoInto and Property WithInfo are different types and cannot + Property NoInto and Property HasInfo are different types and cannot appear in the same list. To deal with this, "props" has been added, and can built up a list of properties of different types, using the same (&) and (!) operators that are used to build diff --git a/propellor.cabal b/propellor.cabal index a631f262..1179ca23 100644 --- a/propellor.cabal +++ b/propellor.cabal @@ -36,7 +36,7 @@ Description: Executable propellor Main-Is: wrapper.hs - GHC-Options: -threaded -Wall -fno-warn-tabs + GHC-Options: -threaded -Wall -fno-warn-tabs -XPolyKinds Hs-Source-Dirs: src Build-Depends: -- propellor needs to support the ghc shipped in Debian stable @@ -47,7 +47,7 @@ Executable propellor Executable propellor-config Main-Is: config.hs - GHC-Options: -threaded -Wall -fno-warn-tabs + GHC-Options: -threaded -Wall -fno-warn-tabs -XPolyKinds Hs-Source-Dirs: src Build-Depends: MissingH, directory, filepath, base >= 4.5, base < 5, IfElse, process, bytestring, hslogger, unix-compat, ansi-terminal, @@ -55,7 +55,7 @@ Executable propellor-config exceptions (>= 0.6), stm, text, unix Library - GHC-Options: -Wall -fno-warn-tabs + GHC-Options: -Wall -fno-warn-tabs -XPolyKinds Hs-Source-Dirs: src Build-Depends: MissingH, directory, filepath, base >= 4.5, base < 5, IfElse, process, bytestring, hslogger, unix-compat, ansi-terminal, |
