Merge pull request #20090 from sternenseemann/master
Add jackline and (updated) ocaml-dependencieswip/yesman
commit
9ffcb1b250
@ -0,0 +1,37 @@ |
||||
{stdenv, fetchFromGitHub, ocamlPackages}: |
||||
|
||||
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2"; |
||||
|
||||
stdenv.mkDerivation rec { |
||||
version = "2016-10-30"; |
||||
name = "jackline-${version}"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "hannesm"; |
||||
repo = "jackline"; |
||||
rev = "8d829b03f2cdad6b13260ad293aeaa44075bd894"; |
||||
sha256 = "1xsngldyracfb15jxa9h5qnpaywv6bn8gkg0hzccycjz1nfskl17"; |
||||
}; |
||||
|
||||
buildInputs = with ocamlPackages; [ |
||||
ocaml ocamlbuild findlib topkg ppx_sexp_conv |
||||
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring |
||||
ptime notty sexplib_p4 hex uutf opam |
||||
]; |
||||
|
||||
buildPhase = with ocamlPackages; '' |
||||
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib pkg/pkg.ml build \ |
||||
--pinned true |
||||
''; |
||||
|
||||
installPhase = '' |
||||
opam-installer --prefix=$out --script | sh |
||||
''; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/hannesm/jackline; |
||||
description = "Terminal-based XMPP client in pure OCaml."; |
||||
license = licenses.bsd2; |
||||
maintainers = with maintainers; [ sternenseemann ]; |
||||
}; |
||||
} |
@ -0,0 +1,43 @@ |
||||
{stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, opam}: |
||||
|
||||
buildOcaml rec { |
||||
version = "0.8.3"; |
||||
name = "astring"; |
||||
|
||||
src = fetchurl { |
||||
url = "http://erratique.ch/software/astring/releases/astring-${version}.tbz"; |
||||
sha256 = "0ixjwc3plrljvj24za3l9gy0w30lsbggp8yh02lwrzw61ls4cri0"; |
||||
}; |
||||
|
||||
unpackCmd = "tar -xf $curSrc"; |
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; |
||||
|
||||
buildPhase = '' |
||||
ocaml -I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/ pkg/pkg.ml build |
||||
''; |
||||
|
||||
installPhase = '' |
||||
opam-installer --script --prefix=$out astring.install | sh |
||||
ln -s $out/lib/astring $out/lib/ocaml/${ocaml.version}/site-lib/ |
||||
''; |
||||
|
||||
meta = { |
||||
homepage = http://erratique.ch/software/ptime; |
||||
description = "Alternative String module for OCaml."; |
||||
longDescription = '' |
||||
Astring exposes an alternative String module for OCaml. This module tries |
||||
to balance minimality and expressiveness for basic, index-free, string |
||||
processing and provides types and functions for substrings, string sets |
||||
and string maps. |
||||
|
||||
Remaining compatible with the OCaml String module is a non-goal. |
||||
The String module exposed by Astring has exception safe functions, removes |
||||
deprecated and rarely used functions, alters some signatures and names, |
||||
adds a few missing functions and fully exploits OCaml's newfound string |
||||
immutability. |
||||
''; |
||||
license = stdenv.lib.licenses.isc; |
||||
maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; |
||||
}; |
||||
} |
@ -0,0 +1,29 @@ |
||||
{ stdenv, buildOcaml, fetchFromGitHub, fetchurl, ocaml, findlib, erm_xml, nocrypto, camlp4 }: |
||||
|
||||
buildOcaml rec { |
||||
version = "0.3"; |
||||
name = "erm_xmpp"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "hannesm"; |
||||
repo = "xmpp"; |
||||
rev = "eee18bd3dd343550169969c0b45548eafd51cfe1"; |
||||
sha256 = "0hzs528lrx1ayalv6fh555pjn0b4l8xch1f72hd3b07g1xahdas5"; |
||||
}; |
||||
|
||||
buildInputs = [ ocaml findlib camlp4 ]; |
||||
propagatedBuildInputs = [ erm_xml nocrypto ]; |
||||
|
||||
configurePhase = "ocaml setup.ml -configure --prefix $out"; |
||||
buildPhase = "ocaml setup.ml -build"; |
||||
installPhase = "ocaml setup.ml -install"; |
||||
|
||||
createFindlibDestdir = true; |
||||
|
||||
meta = { |
||||
homepage = https://github.com/hannesm/xmpp; |
||||
description = "OCaml based XMPP implementation (fork)."; |
||||
license = stdenv.lib.licenses.bsd3; |
||||
maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; |
||||
}; |
||||
} |
@ -0,0 +1,36 @@ |
||||
{ stdenv, buildOcaml, fetchFromGitHub, findlib |
||||
, result, uucp, uuseg, uutf |
||||
, withLwt ? true |
||||
, lwt ? null }: |
||||
|
||||
with stdenv.lib; |
||||
assert withLwt -> lwt != null; |
||||
|
||||
buildOcaml rec { |
||||
version = "0.1.1"; |
||||
name = "notty"; |
||||
|
||||
minimumSupportedOcamlVersion = "4.02"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "pqwy"; |
||||
repo = "notty"; |
||||
rev = "v${version}"; |
||||
sha256 = "0bw3bq8z2y1rhc20zn13s78sazywyzpg8nmyjch33p7ypxfglf01"; |
||||
}; |
||||
|
||||
buildInputs = [ findlib ]; |
||||
propagatedBuildInputs = [ result uucp uuseg uutf ] ++ |
||||
optional withLwt lwt; |
||||
|
||||
configureFlags = [ "--enable-unix" ] ++ |
||||
optional withLwt ["--enable-lwt"]; |
||||
configurePhase = "./configure --prefix $out $configureFlags"; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/pqwy/notty/tree/master; |
||||
description = "Declarative terminal graphics for OCaml."; |
||||
license = licenses.isc; |
||||
maintainers = with maintainers; [ sternenseemann ]; |
||||
}; |
||||
} |
@ -0,0 +1,43 @@ |
||||
{stdenv, buildOcaml, fetchFromGitHub, ocamlbuild, findlib, topkg, ocaml, opam, |
||||
ppx_tools, ppx_sexp_conv, cstruct, sexplib_p4, result, nocrypto, astring}: |
||||
|
||||
let ocamlFlags = "-I ${findlib}/lib/ocaml/${ocaml.version}/site-lib/"; in |
||||
|
||||
buildOcaml rec { |
||||
name = "otr"; |
||||
version = "0.3.3"; |
||||
|
||||
minimumSupportedOcamlVersion = "4.02.2"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "hannesm"; |
||||
repo = "ocaml-otr"; |
||||
rev = "${version}"; |
||||
sha256 = "07zzix5mfsasqpqdx811m0x04gp8mq1ayf4b64998k98027v01rr"; |
||||
}; |
||||
|
||||
buildInputs = [ ocamlbuild findlib topkg ppx_tools ppx_sexp_conv opam ]; |
||||
propagatedBuildInputs = [ cstruct sexplib_p4 result nocrypto astring ]; |
||||
|
||||
buildPhase = '' |
||||
ocaml ${ocamlFlags} pkg/pkg.ml build \ |
||||
--tests true |
||||
''; |
||||
|
||||
installPhase = '' |
||||
opam-installer --prefix=$out --script | sh |
||||
ln -s $out/lib/otr $out/lib/ocaml/${ocaml.version}/site-lib |
||||
''; |
||||
|
||||
doCheck = true; |
||||
checkPhase = "ocaml ${ocamlFlags} pkg/pkg.ml test"; |
||||
|
||||
createFindlibDestdir = true; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/hannesm/ocaml-otr; |
||||
description = "Off-the-record (OTR) messaging protocol, purely in OCaml."; |
||||
license = licenses.bsd2; |
||||
maintainers = with maintainers; [ sternenseemann ]; |
||||
}; |
||||
} |
@ -0,0 +1,47 @@ |
||||
{stdenv, fetchurl, buildOcaml, ocaml, findlib, ocamlbuild, topkg, result, opam}: |
||||
|
||||
let ocaml-version = stdenv.lib.getVersion ocaml; in |
||||
|
||||
buildOcaml rec { |
||||
version = "0.8.2"; |
||||
name = "ptime"; |
||||
|
||||
src = fetchurl { |
||||
url = "http://erratique.ch/software/ptime/releases/ptime-${version}.tbz"; |
||||
sha256 = "1lihkhzskzwxskiarh4mvf7gbz5nfv25vmazbfz81m344i32a5pj"; |
||||
}; |
||||
|
||||
unpackCmd = "tar -xf $curSrc"; |
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild topkg opam ]; |
||||
|
||||
propagatedBuildInputs = [ result ]; |
||||
|
||||
buildPhase = '' |
||||
ocaml -I ${findlib}/lib/ocaml/${ocaml-version}/site-lib/ pkg/pkg.ml build --with-js_of_ocaml false |
||||
''; |
||||
|
||||
installPhase = '' |
||||
opam-installer --script --prefix=$out ptime.install | sh |
||||
ln -s $out/lib/ptime $out/lib/ocaml/${ocaml.version}/site-lib |
||||
''; |
||||
|
||||
meta = { |
||||
homepage = http://erratique.ch/software/ptime; |
||||
description = "POSIX time for OCaml."; |
||||
longDescription = '' |
||||
Ptime has platform independent POSIX time support in pure OCaml. |
||||
It provides a type to represent a well-defined range of POSIX timestamps |
||||
with picosecond precision, conversion with date-time values, conversion |
||||
with RFC 3339 timestamps and pretty printing to a human-readable, |
||||
locale-independent representation. |
||||
|
||||
The additional Ptime_clock library provides access to a system POSIX clock |
||||
and to the system's current time zone offset. |
||||
|
||||
Ptime is not a calendar library. |
||||
''; |
||||
license = stdenv.lib.licenses.isc; |
||||
maintainers = with stdenv.lib.maintainers; [ sternenseemann ]; |
||||
}; |
||||
} |
@ -0,0 +1,41 @@ |
||||
{ stdenv, buildOcaml, fetchFromGitHub, findlib, ocamlbuild, ocaml_oasis |
||||
, ppx_tools, ppx_sexp_conv, result, x509, nocrypto, cstruct |
||||
, withLwt ? true |
||||
, lwt ? null}: |
||||
|
||||
with stdenv.lib; |
||||
assert withLwt -> lwt != null; |
||||
|
||||
buildOcaml rec { |
||||
version = "0.7.1"; |
||||
name = "tls"; |
||||
|
||||
minimunSupportedOcamlVersion = "4.02"; |
||||
|
||||
src = fetchFromGitHub { |
||||
owner = "mirleft"; |
||||
repo = "ocaml-tls"; |
||||
rev = "${version}"; |
||||
sha256 = "19q2hzxiasz9pzczgb63kikg0mc9mw98dfvch5falf2rincycj24"; |
||||
}; |
||||
|
||||
buildInputs = [ ocamlbuild findlib ocaml_oasis ppx_sexp_conv ]; |
||||
propagatedBuildInputs = [ cstruct nocrypto result x509 ] ++ |
||||
optional withLwt lwt; |
||||
|
||||
configureFlags = [ "--disable-mirage" "--enable-tests" ] ++ |
||||
optional withLwt ["--enable-lwt"]; |
||||
|
||||
configurePhase = "./configure --prefix $out $configureFlags"; |
||||
|
||||
doCheck = true; |
||||
checkTarget = "test"; |
||||
createFindlibDestdir = true; |
||||
|
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/mirleft/ocaml-tls; |
||||
description = "TLS in pure OCaml."; |
||||
license = licenses.bsd2; |
||||
maintainers = with maintainers; [ sternenseemann ]; |
||||
}; |
||||
} |
@ -1,28 +1,30 @@ |
||||
{ stdenv, fetchzip, ocaml, findlib, asn1-combinators, nocrypto, ounit }: |
||||
{stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, asn1-combinators, nocrypto, ounit, ocaml_oasis, ppx_sexp_conv}: |
||||
|
||||
let version = "0.5.0"; in |
||||
buildOcaml rec { |
||||
name = "x509"; |
||||
version = "0.5.3"; |
||||
|
||||
stdenv.mkDerivation { |
||||
name = "ocaml-x509-${version}"; |
||||
|
||||
src = fetchzip { |
||||
url = "https://github.com/mirleft/ocaml-x509/archive/${version}.tar.gz"; |
||||
sha256 = "0i9618ph4i2yk5dvvhiqhm7wf3qmd6b795mxwff8jf856gb2gdyn"; |
||||
src = fetchFromGitHub { |
||||
owner = "mirleft"; |
||||
repo = "ocaml-x509"; |
||||
rev = "${version}"; |
||||
sha256 = "07cc3z6h87460z3f4vz8nlczw5jkc4vjhix413z9x6nral876rn7"; |
||||
}; |
||||
|
||||
buildInputs = [ ocaml findlib ounit ]; |
||||
buildInputs = [ ocaml ocaml_oasis findlib ounit ppx_sexp_conv ]; |
||||
propagatedBuildInputs = [ asn1-combinators nocrypto ]; |
||||
|
||||
configureFlags = "--enable-tests"; |
||||
configurePhase = "./configure --prefix $out $configureFlags"; |
||||
|
||||
doCheck = true; |
||||
checkTarget = "test"; |
||||
createFindlibDestdir = true; |
||||
|
||||
meta = { |
||||
meta = with stdenv.lib; { |
||||
homepage = https://github.com/mirleft/ocaml-x509; |
||||
description = "X509 (RFC5280) handling in OCaml"; |
||||
platforms = ocaml.meta.platforms or []; |
||||
license = stdenv.lib.licenses.bsd2; |
||||
maintainers = with stdenv.lib.maintainers; [ vbgl ]; |
||||
license = licenses.bsd2; |
||||
maintainers = with maintainers; [ vbgl ]; |
||||
}; |
||||
} |
||||
|
Loading…
Reference in new issue