about summary refs log tree commit diff
path: root/pkgs/development/ocaml-modules/ocamlnet/configure.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/ocaml-modules/ocamlnet/configure.patch')
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/configure.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/ocamlnet/configure.patch b/pkgs/development/ocaml-modules/ocamlnet/configure.patch
new file mode 100644
index 000000000000..38b240f3c2c4
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocamlnet/configure.patch
@@ -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