{-# LANGUAGE OverloadedStrings #-}
module Distribution.Nixpkgs.Haskell.FromCabal.Flags ( configureCabalFlags ) where
import Distribution.Nixpkgs.Haskell.OrphanInstances ( )
import Data.Char
import Distribution.Package
import Distribution.PackageDescription
import Distribution.Version
configureCabalFlags :: PackageIdentifier -> FlagAssignment
configureCabalFlags :: PackageIdentifier -> FlagAssignment
configureCabalFlags = [(FlagName, Bool)] -> FlagAssignment
mkFlagAssignment forall b c a. (b -> c) -> (a -> b) -> a -> c
. PackageIdentifier -> [(FlagName, Bool)]
configureCabalFlags'
configureCabalFlags' :: PackageIdentifier -> [(FlagName,Bool)]
configureCabalFlags' :: PackageIdentifier -> [(FlagName, Bool)]
configureCabalFlags' (PackageIdentifier PackageName
name Version
version)
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"accelerate-examples"= [String -> (FlagName, Bool)
disable String
"opencl"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"arithmoi" = [String -> (FlagName, Bool)
disable String
"llvm"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"bustle" = [String -> (FlagName, Bool)
disable String
"hgettext"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"cabal-plan" = [String -> (FlagName, Bool)
enable String
"exe"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"cassava" = [String -> (FlagName, Bool)
disable String
"bytestring--lt-0_10_4"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"cryptohash-sha256" = [String -> (FlagName, Bool)
enable String
"use-cbits"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"darcs" = [String -> (FlagName, Bool)
enable String
"library", String -> (FlagName, Bool)
enable String
"force-char8-encoding"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"diagrams-builder" = [String -> (FlagName, Bool)
enable String
"cairo", String -> (FlagName, Bool)
enable String
"svg", String -> (FlagName, Bool)
enable String
"ps", String -> (FlagName, Bool)
enable String
"rasterific"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"fltkhs" = [String -> (FlagName, Bool)
enable String
"opengl"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"folds" = [String -> (FlagName, Bool)
disable String
"test-hlint"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"git-annex" = [ String -> (FlagName, Bool)
enable String
"assistant"
, String -> (FlagName, Bool)
disable String
"benchmark"
, String -> (FlagName, Bool)
enable String
"dbus"
, String -> (FlagName, Bool)
disable String
"debuglocks"
, String -> (FlagName, Bool)
enable String
"magicmime"
, String -> (FlagName, Bool)
enable String
"networkbsd"
, String -> (FlagName, Bool)
enable String
"pairing"
, String -> (FlagName, Bool)
enable String
"production"
, String -> (FlagName, Bool)
enable String
"s3"
, String -> (FlagName, Bool)
enable String
"torrentparser"
, String -> (FlagName, Bool)
enable String
"webapp"
, String -> (FlagName, Bool)
enable String
"webdav"
]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"haskeline" = [String -> (FlagName, Bool)
enable String
"terminfo"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"haste-compiler" = [String -> (FlagName, Bool)
enable String
"portable"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"highlighting-kate" = [String -> (FlagName, Bool)
enable String
"pcre-light"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"hlibsass" Bool -> Bool -> Bool
&& Version
version forall a. Ord a => a -> a -> Bool
>= [Int] -> Version
mkVersion [Int
0,Int
1,Int
5]
= [String -> (FlagName, Bool)
enable String
"externalLibsass"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"hmatrix" = [String -> (FlagName, Bool)
enable String
"openblas", String -> (FlagName, Bool)
enable String
"disable-default-paths"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"hslua" Bool -> Bool -> Bool
&& Version
version forall a. Ord a => a -> a -> Bool
< [Int] -> Version
mkVersion [Int
2,Int
0,Int
0]
= [String -> (FlagName, Bool)
enable String
"system-lua", String -> (FlagName, Bool)
disable String
"use-pkgconfig"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"idris" = [String -> (FlagName, Bool)
enable String
"gmp", String -> (FlagName, Bool)
enable String
"ffi", String -> (FlagName, Bool)
enable String
"curses", (FlagName
"execonly", Version
version Version -> VersionRange -> Bool
`withinRange` Version -> VersionRange
orLaterVersion ([Int] -> Version
mkVersion [Int
1,Int
1,Int
1])) ]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"io-streams" = [String -> (FlagName, Bool)
enable String
"NoInteractiveTests"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"liquid-fixpoint" = [String -> (FlagName, Bool)
enable String
"build-external"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"lua" Bool -> Bool -> Bool
&& Version
version forall a. Ord a => a -> a -> Bool
>= [Int] -> Version
mkVersion [Int
2,Int
0,Int
0]
= [String -> (FlagName, Bool)
enable String
"system-lua", String -> (FlagName, Bool)
disable String
"use-pkgconfig"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"pandoc" = [String -> (FlagName, Bool)
disable String
"trypandoc"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"pandoc-placetable" = [String -> (FlagName, Bool)
enable String
"inlineMarkdown"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"persistent-sqlite" = [String -> (FlagName, Bool)
enable String
"systemlib"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"reactive-banana-wx" = [String -> (FlagName, Bool)
disable String
"buildExamples"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"skylighting" = [String -> (FlagName, Bool)
enable String
"executable"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"snap-server" = [String -> (FlagName, Bool)
enable String
"openssl"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"stack" = [String -> (FlagName, Bool)
enable String
"disable-git-info", String -> (FlagName, Bool)
enable String
"hide-dependency-versions", String -> (FlagName, Bool)
enable String
"supported-build"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"xmobar" = [String -> (FlagName, Bool)
enable String
"with_alsa", String -> (FlagName, Bool)
enable String
"with_conduit", String -> (FlagName, Bool)
enable String
"with_datezone", String -> (FlagName, Bool)
enable String
"with_dbus", String -> (FlagName, Bool)
enable String
"with_inotify", String -> (FlagName, Bool)
enable String
"with_iwlib", String -> (FlagName, Bool)
enable String
"with_mpd", String -> (FlagName, Bool)
enable String
"with_mpris", String -> (FlagName, Bool)
enable String
"with_rtsopts", String -> (FlagName, Bool)
enable String
"with_threaded", String -> (FlagName, Bool)
enable String
"with_utf8", String -> (FlagName, Bool)
enable String
"with_uvmeter", String -> (FlagName, Bool)
enable String
"with_weather", String -> (FlagName, Bool)
enable String
"with_xft", String -> (FlagName, Bool)
enable String
"with_xpm"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"xmonad-extras" = [String -> (FlagName, Bool)
disable String
"with_hlist", String -> (FlagName, Bool)
enable String
"with_split", String -> (FlagName, Bool)
enable String
"with_parsec"]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"yaml" = [(FlagName
"system-libyaml", Version
version forall a. Ord a => a -> a -> Bool
>= Version
"0.10.1.1")]
| PackageName
name forall a. Eq a => a -> a -> Bool
== PackageName
"yi" = [String -> (FlagName, Bool)
enable String
"pango", String -> (FlagName, Bool)
enable String
"vty"]
| Bool
otherwise = []
enable :: String -> (FlagName,Bool)
enable :: String -> (FlagName, Bool)
enable String
name = (String -> FlagName
mkFlagName' String
name, Bool
True)
disable :: String -> (FlagName,Bool)
disable :: String -> (FlagName, Bool)
disable String
name = (String -> FlagName
mkFlagName' String
name, Bool
False)
mkFlagName' :: String -> FlagName
mkFlagName' :: String -> FlagName
mkFlagName' = String -> FlagName
mkFlagName forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (a -> b) -> [a] -> [b]
map Char -> Char
toLower