forked from mirrors/nixpkgs
Upgraded ocamlnet to 3.6.3. Also enabled mot functionality of ocamlnet like nethttp
This commit is contained in:
parent
5765e186d2
commit
43faad8063
63
pkgs/development/ocaml-modules/ocamlnet/configure.patch
Normal file
63
pkgs/development/ocaml-modules/ocamlnet/configure.patch
Normal file
|
@ -0,0 +1,63 @@
|
|||
diff -Naur ocamlnet-3.6.3.ori/configure ocamlnet-3.6.3/configure
|
||||
--- ocamlnet-3.6.3.ori/configure 2013-01-14 00:04:59.000000000 +0000
|
||||
+++ ocamlnet-3.6.3/configure 2013-06-02 21:33:08.000000000 +0000
|
||||
@@ -642,59 +642,6 @@
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- printf "%s" "Checking whether lablgtk2 has GMain.Io.remove... "
|
||||
- mkdir -p tmp
|
||||
- cat <<EOF >tmp/gtk.ml
|
||||
-let _ = GMain.Io.remove;;
|
||||
-EOF
|
||||
-
|
||||
- if ocamlfind ocamlc -package lablgtk2 -c tmp/gtk.ml >/dev/null 2>/dev/null;
|
||||
- then
|
||||
- echo "yes"
|
||||
- else
|
||||
- echo "no"
|
||||
- echo "Your version of lablgtk2 is too old!"
|
||||
- exit 1
|
||||
- fi
|
||||
-
|
||||
- printf "%s" "Checking whether lablgtk2 has GMain.Io.add_watch with list support... "
|
||||
- mkdir -p tmp
|
||||
- cat <<'EOF' >tmp/gtk.ml
|
||||
-open GMain.Io
|
||||
-let _ = (add_watch : cond:condition list -> callback:(condition list -> bool) -> ?prio:int -> channel -> id);;
|
||||
-exit 0
|
||||
-EOF
|
||||
- # Note: this newer API is never broken in the sense checked below, i.e.
|
||||
- # such lablgtk2 versions do not exist.
|
||||
- if ocamlfind ocamlc -package unix,lablgtk2 -linkpkg -o tmp/gtk tmp/gtk.ml >/dev/null 2>/dev/null && tmp/gtk; then
|
||||
- echo "yes"
|
||||
- gtk2_io_add_watch_supports_lists="-ppopt -DGTK2_IO_ADD_WATCH_SUPPORTS_LISTS"
|
||||
- else
|
||||
- echo "no"
|
||||
- printf "%s" "Checking whether lablgtk2's GMain.Io.add_watch is broken... "
|
||||
- mkdir -p tmp
|
||||
- cat <<'EOF' >tmp/gtk.ml
|
||||
-GMain.Main.init();;
|
||||
-let ch = GMain.Io.channel_of_descr (Unix.stdout) in
|
||||
-let w = GMain.Io.add_watch
|
||||
- ~cond:`OUT ~callback:(fun () -> true) ch in
|
||||
-(* add_watch is broken when it just returns Val_unit, and ok when it
|
||||
- * returns a positive int
|
||||
- *)
|
||||
-if (Obj.magic w : int) > 0 then
|
||||
- exit 0
|
||||
-else
|
||||
- exit 1
|
||||
-EOF
|
||||
- if ocamlfind ocamlc -package unix,lablgtk2 -linkpkg -o tmp/gtk tmp/gtk.ml >/dev/null 2>/dev/null && tmp/gtk; then
|
||||
- echo "no"
|
||||
- else
|
||||
- echo "yes"
|
||||
- echo "You should apply the patch-ab-ml_glib.c to lablgtk2 to fix this!"
|
||||
- exit 1
|
||||
- fi
|
||||
- fi
|
||||
-
|
||||
for f in Makefile uq_gtk.ml uq_gtk.mli uq_gtk_helper.ml; do
|
||||
rm -f src/equeue-gtk2/$f
|
||||
ln -s ../equeue-gtk1/$f src/equeue-gtk2
|
|
@ -1,18 +1,22 @@
|
|||
{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl}:
|
||||
{stdenv, fetchurl, ncurses, ocaml, findlib, ocaml_pcre, camlzip, openssl, ocaml_ssl, lablgtk, cryptokit }:
|
||||
|
||||
let
|
||||
ocaml_version = (builtins.parseDrvName ocaml.name).version;
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocamlnet-3.6";
|
||||
name = "ocamlnet-3.6.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://download.camlcity.org/download/ocamlnet-3.6.tar.gz;
|
||||
sha256 = "306c20aee6512be3564c0f39872b70f929c06e1e893cfcf528ac47ae35cf7a69";
|
||||
url = http://download.camlcity.org/download/ocamlnet-3.6.3.tar.gz;
|
||||
sha256 = "c62fe0a4db6c63c04e24c8d76bcb504054f0b59a7a41c1abcbb8dd504afc9f29";
|
||||
};
|
||||
|
||||
buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl];
|
||||
buildInputs = [ncurses ocaml findlib ocaml_pcre camlzip openssl ocaml_ssl lablgtk cryptokit];
|
||||
|
||||
propagatedbuildInputs = [ncurses ocaml_pcre camlzip openssl ocaml_ssl lablgtk cryptokit];
|
||||
|
||||
patches = [ ./configure.patch ];
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
|
@ -23,6 +27,10 @@ stdenv.mkDerivation {
|
|||
-bindir $out/bin
|
||||
-enable-ssl
|
||||
-enable-zip
|
||||
-enable-pcre
|
||||
-enable-crypto
|
||||
-disable-gtk2
|
||||
-with-nethttpd
|
||||
-datadir $out/lib/ocaml/${ocaml_version}/ocamlnet
|
||||
)
|
||||
'';
|
||||
|
|
Loading…
Reference in a new issue