3
0
Fork 0
forked from mirrors/nixpkgs

Add haskell-platform-2012.4.0.0 release candidate.

This commit is contained in:
Andres Loeh 2012-10-03 10:00:45 +02:00
parent f9714ace11
commit a84ad8010a
12 changed files with 254 additions and 15 deletions

View file

@ -0,0 +1,44 @@
{cabal, fetchurl, GLUT, HTTP, HUnit, OpenGL, QuickCheck, async, cgi, fgl,
haskellSrc, html, network, parallel, parsec, primitive,
regexBase, regexCompat, regexPosix,
split, stm, syb, deepseq, text, transformers, mtl, vector, xhtml, zlib, random,
cabalInstall, alex, happy, haddock, ghc}:
# This is just a meta-package. Because upstream fails to provide proper versioned
# release tarballs that can be used for the purpose of verifying this package, we
# just create it on the fly from a simple Setup.hs file and a .cabal file that we
# store directly in the nixpkgs repository.
cabal.mkDerivation (self : {
pname = "haskell-platform";
version = "2012.4.0.0";
cabalFile = ./haskell-platform-2012.4.0.0.cabal;
setupFile = ./Setup.hs;
src = null;
propagatedBuildInputs = [
GLUT HTTP HUnit OpenGL QuickCheck async cgi fgl
haskellSrc html network parallel parsec primitive
regexBase regexCompat regexPosix
split stm syb deepseq text transformers mtl vector xhtml zlib random
cabalInstall alex happy ghc haddock
];
unpackPhase = ''
sourceRoot=haskell-platform
mkdir $sourceRoot
cp ${self.cabalFile} $sourceRoot/${self.pname}.cabal
cp ${self.setupFile} $sourceRoot/Setup.hs
touch $sourceRoot/LICENSE
'';
noHaddock = true;
meta = {
homepage = "http://haskell.org/platform";
description = "Haskell Platform meta package";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [
self.stdenv.lib.maintainers.andres
self.stdenv.lib.maintainers.simons
];
};
})

View file

@ -0,0 +1,96 @@
name: haskell-platform
version: 2012.4.0.0
homepage: http://haskell.org/platform
license: BSD3
license-file: LICENSE
author: libraries@haskell.org
maintainer: haskell-platform@projects.haskell.org
category: System
synopsis: The Haskell Platform
description:
The Haskell Platform (HP) is the blessed set of libraries and tools on
which to build further Haskell libraries and applications. It is
intended to provide a comprehensive, stable, and quality tested base for
Haskell projects to work from.
.
This version specifies the following additional developer tools be
installed, for a system to be in full compliance:
.
* cabal-install
* alex
* happy
* haddock
cabal-version: >= 1.8
build-type: Custom
tested-with: GHC ==7.4.2
library
build-depends:
-- ghc ==7.4.2,
-- Core libraries: provided by every ghc installation
-- We don't include "non-API" packages here.
-- array ==0.4.0.0,
-- base ==4.5.1.0,
-- bytestring ==0.9.2.1,
-- Cabal ==1.14.0,
-- containers ==0.4.2.1,
-- deepseq ==1.3.0.0,
-- directory ==1.1.0.2,
-- extensible-exceptions ==0.1.1.4,
-- filepath ==1.3.0.0,
-- haskell2010 ==1.1.0.1,
-- haskell98 ==2.0.0.1,
-- hpc ==0.5.1.1,
-- old-locale ==1.0.0.4,
-- old-time ==1.1.0.0,
-- pretty ==1.1.1.0,
-- process ==1.1.0.1,
-- template-haskell ==2.7.0.0,
-- time ==1.4,
-- unix ==2.5.1.1,
-- Win32 ==2.2.2.0,
-- Libraries in addition to what GHC provides:
-- Note: newer versions of cgi need monad-catchio.
async ==2.0.1.3,
cgi ==3001.1.7.4,
fgl ==5.4.2.4,
GLUT ==2.1.2.1,
haskell-src ==1.0.1.5,
html ==1.0.1.2,
HTTP ==4000.2.5,
HUnit ==1.2.5.1,
mtl ==2.1.2,
network ==2.3.1.0,
OpenGL ==2.2.3.1,
parallel ==3.2.0.3,
parsec ==3.1.3,
QuickCheck ==2.5.1.1,
random ==1.0.1.1,
regex-base ==0.93.2,
regex-compat ==0.95.1,
regex-posix ==0.95.2,
split ==0.2.1.1,
stm ==2.4,
syb ==0.3.7,
text ==0.11.2.3,
transformers ==0.3.0.0,
vector ==0.10,
xhtml ==3000.2.1,
zlib ==0.5.4.0,
-- Libraries that are needed to support the above,
-- though are not officially part of the platform
primitive ==0.5
-- Depending on programs does not work, they are not registered
-- We list them to help distro packaging.
build-tools:
cabal-install ==0.14.0,
alex ==3.0.2,
happy ==1.18.10
-- hscolour ==1.19 -- ???
-- haddock ==2.11.0 -- need to use the one shipped with ghc

View file

@ -0,0 +1,15 @@
{ cabal, parsec }:
cabal.mkDerivation (self: {
pname = "network";
version = "2.3.1.0";
sha256 = "1fp25wkl5cc4kx0jv5w02b7pzgqadjg1yrknzzwsqxc5s3cpyz6l";
buildDepends = [ parsec ];
meta = {
homepage = "http://github.com/haskell/network";
description = "Low-level networking interface";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View file

@ -0,0 +1,14 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "primitive";
version = "0.5";
sha256 = "0m2gv7lac7q24cy02bbc7hq41awjxzs8dcjc6j2nv8xiq14cp3mk";
meta = {
homepage = "http://code.haskell.org/primitive";
description = "Primitive memory-related operations";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View file

@ -0,0 +1,15 @@
{ cabal, deepseq, primitive }:
cabal.mkDerivation (self: {
pname = "vector";
version = "0.10";
sha256 = "0lwhsdg7wv6gwjswakf2d1h9w7lp4pznab0mz6xg5q48pgknrcig";
buildDepends = [ deepseq primitive ];
meta = {
homepage = "http://code.haskell.org/vector";
description = "Efficient Arrays";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View file

@ -2317,6 +2317,7 @@ let
haskellPackages_ghc741_profiling = recurseIntoAttrs (haskell.packages_ghc741.profiling);
haskellPackages_ghc741 = recurseIntoAttrs (haskell.packages_ghc741.highPrio);
haskellPackages_ghc742 = recurseIntoAttrs (haskell.packages_ghc742);
haskellPackages_ghc742_pedantic = haskell.packages_ghc742_pedantic;
haskellPackages_ghc761 = recurseIntoAttrs (haskell.packages_ghc761);
# Reasonably current HEAD snapshot.
haskellPackages_ghcHEAD = haskell.packages_ghcHEAD;

View file

@ -20,9 +20,20 @@
haskellPlatform = null;
binary = null; # now a core package
extensibleExceptions = self.extensibleExceptions_0_1_1_4;
regexCompat = self.regexCompat_0_95_1.override { regexPosix = self.regexPosix_0_95_2; };
};
ghc742Prefs_pedantic =
self : self.haskellPlatformArgs_2012_4_0_0 self // {
haskellPlatform = self.haskellPlatform_2012_4_0_0;
binary = null; # now a core package
};
# until the Haskell Platform for 7.4.2 is released, this works fine/better;
# mainly because the Haskell Platform 2012.4.0.0 release candidate mandates
# vector 0.10 and primitive 0.5, which at this time aren't supported widely
# by other packages
ghc742Prefs = ghc741Prefs;
ghc741Prefs =
self : self.haskellPlatformArgs_2012_2_0_0 self // {
haskellPlatform = self.haskellPlatform_2012_2_0_0;
@ -259,9 +270,12 @@
packages_ghc742 =
packages { ghcPath = ../development/compilers/ghc/7.4.2.nix;
ghcBinary = ghc6121BinaryDarwin;
prefFun = ghc741Prefs;
prefFun = ghc742Prefs;
};
packages_ghc742_pedantic =
packages_ghc742.override { prefFun = ghc742Prefs_pedantic; };
packages_ghc761 =
packages { ghcPath = ../development/compilers/ghc/7.6.1.nix;
ghcBinary = ghc704Binary;

View file

@ -149,6 +149,45 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
happy = self.happy_1_18_10; # 7.6 ok
};
haskellPlatformArgs_2012_4_0_0 = self : {
inherit (self) cabal ghc;
async = self.async_2_0_1_3;
cgi = self.cgi_3001_1_7_4;
fgl = self.fgl_5_4_2_4;
GLUT = self.GLUT_2_1_2_1;
haskellSrc = self.haskellSrc_1_0_1_5;
html = self.html_1_0_1_2;
HTTP = self.HTTP_4000_2_5;
HUnit = self.HUnit_1_2_5_1;
mtl = self.mtl_2_1_2;
network = self.network_2_3_1_0;
OpenGL = self.OpenGL_2_2_3_1;
parallel = self.parallel_3_2_0_3;
parsec = self.parsec_3_1_3;
QuickCheck = self.QuickCheck_2_5_1_1;
random = self.random_1_0_1_1;
regexBase = self.regexBase_0_93_2;
regexCompat = self.regexCompat_0_95_1;
regexPosix = self.regexPosix_0_95_2;
split = self.split_0_2_1_1;
stm = self.stm_2_4;
syb = self.syb_0_3_7;
text = self.text_0_11_2_3;
transformers = self.transformers_0_3_0_0;
vector = self.vector_0_10;
xhtml = self.xhtml_3000_2_1;
zlib = self.zlib_0_5_4_0;
cabalInstall = self.cabalInstall_0_14_0;
alex = self.alex_3_0_2;
haddock = self.haddock_2_11_0;
happy = self.happy_1_18_10;
primitive = self.primitive_0_5; # semi-official, but specified
};
haskellPlatform_2012_4_0_0 =
callPackage ../development/libraries/haskell/haskell-platform/2012.4.0.0.nix
(self.haskellPlatformArgs_2012_4_0_0 self);
haskellPlatformArgs_2012_2_0_0 = self : {
inherit (self) cabal ghc;
cgi = self.cgi_3001_1_7_4; # 7.4.1 ok
@ -419,7 +458,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
AspectAG = callPackage ../development/libraries/haskell/AspectAG {};
async = callPackage ../development/libraries/haskell/async {};
async_2_0_1_3 = callPackage ../development/libraries/haskell/async/2.0.1.3.nix {};
async = self.async_2_0_1_3;
attempt = callPackage ../development/libraries/haskell/attempt {};
@ -1139,6 +1179,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
network_2_3_0_2 = callPackage ../development/libraries/haskell/network/2.3.0.2.nix {};
network_2_3_0_5 = callPackage ../development/libraries/haskell/network/2.3.0.5.nix {};
network_2_3_0_13 = callPackage ../development/libraries/haskell/network/2.3.0.13.nix {};
network_2_3_1_0 = callPackage ../development/libraries/haskell/network/2.3.1.0.nix {};
network_2_4_0_1 = callPackage ../development/libraries/haskell/network/2.4.0.1.nix {};
network = self.network_2_4_0_1;
@ -1249,7 +1290,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
prettyShow = callPackage ../development/libraries/haskell/pretty-show {};
primitive = callPackage ../development/libraries/haskell/primitive {};
primitive_0_4_1 = callPackage ../development/libraries/haskell/primitive/0.4.1.nix {};
primitive_0_5 = callPackage ../development/libraries/haskell/primitive/0.5.nix {};
primitive = self.primitive_0_4_1;
processExtras = callPackage ../development/libraries/haskell/process-extras {};
@ -1315,9 +1358,7 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
regexCompat_0_71_0_1 = callPackage ../development/libraries/haskell/regex-compat/0.71.0.1.nix {};
regexCompat_0_92 = callPackage ../development/libraries/haskell/regex-compat/0.92.nix {};
regexCompat_0_93_1 = callPackage ../development/libraries/haskell/regex-compat/0.93.1.nix {};
regexCompat_0_95_1 = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix {
regexPosix = self.regexPosix_0_95_1;
};
regexCompat_0_95_1 = callPackage ../development/libraries/haskell/regex-compat/0.95.1.nix {};
regexCompat93 = self.regexCompat_0_93_1;
regexCompat = self.regexCompat_0_71_0_1;
@ -1325,12 +1366,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
regexPosix_0_94_1 = callPackage ../development/libraries/haskell/regex-posix/0.94.1.nix {};
regexPosix_0_94_2 = callPackage ../development/libraries/haskell/regex-posix/0.94.2.nix {};
regexPosix_0_94_4 = callPackage ../development/libraries/haskell/regex-posix/0.94.4.nix {};
regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix {
regexBase = self.regexBase_0_93_2;
};
regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {
regexBase = self.regexBase_0_93_2;
};
regexPosix_0_95_1 = callPackage ../development/libraries/haskell/regex-posix/0.95.1.nix {};
regexPosix_0_95_2 = callPackage ../development/libraries/haskell/regex-posix/0.95.2.nix {};
regexPosix = self.regexPosix_0_95_2;
regexTDFA = callPackage ../development/libraries/haskell/regex-tdfa {};
@ -1453,7 +1490,8 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
SMTPClient = callPackage ../development/libraries/haskell/SMTPClient {};
split = callPackage ../development/libraries/haskell/split {};
split_0_2_1_1 = callPackage ../development/libraries/haskell/split/0.2.1.1.nix {};
split = self.split_0_2_1_1;
stbImage = callPackage ../development/libraries/haskell/stb-image {};
@ -1595,7 +1633,9 @@ let result = let callPackage = x : y : modifyPrio (newScope result.final x y);
Vec = callPackage ../development/libraries/haskell/Vec {};
vector = callPackage ../development/libraries/haskell/vector {};
vector_0_9_1 = callPackage ../development/libraries/haskell/vector/0.9.1.nix {};
vector_0_10 = callPackage ../development/libraries/haskell/vector/0.10.nix {};
vector = self.vector_0_9_1;
vectorAlgorithms = callPackage ../development/libraries/haskell/vector-algorithms {};