diff --git a/pkgs/development/tools/ocaml/camlidl/default.nix b/pkgs/development/tools/ocaml/camlidl/default.nix new file mode 100644 index 000000000000..8f77c0c6fc0d --- /dev/null +++ b/pkgs/development/tools/ocaml/camlidl/default.nix @@ -0,0 +1,32 @@ +{stdenv, fetchurl, makeWrapper, ocaml, ncurses}: +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; + pname = "camlidl"; + version = "1.05"; + webpage = "http://caml.inria.fr/pub/old_caml_site/camlidl/"; +in +stdenv.mkDerivation { + + name = "${pname}-${version}"; + + src = fetchurl { + url = "http://caml.inria.fr/pub/old_caml_site/distrib/bazar-ocaml/${pname}-${version}.tar.gz"; + sha256 = "0483cs66zsxsavcllpw1qqvyhxb39ddil3h72clcd69g7fyxazl5"; + }; + + buildInputs = [ ocaml ]; + + preBuild = '' + mv config/Makefile.unix config/Makefile + substituteInPlace config/Makefile --replace BINDIR=/usr/local/bin BINDIR=$out + substituteInPlace config/Makefile --replace OCAMLLIB=/usr/local/lib/ocaml OCAMLLIB=$out/lib/ocaml/${ocaml_version}/site-lib/camlidl + ensureDir $out/lib/ocaml/${ocaml_version}/site-lib/camlidl/caml + ''; + + meta = { + description = "CamlIDL is a stub code generator and COM binding for Objective Caml"; + homepage = "${webpage}"; + license = "LGPL"; + maintainers = [ stdenv.lib.maintainers.roconnor ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 70e872fa863a..dfed66e56089 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2289,6 +2289,8 @@ let mkOcamlPackages = ocaml: self: let callPackage = newScope self; in rec { inherit ocaml; + camlidl = callPackage ../development/tools/ocaml/camlidl { }; + camlp5_strict = callPackage ../development/tools/ocaml/camlp5 { }; camlp5_transitional = callPackage ../development/tools/ocaml/camlp5 {