From 0f1ada577c2b8827b86ee1912cfdf4d2be11b929 Mon Sep 17 00:00:00 2001 From: Jirka Marsik Date: Tue, 28 Oct 2014 18:09:42 +0100 Subject: [PATCH] Added ocp-indent-1.4.2b --- .../tools/ocaml/ocp-indent/default.nix | 41 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/tools/ocaml/ocp-indent/default.nix diff --git a/pkgs/development/tools/ocaml/ocp-indent/default.nix b/pkgs/development/tools/ocaml/ocp-indent/default.nix new file mode 100644 index 000000000000..d50e003f8474 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocp-indent/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, ocaml, findlib, ocpBuild, opam, cmdliner }: + +let inherit (stdenv.lib) getVersion versionAtLeast; in + +assert versionAtLeast (getVersion ocaml) "3.12.1"; +assert versionAtLeast (getVersion ocpBuild) "1.99.3-beta"; + +stdenv.mkDerivation { + + name = "ocp-indent-1.4.2b"; + + src = fetchurl { + url = "https://github.com/OCamlPro/ocp-indent/archive/1.4.2b.tar.gz"; + sha256 = "1p0n2zcl5kf543x2xlqrz1aa51f0dqal8l392sa41j6wx82j0gpb"; + }; + + buildInputs = [ ocaml findlib ocpBuild opam cmdliner ]; + + createFindlibDestdir = true; + + # The supplied installer uses opam-installer which breaks when run + # normally since it tries to `mkdir $HOME`. However, we can use + # `opam-installer --script` to get the shell script that performs only + # the installation and just run that. Furthermore, we do the same that is + # done by pkgs/development/ocaml-modules/react and rename the paths meant + # for opam-installer so that they are in line with the other OCaml + # libraries in Nixpkgs. + installPhase = '' + opam-installer --script --prefix=$out ocp-indent.install \ + | sed s!lib/ocp-indent!lib/ocaml/${getVersion ocaml}/site-lib/ocp-indent! \ + | sh + ''; + + meta = with stdenv.lib; { + homepage = "http://typerex.ocamlpro.com/ocp-indent.html"; + description = "A customizable tool to indent OCaml code"; + license = licenses.gpl3; + platforms = ocaml.meta.platforms; + maintainers = [ maintainers.jirkamarsik ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6981d3acb3a1..955714c528a5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3603,6 +3603,8 @@ let ocpBuild = callPackage ../development/tools/ocaml/ocp-build { }; + ocpIndent = callPackage ../desktops/tools/ocaml/ocp-indent { }; + ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { }; ounit = callPackage ../development/ocaml-modules/ounit { };