forked from mirrors/nixpkgs
44 lines
1.5 KiB
Nix
44 lines
1.5 KiB
Nix
|
{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/astring;
|
||
|
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 ];
|
||
|
};
|
||
|
}
|