Merge pull request #22114 from vbgl/ocaml-4.04

OCaml 4.04
This commit is contained in:
Michael Raskin 2017-01-24 21:38:19 +00:00 committed by GitHub
commit 54e97b8ec6
8 changed files with 60 additions and 18 deletions

View File

@ -0,0 +1,6 @@
import ./generic.nix {
major_version = "4";
minor_version = "04";
patch_version = "0";
sha256 = "1d2nk3kq4dyzz8dls45r13jprq5by3q8kshc8kvxzm8n4fnnvvb4";
}

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation (args // rec {
buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
buildInputs = [ncurses] ++ optionals useX11 [ libX11 xproto ];
installTargets = "install" + optionalString useNativeCompilers " installopt";
preConfigure = ''
preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
CAT=$(type -tp cat)
sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
'';
@ -56,7 +56,7 @@ stdenv.mkDerivation (args // rec {
meta = with stdenv.lib; {
homepage = http://caml.inria.fr/ocaml;
branch = "4.03";
branch = versionNoPatch;
license = with licenses; [
qpl /* compiler */
lgpl2 /* library */

View File

@ -1,15 +1,15 @@
{ stdenv, fetchzip, ocaml, findlib, oasis, ocaml_optcomp, camlp4 }:
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, oasis, ocaml_optcomp, camlp4 }:
let version = "0.7"; in
let version = "0.7.1"; in
stdenv.mkDerivation {
name = "ocsigen-deriving-${version}";
src = fetchzip {
url = "https://github.com/ocsigen/deriving/archive/${version}.tar.gz";
sha256 = "05z606gly1iyan292x3mflg3zasgg68n8i2mivz0zbshx2hz2jbw";
sha256 = "0gg3nr3iic4rwqrcc0qvfm9x0x57zclvdsnpy0z8rv2fl5isbzms";
};
buildInputs = [ ocaml findlib oasis ocaml_optcomp camlp4 ];
buildInputs = [ ocaml findlib ocamlbuild oasis ocaml_optcomp camlp4 ];
createFindlibDestdir = true;

View File

@ -1,19 +1,21 @@
{ stdenv, fetchFromGitHub, ocaml, findlib }:
let
version =
if stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "4.03" then "5.0+4.03.0" else "5.0+4.02.0";
let param = {
"4.02.3" = {
version = "5.0+4.02.0";
sha256 = "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"; };
"4.03.0" = {
version = "5.0+4.03.0";
sha256 = "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"; };
}."${ocaml.version}";
in
stdenv.mkDerivation {
name = "ocaml-ppx_tools-${version}";
name = "ocaml${ocaml.version}-ppx_tools-${param.version}";
src = fetchFromGitHub {
owner = "alainfrisch";
repo = "ppx_tools";
rev = version;
sha256 = if version == "5.0+4.03.0"
then "061v1fl5z7z3ywi4ppryrlcywnvnqbsw83ppq72qmkc7ma4603jg"
else "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8"
;
rev = param.version;
inherit (param) sha256;
};
buildInputs = [ ocaml findlib ];

View File

@ -0,0 +1,27 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, owee }:
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-spacetime_lib-${version}";
version = "0.1.0";
src = fetchFromGitHub {
owner = "lpw25";
repo = "spacetime_lib";
rev = version;
sha256 = "1g91y6wl3z18jhaz2q03wn54zj6xk1qcjidr1nc6nq9a8906lcq5";
};
buildInputs = [ ocaml findlib ];
propagatedBuildInputs = [ owee ];
createFindlibDestdir = true;
meta = {
description = "An OCaml library providing some simple operations for handling OCaml spacetime profiles";
inherit (src.meta) homepage;
inherit (ocaml.meta) platforms;
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
}

View File

@ -7,6 +7,9 @@ let param = {
"4.03.0" = {
version = "4.03+1";
sha256 = "1f2ndch6f1m4fgnxsjb94qbpwjnjgdlya6pard44y6n0dqxi1wsq"; };
"4.04.0" = {
version = "4.04+1";
sha256 = "1ad7rygqjxrc1im95gw9lp8q83nhdaf383f2808f1p63yl42xm7k"; };
}."${ocaml.version}";
in

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving, ppx_deriving, camlp4
{ stdenv, fetchurl, ocaml, findlib, ocaml_lwt, menhir, ocsigen_deriving, ppx_deriving, camlp4, ocamlbuild
, cmdliner, tyxml, reactivedata, cppo, which, base64, uchar
}:
@ -16,7 +16,7 @@ stdenv.mkDerivation {
}."${version}";
};
buildInputs = [ ocaml findlib menhir ocsigen_deriving
buildInputs = [ ocaml findlib menhir ocsigen_deriving ocamlbuild
cmdliner reactivedata cppo which base64 ]
++ stdenv.lib.optional (stdenv.lib.versionAtLeast ocaml.version "4.02") tyxml;
propagatedBuildInputs = [ ocaml_lwt camlp4 ppx_deriving ]

View File

@ -374,6 +374,8 @@ let
sequence = callPackage ../development/ocaml-modules/sequence { };
spacetime_lib = callPackage ../development/ocaml-modules/spacetime_lib { };
sqlexpr = callPackage ../development/ocaml-modules/sqlexpr { };
tuntap = callPackage ../development/ocaml-modules/tuntap { };
@ -727,7 +729,9 @@ in rec
ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.03.nix { }) (self: super: { });
ocamlPackages_latest = ocamlPackages_4_03;
ocamlPackages_4_04 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.04.nix { }) (self: super: { });
ocamlPackages_latest = ocamlPackages_4_04;
ocamlPackages = ocamlPackages_4_01_0;
}