+ocaml (4.03.0-1) UNRELEASED; urgency=medium
+
+ * New upstream release.
+
+ -- Ximin Luo <infinity0@debian.org> Wed, 28 Sep 2016 21:59:52 +0200
+
ocaml (4.02.3-7) unstable; urgency=medium
* d/rules: split install-stamp target into -arch and -indep, to allow
configure | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/configure b/configure
-index 4ea1498..46149a7 100755
--- a/configure
+++ b/configure
-@@ -365,7 +365,8 @@ case "$bytecc,$target" in
+@@ -374,7 +374,8 @@
*gcc*,alpha*-*-linux*)
if cc="$bytecc" sh ./hasgot -mieee; then
bytecccompopts="-mieee $bytecccompopts";
- fi;;
+ fi
+ bytecclinkopts="-Wl,--no-relax";;
- cc,mips-*-irix6*)
- # Add -n32 flag to ensure compatibility with native-code compiler
- bytecccompopts="-n32"
-@@ -901,6 +902,7 @@ case "$arch,$nativecc,$system,$target" in
- nativecccompopts="$gcc_warnings -DSHRINKED_GNUC";;
- *,*,rhapsody,*) nativecccompopts="$gcc_warnings -DDARWIN_VERSION_6 $dl_defs"
- if $arch64; then partialld="ld -r -arch ppc64"; fi;;
+ *,mips-*-irix6*)
+ # Turn off warning "unused library"
+ bytecclinkopts="-n32 -Wl,-woff,84";;
+@@ -893,6 +894,7 @@
+ 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";;
- *,gcc*,cygwin,*) nativecccompopts="$gcc_warnings -U_WIN32";;
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";;
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/configure b/configure
-index 46149a7..dfcb849 100755
--- a/configure
+++ b/configure
-@@ -1743,7 +1743,7 @@ echo "OTHERLIBRARIES=$otherlibraries" >> Makefile
+@@ -1782,7 +1782,7 @@
echo "CC_PROFILE=$cc_profile" >> Makefile
echo "SYSTHREAD_SUPPORT=$systhread_support" >> Makefile
echo "PARTIALLD=$partialld" >> Makefile
tools/ocamlmklib.ml | 5 +++++
1 file changed, 5 insertions(+)
-diff --git a/tools/ocamlmklib.ml b/tools/ocamlmklib.ml
-index 23a273e..a5e0d34 100644
--- a/tools/ocamlmklib.ml
+++ b/tools/ocamlmklib.ml
-@@ -40,6 +40,11 @@ and rpath = ref [] (* rpath options *)
+@@ -43,6 +43,11 @@
and debug = ref false (* -g option *)
and verbose = ref false
ocamldoc/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/ocamldoc/Makefile b/ocamldoc/Makefile
-index 7c6d988..7700434 100644
--- a/ocamldoc/Makefile
+++ b/ocamldoc/Makefile
-@@ -312,7 +312,7 @@ test_texi: dummy
+@@ -328,7 +328,7 @@
stdlib_man/Pervasives.3o: $(STDLIB_MLIS)
$(MKDIR) stdlib_man
$(OCAMLDOC_RUN) -man -d stdlib_man $(INCLUDES) \
bytecomp/symtable.mli | 2 +-
3 files changed, 22 insertions(+), 6 deletions(-)
-diff --git a/bytecomp/bytelink.ml b/bytecomp/bytelink.ml
-index 2f5c0ec..9c972a7 100644
--- a/bytecomp/bytelink.ml
+++ b/bytecomp/bytelink.ml
-@@ -439,6 +439,20 @@ let output_cds_file outfile =
+@@ -440,6 +440,20 @@
remove_file outfile;
raise x
(* Output a bytecode executable as a C file *)
let link_bytecode_as_c ppf tolink outfile =
-@@ -481,7 +495,7 @@ let link_bytecode_as_c ppf tolink outfile =
+@@ -482,7 +496,7 @@
(Marshal.to_string sections []);
output_string outchan "\n};\n\n";
(* The table of primitives *)
(* The entry point *)
output_string outchan "\
\nvoid caml_startup(char ** argv)\
-@@ -562,7 +576,7 @@ let link ppf objfiles output_name =
+@@ -563,7 +577,7 @@
#else\n\
typedef long value;\n\
#endif\n";
output_string poc "\
#ifdef __cplusplus\n\
}\n\
-diff --git a/bytecomp/symtable.ml b/bytecomp/symtable.ml
-index a0ce273..d94863d 100644
--- a/bytecomp/symtable.ml
+++ b/bytecomp/symtable.ml
-@@ -115,15 +115,17 @@ let output_primitive_names outchan =
+@@ -118,15 +118,17 @@
open Printf
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 ffc878b..887f25a 100644
--- a/bytecomp/symtable.mli
+++ b/bytecomp/symtable.mli
-@@ -23,7 +23,7 @@ val require_primitive: string -> unit
+@@ -26,7 +26,7 @@
val initial_global_table: unit -> Obj.t array
val output_global_map: out_channel -> unit
val output_primitive_names: out_channel -> unit
testsuite/tests/lib-marshal/Makefile | 3 ++
7 files changed, 57 insertions(+), 4 deletions(-)
-diff --git a/bytecomp/bytelink.ml b/bytecomp/bytelink.ml
-index 9c972a7..fcb96cf 100644
--- a/bytecomp/bytelink.ml
+++ b/bytecomp/bytelink.ml
-@@ -455,7 +455,7 @@ let mlvalues_primitives = [
+@@ -456,7 +456,7 @@
(* Output a bytecode executable as a C file *)
let outchan = open_out outfile in
begin try
(* The bytecode *)
-@@ -497,14 +497,27 @@ let link_bytecode_as_c ppf tolink outfile =
+@@ -498,14 +498,27 @@
(* The table of primitives *)
Symtable.output_primitive_table outchan mlvalues_primitives;
(* The entry point *)
\n#ifdef __cplusplus\
\n}\
\n#endif\n";
-@@ -543,6 +556,17 @@ let fix_exec_name name =
+@@ -544,6 +557,17 @@
if String.contains name '.' then name else name ^ ".exe"
| _ -> name
(* Main entry point (build a custom runtime if needed) *)
let link ppf objfiles output_name =
-@@ -557,6 +581,16 @@ let link ppf objfiles output_name =
+@@ -558,6 +582,16 @@
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 not !Clflags.output_c_object then begin
let bytecode_name = Filename.temp_file "camlcode" "" in
let prim_name = Filename.temp_file "camlprim" ".c" in
-@@ -606,7 +640,7 @@ let link ppf objfiles output_name =
+@@ -607,7 +641,7 @@
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 false;
if not (Filename.check_suffix output_name ".c") then begin
temps := c_file :: !temps;
- if Ccomp.compile_file c_file <> 0 then raise(Error Custom_runtime);
-diff --git a/testsuite/tests/basic-manyargs/Makefile b/testsuite/tests/basic-manyargs/Makefile
-index 3cf4a15..d1ad48c 100644
+ if Ccomp.compile_file c_file <> 0 then
--- a/testsuite/tests/basic-manyargs/Makefile
+++ b/testsuite/tests/basic-manyargs/Makefile
-@@ -15,5 +15,8 @@ BASEDIR=../..
+@@ -18,5 +18,8 @@
MAIN_MODULE=manyargs
C_FILES=manyargsprim
+
include $(BASEDIR)/makefiles/Makefile.one
include $(BASEDIR)/makefiles/Makefile.common
-diff --git a/testsuite/tests/callback/Makefile b/testsuite/tests/callback/Makefile
-index d89c532..5e640ac 100644
--- a/testsuite/tests/callback/Makefile
+++ b/testsuite/tests/callback/Makefile
-@@ -16,6 +16,9 @@ CC=$(NATIVECC) -I $(CTOPDIR)/byterun
+@@ -19,6 +19,9 @@
COMPFLAGS=-I $(OTOPDIR)/otherlibs/unix
LD_PATH=$(TOPDIR)/otherlibs/unix
.PHONY: default
default:
@case " $(OTHERLIBRARIES) " in \
-diff --git a/testsuite/tests/embedded/Makefile b/testsuite/tests/embedded/Makefile
-index 088b021..f0c3d28 100644
--- a/testsuite/tests/embedded/Makefile
+++ b/testsuite/tests/embedded/Makefile
-@@ -13,6 +13,10 @@
+@@ -16,6 +16,10 @@
BASEDIR=../..
.PHONY: default
+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 a108953..9c1ff43 100644
+ @$(MAKE) compile
+ @$(MAKE) run
--- a/testsuite/tests/gc-roots/Makefile
+++ b/testsuite/tests/gc-roots/Makefile
-@@ -16,5 +16,8 @@ MAIN_MODULE=globroots
+@@ -19,5 +19,8 @@
C_FILES=globrootsprim
ADD_COMPFLAGS=-w a
+
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 f9b1c6f..1e8377d 100644
--- a/testsuite/tests/lib-dynlink-bytecode/Makefile
+++ b/testsuite/tests/lib-dynlink-bytecode/Makefile
-@@ -15,6 +15,9 @@ BASEDIR=../..
+@@ -18,6 +18,9 @@
COMPFLAGS=-I $(OTOPDIR)/otherlibs/dynlink
LD_PATH=.:$(TOPDIR)/otherlibs/dynlink
.PHONY: default
default:
@if ! $(SUPPORTS_SHARED_LIBRARIES); then \
-diff --git a/testsuite/tests/lib-marshal/Makefile b/testsuite/tests/lib-marshal/Makefile
-index 34b67dc..e8928e6 100644
--- a/testsuite/tests/lib-marshal/Makefile
+++ b/testsuite/tests/lib-marshal/Makefile
-@@ -15,5 +15,8 @@ BASEDIR=../..
+@@ -18,5 +18,8 @@
MAIN_MODULE=intext
C_FILES=intextaux
+++ /dev/null
-From: Stephane Glondu <steph@glondu.net>
-Date: Fri, 8 Nov 2013 22:27:23 +0100
-Subject: Tune resource usage of some tests
-
-The original tests trigger some limits and fail on kfreebsd-i386 with
-uncaught exception Sys_error("Thread.create: Resource temporarily
-unavailable").
----
- testsuite/tests/lib-threads/sieve.ml | 2 +-
- testsuite/tests/lib-threads/sieve.reference | 80 -------------------------
- testsuite/tests/lib-threads/testsieve.ml | 2 +-
- testsuite/tests/lib-threads/testsieve.reference | 70 ----------------------
- testsuite/tests/lib-threads/token1.ml | 2 +-
- testsuite/tests/lib-threads/token2.ml | 2 +-
- 6 files changed, 4 insertions(+), 154 deletions(-)
-
-diff --git a/testsuite/tests/lib-threads/sieve.ml b/testsuite/tests/lib-threads/sieve.ml
-index ac3a9d2..86f0e5e 100644
---- a/testsuite/tests/lib-threads/sieve.ml
-+++ b/testsuite/tests/lib-threads/sieve.ml
-@@ -40,6 +40,6 @@ let go max =
- in Thread.create (integers 2) ch;
- print_primes ch max;;
-
--let _ = go 500
-+let _ = go 50
-
- ;;
-diff --git a/testsuite/tests/lib-threads/sieve.reference b/testsuite/tests/lib-threads/sieve.reference
-index 3e7998d..6beaeaa 100644
---- a/testsuite/tests/lib-threads/sieve.reference
-+++ b/testsuite/tests/lib-threads/sieve.reference
-@@ -13,83 +13,3 @@
- 41
- 43
- 47
--53
--59
--61
--67
--71
--73
--79
--83
--89
--97
--101
--103
--107
--109
--113
--127
--131
--137
--139
--149
--151
--157
--163
--167
--173
--179
--181
--191
--193
--197
--199
--211
--223
--227
--229
--233
--239
--241
--251
--257
--263
--269
--271
--277
--281
--283
--293
--307
--311
--313
--317
--331
--337
--347
--349
--353
--359
--367
--373
--379
--383
--389
--397
--401
--409
--419
--421
--431
--433
--439
--443
--449
--457
--461
--463
--467
--479
--487
--491
--499
-diff --git a/testsuite/tests/lib-threads/testsieve.ml b/testsuite/tests/lib-threads/testsieve.ml
-index 6979f80..2f11272 100644
---- a/testsuite/tests/lib-threads/testsieve.ml
-+++ b/testsuite/tests/lib-threads/testsieve.ml
-@@ -41,7 +41,7 @@ let premiers = Event.new_channel ()
- let main _ =
- Thread.create sieve premiers;
- while true do
-- for i = 1 to 100 do
-+ for i = 1 to 30 do
- let n = Event.sync (Event.receive premiers) in
- print_int n; print_newline()
- done;
-diff --git a/testsuite/tests/lib-threads/testsieve.reference b/testsuite/tests/lib-threads/testsieve.reference
-index b6b8c06..6e97d2c 100644
---- a/testsuite/tests/lib-threads/testsieve.reference
-+++ b/testsuite/tests/lib-threads/testsieve.reference
-@@ -28,73 +28,3 @@
- 101
- 103
- 107
--109
--113
--127
--131
--137
--139
--149
--151
--157
--163
--167
--173
--179
--181
--191
--193
--197
--199
--211
--223
--227
--229
--233
--239
--241
--251
--257
--263
--269
--271
--277
--281
--283
--293
--307
--311
--313
--317
--331
--337
--347
--349
--353
--359
--367
--373
--379
--383
--389
--397
--401
--409
--419
--421
--431
--433
--439
--443
--449
--457
--461
--463
--467
--479
--487
--491
--499
--503
--509
--521
-diff --git a/testsuite/tests/lib-threads/token1.ml b/testsuite/tests/lib-threads/token1.ml
-index d0a7528..692efba 100644
---- a/testsuite/tests/lib-threads/token1.ml
-+++ b/testsuite/tests/lib-threads/token1.ml
-@@ -37,7 +37,7 @@ let process (n, conds, nprocs) =
- done
-
- let main() =
-- let nprocs = try int_of_string Sys.argv.(1) with _ -> 100 in
-+ let nprocs = try int_of_string Sys.argv.(1) with _ -> 30 in
- let iter = try int_of_string Sys.argv.(2) with _ -> 1000 in
- let conds = Array.make nprocs (Condition.create()) in
- for i = 1 to nprocs - 1 do conds.(i) <- Condition.create() done;
-diff --git a/testsuite/tests/lib-threads/token2.ml b/testsuite/tests/lib-threads/token2.ml
-index c3548fb..177b32a 100644
---- a/testsuite/tests/lib-threads/token2.ml
-+++ b/testsuite/tests/lib-threads/token2.ml
-@@ -33,7 +33,7 @@ let process (n, ins, outs, nprocs) =
- done
-
- let main() =
-- let nprocs = try int_of_string Sys.argv.(1) with _ -> 100 in
-+ let nprocs = try int_of_string Sys.argv.(1) with _ -> 30 in
- let iter = try int_of_string Sys.argv.(2) with _ -> 1000 in
- let ins = Array.make nprocs Unix.stdin in
- let outs = Array.make nprocs Unix.stdout in
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 33ca1ed..5725f8d 100644
--- a/testsuite/tests/backtrace/Makefile
+++ b/testsuite/tests/backtrace/Makefile
-@@ -20,7 +20,10 @@ OTHERFILESNOINLINING=backtraces_and_finalizers.ml
+@@ -24,7 +24,10 @@
default:
- $(MAKE) byte
-- @if $(BYTECODE_ONLY); then : ; else $(MAKE) native; fi
+ @$(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 : ; else $(MAKE) native; fi ;; \
++ *) if $(BYTECODE_ONLY); then $(MAKE) skip ; else $(MAKE) native; fi ;; \
+ esac
.PHONY: byte
+++ /dev/null
-From: Stephane Glondu <steph@glondu.net>
-Date: Sun, 16 Aug 2015 20:59:14 +0200
-Subject: Add a .file directive to generated .s files
-
-When no .file directive is given, the toolchain records the filename
-of the .o file, which is sometimes random, making generated objects
-non-deterministic.
-
-We use Location.input_name for adding .file directives to assembly
-files. Note: when the file is preprocessed, this reference holds the
-name of the temporary file. Hence, files compiled with -pp are still
-not deterministic.
-
-Bug-Debian: https://bugs.debian.org/795784
-Bug-Debian: https://bugs.debian.org/796336
----
- asmcomp/amd64/emit.mlp | 1 +
- asmcomp/arm/emit.mlp | 1 +
- asmcomp/arm64/emit.mlp | 1 +
- asmcomp/i386/emit.mlp | 1 +
- asmcomp/power/emit.mlp | 1 +
- asmcomp/sparc/emit.mlp | 1 +
- 6 files changed, 6 insertions(+)
-
-diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp
-index d56d0f5..4d7aa30 100644
---- a/asmcomp/amd64/emit.mlp
-+++ b/asmcomp/amd64/emit.mlp
-@@ -794,6 +794,7 @@ let data l =
- let begin_assembly() =
- reset_debug_info(); (* PR#5603 *)
- float_constants := [];
-+ ` .file \"{emit_string (String.escaped !Location.input_name)}\"\n`;
- if !Clflags.dlcode then begin
- (* from amd64.S; could emit these constants on demand *)
- if macosx then
-diff --git a/asmcomp/arm/emit.mlp b/asmcomp/arm/emit.mlp
-index 4948fb2..6f30fba 100644
---- a/asmcomp/arm/emit.mlp
-+++ b/asmcomp/arm/emit.mlp
-@@ -892,6 +892,7 @@ let data l =
-
- let begin_assembly() =
- reset_debug_info();
-+ ` .file \"{emit_string (String.escaped !Location.input_name)}\"\n`;
- ` .syntax unified\n`;
- begin match !arch with
- | ARMv4 -> ` .arch armv4t\n`
-diff --git a/asmcomp/arm64/emit.mlp b/asmcomp/arm64/emit.mlp
-index 750c2b2..5afbb8a 100644
---- a/asmcomp/arm64/emit.mlp
-+++ b/asmcomp/arm64/emit.mlp
-@@ -942,6 +942,7 @@ let data l =
-
- let begin_assembly() =
- reset_debug_info();
-+ ` .file \"{emit_string (String.escaped !Location.input_name)}\"\n`;
- let lbl_begin = Compilenv.make_symbol (Some "data_begin") in
- ` .data\n`;
- ` .globl {emit_symbol lbl_begin}\n`;
-diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp
-index 98df5f9..531150f 100644
---- a/asmcomp/i386/emit.mlp
-+++ b/asmcomp/i386/emit.mlp
-@@ -986,6 +986,7 @@ let data l =
- let begin_assembly() =
- reset_debug_info(); (* PR#5603 *)
- float_constants := [];
-+ ` .file \"{emit_string (String.escaped !Location.input_name)}\"\n`;
- let lbl_begin = Compilenv.make_symbol (Some "data_begin") in
- ` .data\n`;
- ` .globl {emit_symbol lbl_begin}\n`;
-diff --git a/asmcomp/power/emit.mlp b/asmcomp/power/emit.mlp
-index 4344085..343132b 100644
---- a/asmcomp/power/emit.mlp
-+++ b/asmcomp/power/emit.mlp
-@@ -887,6 +887,7 @@ let data l =
- let begin_assembly() =
- defined_functions := StringSet.empty;
- external_functions := StringSet.empty;
-+ ` .file \"{emit_string (String.escaped !Location.input_name)}\"\n`;
- (* Emit the beginning of the segments *)
- let lbl_begin = Compilenv.make_symbol (Some "data_begin") in
- emit_string data_space;
-diff --git a/asmcomp/sparc/emit.mlp b/asmcomp/sparc/emit.mlp
-index 877a3d5..7b041e9 100644
---- a/asmcomp/sparc/emit.mlp
-+++ b/asmcomp/sparc/emit.mlp
-@@ -727,6 +727,7 @@ let data l =
- (* Beginning / end of an assembly file *)
-
- let begin_assembly() =
-+ ` .file \"{emit_string (String.escaped !Location.input_name)}\"\n`;
- let lbl_begin = Compilenv.make_symbol (Some "data_begin") in
- ` .data\n`;
- ` .global {emit_symbol lbl_begin}\n`;
+++ /dev/null
-From: Valentin Lorentz <progval@progval.net>
-Date: Thu, 13 Aug 2015 11:59:04 +0200
-Subject: Enable ocamldoc to build reproducible manpages
-
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=794586
-Signed-off-by: Stephane Glondu <steph@glondu.net>
----
- ocamldoc/odoc_man.ml | 15 +++++----------
- ocamldoc/odoc_misc.ml | 12 ++++++++++--
- ocamldoc/odoc_misc.mli | 7 ++++++-
- 3 files changed, 21 insertions(+), 13 deletions(-)
-
-diff --git a/ocamldoc/odoc_man.ml b/ocamldoc/odoc_man.ml
-index e97db4b..2170fc9 100644
---- a/ocamldoc/odoc_man.ml
-+++ b/ocamldoc/odoc_man.ml
-@@ -857,14 +857,13 @@ class man =
- (** Generate the man page for the given class.*)
- method generate_for_class cl =
- Odoc_info.reset_type_names () ;
-- let date = Unix.time () in
- let file = self#file_name cl.cl_name in
- try
- let chanout = self#open_out file in
- let b = new_buf () in
- bs b (".TH \""^cl.cl_name^"\" ");
- bs b !man_section ;
-- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
-+ bs b (" source: "^Odoc_misc.current_date^" ");
- bs b "OCamldoc ";
- bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
-
-@@ -916,14 +915,13 @@ class man =
- (** Generate the man page for the given class type.*)
- method generate_for_class_type ct =
- Odoc_info.reset_type_names () ;
-- let date = Unix.time () in
- let file = self#file_name ct.clt_name in
- try
- let chanout = self#open_out file in
- let b = new_buf () in
- bs b (".TH \""^ct.clt_name^"\" ");
- bs b !man_section ;
-- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
-+ bs b (" source: "^Odoc_misc.current_date^" ");
- bs b "OCamldoc ";
- bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
-
-@@ -1009,14 +1007,13 @@ class man =
- (** Generate the man file for the given module type.
- @raise Failure if an error occurs.*)
- method generate_for_module_type mt =
-- let date = Unix.time () in
- let file = self#file_name mt.mt_name in
- try
- let chanout = self#open_out file in
- let b = new_buf () in
- bs b (".TH \""^mt.mt_name^"\" ");
- bs b !man_section ;
-- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
-+ bs b (" source: "^Odoc_misc.current_date^" ");
- bs b "OCamldoc ";
- bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
-
-@@ -1092,14 +1089,13 @@ class man =
- (** Generate the man file for the given module.
- @raise Failure if an error occurs.*)
- method generate_for_module m =
-- let date = Unix.time () in
- let file = self#file_name m.m_name in
- try
- let chanout = self#open_out file in
- let b = new_buf () in
- bs b (".TH \""^m.m_name^"\" ");
- bs b !man_section ;
-- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
-+ bs b (" source: "^Odoc_misc.current_date^" ");
- bs b "OCamldoc ";
- bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
-
-@@ -1199,14 +1195,13 @@ class man =
- | Res_const (_,f) -> f.vc_name
- )
- in
-- let date = Unix.time () in
- let file = self#file_name name in
- try
- let chanout = self#open_out file in
- let b = new_buf () in
- bs b (".TH \""^name^"\" ");
- bs b !man_section ;
-- bs b (" "^(Odoc_misc.string_of_date ~hour: false date)^" ");
-+ bs b (" source: "^Odoc_misc.current_date^" ");
- bs b "OCamldoc ";
- bs b ("\""^(match !Global.title with Some t -> t | None -> "")^"\"\n");
- bs b ".SH NAME\n";
-diff --git a/ocamldoc/odoc_misc.ml b/ocamldoc/odoc_misc.ml
-index e938dbe..273a0ba 100644
---- a/ocamldoc/odoc_misc.ml
-+++ b/ocamldoc/odoc_misc.ml
-@@ -223,9 +223,9 @@ let apply_opt f v_opt =
- None -> None
- | Some v -> Some (f v)
-
--let string_of_date ?(hour=true) d =
-+let string_of_date ?(absolute=false) ?(hour=true) d =
- let add_0 s = if String.length s < 2 then "0"^s else s in
-- let t = Unix.localtime d in
-+ let t = (if absolute then Unix.gmtime else Unix.localtime) d in
- (string_of_int (t.Unix.tm_year + 1900))^"-"^
- (add_0 (string_of_int (t.Unix.tm_mon + 1)))^"-"^
- (add_0 (string_of_int t.Unix.tm_mday))^
-@@ -238,6 +238,14 @@ let string_of_date ?(hour=true) d =
- ""
- )
-
-+let current_date =
-+ let time =
-+ try
-+ float_of_string (Sys.getenv "SOURCE_DATE_EPOCH")
-+ with
-+ Not_found -> Unix.time ()
-+ in string_of_date ~absolute: true ~hour: false time
-+
-
- let rec text_list_concat sep l =
- match l with
-diff --git a/ocamldoc/odoc_misc.mli b/ocamldoc/odoc_misc.mli
-index 5958be9..4fe2647 100644
---- a/ocamldoc/odoc_misc.mli
-+++ b/ocamldoc/odoc_misc.mli
-@@ -62,7 +62,12 @@ val apply_opt : ('a -> 'b) -> 'a option -> 'b option
-
- (** Return a string representing a date given as a number of seconds
- since 1970. The hour is optionnaly displayed. *)
--val string_of_date : ?hour:bool -> float -> string
-+val string_of_date : ?absolute:bool -> ?hour:bool -> float -> string
-+
-+(* Value returned by string_of_date for current time.
-+ * Uses environment variable SOURCE_DATE_EPOCH if set; falls back to
-+ * current timestamp otherwise. *)
-+val current_date : string
-
- (** Return the first sentence (until the first dot) of a text.
- Don't stop in the middle of [Code], [Verbatim], [List], [Lnum],
+++ /dev/null
-From: Stephane Glondu <steph@glondu.net>
-Date: Tue, 16 Feb 2016 11:29:16 +0100
-Subject: Compatibility with x32 architecture
-
-Origin: https://github.com/ocaml/ocaml/commit/58c07fa89ec6546cea911f1d2e7803fd7aa75de9
-Bug: http://caml.inria.fr/mantis/view.php?id=6722
-Bug-Debian: https://bugs.debian.org/773409
----
- byterun/caml/signals_machdep.h | 2 +-
- configure | 11 +++++------
- 2 files changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/byterun/caml/signals_machdep.h b/byterun/caml/signals_machdep.h
-index 4987e2f..ce6bd2e 100644
---- a/byterun/caml/signals_machdep.h
-+++ b/byterun/caml/signals_machdep.h
-@@ -16,7 +16,7 @@
- #ifndef CAML_SIGNALS_MACHDEP_H
- #define CAML_SIGNALS_MACHDEP_H
-
--#if defined(__GNUC__) && defined(__i386__)
-+#if defined(__GNUC__) && (defined(__i386__) || (defined(__x86_64__) && defined(__ILP32__)))
-
- #define Read_and_clear(dst,src) \
- asm("xorl %0, %0; xchgl %0, %1" \
-diff --git a/configure b/configure
-index dfcb849..c37a2e5 100755
---- a/configure
-+++ b/configure
-@@ -874,14 +874,13 @@ esac
-
- # Some platforms exist both in 32-bit and 64-bit variants, not distinguished
- # by $target. Turn off native code compilation on platforms where 64-bit mode
--# is not supported. (PR#4441)
-+# is not supported (PR#4441).
-+# Sometimes, it's 32-bit mode that is not supported (PR#6722).
-
--if $arch64; then
-- case "$arch,$model" in
-- sparc,default|power,ppc)
-+case "$arch64,$arch,$model" in
-+ true,sparc,*|true,power,ppc|false,amd64,*)
- arch=none; model=default; system=unknown;;
-- esac
--fi
-+esac
-
- if test -z "$ccoption"; then
- nativecc="$bytecc"
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
-0007-Tune-resource-usage-of-some-tests.patch
0008-Native-backtraces-don-t-work-on-powerpc-and-sparc.patch
-0010-Enable-ocamldoc-to-build-reproducible-manpages.patch
-0010-Add-a-.file-directive-to-generated-.s-files.patch
-0011-Compatibility-with-x32-architecture.patch