Import ocaml_4.05.0-11.debian.tar.xz
authorStéphane Glondu <glondu@debian.org>
Fri, 25 Jan 2019 13:59:28 +0000 (14:59 +0100)
committerStéphane Glondu <glondu@debian.org>
Fri, 25 Jan 2019 13:59:28 +0000 (14:59 +0100)
[dgit import tarball ocaml 4.05.0-11 ocaml_4.05.0-11.debian.tar.xz]

69 files changed:
MANIFEST [new file with mode: 0644]
README.Debian [new file with mode: 0644]
README.source [new file with mode: 0644]
TODO.Debian [new file with mode: 0644]
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
control.in [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
gen_modules.pl [new file with mode: 0755]
ld.conf.in [new file with mode: 0644]
man/ocamldumpobj.1 [new file with mode: 0644]
man/ocamlmklib.1 [new file with mode: 0644]
man/ocamlobjinfo.1 [new file with mode: 0644]
native-archs [new file with mode: 0644]
ocaml-base-nox.README.Debian [new file with mode: 0644]
ocaml-base-nox.dirs.in [new file with mode: 0644]
ocaml-base-nox.docs [new file with mode: 0644]
ocaml-base-nox.install.in [new file with mode: 0644]
ocaml-base-nox.postinst.in [new file with mode: 0644]
ocaml-base-nox.prerm.in [new file with mode: 0644]
ocaml-base.dirs.in [new file with mode: 0644]
ocaml-base.install.in [new file with mode: 0644]
ocaml-compiler-libs.install.in [new file with mode: 0644]
ocaml-interp.install.in [new file with mode: 0644]
ocaml-mode.README.Debian [new file with mode: 0644]
ocaml-mode.dirs [new file with mode: 0644]
ocaml-mode.emacsen-compat [new file with mode: 0644]
ocaml-mode.emacsen-install [new file with mode: 0644]
ocaml-mode.emacsen-remove [new file with mode: 0644]
ocaml-mode.emacsen-startup [new file with mode: 0644]
ocaml-native-compilers.dirs [new file with mode: 0644]
ocaml-native-compilers.files [new file with mode: 0644]
ocaml-nox.dirs.in [new file with mode: 0644]
ocaml-nox.install.in [new file with mode: 0644]
ocaml-nox.lintian-overrides.in [new file with mode: 0644]
ocaml-nox.manpages.in [new file with mode: 0644]
ocaml-nox.postinst.in [new file with mode: 0644]
ocaml-nox.postrm [new file with mode: 0644]
ocaml-nox.preinst [new file with mode: 0644]
ocaml-source.dirs.in [new file with mode: 0644]
ocaml-source.exclude [new file with mode: 0644]
ocaml-source.install.in [new file with mode: 0644]
ocaml.desktop [new file with mode: 0644]
ocaml.dirs.in [new file with mode: 0644]
ocaml.examples [new file with mode: 0644]
ocaml.install.in [new file with mode: 0644]
ocaml.xpm [new file with mode: 0644]
ocamlfind/ocaml-native-compilers.conf [new file with mode: 0644]
ocamlinit.mk [new file with mode: 0644]
ocamlvars.mk [new file with mode: 0644]
patches/0001-Pass-no-relax-to-ld-on-alpha.patch [new file with mode: 0644]
patches/0002-Call-ld-with-proper-flags.patch [new file with mode: 0644]
patches/0003-Don-t-use-rpath.patch [new file with mode: 0644]
patches/0004-Put-manpages-in-section-3o-instead-of-3.patch [new file with mode: 0644]
patches/0005-Avoid-multiple-declarations-in-generated-.c-files-in.patch [new file with mode: 0644]
patches/0006-Embed-bytecode-in-C-object-when-using-custom.patch [new file with mode: 0644]
patches/0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch [new file with mode: 0644]
patches/0010-XL-001-tests.asmcomp.patch [new file with mode: 0644]
patches/0011-arm64-hide-symbols-for-stricter-binutils.patch [new file with mode: 0644]
patches/0012-Integer-overflows-when-unmarshaling-a-bigarray.patch [new file with mode: 0644]
patches/0013-Use-CCLINKFLAGS-for-linking-all-executables-and-shar.patch [new file with mode: 0644]
patches/0014-Compute-a-stable-name-for-preprocessed-files.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/MANIFEST b/MANIFEST
new file mode 100644 (file)
index 0000000..35f8619
--- /dev/null
+++ b/MANIFEST
@@ -0,0 +1,57 @@
+debian/MANIFEST
+debian/README.Debian
+debian/README.source
+debian/TODO.Debian
+debian/changelog
+debian/clean
+debian/compat
+debian/control
+debian/control.in
+debian/copyright
+debian/gbp.conf
+debian/gen_modules.pl
+debian/ld.conf.in
+debian/man/ocamldumpobj.1
+debian/man/ocamlmklib.1
+debian/man/ocamlobjinfo.1
+debian/native-archs
+debian/ocaml-base-nox.README.Debian
+debian/ocaml-base-nox.dirs.in
+debian/ocaml-base-nox.docs
+debian/ocaml-base-nox.install.in
+debian/ocaml-base-nox.postinst.in
+debian/ocaml-base-nox.prerm.in
+debian/ocaml-base.dirs.in
+debian/ocaml-base.install.in
+debian/ocaml-compiler-libs.install.in
+debian/ocaml-interp.install.in
+debian/ocaml-interp.menu
+debian/ocaml-mode.README.Debian
+debian/ocaml-mode.dirs
+debian/ocaml-mode.emacsen-compat
+debian/ocaml-mode.emacsen-install
+debian/ocaml-mode.emacsen-remove
+debian/ocaml-mode.emacsen-startup
+debian/ocaml-native-compilers.dirs
+debian/ocaml-native-compilers.files
+debian/ocaml-native-compilers.install
+debian/ocaml-native-compilers.links
+debian/ocaml-nox.dirs.in
+debian/ocaml-nox.install.in
+debian/ocaml-nox.lintian-overrides.in
+debian/ocaml-nox.manpages.in
+debian/ocaml-nox.postinst.in
+debian/ocaml-nox.postrm
+debian/ocaml-nox.preinst
+debian/ocaml-source.dirs.in
+debian/ocaml-source.exclude
+debian/ocaml-source.install.in
+debian/ocaml.dirs.in
+debian/ocaml.examples
+debian/ocaml.install.in
+debian/ocaml.xpm
+debian/ocamlfind/ocaml-native-compilers.conf
+debian/ocamlinit.mk
+debian/rules
+debian/source/format
+debian/watch
diff --git a/README.Debian b/README.Debian
new file mode 100644 (file)
index 0000000..7a63ebc
--- /dev/null
@@ -0,0 +1,15 @@
+OCaml Debian package
+====================
+
+In upstream OCaml, “ocamlc -custom” produces executables that cannot
+be stripped (more precisely, the bytecode, which is not part of the
+ELF data, is removed by strip). This Debian version is patched (and
+the patch has been rejected by upstream [1], but is available
+separately in debian/patches) so that the bytecode is embedded in the
+executable and can be stripped. This new behaviour is optional, and
+can be enabled by setting the OCAML_CUSTOM_EMBED environment variable
+to “y”.
+
+[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=49;bug=256900
+
+ -- Stéphane Glondu <glondu@debian.org>, Tue, 26 Jun 2012 07:27:05 +0200
diff --git a/README.source b/README.source
new file mode 100644 (file)
index 0000000..f0dd161
--- /dev/null
@@ -0,0 +1,21 @@
+OCaml Debian source package
+===========================
+
+Dispatching files between binary packages
+-----------------------------------------
+
+The dispatching is done as usual with *.install by dh_install, which
+are generated from *.install.in by ocamlinit.mk (from dh-ocaml), and
+the gen_modules.pl script (in ocaml source package). You should have a
+look at the comments in gen_modules.pl to understand the format of
+*.install.in files.
+
+
+Patching upstream sources
+-------------------------
+
+The quilt series is generated from the Git repository. Have a look at
+dom-apply-patches(1) and dom-save-patches(1) from dh-ocaml package for
+more details.
+
+ -- Stéphane Glondu <glondu@debian.org>, Sun, 18 Apr 2010 15:20:53 +0200
diff --git a/TODO.Debian b/TODO.Debian
new file mode 100644 (file)
index 0000000..a9017da
--- /dev/null
@@ -0,0 +1,15 @@
+TODO list for ocaml 3.10.0 (and beyond ...)
+
+- lintian warnings
+
+  lintian /home/srv/debian/pkg-ocaml-maint/packages/ocaml/build-area/ocaml_3.10.0-3_i386.changes
+
+  W: ocaml-nox: script-not-executable ./usr/lib/ocaml/3.10.0/camlheader
+  W: ocaml-mode: binary-without-manpage usr/bin/ocamltags
+  E: ocaml-compiler-libs: copyright-should-refer-to-common-license-file-for-gpl
+  W: ocaml: binary-without-manpage usr/bin/labltk
+  W: ocaml: binary-without-manpage usr/bin/ocamlbrowser
+
+- old bugreports
+
+  * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=255245 is (will be) fixed in 3.12
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..4e4327f
--- /dev/null
+++ b/changelog
@@ -0,0 +1,2276 @@
+ocaml (4.05.0-11) unstable; urgency=medium
+
+  [ Ralf Treinen ]
+  * Dropped "Recommends: camlp4" from ocaml-nox since that package is
+    being deprecated. (Closes: #895994)
+
+  [ Stéphane Glondu ]
+  * Fix integer overflows when unmarshaling a bigarray
+    (Closes: #895472, CVE-2018-9838)
+  * Update Vcs-* to point to salsa
+
+ -- Stéphane Glondu <glondu@debian.org>  Fri, 25 Jan 2019 14:59:28 +0100
+
+ocaml (4.05.0-10) unstable; urgency=medium
+
+  * Drop support for ocamlopt on armel as suggested by upstream.
+  * Replace the ARM PIC patch with one from upstream.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 04 Oct 2017 14:14:39 +0200
+
+ocaml (4.05.0-9) unstable; urgency=medium
+
+  * Upload to unstable. (Closes: #871990)
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 15 Sep 2017 18:41:19 +0200
+
+ocaml (4.05.0-8) experimental; urgency=medium
+
+  [ Ximin Luo ]
+  * Merge changes from Debian unstable. Relevant ones:
+    * Tell dh_installdocs to ignore README.Debian (see #868204)
+    * obey hardening LDFLAGS (Closes: #792502). Thanks to Török Edwin
+      for the patch!
+    * Compute a stable name for preprocessed files (Closes: #838188).
+      Thanks to Johannes Schauer for the patch!
+  * Close old bugs.
+    * New upstream release 4.05 closes CVE-2015-8869 (Closes: #824139).
+    * Debian release 4.03.0-3 defaults to PIC on arm (Closes: #837359).
+
+  [ Pino Toscano ]
+  * Convert the menu file to a desktop file. (see #741573)
+
+ -- Ximin Luo <infinity0@debian.org>  Thu, 14 Sep 2017 12:02:40 +0200
+
+ocaml (4.05.0-7) experimental; urgency=medium
+
+  * Only install findlib/ocaml-native-compilers.conf on native-code arches,
+    fixing ocamlfind behaviour and FTBFS of ocamlbuild.
+
+ -- Ximin Luo <infinity0@debian.org>  Mon, 31 Jul 2017 01:42:31 +0200
+
+ocaml (4.05.0-6) experimental; urgency=medium
+
+  * Mark certain symbols as .hidden in arm64 codegen, fixing FTBFS with
+    binutils 2.29. (Closes: #868860)
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 29 Jul 2017 11:06:41 +0200
+
+ocaml (4.05.0-5) experimental; urgency=medium
+
+  * Proper fix for kfreebsd-* not having dup3/pipe2.
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 22 Jul 2017 12:14:04 +0200
+
+ocaml (4.05.0-4) experimental; urgency=medium
+
+  * Fix new natdynlink logic, fixes FTBFS on some more arches.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 21 Jul 2017 20:40:30 +0200
+
+ocaml (4.05.0-3) experimental; urgency=medium
+
+  * Fix Makefile $-escaping syntax, fixes FTBFS on a bunch of arches.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 21 Jul 2017 19:08:27 +0200
+
+ocaml (4.05.0-2) experimental; urgency=medium
+
+  * Update conditional-install rules for easier maintenance. This fixes FTBFS
+    on arm64 and s390x where libasmrunp.a is not available.
+  * Disable failing dup3/pipe2-related tests on kfreebsd-*.
+  * Close old bug reports. (Closes: #865712)
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 21 Jul 2017 18:01:04 +0200
+
+ocaml (4.05.0-1) experimental; urgency=medium
+
+  * New upstream release.
+  * Update to latest Standards-Version; no changes required.
+
+ -- Ximin Luo <infinity0@debian.org>  Mon, 17 Jul 2017 16:11:47 +0200
+
+ocaml (4.04.0-2) experimental; urgency=medium
+
+  * Fix the build on non-opt+64 arches for raw_spacetime.
+
+ -- Ximin Luo <infinity0@debian.org>  Sat, 04 Mar 2017 13:13:34 +0100
+
+ocaml (4.04.0-1) experimental; urgency=medium
+
+  [ Mehdi Dogguy ]
+  * Use secure and canonical URIs for Vcs-* fields
+
+  [ Ximin Luo ]
+  * New upstream release.
+  * Merge ocaml-native-compilers into ocaml-nox.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 03 Mar 2017 23:57:44 +0100
+
+ocaml (4.03.0-5) experimental; urgency=medium
+
+  * Fix variable substitution in Makefile syntax.
+
+ -- Ximin Luo <infinity0@debian.org>  Thu, 03 Nov 2016 01:39:42 +0100
+
+ocaml (4.03.0-4) experimental; urgency=medium
+
+  * Add a versioned Provides so we can have versioned Build-Depends
+    on ocaml-best-compilers in other packages.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 02 Nov 2016 15:26:44 +0100
+
+ocaml (4.03.0-3) experimental; urgency=medium
+
+  * Default to PIC on arm, to fix failing armhf tests.
+
+ -- Ximin Luo <infinity0@debian.org>  Wed, 02 Nov 2016 13:09:29 +0100
+
+ocaml (4.03.0-2) experimental; urgency=medium
+
+  * Add native compilers for ppc64, ppc64el, s390x.
+  * Skip native tests on bytecode-only systems.
+
+ -- Ximin Luo <infinity0@debian.org>  Fri, 28 Oct 2016 02:13:18 +0200
+
+ocaml (4.03.0-1) experimental; urgency=medium
+
+  * Team upload.
+  * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org>  Thu, 20 Oct 2016 17:43:52 +0200
+
+ocaml (4.02.3-10) unstable; urgency=medium
+
+  * Add Provides: ocamlbuild to ocaml-nox
+  * Tell dh_installdocs to ignore README.Debian (see #868204)
+
+ -- Stéphane Glondu <glondu@debian.org>  Thu, 13 Jul 2017 04:40:57 +0200
+
+ocaml (4.02.3-9) unstable; urgency=medium
+
+  * obey hardening LDFLAGS (Closes: #792502). Thanks to Török Edwin
+    for the patch!
+    - add patch 0013-Obey-ldflags.patch
+  * Compute a stable name for preprocessed files (Closes: #838188).
+    Thanks to Johannes Schauer for the patch!
+  * CVE-2015-8869 (Closes: #824139).
+
+ -- Mehdi Dogguy <mehdi@debian.org>  Thu, 22 Dec 2016 00:48:59 +0100
+
+ocaml (4.02.3-8) unstable; urgency=medium
+
+  * Default to PIC on arm, to fix failing armhf tests (Closes: #837359).
+  * Use secure and canonical URIs for Vcs-* fields
+  * Sync Standards-Version's value in debian/control.in
+
+ -- Mehdi Dogguy <mehdi@debian.org>  Sun, 06 Nov 2016 11:29:41 +0100
+
+ocaml (4.02.3-7) unstable; urgency=medium
+
+  * d/rules: split install-stamp target into -arch and -indep, to allow
+    for building with option -A (Closes: #806087).
+  * drop d/ocaml-nox.links.in since it contains only links to the
+    ocamlbuild.1 manpage which is no longer shipped by upstream. Thanks
+    to Andreas Beckmann for the hint (Closes: #801447).
+  * d/ocaml-base-nox.README.Debian: fix two spelling errors.
+  * standards-version 3.9.8 (no change)
+
+ -- Ralf Treinen <treinen@debian.org>  Fri, 15 Jul 2016 22:19:44 +0200
+
+ocaml (4.02.3-6) unstable; urgency=medium
+
+  * Add x32 support (Closes: #773409)
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 16 Feb 2016 11:34:16 +0100
+
+ocaml (4.02.3-5) unstable; urgency=medium
+
+  * Fix ocamldoc with -pp (Closes: #802347)
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 20 Oct 2015 11:41:11 +0200
+
+ocaml (4.02.3-4) unstable; urgency=medium
+
+  * Avoid multiple declarations of caml_set_oo_id in generated .c files
+    - Update 0005-Avoid-multiple-declarations-in-generated-.c-files-in.patch
+
+ -- Mehdi Dogguy <mehdi@debian.org>  Mon, 19 Oct 2015 01:01:53 +0200
+
+ocaml (4.02.3-3) unstable; urgency=medium
+
+  * Upload to unstable
+
+ -- Stéphane Glondu <glondu@debian.org>  Thu, 08 Oct 2015 10:46:16 +0200
+
+ocaml (4.02.3-2) experimental; urgency=medium
+
+  * Reproducibility changes:
+    - ocamlopt: add a .file directive to generated .s files
+      + startup files are now deterministic (Closes: #795784)
+      + native packed libraries are now deterministic (Closes: #796336)
+    - set permissions of patches in ocaml-source
+
+ -- Stéphane Glondu <glondu@debian.org>  Sat, 22 Aug 2015 09:46:49 +0200
+
+ocaml (4.02.3-1) experimental; urgency=medium
+
+  * New upstream release
+    - build and install libasmrun_shared.so (Closes: #461125)
+  * Make the ocaml-source binary package reproducible (patch by Chris
+    Lamb) (Closes: #779086)
+  * Enable ocamldoc to build reproducible manpages (patch by Valentin
+    Lorentz) (Closes: #794586)
+  * Bump Standards-Version to 3.9.6
+
+ -- Stéphane Glondu <glondu@debian.org>  Thu, 13 Aug 2015 18:53:50 +0200
+
+ocaml (4.02.1-3) experimental; urgency=medium
+
+  * Fix asmcomp tests on sparc
+  * Disable prim-bswap test (it fails on arm64)
+
+ -- Stéphane Glondu <glondu@debian.org>  Mon, 16 Feb 2015 11:14:06 +0100
+
+ocaml (4.02.1-2) experimental; urgency=medium
+
+  * Disable endianness-dependent tests
+  * Add arm64 to native and natdynlink architectures
+  * Merge version 4.01.0-5
+
+ -- Stéphane Glondu <glondu@debian.org>  Wed, 19 Nov 2014 07:08:04 +0100
+
+ocaml (4.02.1-1) experimental; urgency=medium
+
+  * New upstream release
+    - camlp4 and labltk are now distributed separately
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 21 Oct 2014 17:31:42 +0200
+
+ocaml (4.01.0-5) unstable; urgency=medium
+
+  [ Ralf Treinen ]
+  * ocaml-mode: change dependency on emacs23 to emacs (closes: #754021)
+  * ocaml-mode: add versionend dependency on emacs-common, add a file
+    ocaml-mode.emacsen-compat (closes: #749311)
+
+ -- Stéphane Glondu <glondu@debian.org>  Thu, 30 Oct 2014 09:28:06 +0100
+
+ocaml (4.01.0-4) unstable; urgency=medium
+
+  * debian/patches:
+    + Make "ocamlopt -g" more resistant to ill-formed locations
+    + Fix lost locations in out-of-bounds exceptions
+  * Disable the testsocket test because it tries to reach the net
+    (Closes: #732951)
+
+ -- Stéphane Glondu <glondu@debian.org>  Sat, 17 May 2014 15:26:14 +0200
+
+ocaml (4.01.0-3) unstable; urgency=low
+
+  * Upload to unstable
+  * debian/patches:
+    + Fix native backtraces on arm*
+    ~ Disable native backtraces on powerpcspe too
+  * Update SLOW_ARCHITECTURES and do not run almabench test there
+  * Add libiberty-dev to Build-Depends (Closes: #731047)
+
+ -- Stéphane Glondu <glondu@debian.org>  Mon, 02 Dec 2013 20:03:03 +0100
+
+ocaml (4.01.0-2) experimental; urgency=low
+
+  * debian/patches:
+    + Fix ocamlopt on sparc
+    + Tune resource usage of some tests to make them work on k-i386
+    + Native backtraces don't work on powerpc, sparc and arm*
+
+ -- Stéphane Glondu <glondu@debian.org>  Sun, 10 Nov 2013 02:49:02 +0100
+
+ocaml (4.01.0-1) experimental; urgency=low
+
+  * New upstream release
+  * debian/patches:
+    - Fix code generation bug with "mod 1" (merged upstream)
+    + More tests need upstream behaviour of -custom
+    + Fix upstream typos and bad wordings
+    + Add const qualifiers in Tcl/Tk bindings
+    + Enable mkstemp in yacc
+  * Remove testsuite special casing for now
+  * Use unversioned Tcl/Tk dependencies
+  * Update debian/control.in
+
+ -- Stéphane Glondu <glondu@debian.org>  Fri, 08 Nov 2013 09:45:16 +0100
+
+ocaml (4.00.1-2) experimental; urgency=low
+
+  * debian/patches:
+    + Fix (arm) code generation bug with mod 1
+  * Update Vcs-*
+
+ -- Stéphane Glondu <glondu@debian.org>  Fri, 26 Jul 2013 06:17:33 +0200
+
+ocaml (4.00.1-1) experimental; urgency=low
+
+  [ Stéphane Glondu ]
+  * New upstream release
+  * ocaml-compiler-libs: Replaces/Breaks previous versions of
+    ocaml-base-nox (Closes: #684031)
+  * Bump Standards-Version to 3.9.4
+  * Bump debhelper compat level to 9
+
+  [ Sylvain Le Gall ]
+  * Remove Sylvain Le Gall from uploaders
+
+  [ Mehdi Dogguy ]
+  * Use DEB_BUILD_GNU_TYPE instead of relying on "uname -m" (Closes: #689517).
+    Thanks to Konstantinos Margaritis for the patch.
+
+ -- Stéphane Glondu <glondu@debian.org>  Wed, 14 Nov 2012 14:17:27 +0100
+
+ocaml (4.00.0-1) experimental; urgency=low
+
+  * New upstream release
+
+ -- Stéphane Glondu <glondu@debian.org>  Fri, 27 Jul 2012 07:30:10 +0200
+
+ocaml (4.00.0~rc1-1) experimental; urgency=low
+
+  * New upstream release candidate
+    - fix linking of pthread_atfork (Closes: #682441)
+  * Merge changes from 3.12.1-4
+
+ -- Stéphane Glondu <glondu@debian.org>  Sat, 21 Jul 2012 15:42:10 +0200
+
+ocaml (4.00.0~beta2-2) experimental; urgency=low
+
+  * Fix natdynlink detection on sparc
+  * Cherry-pick an upstream fix in native compilation on powerpc
+  * Fixes in the test suite:
+    - use legacy -custom for lib-marshal test
+    - some tests were still triggering ocamlopt even on bytecode
+    - fix asmcomp tests on powerpc
+    - fix symbol mangling in asmcomp tests on kfreebsd-i386 and sparc
+  * Bump Standards-Version to 3.9.3
+
+ -- Stéphane Glondu <glondu@debian.org>  Thu, 21 Jun 2012 16:42:25 +0200
+
+ocaml (4.00.0~beta2-1) experimental; urgency=low
+
+  * New upstream beta release
+    - new "R" parameter in OCAMLRUNPARAMS to enable automatic
+      randomization of the generic hash function (Closes: #659149,
+      CVE-2012-0839)
+    - the layout of the ocaml-compiler-libs binary package has changed
+      significantly as a result of upstream installing +compiler-libs by
+      itself; toplevel libraries have been moved there
+  * Change the layout of the ocaml-source binary package
+  * Merge changes from version 3.12.1-3
+
+ -- Stéphane Glondu <glondu@debian.org>  Wed, 13 Jun 2012 22:38:41 +0200
+
+ocaml (4.00.0~~dev15+12379-1) experimental; urgency=low
+
+  * New upstream snapshot, based on the 4.00 upstream branch
+    - partially revert r12328 to avoid FTBFS
+    - the dbm bindings have been removed upstream and are now released
+      separately
+    - declare armel and armhf as native architectures supporting
+      natdynlink
+  * Run the test-suite
+    - on kfreebsd-*, skip lib-thread tests (they hang and I am not able
+      to reproduce it myself)
+    - on slow architectures, skip some tests that take too much time
+    - fix asmcomp tests on Hurd (Closes: #661716)
+    - fix "embedded" test broken by our -custom behaviour
+
+ -- Stéphane Glondu <glondu@debian.org>  Thu, 19 Apr 2012 09:04:28 +0200
+
+ocaml (3.12.1-4) unstable; urgency=low
+
+  * Change the Debian-specific behaviour of -custom (Closes: #678577)
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 26 Jun 2012 21:39:18 +0200
+
+ocaml (3.12.1-3) unstable; urgency=low
+
+  [ Hendrik Tews ]
+  * Fixes in startup and install files of ocaml-mode:
+    - symlink *el files into elc dir (Closes: #452340)
+    - use debian-pkg-add-load-path-item in emacsen-startup and emacsen-install
+      (Closes: 671559)
+    - compile el files with site-file enabled
+    - use debian-emacs-flavor in emacsen-startup (see #662163)
+
+  [ Stéphane Glondu ]
+  * Fix debian/watch so that refman is not reported as a new version
+  * Add some explicit dependencies to avoid spurious Lintian warnings
+    about broken symlinks
+  * Remove duplicate upstream changelog
+
+ -- Stéphane Glondu <glondu@debian.org>  Mon, 14 May 2012 07:52:40 +0200
+
+ocaml (3.12.1-2) unstable; urgency=low
+
+  * Fix compilation on kfreebsd-any: do not add -R$dir in X11 link options
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 01 Nov 2011 16:11:01 +0100
+
+ocaml (3.12.1-1) unstable; urgency=low
+
+  [ Stéphane Glondu ]
+  * New upstream release (Closes: #634621)
+  * ocamlopt/arm: add .type directive for code symbols (LP: #810402)
+
+  [ Mehdi Dogguy ]
+  * Make objinfo show force_link and ccobjs/ccopts when needed
+
+  [ Jonathan Nieder ]
+  * debian/control: add Breaks against versions of dh-ocaml that relied on
+    the ocaml{dumpapprox,plugininfo,byteinfo} tools (Closes: #642935)
+
+  [ Stefano Zacchiroli ]
+  * remove myself from Uploaders
+
+  [ Samuel Thibault ]
+  * Add support for ENOTSUP (Closes: #646372)
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 01 Nov 2011 13:53:49 +0100
+
+ocaml (3.12.0-7) unstable; urgency=low
+
+  * Force aligned access for double and int64 on mips*
+
+ -- Stéphane Glondu <glondu@debian.org>  Sun, 29 May 2011 00:01:26 +0200
+
+ocaml (3.12.0-6) unstable; urgency=low
+
+  * Provide a way to use legacy custom linking (Closes: #627761)
+  * Document Debian-specific -custom behaviour in README.Debian
+  * Properly initialize executable name in caml_startup_code
+    (Closes: #627756)
+
+ -- Stéphane Glondu <glondu@debian.org>  Wed, 25 May 2011 07:40:01 +0200
+
+ocaml (3.12.0-5) unstable; urgency=low
+
+  * Fixes related to -output-obj with g++ (in debian/patches):
+    - add Declare-primitive-name-table-as-const-char
+    - add Avoid-multiple-declarations-in-generated-.c-files-in
+    - fix Embed-bytecode-in-C-object-when-using-custom: the closing
+      brace for extern "C" { ... } was missing in some cases
+
+ -- Stéphane Glondu <glondu@debian.org>  Thu, 21 Apr 2011 21:35:08 +0200
+
+ocaml (3.12.0-4) unstable; urgency=low
+
+  * Bugfix in 0008-Embed-bytecode-in-C-object-when-using-custom.patch:
+    "-output-obj" should not link a custom runtime! (Fixes FTBFS of
+    ocamlnet)
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 19 Apr 2011 21:16:33 +0200
+
+ocaml (3.12.0-3) unstable; urgency=low
+
+  * Patch configure script so that hurd-i386 is also recognized as a
+    natdynlink architecture (fixes FTBFS)
+
+ -- Stéphane Glondu <glondu@debian.org>  Mon, 18 Apr 2011 14:17:11 +0200
+
+ocaml (3.12.0-2) unstable; urgency=low
+
+  * Patch configure script so that powerpc is recognized as a natdynlink
+    architecture (fixes FTBFS)
+
+ -- Stéphane Glondu <glondu@debian.org>  Sat, 16 Apr 2011 23:44:33 +0200
+
+ocaml (3.12.0-1) unstable; urgency=low
+
+  * New upstream release:
+    - add Unix.setgroups (Closes: #255245)
+    - fix bug in the num library on sparc (Closes: #570920)
+    - add armel to native architectures; note that the Dynlink module is
+      not available in native code there: software using it should take care
+      of this new possibility (Closes: #347270)
+    - {add,scrape}labels are no longer installed
+    - remove ocaml{byteinfo,plugininfo,dumpapprox}: all tools merged into
+      ocamlobjinfo; add binutils-dev to Buid-Depends
+  * debian/rules: switch to dh with overrides
+  * Embed bytecode in C object when using -custom (Closes: #256900)
+  * Ask pkg-config for libx11 path (Closes: #619344)
+  * Bump debhelper compat level to 8 (Closes: #562606)
+  * Switch source package format to 3.0 (quilt)
+  * Bump Standards-Version to 3.9.2
+
+ -- Stéphane Glondu <glondu@debian.org>  Sat, 16 Apr 2011 17:39:54 +0200
+
+ocaml (3.11.2-4) unstable; urgency=high
+
+  * Fix FTBFS on i386 due to a bug in previous patch
+
+ -- Stéphane Glondu <glondu@debian.org>  Wed, 09 Mar 2011 07:54:58 +0100
+
+ocaml (3.11.2-3) unstable; urgency=high
+
+  * Add patch to fix ocamlopt w.r.t. binutils 2.21 (Closes: #617404)
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 08 Mar 2011 21:32:54 +0100
+
+ocaml (3.11.2-2) unstable; urgency=low
+
+  * debian/ocaml-mode.emacs-install: do not byte-compile camldebug.el
+    and inf-caml.el for xemacs21 (Closes: #508813, LP: #464587).
+
+ -- Mehdi Dogguy <mehdi@debian.org>  Tue, 05 Oct 2010 17:46:59 +0200
+
+ocaml (3.11.2-1) unstable; urgency=low
+
+  [ Stéphane Glondu ]
+  * New upstream release
+  * Bump Standards-Version to 3.8.4 (no changes)
+
+  [ Mehdi Dogguy ]
+  * camlp4-extra:
+    - Add cma files back into the package (Requested by users).
+    - Don't install a manpage for camlp4boot (which is not installed).
+  * debian/rules:
+    - Do not compute dependencies for camlp4-extra
+  * debian/control:
+    - Make camlp4-extra depend on ocaml-base-nox
+
+  [ Ralf Treinen ]
+  * debian/control.in: bump dependency of ocaml-mode on emacs22 to emacs23.
+
+ -- Stéphane Glondu <glondu@debian.org>  Sun, 07 Feb 2010 22:11:16 +0100
+
+ocaml (3.11.1-5) unstable; urgency=low
+
+  * Use Tcl/Tk 8.5
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 15 Dec 2009 11:58:07 +0100
+
+ocaml (3.11.1-4) unstable; urgency=low
+
+  * Exclude compiler-libs from exported modules (Closes: #554871)
+
+ -- Stéphane Glondu <glondu@debian.org>  Sat, 07 Nov 2009 02:49:50 +0100
+
+ocaml (3.11.1-3) unstable; urgency=low
+
+  [ Mehdi Dogguy ]
+  * Add two tools:
+    - ocamlbyteinfo to read content of bytecode binaries
+    - ocamlplugininfo to read content of shared object files (.cmxs)
+  * Move some files from ocaml-interp to ocaml-nox and ocaml-base-nox
+  * Synchronize debian/control and debian/control.in
+  * Remove cma files shipped in camlp4 package and camlp4boot since
+    they are not used
+  * Add myself to Uploaders and update Stéphane's address
+  * Remove DMUA
+  * Use dh-ocaml (>= 0.9)
+
+  [ Stéphane Glondu ]
+  * Add build-dependency to autotools-dev (for up-to-date config.*)
+  * Maintainer scripts:
+    - explicitly use set -e
+    - remove references to ocaml-md5sums, as its jobs is handled by
+      dh_ocaml, now
+  * Remove all debian/*.dirs* files to avoid empty directories
+  * Update Standards-Version to 3.8.3 (no changes)
+
+ -- Stéphane Glondu <glondu@debian.org>  Tue, 22 Sep 2009 23:24:52 +0200
+
+ocaml (3.11.1-2) unstable; urgency=low
+
+  * Remove build-dependency to docbook-* (not needed anymore, since
+    policy has been moved to dh-ocaml)
+
+ -- Stephane Glondu <steph@glondu.net>  Wed, 24 Jun 2009 12:47:31 +0200
+
+ocaml (3.11.1-1) unstable; urgency=low
+
+  [ Samuel Mimram ]
+  * Add kfreebsd-amd64 to the list of supported native architectures.
+    (Closes: #519916)
+
+  [ Stefano Zacchiroli ]
+  * debian/control:
+    - remove recommends to ledit from ocaml-nox (does not ship "ocaml")
+
+  [ Stephane Glondu ]
+  * New upstream release:
+    - remove dbm_ldopts.dpatch (merged upstream)
+    - switch patch system to quilt
+  * debian/control:
+    - update Standards-Version to 3.8.2
+    - move to new section ocaml
+    - change Recommends from ledit to "ledit | readline-editor" for
+      ocaml-interp
+    - remove various obsolete Conflicts and Replaces
+  * Move OCaml standard library to /usr/lib/ocaml
+
+ -- Stephane Glondu <steph@glondu.net>  Wed, 24 Jun 2009 10:59:46 +0200
+
+ocaml (3.11.0-5) unstable; urgency=low
+
+  * Uploading to unstable
+  * debian/control: bump dh-ocaml to (>= 0.4) to avoid buggy ocamlinit.mk
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 22 Feb 2009 08:49:13 +0100
+
+ocaml (3.11.0-4) experimental; urgency=low
+
+  [ Samuel Mimram ]
+  * Add native versions of ocamldep and ocamldoc in findlib's configuration
+    when ocaml-native-compilers is installed, closes: #516085.
+
+  [ Stephane Glondu ]
+  * Add a script to handle native modules of standard library, and a
+    README.source to document it (fixes FTBFS on sparc and powerpc, which
+    are native, but do not provide .p.cmx files) (Closes: #516211)
+  * Fix FTBFS on bytecode-only architectures:
+    - generate manpages for stdlib
+    - tell debhelper to ignore ocaml-native-compilers
+  * Add lpia (from Ubuntu) to the list of native architectures
+
+ -- Stephane Glondu <steph@glondu.net>  Fri, 20 Feb 2009 09:59:31 +0100
+
+ocaml (3.11.0-3) experimental; urgency=low
+
+  * Mark libthreadsnat.a as native-only file (fix FTBFS on bytecode-only
+    architectures)
+
+ -- Stephane Glondu <steph@glondu.net>  Thu, 19 Feb 2009 07:25:27 +0100
+
+ocaml (3.11.0-2) experimental; urgency=low
+
+  [ Stephane Glondu ]
+  * Add DM-Upload-Allowed (with Stefano's blessing)
+  * Remove binary package-specific copyright files
+  * Major changes in debian/rules:
+    - more extensive use of debhelper 7
+    - do no longer use deprecated dh_movefiles and *.files
+    - get closer to CDBS API
+    - add versioned build-dependency to dh-ocaml
+    - use ocamlinit snippet provided by dh-ocaml
+    - add a build cache (for Debian debugging)
+    - do not compress labltk examples
+    - reflect original locations of camlp4 *.mli files in binary packages
+    - remove special handling of CFLAGS (handled by dpkg-buildpackage now)
+  * Add dbm_ldopts.dpatch, to add missing linking options for dbm
+    (fixes ocsigen FTBFS)
+  * Remove man-ocamlmklib.dpatch, and put manpage in debian/man
+  * Remove {dumpobj,objinfo}.dpatch, and put manpages in debian/man
+  * Build and install dumpapprox, and provide a manpage
+  * Discriminate *-nox packages in short descriptions (thanks Lintian)
+
+  [ Stefano Zacchiroli ]
+  * debian/control:
+    - clean-up Uploaders, removing people no longer contributing and
+      handling some specific removal requests
+    - bump versioned dep on ocaml --Replaces-> ocaml-nox to avoid file
+      overwrite upgrade problems
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 18 Feb 2009 14:39:31 +0100
+
+ocaml (3.11.0-1) experimental; urgency=low
+
+  * New upstream release:
+    - manpages.dpatch, ocamldoc.dpatch removed (merged upstream)
+    - for_pack_static.dpatch removed (obsolete)
+    - call_ld_with_proper_flags.dpatch fixed (Closes: #506286)
+  * Add debian/changelog entry for version 3.09.2-8
+  * Install *.cmxs (and matching *.cma) in ocaml-base*
+  * Don't put .git directory in ocaml-source
+
+ -- Stephane Glondu <steph@glondu.net>  Fri, 05 Dec 2008 19:57:18 +0100
+
+ocaml (3.11.0~beta1-1) experimental; urgency=low
+
+  [ Stephane Glondu ]
+  * New upstream beta release:
+    - camlrun_shared.dpatch removed (integrated upstream)
+    - not-native-no-aspp.dpatch removed (thanks to upstream bugfix)
+    - all other patches updated
+    - manpages.dpatch and ocamldoc.dpatch added
+    - dependency to gcc-4.2 on arm removed
+  * Switching packaging to git (from svn)
+  * Bump debhelper compatibility level to 7, and use debian/clean feature
+    of dh_clean
+  * Add myself to uploaders, and update Julien's address
+  * Add explicit dependency from camlp4-extra to ocaml-nox
+
+  [ Stefano Zacchiroli ]
+  * Bump Standards-Version to 3.8.0, no changes needed
+  * No longer ship stuff that will be now shipped by the new dh-ocaml
+    package:
+    - OCaml packaging policy
+    - CDBS class ocaml.mk and related helpers
+    - dh_ocaml debhelper
+    - ocaml-md5sums (therefore also disable its usage at the end of the
+      build process)
+
+ -- Stephane Glondu <steph@glondu.net>  Mon, 03 Nov 2008 23:10:06 +0100
+
+ocaml (3.10.2-3) unstable; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * debian/rules: force using gcc-4.2 on arm (fix FTBFS on arm)
+
+  [ Ralf Treinen ]
+  * Added myself to uploaders.
+
+ -- Ralf Treinen <treinen@debian.org>  Mon, 19 May 2008 23:31:52 +0200
+
+ocaml (3.10.2-2) unstable; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * releasing to unstable
+  * fix "OCaml" spelling errors in package descriptions (thanks lintian!)
+
+  [ Romain Beauxis ]
+  * removed virtual package from internal dependencies in favour of strict
+    versioned dependencies. Prevents build failures under some situations.
+
+  [ Sylvain Le Gall ]
+  * changing doc-base section of generated documentation to Programming/OCaml
+    (Closes: #476647)
+  * OCaml Packaging Policy:
+    - update camlp4/camlp5 policy chapter
+    - register policy in doc-base
+
+  [ Ralf Treinen ]
+  * OCaml Packaging Policy:
+    - update OCaml version to 3.10.2
+    - add a section on where to register documentation with doc-base.
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 18 May 2008 21:46:38 +0200
+
+ocaml (3.10.2-1) experimental; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * New upstream release
+    - bump OCAMLMINOR in debian/rules accordingly
+  * ship .mli files pertaining to ocaml-interp (Closes: #449559)
+  * ship .mli files pertaining to camlp4 (Closes: #449558)
+
+  [ Samuel Mimram ]
+  * Add a dependency from ocaml-base to libx11-dev (Closes: #465764)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Mon, 03 Mar 2008 10:15:33 +0100
+
+ocaml (3.10.1-1) unstable; urgency=low
+
+  [ Samuel Mimram ]
+  * New upstream release.
+  * Removed arm_ccheckbound_typo.dpatch, integrated upstream.
+
+  [ Stefano Zacchiroli ]
+  * fix vcs-svn field to point just above the debian/ dir
+
+  [ Ralf Treinen ]
+  * Policy: add section on correct spelling OCaml, bump version to 0.7.2
+
+  [ Julien Cristau ]
+  * Add ${shlibs:Depends} and ${misc:Depends} to all packages.
+
+ -- Samuel Mimram <smimram@debian.org>  Tue, 05 Feb 2008 18:28:56 +0100
+
+ocaml (3.10.0-13) unstable; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * fix the cdbs class to pass -I flags down to ocamldoc
+
+ -- Stefano Zacchiroli <zack@debian.org>  Fri, 28 Dec 2007 15:48:54 +0100
+
+ocaml (3.10.0-12) unstable; urgency=low
+
+  [ Julien Cristau ]
+  * libgraphics.a is built for ocamlc, not ocamlopt.  Install it
+    unconditionally in the ocaml package.  Have ocaml replace ocaml-nox
+    because of this move (closes: #457569).  Thanks, Peter Palfrader!
+
+ -- Samuel Mimram <smimram@debian.org>  Wed, 26 Dec 2007 14:03:36 +0100
+
+ocaml (3.10.0-11) unstable; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * explicitely chmod +x ocamldoc-api-ref-config during build
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 19 Dec 2007 12:15:08 +0100
+
+ocaml (3.10.0-10) unstable; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * ignore ocamldoc-api-ref-config when invoking dh_fixperms, so that it
+    remains executable (closes: #457014)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 19 Dec 2007 08:37:02 +0100
+
+ocaml (3.10.0-9) unstable; urgency=low
+
+  [ Samuel Mimram ]
+  * Suggest "tarballs" instead of "upstream" in the policy as directory name
+    for storing upstream sources since it is more standard.
+  * Corrected emacs startup file, closes: #446177.
+
+  [ Stefano Zacchiroli ]
+  * add patch camlrun_shared, which ships an alternative version of the
+    camlrun library (called "camlrun_shared") made of PIC objects
+  * add Homepage field to debian/control
+
+  [ Sylvain Le Gall ]
+  * fixes in cdbs class for ocamldoc generation, provides
+    ocamldoc-api-ref-config to centralize generation of .ocamldoc-apiref
+  * remove ia64, arm and alpha native arches (no more ocamlopt for this arches)
+  * array is bashism, remove it from ocamldoc-api-ref-config
+  * upgrade to Standards-Version 3.7.3 (no change)
+  * make the lintian override work: add the name of the package in
+    front of each override line, place the file in
+    usr/share/lintian/overrides and not inside a directory in this
+    directory
+  * make clean cleaner (remove byterun/libcamlrun_shared.so)
+  * remove empty directories left after moving files away from ocaml-nox
+    hierarchy
+  * add a comment to install_ocamlbuild patch, to prevent lintian
+    warning
+
+ -- Sylvain Le Gall <gildor@debian.org>  Sat, 15 Dec 2007 17:57:36 +0100
+
+ocaml (3.10.0-8) unstable; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * CDBS class
+    - invoke ocamldoc after dh_install has been run (otherwise ocamldoc is
+      likely to generate empty API references ...)
+    - add support for automatic generation of doc-base entries for ocamldoc
+      generated API reference
+    - better test for package membership to OCAML_OCAMLDOC_PACKAGES
+  * debian/ocaml-base-nox.README.Debian
+    - add an entry describing the requirement for compiling ocamldoc-generated
+      LaTeX documentation (closes: #420782)
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 02 Sep 2007 19:11:14 +0200
+
+ocaml (3.10.0-7) unstable; urgency=low
+
+  [ Sylvain Le Gall ]
+  * add patch not-native-no-aspp to workaround FTBFS, as described upstream in
+    bug 4375 (closes: #429185)
+  * don't ignore make clean error
+  * move menu section of ocaml interpreter to Applications/Programming
+    to comply with new menu structure
+
+
+  [ Stefano Zacchiroli ]
+  * CDBS class
+    - add support for specifying the target dir for generated documentation
+    - various fixes in ocamldoc invocation
+
+ -- Sylvain Le Gall <gildor@debian.org>  Sat, 01 Sep 2007 22:33:52 +0200
+
+ocaml (3.10.0-6) unstable; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * debian/ocaml-nox.dirs.in
+    - avoid creating empty /usr/include/ocaml/* directory (closes: #439017)
+  * CDBS class
+    - add support for automatic ocamldoc HTML documentation generation
+  * Policy
+    - add an appendix about the CDBS class with some minimal information and
+      pointers to the commented .mk files
+
+ -- Stefano Zacchiroli <zack@debian.org>  Thu, 30 Aug 2007 15:54:24 +0200
+
+ocaml (3.10.0-5) experimental; urgency=low
+
+  [ Ralf Treinen ]
+  * ocaml-mode.emacsen-install: do not hardcode the emacs flavours for which
+    to compile ocaml-mode (closes: Bug#433082)
+  * ocaml-mode: Bump primary dependency from emacs21 to emacs22.
+
+  [ Stefano Zacchiroli ]
+  * add patch arm_ccheckbound_typo, fix a typing error typo which makes ocaml
+    FTBFS on arm
+  * ocaml-source: install ocaml tarball as
+    /usr/src/ocaml-source-VERSION.tar.bz2; the "-source" part was erroneously
+    missing and make other packages FTBFS
+  * bump debhelper dependencies and compatibility level to 5
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 12 Aug 2007 19:29:07 +0200
+
+ocaml (3.10.0-4) experimental; urgency=low
+
+  * debian/patches/install_ocamlbuild.dpatch
+    - patched to install ocamlbuild as .native/.byte (following upstream
+      convention which will become widespread in the future), but changes
+      ocamlbuild to be a symlink to the best ocamlbuild available
+  * CDBS class:
+    - avoid dpatch breaking upon clean if debian/patches/*.in files are in use
+    - fix the usage example for "OCAML_IN_FILES += ...", it was wrong
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 04 Jul 2007 11:50:43 +0200
+
+ocaml (3.10.0-3) experimental; urgency=low
+
+  * debian/patches/00list
+    - enabled install_ocamlbuild patch (was disabled by mistake) and patched
+      it fixing a wrong path
+  * debian/rules
+    - pass -libdir to configure (now that it is supported upstream) in
+      addition to sed-ing generated config Makefiles; otherwise ocamlrun won't
+      get the correct libdir setting
+  * debian/ocaml-md5sums/ocaml-md5sums.1
+    - written ocaml-md5sums manpage
+  * debian/ocaml-native-compilers.links
+    - delegated to dh_link the creation of .opt manpage symlinks and added the
+      missing one for ocamlbuild.opt
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 16 Jun 2007 16:17:17 +0000
+
+ocaml (3.10.0-2) experimental; urgency=low
+
+  * Split two new packages: "camlp4" and "camlp4-extra" to cope with the huge
+    size increase of the new camlp4
+  * Policy
+    - update the Vcs-Svn info to the latest PTS documentation
+    - describe dependencies from a -dev package to its companion shared stub
+      package (if any) and suggest the usage of ${binary:Version}
+  * debian/copyright
+    - added in place of copyright.in, nothing to replace there
+  * debian/man/camlp4*.1
+    - added manpages for camlp4 related executables; content partially using
+      html2man, partially taken from the camlp4 wiki
+  * debian/control
+    - moved ledit recommends from ocaml-nox to ocaml-interp (which ships the
+      interactive toplevel)
+    - minor improvements to various descriptions
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 16 Jun 2007 12:41:32 +0100
+
+ocaml (3.10.0-1) experimental; urgency=low
+
+  [ Stefano Zacchiroli ]
+  * New upstream (stable) release
+  * debian/patches/*
+    - removed: ocaml-interp_manpage, build_wo_debug_info (integrated upstream)
+    - updated: install_ocamlbuild
+  * ship ocaml-compiler-libs objects as STDLIB/ocaml-compiler-libs/{parsing/,
+    typing/, utils/} rather than as a flat dir tree
+  * re-enabled ocaml-source package (which ships
+    /usr/src/ocaml-3.10.0.tar.bz2), now with a better way to generate it:
+    everything in the build dir except debian/ will be copied in the resulting
+    tarball
+  * debian/ocaml-source.exclude
+    - new file: list of tar exclude patterns, matching file won't be shipped
+      in the ocaml source tarball
+
+ -- Stefano Zacchiroli <zack@debian.org>  Wed, 13 Jun 2007 17:19:10 +0200
+
+ocaml (3.10.0~beta-1) experimental; urgency=low
+
+  [ Samuel Mimram ]
+  * Ship dh_ocaml into ocaml-nox
+
+  [ Stefano Zacchiroli ]
+  * New upstream beta release (3.10.0).
+  * debian/patches/*
+    - removed: versioned_libdir (no longer needed with this upstream)
+    - ported to this upstream: call_ld_with_proper_flags, alpha_ld_no-relax,
+      no_rpath
+    - added: build_wo_debug_info.dpatch (avoid building camlp4/ocamldoc with
+      debug info, wont be needed for the stable release)
+  * CDBS class
+    - added support for the OCAML_DLL_DIR variable, pointing ATM to the
+      stublibs/ subdirectory of the standard library directory. It's
+      substituted for @OCamlDllDir@ in .in files
+    - remove files which have been generated from their .in counterparts upon
+      clean target invocation
+  * Policy
+    - mandate the compilation of *.cm[ao] with debugging information for
+      libraries and forbid it for bytecode programs
+  * debian/rules
+    - delegated more installation stuff to dh_install
+  * debian/control
+    - get rid of the no longer needed ocaml-source package
+
+  [Ralf Treinen]
+  * debian/patches/*
+    - added: install_scripts_config: use a patched config.sh since PREFIX is
+      diferent at compile time and at installation time
+    - added: ocaml-interp_manpage, fixes typo in ocaml manpage
+      (closes: Bug#417847).
+  * debian/rules:
+    - added creation of config/config.debian.install
+    - Patch LIBDIR and STBLIBDIR setting in config/Makefile after invokation
+      of configure
+
+ -- Stefano Zacchiroli <zack@debian.org>  Tue, 17 Apr 2007 09:57:47 +0200
+
+ocaml (3.09.3-1) experimental; urgency=low
+
+  [ Samuel Mimram ]
+  * New upstream release.
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org>  Sat, 30 Sep 2006 01:15:16 +0200
+
+ocaml (3.09.3~rc1-1) experimental; urgency=low
+
+  [ Julien Cristau ]
+  * New upstream release candidate.
+
+ -- Samuel Mimram <smimram@debian.org>  Sun, 10 Sep 2006 23:11:31 +0000
+
+ocaml (3.09.2-8) unstable; urgency=low
+
+  [ Samuel Mimram ]
+   * Installing ocamlbrowser in ocaml instead of ocaml-nox, closes: #397245.
+
+  [ Julien Cristau ]
+  * Add patch stolen from 3.09.3 to fix a segfault when a file is closed
+    twice (closes: #403848).
+  * Delete directories left over by the ocaml package from sarge in
+    /usr/local (closes: #355448).
+
+ -- Samuel Mimram <smimram@debian.org>  Sat, 30 Dec 2006 19:01:12 +0000
+
+ocaml (3.09.2-7) unstable; urgency=low
+
+  [ Julien Cristau ]
+  * Fix typo in ocaml-base description (Closes: #390224).
+
+  [ Stefano Zacchiroli ]
+  * debian/control
+    - added XS-Vcs-Svn field to let users know where our svn repository is
+  * Added .txt suffix to the textual version of the policy
+  * Ship CDBS class for building OCaml related packages in
+    /usr/share/cdbs/1/; permission granted by the CDBS maintainers to
+    ship files there, see #387299. (Closes: #387299).
+  * Updated policy (now at version 0.7.1); changes:
+    - added a best-practice section about using the XS-Vcs-Svn field in
+      debian/control of OCaml related packages
+    - fixed typo in the suggested debian/rules line to fill the OFILES
+      variable
+
+  [ Samuel Mimram ]
+  * Updated policy (section 2.3) to explain how to add a conditional
+    dependency on ocaml-base-nox-VERSION for native/bytecode packages.
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sat, 28 Oct 2006 15:42:08 +0200
+
+ocaml (3.09.2-6) unstable; urgency=low
+
+  * Correct /usr/include/caml symbolic link, closes: #379271.
+  * Correct symbolic links in documentation directories.
+  * Updated policy.
+
+ -- Samuel Mimram <smimram@debian.org>  Sun, 23 Jul 2006 14:37:36 +0000
+
+ocaml (3.09.2-5) unstable; urgency=low
+
+  * Added a missing dependency on docbook-xml, closes: #373996.
+
+ -- Samuel Mimram <smimram@debian.org>  Fri, 16 Jun 2006 17:58:35 +0000
+
+ocaml (3.09.2-4) unstable; urgency=low
+
+  [ Julien Cristau ]
+  * Update reference to upstream tarball location in debian/copyright.
+  * Actually apply the patch to fix the stdlib manpages' section.
+
+  [ Samuel Mimram ]
+  * Integrate the ocaml policy in the package. Added a build dependency on
+    docbook-utils to build it.
+  * Put the symbolic links directly in the packages instead of using postinst.
+  * Put forgotten ocamldep.opt in ocaml-native-compilers.
+  * We don't need to remove rpaths anymore.
+
+ -- Samuel Mimram <smimram@debian.org>  Fri, 16 Jun 2006 09:11:02 +0000
+
+ocaml (3.09.2-3) unstable; urgency=low
+
+  * Uploading to unstable.
+
+ -- Samuel Mimram <smimram@debian.org>  Mon, 15 May 2006 20:40:39 +0000
+
+ocaml (3.09.2-2) experimental; urgency=low
+
+  [ Julien Cristau ]
+  * Add a patch to put stdlib manpages in section 3o.
+  * Fix typo in ocamldumpobj(1).
+  * Add symlinks so that ocamldep.opt(1) and ocamllex.opt(1) exist.
+
+  [ Samuel Mimram ]
+  * Updated standards version to 3.7.2, no changes needed.
+
+ -- Samuel Mimram <smimram@debian.org>  Wed, 10 May 2006 21:32:57 +0000
+
+ocaml (3.09.2-1) experimental; urgency=low
+
+  * New upstream release.
+  * Added no_rpath.dpatch (taken from Red Hat) in order for caml not to put
+    rpath in generated shared libraries, closes: #361865.
+
+ -- Samuel Mimram <smimram@debian.org>  Tue, 18 Apr 2006 17:14:59 +0000
+
+ocaml (3.09.1+3.09.2rc1-1) experimental; urgency=low
+
+  [ Julien Cristau ]
+  * Remove dh_gencontrol line for ocaml-source from the binary-arch target
+    (ocaml-source is built in binary-indep).
+  * New upstream release candidate:
+    + add support for GNU/Hurd (Closes: #358274).
+    + fix handling of `new' in camlp4 which caused stack overflow (Closes:
+    #355651).
+  * Drop kbsd-gnu.dpatch, obsolete.
+
+  [ Samuel Mimram ]
+  * Use new icon, closes: #358946.
+  * Link to README.Debian instead of README.Debian.gz in
+    /usr/share/doc/ocaml-base, closes: #355975.
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org>  Thu, 30 Mar 2006 15:10:14 +0200
+
+ocaml (3.09.1-3) unstable; urgency=low
+
+  * Enable ocaml-mode for emacs-snapshot (Closes: #347917).
+  * Change the patch added in 3.09.1-2, because it broke ocamlopt -pack on
+    sparc (we now filter link options to remove the "-Wl," part, and then use
+    ld). Thanks to Sylvain Le Gall for noticing, and to Samuel Thibault for
+    his help debugging this (Closes: #351853).
+  * [debian/rules] Make install-* depend on build-*, and tweak the rules to
+    not rerun configure in the 'binary' phase.
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org>  Thu,  9 Feb 2006 15:14:43 +0100
+
+ocaml (3.09.1-2) unstable; urgency=low
+
+  [ Samuel Mimram ]
+  * Cleaning ocaml-md5sums, closes: #346279.
+
+  [ Julien Cristau ]
+  * build-arch is a phony target.
+  * Add patch to make ocamlopt -output-obj and ocamlopt -pack call the linker
+    via gcc instead of directly, which allows us to pass the same linking
+    options in these cases and in the common case (where ocamlopt already used
+    gcc). This should unbreak ocamlopt -pack on alpha, and thus fix the build
+    failure of camomile.
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org>  Thu, 12 Jan 2006 15:33:00 +0100
+
+ocaml (3.09.1-1) unstable; urgency=low
+
+  [ Samuel Mimram ]
+  * Removing possibly leftover /usr/lib/ocaml/ld.conf, closes: #300846.
+  * Updated objinfo.dpatch.
+  * Added dumpobj.dpatch to install ocamldumpobj.
+  * Added a rule in rules to generate (manually) ocaml-source.files and
+    updated ocaml-source.files.
+  * Added a watch file.
+
+  [ Julien Cristau ]
+  * New upstream release
+    + sparc is correctly detected and alignment of doubles and 64-bit ints on
+      double-word boundaries is forced (Closes: #344615).
+  * Remove Suggests on xlibs-dev which doesn't exist anymore.
+
+ -- Samuel Mimram <smimram@debian.org>  Wed,  4 Jan 2006 20:32:13 +0100
+
+ocaml (3.09.0-4) unstable; urgency=low
+
+  [ Julien Cristau ]
+  * debian/rules: the abi-sed rule is phony, we don't want to run configure
+    twice.
+  * Stop building the native compilers on hppa, they are buggy and upstream
+    considers this port dead (see bug#342704).
+
+  [ Samuel Mimram ]
+  * Added for_pack_static.dpatch (from CVS) to correct a bug when linking,
+    disabled for now though.
+  * Added myself to uploaders.
+
+  [ Julien Cristau ]
+  * Install the list of architectures with native compilers in the ocaml-nox
+    package.
+
+  [ Sven Luther ]
+  * This version should make it into testing, so let's (Closes: #338435).
+
+ -- Sven Luther <luther@debian.org>  Mon, 19 Dec 2005 13:36:31 +0000
+
+ocaml (3.09.0-3) unstable; urgency=low
+
+  * Fix build on non-native arches which was broken by the changes to
+    debian/rules in the previous release. Sorry for this :(
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org>  Fri,  9 Dec 2005 11:01:06 +0100
+
+ocaml (3.09.0-2) unstable; urgency=low
+
+  * Modified debian/rules to exit with an error when native compiler build
+    fails, instead of building a broken package.
+  * New patch kbsd-gnu.dpatch to add support for GNU/Hurd and GNU/k*BSD on
+    i386 (thanks to Robert Millan and Aurélien Jarno; Closes: #216886).
+  * Add myself to Uploaders (acked by Sven).
+  * Add patch by Steve Langasek <vorlon@debian.org> to fix native code linking
+    by passing the --no-relax option to ld (Closes: #338437).
+    Bug#335578 stays open since a proper fix to the generated asm would still
+    be better than this workaround.
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org>  Thu,  8 Dec 2005 10:19:39 +0100
+
+ocaml (3.09.0-1) unstable; urgency=low
+
+  * New upstream release.
+    - self references are now ruled out (Closes: #263163, #294753)
+    - better escaping in manpages generated by ocamldoc (Closes: #301046)
+    - typo fixed in ocamldoc.1 (Closes: #304360)
+    - argument order changed in Map.fold (Closes: #327211)
+
+  [ Julien Cristau ]
+  * Cleanup debian/control: remove redundant Depends.
+  * Update location of ocaml-md5sums stuff.
+  * Build-Depend on chrpath and delete rpath from DLLs.
+  * Various lintian warnings fixed, and overrides cleaned up.
+
+  [ Sven Luther ]
+  * Updated to new upstream release.
+  * Modified the packaging ifrastructure to not use hard-coded abi number
+    except in the head of debian/rules. All else is sed'ed from #OcamlABI#
+    (and #OcamlMAJOR# for the debian/copyright file and the upstream url).
+
+ -- Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>  Mon, 07 Nov 2005 10:56:49 +0100
+
+ocaml (3.08.3-8) unstable; urgency=low
+
+  Changes by Jérôme Marant:
+  * Create a new `ocaml-mode' package dedicated at Emacs-related files
+    (Closes: Bug#312618, Bug#322210)
+  * debian/control:
+    - Add new ocaml-mode package section
+    - [ocaml-nox]
+      + Remove emacsen-common dependency
+      + Suggests tuareg-mode or ocaml-mode
+  * debian/ocaml-mode.dirs: New file
+  * debian/ocaml-nox.dirs: Remove emacsen-related files entries
+  * debian/ocaml-mode.emacsen-install,
+    debian/ocaml-mode.emacsen-remove,
+    debian/ocaml-mode.emacsen-startup: New files respectively renamed from
+    emacsen-install, emacsen-remove and emacsen-startup
+  * debian/ocaml-nox.postint: Rename previous existing emacs site
+    conffiles to <file>.save in order to avoid messing with the new
+    ocaml-mode
+  * debian/rules: Install ocaml-mode files in their own location
+  * debian/ocaml-base-nox.README.Debian: Mention new ocaml-mode package
+  * debian/ocaml-nox.NEWS:
+    - New file
+    - Mention all emacs-related files moved to a separate ocaml-mode
+      package
+    - Mention that all previous emacs conffiles are renamed in order
+      not to mess with the new ocaml-mode
+  * debian/ocaml-mode.README.Debian:
+    - New file
+    - Explain how to override tuareg-mode in case both modes are
+      installed
+
+  * debian/changelog: Remove spurious changelog entry
+
+  * Move ocaml-md5sums from a dpatch to a debian subdirectory
+  * debian/patches/ocaml-md5sums.dpatch: Remove file
+  * debian/patches/00list: Remove ocaml-md5sums entry
+  * debian/ocaml-md5sums/{configure,feeding.sh,Makefile,ocaml-md5sums.ml.in}:
+    - New files
+  * debian/rules: Update ocaml-md5sums files location accordingly
+
+  * Move ocaml-nox menu file to ocaml-interp since the toplevel
+    is provided by ocaml-interp
+  * debian/ocaml-interp.menu:
+    - New file renamed from ocaml-nox.menu
+    - Change 'ocaml' to 'ocaml-interp' in the required package for
+      the menu to be displayed
+  * debian/ocaml-interp.dirs: Add pixmaps directory
+  * debian/ocaml-nox.dirs: Remove pixmaps directory
+
+  * Move xpm files away from the /usr/X11R6 deprecated directory
+    hierarchy to /usr/share/pixmaps, as per Policy (11.8.7)
+  * debian/rules: install JoeCaml.xpm in /usr/share/pixmaps within the
+    ocaml-interp package
+  * debian/ocaml-interp.menu: Change pixmap location
+
+  * Really install menu files
+  * debian/rules: uncomment dh_installmenu in the build-common target
+
+  * debian/ocaml-nox.preinst: Remove bashism
+
+  * Add dependencies on gcc and binutils for all interpreters since
+    OCaml compilers may use of them (Closes: Bug#322722)
+  * debian/control:
+    - [ocaml-nox]: Add dependency on both gcc and binutils
+    - [ocaml-native-compilers]: Likewise
+
+  Changes by Stefano Zacchiroli:
+  * debian/rules
+    - remove spurious CVS directories from labltk examples
+      (Closes: Bug#322712)
+  * debian/ocamlfind/ocaml-native-compilers.conf
+    - gets installed under /usr/share/ocaml-findlib/ so that, if
+      ocamlfind is available, compiling with findlib will use the
+      native compilers
+
+ -- Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>  Thu, 08 Sep 2005 12:46:36 +0200
+
+ocaml (3.08.3-7) unstable; urgency=low
+
+  Changes by Sven Luther:
+  * debian/patches/byterun_interp_ia64_fix.dpatch
+    - Removed spurious ia64 cast which broke builds with gcc 4.0
+
+  Changes by Stefano Zacchiroli:
+  * debian/control
+    - added versioned dep from ocaml-compiler-libs to ocaml-base-nox to
+      ensure ocaml-md5sums exists at postinst invocation time
+  * debian/{ocaml-compiler-libs,ocaml-nox,ocaml}.postrm
+    - invoke ocaml-md5sums update only if it is available, if not
+      md5sums database will be updated next time ocaml-base-nox will be
+      installed (Closes: Bug#322210)
+  * debian/patches/ocaml-md5sums
+    - avoid failure on update if /var/lib/ocaml/md5sums does not exists
+
+ -- Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>  Fri, 12 Aug 2005 10:47:30 +0200
+
+ocaml (3.08.3-6) unstable; urgency=low
+
+  Changes by Stefano Zacchiroli:
+  * debian/control
+    - added versioned dep from ocaml to ocaml-base-nox to ensure
+      ocaml-md5sums exists at postinst invocation time (Closes: #320779)
+
+ -- Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>  Sun, 31 Jul 2005 11:37:24 +0200
+
+ocaml (3.08.3-5) unstable; urgency=low
+
+  Changes by Stefano Zacchiroli:
+  * debian/patches/ocaml-md5sums.dpatch
+    - use relative path for ocamlrun when compiling ocaml-md5sums
+      (Closes: #320622)
+    - enable external specification, via env var, of ocamlobjinfo path
+    - fixed bug in feeding.sh which inhibit discovery of *.cm[ao]
+  * debian/rules
+    - passes relative path of ocamlobjinfo to ocaml-md5sums
+
+ -- Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>  Fri, 29 Jul 2005 12:55:56 +0200
+
+ocaml (3.08.3-4) unstable; urgency=low
+
+  Changes by Julien Cristau:
+  * Create directories in /usr/local/lib with proper permissions in
+    ocaml-base-nox's postinst, and remove them if empty in prerm
+    (Closes: #270925).
+  * debian/patches/asmcomp_amd64_emit.mlp.dpatch: patch from upstream bugfix
+    branch by Xavier Leroy to fix code generation on amd64 (reported by John
+    Skaller).
+  * debian/patches/fix_i386_gcc4_build.dpatch: patch from upstream to fix
+    inline i386 assembly in the num library to allow building ocaml with
+    gcc-4.0 (Closes: #309317).
+  * debian/control: Add a dependency on emacsen-common, because this is needed
+    to install the caml emacs mode in ocaml-nox (Closes: #312618).
+
+  Changes by Stefano Zacchiroli:
+  * debian/patches/ocaml-md5sums, debian/rules,
+    debian/{ocaml,ocaml-nox,ocaml-compiler-libs}.{postinst,postrm}
+    - added ocaml-md5sums, ocaml md5sum registry handler for the forthcoming
+      dh_ocaml
+  * Removed debian/ocaml-compiler-libs.README.Debian (out of date copy of
+    debian/README.Debian); added symlink from ocaml-base to README.Debian
+  * Added debian/svn-deblayout to make svn structure work with
+    svn-buildpackage
+  * debian/control
+    - bumped Standards-Version to 3.6.2
+    - changed Maintainer to Debian OCaml Maintainers for this upload, set
+      Uploaders to Sven and me
+  * debian/rules
+    - ignore error on clean target for config.{sub,guess} so that
+      svn-buildpackage does not fail at clean time
+
+ -- Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>  Thu, 21 Jul 2005 00:24:26 +0200
+
+ocaml (3.08.3-3) unstable; urgency=medium
+
+  * Missed the include symlink in 3.08 -> 3.08.3 migration.
+    /me slaps myself, really need to automate this.
+
+ -- Sven Luther <luther@debian.org>  Wed, 23 Mar 2005 00:30:19 +0100
+
+ocaml (3.08.3-2) unstable; urgency=medium
+
+  * Missed some 3.08 -> 3.08.3 migration for ld.conf files.
+
+ -- Sven Luther <luther@debian.org>  Tue, 22 Mar 2005 08:06:01 +0100
+
+ocaml (3.08.3-1) unstable; urgency=medium
+
+  * New upstream stable point version.
+    - breaks binary compatibility, we thus have to up the ABI version
+      to 3.08.3.
+  * New features
+    - ignore unknown warning options for forward and backward compatibility
+    - runtime: export caml_compare_unordered (PR#3479)
+    - camlp4: install argl.* files (PR#3439)
+    - ocamldoc: add -man-section option (Closes: #287538)
+    - labltk: add the "solid" relief option (PR#3343)
+    - compiler: ocamlc -i now prints variance annotations
+  * Bug fixes:
+    - typing: fix unsoundness in type declaration variance inference.
+      Type parameters which are constrained must now have an explicit variant
+      annotation, otherwise they are invariant. This is not backward
+      compatible, so this might break code which either uses subtyping or
+      uses the relaxed value restriction (i.e. was not typable before 3.07)
+    - typing: erroneous partial match warning for polymorphic variants (PR#3424)
+    - runtime: handle the case of an empty command line (PR#3409, PR#3444)
+    - stdlib: make Sys.executable_name an absolute path in native code (PR#3303)
+    - runtime: fix memory leak in finalise.c
+    - runtime: auto-trigger compaction even if gc is called manually (PR#3392)
+    - stdlib: fix segfault in Obj.dup on zero-sized values (PR#3406)
+    - camlp4: correct parsing of the $ identifier (PR#3310, PR#3469)
+    - autoconf: better checking of SSE2 instructions (PR#3329, PR#3330)
+    - graphics: make close_graph close the X display as well as the window (PR#3312)
+    - num: fix big_int_of_string (empty string) (PR#3483)
+    - num: fix big bug on 64-bit architecture (PR#3299)
+    - str: better documentation of string_match and string_partial_match (PR#3395)
+    - unix: fix file descriptor leak in Unix.accept (PR#3423)
+    - unix: miscellaneous clean-ups
+    - unix: fix documentation of Unix.tm (PR#3341)
+    - compiler: fix error message with -pack when .cmi is missing (PR#3028)
+    - cygwin: fix problem with compilation of camlheader (PR#3485)
+    - stdlib: Filename.basename doesn't return an empty string any more (PR#3451)
+    - stdlib: better documentation of Open_excl flag (PR#3450)
+    - ocamlcp: accept -thread option (PR#3511)
+    - ocamldep: handle spaces in file names (PR#3370)
+    - compiler: remove spurious warning in pattern-matching on variants (PR#3424)
+
+ -- Sven Luther <luther@debian.org>  Mon, 21 Mar 2005 07:46:26 +0100
+
+ocaml (3.08.2-1) unstable; urgency=low
+
+  * new upstream stable release.
+
+ -- Sven Luther <luther@debian.org>  Sat, 27 Nov 2004 12:25:08 +0100
+
+ocaml (3.08.1-2) unstable; urgency=high
+
+  * Cleaned up ocaml-source location.
+
+ -- Sven Luther <luther@debian.org>  Wed, 25 Aug 2004 15:10:12 +0200
+
+ocaml (3.08.1-1) unstable; urgency=high
+
+  * New upstream stable point release.
+  * Dropped QPL 6c qnd choice of venue clause from the QPL licence.
+  * The emacs files are now under GPL, adding them again.
+  * Added ocamlmklib man page, courtesy of Samuel Mimram .
+  * Removed camlp4-coq-fix, since it is now fixed upstream.
+
+ -- Sven Luther <luther@debian.org>  Thu, 19 Aug 2004 18:49:30 +0200
+
+ocaml (3.08.0-2) unstable; urgency=low
+
+  * Applied patch adding some missing .cmx to enable coq 3.08 to build.
+  * Enabled hppa native code compiler. (Closes: #260711)
+  * Don't install native compiler libs on arches they are not built.
+  * Readded objinfo patch.
+
+ -- Sven Luther <luther@debian.org>  Mon, 26 Jul 2004 14:08:42 +0200
+
+ocaml (3.08.0-1) unstable; urgency=low
+
+  * New upstream release.
+    - Added support for IPv6 in unix library. (Closes: #223480, #234400)
+  * Do not install the emacs files, until upstream gives a response about the
+    licencing issue. (Closes: #227159, #227163)
+  * Fix non-native compiler supporting arches build. (Closes: #259261)
+  * Added amd64 native code compilers build. (Closes: #248334)
+  * Now include the nums package again, since 3.08 include the new free
+    version. (Closes: #240902)
+  * Now include ocamldoc manpage. (Closes: #255239)
+
+ -- Sven Luther <luther@debian.org>  Thu, 15 Jul 2004 09:21:55 +0200
+
+ocaml (3.07.2a-4) unstable; urgency=low
+
+  * *-nox and -interp now conflict with the package which previously
+    distributed their files as suggested in policy 7.5.1
+  * Fixed the Conflicts entries to use the proper version of ocaml:
+    3.07.2a instead of 3.07.
+
+ -- Mike Furr <mfurr@debian.org>  Mon,  5 Jul 2004 14:13:55 -0400
+
+ocaml (3.07.2a-3) unstable; urgency=low
+
+  * Split out the ocaml interpreter and all required files into ocaml-interp
+  * Split out all of the tk/xlibs stuff from ocaml into ocaml-nox and from
+    ocaml-base into ocaml-base-nox
+  * Added a bunch of internal modules from the compiler into a new binary:
+    compiler-libs.  Also added notes in REAMDE.D and copyright that these
+    are QPL, not LGPL like everything else.
+  * Changed 'Objectif' to 'Objective' in ocaml-source short description
+  * Cleaned up debian/rules.  It now uses stamp files a little more
+    intelligently so that it doesn't rebuild the whole thing every time
+  * Check to see if /usr/include/caml EXISTS and is a symblink thus
+    eliminating a spurious warning message from ocaml-nox.preinst
+  * Removed 'num' library from ocaml-sources.files
+
+ -- Mike Furr <mfurr@debian.org>  Thu, 10 Jun 2004 22:44:34 -0400
+
+ocaml (3.07.2a-2) unstable; urgency=low
+
+  * Now install the config/Makefile so that nat/bignum can be built as an
+    external package.
+  * Modified configure so that the Makefile variables for both nat/bignum
+    implementations are written in the config/Makefile.
+
+ -- Sven Luther <luther@debian.org>  Wed, 17 Dec 2003 12:52:28 +0100
+
+ocaml (3.07.2a-1) unstable; urgency=low
+
+  * New upstream .2 release, including the ocaml-3.07-pl2 patch.
+  * Removed the otherlibs/num library, since the copyright is non-free, and
+    the copyright got lost in the HP/Compaq acquisition. Thanks to Bdale
+    Garbee for trying to solve this issue, but since the release approaches,
+    and upstream is reimplementing the library anyway, i will remove it here.
+  * Fixed broken emacs file caml-types.el. (Closes: #218226)
+
+ -- Sven Luther <luther@debian.org>  Fri, 31 Oct 2003 14:46:02 +0100
+
+ocaml (3.07-7) unstable; urgency=high
+
+  * Fixed hppa build problem : hppa needs doubleword aligned doubles.
+  * Removed .dpatch extensions for debian/patches/00list, should enable to
+    build with older versions of debhelper, like the one in woody.
+    (Closes: #214967).
+  * Removed leftover ocaml 3.06 ld.conf stuff. (Closes: #214772)
+  * Applied the ocaml-3.07-pl2 patch inplace of the previous camlp4 patch.
+    (Closes: #216152)
+
+ -- Sven Luther <luther@debian.org>  Fri, 17 Oct 2003 00:48:39 +0200
+
+ocaml (3.07-6) unstable; urgency=low
+
+  * Changed from the -a to the -s option in debhelper functions. Fixed FTBFS
+    in all non-native autobuilders.
+
+ -- Sven Luther <luther@debian.org>  Mon,  6 Oct 2003 09:07:42 +0200
+
+ocaml (3.07-5) unstable; urgency=low
+
+  * Somehow the objinfo patch forgot to install objinfo, fixed now. Also
+    renamed objinfo to ocamlobjinfo, to be more in line with the other ocaml
+    executables.
+  * Test for emacsen flavor early one and abort if unsupported.
+    (Closes: #213862)
+
+ -- Sven Luther <luther@debian.org>  Fri,  3 Oct 2003 17:08:29 +0200
+
+ocaml (3.07-4) unstable; urgency=low
+
+  * Arg, dh_gencontrol seems to not support putting stuff after the
+    substitution variable, which seems somewhat broken to me, anyway, let's
+    put the substitution variable last.
+  * Forgot to add the camlp4_optional.dpatch to the list of patches to be
+    applied. (Closes: #213881)
+
+ -- Sven Luther <luther@debian.org>  Fri,  3 Oct 2003 10:54:26 +0200
+
+ocaml (3.07-3) unstable; urgency=low
+
+  * Fixed BestProvide magic, as a space was breaking non-native builds.
+
+ -- Sven Luther <luther@debian.org>  Fri,  3 Oct 2003 08:16:18 +0200
+
+ocaml (3.07-2) unstable; urgency=low
+
+  * I mistakenly uploaded to experimental, and thus am forced to upload a -2.
+
+ -- Sven Luther <luther@debian.org>  Thu,  2 Oct 2003 11:41:53 +0200
+
+ocaml (3.07-1) experimental; urgency=low
+
+  * New upstream release.
+    - Most debian patches where included upstream.
+    - Standard library now use .3o suffixes. (Closes: #205391)
+  * Dpatchification.
+  * Applied the camlp4 optional arguments fix.
+  * Fixed emacsen-install so that caml-xemacs and caml-emacs get installed
+    only for the corresponding emacs flavors. Thanks go to Jerome Marant.
+  * Moved ocaml-source into a tarball.
+
+ -- Sven Luther <luther@debian.org>  Wed,  1 Oct 2003 13:31:23 +0200
+
+ocaml (3.06-21) unstable; urgency=low
+
+  * I botched the debian/rules in the -20 release, fixed it.
+
+ -- Sven Luther <luther@debian.org>  Wed, 20 Aug 2003 13:57:28 +0200
+
+ocaml (3.06-20) unstable; urgency=low
+
+  * Fixed BestProvides substvar stuff. (Closes: #205228, #204537)
+
+ -- Sven Luther <luther@debian.org>  Tue, 19 Aug 2003 18:36:29 +0200
+
+ocaml (3.06-19) unstable; urgency=low
+
+  * Fix a alloc_channel bug. (Closes: #204146).
+
+ -- Sven Luther <luther@debian.org>  Wed,  6 Aug 2003 10:54:38 +0200
+
+ocaml (3.06-18) unstable; urgency=low
+
+  * Dropped camlp4, libcamltk-ocaml and camltk provides as it may confuse apt.
+
+ -- Sven Luther <luther@debian.org>  Fri, 18 Jul 2003 22:29:45 +0200
+
+ocaml (3.06-17) unstable; urgency=low
+
+  * Fixes typo in ocaml_packaging_policy.
+  * Moved ocamldoc generated library manpages from section o to 3.
+  * Linked to libgdbm-compat, using the new libgdbm-dev package.
+    (Closes: #188553)
+  * Removed the /etc/magic debconf question, as ocaml is recognized by file
+    since version 4.02-1. (Closes: #190037, #189774)
+  * Uncommented site specific emacs stuff as suggested by Laurent Bonnaud and
+    okeyed by Ralf Treinen. (Closes: #192131)
+  * Conflicts with camlidl (<< 1.04), warn if /usr/include/caml is still not
+    a symlink, but this should only happen if the user did some hand
+    installation.  (Closes: #195574, #192552)
+
+ -- Sven Luther <luther@debian.org>  Sun,  8 Jun 2003 11:52:10 +0200
+
+ocaml (3.06-16) unstable; urgency=low
+
+  * Fix GC memory problem in stat_aux function in stat.c, reported in upstream
+    bug #1665 and causes random SEGVs when using Unix.Largefile.stat or
+    friends. Thanks to David Brown for providing a patch.  (Closes: #191582)
+  * Properly install the latex file ocamldoc.sty. (Closes: #175821)
+  * Fixed or overrided most lintian warnings.
+  * Fixed configure script to work around the sparc FTBFS with gcc 3.2.
+  * Applied Remi's ocaml_packaging_policy changes. (Closes: #177850)
+  * Backported the config/auto-aux/async_io.c patch from CVS, to solve the
+    graphics module/sleep problem. (Closes: #179199)
+
+ -- Sven Luther <luther@debian.org>  Sat,  3 May 2003 09:45:38 +0200
+
+ocaml (3.06-15) unstable; urgency=low
+
+  * Fixed the /usr/include/caml issue. (Closes: #173720)
+
+ -- Sven Luther <luther@debian.org>  Tue, 24 Dec 2002 10:31:55 +0100
+
+ocaml (3.06-14) unstable; urgency=low
+
+  * Removed the (bad) /usr/lib/ocaml/3.06/ld.conf that comes with the ocaml
+    package.
+  * Now run ocaml-ldconf in ocaml postinst also. This is needed since
+    /usr/lib/ocaml/3.06/ld.conf was in ocaml 3.06-13 and will thus be removed
+    when we upgradeto 3.06-14.
+  * Some script cleanup.
+
+ -- Sven Luther <luther@debian.org>  Tue, 17 Dec 2002 00:05:22 +0100
+
+ocaml (3.06-13) unstable; urgency=low
+
+  * Ocaml and ocaml-base now provides ocaml-3.06-1 and ocaml-base-3.06-1. All
+    library packages depending on ocaml-3.06 and ocaml-base-3.06 are now
+    uninstallable, and should be rebuilt with these new dependencies. Notice
+    that a bug in dpkg (Bug#170825) allows to upgrade ocaml to 3.06-13 even if
+    packages depending on the older virtual provides are still present,
+    apt-get handles this properly.
+  * Changed libdir from /usr/lib/ocaml to /usr/lib/ocaml/3.06, and adapted the
+    ocaml_packaging_policy consequently.
+  * Added Stefano's section on META files and findlib in the
+    ocaml_packaging_policy.
+  * Now /usr/include/caml is a symlink to /usr/lib/ocaml/3.06/caml, and not
+    the other side around. Need to find a nicer solution here, or even stop
+    shipping the headers in /usr/include. One solution would be to ship them
+    under /usr/include/ocaml/3.06/caml.
+
+ -- Sven Luther <luther@debian.org>  Sat, 14 Dec 2002 22:24:05 +0100
+
+ocaml (3.06-12) unstable; urgency=low
+
+  * Fixed configure so it now builds dbm support. (Closes: #168458)
+
+ -- Sven Luther <luther@debian.org>  Mon, 11 Nov 2002 12:45:32 +0100
+
+ocaml (3.06-11) unstable; urgency=low
+
+  * Applied posix systhread patch from Xavier. Now the tick thread dies
+    properly when killing a threaded native code program. (Closes: #144719)
+
+ -- Sven Luther <luther@debian.org>  Tue, 29 Oct 2002 18:22:16 +0100
+
+ocaml (3.06-10) unstable; urgency=low
+
+  * Now call dh_installdebconf to install the debconf .templates file.
+    (Closes: #166707)
+
+ -- Sven Luther <luther@debian.org>  Mon, 28 Oct 2002 10:29:04 +0100
+
+ocaml (3.06-9) unstable; urgency=low
+
+  * Now test for the existence of /etc/magic before trying to fill it.
+
+ -- Sven Luther <luther@debian.org>  Mon, 28 Oct 2002 10:29:04 +0100
+
+ocaml (3.06-8) unstable; urgency=low
+
+  * Added objinfo man page, courtesy of Stefano Zacchiroli, and modified
+    ocamlc manpage to make reference to it.
+  * Applied Stefano's .ocamlinit patch. (Closes: #166199)
+  * Added a debconf template to fill /etc/magic with the appropriate ocaml
+    magic.
+
+ -- Sven Luther <luther@debian.org>  Sun, 27 Oct 2002 00:20:24 +0200
+
+ocaml (3.06-7) unstable; urgency=low
+
+  * Ocaml needed a rebuild, since native code compilation using the Str
+    library was broken. I don't really understand what did break, most
+    probably it is one of the developpment libraries (binutils, libc6, ...)
+    which did change in an incompatible way we are not aware of.
+  * Now ship objinfo. (Closes: #165446)
+  * Applied odoc_man.ml patch from Maxence i got out of CVS. (Closes: #159581)
+  * Removed /usr/lib/ocaml/ld.conf from the ocaml package, since it is shipped
+    with ocaml-base. (Closes: #161742)
+
+ -- Sven Luther <luther@debian.org>  Wed, 23 Oct 2002 10:20:04 +0200
+
+ocaml (3.06-6.1) unstable; urgency=low
+
+  * (NMU) recompile at maintener request
+    Since i uploaded ocam lsource only, ocaml-source was not built,
+    so i asked for an NMU, not having the bandwith for uploading ocaml-source
+    myself. (Sven Luther)
+
+ -- Remi Vanicat <vanicat@debian.org>  Tue, 24 Sep 2002 11:46:27 +0200
+
+ocaml (3.06-6) unstable; urgency=high
+
+  * ocaml-ldconf in postrm was called only on remove, not upgrade.
+    (Closes: #159859).
+  * Moved ocaml-source stuff to /usr/src.
+    (Closes: #159862).
+  * Added more verbose info to ocaml-ldconf.ml
+    (Closes: #159860).
+  * Now ocaml-ldconf also accepts the -R option to remove all directories
+    associated with the given package.
+
+ -- Sven Luther <luther@debian.org>  Fri,  6 Sep 2002 18:12:18 +0200
+
+ocaml (3.06-5) unstable; urgency=high
+
+  * Removed reference to /usr/include/ocaml in README.Debian.
+    (Closes: #158126).
+
+ -- Sven Luther <luther@debian.org>  Mon,  2 Sep 2002 14:38:22 +0200
+
+ocaml (3.06-4) unstable; urgency=high
+
+  * Apparently the dh_ocamlld patch did not do, i will now call ocaml-ldconf
+    in ocaml-base.postinst, to be sure the /usr/lib/ocaml/ld.conf is created
+    correctly (Closes: #158905).
+
+ -- Sven Luther <luther@debian.org>  Mon,  2 Sep 2002 14:04:17 +0200
+
+ocaml (3.06-3) unstable; urgency=high
+
+  * Added a Provide: ocaml-source-3.06 to the ocaml-source control file.
+    (Asked by Jerome Marant)
+
+ -- Sven Luther <luther@debian.org>  Fri, 30 Aug 2002 09:39:25 +0200
+
+ocaml (3.06-2) unstable; urgency=high
+
+  * Now we create the /usr/local/lib/ocaml directory in the postinst instead
+    of including it in the package. We also don't fail if we are not able to
+    create this directory (if /usr/local is mounted read-only for example).
+    (Closes: #157898)
+  * Now use mmap() instead of malloc() for allocation of major heap chunks,
+    for alpha (same fix as for the ia64 problem encountered previously).
+    (Closes: #158444)
+
+ -- Sven Luther <luther@debian.org>  Thu, 29 Aug 2002 08:26:53 +0200
+
+ocaml (3.06-1) unstable; urgency=high
+
+  * New upstream (bugfix) release. (Closes: Bug#139427)
+  * 3.05 as released by upstream was broken, i should not have uploaded it (as
+    it broke all the libraries) but it was too late when i was made aware of
+    the problems with 3.05.
+  * Added a statement in the ocaml-source package description that it is _not_
+    supposed to be used for building ocaml. (Closes: #150077)
+  * Now ship labltk examples and README file. (Closes: #152588)
+  * Added ia64 to the list of arches who support the native code compilers.
+    (Closes: #157110)
+  * Removed .opt man pages from the list of files of the ocaml package.
+    (Closes: #152237)
+  * Camlp4 -where now gives the correct path. (Closes: #155701)
+  * Now include a default /usr/lib/ocaml/ld.conf file in the ocaml-base
+    package. (Closes: #156042, #155428)
+  * Updated ocaml_packaging_policy and README.Debian file.
+  * ocaml-ldconf now handles directory only lines in /etc/ocaml/ld.donf as the
+    add command.
+
+ -- Sven Luther <luther@debian.org>  Tue, 20 Aug 2002 15:36:45 +0200
+
+ocaml (3.05-1) unstable; urgency=high
+
+  * New upstream release.
+  * Now /usr/lib/ocaml/stublibs is the default path for storing dynamic stub
+    libraries. We still keep the ocaml-ldconf/dh_ocamlld stuff on, as it may
+    still be usefull and for backward compatibility, but we will slowly
+    migrate all library packages to use the new path.
+  * Some updates to the policy file (standard stublib path, findlib, ...)
+  * Now ship labltk examples and README file.
+  * This upstream release fixes the bytecode compilers for powerpc (the same
+    as the patch applied in 3.04-9) and ia64.
+
+ -- Sven Luther <luther@debian.org>  Tue, 30 Jul 2002 10:44:39 +0200
+
+ocaml (3.04-13) unstable; urgency=high
+
+  * Modified ocaml-ldconf.ml so it no longer reverse the path list
+    (contributed from Denis Barbier <barbier@debian.org>).
+
+ -- Sven Luther <luther@debian.org>  Thu, 13 Jun 2002 17:15:12 +0200
+
+ocaml (3.04-12) unstable; urgency=high
+
+  * Link the .opt manpages by hand in postinst/prerm scripts, until debhelper
+    is fixed to support .so files pointing to manpages from other binary
+    packages. (Closes: Bug#138642)
+
+ -- Sven Luther <luther@debian.org>  Wed, 24 Apr 2002 11:25:17 +0200
+
+ocaml (3.04-11) unstable; urgency=high
+
+  * Now install also the emacs caml-help.el file.
+  * Removed the "\C-c\C-b" addition bindings, since they cause conflicts with
+    xemacs21 (Closes: Bug#139812) (taken from upsteream CVS).
+
+ -- Sven Luther <luther@debian.org>  Fri, 19 Apr 2002 19:29:13 +0200
+
+ocaml (3.04-10) unstable; urgency=high
+
+  * Fixed the bad /usr/lib/ocaml/ld.conf file permissions (Closes: Bug#138495).
+  * Added the ocaml-ldconf.1 manpage.
+  * Hopefully fixed the dangling camlp4r.opt.1 and camlp4o.opt.1 symlinks
+    (Closes: Bug#138642).
+
+ -- Sven Luther <luther@debian.org>  Tue, 19 Mar 2002 09:12:59 +0100
+
+ocaml (3.04-9) unstable; urgency=high
+
+  * Applied the correct powerpc patch from upstream (Closes: Bug#134113)
+
+ -- Sven Luther <luther@debian.org>  Tue, 19 Feb 2002 18:11:56 +0100
+
+ocaml (3.04-8) unstable; urgency=high
+
+  * Removed the not working ppc patch and replaced it by the one from
+    upstream's CVS (hope it works) (Closes: Bug#134113)
+  * Fixed ocaml-ldconf so it would work even if the files did not exist, and
+    added two of the ld.conf files as conffiles (not /usr/lib/ocaml/ld.conf,
+    which is a install time generated package).
+  * Renamed the include files again to /usr/include/caml, as it breaks things
+    otherwise.
+
+ -- Sven Luther <luther@debian.org>  Mon, 18 Feb 2002 11:30:35 +0100
+
+ocaml (3.04-7) unstable; urgency=high
+
+  * Fixed the emacs problem (Closes: Bug#132955)
+  * Fixed the dh_ocamlld execution problem (Closes: Bug#132959)
+
+ -- Sven Luther <luther@debian.org>  Mon, 11 Feb 2002 17:35:52 +0100
+
+ocaml (3.04-6) unstable; urgency=low
+
+  * Added ocaml-ldconf and ld.conf handling.
+  * Added a ocaml_packaging_policy file.
+  * Fixed the emacs problem, hope it works.
+  * Added a symlink from /usr/lib/ocaml/caml to /usr/include/ocaml
+  * Fixed the ocaml-native-compilers description problem.
+
+ -- Sven Luther <luther@debian.org>  Thu,  7 Feb 2002 12:19:10 +0100
+
+ocaml (3.04-5) unstable; urgency=low
+
+  * Split ocamlc.opt, ocamlopt.opt and ocamllex.opt into the
+    ocaml-native-compilers package.
+  * The ocaml-best-compilers virtual package is provided by
+    ocaml-native-compilers if it is built and by ocaml if not.
+  * Added an ocaml-source package containing the source to ocaml for packages
+    which need them as build-depends.
+  * Applied Ian Zimmerman's caml.el patch. (Closes:#129650,#130301)
+
+
+ -- Sven Luther <luther@debian.org>  Wed, 16 Jan 2002 18:08:39 +0100
+
+ocaml (3.04-4) unstable; urgency=low
+
+  * fixed emacs support and added ocamltags.
+
+ -- Sven Luther <luther@debian.org>  Wed, 16 Jan 2002 16:50:12 +0100
+
+ocaml (3.04-3) unstable; urgency=low
+
+  * small patch to build on powerpc.
+  * don't build opt.opt on ia64.
+  * ocaml now doesn't include the ocaml-base stuff anymore but depends on it.
+
+ -- Sven Luther <luther@debian.org>  Wed,  9 Jan 2002 17:34:00 +0100
+
+ocaml (3.04-2) unstable; urgency=low
+
+  * added runtime dynamic libraries to ocaml-base.
+  * other small fixes.
+
+ -- Sven Luther <luther@debian.org>  Thu, 20 Dec 2001 09:35:21 +0100
+
+ocaml (3.04-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Sven Luther <luther@debian.org>  Fri, 14 Dec 2001 12:44:03 +0100
+
+ocaml (3.02-3) unstable; urgency=low
+
+  * alpha lacked the -mieee flag to gcc, so the fpu exceptions were not caught
+    correctly.
+
+ -- Sven Luther <luther@debian.org>  Tue,  6 Nov 2001 12:46:52 +0100
+
+ocaml (3.02-2) unstable; urgency=low
+
+  * Build with gcc.
+
+ -- Sven Luther <luther@debian.org>  Thu,  9 Aug 2001 14:11:19 +0200
+
+ocaml (3.02-1) unstable; urgency=low
+
+  * New upstream release.
+  * This is mostly a upstream bugfix release, including fixes to the arm
+    native code compiler and the config stuff for the parisc port.
+
+ -- Sven Luther <luther@debian.org>  Mon, 30 Jul 2001 17:20:38 +0200
+
+ocaml (3.01-6.1) unstable; urgency=low
+
+  * copy in new config.{guess,sub} to get support for new architectures.
+    Closes: #94755.
+
+ -- LaMont Jones <lamont@debian.org>  Mon,  9 Jul 2001 21:39:34 -0600
+
+ocaml (3.01-6) unstable; urgency=low
+
+  * Fix from Xavier Leroy for the arm native code compiler bug.
+
+ -- Sven Luther <luther@debian.org>  Fri,  6 Apr 2001 15:34:26 +0200
+
+ocaml (3.01-5.2) unstable; urgency=low
+
+  * Adds menu file, Closes: #83490.
+
+ -- Sven Luther <luther@debian.org>  Wed,  4 Apr 2001 15:00:53 +0200
+
+ocaml (3.01-5.1) unstable; urgency=low
+
+  * Fixes configure script to automatically find tcl/tk 8.3. This will
+    enable us to build this package on potato also.
+
+ -- Sven Luther <luther@debian.org>  Tue,  3 Apr 2001 13:12:27 +0200
+
+ocaml (3.01-5) unstable; urgency=low
+
+  * Disabled native code support on the arm arch, waiting for an upstream fix
+    on it.
+  * Removed Build dependency on emacsen, since it is no longer needed at
+    build time, but at install time.
+
+ -- Sven Luther <luther@debian.org>  Thu, 29 Mar 2001 13:03:43 +0200
+
+ocaml (3.01-4) unstable; urgency=low
+
+  * fixes arm build. Fixes: #90089.
+
+ -- Sven Luther <luther@debian.org>  Thu, 22 Mar 2001 15:37:30 +0100
+
+ocaml (3.01-3) unstable; urgency=low
+
+  * clean now trully brings the package to it's previous state.
+  * added emacs patch from Ralf Treineim.
+
+ -- Sven Luther <luther@debian.org>  Thu, 22 Mar 2001 09:57:32 +0100
+
+ocaml (3.01-2) unstable; urgency=low
+
+  * Fix missing dbm and labltk builds.
+
+ -- Sven Luther <luther@debian.org>  Fri, 16 Mar 2001 10:49:02 +0100
+
+ocaml (3.01-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Sven Luther <luther@debian.org>  Fri,  9 Mar 2001 16:25:19 +0100
+
+ocaml (3.00-6) unstable; urgency=low
+
+  * Added some suggest field, Fixes: #85280.
+
+ -- Sven Luther <luther@debian.org>  Fri,  9 Feb 2001 09:40:14 +0100
+
+ocaml (3.00-5) unstable; urgency=low
+
+  * Erm, ... apparently, strip is still not behaving itself correctly, it
+    removed the bytecode from the ocamlbrowser executable :(((
+    Fixed it by don't stripping ocamlbrowser and ocamldebug manually.
+
+ -- Sven Luther <luther@debian.org>  Mon,  5 Feb 2001 14:50:54 +0100
+
+ocaml (3.00-4) unstable; urgency=low
+
+  * added debhelper to the Build-depends :((((
+
+ -- Sven Luther <luther@debian.org>  Tue, 10 Jan 2001 18:25:32 +0100
+
+ocaml (3.00-3) unstable; urgency=low
+
+  * had to rebuild due to the dpkg 1.8.1.1 bug :(((
+
+ -- Sven Luther <luther@debian.org>  Tue,  9 Jan 2001 15:45:32 +0100
+
+ocaml (3.00-2) unstable; urgency=low
+
+  * Updated to standard version 3.2.1.0.
+  * Added build dependencies, hope i didn't miss them.
+  * Needed rebuilt on alpha anyway, since the tcl/tk developpment packages
+    where missing when it got built, now, the build dependencies should handle
+    this correctly.
+  * Fixes #81337. (bcopy redefinition bug due to new libc). Thanks for
+    Paul Slootman for providing a patch to this one.
+  * Fixes #69724 (i hope). Now that strip doesn't destroy files it doesn't
+    know anything about, we can strip executables safely again.
+
+ -- Sven Luther <luther@debian.org>  Mon,  8 Jan 2001 14:34:26 +0100
+
+ocaml (3.00-1) unstable; urgency=low
+
+  * new upstream release.
+
+ -- Sven Luther <luther@debian.org>  Thu, 27 Apr 2000 00:22:42 +0200
+
+ocaml3 (2.99-1) unstable; urgency=low
+
+  * New upstream release. This is the beta version of upcomming ocaml 3.0.
+  * This package will conflict with ocaml 2.04 for now, when ocaml 3.0
+    comes out, it will replace ocaml 2.04 also. Don't know if we will need
+    a ocaml 2.04 compatibility package, i guess not, but if needed, we could
+    do it.
+
+ -- Sven Luther <luther@debian.org>  Mon,  6 Mar 2000 13:03:17 +0100
+
+ocaml (2.04-6) frozen unstable; urgency=low
+
+  * emacs mode was missing, added it again.
+
+ -- Sven Luther <luther@debian.org>  Tue, 29 Feb 2000 14:37:35 +0100
+
+ocaml (2.04-5) frozen unstable; urgency=low
+
+  * Fix the lintian error about LGPL link pointing to old place.
+
+ -- Sven Luther <luther@debian.org>  Fri,  4 Feb 2000 16:14:27 +0100
+
+ocaml (2.04-4) unstable; urgency=low
+
+  * Added a libncurses5-dev dependency, as ocamlopt needs it to compile
+    programs, not sure if a depends dependency is the right way to do things
+    though.
+
+ -- Sven Luther <luther@debian.org>  Fri,  4 Feb 2000 15:29:23 +0100
+
+ocaml (2.04-3) unstable; urgency=low
+
+  * Don't strip binaries, as stripping of ocaml binaries is not supported.
+  * Closes Bug #49637.
+
+ -- Sven Luther <luther@debian.org>  Tue, 25 Jan 2000 17:14:53 +0100
+
+ocaml (2.04-2) unstable; urgency=low
+
+  * Disables m68k nativ code compiler.
+  * Closes Bug #52130.
+
+ -- Sven Luther <luther@debian.org>  Thu,  9 Dec 1999 10:20:06 +0100
+
+ocaml (2.04-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Sven Luther <luther@debian.org>  Tue, 30 Nov 1999 14:46:37 +0100
+
+ocaml (2.03-1) unstable; urgency=low
+
+  * New upstream release.
+  * License change (QPL & LGPL mix), can go in main now.
+  * configuration patch seems to be included in main.
+
+ -- Sven Luther <luther@debian.org>  Mon, 22 Nov 1999 11:40:28 +0100
+
+ocaml (2.02-9) unstable; urgency=low
+
+  * fixed thread support for native code stuff,
+    using systhread instead of thread.
+
+ -- Sven Luther <luther@debian.org>  Thu, 18 Nov 1999 14:55:46 +0100
+
+ocaml (2.02-8) unstable; urgency=low
+
+  * fixed bad suggests line for ocaml-doc.
+
+ -- Sven Luther <luther@debian.org>  Mon,  8 Nov 1999 12:26:47 +0100
+
+ocaml (2.02-7) unstable; urgency=low
+
+  * Added a man page for ocamldebug.
+  * seems FHS compliant.
+
+ -- Sven Luther <luther@debian.org>  Sat,  9 Oct 1999 14:20:25 +0200
+
+ocaml (2.02-6) unstable; urgency=low
+
+  * Adding FHS-compliance.
+
+ -- Sven Luther <luther@debian.org>  Sat,  9 Oct 1999 12:05:47 +0200
+
+ocaml (2.02-5) unstable; urgency=low
+
+  * Removed again the m68k native code compiler, since it was buggy.
+  * Fixed a bug in the thread library.
+
+ -- Sven Luther <luther@debian.org>  Wed, 30 Jun 1999 09:13:00 +0200
+
+ocaml (2.02-4) unstable; urgency=low
+
+  * Fixed a last bug with the m68k native code compiler.
+
+ -- Sven Luther <luther@debian.org>  Sat, 29 May 1999 20:43:41 +0200
+
+ocaml (2.02-3) unstable; urgency=low
+
+  * Enabled m68k native code compiler.
+
+ -- Sven Luther <luther@debian.org>  Fri,  7 May 1999 10:24:34 +0200
+
+ocaml (2.02-2) unstable; urgency=low
+
+  * Fixed m68k build, at least i hope so, didn't test it though ...
+
+  * Fixed emacs mode build and install.
+
+ -- Sven Luther <luther@debian.org>  Thu, 29 Apr 1999 20:05:35 +0100
+
+ocaml (2.02-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Sven Luther <luther@debian.org>  Mon, 08 Mar 1999 17:50:35 +0100
+
+ocaml (2.01-5) unstable; urgency=low
+
+  * fixed the ocamlmktop bug, by removing the $PREFIX stuff from
+    tools/Makefile. It is not needed there.
+
+ -- Sven Luther <luther@debian.org>  Wed, 26 Feb 1999 07:40:35 +0100
+
+ocaml (2.01-4) unstable; urgency=low
+
+  * fixed some stuff in the $PREFIX Makefile changes.
+
+ -- Sven Luther <luther@debian.org>  Tue, 16 Feb 1999 19:55:35 +0100
+
+ocaml (2.01-3) unstable; urgency=low
+
+  * added some Makefile stuff to help build packages when native code
+    compiler is not supported.
+  * html documentation is now another package (ocaml-doc) together with
+    documentation in another format.
+
+ -- Sven Luther <luther@debian.org>  Tue, 16 Feb 1999 19:55:35 +0100
+
+ocaml (2.01-2) unstable; urgency=low
+
+  * Removed the mli2html patch again, conforming to the wishes of
+    the upstream author. Due to licensing problems, if we want it,
+    we have to have autorization of INRIA. Anyway, the mli2html patch
+    was buggy, creating different .mli files if -html was used or not.
+  * Fixed the configure script and Makefile so that you can use -prefix
+    option and change the install prefix by changing the PREFIX variable.
+
+ -- Sven Luther <luther@debian.org>  Tue, 16 Feb 1999 10:31:35 +0100
+
+ocaml (2.01-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Sven Luther <luther@debian.org>  Tue, 11 Feb 1999 13:51:35 +0100
+
+ocaml (2.00-2) unstable; urgency=low
+
+  * added mli2html patch to create html documents from .mli files
+
+ -- Sven Luther <luther@dpt-info.u-strasbg.fr>  Sun, 13 Sep 1998 09:08:05 +0200
+
+ocaml (2.00-1) unstable; urgency=low
+
+  * new upstream source
+
+ -- Sven Luther <luther@dpt-info.u-strasbg.fr>  Mon, 31 Aug 1998 10:08:05 +0200
+
+ocaml (1.07-1) unstable; urgency=low
+
+  * new upstream source
+
+ -- Sven Luther <luther@dpt-info.u-strasbg.fr>  Sat, 21 Feb 1998 10:36:26 +0800
+
+ocaml (1.05-2) unstable; urgency=low
+
+  * Build with libc6
+
+ -- Christophe Le Bars <clebars@debian.org>  Sun, 28 Sep 1997 16:45:02 +0200
+
+ocaml (1.05-1) non-free; urgency=low
+
+  * New upstream source
+
+ -- Christophe Le Bars <clebars@debian.org>  Fri, 22 Aug 1997 23:01:51 +0200
+
+ocaml (1.03-2) frozen-non-free non-free; urgency=low
+
+  * Added ocamlmktop manpage (Bug#6264)
+
+ -- Christophe Le Bars <clebars@debian.org>  Tue, 22 Apr 1997 23:44:12 +0200
+
+ocaml (1.03-1) non-free; urgency=low
+
+  * New upstream source
+  * Added html reference manual
+
+ -- Christophe Le Bars <clebars@debian.org>  Fri, 1 Nov 1996 15:51:00 +0100
+
+ocaml (1.02-1) non-free; urgency=low
+
+  * Initial release
+  * Added Debian GNU/Linux Linux package maintenance system files
+
+ -- Christophe Le Bars <clebars@debian.org>  Fri, 11 Oct 1996 22:25:01 +0200
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..e479f0b
--- /dev/null
+++ b/clean
@@ -0,0 +1,10 @@
+build/ocamlbuild_mixed_mode
+config/Makefile
+config/config.debian.install.sh
+config/config.sh
+config/m.h
+config/s.h
+myocamlbuild_config.ml
+tools/myocamlbuild_config.ml
+ocamlc
+ocamlcomp.sh
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..ec63514
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+9
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..7d7d2e4
--- /dev/null
+++ b/control
@@ -0,0 +1,216 @@
+Source: ocaml
+Section: ocaml
+Priority: optional
+Maintainer: Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
+Uploaders:
+ Samuel Mimram <smimram@debian.org>,
+ Ralf Treinen <treinen@debian.org>,
+ Stéphane Glondu <glondu@debian.org>,
+ Mehdi Dogguy <mehdi@debian.org>,
+ Ximin Luo <infinity0@debian.org>
+Build-Depends:
+ debhelper (>= 9),
+ pkg-config,
+ quilt,
+ autotools-dev,
+ binutils-dev,
+ libiberty-dev,
+ libncurses5-dev,
+ libx11-dev,
+ zlib1g-dev,
+ dh-ocaml (>= 1.0.0~)
+Standards-Version: 4.0.0
+Vcs-Git: https://salsa.debian.org/ocaml-team/ocaml.git
+Vcs-Browser: https://salsa.debian.org/ocaml-team/ocaml
+Homepage: https://ocaml.org/
+
+# This needs to stay at the top - we symlink docs to the copy in this package,
+# and dh_installdocs installs README.Debian etc into the first package listed.
+Package: ocaml-base-nox
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Provides:
+ ${ocaml:Provides}
+Replaces: ocaml-interp (<< 3.11.1-3)
+Breaks: ocaml-interp (<< 3.11.1-3)
+Description: Runtime system for OCaml bytecode executables (no X)
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains only the runtime system needed to run bytecode
+ executables that do not use the graphics library. The 'ocaml' package
+ contains the full development suite of Objective Caml.
+
+Package: ocaml-base
+Architecture: any
+Depends:
+ ocaml-base-nox,
+ ${shlibs:Depends},
+ ${misc:Depends},
+ ${ocaml:Depends}
+Provides:
+ ${ocaml:Provides}
+Description: Runtime system for OCaml bytecode executables
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains only the runtime system needed to run bytecode
+ executables. The 'ocaml' package contains the full development suite of
+ Objective Caml.  You may wish to install the 'ocaml-base-nox' package if
+ you do not require any graphical capabilities for your runtime.
+
+Package: ocaml-nox
+Architecture: any
+Depends:
+ ocaml-base-nox,
+ ${shlibs:Depends},
+ ${misc:Depends},
+ ${ocaml:Depends},
+ libncurses5-dev,
+ ocaml-interp (= ${binary:Version}),
+ gcc,
+ binutils
+Provides:
+ ${ocaml:Provides},
+ ocaml-best-compilers (= ${binary:Version}),
+ ${F:NativeProvides},
+ libnums-ocaml-dev
+Suggests:
+ ocaml-doc,
+ tuareg-mode | ocaml-mode
+Recommends:
+ file
+Replaces: ocaml-interp (<< 3.11.1-3), ocaml-native-compilers (<< 4.04.0-1)
+Breaks:
+ dh-ocaml (<< 1.0.0),
+ ocaml-interp (<< 3.11.1-3),
+ camlp4 (<< 3.10.0),
+ camlidl (<< 1.04)
+Description: ML implementation with a class-based object system (no X)
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ OCaml comprises two compilers. One generates bytecode
+ which is then interpreted by a C program. This compiler runs quickly,
+ generates compact code with moderate memory requirements, and is
+ portable to essentially any 32 or 64 bit Unix platform. Performance of
+ generated programs is quite good for a bytecoded implementation:
+ almost twice as fast as Caml Light 0.7. This compiler can be used
+ either as a standalone, batch-oriented compiler that produces
+ standalone programs, or as an interactive, toplevel-based system.
+ .
+ The other compiler generates high-performance native code for a number
+ of processors. Compilation takes longer and generates bigger code, but
+ the generated programs deliver excellent performance, while retaining
+ the moderate memory requirements of the bytecode compiler. It is not
+ available on all arches though.
+ .
+ This package contains everything needed to develop OCaml applications
+ that do not require the graphics library.
+
+Package: ocaml
+Architecture: any
+Depends:
+ ocaml-base-nox,
+ ${misc:Depends},
+ ${ocaml:Depends},
+ libx11-dev
+Provides:
+ ${ocaml:Provides}
+Replaces: ocaml-nox (<< 3.11.0-2)
+Description: ML language implementation with a class-based object system
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ OCaml comprises two compilers. One generates bytecode
+ which is then interpreted by a C program. This compiler runs quickly,
+ generates compact code with moderate memory requirements, and is
+ portable to essentially any 32 or 64 bit Unix platform. Performance of
+ generated programs is quite good for a bytecoded implementation:
+ almost twice as fast as Caml Light 0.7. This compiler can be used
+ either as a standalone, batch-oriented compiler that produces
+ standalone programs, or as an interactive, toplevel-based system.
+ .
+ The other compiler generates high-performance native code for a number
+ of processors. Compilation takes longer and generates bigger code, but
+ the generated programs deliver excellent performance, while retaining
+ the moderate memory requirements of the bytecode compiler. It is not
+ available on all arches though.
+ .
+ This package contains everything needed to develop OCaml applications,
+ including the graphics libraries.
+
+Package: ocaml-source
+Architecture: all
+Depends: ${misc:Depends}
+Provides: ocaml-source-${F:OCamlABI}
+Description: Sources for Objective Caml
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains the sources needed to build some packages which build
+ depend on the OCaml source. Notice that if you want to rebuild OCaml, these
+ will not work, consider using the source package instead.
+
+Package: ocaml-interp
+Architecture: any
+Depends:
+ ocaml-compiler-libs (= ${binary:Version}),
+ ${ocaml:Depends},
+ ${misc:Depends}
+Provides:
+ ocaml-interp-${F:OCamlABI}
+Recommends: ledit | readline-editor
+Description: OCaml interactive interpreter and standard libraries
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains the files required to run an OCaml shell from the
+ command line.
+
+Package: ocaml-compiler-libs
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ocaml-nox-${F:OCamlABI}
+Provides:
+ ocaml-compiler-libs-${F:OCamlABI}
+Replaces: ocaml-base-nox (<< 4)
+Breaks: ocaml-base-nox (<< 4)
+Description: OCaml interpreter and standard libraries
+ Objective (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains several modules used internally by the OCaml
+ compilers.  They are not needed for normal OCaml development, but may
+ be helpful in the development of certain applications.
+
+Package: ocaml-mode
+Architecture: all
+Depends:
+ emacs | emacsen, emacsen-common (>= 2.0.8),
+ ${misc:Depends}
+Suggests: ocaml
+Description: major mode for editing Objective Caml in Emacs
+ Objective (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package provides support for editing both Objective Caml and
+ Caml Light programs with Emacs and XEmacs.
+ .
+ Caml-mode supports:
+  - indentation
+  - compilation and error retrieving
+  - interaction with the toplevel
+  - font-lock
+  - imenu
diff --git a/control.in b/control.in
new file mode 100644 (file)
index 0000000..fc3c50b
--- /dev/null
@@ -0,0 +1,215 @@
+Source: ocaml
+Section: ocaml
+Priority: optional
+Maintainer: Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
+Uploaders:
+ Samuel Mimram <smimram@debian.org>,
+ Ralf Treinen <treinen@debian.org>,
+ Stéphane Glondu <glondu@debian.org>,
+ Mehdi Dogguy <mehdi@debian.org>,
+ Ximin Luo <infinity0@debian.org>
+Build-Depends:
+ debhelper (>= 9),
+ pkg-config,
+ quilt,
+ autotools-dev,
+ binutils-dev,
+ libiberty-dev,
+ libncurses5-dev,
+ libx11-dev,
+ zlib1g-dev,
+ dh-ocaml (>= 1.0.0~)
+Standards-Version: 3.9.8
+Vcs-Git: https://anonscm.debian.org/git/pkg-ocaml-maint/packages/ocaml.git/
+Vcs-Browser: https://anonscm.debian.org/git/pkg-ocaml-maint/packages/ocaml.git/
+Homepage: http://caml.inria.fr/
+
+Package: ocaml-nox
+Architecture: any
+Depends:
+ ocaml-base-nox,
+ ${shlibs:Depends},
+ ${misc:Depends},
+ ${ocaml:Depends},
+ libncurses5-dev,
+ ocaml-interp (= ${binary:Version}),
+ gcc,
+ binutils
+Provides:
+ ${ocaml:Provides},
+ ocaml-best-compilers (= ${binary:Version}),
+ ${F:NativeProvides},
+ libnums-ocaml-dev
+Suggests:
+ ocaml-doc,
+ tuareg-mode | ocaml-mode
+Recommends:
+ camlp4,
+ file
+Replaces: ocaml-interp (<< 3.11.1-3), ocaml-native-compilers (<< 4.04.0-1)
+Breaks:
+ dh-ocaml (<< 1.0.0),
+ ocaml-interp (<< 3.11.1-3),
+ camlp4 (<< 3.10.0),
+ camlidl (<< 1.04)
+Description: ML implementation with a class-based object system (no X)
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ OCaml comprises two compilers. One generates bytecode
+ which is then interpreted by a C program. This compiler runs quickly,
+ generates compact code with moderate memory requirements, and is
+ portable to essentially any 32 or 64 bit Unix platform. Performance of
+ generated programs is quite good for a bytecoded implementation:
+ almost twice as fast as Caml Light 0.7. This compiler can be used
+ either as a standalone, batch-oriented compiler that produces
+ standalone programs, or as an interactive, toplevel-based system.
+ .
+ The other compiler generates high-performance native code for a number
+ of processors. Compilation takes longer and generates bigger code, but
+ the generated programs deliver excellent performance, while retaining
+ the moderate memory requirements of the bytecode compiler. It is not
+ available on all arches though.
+ .
+ This package contains everything needed to develop OCaml applications
+ that do not require the graphics library.
+
+Package: ocaml
+Architecture: any
+Depends:
+ ocaml-base-nox,
+ ${misc:Depends},
+ ${ocaml:Depends},
+ libx11-dev
+Provides:
+ ${ocaml:Provides}
+Replaces: ocaml-nox (<< 3.11.0-2)
+Description: ML language implementation with a class-based object system
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ OCaml comprises two compilers. One generates bytecode
+ which is then interpreted by a C program. This compiler runs quickly,
+ generates compact code with moderate memory requirements, and is
+ portable to essentially any 32 or 64 bit Unix platform. Performance of
+ generated programs is quite good for a bytecoded implementation:
+ almost twice as fast as Caml Light 0.7. This compiler can be used
+ either as a standalone, batch-oriented compiler that produces
+ standalone programs, or as an interactive, toplevel-based system.
+ .
+ The other compiler generates high-performance native code for a number
+ of processors. Compilation takes longer and generates bigger code, but
+ the generated programs deliver excellent performance, while retaining
+ the moderate memory requirements of the bytecode compiler. It is not
+ available on all arches though.
+ .
+ This package contains everything needed to develop OCaml applications,
+ including the graphics libraries.
+
+Package: ocaml-base-nox
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Provides:
+ ${ocaml:Provides}
+Replaces: ocaml-interp (<< 3.11.1-3)
+Breaks: ocaml-interp (<< 3.11.1-3)
+Description: Runtime system for OCaml bytecode executables (no X)
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains only the runtime system needed to run bytecode
+ executables that do not use the graphics library. The 'ocaml' package
+ contains the full development suite of Objective Caml.
+
+Package: ocaml-base
+Architecture: any
+Depends:
+ ocaml-base-nox,
+ ${shlibs:Depends},
+ ${misc:Depends},
+ ${ocaml:Depends}
+Provides:
+ ${ocaml:Provides}
+Description: Runtime system for OCaml bytecode executables
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains only the runtime system needed to run bytecode
+ executables. The 'ocaml' package contains the full development suite of
+ Objective Caml.  You may wish to install the 'ocaml-base-nox' package if
+ you do not require any graphical capabilities for your runtime.
+
+Package: ocaml-source
+Architecture: all
+Depends: ${misc:Depends}
+Provides: ocaml-source-${F:OCamlABI}
+Description: Sources for Objective Caml
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains the sources needed to build some packages which build
+ depend on the OCaml source. Notice that if you want to rebuild OCaml, these
+ will not work, consider using the source package instead.
+
+Package: ocaml-interp
+Architecture: any
+Depends:
+ ocaml-compiler-libs (= ${binary:Version}),
+ ${ocaml:Depends},
+ ${misc:Depends}
+Provides:
+ ocaml-interp-${F:OCamlABI}
+Recommends: ledit | readline-editor
+Description: OCaml interactive interpreter and standard libraries
+ Objective Caml (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains the files required to run an OCaml shell from the
+ command line.
+
+Package: ocaml-compiler-libs
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ocaml-nox-${F:OCamlABI}
+Provides:
+ ocaml-compiler-libs-${F:OCamlABI}
+Replaces: ocaml-base-nox (<< 4)
+Breaks: ocaml-base-nox (<< 4)
+Description: OCaml interpreter and standard libraries
+ Objective (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package contains several modules used internally by the OCaml
+ compilers.  They are not needed for normal OCaml development, but may
+ be helpful in the development of certain applications.
+
+Package: ocaml-mode
+Architecture: all
+Depends:
+ emacs | emacsen, emacsen-common (>= 2.0.8),
+ ${misc:Depends}
+Suggests: ocaml
+Description: major mode for editing Objective Caml in Emacs
+ Objective (OCaml) is an implementation of the ML language, based on
+ the Caml Light dialect extended with a complete class-based object system
+ and a powerful module system in the style of Standard ML.
+ .
+ This package provides support for editing both Objective Caml and
+ Caml Light programs with Emacs and XEmacs.
+ .
+ Caml-mode supports:
+  - indentation
+  - compilation and error retrieving
+  - interaction with the toplevel
+  - font-lock
+  - imenu
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..aa47911
--- /dev/null
+++ b/copyright
@@ -0,0 +1,182 @@
+Packaged-By: Sven Luther <luther@debian.org>
+Packaged-Date: Fri, 14 Dec 2001 12:44:03 +0100
+Upstream-Author:
+  Xavier Leroy,
+  Damien Doligez,
+  Jacques Garrigue,
+  Nicolas Pouillard,
+  Pierre Weis,
+  Jérôme Vouillon,
+  Maxence Guesdon,
+  Alain Frisch
+Original-Source-Location: http://caml.inria.fr/
+
+Files: *
+Copyright: © 1996-2008 Institut National de Recherche en Informatique et
+                       en Automatique
+License: QPL-1 | LGPL-2 | other
+
+Files: emacs/*
+Copyright: © 1988-1991 Free Software Foundation
+           © 1996-1998 Institut National de Recherche en Informatique et
+                       en Automatique
+           © 1996 Ian T Zimmerman <itz@rahul.net>
+License: GPL-2
+
+Files: debian/*
+Copyright: © 2001-2009 Debian OCaml Maintainers
+License: LGPL-2
+
+----------------------------------------------------------------------
+In the following, "the Library" refers to all files marked "Copyright
+INRIA" in the following directories and their sub-directories:
+
+  asmrun, byterun, config, otherlibs, stdlib, win32caml
+
+and "the Compiler" refers to all files marked "Copyright INRIA" in the
+following directories and their sub-directories:
+
+  asmcomp, boot, bytecomp, debugger, driver, lex, ocamldoc, parsing,
+  tools, toplevel, typing, utils, yacc
+
+and the "emacs bindings" refer to all files marked "Copyright INRIA" in
+the following directory:
+
+  emacs
+
+The Compiler is distributed under the terms of the Q Public License
+version 1.0 with a change to choice of law (included below).
+
+The Library is distributed under the terms of the GNU Library General
+Public License version 2 (found in /usr/share/common-licenses/LGPL-2
+on debian systems).
+
+The emacs bindings are distributed under the terms of the GNU General
+Public License version 2 (found in /usr/share/common-licenses/GPL-2
+on debian systems).
+
+As a special exception to the Q Public Licence, you may develop
+application programs, reusable components and other software items
+that link with the original or modified versions of the Compiler
+and are not made available to the general public, without any of the
+additional requirements listed in clause 6c of the Q Public licence.
+
+As a special exception to the GNU Library General Public License, you
+may link, statically or dynamically, a "work that uses the Library"
+with a publicly distributed version of the Library to produce an
+executable file containing portions of the Library, and distribute
+that executable file under terms of your choice, without any of the
+additional requirements listed in clause 6 of the GNU Library General
+Public License.  By "a publicly distributed version of the Library",
+we mean either the unmodified Library as distributed by INRIA, or a
+modified version of the Library that is distributed under the
+conditions defined in clause 3 of the GNU Library General Public
+License.  This exception does not however invalidate any other reasons
+why the executable file might be covered by the GNU Library General
+Public License.
+
+----------------------------------------------------------------------
+
+                   THE Q PUBLIC LICENSE version 1.0
+
+              Copyright (C) 1999 Troll Tech AS, Norway.
+                  Everyone is permitted to copy and
+                  distribute this license document.
+
+The intent of this license is to establish freedom to share and change
+the software regulated by this license under the open source model.
+
+This license applies to any software containing a notice placed by the
+copyright holder saying that it may be distributed under the terms of
+the Q Public License version 1.0. Such software is herein referred to
+as the Software. This license covers modification and distribution of
+the Software, use of third-party application programs based on the
+Software, and development of free software which uses the Software.
+
+                            Granted Rights
+
+1. You are granted the non-exclusive rights set forth in this license
+provided you agree to and comply with any and all conditions in this
+license. Whole or partial distribution of the Software, or software
+items that link with the Software, in any form signifies acceptance of
+this license.
+
+2. You may copy and distribute the Software in unmodified form
+provided that the entire package, including - but not restricted to -
+copyright, trademark notices and disclaimers, as released by the
+initial developer of the Software, is distributed.
+
+3. You may make modifications to the Software and distribute your
+modifications, in a form that is separate from the Software, such as
+patches. The following restrictions apply to modifications:
+
+      a. Modifications must not alter or remove any copyright notices
+      in the Software.
+
+      b. When modifications to the Software are released under this
+      license, a non-exclusive royalty-free right is granted to the
+      initial developer of the Software to distribute your
+      modification in future versions of the Software provided such
+      versions remain available under these terms in addition to any
+      other license(s) of the initial developer.
+
+4. You may distribute machine-executable forms of the Software or
+machine-executable forms of modified versions of the Software,
+provided that you meet these restrictions:
+
+      a. You must include this license document in the distribution.
+
+      b. You must ensure that all recipients of the machine-executable
+      forms are also able to receive the complete machine-readable
+      source code to the distributed Software, including all
+      modifications, without any charge beyond the costs of data
+      transfer, and place prominent notices in the distribution
+      explaining this.
+
+      c. You must ensure that all modifications included in the
+      machine-executable forms are available under the terms of this
+      license.
+
+5. You may use the original or modified versions of the Software to
+compile, link and run application programs legally developed by you or
+by others.
+
+6. You may develop application programs, reusable components and other
+software items that link with the original or modified versions of the
+Software. These items, when distributed, are subject to the following
+requirements:
+
+      a. You must ensure that all recipients of machine-executable
+      forms of these items are also able to receive and use the
+      complete machine-readable source code to the items without any
+      charge beyond the costs of data transfer.
+
+      b. You must explicitly license all recipients of your items to
+      use and re-distribute original and modified versions of the
+      items in both machine-executable and source code forms. The
+      recipients must be able to do so without any charges whatsoever,
+      and they must be able to re-distribute to anyone they choose.
+
+      c. If the items are not available to the general public, and the
+      initial developer of the Software requests a copy of the items,
+      then you must supply one.
+
+                       Limitations of Liability
+
+In no event shall the initial developers or copyright holders be
+liable for any damages whatsoever, including - but not restricted to -
+lost revenue or profits or other direct, indirect, special, incidental
+or consequential damages, even if they have been advised of the
+possibility of such damages, except to the extent invariable law, if
+any, provides otherwise.
+
+                             No Warranty
+
+The Software and this license document are provided AS IS with NO
+WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN,
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+                            Choice of Law
+
+This license is governed by the Laws of France.
+----------------------------------------------------------------------
diff --git a/gbp.conf b/gbp.conf
new file mode 100644 (file)
index 0000000..0626b57
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+debian-branch = debian/sid
+upstream-branch = upstream/sid
+pristine-tar = True
diff --git a/gen_modules.pl b/gen_modules.pl
new file mode 100755 (executable)
index 0000000..9706ae3
--- /dev/null
@@ -0,0 +1,77 @@
+#!/usr/bin/perl -w
+#
+# Description: generating .install files for ocaml binary packages
+#
+# Copyright © 2009 Stéphane Glondu <steph@glondu.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA.
+#
+
+#
+# This script takes on its standard input a .install file with
+# additional lines starting with "STD: ", which denote files that are
+# installed in OCaml library directory, and outputs the same file with
+# the special lines replaced. Special care is taken with native files:
+#
+#  - they are not in the output on bytecode-only architectures
+#  - for each .cmx, .{o,p.cmx,p.o} is added if it exists
+#  - for each .cmxa, .{a,p.cmxa,p.a} is added if it exists
+#
+
+my $opt_arch = $ENV{OCAML_OPT_ARCH};
+my $ocaml_stdlib_dir = $ENV{OCAML_STDLIB_DIR};
+my $destdir = $ENV{DESTDIR};
+
+sub print_if_existing {
+    my $name = shift;
+    if (-f "${destdir}/${name}") {
+        print "${name}\n";
+    }
+}
+
+while (<>) {
+    if (s/^STD: //) {
+        my $base;
+        my $ext;
+        s/\n$//;
+        ($base, $ext) = /^(.*)\.([^.]+)$/;
+        $prefix = "${ocaml_stdlib_dir}/${base}";
+        if ($ext eq "cmx") {
+            if ($opt_arch) {
+                print "${prefix}.cmx\n";
+                print_if_existing("${prefix}.o");
+                print_if_existing("${prefix}.p.cmx");
+                print_if_existing("${prefix}.p.o");
+                print_if_existing("${prefix}.p.cmt");
+            }
+        } elsif ($ext eq "cmxa") {
+            if ($opt_arch) {
+                print "${prefix}.cmxa\n";
+                print_if_existing("${prefix}.a");
+                print_if_existing("${prefix}.p.cmxa");
+                print_if_existing("${prefix}.p.a");
+            }
+        } elsif ($ext eq "ml") {
+          print "${prefix}.ml\n";
+          print_if_existing("${prefix}.cmt");
+          print_if_existing("${prefix}.cmti");
+        } else {
+            print "${prefix}.${ext}\n";
+        }
+    } else {
+        print;
+    }
+}
diff --git a/ld.conf.in b/ld.conf.in
new file mode 100644 (file)
index 0000000..69e2c3e
--- /dev/null
@@ -0,0 +1,2 @@
+/usr/local/lib/ocaml/@OCamlABI@/stublibs
+@OCamlDllDir@
diff --git a/man/ocamldumpobj.1 b/man/ocamldumpobj.1
new file mode 100644 (file)
index 0000000..0670947
--- /dev/null
@@ -0,0 +1,20 @@
+.TH OCAMLDUMPOBJ 1 "January 4, 2006"
+.SH NAME
+ocamldumpobj \- disassembler for OCaml executable and .cmo object files
+.
+.SH SYNOPSIS
+.B ocamldumpobj
+.RI file\ ...
+.
+.SH DESCRIPTION
+Disassembler for executable and .cmo object files compiled by OCaml.
+.
+.SH SEE ALSO
+.BR ocamlc (1),
+.BR ocamlopt (1),
+.BR ocamlobjinfo (1).
+.br
+.
+.SH AUTHOR
+This manual page was written by Samuel Mimram <smimram@debian.org>,
+for the Debian GNU/Linux system (but may be used by others).
diff --git a/man/ocamlmklib.1 b/man/ocamlmklib.1
new file mode 100644 (file)
index 0000000..c57bf5e
--- /dev/null
@@ -0,0 +1,127 @@
+.\"                                      Hey, EMACS: -*- nroff -*-
+.TH OCAMLMKLIB 1 "August 19, 2004"
+.SH NAME
+ocamlmklib \- generate libraries with mixed C / Caml code.
+.SH SYNOPSIS
+.B ocalmklib
+.RI [ options ] " files"
+.SH DESCRIPTION
+The
+.B ocamlmklib
+command facilitates the construction of libraries containing both Caml code and C code, and usable both in static linking and dynamic linking modes.
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.BI \-cclib\  lib
+C library passed to ocamlc
+.B \-a
+or
+.BR ocamlopt (1)
+.B \-a
+only.
+.TP
+.BI \-ccopt\  opt
+C option passed to
+.BR ocamlc (1)
+.B \-a
+or
+.BR ocamlopt (1)
+.B \-a
+only.
+.TP
+.B \-custom
+Disable dynamic loading.
+.TP
+.BI \-dllpath\  dir
+Add
+.I dir
+to the run-time search path for DLLs.
+.TP
+.BI \-I\  dir
+Add
+.I dir
+to the path searched for Caml object files.
+.TP
+.B \-failsafe
+Fall back to static linking if DLL construction failed.
+.TP
+.BI \-ldopt\ opt
+C option passed to the shared linker only.
+.TP
+.B \-linkall
+Build Caml archive with link-all behavior.
+.TP
+.BI \-l lib
+Specify a dependent C library.
+.TP
+.BI \-L dir
+Add
+.I dir
+to the path searched for C libraries.
+.TP
+.BI \-ocamlc\  cmd
+Use
+.I cmd
+in place of
+.BR ocamlc (1).
+.TP
+.BI \-ocamlopt\  cmd
+Use
+.I cmd
+in place of
+.BR ocamlopt (1).
+.TP
+.BI \-o\  name
+Generated Caml library is named
+.IR name .cma
+or
+.IR name .cmxa.
+.TP
+.BI \-oc\  name
+Generated C library is named
+.RI dll name .so
+or
+.RI lib name .a.
+.TP
+.BI \-rpath\  dir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+.BI \-R dir
+Same as
+.BR \-rpath .
+.TP
+.B \-verbose
+Print commands before executing them.
+.TP
+\fB\-Wl\fR, \fB\-rpath \fIdir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+\fB\-Wl\fR, \fB\-rpath\ \-Wl \fIdir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+\fB\-Wl\fR, \fB\-R\fIdir
+Same as
+.B \-dllpath
+.IR dir .
+.TP
+.BI \-F dir
+Specify a framework directory (MacOSX).
+.TP
+.BI \-framework\  name
+Use framework
+.I name
+(MacOSX).
+.SH SEE ALSO
+.BR ocamlc (1),
+.BR ocamlopt (1).
+.SH AUTHOR
+This manual page was written by Samuel Mimram <samuel.mimram@ens-lyon.org>,
+for the Debian project (but may be used by others).
diff --git a/man/ocamlobjinfo.1 b/man/ocamlobjinfo.1
new file mode 100644 (file)
index 0000000..b728e80
--- /dev/null
@@ -0,0 +1,42 @@
+.TH OCAMLOBJINFO 1 "June 9, 2010"
+.SH NAME
+ocamlobjinfo \- dump information about OCaml compiled objects
+.SH SYNOPSIS
+.B ocamlobjinfo
+.RI file\ ...
+.SH DESCRIPTION
+Dump information contained in OCaml compiled objects. It works
+on .cmi, .cmo, .cma, .cmx, .cmxa, .cmxs files and pure bytecode
+executables.
+.sp 2
+.B ocamlobjinfo
+is able to show information regarding:
+.br
+.IP
+module names
+.sp 2
+unit names
+.sp 2
+declared primitives
+.sp 2
+imported interfaces
+.sp 2
+md5sums of imported interfaces
+.sp 2
+forced custom mode
+.sp 2
+extra C libraries needed
+.sp 2
+extra C flags needed
+.sp 2
+use of unsafe features
+.PP
+depending on its arguments.
+.SH SEE ALSO
+.BR ocamlc (1),
+.BR ocamlopt (1)
+.br
+.SH AUTHOR
+This manual page was written by Stefano Zacchiroli <zack@debian.org>
+and Stéphane Glondu <glondu@debian.org>, for the Debian GNU/Linux
+system (but may be used by others).
diff --git a/native-archs b/native-archs
new file mode 100644 (file)
index 0000000..6b492b0
--- /dev/null
@@ -0,0 +1 @@
+amd64 arm64 armhf hurd-i386 i386 kfreebsd-i386 kfreebsd-amd64 lpia powerpc ppc64 ppc64el sparc s390x
diff --git a/ocaml-base-nox.README.Debian b/ocaml-base-nox.README.Debian
new file mode 100644 (file)
index 0000000..cda8aaf
--- /dev/null
@@ -0,0 +1,54 @@
+OCaml for Debian
+----------------
+
+  1) The OCaml package has been split into different binary packages:
+
+  o ocaml: contains the full OCaml suite
+  o ocaml-nox: the full suite except for the Graphics and Tk modules
+  o ocaml-base: contains the runtime stuff (ocamlrun + dlls + Tk)
+  o ocaml-base-nox: contains the runtime stuff (ocamlrun + dlls - Tk)
+
+  o ocaml-compiler-libs: contains several modules used internally by
+    the OCaml compilers.  They are not needed for normal OCaml
+    development, but may be helpful in the development of certain
+    applications.
+  o ocaml-source: contains the full OCaml source for the (few) packages which
+    need them at build time or for personal use (it should _not_ be used to
+    build OCaml itself).
+
+  o ocaml-mode: contains a major mode for editing OCaml files in Emacs.
+
+  2) The caml include files are found under /usr/lib/ocaml/<ocaml_version>/caml.
+  A symlink is provided from /usr/include/caml for convenience. If
+  /usr/include/caml was previously a directory, for whatever reason, a warning
+  will be issued and the file moved to /usr/include/caml.bad. This can be
+  safely erased later on.
+
+  3) User-installed stuff should not go under /usr/lib/ocaml/<ocaml_version>,
+  but rather under /usr/local/lib/ocaml/<ocaml_version>.
+  We will take no responsibility for people who break this rule and mess things
+  up.
+
+  4) Starting from OCaml 3.05, all dll.so files are now put into a common
+  stublibs directory, so the ocaml-ldconf tool for handling the ld.conf
+  file is not needed anymore, but we will still keep it around until all
+  libraries are ported. As of OCaml 3.08, ocaml-ldconf is now deprecated
+  and not available anymore.
+  Notice that user-installed dll.so files should go into
+  /usr/local/lib/ocaml/<ocaml_version>/stublibs which is searched before
+  /usr/lib/ocaml/<ocaml_version>/stublibs.
+
+ -- Ralf Treinen <treinen@debian.org>, Fri, 15 Jul 2016 22:08:59 +0200
+
+ocamldoc's LaTeX output
+-----------------------
+
+ocamldoc can generated documentation in LaTeX format which can be later on
+compiled using a LaTeX environment. The LaTeX sources generated by ocamldoc
+exploits the fullpage.sty style, which is not included in a default texlive
+installation (the Debian LaTeX environment of choice).
+
+In order to be able to compile ocamldoc generated LaTeX sources you will need
+to install the "texlive-latex-extra" package.
+
+ -- Stefano Zacchiroli <zack@debian.org>  Sun, 02 Sep 2007 18:22:14 +0200
diff --git a/ocaml-base-nox.dirs.in b/ocaml-base-nox.dirs.in
new file mode 100644 (file)
index 0000000..5493f54
--- /dev/null
@@ -0,0 +1,4 @@
+usr/bin
+usr/share/man/man1
+@OCamlStdlibDir@
+@OCamlDllDir@
diff --git a/ocaml-base-nox.docs b/ocaml-base-nox.docs
new file mode 100644 (file)
index 0000000..52e2242
--- /dev/null
@@ -0,0 +1 @@
+README.adoc
diff --git a/ocaml-base-nox.install.in b/ocaml-base-nox.install.in
new file mode 100644 (file)
index 0000000..08c886b
--- /dev/null
@@ -0,0 +1,77 @@
+     usr/bin/ocamlrun
+     usr/share/man/man1/ocamlrun.1
+     toplevel/*.mli @OCamlStdlibDir@
+     @OCamlStdlibDir@/topdirs.mli
+     @OCamlStdlibDir@/VERSION
+     @OCamlDllDir@/dllunix.so
+     @OCamlDllDir@/dllcamlstr.so
+     @OCamlDllDir@/dllbigarray.so
+     @OCamlDllDir@/dllthreads.so
+     @OCamlDllDir@/dllvmthreads.so
+     @OCamlDllDir@/dllnums.so
+     @OCamlStdlibDir@/ld.conf
+     debian/ld.conf @OCamlStdlibDir@
+     @OCamlStdlibDir@/unix.cma
+     @OCamlStdlibDir@/unix.cmxs
+     @OCamlStdlibDir@/str.cma
+     @OCamlStdlibDir@/str.cmxs
+     @OCamlStdlibDir@/bigarray.cma
+     @OCamlStdlibDir@/bigarray.cmxs
+     @OCamlStdlibDir@/nums.cma
+     @OCamlStdlibDir@/nums.cmxs
+     @OCamlStdlibDir@/arg.cmi
+     @OCamlStdlibDir@/array.cmi
+     @OCamlStdlibDir@/arrayLabels.cmi
+     @OCamlStdlibDir@/buffer.cmi
+     @OCamlStdlibDir@/callback.cmi
+     @OCamlStdlibDir@/camlinternalOO.cmi
+     @OCamlStdlibDir@/char.cmi
+     @OCamlStdlibDir@/complex.cmi
+     @OCamlStdlibDir@/digest.cmi
+     @OCamlStdlibDir@/filename.cmi
+     @OCamlStdlibDir@/format.cmi
+     @OCamlStdlibDir@/gc.cmi
+     @OCamlStdlibDir@/genlex.cmi
+     @OCamlStdlibDir@/hashtbl.cmi
+     @OCamlStdlibDir@/int32.cmi
+     @OCamlStdlibDir@/int64.cmi
+     @OCamlStdlibDir@/lazy.cmi
+     @OCamlStdlibDir@/lexing.cmi
+     @OCamlStdlibDir@/list.cmi
+     @OCamlStdlibDir@/listLabels.cmi
+     @OCamlStdlibDir@/map.cmi
+     @OCamlStdlibDir@/marshal.cmi
+     @OCamlStdlibDir@/moreLabels.cmi
+     @OCamlStdlibDir@/nativeint.cmi
+     @OCamlStdlibDir@/obj.cmi
+     @OCamlStdlibDir@/oo.cmi
+     @OCamlStdlibDir@/parsing.cmi
+     @OCamlStdlibDir@/pervasives.cmi
+     @OCamlStdlibDir@/printexc.cmi
+     @OCamlStdlibDir@/printf.cmi
+     @OCamlStdlibDir@/queue.cmi
+     @OCamlStdlibDir@/random.cmi
+OTH: @OCamlStdlibDir@/raw_spacetime_lib.cmi
+OTH: @OCamlStdlibDir@/raw_spacetime_lib.cma
+OTH: @OCamlStdlibDir@/raw_spacetime_lib.cmxs
+     @OCamlStdlibDir@/scanf.cmi
+     @OCamlStdlibDir@/set.cmi
+     @OCamlStdlibDir@/sort.cmi
+     @OCamlStdlibDir@/stack.cmi
+     @OCamlStdlibDir@/stdLabels.cmi
+     @OCamlStdlibDir@/std_exit.cmi
+     @OCamlStdlibDir@/stream.cmi
+     @OCamlStdlibDir@/string.cmi
+     @OCamlStdlibDir@/stringLabels.cmi
+     @OCamlStdlibDir@/sys.cmi
+     @OCamlStdlibDir@/weak.cmi
+     @OCamlStdlibDir@/unix.cmi
+     @OCamlStdlibDir@/unixLabels.cmi
+     @OCamlStdlibDir@/str.cmi
+     @OCamlStdlibDir@/dynlink.cmi
+     @OCamlStdlibDir@/bigarray.cmi
+     @OCamlStdlibDir@/big_int.cmi
+     @OCamlStdlibDir@/nat.cmi
+     @OCamlStdlibDir@/num.cmi
+     @OCamlStdlibDir@/ratio.cmi
+     @OCamlStdlibDir@/arith_status.cmi
diff --git a/ocaml-base-nox.postinst.in b/ocaml-base-nox.postinst.in
new file mode 100644 (file)
index 0000000..8cab429
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+set -e
+
+if [ ! -e /usr/local/lib/ocaml ]; then
+    if mkdir /usr/local/lib/ocaml 2>/dev/null; then
+       chown root:staff /usr/local/lib/ocaml
+       chmod 2775 /usr/local/lib/ocaml
+    fi
+fi
+if [ ! -e /usr/local/lib/ocaml/@OCamlABI@ ]; then
+    if mkdir /usr/local/lib/ocaml/@OCamlABI@ 2>/dev/null; then
+       chown root:staff /usr/local/lib/ocaml/@OCamlABI@
+       chmod 2775 /usr/local/lib/ocaml/@OCamlABI@
+    fi
+fi
+if [ ! -e /usr/local/lib/ocaml/@OCamlABI@/stublibs ]; then
+    if mkdir /usr/local/lib/ocaml/@OCamlABI@/stublibs 2>/dev/null; then
+       chown root:staff /usr/local/lib/ocaml/@OCamlABI@/stublibs
+       chmod 2775 /usr/local/lib/ocaml/@OCamlABI@/stublibs
+    fi
+fi
+
+for i in /usr/lib/ocaml/3.06 /etc/ocaml /var/lib/ocaml;                \
+do                                                                     \
+       if [ -e $i/ld.conf ]; then                                      \
+               echo "Removing leftover $i/ld.conf";                    \
+               rm -f $i/ld.conf;                                       \
+               rmdir --ignore-fail-on-non-empty $i;                    \
+       fi;                                                             \
+done
+
+#DEBHELPER#
diff --git a/ocaml-base-nox.prerm.in b/ocaml-base-nox.prerm.in
new file mode 100644 (file)
index 0000000..15a3aa7
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+rmdir /usr/local/lib/ocaml/@OCamlABI@/stublibs 2>/dev/null || true
+rmdir /usr/local/lib/ocaml/@OCamlABI@ 2>/dev/null || true
+rmdir /usr/local/lib/ocaml 2>/dev/null || true
+
+#DEBHELPER#
diff --git a/ocaml-base.dirs.in b/ocaml-base.dirs.in
new file mode 100644 (file)
index 0000000..042cb5d
--- /dev/null
@@ -0,0 +1,3 @@
+usr/share/doc/ocaml-base
+@OCamlDllDir@
+@OCamlStdlibDir@
diff --git a/ocaml-base.install.in b/ocaml-base.install.in
new file mode 100644 (file)
index 0000000..6f5077b
--- /dev/null
@@ -0,0 +1,3 @@
+     @OCamlDllDir@/dllgraphics.so
+     @OCamlStdlibDir@/graphics.cma
+     @OCamlStdlibDir@/graphics.cmxs
diff --git a/ocaml-compiler-libs.install.in b/ocaml-compiler-libs.install.in
new file mode 100644 (file)
index 0000000..1f94da1
--- /dev/null
@@ -0,0 +1,47 @@
+@OCamlStdlibDir@/compiler-libs
+@OCamlStdlibDir@/topdirs.cmi
+@OCamlStdlibDir@/topdirs.cmt
+@OCamlStdlibDir@/topdirs.cmti
+usr/share/man/man3/Ast_helper.3o
+usr/share/man/man3/Ast_helper.Cf.3o
+usr/share/man/man3/Ast_helper.Ci.3o
+usr/share/man/man3/Ast_helper.Cl.3o
+usr/share/man/man3/Ast_helper.Const.3o
+usr/share/man/man3/Ast_helper.Csig.3o
+usr/share/man/man3/Ast_helper.Cstr.3o
+usr/share/man/man3/Ast_helper.Ctf.3o
+usr/share/man/man3/Ast_helper.Cty.3o
+usr/share/man/man3/Ast_helper.Exp.3o
+usr/share/man/man3/Ast_helper.Incl.3o
+usr/share/man/man3/Ast_helper.Mb.3o
+usr/share/man/man3/Ast_helper.Md.3o
+usr/share/man/man3/Ast_helper.Mod.3o
+usr/share/man/man3/Ast_helper.Mtd.3o
+usr/share/man/man3/Ast_helper.Mty.3o
+usr/share/man/man3/Ast_helper.Opn.3o
+usr/share/man/man3/Ast_helper.Pat.3o
+usr/share/man/man3/Ast_helper.Sig.3o
+usr/share/man/man3/Ast_helper.Str.3o
+usr/share/man/man3/Ast_helper.Te.3o
+usr/share/man/man3/Ast_helper.Typ.3o
+usr/share/man/man3/Ast_helper.Type.3o
+usr/share/man/man3/Ast_helper.Val.3o
+usr/share/man/man3/Ast_helper.Vb.3o
+usr/share/man/man3/Ast_invariants.3o
+usr/share/man/man3/Ast_iterator.3o
+usr/share/man/man3/Ast_mapper.3o
+usr/share/man/man3/Asttypes.3o
+usr/share/man/man3/Attr_helper.3o
+usr/share/man/man3/Builtin_attributes.3o
+usr/share/man/man3/Depend.3o
+usr/share/man/man3/Depend.StringMap.3o
+usr/share/man/man3/Depend.StringSet.3o
+usr/share/man/man3/Lexer.3o
+usr/share/man/man3/Location.3o
+usr/share/man/man3/Longident.3o
+usr/share/man/man3/Parse.3o
+usr/share/man/man3/Parser.3o
+usr/share/man/man3/Parsetree.3o
+usr/share/man/man3/Pprintast.3o
+usr/share/man/man3/Printast.3o
+usr/share/man/man3/Syntaxerr.3o
diff --git a/ocaml-interp.install.in b/ocaml-interp.install.in
new file mode 100644 (file)
index 0000000..4da0808
--- /dev/null
@@ -0,0 +1,4 @@
+usr/bin/ocaml
+usr/share/man/man1/ocaml.1
+debian/ocaml.desktop /usr/share/applications
+debian/ocaml.xpm /usr/share/pixmaps
diff --git a/ocaml-mode.README.Debian b/ocaml-mode.README.Debian
new file mode 100644 (file)
index 0000000..3dd7663
--- /dev/null
@@ -0,0 +1,14 @@
+ocaml-mode for Debian
+---------------------
+
+ WARNING: tuareg-mode may be installed on your system. Since it
+ has a higher priority than ocaml-mode, it will be used for
+ every OCaml file loaded into (X)Emacs.
+ If you absolutely want to override those default settings and
+ use ocaml-mode instead of tuareg-mode, you only need to add the
+ following line to your .emacs:
+
+   (load-file "/etc/emacs/site-start.d/50ocaml-mode.el")
+
+ -- Jerome Marant <jerome@debian.org>, Sat Sep  3 11:41:37 2005
diff --git a/ocaml-mode.dirs b/ocaml-mode.dirs
new file mode 100644 (file)
index 0000000..e12d94c
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/emacs/site-lisp/ocaml-mode
diff --git a/ocaml-mode.emacsen-compat b/ocaml-mode.emacsen-compat
new file mode 100644 (file)
index 0000000..45a4fb7
--- /dev/null
@@ -0,0 +1 @@
+8
diff --git a/ocaml-mode.emacsen-install b/ocaml-mode.emacsen-install
new file mode 100644 (file)
index 0000000..b93a9c7
--- /dev/null
@@ -0,0 +1,62 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/ocaml-mode
+
+# Written by Jim Van Zandt <jrv@vanzandt.mv.com>, borrowing heavily
+# from the install scripts for gettext by Santiago Vila
+# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
+
+FLAVOR=$1
+PACKAGE=ocaml-mode
+
+if [ ${FLAVOR} = emacs ]; then exit 0; fi
+
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+# FLAVORTEST=`echo $FLAVOR | cut -c-6`
+# if [ ${FLAVORTEST} = xemacs ] ; then
+#     SITEFLAG="-no-site-file"
+# else
+#     SITEFLAG="--no-site-file"
+# fi
+FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
+
+ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+RELELDIR=../../../emacs/site-lisp/${PACKAGE}
+
+# Install-info-altdir does not actually exist. 
+# Maybe somebody will write it.
+if test -x /usr/sbin/install-info-altdir; then
+    echo install/${PACKAGE}: install Info links for ${FLAVOR}
+    install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
+fi
+
+install -m 755 -d ${ELCDIR}
+
+cd ${ELDIR}
+case "${FLAVOR}" in
+    xemacs21)
+       FILES=`ls *.el | egrep -v caml-emacs\|camldebug.el\|inf-caml.el`
+       ;;
+
+    *)
+       FILES=`ls *.el | grep -v caml-xemacs`
+       ;;
+
+esac
+
+cd ${ELCDIR}
+for f in ${FILES} ; do
+    ln -sf ${RELELDIR}/$f .
+done
+
+cat << EOF > path.el
+(if (fboundp 'debian-pkg-add-load-path-item)
+    (debian-pkg-add-load-path-item ".")
+  (setq load-path (cons "." load-path)))
+(setq byte-compile-warnings nil)
+EOF
+${FLAVOR} ${FLAGS} ${FILES}
+rm -f path.el
+
+exit 0
diff --git a/ocaml-mode.emacsen-remove b/ocaml-mode.emacsen-remove
new file mode 100644 (file)
index 0000000..abc5bd3
--- /dev/null
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/ocaml-mode
+
+FLAVOR=$1
+PACKAGE=ocaml-mode
+
+if [ ${FLAVOR} != emacs ]; then
+    if test -x /usr/sbin/install-info-altdir; then
+        echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
+        install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/#PACKAGE#.info.gz
+    fi
+
+    echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+    rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
diff --git a/ocaml-mode.emacsen-startup b/ocaml-mode.emacsen-startup
new file mode 100644 (file)
index 0000000..dd22fe6
--- /dev/null
@@ -0,0 +1,26 @@
+;; -*-emacs-lisp-*-
+;;
+;; Emacs startup file for the Debian GNU/Linux ocaml package
+;;
+;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
+;; Modified by Dirk Eddelbuettel <edd@debian.org>
+;; Adapted for dh-make by Jim Van Zandt <jrv@vanzandt.mv.com>
+
+;; The ocaml package follows the Debian/GNU Linux 'emacsen' policy and
+;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
+;; xemacs19, emacs20, xemacs20...).  The compiled code is then
+;; installed in a subdirectory of the respective site-lisp directory.
+;; We have to add this to the load-path:
+(let ((package-dir (concat "/usr/share/"
+                           (symbol-name debian-emacs-flavor)
+                           "/site-lisp/ocaml-mode")))
+;; If package-dir does not exist, the #PACKAGE# package must have
+;; removed but not purged, and we should skip the setup.
+  (when (file-directory-p package-dir)
+    (if (fboundp 'debian-pkg-add-load-path-item)
+       (debian-pkg-add-load-path-item package-dir)
+      (setq load-path (cons package-dir load-path)))
+    (setq auto-mode-alist
+          (cons '("\\.ml[iylp]?\\'" . caml-mode) auto-mode-alist))
+    (autoload 'caml-mode "caml" "Major mode for editing Caml code." t)
+    (autoload 'run-caml "inf-caml" "Run an inferior Caml process." t)))
diff --git a/ocaml-native-compilers.dirs b/ocaml-native-compilers.dirs
new file mode 100644 (file)
index 0000000..145ce2a
--- /dev/null
@@ -0,0 +1,3 @@
+usr/bin
+usr/share/man/man1
+usr/share/ocaml-findlib
diff --git a/ocaml-native-compilers.files b/ocaml-native-compilers.files
new file mode 100644 (file)
index 0000000..d6f9cf2
--- /dev/null
@@ -0,0 +1 @@
+/usr/bin/*.opt
diff --git a/ocaml-nox.dirs.in b/ocaml-nox.dirs.in
new file mode 100644 (file)
index 0000000..d95b06b
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin
+usr/share/doc/ocaml-nox
diff --git a/ocaml-nox.install.in b/ocaml-nox.install.in
new file mode 100644 (file)
index 0000000..0fa994d
--- /dev/null
@@ -0,0 +1,394 @@
+     usr/bin/ocamlc
+     usr/bin/ocamlcp
+     usr/bin/ocamldebug
+     usr/bin/ocamldep
+     usr/bin/ocamldoc
+     usr/bin/ocamllex
+     usr/bin/ocamlmklib
+     usr/bin/ocamlmktop
+     usr/bin/ocamlobjinfo
+     usr/bin/ocamlprof
+     usr/bin/ocamlyacc
+     usr/bin/ocamlc.*
+     usr/bin/ocamlcp.*
+     usr/bin/ocamldep.*
+OPT: usr/bin/ocamldoc.opt
+     usr/bin/ocamllex.*
+     usr/bin/ocamlmklib.*
+     usr/bin/ocamlmktop.*
+     usr/bin/ocamlobjinfo.*
+     usr/bin/ocamlprof.*
+OPT: debian/ocamlfind/ocaml-native-compilers.conf usr/share/ocaml-findlib/
+     @OCamlStdlibDir@/objinfo_helper
+     debian/native-archs @OCamlStdlibDir@
+OPT: usr/bin/ocamlopt
+OPT: usr/bin/ocamloptp
+OPT: usr/bin/ocamlopt.*
+OPT: usr/bin/ocamloptp.*
+     @OCamlStdlibDir@/stdlib.cma
+     @OCamlStdlibDir@/dynlink.cma
+DYN: @OCamlStdlibDir@/dynlink.cmx
+DYN: @OCamlStdlibDir@/dynlink.cmxa
+DYN: @OCamlStdlibDir@/dynlink.a
+     @OCamlStdlibDir@/caml
+     @OCamlStdlibDir@/camlheader
+     @OCamlStdlibDir@/camlheader_ur
+     @OCamlStdlibDir@/Makefile.config
+     @OCamlStdlibDir@/expunge
+     @OCamlStdlibDir@/extract_crc
+     @OCamlStdlibDir@/ocamldoc
+     @OCamlStdlibDir@/threads
+     @OCamlStdlibDir@/vmthreads
+     @OCamlStdlibDir@/libbigarray.a
+OPT: @OCamlStdlibDir@/libasmrun.a
+OPT: @OCamlStdlibDir@/libasmrun_pic.a
+OPT: @OCamlStdlibDir@/libasmrun_shared.so
+OPT: PROFILING: @OCamlStdlibDir@/libasmrunp.a
+     @OCamlStdlibDir@/libcamlrun.a
+     @OCamlStdlibDir@/libcamlrun_pic.a
+     @OCamlStdlibDir@/libcamlrun_shared.so
+     @OCamlStdlibDir@/libnums.a
+     @OCamlStdlibDir@/libcamlstr.a
+     @OCamlStdlibDir@/libthreads.a
+OPT: @OCamlStdlibDir@/libthreadsnat.a
+     @OCamlStdlibDir@/libunix.a
+     usr/share/man/man3/Arg.3o
+     usr/share/man/man3/Array.3o
+     usr/share/man/man3/ArrayLabels.3o
+     usr/share/man/man3/Bigarray.3o
+     usr/share/man/man3/Bigarray.Array0.3o
+     usr/share/man/man3/Bigarray.Array1.3o
+     usr/share/man/man3/Bigarray.Array2.3o
+     usr/share/man/man3/Bigarray.Array3.3o
+     usr/share/man/man3/Bigarray.Genarray.3o
+     usr/share/man/man3/Buffer.3o
+     usr/share/man/man3/Bytes.3o
+     usr/share/man/man3/BytesLabels.3o
+     usr/share/man/man3/Callback.3o
+     usr/share/man/man3/CamlinternalFormat.3o
+     usr/share/man/man3/CamlinternalFormatBasics.3o
+     usr/share/man/man3/CamlinternalLazy.3o
+     usr/share/man/man3/CamlinternalMod.3o
+     usr/share/man/man3/CamlinternalOO.3o
+     usr/share/man/man3/Char.3o
+     usr/share/man/man3/Complex.3o
+     usr/share/man/man3/Digest.3o
+     usr/share/man/man3/Docstrings.3o
+     usr/share/man/man3/Ephemeron.3o
+     usr/share/man/man3/Ephemeron.GenHashTable.3o
+     usr/share/man/man3/Ephemeron.GenHashTable.MakeSeeded.3o
+     usr/share/man/man3/Ephemeron.K1.3o
+     usr/share/man/man3/Ephemeron.K1.Make.3o
+     usr/share/man/man3/Ephemeron.K1.MakeSeeded.3o
+     usr/share/man/man3/Ephemeron.K2.3o
+     usr/share/man/man3/Ephemeron.K2.Make.3o
+     usr/share/man/man3/Ephemeron.K2.MakeSeeded.3o
+     usr/share/man/man3/Ephemeron.Kn.3o
+     usr/share/man/man3/Ephemeron.Kn.Make.3o
+     usr/share/man/man3/Ephemeron.Kn.MakeSeeded.3o
+     usr/share/man/man3/Ephemeron.S.3o
+     usr/share/man/man3/Ephemeron.SeededS.3o
+     usr/share/man/man3/Filename.3o
+     usr/share/man/man3/Format.3o
+     usr/share/man/man3/Gc.3o
+     usr/share/man/man3/Genlex.3o
+     usr/share/man/man3/Hashtbl.3o
+     usr/share/man/man3/Hashtbl.HashedType.3o
+     usr/share/man/man3/Hashtbl.Make.3o
+     usr/share/man/man3/Hashtbl.MakeSeeded.3o
+     usr/share/man/man3/Hashtbl.S.3o
+     usr/share/man/man3/Hashtbl.SeededHashedType.3o
+     usr/share/man/man3/Hashtbl.SeededS.3o
+     usr/share/man/man3/Int32.3o
+     usr/share/man/man3/Int64.3o
+     usr/share/man/man3/Lazy.3o
+     usr/share/man/man3/Lexing.3o
+     usr/share/man/man3/List.3o
+     usr/share/man/man3/ListLabels.3o
+     usr/share/man/man3/Map.3o
+     usr/share/man/man3/Map.Make.3o
+     usr/share/man/man3/Map.OrderedType.3o
+     usr/share/man/man3/Map.S.3o
+     usr/share/man/man3/Marshal.3o
+     usr/share/man/man3/MoreLabels.3o
+     usr/share/man/man3/MoreLabels.Hashtbl.3o
+     usr/share/man/man3/MoreLabels.Hashtbl.HashedType.3o
+     usr/share/man/man3/MoreLabels.Hashtbl.Make.3o
+     usr/share/man/man3/MoreLabels.Hashtbl.MakeSeeded.3o
+     usr/share/man/man3/MoreLabels.Hashtbl.S.3o
+     usr/share/man/man3/MoreLabels.Hashtbl.SeededHashedType.3o
+     usr/share/man/man3/MoreLabels.Hashtbl.SeededS.3o
+     usr/share/man/man3/MoreLabels.Map.3o
+     usr/share/man/man3/MoreLabels.Map.Make.3o
+     usr/share/man/man3/MoreLabels.Map.OrderedType.3o
+     usr/share/man/man3/MoreLabels.Map.S.3o
+     usr/share/man/man3/MoreLabels.Set.3o
+     usr/share/man/man3/MoreLabels.Set.Make.3o
+     usr/share/man/man3/MoreLabels.Set.OrderedType.3o
+     usr/share/man/man3/MoreLabels.Set.S.3o
+     usr/share/man/man3/Nativeint.3o
+     usr/share/man/man3/Num.3o
+     usr/share/man/man3/Obj.3o
+     usr/share/man/man3/Obj.Ephemeron.3o
+     usr/share/man/man3/Oo.3o
+     usr/share/man/man3/Parsing.3o
+     usr/share/man/man3/Pervasives.3o
+     usr/share/man/man3/Pervasives.LargeFile.3o
+     usr/share/man/man3/Printexc.3o
+     usr/share/man/man3/Printexc.Slot.3o
+     usr/share/man/man3/Printf.3o
+     usr/share/man/man3/Queue.3o
+     usr/share/man/man3/Random.3o
+     usr/share/man/man3/Random.State.3o
+     usr/share/man/man3/Scanf.3o
+     usr/share/man/man3/Scanf.Scanning.3o
+     usr/share/man/man3/Set.3o
+     usr/share/man/man3/Set.Make.3o
+     usr/share/man/man3/Set.OrderedType.3o
+     usr/share/man/man3/Set.S.3o
+     usr/share/man/man3/Sort.3o
+     usr/share/man/man3/Spacetime.3o
+     usr/share/man/man3/Spacetime.Series.3o
+     usr/share/man/man3/Spacetime.Snapshot.3o
+     usr/share/man/man3/Stack.3o
+     usr/share/man/man3/StdLabels.3o
+     usr/share/man/man3/StdLabels.Array.3o
+     usr/share/man/man3/StdLabels.Bytes.3o
+     usr/share/man/man3/StdLabels.List.3o
+     usr/share/man/man3/StdLabels.String.3o
+     usr/share/man/man3/Str.3o
+     usr/share/man/man3/Stream.3o
+     usr/share/man/man3/String.3o
+     usr/share/man/man3/StringLabels.3o
+     usr/share/man/man3/Sys.3o
+     usr/share/man/man3/Uchar.3o
+     usr/share/man/man3/Unix.3o
+     usr/share/man/man3/Unix.LargeFile.3o
+     usr/share/man/man3/Weak.3o
+     usr/share/man/man3/Weak.Make.3o
+     usr/share/man/man3/Weak.S.3o
+OPT: usr/share/man/man1/ocamlopt.1
+OPT: usr/share/man/man1/ocamloptp.1
+     usr/share/man/man1/ocamlprof.1
+     usr/share/man/man1/ocamlc.1
+     usr/share/man/man1/ocamldep.1
+     usr/share/man/man1/ocamlcp.1
+     usr/share/man/man1/ocamlmktop.1
+     usr/share/man/man1/ocamldoc.1
+     usr/share/man/man1/ocamlyacc.1
+     usr/share/man/man1/ocamldebug.1
+     usr/share/man/man1/ocamllex.1
+STD: arg.ml
+STD: arg.mli
+STD: arg.cmx
+STD: arith_flags.cmx
+STD: arith_status.cmti
+STD: arith_status.cmx
+STD: arith_status.mli
+STD: arrayLabels.ml
+STD: arrayLabels.mli
+STD: arrayLabels.cmx
+STD: array.ml
+STD: array.mli
+STD: array.cmx
+STD: big_int.cmti
+STD: big_int.cmx
+STD: big_int.mli
+STD: bigarray.cmti
+STD: bigarray.cmx
+STD: bigarray.cmxa
+STD: bigarray.mli
+STD: buffer.ml
+STD: buffer.mli
+STD: buffer.cmx
+STD: bytes.cmi
+STD: bytes.cmx
+STD: bytes.ml
+STD: bytes.mli
+STD: bytesLabels.cmi
+STD: bytesLabels.cmx
+STD: bytesLabels.ml
+STD: bytesLabels.mli
+STD: callback.ml
+STD: callback.mli
+STD: callback.cmx
+STD: camlinternalFormat.cmi
+STD: camlinternalFormat.cmx
+STD: camlinternalFormat.ml
+STD: camlinternalFormat.mli
+STD: camlinternalFormatBasics.cmi
+STD: camlinternalFormatBasics.cmx
+STD: camlinternalFormatBasics.ml
+STD: camlinternalFormatBasics.mli
+STD: camlinternalLazy.cmi
+STD: camlinternalLazy.cmx
+STD: camlinternalLazy.ml
+STD: camlinternalLazy.mli
+STD: camlinternalMod.cmi
+STD: camlinternalMod.cmx
+STD: camlinternalMod.ml
+STD: camlinternalMod.mli
+STD: camlinternalOO.ml
+STD: camlinternalOO.mli
+STD: camlinternalOO.cmx
+STD: char.ml
+STD: char.mli
+STD: char.cmx
+STD: complex.ml
+STD: complex.mli
+STD: complex.cmx
+STD: condition.mli
+STD: digest.ml
+STD: digest.mli
+STD: digest.cmx
+STD: dynlink.cmti
+STD: dynlink.mli
+STD: event.mli
+STD: ephemeron.ml
+STD: ephemeron.mli
+STD: ephemeron.cmi
+STD: ephemeron.cmx
+STD: filename.ml
+STD: filename.mli
+STD: filename.cmx
+STD: format.ml
+STD: format.mli
+STD: format.cmx
+STD: gc.ml
+STD: gc.mli
+STD: gc.cmx
+STD: genlex.ml
+STD: genlex.mli
+STD: genlex.cmx
+STD: hashtbl.ml
+STD: hashtbl.mli
+STD: hashtbl.cmx
+STD: int32.ml
+STD: int32.mli
+STD: int32.cmx
+STD: int64.ml
+STD: int64.mli
+STD: int64.cmx
+STD: int_misc.cmx
+STD: lazy.ml
+STD: lazy.mli
+STD: lazy.cmx
+STD: lexing.ml
+STD: lexing.mli
+STD: lexing.cmx
+STD: listLabels.ml
+STD: listLabels.mli
+STD: listLabels.cmx
+STD: list.ml
+STD: list.mli
+STD: list.cmx
+STD: map.ml
+STD: map.mli
+STD: map.cmx
+STD: marshal.ml
+STD: marshal.mli
+STD: marshal.cmx
+STD: moreLabels.ml
+STD: moreLabels.mli
+STD: moreLabels.cmx
+STD: mutex.mli
+STD: nat.cmti
+STD: nat.cmx
+STD: nat.mli
+STD: nativeint.ml
+STD: nativeint.mli
+STD: nativeint.cmx
+STD: num.cmti
+STD: num.cmx
+STD: num.mli
+STD: nums.cmxa
+STD: obj.ml
+STD: obj.mli
+STD: obj.cmx
+STD: oo.ml
+STD: oo.mli
+STD: oo.cmx
+STD: parsing.ml
+STD: parsing.mli
+STD: parsing.cmx
+STD: pervasives.ml
+STD: pervasives.mli
+STD: pervasives.cmx
+STD: printexc.ml
+STD: printexc.mli
+STD: printexc.cmx
+STD: printf.ml
+STD: printf.mli
+STD: printf.cmx
+STD: profiling.cmi
+STD: profiling.cmo
+STD: profiling.cmt
+STD: profiling.cmti
+STD: profiling.cmx
+STD: queue.ml
+STD: queue.mli
+STD: queue.cmx
+STD: random.ml
+STD: random.mli
+STD: random.cmx
+STD: ratio.cmti
+STD: ratio.cmx
+STD: ratio.mli
+OTH: STD: raw_spacetime_lib.cmx
+OTH: STD: raw_spacetime_lib.cmxa
+OTH: STD: raw_spacetime_lib.mli
+STD: scanf.ml
+STD: scanf.mli
+STD: scanf.cmx
+STD: set.ml
+STD: set.mli
+STD: set.cmx
+STD: sort.ml
+STD: sort.mli
+STD: sort.cmx
+STD: spacetime.ml
+STD: spacetime.mli
+STD: spacetime.cmi
+STD: spacetime.cmx
+STD: stack.ml
+STD: stack.mli
+STD: stack.cmx
+STD: stdlib.cmxa
+STD: std_exit.cmo
+STD: std_exit.cmx
+STD: std_exit.ml
+STD: stdLabels.cmx
+STD: stdLabels.ml
+STD: stdLabels.mli
+STD: str.cmti
+STD: str.cmx
+STD: str.cmxa
+STD: str.mli
+STD: stream.ml
+STD: stream.mli
+STD: stream.cmx
+STD: string.ml
+STD: string.mli
+STD: string.cmx
+STD: stringLabels.ml
+STD: stringLabels.mli
+STD: stringLabels.cmx
+STD: sys.ml
+STD: sys.mli
+STD: sys.cmx
+STD: thread.mli
+STD: threadUnix.mli
+STD: uchar.ml
+STD: uchar.mli
+STD: uchar.cmi
+STD: uchar.cmx
+STD: unix.cmti
+STD: unix.cmx
+STD: unix.cmxa
+STD: unix.mli
+STD: unixLabels.cmti
+STD: unixLabels.cmx
+STD: unixLabels.mli
+STD: weak.ml
+STD: weak.mli
+STD: weak.cmx
diff --git a/ocaml-nox.lintian-overrides.in b/ocaml-nox.lintian-overrides.in
new file mode 100644 (file)
index 0000000..0845884
--- /dev/null
@@ -0,0 +1,3 @@
+ocaml-nox: script-not-executable .@OCamlStdlibDir@/camlheader
+ocaml-nox: binary-without-manpage usr/bin/ocaml*.byte
+ocaml-nox: binary-without-manpage usr/bin/ocaml*.opt
diff --git a/ocaml-nox.manpages.in b/ocaml-nox.manpages.in
new file mode 100644 (file)
index 0000000..5ed3961
--- /dev/null
@@ -0,0 +1,3 @@
+debian/man/ocamlmklib.1
+debian/man/ocamldumpobj.1
+debian/man/ocamlobjinfo.1
diff --git a/ocaml-nox.postinst.in b/ocaml-nox.postinst.in
new file mode 100644 (file)
index 0000000..8e32f2f
--- /dev/null
@@ -0,0 +1,16 @@
+#!/bin/sh
+set -e
+
+if [ "$1" = "configure" ]; then
+  ln -sf @OCamlStdlibDir@/caml /usr/include/
+
+  # Save Emacs conffiles from previous ocaml versions
+  for f in ocaml ocaml-nox ; do
+    file="/etc/emacs/site-start.d/50$f.el"
+    if [ -e "$file" ]; then
+      mv "$file" "$file.save"
+    fi
+  done
+fi
+
+#DEBHELPER#
diff --git a/ocaml-nox.postrm b/ocaml-nox.postrm
new file mode 100644 (file)
index 0000000..3dc4359
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+
+rm -f /usr/include/caml
+
+#DEBHELPER#
diff --git a/ocaml-nox.preinst b/ocaml-nox.preinst
new file mode 100644 (file)
index 0000000..c7e4af2
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+if [ ! -h /usr/include/caml ] && [ -e /usr/include/caml ]; then
+       echo "WARNING, /usr/include/caml is not a symlink !!!!"
+fi
+
+#DEBHELPER#
diff --git a/ocaml-source.dirs.in b/ocaml-source.dirs.in
new file mode 100644 (file)
index 0000000..b601f22
--- /dev/null
@@ -0,0 +1 @@
+usr/src
diff --git a/ocaml-source.exclude b/ocaml-source.exclude
new file mode 100644 (file)
index 0000000..a1a4434
--- /dev/null
@@ -0,0 +1,4 @@
+*/debian
+*/*-stamp
+*/.git
+*/.pc
diff --git a/ocaml-source.install.in b/ocaml-source.install.in
new file mode 100644 (file)
index 0000000..3842d34
--- /dev/null
@@ -0,0 +1 @@
+debian/ocaml-source-@OCamlABI@.tar /usr/src/
diff --git a/ocaml.desktop b/ocaml.desktop
new file mode 100644 (file)
index 0000000..15b736b
--- /dev/null
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Exec=ocaml
+Name=OCaml
+GenericName=OCaml Toplevel
+Type=Application
+Terminal=true
+Icon=ocaml
+Categories=Development;ConsoleOnly;
diff --git a/ocaml.dirs.in b/ocaml.dirs.in
new file mode 100644 (file)
index 0000000..cc51687
--- /dev/null
@@ -0,0 +1 @@
+@OCamlStdlibDir@
diff --git a/ocaml.examples b/ocaml.examples
new file mode 100644 (file)
index 0000000..55b78ae
--- /dev/null
@@ -0,0 +1 @@
+debian/examples/*
diff --git a/ocaml.install.in b/ocaml.install.in
new file mode 100644 (file)
index 0000000..bc5b2b5
--- /dev/null
@@ -0,0 +1,10 @@
+     @OCamlStdlibDir@/libgraphics.a
+STD: graphics.cmi
+STD: graphics.cmti
+STD: graphics.cmx
+STD: graphics.cmxa
+STD: graphics.mli
+STD: graphicsX11.cmi
+STD: graphicsX11.cmti
+STD: graphicsX11.cmx
+STD: graphicsX11.mli
diff --git a/ocaml.xpm b/ocaml.xpm
new file mode 100644 (file)
index 0000000..4c5abe2
--- /dev/null
+++ b/ocaml.xpm
@@ -0,0 +1,290 @@
+/* XPM */
+static char * ocaml_32_xpm[] = {
+"32 32 255 2",
+"      c None",
+".     c #FFFFFF",
+"+     c #6666FF",
+"@     c #CC6666",
+"#     c #6767FF",
+"$     c #6969FF",
+"%     c #6A6AFF",
+"&     c #6E6EFF",
+"*     c #7070FF",
+"=     c #7373FF",
+"-     c #7575FF",
+";     c #7777FF",
+">     c #7979FF",
+",     c #7A7AFF",
+"'     c #7D7DFF",
+")     c #7F7FFF",
+"!     c #8383FF",
+"~     c #8585FF",
+"{     c #8686FF",
+"]     c #8888FF",
+"^     c #8D8DFF",
+"/     c #8F8FFF",
+"(     c #9191FF",
+"_     c #9494FF",
+":     c #9797FF",
+"<     c #9999FF",
+"[     c #9B9BFF",
+"}     c #9C9CFF",
+"|     c #A3A3FF",
+"1     c #A9A9FF",
+"2     c #ABABFF",
+"3     c #ADADFF",
+"4     c #AFAFFF",
+"5     c #B1B1FF",
+"6     c #B5B5FF",
+"7     c #B8B8FF",
+"8     c #BABAFF",
+"9     c #BEBEFF",
+"0     c #C1C1FF",
+"a     c #C2C2FF",
+"b     c #C4C4FF",
+"c     c #C9C9FF",
+"d     c #CCCCFF",
+"e     c #CFCFFF",
+"f     c #D3D3FF",
+"g     c #D4D4FF",
+"h     c #D6D6FF",
+"i     c #D8D8FF",
+"j     c #DADAFF",
+"k     c #DFDFFF",
+"l     c #E0E0FF",
+"m     c #E5E5FF",
+"n     c #E6E6FF",
+"o     c #E9E9FF",
+"p     c #EBEBFF",
+"q     c #ECECFF",
+"r     c #EFEFFF",
+"s     c #F2F2FF",
+"t     c #F5F5FF",
+"u     c #F7F7FF",
+"v     c #F8F8FF",
+"w     c #FAFAFF",
+"x     c #FDFDFF",
+"y     c #FEFEFF",
+"z     c #C96464",
+"A     c #BD5E5E",
+"B     c #B95C5C",
+"C     c #9D4E4E",
+"D     c #CB6666",
+"E     c #CA6565",
+"F     c #C76464",
+"G     c #C66363",
+"H     c #C46262",
+"I     c #C26161",
+"J     c #BF6060",
+"K     c #BB5E5E",
+"L     c #BA5D5D",
+"M     c #B75C5C",
+"N     c #B65B5B",
+"O     c #B35A5A",
+"P     c #B25959",
+"Q     c #AE5757",
+"R     c #AB5656",
+"S     c #AA5555",
+"T     c #A85454",
+"U     c #A65353",
+"V     c #A35252",
+"W     c #9B4E4E",
+"X     c #964B4B",
+"Y     c #944A4A",
+"Z     c #924949",
+"`     c #904848",
+" .    c #8C4646",
+"..    c #8B4646",
+"+.    c #884444",
+"@.    c #874444",
+"#.    c #854343",
+"$.    c #824141",
+"%.    c #341A1A",
+"&.    c #CD6868",
+"*.    c #CC6767",
+"=.    c #C26262",
+"-.    c #9E5050",
+";.    c #653333",
+">.    c #934B4B",
+",.    c #793E3E",
+"'.    c #673535",
+").    c #CE6B6B",
+"!.    c #CD6A6A",
+"~.    c #592E2E",
+"{.    c #B86060",
+"].    c #613333",
+"^.    c #CE6D6D",
+"/.    c #AA5A5A",
+"(.    c #A45757",
+"_.    c #BE6565",
+":.    c #CF6F6F",
+"<.    c #CF7070",
+"[.    c #9D5555",
+"}.    c #D07272",
+"|.    c #402323",
+"1.    c #D17474",
+"2.    c #6F3E3E",
+"3.    c #C26D6D",
+"4.    c #BA6868",
+"5.    c #D17676",
+"6.    c #884D4D",
+"7.    c #D27777",
+"8.    c #D27979",
+"9.    c #D47C7C",
+"0.    c #8C5252",
+"a.    c #D37C7C",
+"b.    c #BD7070",
+"c.    c #D58080",
+"d.    c #D47F7F",
+"e.    c #7D4B4B",
+"f.    c #D68383",
+"g.    c #D58282",
+"h.    c #D78585",
+"i.    c #D28383",
+"j.    c #D78787",
+"k.    c #D78888",
+"l.    c #D88989",
+"m.    c #B47373",
+"n.    c #D88B8B",
+"o.    c #A66B6B",
+"p.    c #D98D8D",
+"q.    c #D98E8E",
+"r.    c #CE8787",
+"s.    c #573A3A",
+"t.    c #926262",
+"u.    c #875B5B",
+"v.    c #DB9494",
+"w.    c #D69191",
+"x.    c #8C5F5F",
+"y.    c #BC8080",
+"z.    c #DC9797",
+"A.    c #A97474",
+"B.    c #DD9999",
+"C.    c #4E3636",
+"D.    c #DE9B9B",
+"E.    c #DD9A9A",
+"F.    c #8B6161",
+"G.    c #DE9D9D",
+"H.    c #CC9191",
+"I.    c #DF9F9F",
+"J.    c #DFA0A0",
+"K.    c #D99C9C",
+"L.    c #B18080",
+"M.    c #E0A3A3",
+"N.    c #8F6868",
+"O.    c #E1A5A5",
+"P.    c #E3AAAA",
+"Q.    c #DAA3A3",
+"R.    c #D6A0A0",
+"S.    c #9A7474",
+"T.    c #E3ACAC",
+"U.    c #C49494",
+"V.    c #E4AFAF",
+"W.    c #967373",
+"X.    c #725858",
+"Y.    c #E6B2B2",
+"Z.    c #836666",
+"`.    c #E7B5B5",
+" +    c #DAABAB",
+".+    c #E7B7B7",
+"++    c #C9A0A0",
+"@+    c #957878",
+"#+    c #E9BDBD",
+"$+    c #9D7F7F",
+"%+    c #655252",
+"&+    c #E9BEBE",
+"*+    c #B89999",
+"=+    c #C9A8A8",
+"-+    c #ECC6C6",
+";+    c #EAC5C5",
+">+    c #A58B8B",
+",+    c #EDC8C8",
+"'+    c #786666",
+")+    c #EECBCB",
+"!+    c #EDCACA",
+"~+    c #867373",
+"{+    c #EECDCD",
+"]+    c #D6B8B8",
+"^+    c #C3A8A8",
+"/+    c #EFCFCF",
+"(+    c #EACBCB",
+"_+    c #E2C4C4",
+":+    c #BBA4A4",
+"<+    c #F0D3D3",
+"[+    c #AD9999",
+"}+    c #E8CECE",
+"|+    c #C3AEAE",
+"1+    c #F3DADA",
+"2+    c #F2D9D9",
+"3+    c #E2CBCB",
+"4+    c #EAD3D3",
+"5+    c #A89797",
+"6+    c #F4DEDE",
+"7+    c #F3DDDD",
+"8+    c #9A8D8D",
+"9+    c #F6E2E2",
+"0+    c #E9D7D7",
+"a+    c #A79B9B",
+"b+    c #A29696",
+"c+    c #F7E6E6",
+"d+    c #F6E5E5",
+"e+    c #F2E2E2",
+"f+    c #EBDCDC",
+"g+    c #C8BCBC",
+"h+    c #F4E6E6",
+"i+    c #D8CCCC",
+"j+    c #F8EBEB",
+"k+    c #F6EAEA",
+"l+    c #EEE2E2",
+"m+    c #F9EEEE",
+"n+    c #FAF1F1",
+"o+    c #DED6D6",
+"p+    c #FBF3F3",
+"q+    c #F6EEEE",
+"r+    c #CDC6C6",
+"s+    c #FCF5F5",
+"t+    c #FBF5F5",
+"u+    c #F6F1F1",
+"v+    c #ECE7E7",
+"w+    c #FCF8F8",
+"x+    c #FAF6F6",
+"y+    c #E6E2E2",
+"z+    c #F0EDED",
+"A+    c #FDFBFB",
+"B+    c #F9F7F7",
+"C+    c #F7F5F5",
+"D+    c #F2F0F0",
+"E+    c #FEFDFD",
+"F+    c #FDFCFC",
+"        c.c.                                                    ",
+"      c.;+c.z.z.                                                ",
+"    c.c.c.v.^.o.                                                ",
+"  c.c.c.c.D  .:+                                                ",
+"c.c.c.a.@ L #.|+            n.n.n.              n.n.            ",
+"c.c.c.P T O W *+          z.z.n.n.z.          n.n.n.            ",
+"D.l.U U u.-.O A.          n.n.n.h.n.z.      n.n.d.8.n.          ",
+"k.N U U   8.*.=.}.      z.z.n.@ ).!.}.      !.&.^.&.@ n.        ",
+"H.U U     }.8.7.7.z.    n.@ @ @ *.@ *.&.&.*.@ @ *.D @ n.        ",
+"U           h.a.5.h.z.z.z.@ @ @ @ @ @ @ @ @ @ @ @ *.H n.n.      ",
+"            g.1.).7.l.n.@ @ @ &.@ @ @ @ @ @ @ @ @ *.&.z w.n.    ",
+"            7.^.D &.).<.<.).*.@ @ @ @ @ @ @ @ @ @ @ &.).!.n.n.n.",
+"            q.G F D @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ *.&.^.E ^.n.",
+"            e.S P I E @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ^.^.^.n.",
+"              e.+.C B F D @ @ @ @ @ @ @ @ @ @ @ @ @ @ E V S V V ",
+"                e.e.+.R I D @ @ D E G H G z D @ @ @ @ G X ].    ",
+"                    S.Z B E @ z A S ` +.C B z @ @ @ @ I ` X.    ",
+"                      S :.!.@ H -.S S S W./.G @ @ @ @ J @.Z.    ",
+"                      S q.<.F J ` ~+S     3.D D E F F K +.@+    ",
+"                      @ p.L U N C W.      r.I I M U T P X g.    ",
+"                    @ @ =.    V Q 0.      }./.R Y 2.F.X S g.g.  ",
+"                    @ @ @     Q P @ }.      }.(.@.Z.  A.U X g.g.",
+"                    @ P @       _.Q Q       g.g.R S.    m.g.g.g.",
+"                    @ S @       4.@ @         g.1.0.      =.m.g.",
+"                    @ @ @       4.4.@         g.f.6.      g.H g.",
+"                    @ &.@         @ @ @       g.g.t.      }.1.i.",
+"                    @ S {.        @ 4.3.Q     g.a.g.        9.=.",
+"                      *.S S         4.9.K.    }.1.g.        }.}.",
+"                      S S ).@       Q 4.k.    }.z >+        }.1.",
+"                      *.*.*.S @       4.v.q.}.p.$.g.      g.7.@ ",
+"                    ;.S V S S [+    4.&.Q ` ,.s.%+g.      @ @ @ ",
+"                      ;.;.;.;.    4.4.;.;.  8+,.,.,.            "};
diff --git a/ocamlfind/ocaml-native-compilers.conf b/ocamlfind/ocaml-native-compilers.conf
new file mode 100644 (file)
index 0000000..e9c2467
--- /dev/null
@@ -0,0 +1,4 @@
+ocamlc="ocamlc.opt"
+ocamlopt="ocamlopt.opt"
+ocamldep="ocamldep.opt"
+ocamldoc="ocamldoc.opt"
diff --git a/ocamlinit.mk b/ocamlinit.mk
new file mode 100644 (file)
index 0000000..e751aa9
--- /dev/null
@@ -0,0 +1,86 @@
+#
+# Description: Useful Makefile rules for OCaml related packages
+#
+# Copyright © 2009 Stéphane Glondu <steph@glondu.net>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA.
+#
+
+_ocaml_share_path ?= /usr/share/ocaml
+
+ifndef _ocaml_share_ocamlinit
+_ocaml_share_ocamlinit = 1
+
+include $(CURDIR)/debian/ocamlvars.mk
+include $(_ocaml_share_path)/ocamlvars.mk
+-include $(CURDIR)/config/Makefile
+
+# list of .in files contained (non-recursively) in debian/ that requires
+# pre-build filling.
+# debian/rules writers might need to add stuff to this list:
+#  e.g.: OCAML_IN_FILES += debian/patches/foo  # (no .in extension)
+OCAML_IN_FILES ?= $(filter-out debian/control,$(patsubst %.in,%,$(wildcard debian/*.in)))
+
+OCAMLINIT_SED := \
+  -e 's%@OCamlABI@%$(OCAML_ABI)%g' \
+  -e 's%@OCamlStdlibDir@%$(OCAML_STDLIB_DIR)%g' \
+  -e 's%@OCamlDllDir@%$(OCAML_DLL_DIR)%g'
+
+# When using these prefixs in *.install.in they must appear in the same order
+# as below, with STD: going last since it's processed by gen_modules.pl
+
+ifeq ($(OCAML_HAVE_OCAMLOPT),yes)
+  OCAMLINIT_SED += -e 's/^OPT: //' -e '/^BYTE: /d'
+else
+  OCAMLINIT_SED += -e '/^OPT: /d' -e 's/^BYTE: //'
+endif
+
+# Upstream Makefile is mildly buggy, sets NATDYNLINK for sparc64 with no opt
+# support. This double-if should stay correct in all future situations.
+ifeq ($(OCAML_HAVE_OCAMLOPT) $(NATDYNLINK),yes true)
+  OCAMLINIT_SED += -e 's/^DYN: //'
+else
+  OCAMLINIT_SED += -e '/^DYN: /d'
+  OCAMLINIT_SED += -e '/\.cmxs$$/d'
+endif
+
+ifeq ($(PROFILING),true)
+  OCAMLINIT_SED += -e 's/^PROFILING: //'
+else
+  OCAMLINIT_SED += -e '/^PROFILING: /d'
+endif
+
+otherlib = \
+OCAMLINIT_SED += $(if $(filter $(1),$(OTHERLIBRARIES)),\
+  -e 's/^OTH: \(.*\b$(1)\.\w\w*$$$$\)/\1/',\
+  -e '/^OTH: .*\b$(1)\.\w\w*$$$$/d')
+# careful, no whitespace after the comma
+$(eval $(call otherlib,raw_spacetime_lib))
+
+ocamlinit: ocamlinit-stamp
+ocamlinit-stamp: config/Makefile
+       for t in $(OCAML_IN_FILES); do \
+         sed $(OCAMLINIT_SED) $$t.in > $$t; \
+       done
+       sed -i 's@\./@@' debian/ocaml-nox.lintian-overrides
+       touch $@
+
+ocamlinit-clean:
+       rm -f ocamlinit-stamp $(OCAML_IN_FILES)
+
+.PHONY: ocamlinit ocamlinit-clean
+
+endif
diff --git a/ocamlvars.mk b/ocamlvars.mk
new file mode 100644 (file)
index 0000000..3a3093e
--- /dev/null
@@ -0,0 +1,11 @@
+include /usr/share/dpkg/architecture.mk
+
+OCAMLMAJOR := 4.05
+OCAMLMINOR := 0
+
+OCAML_ABI := $(OCAMLMAJOR).$(OCAMLMINOR)
+OCAML_STDLIB_DIR := /usr/lib/ocaml
+OCAML_NATIVE_ARCHS := $(shell cat debian/native-archs)
+OCAML_OPT_ARCH := $(filter $(DEB_HOST_ARCH),$(OCAML_NATIVE_ARCHS))
+OCAML_HAVE_OCAMLOPT := $(if $(OCAML_OPT_ARCH),yes,no)
+OCAML_OCAMLDOC_DESTDIR_HTML =
diff --git a/patches/0001-Pass-no-relax-to-ld-on-alpha.patch b/patches/0001-Pass-no-relax-to-ld-on-alpha.patch
new file mode 100644 (file)
index 0000000..e2e28b8
--- /dev/null
@@ -0,0 +1,32 @@
+From: Stefano Zacchiroli <zack@debian.org>
+Date: Tue, 19 May 2009 17:22:39 +0200
+Subject: Pass --no-relax to ld on alpha
+
+Pass the --no-relax option to ld to fix a segfault in initialization
+code (bug#338437)
+---
+ configure | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index e796599..d67672e 100755
+--- a/configure
++++ b/configure
+@@ -448,7 +448,8 @@ case "$bytecc,$target" in
+   *gcc*,alpha*-*-linux*)
+     if cc="$bytecc" sh ./hasgot -mieee; then
+       bytecccompopts="-mieee $bytecccompopts";
+-    fi;;
++    fi
++    bytecclinkopts="-Wl,--no-relax";;
+   *,mips-*-irix6*)
+     # Turn off warning "unused library"
+     bytecclinkopts="-n32 -Wl,-woff,84";;
+@@ -982,6 +983,7 @@ nativeccrpath="$byteccrpath"
+ case "$arch,$nativecc,$system,$model" in
+   *,*,nextstep,*)      nativecclinkopts="-posix";;
+   *,*,rhapsody,*)      if $arch64; then partialld="ld -r -arch ppc64"; fi;;
++  alpha,gcc*,linux*,*) nativecclinkopts="-Wl,--no-relax";;
+   amd64,gcc*,macosx,*) partialld="ld -r -arch x86_64";;
+   amd64,gcc*,solaris,*) partialld="ld -r -m elf_x86_64";;
+   power,gcc*,elf,ppc)   partialld="ld -r -m elf32ppclinux";;
diff --git a/patches/0002-Call-ld-with-proper-flags.patch b/patches/0002-Call-ld-with-proper-flags.patch
new file mode 100644 (file)
index 0000000..fb74f75
--- /dev/null
@@ -0,0 +1,24 @@
+From: Stefano Zacchiroli <zack@debian.org>
+Date: Tue, 19 May 2009 17:23:34 +0200
+Subject: Call ld with proper flags
+
+Filter linkflags passed to ld by ocamlopt -pack and -output-obj
+to remove the "-Wl," parts, which are only used when ocamlopt calls
+gcc.
+---
+ configure | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index d67672e..c0024a9 100755
+--- a/configure
++++ b/configure
+@@ -2049,7 +2049,7 @@ echo "DYNLINKOPTS=$dllib" >> Makefile
+ echo "OTHERLIBRARIES=$otherlibraries" >> Makefile
+ echo "CC_PROFILE=$cc_profile" >> Makefile
+ echo "SYSTHREAD_SUPPORT=$systhread_support" >> Makefile
+-echo "PACKLD=$partialld $nativecclinkopts -o\\ " >> Makefile
++echo "PACKLD=$partialld $(echo $nativecclinkopts|sed s/-Wl,//g) -o\\ " >> Makefile
+ echo "IFLEXDIR=$iflexdir" >> Makefile
+ echo "O=o" >> Makefile
+ echo "A=a" >> Makefile
diff --git a/patches/0003-Don-t-use-rpath.patch b/patches/0003-Don-t-use-rpath.patch
new file mode 100644 (file)
index 0000000..f1742fc
--- /dev/null
@@ -0,0 +1,24 @@
+From: Stefano Zacchiroli <zack@debian.org>
+Date: Tue, 19 May 2009 17:24:14 +0200
+Subject: Don't use rpath
+
+---
+ tools/ocamlmklib.ml | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/tools/ocamlmklib.ml b/tools/ocamlmklib.ml
+index e5dda65..cb9daca 100644
+--- a/tools/ocamlmklib.ml
++++ b/tools/ocamlmklib.ml
+@@ -43,6 +43,11 @@ and rpath = ref []          (* rpath options *)
+ and debug = ref false       (* -g option *)
+ and verbose = ref false
++(* Debian specific: inhibit rpath *)
++let byteccrpath = ""
++and nativeccrpath = ""
++and mksharedlibrpath = ""
++
+ let starts_with s pref =
+   String.length s >= String.length pref &&
+   String.sub s 0 (String.length pref) = pref
diff --git a/patches/0004-Put-manpages-in-section-3o-instead-of-3.patch b/patches/0004-Put-manpages-in-section-3o-instead-of-3.patch
new file mode 100644 (file)
index 0000000..3a29c6d
--- /dev/null
@@ -0,0 +1,21 @@
+From: Julien Cristau <julien.cristau@ens-lyon.org>
+Date: Tue, 19 May 2009 17:24:52 +0200
+Subject: Put manpages in section 3o instead of 3
+
+---
+ ocamldoc/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ocamldoc/Makefile b/ocamldoc/Makefile
+index f69b874..374d063 100644
+--- a/ocamldoc/Makefile
++++ b/ocamldoc/Makefile
+@@ -387,7 +387,7 @@ test_texi:
+ stdlib_man/Pervasives.3o: $(OCAMLDOC) $(STDLIB_MLIS)
+       $(MKDIR) stdlib_man
+       $(OCAMLDOC_RUN) -man -d stdlib_man $(INCLUDES) \
+-      -t "OCaml library" -man-mini $(STDLIB_MLIS)
++      -t "OCaml library" -man-mini -man-section 3o $(STDLIB_MLIS)
+ stdlib_html/Pervasives.html: $(STDLIB_MLIS)
+       $(MKDIR) stdlib_html
diff --git a/patches/0005-Avoid-multiple-declarations-in-generated-.c-files-in.patch b/patches/0005-Avoid-multiple-declarations-in-generated-.c-files-in.patch
new file mode 100644 (file)
index 0000000..fe9811a
--- /dev/null
@@ -0,0 +1,101 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Thu, 21 Apr 2011 18:39:31 +0200
+Subject: Avoid multiple declarations in generated .c files in -output-obj
+
+In -output-obj mode, <caml/mlvalues.h> (which contains some
+primitives) is included in the generated .c file, leading to errors
+when compiling with g++ (multiple declarations).
+
+There are probably better implementations (in particular, in this one,
+care must be taken when changing the list of primitives available in
+mlvalues.h), but this is a small and (not too) intrusive patch.
+
+Bug: http://caml.inria.fr/mantis/view.php?id=5254
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ bytecomp/bytelink.ml  | 18 ++++++++++++++++--
+ bytecomp/symtable.ml  |  8 +++++---
+ bytecomp/symtable.mli |  2 +-
+ 3 files changed, 22 insertions(+), 6 deletions(-)
+
+diff --git a/bytecomp/bytelink.ml b/bytecomp/bytelink.ml
+index 8f82fc9..40a3351 100644
+--- a/bytecomp/bytelink.ml
++++ b/bytecomp/bytelink.ml
+@@ -449,6 +449,20 @@ let output_cds_file outfile =
+     remove_file outfile;
+     raise x
++(* List of primitives declared in caml/mlvalues.h, to avoid duplicate
++   declarations in generated .c files *)
++
++let mlvalues_primitives = [
++  "caml_get_public_method";
++  "caml_hash_variant";
++  "caml_string_length";
++  "caml_Double_val";
++  "caml_Store_double_val";
++  "caml_Int64_val";
++  "caml_atom_table";
++  "caml_set_oo_id";
++]
++
+ (* Output a bytecode executable as a C file *)
+ let link_bytecode_as_c ppf tolink outfile =
+@@ -491,7 +505,7 @@ let link_bytecode_as_c ppf tolink outfile =
+       (Marshal.to_string sections []);
+     output_string outchan "\n};\n\n";
+     (* The table of primitives *)
+-    Symtable.output_primitive_table outchan;
++    Symtable.output_primitive_table outchan mlvalues_primitives;
+     (* The entry point *)
+     output_string outchan "\
+ \nvoid caml_startup(char ** argv)\
+@@ -587,7 +601,7 @@ let link ppf objfiles output_name =
+         #else\n\
+         typedef long value;\n\
+         #endif\n";
+-      Symtable.output_primitive_table poc;
++      Symtable.output_primitive_table poc [];
+       output_string poc "\
+         #ifdef __cplusplus\n\
+         }\n\
+diff --git a/bytecomp/symtable.ml b/bytecomp/symtable.ml
+index d2936f4..d81ed51 100644
+--- a/bytecomp/symtable.ml
++++ b/bytecomp/symtable.ml
+@@ -112,15 +112,17 @@ let output_primitive_names outchan =
+ open Printf
+-let output_primitive_table outchan =
++let output_primitive_table outchan blacklist =
+   let prim = all_primitives() in
+   for i = 0 to Array.length prim - 1 do
+-    fprintf outchan "extern value %s();\n" prim.(i)
++    let p = prim.(i) in
++    if not (List.mem p blacklist) then
++      fprintf outchan "extern value %s();\n" p
+   done;
+   fprintf outchan "typedef value (*primitive)();\n";
+   fprintf outchan "primitive caml_builtin_cprim[] = {\n";
+   for i = 0 to Array.length prim - 1 do
+-    fprintf outchan "  %s,\n" prim.(i)
++    fprintf outchan "  (primitive)%s,\n" prim.(i)
+   done;
+   fprintf outchan "  (primitive) 0 };\n";
+   fprintf outchan "const char * caml_names_of_builtin_cprim[] = {\n";
+diff --git a/bytecomp/symtable.mli b/bytecomp/symtable.mli
+index 22dec58..a621ebe 100644
+--- a/bytecomp/symtable.mli
++++ b/bytecomp/symtable.mli
+@@ -26,7 +26,7 @@ val require_primitive: string -> unit
+ val initial_global_table: unit -> Obj.t array
+ val output_global_map: out_channel -> unit
+ val output_primitive_names: out_channel -> unit
+-val output_primitive_table: out_channel -> unit
++val output_primitive_table: out_channel -> string list -> unit
+ val data_global_map: unit -> Obj.t
+ val data_primitive_names: unit -> string
+ val transl_const: Lambda.structured_constant -> Obj.t
diff --git a/patches/0006-Embed-bytecode-in-C-object-when-using-custom.patch b/patches/0006-Embed-bytecode-in-C-object-when-using-custom.patch
new file mode 100644 (file)
index 0000000..1441bcc
--- /dev/null
@@ -0,0 +1,222 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 11 Jul 2017 13:27:34 +0200
+Subject: Embed bytecode in C object when using -custom
+
+This patch fixes non-strippability of bytecode executables linked with
+custom runtime. The new behaviour is enabled when OCAML_CUSTOM_EMBED
+is set to "y", or when DEB_HOST_ARCH is non-empty.
+
+Forwarded: not-needed
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627761
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=678577
+Signed-off-by: Stephane Glondu <steph@glondu.net>
+---
+ bytecomp/bytelink.ml                          | 42 ++++++++++++++++++++++++---
+ testsuite/tests/basic-manyargs/Makefile       |  3 ++
+ testsuite/tests/callback/Makefile             |  3 ++
+ testsuite/tests/embedded/Makefile             |  4 +++
+ testsuite/tests/gc-roots/Makefile             |  3 ++
+ testsuite/tests/lib-dynlink-bytecode/Makefile |  3 ++
+ testsuite/tests/lib-marshal/Makefile          |  3 ++
+ testsuite/tests/regression/pr3612/Makefile    |  3 ++
+ testsuite/tests/runtime-C-exceptions/Makefile |  3 ++
+ 9 files changed, 63 insertions(+), 4 deletions(-)
+
+diff --git a/bytecomp/bytelink.ml b/bytecomp/bytelink.ml
+index 40a3351..ae887c3 100644
+--- a/bytecomp/bytelink.ml
++++ b/bytecomp/bytelink.ml
+@@ -465,7 +465,7 @@ let mlvalues_primitives = [
+ (* Output a bytecode executable as a C file *)
+-let link_bytecode_as_c ppf tolink outfile =
++let link_bytecode_as_c ppf tolink outfile with_main =
+   let outchan = open_out outfile in
+   begin try
+     (* The bytecode *)
+@@ -507,7 +507,18 @@ let link_bytecode_as_c ppf tolink outfile =
+     (* The table of primitives *)
+     Symtable.output_primitive_table outchan mlvalues_primitives;
+     (* The entry point *)
+-    output_string outchan "\
++    if with_main then begin
++      output_string outchan "\
++\nint main(int argc, char **argv)\
++\n{\
++\n  caml_startup_code(caml_code, sizeof(caml_code),\
++\n                    caml_data, sizeof(caml_data),\
++\n                    caml_sections, sizeof(caml_sections),\
++\n                    argv);\
++\n  return 0; /* not reached */\
++\n}\n"
++    end else begin
++      output_string outchan "\
+ \nvoid caml_startup(char ** argv)\
+ \n{\
+ \n  caml_startup_code(caml_code, sizeof(caml_code),\
+@@ -521,7 +532,9 @@ let link_bytecode_as_c ppf tolink outfile =
+ \n                               caml_data, sizeof(caml_data),\
+ \n                               caml_sections, sizeof(caml_sections),\
+ \n                               argv);\
+-\n}\
++\n}\n"
++      end;
++    output_string outchan "\
+ \n#ifdef __cplusplus\
+ \n}\
+ \n#endif\n";
+@@ -560,6 +573,17 @@ let fix_exec_name name =
+       if String.contains name '.' then name else name ^ ".exe"
+   | _ -> name
++(* Debian-specific -custom behaviour:
++   - if DEB_HOST_ARCH is non-empty, it is activated by default
++   - can be enabled/disabled by setting OCAML_CUSTOM_EMBED to y/n
++*)
++
++let custom_embed =
++  try Sys.getenv "OCAML_CUSTOM_EMBED" = "y"
++  with Not_found ->
++    try Sys.getenv "DEB_HOST_ARCH" <> ""
++    with Not_found -> false
++
+ (* Main entry point (build a custom runtime if needed) *)
+ let link ppf objfiles output_name =
+@@ -582,6 +606,16 @@ let link ppf objfiles output_name =
+   Clflags.dllibs := !lib_dllibs @ !Clflags.dllibs; (* put user's DLLs first *)
+   if not !Clflags.custom_runtime then
+     link_bytecode ppf tolink output_name true
++  else if custom_embed && not !Clflags.output_c_object && not !Clflags.make_runtime then
++    let c_file = Filename.temp_file "camlobj" ".c" in
++    try
++      link_bytecode_as_c ppf tolink c_file true;
++      let exec_name = fix_exec_name output_name in
++      if not (build_custom_runtime c_file exec_name)
++      then raise(Error Custom_runtime);
++    with x ->
++      remove_file c_file;
++      raise x
+   else if not !Clflags.output_c_object then begin
+     let bytecode_name = Filename.temp_file "camlcode" "" in
+     let prim_name = Filename.temp_file "camlprim" ".c" in
+@@ -631,7 +665,7 @@ let link ppf objfiles output_name =
+     if Sys.file_exists c_file then raise(Error(File_exists c_file));
+     let temps = ref [] in
+     try
+-      link_bytecode_as_c ppf tolink c_file;
++      link_bytecode_as_c ppf tolink c_file false;
+       if not (Filename.check_suffix output_name ".c") then begin
+         temps := c_file :: !temps;
+         if Ccomp.compile_file c_file <> 0 then
+diff --git a/testsuite/tests/basic-manyargs/Makefile b/testsuite/tests/basic-manyargs/Makefile
+index b387d6e..e75ba7d 100644
+--- a/testsuite/tests/basic-manyargs/Makefile
++++ b/testsuite/tests/basic-manyargs/Makefile
+@@ -18,5 +18,8 @@ BASEDIR=../..
+ MAIN_MODULE=manyargs
+ C_FILES=manyargsprim
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ include $(BASEDIR)/makefiles/Makefile.one
+ include $(BASEDIR)/makefiles/Makefile.common
+diff --git a/testsuite/tests/callback/Makefile b/testsuite/tests/callback/Makefile
+index d6615a1..8e1b4cb 100644
+--- a/testsuite/tests/callback/Makefile
++++ b/testsuite/tests/callback/Makefile
+@@ -19,6 +19,9 @@ CC=$(NATIVECC) -I $(CTOPDIR)/byterun
+ COMPFLAGS=-I $(OTOPDIR)/otherlibs/unix
+ LD_PATH=$(TOPDIR)/otherlibs/unix
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ .PHONY: default
+ default:
+       @case " $(OTHERLIBRARIES) " in \
+diff --git a/testsuite/tests/embedded/Makefile b/testsuite/tests/embedded/Makefile
+index 679c5b9..4d38cd8 100644
+--- a/testsuite/tests/embedded/Makefile
++++ b/testsuite/tests/embedded/Makefile
+@@ -16,6 +16,10 @@
+ BASEDIR=../..
+ .PHONY: default
++
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ default:
+       @$(MAKE) compile
+       @$(MAKE) run
+diff --git a/testsuite/tests/gc-roots/Makefile b/testsuite/tests/gc-roots/Makefile
+index c8e24cc..7057e12 100644
+--- a/testsuite/tests/gc-roots/Makefile
++++ b/testsuite/tests/gc-roots/Makefile
+@@ -19,5 +19,8 @@ MAIN_MODULE=globroots
+ C_FILES=globrootsprim
+ ADD_COMPFLAGS=-w a
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ include $(BASEDIR)/makefiles/Makefile.one
+ include $(BASEDIR)/makefiles/Makefile.common
+diff --git a/testsuite/tests/lib-dynlink-bytecode/Makefile b/testsuite/tests/lib-dynlink-bytecode/Makefile
+index 1e56b16..62a0034 100644
+--- a/testsuite/tests/lib-dynlink-bytecode/Makefile
++++ b/testsuite/tests/lib-dynlink-bytecode/Makefile
+@@ -18,6 +18,9 @@ BASEDIR=../..
+ COMPFLAGS=-I $(OTOPDIR)/otherlibs/dynlink
+ LD_PATH=.:$(TOPDIR)/otherlibs/dynlink
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ .PHONY: default
+ default:
+       @if ! $(SUPPORTS_SHARED_LIBRARIES); then \
+diff --git a/testsuite/tests/lib-marshal/Makefile b/testsuite/tests/lib-marshal/Makefile
+index a79f6bd..d30d409 100644
+--- a/testsuite/tests/lib-marshal/Makefile
++++ b/testsuite/tests/lib-marshal/Makefile
+@@ -18,5 +18,8 @@ BASEDIR=../..
+ MAIN_MODULE=intext
+ C_FILES=intextaux
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ include $(BASEDIR)/makefiles/Makefile.one
+ include $(BASEDIR)/makefiles/Makefile.common
+diff --git a/testsuite/tests/regression/pr3612/Makefile b/testsuite/tests/regression/pr3612/Makefile
+index 866927b..6d0b361 100644
+--- a/testsuite/tests/regression/pr3612/Makefile
++++ b/testsuite/tests/regression/pr3612/Makefile
+@@ -16,6 +16,9 @@
+ MAIN_MODULE=pr3612
+ C_FILES=custom_finalize
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ BASEDIR=../../..
+ include $(BASEDIR)/makefiles/Makefile.one
+ include $(BASEDIR)/makefiles/Makefile.common
+diff --git a/testsuite/tests/runtime-C-exceptions/Makefile b/testsuite/tests/runtime-C-exceptions/Makefile
+index da534b7..e9598df 100644
+--- a/testsuite/tests/runtime-C-exceptions/Makefile
++++ b/testsuite/tests/runtime-C-exceptions/Makefile
+@@ -3,5 +3,8 @@ BASEDIR=../..
+ MAIN_MODULE=test
+ C_FILES=stub_test
++# This test relies on the upstream behaviour of -custom
++export OCAML_CUSTOM_EMBED=n
++
+ include $(BASEDIR)/makefiles/Makefile.one
+ include $(BASEDIR)/makefiles/Makefile.common
diff --git a/patches/0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch b/patches/0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch
new file mode 100644 (file)
index 0000000..c75d88f
--- /dev/null
@@ -0,0 +1,24 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Wed, 13 Nov 2013 14:28:16 +0100
+Subject: Native backtraces don't work on powerpc and sparc
+
+---
+ testsuite/tests/backtrace/Makefile | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/testsuite/tests/backtrace/Makefile b/testsuite/tests/backtrace/Makefile
+index 5df19fc..9ad93c3 100644
+--- a/testsuite/tests/backtrace/Makefile
++++ b/testsuite/tests/backtrace/Makefile
+@@ -29,7 +29,10 @@ LOCATIONFILTER=grep -oE \
+ default:
+       @$(MAKE) byte
+-      @if $(BYTECODE_ONLY); then $(MAKE) skip ; else $(MAKE) native; fi
++      @case `dpkg-architecture -qDEB_BUILD_ARCH` in \
++        sparc|powerpc*) : ;; \
++        *) if $(BYTECODE_ONLY); then $(MAKE) skip ; else $(MAKE) native; fi ;; \
++      esac
+ .PHONY: byte
+ byte:
diff --git a/patches/0010-XL-001-tests.asmcomp.patch b/patches/0010-XL-001-tests.asmcomp.patch
new file mode 100644 (file)
index 0000000..cefb1a8
--- /dev/null
@@ -0,0 +1,24 @@
+From: Xavier Leroy <xavier.leroy@inria.fr>
+Date: Fri, 25 Jan 2019 13:47:44 +0100
+Subject: Drop a test-suite experiment committed by mistake
+
+This was failing on armhf because Debian GCC now enables PIE by default.
+
+Bug: https://caml.inria.fr/mantis/view.php?id=7642
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837359#80
+---
+ testsuite/tests/asmcomp/main.ml | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/testsuite/tests/asmcomp/main.ml b/testsuite/tests/asmcomp/main.ml
+index 284f7fb..6457ad2 100644
+--- a/testsuite/tests/asmcomp/main.ml
++++ b/testsuite/tests/asmcomp/main.ml
+@@ -6,7 +6,6 @@ let compile_file filename =
+     let out_name = Filename.chop_extension filename ^ ".s" in
+     Emitaux.output_channel := open_out out_name
+   end; (* otherwise, stdout *)
+-  Clflags.dlcode := false;
+   Compilenv.reset ~source_provenance:(Timings.File filename) "test";
+   Emit.begin_assembly();
+   let ic = open_in filename in
diff --git a/patches/0011-arm64-hide-symbols-for-stricter-binutils.patch b/patches/0011-arm64-hide-symbols-for-stricter-binutils.patch
new file mode 100644 (file)
index 0000000..52fa6b7
--- /dev/null
@@ -0,0 +1,95 @@
+From: Mark Shinwell <mshinwell@gmail.com>
+Date: Wed, 13 Sep 2017 10:23:16 +0100
+Subject: arm64-hide-symbols-for-stricter-binutils
+
+    AArch64 GOT fixed
+---
+ Changes                    |  4 ++++
+ asmcomp/arm64/emit.mlp     | 15 +++++++++++++--
+ asmcomp/arm64/selection.ml |  4 ++--
+ 3 files changed, 19 insertions(+), 4 deletions(-)
+
+diff --git a/Changes b/Changes
+index cc59f63..4c0eac7 100644
+--- a/Changes
++++ b/Changes
+@@ -135,6 +135,10 @@ OCaml 4.05.0 (13 Jul 2017):
+   (Hannes Mehnert, Guillaume Bury,
+    review by Daniel Bünzli, Gabriel Scherer, Damien Doligez)
++- GPR#1330: when generating dynamically-linkable code on AArch64, always
++  reference symbols (even locally-defined ones) through the GOT.
++  (Mark Shinwell, review by Xavier Leroy)
++
+ ### Standard library:
+ - MPR#6975, GPR#902: Truncate function added to stdlib Buffer module
+diff --git a/asmcomp/arm64/emit.mlp b/asmcomp/arm64/emit.mlp
+index f75646e..729096c 100644
+--- a/asmcomp/arm64/emit.mlp
++++ b/asmcomp/arm64/emit.mlp
+@@ -114,6 +114,7 @@ let emit_addressing addr r =
+   | Iindexed ofs ->
+       `[{emit_reg r}, #{emit_int ofs}]`
+   | Ibased(s, ofs) ->
++      assert (not !Clflags.dlcode);  (* see selection.ml *)
+       `[{emit_reg r}, #:lo12:{emit_symbol_offset s ofs}]`
+ (* Record live pointers at call points *)
+@@ -323,7 +324,7 @@ let emit_literals() =
+ (* Emit code to load the address of a symbol *)
+ let emit_load_symbol_addr dst s =
+-  if (not !Clflags.dlcode) || Compilenv.symbol_in_current_unit s then begin
++  if not !Clflags.dlcode then begin
+     ` adrp    {emit_reg dst}, {emit_symbol s}\n`;
+     ` add     {emit_reg dst}, {emit_reg dst}, #:lo12:{emit_symbol s}\n`
+   end else begin
+@@ -609,6 +610,7 @@ let emit_instr i =
+           match addr with
+           | Iindexed _ -> i.arg.(0)
+           | Ibased(s, ofs) ->
++              assert (not !Clflags.dlcode);  (* see selection.ml *)
+               `       adrp    {emit_reg reg_tmp1}, {emit_symbol_offset s ofs}\n`;
+               reg_tmp1 in
+         begin match size with
+@@ -636,6 +638,7 @@ let emit_instr i =
+           match addr with
+           | Iindexed _ -> i.arg.(1)
+           | Ibased(s, ofs) ->
++              assert (not !Clflags.dlcode);
+               `       adrp    {emit_reg reg_tmp1}, {emit_symbol_offset s ofs}\n`;
+               reg_tmp1 in
+         begin match size with
+@@ -924,7 +927,15 @@ let fundecl fundecl =
+ let emit_item = function
+   | Cglobal_symbol s -> `     .globl  {emit_symbol s}\n`;
+-  | Cdefine_symbol s -> `{emit_symbol s}:\n`
++  | Cdefine_symbol s ->
++    if !Clflags.dlcode then begin
++      (* GOT relocations against non-global symbols don't seem to work
++         properly: GOT entries are not created for the symbols and the
++         relocations evaluate to random other GOT entries.  For the moment
++         force all symbols to be global. *)
++      `       .globl  {emit_symbol s}\n`;
++    end;
++    `{emit_symbol s}:\n`
+   | Cint8 n -> `      .byte   {emit_int n}\n`
+   | Cint16 n -> `     .short  {emit_int n}\n`
+   | Cint32 n -> `     .long   {emit_nativeint n}\n`
+diff --git a/asmcomp/arm64/selection.ml b/asmcomp/arm64/selection.ml
+index d8ea7f8..b714d00 100644
+--- a/asmcomp/arm64/selection.ml
++++ b/asmcomp/arm64/selection.ml
+@@ -82,8 +82,8 @@ let inline_ops =
+   [ "sqrt"; "caml_bswap16_direct"; "caml_int32_direct_bswap";
+     "caml_int64_direct_bswap"; "caml_nativeint_direct_bswap" ]
+-let use_direct_addressing symb =
+-  (not !Clflags.dlcode) || Compilenv.symbol_in_current_unit symb
++let use_direct_addressing _symb =
++  not !Clflags.dlcode
+ (* Instruction selection *)
diff --git a/patches/0012-Integer-overflows-when-unmarshaling-a-bigarray.patch b/patches/0012-Integer-overflows-when-unmarshaling-a-bigarray.patch
new file mode 100644 (file)
index 0000000..d982b19
--- /dev/null
@@ -0,0 +1,67 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Fri, 25 Jan 2019 14:34:23 +0100
+Subject: Integer overflows when unmarshaling a bigarray
+
+Malicious or corrupted marshaled data can result in a bigarray
+with impossibly large dimensions that cause overflow when computing
+the in-memory size of the bigarray.  Disaster ensues when the data
+is read in a too small memory area.  This commit checks for overflows
+when computing the in-memory size of the bigarray.
+
+This patch has been modified from upstream one to use caml_ba_multov
+instead of caml_umul_overflow which is unavailable in OCaml 4.05.0.
+
+Origin: https://github.com/ocaml/ocaml/pull/1718
+Bug: https://caml.inria.fr/mantis/view.php?id=7765
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=895472
+Bug-CVE: CVE-2018-9838
+---
+ otherlibs/bigarray/bigarray_stubs.c | 26 +++++++++++++++++++-------
+ 1 file changed, 19 insertions(+), 7 deletions(-)
+
+diff --git a/otherlibs/bigarray/bigarray_stubs.c b/otherlibs/bigarray/bigarray_stubs.c
+index cb38bef..995739d 100644
+--- a/otherlibs/bigarray/bigarray_stubs.c
++++ b/otherlibs/bigarray/bigarray_stubs.c
+@@ -966,22 +966,34 @@ static void caml_ba_deserialize_longarray(void * dest, intnat num_elts)
+ uintnat caml_ba_deserialize(void * dst)
+ {
+   struct caml_ba_array * b = dst;
+-  int i, elt_size;
+-  uintnat num_elts;
++  int i;
++  uintnat num_elts, size;
++  int overflow;
+   /* Read back header information */
+   b->num_dims = caml_deserialize_uint_4();
++  if (b->num_dims < 0 || b->num_dims > CAML_BA_MAX_NUM_DIMS)
++    caml_deserialize_error("input_value: wrong number of bigarray dimensions");
+   b->flags = caml_deserialize_uint_4() | CAML_BA_MANAGED;
+   b->proxy = NULL;
+   for (i = 0; i < b->num_dims; i++) b->dim[i] = caml_deserialize_uint_4();
+-  /* Compute total number of elements */
+-  num_elts = caml_ba_num_elts(b);
+-  /* Determine element size in bytes */
++  /* Compute total number of elements.  Watch out for overflows (MPR#7765). */
++  num_elts = 1;
++  for (i = 0; i < b->num_dims; i++) {
++    overflow = 0;
++    num_elts = caml_ba_multov(num_elts, b->dim[i], &overflow);
++    if (overflow)
++      caml_deserialize_error("input_value: size overflow for bigarray");
++  }
++  /* Determine array size in bytes.  Watch out for overflows (MPR#7765). */
+   if ((b->flags & CAML_BA_KIND_MASK) > CAML_BA_CHAR)
+     caml_deserialize_error("input_value: bad bigarray kind");
+-  elt_size = caml_ba_element_size[b->flags & CAML_BA_KIND_MASK];
++  overflow = 0;
++  size = caml_ba_multov(num_elts, caml_ba_element_size[b->flags & CAML_BA_KIND_MASK], &overflow);
++  if (overflow)
++    caml_deserialize_error("input_value: size overflow for bigarray");
+   /* Allocate room for data */
+-  b->data = malloc(elt_size * num_elts);
++  b->data = malloc(size);
+   if (b->data == NULL)
+     caml_deserialize_error("input_value: out of memory for bigarray");
+   /* Read data */
diff --git a/patches/0013-Use-CCLINKFLAGS-for-linking-all-executables-and-shar.patch b/patches/0013-Use-CCLINKFLAGS-for-linking-all-executables-and-shar.patch
new file mode 100644 (file)
index 0000000..cae9211
--- /dev/null
@@ -0,0 +1,44 @@
+From: Torok Edwin <edwin@etorok.net>
+Date: Wed, 15 Jul 2015 16:33:23 +0300
+Subject: Use CCLINKFLAGS for linking all executables and shared libraries
+
+This allows packagers to set additional linker flags for executables and shared
+libraries created by OCaml, and for the OCaml tools themselves.
+OCaml code can be linked with various C stubs and C libraries that would
+benefit from using hardening link flags, such as -Wl,-z,relro.
+
+Origin: other
+Bug-Debian: https://bugs.debian.org/702349
+Forwarded: no
+Last-Update: <2015-07-15>
+---
+ configure      | 2 ++
+ tools/Makefile | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/configure b/configure
+index c0024a9..b8e0bcf 100755
+--- a/configure
++++ b/configure
+@@ -815,6 +815,8 @@ if test $with_sharedlibs = "yes"; then
+       shared_libraries_supported=true;;
+   esac
+ fi
++mksharedlib="$mksharedlib $CCLINKFLAGS"
++mkexe="$mkexe $CCLINKFLAGS"
+ if test -z "$mkmaindll"; then
+   mkmaindll=$mksharedlib
+diff --git a/tools/Makefile b/tools/Makefile
+index 9a8cf65..2d19c65 100644
+--- a/tools/Makefile
++++ b/tools/Makefile
+@@ -316,7 +316,7 @@ endif
+ objinfo_helper$(EXE): objinfo_helper.c ../config/s.h
+       $(BYTECC) $(CCOUT)objinfo_helper$(EXE) $(BYTECCCOMPOPTS) \
+-          $(DEF_SYMBOL_PREFIX) $(LIBBFD_INCLUDE) objinfo_helper.c $(LIBBFD_LINK)
++          $(DEF_SYMBOL_PREFIX) $(LIBBFD_INCLUDE) objinfo_helper.c $(LIBBFD_LINK) $(CCLINKFLAGS)
+ OBJINFO=../compilerlibs/ocamlcommon.cma \
+         ../compilerlibs/ocamlbytecomp.cma \
diff --git a/patches/0014-Compute-a-stable-name-for-preprocessed-files.patch b/patches/0014-Compute-a-stable-name-for-preprocessed-files.patch
new file mode 100644 (file)
index 0000000..40daf9c
--- /dev/null
@@ -0,0 +1,33 @@
+From: Johannes Schauer <josch@debian.org>
+Date: Thu, 22 Dec 2016 00:36:14 +0100
+Subject: Compute a stable name for preprocessed files
+
+---
+ driver/pparse.ml | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/driver/pparse.ml b/driver/pparse.ml
+index b00ded4..13d76bc 100644
+--- a/driver/pparse.ml
++++ b/driver/pparse.ml
+@@ -21,10 +21,19 @@ type error =
+ exception Error of error
++external open_desc: string -> open_flag list -> int -> int = "caml_sys_open"
++external close_desc: int -> unit = "caml_sys_close"
++
+ (* Optionally preprocess a source file *)
+ let call_external_preprocessor sourcefile pp =
+-      let tmpfile = Filename.temp_file "ocamlpp" "" in
++      (* do not use Filename.temp_file as the resulting temporary file name will be
++       * recorded in the debug output of the resulting binary and thus make the
++       * output random and unreproducible *)
++      let temp_dir = Filename.get_temp_dir_name () in
++      let hash = Digest.to_hex (Digest.string (sourcefile^pp)) in
++      let tmpfile = Filename.concat temp_dir ("ocamlpp"^hash) in
++      close_desc(open_desc tmpfile [Open_wronly; Open_creat; Open_excl] 0o600);
+       let comm = Printf.sprintf "%s %s > %s"
+                                 pp (Filename.quote sourcefile) tmpfile
+       in
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..b64e943
--- /dev/null
@@ -0,0 +1,12 @@
+0001-Pass-no-relax-to-ld-on-alpha.patch
+0002-Call-ld-with-proper-flags.patch
+0003-Don-t-use-rpath.patch
+0004-Put-manpages-in-section-3o-instead-of-3.patch
+0005-Avoid-multiple-declarations-in-generated-.c-files-in.patch
+0006-Embed-bytecode-in-C-object-when-using-custom.patch
+0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch
+0010-XL-001-tests.asmcomp.patch
+0011-arm64-hide-symbols-for-stricter-binutils.patch
+0013-Use-CCLINKFLAGS-for-linking-all-executables-and-shar.patch
+0014-Compute-a-stable-name-for-preprocessed-files.patch
+0012-Integer-overflows-when-unmarshaling-a-bigarray.patch
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..96fef65
--- /dev/null
+++ b/rules
@@ -0,0 +1,302 @@
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/pkg-info.mk
+include /usr/share/dpkg/buildflags.mk
+
+PACKAGE := ocaml
+ALL_PACKAGES := $(shell dh_listpackages)
+
+# Can't use /usr/share/ocaml/ocamlvars.mk because it tries to run ocamlc
+include $(CURDIR)/debian/ocamlvars.mk
+
+# Use ccache if pkg.ocaml.ccache build-profile is active.
+ifneq (,$(filter pkg.ocaml.ccache,$(DEB_BUILD_PROFILES)))
+export PATH := /usr/lib/ccache:$(PATH)
+export CCACHE_DIR := $(CURDIR)/debian/ccache
+#export CCACHE_BASEDIR := $(CURDIR)/debian/build
+$(shell mkdir -p "$(CCACHE_DIR)")
+endif
+
+# Build cache (for Debian debugging)
+BUILDCACHE := $(wildcard ../ocaml.cache)
+
+MD5SUMSDIR = /var/lib/ocaml/md5sums
+INSTDIR = $(CURDIR)/debian/tmp/usr
+DISTDIR = $(PACKAGE)-$(OCAML_ABI)
+UPSTREAM_VERSION = $(shell dpkg-parsechangelog | awk '/^Version:/{print $$2}' | { read u; echo $${u%-*}; })
+UPSTREAM_TARBALL = $(wildcard ../$(PACKAGE)_$(UPSTREAM_VERSION).orig.tar.*)
+SRCTARBALL = $(PACKAGE)-source-$(OCAML_ABI).tar
+
+TESTDIR := debian/test-build
+TESTRULES := debian/rules DEB_TEST_BUILD_PREFIX=$(CURDIR)/$(TESTDIR)
+
+BUILD_DATE := $(shell dpkg-parsechangelog --show-field=Date)
+
+ifeq (,$(DEB_TEST_BUILD_PREFIX))
+ifneq (,$(findstring ocaml-source,$(ALL_PACKAGES)))
+  TARBALL_TARGET = debian/$(SRCTARBALL)
+endif
+endif
+
+# Environment variable for dh_ocaml
+export OCAMLOBJINFO = OCAMLLIB=tools boot/ocamlrun tools/ocamlobjinfo
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+export DH_OPTIONS
+
+# This has to be exported to make gen_modules work
+export OCAML_OPT_ARCH
+export OCAML_STDLIB_DIR
+
+export DEB_BUILD_MAINT_OPTIONS=hardening=+bindnow
+export CCLINKFLAGS=$(shell dpkg-buildflags --get LDFLAGS)
+
+CONFIGURE_OPTS := \
+  --host $(DEB_BUILD_GNU_TYPE)\
+  --with-pthread -prefix $(DEB_TEST_BUILD_PREFIX)/usr \
+  -libdir $(DEB_TEST_BUILD_PREFIX)$(OCAML_STDLIB_DIR) \
+  -x11lib "$(shell pkg-config --variable=libdir x11)" \
+  -mandir $(DEB_TEST_BUILD_PREFIX)/usr/share/man \
+
+CONFIGURE_SED := \
+  -e "/LIBBFD_LINK/s%-lbfd%-Wl,-Bstatic -lbfd -Wl,-Bdynamic%" \
+  -e "s%MANDIR=.*$$%MANDIR=\$$(PREFIX)/share/man%g" \
+  -e "s%LIBDIR=.*$$%LIBDIR=\$$(PREFIX)/lib/ocaml%g" \
+  -e "s%STUBLIBDIR=.*$$%STUBLIBDIR=\$$(PREFIX)/lib/ocaml/stublibs%g"
+
+# Upstream recommends dropping support, see https://caml.inria.fr/mantis/view.php?id=7642
+ifneq (,$(filter $(DEB_HOST_ARCH),armel))
+CONFIGURE_OPTS += --no-native-compiler
+endif
+
+%:
+       dh $@
+
+# Needed because there is a "build" in the upstream tarball
+.PHONY: build
+build:
+       dh $@
+
+# Generate ocaml-native-compilers' Architecture field.
+# Should never be called automatically.
+.PHONY: debian/control
+debian/control:
+       sed -e 's/@OCamlNativeArchs@/$(OCAML_NATIVE_ARCHS)/g' debian/control.in > $@
+
+pre-config-stamp: $(TARBALL_TARGET)
+       chmod +x debian/gen_modules.pl
+# Backup upstream config.{sub,guess}, and use most up-to-date ones
+       set -e; for ext in sub guess; do \
+         if [ -f /usr/share/misc/config.$$ext ] && \
+           ! [ -f debian/config.orig.$$ext ]; then \
+           mv config/gnu/config.$$ext debian/config.orig.$$ext; \
+           cp -f /usr/share/misc/config.$$ext config/gnu/config.$$ext; \
+         fi; \
+       done
+# Debian kfreebsd has non-working shims for dup3/pipe2, see #827935. Upstream
+# ./configure isn't sophisticated enough to detect this so patch it out here.
+ifeq (kfreebsd,$(DEB_HOST_ARCH_OS))
+       sed -i -e '/HAS_DUP3/d' -e '/HAS_PIPE2/d' ./configure
+endif
+# Create empty directory present in upstream tarball
+       mkdir -p compilerlibs
+       touch $@
+
+ifneq (,$(TARBALL_TARGET))
+$(TARBALL_TARGET): $(UPSTREAM_TARBALL)
+       mkdir -p debian/$(DISTDIR)
+# Copy upstream tarball
+       cp $< debian/$(DISTDIR)
+# Copy debian/patches
+       cp -a debian/patches debian/$(DISTDIR)/debian-patches
+# Set permissions (workaround for #796257)
+       chmod 755 debian/$(DISTDIR)/debian-patches
+       chmod 644 debian/$(DISTDIR)/debian-patches/*
+# Create the tarball and cleanup
+       cd debian && find $(DISTDIR) -not -type d -print0 | \
+               LC_ALL=C sort --zero-terminated | \
+               tar --create --null --files-from=- \
+                       --file=$(abspath $@) --mtime="$(BUILD_DATE)" \
+                       --owner=root --group=root --numeric-owner
+       rm -Rf debian/$(DISTDIR)
+endif
+
+.PHONY: override_dh_auto_configure
+override_dh_auto_configure: config-stamp ocamlinit-stamp
+
+config-stamp: pre-config-stamp
+       ./configure $(CONFIGURE_OPTS)
+       sed -i $(CONFIGURE_SED) config/Makefile
+       touch $@
+
+ocamlinit-stamp: $(TARBALL_TARGET) config-stamp
+       $(MAKE) -f $(CURDIR)/debian/ocamlinit.mk ocamlinit-stamp
+
+.PHONY: override_dh_auto_build
+override_dh_auto_build: build-stamp
+
+build-stamp: config-stamp
+       if test ! -d boot.debian; then \
+         cp -xa boot boot.debian; \
+       fi
+       rm -Rf debian/examples && mkdir debian/examples
+ifeq ($(BUILDCACHE),)
+       $(MAKE) world
+       $(MAKE) bootstrap
+       $(MAKE) -C tools dumpobj
+ifeq (,$(OCAML_OPT_ARCH))
+# As of 3.11.0, manpages are made only in `make opt.opt'
+       make -C ocamldoc manpages \
+         OCAMLDOC_RUN="../boot/ocamlrun -I ../otherlibs/unix -I ../otherlibs/str ./ocamldoc"
+else
+       @echo "Building native compilers"
+       $(MAKE) opt opt.opt
+       touch opt-built-stamp
+endif
+else
+       @echo "===> WARNING: $(BUILDCACHE) detected, compilation skipped! <==="
+       rsync -a --exclude=debian --exclude=.git $(BUILDCACHE)/ .
+       rm -f build-stamp install-stamp-arch install-stamp-indep
+endif
+       touch $@
+
+.PHONY: override_dh_auto_clean
+override_dh_auto_clean:
+ifneq ($(wildcard $(CURDIR)/config/Makefile),)
+       $(MAKE) clean
+       $(MAKE) -C emacs clean
+endif
+       $(MAKE) -f $(CURDIR)/debian/ocamlinit.mk ocamlinit-clean
+# Restore files altered by the build process
+       if test -d boot.debian; then \
+         rm -Rf boot; \
+         mv boot.debian boot; \
+       fi
+       set -e; for ext in sub guess; do \
+         if [ -f debian/config.orig.$$ext ] ; then \
+           mv -f debian/config.orig.$$ext config/gnu/config.$$ext; \
+         fi; \
+       done
+       if head -n 1 emacs/ocamltags.in | grep -q '^#!/bin/sh'; then \
+               sed -i 1d emacs/ocamltags.in; \
+       fi
+# Remaining stuff
+       -rm -Rf debian/$(SRCTARBALL) debian/examples $(TESTDIR)
+
+.PHONY: override_dh_auto_install-arch override_dh_auto_install-indep
+override_dh_auto_install-arch: install-stamp-arch
+override_dh_auto_install-indep: install-stamp-indep
+
+install-stamp-indep:
+ifneq (,$(findstring ocaml-mode,$(ALL_PACKAGES)))
+# Install Emacs files
+       $(MAKE) -C emacs \
+         EMACSDIR=$(CURDIR)/debian/ocaml-mode/usr/share/emacs/site-lisp/ocaml-mode \
+         NOCOMPILE=true simple-install
+       if ! head -n 1 emacs/ocamltags.in | grep -q '^#!/bin/sh'; then \
+         sed -i -e '1 i #!/bin/sh' emacs/ocamltags.in; \
+       fi
+       $(MAKE) -C emacs SCRIPTDIR=$(CURDIR)/debian/ocaml-mode/usr/bin install-ocamltags
+endif
+       touch $@
+
+install-stamp-arch:
+# Install OCaml
+       $(MAKE) install PREFIX=$(INSTDIR)
+ifeq (,$(DEB_TEST_BUILD_PREFIX))
+# Remove uninstalled files
+       rm -f \
+         $(INSTDIR)/share/man/man1/ocamlopt.opt.1 \
+         $(INSTDIR)/share/man/man1/ocamlc.opt.1
+ifeq ($(OCAML_HAVE_OCAMLOPT),no)
+# Remove files that make no sense without ocamlopt
+       rm -f \
+         $(INSTDIR)/share/man/man1/ocamloptp.1 \
+         $(INSTDIR)/share/man/man1/ocamlopt.1 \
+         $(INSTDIR)/bin/ocamloptp.* \
+         $(INSTDIR)/bin/ocamloptp
+endif
+# Dispatch files with dh_install
+       cd debian && \
+       set -e; for u in ocaml ocaml-nox; do \
+         DESTDIR=tmp ./gen_modules.pl $$u.install > $$u.install.new; \
+         mv $$u.install.new $$u.install; \
+       done
+       if ! dh_install --fail-missing; then \
+         echo "===> dh_install has failed <==="; \
+         find debian/tmp; \
+         exit 1; \
+       fi
+# Install additional files not handled by dh_install
+# Beware: dh_install does not handle renamings, please pay attention
+       set -e; for u in dumpobj; do \
+         if [ -f tools/$$u ]; then \
+           cp tools/$$u debian/ocaml-nox/usr/bin/ocaml$$u; \
+         fi \
+       done
+       set -e; for pkg in ocaml ocaml-nox ocaml-base; do ( \
+         mkdir -p debian/$$pkg/usr/share/doc/$$pkg && \
+         cd debian/$$pkg/usr/share/doc/$$pkg && \
+         ln -sf ../ocaml-base-nox/README.gz . && \
+         ln -sf ../ocaml-base-nox/README.Debian .; \
+       ); done
+endif
+# Remaining stuff
+       touch $@
+
+.PHONY: override_dh_gencontrol
+override_dh_gencontrol:
+       set -e; for u in ocaml-source ocaml-interp ocaml-compiler-libs; do \
+         echo 'F:OCamlABI=$(OCAML_ABI)' >> debian/$$u.substvars; \
+       done
+ifeq (,$(OCAML_OPT_ARCH))
+       echo 'F:NativeProvides=' >> debian/ocaml-nox.substvars
+else
+       echo 'F:NativeProvides=ocaml-native-compilers (= $${binary:Version})' >> debian/ocaml-nox.substvars
+endif
+# Create .md5sums files and compute dependencies. Use $(OCAML_ABI)
+# because we know that OCaml ABI represents best dependencies for
+# OCaml package.
+       dh_ocaml -Xcompiler-libs \
+        --runtime-map ocaml-nox:ocaml-base-nox,ocaml:ocaml-base \
+        --checksum $(OCAML_ABI)
+       dh_gencontrol
+# Check that OCAML_ABI is correct
+       if [ "$(OCAML_ABI)" != "$(shell boot/ocamlrun ./ocamlc -version | { read a && echo $${a%%_*}; })" ]; then \
+         echo "Please adjust OCAML_ABI in debian/rules"; \
+         exit 2; \
+       fi
+
+.PHONY: regenerate
+regenerate: debian/control
+       git ls-tree --name-only -r HEAD debian \
+         | grep -v '^debian/\(patches/\|source/local-\)' \
+       > debian/MANIFEST
+
+# Architectures where running the test suite completely makes the
+# whole build last more than 30 minutes on buildds. Originally,
+# because some tests do not even finish on mips.
+SLOW_ARCHITECTURES := armel armhf ia64 mips mipsel powerpc powerpcspe sparc
+
+.PHONY: override_dh_auto_test
+override_dh_auto_test:
+ifeq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+       : # tries to connect the net
+       rm -f testsuite/tests/lib-threads/testsocket.*
+       : # FIXME: the following tests fail, we temporarily disable them
+       rm -rf testsuite/tests/tool-debugger/basic/
+       rm -rf testsuite/tests/tool-debugger/find-artifacts/
+       rm -rf testsuite/tests/tool-debugger/no_debug_event/
+ifneq (,$(filter $(DEB_BUILD_ARCH),$(SLOW_ARCHITECTURES)))
+       rm -f testsuite/tests/misc-unsafe/almabench.ml
+endif
+ifeq (,$(DEB_TEST_BUILD_PREFIX))
+       cd testsuite && make all
+endif
+endif
+
+.PHONY: override_dh_installdocs
+override_dh_installdocs:
+       dh_installdocs --ignore debian/README.Debian
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..c19eec0
--- /dev/null
+++ b/watch
@@ -0,0 +1,3 @@
+version=3
+opts=uversionmangle=s/\+/~/ \
+http://caml.inria.fr/pub/distrib/ocaml-([\d\.]+)/ocaml-([^-]+)\.tar\.xz