diff options
author | Jirka Marsik <jiri.marsik89@gmail.com> | 2014-10-28 18:05:53 +0100 |
---|---|---|
committer | Jirka Marsik <jiri.marsik89@gmail.com> | 2014-10-28 18:05:53 +0100 |
commit | 0de41a6871457142e5ac4b06d0c892f65964a869 (patch) | |
tree | a941b5018c901b77451ec8f7156a5e0ab4e40393 /pkgs/development/tools/ocaml/ocp-build | |
parent | 3ee1f6ee79b31c77b5704cae755ebe122a5e2e53 (diff) | |
download | nixpkgs-0de41a6871457142e5ac4b06d0c892f65964a869.tar nixpkgs-0de41a6871457142e5ac4b06d0c892f65964a869.tar.gz nixpkgs-0de41a6871457142e5ac4b06d0c892f65964a869.tar.bz2 nixpkgs-0de41a6871457142e5ac4b06d0c892f65964a869.tar.lz nixpkgs-0de41a6871457142e5ac4b06d0c892f65964a869.tar.xz nixpkgs-0de41a6871457142e5ac4b06d0c892f65964a869.tar.zst nixpkgs-0de41a6871457142e5ac4b06d0c892f65964a869.zip |
Added ocp-build-1.99.8-beta
Diffstat (limited to 'pkgs/development/tools/ocaml/ocp-build')
-rw-r--r-- | pkgs/development/tools/ocaml/ocp-build/default.nix | 40 | ||||
-rw-r--r-- | pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch | 11 |
2 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix new file mode 100644 index 00000000000..4970d641643 --- /dev/null +++ b/pkgs/development/tools/ocaml/ocp-build/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, ocaml, findlib, ncurses }: + +stdenv.mkDerivation { + + name = "ocp-build-1.99.8-beta"; + + src = fetchurl { + url = "https://github.com/OCamlPro/ocp-build/archive/ocp-build.1.99.8-beta.tar.gz"; + sha256 = "06qh8v7k5m52xbivas08lblspsnvdl0vd7ghfj6wvpnfl8qvqabn"; + }; + + buildInputs = [ ocaml findlib ncurses ]; + + patches = [ ./fix-for-no-term.patch ]; + + # In the Nix sandbox, the TERM variable is unset and stty does not + # work. In such a case, ocp-build crashes due to a bug. The + # ./fix-for-no-term.patch fixes this bug in the source code and hence + # also in the final installed version of ocp-build. However, it does not + # fix the bug in the precompiled bootstrap version of ocp-build that is + # used during the compilation process. In order to bypass the bug until + # it's also fixed upstream, we simply set TERM to some valid entry in the + # terminfo database during the bootstrap. + TERM = "xterm"; + + meta = with stdenv.lib; { + homepage = "http://typerex.ocamlpro.com/ocp-build.html"; + description = "A build tool for OCaml"; + longDescription = '' + ocp-build is a build system for OCaml application, based on simple + descriptions of packages. ocp-build combines the descriptions of + packages, and optimize the parallel compilation of files depending on + the number of cores and the automatically-infered dependencies + between source files. + ''; + license = licenses.gpl3; + platforms = ocaml.meta.platforms; + maintainers = [ maintainers.jirkamarsik ]; + }; +} diff --git a/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch new file mode 100644 index 00000000000..8ce83d095fb --- /dev/null +++ b/pkgs/development/tools/ocaml/ocp-build/fix-for-no-term.patch @@ -0,0 +1,11 @@ +--- ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml 2014-10-27 13:54:37.532023502 +0100 ++++ ocp-build-ocp-build.1.99.8-beta/src/ocp-build/buildTerm.ml.new 2014-10-27 13:54:43.397099033 +0100 +@@ -49,7 +49,7 @@ + | _ -> failwith "stty" + end + | _ -> raise Not_found +- with Unix.Unix_error _ | End_of_file | Failure _ -> ++ with Unix.Unix_error _ | End_of_file | Failure _ | Not_found -> + try + (* shell envvar *) + int_of_string (Sys.getenv "COLUMNS") |