From 5edb32ef06fbe50ff6fe3d30a5d950717a7be1f6 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Thu, 4 Nov 2021 02:36:58 -0400 Subject: [PATCH] import ocaml-4.11.1-4.el9.2 --- .gitignore | 1 + .ocaml.metadata | 1 + .../0001-Don-t-add-rpaths-to-libraries.patch | 27 + ...-Allow-user-defined-C-compiler-flags.patch | 27 + ...-incorrect-assumption-about-cross-co.patch | 43 + ...Remove-configure-from-.gitattributes.patch | 28 + ...hes-between-definition-and-declarati.patch | 69 + ...cate-the-alternate-signal-stack-1026.patch | 103 ++ SPECS/ocaml.spec | 1116 +++++++++++++++++ 9 files changed, 1415 insertions(+) create mode 100644 .gitignore create mode 100644 .ocaml.metadata create mode 100644 SOURCES/0001-Don-t-add-rpaths-to-libraries.patch create mode 100644 SOURCES/0002-configure-Allow-user-defined-C-compiler-flags.patch create mode 100644 SOURCES/0003-configure-Remove-incorrect-assumption-about-cross-co.patch create mode 100644 SOURCES/0004-Remove-configure-from-.gitattributes.patch create mode 100644 SOURCES/0005-Fix-type-mismatches-between-definition-and-declarati.patch create mode 100644 SOURCES/0006-Dynamically-allocate-the-alternate-signal-stack-1026.patch create mode 100644 SPECS/ocaml.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..efdf3a2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ocaml-4.11.1.tar.xz diff --git a/.ocaml.metadata b/.ocaml.metadata new file mode 100644 index 0000000..b81f6c1 --- /dev/null +++ b/.ocaml.metadata @@ -0,0 +1 @@ +2bfc9e3af2a679b87f692e3b991034b920b8b3c3 SOURCES/ocaml-4.11.1.tar.xz diff --git a/SOURCES/0001-Don-t-add-rpaths-to-libraries.patch b/SOURCES/0001-Don-t-add-rpaths-to-libraries.patch new file mode 100644 index 0000000..66f6079 --- /dev/null +++ b/SOURCES/0001-Don-t-add-rpaths-to-libraries.patch @@ -0,0 +1,27 @@ +From 4c7732daae8f0d2a622f91f5ff3add5c2248a2e3 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 24 Jun 2014 10:00:15 +0100 +Subject: [PATCH 1/6] Don't add rpaths to libraries. + +--- + tools/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tools/Makefile b/tools/Makefile +index dbad0b74f..c920a5337 100644 +--- a/tools/Makefile ++++ b/tools/Makefile +@@ -154,8 +154,8 @@ $(call byte_and_opt,ocamlmklib,ocamlmklibconfig.cmo config.cmo \ + ocamlmklibconfig.ml: $(ROOTDIR)/Makefile.config Makefile + (echo 'let bindir = "$(BINDIR)"'; \ + echo 'let supports_shared_libraries = $(SUPPORTS_SHARED_LIBRARIES)';\ +- echo 'let default_rpath = "$(RPATH)"'; \ +- echo 'let mksharedlibrpath = "$(MKSHAREDLIBRPATH)"'; \ ++ echo 'let default_rpath = ""'; \ ++ echo 'let mksharedlibrpath = ""'; \ + echo 'let toolpref = "$(TOOLPREF)"';) \ + > ocamlmklibconfig.ml + +-- +2.32.0 + diff --git a/SOURCES/0002-configure-Allow-user-defined-C-compiler-flags.patch b/SOURCES/0002-configure-Allow-user-defined-C-compiler-flags.patch new file mode 100644 index 0000000..06b183a --- /dev/null +++ b/SOURCES/0002-configure-Allow-user-defined-C-compiler-flags.patch @@ -0,0 +1,27 @@ +From 441ad77a0c89f4abdf104c668d579607f338a052 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Tue, 29 May 2012 20:44:18 +0100 +Subject: [PATCH 2/6] configure: Allow user defined C compiler flags. + +--- + configure.ac | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/configure.ac b/configure.ac +index aa5f26f28..5153853b7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -609,6 +609,10 @@ AS_CASE([$host], + internal_cflags="$gcc_warnings"], + [common_cflags="-O"])]) + ++# Allow CFLAGS and LDFLAGS to be added. ++common_cflags="$common_cflags $CFLAGS" ++cclibs="$cclibs $LDFLAGS" ++ + internal_cppflags="-DCAML_NAME_SPACE $internal_cppflags" + + # Enable SSE2 on x86 mingw to avoid using 80-bit registers. +-- +2.32.0 + diff --git a/SOURCES/0003-configure-Remove-incorrect-assumption-about-cross-co.patch b/SOURCES/0003-configure-Remove-incorrect-assumption-about-cross-co.patch new file mode 100644 index 0000000..594573a --- /dev/null +++ b/SOURCES/0003-configure-Remove-incorrect-assumption-about-cross-co.patch @@ -0,0 +1,43 @@ +From 3318c5b805d8d6ae1d571f18f682c9f701b712e2 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Fri, 26 Apr 2019 16:16:29 +0100 +Subject: [PATCH 3/6] configure: Remove incorrect assumption about + cross-compiling. + +See https://github.com/ocaml/ocaml/issues/8647#issuecomment-487094390 +--- + configure.ac | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5153853b7..4e97474a2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -511,10 +511,11 @@ AS_IF( + + # Are we building a cross-compiler + +-AS_IF( +- [test x"$host" = x"$target"], +- [cross_compiler=false], +- [cross_compiler=true]) ++#AS_IF( ++# [test x"$host" = x"$target"], ++# [cross_compiler=false], ++# [cross_compiler=true]) ++cross_compiler=false + + # Checks for programs + +@@ -1021,7 +1022,7 @@ AS_CASE([$arch], + + # Assembler + +-AS_IF([test -n "$host_alias"], [toolpref="${host_alias}-"], [toolpref=""]) ++#AS_IF([test -n "$host_alias"], [toolpref="${host_alias}-"], [toolpref=""]) + + # We first compute default values for as and aspp + # If values have been given by the user then they take precedence over +-- +2.32.0 + diff --git a/SOURCES/0004-Remove-configure-from-.gitattributes.patch b/SOURCES/0004-Remove-configure-from-.gitattributes.patch new file mode 100644 index 0000000..273311f --- /dev/null +++ b/SOURCES/0004-Remove-configure-from-.gitattributes.patch @@ -0,0 +1,28 @@ +From 01d8e3f82adb382fb90af15879f722e824834c84 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Sat, 18 Jan 2020 11:31:27 +0000 +Subject: [PATCH 4/6] Remove configure from .gitattributes. + +It's not a binary file. +--- + .gitattributes | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/.gitattributes b/.gitattributes +index 200eb49c6..d871764de 100644 +--- a/.gitattributes ++++ b/.gitattributes +@@ -29,10 +29,6 @@ + + /boot/menhir/parser.ml* -diff + +-# configure is declared as binary so that it doesn't get included in diffs. +-# This also means it will have the correct Unix line-endings, even on Windows. +-/configure binary +- + # 'union' merge driver just unions textual content in case of conflict + # http://krlmlr.github.io/using-gitattributes-to-avoid-merge-conflicts/ + /.mailmap merge=union +-- +2.32.0 + diff --git a/SOURCES/0005-Fix-type-mismatches-between-definition-and-declarati.patch b/SOURCES/0005-Fix-type-mismatches-between-definition-and-declarati.patch new file mode 100644 index 0000000..fef3022 --- /dev/null +++ b/SOURCES/0005-Fix-type-mismatches-between-definition-and-declarati.patch @@ -0,0 +1,69 @@ +From 122db7141d292d63cfbe2c7d7a4280cc73194ece Mon Sep 17 00:00:00 2001 +From: Xavier Leroy +Date: Wed, 5 Aug 2020 11:17:52 +0200 +Subject: [PATCH 5/6] Fix type mismatches between definition and declaration + (#9830) + +The C global variable caml_fl_merge and the C function +caml_spacetime_my_profinfo (bytecode version) were declared and +defined with different types. This is undefined behavior and +can cause link-time errors with link-time optimization (LTO). + +Closes: #9825 +--- + runtime/major_gc.c | 4 ++-- + runtime/spacetime_byt.c | 7 ++++++- + 2 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/runtime/major_gc.c b/runtime/major_gc.c +index 5e4f06bce..c8f5a3281 100644 +--- a/runtime/major_gc.c ++++ b/runtime/major_gc.c +@@ -63,7 +63,7 @@ uintnat caml_dependent_size, caml_dependent_allocated; + double caml_extra_heap_resources; + uintnat caml_fl_wsz_at_phase_change = 0; + +-extern char *caml_fl_merge; /* Defined in freelist.c. */ ++extern value caml_fl_merge; /* Defined in freelist.c. */ + + static char *markhp, *chunk, *limit; + static double p_backlog = 0.0; /* backlog for the gc speedup parameter */ +@@ -570,7 +570,7 @@ static void sweep_slice (intnat work) + break; + case Caml_blue: + /* Only the blocks of the free-list are blue. See [freelist.c]. */ +- caml_fl_merge = Bp_hp (hp); ++ caml_fl_merge = (value) Bp_hp (hp); + break; + default: /* gray or black */ + CAMLassert (Color_hd (hd) == Caml_black); +diff --git a/runtime/spacetime_byt.c b/runtime/spacetime_byt.c +index 2b0bf1dc2..b75fb0980 100644 +--- a/runtime/spacetime_byt.c ++++ b/runtime/spacetime_byt.c +@@ -12,8 +12,12 @@ + /* */ + /**************************************************************************/ + ++#define CAML_INTERNALS ++ + #include "caml/fail.h" + #include "caml/mlvalues.h" ++#include "caml/io.h" ++#include "caml/spacetime.h" + + int caml_ensure_spacetime_dot_o_is_included = 42; + +@@ -22,7 +26,8 @@ CAMLprim value caml_spacetime_only_works_for_native_code(value foo, ...) + caml_failwith("Spacetime profiling only works for native code"); + } + +-uintnat caml_spacetime_my_profinfo (void) ++uintnat caml_spacetime_my_profinfo (spacetime_unwind_info_cache * cached, ++ uintnat wosize) + { + return 0; + } +-- +2.32.0 + diff --git a/SOURCES/0006-Dynamically-allocate-the-alternate-signal-stack-1026.patch b/SOURCES/0006-Dynamically-allocate-the-alternate-signal-stack-1026.patch new file mode 100644 index 0000000..14310b3 --- /dev/null +++ b/SOURCES/0006-Dynamically-allocate-the-alternate-signal-stack-1026.patch @@ -0,0 +1,103 @@ +From 24a9db7784ddfcf0af2d2be2f51616ed960ae7e8 Mon Sep 17 00:00:00 2001 +From: Xavier Leroy +Date: Fri, 5 Mar 2021 19:14:07 +0100 +Subject: [PATCH 6/6] Dynamically allocate the alternate signal stack (#10266) + +In Glibc 2.34 and later, SIGSTKSZ may not be a compile-time constant. +It is no longer possible to statically allocate the alternate signal +stack for the main thread, as we've been doing for the last 25 years. + +This commit implements dynamic allocation of the alternate signal stack +even for the main thread. It reuses the code already in place to allocate +the alternate signal stack for other threads. + +Fixes: #10250. +(cherry picked from commit fc9534746bf5d08a4c109f22e344cf49d5d46d54) +--- + runtime/caml/signals.h | 2 +- + runtime/signals_byt.c | 2 +- + runtime/signals_nat.c | 25 ++++++++++++++----------- + 3 files changed, 16 insertions(+), 13 deletions(-) + +diff --git a/runtime/caml/signals.h b/runtime/caml/signals.h +index 7ec1ad3ba..98b75107b 100644 +--- a/runtime/caml/signals.h ++++ b/runtime/caml/signals.h +@@ -82,7 +82,7 @@ void caml_set_action_pending (void); + value caml_do_pending_actions_exn (void); + value caml_process_pending_actions_with_root (value extra_root); // raises + int caml_set_signal_action(int signo, int action); +-void caml_setup_stack_overflow_detection(void); ++CAMLextern int caml_setup_stack_overflow_detection(void); + + CAMLextern void (*caml_enter_blocking_section_hook)(void); + CAMLextern void (*caml_leave_blocking_section_hook)(void); +diff --git a/runtime/signals_byt.c b/runtime/signals_byt.c +index 040de03c5..9bd2b20c6 100644 +--- a/runtime/signals_byt.c ++++ b/runtime/signals_byt.c +@@ -86,4 +86,4 @@ int caml_set_signal_action(int signo, int action) + return 0; + } + +-void caml_setup_stack_overflow_detection(void) {} ++CAMLexport int caml_setup_stack_overflow_detection(void) { return 0; } +diff --git a/runtime/signals_nat.c b/runtime/signals_nat.c +index fc5a77f84..f56fce6b7 100644 +--- a/runtime/signals_nat.c ++++ b/runtime/signals_nat.c +@@ -195,8 +195,6 @@ DECLARE_SIGNAL_HANDLER(trap_handler) + #error "CONTEXT_SP is required if HAS_STACK_OVERFLOW_DETECTION is defined" + #endif + +-static char sig_alt_stack[SIGSTKSZ]; +- + /* Code compiled with ocamlopt never accesses more than + EXTRA_STACK bytes below the stack pointer. */ + #define EXTRA_STACK 256 +@@ -282,28 +280,33 @@ void caml_init_signals(void) + #endif + + #ifdef HAS_STACK_OVERFLOW_DETECTION +- { +- stack_t stk; ++ if (caml_setup_stack_overflow_detection() != -1) { + struct sigaction act; +- stk.ss_sp = sig_alt_stack; +- stk.ss_size = SIGSTKSZ; +- stk.ss_flags = 0; + SET_SIGACT(act, segv_handler); + act.sa_flags |= SA_ONSTACK | SA_NODEFER; + sigemptyset(&act.sa_mask); +- if (sigaltstack(&stk, NULL) == 0) { sigaction(SIGSEGV, &act, NULL); } ++ sigaction(SIGSEGV, &act, NULL); + } + #endif + } + +-void caml_setup_stack_overflow_detection(void) ++/* Allocate and select an alternate stack for handling signals, ++ especially SIGSEGV signals. ++ Each thread needs its own alternate stack. ++ The alternate stack used to be statically-allocated for the main thread, ++ but this is incompatible with Glibc 2.34 and newer, where SIGSTKSZ ++ may not be a compile-time constant (issue #10250). */ ++ ++CAMLexport int caml_setup_stack_overflow_detection(void) + { + #ifdef HAS_STACK_OVERFLOW_DETECTION + stack_t stk; + stk.ss_sp = malloc(SIGSTKSZ); ++ if (stk.ss_sp == NULL) return -1; + stk.ss_size = SIGSTKSZ; + stk.ss_flags = 0; +- if (stk.ss_sp) +- sigaltstack(&stk, NULL); ++ return sigaltstack(&stk, NULL); ++#else ++ return 0; + #endif + } +-- +2.32.0 + diff --git a/SPECS/ocaml.spec b/SPECS/ocaml.spec new file mode 100644 index 0000000..960f0ae --- /dev/null +++ b/SPECS/ocaml.spec @@ -0,0 +1,1116 @@ +# OCaml has a bytecode backend that works on anything with a C +# compiler, and a native code backend available on a subset of +# architectures. A further subset of architectures support native +# dynamic linking. + +%ifarch %{ocaml_native_compiler} +%global native_compiler 1 +%else +%global native_compiler 0 +%endif + +%ifarch %{ocaml_natdynlink} +%global natdynlink 1 +%else +%global natdynlink 0 +%endif + +# These are all the architectures that the tests run on. The tests +# take a long time to run, so don't run them on slow machines. +%global test_arches aarch64 %{power64} riscv64 x86_64 +# These are the architectures for which the tests must pass otherwise +# the build will fail. +#global test_arches_required aarch64 ppc64le x86_64 +%global test_arches_required NONE + +# Architectures where parallel builds fail. +#global no_parallel_build_arches aarch64 + +#global rcver +git +%global rcver %{nil} + +Name: ocaml +Version: 4.11.1 +Release: 4%{?dist}.2 + +Summary: OCaml compiler and programming environment + +License: QPL and (LGPLv2+ with exceptions) + +URL: http://www.ocaml.org + +Source0: https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-%{version}.tar.xz +#Source0: https://github.com/ocaml/ocaml/archive/%%{version}.tar.gz + +# IMPORTANT NOTE: +# +# These patches are generated from unpacked sources stored in a +# pagure.io git repository. If you change the patches here, they will +# be OVERWRITTEN by the next update. Instead, request commit access +# to the pagure project: +# +# https://pagure.io/fedora-ocaml +# +# Current branch: fedora-34-4.11.1 +# +# ALTERNATIVELY add a patch to the end of the list (leaving the +# existing patches unchanged) adding a comment to note that it should +# be incorporated into the git repo at a later time. + +Patch0001: 0001-Don-t-add-rpaths-to-libraries.patch +Patch0002: 0002-configure-Allow-user-defined-C-compiler-flags.patch +Patch0003: 0003-configure-Remove-incorrect-assumption-about-cross-co.patch +Patch0004: 0004-Remove-configure-from-.gitattributes.patch + +# Fix compilation with LTO (upstream, but not in 4.11 branch). +Patch0005: 0005-Fix-type-mismatches-between-definition-and-declarati.patch + +# Upstream patch for non-constant SIGSTKSZ in glibc 2.34 +Patch0006: 0006-Dynamically-allocate-the-alternate-signal-stack-1026.patch + +BuildRequires: make +BuildRequires: git +BuildRequires: gcc +BuildRequires: autoconf +BuildRequires: binutils-devel +BuildRequires: ncurses-devel +BuildRequires: gdbm-devel +BuildRequires: gawk +BuildRequires: perl-interpreter +BuildRequires: util-linux +BuildRequires: /usr/bin/annocheck +BuildRequires: chrpath + +# ocamlopt runs gcc to link binaries. Because Fedora includes +# hardening flags automatically, redhat-rpm-config is also required. +Requires: gcc +Requires: redhat-rpm-config + +# Because we pass -c flag to ocaml-find-requires (to avoid circular +# dependencies) we also have to explicitly depend on the right version +# of ocaml-runtime. +Requires: ocaml-runtime = %{version}-%{release} + +# Bundles an MD5 implementation in byterun/md5.{c,h} +Provides: bundled(md5-plumb) + +Provides: ocaml(compiler) = %{version} + +%global __ocaml_requires_opts -c -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte' +%global __ocaml_provides_opts -f '%{buildroot}%{_bindir}/ocamlrun %{buildroot}%{_bindir}/ocamlobjinfo.byte' + + +%description +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package comprises two batch compilers (a fast bytecode compiler +and an optimizing native-code compiler), an interactive toplevel system, +parsing tools (Lex,Yacc), a replay debugger, a documentation generator, +and a comprehensive library. + + +%package runtime +Summary: OCaml runtime environment +Requires: util-linux +Provides: ocaml(runtime) = %{version} + +%description runtime +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains the runtime environment needed to run OCaml +bytecode. + + +%package source +Summary: Source code for OCaml libraries +Requires: ocaml = %{version}-%{release} + +%description source +Source code for OCaml libraries. + + +%package ocamldoc +Summary: Documentation generator for OCaml +Requires: ocaml = %{version}-%{release} +Provides: ocamldoc + +%description ocamldoc +Documentation generator for OCaml. + + +%package docs +Summary: Documentation for OCaml +Requires: ocaml = %{version}-%{release} + + +%description docs +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains man pages. + + +%package compiler-libs +Summary: Compiler libraries for OCaml +Requires: ocaml = %{version}-%{release} + + +%description compiler-libs +OCaml is a high-level, strongly-typed, functional and object-oriented +programming language from the ML family of languages. + +This package contains some modules used internally by the OCaml +compilers, useful for the development of some OCaml applications. +Note that this exposes internal details of the OCaml compiler which +may not be portable between versions. + + +%prep +%autosetup -S git -n %{name}-%{version}%{rcver} +# Patches touch configure.ac, so rebuild it: +autoconf --force + + +%build +%ifnarch %{no_parallel_build_arches} +make="%make_build" +%else +unset MAKEFLAGS +make=make +%endif + +# We set --libdir to the unusual directory because we want OCaml to +# install its libraries and other files into a subdirectory. +# +# Force --host because of: +# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/2O4HBOK6PTQZAFAVIRDVMZGG2PYB2QHM/ +# (see also https://github.com/ocaml/ocaml/issues/8647) +# +# OC_CFLAGS/OC_LDFLAGS control what flags OCaml passes to the linker +# when doing final linking of OCaml binaries. Setting these is +# necessary to ensure that generated binaries have Fedora hardening +# features. +%configure \ + OC_CFLAGS="$CFLAGS" \ + OC_LDFLAGS="$LDFLAGS" \ + --libdir=%{_libdir}/ocaml \ + --host=`./build-aux/config.guess` +$make world +%if %{native_compiler} +$make opt +$make opt.opt +%endif + + +%check +%ifarch %{ocaml_native_compiler} +# For information only, compile a binary and dump the annocheck data +# from it. Useful so we know if hardening is being enabled, but don't +# fail because not every hardening feature can be enabled here. +echo 'print_endline "hello, world"' > hello.ml +./ocamlopt.opt -verbose -I stdlib hello.ml -o hello ||: +annocheck -v hello ||: +%endif + +%ifarch %{test_arches} +cd testsuite + +%ifarch %{test_arches_required} +make -j1 all +%else +make -j1 all ||: +%endif +%endif + + +%install +%make_install +perl -pi -e "s|^$RPM_BUILD_ROOT||" $RPM_BUILD_ROOT%{_libdir}/ocaml/ld.conf + +echo %{version} > $RPM_BUILD_ROOT%{_libdir}/ocaml/fedora-ocaml-release + +# Remove rpaths from stublibs .so files. +chrpath --delete $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/*.so + +find $RPM_BUILD_ROOT -name .ignore -delete + +# Remove .cmt and .cmti files, for now. We could package them later. +# See also: http://www.ocamlpro.com/blog/2012/08/20/ocamlpro-and-4.00.0.html +find $RPM_BUILD_ROOT \( -name '*.cmt' -o -name '*.cmti' \) -a -delete + +# Remove this file. It's only created in certain situations and it's +# unclear why it is created at all. +rm -f $RPM_BUILD_ROOT%{_libdir}/ocaml/eventlog_metadata + + +%files +%doc LICENSE +%{_bindir}/ocaml + +%{_bindir}/ocamlcmt +%{_bindir}/ocamldebug +#{_bindir}/ocaml-instr-graph +#{_bindir}/ocaml-instr-report +%{_bindir}/ocamlyacc + +# symlink to either .byte or .opt version +%{_bindir}/ocamlc +%{_bindir}/ocamlcp +%{_bindir}/ocamldep +%{_bindir}/ocamllex +%{_bindir}/ocamlmklib +%{_bindir}/ocamlmktop +%{_bindir}/ocamlobjinfo +%{_bindir}/ocamloptp +%{_bindir}/ocamlprof + +# bytecode versions +%{_bindir}/ocamlc.byte +%{_bindir}/ocamlcp.byte +%{_bindir}/ocamldep.byte +%{_bindir}/ocamllex.byte +%{_bindir}/ocamlmklib.byte +%{_bindir}/ocamlmktop.byte +%{_bindir}/ocamlobjinfo.byte +%{_bindir}/ocamloptp.byte +%{_bindir}/ocamlprof.byte + +%if %{native_compiler} +# native code versions +%{_bindir}/ocamlc.opt +%{_bindir}/ocamlcp.opt +%{_bindir}/ocamldep.opt +%{_bindir}/ocamllex.opt +%{_bindir}/ocamlmklib.opt +%{_bindir}/ocamlmktop.opt +%{_bindir}/ocamlobjinfo.opt +%{_bindir}/ocamloptp.opt +%{_bindir}/ocamlprof.opt +%endif + +%if %{native_compiler} +%{_bindir}/ocamlopt +%{_bindir}/ocamlopt.byte +%{_bindir}/ocamlopt.opt +%endif + +#%{_libdir}/ocaml/addlabels +#%{_libdir}/ocaml/scrapelabels +%{_libdir}/ocaml/camlheader +%{_libdir}/ocaml/camlheader_ur +%{_libdir}/ocaml/expunge +%{_libdir}/ocaml/extract_crc +%{_libdir}/ocaml/ld.conf +%{_libdir}/ocaml/Makefile.config +%{_libdir}/ocaml/*.a +%if %{natdynlink} +%{_libdir}/ocaml/*.cmxs +%endif +%if %{native_compiler} +%{_libdir}/ocaml/*.cmxa +%{_libdir}/ocaml/*.cmx +%{_libdir}/ocaml/*.o +%{_libdir}/ocaml/libasmrun_shared.so +%endif +%{_libdir}/ocaml/*.mli +%{_libdir}/ocaml/libcamlrun_shared.so +%{_libdir}/ocaml/objinfo_helper +%{_libdir}/ocaml/threads/*.mli +%if %{native_compiler} +%{_libdir}/ocaml/threads/*.a +%{_libdir}/ocaml/threads/*.cmxa +%{_libdir}/ocaml/threads/*.cmx +%endif +%{_libdir}/ocaml/caml + + +%files runtime +%doc README.adoc LICENSE Changes +%{_bindir}/ocamlrun +%{_bindir}/ocamlrund +%{_bindir}/ocamlruni +%dir %{_libdir}/ocaml +%{_libdir}/ocaml/VERSION +%{_libdir}/ocaml/*.cmo +%{_libdir}/ocaml/*.cmi +%{_libdir}/ocaml/*.cma +%{_libdir}/ocaml/camlheaderd +%{_libdir}/ocaml/camlheaderi +%{_libdir}/ocaml/stublibs +%dir %{_libdir}/ocaml/threads +%{_libdir}/ocaml/threads/*.cmi +%{_libdir}/ocaml/threads/*.cma +%{_libdir}/ocaml/fedora-ocaml-release + + +%files source +%doc LICENSE +%{_libdir}/ocaml/*.ml + + +%files ocamldoc +%doc LICENSE +%doc ocamldoc/Changes.txt +%{_bindir}/ocamldoc* +%{_libdir}/ocaml/ocamldoc + + +%files docs +%{_mandir}/man1/* +%{_mandir}/man3/* + + +%files compiler-libs +%doc LICENSE +%dir %{_libdir}/ocaml/compiler-libs +%{_libdir}/ocaml/compiler-libs/*.mli +%{_libdir}/ocaml/compiler-libs/*.cmi +%{_libdir}/ocaml/compiler-libs/*.cmo +%{_libdir}/ocaml/compiler-libs/*.cma +%if %{native_compiler} +%{_libdir}/ocaml/compiler-libs/*.a +%{_libdir}/ocaml/compiler-libs/*.cmxa +%{_libdir}/ocaml/compiler-libs/*.cmx +%{_libdir}/ocaml/compiler-libs/*.o +%endif + + +%changelog +* Mon Aug 09 2021 Mohan Boddu - 4.11.1-4.2 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Aug 6 2021 Florian Weimer - 4.11.1-3.2 +- Rebuild to pick up new build flags from redhat-rpm-config (#1984652) + +* Wed Jun 23 2021 Richard W.M. Jones - 4.11.1-3.el9.1 +- Upstream patch for non-constant SIGSTKSZ in glibc 2.34 + +* Fri Apr 16 2021 Mohan Boddu - 4.11.1-3 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 4.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Sep 01 2020 Richard W.M. Jones - 4.11.1-1 +- OCaml 4.11.1 release (RHBZ#1870368#c26). + +* Fri Aug 21 2020 Richard W.M. Jones - 4.11.0-1 +- OCaml 4.11.0 release (RHBZ#1870368). + +* Tue Aug 04 2020 Richard W.M. Jones - 4.11.0-0.9.dev2 +- Bump and rebuild to fix DWARF versioning issues. +- Enable LTO again. + +* Tue Jul 28 2020 Fedora Release Engineering - 4.11.0-0.7.dev2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 14 2020 Tom Stellard - 4.11.0-0.6.dev2 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Wed Jul 01 2020 Jeff Law - 4.11.0-0.5.dev2.fc33 +- Disable LTO + +* Mon May 04 2020 Richard W.M. Jones - 4.11.0-0.4.dev2.fc33 +- Move to OCaml 4.11.0+dev2-2020-04-22. +- Backport upstream RISC-V backend from 4.12 + fixes. +- Enable tests on riscv64. +- Disable ocaml-instr-* tools on riscv64. + +* Tue Apr 21 2020 Richard W.M. Jones - 4.11.0-0.3.pre.fc33 +- Add fixes for various issues found in the previous build. + +* Fri Apr 17 2020 Richard W.M. Jones - 4.11.0-0.2.pre.fc33 +- Move to OCaml 4.11.0 pre-release with support for RISC-V. + +* Sat Apr 11 2020 Richard W.M. Jones - 4.10.0-4.fc33 +- Fix RISC-V backend. + +* Thu Apr 02 2020 Richard W.M. Jones - 4.10.0-3.fc33 +- Update all OCaml dependencies for RPM 4.16. + +* Thu Feb 27 2020 Richard W.M. Jones - 4.10.0-2.fc33 +- Add dist tag. + +* Tue Feb 25 2020 Richard W.M. Jones - 4.10.0-1 +- OCaml 4.10.0 final. + +* Wed Jan 29 2020 Fedora Release Engineering - 4.10.0-0.beta1.0.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 18 2020 Richard W.M. Jones - 4.10.0-0.beta1 +- OCaml 4.10.0+beta1. + +* Tue Jan 07 2020 Richard W.M. Jones - 4.09.0-13 +- Bump release and rebuild. + +* Tue Jan 07 2020 Richard W.M. Jones - 4.09.0-4 +- OCaml 4.09.0 for riscv64 + +* Tue Dec 10 2019 Richard W.M. Jones - 4.09.0-3 +- Require redhat-rpm-config to get hardening flags when linking. + +* Thu Dec 05 2019 Richard W.M. Jones - 4.09.0-2 +- OCaml 4.09.0 final. +- Use autosetup, remove old setup line. +- Remove ocamloptp binaries. +- Rename target_camlheader[di] -> camlheader[di] files. +- Remove vmthreads - old threading library which is no longer built. +- Remove x11 subpackage which is obsolete. +- Further fixes to CFLAGS and annobin. + +* Fri Aug 16 2019 Richard W.M. Jones - 4.08.1-1 +- OCaml 4.08.1 final. + +* Tue Jul 30 2019 Richard W.M. Jones - 4.08.1-0.rc2.1 +- OCaml 4.08.1+rc2. +- Include fix for miscompilation of off_t on 32 bit architectures. + +* Thu Jul 25 2019 Fedora Release Engineering - 4.08.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jun 27 2019 Richard W.M. Jones - 4.08.0-1 +- OCaml 4.08.0 (RHBZ#1673688). + +* Fri Apr 26 2019 Richard W.M. Jones - 4.08.0-0.beta3.1 +- OCaml 4.08.0 beta 3 (RHBZ#1673688). +- emacs subpackage has been dropped (from upstream): + https://github.com/ocaml/ocaml/pull/2078#issuecomment-443322613 + https://github.com/Chris00/caml-mode +- Remove ocamlbyteinfo and ocamlpluginfo, neither can be compiled. +- Disable tests on all architectures, temporarily hopefully. +- Package threads/*.mli files. + +* Fri Feb 01 2019 Fedora Release Engineering - 4.07.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Aug 17 2018 Richard W.M. Jones - 4.07.0-3 +- Bootstrap from previously build Fedora compiler by default. + +* Fri Jul 13 2018 Fedora Release Engineering - 4.07.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Jul 11 2018 Richard W.M. Jones - 4.07.0-1 +- OCaml 4.07.0 (RHBZ#1536734). + +* Tue Jun 26 2018 Richard W.M. Jones - 4.07.0-0.rc1.3 +- Enable emacs again on riscv64. + +* Tue Jun 19 2018 Richard W.M. Jones - 4.07.0-0.rc1.2 +- OCaml 4.07.0-rc1 (RHBZ#1536734). + +* Tue Jun 5 2018 Richard W.M. Jones - 4.07.0-0.beta2.1 +- Add RISC-V patch to add debuginfo (DWARF) generation. + +* Thu Apr 26 2018 Richard W.M. Jones - 4.07.0-0.beta2.0 +- OCaml 4.07.0-beta2 (RHBZ#1536734). + +* Sun Feb 25 2018 Richard W.M. Jones - 4.06.0-5 +- Add another couple of RISC-V patches from nojb branch. + +* Sat Feb 24 2018 Richard W.M. Jones - 4.06.0-4 +- Remove mesa* dependencies which are not needed. + +* Thu Feb 08 2018 Fedora Release Engineering - 4.06.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jan 10 2018 Richard W.M. Jones - 4.06.0-2 +- Drop non-free documentation (RHBZ#1530647). + +* Mon Nov 06 2017 Richard W.M. Jones - 4.06.0-1 +- New upstream version 4.06.0. +- Enable parallel builds again. +- Rebase patches. +- New binary ocamlcmt. + +* Wed Sep 13 2017 Richard W.M. Jones - 4.05.0-4 +- Add final upstream fix for aarch64/binutils relocation problems. + https://github.com/ocaml/ocaml/pull/1330 + +* Wed Sep 06 2017 Richard W.M. Jones - 4.05.0-3 +- Include interim fix for aarch64/binutils relocation problems. + +* Sat Aug 05 2017 Richard W.M. Jones - 4.05.0-2 +- New upstream version 4.05.0. +- Disable parallel builds for now. +- *.mli files are now included in ocaml-compiler-libs. +- Add possible fix for aarch64 with new binutils. + +* Sat Aug 05 2017 Richard W.M. Jones - 4.04.2-4 +- Disable tests on aarch64 (https://caml.inria.fr/mantis/view.php?id=7602) + +* Thu Aug 03 2017 Fedora Release Engineering - 4.04.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 4.04.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jun 26 2017 Richard W.M. Jones - 4.04.2-1 +- New upstream version 4.04.2. +- Fix: ocaml: Insufficient sanitisation allows privilege escalation for + setuid binaries (CVE-2017-9772) (RHBZ#1464920). + +* Wed May 10 2017 Richard W.M. Jones - 4.04.1-1 +- New upstream version 4.04.1. + +* Sat Feb 11 2017 Fedora Release Engineering - 4.04.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jan 12 2017 Igor Gnatenko - 4.04.0-8 +- Rebuild for readline 7.x + +* Wed Nov 23 2016 Richard W.M. Jones - 4.04.0-7 +- riscv: Further fixes for https://github.com/nojb/riscv-ocaml/issues/2 + +* Tue Nov 22 2016 Richard W.M. Jones - 4.04.0-5 +- Update RISC-V support to fix + https://github.com/nojb/riscv-ocaml/issues/2 + +* Fri Nov 11 2016 Richard W.M. Jones - 4.04.0-4 +- riscv64: Fix intermediate operands. + (https://github.com/nojb/riscv-ocaml/issues/1) +- Temporarily disable emacs subpackage on riscv64. + +* Wed Nov 09 2016 Richard W.M. Jones - 4.04.0-3 +- s390x: Fix address of caml_raise_exn in native dynlink modules. + (https://caml.inria.fr/mantis/view.php?id=7405) + +* Tue Nov 08 2016 Richard W.M. Jones - 4.04.0-2 +- Add support for RISC-V using out of tree support from: + https://github.com/nojb/riscv-ocaml + +* Fri Nov 04 2016 Richard W.M. Jones - 4.04.0-1 +- New upstream version 4.04.0. + +* Thu Nov 03 2016 Richard W.M. Jones - 4.04.0-0.1.beta2 +- New upstream version 4.04.0+beta2. +- Remove our downstream ppc64 backends, and switch to upstream power backend. +- Use autopatch instead of git for patching. +- Allow parallel builds again. +- Restore ppc stack limits. +- Remove ocamlbuild. +- Add *.byte bytecode binaries. + +* Wed May 04 2016 Richard W.M. Jones - 4.02.3-3 +- CVE-2015-8869 ocaml: sizes arguments are sign-extended from + 32 to 64 bits (RHBZ#1332090) + +* Thu Feb 04 2016 Fedora Release Engineering - 4.02.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jul 28 2015 Richard W.M. Jones - 4.02.3-1 +- New upstream version: 4.02.3. + +* Mon Jun 29 2015 Richard W.M. Jones - 4.02.2-4 +- Couple of minor build fixes for ppc64 and ppc64le. +- ppc64/ppc64le: Fix behaviour of Int64.max_int ÷ -1 (RHBZ#1236615). + +* Fri Jun 26 2015 Richard W.M. Jones - 4.02.2-2 +- Enable the test suite during the build. Currently the results are + only advisory. + +* Tue Jun 23 2015 Richard W.M. Jones - 4.02.2-1 +- New upstream version: 4.02.2. +- No need for a mass rebuild, since this version is identical to RC1. + +* Tue Jun 16 2015 Richard W.M. Jones - 4.02.2-0.rc1.1 +- New upstream version: 4.02.2+rc1. +- Dropped two aarch64 patches which are now included upstream. +- Includes libasmrun_shared.so (RHBZ#1195025). + +* Wed Jun 10 2015 Richard W.M. Jones - 4.02.1-7 +- aarch64: Use upstream version of patch that fixes RHBZ#1224815. + +* Tue Jun 09 2015 Richard W.M. Jones - 4.02.1-6 +- aarch64: AArch64 backend generates invalid asm: conditional branch + out of range (RHBZ#1224815). + +* Thu May 28 2015 Richard W.M. Jones - 4.02.1-5 +- ppc64le: Fix calling convention of external functions with > 8 parameters + (RHBZ#1225995). + +* Wed May 6 2015 Richard W.M. Jones - 4.02.1-4 +- Fix gdb stack traces on aarch64 (upstream PR6490). Thanks: Mark Shinwell. + +* Thu Apr 23 2015 Richard W.M. Jones - 4.02.1-3 +- ppc, ppc64, ppc64le: Properly mark stack as non-executable. + The upstream fix was not applied completely. + +* Thu Feb 26 2015 Richard W.M. Jones - 4.02.1-2 +- Kill dependency on rpm-build. Added in 2009, apparently by accident. + (Thanks: Jon Ludlam) + +* Mon Feb 16 2015 Richard W.M. Jones - 4.02.1-1 +- New upstream version 4.02.1. +- Rebase patches on top. + +* Fri Oct 24 2014 Richard W.M. Jones - 4.02.0-6 +- Fixes for ppc64/ppc64le (RHBZ#1156300). + +* Mon Oct 20 2014 Richard W.M. Jones - 4.02.0-4 +- ocaml-emacs should require emacs(bin) (RHBZ#1154513). + +* Thu Sep 11 2014 Richard W.M. Jones - 4.02.0-3 +- Use -fno-strict-aliasing when building the compiler (RHBZ#990540). +- ppc, ppc64, ppc64le: Mark stack as non-executable. + +* Tue Sep 9 2014 Richard W.M. Jones - 4.02.0-2 +- Fix bug in argument parsing (RHBZ#1139790). + +* Sat Aug 30 2014 Richard W.M. Jones - 4.02.0-1 +- New upstream OCaml 4.02.0 final. +- Add patch for ocaml-camlimages + (see http://caml.inria.fr/mantis/view.php?id=6517) + +* Fri Aug 22 2014 Richard W.M. Jones - 4.02.0-0.11.gitc48fc015 +- Rebase on top of OCaml 4.02+rc1 (same as git commit c48fc015). + +* Sun Aug 17 2014 Fedora Release Engineering - 4.02.0-0.10.git10e45753 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Aug 08 2014 Richard W.M. Jones - 4.02.0-0.9 +- Add fix for Coq build issue: + http://caml.inria.fr/mantis/view.php?id=6507 + +* Fri Aug 01 2014 Richard W.M. Jones - 4.02.0-0.8 +- Rebase on top of 4.02.0 beta commit 10e45753. + +* Sat Jul 19 2014 Richard W.M. Jones - 4.02.0-0.7 +- Rebase on top of 4.02.0 beta commit c4f3a6c7. +- Remove the patch to disable CSE, since that problem is fixed upstream. +- Remove the patch fixing caml_callback2 on aarch64 since that patch is + now upstream. +- Make the compiler depend on ocaml-runtime explicitly. + +* Tue Jul 15 2014 Richard W.M. Jones - 4.02.0-0.5 +- Disable CSE optimization which is broken on armv7hl and aarch64. +- Fix broken caml_callback2 on aarch64 + http://caml.inria.fr/mantis/view.php?id=6489 + +* Sat Jul 12 2014 Richard W.M. Jones - 4.02.0-0.1 +- Update to 4.02.0-beta1 + patches from the upstream 4.02 branch. +- REMOVED labltk and camlp4 packages, since these are now packaged + separately upstream. +- Upstream includes fix for stack alignment issues on i686, so remove hack. +- Upstream now uses mkstemp where available, so patch removed. +- Upstream includes Aarch64 backend, so remove our own backport. +- Drop BR on ocaml-srpm-macros, since it is now included in Fedora. + +* Thu Jun 26 2014 Richard W.M. Jones - 4.01.0-20 +- BR binutils-devel so ocamlobjinfo supports *.cmxs files (RHBZ#1113735). + +* Sat Jun 07 2014 Fedora Release Engineering - 4.01.0-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 21 2014 Jaroslav Škarvada - 4.01.0-18 +- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 + +* Sat May 10 2014 Richard W.M. Jones - 4.01.0-17 +- Mark stack as non-executable on ARM (32 bit) and Aarch64. + +* Tue Apr 22 2014 Richard W.M. Jones - 4.01.0-16 +- Remove ocaml-srpm-macros subpackage. + This is now a separate package, see RHBZ#1087893. + +* Tue Apr 15 2014 Richard W.M. Jones - 4.01.0-15 +- Fix s390x builds (no native compiler). + +* Tue Apr 15 2014 Richard W.M. Jones - 4.01.0-14 +- Remove ExclusiveArch. +- Add ocaml-srpm-macros subpackage containing arch macros. +- See: RHBZ#1087794 + +* Mon Apr 14 2014 Richard W.M. Jones - 4.01.0-13 +- Fix aarch64 relocation problems again. + Earlier patch was dropped accidentally. + +* Wed Apr 9 2014 Richard W.M. Jones - 4.01.0-12 +- Add ppc64le support (thanks: Michel Normand) (RHBZ#1077767). + +* Tue Apr 1 2014 Richard W.M. Jones - 4.01.0-11 +- Fix --flag=arg patch (thanks: Anton Lavrik, Ignas Vyšniauskas). + +* Mon Mar 24 2014 Richard W.M. Jones - 4.01.0-10 +- Include a fix for aarch64 relocation problems + http://caml.inria.fr/mantis/view.php?id=6283 + +* Wed Jan 8 2014 Richard W.M. Jones - 4.01.0-8 +- Don't use ifarch around Patch lines, as it means the patch files + don't get included in the spec file. + +* Mon Jan 6 2014 Richard W.M. Jones - 4.01.0-7 +- Work around gcc stack alignment issues, see + http://caml.inria.fr/mantis/view.php?id=5700 + +* Tue Dec 31 2013 Richard W.M. Jones - 4.01.0-6 +- Add aarch64 (arm64) code generator. + +* Thu Nov 21 2013 Richard W.M. Jones - 4.01.0-4 +- Add bundled(md5-plumb) (thanks: Tomas Mraz). +- Add NON-upstream (but being sent upstream) patch to allow --flag=arg + as an alternative to --flag arg (RHBZ#1028650). + +* Sat Sep 14 2013 Richard W.M. Jones - 4.01.0-3 +- Disable -lcurses. This is not actually used, just linked with unnecessarily. + +* Sat Sep 14 2013 Richard W.M. Jones - 4.01.0-2 +- Fix the build on ppc64. + +* Fri Sep 13 2013 Richard W.M. Jones - 4.01.0-1 +- Update to new major version OCaml 4.01.0. +- Rebase patches. +- Remove bogus Requires 'ncurses-devel'. The base ocaml package already + pulls in the library implicitly. +- Remove bogus Requires 'gdbm-devel'. Nothing in the source mentions gdbm. +- Use mkstemp instead of mktemp in ocamlyacc. +- Add LICENSE as doc to some subpackages to keep rpmlint happy. +- Remove .ignore file from some packages. +- Remove period from end of Summary. + +* Sat Aug 03 2013 Fedora Release Engineering - 4.00.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 4.00.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Oct 16 2012 Richard W.M. Jones - 4.00.1-1 +- Update to upstream version 4.00.1. +- Clean up the spec file further. + +* Thu Aug 16 2012 Richard W.M. Jones - 4.00.0-2 +- ppc supports natdynlink. + +* Sat Jul 28 2012 Richard W.M. Jones - 4.00.0-1 +- Upgrade to OCaml 4.00.0 official release. +- Remove one patch (add -lpthread) which went upstream. + +* Fri Jul 20 2012 Fedora Release Engineering - 4.00.0-0.6.beta2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sun Jun 10 2012 Richard W.M. Jones - 4.00.0-0.5.beta2 +- No change, just fix up changelog. + +* Thu Jun 7 2012 Richard W.M. Jones 4.00.0-0.3.beta2 +- Upgrade to OCaml 4.00.0 beta 2. +- The language is now officially called OCaml (not Objective Caml, O'Caml etc) +- Rebase patches on top: + . New ARM backend patch no longer required, since upstream. + . Replacement config.guess, config.sub no longer required, since upstream + versions are newer. +- PPC64 backend rebased and fixed. + . Increase the default size of the stack when compiling. +- New tool: ocamloptp (ocamlopt profiler). +- New VERSION file in ocaml-runtime package. +- New ocaml-compiler-libs subpackage. +- Rearrange ExclusiveArch alphanumerically. +- alpha, ia64 native backends have been removed upstream, so they are + no longer supported as native compiler targets. +- Remove defattr. +- Make OCaml dependency generator self-contained so it doesn't need + previous version of OCaml around. + +* Wed Jun 6 2012 Richard W.M. Jones 3.12.1-12 +- ppc64: Include fix for minor heap corruption because of unaligned + minor heap register (RHBZ#826649). +- Unset MAKEFLAGS before running build. + +* Wed Jun 6 2012 Richard W.M. Jones 3.12.1-11 +- ppc64: Fix position of stack arguments to external C functions + when there are more than 8 parameters. + +* Tue Jun 5 2012 Richard W.M. Jones 3.12.1-10 +- Include patch to link dllthreads.so with -lpthread explicitly, to + fix problem with 'pthread_atfork' symbol missing (statically linked) + on ppc64. + +* Sun Jun 3 2012 Richard W.M. Jones 3.12.1-9 +- Include svn rev 12548 to fix invalid generation of Thumb-2 branch + instruction TBH (upstream PR#5623, RHBZ#821153). + +* Wed May 30 2012 Richard W.M. Jones 3.12.1-8 +- Modify the ppc64 patch to reduce the delta between power64 and + upstream power backends. +- Clean up the spec file and bring it up to modern standards. + * Remove patch fuzz directive. + * Remove buildroot directive. + * Rearrange source unpacking. + * Remove chmod of GNU config.* files, since git does it. + * Don't need to remove buildroot in install section. + * Remove clean section. + * git am 3.12.1-6 +- Move patches to external git repo: + http://git.fedorahosted.org/git/?p=fedora-ocaml.git + There should be no change introduced here. + +* Tue May 15 2012 Karsten Hopp 3.12.1-4 +- ppc64 got broken by the new ARM backend, add a minor patch + +* Sat Apr 28 2012 Richard W.M. Jones 3.12.1-3 +- New ARM backend by Benedikt Meurer, backported to OCaml 3.12.1. + This has several advantages, including enabling natdynlink on ARM. +- Provide updated config.guess and config.sub (from OCaml upstream tree). + +* Thu Jan 12 2012 Richard W.M. Jones 3.12.1-2 +- add back ocaml-ppc64.patch for ppc secondary arch, drop .cmxs files + from file list on ppc (cherry picked from F16 - this should have + gone into Rawhide originally then been cherry picked back to F16) + +* Fri Jan 6 2012 Richard W.M. Jones - 3.12.1-1 +- New upstream version 3.12.1. This is a bugfix update. + +* Thu Dec 8 2011 Richard W.M. Jones - 3.12.0-7 +- Allow this package to be compiled on platforms without native + support and/or natdynlink, specifically ppc64. This updates (and + hopefully does not break) DJ's previous *.cmxs change for arm. + +* Fri Sep 23 2011 DJ Delorie - 3.12.0-6 +- Add arm type directive patch. +- Allow more arm arches. +- Don't package *.cmxs on arm. + +* Wed Mar 30 2011 Richard W.M. Jones - 3.12.0-5 +- Fix for invalid assembler generation (RHBZ#691896). + +* Tue Feb 08 2011 Fedora Release Engineering - 3.12.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jan 5 2011 Richard W.M. Jones - 3.12.0-3 +- Rebuild with self. + +* Tue Jan 4 2011 Richard W.M. Jones - 3.12.0-2 +- Try depending on OCaml BR to fix: + /usr/lib/rpm/ocaml-find-provides.sh: /builddir/build/BUILDROOT/ocaml-3.12.0-1.fc15.i386/usr/bin/ocamlobjinfo: /usr/bin/ocamlrun: bad interpreter: No such file or directory + +* Tue Jan 4 2011 Richard W.M. Jones - 3.12.0-1 +- New upstream version 3.12.0. + http://fedoraproject.org/wiki/Features/OCaml3.12 +- Remove ppc64 support patch. +- Rebase rpath removal patch. +- ocamlobjinfo is now an official tool, so no need to compile it by hand. + Add objinfo_helper. +- Disable ocamlplugininfo. +- Remove addlabels, scrapelabels. +- Remove ocaml/stublibs/dlltkanim.so. + +* Fri Jan 29 2010 Richard W.M. Jones - 3.11.2-2 +- Update reference manual to latest version from website. + +* Wed Jan 20 2010 Richard W.M. Jones - 3.11.2-1 +- Update to 3.11.2 official release. + +* Tue Jan 5 2010 Richard W.M. Jones - 3.11.2-0.rc1.2 +- ocaml-labltk-devel should require tcl-devel and tk-devel. + +* Tue Dec 29 2009 Richard W.M. Jones - 3.11.2-0.rc1.1 +- Update to (release candidate) 3.11.2+rc1. + +* Wed Dec 16 2009 Richard W.M. Jones - 3.11.1-8 +- Use __ocaml_requires_opts / __ocaml_provides_opts. + +* Wed Dec 16 2009 Richard W.M. Jones - 3.11.1-7 +- Remove ocaml-find-{requires,provides}.sh from this package. These are + now in upstream RPM 4.8 (RHBZ#545116). +- define -> global in a few places. + +* Thu Nov 05 2009 Dennis Gilmore - 3.11.1-6 +- include sparcv9 in the arch list + +* Tue Oct 27 2009 Richard W.M. Jones - 3.11.1-5 +- Install ocaml.info files correctly (RHBZ#531204). + +* Fri Oct 16 2009 Richard W.M. Jones - 3.11.1-4 +- Set includes so building the *info programs works without + having OCaml already installed. + +* Fri Oct 16 2009 Richard W.M. Jones - 3.11.1-3 +- Add ocamlbyteinfo and ocamlplugininfo programs from Debian. + +* Sun Oct 4 2009 Richard W.M. Jones - 3.11.1-2 +- ocaml-find-requires.sh: Calculate runtime version using ocamlrun + -version instead of fedora-ocaml-release file. + +* Wed Sep 30 2009 Richard W.M. Jones - 3.11.1-1 +- OCaml 3.11.1 (this is virtually the same as the release candidate + that we were using for Fedora 12). + +* Sat Jul 25 2009 Fedora Release Engineering - 3.11.1-0.rc1.2.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jun 3 2009 Richard W.M. Jones - 3.11.1-0.rc1.2 +- Remember to upload the source this time. + +* Wed Jun 3 2009 Richard W.M. Jones - 3.11.1-0.rc1.1 +- New upstream release candidate 3.11.1+rc1. +- Remove ocamlbuild -where patch (now upstream). + +* Tue Jun 2 2009 Richard W.M. Jones - 3.11.1-0.rc0.3 +- Move dllgraphics.so into runtime package (RHBZ#468506). + +* Tue May 26 2009 Richard W.M. Jones - 3.11.1-0.rc0.2 +- Backport ocamlbuild -where fix. + +* Fri May 22 2009 Richard W.M. Jones - 3.11.1-0.rc0.1 +- 3.11.1 release candidate 0. + +* Wed Feb 25 2009 Fedora Release Engineering - 3.11.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu Dec 4 2008 Richard W.M. Jones - 3.11.0-1 +- Official release of 3.11.0. + +* Thu Dec 4 2008 Richard W.M. Jones - 3.11.0-0.6.rc1 +- Fixed sources file. + +* Thu Dec 4 2008 Richard W.M. Jones - 3.11.0-0.5.rc1 +- New upstream version 3.11.0+rc1. + +* Mon Nov 24 2008 Richard W.M. Jones - 3.11.0-0.4.beta1 +- Rebuild. + +* Thu Nov 20 2008 Rex Dieter - 3.11.0-0.3.beta1 +- fix NVR to match packaging guidelines + +* Thu Nov 20 2008 Richard W.M. Jones - 3.11.0+beta1-2 +- Fix Invalid_argument("String.index_from") with patch from upstream. + +* Tue Nov 18 2008 Richard W.M. Jones - 3.11.0+beta1-1 +- Rebuild for major new upstream release of 3.11.0 for Fedora 11. + +* Fri Aug 29 2008 Richard W.M. Jones - 3.10.2-5 +- Rebuild with patch fuzz. + +* Mon Jun 9 2008 Richard W.M. Jones - 3.10.2-4 +- Add ocaml-3.11-dev12-no-executable-stack.patch (bz #450551). + +* Wed Jun 4 2008 Richard W.M. Jones - 3.10.2-3 +- ocaml-ocamldoc provides ocamldoc (bz #449931). +- REMOVED provides of labltk, camlp4. Those are libraries and all + packages should now depend on ocaml-labltk / ocaml-camlp4 / -devel + as appropriate. + +* Thu May 8 2008 Richard W.M. Jones - 3.10.2-2 +- Pass MAP_32BIT to mmap (bz #445545). + +* Mon Apr 21 2008 Richard W.M. Jones - 3.10.2-1 +- New upstream version 3.10.2 for Fedora 10. +- Cleaned up several rpmlint errors & warnings. + +* Fri Feb 29 2008 David Woodhouse - 3.10.1-2 +- ppc64 port + +* Tue Feb 12 2008 Richard W.M. Jones - 3.10.1-1 +- new upstream version 3.10.1 + +* Fri Jan 4 2008 Gerard Milmeister - 3.10.0-8 +- patch for building with tcl/tk 8.5 + +* Thu Sep 6 2007 Richard W.M. Jones - 3.10.0-7 +- Run chrpath to delete rpaths used on some of the stublibs. +- Ignore Parsetree module in dependency calculation. +- Fixed ocaml-find-{requires,provides}.sh regexp calculation so it doesn't + over-match module names. + +* Mon Sep 3 2007 Richard W.M. Jones - 3.10.0-6 +- ocaml-runtime provides ocaml(runtime) = 3.10.0, and + ocaml-find-requires.sh modified so that it adds this requires + to other packages. Now can upgrade base ocaml packages without + needing to rebuild everything else. + +* Mon Sep 3 2007 Richard W.M. Jones - 3.10.0-5 +- Don't include the release number in fedora-ocaml-release file, so + that packages built against this won't depend on the Fedora release. + +* Wed Aug 29 2007 Gerard Milmeister - 3.10.0-4 +- added BR util-linux-ng + +* Wed Aug 29 2007 Gerard Milmeister - 3.10.0-3 +- added BR gawk + +* Tue Aug 28 2007 Fedora Release Engineering - 3.10.0-2 +- Rebuild for selinux ppc32 issue. + +* Sat Jun 2 2007 Gerard Milmeister - 3.10.0-1 +- new version 3.10.0 +- split off devel packages +- rename subpackages to use ocaml- prefix + +* Thu May 24 2007 Gerard Milmeister - 3.09.3-2 +- added ocamlobjinfo + +* Sat Dec 2 2006 Gerard Milmeister - 3.09.3-1 +- new version 3.09.3 + +* Mon Aug 28 2006 Gerard Milmeister - 3.09.2-2 +- Rebuild for FE6 + +* Sun Apr 30 2006 Gerard Milmeister - 3.09.2-1 +- new version 3.09.2 + +* Fri Feb 17 2006 Gerard Milmeister - 3.09.1-2 +- Rebuild for Fedora Extras 5 + +* Thu Jan 5 2006 Gerard Milmeister - 3.09.1-1 +- new version 3.09.1 + +* Sun Jan 1 2006 Gerard Milmeister - 3.09.0-1 +- new version 3.09.0 + +* Sun Sep 11 2005 Gerard Milmeister - 3.08.4-1 +- New Version 3.08.4 + +* Wed May 25 2005 Toshio Kuratomi - 3.08.3-5 +- Bump and re-release as last build failed due to rawhide syncing. + +* Sun May 22 2005 Toshio Kuratomi - 3.08.3-4 +- Fix for gcc4 and the 32 bit assembly in otherlibs/num. +- Fix to allow compilation with RPM_OPT_FLAG defined -O level. + +* Sun May 22 2005 Jeremy Katz - 3.08.3-3 +- rebuild on all arches + +* Fri Apr 8 2005 Michael Schwendt +- rebuilt + +* Sat Mar 26 2005 Gerard Milmeister - 3.08.3-1 +- New Version 3.08.3 + +* Sat Feb 12 2005 Gerard Milmeister - 0:3.08.2-2 +- Added patch for removing rpath from shared libs + +* Sat Feb 12 2005 Gerard Milmeister - 0:3.08.2-1 +- New Version 3.08.2 + +* Thu Dec 30 2004 Thorsten Leemhuis - 0:3.07-6 +- add -x11lib _prefix/X11R6/_lib to configure; fixes labltk build + on x86_64 + +* Tue Dec 2 2003 Gerard Milmeister - 0:3.07-0.fdr.5 +- ocamldoc -> ocaml-ocamldoc +- ocaml-doc -> ocaml-docs + +* Fri Nov 28 2003 Gerard Milmeister - 0:3.07-0.fdr.4 +- Make separate packages for labltk, camlp4, ocamldoc, emacs and documentation + +* Thu Nov 27 2003 Gerard Milmeister - 0:3.07-0.fdr.2 +- Changed license tag +- Register info files +- Honor RPM_OPT_FLAGS +- New Patch + +* Fri Oct 31 2003 Gerard Milmeister - 0:3.07-0.fdr.1 +- First Fedora release + +* Mon Oct 13 2003 Axel Thimm +- Updated to 3.07. + +* Wed Apr 9 2003 Axel Thimm +- Rebuilt for Red Hat 9. + +* Tue Nov 26 2002 Axel Thimm +- Added _mandir/mano/* entry