Fixes for materialization (#1514)

This commit is contained in:
Hamish Mackenzie 2022-06-15 00:27:05 +12:00 committed by GitHub
parent 8b37ff2019
commit 2739817902
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
33 changed files with 1357 additions and 9 deletions

View File

@ -667,8 +667,8 @@ depends:
containers-0.6.2.1 deepseq-1.4.4.0 directory-1.3.4.0
filepath-1.4.2.1 ghc-boot-8.8.2 ghc-boot-th-8.8.2 ghc-heap-8.8.2
ghci-8.8.2 hpc-0.6.0.3 integer-gmp-1.0.2.0 process-1.6.7.0
template-haskell-2.15.0.0 time-1.9.3 transformers-0.5.6.2
unix-2.7.2.2
template-haskell-2.15.0.0 terminfo-0.4.1.4 time-1.9.3
transformers-0.5.6.2 unix-2.7.2.2
haddock-interfaces:
haddock-html:
---
@ -893,6 +893,7 @@ hidden-modules:
System.Console.Haskeline.Backend.Posix
System.Console.Haskeline.Backend.Posix.Encoder
System.Console.Haskeline.Backend.DumbTerm
System.Console.Haskeline.Backend.Terminfo
import-dirs:
library-dirs:
dynamic-library-dirs:
@ -901,7 +902,7 @@ hs-libraries: HShaskeline-0.7.5.0
depends:
base-4.13.0.0 bytestring-0.10.10.0 containers-0.6.2.1
directory-1.3.4.0 filepath-1.4.2.1 process-1.6.7.0 stm-2.5.0.0
transformers-0.5.6.2 unix-2.7.2.2
terminfo-0.4.1.4 transformers-0.5.6.2 unix-2.7.2.2
haddock-interfaces:
haddock-html:
---
@ -1209,6 +1210,39 @@ depends: base-4.13.0.0 ghc-boot-th-8.8.2 pretty-1.1.3.6
haddock-interfaces:
haddock-html:
---
name: terminfo
version: 0.4.1.4
visibility: public
id: terminfo-0.4.1.4
key: terminfo-0.4.1.4
license: BSD-3-Clause
copyright: (c) Judah Jacobson
maintainer: Judah Jacobson <judah.jacobson@gmail.com>
author: Judah Jacobson
stability: Stable
homepage: https://github.com/judah/terminfo
synopsis: Haskell bindings to the terminfo library.
description:
This library provides an interface to the terminfo database (via bindings to the
curses library). <http://en.wikipedia.org/wiki/Terminfo Terminfo> allows POSIX
systems to interact with a variety of terminals using a standard set of capabilities.
category: User Interfaces
exposed: True
exposed-modules:
System.Console.Terminfo System.Console.Terminfo.Base
System.Console.Terminfo.Color System.Console.Terminfo.Cursor
System.Console.Terminfo.Edit System.Console.Terminfo.Effects
System.Console.Terminfo.Keys
import-dirs:
library-dirs:
dynamic-library-dirs:
data-dir:
hs-libraries: HSterminfo-0.4.1.4
extra-libraries: tinfo
depends: base-4.13.0.0
haddock-interfaces:
haddock-html:
---
name: text
version: 1.2.4.0
visibility: public

View File

@ -667,8 +667,8 @@ depends:
containers-0.6.2.1 deepseq-1.4.4.0 directory-1.3.6.0
filepath-1.4.2.1 ghc-boot-8.8.3 ghc-boot-th-8.8.3 ghc-heap-8.8.3
ghci-8.8.3 hpc-0.6.0.3 integer-gmp-1.0.2.0 process-1.6.8.0
template-haskell-2.15.0.0 time-1.9.3 transformers-0.5.6.2
unix-2.7.2.2
template-haskell-2.15.0.0 terminfo-0.4.1.4 time-1.9.3
transformers-0.5.6.2 unix-2.7.2.2
haddock-interfaces:
haddock-html:
---
@ -893,6 +893,7 @@ hidden-modules:
System.Console.Haskeline.Backend.Posix
System.Console.Haskeline.Backend.Posix.Encoder
System.Console.Haskeline.Backend.DumbTerm
System.Console.Haskeline.Backend.Terminfo
import-dirs:
library-dirs:
dynamic-library-dirs:
@ -901,7 +902,7 @@ hs-libraries: HShaskeline-0.7.5.0
depends:
base-4.13.0.0 bytestring-0.10.10.0 containers-0.6.2.1
directory-1.3.6.0 filepath-1.4.2.1 process-1.6.8.0 stm-2.5.0.0
transformers-0.5.6.2 unix-2.7.2.2
terminfo-0.4.1.4 transformers-0.5.6.2 unix-2.7.2.2
haddock-interfaces:
haddock-html:
---
@ -1209,6 +1210,39 @@ depends: base-4.13.0.0 ghc-boot-th-8.8.3 pretty-1.1.3.6
haddock-interfaces:
haddock-html:
---
name: terminfo
version: 0.4.1.4
visibility: public
id: terminfo-0.4.1.4
key: terminfo-0.4.1.4
license: BSD-3-Clause
copyright: (c) Judah Jacobson
maintainer: Judah Jacobson <judah.jacobson@gmail.com>
author: Judah Jacobson
stability: Stable
homepage: https://github.com/judah/terminfo
synopsis: Haskell bindings to the terminfo library.
description:
This library provides an interface to the terminfo database (via bindings to the
curses library). <http://en.wikipedia.org/wiki/Terminfo Terminfo> allows POSIX
systems to interact with a variety of terminals using a standard set of capabilities.
category: User Interfaces
exposed: True
exposed-modules:
System.Console.Terminfo System.Console.Terminfo.Base
System.Console.Terminfo.Color System.Console.Terminfo.Cursor
System.Console.Terminfo.Edit System.Console.Terminfo.Effects
System.Console.Terminfo.Keys
import-dirs:
library-dirs:
dynamic-library-dirs:
data-dir:
hs-libraries: HSterminfo-0.4.1.4
extra-libraries: tinfo
depends: base-4.13.0.0
haddock-interfaces:
haddock-html:
---
name: text
version: 1.2.4.0
visibility: public

View File

@ -0,0 +1,46 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "Win32"; version = "2.6.1.0"; };
license = "BSD-3-Clause";
copyright = "Alastair Reid, 1999-2003; shelarcy, 2012-2013; Tamar Christina, 2016-2017";
maintainer = "Haskell Libraries <libraries@haskell.org>";
author = "Alastair Reid, shelarcy, Tamar Christina";
homepage = "https://github.com/haskell/win32";
url = "";
synopsis = "A binding to part of the Win32 library";
description = "A binding to part of the Win32 library.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unbuildable" or (errorHandler.buildDepError "unbuildable"));
libs = [
(pkgs."user32" or (errorHandler.sysDepError "user32"))
(pkgs."gdi32" or (errorHandler.sysDepError "gdi32"))
(pkgs."winmm" or (errorHandler.sysDepError "winmm"))
(pkgs."advapi32" or (errorHandler.sysDepError "advapi32"))
(pkgs."shell32" or (errorHandler.sysDepError "shell32"))
(pkgs."shfolder" or (errorHandler.sysDepError "shfolder"))
(pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi"))
(pkgs."msimg32" or (errorHandler.sysDepError "msimg32"))
(pkgs."imm32" or (errorHandler.sysDepError "imm32"))
];
buildable = if !system.isWindows then false else true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,43 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { integer-simple = false; integer-gmp = false; };
package = {
specVersion = "3.0";
identifier = { name = "base"; version = "4.14.2.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "libraries@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Basic libraries";
description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.";
buildType = "Configure";
};
components = {
"library" = {
depends = (([
(hsPkgs."rts" or (errorHandler.buildDepError "rts"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
] ++ (pkgs.lib).optional (!(flags.integer-gmp && !flags.integer-simple || !flags.integer-gmp && flags.integer-simple)) (hsPkgs."invalid-cabal-flag-settings" or (errorHandler.buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp"));
libs = (pkgs.lib).optionals (system.isWindows) [
(pkgs."wsock32" or (errorHandler.sysDepError "wsock32"))
(pkgs."user32" or (errorHandler.sysDepError "user32"))
(pkgs."shell32" or (errorHandler.sysDepError "shell32"))
(pkgs."msvcrt" or (errorHandler.sysDepError "msvcrt"))
(pkgs."mingw32" or (errorHandler.sysDepError "mingw32"))
(pkgs."mingwex" or (errorHandler.sysDepError "mingwex"))
(pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

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.0"; };
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 = "Duncan Coutts <duncan@community.haskell.org>";
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,39 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.22";
identifier = { name = "ghc-boot"; version = "8.10.5"; };
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.PackageDb\": 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,35 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "3.0";
identifier = { name = "ghc-heap"; version = "8.10.5"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "libraries@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Functions for walking GHC's heap";
description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."rts" or (errorHandler.buildDepError "rts"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,44 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "2.2";
identifier = { name = "ghc-prim"; version = "0.6.1"; };
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."gcc" or (errorHandler.sysDepError "gcc"))
(pkgs."c" or (errorHandler.sysDepError "c"))
(pkgs."m" or (errorHandler.sysDepError "m"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,62 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {
ghci = false;
stage1 = false;
stage2 = false;
stage3 = false;
terminfo = true;
integer-simple = false;
integer-gmp = false;
dynamic-system-linker = true;
};
package = {
specVersion = "1.10";
identifier = { name = "ghc"; version = "8.10.5"; };
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.";
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."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")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (errorHandler.buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple"));
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,45 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { ghci = false; };
package = {
specVersion = "1.10";
identifier = { name = "ghci"; version = "8.10.5"; };
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."rts" or (errorHandler.buildDepError "rts"))
(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,33 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "2.0";
identifier = { name = "integer-gmp"; version = "1.0.3.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "hvr@gnu.org";
author = "Herbert Valerio Riedel";
homepage = "";
url = "";
synopsis = "Integer library based on GMP";
description = "This package provides the low-level implementation of the standard\n'Integer' type based on the\n<http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.\n\nThis package provides access to the internal representation of\n'Integer' as well as primitive operations with no proper error\nhandling, and should only be used directly with the utmost care.";
buildType = "Configure";
};
components = {
"library" = {
depends = [
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
];
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 = "8.10.5"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Tempalte 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 = "8.10.5"; };
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 = "8.10.5"; };
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 = "8.10.5"; };
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 Tempalte 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.16.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,46 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "Win32"; version = "2.6.1.0"; };
license = "BSD-3-Clause";
copyright = "Alastair Reid, 1999-2003; shelarcy, 2012-2013; Tamar Christina, 2016-2017";
maintainer = "Haskell Libraries <libraries@haskell.org>";
author = "Alastair Reid, shelarcy, Tamar Christina";
homepage = "https://github.com/haskell/win32";
url = "";
synopsis = "A binding to part of the Win32 library";
description = "A binding to part of the Win32 library.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."bytestring" or (errorHandler.buildDepError "bytestring"))
(hsPkgs."filepath" or (errorHandler.buildDepError "filepath"))
] ++ (pkgs.lib).optional (!system.isWindows) (hsPkgs."unbuildable" or (errorHandler.buildDepError "unbuildable"));
libs = [
(pkgs."user32" or (errorHandler.sysDepError "user32"))
(pkgs."gdi32" or (errorHandler.sysDepError "gdi32"))
(pkgs."winmm" or (errorHandler.sysDepError "winmm"))
(pkgs."advapi32" or (errorHandler.sysDepError "advapi32"))
(pkgs."shell32" or (errorHandler.sysDepError "shell32"))
(pkgs."shfolder" or (errorHandler.sysDepError "shfolder"))
(pkgs."shlwapi" or (errorHandler.sysDepError "shlwapi"))
(pkgs."msimg32" or (errorHandler.sysDepError "msimg32"))
(pkgs."imm32" or (errorHandler.sysDepError "imm32"))
];
buildable = if !system.isWindows then false else true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,42 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { integer-simple = false; integer-gmp = false; };
package = {
specVersion = "3.0";
identifier = { name = "base"; version = "4.13.0.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "libraries@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Basic libraries";
description = "This package contains the Standard Haskell \"Prelude\" and its support libraries,\nand a large collection of useful libraries ranging from data\nstructures to parsing combinators and debugging utilities.";
buildType = "Configure";
};
components = {
"library" = {
depends = (([
(hsPkgs."rts" or (errorHandler.buildDepError "rts"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
] ++ (pkgs.lib).optional (!(flags.integer-gmp && !flags.integer-simple || !flags.integer-gmp && flags.integer-simple)) (hsPkgs."invalid-cabal-flag-settings" or (errorHandler.buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp"));
libs = (pkgs.lib).optionals (system.isWindows) [
(pkgs."wsock32" or (errorHandler.sysDepError "wsock32"))
(pkgs."user32" or (errorHandler.sysDepError "user32"))
(pkgs."shell32" or (errorHandler.sysDepError "shell32"))
(pkgs."msvcrt" or (errorHandler.sysDepError "msvcrt"))
(pkgs."mingw32" or (errorHandler.sysDepError "mingw32"))
(pkgs."mingwex" or (errorHandler.sysDepError "mingwex"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,80 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { integer-simple = false; };
package = {
specVersion = "1.10";
identifier = { name = "bytestring"; version = "0.10.10.0"; };
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 = "Duncan Coutts <duncan@community.haskell.org>";
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).optionals (compiler.isGhc && (compiler.version).ge "6.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;
};
tests = {
"prop-compiled" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."random" or (errorHandler.buildDepError "random"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework"))
(hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2"))
(hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck"))
];
buildable = true;
};
"regressions" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."random" or (errorHandler.buildDepError "random"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework"))
(hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit"))
(hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit"))
];
buildable = false;
};
"test-builder" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."deepseq" or (errorHandler.buildDepError "deepseq"))
(hsPkgs."QuickCheck" or (errorHandler.buildDepError "QuickCheck"))
(hsPkgs."byteorder" or (errorHandler.buildDepError "byteorder"))
(hsPkgs."dlist" or (errorHandler.buildDepError "dlist"))
(hsPkgs."directory" or (errorHandler.buildDepError "directory"))
(hsPkgs."mtl" or (errorHandler.buildDepError "mtl"))
(hsPkgs."HUnit" or (errorHandler.buildDepError "HUnit"))
(hsPkgs."test-framework" or (errorHandler.buildDepError "test-framework"))
(hsPkgs."test-framework-hunit" or (errorHandler.buildDepError "test-framework-hunit"))
(hsPkgs."test-framework-quickcheck2" or (errorHandler.buildDepError "test-framework-quickcheck2"))
];
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.22";
identifier = { name = "ghc-boot"; version = "8.8.3"; };
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.PackageDb\": 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."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,35 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "3.0";
identifier = { name = "ghc-heap"; version = "8.8.3"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "libraries@haskell.org";
author = "";
homepage = "";
url = "";
synopsis = "Functions for walking GHC's heap";
description = "This package provides functions for walking the GHC heap data structures\nand retrieving information about those data structures.";
buildType = "Simple";
};
components = {
"library" = {
depends = [
(hsPkgs."base" or (errorHandler.buildDepError "base"))
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
(hsPkgs."rts" or (errorHandler.buildDepError "rts"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -0,0 +1,40 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = { boot = false; install = true; };
package = {
specVersion = "3.0";
identifier = { name = "ghc-prim"; version = "0.5.3"; };
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"))
];
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 = true;
stage3 = false;
terminfo = true;
integer-simple = false;
integer-gmp = false;
};
package = {
specVersion = "1.10";
identifier = { name = "ghc"; version = "8.8.3"; };
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.";
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."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")))) ++ (pkgs.lib).optional (flags.integer-gmp && flags.integer-simple) (hsPkgs."invalid-cabal-flag-settings" or (errorHandler.buildDepError "invalid-cabal-flag-settings"))) ++ (pkgs.lib).optional (flags.integer-gmp) (hsPkgs."integer-gmp" or (errorHandler.buildDepError "integer-gmp"))) ++ (pkgs.lib).optional (flags.integer-simple) (hsPkgs."integer-simple" or (errorHandler.buildDepError "integer-simple"));
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 = "8.8.3"; };
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,37 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "hpc"; version = "0.6.0.3"; };
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."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,33 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "2.0";
identifier = { name = "integer-gmp"; version = "1.0.2.0"; };
license = "BSD-3-Clause";
copyright = "";
maintainer = "hvr@gnu.org";
author = "Herbert Valerio Riedel";
homepage = "";
url = "";
synopsis = "Integer library based on GMP";
description = "This package provides the low-level implementation of the standard\n'Integer' type based on the\n<http://gmplib.org/ GNU Multiple Precision Arithmetic Library (GMP)>.\n\nThis package provides access to the internal representation of\n'Integer' as well as primitive operations with no proper error\nhandling, and should only be used directly with the utmost care.";
buildType = "Configure";
};
components = {
"library" = {
depends = [
(hsPkgs."ghc-prim" or (errorHandler.buildDepError "ghc-prim"))
];
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 = "8.8.3"; };
license = "BSD-3-Clause";
copyright = "XXX";
maintainer = "XXX";
author = "XXX";
homepage = "";
url = "";
synopsis = "iserv allows GHC to delegate Tempalte 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 = "8.8.3"; };
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 = "8.8.3"; };
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 = "8.8.3"; };
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 Tempalte 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,35 @@
{ system
, compiler
, flags
, pkgs
, hsPkgs
, pkgconfPkgs
, errorHandler
, config
, ... }:
{
flags = {};
package = {
specVersion = "1.10";
identifier = { name = "template-haskell"; version = "2.15.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."pretty" or (errorHandler.buildDepError "pretty"))
];
buildable = true;
};
};
} // rec { src = (pkgs.lib).mkDefault ./.; }

View File

@ -17,7 +17,7 @@ in builtins.listToAttrs (builtins.concatMap (system: builtins.concatMap (compile
in
# Exclude version that are older than the boot compiler
eval.lib.optionals (
(system != "aarch64-linux" || !__elem compiler-nix-name ["ghc865" "ghc881" "ghc882" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc810420210212"])
(system != "aarch64-linux" || !__elem compiler-nix-name ["ghc865" "ghc881" "ghc882" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc810420210212" "ghc8105"])
&& (system != "aarch64-darwin" || !__elem compiler-nix-name ["ghc865" "ghc881" "ghc882" "ghc883" "ghc884" "ghc8101" "ghc8102" "ghc8103" "ghc8104" "ghc810420210212" "ghc8105" "ghc8106"])
&& (system != "x86_64-darwin" || !__elem compiler-nix-name ["ghc8102" "ghc8103"])) ([
# This set of derivations should be enough to ensure all the materialized files for a
@ -27,7 +27,8 @@ in builtins.listToAttrs (builtins.concatMap (system: builtins.concatMap (compile
{ name = "${prefix}-extra"; value = pkgs.ghc-extra-projects.${compiler-nix-name}.plan-nix; }
{ name = "${prefix}-boot"; value = pkgs.ghc-boot-packages-nix.${compiler-nix-name}; }
{ name = "${prefix}-hello"; value = pkgs.haskell-nix.tool compiler-nix-name "hello" {}; }
] ++ eval.lib.optionals (!__elem system ["aarch64-darwin" "aarch64-linux"]) [
] ++ eval.lib.optionals (!__elem system ["aarch64-darwin" "aarch64-linux"]
&& !__elem compiler-nix-name ["ghc881" "ghc882" "ghc883"]) [
{ name = "${prefix}-windows"; value = pkgsForWindows.pkgsCross.mingwW64.ghc-extra-projects.${compiler-nix-name}.plan-nix; }
{ name = "${prefix}-hello-windows"; value = pkgsForWindows.pkgsCross.mingwW64.haskell-nix.tool compiler-nix-name "hello" {}; }
] ++ eval.lib.optionals (system == "x86_64-linux") [
@ -38,7 +39,9 @@ in builtins.listToAttrs (builtins.concatMap (system: builtins.concatMap (compile
{ name = "${prefix}-arm"; value = pkgs.pkgsCross.aarch64-multiplatform.ghc-extra-projects.${compiler-nix-name}.plan-nix; }
] ++ eval.lib.optionals (system == "x86_64-linux" && __elem compiler-nix-name ["ghc884" "ghc8106" "ghc8107"]) [
{ name = "${prefix}-hello-arm"; value = pkgs.pkgsCross.aarch64-multiplatform.haskell-nix.tool compiler-nix-name "hello" {}; }
] ++ eval.lib.optionals (!__elem system ["aarch64-darwin" "aarch64-linux"] && __elem compiler-nix-name ["ghc865" "ghc884" "ghc8105" "ghc8106" "ghc8107"]) [
] ++ eval.lib.optionals (
(system == "x86_64-linux" && __elem compiler-nix-name ["ghc865" "ghc884" "ghc8105" "ghc8106" "ghc8107"])
|| (system == "x86_64-darwin" && __elem compiler-nix-name ["ghc8107"])) [
{ name = "${prefix}-ghcjs"; value = pkgs.pkgsCross.ghcjs.ghc-extra-projects.${compiler-nix-name}.plan-nix; }
{ name = "${prefix}-hello-ghcjs"; value = pkgs.pkgsCross.ghcjs.haskell-nix.tool compiler-nix-name "hello" {}; }
])) compiler-nix-names) systems)