From b8826951e40626d1ad10958c1428871b97999d3e Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Thu, 21 Aug 2014 15:24:43 +0200 Subject: [PATCH] Adds ocaml-sqlite3EZ and its dependency ocaml+twt ocaml+twt is an alternative syntax for OCaml that uses indentation to group multi-line expressions, like Python and Haskell. Homepage: http://people.csail.mit.edu/mikelin/ocaml+twt/ sqlite3EZ is a thin wrapper for sqlite3-ocaml with a simplified interface. Query results are processed with a functional map/fold, transactions are aborted by exceptions, resource management is handled by the garbage collector, etc. Homepage: https://github.com/mlin/ocaml-sqlite3EZ --- .../ocaml-modules/sqlite3EZ/default.nix | 23 +++++++++++++++ .../development/ocaml-modules/twt/default.nix | 29 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 3 files changed, 56 insertions(+) create mode 100644 pkgs/development/ocaml-modules/sqlite3EZ/default.nix create mode 100644 pkgs/development/ocaml-modules/twt/default.nix diff --git a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix new file mode 100644 index 00000000000..e8ec8e6f5da --- /dev/null +++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, ocaml, findlib, twt, ocaml_sqlite3 }: + +stdenv.mkDerivation { + name = "ocaml-sqlite3EZ-0.1.0"; + + src = fetchurl { + url = https://github.com/mlin/ocaml-sqlite3EZ/archive/v0.1.0.tar.gz; + sha256 = "8ed2c5d5914a65cbd95589ef11bfb8b38a020eb850cdd49b8adce7ee3a563748"; + }; + + buildInputs = [ ocaml findlib twt ]; + + propagatedBuildInputs = [ ocaml_sqlite3 ]; + + createFindlibDestdir = true; + + meta = { + homepage = http://github.com/mlin/ocaml-sqlite3EZ; + description = "A thin wrapper for sqlite3-ocaml with a simplified interface"; + license = stdenv.lib.licenses.mit; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix new file mode 100644 index 00000000000..e2a627aa360 --- /dev/null +++ b/pkgs/development/ocaml-modules/twt/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, ocaml, findlib }: + +stdenv.mkDerivation { + name = "ocaml-twt-0.93.2"; + + src = fetchurl { + url = https://github.com/mlin/twt/archive/v0.93.2.tar.gz; + sha256 = "aec091fbd1e6c4d252cf9664237418b4bc8c7d6b7a17475589be78365397e768"; + }; + + buildInputs = [ ocaml findlib ]; + + createFindlibDestdir = true; + + configurePhase = '' + mkdir $out/bin + ''; + + installPhase = '' + make install PREFIX=$out + ''; + + meta = { + homepage = http://people.csail.mit.edu/mikelin/ocaml+twt/; + description = "“The Whitespace Thing” for OCaml"; + license = stdenv.lib.licenses.mit; + platforms = ocaml.meta.platforms; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22138aa60da..6fa8c4f91b9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3303,6 +3303,10 @@ let opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { }; opam = opam_1_1; + sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { }; + + twt = callPackage ../development/ocaml-modules/twt { }; + yojson = callPackage ../development/ocaml-modules/yojson { }; zarith = callPackage ../development/ocaml-modules/zarith { };