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 known not to work; will fix shortly.
- 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.
This commit is contained in:
Richard W.M. Jones 2012-06-07 14:59:51 +01:00
parent f67fde615d
commit 1837515a64
11 changed files with 134 additions and 5924 deletions

4
.gitignore vendored
View File

@ -11,3 +11,7 @@ ocaml-3.11.2.tar.bz2
/ocaml-3.12-refman.info.tar.gz /ocaml-3.12-refman.info.tar.gz
/ocaml-3.12-refman.pdf /ocaml-3.12-refman.pdf
/ocaml-3.12.1.tar.gz /ocaml-3.12.1.tar.gz
/ocaml-4.00.0+beta2.tar.bz2
/ocaml-4.00beta-refman-html.tar.gz
/ocaml-4.00beta-refman.info.tar.gz
/ocaml-4.00beta-refman.pdf

View File

@ -1,7 +1,7 @@
From 0f3d9e1188a765390ac21b6204c66765c1cad8f0 Mon Sep 17 00:00:00 2001 From 545a807ed2ecbbcfa59699d99eefb6ecfd5a9bc6 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:40:36 +0100 Date: Tue, 29 May 2012 20:40:36 +0100
Subject: [PATCH 1/8] ocamlbyteinfo, ocamlplugininfo: Useful utilities from Subject: [PATCH 1/5] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
Debian, sent upstream. Debian, sent upstream.
See: See:
@ -236,5 +236,5 @@ index 0000000..e28800f
+ header.units + header.units
+ end + end
-- --
1.7.10.1 1.7.10

View File

@ -1,17 +1,17 @@
From 649d2c547fd28c48b52348328cd267854389f45f Mon Sep 17 00:00:00 2001 From ece869582cd6746834ad8cbb0b31f09fb88e6cbc Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:43:34 +0100 Date: Tue, 29 May 2012 20:43:34 +0100
Subject: [PATCH 3/8] Don't add rpaths to libraries. Subject: [PATCH 2/5] Don't add rpaths to libraries.
--- ---
tools/Makefile.shared | 3 --- tools/Makefile.shared | 3 ---
1 file changed, 3 deletions(-) 1 file changed, 3 deletions(-)
diff --git a/tools/Makefile.shared b/tools/Makefile.shared diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index 247575a..05de46c 100644 index f6818d3..aadd7e2 100644
--- a/tools/Makefile.shared --- a/tools/Makefile.shared
+++ b/tools/Makefile.shared +++ b/tools/Makefile.shared
@@ -103,9 +103,6 @@ ocamlmklib.ml: ocamlmklib.mlp ../config/Makefile @@ -114,9 +114,6 @@ ocamlmklib.ml: ocamlmklib.mlp ../config/Makefile
sed -e "s|%%BINDIR%%|$(BINDIR)|" \ sed -e "s|%%BINDIR%%|$(BINDIR)|" \
-e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \ -e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \
-e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \ -e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \
@ -22,5 +22,5 @@ index 247575a..05de46c 100644
ocamlmklib.mlp >> ocamlmklib.ml ocamlmklib.mlp >> ocamlmklib.ml
-- --
1.7.10.1 1.7.10

File diff suppressed because it is too large Load Diff

View File

@ -1,17 +1,17 @@
From 0febdfe1698639ce53e6ed8935cdc573be302b49 Mon Sep 17 00:00:00 2001 From 18750e6b76911e508ddd632df073566179d091d6 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:44:18 +0100 Date: Tue, 29 May 2012 20:44:18 +0100
Subject: [PATCH 4/8] configure: Allow user defined C compiler flags. Subject: [PATCH 3/5] configure: Allow user defined C compiler flags.
--- ---
configure | 4 ++++ configure | 4 ++++
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/configure b/configure diff --git a/configure b/configure
index 9be5199..d0a6b0f 100755 index 72f4240..eafd6d9 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -1600,6 +1600,10 @@ case "$buggycc" in @@ -1572,6 +1572,10 @@ case "$buggycc" in
nativecccompopts="$nativecccompopts -fomit-frame-pointer";; nativecccompopts="$nativecccompopts -fomit-frame-pointer";;
esac esac
@ -23,5 +23,5 @@ index 9be5199..d0a6b0f 100755
cclibs="$cclibs $mathlib" cclibs="$cclibs $mathlib"
-- --
1.7.10.1 1.7.10

View File

@ -1,7 +1,7 @@
From 66eef2038cf9af06e5883be320e3bf7aec35d572 Mon Sep 17 00:00:00 2001 From a46d9a5dd1cb05ee6f32ca41acd35acb536a90de Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Jun 2012 22:49:17 +0100 Date: Tue, 5 Jun 2012 22:49:17 +0100
Subject: [PATCH 8/8] Link dllthreads.so with -lpthread so that pthread_atfork Subject: [PATCH 4/5] Link dllthreads.so with -lpthread so that pthread_atfork
is included statically. is included statically.
See: See:
@ -11,7 +11,7 @@ https://lists.fedoraproject.org/pipermail/ppc/2012-June/001655.html
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/otherlibs/systhreads/Makefile b/otherlibs/systhreads/Makefile diff --git a/otherlibs/systhreads/Makefile b/otherlibs/systhreads/Makefile
index 5ee2775..c75ab14 100644 index 3d3f8fb..fb0ae87 100644
--- a/otherlibs/systhreads/Makefile --- a/otherlibs/systhreads/Makefile
+++ b/otherlibs/systhreads/Makefile +++ b/otherlibs/systhreads/Makefile
@@ -30,7 +30,7 @@ all: libthreads.a threads.cma @@ -30,7 +30,7 @@ all: libthreads.a threads.cma
@ -24,5 +24,5 @@ index 5ee2775..c75ab14 100644
st_stubs_b.o: st_stubs.c st_posix.h st_stubs_b.o: st_stubs.c st_posix.h
$(BYTECC) -O -I../../byterun $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS) \ $(BYTECC) -O -I../../byterun $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS) \
-- --
1.7.10.1 1.7.10

View File

@ -1,7 +1,7 @@
From b25707437651811a22acaab5a9461eb4ab742f6e Mon Sep 17 00:00:00 2001 From a17790287c82c7068451ae37eac73a21bd148e9d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:47:07 +0100 Date: Tue, 29 May 2012 20:47:07 +0100
Subject: [PATCH 6/8] Add support for ppc64. Subject: [PATCH 5/5] Add support for ppc64.
Note (1): This patch was rejected upstream because they don't have Note (1): This patch was rejected upstream because they don't have
appropriate hardware for testing. appropriate hardware for testing.
@ -27,8 +27,8 @@ register (RHBZ#826649).
asmrun/Makefile | 6 + asmrun/Makefile | 6 +
asmrun/power64-elf.S | 486 ++++++++++++++++++++ asmrun/power64-elf.S | 486 ++++++++++++++++++++
asmrun/stack.h | 9 + asmrun/stack.h | 9 +
configure | 5 +- configure | 3 +
10 files changed, 2004 insertions(+), 1 deletion(-) 10 files changed, 2003 insertions(+)
create mode 100644 asmcomp/power64/arch.ml create mode 100644 asmcomp/power64/arch.ml
create mode 100644 asmcomp/power64/emit.mlp create mode 100644 asmcomp/power64/emit.mlp
create mode 100644 asmcomp/power64/proc.ml create mode 100644 asmcomp/power64/proc.ml
@ -1573,10 +1573,10 @@ index 0000000..7b8e2a4
+ +
+let fundecl f = (new selector)#emit_fundecl f +let fundecl f = (new selector)#emit_fundecl f
diff --git a/asmrun/Makefile b/asmrun/Makefile diff --git a/asmrun/Makefile b/asmrun/Makefile
index efffa33..3525b82 100644 index d4f0c56..d58d451 100644
--- a/asmrun/Makefile --- a/asmrun/Makefile
+++ b/asmrun/Makefile +++ b/asmrun/Makefile
@@ -74,6 +74,12 @@ power.o: power-$(SYSTEM).o @@ -89,6 +89,12 @@ power.o: power-$(SYSTEM).o
power.p.o: power-$(SYSTEM).o power.p.o: power-$(SYSTEM).o
cp power-$(SYSTEM).o power.p.o cp power-$(SYSTEM).o power.p.o
@ -2082,10 +2082,10 @@ index 0000000..b2c24d6
+ .align 3 + .align 3
+ +
diff --git a/asmrun/stack.h b/asmrun/stack.h diff --git a/asmrun/stack.h b/asmrun/stack.h
index c778873..f1d2e6a 100644 index a801405..59a7bf2 100644
--- a/asmrun/stack.h --- a/asmrun/stack.h
+++ b/asmrun/stack.h +++ b/asmrun/stack.h
@@ -65,6 +65,15 @@ @@ -47,6 +47,15 @@
#define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size)) #define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size))
#endif #endif
@ -2098,32 +2098,23 @@ index c778873..f1d2e6a 100644
+#define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size)) +#define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size))
+#endif +#endif
+ +
#ifdef TARGET_m68k #ifdef TARGET_arm
#define Saved_return_address(sp) *((intnat *)((sp) - 4)) #define Saved_return_address(sp) *((intnat *)((sp) - 4))
#define Callback_link(sp) ((struct caml_context *)((sp) + 8)) #define Callback_link(sp) ((struct caml_context *)((sp) + 8))
diff --git a/configure b/configure diff --git a/configure b/configure
index d0a6b0f..6ed0a9c 100755 index eafd6d9..2f48daf 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -685,6 +685,7 @@ case "$host" in @@ -685,6 +685,7 @@ case "$host" in
hppa2.0*-*-hpux*) arch=hppa; system=hpux;; arch=i386; system=macosx
hppa*-*-linux*) arch=hppa; system=linux;; fi;;
hppa*-*-gnu*) arch=hppa; system=gnu;; i[3456]86-*-gnu*) arch=i386; system=gnu;;
+ powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;; + powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;;
powerpc*-*-linux*) arch=power; model=ppc; system=elf;; powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;; powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-rhapsody*) arch=power; model=ppc; system=rhapsody;; powerpc-*-rhapsody*) arch=power; model=ppc; system=rhapsody;;
@@ -709,7 +710,7 @@ esac @@ -756,6 +757,8 @@ case "$arch,$model,$system" in
aspp='gcc -c';;
if $arch64; then
case "$arch,$model" in
- sparc,default|mips,default|hppa,default|power,ppc)
+ sparc,default|mips,default|hppa,default)
arch=none; model=default; system=unknown;;
esac
fi
@@ -772,6 +773,8 @@ case "$arch,$model,$system" in
aspp='as -n32 -O2';;
power,*,elf) as='as -u -m ppc' power,*,elf) as='as -u -m ppc'
aspp='gcc -c';; aspp='gcc -c';;
+ power64,*,elf) as='as -u -m ppc64' + power64,*,elf) as='as -u -m ppc64'
@ -2132,5 +2123,5 @@ index d0a6b0f..6ed0a9c 100755
aspp='gcc -c';; aspp='gcc -c';;
power,*,rhapsody) as="as -arch $model" power,*,rhapsody) as="as -arch $model"
-- --
1.7.10.1 1.7.10

View File

@ -1,128 +0,0 @@
From e3b5b13c53b62b99c4d6764b52a7269a6fe5b983 Mon Sep 17 00:00:00 2001
From: Stephane Glondu <steph@glondu.net>
Date: Tue, 29 May 2012 20:45:32 +0100
Subject: [PATCH 5/8] ocamlopt/arm: add .type directive for code symbols
Bug: http://caml.inria.fr/mantis/view.php?id=5336
Bug-Ubuntu: https://bugs.launchpad.net/bugs/810402
Signed-off-by: Stephane Glondu <steph@glondu.net>
---
asmcomp/arm/emit.mlp | 1 +
asmrun/arm.S | 12 ++++++++++++
2 files changed, 13 insertions(+)
diff --git a/asmcomp/arm/emit.mlp b/asmcomp/arm/emit.mlp
index 2003313..a4b2241 100644
--- a/asmcomp/arm/emit.mlp
+++ b/asmcomp/arm/emit.mlp
@@ -556,6 +556,7 @@ let fundecl fundecl =
` .text\n`;
` .align 2\n`;
` .global {emit_symbol fundecl.fun_name}\n`;
+ ` .type {emit_symbol fundecl.fun_name}, %function\n`;
`{emit_symbol fundecl.fun_name}:\n`;
let n = frame_size() in
ignore(emit_stack_adjustment "sub" n);
diff --git a/asmrun/arm.S b/asmrun/arm.S
index 164f731..1313e9c 100644
--- a/asmrun/arm.S
+++ b/asmrun/arm.S
@@ -24,6 +24,7 @@ alloc_limit .req r10
/* Allocation functions and GC interface */
.globl caml_call_gc
+ .type caml_call_gc, %function
caml_call_gc:
/* Record return address and desired size */
/* Can use alloc_limit as a temporary since it will be reloaded by
@@ -41,6 +42,7 @@ caml_call_gc:
bx lr
.globl caml_alloc1
+ .type caml_alloc1, %function
caml_alloc1:
sub alloc_ptr, alloc_ptr, #8
cmp alloc_ptr, alloc_limit
@@ -54,6 +56,7 @@ caml_alloc1:
b caml_alloc1
.globl caml_alloc2
+ .type caml_alloc2, %function
caml_alloc2:
sub alloc_ptr, alloc_ptr, #12
cmp alloc_ptr, alloc_limit
@@ -67,6 +70,7 @@ caml_alloc2:
b caml_alloc2
.globl caml_alloc3
+ .type caml_alloc3, %function
caml_alloc3:
sub alloc_ptr, alloc_ptr, #16
cmp alloc_ptr, alloc_limit
@@ -80,6 +84,7 @@ caml_alloc3:
b caml_alloc3
.globl caml_allocN
+ .type caml_allocN, %function
caml_allocN:
sub alloc_ptr, alloc_ptr, r12
cmp alloc_ptr, alloc_limit
@@ -134,6 +139,7 @@ caml_allocN:
/* Function to call is in r12 */
.globl caml_c_call
+ .type caml_c_call, %function
caml_c_call:
/* Preserve return address in callee-save register r4 */
mov r4, lr
@@ -160,6 +166,7 @@ caml_c_call:
/* Start the Caml program */
.globl caml_start_program
+ .type caml_start_program, %function
caml_start_program:
ldr r12, .Lcaml_program
@@ -235,6 +242,7 @@ caml_start_program:
/* Raise an exception from C */
.globl caml_raise_exception
+ .type caml_raise_exception, %function
caml_raise_exception:
/* Reload Caml allocation pointers */
ldr r12, .Lcaml_young_ptr
@@ -250,6 +258,7 @@ caml_raise_exception:
/* Callback from C to Caml */
.globl caml_callback_exn
+ .type caml_callback_exn, %function
caml_callback_exn:
/* Initial shuffling of arguments (r0 = closure, r1 = first arg) */
mov r12, r0
@@ -259,6 +268,7 @@ caml_callback_exn:
b .Ljump_to_caml
.globl caml_callback2_exn
+ .type caml_callback2_exn, %function
caml_callback2_exn:
/* Initial shuffling of arguments (r0 = closure, r1 = arg1, r2 = arg2) */
mov r12, r0
@@ -269,6 +279,7 @@ caml_callback2_exn:
b .Ljump_to_caml
.globl caml_callback3_exn
+ .type caml_callback3_exn, %function
caml_callback3_exn:
/* Initial shuffling of arguments */
/* (r0 = closure, r1 = arg1, r2 = arg2, r3 = arg3) */
@@ -281,6 +292,7 @@ caml_callback3_exn:
b .Ljump_to_caml
.globl caml_ml_array_bound_error
+ .type caml_ml_array_bound_error, %function
caml_ml_array_bound_error:
/* Load address of [caml_array_bound_error] in r12 */
ldr r12, .Lcaml_array_bound_error
--
1.7.10.1

File diff suppressed because it is too large Load Diff

View File

@ -1,18 +1,18 @@
Name: ocaml Name: ocaml
Version: 3.12.1 Version: 4.00.0
Release: 12%{?dist} Release: 0.1.beta2%{?dist}
Summary: Objective Caml compiler and programming environment Summary: OCaml compiler and programming environment
Group: Development/Languages Group: Development/Languages
License: QPL and (LGPLv2+ with exceptions) License: QPL and (LGPLv2+ with exceptions)
URL: http://www.ocaml.org URL: http://www.ocaml.org
Source0: http://caml.inria.fr/distrib/ocaml-3.12/ocaml-%{version}.tar.gz Source0: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-%{version}+beta2.tar.bz2
Source1: http://caml.inria.fr/distrib/ocaml-3.12/ocaml-3.12-refman.html.tar.gz Source1: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00beta-refman-html.tar.gz
Source2: http://caml.inria.fr/distrib/ocaml-3.12/ocaml-3.12-refman.pdf Source2: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00beta-refman.pdf
Source3: http://caml.inria.fr/distrib/ocaml-3.12/ocaml-3.12-refman.info.tar.gz Source3: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00beta-refman.info.tar.gz
# IMPORTANT NOTE: # IMPORTANT NOTE:
# #
@ -28,13 +28,10 @@ Source3: http://caml.inria.fr/distrib/ocaml-3.12/ocaml-3.12-refman.info.t
# be incorporated into the git repo at a later time. # be incorporated into the git repo at a later time.
# #
Patch0001: 0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch Patch0001: 0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
Patch0002: 0002-GNU-config.guess-and-config.sub-replacements.patch Patch0002: 0002-Don-t-add-rpaths-to-libraries.patch
Patch0003: 0003-Don-t-add-rpaths-to-libraries.patch Patch0003: 0003-configure-Allow-user-defined-C-compiler-flags.patch
Patch0004: 0004-configure-Allow-user-defined-C-compiler-flags.patch Patch0004: 0004-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
Patch0005: 0005-ocamlopt-arm-add-.type-directive-for-code-symbols.patch Patch0005: 0005-Add-support-for-ppc64.patch
Patch0006: 0006-Add-support-for-ppc64.patch
Patch0007: 0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
Patch0008: 0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
# Depend on previous version of OCaml so that ocamlobjinfo # Depend on previous version of OCaml so that ocamlobjinfo
# can run. # can run.
@ -73,9 +70,9 @@ Provides: ocaml(compiler) = %{version}
# We can compile OCaml on just about anything, but the native code # We can compile OCaml on just about anything, but the native code
# backend is only available on a subset of architectures. # backend is only available on a subset of architectures.
ExclusiveArch: alpha %{arm} %{ix86} ia64 x86_64 ppc sparc sparcv9 ppc64 ExclusiveArch: alpha %{arm} ia64 %{ix86} x86_64 ppc ppc64 sparc sparcv9
%ifarch alpha %{arm} %{ix86} ia64 ppc ppc64 sparc sparcv9 x86_64 %ifarch %{arm} %{ix86} ppc ppc64 sparc sparcv9 x86_64
%global native_compiler 1 %global native_compiler 1
%else %else
%global native_compiler 0 %global native_compiler 0
@ -92,8 +89,8 @@ ExclusiveArch: alpha %{arm} %{ix86} ia64 x86_64 ppc sparc sparcv9 ppc64
%description %description
Objective Caml is a high-level, strongly-typed, functional and OCaml is a high-level, strongly-typed, functional and object-oriented
object-oriented programming language from the ML family of languages. programming language from the ML family of languages.
This package comprises two batch compilers (a fast bytecode compiler This package comprises two batch compilers (a fast bytecode compiler
and an optimizing native-code compiler), an interactive toplevel system, and an optimizing native-code compiler), an interactive toplevel system,
@ -103,45 +100,45 @@ and a comprehensive library.
%package runtime %package runtime
Group: System Environment/Libraries Group: System Environment/Libraries
Summary: Objective Caml runtime environment Summary: OCaml runtime environment
Requires: util-linux Requires: util-linux
Provides: ocaml(runtime) = %{version} Provides: ocaml(runtime) = %{version}
%description runtime %description runtime
Objective Caml is a high-level, strongly-typed, functional and OCaml is a high-level, strongly-typed, functional and object-oriented
object-oriented programming language from the ML family of languages. programming language from the ML family of languages.
This package contains the runtime environment needed to run Objective This package contains the runtime environment needed to run OCaml
Caml bytecode. bytecode.
%package source %package source
Group: Development/Languages Group: Development/Languages
Summary: Source code for Objective Caml libraries Summary: Source code for OCaml libraries
Requires: ocaml = %{version}-%{release} Requires: ocaml = %{version}-%{release}
%description source %description source
Source code for Objective Caml libraries. Source code for OCaml libraries.
%package x11 %package x11
Group: System Environment/Libraries Group: System Environment/Libraries
Summary: X11 support for Objective Caml Summary: X11 support for OCaml
Requires: ocaml-runtime = %{version}-%{release} Requires: ocaml-runtime = %{version}-%{release}
Requires: libX11-devel Requires: libX11-devel
%description x11 %description x11
X11 support for Objective Caml. X11 support for OCaml.
%package labltk %package labltk
Group: System Environment/Libraries Group: System Environment/Libraries
Summary: Tk bindings for Objective Caml Summary: Tk bindings for OCaml
Requires: ocaml-runtime = %{version}-%{release} Requires: ocaml-runtime = %{version}-%{release}
%description labltk %description labltk
Labltk is a library for interfacing Objective Caml with the scripting Labltk is a library for interfacing OCaml with the scripting language
language Tcl/Tk. Tcl/Tk.
This package contains the runtime files. This package contains the runtime files.
@ -156,8 +153,8 @@ Requires: tcl-devel
Requires: tk-devel Requires: tk-devel
%description labltk-devel %description labltk-devel
Labltk is a library for interfacing Objective Caml with the scripting Labltk is a library for interfacing OCaml with the scripting language
language Tcl/Tk. Tcl/Tk.
This package contains the development files. It includes the ocaml This package contains the development files. It includes the ocaml
browser for code editing and library browsing. browser for code editing and library browsing.
@ -165,69 +162,85 @@ browser for code editing and library browsing.
%package camlp4 %package camlp4
Group: Development/Languages Group: Development/Languages
Summary: Pre-Processor-Pretty-Printer for Objective Caml Summary: Pre-Processor-Pretty-Printer for OCaml
Requires: ocaml-runtime = %{version}-%{release} Requires: ocaml-runtime = %{version}-%{release}
%description camlp4 %description camlp4
Camlp4 is a Pre-Processor-Pretty-Printer for Objective Caml, parsing a Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
source file and printing some result on standard output. file and printing some result on standard output.
This package contains the runtime files. This package contains the runtime files.
%package camlp4-devel %package camlp4-devel
Group: Development/Languages Group: Development/Languages
Summary: Pre-Processor-Pretty-Printer for Objective Caml Summary: Pre-Processor-Pretty-Printer for OCaml
Requires: ocaml = %{version}-%{release} Requires: ocaml = %{version}-%{release}
Requires: %{name}-camlp4 = %{version}-%{release} Requires: %{name}-camlp4 = %{version}-%{release}
%description camlp4-devel %description camlp4-devel
Camlp4 is a Pre-Processor-Pretty-Printer for Objective Caml, parsing a Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
source file and printing some result on standard output. file and printing some result on standard output.
This package contains the development files. This package contains the development files.
%package ocamldoc %package ocamldoc
Group: Development/Languages Group: Development/Languages
Summary: Documentation generator for Objective Caml. Summary: Documentation generator for OCaml.
Requires: ocaml = %{version}-%{release} Requires: ocaml = %{version}-%{release}
Provides: ocamldoc Provides: ocamldoc
%description ocamldoc %description ocamldoc
Documentation generator for Objective Caml. Documentation generator for OCaml.
%package emacs %package emacs
Group: Development/Languages Group: Development/Languages
Summary: Emacs mode for Objective Caml Summary: Emacs mode for OCaml
Requires: ocaml = %{version}-%{release} Requires: ocaml = %{version}-%{release}
Requires: emacs Requires: emacs
%description emacs %description emacs
Emacs mode for Objective Caml. Emacs mode for OCaml.
%package docs %package docs
Group: Development/Languages Group: Development/Languages
Summary: Documentation for Objective Caml Summary: Documentation for OCaml
Requires: ocaml = %{version}-%{release} Requires: ocaml = %{version}-%{release}
Requires(post): /sbin/install-info Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info Requires(preun): /sbin/install-info
%description docs %description docs
Objective Caml is a high-level, strongly-typed, functional and OCaml is a high-level, strongly-typed, functional and object-oriented
object-oriented programming language from the ML family of languages. programming language from the ML family of languages.
This package contains documentation in PDF and HTML format as well as This package contains documentation in PDF and HTML format as well as
man pages and info files. man pages and info files.
%package compiler-libs
Group: Development/Languages
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 %prep
%setup -q -T -b 0 -n %{name}-%{version} %setup -q -T -b 0 -n %{name}-%{version}+beta2
%setup -q -T -D -a 1 -n %{name}-%{version} %setup -q -T -D -a 1 -n %{name}-%{version}+beta2
%setup -q -T -D -a 3 -n %{name}-%{version} %setup -q -T -D -a 3 -n %{name}-%{version}+beta2
cp %{SOURCE2} refman.pdf cp %{SOURCE2} refman.pdf
git init git init
@ -296,7 +309,7 @@ install -m 0755 ocamlbyteinfo $RPM_BUILD_ROOT%{_bindir}
%post docs %post docs
/sbin/install-info \ /sbin/install-info \
--entry="* ocaml: (ocaml). The Objective Caml compiler and programming environment" \ --entry="* ocaml: (ocaml). The OCaml compiler and programming environment" \
--section="Programming Languages" \ --section="Programming Languages" \
%{_infodir}/%{name}.info \ %{_infodir}/%{name}.info \
%{_infodir}/dir 2>/dev/null || : %{_infodir}/dir 2>/dev/null || :
@ -309,7 +322,6 @@ fi
%files %files
%defattr(-,root,root,-)
%{_bindir}/ocaml %{_bindir}/ocaml
%{_bindir}/ocamlbyteinfo %{_bindir}/ocamlbyteinfo
%{_bindir}/ocamlbuild %{_bindir}/ocamlbuild
@ -337,6 +349,7 @@ fi
%if %{native_compiler} %if %{native_compiler}
%{_bindir}/ocamlopt %{_bindir}/ocamlopt
%{_bindir}/ocamlopt.opt %{_bindir}/ocamlopt.opt
%{_bindir}/ocamloptp
%endif %endif
#%{_bindir}/ocamlplugininfo #%{_bindir}/ocamlplugininfo
%{_bindir}/ocamlprof %{_bindir}/ocamlprof
@ -374,9 +387,9 @@ fi
%files runtime %files runtime
%defattr(-,root,root,-)
%{_bindir}/ocamlrun %{_bindir}/ocamlrun
%dir %{_libdir}/ocaml %dir %{_libdir}/ocaml
%{_libdir}/ocaml/VERSION
%{_libdir}/ocaml/*.cmo %{_libdir}/ocaml/*.cmo
%{_libdir}/ocaml/*.cmi %{_libdir}/ocaml/*.cmi
%{_libdir}/ocaml/*.cma %{_libdir}/ocaml/*.cma
@ -395,18 +408,15 @@ fi
%files source %files source
%defattr(-,root,root,-)
%{_libdir}/ocaml/*.ml %{_libdir}/ocaml/*.ml
%files x11 %files x11
%defattr(-,root,root,-)
%{_libdir}/ocaml/graphicsX11.cmi %{_libdir}/ocaml/graphicsX11.cmi
%{_libdir}/ocaml/graphicsX11.mli %{_libdir}/ocaml/graphicsX11.mli
%files labltk %files labltk
%defattr(-,root,root,-)
%{_bindir}/labltk %{_bindir}/labltk
%dir %{_libdir}/ocaml/labltk %dir %{_libdir}/ocaml/labltk
%{_libdir}/ocaml/labltk/*.cmi %{_libdir}/ocaml/labltk/*.cmi
@ -417,7 +427,6 @@ fi
%files labltk-devel %files labltk-devel
%defattr(-,root,root,-)
%{_bindir}/ocamlbrowser %{_bindir}/ocamlbrowser
%{_libdir}/ocaml/labltk/labltktop %{_libdir}/ocaml/labltk/labltktop
%{_libdir}/ocaml/labltk/pp %{_libdir}/ocaml/labltk/pp
@ -434,7 +443,6 @@ fi
%files camlp4 %files camlp4
%defattr(-,root,root,-)
%dir %{_libdir}/ocaml/camlp4 %dir %{_libdir}/ocaml/camlp4
%{_libdir}/ocaml/camlp4/*.cmi %{_libdir}/ocaml/camlp4/*.cmi
%{_libdir}/ocaml/camlp4/*.cma %{_libdir}/ocaml/camlp4/*.cma
@ -454,7 +462,6 @@ fi
%files camlp4-devel %files camlp4-devel
%defattr(-,root,root,-)
%{_bindir}/camlp4* %{_bindir}/camlp4*
%{_bindir}/mkcamlp4 %{_bindir}/mkcamlp4
%if %{native_compiler} %if %{native_compiler}
@ -475,14 +482,12 @@ fi
%files ocamldoc %files ocamldoc
%defattr(-,root,root,-)
%{_bindir}/ocamldoc* %{_bindir}/ocamldoc*
%{_libdir}/ocaml/ocamldoc %{_libdir}/ocaml/ocamldoc
%doc ocamldoc/Changes.txt %doc ocamldoc/Changes.txt
%files docs %files docs
%defattr(-,root,root,-)
%doc refman.pdf htmlman %doc refman.pdf htmlman
%{_infodir}/* %{_infodir}/*
%if %{native_compiler} %if %{native_compiler}
@ -491,13 +496,41 @@ fi
%files emacs %files emacs
%defattr(-,root,root,-)
%{_datadir}/emacs/site-lisp/* %{_datadir}/emacs/site-lisp/*
%{_bindir}/ocamltags %{_bindir}/ocamltags
%doc emacs/README %doc emacs/README
%files compiler-libs
%dir %{_libdir}/ocaml/compiler-libs
%{_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 %changelog
* Thu Jun 7 2012 Richard W.M. Jones <rjones@redhat.com> 4.00.0-0.1.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 known not to work; will fix shortly.
- 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.
* Wed Jun 6 2012 Richard W.M. Jones <rjones@redhat.com> 3.12.1-12 * Wed Jun 6 2012 Richard W.M. Jones <rjones@redhat.com> 3.12.1-12
- ppc64: Include fix for minor heap corruption because of unaligned - ppc64: Include fix for minor heap corruption because of unaligned
minor heap register (RHBZ#826649). minor heap register (RHBZ#826649).

View File

@ -1,4 +1,4 @@
93cd91f525441eb7e94cc49b9b64bab0 ocaml-3.12-refman.html.tar.gz 44105cb86be5ab0e82539fb49a2274d9 ocaml-4.00.0+beta2.tar.bz2
8cf24c4f69c6f9c9f9cc1edb9b18f6cb ocaml-3.12-refman.info.tar.gz 4e24c15df07bba220425da67f1a43c31 ocaml-4.00beta-refman-html.tar.gz
79fe5b86e0d6462e3e944fd8c47603ac ocaml-3.12-refman.pdf 91feb3bf47c0420a41fc2796135cb9ad ocaml-4.00beta-refman.info.tar.gz
814a047085f0f901ab7d8e3a4b7a9e65 ocaml-3.12.1.tar.gz c9d58f5fdcb455f2d46fe238cc88aaba ocaml-4.00beta-refman.pdf