Add GHC 9.0.1 (#1032)

Also refactors the way tests are filtered to use `meta.disabled` where possible.
This commit is contained in:
Hamish Mackenzie 2021-03-28 21:03:20 +13:00 committed by GitHub
parent 0b53ee4798
commit a59be5c421
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
97 changed files with 12175 additions and 91 deletions

View File

@ -20,11 +20,12 @@ in rec {
tests = import ./test/default.nix { inherit pkgs ifdLevel compiler-nix-name; };
tools = pkgs.lib.optionalAttrs (ifdLevel >= 3) (
pkgs.recurseIntoAttrs {
pkgs.recurseIntoAttrs ({
cabal-latest = tool compiler-nix-name "cabal" "latest";
} // pkgs.lib.optionalAttrs (compiler-nix-name != "ghc901") {
hls-latest = tool compiler-nix-name "haskell-language-server" "latest";
hlint-latest = tool compiler-nix-name "hlint" (if compiler-nix-name == "ghc865" then "3.2.7" else "latest");
}
})
);
# Scripts for keeping Hackage and Stackage up to date, and CI tasks.

7
ci.nix
View File

@ -30,8 +30,9 @@
ghc884 = true;
ghc8104 = true;
} // nixpkgs.lib.optionalAttrs (nixpkgsName == "unstable") {
ghc884 = true;
ghc884 = false;
ghc8104 = true;
ghc901 = true;
ghc810420210212 = false;
});
systems = nixpkgs: nixpkgs.lib.filterAttrs (_: v: builtins.elem v supportedSystems) {
@ -58,9 +59,7 @@
# native so ifdLevel 1 includes compiler needed in ifdLevel2 eval)
inherit (lib.systems.examples) musl64 aarch64-multiplatform;
};
isDisabled = d:
let meta = d.meta or {};
in meta.disabled or false;
isDisabled = d: d.meta.disabled or false;
in
dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
let pinnedNixpkgsSrc = sources.${nixpkgs-pin};

View File

@ -8,6 +8,7 @@ let self =
# build-tools
, bootPkgs
, buildPackages
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4, sphinx, numactl, elfutils
, autoreconfHook
, bash
@ -100,6 +101,9 @@ let
CrossCompilePrefix = ${targetPrefix}
'' + lib.optionalString isCrossTarget ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
''
# GHC 9.0.1 fails to compile for musl unless HADDOC_DOCS = NO
+ lib.optionalString (isCrossTarget || (targetPlatform.isMusl && builtins.compareVersions ghc-version "9.0.1" >= 0)) ''
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
BUILD_SPHINX_PDF = NO
@ -337,6 +341,11 @@ stdenv.mkDerivation (rec {
inherit (ghc.meta) license platforms;
};
# Needed for `haddock` to work on source that includes non ASCII chars
LANG = "en_US.UTF-8";
LC_ALL = "en_US.UTF-8";
} // lib.optionalAttrs (stdenv.buildPlatform.libc == "glibc") {
LOCALE_ARCHIVE = "${buildPackages.glibcLocales}/lib/locale/locale-archive";
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
dontStrip = true;
dontPatchELF = true;

View File

@ -0,0 +1 @@
GHC package manager version 9.0.1

View File

@ -0,0 +1,70 @@
[("Project name","The Glorious Glasgow Haskell Compilation System")
,("GCC extra via C opts","")
,("C compiler flags","")
,("C++ compiler flags","")
,("C compiler link flags","-Wl,-z,noexecstack")
,("C compiler supports -no-pie","YES")
,("Haskell CPP flags","-E -undef -traditional")
,("ld flags","-z noexecstack")
,("ld supports compact unwind","YES")
,("ld supports build-id","YES")
,("ld supports filelist","NO")
,("ld is GNU ld","YES")
,("Merge objects flags","-r")
,("ar flags","q")
,("ar supports at file","YES")
,("otool command","otool")
,("install_name_tool command","install_name_tool")
,("touch command","touch")
,("dllwrap command","/bin/false")
,("windres command","/bin/false")
,("libtool command","libtool")
,("cross compiling","YES")
,("target platform string","aarch64-unknown-linux")
,("target os","OSLinux")
,("target arch","ArchAArch64")
,("target word size","8")
,("target word big endian","NO")
,("target has GNU nonexec stack","YES")
,("target has .ident directive","YES")
,("target has subsections via symbols","NO")
,("target has RTS linker","YES")
,("Unregisterised","NO")
,("LLVM target","aarch64-unknown-linux")
,("LLVM llc command","llc")
,("LLVM opt command","opt")
,("LLVM clang command","clang")
,("bignum backend","native")
,("Use interpreter","YES")
,("Support SMP","YES")
,("RTS ways","l debug thr thr_debug thr_l thr_p thr_debug_p debug_p")
,("Tables next to code","YES")
,("Leading underscore","NO")
,("Use LibFFI","YES")
,("Use Threads","YES")
,("Use Debugging","NO")
,("RTS expects libdw","NO")
,("Project version","9.0.1")
,("Project Git commit id","da53a348150d30193a6f28e1b7ddcabdf45ab726")
,("Booter version","8.8.4")
,("Stage","1")
,("Build platform","x86_64-unknown-linux")
,("Host platform","x86_64-unknown-linux")
,("Target platform","aarch64-unknown-linux")
,("Have interpreter","YES")
,("Object splitting supported","NO")
,("Have native code generator","NO")
,("Target default backend","LLVM")
,("Support dynamic-too","YES")
,("Support parallel --make","YES")
,("Support reexported-modules","YES")
,("Support thinning and renaming package flags","YES")
,("Support Backpack","YES")
,("Requires unified installed package IDs","YES")
,("Uses package keys","YES")
,("Uses unit IDs","YES")
,("Dynamic by default","NO")
,("GHC Dynamic","NO")
,("GHC Profiled","NO")
,("Debug on","NO")
]

View File

@ -0,0 +1,261 @@
Haskell98
Haskell2010
Unsafe
Trustworthy
Safe
AllowAmbiguousTypes
NoAllowAmbiguousTypes
AlternativeLayoutRule
NoAlternativeLayoutRule
AlternativeLayoutRuleTransitional
NoAlternativeLayoutRuleTransitional
Arrows
NoArrows
AutoDeriveTypeable
NoAutoDeriveTypeable
BangPatterns
NoBangPatterns
BinaryLiterals
NoBinaryLiterals
CApiFFI
NoCApiFFI
CPP
NoCPP
CUSKs
NoCUSKs
ConstrainedClassMethods
NoConstrainedClassMethods
ConstraintKinds
NoConstraintKinds
DataKinds
NoDataKinds
DatatypeContexts
NoDatatypeContexts
DefaultSignatures
NoDefaultSignatures
DeriveAnyClass
NoDeriveAnyClass
DeriveDataTypeable
NoDeriveDataTypeable
DeriveFoldable
NoDeriveFoldable
DeriveFunctor
NoDeriveFunctor
DeriveGeneric
NoDeriveGeneric
DeriveLift
NoDeriveLift
DeriveTraversable
NoDeriveTraversable
DerivingStrategies
NoDerivingStrategies
DerivingVia
NoDerivingVia
DisambiguateRecordFields
NoDisambiguateRecordFields
DoAndIfThenElse
NoDoAndIfThenElse
BlockArguments
NoBlockArguments
DoRec
NoDoRec
DuplicateRecordFields
NoDuplicateRecordFields
EmptyCase
NoEmptyCase
EmptyDataDecls
NoEmptyDataDecls
EmptyDataDeriving
NoEmptyDataDeriving
ExistentialQuantification
NoExistentialQuantification
ExplicitForAll
NoExplicitForAll
ExplicitNamespaces
NoExplicitNamespaces
ExtendedDefaultRules
NoExtendedDefaultRules
FlexibleContexts
NoFlexibleContexts
FlexibleInstances
NoFlexibleInstances
ForeignFunctionInterface
NoForeignFunctionInterface
FunctionalDependencies
NoFunctionalDependencies
GADTSyntax
NoGADTSyntax
GADTs
NoGADTs
GHCForeignImportPrim
NoGHCForeignImportPrim
GeneralizedNewtypeDeriving
NoGeneralizedNewtypeDeriving
GeneralisedNewtypeDeriving
NoGeneralisedNewtypeDeriving
ImplicitParams
NoImplicitParams
ImplicitPrelude
NoImplicitPrelude
ImportQualifiedPost
NoImportQualifiedPost
ImpredicativeTypes
NoImpredicativeTypes
IncoherentInstances
NoIncoherentInstances
TypeFamilyDependencies
NoTypeFamilyDependencies
InstanceSigs
NoInstanceSigs
ApplicativeDo
NoApplicativeDo
InterruptibleFFI
NoInterruptibleFFI
JavaScriptFFI
NoJavaScriptFFI
KindSignatures
NoKindSignatures
LambdaCase
NoLambdaCase
LexicalNegation
NoLexicalNegation
LiberalTypeSynonyms
NoLiberalTypeSynonyms
LinearTypes
NoLinearTypes
MagicHash
NoMagicHash
MonadComprehensions
NoMonadComprehensions
MonadFailDesugaring
NoMonadFailDesugaring
MonoLocalBinds
NoMonoLocalBinds
MonoPatBinds
NoMonoPatBinds
MonomorphismRestriction
NoMonomorphismRestriction
MultiParamTypeClasses
NoMultiParamTypeClasses
MultiWayIf
NoMultiWayIf
NumericUnderscores
NoNumericUnderscores
NPlusKPatterns
NoNPlusKPatterns
NamedFieldPuns
NoNamedFieldPuns
NamedWildCards
NoNamedWildCards
NegativeLiterals
NoNegativeLiterals
HexFloatLiterals
NoHexFloatLiterals
NondecreasingIndentation
NoNondecreasingIndentation
NullaryTypeClasses
NoNullaryTypeClasses
NumDecimals
NoNumDecimals
OverlappingInstances
NoOverlappingInstances
OverloadedLabels
NoOverloadedLabels
OverloadedLists
NoOverloadedLists
OverloadedStrings
NoOverloadedStrings
PackageImports
NoPackageImports
ParallelArrays
NoParallelArrays
ParallelListComp
NoParallelListComp
PartialTypeSignatures
NoPartialTypeSignatures
PatternGuards
NoPatternGuards
PatternSignatures
NoPatternSignatures
PatternSynonyms
NoPatternSynonyms
PolyKinds
NoPolyKinds
PolymorphicComponents
NoPolymorphicComponents
QuantifiedConstraints
NoQuantifiedConstraints
PostfixOperators
NoPostfixOperators
QuasiQuotes
NoQuasiQuotes
QualifiedDo
NoQualifiedDo
Rank2Types
NoRank2Types
RankNTypes
NoRankNTypes
RebindableSyntax
NoRebindableSyntax
RecordPuns
NoRecordPuns
RecordWildCards
NoRecordWildCards
RecursiveDo
NoRecursiveDo
RelaxedLayout
NoRelaxedLayout
RelaxedPolyRec
NoRelaxedPolyRec
RoleAnnotations
NoRoleAnnotations
ScopedTypeVariables
NoScopedTypeVariables
StandaloneDeriving
NoStandaloneDeriving
StarIsType
NoStarIsType
StaticPointers
NoStaticPointers
Strict
NoStrict
StrictData
NoStrictData
TemplateHaskell
NoTemplateHaskell
TemplateHaskellQuotes
NoTemplateHaskellQuotes
StandaloneKindSignatures
NoStandaloneKindSignatures
TraditionalRecordSyntax
NoTraditionalRecordSyntax
TransformListComp
NoTransformListComp
TupleSections
NoTupleSections
TypeApplications
NoTypeApplications
TypeInType
NoTypeInType
TypeFamilies
NoTypeFamilies
TypeOperators
NoTypeOperators
TypeSynonymInstances
NoTypeSynonymInstances
UnboxedTuples
NoUnboxedTuples
UnboxedSums
NoUnboxedSums
UndecidableInstances
NoUndecidableInstances
UndecidableSuperClasses
NoUndecidableSuperClasses
UnicodeSyntax
NoUnicodeSyntax
UnliftedFFITypes
NoUnliftedFFITypes
UnliftedNewtypes
NoUnliftedNewtypes
ViewPatterns
NoViewPatterns

View File

@ -0,0 +1 @@
The Glorious Glasgow Haskell Compilation System, version 9.0.1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
GHC package manager version 9.0.1

View File

@ -0,0 +1,70 @@
[("Project name","The Glorious Glasgow Haskell Compilation System")
,("GCC extra via C opts","")
,("C compiler flags","")
,("C++ compiler flags","")
,("C compiler link flags","")
,("C compiler supports -no-pie","NO")
,("Haskell CPP flags","-E -undef -traditional -Wno-invalid-pp-token -Wno-unicode -Wno-trigraphs")
,("ld flags","")
,("ld supports compact unwind","YES")
,("ld supports build-id","NO")
,("ld supports filelist","YES")
,("ld is GNU ld","NO")
,("Merge objects flags","-r")
,("ar flags","qcls")
,("ar supports at file","NO")
,("otool command","otool")
,("install_name_tool command","install_name_tool")
,("touch command","touch")
,("dllwrap command","/bin/false")
,("windres command","/bin/false")
,("libtool command","libtool")
,("cross compiling","NO")
,("target platform string","x86_64-apple-darwin")
,("target os","OSDarwin")
,("target arch","ArchX86_64")
,("target word size","8")
,("target word big endian","NO")
,("target has GNU nonexec stack","NO")
,("target has .ident directive","YES")
,("target has subsections via symbols","YES")
,("target has RTS linker","YES")
,("Unregisterised","NO")
,("LLVM target","x86_64-apple-darwin")
,("LLVM llc command","llc")
,("LLVM opt command","opt")
,("LLVM clang command","clang")
,("bignum backend","gmp")
,("Use interpreter","YES")
,("Support SMP","YES")
,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn l_dyn thr_l_dyn thr_debug_p debug_p")
,("Tables next to code","YES")
,("Leading underscore","YES")
,("Use LibFFI","NO")
,("Use Threads","YES")
,("Use Debugging","NO")
,("RTS expects libdw","NO")
,("Project version","9.0.1")
,("Project Git commit id","da53a348150d30193a6f28e1b7ddcabdf45ab726")
,("Booter version","8.8.4")
,("Stage","2")
,("Build platform","x86_64-apple-darwin")
,("Host platform","x86_64-apple-darwin")
,("Target platform","x86_64-apple-darwin")
,("Have interpreter","YES")
,("Object splitting supported","NO")
,("Have native code generator","YES")
,("Target default backend","NCG")
,("Support dynamic-too","YES")
,("Support parallel --make","YES")
,("Support reexported-modules","YES")
,("Support thinning and renaming package flags","YES")
,("Support Backpack","YES")
,("Requires unified installed package IDs","YES")
,("Uses package keys","YES")
,("Uses unit IDs","YES")
,("Dynamic by default","NO")
,("GHC Dynamic","YES")
,("GHC Profiled","NO")
,("Debug on","NO")
]

View File

@ -0,0 +1 @@
9.0.1

View File

@ -0,0 +1,261 @@
Haskell98
Haskell2010
Unsafe
Trustworthy
Safe
AllowAmbiguousTypes
NoAllowAmbiguousTypes
AlternativeLayoutRule
NoAlternativeLayoutRule
AlternativeLayoutRuleTransitional
NoAlternativeLayoutRuleTransitional
Arrows
NoArrows
AutoDeriveTypeable
NoAutoDeriveTypeable
BangPatterns
NoBangPatterns
BinaryLiterals
NoBinaryLiterals
CApiFFI
NoCApiFFI
CPP
NoCPP
CUSKs
NoCUSKs
ConstrainedClassMethods
NoConstrainedClassMethods
ConstraintKinds
NoConstraintKinds
DataKinds
NoDataKinds
DatatypeContexts
NoDatatypeContexts
DefaultSignatures
NoDefaultSignatures
DeriveAnyClass
NoDeriveAnyClass
DeriveDataTypeable
NoDeriveDataTypeable
DeriveFoldable
NoDeriveFoldable
DeriveFunctor
NoDeriveFunctor
DeriveGeneric
NoDeriveGeneric
DeriveLift
NoDeriveLift
DeriveTraversable
NoDeriveTraversable
DerivingStrategies
NoDerivingStrategies
DerivingVia
NoDerivingVia
DisambiguateRecordFields
NoDisambiguateRecordFields
DoAndIfThenElse
NoDoAndIfThenElse
BlockArguments
NoBlockArguments
DoRec
NoDoRec
DuplicateRecordFields
NoDuplicateRecordFields
EmptyCase
NoEmptyCase
EmptyDataDecls
NoEmptyDataDecls
EmptyDataDeriving
NoEmptyDataDeriving
ExistentialQuantification
NoExistentialQuantification
ExplicitForAll
NoExplicitForAll
ExplicitNamespaces
NoExplicitNamespaces
ExtendedDefaultRules
NoExtendedDefaultRules
FlexibleContexts
NoFlexibleContexts
FlexibleInstances
NoFlexibleInstances
ForeignFunctionInterface
NoForeignFunctionInterface
FunctionalDependencies
NoFunctionalDependencies
GADTSyntax
NoGADTSyntax
GADTs
NoGADTs
GHCForeignImportPrim
NoGHCForeignImportPrim
GeneralizedNewtypeDeriving
NoGeneralizedNewtypeDeriving
GeneralisedNewtypeDeriving
NoGeneralisedNewtypeDeriving
ImplicitParams
NoImplicitParams
ImplicitPrelude
NoImplicitPrelude
ImportQualifiedPost
NoImportQualifiedPost
ImpredicativeTypes
NoImpredicativeTypes
IncoherentInstances
NoIncoherentInstances
TypeFamilyDependencies
NoTypeFamilyDependencies
InstanceSigs
NoInstanceSigs
ApplicativeDo
NoApplicativeDo
InterruptibleFFI
NoInterruptibleFFI
JavaScriptFFI
NoJavaScriptFFI
KindSignatures
NoKindSignatures
LambdaCase
NoLambdaCase
LexicalNegation
NoLexicalNegation
LiberalTypeSynonyms
NoLiberalTypeSynonyms
LinearTypes
NoLinearTypes
MagicHash
NoMagicHash
MonadComprehensions
NoMonadComprehensions
MonadFailDesugaring
NoMonadFailDesugaring
MonoLocalBinds
NoMonoLocalBinds
MonoPatBinds
NoMonoPatBinds
MonomorphismRestriction
NoMonomorphismRestriction
MultiParamTypeClasses
NoMultiParamTypeClasses
MultiWayIf
NoMultiWayIf
NumericUnderscores
NoNumericUnderscores
NPlusKPatterns
NoNPlusKPatterns
NamedFieldPuns
NoNamedFieldPuns
NamedWildCards
NoNamedWildCards
NegativeLiterals
NoNegativeLiterals
HexFloatLiterals
NoHexFloatLiterals
NondecreasingIndentation
NoNondecreasingIndentation
NullaryTypeClasses
NoNullaryTypeClasses
NumDecimals
NoNumDecimals
OverlappingInstances
NoOverlappingInstances
OverloadedLabels
NoOverloadedLabels
OverloadedLists
NoOverloadedLists
OverloadedStrings
NoOverloadedStrings
PackageImports
NoPackageImports
ParallelArrays
NoParallelArrays
ParallelListComp
NoParallelListComp
PartialTypeSignatures
NoPartialTypeSignatures
PatternGuards
NoPatternGuards
PatternSignatures
NoPatternSignatures
PatternSynonyms
NoPatternSynonyms
PolyKinds
NoPolyKinds
PolymorphicComponents
NoPolymorphicComponents
QuantifiedConstraints
NoQuantifiedConstraints
PostfixOperators
NoPostfixOperators
QuasiQuotes
NoQuasiQuotes
QualifiedDo
NoQualifiedDo
Rank2Types
NoRank2Types
RankNTypes
NoRankNTypes
RebindableSyntax
NoRebindableSyntax
RecordPuns
NoRecordPuns
RecordWildCards
NoRecordWildCards
RecursiveDo
NoRecursiveDo
RelaxedLayout
NoRelaxedLayout
RelaxedPolyRec
NoRelaxedPolyRec
RoleAnnotations
NoRoleAnnotations
ScopedTypeVariables
NoScopedTypeVariables
StandaloneDeriving
NoStandaloneDeriving
StarIsType
NoStarIsType
StaticPointers
NoStaticPointers
Strict
NoStrict
StrictData
NoStrictData
TemplateHaskell
NoTemplateHaskell
TemplateHaskellQuotes
NoTemplateHaskellQuotes
StandaloneKindSignatures
NoStandaloneKindSignatures
TraditionalRecordSyntax
NoTraditionalRecordSyntax
TransformListComp
NoTransformListComp
TupleSections
NoTupleSections
TypeApplications
NoTypeApplications
TypeInType
NoTypeInType
TypeFamilies
NoTypeFamilies
TypeOperators
NoTypeOperators
TypeSynonymInstances
NoTypeSynonymInstances
UnboxedTuples
NoUnboxedTuples
UnboxedSums
NoUnboxedSums
UndecidableInstances
NoUndecidableInstances
UndecidableSuperClasses
NoUndecidableSuperClasses
UnicodeSyntax
NoUnicodeSyntax
UnliftedFFITypes
NoUnliftedFFITypes
UnliftedNewtypes
NoUnliftedNewtypes
ViewPatterns
NoViewPatterns

View File

@ -0,0 +1 @@
The Glorious Glasgow Haskell Compilation System, version 9.0.1

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
GHC package manager version 9.0.1

View File

@ -0,0 +1,70 @@
[("Project name","The Glorious Glasgow Haskell Compilation System")
,("GCC extra via C opts","")
,("C compiler flags","")
,("C++ compiler flags","")
,("C compiler link flags","")
,("C compiler supports -no-pie","YES")
,("Haskell CPP flags","-E -undef -traditional")
,("ld flags","")
,("ld supports compact unwind","YES")
,("ld supports build-id","YES")
,("ld supports filelist","NO")
,("ld is GNU ld","YES")
,("Merge objects flags","-r")
,("ar flags","q")
,("ar supports at file","YES")
,("otool command","otool")
,("install_name_tool command","install_name_tool")
,("touch command","touch")
,("dllwrap command","/bin/false")
,("windres command","/bin/false")
,("libtool command","libtool")
,("cross compiling","NO")
,("target platform string","x86_64-unknown-linux")
,("target os","OSLinux")
,("target arch","ArchX86_64")
,("target word size","8")
,("target word big endian","NO")
,("target has GNU nonexec stack","YES")
,("target has .ident directive","YES")
,("target has subsections via symbols","NO")
,("target has RTS linker","YES")
,("Unregisterised","NO")
,("LLVM target","x86_64-unknown-linux")
,("LLVM llc command","llc")
,("LLVM opt command","opt")
,("LLVM clang command","clang")
,("bignum backend","gmp")
,("Use interpreter","YES")
,("Support SMP","YES")
,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn l_dyn thr_l_dyn thr_debug_p debug_p")
,("Tables next to code","YES")
,("Leading underscore","NO")
,("Use LibFFI","NO")
,("Use Threads","YES")
,("Use Debugging","NO")
,("RTS expects libdw","NO")
,("Project version","9.0.1")
,("Project Git commit id","da53a348150d30193a6f28e1b7ddcabdf45ab726")
,("Booter version","8.8.4")
,("Stage","2")
,("Build platform","x86_64-unknown-linux")
,("Host platform","x86_64-unknown-linux")
,("Target platform","x86_64-unknown-linux")
,("Have interpreter","YES")
,("Object splitting supported","NO")
,("Have native code generator","YES")
,("Target default backend","NCG")
,("Support dynamic-too","YES")
,("Support parallel --make","YES")
,("Support reexported-modules","YES")
,("Support thinning and renaming package flags","YES")
,("Support Backpack","YES")
,("Requires unified installed package IDs","YES")
,("Uses package keys","YES")
,("Uses unit IDs","YES")
,("Dynamic by default","NO")
,("GHC Dynamic","YES")
,("GHC Profiled","NO")
,("Debug on","NO")
]

View File

@ -0,0 +1 @@
9.0.1

View File

@ -0,0 +1,261 @@
Haskell98
Haskell2010
Unsafe
Trustworthy
Safe
AllowAmbiguousTypes
NoAllowAmbiguousTypes
AlternativeLayoutRule
NoAlternativeLayoutRule
AlternativeLayoutRuleTransitional
NoAlternativeLayoutRuleTransitional
Arrows
NoArrows
AutoDeriveTypeable
NoAutoDeriveTypeable
BangPatterns
NoBangPatterns
BinaryLiterals
NoBinaryLiterals
CApiFFI
NoCApiFFI
CPP
NoCPP
CUSKs
NoCUSKs
ConstrainedClassMethods
NoConstrainedClassMethods
ConstraintKinds
NoConstraintKinds
DataKinds
NoDataKinds
DatatypeContexts
NoDatatypeContexts
DefaultSignatures
NoDefaultSignatures
DeriveAnyClass
NoDeriveAnyClass
DeriveDataTypeable
NoDeriveDataTypeable
DeriveFoldable
NoDeriveFoldable
DeriveFunctor
NoDeriveFunctor
DeriveGeneric
NoDeriveGeneric
DeriveLift
NoDeriveLift
DeriveTraversable
NoDeriveTraversable
DerivingStrategies
NoDerivingStrategies
DerivingVia
NoDerivingVia
DisambiguateRecordFields
NoDisambiguateRecordFields
DoAndIfThenElse
NoDoAndIfThenElse
BlockArguments
NoBlockArguments
DoRec
NoDoRec
DuplicateRecordFields
NoDuplicateRecordFields
EmptyCase
NoEmptyCase
EmptyDataDecls
NoEmptyDataDecls
EmptyDataDeriving
NoEmptyDataDeriving
ExistentialQuantification
NoExistentialQuantification
ExplicitForAll
NoExplicitForAll
ExplicitNamespaces
NoExplicitNamespaces
ExtendedDefaultRules
NoExtendedDefaultRules
FlexibleContexts
NoFlexibleContexts
FlexibleInstances
NoFlexibleInstances
ForeignFunctionInterface
NoForeignFunctionInterface
FunctionalDependencies
NoFunctionalDependencies
GADTSyntax
NoGADTSyntax
GADTs
NoGADTs
GHCForeignImportPrim
NoGHCForeignImportPrim
GeneralizedNewtypeDeriving
NoGeneralizedNewtypeDeriving
GeneralisedNewtypeDeriving
NoGeneralisedNewtypeDeriving
ImplicitParams
NoImplicitParams
ImplicitPrelude
NoImplicitPrelude
ImportQualifiedPost
NoImportQualifiedPost
ImpredicativeTypes
NoImpredicativeTypes
IncoherentInstances
NoIncoherentInstances
TypeFamilyDependencies
NoTypeFamilyDependencies
InstanceSigs
NoInstanceSigs
ApplicativeDo
NoApplicativeDo
InterruptibleFFI
NoInterruptibleFFI
JavaScriptFFI
NoJavaScriptFFI
KindSignatures
NoKindSignatures
LambdaCase
NoLambdaCase
LexicalNegation
NoLexicalNegation
LiberalTypeSynonyms
NoLiberalTypeSynonyms
LinearTypes
NoLinearTypes
MagicHash
NoMagicHash
MonadComprehensions
NoMonadComprehensions
MonadFailDesugaring
NoMonadFailDesugaring
MonoLocalBinds
NoMonoLocalBinds
MonoPatBinds
NoMonoPatBinds
MonomorphismRestriction
NoMonomorphismRestriction
MultiParamTypeClasses
NoMultiParamTypeClasses
MultiWayIf
NoMultiWayIf
NumericUnderscores
NoNumericUnderscores
NPlusKPatterns
NoNPlusKPatterns
NamedFieldPuns
NoNamedFieldPuns
NamedWildCards
NoNamedWildCards
NegativeLiterals
NoNegativeLiterals
HexFloatLiterals
NoHexFloatLiterals
NondecreasingIndentation
NoNondecreasingIndentation
NullaryTypeClasses
NoNullaryTypeClasses
NumDecimals
NoNumDecimals
OverlappingInstances
NoOverlappingInstances
OverloadedLabels
NoOverloadedLabels
OverloadedLists
NoOverloadedLists
OverloadedStrings
NoOverloadedStrings
PackageImports
NoPackageImports
ParallelArrays
NoParallelArrays
ParallelListComp
NoParallelListComp
PartialTypeSignatures
NoPartialTypeSignatures
PatternGuards
NoPatternGuards
PatternSignatures
NoPatternSignatures
PatternSynonyms
NoPatternSynonyms
PolyKinds
NoPolyKinds
PolymorphicComponents
NoPolymorphicComponents
QuantifiedConstraints
NoQuantifiedConstraints
PostfixOperators
NoPostfixOperators
QuasiQuotes
NoQuasiQuotes
QualifiedDo
NoQualifiedDo
Rank2Types
NoRank2Types
RankNTypes
NoRankNTypes
RebindableSyntax
NoRebindableSyntax
RecordPuns
NoRecordPuns
RecordWildCards
NoRecordWildCards
RecursiveDo
NoRecursiveDo
RelaxedLayout
NoRelaxedLayout
RelaxedPolyRec
NoRelaxedPolyRec
RoleAnnotations
NoRoleAnnotations
ScopedTypeVariables
NoScopedTypeVariables
StandaloneDeriving
NoStandaloneDeriving
StarIsType
NoStarIsType
StaticPointers
NoStaticPointers
Strict
NoStrict
StrictData
NoStrictData
TemplateHaskell
NoTemplateHaskell
TemplateHaskellQuotes
NoTemplateHaskellQuotes
StandaloneKindSignatures
NoStandaloneKindSignatures
TraditionalRecordSyntax
NoTraditionalRecordSyntax
TransformListComp
NoTransformListComp
TupleSections
NoTupleSections
TypeApplications
NoTypeApplications
TypeInType
NoTypeInType
TypeFamilies
NoTypeFamilies
TypeOperators
NoTypeOperators
TypeSynonymInstances
NoTypeSynonymInstances
UnboxedTuples
NoUnboxedTuples
UnboxedSums
NoUnboxedSums
UndecidableInstances
NoUndecidableInstances
UndecidableSuperClasses
NoUndecidableSuperClasses
UnicodeSyntax
NoUnicodeSyntax
UnliftedFFITypes
NoUnliftedFFITypes
UnliftedNewtypes
NoUnliftedNewtypes
ViewPatterns
NoViewPatterns

View File

@ -0,0 +1 @@
The Glorious Glasgow Haskell Compilation System, version 9.0.1

View File

@ -0,0 +1 @@
GHC package manager version 9.0.1

View File

@ -0,0 +1,70 @@
[("Project name","The Glorious Glasgow Haskell Compilation System")
,("GCC extra via C opts","")
,("C compiler flags","")
,("C++ compiler flags","")
,("C compiler link flags","")
,("C compiler supports -no-pie","YES")
,("Haskell CPP flags","-E -undef -traditional")
,("ld flags","")
,("ld supports compact unwind","YES")
,("ld supports build-id","YES")
,("ld supports filelist","NO")
,("ld is GNU ld","YES")
,("Merge objects flags","-r")
,("ar flags","q")
,("ar supports at file","YES")
,("otool command","otool")
,("install_name_tool command","install_name_tool")
,("touch command","touch")
,("dllwrap command","/bin/false")
,("windres command","/bin/false")
,("libtool command","libtool")
,("cross compiling","YES")
,("target platform string","x86_64-unknown-linux")
,("target os","OSLinux")
,("target arch","ArchX86_64")
,("target word size","8")
,("target word big endian","NO")
,("target has GNU nonexec stack","YES")
,("target has .ident directive","YES")
,("target has subsections via symbols","NO")
,("target has RTS linker","YES")
,("Unregisterised","NO")
,("LLVM target","x86_64-unknown-linux")
,("LLVM llc command","llc")
,("LLVM opt command","opt")
,("LLVM clang command","clang")
,("bignum backend","gmp")
,("Use interpreter","YES")
,("Support SMP","YES")
,("RTS ways","l debug thr thr_debug thr_l thr_p dyn debug_dyn thr_dyn thr_debug_dyn l_dyn thr_l_dyn thr_debug_p debug_p")
,("Tables next to code","YES")
,("Leading underscore","NO")
,("Use LibFFI","NO")
,("Use Threads","YES")
,("Use Debugging","NO")
,("RTS expects libdw","NO")
,("Project version","9.0.1")
,("Project Git commit id","da53a348150d30193a6f28e1b7ddcabdf45ab726")
,("Booter version","8.8.4")
,("Stage","2")
,("Build platform","x86_64-unknown-linux")
,("Host platform","x86_64-unknown-linux")
,("Target platform","x86_64-unknown-linux")
,("Have interpreter","YES")
,("Object splitting supported","NO")
,("Have native code generator","YES")
,("Target default backend","NCG")
,("Support dynamic-too","YES")
,("Support parallel --make","YES")
,("Support reexported-modules","YES")
,("Support thinning and renaming package flags","YES")
,("Support Backpack","YES")
,("Requires unified installed package IDs","YES")
,("Uses package keys","YES")
,("Uses unit IDs","YES")
,("Dynamic by default","NO")
,("GHC Dynamic","YES")
,("GHC Profiled","NO")
,("Debug on","NO")
]

View File

@ -0,0 +1,261 @@
Haskell98
Haskell2010
Unsafe
Trustworthy
Safe
AllowAmbiguousTypes
NoAllowAmbiguousTypes
AlternativeLayoutRule
NoAlternativeLayoutRule
AlternativeLayoutRuleTransitional
NoAlternativeLayoutRuleTransitional
Arrows
NoArrows
AutoDeriveTypeable
NoAutoDeriveTypeable
BangPatterns
NoBangPatterns
BinaryLiterals
NoBinaryLiterals
CApiFFI
NoCApiFFI
CPP
NoCPP
CUSKs
NoCUSKs
ConstrainedClassMethods
NoConstrainedClassMethods
ConstraintKinds
NoConstraintKinds
DataKinds
NoDataKinds
DatatypeContexts
NoDatatypeContexts
DefaultSignatures
NoDefaultSignatures
DeriveAnyClass
NoDeriveAnyClass
DeriveDataTypeable
NoDeriveDataTypeable
DeriveFoldable
NoDeriveFoldable
DeriveFunctor
NoDeriveFunctor
DeriveGeneric
NoDeriveGeneric
DeriveLift
NoDeriveLift
DeriveTraversable
NoDeriveTraversable
DerivingStrategies
NoDerivingStrategies
DerivingVia
NoDerivingVia
DisambiguateRecordFields
NoDisambiguateRecordFields
DoAndIfThenElse
NoDoAndIfThenElse
BlockArguments
NoBlockArguments
DoRec
NoDoRec
DuplicateRecordFields
NoDuplicateRecordFields
EmptyCase
NoEmptyCase
EmptyDataDecls
NoEmptyDataDecls
EmptyDataDeriving
NoEmptyDataDeriving
ExistentialQuantification
NoExistentialQuantification
ExplicitForAll
NoExplicitForAll
ExplicitNamespaces
NoExplicitNamespaces
ExtendedDefaultRules
NoExtendedDefaultRules
FlexibleContexts
NoFlexibleContexts
FlexibleInstances
NoFlexibleInstances
ForeignFunctionInterface
NoForeignFunctionInterface
FunctionalDependencies
NoFunctionalDependencies
GADTSyntax
NoGADTSyntax
GADTs
NoGADTs
GHCForeignImportPrim
NoGHCForeignImportPrim
GeneralizedNewtypeDeriving
NoGeneralizedNewtypeDeriving
GeneralisedNewtypeDeriving
NoGeneralisedNewtypeDeriving
ImplicitParams
NoImplicitParams
ImplicitPrelude
NoImplicitPrelude
ImportQualifiedPost
NoImportQualifiedPost
ImpredicativeTypes
NoImpredicativeTypes
IncoherentInstances
NoIncoherentInstances
TypeFamilyDependencies
NoTypeFamilyDependencies
InstanceSigs
NoInstanceSigs
ApplicativeDo
NoApplicativeDo
InterruptibleFFI
NoInterruptibleFFI
JavaScriptFFI
NoJavaScriptFFI
KindSignatures
NoKindSignatures
LambdaCase
NoLambdaCase
LexicalNegation
NoLexicalNegation
LiberalTypeSynonyms
NoLiberalTypeSynonyms
LinearTypes
NoLinearTypes
MagicHash
NoMagicHash
MonadComprehensions
NoMonadComprehensions
MonadFailDesugaring
NoMonadFailDesugaring
MonoLocalBinds
NoMonoLocalBinds
MonoPatBinds
NoMonoPatBinds
MonomorphismRestriction
NoMonomorphismRestriction
MultiParamTypeClasses
NoMultiParamTypeClasses
MultiWayIf
NoMultiWayIf
NumericUnderscores
NoNumericUnderscores
NPlusKPatterns
NoNPlusKPatterns
NamedFieldPuns
NoNamedFieldPuns
NamedWildCards
NoNamedWildCards
NegativeLiterals
NoNegativeLiterals
HexFloatLiterals
NoHexFloatLiterals
NondecreasingIndentation
NoNondecreasingIndentation
NullaryTypeClasses
NoNullaryTypeClasses
NumDecimals
NoNumDecimals
OverlappingInstances
NoOverlappingInstances
OverloadedLabels
NoOverloadedLabels
OverloadedLists
NoOverloadedLists
OverloadedStrings
NoOverloadedStrings
PackageImports
NoPackageImports
ParallelArrays
NoParallelArrays
ParallelListComp
NoParallelListComp
PartialTypeSignatures
NoPartialTypeSignatures
PatternGuards
NoPatternGuards
PatternSignatures
NoPatternSignatures
PatternSynonyms
NoPatternSynonyms
PolyKinds
NoPolyKinds
PolymorphicComponents
NoPolymorphicComponents
QuantifiedConstraints
NoQuantifiedConstraints
PostfixOperators
NoPostfixOperators
QuasiQuotes
NoQuasiQuotes
QualifiedDo
NoQualifiedDo
Rank2Types
NoRank2Types
RankNTypes
NoRankNTypes
RebindableSyntax
NoRebindableSyntax
RecordPuns
NoRecordPuns
RecordWildCards
NoRecordWildCards
RecursiveDo
NoRecursiveDo
RelaxedLayout
NoRelaxedLayout
RelaxedPolyRec
NoRelaxedPolyRec
RoleAnnotations
NoRoleAnnotations
ScopedTypeVariables
NoScopedTypeVariables
StandaloneDeriving
NoStandaloneDeriving
StarIsType
NoStarIsType
StaticPointers
NoStaticPointers
Strict
NoStrict
StrictData
NoStrictData
TemplateHaskell
NoTemplateHaskell
TemplateHaskellQuotes
NoTemplateHaskellQuotes
StandaloneKindSignatures
NoStandaloneKindSignatures
TraditionalRecordSyntax
NoTraditionalRecordSyntax
TransformListComp
NoTransformListComp
TupleSections
NoTupleSections
TypeApplications
NoTypeApplications
TypeInType
NoTypeInType
TypeFamilies
NoTypeFamilies
TypeOperators
NoTypeOperators
TypeSynonymInstances
NoTypeSynonymInstances
UnboxedTuples
NoUnboxedTuples
UnboxedSums
NoUnboxedSums
UndecidableInstances
NoUndecidableInstances
UndecidableSuperClasses
NoUndecidableSuperClasses
UnicodeSyntax
NoUnicodeSyntax
UnliftedFFITypes
NoUnliftedFFITypes
UnliftedNewtypes
NoUnliftedNewtypes
ViewPatterns
NoViewPatterns

View File

@ -0,0 +1 @@
The Glorious Glasgow Haskell Compilation System, version 9.0.1

View File

@ -0,0 +1,35 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { integer-simple = false; };
package = {
specVersion = "1.10";
identifier = { name = "bytestring"; version = "0.10.12.1"; };
license = "BSD-3-Clause";
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
maintainer = "Haskell Bytestring Team <andrew.lelechenko@gmail.com>, Core Libraries Committee";
author = "Don Stewart,\nDuncan Coutts";
homepage = "https://github.com/haskell/bytestring";
url = "";
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
buildType = "Simple";
};
components = {
"library" = {
depends = (([
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.11") (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum"))) ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11" && (compiler.isGhc && (compiler.version).lt "8.11")) ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (errorHandler.buildDepError "integer"));
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,37 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { native = false; ffi = false; gmp = false; check = false; };
package = {
specVersion = "2.0";
identifier = { name = "ghc-bignum"; version = "1.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "libraries@haskell.org";
author = "Sylvain Henry";
homepage = "";
url = "";
synopsis = "GHC BigNum library";
description = "This package provides the low-level implementation of the standard\n'BigNat', 'Natural' and 'Integer' types.";
buildType = "Configure";
};
components = {
"library" = {
depends = [
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
];
buildable = (if !flags.native && !flags.gmp && !flags.ffi
then false
else true) && (if flags.native && (flags.gmp || flags.ffi)
then false
else true) && (if flags.gmp && flags.ffi then false else true);
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,39 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.22";
identifier = { name = "ghc-boot"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Shared functionality between GHC and its boot libraries";
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,43 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "2.2";
identifier = { name = "ghc-prim"; version = "0.7.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "libraries@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "GHC primitives";
description = "This package contains the primitive types and operations supplied by GHC.";
buildType = "Custom";
setup-depends = [
(hsPkgs.buildPackages.base or (pkgs.buildPackages.base or (errorHandler.setupDepError "base")))
(hsPkgs.buildPackages.Cabal or (pkgs.buildPackages.Cabal or (errorHandler.setupDepError "Cabal")))
];
};
components = {
"library" = {
depends = [ (hsPkgs."rts" or (errorHandler.buildDepError "rts")) ];
libs = (pkgs.lib).optionals (system.isWindows) [
(pkgs."user32" or (errorHandler.sysDepError "user32"))
(pkgs."mingw32" or (errorHandler.sysDepError "mingw32"))
(pkgs."mingwex" or (errorHandler.sysDepError "mingwex"))
] ++ (pkgs.lib).optionals (system.isLinux) [
(pkgs."c" or (errorHandler.sysDepError "c"))
(pkgs."m" or (errorHandler.sysDepError "m"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,61 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {
ghci = false;
stage1 = false;
stage2 = false;
stage3 = false;
terminfo = true;
dynamic-system-linker = true;
};
package = {
specVersion = "1.10";
identifier = { name = "ghc"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "glasgow-haskell-users@haskell.org";
author = "The GHC Team";
homepage = "http://www.haskell.org/ghc/";
url = "";
synopsis = "The GHC API";
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee <https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler>\nfor more information.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."process" or (errorHandler.buildDepError "process"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
(hsPkgs."hpc" or (errorHandler.buildDepError "hpc"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
(hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions"))
(hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
(hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
] ++ (if system.isWindows
then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ]
else [
(hsPkgs."unix" or (errorHandler.buildDepError "unix"))
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (errorHandler.buildDepError "terminfo")));
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,44 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { ghci = false; };
package = {
specVersion = "1.10";
identifier = { name = "ghci"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "The library supporting GHC's interactive interpreter";
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
(hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
(hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,38 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "hpc"; version = "0.6.1.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "Andy Gill";
homepage = "";
url = "";
synopsis = "Code Coverage Library for Haskell";
description = "This package provides the code coverage library for Haskell.\n\nSee <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more\ninformation.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,35 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "2.0";
identifier = { name = "integer-gmp"; version = "1.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "hvr@gnu.org";
author = "Herbert Valerio Riedel";
homepage = "";
url = "";
synopsis = "Integer library based on GMP";
description = "This package used to provide an implementation of the standard 'Integer'\ntype based on the\n<http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.\n\nIt is now deprecated in favor of the 'ghc-bignum' package.\n\nIts purpose is to provide backward compatibility for codes directly\ndepending on the `integer-gmp` package.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,45 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "iserv-proxy"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
buildType = "Simple";
};
components = {
exes = {
"iserv-proxy" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."network" or (errorHandler.buildDepError "network"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
];
buildable = true;
};
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,42 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "iserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
buildType = "Simple";
};
components = {
exes = {
"iserv" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
};
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,42 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { network = false; };
package = {
specVersion = "1.10";
identifier = { name = "libiserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "Provides shared functionality between iserv and iserv-proxy";
description = "";
buildType = "Simple";
};
components = {
"library" = {
depends = ([
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
] ++ (pkgs.lib).optionals (flags.network) [
(hsPkgs."network" or (errorHandler.buildDepError "network"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,36 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "remote-iserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
author = "Moritz Angermann <moritz.angermann@gmail.com>";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
buildType = "Simple";
};
components = {
exes = {
"remote-iserv" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
];
buildable = true;
};
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,36 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "template-haskell"; version = "2.17.0.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "libraries@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Support library for Template Haskell";
description = "This package provides modules containing facilities for manipulating\nHaskell source code using Template Haskell.\n\nSee <http://www.haskell.org/haskellwiki/Template_Haskell> for more\ninformation.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."pretty" or (errorHandler.buildDepError "pretty"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,71 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { integer-simple = false; };
package = {
specVersion = "1.10";
identifier = { name = "bytestring"; version = "0.10.12.1"; };
license = "BSD-3-Clause";
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
maintainer = "Haskell Bytestring Team <andrew.lelechenko@gmail.com>, Core Libraries Committee";
author = "Don Stewart,\nDuncan Coutts";
homepage = "https://github.com/haskell/bytestring";
url = "";
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "README.md" "Changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = (([
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.11") (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum"))) ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11" && (compiler.isGhc && (compiler.version).lt "8.11")) ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (errorHandler.buildDepError "integer"));
buildable = true;
modules = [
"Data/ByteString/Builder/ASCII"
"Data/ByteString/Builder/Prim/Binary"
"Data/ByteString/Builder/Prim/ASCII"
"Data/ByteString/Builder/Prim/Internal/Floating"
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
"Data/ByteString/Builder/Prim/Internal/Base16"
"Data/ByteString"
"Data/ByteString/Char8"
"Data/ByteString/Unsafe"
"Data/ByteString/Internal"
"Data/ByteString/Lazy"
"Data/ByteString/Lazy/Char8"
"Data/ByteString/Lazy/Internal"
"Data/ByteString/Short"
"Data/ByteString/Short/Internal"
"Data/ByteString/Builder"
"Data/ByteString/Builder/Extra"
"Data/ByteString/Builder/Prim"
"Data/ByteString/Builder/Internal"
"Data/ByteString/Builder/Prim/Internal"
"Data/ByteString/Lazy/Builder"
"Data/ByteString/Lazy/Builder/Extras"
"Data/ByteString/Lazy/Builder/ASCII"
];
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
includeDirs = [ "include" ];
includes = [ "fpstring.h" ];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }

View File

@ -0,0 +1,61 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.22";
identifier = { name = "ghc-boot"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Shared functionality between GHC and its boot libraries";
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
];
buildable = true;
modules = [
"GHC/BaseDir"
"GHC/LanguageExtensions"
"GHC/Unit/Database"
"GHC/Serialized"
"GHC/ForeignSrcLang"
"GHC/HandleEncoding"
"GHC/Platform"
"GHC/Platform/Host"
"GHC/Settings/Platform"
"GHC/Settings/Utils"
"GHC/UniqueSubdir"
"GHC/Version"
];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }

View File

@ -0,0 +1,572 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {
ghci = false;
stage1 = false;
stage2 = false;
stage3 = false;
terminfo = true;
dynamic-system-linker = true;
};
package = {
specVersion = "1.10";
identifier = { name = "ghc"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "glasgow-haskell-users@haskell.org";
author = "The GHC Team";
homepage = "http://www.haskell.org/ghc/";
url = "";
synopsis = "The GHC API";
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee <https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler>\nfor more information.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."process" or (errorHandler.buildDepError "process"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
(hsPkgs."hpc" or (errorHandler.buildDepError "hpc"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
(hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions"))
(hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
(hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
] ++ (if system.isWindows
then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ]
else [
(hsPkgs."unix" or (errorHandler.buildDepError "unix"))
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (errorHandler.buildDepError "terminfo")));
buildable = true;
modules = [
"GHC/Iface/Ext/Types"
"GHC/Iface/Ext/Debug"
"GHC/Iface/Ext/Binary"
"GHC/Iface/Ext/Utils"
"GHC/Iface/Ext/Ast"
"GHC/SysTools/Ar"
"GHC/SysTools/FileCleanup"
"GHC/Driver/Backend"
"GHC/Driver/Backpack"
"GHC/Driver/Backpack/Syntax"
"GHC/Types/Name/Shape"
"GHC/Iface/Rename"
"GHC/Types/Avail"
"GHC/Utils/Asm"
"GHC/Types/Basic"
"GHC/Core/ConLike"
"GHC/Core/DataCon"
"GHC/Core/PatSyn"
"GHC/Types/Demand"
"GHC/Types/Cpr"
"GHC/Cmm/DebugBlock"
"GHC/Utils/Exception"
"GHC/Types/FieldLabel"
"GHC/Driver/Monad"
"GHC/Driver/Hooks"
"GHC/Driver/Flags"
"GHC/Driver/Ways"
"GHC/Types/Id"
"GHC/Types/Id/Info"
"GHC/Core/Predicate"
"GHC/Utils/Lexeme"
"GHC/Types/Literal"
"GHC/Llvm"
"GHC/Llvm/Syntax"
"GHC/Llvm/MetaData"
"GHC/Llvm/Ppr"
"GHC/Llvm/Types"
"GHC/CmmToLlvm"
"GHC/CmmToLlvm/Base"
"GHC/CmmToLlvm/CodeGen"
"GHC/CmmToLlvm/Data"
"GHC/CmmToLlvm/Ppr"
"GHC/CmmToLlvm/Regs"
"GHC/CmmToLlvm/Mangler"
"GHC/Types/Id/Make"
"GHC/Unit"
"GHC/Unit/Parser"
"GHC/Unit/Ppr"
"GHC/Unit/Types"
"GHC/Unit/Module"
"GHC/Unit/Module/Name"
"GHC/Unit/Module/Location"
"GHC/Unit/Module/Env"
"GHC/Types/Name"
"GHC/Types/Name/Env"
"GHC/Types/Name/Set"
"GHC/Types/Name/Occurrence"
"GHC/Types/Name/Reader"
"GHC/Types/Name/Cache"
"GHC/Types/SrcLoc"
"GHC/Types/Unique/Supply"
"GHC/Types/Unique"
"GHC/Iface/UpdateIdInfos"
"GHC/Types/Var"
"GHC/Types/Var/Env"
"GHC/Types/Var/Set"
"GHC/Data/Graph/UnVar"
"GHC/Cmm/BlockId"
"GHC/Cmm/CLabel"
"GHC/Cmm"
"GHC/Cmm/Info/Build"
"GHC/Cmm/Pipeline"
"GHC/Cmm/CallConv"
"GHC/Cmm/CommonBlockElim"
"GHC/Cmm/Switch/Implement"
"GHC/Cmm/ContFlowOpt"
"GHC/Cmm/Expr"
"GHC/Cmm/Info"
"GHC/Cmm/Lexer"
"GHC/Cmm/Lint"
"GHC/Cmm/Liveness"
"GHC/Cmm/MachOp"
"GHC/Cmm/Monad"
"GHC/Cmm/Switch"
"GHC/Cmm/Node"
"GHC/Cmm/Opt"
"GHC/Cmm/Parser"
"GHC/Cmm/ProcPoint"
"GHC/Cmm/Sink"
"GHC/Cmm/Type"
"GHC/Cmm/Utils"
"GHC/Cmm/LayoutStack"
"GHC/Utils/CliOption"
"GHC/Data/EnumSet"
"GHC/Cmm/Graph"
"GHC/CmmToAsm/Ppr"
"GHC/CmmToAsm/Config"
"GHC/CmmToC"
"GHC/Cmm/Ppr"
"GHC/Cmm/Ppr/Decl"
"GHC/Cmm/Ppr/Expr"
"GHC/Data/Bitmap"
"GHC/Platform/Regs"
"GHC/Platform/ARM"
"GHC/Platform/AArch64"
"GHC/Platform/NoRegs"
"GHC/Platform/PPC"
"GHC/Platform/S390X"
"GHC/Platform/SPARC"
"GHC/Platform/X86"
"GHC/Platform/X86_64"
"GHC/StgToCmm/CgUtils"
"GHC/StgToCmm"
"GHC/StgToCmm/Bind"
"GHC/StgToCmm/Closure"
"GHC/StgToCmm/DataCon"
"GHC/StgToCmm/Env"
"GHC/StgToCmm/Expr"
"GHC/StgToCmm/Foreign"
"GHC/StgToCmm/Heap"
"GHC/StgToCmm/Hpc"
"GHC/StgToCmm/ArgRep"
"GHC/StgToCmm/Layout"
"GHC/StgToCmm/Monad"
"GHC/StgToCmm/Prim"
"GHC/StgToCmm/Prof"
"GHC/StgToCmm/Ticky"
"GHC/StgToCmm/Utils"
"GHC/StgToCmm/ExtCode"
"GHC/StgToCmm/Types"
"GHC/Runtime/Heap/Layout"
"GHC/Core/Opt/Arity"
"GHC/Core/FVs"
"GHC/Core/Lint"
"GHC/Core/Subst"
"GHC/Core/SimpleOpt"
"GHC/Core"
"GHC/Data/TrieMap"
"GHC/Core/Tidy"
"GHC/Core/Unfold"
"GHC/Core/Utils"
"GHC/Core/Map"
"GHC/Core/Seq"
"GHC/Core/Stats"
"GHC/Core/Make"
"GHC/Core/Ppr"
"GHC/HsToCore/PmCheck/Oracle"
"GHC/HsToCore/PmCheck/Ppr"
"GHC/HsToCore/PmCheck/Types"
"GHC/HsToCore/PmCheck"
"GHC/HsToCore/Coverage"
"GHC/HsToCore"
"GHC/HsToCore/Arrows"
"GHC/HsToCore/Binds"
"GHC/HsToCore/Foreign/Call"
"GHC/HsToCore/Expr"
"GHC/HsToCore/Foreign/Decl"
"GHC/HsToCore/GuardedRHSs"
"GHC/HsToCore/ListComp"
"GHC/HsToCore/Monad"
"GHC/HsToCore/Usage"
"GHC/HsToCore/Utils"
"GHC/HsToCore/Docs"
"GHC/HsToCore/Match"
"GHC/HsToCore/Match/Constructor"
"GHC/HsToCore/Match/Literal"
"GHC/Hs"
"GHC/Hs/Binds"
"GHC/Hs/Decls"
"GHC/Hs/Doc"
"GHC/Hs/Expr"
"GHC/Hs/ImpExp"
"GHC/Hs/Lit"
"GHC/Hs/Extension"
"GHC/Hs/Instances"
"GHC/Hs/Pat"
"GHC/Hs/Type"
"GHC/Hs/Utils"
"GHC/Hs/Dump"
"GHC/Iface/Binary"
"GHC/Iface/Recomp/Binary"
"GHC/Tc/TyCl/Build"
"GHC/Iface/Env"
"GHC/Iface/Syntax"
"GHC/Iface/Type"
"GHC/CoreToIface"
"GHC/Iface/Load"
"GHC/Iface/Make"
"GHC/Iface/Recomp"
"GHC/IfaceToCore"
"GHC/Iface/Recomp/Flags"
"GHC/Types/Annotations"
"GHC/Driver/CmdLine"
"GHC/Driver/CodeOutput"
"GHC/Settings/Config"
"GHC/Settings/Constants"
"GHC/Driver/MakeFile"
"GHC/Driver/Phases"
"GHC/Driver/Pipeline/Monad"
"GHC/Driver/Pipeline"
"GHC/Driver/Session"
"GHC/Utils/Error"
"GHC/Driver/Finder"
"GHC"
"GHC/Driver/Make"
"GHC/Plugins"
"GHC/Prelude"
"GHC/Parser/Header"
"GHC/Driver/Main"
"GHC/Hs/Stats"
"GHC/Driver/Types"
"GHC/Runtime/Eval"
"GHC/Runtime/Eval/Types"
"GHC/Runtime/Loader"
"GHC/Unit/Info"
"GHC/Unit/State"
"GHC/Driver/Plugins"
"GHC/Tc/Plugin"
"GHC/Core/Ppr/TyThing"
"GHC/Settings"
"GHC/Iface/Tidy/StaticPtrTable"
"GHC/SysTools"
"GHC/SysTools/BaseDir"
"GHC/SysTools/Terminal"
"GHC/SysTools/ExtraObj"
"GHC/SysTools/Info"
"GHC/SysTools/Process"
"GHC/SysTools/Tasks"
"GHC/Settings/IO"
"GHC/SysTools/Elf"
"GHC/Iface/Tidy"
"GHC/Parser/CharClass"
"GHC/Parser/Lexer"
"GHC/Core/Coercion/Opt"
"GHC/Parser"
"GHC/Parser/PostProcess"
"GHC/Parser/PostProcess/Haddock"
"GHC/Parser/Annotation"
"GHC/Types/ForeignCall"
"GHC/Builtin/Uniques"
"GHC/Builtin/Utils"
"GHC/Builtin/Names"
"GHC/Core/Opt/ConstantFold"
"GHC/Builtin/PrimOps"
"GHC/Builtin/RebindableNames"
"GHC/Builtin/Types/Prim"
"GHC/Builtin/Types"
"GHC/Types/CostCentre"
"GHC/Types/CostCentre/State"
"GHC/Rename/Bind"
"GHC/Rename/Env"
"GHC/Rename/Expr"
"GHC/Rename/Doc"
"GHC/Rename/Names"
"GHC/Rename/Pat"
"GHC/Rename/Module"
"GHC/Rename/Splice"
"GHC/Rename/HsType"
"GHC/Rename/Fixity"
"GHC/Rename/Utils"
"GHC/Rename/Unbound"
"GHC/Core/Opt/Monad"
"GHC/Core/Opt/CSE"
"GHC/Core/Opt/FloatIn"
"GHC/Core/Opt/FloatOut"
"GHC/Core/Opt/LiberateCase"
"GHC/Core/Opt/OccurAnal"
"GHC/Core/Opt/StaticArgs"
"GHC/Core/Opt/SetLevels"
"GHC/Core/Opt/Pipeline"
"GHC/Core/Opt/Simplify/Env"
"GHC/Core/Opt/Simplify/Monad"
"GHC/Core/Opt/Simplify/Utils"
"GHC/Core/Opt/Simplify"
"GHC/Stg/Pipeline"
"GHC/Stg/Stats"
"GHC/Stg/CSE"
"GHC/Stg/Lift"
"GHC/Stg/Lift/Analysis"
"GHC/Stg/Lift/Monad"
"GHC/Stg/Subst"
"GHC/Stg/Unarise"
"GHC/Stg/Lint"
"GHC/Stg/Syntax"
"GHC/Stg/FVs"
"GHC/Stg/DepAnal"
"GHC/CoreToStg"
"GHC/CoreToStg/Prep"
"GHC/Types/RepType"
"GHC/Core/Rules"
"GHC/Core/Opt/SpecConstr"
"GHC/Core/Opt/Specialise"
"GHC/Core/Opt/CallArity"
"GHC/Core/Opt/DmdAnal"
"GHC/Core/Opt/CprAnal"
"GHC/Core/Opt/Exitify"
"GHC/Core/Opt/WorkWrap"
"GHC/Core/Opt/WorkWrap/Utils"
"GHC/Tc/Instance/Family"
"GHC/Tc/Instance/Class"
"GHC/Tc/Utils/Instantiate"
"GHC/Tc/Gen/Annotation"
"GHC/Tc/Gen/Arrow"
"GHC/Tc/Gen/Bind"
"GHC/Tc/Gen/Sig"
"GHC/Tc/TyCl/Class"
"GHC/Tc/Gen/Default"
"GHC/Tc/Deriv"
"GHC/Tc/Deriv/Infer"
"GHC/Tc/Deriv/Utils"
"GHC/Tc/Utils/Env"
"GHC/Tc/Gen/Expr"
"GHC/Tc/Gen/Foreign"
"GHC/Tc/Deriv/Generate"
"GHC/Tc/Deriv/Functor"
"GHC/Tc/Deriv/Generics"
"GHC/Tc/Utils/Zonk"
"GHC/Tc/Utils/TcType"
"GHC/Tc/TyCl/Instance"
"GHC/Tc/Utils/TcMType"
"GHC/Tc/Validity"
"GHC/Tc/Gen/Match"
"GHC/Tc/Gen/Pat"
"GHC/Tc/TyCl/PatSyn"
"GHC/Tc/Module"
"GHC/Tc/Utils/Backpack"
"GHC/Tc/Gen/Export"
"GHC/Tc/Utils/Monad"
"GHC/Tc/Types"
"GHC/Tc/Types/Constraint"
"GHC/Tc/Types/Origin"
"GHC/Tc/Gen/Rule"
"GHC/Tc/Errors/Hole"
"GHC/Tc/Errors/Hole/FitTypes"
"GHC/Tc/Errors"
"GHC/Tc/TyCl"
"GHC/Tc/TyCl/Utils"
"GHC/Tc/Instance/Typeable"
"GHC/Tc/Gen/HsType"
"GHC/Tc/Types/Evidence"
"GHC/Tc/Types/EvTerm"
"GHC/Tc/Utils/Unify"
"GHC/Tc/Solver"
"GHC/Tc/Solver/Interact"
"GHC/Tc/Solver/Canonical"
"GHC/Tc/Solver/Flatten"
"GHC/Tc/Solver/Monad"
"GHC/Builtin/Types/Literals"
"GHC/Tc/Gen/Splice"
"GHC/Core/Class"
"GHC/Core/Coercion"
"GHC/HsToCore/Quote"
"GHC/Builtin/Names/TH"
"GHC/Core/FamInstEnv"
"GHC/Tc/Instance/FunDeps"
"GHC/Core/InstEnv"
"GHC/Core/Multiplicity"
"GHC/Core/UsageEnv"
"GHC/Core/TyCon"
"GHC/Core/Coercion/Axiom"
"GHC/Core/Type"
"GHC/Core/TyCo/Rep"
"GHC/Core/TyCo/FVs"
"GHC/Core/TyCo/Subst"
"GHC/Core/TyCo/Ppr"
"GHC/Core/TyCo/Tidy"
"GHC/Core/Unify"
"GHC/Data/Bag"
"GHC/Utils/Binary"
"GHC/Data/BooleanFormula"
"GHC/Utils/BufHandle"
"GHC/Data/Graph/Directed"
"GHC/Utils/Encoding"
"GHC/Utils/IO/Unsafe"
"GHC/Data/FastMutInt"
"GHC/Data/FastString"
"GHC/Data/FastString/Env"
"GHC/Utils/Fingerprint"
"GHC/Data/FiniteMap"
"GHC/Utils/FV"
"GHC/Data/Graph/Base"
"GHC/Data/Graph/Color"
"GHC/Data/Graph/Ops"
"GHC/Data/Graph/Ppr"
"GHC/Data/IOEnv"
"GHC/Utils/Json"
"GHC/Data/List/SetOps"
"GHC/Data/Maybe"
"GHC/Utils/Monad"
"GHC/Data/OrdList"
"GHC/Utils/Outputable"
"GHC/Data/Pair"
"GHC/Utils/Panic"
"GHC/Utils/Panic/Plain"
"GHC/Utils/Ppr/Colour"
"GHC/Utils/Ppr"
"GHC/Utils/Monad/State"
"GHC/Data/Stream"
"GHC/Data/StringBuffer"
"GHC/Types/Unique/DFM"
"GHC/Types/Unique/DSet"
"GHC/Types/Unique/FM"
"GHC/Types/Unique/Set"
"GHC/Utils/Misc"
"GHC/Cmm/Dataflow"
"GHC/Cmm/Dataflow/Block"
"GHC/Cmm/Dataflow/Collections"
"GHC/Cmm/Dataflow/Graph"
"GHC/Cmm/Dataflow/Label"
"GHC/CmmToAsm"
"GHC/CmmToAsm/Reg/Target"
"GHC/CmmToAsm/Monad"
"GHC/CmmToAsm/Instr"
"GHC/CmmToAsm/BlockLayout"
"GHC/CmmToAsm/CFG"
"GHC/CmmToAsm/CFG/Dominators"
"GHC/CmmToAsm/Format"
"GHC/Platform/Reg"
"GHC/Platform/Reg/Class"
"GHC/CmmToAsm/PIC"
"GHC/CmmToAsm/CPrim"
"GHC/CmmToAsm/X86/Regs"
"GHC/CmmToAsm/X86/RegInfo"
"GHC/CmmToAsm/X86/Instr"
"GHC/CmmToAsm/X86/Cond"
"GHC/CmmToAsm/X86/Ppr"
"GHC/CmmToAsm/X86/CodeGen"
"GHC/CmmToAsm/PPC/Regs"
"GHC/CmmToAsm/PPC/RegInfo"
"GHC/CmmToAsm/PPC/Instr"
"GHC/CmmToAsm/PPC/Cond"
"GHC/CmmToAsm/PPC/Ppr"
"GHC/CmmToAsm/PPC/CodeGen"
"GHC/CmmToAsm/SPARC/Base"
"GHC/CmmToAsm/SPARC/Regs"
"GHC/CmmToAsm/SPARC/Imm"
"GHC/CmmToAsm/SPARC/AddrMode"
"GHC/CmmToAsm/SPARC/Cond"
"GHC/CmmToAsm/SPARC/Instr"
"GHC/CmmToAsm/SPARC/Stack"
"GHC/CmmToAsm/SPARC/ShortcutJump"
"GHC/CmmToAsm/SPARC/Ppr"
"GHC/CmmToAsm/SPARC/CodeGen"
"GHC/CmmToAsm/SPARC/CodeGen/Amode"
"GHC/CmmToAsm/SPARC/CodeGen/Base"
"GHC/CmmToAsm/SPARC/CodeGen/CondCode"
"GHC/CmmToAsm/SPARC/CodeGen/Gen32"
"GHC/CmmToAsm/SPARC/CodeGen/Gen64"
"GHC/CmmToAsm/SPARC/CodeGen/Sanity"
"GHC/CmmToAsm/SPARC/CodeGen/Expand"
"GHC/CmmToAsm/Reg/Liveness"
"GHC/CmmToAsm/Reg/Graph"
"GHC/CmmToAsm/Reg/Graph/Stats"
"GHC/CmmToAsm/Reg/Graph/Base"
"GHC/CmmToAsm/Reg/Graph/X86"
"GHC/CmmToAsm/Reg/Graph/Coalesce"
"GHC/CmmToAsm/Reg/Graph/Spill"
"GHC/CmmToAsm/Reg/Graph/SpillClean"
"GHC/CmmToAsm/Reg/Graph/SpillCost"
"GHC/CmmToAsm/Reg/Graph/TrivColorable"
"GHC/CmmToAsm/Reg/Linear"
"GHC/CmmToAsm/Reg/Linear/JoinToTargets"
"GHC/CmmToAsm/Reg/Linear/State"
"GHC/CmmToAsm/Reg/Linear/Stats"
"GHC/CmmToAsm/Reg/Linear/FreeRegs"
"GHC/CmmToAsm/Reg/Linear/StackMap"
"GHC/CmmToAsm/Reg/Linear/Base"
"GHC/CmmToAsm/Reg/Linear/X86"
"GHC/CmmToAsm/Reg/Linear/X86_64"
"GHC/CmmToAsm/Reg/Linear/PPC"
"GHC/CmmToAsm/Reg/Linear/SPARC"
"GHC/CmmToAsm/Reg/Utils"
"GHC/CmmToAsm/Dwarf"
"GHC/CmmToAsm/Dwarf/Types"
"GHC/CmmToAsm/Dwarf/Constants"
"GHC/ThToHs"
"GHC/ByteCode/Types"
"GHC/ByteCode/Asm"
"GHC/ByteCode/Instr"
"GHC/ByteCode/InfoTable"
"GHC/ByteCode/Linker"
"GHC/CoreToByteCode"
"GHC/Runtime/Debugger"
"GHC/Runtime/Linker/Types"
"GHC/Runtime/Linker"
"GHC/Runtime/Heap/Inspect"
"GHC/Runtime/Interpreter"
"GHC/Runtime/Interpreter/Types"
];
cSources = [
"cbits/cutils.c"
"cbits/genSym.c"
"cbits/keepCAFsForGHCi.c"
];
hsSourceDirs = [ "." ];
includeDirs = ([
"."
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build") ++ (if flags.stage1
then [ "stage1" ]
else if flags.stage2
then [ "stage2" ]
else (pkgs.lib).optional (flags.stage3) "stage2");
};
};
} // rec { src = (pkgs.lib).mkDefault ../compiler; }

View File

@ -0,0 +1,70 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { ghci = false; };
package = {
specVersion = "1.10";
identifier = { name = "ghci"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "The library supporting GHC's interactive interpreter";
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
(hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
(hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
modules = [
"GHCi/BreakArray"
"GHCi/BinaryArray"
"GHCi/Message"
"GHCi/ResolvedBCO"
"GHCi/RemoteTypes"
"GHCi/FFI"
"GHCi/InfoTable"
"GHCi/StaticPtrTable"
"GHCi/TH/Binary"
"SizedSeq"
] ++ (pkgs.lib).optionals (flags.ghci) [
"GHCi/Run"
"GHCi/CreateBCO"
"GHCi/ObjLink"
"GHCi/Signals"
"GHCi/TH"
];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }

View File

@ -0,0 +1,52 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "hpc"; version = "0.6.1.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "Andy Gill";
homepage = "";
url = "";
synopsis = "Code Coverage Library for Haskell";
description = "This package provides the code coverage library for Haskell.\n\nSee <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more\ninformation.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
];
buildable = true;
modules = [
"Trace/Hpc/Util"
"Trace/Hpc/Mix"
"Trace/Hpc/Tix"
"Trace/Hpc/Reflect"
];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/hpc; }

View File

@ -0,0 +1,55 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "iserv-proxy"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
exes = {
"iserv-proxy" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."network" or (errorHandler.buildDepError "network"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
];
buildable = true;
hsSourceDirs = [ "src" ];
mainPath = [ "Main.hs" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }

View File

@ -0,0 +1,54 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "iserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
exes = {
"iserv" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
cSources = [ "cbits/iservmain.c" ];
hsSourceDirs = [ "src" ];
includeDirs = [ "." ];
mainPath = [ "Main.hs" ] ++ [ "" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }

View File

@ -0,0 +1,58 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { network = false; };
package = {
specVersion = "1.10";
identifier = { name = "libiserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "Provides shared functionality between iserv and iserv-proxy";
description = "";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = ([
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
] ++ (pkgs.lib).optionals (flags.network) [
(hsPkgs."network" or (errorHandler.buildDepError "network"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
modules = [
"Lib"
"GHCi/Utils"
] ++ (pkgs.lib).optionals (flags.network) [
"Remote/Message"
"Remote/Slave"
];
hsSourceDirs = [ "src" ];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }

View File

@ -0,0 +1,46 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "remote-iserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
author = "Moritz Angermann <moritz.angermann@gmail.com>";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
exes = {
"remote-iserv" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
];
buildable = true;
hsSourceDirs = [ "src" ];
mainPath = [ "Cli.hs" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }

View File

@ -0,0 +1,94 @@
{
pkgs = hackage:
{
packages = {
"exceptions".revision = (((hackage."exceptions")."0.10.4").revisions).default;
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
"ghc-prim".revision = (((hackage."ghc-prim")."0.7.0").revisions).default;
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
"ghc-heap".revision = (((hackage."ghc-heap")."9.0.1").revisions).default;
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
"rts".revision = (((hackage."rts")."1.0").revisions).default;
"deepseq".revision = (((hackage."deepseq")."1.4.5.0").revisions).default;
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
"template-haskell".revision = (((hackage."template-haskell")."2.17.0.0").revisions).default;
"containers".revision = (((hackage."containers")."0.6.4.1").revisions).default;
"base".revision = (((hackage."base")."4.15.0.0").revisions).default;
"time".revision = (((hackage."time")."1.9.3").revisions).default;
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
"ghc-bignum".revision = (((hackage."ghc-bignum")."1.0").revisions).default;
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
"process".revision = (((hackage."process")."1.6.11.0").revisions).default;
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."9.0.1").revisions).default;
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
};
compiler = {
version = "9.0.1";
nix-name = "ghc901";
packages = {
"exceptions" = "0.10.4";
"ghc-prim" = "0.7.0";
"stm" = "2.5.0.0";
"ghc-heap" = "9.0.1";
"mtl" = "2.2.2";
"rts" = "1.0";
"deepseq" = "1.4.5.0";
"template-haskell" = "2.17.0.0";
"containers" = "0.6.4.1";
"base" = "4.15.0.0";
"time" = "1.9.3";
"transformers" = "0.5.6.2";
"ghc-bignum" = "1.0";
"filepath" = "1.4.2.1";
"pretty" = "1.1.3.6";
"ghc-boot-th" = "9.0.1";
"array" = "0.5.4.0";
};
};
};
extras = hackage:
{
packages = {
ghc = ./.plan.nix/ghc.nix;
bytestring = ./.plan.nix/bytestring.nix;
remote-iserv = ./.plan.nix/remote-iserv.nix;
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
hpc = ./.plan.nix/hpc.nix;
libiserv = ./.plan.nix/libiserv.nix;
ghc-boot = ./.plan.nix/ghc-boot.nix;
ghci = ./.plan.nix/ghci.nix;
iserv = ./.plan.nix/iserv.nix;
};
};
modules = [
({ lib, ... }:
{
packages = {
"ghc" = {
flags = {
"stage1" = lib.mkOverride 900 false;
"stage2" = lib.mkOverride 900 false;
"stage3" = lib.mkOverride 900 false;
"dynamic-system-linker" = lib.mkOverride 900 true;
"ghci" = lib.mkOverride 900 true;
"terminfo" = lib.mkOverride 900 true;
};
};
"bytestring" = {
flags = { "integer-simple" = lib.mkOverride 900 false; };
};
"remote-iserv" = { flags = {}; };
"iserv-proxy" = { flags = {}; };
"hpc" = { flags = {}; };
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
"ghc-boot" = { flags = {}; };
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
"iserv" = { flags = {}; };
};
})
];
}

View File

@ -0,0 +1,71 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { integer-simple = false; };
package = {
specVersion = "1.10";
identifier = { name = "bytestring"; version = "0.10.12.1"; };
license = "BSD-3-Clause";
copyright = "Copyright (c) Don Stewart 2005-2009,\n(c) Duncan Coutts 2006-2015,\n(c) David Roundy 2003-2005,\n(c) Jasper Van der Jeugt 2010,\n(c) Simon Meier 2010-2013.";
maintainer = "Haskell Bytestring Team <andrew.lelechenko@gmail.com>, Core Libraries Committee";
author = "Don Stewart,\nDuncan Coutts";
homepage = "https://github.com/haskell/bytestring";
url = "";
synopsis = "Fast, compact, strict and lazy byte strings with a list interface";
description = "An efficient compact, immutable byte string type (both strict and lazy)\nsuitable for binary or 8-bit character data.\n\nThe 'ByteString' type represents sequences of bytes or 8-bit characters.\nIt is suitable for high performance use, both in terms of large data\nquantities, or high speed requirements. The 'ByteString' functions follow\nthe same style as Haskell\\'s ordinary lists, so it is easy to convert code\nfrom using 'String' to 'ByteString'.\n\nTwo 'ByteString' variants are provided:\n\n* Strict 'ByteString's keep the string as a single large array. This\nmakes them convenient for passing data between C and Haskell.\n\n* Lazy 'ByteString's use a lazy list of strict chunks which makes it\nsuitable for I\\/O streaming tasks.\n\nThe @Char8@ modules provide a character-based view of the same\nunderlying 'ByteString' types. This makes it convenient to handle mixed\nbinary and 8-bit character content (which is common in many file formats\nand network protocols).\n\nThe 'Builder' module provides an efficient way to build up 'ByteString's\nin an ad-hoc way by repeated concatenation. This is ideal for fast\nserialisation or pretty printing.\n\nThere is also a 'ShortByteString' type which has a lower memory overhead\nand can can be converted to or from a 'ByteString', but supports very few\nother operations. It is suitable for keeping many short strings in memory.\n\n'ByteString's are not designed for Unicode. For Unicode strings you should\nuse the 'Text' type from the @text@ package.\n\nThese modules are intended to be imported qualified, to avoid name clashes\nwith \"Prelude\" functions, e.g.\n\n> import qualified Data.ByteString as BS";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "README.md" "Changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = (([
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.11") (hsPkgs."ghc-bignum" or (errorHandler.buildDepError "ghc-bignum"))) ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "6.11" && (compiler.isGhc && (compiler.version).lt "8.11")) ((pkgs.lib).optional (!flags.integer-simple) (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp")))) ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "6.9" && (compiler.isGhc && (compiler.version).lt "6.11")) (hsPkgs."integer" or (errorHandler.buildDepError "integer"));
buildable = true;
modules = [
"Data/ByteString/Builder/ASCII"
"Data/ByteString/Builder/Prim/Binary"
"Data/ByteString/Builder/Prim/ASCII"
"Data/ByteString/Builder/Prim/Internal/Floating"
"Data/ByteString/Builder/Prim/Internal/UncheckedShifts"
"Data/ByteString/Builder/Prim/Internal/Base16"
"Data/ByteString"
"Data/ByteString/Char8"
"Data/ByteString/Unsafe"
"Data/ByteString/Internal"
"Data/ByteString/Lazy"
"Data/ByteString/Lazy/Char8"
"Data/ByteString/Lazy/Internal"
"Data/ByteString/Short"
"Data/ByteString/Short/Internal"
"Data/ByteString/Builder"
"Data/ByteString/Builder/Extra"
"Data/ByteString/Builder/Prim"
"Data/ByteString/Builder/Internal"
"Data/ByteString/Builder/Prim/Internal"
"Data/ByteString/Lazy/Builder"
"Data/ByteString/Lazy/Builder/Extras"
"Data/ByteString/Lazy/Builder/ASCII"
];
cSources = [ "cbits/fpstring.c" "cbits/itoa.c" ];
includeDirs = [ "include" ];
includes = [ "fpstring.h" ];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/bytestring; }

View File

@ -0,0 +1,61 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.22";
identifier = { name = "ghc-boot"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Shared functionality between GHC and its boot libraries";
description = "This library is shared between GHC, ghc-pkg, and other boot\nlibraries.\n\nA note about \"GHC.Unit.Database\": it only deals with the subset of\nthe package database that the compiler cares about: modules\npaths etc and not package metadata like description, authors\netc. It is thus not a library interface to ghc-pkg and is *not*\nsuitable for modifying GHC package databases.\n\nThe package database format and this library are constructed in\nsuch a way that while ghc-pkg depends on Cabal, the GHC library\nand program do not have to depend on Cabal.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
];
buildable = true;
modules = [
"GHC/BaseDir"
"GHC/LanguageExtensions"
"GHC/Unit/Database"
"GHC/Serialized"
"GHC/ForeignSrcLang"
"GHC/HandleEncoding"
"GHC/Platform"
"GHC/Platform/Host"
"GHC/Settings/Platform"
"GHC/Settings/Utils"
"GHC/UniqueSubdir"
"GHC/Version"
];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghc-boot; }

View File

@ -0,0 +1,572 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {
ghci = false;
stage1 = false;
stage2 = false;
stage3 = false;
terminfo = true;
dynamic-system-linker = true;
};
package = {
specVersion = "1.10";
identifier = { name = "ghc"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "glasgow-haskell-users@haskell.org";
author = "The GHC Team";
homepage = "http://www.haskell.org/ghc/";
url = "";
synopsis = "The GHC API";
description = "GHC's functionality can be useful for more things than just\ncompiling Haskell programs. Important use cases are programs\nthat analyse (and perhaps transform) Haskell code. Others\ninclude loading Haskell code dynamically in a GHCi-like manner.\nFor this reason, a lot of GHC's functionality is made available\nthrough this package.\n\nSee <https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/compiler>\nfor more information.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."process" or (errorHandler.buildDepError "process"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
(hsPkgs."hpc" or (errorHandler.buildDepError "hpc"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
(hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions"))
(hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
(hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
] ++ (if system.isWindows
then [ (hsPkgs."Win32" or (errorHandler.buildDepError "Win32")) ]
else [
(hsPkgs."unix" or (errorHandler.buildDepError "unix"))
] ++ (pkgs.lib).optional (flags.terminfo) (hsPkgs."terminfo" or (errorHandler.buildDepError "terminfo")));
buildable = true;
modules = [
"GHC/Iface/Ext/Types"
"GHC/Iface/Ext/Debug"
"GHC/Iface/Ext/Binary"
"GHC/Iface/Ext/Utils"
"GHC/Iface/Ext/Ast"
"GHC/SysTools/Ar"
"GHC/SysTools/FileCleanup"
"GHC/Driver/Backend"
"GHC/Driver/Backpack"
"GHC/Driver/Backpack/Syntax"
"GHC/Types/Name/Shape"
"GHC/Iface/Rename"
"GHC/Types/Avail"
"GHC/Utils/Asm"
"GHC/Types/Basic"
"GHC/Core/ConLike"
"GHC/Core/DataCon"
"GHC/Core/PatSyn"
"GHC/Types/Demand"
"GHC/Types/Cpr"
"GHC/Cmm/DebugBlock"
"GHC/Utils/Exception"
"GHC/Types/FieldLabel"
"GHC/Driver/Monad"
"GHC/Driver/Hooks"
"GHC/Driver/Flags"
"GHC/Driver/Ways"
"GHC/Types/Id"
"GHC/Types/Id/Info"
"GHC/Core/Predicate"
"GHC/Utils/Lexeme"
"GHC/Types/Literal"
"GHC/Llvm"
"GHC/Llvm/Syntax"
"GHC/Llvm/MetaData"
"GHC/Llvm/Ppr"
"GHC/Llvm/Types"
"GHC/CmmToLlvm"
"GHC/CmmToLlvm/Base"
"GHC/CmmToLlvm/CodeGen"
"GHC/CmmToLlvm/Data"
"GHC/CmmToLlvm/Ppr"
"GHC/CmmToLlvm/Regs"
"GHC/CmmToLlvm/Mangler"
"GHC/Types/Id/Make"
"GHC/Unit"
"GHC/Unit/Parser"
"GHC/Unit/Ppr"
"GHC/Unit/Types"
"GHC/Unit/Module"
"GHC/Unit/Module/Name"
"GHC/Unit/Module/Location"
"GHC/Unit/Module/Env"
"GHC/Types/Name"
"GHC/Types/Name/Env"
"GHC/Types/Name/Set"
"GHC/Types/Name/Occurrence"
"GHC/Types/Name/Reader"
"GHC/Types/Name/Cache"
"GHC/Types/SrcLoc"
"GHC/Types/Unique/Supply"
"GHC/Types/Unique"
"GHC/Iface/UpdateIdInfos"
"GHC/Types/Var"
"GHC/Types/Var/Env"
"GHC/Types/Var/Set"
"GHC/Data/Graph/UnVar"
"GHC/Cmm/BlockId"
"GHC/Cmm/CLabel"
"GHC/Cmm"
"GHC/Cmm/Info/Build"
"GHC/Cmm/Pipeline"
"GHC/Cmm/CallConv"
"GHC/Cmm/CommonBlockElim"
"GHC/Cmm/Switch/Implement"
"GHC/Cmm/ContFlowOpt"
"GHC/Cmm/Expr"
"GHC/Cmm/Info"
"GHC/Cmm/Lexer"
"GHC/Cmm/Lint"
"GHC/Cmm/Liveness"
"GHC/Cmm/MachOp"
"GHC/Cmm/Monad"
"GHC/Cmm/Switch"
"GHC/Cmm/Node"
"GHC/Cmm/Opt"
"GHC/Cmm/Parser"
"GHC/Cmm/ProcPoint"
"GHC/Cmm/Sink"
"GHC/Cmm/Type"
"GHC/Cmm/Utils"
"GHC/Cmm/LayoutStack"
"GHC/Utils/CliOption"
"GHC/Data/EnumSet"
"GHC/Cmm/Graph"
"GHC/CmmToAsm/Ppr"
"GHC/CmmToAsm/Config"
"GHC/CmmToC"
"GHC/Cmm/Ppr"
"GHC/Cmm/Ppr/Decl"
"GHC/Cmm/Ppr/Expr"
"GHC/Data/Bitmap"
"GHC/Platform/Regs"
"GHC/Platform/ARM"
"GHC/Platform/AArch64"
"GHC/Platform/NoRegs"
"GHC/Platform/PPC"
"GHC/Platform/S390X"
"GHC/Platform/SPARC"
"GHC/Platform/X86"
"GHC/Platform/X86_64"
"GHC/StgToCmm/CgUtils"
"GHC/StgToCmm"
"GHC/StgToCmm/Bind"
"GHC/StgToCmm/Closure"
"GHC/StgToCmm/DataCon"
"GHC/StgToCmm/Env"
"GHC/StgToCmm/Expr"
"GHC/StgToCmm/Foreign"
"GHC/StgToCmm/Heap"
"GHC/StgToCmm/Hpc"
"GHC/StgToCmm/ArgRep"
"GHC/StgToCmm/Layout"
"GHC/StgToCmm/Monad"
"GHC/StgToCmm/Prim"
"GHC/StgToCmm/Prof"
"GHC/StgToCmm/Ticky"
"GHC/StgToCmm/Utils"
"GHC/StgToCmm/ExtCode"
"GHC/StgToCmm/Types"
"GHC/Runtime/Heap/Layout"
"GHC/Core/Opt/Arity"
"GHC/Core/FVs"
"GHC/Core/Lint"
"GHC/Core/Subst"
"GHC/Core/SimpleOpt"
"GHC/Core"
"GHC/Data/TrieMap"
"GHC/Core/Tidy"
"GHC/Core/Unfold"
"GHC/Core/Utils"
"GHC/Core/Map"
"GHC/Core/Seq"
"GHC/Core/Stats"
"GHC/Core/Make"
"GHC/Core/Ppr"
"GHC/HsToCore/PmCheck/Oracle"
"GHC/HsToCore/PmCheck/Ppr"
"GHC/HsToCore/PmCheck/Types"
"GHC/HsToCore/PmCheck"
"GHC/HsToCore/Coverage"
"GHC/HsToCore"
"GHC/HsToCore/Arrows"
"GHC/HsToCore/Binds"
"GHC/HsToCore/Foreign/Call"
"GHC/HsToCore/Expr"
"GHC/HsToCore/Foreign/Decl"
"GHC/HsToCore/GuardedRHSs"
"GHC/HsToCore/ListComp"
"GHC/HsToCore/Monad"
"GHC/HsToCore/Usage"
"GHC/HsToCore/Utils"
"GHC/HsToCore/Docs"
"GHC/HsToCore/Match"
"GHC/HsToCore/Match/Constructor"
"GHC/HsToCore/Match/Literal"
"GHC/Hs"
"GHC/Hs/Binds"
"GHC/Hs/Decls"
"GHC/Hs/Doc"
"GHC/Hs/Expr"
"GHC/Hs/ImpExp"
"GHC/Hs/Lit"
"GHC/Hs/Extension"
"GHC/Hs/Instances"
"GHC/Hs/Pat"
"GHC/Hs/Type"
"GHC/Hs/Utils"
"GHC/Hs/Dump"
"GHC/Iface/Binary"
"GHC/Iface/Recomp/Binary"
"GHC/Tc/TyCl/Build"
"GHC/Iface/Env"
"GHC/Iface/Syntax"
"GHC/Iface/Type"
"GHC/CoreToIface"
"GHC/Iface/Load"
"GHC/Iface/Make"
"GHC/Iface/Recomp"
"GHC/IfaceToCore"
"GHC/Iface/Recomp/Flags"
"GHC/Types/Annotations"
"GHC/Driver/CmdLine"
"GHC/Driver/CodeOutput"
"GHC/Settings/Config"
"GHC/Settings/Constants"
"GHC/Driver/MakeFile"
"GHC/Driver/Phases"
"GHC/Driver/Pipeline/Monad"
"GHC/Driver/Pipeline"
"GHC/Driver/Session"
"GHC/Utils/Error"
"GHC/Driver/Finder"
"GHC"
"GHC/Driver/Make"
"GHC/Plugins"
"GHC/Prelude"
"GHC/Parser/Header"
"GHC/Driver/Main"
"GHC/Hs/Stats"
"GHC/Driver/Types"
"GHC/Runtime/Eval"
"GHC/Runtime/Eval/Types"
"GHC/Runtime/Loader"
"GHC/Unit/Info"
"GHC/Unit/State"
"GHC/Driver/Plugins"
"GHC/Tc/Plugin"
"GHC/Core/Ppr/TyThing"
"GHC/Settings"
"GHC/Iface/Tidy/StaticPtrTable"
"GHC/SysTools"
"GHC/SysTools/BaseDir"
"GHC/SysTools/Terminal"
"GHC/SysTools/ExtraObj"
"GHC/SysTools/Info"
"GHC/SysTools/Process"
"GHC/SysTools/Tasks"
"GHC/Settings/IO"
"GHC/SysTools/Elf"
"GHC/Iface/Tidy"
"GHC/Parser/CharClass"
"GHC/Parser/Lexer"
"GHC/Core/Coercion/Opt"
"GHC/Parser"
"GHC/Parser/PostProcess"
"GHC/Parser/PostProcess/Haddock"
"GHC/Parser/Annotation"
"GHC/Types/ForeignCall"
"GHC/Builtin/Uniques"
"GHC/Builtin/Utils"
"GHC/Builtin/Names"
"GHC/Core/Opt/ConstantFold"
"GHC/Builtin/PrimOps"
"GHC/Builtin/RebindableNames"
"GHC/Builtin/Types/Prim"
"GHC/Builtin/Types"
"GHC/Types/CostCentre"
"GHC/Types/CostCentre/State"
"GHC/Rename/Bind"
"GHC/Rename/Env"
"GHC/Rename/Expr"
"GHC/Rename/Doc"
"GHC/Rename/Names"
"GHC/Rename/Pat"
"GHC/Rename/Module"
"GHC/Rename/Splice"
"GHC/Rename/HsType"
"GHC/Rename/Fixity"
"GHC/Rename/Utils"
"GHC/Rename/Unbound"
"GHC/Core/Opt/Monad"
"GHC/Core/Opt/CSE"
"GHC/Core/Opt/FloatIn"
"GHC/Core/Opt/FloatOut"
"GHC/Core/Opt/LiberateCase"
"GHC/Core/Opt/OccurAnal"
"GHC/Core/Opt/StaticArgs"
"GHC/Core/Opt/SetLevels"
"GHC/Core/Opt/Pipeline"
"GHC/Core/Opt/Simplify/Env"
"GHC/Core/Opt/Simplify/Monad"
"GHC/Core/Opt/Simplify/Utils"
"GHC/Core/Opt/Simplify"
"GHC/Stg/Pipeline"
"GHC/Stg/Stats"
"GHC/Stg/CSE"
"GHC/Stg/Lift"
"GHC/Stg/Lift/Analysis"
"GHC/Stg/Lift/Monad"
"GHC/Stg/Subst"
"GHC/Stg/Unarise"
"GHC/Stg/Lint"
"GHC/Stg/Syntax"
"GHC/Stg/FVs"
"GHC/Stg/DepAnal"
"GHC/CoreToStg"
"GHC/CoreToStg/Prep"
"GHC/Types/RepType"
"GHC/Core/Rules"
"GHC/Core/Opt/SpecConstr"
"GHC/Core/Opt/Specialise"
"GHC/Core/Opt/CallArity"
"GHC/Core/Opt/DmdAnal"
"GHC/Core/Opt/CprAnal"
"GHC/Core/Opt/Exitify"
"GHC/Core/Opt/WorkWrap"
"GHC/Core/Opt/WorkWrap/Utils"
"GHC/Tc/Instance/Family"
"GHC/Tc/Instance/Class"
"GHC/Tc/Utils/Instantiate"
"GHC/Tc/Gen/Annotation"
"GHC/Tc/Gen/Arrow"
"GHC/Tc/Gen/Bind"
"GHC/Tc/Gen/Sig"
"GHC/Tc/TyCl/Class"
"GHC/Tc/Gen/Default"
"GHC/Tc/Deriv"
"GHC/Tc/Deriv/Infer"
"GHC/Tc/Deriv/Utils"
"GHC/Tc/Utils/Env"
"GHC/Tc/Gen/Expr"
"GHC/Tc/Gen/Foreign"
"GHC/Tc/Deriv/Generate"
"GHC/Tc/Deriv/Functor"
"GHC/Tc/Deriv/Generics"
"GHC/Tc/Utils/Zonk"
"GHC/Tc/Utils/TcType"
"GHC/Tc/TyCl/Instance"
"GHC/Tc/Utils/TcMType"
"GHC/Tc/Validity"
"GHC/Tc/Gen/Match"
"GHC/Tc/Gen/Pat"
"GHC/Tc/TyCl/PatSyn"
"GHC/Tc/Module"
"GHC/Tc/Utils/Backpack"
"GHC/Tc/Gen/Export"
"GHC/Tc/Utils/Monad"
"GHC/Tc/Types"
"GHC/Tc/Types/Constraint"
"GHC/Tc/Types/Origin"
"GHC/Tc/Gen/Rule"
"GHC/Tc/Errors/Hole"
"GHC/Tc/Errors/Hole/FitTypes"
"GHC/Tc/Errors"
"GHC/Tc/TyCl"
"GHC/Tc/TyCl/Utils"
"GHC/Tc/Instance/Typeable"
"GHC/Tc/Gen/HsType"
"GHC/Tc/Types/Evidence"
"GHC/Tc/Types/EvTerm"
"GHC/Tc/Utils/Unify"
"GHC/Tc/Solver"
"GHC/Tc/Solver/Interact"
"GHC/Tc/Solver/Canonical"
"GHC/Tc/Solver/Flatten"
"GHC/Tc/Solver/Monad"
"GHC/Builtin/Types/Literals"
"GHC/Tc/Gen/Splice"
"GHC/Core/Class"
"GHC/Core/Coercion"
"GHC/HsToCore/Quote"
"GHC/Builtin/Names/TH"
"GHC/Core/FamInstEnv"
"GHC/Tc/Instance/FunDeps"
"GHC/Core/InstEnv"
"GHC/Core/Multiplicity"
"GHC/Core/UsageEnv"
"GHC/Core/TyCon"
"GHC/Core/Coercion/Axiom"
"GHC/Core/Type"
"GHC/Core/TyCo/Rep"
"GHC/Core/TyCo/FVs"
"GHC/Core/TyCo/Subst"
"GHC/Core/TyCo/Ppr"
"GHC/Core/TyCo/Tidy"
"GHC/Core/Unify"
"GHC/Data/Bag"
"GHC/Utils/Binary"
"GHC/Data/BooleanFormula"
"GHC/Utils/BufHandle"
"GHC/Data/Graph/Directed"
"GHC/Utils/Encoding"
"GHC/Utils/IO/Unsafe"
"GHC/Data/FastMutInt"
"GHC/Data/FastString"
"GHC/Data/FastString/Env"
"GHC/Utils/Fingerprint"
"GHC/Data/FiniteMap"
"GHC/Utils/FV"
"GHC/Data/Graph/Base"
"GHC/Data/Graph/Color"
"GHC/Data/Graph/Ops"
"GHC/Data/Graph/Ppr"
"GHC/Data/IOEnv"
"GHC/Utils/Json"
"GHC/Data/List/SetOps"
"GHC/Data/Maybe"
"GHC/Utils/Monad"
"GHC/Data/OrdList"
"GHC/Utils/Outputable"
"GHC/Data/Pair"
"GHC/Utils/Panic"
"GHC/Utils/Panic/Plain"
"GHC/Utils/Ppr/Colour"
"GHC/Utils/Ppr"
"GHC/Utils/Monad/State"
"GHC/Data/Stream"
"GHC/Data/StringBuffer"
"GHC/Types/Unique/DFM"
"GHC/Types/Unique/DSet"
"GHC/Types/Unique/FM"
"GHC/Types/Unique/Set"
"GHC/Utils/Misc"
"GHC/Cmm/Dataflow"
"GHC/Cmm/Dataflow/Block"
"GHC/Cmm/Dataflow/Collections"
"GHC/Cmm/Dataflow/Graph"
"GHC/Cmm/Dataflow/Label"
"GHC/CmmToAsm"
"GHC/CmmToAsm/Reg/Target"
"GHC/CmmToAsm/Monad"
"GHC/CmmToAsm/Instr"
"GHC/CmmToAsm/BlockLayout"
"GHC/CmmToAsm/CFG"
"GHC/CmmToAsm/CFG/Dominators"
"GHC/CmmToAsm/Format"
"GHC/Platform/Reg"
"GHC/Platform/Reg/Class"
"GHC/CmmToAsm/PIC"
"GHC/CmmToAsm/CPrim"
"GHC/CmmToAsm/X86/Regs"
"GHC/CmmToAsm/X86/RegInfo"
"GHC/CmmToAsm/X86/Instr"
"GHC/CmmToAsm/X86/Cond"
"GHC/CmmToAsm/X86/Ppr"
"GHC/CmmToAsm/X86/CodeGen"
"GHC/CmmToAsm/PPC/Regs"
"GHC/CmmToAsm/PPC/RegInfo"
"GHC/CmmToAsm/PPC/Instr"
"GHC/CmmToAsm/PPC/Cond"
"GHC/CmmToAsm/PPC/Ppr"
"GHC/CmmToAsm/PPC/CodeGen"
"GHC/CmmToAsm/SPARC/Base"
"GHC/CmmToAsm/SPARC/Regs"
"GHC/CmmToAsm/SPARC/Imm"
"GHC/CmmToAsm/SPARC/AddrMode"
"GHC/CmmToAsm/SPARC/Cond"
"GHC/CmmToAsm/SPARC/Instr"
"GHC/CmmToAsm/SPARC/Stack"
"GHC/CmmToAsm/SPARC/ShortcutJump"
"GHC/CmmToAsm/SPARC/Ppr"
"GHC/CmmToAsm/SPARC/CodeGen"
"GHC/CmmToAsm/SPARC/CodeGen/Amode"
"GHC/CmmToAsm/SPARC/CodeGen/Base"
"GHC/CmmToAsm/SPARC/CodeGen/CondCode"
"GHC/CmmToAsm/SPARC/CodeGen/Gen32"
"GHC/CmmToAsm/SPARC/CodeGen/Gen64"
"GHC/CmmToAsm/SPARC/CodeGen/Sanity"
"GHC/CmmToAsm/SPARC/CodeGen/Expand"
"GHC/CmmToAsm/Reg/Liveness"
"GHC/CmmToAsm/Reg/Graph"
"GHC/CmmToAsm/Reg/Graph/Stats"
"GHC/CmmToAsm/Reg/Graph/Base"
"GHC/CmmToAsm/Reg/Graph/X86"
"GHC/CmmToAsm/Reg/Graph/Coalesce"
"GHC/CmmToAsm/Reg/Graph/Spill"
"GHC/CmmToAsm/Reg/Graph/SpillClean"
"GHC/CmmToAsm/Reg/Graph/SpillCost"
"GHC/CmmToAsm/Reg/Graph/TrivColorable"
"GHC/CmmToAsm/Reg/Linear"
"GHC/CmmToAsm/Reg/Linear/JoinToTargets"
"GHC/CmmToAsm/Reg/Linear/State"
"GHC/CmmToAsm/Reg/Linear/Stats"
"GHC/CmmToAsm/Reg/Linear/FreeRegs"
"GHC/CmmToAsm/Reg/Linear/StackMap"
"GHC/CmmToAsm/Reg/Linear/Base"
"GHC/CmmToAsm/Reg/Linear/X86"
"GHC/CmmToAsm/Reg/Linear/X86_64"
"GHC/CmmToAsm/Reg/Linear/PPC"
"GHC/CmmToAsm/Reg/Linear/SPARC"
"GHC/CmmToAsm/Reg/Utils"
"GHC/CmmToAsm/Dwarf"
"GHC/CmmToAsm/Dwarf/Types"
"GHC/CmmToAsm/Dwarf/Constants"
"GHC/ThToHs"
"GHC/ByteCode/Types"
"GHC/ByteCode/Asm"
"GHC/ByteCode/Instr"
"GHC/ByteCode/InfoTable"
"GHC/ByteCode/Linker"
"GHC/CoreToByteCode"
"GHC/Runtime/Debugger"
"GHC/Runtime/Linker/Types"
"GHC/Runtime/Linker"
"GHC/Runtime/Heap/Inspect"
"GHC/Runtime/Interpreter"
"GHC/Runtime/Interpreter/Types"
];
cSources = [
"cbits/cutils.c"
"cbits/genSym.c"
"cbits/keepCAFsForGHCi.c"
];
hsSourceDirs = [ "." ];
includeDirs = ([
"."
] ++ (pkgs.lib).optional (flags.ghci) "../rts/dist/build") ++ (if flags.stage1
then [ "stage1" ]
else if flags.stage2
then [ "stage2" ]
else (pkgs.lib).optional (flags.stage3) "stage2");
};
};
} // rec { src = (pkgs.lib).mkDefault ../compiler; }

View File

@ -0,0 +1,70 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { ghci = false; };
package = {
specVersion = "1.10";
identifier = { name = "ghci"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "The library supporting GHC's interactive interpreter";
description = "This library offers interfaces which mediate interactions between the\n@ghci@ interactive shell and @iserv@, GHC's out-of-process interpreter\nbackend.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghc-boot" or (errorHandler.buildDepError "ghc-boot"))
(hsPkgs."ghc-boot-th" or (errorHandler.buildDepError "ghc-boot-th"))
(hsPkgs."ghc-heap" or (errorHandler.buildDepError "ghc-heap"))
(hsPkgs."template-haskell" or (errorHandler.buildDepError "template-haskell"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
modules = [
"GHCi/BreakArray"
"GHCi/BinaryArray"
"GHCi/Message"
"GHCi/ResolvedBCO"
"GHCi/RemoteTypes"
"GHCi/FFI"
"GHCi/InfoTable"
"GHCi/StaticPtrTable"
"GHCi/TH/Binary"
"SizedSeq"
] ++ (pkgs.lib).optionals (flags.ghci) [
"GHCi/Run"
"GHCi/CreateBCO"
"GHCi/ObjLink"
"GHCi/Signals"
"GHCi/TH"
];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/ghci; }

View File

@ -0,0 +1,52 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "hpc"; version = "0.6.1.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "ghc-devs@haskell.org";
author = "Andy Gill";
homepage = "";
url = "";
synopsis = "Code Coverage Library for Haskell";
description = "This package provides the code coverage library for Haskell.\n\nSee <http://www.haskell.org/haskellwiki/Haskell_program_coverage> for more\ninformation.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "changelog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
];
buildable = true;
modules = [
"Trace/Hpc/Util"
"Trace/Hpc/Mix"
"Trace/Hpc/Tix"
"Trace/Hpc/Reflect"
];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/hpc; }

View File

@ -0,0 +1,55 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "iserv-proxy"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\niserv can also be used in combination with cross compilation. For\nthis, the @iserv-proxy@ needs to be built on the host, targeting the\nhost (as it is running on the host). @cabal install -flibrary\n-fproxy@ will yield the proxy.\n\nUsing the cabal for the target @arch-platform-target-cabal install\n-flibrary@ will build the required library that contains the ffi\n@startSlave@ function, which needs to be invoked on the target\n(e.g. in an iOS application) to start the remote iserv slave.\n\ncalling the GHC cross compiler with @-fexternal-interpreter\n-pgmi=\$HOME/.cabal/bin/iserv-proxy -opti\\<ip address\\> -opti\\<port\\>@\nwill cause it to compile Template Haskell via the remote at \\<ip address\\>.\n\nThus to get cross compilation with Template Haskell follow the\nfollowing receipt:\n\n* compile the iserv library for your target\n\n> iserv \$ arch-platform-target-cabal install -flibrary\n\n* setup an application for your target that calls the\n* startSlave function. This could be either haskell or your\n* targets ffi capable language, if needed.\n\n> void startSlave(false /* verbose */, 5000 /* port */,\n> \"/path/to/storagelocation/on/target\");\n\n* build the iserv-proxy\n\n> iserv \$ cabal install -flibrary -fproxy\n* Start your iserv-slave app on your target running on say @10.0.0.1:5000@\n* compiler your sources with -fexternal-interpreter and the proxy\n\n> project \$ arch-platform-target-ghc ModuleContainingTH.hs \\\n> -fexternal-interpreter \\\n> -pgmi=\$HOME/.cabal/bin/iserv-proxy \\\n> -opti10.0.0.1 -opti5000\n\nShould something not work as expected, provide @-opti-v@ for verbose\nlogging of the @iserv-proxy@.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
exes = {
"iserv-proxy" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."network" or (errorHandler.buildDepError "network"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
];
buildable = true;
hsSourceDirs = [ "src" ];
mainPath = [ "Main.hs" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv-proxy; }

View File

@ -0,0 +1,54 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "iserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "GHC can be provided with a path to the iserv binary with\n@-pgmi=/path/to/iserv-bin@, and will in combination with\n@-fexternal-interpreter@, compile Template Haskell though the\n@iserv-bin@ delegate. This is very similar to how ghcjs has been\ncompiling Template Haskell, by spawning a separate delegate (so\ncalled runner on the javascript vm) and evaluating the splices\nthere.\n\nTo use iserv with cross compilers, please see @libraries/libiserv@\nand @utils/iserv-proxy@.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
exes = {
"iserv" = {
depends = [
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
cSources = [ "cbits/iservmain.c" ];
hsSourceDirs = [ "src" ];
includeDirs = [ "." ];
mainPath = [ "Main.hs" ] ++ [ "" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../utils/iserv; }

View File

@ -0,0 +1,58 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { network = false; };
package = {
specVersion = "1.10";
identifier = { name = "libiserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "Provides shared functionality between iserv and iserv-proxy";
description = "";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = ([
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."ghci" or (errorHandler.buildDepError "ghci"))
] ++ (pkgs.lib).optionals (flags.network) [
(hsPkgs."network" or (errorHandler.buildDepError "network"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
]) ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unix" or (errorHandler.buildDepError "unix"));
buildable = true;
modules = [
"Lib"
"GHCi/Utils"
] ++ (pkgs.lib).optionals (flags.network) [
"Remote/Message"
"Remote/Slave"
];
hsSourceDirs = [ "src" ];
};
};
} // rec { src = (pkgs.lib).mkDefault ../libraries/libiserv; }

View File

@ -0,0 +1,46 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "remote-iserv"; version = "9.0.1"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "Moritz Angermann <moritz.angermann@gmail.com>";
author = "Moritz Angermann <moritz.angermann@gmail.com>";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Template Haskell computations";
description = "This is a very simple remote runner for iserv, to be used together\nwith iserv-proxy. The foundamental idea is that this this wrapper\nstarts running libiserv on a given port to which iserv-proxy will\nthen connect.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
exes = {
"remote-iserv" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."libiserv" or (errorHandler.buildDepError "libiserv"))
];
buildable = true;
hsSourceDirs = [ "src" ];
mainPath = [ "Cli.hs" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../utils/remote-iserv; }

View File

@ -0,0 +1,95 @@
{
pkgs = hackage:
{
packages = {
"exceptions".revision = (((hackage."exceptions")."0.10.4").revisions).default;
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
"ghc-prim".revision = (((hackage."ghc-prim")."0.7.0").revisions).default;
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
"ghc-heap".revision = (((hackage."ghc-heap")."9.0.1").revisions).default;
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
"rts".revision = (((hackage."rts")."1.0").revisions).default;
"deepseq".revision = (((hackage."deepseq")."1.4.5.0").revisions).default;
"network".revision = (((hackage."network")."2.8.0.1").revisions).default;
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
"template-haskell".revision = (((hackage."template-haskell")."2.17.0.0").revisions).default;
"containers".revision = (((hackage."containers")."0.6.4.1").revisions).default;
"base".revision = (((hackage."base")."4.15.0.0").revisions).default;
"time".revision = (((hackage."time")."1.9.3").revisions).default;
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
"ghc-bignum".revision = (((hackage."ghc-bignum")."1.0").revisions).default;
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
"process".revision = (((hackage."process")."1.6.11.0").revisions).default;
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."9.0.1").revisions).default;
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
};
compiler = {
version = "9.0.1";
nix-name = "ghc901";
packages = {
"exceptions" = "0.10.4";
"ghc-prim" = "0.7.0";
"stm" = "2.5.0.0";
"ghc-heap" = "9.0.1";
"mtl" = "2.2.2";
"rts" = "1.0";
"deepseq" = "1.4.5.0";
"template-haskell" = "2.17.0.0";
"containers" = "0.6.4.1";
"base" = "4.15.0.0";
"time" = "1.9.3";
"terminfo" = "0.4.1.4";
"transformers" = "0.5.6.2";
"ghc-bignum" = "1.0";
"filepath" = "1.4.2.1";
"pretty" = "1.1.3.6";
"ghc-boot-th" = "9.0.1";
"array" = "0.5.4.0";
};
};
};
extras = hackage:
{
packages = {
ghc = ./.plan.nix/ghc.nix;
bytestring = ./.plan.nix/bytestring.nix;
remote-iserv = ./.plan.nix/remote-iserv.nix;
iserv-proxy = ./.plan.nix/iserv-proxy.nix;
hpc = ./.plan.nix/hpc.nix;
libiserv = ./.plan.nix/libiserv.nix;
ghc-boot = ./.plan.nix/ghc-boot.nix;
ghci = ./.plan.nix/ghci.nix;
iserv = ./.plan.nix/iserv.nix;
};
};
modules = [
({ lib, ... }:
{
packages = {
"ghc" = {
flags = {
"stage1" = lib.mkOverride 900 false;
"stage2" = lib.mkOverride 900 false;
"stage3" = lib.mkOverride 900 false;
"dynamic-system-linker" = lib.mkOverride 900 true;
"ghci" = lib.mkOverride 900 true;
"terminfo" = lib.mkOverride 900 true;
};
};
"bytestring" = {
flags = { "integer-simple" = lib.mkOverride 900 false; };
};
"remote-iserv" = { flags = {}; };
"iserv-proxy" = { flags = {}; };
"hpc" = { flags = {}; };
"libiserv" = { flags = { "network" = lib.mkOverride 900 true; }; };
"ghc-boot" = { flags = {}; };
"ghci" = { flags = { "ghci" = lib.mkOverride 900 true; }; };
"iserv" = { flags = {}; };
};
})
];
}

View File

@ -0,0 +1,361 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {
native-dns = true;
debug-expensive-assertions = false;
debug-conflict-sets = false;
debug-tracetree = false;
lukko = true;
};
package = {
specVersion = "1.10";
identifier = { name = "cabal-install"; version = "3.4.0.0"; };
license = "BSD-3-Clause";
copyright = "2003-2020, Cabal Development Team";
maintainer = "Cabal Development Team <cabal-devel@haskell.org>";
author = "Cabal Development Team (see AUTHORS file)";
homepage = "http://www.haskell.org/cabal/";
url = "";
synopsis = "The command-line interface for Cabal and Hackage.";
description = "The \\'cabal\\' command-line program simplifies the process of managing\nHaskell software by automating the fetching, configuration, compilation\nand installation of Haskell libraries and programs.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [
"README.md"
"bash-completion/cabal"
"changelog"
"tests/IntegrationTests2/build/keep-going/cabal.project"
"tests/IntegrationTests2/build/keep-going/p/P.hs"
"tests/IntegrationTests2/build/keep-going/p/p.cabal"
"tests/IntegrationTests2/build/keep-going/q/Q.hs"
"tests/IntegrationTests2/build/keep-going/q/q.cabal"
"tests/IntegrationTests2/build/local-tarball/cabal.project"
"tests/IntegrationTests2/build/local-tarball/q/Q.hs"
"tests/IntegrationTests2/build/local-tarball/q/q.cabal"
"tests/IntegrationTests2/build/setup-custom1/A.hs"
"tests/IntegrationTests2/build/setup-custom1/Setup.hs"
"tests/IntegrationTests2/build/setup-custom1/a.cabal"
"tests/IntegrationTests2/build/setup-custom2/A.hs"
"tests/IntegrationTests2/build/setup-custom2/Setup.hs"
"tests/IntegrationTests2/build/setup-custom2/a.cabal"
"tests/IntegrationTests2/build/setup-simple/A.hs"
"tests/IntegrationTests2/build/setup-simple/Setup.hs"
"tests/IntegrationTests2/build/setup-simple/a.cabal"
"tests/IntegrationTests2/exception/bad-config/cabal.project"
"tests/IntegrationTests2/exception/build/Main.hs"
"tests/IntegrationTests2/exception/build/a.cabal"
"tests/IntegrationTests2/exception/configure/a.cabal"
"tests/IntegrationTests2/exception/no-pkg/empty.in"
"tests/IntegrationTests2/exception/no-pkg2/cabal.project"
"tests/IntegrationTests2/regression/3324/cabal.project"
"tests/IntegrationTests2/regression/3324/p/P.hs"
"tests/IntegrationTests2/regression/3324/p/p.cabal"
"tests/IntegrationTests2/regression/3324/q/Q.hs"
"tests/IntegrationTests2/regression/3324/q/q.cabal"
"tests/IntegrationTests2/targets/all-disabled/cabal.project"
"tests/IntegrationTests2/targets/all-disabled/p.cabal"
"tests/IntegrationTests2/targets/benchmarks-disabled/cabal.project"
"tests/IntegrationTests2/targets/benchmarks-disabled/p.cabal"
"tests/IntegrationTests2/targets/benchmarks-disabled/q/q.cabal"
"tests/IntegrationTests2/targets/complex/cabal.project"
"tests/IntegrationTests2/targets/complex/q/Q.hs"
"tests/IntegrationTests2/targets/complex/q/q.cabal"
"tests/IntegrationTests2/targets/empty-pkg/cabal.project"
"tests/IntegrationTests2/targets/empty-pkg/p.cabal"
"tests/IntegrationTests2/targets/empty/cabal.project"
"tests/IntegrationTests2/targets/empty/foo.hs"
"tests/IntegrationTests2/targets/exes-disabled/cabal.project"
"tests/IntegrationTests2/targets/exes-disabled/p/p.cabal"
"tests/IntegrationTests2/targets/exes-disabled/q/q.cabal"
"tests/IntegrationTests2/targets/lib-only/p.cabal"
"tests/IntegrationTests2/targets/libs-disabled/cabal.project"
"tests/IntegrationTests2/targets/libs-disabled/p/p.cabal"
"tests/IntegrationTests2/targets/libs-disabled/q/q.cabal"
"tests/IntegrationTests2/targets/multiple-exes/cabal.project"
"tests/IntegrationTests2/targets/multiple-exes/p.cabal"
"tests/IntegrationTests2/targets/multiple-libs/cabal.project"
"tests/IntegrationTests2/targets/multiple-libs/p/p.cabal"
"tests/IntegrationTests2/targets/multiple-libs/q/q.cabal"
"tests/IntegrationTests2/targets/multiple-tests/cabal.project"
"tests/IntegrationTests2/targets/multiple-tests/p.cabal"
"tests/IntegrationTests2/targets/simple/P.hs"
"tests/IntegrationTests2/targets/simple/app/Main.hs"
"tests/IntegrationTests2/targets/simple/cabal.project"
"tests/IntegrationTests2/targets/simple/p.cabal"
"tests/IntegrationTests2/targets/simple/q/Q.hs"
"tests/IntegrationTests2/targets/simple/q/QQ.hs"
"tests/IntegrationTests2/targets/simple/q/q.cabal"
"tests/IntegrationTests2/targets/test-only/p.cabal"
"tests/IntegrationTests2/targets/tests-disabled/cabal.project"
"tests/IntegrationTests2/targets/tests-disabled/p.cabal"
"tests/IntegrationTests2/targets/tests-disabled/q/q.cabal"
"tests/IntegrationTests2/targets/variety/cabal.project"
"tests/IntegrationTests2/targets/variety/p.cabal"
"tests/IntegrationTests2/build/local-tarball/p-0.1.tar.gz"
];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
exes = {
"cabal" = {
depends = ((((([
(hsPkgs."async" or (errorHandler.buildDepError "async"))
(hsPkgs."array" or (errorHandler.buildDepError "array"))
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
(hsPkgs."binary" or (errorHandler.buildDepError "binary"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."echo" or (errorHandler.buildDepError "echo"))
(hsPkgs."edit-distance" or (errorHandler.buildDepError "edit-distance"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."hashable" or (errorHandler.buildDepError "hashable"))
(hsPkgs."HTTP" or (errorHandler.buildDepError "HTTP"))
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
(hsPkgs."network-uri" or (errorHandler.buildDepError "network-uri"))
(hsPkgs."pretty" or (errorHandler.buildDepError "pretty"))
(hsPkgs."process" or (errorHandler.buildDepError "process"))
(hsPkgs."random" or (errorHandler.buildDepError "random"))
(hsPkgs."stm" or (errorHandler.buildDepError "stm"))
(hsPkgs."tar" or (errorHandler.buildDepError "tar"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
(hsPkgs."zlib" or (errorHandler.buildDepError "zlib"))
(hsPkgs."hackage-security" or (errorHandler.buildDepError "hackage-security"))
(hsPkgs."text" or (errorHandler.buildDepError "text"))
(hsPkgs."parsec" or (errorHandler.buildDepError "parsec"))
(hsPkgs."regex-base" or (errorHandler.buildDepError "regex-base"))
(hsPkgs."regex-posix" or (errorHandler.buildDepError "regex-posix"))
] ++ (pkgs.lib).optionals (!(compiler.isGhc && (compiler.version).ge "8.0")) [
(hsPkgs."fail" or (errorHandler.buildDepError "fail"))
(hsPkgs."semigroups" or (errorHandler.buildDepError "semigroups"))
]) ++ (pkgs.lib).optionals (flags.native-dns) (if system.isWindows
then [ (hsPkgs."windns" or (errorHandler.buildDepError "windns")) ]
else [
(hsPkgs."resolv" or (errorHandler.buildDepError "resolv"))
])) ++ (if system.isWindows
then [
(hsPkgs."Win32" or (errorHandler.buildDepError "Win32"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
]
else [
(hsPkgs."unix" or (errorHandler.buildDepError "unix"))
])) ++ (if flags.lukko
then [ (hsPkgs."lukko" or (errorHandler.buildDepError "lukko")) ]
else [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
])) ++ (pkgs.lib).optional (flags.debug-conflict-sets) (hsPkgs."base" or (errorHandler.buildDepError "base"))) ++ (pkgs.lib).optional (flags.debug-tracetree) (hsPkgs."tracetree" or (errorHandler.buildDepError "tracetree"));
libs = (pkgs.lib).optional (system.isAix) (pkgs."bsd" or (errorHandler.sysDepError "bsd"));
buildable = true;
modules = [
"Distribution/Deprecated/ParseUtils"
"Distribution/Deprecated/ReadP"
"Distribution/Deprecated/ViewAsFieldDescr"
"Distribution/Client/BuildReports/Anonymous"
"Distribution/Client/BuildReports/Lens"
"Distribution/Client/BuildReports/Storage"
"Distribution/Client/BuildReports/Types"
"Distribution/Client/BuildReports/Upload"
"Distribution/Client/Check"
"Distribution/Client/CmdBench"
"Distribution/Client/CmdBuild"
"Distribution/Client/CmdClean"
"Distribution/Client/CmdConfigure"
"Distribution/Client/CmdErrorMessages"
"Distribution/Client/CmdExec"
"Distribution/Client/CmdFreeze"
"Distribution/Client/CmdHaddock"
"Distribution/Client/CmdInstall"
"Distribution/Client/CmdInstall/ClientInstallFlags"
"Distribution/Client/CmdInstall/ClientInstallTargetSelector"
"Distribution/Client/CmdLegacy"
"Distribution/Client/CmdListBin"
"Distribution/Client/CmdRepl"
"Distribution/Client/CmdRun"
"Distribution/Client/CmdSdist"
"Distribution/Client/CmdTest"
"Distribution/Client/CmdUpdate"
"Distribution/Client/Compat/Directory"
"Distribution/Client/Compat/ExecutablePath"
"Distribution/Client/Compat/FilePerms"
"Distribution/Client/Compat/Orphans"
"Distribution/Client/Compat/Prelude"
"Distribution/Client/Compat/Process"
"Distribution/Client/Compat/Semaphore"
"Distribution/Client/Config"
"Distribution/Client/Configure"
"Distribution/Client/Dependency"
"Distribution/Client/Dependency/Types"
"Distribution/Client/DistDirLayout"
"Distribution/Client/Exec"
"Distribution/Client/Fetch"
"Distribution/Client/FetchUtils"
"Distribution/Client/FileMonitor"
"Distribution/Client/Freeze"
"Distribution/Client/GZipUtils"
"Distribution/Client/GenBounds"
"Distribution/Client/Get"
"Distribution/Client/Glob"
"Distribution/Client/GlobalFlags"
"Distribution/Client/Haddock"
"Distribution/Client/HashValue"
"Distribution/Client/HttpUtils"
"Distribution/Client/IndexUtils"
"Distribution/Client/IndexUtils/ActiveRepos"
"Distribution/Client/IndexUtils/IndexState"
"Distribution/Client/IndexUtils/Timestamp"
"Distribution/Client/Init"
"Distribution/Client/Init/Command"
"Distribution/Client/Init/Defaults"
"Distribution/Client/Init/FileCreators"
"Distribution/Client/Init/Heuristics"
"Distribution/Client/Init/Licenses"
"Distribution/Client/Init/Prompt"
"Distribution/Client/Init/Types"
"Distribution/Client/Init/Utils"
"Distribution/Client/Install"
"Distribution/Client/InstallPlan"
"Distribution/Client/InstallSymlink"
"Distribution/Client/JobControl"
"Distribution/Client/List"
"Distribution/Client/Manpage"
"Distribution/Client/ManpageFlags"
"Distribution/Client/Nix"
"Distribution/Client/NixStyleOptions"
"Distribution/Client/Outdated"
"Distribution/Client/PackageHash"
"Distribution/Client/ParseUtils"
"Distribution/Client/ProjectBuilding"
"Distribution/Client/ProjectBuilding/Types"
"Distribution/Client/ProjectConfig"
"Distribution/Client/ProjectConfig/Legacy"
"Distribution/Client/ProjectConfig/Types"
"Distribution/Client/ProjectFlags"
"Distribution/Client/ProjectOrchestration"
"Distribution/Client/ProjectPlanOutput"
"Distribution/Client/ProjectPlanning"
"Distribution/Client/ProjectPlanning/Types"
"Distribution/Client/RebuildMonad"
"Distribution/Client/Reconfigure"
"Distribution/Client/Run"
"Distribution/Client/Sandbox"
"Distribution/Client/Sandbox/PackageEnvironment"
"Distribution/Client/SavedFlags"
"Distribution/Client/Security/DNS"
"Distribution/Client/Security/HTTP"
"Distribution/Client/Setup"
"Distribution/Client/SetupWrapper"
"Distribution/Client/SolverInstallPlan"
"Distribution/Client/SourceFiles"
"Distribution/Client/SrcDist"
"Distribution/Client/Store"
"Distribution/Client/Tar"
"Distribution/Client/TargetProblem"
"Distribution/Client/TargetSelector"
"Distribution/Client/Targets"
"Distribution/Client/Types"
"Distribution/Client/Types/AllowNewer"
"Distribution/Client/Types/BuildResults"
"Distribution/Client/Types/ConfiguredId"
"Distribution/Client/Types/ConfiguredPackage"
"Distribution/Client/Types/Credentials"
"Distribution/Client/Types/InstallMethod"
"Distribution/Client/Types/OverwritePolicy"
"Distribution/Client/Types/PackageLocation"
"Distribution/Client/Types/PackageSpecifier"
"Distribution/Client/Types/ReadyPackage"
"Distribution/Client/Types/Repo"
"Distribution/Client/Types/RepoName"
"Distribution/Client/Types/SourcePackageDb"
"Distribution/Client/Types/SourceRepo"
"Distribution/Client/Types/WriteGhcEnvironmentFilesPolicy"
"Distribution/Client/Update"
"Distribution/Client/Upload"
"Distribution/Client/Utils"
"Distribution/Client/Utils/Assertion"
"Distribution/Client/Utils/Json"
"Distribution/Client/Utils/Parsec"
"Distribution/Client/VCS"
"Distribution/Client/Win32SelfUpgrade"
"Distribution/Client/World"
"Distribution/Solver/Compat/Prelude"
"Distribution/Solver/Modular"
"Distribution/Solver/Modular/Assignment"
"Distribution/Solver/Modular/Builder"
"Distribution/Solver/Modular/Configured"
"Distribution/Solver/Modular/ConfiguredConversion"
"Distribution/Solver/Modular/ConflictSet"
"Distribution/Solver/Modular/Cycles"
"Distribution/Solver/Modular/Dependency"
"Distribution/Solver/Modular/Explore"
"Distribution/Solver/Modular/Flag"
"Distribution/Solver/Modular/Index"
"Distribution/Solver/Modular/IndexConversion"
"Distribution/Solver/Modular/LabeledGraph"
"Distribution/Solver/Modular/Linking"
"Distribution/Solver/Modular/Log"
"Distribution/Solver/Modular/Message"
"Distribution/Solver/Modular/PSQ"
"Distribution/Solver/Modular/Package"
"Distribution/Solver/Modular/Preference"
"Distribution/Solver/Modular/RetryLog"
"Distribution/Solver/Modular/Solver"
"Distribution/Solver/Modular/Tree"
"Distribution/Solver/Modular/Validate"
"Distribution/Solver/Modular/Var"
"Distribution/Solver/Modular/Version"
"Distribution/Solver/Modular/WeightedPSQ"
"Distribution/Solver/Types/ComponentDeps"
"Distribution/Solver/Types/ConstraintSource"
"Distribution/Solver/Types/DependencyResolver"
"Distribution/Solver/Types/Flag"
"Distribution/Solver/Types/InstSolverPackage"
"Distribution/Solver/Types/InstalledPreference"
"Distribution/Solver/Types/LabeledPackageConstraint"
"Distribution/Solver/Types/OptionalStanza"
"Distribution/Solver/Types/PackageConstraint"
"Distribution/Solver/Types/PackageFixedDeps"
"Distribution/Solver/Types/PackageIndex"
"Distribution/Solver/Types/PackagePath"
"Distribution/Solver/Types/PackagePreferences"
"Distribution/Solver/Types/PkgConfigDb"
"Distribution/Solver/Types/Progress"
"Distribution/Solver/Types/ResolverPackage"
"Distribution/Solver/Types/Settings"
"Distribution/Solver/Types/SolverId"
"Distribution/Solver/Types/SolverPackage"
"Distribution/Solver/Types/SourcePackage"
"Distribution/Solver/Types/Variable"
"Paths_cabal_install"
];
hsSourceDirs = [ "main" "." ];
mainPath = (((((((([
"Main.hs"
] ++ (pkgs.lib).optionals (compiler.isGhc && (compiler.version).ge "8.0") (([
""
] ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).lt "8.8") "") ++ (pkgs.lib).optional (compiler.isGhc && (compiler.version).ge "8.10") "")) ++ (pkgs.lib).optional (system.isAix) "") ++ (pkgs.lib).optional (!(compiler.isGhc && (compiler.version).ge "8.0")) "") ++ (pkgs.lib).optionals (flags.native-dns) ([
""
] ++ [ "" ])) ++ [ "" ]) ++ [
""
]) ++ (pkgs.lib).optional (flags.debug-expensive-assertions) "") ++ (pkgs.lib).optional (flags.debug-conflict-sets) "") ++ (pkgs.lib).optional (flags.debug-tracetree) "";
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../.; }

View File

@ -0,0 +1,126 @@
{
pkgs = hackage:
{
packages = {
"cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.102.0").revisions).default;
"cryptohash-sha256".flags.use-cbits = true;
"cryptohash-sha256".flags.exe = false;
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
"tar".revision = (((hackage."tar")."0.5.1.1").revisions).default;
"tar".flags.old-time = false;
"tar".flags.old-bytestring = false;
"ghc-prim".revision = (((hackage."ghc-prim")."0.7.0").revisions).default;
"edit-distance".revision = (((hackage."edit-distance")."0.2.2.1").revisions).default;
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
"network-uri".revision = (((hackage."network-uri")."2.6.4.1").revisions).default;
"regex-base".revision = (((hackage."regex-base")."0.94.0.1").revisions).default;
"zlib".revision = (((hackage."zlib")."0.6.2.3").revisions).default;
"zlib".flags.non-blocking-ffi = false;
"zlib".flags.bundled-c-zlib = false;
"zlib".flags.pkg-config = false;
"rts".revision = (((hackage."rts")."1.0").revisions).default;
"regex-posix".revision = (((hackage."regex-posix")."0.96.0.0").revisions).default;
"regex-posix".flags._regex-posix-clib = false;
"deepseq".revision = (((hackage."deepseq")."1.4.5.0").revisions).default;
"random".revision = (((hackage."random")."1.2.0").revisions).default;
"network".revision = (((hackage."network")."3.1.2.1").revisions).default;
"network".flags.devel = false;
"splitmix".revision = (((hackage."splitmix")."0.1.0.3").revisions).default;
"splitmix".flags.optimised-mixer = false;
"async".revision = (((hackage."async")."2.2.3").revisions).default;
"async".flags.bench = false;
"parsec".revision = (((hackage."parsec")."3.1.14.0").revisions).default;
"echo".revision = (((hackage."echo")."0.1.4").revisions).default;
"echo".flags.example = false;
"hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
"hsc2hs".flags.in-ghc-tree = false;
"resolv".revision = (((hackage."resolv")."0.1.2.0").revisions).default;
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
"template-haskell".revision = (((hackage."template-haskell")."2.17.0.0").revisions).default;
"containers".revision = (((hackage."containers")."0.6.4.1").revisions).default;
"bytestring".revision = (((hackage."bytestring")."0.10.12.1").revisions).default;
"text".revision = (((hackage."text")."1.2.4.1").revisions).default;
"Cabal".revision = (((hackage."Cabal")."3.4.0.0").revisions).default;
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.2.0.1").revisions).default;
"base".revision = (((hackage."base")."4.15.0.0").revisions).default;
"time".revision = (((hackage."time")."1.9.3").revisions).default;
"th-compat".revision = (((hackage."th-compat")."0.1.1").revisions).default;
"base16-bytestring".revision = (((hackage."base16-bytestring")."0.1.1.7").revisions).default;
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
"hashable".revision = (((hackage."hashable")."1.3.1.0").revisions).default;
"hashable".flags.integer-gmp = true;
"HTTP".revision = (((hackage."HTTP")."4000.3.15").revisions).default;
"HTTP".flags.mtl1 = false;
"HTTP".flags.conduit10 = false;
"HTTP".flags.warn-as-error = false;
"HTTP".flags.warp-tests = false;
"HTTP".flags.network-uri = true;
"ghc-bignum".revision = (((hackage."ghc-bignum")."1.0").revisions).default;
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
"ed25519".revision = (((hackage."ed25519")."0.0.2.0").revisions).default;
"ed25519".flags.test-hlint = true;
"ed25519".flags.test-properties = true;
"process".revision = (((hackage."process")."1.6.11.0").revisions).default;
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
"lukko".revision = (((hackage."lukko")."0.1.1.3").revisions).default;
"lukko".flags.ofd-locking = true;
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."9.0.1").revisions).default;
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
"hackage-security".revision = (((hackage."hackage-security")."0.6.0.1").revisions).default;
"hackage-security".flags.old-directory = false;
"hackage-security".flags.use-network-uri = true;
"hackage-security".flags.base48 = true;
"hackage-security".flags.lukko = true;
"hackage-security".flags.mtl21 = false;
};
compiler = {
version = "9.0.1";
nix-name = "ghc901";
packages = {
"binary" = "0.8.8.0";
"ghc-prim" = "0.7.0";
"stm" = "2.5.0.0";
"unix" = "2.7.2.2";
"mtl" = "2.2.2";
"rts" = "1.0";
"deepseq" = "1.4.5.0";
"parsec" = "3.1.14.0";
"directory" = "1.3.6.1";
"template-haskell" = "2.17.0.0";
"containers" = "0.6.4.1";
"bytestring" = "0.10.12.1";
"text" = "1.2.4.1";
"Cabal" = "3.4.0.0";
"base" = "4.15.0.0";
"time" = "1.9.3";
"transformers" = "0.5.6.2";
"ghc-bignum" = "1.0";
"filepath" = "1.4.2.1";
"process" = "1.6.11.0";
"pretty" = "1.1.3.6";
"ghc-boot-th" = "9.0.1";
"array" = "0.5.4.0";
};
};
};
extras = hackage:
{ packages = { cabal-install = ./.plan.nix/cabal-install.nix; }; };
modules = [
({ lib, ... }:
{
packages = {
"cabal-install" = {
flags = {
"native-dns" = lib.mkOverride 900 true;
"debug-expensive-assertions" = lib.mkOverride 900 false;
"debug-tracetree" = lib.mkOverride 900 false;
"lukko" = lib.mkOverride 900 true;
"debug-conflict-sets" = lib.mkOverride 900 false;
};
};
};
})
];
}

View File

@ -0,0 +1,100 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { install-examples = false; };
package = {
specVersion = "1.10";
identifier = { name = "hackage-db"; version = "2.1.0.1"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "Peter Simons <simons@cryp.to>";
author = "Peter Simons, Alexander Altman, Ben James";
homepage = "https://github.com/peti/hackage-db#readme";
url = "";
synopsis = "Access cabal-install's Hackage database via Data.Map";
description = "This library provides convenient access to the local copy of the Hackage\ndatabase that \\\"cabal update\\\" creates. Check out\n<https://github.com/peti/hackage-db/tree/master/example/> for a collection\nof simple example programs that demonstrate how to use this code.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."exceptions" or (errorHandler.buildDepError "exceptions"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."tar" or (errorHandler.buildDepError "tar"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
(hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string"))
];
buildable = true;
modules = [
"Paths_hackage_db"
"Distribution/Hackage/DB"
"Distribution/Hackage/DB/Builder"
"Distribution/Hackage/DB/Errors"
"Distribution/Hackage/DB/MetaData"
"Distribution/Hackage/DB/Parsed"
"Distribution/Hackage/DB/Path"
"Distribution/Hackage/DB/Unparsed"
"Distribution/Hackage/DB/Utility"
];
hsSourceDirs = [ "src" ];
};
exes = {
"list-known-versions" = {
depends = (pkgs.lib).optionals (flags.install-examples) [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
];
buildable = if flags.install-examples then true else false;
hsSourceDirs = [ "example" ];
mainPath = [ "list-known-versions.hs" ] ++ [ "" ];
};
"show-meta-data" = {
depends = (pkgs.lib).optionals (flags.install-examples) [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
(hsPkgs."utf8-string" or (errorHandler.buildDepError "utf8-string"))
];
buildable = if flags.install-examples then true else false;
hsSourceDirs = [ "example" ];
mainPath = [ "show-meta-data.hs" ] ++ [ "" ];
};
"show-package-versions" = {
depends = (pkgs.lib).optionals (flags.install-examples) [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
];
buildable = if flags.install-examples then true else false;
hsSourceDirs = [ "example" ];
mainPath = [ "show-package-versions.hs" ] ++ [ "" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault .././.source-repository-packages/0; }

View File

@ -0,0 +1,233 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "nix-tools"; version = "0.1.0.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "moritz.angermann@gmail.com";
author = "Moritz Angermann";
homepage = "";
url = "";
synopsis = "cabal/stack to nix translation tools";
description = "A set of tools to aid in trating stack and cabal projects into nix expressions.";
buildType = "Simple";
isLocal = true;
detailLevel = "FullDetails";
licenseFiles = [ "LICENSE" ];
dataDir = ".";
dataFiles = [];
extraSrcFiles = [ "ChangeLog.md" ];
extraTmpFiles = [];
extraDocFiles = [];
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
(hsPkgs."aeson-pretty" or (errorHandler.buildDepError "aeson-pretty"))
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."data-fix" or (errorHandler.buildDepError "data-fix"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."extra" or (errorHandler.buildDepError "extra"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
(hsPkgs."hpack" or (errorHandler.buildDepError "hpack"))
(hsPkgs."http-client" or (errorHandler.buildDepError "http-client"))
(hsPkgs."http-client-tls" or (errorHandler.buildDepError "http-client-tls"))
(hsPkgs."http-types" or (errorHandler.buildDepError "http-types"))
(hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative"))
(hsPkgs."prettyprinter" or (errorHandler.buildDepError "prettyprinter"))
(hsPkgs."process" or (errorHandler.buildDepError "process"))
(hsPkgs."text" or (errorHandler.buildDepError "text"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
(hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers"))
(hsPkgs."yaml" or (errorHandler.buildDepError "yaml"))
];
buildable = true;
modules = [
"Cabal2Nix"
"Cabal2Nix/Util"
"Cabal2Nix/Plan"
"CabalName"
"CabalName/CLI"
"Distribution/Nixpkgs/Fetch"
"StackRepos"
"StackRepos/CLI"
"Stack2nix"
"Stack2nix/Cache"
"Stack2nix/CLI"
"Stack2nix/External/Resolve"
"Stack2nix/Project"
"Stack2nix/Stack"
];
hsSourceDirs = [ "lib" ];
};
exes = {
"cabal-to-nix" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."hpack" or (errorHandler.buildDepError "hpack"))
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
(hsPkgs."text" or (errorHandler.buildDepError "text"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."prettyprinter" or (errorHandler.buildDepError "prettyprinter"))
];
buildable = true;
hsSourceDirs = [ "cabal2nix" ];
mainPath = [ "Main.hs" ];
};
"hashes-to-nix" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
(hsPkgs."data-fix" or (errorHandler.buildDepError "data-fix"))
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
(hsPkgs."microlens" or (errorHandler.buildDepError "microlens"))
(hsPkgs."microlens-aeson" or (errorHandler.buildDepError "microlens-aeson"))
(hsPkgs."text" or (errorHandler.buildDepError "text"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
];
buildable = true;
hsSourceDirs = [ "hashes2nix" ];
mainPath = [ "Main.hs" ];
};
"plan-to-nix" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."text" or (errorHandler.buildDepError "text"))
(hsPkgs."hpack" or (errorHandler.buildDepError "hpack"))
(hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers"))
(hsPkgs."vector" or (errorHandler.buildDepError "vector"))
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
(hsPkgs."microlens" or (errorHandler.buildDepError "microlens"))
(hsPkgs."microlens-aeson" or (errorHandler.buildDepError "microlens-aeson"))
(hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative"))
(hsPkgs."prettyprinter" or (errorHandler.buildDepError "prettyprinter"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
(hsPkgs."extra" or (errorHandler.buildDepError "extra"))
];
buildable = true;
modules = [
"Plan2Nix"
"Plan2Nix/Cache"
"Plan2Nix/CLI"
"Plan2Nix/Project"
"Plan2Nix/Plan"
];
hsSourceDirs = [ "plan2nix" ];
mainPath = [ "Main.hs" ];
};
"hackage-to-nix" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
(hsPkgs."hackage-db" or (errorHandler.buildDepError "hackage-db"))
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
(hsPkgs."aeson-pretty" or (errorHandler.buildDepError "aeson-pretty"))
(hsPkgs."containers" or (errorHandler.buildDepError "containers"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."text" or (errorHandler.buildDepError "text"))
(hsPkgs."cryptohash-sha256" or (errorHandler.buildDepError "cryptohash-sha256"))
(hsPkgs."base16-bytestring" or (errorHandler.buildDepError "base16-bytestring"))
(hsPkgs."base64-bytestring" or (errorHandler.buildDepError "base64-bytestring"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."transformers" or (errorHandler.buildDepError "transformers"))
];
buildable = true;
hsSourceDirs = [ "hackage2nix" ];
mainPath = [ "Main.hs" ];
};
"lts-to-nix" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
(hsPkgs."hnix" or (errorHandler.buildDepError "hnix"))
(hsPkgs."yaml" or (errorHandler.buildDepError "yaml"))
(hsPkgs."aeson" or (errorHandler.buildDepError "aeson"))
(hsPkgs."microlens" or (errorHandler.buildDepError "microlens"))
(hsPkgs."microlens-aeson" or (errorHandler.buildDepError "microlens-aeson"))
(hsPkgs."text" or (errorHandler.buildDepError "text"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."unordered-containers" or (errorHandler.buildDepError "unordered-containers"))
(hsPkgs."vector" or (errorHandler.buildDepError "vector"))
(hsPkgs."Cabal" or (errorHandler.buildDepError "Cabal"))
];
buildable = true;
hsSourceDirs = [ "lts2nix" ];
mainPath = [ "Main.hs" ];
};
"stack-to-nix" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
];
buildable = true;
hsSourceDirs = [ "stack2nix" ];
mainPath = [ "Main.hs" ];
};
"truncate-index" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."optparse-applicative" or (errorHandler.buildDepError "optparse-applicative"))
(hsPkgs."zlib" or (errorHandler.buildDepError "zlib"))
(hsPkgs."tar" or (errorHandler.buildDepError "tar"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."time" or (errorHandler.buildDepError "time"))
];
buildable = true;
hsSourceDirs = [ "truncate-index" ];
mainPath = [ "Main.hs" ];
};
"stack-repos" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
];
buildable = true;
hsSourceDirs = [ "stack-repos" ];
mainPath = [ "Main.hs" ];
};
"cabal-name" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."nix-tools" or (errorHandler.buildDepError "nix-tools"))
];
buildable = true;
hsSourceDirs = [ "cabal-name" ];
mainPath = [ "Main.hs" ];
};
};
};
} // rec { src = (pkgs.lib).mkDefault ../.; }

363
materialized/ghc901/nix-tools/default.nix generated Normal file
View File

@ -0,0 +1,363 @@
{
pkgs = hackage:
{
packages = {
"http-client".revision = (((hackage."http-client")."0.6.4.1").revisions).default;
"http-client".flags.network-uri = true;
"cookie".revision = (((hackage."cookie")."0.4.5").revisions).default;
"void".revision = (((hackage."void")."0.7.3").revisions).default;
"void".flags.safe = false;
"semigroupoids".revision = (((hackage."semigroupoids")."5.3.5").revisions).default;
"semigroupoids".flags.comonad = true;
"semigroupoids".flags.unordered-containers = true;
"semigroupoids".flags.distributive = true;
"semigroupoids".flags.tagged = true;
"semigroupoids".flags.containers = true;
"semigroupoids".flags.contravariant = true;
"free".revision = (((hackage."free")."5.1.6").revisions).default;
"hnix-store-remote".revision = (((hackage."hnix-store-remote")."0.4.1.0").revisions).default;
"hnix-store-remote".flags.io-testsuite = false;
"cereal".revision = (((hackage."cereal")."0.5.8.1").revisions).default;
"cereal".flags.bytestring-builder = false;
"exceptions".revision = (((hackage."exceptions")."0.10.4").revisions).default;
"cryptohash-sha256".revision = (((hackage."cryptohash-sha256")."0.11.102.0").revisions).default;
"cryptohash-sha256".flags.use-cbits = true;
"cryptohash-sha256".flags.exe = false;
"binary".revision = (((hackage."binary")."0.8.8.0").revisions).default;
"hnix".revision = (((hackage."hnix")."0.12.0.1").revisions).default;
"hnix".flags.profiling = false;
"hnix".flags.optimize = false;
"tar".revision = (((hackage."tar")."0.5.1.1").revisions).default;
"tar".flags.old-time = false;
"tar".flags.old-bytestring = false;
"regex-tdfa".revision = (((hackage."regex-tdfa")."1.3.1.0").revisions).default;
"regex-tdfa".flags.force-o2 = false;
"ghc-prim".revision = (((hackage."ghc-prim")."0.7.0").revisions).default;
"text-metrics".revision = (((hackage."text-metrics")."0.3.0").revisions).default;
"text-metrics".flags.dev = false;
"utf8-string".revision = (((hackage."utf8-string")."1.0.2").revisions).default;
"bifunctors".revision = (((hackage."bifunctors")."5.5.10").revisions).default;
"bifunctors".flags.semigroups = true;
"bifunctors".flags.tagged = true;
"hashing".revision = (((hackage."hashing")."0.1.0.1").revisions).default;
"extra".revision = (((hackage."extra")."1.7.9").revisions).default;
"haskeline".revision = (((hackage."haskeline")."0.8.1.0").revisions).default;
"logict".revision = (((hackage."logict")."0.7.0.3").revisions).default;
"x509-validation".revision = (((hackage."x509-validation")."1.6.11").revisions).default;
"split".revision = (((hackage."split")."0.2.3.4").revisions).default;
"data-fix".revision = (((hackage."data-fix")."0.3.1").revisions).default;
"stm".revision = (((hackage."stm")."2.5.0.0").revisions).default;
"base-compat-batteries".revision = (((hackage."base-compat-batteries")."0.11.2").revisions).default;
"hourglass".revision = (((hackage."hourglass")."0.2.12").revisions).default;
"case-insensitive".revision = (((hackage."case-insensitive")."1.2.1.0").revisions).default;
"unix".revision = (((hackage."unix")."2.7.2.2").revisions).default;
"mtl".revision = (((hackage."mtl")."2.2.2").revisions).default;
"network-uri".revision = (((hackage."network-uri")."2.6.4.1").revisions).default;
"asn1-parse".revision = (((hackage."asn1-parse")."0.9.5").revisions).default;
"regex-base".revision = (((hackage."regex-base")."0.94.0.1").revisions).default;
"zlib".revision = (((hackage."zlib")."0.6.2.3").revisions).default;
"zlib".flags.non-blocking-ffi = false;
"zlib".flags.bundled-c-zlib = false;
"zlib".flags.pkg-config = false;
"rts".revision = (((hackage."rts")."1.0").revisions).default;
"cmdargs".revision = (((hackage."cmdargs")."0.10.21").revisions).default;
"cmdargs".flags.testprog = false;
"cmdargs".flags.quotation = true;
"cryptonite".revision = (((hackage."cryptonite")."0.28").revisions).default;
"cryptonite".flags.support_sse = false;
"cryptonite".flags.use_target_attributes = true;
"cryptonite".flags.integer-gmp = true;
"cryptonite".flags.support_rdrand = true;
"cryptonite".flags.support_aesni = true;
"cryptonite".flags.support_deepseq = true;
"cryptonite".flags.support_pclmuldq = false;
"cryptonite".flags.check_alignment = false;
"cryptonite".flags.old_toolchain_inliner = false;
"microlens-aeson".revision = (((hackage."microlens-aeson")."2.3.1").revisions).default;
"clock".revision = (((hackage."clock")."0.8.2").revisions).default;
"clock".flags.llvm = false;
"saltine".revision = (((hackage."saltine")."0.1.1.1").revisions).default;
"adjunctions".revision = (((hackage."adjunctions")."4.4").revisions).default;
"cryptohash-md5".revision = (((hackage."cryptohash-md5")."0.11.100.1").revisions).default;
"invariant".revision = (((hackage."invariant")."0.5.4").revisions).default;
"pem".revision = (((hackage."pem")."0.2.4").revisions).default;
"megaparsec".revision = (((hackage."megaparsec")."9.0.1").revisions).default;
"megaparsec".flags.dev = false;
"syb".revision = (((hackage."syb")."0.7.2.1").revisions).default;
"distributive".revision = (((hackage."distributive")."0.6.2.1").revisions).default;
"distributive".flags.semigroups = true;
"distributive".flags.tagged = true;
"asn1-encoding".revision = (((hackage."asn1-encoding")."0.9.6").revisions).default;
"QuickCheck".revision = (((hackage."QuickCheck")."2.14.2").revisions).default;
"QuickCheck".flags.templatehaskell = true;
"QuickCheck".flags.old-random = false;
"scientific".revision = (((hackage."scientific")."0.3.6.2").revisions).default;
"scientific".flags.integer-simple = false;
"scientific".flags.bytestring-builder = false;
"monadlist".revision = (((hackage."monadlist")."0.0.2").revisions).default;
"half".revision = (((hackage."half")."0.3.1").revisions).default;
"parallel".revision = (((hackage."parallel")."3.2.2.0").revisions).default;
"deepseq".revision = (((hackage."deepseq")."1.4.5.0").revisions).default;
"hnix-store-core".revision = (((hackage."hnix-store-core")."0.4.1.0").revisions).default;
"hnix-store-core".flags.bounded_memory = false;
"random".revision = (((hackage."random")."1.2.0").revisions).default;
"uuid-types".revision = (((hackage."uuid-types")."1.0.4").revisions).default;
"optparse-applicative".revision = (((hackage."optparse-applicative")."0.16.1.0").revisions).default;
"optparse-applicative".flags.process = true;
"network".revision = (((hackage."network")."3.1.2.1").revisions).default;
"network".flags.devel = false;
"connection".revision = (((hackage."connection")."0.3.1").revisions).default;
"splitmix".revision = (((hackage."splitmix")."0.1.0.3").revisions).default;
"splitmix".flags.optimised-mixer = false;
"async".revision = (((hackage."async")."2.2.3").revisions).default;
"async".flags.bench = false;
"dlist".revision = (((hackage."dlist")."1.0").revisions).default;
"dlist".flags.werror = false;
"conduit".revision = (((hackage."conduit")."1.3.4").revisions).default;
"ref-tf".revision = (((hackage."ref-tf")."0.4.0.2").revisions).default;
"x509-store".revision = (((hackage."x509-store")."1.6.7").revisions).default;
"lens-family-th".revision = (((hackage."lens-family-th")."0.5.1.0").revisions).default;
"semigroups".revision = (((hackage."semigroups")."0.19.1").revisions).default;
"semigroups".flags.bytestring = true;
"semigroups".flags.unordered-containers = true;
"semigroups".flags.text = true;
"semigroups".flags.tagged = true;
"semigroups".flags.containers = true;
"semigroups".flags.binary = true;
"semigroups".flags.hashable = true;
"semigroups".flags.transformers = true;
"semigroups".flags.deepseq = true;
"semigroups".flags.bytestring-builder = false;
"semigroups".flags.template-haskell = true;
"lifted-base".revision = (((hackage."lifted-base")."0.2.3.12").revisions).default;
"parsec".revision = (((hackage."parsec")."3.1.14.0").revisions).default;
"hsc2hs".revision = (((hackage."hsc2hs")."0.68.7").revisions).default;
"hsc2hs".flags.in-ghc-tree = false;
"directory".revision = (((hackage."directory")."1.3.6.1").revisions).default;
"yaml".revision = (((hackage."yaml")."0.11.5.0").revisions).default;
"yaml".flags.no-exe = true;
"yaml".flags.no-examples = true;
"transformers-compat".revision = (((hackage."transformers-compat")."0.6.6").revisions).default;
"transformers-compat".flags.five = false;
"transformers-compat".flags.generic-deriving = true;
"transformers-compat".flags.two = false;
"transformers-compat".flags.five-three = true;
"transformers-compat".flags.mtl = true;
"transformers-compat".flags.four = false;
"transformers-compat".flags.three = false;
"neat-interpolation".revision = (((hackage."neat-interpolation")."0.5.1.2").revisions).default;
"hpack".revision = (((hackage."hpack")."0.34.4").revisions).default;
"template-haskell".revision = (((hackage."template-haskell")."2.17.0.0").revisions).default;
"mono-traversable".revision = (((hackage."mono-traversable")."1.0.15.1").revisions).default;
"vector".revision = (((hackage."vector")."0.12.2.0").revisions).default;
"vector".flags.unsafechecks = false;
"vector".flags.internalchecks = false;
"vector".flags.wall = false;
"vector".flags.boundschecks = true;
"call-stack".revision = (((hackage."call-stack")."0.3.0").revisions).default;
"primitive".revision = (((hackage."primitive")."0.7.1.0").revisions).default;
"profunctors".revision = (((hackage."profunctors")."5.6.2").revisions).default;
"blaze-builder".revision = (((hackage."blaze-builder")."0.4.2.1").revisions).default;
"base-compat".revision = (((hackage."base-compat")."0.11.2").revisions).default;
"time-compat".revision = (((hackage."time-compat")."1.9.5").revisions).default;
"time-compat".flags.old-locale = false;
"x509-system".revision = (((hackage."x509-system")."1.6.6").revisions).default;
"ansi-terminal".revision = (((hackage."ansi-terminal")."0.11").revisions).default;
"ansi-terminal".flags.example = false;
"tagged".revision = (((hackage."tagged")."0.8.6.1").revisions).default;
"tagged".flags.transformers = true;
"tagged".flags.deepseq = true;
"x509".revision = (((hackage."x509")."1.7.5").revisions).default;
"lens".revision = (((hackage."lens")."4.19.2").revisions).default;
"lens".flags.j = false;
"lens".flags.test-properties = true;
"lens".flags.old-inline-pragmas = false;
"lens".flags.test-templates = true;
"lens".flags.trustworthy = true;
"lens".flags.test-doctests = true;
"lens".flags.benchmark-uniplate = false;
"lens".flags.inlining = true;
"lens".flags.dump-splices = false;
"lens".flags.test-hunit = true;
"lens".flags.safe = false;
"unliftio-core".revision = (((hackage."unliftio-core")."0.2.0.1").revisions).default;
"containers".revision = (((hackage."containers")."0.6.4.1").revisions).default;
"some".revision = (((hackage."some")."1.0.2").revisions).default;
"some".flags.newtype-unsafe = true;
"integer-logarithms".revision = (((hackage."integer-logarithms")."1.0.3.1").revisions).default;
"integer-logarithms".flags.check-bounds = false;
"integer-logarithms".flags.integer-gmp = true;
"semialign".revision = (((hackage."semialign")."1.1.0.1").revisions).default;
"semialign".flags.semigroupoids = true;
"reflection".revision = (((hackage."reflection")."2.1.6").revisions).default;
"reflection".flags.slow = false;
"reflection".flags.template-haskell = true;
"these".revision = (((hackage."these")."1.1.1.1").revisions).default;
"these".flags.assoc = true;
"socks".revision = (((hackage."socks")."0.6.1").revisions).default;
"streaming-commons".revision = (((hackage."streaming-commons")."0.2.2.1").revisions).default;
"streaming-commons".flags.use-bytestring-builder = false;
"haskell-lexer".revision = (((hackage."haskell-lexer")."1.1").revisions).default;
"lens-family".revision = (((hackage."lens-family")."2.1.0").revisions).default;
"bytestring".revision = (((hackage."bytestring")."0.10.12.1").revisions).default;
"ansi-wl-pprint".revision = (((hackage."ansi-wl-pprint")."0.6.9").revisions).default;
"ansi-wl-pprint".flags.example = false;
"basement".revision = (((hackage."basement")."0.0.11").revisions).default;
"cryptohash-sha1".revision = (((hackage."cryptohash-sha1")."0.11.100.1").revisions).default;
"serialise".revision = (((hackage."serialise")."0.2.3.0").revisions).default;
"serialise".flags.newtime15 = true;
"StateVar".revision = (((hackage."StateVar")."1.2.1").revisions).default;
"mime-types".revision = (((hackage."mime-types")."0.1.0.9").revisions).default;
"http-client-tls".revision = (((hackage."http-client-tls")."0.3.5.3").revisions).default;
"contravariant".revision = (((hackage."contravariant")."1.5.3").revisions).default;
"contravariant".flags.semigroups = true;
"contravariant".flags.tagged = true;
"contravariant".flags.statevar = true;
"indexed-traversable".revision = (((hackage."indexed-traversable")."0.1.1").revisions).default;
"parser-combinators".revision = (((hackage."parser-combinators")."1.2.1").revisions).default;
"parser-combinators".flags.dev = false;
"semialign-indexed".revision = (((hackage."semialign-indexed")."1.1").revisions).default;
"deriving-compat".revision = (((hackage."deriving-compat")."0.5.10").revisions).default;
"deriving-compat".flags.base-4-9 = true;
"deriving-compat".flags.template-haskell-2-11 = true;
"deriving-compat".flags.new-functor-classes = true;
"text".revision = (((hackage."text")."1.2.4.1").revisions).default;
"Cabal".revision = (((hackage."Cabal")."3.4.0.0").revisions).default;
"assoc".revision = (((hackage."assoc")."1.0.2").revisions).default;
"unordered-containers".revision = (((hackage."unordered-containers")."0.2.13.0").revisions).default;
"unordered-containers".flags.debug = false;
"base64-bytestring".revision = (((hackage."base64-bytestring")."1.2.0.1").revisions).default;
"aeson-pretty".revision = (((hackage."aeson-pretty")."0.8.8").revisions).default;
"aeson-pretty".flags.lib-only = false;
"base".revision = (((hackage."base")."4.15.0.0").revisions).default;
"comonad".revision = (((hackage."comonad")."5.0.8").revisions).default;
"comonad".flags.indexed-traversable = true;
"comonad".flags.distributive = true;
"comonad".flags.containers = true;
"time".revision = (((hackage."time")."1.9.3").revisions).default;
"th-compat".revision = (((hackage."th-compat")."0.1.1").revisions).default;
"data-default-class".revision = (((hackage."data-default-class")."0.1.2.0").revisions).default;
"terminfo".revision = (((hackage."terminfo")."0.4.1.4").revisions).default;
"base16-bytestring".revision = (((hackage."base16-bytestring")."1.0.1.0").revisions).default;
"vector-algorithms".revision = (((hackage."vector-algorithms")."0.8.0.4").revisions).default;
"vector-algorithms".flags.unsafechecks = false;
"vector-algorithms".flags.internalchecks = false;
"vector-algorithms".flags.llvm = false;
"vector-algorithms".flags.boundschecks = true;
"vector-algorithms".flags.bench = true;
"vector-algorithms".flags.properties = true;
"prettyprinter".revision = (((hackage."prettyprinter")."1.7.0").revisions).default;
"prettyprinter".flags.buildreadme = false;
"cryptohash-sha512".revision = (((hackage."cryptohash-sha512")."0.11.100.1").revisions).default;
"pretty-show".revision = (((hackage."pretty-show")."1.10").revisions).default;
"transformers".revision = (((hackage."transformers")."0.5.6.2").revisions).default;
"hashable".revision = (((hackage."hashable")."1.2.7.0").revisions).default;
"hashable".flags.sse2 = true;
"hashable".flags.integer-gmp = true;
"hashable".flags.sse41 = false;
"hashable".flags.examples = false;
"attoparsec".revision = (((hackage."attoparsec")."0.13.2.4").revisions).default;
"attoparsec".flags.developer = false;
"infer-license".revision = (((hackage."infer-license")."0.2.0").revisions).default;
"colour".revision = (((hackage."colour")."2.3.5").revisions).default;
"transformers-base".revision = (((hackage."transformers-base")."0.4.5.2").revisions).default;
"transformers-base".flags.orphaninstances = true;
"happy".revision = (((hackage."happy")."1.20.0").revisions).default;
"strict".revision = (((hackage."strict")."0.4.0.1").revisions).default;
"strict".flags.assoc = true;
"ghc-bignum".revision = (((hackage."ghc-bignum")."1.0").revisions).default;
"filepath".revision = (((hackage."filepath")."1.4.2.1").revisions).default;
"asn1-types".revision = (((hackage."asn1-types")."0.3.4").revisions).default;
"nix-derivation".revision = (((hackage."nix-derivation")."1.1.1").revisions).default;
"cborg".revision = (((hackage."cborg")."0.2.4.0").revisions).default;
"cborg".flags.optimize-gmp = true;
"gitrev".revision = (((hackage."gitrev")."1.3.1").revisions).default;
"monad-control".revision = (((hackage."monad-control")."1.0.2.3").revisions).default;
"process".revision = (((hackage."process")."1.6.11.0").revisions).default;
"tls".revision = (((hackage."tls")."1.5.5").revisions).default;
"tls".flags.compat = true;
"tls".flags.network = true;
"tls".flags.hans = false;
"kan-extensions".revision = (((hackage."kan-extensions")."5.2.2").revisions).default;
"libyaml".revision = (((hackage."libyaml")."0.1.2").revisions).default;
"libyaml".flags.system-libyaml = false;
"libyaml".flags.no-unicode = false;
"resourcet".revision = (((hackage."resourcet")."1.2.4.2").revisions).default;
"pretty".revision = (((hackage."pretty")."1.1.3.6").revisions).default;
"cabal-doctest".revision = (((hackage."cabal-doctest")."1.0.8").revisions).default;
"Glob".revision = (((hackage."Glob")."0.10.1").revisions).default;
"algebraic-graphs".revision = (((hackage."algebraic-graphs")."0.5").revisions).default;
"microlens".revision = (((hackage."microlens")."0.4.12.0").revisions).default;
"aeson".revision = (((hackage."aeson")."1.5.6.0").revisions).default;
"aeson".flags.cffi = false;
"aeson".flags.fast = false;
"aeson".flags.bytestring-builder = false;
"aeson".flags.developer = false;
"http-types".revision = (((hackage."http-types")."0.12.3").revisions).default;
"ghc-boot-th".revision = (((hackage."ghc-boot-th")."9.0.1").revisions).default;
"base-orphans".revision = (((hackage."base-orphans")."0.8.4").revisions).default;
"th-abstraction".revision = (((hackage."th-abstraction")."0.4.2.0").revisions).default;
"memory".revision = (((hackage."memory")."0.15.0").revisions).default;
"memory".flags.support_bytestring = true;
"memory".flags.support_basement = true;
"memory".flags.support_foundation = true;
"memory".flags.support_deepseq = true;
"array".revision = (((hackage."array")."0.5.4.0").revisions).default;
"repline".revision = (((hackage."repline")."0.4.0.0").revisions).default;
"xml".revision = (((hackage."xml")."1.3.14").revisions).default;
"lens-family-core".revision = (((hackage."lens-family-core")."2.1.0").revisions).default;
"integer-gmp".revision = (((hackage."integer-gmp")."1.1").revisions).default;
};
compiler = {
version = "9.0.1";
nix-name = "ghc901";
packages = {
"exceptions" = "0.10.4";
"binary" = "0.8.8.0";
"ghc-prim" = "0.7.0";
"haskeline" = "0.8.1.0";
"stm" = "2.5.0.0";
"unix" = "2.7.2.2";
"mtl" = "2.2.2";
"rts" = "1.0";
"deepseq" = "1.4.5.0";
"parsec" = "3.1.14.0";
"directory" = "1.3.6.1";
"template-haskell" = "2.17.0.0";
"containers" = "0.6.4.1";
"bytestring" = "0.10.12.1";
"text" = "1.2.4.1";
"Cabal" = "3.4.0.0";
"base" = "4.15.0.0";
"time" = "1.9.3";
"terminfo" = "0.4.1.4";
"transformers" = "0.5.6.2";
"ghc-bignum" = "1.0";
"filepath" = "1.4.2.1";
"process" = "1.6.11.0";
"pretty" = "1.1.3.6";
"ghc-boot-th" = "9.0.1";
"array" = "0.5.4.0";
"integer-gmp" = "1.1";
};
};
};
extras = hackage:
{
packages = {
nix-tools = ./.plan.nix/nix-tools.nix;
hackage-db = ./.plan.nix/hackage-db.nix;
};
};
modules = [
({ lib, ... }:
{
packages = {
"nix-tools" = { flags = {}; };
"hackage-db" = {
flags = { "install-examples" = lib.mkOverride 900 false; };
};
};
})
];
}

View File

@ -59,6 +59,9 @@ in
# ghcjs custom packages
"ghcjs-prim" "ghcjs-th"
]
# TODO make this unconditional
++ lib.optionals (config.compiler.nix-name == "ghc901") [
"ghc-bignum" ]
++ lib.optionals (!config.reinstallableLibGhc) [
"ghc-boot"
"ghc" "Cabal" "Win32" "array" "binary" "bytestring" "containers"
@ -68,11 +71,7 @@ in
"mtl" "parsec" "process" "text" "time" "transformers"
"unix" "xhtml" "terminfo"
# "stm"
]
# TODO remove this as soon as https://github.com/haskell/text/issues/309
# is resolved.
++ lib.optionals (config.compiler.nix-name == "ghc8103") [
"text" "binary" "bytestring" "containers" ];
];
options.bootPkgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
@ -82,10 +81,7 @@ in
"rts" "ghc-boot-th"
"ghc-heap" # since ghc 8.6.
"ghcjs-prim"
] ++ lib.optional (!config.reinstallableLibGhc) "ghc"
# TODO remove this as soon as https://github.com/haskell/text/issues/309
# is resolved.
++ lib.optional (config.compiler.nix-name == "ghc8103") "text";
] ++ lib.optional (!config.reinstallableLibGhc) "ghc";
options.hsPkgs = lib.mkOption {
type = lib.types.unspecified;

View File

@ -1,4 +1,17 @@
{
"HTTP": {
"branch": "ghc-9.0",
"builtin": false,
"description": "Haskell HTTP package",
"homepage": "http://hackage.haskell.org/package/HTTP",
"owner": "phadej",
"repo": "HTTP",
"rev": "cf307c0a25e7517218a3bee3d9d800720ad64e3a",
"sha256": "1n3v99wjy9737ykb4kx55nl7518mjxrxw7h38w82ckphzs4mnjj5",
"type": "tarball",
"url": "https://github.com/phadej/HTTP/archive/cf307c0a25e7517218a3bee3d9d800720ad64e3a.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"cabal-32": {
"branch": "3.2",
"builtin": false,
@ -12,6 +25,18 @@
"url": "https://github.com/haskell/cabal/archive/94aaa8e4720081f9c75497e2735b90f6a819b08e.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"cabal-34": {
"branch": "3.4",
"description": "Official upstream development repository for Cabal and cabal-install",
"homepage": "https://haskell.org/cabal",
"owner": "haskell",
"repo": "cabal",
"rev": "f39af1b67a65dc1bb1fe70e4f02a3e6635f5ee26",
"sha256": "06c7q1y1ggbgczg7f4s5zds16n8bkfkdzg7mr5sw9m6gzbhgcby8",
"type": "tarball",
"url": "https://github.com/haskell/cabal/archive/f39af1b67a65dc1bb1fe70e4f02a3e6635f5ee26.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"cardano-shell": {
"branch": "master",
"builtin": false,

View File

@ -122,7 +122,7 @@ in {
++ fromUntil "8.6.4" "8.8" ./patches/ghc/ghc-8.6.4-prim-no-arm-atomics.patch
++ fromUntil "8.6.4" "8.8" ./patches/ghc/global-offset-table.patch
++ fromUntil "8.6.4" "8.8" ./patches/ghc/global-offset-table-2.patch
++ always ./patches/ghc/respect-ar-path.patch
++ until "9.0" ./patches/ghc/respect-ar-path.patch
++ until "8.10" ./patches/ghc/MR2537-use-one-shot-kqueue-on-macos.patch
++ final.lib.optional (version == "8.6.3") ./patches/ghc/T16057--ghci-doa-on-windows.patch
++ final.lib.optional (version == "8.6.3") ./patches/ghc/ghc-8.6.3-reinstallable-lib-ghc.patch
@ -133,7 +133,7 @@ in {
++ final.lib.optional (version == "8.8.1") ./patches/ghc/ghc-8.8.1-reinstallable-lib-ghc.patch
++ fromUntil "8.8.2" "8.9" ./patches/ghc/ghc-8.8.2-reinstallable-lib-ghc.patch
++ final.lib.optional (version == "8.6.4") ./patches/ghc/ghc-8.6.4-better-plusSimplCountErrors.patch
++ final.lib.optional (versionAtLeast "8.6.4" && final.stdenv.isDarwin) ./patches/ghc/ghc-macOS-loadArchive-fix.patch
++ final.lib.optional (versionAtLeast "8.6.4" && versionLessThan "9.0" && final.stdenv.isDarwin) ./patches/ghc/ghc-macOS-loadArchive-fix.patch
++ final.lib.optional (versionAtLeast "8.4.4" && versionLessThan "8.10" && final.stdenv.isDarwin) ./patches/ghc/ghc-darwin-gcc-version-fix.patch
++ final.lib.optional (versionAtLeast "8.10.1" && final.stdenv.isDarwin) ./patches/ghc/ghc-8.10-darwin-gcc-version-fix.patch
# backport of https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3227
@ -429,6 +429,25 @@ in {
ghc-patches = ghc-patches "8.10.4";
};
ghc901 = final.callPackage ../compiler/ghc {
extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc901; };
bootPkgs = bootPkgs // {
ghc = final.buildPackages.buildPackages.haskell-nix.compiler.ghc884;
};
inherit sphinx installDeps;
buildLlvmPackages = final.buildPackages.llvmPackages_9;
llvmPackages = final.llvmPackages_9;
src-spec = rec {
version = "9.0.1";
url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "1y9mi9bq76z04hmggavrn8jwi1gx92bm3zhx6z69ypq6wha068x5";
};
ghc-patches = ghc-patches "9.0.1";
};
# ghc 8.10.4 with patches needed by plutus
ghc810420210212 = final.callPackage ../compiler/ghc {
extra-passthru = { buildGHC = final.buildPackages.haskell-nix.compiler.ghc810420210212; };
@ -587,6 +606,12 @@ in {
} // args)).getComponent "exe:cabal";
nix-tools-set = { compiler-nix-name, ... }@args:
let
# Until all the dependencies build with 9.0.1 we will have to avoid
# building & testing nix-tools with 9.0.1
compiler-nix-name =
if args.compiler-nix-name == "ghc901"
then "ghc8104"
else args.compiler-nix-name;
project =
final.haskell-nix.cabalProject ({
name = "nix-tools";
@ -619,7 +644,7 @@ in {
"unix" "xhtml"
];
}];
} // args);
} // args // { inherit compiler-nix-name; });
exes =
let
package = project.getPackage "nix-tools";

View File

@ -39,37 +39,35 @@ let
# Combine the all the boot package nix files for a given ghc
# into a single derivation and materialize it.
combineAndMaterialize = unchecked: ghcName: bootPackages:
let
# Not all the boot packages for ghc 8.8 and above can be
# processed yet by `nix-tools`, so we are not materializing the
# ones that currently fail.
# (we need to upgrade `nix-tools` to Cabal 3 for them to work)
skipBroken = final.lib.filterAttrs (pkgName: _:
ghcName == "ghc865" || (pkgName != "base" && pkgName != "ghc-heap"));
in (final.haskell-nix.materialize ({
(final.haskell-nix.materialize ({
materialized = ../materialized/ghc-boot-packages-nix + "/${ghcName}";
} // final.lib.optionalAttrs unchecked {
checkMaterialization = false;
}) (combineFiles "${ghcName}-boot-packages-nix" ".nix" (builtins.mapAttrs
(_: srcAndNix: srcAndNix.nix) (skipBroken bootPackages))));
(_: srcAndNix: srcAndNix.nix) bootPackages)));
# Import the nix and src.
importSrcAndNix = srcAndNix:
args: (import srcAndNix.nix args) // { inherit (srcAndNix) src; };
# The packages in GHC source and the locations of them
ghc-extra-pkgs = {
ghc-extra-pkgs = ghcVersion: {
ghc = "compiler";
base = "libraries/base";
bytestring = "libraries/bytestring";
ghci = "libraries/ghci";
ghc-boot = "libraries/ghc-boot";
ghc-heap = "libraries/ghc-heap";
ghc-prim = "libraries/ghc-prim";
hpc = "libraries/hpc";
integer-gmp = "libraries/integer-gmp";
libiserv = "libraries/libiserv";
template-haskell = "libraries/template-haskell";
iserv = "utils/iserv";
remote-iserv = "utils/remote-iserv";
iserv-proxy = "utils/iserv-proxy";
} // final.lib.optionalAttrs (builtins.compareVersions ghcVersion "9.0.1" >= 0) {
ghc-bignum = "libraries/ghc-bignum";
};
# The nix produced by `cabalProject` differs slightly depending on
@ -98,27 +96,27 @@ let
in rec {
ghc-boot-packages-src-and-nix = builtins.mapAttrs
(ghcName: value: builtins.mapAttrs
(ghcName: ghc: builtins.mapAttrs
(pkgName: dir: rec {
src =
# Add in the generated files needed by ghc-boot
if dir == "libraries/ghc-boot"
then final.evalPackages.runCommand "ghc-boot-src" {} ''
cp -Lr ${value.passthru.configured-src}/${dir} $out
cp -Lr ${ghc.passthru.configured-src}/${dir} $out
chmod -R +w $out
cp -Lr ${value.generated}/libraries/ghc-boot/dist-install/build/GHC/* $out/GHC
cp -Lr ${ghc.generated}/libraries/ghc-boot/dist-install/build/GHC/* $out/GHC
''
else if dir == "compiler"
then final.evalPackages.runCommand "ghc-src" {} ''
cp -Lr ${value.passthru.configured-src}/${dir} $out
cp -Lr ${ghc.passthru.configured-src}/${dir} $out
chmod -R +w $out
if [[ -f ${value.generated}/compiler/stage2/build/Config.hs ]]; then
cp -Lr ${value.generated}/compiler/stage2/build/Config.hs $out
if [[ -f ${ghc.generated}/compiler/stage2/build/Config.hs ]]; then
cp -Lr ${ghc.generated}/compiler/stage2/build/Config.hs $out
fi
''
else "${value.passthru.configured-src}/${dir}";
else "${ghc.passthru.configured-src}/${dir}";
nix = callCabal2Nix ghcName "${ghcName}-${pkgName}" src;
}) ghc-extra-pkgs)
}) (ghc-extra-pkgs ghc.version))
final.buildPackages.haskell-nix.compiler;
# All the ghc boot package nix files for each ghc.
@ -148,20 +146,20 @@ in rec {
ghc-boot-packages-src-and-nix;
# Derivation with cabal.project for use with `cabalProject'` for each ghc.
ghc-extra-pkgs-cabal-projects = builtins.mapAttrs (name: value:
ghc-extra-pkgs-cabal-projects = builtins.mapAttrs (ghcName: ghc:
let package-locs =
# TODO ghc-heap.cabal requires cabal 3. We should update the cabalProject' call
# in `ghc-extra-projects` below to work with this.
(final.lib.filterAttrs (n: _: n != "base" && n != "ghc-heap") ghc-extra-pkgs);
(final.lib.filterAttrs (n: _: !(builtins.elem n [ "base" "ghc-heap" "ghc-bignum" "ghc-prim" "integer-gmp" "template-haskell" ])) (ghc-extra-pkgs ghc.version));
in final.stdenv.mkDerivation {
name = "ghc-extra-pkgs-cabal-project-${name}";
name = "ghc-extra-pkgs-cabal-project-${ghcName}";
phases = [ "buildPhase" ];
# Copy each cabal file from the configured ghc source and
# add a suitable cabal.project file.
buildPhase = ''
${final.lib.concatStrings (final.lib.mapAttrsToList (_: dir: ''
mkdir -p $out/${dir}
cp ${value.passthru.configured-src}/${dir}/*.cabal $out/${dir}
cp ${ghc.passthru.configured-src}/${dir}/*.cabal $out/${dir}
# Remove references to libffi as the are not cross platform
# and will break memoization (we will need to add them back)
sed -i 's|/nix/store/.*-libffi.*/include||' $out/${dir}/*.cabal

View File

@ -15,10 +15,13 @@ in { haskell-nix = prev.haskell-nix // {
cabal-install = {
cabalProject = ''
packages: .
allow-newer: cabal-install:base
allow-newer: cabal-install:base, *:base, *:template-haskell
'';
modules = [
{ reinstallableLibGhc = true; }
(lib.optionalAttrs (version == "3.4.0.0") {
packages.HTTP.src = final.haskell-nix.sources.HTTP;
})
# Version of of cabal-install in hackage is broken for GHC 8.10.1
(lib.optionalAttrs (version == "3.2.0.0") {
packages.cabal-install.src = final.haskell-nix.sources.cabal-32 + "/cabal-install";

View File

@ -1,3 +1,4 @@
# This is for use on hydra machines with no access to darwin build machines
{ supportedSystems ? [ "x86_64-linux" ]
, ifdLevel ? 3
, checkMaterialization ? false }:

View File

@ -5,7 +5,6 @@ with lib;
let
project = cabalProject' {
inherit compiler-nix-name;
index-state = "2020-05-25T00:00:00Z";
src = testSrc "buildable";
modules = [ { packages.buildable-test.flags.exclude-broken = true; } ];
};

View File

@ -11,6 +11,10 @@ let
packages = project.hsPkgs;
in recurseIntoAttrs {
# When using ghcjs on darwin this test fails with
# ReferenceError: h$hs_clock_darwin_gettime is not defined
# https://github.com/input-output-hk/haskell.nix/issues/925
meta.disabled = stdenv.hostPlatform.isGhcjs;
ifdInputs = {
inherit (project) plan-nix;
};

View File

@ -1,5 +1,5 @@
# Test a package set
{ stdenv, util, cabalProject', haskellLib, gmp6, zlib, recurseIntoAttrs, runCommand, testSrc, compiler-nix-name }:
{ stdenv, util, cabalProject', haskellLib, gmp6, zlib, recurseIntoAttrs, runCommand, testSrc, compiler-nix-name, buildPackages }:
with stdenv.lib;
@ -20,6 +20,9 @@ let
};
in recurseIntoAttrs ({
# Making cabal-doctest work for cross compilers will be difficult.
meta.disabled = stdenv.buildPlatform != stdenv.hostPlatform || builtins.compareVersions
buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "9.0" >= 0;
ifdInputs = {
plan-nix = addMetaAttrs meta project.plan-nix;
};
@ -35,8 +38,6 @@ in recurseIntoAttrs ({
meta = {
platforms = platforms.all;
# Making cabal-doctest work for cross compilers will be difficult.
disabled = stdenv.buildPlatform != stdenv.hostPlatform;
};
passthru = {

View File

@ -12,6 +12,9 @@ let
packages = project.hsPkgs;
in recurseIntoAttrs {
# DWARF only works on linux with GHC 8.10.2 and newer
meta.disabled = __elem compiler-nix-name ["ghc865" "ghc884"]
|| !stdenv.hostPlatform.isLinux || haskellLib.isCrossHost || stdenv.hostPlatform.isMusl;
ifdInputs = {
inherit (project) plan-nix;
};
@ -34,9 +37,6 @@ in recurseIntoAttrs {
meta = {
platforms = platforms.all;
# DWARF only works on linux with GHC 8.10.2 and newer
disabled = compiler-nix-name == "ghc865" || compiler-nix-name == "ghc884"
|| !stdenv.hostPlatform.isLinux || haskellLib.isCrossHost || stdenv.hostPlatform.isMusl;
};
passthru = {

View File

@ -26,7 +26,7 @@ in recurseIntoAttrs {
};
# Used for testing externally with nix-shell (../tests.sh).
test-shell = project.shellFor { tools = { cabal = "3.2.0.0"; }; };
test-shell = project.shellFor { tools = { cabal = "3.4.0.0"; }; withHoogle = compiler-nix-name != "ghc901"; };
run = stdenv.mkDerivation {
name = "cabal-simple-test";

View File

@ -5,7 +5,6 @@ with lib;
let
project = cabalProject' {
inherit compiler-nix-name;
index-state = "2020-05-25T00:00:00Z";
src = testSrc "cabal-source-repo-comments";
};
packages = project.hsPkgs;

View File

@ -5,7 +5,6 @@ with lib;
let
project = cabalProject' {
inherit compiler-nix-name;
index-state = "2020-05-25T00:00:00Z";
src = testSrc "cabal-source-repo";
};
packages = project.hsPkgs;

View File

@ -7,7 +7,6 @@ let
# tests using callCabalProjectToNix and importAndFilterProject
callProjectResults = callCabalProjectToNix {
inherit compiler-nix-name;
index-state = "2020-05-25T00:00:00Z";
# reuse the cabal-simple test project
src = testSrc "cabal-simple";
};

View File

@ -19,6 +19,8 @@ let
exampleCoverageReport = exampleProject.cardanoShellHaskellPackages.projectCoverageReport;
in recurseIntoAttrs ({
# Does not work on ghcjs because it needs zlib.
meta.disabled = stdenv.hostPlatform.isGhcjs;
run = stdenv.mkDerivation {
name = "coverage-golden-test";

View File

@ -20,6 +20,8 @@ let
exeExt = stdenv.hostPlatform.extensions.executable;
in recurseIntoAttrs ({
# Does not work on ghcjs because it needs zlib.
meta.disabled = stdenv.hostPlatform.isGhcjs;
run = stdenv.mkDerivation {
name = "coverage-test";

View File

@ -24,6 +24,8 @@ let
exeExt = stdenv.hostPlatform.extensions.executable;
in recurseIntoAttrs ({
# Does not work on ghcjs because it needs zlib.
meta.disabled = stdenv.hostPlatform.isGhcjs;
run = stdenv.mkDerivation {
name = "coverage-test";

View File

@ -10,6 +10,9 @@
with pkgs;
let
inherit (import ../ci-lib.nix) dimension platformFilterGeneric filterAttrsOnlyRecursive;
isDisabled = d: d.meta.disabled or false;
# Set recurseForDerivations for both children and grand-children values in
# the input association list, but only if the key is "ifdInputs".
#
@ -53,7 +56,8 @@ let
# The values in the input association list must be attribute sets themselves.
addIfdInputsToVal = builtins.mapAttrs (_: val: withIfdInputs val);
# Keep only the attribute with the key "ifdInputs".
# Keep only the attribute with the key "ifdInputs" and "meta".
# Meta is needed for `meta.disabled` to work at this level.
#
# filterAttrsIfdInputs :: AttrSet -> AttrSet
#
@ -62,7 +66,7 @@ let
#
# >>> filterAttrsIfdInputs { foobar = "hello" }
# { }
filterAttrsIfdInputs = pkgs.lib.filterAttrs (n: _: n == "ifdInputs");
filterAttrsIfdInputs = pkgs.lib.filterAttrs (n: _: n == "ifdInputs" || n == "meta");
# Remove all keys and values in a attribute set where the key
# doesn't equal "ifdInputs". Set the "recurseForDerivations"
@ -158,6 +162,7 @@ let
# All tests.
allTests = {
cabal-simple = callTest ./cabal-simple { inherit util compiler-nix-name; };
cabal-simple-debug = callTest ./cabal-simple-debug { inherit util compiler-nix-name; };
cabal-simple-prof = callTest ./cabal-simple-prof { inherit util compiler-nix-name; };
cabal-sublib = callTest ./cabal-sublib { inherit util compiler-nix-name; };
with-packages = callTest ./with-packages { inherit util; };
@ -185,37 +190,18 @@ let
hls-stack = callTest ./haskell-language-server/stack.nix { inherit compiler-nix-name; };
cabal-hpack = callTest ./cabal-hpack { inherit util compiler-nix-name; };
index-state = callTest ./index-state { inherit compiler-nix-name; };
unit = unitTests;
} // lib.optionalAttrs (!stdenv.hostPlatform.isGhcjs && !stdenv.hostPlatform.isWindows) {
# Does not work on ghcjs because it needs zlib.
# Does not work on windows because it needs mintty.
lookup-sha256 = callTest ./lookup-sha256 { inherit compiler-nix-name; };
# fully-static = callTest ./fully-static { inherit (pkgs) buildPackages; };
shell-for = callTest ./shell-for {};
} // lib.optionalAttrs (!stdenv.hostPlatform.isGhcjs) {
# When using ghcjs on darwin this test fails with
# ReferenceError: h$hs_clock_darwin_gettime is not defined
# https://github.com/input-output-hk/haskell.nix/issues/925
cabal-22 = callTest ./cabal-22 { inherit util compiler-nix-name; };
} // lib.optionalAttrs (!stdenv.hostPlatform.isGhcjs) {
# These do not work on ghcjs because it needs zlib.
coverage = callTest ./coverage { inherit compiler-nix-name; };
coverage-golden = callTest ./coverage-golden { inherit compiler-nix-name;};
coverage-no-libs = callTest ./coverage-no-libs { inherit compiler-nix-name; };
snapshots = callTest ./snapshots {};
} // lib.optionalAttrs (!stdenv.hostPlatform.isGhcjs && !(__elem compiler-nix-name ["ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc810420210212"])) {
# Pandoc does not build with ghcjs or ghc 8.10 yet (lookup-sha256 and fully-static build pandoc)
lookup-sha256 = callTest ./lookup-sha256 { inherit compiler-nix-name; };
# fully-static = callTest ./fully-static { inherit (pkgs) buildPackages; };
} // lib.optionalAttrs (!pkgs.haskell-nix.haskellLib.isCrossHost) {
# Haddock is not included with cross compilers currently
sublib-docs = callTest ./sublib-docs { inherit util compiler-nix-name; };
# githash runs git from TH code and this needs a cross compiled git exe
# to work correctly. Cross compiling git is currently brocken.
githash = haskell-nix.callPackage ./githash { inherit compiler-nix-name; testSrc = testSrcWithGitDir; };
} // lib.optionalAttrs (
stdenv.hostPlatform.isLinux && !pkgs.haskell-nix.haskellLib.isCrossHost && !stdenv.hostPlatform.isMusl
&& !(__elem compiler-nix-name ["ghc865" "ghc884"])) {
cabal-simple-debug = callTest ./cabal-simple-debug { inherit util compiler-nix-name; };
unit = unitTests;
};
# This is the same as allTests, but filter out all the key/vaules from the
@ -240,7 +226,8 @@ let
# - input ifdLevel is 3 or greater: return allTests
optionalIfdTests = ifdLevel:
pkgs.lib.optionalAttrs (ifdLevel > 1) (allTestsWithIfdInputs ifdLevel);
in pkgs.recurseIntoAttrs (optionalIfdTests ifdLevel)
in filterAttrsOnlyRecursive (_: v: !(isDisabled v))
(pkgs.recurseIntoAttrs (optionalIfdTests ifdLevel))
## more possible test cases
# 1. fully static linking

View File

@ -5,7 +5,6 @@ with lib;
let
project = cabalProject' {
inherit compiler-nix-name;
index-state = "2020-05-25T00:00:00Z";
src = testSrc "ghc-options";
# TODO find a way to get the ghc-options into plan.json so we can use it in plan-to-nix
modules = [ {

View File

@ -1,4 +1,4 @@
{ stdenv, lib, haskell-nix, recurseIntoAttrs, testSrc, compiler-nix-name, runCommand, gitMinimal, buildPackages }:
{ stdenv, lib, haskell-nix, haskellLib, recurseIntoAttrs, testSrc, compiler-nix-name, runCommand, gitMinimal, buildPackages }:
with lib;
@ -42,6 +42,10 @@ let
packages.githash-test.components.exes.githash-test;
in recurseIntoAttrs {
# githash runs git from TH code and this needs a cross compiled git exe
# to work correctly. Cross compiling git is currently brocken.
meta.disabled = compiler-nix-name == "ghc901" || haskellLib.isCrossHost;
ifdInputs = {
inherit (project) plan-nix;
};

View File

@ -6,4 +6,7 @@ in recurseIntoAttrs {
inherit (project) plan-nix;
};
build = project.getComponent "haskell-language-server:exe:haskell-language-server";
# Haskell Language Server does not build for GHC 9 yet
meta.disabled = compiler-nix-name == "ghc901";
}

View File

@ -23,4 +23,7 @@ in recurseIntoAttrs {
inherit (project) stack-nix;
};
build = project.hsPkgs.haskell-language-server.components.exes.haskell-language-server;
# Haskell Language Server does not build for GHC 9 yet
meta.disabled = compiler-nix-name == "ghc901";
}

View File

@ -37,6 +37,10 @@ in
'';
meta.platforms = platforms.all;
# This test will need to be updated to use newer hackage index-state for it
# to work with GHC 9 and above.
meta.disabled = compiler-nix-name == "ghc901";
passthru = {
# Used for debugging with nix repl

View File

@ -1,10 +1,14 @@
{ pkgs, lib, stdenv, haskell-nix, testSrc, zlib, compiler-nix-name } :
# A dependency is broken on windows, just run this on unix.
lib.addMetaAttrs { platforms = lib.platforms.unix; } ((haskell-nix.hackage-package {
{ pkgs, lib, stdenv, haskell-nix, testSrc, zlib, compiler-nix-name, recurseIntoAttrs } : recurseIntoAttrs {
# The version of pandoc used in this test does not build with ghcjs or ghc 8.10
meta.disabled = stdenv.hostPlatform.isGhcjs
|| builtins.compareVersions pkgs.buildPackages.haskell-nix.compiler.${compiler-nix-name}.version "8.10" >= 0;
build = lib.addMetaAttrs {
# A dependency is broken on windows, just run this on unix.
platforms = lib.platforms.unix;
} ((haskell-nix.hackage-package {
inherit compiler-nix-name;
name = "pandoc";
version = "2.9.2.1";
index-state = "2020-12-17T00:00:00Z";
# Function that returns a sha256 string by looking up the location
# and tag in a nested attrset
lookupSha256 = { location, tag, ... }:
@ -14,4 +18,5 @@
cabalProjectLocal = ''
allow-newer: *:base
'';
}).components.exes.pandoc)
}).components.exes.pandoc);
}

View File

@ -5,7 +5,6 @@ with lib;
let
project = cabalProject' {
inherit compiler-nix-name;
index-state = "2020-05-25T00:00:00Z";
src = testSrc "project-flags";
};
packages = project.hsPkgs;

View File

@ -1,3 +1 @@
index-state: 2020-05-25T00:00:00Z
packages: pkg

View File

@ -24,6 +24,8 @@ let
in
recurseIntoAttrs ({
meta.disabled = compiler-nix-name == "ghc901";
ifdInputs = {
plan-nix = addMetaAttrs meta project.plan-nix;
};

View File

@ -1,3 +1 @@
index-state: 2020-05-25T00:00:00Z
packages: pkg

View File

@ -16,6 +16,8 @@ let
env = project.shellFor {};
in recurseIntoAttrs ({
meta.disabled = compiler-nix-name == "ghc901";
ifdInputs = {
inherit (project) plan-nix;
};

View File

@ -51,6 +51,9 @@ let
};
in recurseIntoAttrs {
# Does not work on ghcjs because it needs zlib.
# Does not work on windows because it needs mintty.
meta.disabled = stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isGhcjs || stdenv.hostPlatform.isWindows;
inherit env envPkga envDefault;
run = stdenv.mkDerivation {
name = "shell-for-test";
@ -72,7 +75,6 @@ in recurseIntoAttrs {
meta = {
platforms = platforms.unix;
disabled = stdenv.hostPlatform.isMusl;
};
passthru = {

View File

@ -7,6 +7,8 @@ let
(ps: with ps; [ conduit conduit-extra resourcet ]);
in recurseIntoAttrs {
# Does not work on ghcjs because it needs zlib.
meta.disabled = stdenv.hostPlatform.isGhcjs;
inherit env;
run = stdenv.mkDerivation {
name = "shell-for-test";

View File

@ -12,6 +12,8 @@ let
packages = project.hsPkgs;
in recurseIntoAttrs {
# Haddock is not included with cross compilers currently
meta.disabled = haskellLib.isCrossHost;
ifdInputs = {
inherit (project) plan-nix;
};