ocamlPackages.uri: 1.9.2 -> 1.9.5

This commit is contained in:
Vincent Laporte 2018-01-11 07:57:57 +00:00
parent 08492b31d1
commit 1b43f4fe86
No known key found for this signature in database
GPG key ID: EBD582ADDDB1F81F
3 changed files with 75 additions and 38 deletions

View file

@ -1,51 +1,33 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, re, stringext, ounit
, sexplib, ppx_sexp_conv
, legacyVersion ? false
, sexplib_p4
{ stdenv, fetchurl, ocaml, findlib, jbuilder, ppx_sexp_conv, ounit
, ppx_deriving, re, sexplib, stringext
}:
if !stdenv.lib.versionAtLeast ocaml.version "4"
|| legacyVersion && stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "uri${stdenv.lib.optionalString legacyVersion "_p4"} is not available for OCaml ${ocaml.version}" else
with
if legacyVersion
then {
version = "1.9.1";
sha256 = "0v3jxqgyi4kj92r3x83rszfpnvvzy9lyb913basch4q64yka3w85";
} else {
version = "1.9.2";
sha256 = "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx";
};
stdenv.mkDerivation {
stdenv.mkDerivation rec {
version = "1.9.5";
name = "ocaml${ocaml.version}-uri-${version}";
src = fetchzip {
url = "https://github.com/mirage/ocaml-uri/archive/v${version}.tar.gz";
inherit sha256;
src = fetchurl {
url = "https://github.com/mirage/ocaml-uri/releases/download/v${version}/uri-${version}.tbz";
sha256 = "11cix26fisjbzd1kj12a78wjf3bfgaxpj8nz88bl3dssdakhswyc";
};
buildInputs = [ ocaml findlib ocamlbuild ounit ]
++ stdenv.lib.optional (!legacyVersion) ppx_sexp_conv;
propagatedBuildInputs = [ re (if legacyVersion then sexplib_p4 else sexplib) stringext ];
unpackCmd = "tar -xjf $curSrc";
buildInputs = [ ocaml findlib jbuilder ppx_sexp_conv ounit ];
propagatedBuildInputs = [ ppx_deriving re sexplib stringext ];
buildPhase = "jbuilder build";
configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests";
buildPhase = ''
ocaml setup.ml -build
ocaml setup.ml -doc
'';
doCheck = true;
checkPhase = "ocaml setup.ml -test";
installPhase = "ocaml setup.ml -install";
checkPhase = "jbuilder runtest";
createFindlibDestdir = true;
inherit (jbuilder) installPhase;
meta = {
homepage = https://github.com/mirage/ocaml-uri;
platforms = ocaml.meta.platforms or [];
homepage = "https://github.com/mirage/ocaml-uri";
description = "RFC3986 URI parsing library for OCaml";
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ vbgl ];
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (ocaml.meta) platforms;
};
}

View file

@ -0,0 +1,51 @@
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, re, stringext, ounit
, sexplib, ppx_sexp_conv
, legacyVersion ? false
, sexplib_p4
}:
if !stdenv.lib.versionAtLeast ocaml.version "4"
|| legacyVersion && stdenv.lib.versionAtLeast ocaml.version "4.03"
then throw "uri${stdenv.lib.optionalString legacyVersion "_p4"} is not available for OCaml ${ocaml.version}" else
with
if legacyVersion
then {
version = "1.9.1";
sha256 = "0v3jxqgyi4kj92r3x83rszfpnvvzy9lyb913basch4q64yka3w85";
} else {
version = "1.9.2";
sha256 = "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx";
};
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-uri-${version}";
src = fetchzip {
url = "https://github.com/mirage/ocaml-uri/archive/v${version}.tar.gz";
inherit sha256;
};
buildInputs = [ ocaml findlib ocamlbuild ounit ]
++ stdenv.lib.optional (!legacyVersion) ppx_sexp_conv;
propagatedBuildInputs = [ re (if legacyVersion then sexplib_p4 else sexplib) stringext ];
configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests";
buildPhase = ''
ocaml setup.ml -build
ocaml setup.ml -doc
'';
doCheck = true;
checkPhase = "ocaml setup.ml -test";
installPhase = "ocaml setup.ml -install";
createFindlibDestdir = true;
meta = {
homepage = https://github.com/mirage/ocaml-uri;
platforms = ocaml.meta.platforms or [];
description = "RFC3986 URI parsing library for OCaml";
license = stdenv.lib.licenses.isc;
maintainers = with stdenv.lib.maintainers; [ vbgl ];
};
}

View file

@ -667,8 +667,12 @@ let
uucp = callPackage ../development/ocaml-modules/uucp { };
uunf = callPackage ../development/ocaml-modules/uunf { };
uri = callPackage ../development/ocaml-modules/uri { };
uri_p4 = callPackage ../development/ocaml-modules/uri {
uri =
if lib.versionAtLeast ocaml.version "4.3"
then callPackage ../development/ocaml-modules/uri { }
else callPackage ../development/ocaml-modules/uri/legacy.nix { };
uri_p4 = callPackage ../development/ocaml-modules/uri/legacy.nix {
legacyVersion = true;
};