From edc11bc4f96754dff40da09ed3275acef756ff05 Mon Sep 17 00:00:00 2001 From: Florent Becker Date: Sun, 20 Jul 2014 18:21:14 +0200 Subject: [PATCH] add the 'zed' ocaml editor library --- .../development/ocaml-modules/zed/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 ++ 2 files changed, 37 insertions(+) create mode 100644 pkgs/development/ocaml-modules/zed/default.nix diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix new file mode 100644 index 000000000000..3c2fae472bec --- /dev/null +++ b/pkgs/development/ocaml-modules/zed/default.nix @@ -0,0 +1,34 @@ +{stdenv, fetchurl, ocaml, findlib, camomile, ocaml_react}: + +stdenv.mkDerivation rec { + version = "1.3"; + name = "ocaml-zed-${version}"; + + src = fetchurl { + url = https://github.com/diml/zed/archive/1.3.tar.gz; + sha256 = "1fr9xzf5msdnl2wx279aqj051nqbhs6v9aq1mfpv3r1mrqvrrfwj"; + }; + + buildInputs = [ ocaml findlib ocaml_react]; + + propagatedBuildInputs = [ camomile ]; + + createFindlibDestdir = true; + + meta = { + description = "Abstract engine for text edition in OCaml"; + longDescription = '' + Zed is an abstract engine for text edition. It can be used to write text editors, edition widgets, readlines, ... + + Zed uses Camomile to fully support the Unicode specification, and implements an UTF-8 encoded string type with validation, and a rope datastructure to achieve efficient operations on large Unicode buffers. Zed also features a regular expression search on ropes. + + To support efficient text edition capabilities, Zed provides macro recording and cursor management facilities. + ''; + homepage = https://github.com/diml/zed; + license = stdenv.lib.licenses.bsd3; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.gal_bolle + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0c5a179ed49..e745da4f2dca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3370,6 +3370,9 @@ let yojson = callPackage ../development/ocaml-modules/yojson { }; zarith = callPackage ../development/ocaml-modules/zarith { }; + + zed = callPackage ../development/ocaml-modules/zed { }; + }; ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0;