git.iko.soy/typeable/cabal2nix
on master help sign in
normalize: make sure that meta.platforms and meta.hydraPlatforms don't contain unknown entries

Also, meta.hydraPlatforms must not contain entries not found in meta.platforms.

commitfc29b8f75227ef6a29941b77b04fe93f9b72b12b authorPeter Simons <simons@cryp.to> dateTue 1 Sep 2015, 16:37 (11 years ago) parent9cb4702
1 file changed+6−2
distribution-nixpkgs/src/Distribution/Nixpkgs/Haskell/FromCabal/Normalize.hs+6−2
distribution-nixpkgs/src/Distribution/Nixpkgs/Haskell/FromCabal/Normalize.hs+6−2
@@ -1,16 +1,17 @@
11module Distribution.Nixpkgs.Haskell.FromCabal.Normalize ( normalize, normalizeCabalFlags ) where
22
3+import Control.Lens
34import Data.Function
45import Data.List
56import qualified Data.Set as Set
67import Data.String
78import Distribution.Nixpkgs.Haskell
9+import Distribution.Nixpkgs.Haskell.FromCabal.Configuration ( allPlatforms )
810import Distribution.Nixpkgs.Meta
911import Distribution.Package
1012import Distribution.PackageDescription ( FlagAssignment, FlagName(..) )
1113import Distribution.Simple.Utils ( lowercase )
1214import Language.Nix hiding ( quote )
13−import Control.Lens
1415
1516normalize :: Derivation -> Derivation
1617normalize drv = drv
@@ -36,7 +37,10 @@ normalizeBuildInfo (PackageName pname) bi = bi
3637-}
3738
3839normalizeMeta :: Meta -> Meta
39−normalizeMeta = over description normalizeSynopsis
40+normalizeMeta meta = meta
41+ & description %~ normalizeSynopsis
42+ & platforms %~ Set.intersection allPlatforms
43+ & hydraPlatforms %~ Set.intersection (meta^.platforms)
4044
4145normalizeSynopsis :: String -> String
4246normalizeSynopsis desc