{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Distribution.Nixpkgs.Haskell.FromCabal.PostProcess ( postProcess, pkg ) where
import Control.Lens
import Control.Monad.Trans.State
import Data.List.Split
import Data.Map ( Map )
import qualified Data.Map as Map
import Data.Map.Lens
import Data.Set ( Set )
import qualified Data.Set as Set
import Distribution.Nixpkgs.Haskell
import Distribution.Nixpkgs.Meta
import Distribution.Nixpkgs.License
import Distribution.Package
import Distribution.Types.PackageVersionConstraint
import Distribution.Text
import Distribution.Version
import Language.Nix
postProcess :: Derivation -> Derivation
postProcess :: Derivation -> Derivation
postProcess Derivation
deriv =
((Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation)
-> (Derivation -> Derivation)
-> [Derivation -> Derivation]
-> Derivation
-> Derivation
forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) Derivation -> Derivation
forall a. a -> a
id [ Derivation -> Derivation
f | (PackageVersionConstraint PackageName
n VersionRange
vr, Derivation -> Derivation
f) <- [(PackageVersionConstraint, Derivation -> Derivation)]
hooks, Derivation -> PackageName
forall pkg. Package pkg => pkg -> PackageName
packageName Derivation
deriv PackageName -> PackageName -> Bool
forall a. Eq a => a -> a -> Bool
== PackageName
n, Derivation -> Version
forall pkg. Package pkg => pkg -> Version
packageVersion Derivation
deriv Version -> VersionRange -> Bool
`withinRange` VersionRange
vr ]
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Derivation -> Derivation
fixGtkBuilds
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Derivation -> Derivation
fixBuildDependsForTools
(Derivation -> Derivation) -> Derivation -> Derivation
forall a b. (a -> b) -> a -> b
$ Derivation
deriv
fixGtkBuilds :: Derivation -> Derivation
fixGtkBuilds :: Derivation -> Derivation
fixGtkBuilds Derivation
drv = Derivation
drv Derivation -> (Derivation -> Derivation) -> Derivation
forall a b. a -> (a -> b) -> b
& (BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Traversal' Derivation BuildInfo
dependencies ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ (Binding -> Bool) -> Set Binding -> Set Binding
forall a. (a -> Bool) -> Set a -> Set a
Set.filter (Bool -> Bool
not (Bool -> Bool) -> (Binding -> Bool) -> Binding -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Binding -> Bool
collidesWithHaskellName)
Derivation -> (Derivation -> Derivation) -> Derivation
forall a b. a -> (a -> b) -> b
& (BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Traversal' Derivation BuildInfo
dependencies ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ (Binding -> Bool) -> Set Binding -> Set Binding
forall a. (a -> Bool) -> Set a -> Set a
Set.filter (Bool -> Bool
not (Bool -> Bool) -> (Binding -> Bool) -> Binding -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Binding -> Bool
collidesWithHaskellName)
Derivation -> (Derivation -> Derivation) -> Derivation
forall a b. a -> (a -> b) -> b
& (BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Traversal' Derivation BuildInfo
dependencies ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ (Binding -> Bool) -> Set Binding -> Set Binding
forall a. (a -> Bool) -> Set a -> Set a
Set.filter (Bool -> Bool
not (Bool -> Bool) -> (Binding -> Bool) -> Binding -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Binding -> Bool
collidesWithHaskellName)
where
collidesWithHaskellName :: Binding -> Bool
collidesWithHaskellName :: Binding -> Bool
collidesWithHaskellName Binding
b = case Map Identifier Path
buildDeps Map Identifier Path -> Identifier -> Maybe Path
forall k a. Ord k => Map k a -> k -> Maybe a
Map.!? Getting Identifier Binding Identifier -> Binding -> Identifier
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting Identifier Binding Identifier
Lens' Binding Identifier
localName Binding
b of
Maybe Path
Nothing -> Bool
False
Just Path
p -> Path
p Path -> Path -> Bool
forall a. Eq a => a -> a -> Bool
/= Getting Path Binding Path -> Binding -> Path
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting Path Binding Path
Lens' Binding Path
reference Binding
b
myName :: Identifier
myName :: Identifier
myName = Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# PackageName -> String
unPackageName (Derivation -> PackageName
forall pkg. Package pkg => pkg -> PackageName
packageName Derivation
drv)
buildDeps :: Map Identifier Path
buildDeps :: Map Identifier Path
buildDeps = Identifier -> Map Identifier Path -> Map Identifier Path
forall k a. Ord k => k -> Map k a -> Map k a
Map.delete Identifier
myName (IndexedGetting Identifier (Map Identifier Path) Derivation Path
-> Derivation -> Map Identifier Path
forall i a s. IndexedGetting i (Map i a) s a -> s -> Map i a
toMapOf ((BuildInfo -> Const (Map Identifier Path) BuildInfo)
-> Derivation -> Const (Map Identifier Path) Derivation
Traversal' Derivation BuildInfo
dependencies ((BuildInfo -> Const (Map Identifier Path) BuildInfo)
-> Derivation -> Const (Map Identifier Path) Derivation)
-> (Indexed Identifier Path (Const (Map Identifier Path) Path)
-> BuildInfo -> Const (Map Identifier Path) BuildInfo)
-> IndexedGetting Identifier (Map Identifier Path) Derivation Path
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Const (Map Identifier Path) (Set Binding))
-> BuildInfo -> Const (Map Identifier Path) BuildInfo
Lens' BuildInfo (Set Binding)
haskell ((Set Binding -> Const (Map Identifier Path) (Set Binding))
-> BuildInfo -> Const (Map Identifier Path) BuildInfo)
-> (Indexed Identifier Path (Const (Map Identifier Path) Path)
-> Set Binding -> Const (Map Identifier Path) (Set Binding))
-> Indexed Identifier Path (Const (Map Identifier Path) Path)
-> BuildInfo
-> Const (Map Identifier Path) BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> [Binding])
-> Optic'
(->) (Const (Map Identifier Path)) (Set Binding) [Binding]
forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
to Set Binding -> [Binding]
forall a. Set a -> [a]
Set.toList Optic' (->) (Const (Map Identifier Path)) (Set Binding) [Binding]
-> (Indexed Identifier Path (Const (Map Identifier Path) Path)
-> [Binding] -> Const (Map Identifier Path) [Binding])
-> Indexed Identifier Path (Const (Map Identifier Path) Path)
-> Set Binding
-> Const (Map Identifier Path) (Set Binding)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Binding -> Const (Map Identifier Path) Binding)
-> [Binding] -> Const (Map Identifier Path) [Binding]
forall (t :: * -> *) (f :: * -> *) a b.
(Traversable t, Applicative f) =>
(a -> f b) -> t a -> f (t b)
traverse ((Binding -> Const (Map Identifier Path) Binding)
-> [Binding] -> Const (Map Identifier Path) [Binding])
-> (Indexed Identifier Path (Const (Map Identifier Path) Path)
-> Binding -> Const (Map Identifier Path) Binding)
-> Indexed Identifier Path (Const (Map Identifier Path) Path)
-> [Binding]
-> Const (Map Identifier Path) [Binding]
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Identifier, Path)
-> Const (Map Identifier Path) (Identifier, Path))
-> Binding -> Const (Map Identifier Path) Binding
Iso' Binding (Identifier, Path)
binding (((Identifier, Path)
-> Const (Map Identifier Path) (Identifier, Path))
-> Binding -> Const (Map Identifier Path) Binding)
-> (Indexed Identifier Path (Const (Map Identifier Path) Path)
-> (Identifier, Path)
-> Const (Map Identifier Path) (Identifier, Path))
-> Indexed Identifier Path (Const (Map Identifier Path) Path)
-> Binding
-> Const (Map Identifier Path) Binding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Indexed Identifier Path (Const (Map Identifier Path) Path)
-> (Identifier, Path)
-> Const (Map Identifier Path) (Identifier, Path)
forall i (f :: * -> *) a.
FoldableWithIndex i f =>
IndexedFold i (f a) a
ifolded) Derivation
drv)
fixBuildDependsForTools :: Derivation -> Derivation
fixBuildDependsForTools :: Derivation -> Derivation
fixBuildDependsForTools = ((Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation)
-> (Derivation -> Derivation)
-> [Derivation -> Derivation]
-> Derivation
-> Derivation
forall (t :: * -> *) a b.
Foldable t =>
(a -> b -> b) -> b -> t a -> b
foldr (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
(.) Derivation -> Derivation
forall a. a -> a
id
[ (((), Derivation) -> Derivation)
-> (Derivation -> ((), Derivation)) -> Derivation -> Derivation
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ((), Derivation) -> Derivation
forall a b. (a, b) -> b
snd ((Derivation -> ((), Derivation)) -> Derivation -> Derivation)
-> (Derivation -> ((), Derivation)) -> Derivation -> Derivation
forall a b. (a -> b) -> a -> b
$ State Derivation () -> Derivation -> ((), Derivation)
forall s a. State s a -> s -> (a, s)
runState (State Derivation () -> Derivation -> ((), Derivation))
-> State Derivation () -> Derivation -> ((), Derivation)
forall a b. (a -> b) -> a -> b
$ do
Bool
needs <- Getting Bool Derivation Bool -> StateT Derivation Identity Bool
forall s (m :: * -> *) a. MonadState s m => Getting a s a -> m a
use (Getting Bool Derivation Bool -> StateT Derivation Identity Bool)
-> Getting Bool Derivation Bool -> StateT Derivation Identity Bool
forall a b. (a -> b) -> a -> b
$ ALens Derivation Derivation BuildInfo BuildInfo
-> Lens Derivation Derivation BuildInfo BuildInfo
forall s t a b. ALens s t a b -> Lens s t a b
cloneLens ALens Derivation Derivation BuildInfo BuildInfo
c ((BuildInfo -> Const Bool BuildInfo)
-> Derivation -> Const Bool Derivation)
-> ((Bool -> Const Bool Bool) -> BuildInfo -> Const Bool BuildInfo)
-> Getting Bool Derivation Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Const Bool (Set Binding))
-> BuildInfo -> Const Bool BuildInfo
Lens' BuildInfo (Set Binding)
haskell ((Set Binding -> Const Bool (Set Binding))
-> BuildInfo -> Const Bool BuildInfo)
-> ((Bool -> Const Bool Bool)
-> Set Binding -> Const Bool (Set Binding))
-> (Bool -> Const Bool Bool)
-> BuildInfo
-> Const Bool BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains Binding
Index (Set Binding)
p
ALens Derivation Derivation BuildInfo BuildInfo
-> Lens Derivation Derivation BuildInfo BuildInfo
forall s t a b. ALens s t a b -> Lens s t a b
cloneLens ALens Derivation Derivation BuildInfo BuildInfo
c ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains Binding
Index (Set Binding)
p ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> State Derivation ()
forall s (m :: * -> *).
MonadState s m =>
ASetter' s Bool -> Bool -> m ()
||= Bool
needs
| (ALens Derivation Derivation BuildInfo BuildInfo
c :: ALens' Derivation BuildInfo) <- [ ALens Derivation Derivation BuildInfo BuildInfo
Lens Derivation Derivation BuildInfo BuildInfo
testDepends, ALens Derivation Derivation BuildInfo BuildInfo
Lens Derivation Derivation BuildInfo BuildInfo
benchmarkDepends ]
, Binding
p <- Identifier -> Binding
self (Identifier -> Binding) -> [Identifier] -> [Binding]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [ Identifier
"hspec-discover"
, Identifier
"tasty-discover"
, Identifier
"hsx2hs"
, Identifier
"markdown-unlit"
]
]
hooks :: [(PackageVersionConstraint, Derivation -> Derivation)]
hooks :: [(PackageVersionConstraint, Derivation -> Derivation)]
hooks =
[ (PackageVersionConstraint
"Agda < 2.5", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
executableDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"emacs")) Bool
True (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
agdaPostInstall)
, (PackageVersionConstraint
"Agda >= 2.5 && < 2.6", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
executableDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"emacs")) Bool
True (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
agda25PostInstall)
, (PackageVersionConstraint
"Agda >= 2.6", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
executableDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"emacs")) Bool
True)
, (PackageVersionConstraint
"alex < 3.1.5", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"perl")) Bool
True)
, (PackageVersionConstraint
"alex", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
executableDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
self Identifier
"happy")) Bool
True)
, (PackageVersionConstraint
"alsa-core", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"linux"))))
, (PackageVersionConstraint
"bindings-GLFW", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList [String -> Binding
bind String
"pkgs.xorg.libXext", String -> Binding
bind String
"pkgs.xorg.libXfixes"])))
, (PackageVersionConstraint
"bindings-lxc", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"linux"))))
, (PackageVersionConstraint
"bustle", Derivation -> Derivation
bustleOverrides)
, (PackageVersionConstraint
"Cabal", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"Cabal >2.2", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
setupDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
haskell) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList [Identifier -> Binding
self Identifier
"mtl", Identifier -> Binding
self Identifier
"parsec"])))
, (PackageVersionConstraint
"cabal-helper", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"cabal-install", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
cabalInstallPostInstall)
, (PackageVersionConstraint
"cabal2nix > 2", Derivation -> Derivation
cabal2nixOverrides)
, (PackageVersionConstraint
"darcs", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
darcsInstallPostInstall (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"dbus", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"dhall", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"dns", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
testTarget String
"spec")
, (PackageVersionConstraint
"eventstore", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"x86_64"))))
, (PackageVersionConstraint
"freenect < 1.2.1", ASetter Derivation Derivation (Set String) (Set String)
-> (Set String -> Set String) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ASetter Derivation Derivation (Set String) (Set String)
Lens' Derivation (Set String)
configureFlags (Set String -> Set String -> Set String
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([String] -> Set String
forall a. Ord a => [a] -> Set a
Set.fromList [String
"--extra-include-dirs=${pkgs.freenect}/include/libfreenect", String
"--extra-lib-dirs=${pkgs.freenect}/lib"])))
, (PackageVersionConstraint
"fltkhs", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"fltk14")) Bool
True (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Identifier] -> Set Binding
pkgs [Identifier
"libGLU", Identifier
"libGL"])))
, (PackageVersionConstraint
"gf", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
gfPhaseOverrides (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"gi-cairo", Derivation -> Derivation
giCairoPhaseOverrides)
, (PackageVersionConstraint
"gi-gdk", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
runHaddock Bool
True )
, (PackageVersionConstraint
"gi-gio", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
runHaddock Bool
True )
, (PackageVersionConstraint
"gi-glib", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
runHaddock Bool
True )
, (PackageVersionConstraint
"gi-gst", String -> Derivation -> Derivation
giGstLibOverrides String
"gstreamer")
, (PackageVersionConstraint
"gi-gstaudio", String -> Derivation -> Derivation
giGstLibOverrides String
"gst-plugins-base")
, (PackageVersionConstraint
"gi-gstbase", String -> Derivation -> Derivation
giGstLibOverrides String
"gst-plugins-base")
, (PackageVersionConstraint
"gi-gstvideo", String -> Derivation -> Derivation
giGstLibOverrides String
"gst-plugins-base")
, (PackageVersionConstraint
"gi-gtk", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
runHaddock Bool
True )
, (PackageVersionConstraint
"gi-pango", Derivation -> Derivation
giCairoPhaseOverrides)
, (PackageVersionConstraint
"gi-pango", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
runHaddock Bool
True )
, (PackageVersionConstraint
"gi-pangocairo", Derivation -> Derivation
giCairoPhaseOverrides)
, (PackageVersionConstraint
"gi-vte", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
runHaddock Bool
True )
, (PackageVersionConstraint
"gio", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains Index (Set Binding)
"system-glib = pkgs.glib") Bool
True)
, (PackageVersionConstraint
"git", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"git-annex >= 6.20170925 && < 6.20171214", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"git-annex", Derivation -> Derivation
gitAnnexHook)
, (PackageVersionConstraint
"github-backup", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
executableDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"git")) Bool
True)
, (PackageVersionConstraint
"GLFW", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList [String -> Binding
bind String
"pkgs.xorg.libXext", String -> Binding
bind String
"pkgs.xorg.libXfixes"])))
, (PackageVersionConstraint
"GlomeVec", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (String -> Binding
bind String
"self.llvmPackages.llvm")) Bool
True)
, (PackageVersionConstraint
"graphviz", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"graphviz")) Bool
True)
, (PackageVersionConstraint
"gtk3", Derivation -> Derivation
gtk3Hook)
, (PackageVersionConstraint
"gtkglext", Derivation -> Derivation
gtkglextHook)
, (PackageVersionConstraint
"haddock", Derivation -> Derivation
haddockHook)
, (PackageVersionConstraint
"hakyll", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"util-linux")) Bool
True)
, (PackageVersionConstraint
"haskell-src-exts", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"hfsevents", Derivation -> Derivation
hfseventsOverrides)
, (PackageVersionConstraint
"HFuse", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
hfusePreConfigure)
, (PackageVersionConstraint
"hlibgit2 >= 0.18.0.14", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"git")) Bool
True)
, (PackageVersionConstraint
"hmatrix < 0.18.1.1", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
"preConfigure = \"sed -i hmatrix.cabal -e '/\\\\/usr\\\\//D'\";")
, (PackageVersionConstraint
"holy-project", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"hoogle", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
testTarget String
"--test-option=--no-net")
, (PackageVersionConstraint
"hsignal < 0.2.7.4", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
"prePatch = \"rm -v Setup.lhs\";")
, (PackageVersionConstraint
"hslua < 0.9.3", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Binding -> Binding -> Set Binding -> Set Binding
replace (Identifier -> Binding
pkg Identifier
"lua") (Identifier -> Binding
pkg Identifier
"lua5_1")))
, (PackageVersionConstraint
"hslua >= 0.9.3 && < 2.0.0", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Binding -> Binding -> Set Binding -> Set Binding
replace (Identifier -> Binding
pkg Identifier
"lua") (Identifier -> Binding
pkg Identifier
"lua5_3")))
, (PackageVersionConstraint
"hspec-core >= 2.4.4", Derivation -> Derivation
hspecCoreOverrides)
, (PackageVersionConstraint
"http-client", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"http-client-openssl >= 0.2.0.1", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"http-client-tls >= 0.2.2", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"http-conduit", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"imagemagick", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"imagemagick")) Bool
True)
, (PackageVersionConstraint
"include-file <= 0.1.0.2", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
haskell ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
self Identifier
"random")) Bool
True)
, (PackageVersionConstraint
"js-jquery", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"libconfig", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Binding -> Binding -> Set Binding -> Set Binding
replace Binding
"config = null" (Identifier -> Binding
pkg Identifier
"libconfig")))
, (PackageVersionConstraint
"libxml", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (ASetter Derivation Derivation (Set String) (Set String)
Lens' Derivation (Set String)
configureFlags ASetter Derivation Derivation (Set String) (Set String)
-> ((Bool -> Identity Bool) -> Set String -> Identity (Set String))
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set String) -> Lens' (Set String) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains Index (Set String)
"--extra-include-dir=${libxml2.dev}/include/libxml2") Bool
True)
, (PackageVersionConstraint
"liquid-fixpoint", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"z3")) Bool
True (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"nettools")) Bool
True (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"git")) Bool
True (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"liquidhaskell", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"z3")) Bool
True)
, (PackageVersionConstraint
"lua >= 2.0.0 && < 2.2.0", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Binding -> Binding -> Set Binding -> Set Binding
replace (Identifier -> Binding
pkg Identifier
"lua") (Identifier -> Binding
pkg Identifier
"lua5_3")))
, (PackageVersionConstraint
"lua >= 2.2.0", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Binding -> Binding -> Set Binding -> Set Binding
replace (Identifier -> Binding
pkg Identifier
"lua") (Identifier -> Binding
pkg Identifier
"lua5_4")))
, (PackageVersionConstraint
"lzma-clib", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"windows"))) (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
haskell ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
self Identifier
"only-buildable-on-windows")) Bool
False)
, (PackageVersionConstraint
"MFlow < 4.6", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
self Identifier
"cpphs")) Bool
True)
, (PackageVersionConstraint
"mwc-random", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"mysql", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"libmysqlclient")) Bool
True)
, (PackageVersionConstraint
"network-attoparsec", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"numeric-qq", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"opencv", Derivation -> Derivation
opencvOverrides)
, (PackageVersionConstraint
"pandoc >= 1.16.0.2 && < 2.5", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"pandoc < 2.6", Derivation -> Derivation
pandocPre26Overrides)
, (PackageVersionConstraint
"pandoc >= 2.6", Derivation -> Derivation
pandocOverrides)
, (PackageVersionConstraint
"pandoc-citeproc", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"purescript", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"proto-lens-protobuf-types", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"protobuf")) Bool
True)
, (PackageVersionConstraint
"proto-lens-protoc", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"protobuf")) Bool
True)
, (PackageVersionConstraint
"qtah-cpp-qt5", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (String -> Binding
bind String
"pkgs.qt5.qtbase")) Bool
True)
, (PackageVersionConstraint
"qtah-qt5", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (String -> Binding
bind String
"pkgs.qt5.qtbase")) Bool
True)
, (PackageVersionConstraint
"readline", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Identifier] -> Set Binding
pkgs [Identifier
"readline", Identifier
"ncurses"])))
, (PackageVersionConstraint
"req", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"sbv > 7", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"z3")) Bool
True)
, (PackageVersionConstraint
"sdr", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"x86_64"))))
, (PackageVersionConstraint
"shake-language-c", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"ssh", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"stack", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
stackOverrides (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"stripe-http-streams", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False (Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> Meta -> Identity Meta)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Bool -> Identity Bool) -> Meta -> Identity Meta
Lens' Meta Bool
broken) Bool
False)
, (PackageVersionConstraint
"target", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"z3")) Bool
True)
, (PackageVersionConstraint
"terminfo", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"ncurses")) Bool
True)
, (PackageVersionConstraint
"text", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"tensorflow-proto", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"protobuf")) Bool
True)
, (PackageVersionConstraint
"thyme", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
self Identifier
"cpphs")) Bool
True)
, (PackageVersionConstraint
"twilio", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"tz", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
"preConfigure = \"export TZDIR=${pkgs.tzdata}/share/zoneinfo\";")
, (PackageVersionConstraint
"udev", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"linux"))))
, (PackageVersionConstraint
"websockets", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False)
, (PackageVersionConstraint
"Win32", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"windows"))))
, (PackageVersionConstraint
"Win32-shortcut", ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"windows"))))
, (PackageVersionConstraint
"wxc", Derivation -> Derivation
wxcHook)
, (PackageVersionConstraint
"wxcore", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"wxGTK")) Bool
True)
, (PackageVersionConstraint
"X11", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList ([Binding] -> Set Binding) -> [Binding] -> Set Binding
forall a b. (a -> b) -> a -> b
$ (String -> Binding) -> [String] -> [Binding]
forall a b. (a -> b) -> [a] -> [b]
map String -> Binding
bind [String
"pkgs.xorg.libXinerama",String
"pkgs.xorg.libXext",String
"pkgs.xorg.libXrender",String
"pkgs.xorg.libXScrnSaver"])))
, (PackageVersionConstraint
"xmonad >= 0.14.2", ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
xmonadPostInstall)
, (PackageVersionConstraint
"zip-archive < 0.3.1", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool) (Binding -> Binding -> Set Binding -> Set Binding
replace (Identifier -> Binding
self Identifier
"zip") (Identifier -> Binding
pkg Identifier
"zip")))
, (PackageVersionConstraint
"zip-archive >= 0.3.1 && < 0.3.2.3", ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList [Identifier -> Binding
pkg Identifier
"zip", Identifier -> Binding
pkg Identifier
"unzip"])))
, (PackageVersionConstraint
"zip-archive >= 0.4", ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
testDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"which")) Bool
True)
]
pkg :: Identifier -> Binding
pkg :: Identifier -> Binding
pkg Identifier
i = Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding)
Iso' Binding (Identifier, Path)
binding (Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding))
-> (Identifier, Path) -> Binding
forall t b. AReview t b -> b -> t
# (Identifier
i, Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path)
Iso' Path [Identifier]
path (Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path))
-> [Identifier] -> Path
forall t b. AReview t b -> b -> t
# [Identifier
"pkgs",Identifier
i])
self :: Identifier -> Binding
self :: Identifier -> Binding
self Identifier
i = Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding)
Iso' Binding (Identifier, Path)
binding (Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding))
-> (Identifier, Path) -> Binding
forall t b. AReview t b -> b -> t
# (Identifier
i, Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path)
Iso' Path [Identifier]
path (Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path))
-> [Identifier] -> Path
forall t b. AReview t b -> b -> t
# [Identifier
"self",Identifier
i])
pkgs :: [Identifier] -> Set Binding
pkgs :: [Identifier] -> Set Binding
pkgs = [Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList ([Binding] -> Set Binding)
-> ([Identifier] -> [Binding]) -> [Identifier] -> Set Binding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Identifier -> Binding) -> [Identifier] -> [Binding]
forall a b. (a -> b) -> [a] -> [b]
map Identifier -> Binding
pkg
bind :: String -> Binding
bind :: String -> Binding
bind String
s = Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding)
Iso' Binding (Identifier, Path)
binding (Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding))
-> (Identifier, Path) -> Binding
forall t b. AReview t b -> b -> t
# (Identifier
i, Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path)
Iso' Path [Identifier]
path (Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path))
-> [Identifier] -> Path
forall t b. AReview t b -> b -> t
# [Identifier]
is)
where
is :: [Identifier]
is = (String -> Identifier) -> [String] -> [Identifier]
forall a b. (a -> b) -> [a] -> [b]
map ((Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall b (m :: * -> *) t. MonadReader b m => AReview t b -> m t
review Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident) (String -> String -> [String]
forall a. Eq a => [a] -> [a] -> [[a]]
splitOn String
"." String
s)
i :: Identifier
i = [Identifier] -> Identifier
forall a. [a] -> a
last [Identifier]
is
replace :: Binding -> Binding -> Set Binding -> Set Binding
replace :: Binding -> Binding -> Set Binding -> Set Binding
replace Binding
old Binding
new Set Binding
bs
| Binding
old Binding -> Set Binding -> Bool
forall a. Ord a => a -> Set a -> Bool
`Set.member` Set Binding
bs = Binding -> Set Binding -> Set Binding
forall a. Ord a => a -> Set a -> Set a
Set.insert Binding
new (Binding -> Set Binding -> Set Binding
forall a. Ord a => a -> Set a -> Set a
Set.delete Binding
old Set Binding
bs)
| Bool
otherwise = String -> Set Binding
forall a. HasCallStack => String -> a
error ([String] -> String
unwords [ String
"post-process: cannot replace name binding"
, Binding -> String
forall a. Show a => a -> String
show Binding
old, String
"by", Binding -> String
forall a. Show a => a -> String
show Binding
new
, String
"because it's not found in set"
, Set Binding -> String
forall a. Show a => a -> String
show Set Binding
bs
])
gtk3Hook :: Derivation -> Derivation
gtk3Hook :: Derivation -> Derivation
gtk3Hook = ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"gtk3")) Bool
True
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig) ((Binding -> Bool) -> Set Binding -> Set Binding
forall a. (a -> Bool) -> Set a -> Set a
Set.filter (\Binding
b -> Getting Identifier Binding Identifier -> Binding -> Identifier
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting Identifier Binding Identifier
Lens' Binding Identifier
localName Binding
b Identifier -> Identifier -> Bool
forall a. Eq a => a -> a -> Bool
/= Identifier
"gtk3"))
haddockHook :: Derivation -> Derivation
haddockHook :: Derivation -> Derivation
haddockHook = ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
doCheck Bool
False
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
"preCheck = \"unset GHC_PACKAGE_PATH\";"
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Traversal' Derivation BuildInfo
dependencies ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
haskell) ((Binding -> Bool) -> Set Binding -> Set Binding
forall a. (a -> Bool) -> Set a -> Set a
Set.filter (\Binding
b -> Getting Identifier Binding Identifier -> Binding -> Identifier
forall s (m :: * -> *) a. MonadReader s m => Getting a s a -> m a
view Getting Identifier Binding Identifier
Lens' Binding Identifier
localName Binding
b Identifier -> Identifier -> Bool
forall a. Eq a => a -> a -> Bool
/= Identifier
"haddock-test"))
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> Meta -> Identity Meta)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Bool -> Identity Bool) -> Meta -> Identity Meta
Lens' Meta Bool
broken) Bool
False
gitAnnexHook :: Derivation -> Derivation
gitAnnexHook :: Derivation -> Derivation
gitAnnexHook = ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
gitAnnexOverrides
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
executableDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union Set Binding
buildInputs)
where
gitAnnexOverrides :: String
gitAnnexOverrides = [String] -> String
unlines
[ String
"preConfigure = \"export HOME=$TEMPDIR; patchShebangs .\";"
, String
"postBuild = ''"
, String
" ln -sf dist/build/git-annex/git-annex git-annex"
, String
" ln -sf git-annex git-annex-shell"
, String
"'';"
, String
"installPhase = \"make PREFIX=$out BUILDER=: install install-completions\";"
, String
"checkPhase = ''PATH+=\":$PWD\" git-annex test'';"
, String
"enableSharedExecutables = false;"
]
buildInputs :: Set Binding
buildInputs = [Identifier] -> Set Binding
pkgs [Identifier
"git",Identifier
"rsync",Identifier
"gnupg",Identifier
"curl",Identifier
"wget",Identifier
"lsof",Identifier
"openssh",Identifier
"which",Identifier
"bup",Identifier
"perl"]
hfusePreConfigure :: String
hfusePreConfigure :: String
hfusePreConfigure = [String] -> String
unlines
[ String
"preConfigure = ''"
, String
" sed -i -e \"s@ Extra-Lib-Dirs: /usr/local/lib@ Extra-Lib-Dirs: ${fuse}/lib@\" HFuse.cabal"
, String
"'';"
]
gfPhaseOverrides :: String
gfPhaseOverrides :: String
gfPhaseOverrides = [String] -> String
unlines
[ String
"postPatch = ''"
, String
" sed -i \"s|\\\"-s\\\"|\\\"\\\"|\" ./Setup.hs"
, String
" sed -i \"s|numJobs (bf bi)++||\" ./Setup.hs"
, String
"'';"
, String
"preBuild = ''export LD_LIBRARY_PATH=`pwd`/dist/build''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH'';"
]
wxcHook :: Derivation -> Derivation
wxcHook :: Derivation -> Derivation
wxcHook Derivation
drv = Derivation
drv Derivation -> (Derivation -> Derivation) -> Derivation
forall a b. a -> (a -> b) -> b
& (BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
%~ Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList [Identifier -> Binding
pkg Identifier
"libGL", String -> Binding
bind String
"pkgs.xorg.libX11"])
Derivation -> (Derivation -> Derivation) -> Derivation
forall a b. a -> (a -> b) -> b
& (BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"wxGTK") ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
.~ Bool
True
Derivation -> (Derivation -> Derivation) -> Derivation
forall a b. a -> (a -> b) -> b
& ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
.~ Version -> String
wxcPostInstall (Derivation -> Version
forall pkg. Package pkg => pkg -> Version
packageVersion Derivation
drv)
Derivation -> (Derivation -> Derivation) -> Derivation
forall a b. a -> (a -> b) -> b
& (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
runHaddock ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
.~ Bool
False
where
wxcPostInstall :: Version -> String
wxcPostInstall :: Version -> String
wxcPostInstall Version
version = [String] -> String
unlines
[ String
"postInstall = \"cp -v dist/build/libwxc.so." String -> String -> String
forall a. [a] -> [a] -> [a]
++ Version -> String
forall a. Pretty a => a -> String
display Version
version String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
" $out/lib/libwxc.so\";"
, String
"postPatch = \"sed -i -e '/ldconfig inst_lib_dir/d' Setup.hs\";"
]
cabalInstallPostInstall :: String
cabalInstallPostInstall :: String
cabalInstallPostInstall = [String] -> String
unlines
[ String
"postInstall = ''"
, String
" mkdir -p $out/share/bash-completion"
, String
" mv bash-completion $out/share/bash-completion/completions"
, String
"'';"
]
darcsInstallPostInstall :: String
darcsInstallPostInstall :: String
darcsInstallPostInstall = [String] -> String
unlines
[ String
"postInstall = ''"
, String
" mkdir -p $out/share/bash-completion/completions"
, String
" mv contrib/darcs_completion $out/share/bash-completion/completions/darcs"
, String
"'';"
]
xmonadPostInstall :: String
xmonadPostInstall :: String
xmonadPostInstall = [String] -> String
unlines
[ String
"postInstall = ''"
, String
" install -D man/xmonad.1 ''${!outputDoc}/share/man/man1/xmonad.1"
, String
" install -D man/xmonad.hs ''${!outputDoc}/share/doc/$name/sample-xmonad.hs"
, String
"'';"
]
agdaPostInstall :: String
agdaPostInstall :: String
agdaPostInstall = [String] -> String
unlines
[ String
"postInstall = ''"
, String
" $out/bin/agda -c --no-main $(find $data/share -name Primitive.agda)"
, String
" $out/bin/agda-mode compile"
, String
"'';"
]
agda25PostInstall :: String
agda25PostInstall :: String
agda25PostInstall = [String] -> String
unlines
[ String
"postInstall = ''"
, String
" files=(\"$data/share/ghc-\"*\"/\"*\"-ghc-\"*\"/Agda-\"*\"/lib/prim/Agda/\"{Primitive.agda,Builtin\"/\"*.agda})"
, String
" for f in \"''${files[@]}\" ; do"
, String
" $out/bin/agda $f"
, String
" done"
, String
" for f in \"''${files[@]}\" ; do"
, String
" $out/bin/agda -c --no-main $f"
, String
" done"
, String
" $out/bin/agda-mode compile"
, String
"'';"
]
stackOverrides :: String
stackOverrides :: String
stackOverrides = [String] -> String
unlines
[ String
"preCheck = \"export HOME=$TMPDIR\";"
, String
"postInstall = ''"
, String
" exe=$out/bin/stack"
, String
" mkdir -p $out/share/bash-completion/completions"
, String
" $exe --bash-completion-script $exe >$out/share/bash-completion/completions/stack"
, String
"'';"
]
giGstLibOverrides :: String -> Derivation -> Derivation
giGstLibOverrides :: String -> Derivation -> Derivation
giGstLibOverrides String
package
= ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig) (Binding -> Binding -> Set Binding -> Set Binding
replace (Identifier -> Binding
nullBinding (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
package)) (Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding)
Iso' Binding (Identifier, Path)
binding (Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding))
-> (Identifier, Path) -> Binding
forall t b. AReview t b -> b -> t
# (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
package, Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path)
Iso' Path [Identifier]
path (Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path))
-> [Identifier] -> Path
forall t b. AReview t b -> b -> t
# [Identifier
"pkgs",Identifier
"gst_all_1", Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
package])))
giCairoPhaseOverrides :: Derivation -> Derivation
giCairoPhaseOverrides :: Derivation -> Derivation
giCairoPhaseOverrides = ASetter Derivation Derivation String String
-> (String -> String) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides (String -> String -> String
forall a. [a] -> [a] -> [a]
++String
txt)
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (Identifier -> Binding
pkg Identifier
"cairo")) Bool
True
where
txt :: String
txt = [String] -> String
unlines [ String
"preCompileBuildDriver = ''"
, String
" PKG_CONFIG_PATH+=\":${cairo}/lib/pkgconfig\""
, String
" setupCompileFlags+=\" $(pkg-config --libs cairo-gobject)\""
, String
"'';"
]
hfseventsOverrides :: Derivation -> Derivation
hfseventsOverrides :: Derivation -> Derivation
hfseventsOverrides
= ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set (Bool -> Identity Bool) -> Derivation -> Identity Derivation
Lens' Derivation Bool
isLibrary Bool
True
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
platforms) (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a. a -> Maybe a
Just (Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform))
-> Set NixpkgsPlatform -> Maybe (Set NixpkgsPlatform)
forall a b. (a -> b) -> a -> b
$ NixpkgsPlatform -> Set NixpkgsPlatform
forall a. a -> Set a
Set.singleton (Identifier -> NixpkgsPlatform
NixpkgsPlatformGroup (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"darwin")))
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
tool ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (String -> Binding
bind String
"pkgs.darwin.apple_sdk.frameworks.CoreServices")) Bool
True
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains (String -> Binding
bind String
"pkgs.darwin.apple_sdk.frameworks.Cocoa")) Bool
True
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
haskell) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList ((String -> Binding) -> [String] -> [Binding]
forall a b. (a -> b) -> [a] -> [b]
map String -> Binding
bind [String
"self.base", String
"self.cereal", String
"self.mtl", String
"self.text", String
"self.bytestring"])))
opencvOverrides :: Derivation -> Derivation
opencvOverrides :: Derivation -> Derivation
opencvOverrides = ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
"hardeningDisable = [ \"bindnow\" ];"
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig) (Binding -> Binding -> Set Binding -> Set Binding
replace (Identifier -> Binding
pkg Identifier
"opencv") (Identifier -> Binding
pkg Identifier
"opencv3"))
hspecCoreOverrides :: Derivation -> Derivation
hspecCoreOverrides :: Derivation -> Derivation
hspecCoreOverrides = ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
"testTarget = \"--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'\";"
cabal2nixOverrides :: Derivation -> Derivation
cabal2nixOverrides :: Derivation -> Derivation
cabal2nixOverrides = ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides (String -> Derivation -> Derivation)
-> String -> Derivation -> Derivation
forall a b. (a -> b) -> a -> b
$ [String] -> String
unlines
[ String
"preCheck = ''"
, String
" export PATH=\"$PWD/dist/build/cabal2nix:$PATH\""
, String
" export HOME=\"$TMPDIR/home\""
, String
"'';"
]
gtkglextHook :: Derivation -> Derivation
gtkglextHook :: Derivation -> Derivation
gtkglextHook = ((Set Binding -> Identity (Set Binding))
-> Derivation -> Identity Derivation)
-> (Set Binding -> Set Binding) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> (a -> b) -> s -> t
over ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> (Set Binding -> Identity (Set Binding))
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
system) (Set Binding -> Set Binding -> Set Binding
forall a. Ord a => Set a -> Set a -> Set a
Set.union ([Binding] -> Set Binding
forall a. Ord a => [a] -> Set a
Set.fromList [Binding]
deps))
where
deps :: [Binding]
deps :: [Binding]
deps = String -> Binding
bind (String -> Binding) -> [String] -> [Binding]
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> [ String
"pkgs.gtk2"
, String
"pkgs.libGLU"
, String
"pkgs.xorg.libSM"
, String
"pkgs.xorg.libICE"
, String
"pkgs.xorg.libXt"
, String
"pkgs.xorg.libXmu"
]
pandocPre26Overrides :: Derivation -> Derivation
pandocPre26Overrides :: Derivation -> Derivation
pandocPre26Overrides = ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
postInstall
where
postInstall :: String
postInstall = [String] -> String
unlines [ String
"postInstall = ''"
, String
" mkdir -p $out/share"
, String
" mv $data/*/*/man $out/share/"
, String
"'';"
]
pandocOverrides :: Derivation -> Derivation
pandocOverrides :: Derivation -> Derivation
pandocOverrides = ASetter Derivation Derivation String String
-> String -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ASetter Derivation Derivation String String
Lens' Derivation String
phaseOverrides String
postInstall
where
postInstall :: String
postInstall = [String] -> String
unlines [ String
"postInstall = ''"
, String
" mkdir -p $out/share/man/man1"
, String
" mv \"man/\"*.1 $out/share/man/man1/"
, String
"'';"
]
bustleOverrides :: Derivation -> Derivation
bustleOverrides :: Derivation -> Derivation
bustleOverrides = ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
libraryDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains Index (Set Binding)
"system-glib = pkgs.glib") Bool
True
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ((Bool -> Identity Bool) -> Derivation -> Identity Derivation)
-> Bool -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation
Lens Derivation Derivation BuildInfo BuildInfo
executableDepends ((BuildInfo -> Identity BuildInfo)
-> Derivation -> Identity Derivation)
-> ((Bool -> Identity Bool) -> BuildInfo -> Identity BuildInfo)
-> (Bool -> Identity Bool)
-> Derivation
-> Identity Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo
Lens' BuildInfo (Set Binding)
pkgconfig ((Set Binding -> Identity (Set Binding))
-> BuildInfo -> Identity BuildInfo)
-> ((Bool -> Identity Bool)
-> Set Binding -> Identity (Set Binding))
-> (Bool -> Identity Bool)
-> BuildInfo
-> Identity BuildInfo
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Index (Set Binding) -> Lens' (Set Binding) Bool
forall m. Contains m => Index m -> Lens' m Bool
contains Index (Set Binding)
"gio-unix = null") Bool
False
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ASetter Derivation Derivation License License
-> License -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((License -> Identity License) -> Meta -> Identity Meta)
-> ASetter Derivation Derivation License License
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (License -> Identity License) -> Meta -> Identity Meta
Lens' Meta License
license) (String -> License
Known String
"lib.licenses.lgpl21Plus")
(Derivation -> Derivation)
-> (Derivation -> Derivation) -> Derivation -> Derivation
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
-> Maybe (Set NixpkgsPlatform) -> Derivation -> Derivation
forall s t a b. ASetter s t a b -> b -> s -> t
set ((Meta -> Identity Meta) -> Derivation -> Identity Derivation
Lens' Derivation Meta
metaSection ((Meta -> Identity Meta) -> Derivation -> Identity Derivation)
-> ((Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta)
-> ASetter
Derivation
Derivation
(Maybe (Set NixpkgsPlatform))
(Maybe (Set NixpkgsPlatform))
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (Maybe (Set NixpkgsPlatform)
-> Identity (Maybe (Set NixpkgsPlatform)))
-> Meta -> Identity Meta
Lens' Meta (Maybe (Set NixpkgsPlatform))
hydraPlatforms) Maybe (Set NixpkgsPlatform)
forall a. Maybe a
Nothing
nullBinding :: Identifier -> Binding
nullBinding :: Identifier -> Binding
nullBinding Identifier
name = Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding)
Iso' Binding (Identifier, Path)
binding (Tagged (Identifier, Path) (Identity (Identifier, Path))
-> Tagged Binding (Identity Binding))
-> (Identifier, Path) -> Binding
forall t b. AReview t b -> b -> t
# (Identifier
name, Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path)
Iso' Path [Identifier]
path (Tagged [Identifier] (Identity [Identifier])
-> Tagged Path (Identity Path))
-> [Identifier] -> Path
forall t b. AReview t b -> b -> t
# [Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier)
Iso' Identifier String
ident (Tagged String (Identity String)
-> Tagged Identifier (Identity Identifier))
-> String -> Identifier
forall t b. AReview t b -> b -> t
# String
"null"])