From a84ad8010ab87d217cb90c87188614e08c69a363 Mon Sep 17 00:00:00 2001 From: Andres Loeh Date: Wed, 3 Oct 2012 10:00:45 +0200 Subject: [PATCH] Add haskell-platform-2012.4.0.0 release candidate. --- .../async/{default.nix => 2.0.1.3.nix} | 0 .../haskell/haskell-platform/2012.4.0.0.nix | 44 +++++++++ .../haskell-platform-2012.4.0.0.cabal | 96 +++++++++++++++++++ .../libraries/haskell/network/2.3.1.0.nix | 15 +++ .../primitive/{default.nix => 0.4.1.nix} | 0 .../libraries/haskell/primitive/0.5.nix | 14 +++ .../split/{default.nix => 0.2.1.1.nix} | 0 .../libraries/haskell/vector/0.10.nix | 15 +++ .../haskell/vector/{default.nix => 0.9.1.nix} | 0 pkgs/top-level/all-packages.nix | 1 + pkgs/top-level/haskell-defaults.nix | 18 +++- pkgs/top-level/haskell-packages.nix | 66 ++++++++++--- 12 files changed, 254 insertions(+), 15 deletions(-) rename pkgs/development/libraries/haskell/async/{default.nix => 2.0.1.3.nix} (100%) create mode 100644 pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix create mode 100644 pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal create mode 100644 pkgs/development/libraries/haskell/network/2.3.1.0.nix rename pkgs/development/libraries/haskell/primitive/{default.nix => 0.4.1.nix} (100%) create mode 100644 pkgs/development/libraries/haskell/primitive/0.5.nix rename pkgs/development/libraries/haskell/split/{default.nix => 0.2.1.1.nix} (100%) create mode 100644 pkgs/development/libraries/haskell/vector/0.10.nix rename pkgs/development/libraries/haskell/vector/{default.nix => 0.9.1.nix} (100%) diff --git a/pkgs/development/libraries/haskell/async/default.nix b/pkgs/development/libraries/haskell/async/2.0.1.3.nix similarity index 100% rename from pkgs/development/libraries/haskell/async/default.nix rename to pkgs/development/libraries/haskell/async/2.0.1.3.nix diff --git a/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix new file mode 100644 index 00000000000..c9f269eebef --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-platform/2012.4.0.0.nix @@ -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 + ]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal new file mode 100644 index 00000000000..6346b6ab297 --- /dev/null +++ b/pkgs/development/libraries/haskell/haskell-platform/haskell-platform-2012.4.0.0.cabal @@ -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 + diff --git a/pkgs/development/libraries/haskell/network/2.3.1.0.nix b/pkgs/development/libraries/haskell/network/2.3.1.0.nix new file mode 100644 index 00000000000..28fa50d8342 --- /dev/null +++ b/pkgs/development/libraries/haskell/network/2.3.1.0.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/primitive/default.nix b/pkgs/development/libraries/haskell/primitive/0.4.1.nix similarity index 100% rename from pkgs/development/libraries/haskell/primitive/default.nix rename to pkgs/development/libraries/haskell/primitive/0.4.1.nix diff --git a/pkgs/development/libraries/haskell/primitive/0.5.nix b/pkgs/development/libraries/haskell/primitive/0.5.nix new file mode 100644 index 00000000000..d09359aaeb9 --- /dev/null +++ b/pkgs/development/libraries/haskell/primitive/0.5.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/split/default.nix b/pkgs/development/libraries/haskell/split/0.2.1.1.nix similarity index 100% rename from pkgs/development/libraries/haskell/split/default.nix rename to pkgs/development/libraries/haskell/split/0.2.1.1.nix diff --git a/pkgs/development/libraries/haskell/vector/0.10.nix b/pkgs/development/libraries/haskell/vector/0.10.nix new file mode 100644 index 00000000000..8fac71eed4b --- /dev/null +++ b/pkgs/development/libraries/haskell/vector/0.10.nix @@ -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 ]; + }; +}) diff --git a/pkgs/development/libraries/haskell/vector/default.nix b/pkgs/development/libraries/haskell/vector/0.9.1.nix similarity index 100% rename from pkgs/development/libraries/haskell/vector/default.nix rename to pkgs/development/libraries/haskell/vector/0.9.1.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 90a6d868811..3c00c15f4b1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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; diff --git a/pkgs/top-level/haskell-defaults.nix b/pkgs/top-level/haskell-defaults.nix index 4b2f5fc4613..b4489fe72e5 100644 --- a/pkgs/top-level/haskell-defaults.nix +++ b/pkgs/top-level/haskell-defaults.nix @@ -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; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 7be018fbeb8..16d315056ea 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -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 {};