diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix new file mode 100644 index 00000000000..07a781657b3 --- /dev/null +++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix @@ -0,0 +1,43 @@ +{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl}: + +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; + version = "3.1"; +in + +stdenv.mkDerivation { + name = "ocamlnet-${version}"; + + src = fetchurl { + url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz"; + sha256 = "0kdc2540ad84j6haj9jxlwryz9cb8q8kjdr48f2wgvcaii38v9f5"; + }; + + buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl]; + + dontAddPrefix = true; + + preConfigure = '' + configureFlagsArray=( + -bindir $out/bin + -enable-ssl + -enable-zip + -datadir $out/lib/ocaml/${ocaml_version}/ocamlnet + ) + ''; + + buildPhase = '' + make all + make opt + ''; + + meta = { + homepage = http://projects.camlcity.org/projects/ocamlnet.html; + description = "A library implementing Internet protocols (http, cgi, email, etc.) for OCaml"; + license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL."; + platforms = ocaml.meta.platforms; + maintainers = [ + stdenv.lib.maintainers.z77z + ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8bf5598fa57..f3801915d73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2003,6 +2003,8 @@ let ocaml_lwt = callPackage ../development/ocaml-modules/lwt { }; + ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { }; + ocaml_pcre = callPackage ../development/ocaml-modules/pcre { inherit pcre; };