summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testsuite/external/.ignore33
-rw-r--r--testsuite/external/Makefile260
-rw-r--r--testsuite/external/camlimages-4.0.1.patch31
-rw-r--r--testsuite/external/camlp5-6.06.patch13
-rw-r--r--testsuite/external/frama-c-Oxygen-20120901.patch185
-rw-r--r--testsuite/external/kaputt-1.2.patch26
-rw-r--r--testsuite/external/lablgtk-2.16.0.patch22
7 files changed, 516 insertions, 54 deletions
diff --git a/testsuite/external/.ignore b/testsuite/external/.ignore
index 69614763c..229f3e266 100644
--- a/testsuite/external/.ignore
+++ b/testsuite/external/.ignore
@@ -10,7 +10,9 @@ log_*
advi
advi-1.10.2
altergo
-alt-ergo-0.94
+alt-ergo-0.95
+binprot
+bin_prot-109.09.00
boomerang
boomerang-0.2
calendar
@@ -23,12 +25,17 @@ camlzip
camlzip-1.04
camomile
camomile-0.8.4
+comparelib
+comparelib-109.09.00
configfile
config-file-1.1
coq
coq-8.3pl4
+coq-8.4pl1
core
-core-suite-108.00.02
+core-109.09.00
+coreextended
+core_extended-109.09.00
cryptokit
cryptokit-1.6
dbm
@@ -37,12 +44,14 @@ expect
ocaml-expect-0.0.3
extlib
extlib-1.5.2
+fieldslib
+fieldslib-109.09.00
fileutils
ocaml-fileutils-0.4.4
findlib
findlib-1.3.3
framac
-frama-c-Nitrogen-20111001
+frama-c-Oxygen-20120901
geneweb
gw-6.05-src
hevea
@@ -50,9 +59,9 @@ hevea-2.00
kaputt
kaputt-1.2
lablgtk
-lablgtk-2.14.2
+lablgtk-2.16.0
lablgtkextras
-lablgtkextras-1.1
+lablgtkextras-1.3
lwt
lwt-2.4.0
menhir
@@ -74,7 +83,7 @@ ocamlmod-0.0.3
ocamlnet
ocamlnet-3.5.1
ocamlscript
-ocamlscript-2.0.2
+ocamlscript-2.0.3
ocamlssl
ocaml-ssl-0.4.6
ocamltext
@@ -84,23 +93,33 @@ ocgi-0.5
ocsigen
ocsigen-bundle-2.2.2
odn
-ocaml-data-notation-0.0.9
+ocaml-data-notation-0.0.10
omake
omake-0.9.8.6
ounit
ounit-1.1.2
+paounit
+pa_ounit-109.09.00
pcre
pcre-ocaml-6.2.5
+pipebang
+pipebang-109.09.00
react
react-0.9.3
res
res-3.2.0
+sexplib
+sexplib-109.09.00
sks
sks-1.1.3
sqlite
sqlite3-ocaml-2.0.1
+typeconv
+type_conv-109.09.00
unison
unison-2.45.4
+variantslib
+variantslib-109.09.00
vsyml
vsyml-2010-04-06
xmllight
diff --git a/testsuite/external/Makefile b/testsuite/external/Makefile
index f735ee2ff..7c362a032 100644
--- a/testsuite/external/Makefile
+++ b/testsuite/external/Makefile
@@ -79,7 +79,7 @@ distclean::
all: findlib
# http://lablgtk.forge.ocamlcore.org/
-LABLGTK=lablgtk-2.14.2
+LABLGTK=lablgtk-2.16.0
${LABLGTK}.tar.gz:
${WGET} https://forge.ocamlcore.org/frs/download.php/561/$@
lablgtk: ${LABLGTK}.tar.gz findlib # TODO: add lablgl
@@ -92,10 +92,10 @@ lablgtk: ${LABLGTK}.tar.gz findlib # TODO: add lablgl
export PATH=${PREFIX}/bin:$$PATH && \
./configure -prefix ${PREFIX} && \
${MAKE} world && \
- ${MAKE} install && \
ocamlfind remove lablgtk2 && \
- mkdir ${PREFIX}/lib/ocaml/site-lib/lablgtk2 && \
- cp META ${PREFIX}/lib/ocaml/site-lib/lablgtk2/META )
+ ${MAKE} install && \
+ ln -h -f -s ${PREFIX}/lib/ocaml/site-lib/lablgtk2 \
+ ${PREFIX}/lib/ocaml/lablgtk2 )
echo ${VERSION} >$@
clean::
rm -rf ${LABLGTK} lablgtk
@@ -195,19 +195,202 @@ distclean::
rm -f ${PCRE}.tar.gz
all: pcre
-# https://bitbucket.org/yminsky/ocaml-core/downloads
-CORE=core-suite-108.00.02
+###########################################################################
+
+## Jane Street Core
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+TYPECONV=type_conv-109.09.00
+${TYPECONV}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+typeconv: ${TYPECONV}.tar.gz findlib
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${TYPECONV}
+ tar zxf ${TYPECONV}.tar.gz
+ ./Patcher.sh ${TYPECONV}
+ ( cd ${TYPECONV} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${TYPECONV} core
+distclean::
+ rm -f ${TYPECONV}.tar.gz
+all: typeconv
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+VARIANTSLIB=variantslib-109.09.00
+${VARIANTSLIB}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+variantslib: ${VARIANTSLIB}.tar.gz findlib typeconv
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${VARIANTSLIB}
+ tar zxf ${VARIANTSLIB}.tar.gz
+ ./Patcher.sh ${VARIANTSLIB}
+ ( cd ${VARIANTSLIB} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${VARIANTSLIB} core
+distclean::
+ rm -f ${VARIANTSLIB}.tar.gz
+all: variantslib
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+PIPEBANG=pipebang-109.09.00
+${PIPEBANG}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+pipebang: ${PIPEBANG}.tar.gz findlib typeconv
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${PIPEBANG}
+ tar zxf ${PIPEBANG}.tar.gz
+ ./Patcher.sh ${PIPEBANG}
+ ( cd ${PIPEBANG} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${PIPEBANG} core
+distclean::
+ rm -f ${PIPEBANG}.tar.gz
+all: pipebang
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+PAOUNIT=pa_ounit-109.09.00
+${PAOUNIT}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+paounit: ${PAOUNIT}.tar.gz findlib typeconv
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${PAOUNIT}
+ tar zxf ${PAOUNIT}.tar.gz
+ ./Patcher.sh ${PAOUNIT}
+ ( cd ${PAOUNIT} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${PAOUNIT} core
+distclean::
+ rm -f ${PAOUNIT}.tar.gz
+all: paounit
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+COMPARELIB=comparelib-109.09.00
+${COMPARELIB}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+comparelib: ${COMPARELIB}.tar.gz findlib typeconv
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${COMPARELIB}
+ tar zxf ${COMPARELIB}.tar.gz
+ ./Patcher.sh ${COMPARELIB}
+ ( cd ${COMPARELIB} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${COMPARELIB} core
+distclean::
+ rm -f ${COMPARELIB}.tar.gz
+all: comparelib
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+BINPROT=bin_prot-109.09.00
+${BINPROT}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+binprot: ${BINPROT}.tar.gz findlib typeconv ounit
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${BINPROT}
+ tar zxf ${BINPROT}.tar.gz
+ ./Patcher.sh ${BINPROT}
+ ( cd ${BINPROT} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${BINPROT} core
+distclean::
+ rm -f ${BINPROT}.tar.gz
+all: binprot
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+FIELDSLIB=fieldslib-109.09.00
+${FIELDSLIB}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+fieldslib: ${FIELDSLIB}.tar.gz findlib typeconv
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${FIELDSLIB}
+ tar zxf ${FIELDSLIB}.tar.gz
+ ./Patcher.sh ${FIELDSLIB}
+ ( cd ${FIELDSLIB} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${FIELDSLIB} core
+distclean::
+ rm -f ${FIELDSLIB}.tar.gz
+all: fieldslib
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+SEXPLIB=sexplib-109.09.00
+${SEXPLIB}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+sexplib: ${SEXPLIB}.tar.gz findlib typeconv
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${SEXPLIB}
+ tar zxf ${SEXPLIB}.tar.gz
+ ./Patcher.sh ${SEXPLIB}
+ ( cd ${SEXPLIB} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${SEXPLIB} core
+distclean::
+ rm -f ${SEXPLIB}.tar.gz
+all: sexplib
+
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+CORE=core-109.09.00
${CORE}.tar.gz:
- ${WGET} https://ocaml.janestreet.com/ocaml-core/108.00.02/$@
-core: ${CORE}.tar.gz findlib pcre res ounit
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+core: ${CORE}.tar.gz findlib variantslib sexplib fieldslib binprot comparelib \
+ paounit pipebang res ounit
printf "%s " "$@" >/dev/tty
test -d ${PREFIX}
rm -rf ${CORE}
- tar zxf ${CORE}.tar.gz && mv ocaml-core-* ${CORE}
+ tar zxf ${CORE}.tar.gz
./Patcher.sh ${CORE}
( cd ${CORE} && \
export PATH=${PREFIX}/bin:$$PATH && \
- ./build-and-install )
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
echo ${VERSION} >$@
clean::
rm -rf ${CORE} core
@@ -215,6 +398,31 @@ distclean::
rm -f ${CORE}.tar.gz
all: core
+# https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/
+COREEXTENDED=core_extended-109.09.00
+${COREEXTENDED}.tar.gz:
+ ${WGET} https://ocaml.janestreet.com/ocaml-core/109.09.00/individual/$@
+coreextended: ${COREEXTENDED}.tar.gz findlib sexplib fieldslib binprot paounit \
+ pipebang core pcre res comparelib ounit
+ printf "%s " "$@" >/dev/tty
+ test -d ${PREFIX}
+ rm -rf ${COREEXTENDED}
+ tar zxf ${COREEXTENDED}.tar.gz
+ ./Patcher.sh ${COREEXTENDED}
+ ( cd ${COREEXTENDED} && \
+ export PATH=${PREFIX}/bin:$$PATH && \
+ ocaml setup.ml -configure && \
+ ocaml setup.ml -build && \
+ ocaml setup.ml -install )
+ echo ${VERSION} >$@
+clean::
+ rm -rf ${COREEXTENDED} coreextended
+distclean::
+ rm -f ${COREEXTENDED}.tar.gz
+all: coreextended
+
+###########################################################################
+
# http://erratique.ch/software/react
REACT=react-0.9.3
${REACT}.tbz:
@@ -585,9 +793,9 @@ distclean::
all: xmlm
# http://forge.ocamlcore.org/projects/gtk-extras/
-LABLGTKEXTRAS=lablgtkextras-1.1
+LABLGTKEXTRAS=lablgtkextras-1.3
${LABLGTKEXTRAS}.tar.gz:
- ${WGET} http://forge.ocamlcore.org/frs/download.php/848/$@
+ ${WGET} http://forge.ocamlcore.org/frs/download.php/1072/$@
lablgtkextras: ${LABLGTKEXTRAS}.tar.gz lablgtk configfile xmlm
printf "%s " "$@" >/dev/tty
test -d ${PREFIX}
@@ -652,10 +860,10 @@ distclean::
rm -f ${OMAKE}-0.rc1.tar.gz
all: omake
-# http://ergo.lri.fr/
-ALTERGO=alt-ergo-0.94
+# http://alt-ergo.lri.fr/
+ALTERGO=alt-ergo-0.95
${ALTERGO}.tar.gz:
- ${WGET} http://ergo.lri.fr/http/$@
+ ${WGET} http://alt-ergo.lri.fr/http/$(ALTERGO)/$@
altergo: ${ALTERGO}.tar.gz ocamlgraph
printf "%s " "$@" >/dev/tty
test -d ${PREFIX}
@@ -844,9 +1052,9 @@ distclean::
all: fileutils
# http://forge.ocamlcore.org/projects/odn
-ODN=ocaml-data-notation-0.0.9
+ODN=ocaml-data-notation-0.0.10
${ODN}.tar.gz:
- ${WGET} http://forge.ocamlcore.org/frs/download.php/881/$@
+ ${WGET} http://forge.ocamlcore.org/frs/download.php/1029/$@
odn: ${ODN}.tar.gz findlib core ounit fileutils
printf "%s " "$@" >/dev/tty
test -d ${PREFIX}
@@ -1100,15 +1308,15 @@ distclean::
rm -f ${MLDONKEY}.tar.bz2
all: mldonkey
-# http://mjambon.com/ocamlscript.html
-OCAMLSCRIPT=ocamlscript-2.0.2
-${OCAMLSCRIPT}.tar.bz2:
- ${WGET} http://mjambon.com/$@
-ocamlscript: ${OCAMLSCRIPT}.tar.bz2 findlib
+# http://mjambon.com/releases/ocamlscript
+OCAMLSCRIPT=ocamlscript-2.0.3
+${OCAMLSCRIPT}.tar.gz:
+ ${WGET} http://mjambon.com/releases/ocamlscript/$@
+ocamlscript: ${OCAMLSCRIPT}.tar.gz findlib
printf "%s " "$@" >/dev/tty
test -d ${PREFIX}
rm -rf ${OCAMLSCRIPT}
- tar jxf ${OCAMLSCRIPT}.tar.bz2
+ tar xf ${OCAMLSCRIPT}.tar.gz
./Patcher.sh ${OCAMLSCRIPT}
( cd ${OCAMLSCRIPT} && \
export PATH=${PREFIX}/bin:$$PATH && \
@@ -1189,9 +1397,9 @@ distclean::
all: geneweb
# http://coq.inria.fr/download
-COQ=coq-8.3pl4
+COQ=coq-8.4pl1
${COQ}.tar.gz:
- ${WGET} http://coq.inria.fr/distrib/V8.3pl4/files/$@
+ ${WGET} http://coq.inria.fr/distrib/V8.4pl1/files/$@
coq: ${COQ}.tar.gz camlp5
printf "%s " "$@" >/dev/tty
test -d ${PREFIX}
@@ -1211,7 +1419,7 @@ distclean::
all: coq
# http://frama-c.com/
-FRAMAC=frama-c-Nitrogen-20111001
+FRAMAC=frama-c-Oxygen-20120901
${FRAMAC}.tar.gz:
${WGET} http://frama-c.com/download/$@
framac: ${FRAMAC}.tar.gz lablgtk ocamlgraph altergo coq
diff --git a/testsuite/external/camlimages-4.0.1.patch b/testsuite/external/camlimages-4.0.1.patch
index ec83810ef..ff2f93e50 100644
--- a/testsuite/external/camlimages-4.0.1.patch
+++ b/testsuite/external/camlimages-4.0.1.patch
@@ -1,22 +1,11 @@
---- camlimages-4.0.1/OMakefile.orig 2011-07-06 13:29:05.000000000 +0200
-+++ camlimages-4.0.1/OMakefile 2011-07-06 13:30:04.000000000 +0200
-@@ -24,9 +24,10 @@
- INCLUDES[]=
- /usr/include/X11
- /usr/local/include
-+ /opt/local/include
+--- camlimages-4.0.1.orig/OMakefile 2011-06-22 20:04:32.000000000 +0200
++++ camlimages-4.0.1/OMakefile 2013-02-19 15:35:38.000000000 +0100
+@@ -138,7 +138,7 @@
+ SUPPORTED_FORMATS+=jpeg
+ export
- # Specify non standard library directories
--LDFLAGS[]+=
-+LDFLAGS[]+= -L/opt/local/lib
- # for example,
- # LDFLAGS[]+= -L/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/
-
-@@ -34,6 +35,7 @@
- PATH_RGB_TXT[]=
- /etc/X11
- /usr/share/X11
-+ /opt/local/share/netpbm
-
- BYTE_ENABLED=1
- NATIVE_ENABLED=1
+- HAVE_TIFF = $(Check_header_library tiff, tiff.h, TIFFOpen)
++ HAVE_TIFF = false # $(Check_header_library tiff, tiff.h, TIFFOpen)
+ SUPPORT_TIFF = $(and $(HAVE_Z) $(HAVE_JPEG) $(HAVE_TIFF))
+ LDFLAGS_tiff=
+ if $(SUPPORT_TIFF)
diff --git a/testsuite/external/camlp5-6.06.patch b/testsuite/external/camlp5-6.06.patch
index efde96840..febf0f910 100644
--- a/testsuite/external/camlp5-6.06.patch
+++ b/testsuite/external/camlp5-6.06.patch
@@ -1114,3 +1114,16 @@ diff -r -u -N camlp5-6.06.orig/ocaml_stuff/4.00.1/utils/warnings.mli camlp5-6.06
+val check_fatal : unit -> unit;;
+
+val help_warnings: unit -> unit
+--- camlp5-6.06/ocaml_stuff/4.01.0/utils/warnings.mli.orig 2013-02-18 15:14:16.000000000 +0100
++++ camlp5-6.06/ocaml_stuff/4.01.0/utils/warnings.mli 2013-02-18 15:14:31.000000000 +0100
+@@ -54,6 +54,10 @@
+ | Unused_constructor of string * bool * bool (* 37 *)
+ | Unused_exception of string * bool (* 38 *)
+ | Unused_rec_flag (* 39 *)
++ | Name_out_of_scope of string list * bool (* 40 *)
++ | Ambiguous_name of string list * bool (* 41 *)
++ | Disambiguated_name of string (* 42 *)
++ | Nonoptional_label of string (* 43 *)
+ ;;
+
+ val parse_options : bool -> string -> unit;;
diff --git a/testsuite/external/frama-c-Oxygen-20120901.patch b/testsuite/external/frama-c-Oxygen-20120901.patch
new file mode 100644
index 000000000..2f3ce3e6f
--- /dev/null
+++ b/testsuite/external/frama-c-Oxygen-20120901.patch
@@ -0,0 +1,185 @@
+--- frama-c-Oxygen-20120901.orig/src/type/datatype.ml 2012-09-19 13:55:23.000000000 +0200
++++ frama-c-Oxygen-20120901/src/type/datatype.ml 2013-02-19 16:36:36.000000000 +0100
+@@ -285,8 +285,37 @@
+
+ end
+
++module type Set_S = sig
++ type elt
++ type t
++ val empty: t
++ val is_empty: t -> bool
++ val mem: elt -> t -> bool
++ val add: elt -> t -> t
++ val singleton: elt -> t
++ val remove: elt -> t -> t
++ val union: t -> t -> t
++ val inter: t -> t -> t
++ val diff: t -> t -> t
++ val compare: t -> t -> int
++ val equal: t -> t -> bool
++ val subset: t -> t -> bool
++ val iter: (elt -> unit) -> t -> unit
++ val fold: (elt -> 'a -> 'a) -> t -> 'a -> 'a
++ val for_all: (elt -> bool) -> t -> bool
++ val exists: (elt -> bool) -> t -> bool
++ val filter: (elt -> bool) -> t -> t
++ val partition: (elt -> bool) -> t -> t * t
++ val cardinal: t -> int
++ val elements: t -> elt list
++ val min_elt: t -> elt
++ val max_elt: t -> elt
++ val choose: t -> elt
++ val split: elt -> t -> t * bool * t
++end
++
+ module type Set = sig
+- include Set.S
++ include Set_S
+ val ty: t Type.t
+ val name: string
+ val descr: t Descr.t
+@@ -1093,7 +1122,7 @@
+ module Initial_caml_set = Set
+
+ (* ocaml functors are generative *)
+-module Set(S: Set.S)(E: S with type t = S.elt)(Info: Functor_info) = struct
++module Set(S: Set_S)(E: S with type t = S.elt)(Info: Functor_info) = struct
+
+ let () = check E.equal "equal" E.name Info.module_name
+ let () = check E.compare "compare" E.name Info.module_name
+--- frama-c-Oxygen-20120901.orig/src/type/datatype.mli 2012-09-19 13:55:23.000000000 +0200
++++ frama-c-Oxygen-20120901/src/type/datatype.mli 2013-02-19 16:36:29.000000000 +0100
+@@ -230,9 +230,38 @@
+ defining by applying the functor. *)
+ end
+
++module type Set_S = sig
++ type elt
++ type t
++ val empty: t
++ val is_empty: t -> bool
++ val mem: elt -> t -> bool
++ val add: elt -> t -> t
++ val singleton: elt -> t
++ val remove: elt -> t -> t
++ val union: t -> t -> t
++ val inter: t -> t -> t
++ val diff: t -> t -> t
++ val compare: t -> t -> int
++ val equal: t -> t -> bool
++ val subset: t -> t -> bool
++ val iter: (elt -> unit) -> t -> unit
++ val fold: (elt -> 'a -> 'a) -> t -> 'a -> 'a
++ val for_all: (elt -> bool) -> t -> bool
++ val exists: (elt -> bool) -> t -> bool
++ val filter: (elt -> bool) -> t -> t
++ val partition: (elt -> bool) -> t -> t * t
++ val cardinal: t -> int
++ val elements: t -> elt list
++ val min_elt: t -> elt
++ val max_elt: t -> elt
++ val choose: t -> elt
++ val split: elt -> t -> t * bool * t
++end
++
+ (** A standard OCaml set signature extended with datatype operations. *)
+ module type Set = sig
+- include Set.S
++ include Set_S
+ val ty: t Type.t
+ val name: string
+ val descr: t Descr.t
+@@ -602,7 +631,7 @@
+ 'e Type.t ->
+ ('a -> 'b -> 'c -> 'd -> 'e) Type.t
+
+-module Set(S: Set.S)(E: S with type t = S.elt)(Info : Functor_info):
++module Set(S: Set_S)(E: S with type t = S.elt)(Info : Functor_info):
+ Set with type t = S.t and type elt = E.t
+
+ module Map
+--- frama-c-Oxygen-20120901.orig/src/wp/qed/src/idxset.ml 2012-09-19 13:55:28.000000000 +0200
++++ frama-c-Oxygen-20120901/src/wp/qed/src/idxset.ml 2013-02-19 16:45:08.000000000 +0100
+@@ -20,9 +20,38 @@
+ (* *)
+ (**************************************************************************)
+
++module type Set_S = sig
++ type elt
++ type t
++ val empty: t
++ val is_empty: t -> bool
++ val mem: elt -> t -> bool
++ val add: elt -> t -> t
++ val singleton: elt -> t
++ val remove: elt -> t -> t
++ val union: t -> t -> t
++ val inter: t -> t -> t
++ val diff: t -> t -> t
++ val compare: t -> t -> int
++ val equal: t -> t -> bool
++ val subset: t -> t -> bool
++ val iter: (elt -> unit) -> t -> unit
++ val fold: (elt -> 'a -> 'a) -> t -> 'a -> 'a
++ val for_all: (elt -> bool) -> t -> bool
++ val exists: (elt -> bool) -> t -> bool
++ val filter: (elt -> bool) -> t -> t
++ val partition: (elt -> bool) -> t -> t * t
++ val cardinal: t -> int
++ val elements: t -> elt list
++ val min_elt: t -> elt
++ val max_elt: t -> elt
++ val choose: t -> elt
++ val split: elt -> t -> t * bool * t
++end
++
+ module type S =
+ sig
+- include Set.S
++ include Set_S
+ val map : (elt -> elt) -> t -> t
+ val intersect : t -> t -> bool
+ end
+--- frama-c-Oxygen-20120901.orig/src/wp/qed/src/idxset.mli 2012-09-19 13:55:28.000000000 +0200
++++ frama-c-Oxygen-20120901/src/wp/qed/src/idxset.mli 2013-02-19 16:45:19.000000000 +0100
+@@ -22,9 +22,38 @@
+
+ (** Set of indexed elements implemented as Patricia sets. *)
+
++module type Set_S = sig
++ type elt
++ type t
++ val empty: t
++ val is_empty: t -> bool
++ val mem: elt -> t -> bool
++ val add: elt -> t -> t
++ val singleton: elt -> t
++ val remove: elt -> t -> t
++ val union: t -> t -> t
++ val inter: t -> t -> t
++ val diff: t -> t -> t
++ val compare: t -> t -> int
++ val equal: t -> t -> bool
++ val subset: t -> t -> bool
++ val iter: (elt -> unit) -> t -> unit
++ val fold: (elt -> 'a -> 'a) -> t -> 'a -> 'a
++ val for_all: (elt -> bool) -> t -> bool
++ val exists: (elt -> bool) -> t -> bool
++ val filter: (elt -> bool) -> t -> t
++ val partition: (elt -> bool) -> t -> t * t
++ val cardinal: t -> int
++ val elements: t -> elt list
++ val min_elt: t -> elt
++ val max_elt: t -> elt
++ val choose: t -> elt
++ val split: elt -> t -> t * bool * t
++end
++
+ module type S =
+ sig
+- include Set.S
++ include Set_S
+ val map : (elt -> elt) -> t -> t
+ val intersect : t -> t -> bool
+ end
diff --git a/testsuite/external/kaputt-1.2.patch b/testsuite/external/kaputt-1.2.patch
index f88e68b69..279730ed9 100644
--- a/testsuite/external/kaputt-1.2.patch
+++ b/testsuite/external/kaputt-1.2.patch
@@ -9,3 +9,29 @@
copy source_chan temp_chan;
let directive = Printf.sprintf "# 1 %S\n" test_file in
output_string temp_chan directive;
+--- kaputt-1.2/src/syntax/kaputt_pp.ml.orig 2013-01-08 17:05:01.000000000 +0100
++++ kaputt-1.2/src/syntax/kaputt_pp.ml 2013-01-08 17:05:46.000000000 +0100
+@@ -28,8 +28,7 @@
+ Buffer.add_string buff (quote args.(i));
+ Buffer.add_char buff ' ';
+ done;
+- let code = Sys.command (Buffer.contents buff) in
+- ignore (exit code)
++ Sys.command (Buffer.contents buff)
+
+ let copy from_chan to_chan =
+ try
+@@ -64,9 +63,11 @@
+ close_in_noerr test_chan;
+ close_out_noerr temp_chan;
+ args.(len - 3) <- temp_name;
+- call args
++ let code = call args in
++ (try Sys.remove temp_name with _ -> ());
++ ignore (exit code)
+ end else begin
+- call args
++ ignore (exit (call args))
+ end
+ else begin
+ Printf.eprintf "Error: invalid command-line\n";
diff --git a/testsuite/external/lablgtk-2.16.0.patch b/testsuite/external/lablgtk-2.16.0.patch
new file mode 100644
index 000000000..c16e10cc4
--- /dev/null
+++ b/testsuite/external/lablgtk-2.16.0.patch
@@ -0,0 +1,22 @@
+--- lablgtk-2.16.0.orig/src/gMenu.ml 2012-08-23 12:37:48.000000000 +0200
++++ lablgtk-2.16.0/src/gMenu.ml 2013-02-18 20:12:27.000000000 +0100
+@@ -87,7 +87,7 @@
+
+ class menu_item_skel = [menu_item] pre_menu_item_skel
+
+-let pack_item self ~packing ~show =
++let pack_item self ?packing ?show =
+ may packing ~f:(fun f -> (f (self :> menu_item) : unit));
+ if show <> Some false then self#misc#show ();
+ self
+--- lablgtk-2.16.0.orig/src/gFile.ml 2012-08-23 12:37:48.000000000 +0200
++++ lablgtk-2.16.0/src/gFile.ml 2013-02-18 20:13:37.000000000 +0100
+@@ -179,7 +179,7 @@
+ FileChooser.P.file_system_backend backend
+ [ Gobject.param FileChooser.P.action action ]) in
+ let o = new chooser_widget w in
+- GObj.pack_return o ?packing ?show
++ GObj.pack_return o ~packing ~show
+
+ class chooser_button_signals obj = object
+ inherit GContainer.container_signals_impl obj