From 12fc778f8da1410d980ea51f00d3a38bf0ba7852 Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Glondu?= Date: Fri, 25 Jan 2019 14:59:28 +0100 Subject: [PATCH 1/1] Import ocaml_4.05.0-11.debian.tar.xz [dgit import tarball ocaml 4.05.0-11 ocaml_4.05.0-11.debian.tar.xz] --- MANIFEST | 57 + README.Debian | 15 + README.source | 21 + TODO.Debian | 15 + changelog | 2276 +++++++++++++++++ clean | 10 + compat | 1 + control | 216 ++ control.in | 215 ++ copyright | 182 ++ gbp.conf | 4 + gen_modules.pl | 77 + ld.conf.in | 2 + man/ocamldumpobj.1 | 20 + man/ocamlmklib.1 | 127 + man/ocamlobjinfo.1 | 42 + native-archs | 1 + ocaml-base-nox.README.Debian | 54 + ocaml-base-nox.dirs.in | 4 + ocaml-base-nox.docs | 1 + ocaml-base-nox.install.in | 77 + ocaml-base-nox.postinst.in | 32 + ocaml-base-nox.prerm.in | 8 + ocaml-base.dirs.in | 3 + ocaml-base.install.in | 3 + ocaml-compiler-libs.install.in | 47 + ocaml-interp.install.in | 4 + ocaml-mode.README.Debian | 14 + ocaml-mode.dirs | 2 + ocaml-mode.emacsen-compat | 1 + ocaml-mode.emacsen-install | 62 + ocaml-mode.emacsen-remove | 15 + ocaml-mode.emacsen-startup | 26 + ocaml-native-compilers.dirs | 3 + ocaml-native-compilers.files | 1 + ocaml-nox.dirs.in | 2 + ocaml-nox.install.in | 394 +++ ocaml-nox.lintian-overrides.in | 3 + ocaml-nox.manpages.in | 3 + ocaml-nox.postinst.in | 16 + ocaml-nox.postrm | 6 + ocaml-nox.preinst | 8 + ocaml-source.dirs.in | 1 + ocaml-source.exclude | 4 + ocaml-source.install.in | 1 + ocaml.desktop | 8 + ocaml.dirs.in | 1 + ocaml.examples | 1 + ocaml.install.in | 10 + ocaml.xpm | 290 +++ ocamlfind/ocaml-native-compilers.conf | 4 + ocamlinit.mk | 86 + ocamlvars.mk | 11 + .../0001-Pass-no-relax-to-ld-on-alpha.patch | 32 + patches/0002-Call-ld-with-proper-flags.patch | 24 + patches/0003-Don-t-use-rpath.patch | 24 + ...-manpages-in-section-3o-instead-of-3.patch | 21 + ...eclarations-in-generated-.c-files-in.patch | 101 + ...tecode-in-C-object-when-using-custom.patch | 222 ++ ...aces-don-t-work-on-powerpc-and-sparc.patch | 24 + patches/0010-XL-001-tests.asmcomp.patch | 24 + ...4-hide-symbols-for-stricter-binutils.patch | 95 + ...erflows-when-unmarshaling-a-bigarray.patch | 67 + ...for-linking-all-executables-and-shar.patch | 44 + ...a-stable-name-for-preprocessed-files.patch | 33 + patches/series | 12 + rules | 302 +++ source/format | 1 + watch | 3 + 69 files changed, 5516 insertions(+) create mode 100644 MANIFEST create mode 100644 README.Debian create mode 100644 README.source create mode 100644 TODO.Debian create mode 100644 changelog create mode 100644 clean create mode 100644 compat create mode 100644 control create mode 100644 control.in create mode 100644 copyright create mode 100644 gbp.conf create mode 100755 gen_modules.pl create mode 100644 ld.conf.in create mode 100644 man/ocamldumpobj.1 create mode 100644 man/ocamlmklib.1 create mode 100644 man/ocamlobjinfo.1 create mode 100644 native-archs create mode 100644 ocaml-base-nox.README.Debian create mode 100644 ocaml-base-nox.dirs.in create mode 100644 ocaml-base-nox.docs create mode 100644 ocaml-base-nox.install.in create mode 100644 ocaml-base-nox.postinst.in create mode 100644 ocaml-base-nox.prerm.in create mode 100644 ocaml-base.dirs.in create mode 100644 ocaml-base.install.in create mode 100644 ocaml-compiler-libs.install.in create mode 100644 ocaml-interp.install.in create mode 100644 ocaml-mode.README.Debian create mode 100644 ocaml-mode.dirs create mode 100644 ocaml-mode.emacsen-compat create mode 100644 ocaml-mode.emacsen-install create mode 100644 ocaml-mode.emacsen-remove create mode 100644 ocaml-mode.emacsen-startup create mode 100644 ocaml-native-compilers.dirs create mode 100644 ocaml-native-compilers.files create mode 100644 ocaml-nox.dirs.in create mode 100644 ocaml-nox.install.in create mode 100644 ocaml-nox.lintian-overrides.in create mode 100644 ocaml-nox.manpages.in create mode 100644 ocaml-nox.postinst.in create mode 100644 ocaml-nox.postrm create mode 100644 ocaml-nox.preinst create mode 100644 ocaml-source.dirs.in create mode 100644 ocaml-source.exclude create mode 100644 ocaml-source.install.in create mode 100644 ocaml.desktop create mode 100644 ocaml.dirs.in create mode 100644 ocaml.examples create mode 100644 ocaml.install.in create mode 100644 ocaml.xpm create mode 100644 ocamlfind/ocaml-native-compilers.conf create mode 100644 ocamlinit.mk create mode 100644 ocamlvars.mk create mode 100644 patches/0001-Pass-no-relax-to-ld-on-alpha.patch create mode 100644 patches/0002-Call-ld-with-proper-flags.patch create mode 100644 patches/0003-Don-t-use-rpath.patch create mode 100644 patches/0004-Put-manpages-in-section-3o-instead-of-3.patch create mode 100644 patches/0005-Avoid-multiple-declarations-in-generated-.c-files-in.patch create mode 100644 patches/0006-Embed-bytecode-in-C-object-when-using-custom.patch create mode 100644 patches/0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch create mode 100644 patches/0010-XL-001-tests.asmcomp.patch create mode 100644 patches/0011-arm64-hide-symbols-for-stricter-binutils.patch create mode 100644 patches/0012-Integer-overflows-when-unmarshaling-a-bigarray.patch create mode 100644 patches/0013-Use-CCLINKFLAGS-for-linking-all-executables-and-shar.patch create mode 100644 patches/0014-Compute-a-stable-name-for-preprocessed-files.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 source/format create mode 100644 watch diff --git a/MANIFEST b/MANIFEST new file mode 100644 index 00000000..35f86190 --- /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 index 00000000..7a63ebce --- /dev/null +++ b/README.Debian @@ -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 , Tue, 26 Jun 2012 07:27:05 +0200 diff --git a/README.source b/README.source new file mode 100644 index 00000000..f0dd1617 --- /dev/null +++ b/README.source @@ -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 , Sun, 18 Apr 2010 15:20:53 +0200 diff --git a/TODO.Debian b/TODO.Debian new file mode 100644 index 00000000..a9017da5 --- /dev/null +++ b/TODO.Debian @@ -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 index 00000000..4e4327f1 --- /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 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 Wed, 04 Oct 2017 14:14:39 +0200 + +ocaml (4.05.0-9) unstable; urgency=medium + + * Upload to unstable. (Closes: #871990) + + -- Ximin Luo 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 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 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 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 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 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 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 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 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 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 Fri, 03 Mar 2017 23:57:44 +0100 + +ocaml (4.03.0-5) experimental; urgency=medium + + * Fix variable substitution in Makefile syntax. + + -- Ximin Luo 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 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 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 Fri, 28 Oct 2016 02:13:18 +0200 + +ocaml (4.03.0-1) experimental; urgency=medium + + * Team upload. + * New upstream release. + + -- Ximin Luo 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 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 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 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 Fri, 15 Jul 2016 22:19:44 +0200 + +ocaml (4.02.3-6) unstable; urgency=medium + + * Add x32 support (Closes: #773409) + + -- Stéphane Glondu 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 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 Mon, 19 Oct 2015 01:01:53 +0200 + +ocaml (4.02.3-3) unstable; urgency=medium + + * Upload to unstable + + -- Stéphane Glondu 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 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 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 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 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 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 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 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 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 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 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 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 Wed, 14 Nov 2012 14:17:27 +0100 + +ocaml (4.00.0-1) experimental; urgency=low + + * New upstream release + + -- Stéphane Glondu 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Sun, 07 Feb 2010 22:11:16 +0100 + +ocaml (3.11.1-5) unstable; urgency=low + + * Use Tcl/Tk 8.5 + + -- Stéphane Glondu 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Tue, 17 Apr 2007 09:57:47 +0200 + +ocaml (3.09.3-1) experimental; urgency=low + + [ Samuel Mimram ] + * New upstream release. + + -- Julien Cristau 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 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 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 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 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 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 Fri, 16 Jun 2006 09:11:02 +0000 + +ocaml (3.09.2-3) unstable; urgency=low + + * Uploading to unstable. + + -- Samuel Mimram 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 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 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 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 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 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 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 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 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 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 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 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 .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 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 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 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 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 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 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 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 Mon, 21 Mar 2005 07:46:26 +0100 + +ocaml (3.08.2-1) unstable; urgency=low + + * new upstream stable release. + + -- Sven Luther Sat, 27 Nov 2004 12:25:08 +0100 + +ocaml (3.08.1-2) unstable; urgency=high + + * Cleaned up ocaml-source location. + + -- Sven Luther 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Wed, 20 Aug 2003 13:57:28 +0200 + +ocaml (3.06-20) unstable; urgency=low + + * Fixed BestProvides substvar stuff. (Closes: #205228, #204537) + + -- Sven Luther Tue, 19 Aug 2003 18:36:29 +0200 + +ocaml (3.06-19) unstable; urgency=low + + * Fix a alloc_channel bug. (Closes: #204146). + + -- Sven Luther 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 ). + + -- Sven Luther 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 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 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 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 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 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 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 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 Wed, 16 Jan 2002 18:08:39 +0100 + +ocaml (3.04-4) unstable; urgency=low + + * fixed emacs support and added ocamltags. + + -- Sven Luther 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 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 Thu, 20 Dec 2001 09:35:21 +0100 + +ocaml (3.04-1) unstable; urgency=low + + * New upstream release. + + -- Sven Luther 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 Tue, 6 Nov 2001 12:46:52 +0100 + +ocaml (3.02-2) unstable; urgency=low + + * Build with gcc. + + -- Sven Luther 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 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 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 Fri, 6 Apr 2001 15:34:26 +0200 + +ocaml (3.01-5.2) unstable; urgency=low + + * Adds menu file, Closes: #83490. + + -- Sven Luther 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 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 Thu, 29 Mar 2001 13:03:43 +0200 + +ocaml (3.01-4) unstable; urgency=low + + * fixes arm build. Fixes: #90089. + + -- Sven Luther 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 Thu, 22 Mar 2001 09:57:32 +0100 + +ocaml (3.01-2) unstable; urgency=low + + * Fix missing dbm and labltk builds. + + -- Sven Luther Fri, 16 Mar 2001 10:49:02 +0100 + +ocaml (3.01-1) unstable; urgency=low + + * New upstream release. + + -- Sven Luther Fri, 9 Mar 2001 16:25:19 +0100 + +ocaml (3.00-6) unstable; urgency=low + + * Added some suggest field, Fixes: #85280. + + -- Sven Luther 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 Mon, 5 Feb 2001 14:50:54 +0100 + +ocaml (3.00-4) unstable; urgency=low + + * added debhelper to the Build-depends :(((( + + -- Sven Luther 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 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 Mon, 8 Jan 2001 14:34:26 +0100 + +ocaml (3.00-1) unstable; urgency=low + + * new upstream release. + + -- Sven Luther 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 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 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 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 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 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 Thu, 9 Dec 1999 10:20:06 +0100 + +ocaml (2.04-1) unstable; urgency=low + + * New upstream release. + + -- Sven Luther 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 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 Thu, 18 Nov 1999 14:55:46 +0100 + +ocaml (2.02-8) unstable; urgency=low + + * fixed bad suggests line for ocaml-doc. + + -- Sven Luther 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 Sat, 9 Oct 1999 14:20:25 +0200 + +ocaml (2.02-6) unstable; urgency=low + + * Adding FHS-compliance. + + -- Sven Luther 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 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 Sat, 29 May 1999 20:43:41 +0200 + +ocaml (2.02-3) unstable; urgency=low + + * Enabled m68k native code compiler. + + -- Sven Luther 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 Thu, 29 Apr 1999 20:05:35 +0100 + +ocaml (2.02-1) unstable; urgency=low + + * New upstream release. + + -- Sven Luther 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 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 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 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 Tue, 16 Feb 1999 10:31:35 +0100 + +ocaml (2.01-1) unstable; urgency=low + + * New upstream release. + + -- Sven Luther 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 Sun, 13 Sep 1998 09:08:05 +0200 + +ocaml (2.00-1) unstable; urgency=low + + * new upstream source + + -- Sven Luther Mon, 31 Aug 1998 10:08:05 +0200 + +ocaml (1.07-1) unstable; urgency=low + + * new upstream source + + -- Sven Luther Sat, 21 Feb 1998 10:36:26 +0800 + +ocaml (1.05-2) unstable; urgency=low + + * Build with libc6 + + -- Christophe Le Bars Sun, 28 Sep 1997 16:45:02 +0200 + +ocaml (1.05-1) non-free; urgency=low + + * New upstream source + + -- Christophe Le Bars 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 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 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 Fri, 11 Oct 1996 22:25:01 +0200 diff --git a/clean b/clean new file mode 100644 index 00000000..e479f0b1 --- /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 index 00000000..ec635144 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +9 diff --git a/control b/control new file mode 100644 index 00000000..7d7d2e42 --- /dev/null +++ b/control @@ -0,0 +1,216 @@ +Source: ocaml +Section: ocaml +Priority: optional +Maintainer: Debian OCaml Maintainers +Uploaders: + Samuel Mimram , + Ralf Treinen , + Stéphane Glondu , + Mehdi Dogguy , + Ximin Luo +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 index 00000000..fc3c50b8 --- /dev/null +++ b/control.in @@ -0,0 +1,215 @@ +Source: ocaml +Section: ocaml +Priority: optional +Maintainer: Debian OCaml Maintainers +Uploaders: + Samuel Mimram , + Ralf Treinen , + Stéphane Glondu , + Mehdi Dogguy , + Ximin Luo +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 index 00000000..aa47911d --- /dev/null +++ b/copyright @@ -0,0 +1,182 @@ +Packaged-By: Sven Luther +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 +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 index 00000000..0626b574 --- /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 index 00000000..9706ae32 --- /dev/null +++ b/gen_modules.pl @@ -0,0 +1,77 @@ +#!/usr/bin/perl -w +# +# Description: generating .install files for ocaml binary packages +# +# Copyright © 2009 Stéphane Glondu +# +# 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 index 00000000..69e2c3e2 --- /dev/null +++ b/ld.conf.in @@ -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 index 00000000..06709479 --- /dev/null +++ b/man/ocamldumpobj.1 @@ -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 , +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 index 00000000..c57bf5ee --- /dev/null +++ b/man/ocamlmklib.1 @@ -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 , +for the Debian project (but may be used by others). diff --git a/man/ocamlobjinfo.1 b/man/ocamlobjinfo.1 new file mode 100644 index 00000000..b728e80a --- /dev/null +++ b/man/ocamlobjinfo.1 @@ -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 +and Stéphane Glondu , for the Debian GNU/Linux +system (but may be used by others). diff --git a/native-archs b/native-archs new file mode 100644 index 00000000..6b492b06 --- /dev/null +++ b/native-archs @@ -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 index 00000000..cda8aafe --- /dev/null +++ b/ocaml-base-nox.README.Debian @@ -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//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/, + but rather under /usr/local/lib/ocaml/. + 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//stublibs which is searched before + /usr/lib/ocaml//stublibs. + + -- Ralf Treinen , 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 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 index 00000000..5493f540 --- /dev/null +++ b/ocaml-base-nox.dirs.in @@ -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 index 00000000..52e22424 --- /dev/null +++ b/ocaml-base-nox.docs @@ -0,0 +1 @@ +README.adoc diff --git a/ocaml-base-nox.install.in b/ocaml-base-nox.install.in new file mode 100644 index 00000000..08c886bf --- /dev/null +++ b/ocaml-base-nox.install.in @@ -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 index 00000000..8cab4291 --- /dev/null +++ b/ocaml-base-nox.postinst.in @@ -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 index 00000000..15a3aa7c --- /dev/null +++ b/ocaml-base-nox.prerm.in @@ -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 index 00000000..042cb5d6 --- /dev/null +++ b/ocaml-base.dirs.in @@ -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 index 00000000..6f5077ba --- /dev/null +++ b/ocaml-base.install.in @@ -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 index 00000000..1f94da12 --- /dev/null +++ b/ocaml-compiler-libs.install.in @@ -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 index 00000000..4da08081 --- /dev/null +++ b/ocaml-interp.install.in @@ -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 index 00000000..3dd76634 --- /dev/null +++ b/ocaml-mode.README.Debian @@ -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 , Sat Sep 3 11:41:37 2005 diff --git a/ocaml-mode.dirs b/ocaml-mode.dirs new file mode 100644 index 00000000..e12d94c6 --- /dev/null +++ b/ocaml-mode.dirs @@ -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 index 00000000..45a4fb75 --- /dev/null +++ b/ocaml-mode.emacsen-compat @@ -0,0 +1 @@ +8 diff --git a/ocaml-mode.emacsen-install b/ocaml-mode.emacsen-install new file mode 100644 index 00000000..b93a9c71 --- /dev/null +++ b/ocaml-mode.emacsen-install @@ -0,0 +1,62 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/ocaml-mode + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +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 index 00000000..abc5bd3f --- /dev/null +++ b/ocaml-mode.emacsen-remove @@ -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 index 00000000..dd22fe60 --- /dev/null +++ b/ocaml-mode.emacsen-startup @@ -0,0 +1,26 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file for the Debian GNU/Linux ocaml package +;; +;; Originally contributed by Nils Naumann +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; 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 index 00000000..145ce2ad --- /dev/null +++ b/ocaml-native-compilers.dirs @@ -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 index 00000000..d6f9cf20 --- /dev/null +++ b/ocaml-native-compilers.files @@ -0,0 +1 @@ +/usr/bin/*.opt diff --git a/ocaml-nox.dirs.in b/ocaml-nox.dirs.in new file mode 100644 index 00000000..d95b06ba --- /dev/null +++ b/ocaml-nox.dirs.in @@ -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 index 00000000..0fa994d0 --- /dev/null +++ b/ocaml-nox.install.in @@ -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 index 00000000..08458841 --- /dev/null +++ b/ocaml-nox.lintian-overrides.in @@ -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 index 00000000..5ed39617 --- /dev/null +++ b/ocaml-nox.manpages.in @@ -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 index 00000000..8e32f2fb --- /dev/null +++ b/ocaml-nox.postinst.in @@ -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 index 00000000..3dc4359e --- /dev/null +++ b/ocaml-nox.postrm @@ -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 index 00000000..c7e4af2d --- /dev/null +++ b/ocaml-nox.preinst @@ -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 index 00000000..b601f22c --- /dev/null +++ b/ocaml-source.dirs.in @@ -0,0 +1 @@ +usr/src diff --git a/ocaml-source.exclude b/ocaml-source.exclude new file mode 100644 index 00000000..a1a44347 --- /dev/null +++ b/ocaml-source.exclude @@ -0,0 +1,4 @@ +*/debian +*/*-stamp +*/.git +*/.pc diff --git a/ocaml-source.install.in b/ocaml-source.install.in new file mode 100644 index 00000000..3842d34e --- /dev/null +++ b/ocaml-source.install.in @@ -0,0 +1 @@ +debian/ocaml-source-@OCamlABI@.tar /usr/src/ diff --git a/ocaml.desktop b/ocaml.desktop new file mode 100644 index 00000000..15b736b1 --- /dev/null +++ b/ocaml.desktop @@ -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 index 00000000..cc516878 --- /dev/null +++ b/ocaml.dirs.in @@ -0,0 +1 @@ +@OCamlStdlibDir@ diff --git a/ocaml.examples b/ocaml.examples new file mode 100644 index 00000000..55b78ae3 --- /dev/null +++ b/ocaml.examples @@ -0,0 +1 @@ +debian/examples/* diff --git a/ocaml.install.in b/ocaml.install.in new file mode 100644 index 00000000..bc5b2b50 --- /dev/null +++ b/ocaml.install.in @@ -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 index 00000000..4c5abe27 --- /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 index 00000000..e9c24674 --- /dev/null +++ b/ocamlfind/ocaml-native-compilers.conf @@ -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 index 00000000..e751aa93 --- /dev/null +++ b/ocamlinit.mk @@ -0,0 +1,86 @@ +# +# Description: Useful Makefile rules for OCaml related packages +# +# Copyright © 2009 Stéphane Glondu +# +# 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 index 00000000..3a3093ef --- /dev/null +++ b/ocamlvars.mk @@ -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 index 00000000..e2e28b87 --- /dev/null +++ b/patches/0001-Pass-no-relax-to-ld-on-alpha.patch @@ -0,0 +1,32 @@ +From: Stefano Zacchiroli +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 index 00000000..fb74f759 --- /dev/null +++ b/patches/0002-Call-ld-with-proper-flags.patch @@ -0,0 +1,24 @@ +From: Stefano Zacchiroli +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 index 00000000..f1742fcd --- /dev/null +++ b/patches/0003-Don-t-use-rpath.patch @@ -0,0 +1,24 @@ +From: Stefano Zacchiroli +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 index 00000000..3a29c6db --- /dev/null +++ b/patches/0004-Put-manpages-in-section-3o-instead-of-3.patch @@ -0,0 +1,21 @@ +From: Julien Cristau +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 index 00000000..fe9811a2 --- /dev/null +++ b/patches/0005-Avoid-multiple-declarations-in-generated-.c-files-in.patch @@ -0,0 +1,101 @@ +From: Stephane Glondu +Date: Thu, 21 Apr 2011 18:39:31 +0200 +Subject: Avoid multiple declarations in generated .c files in -output-obj + +In -output-obj mode, (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 +--- + 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 index 00000000..1441bccb --- /dev/null +++ b/patches/0006-Embed-bytecode-in-C-object-when-using-custom.patch @@ -0,0 +1,222 @@ +From: Stephane Glondu +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 +--- + 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 index 00000000..c75d88fd --- /dev/null +++ b/patches/0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch @@ -0,0 +1,24 @@ +From: Stephane Glondu +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 index 00000000..cefb1a85 --- /dev/null +++ b/patches/0010-XL-001-tests.asmcomp.patch @@ -0,0 +1,24 @@ +From: Xavier Leroy +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 index 00000000..52fa6b72 --- /dev/null +++ b/patches/0011-arm64-hide-symbols-for-stricter-binutils.patch @@ -0,0 +1,95 @@ +From: Mark Shinwell +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 index 00000000..d982b190 --- /dev/null +++ b/patches/0012-Integer-overflows-when-unmarshaling-a-bigarray.patch @@ -0,0 +1,67 @@ +From: Stephane Glondu +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 index 00000000..cae92118 --- /dev/null +++ b/patches/0013-Use-CCLINKFLAGS-for-linking-all-executables-and-shar.patch @@ -0,0 +1,44 @@ +From: Torok Edwin +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 index 00000000..40daf9c7 --- /dev/null +++ b/patches/0014-Compute-a-stable-name-for-preprocessed-files.patch @@ -0,0 +1,33 @@ +From: Johannes Schauer +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 index 00000000..b64e943a --- /dev/null +++ b/patches/series @@ -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 index 00000000..96fef652 --- /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 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 00000000..c19eec0f --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=3 +opts=uversionmangle=s/\+/~/ \ +http://caml.inria.fr/pub/distrib/ocaml-([\d\.]+)/ocaml-([^-]+)\.tar\.xz -- 2.30.2