[ocaml] Update to 4.02.0-beta1 + patches from the upstream 4.02 branch.

Richard W.M. Jones rjones at fedoraproject.org
Sat Jul 12 18:01:48 UTC 2014


commit 7335bbf1f360fb3c5f9629e31888f8899c270438
Author: Richard W.M. Jones <rjones at redhat.com>
Date:   Tue Jun 24 22:28:27 2014 +0100

    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.

 ....gitignore-file-to-ignore-generated-files.patch |  366 ----
 ...t-ignore-.-configure-it-s-a-real-git-file.patch |   24 +
 ...y-compilerlibs-directory-is-created-by-gi.patch |    4 +-
 0003-Don-t-add-rpaths-to-libraries.patch           |   29 +
 0004-Don-t-add-rpaths-to-libraries.patch           |   26 -
 ...fo-ocamlplugininfo-Useful-utilities-from-.patch |    4 +-
 ...igure-Allow-user-defined-C-compiler-flags.patch |    8 +-
 0006-Add-support-for-ppc64.patch                   |   34 +-
 ...4le.patch => 0007-Add-support-for-ppc64le.patch |   34 +-
 0007-yacc-Use-mkstemp-instead-of-mktemp.patch      |   25 -
 ...-ARM-64-bits-AArch64-architecture-experim.patch | 2280 --------------------
 ...08-arm-arm64-Mark-stack-as-non-executable.patch |    6 +-
 0009-Updated-with-latest-versions-from-FSF.patch   |  716 ------
 ...g-Add-no_arg-and-get_arg-helper-functions.patch |    6 +-
 ...lags-such-as-flag-arg-as-well-as-flag-arg.patch |   10 +-
 0010-arm64-Align-code-and-data-to-8-bytes.patch    |   41 -
 ocaml.spec                                         |  191 +--
 sources                                            |    8 +-
 18 files changed, 143 insertions(+), 3669 deletions(-)
---
diff --git a/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch b/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
new file mode 100644
index 0000000..8bf7f61
--- /dev/null
+++ b/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
@@ -0,0 +1,24 @@
+From 73598ab5b5b9c859e900413a31ca6452c324ff3d Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones at redhat.com>
+Date: Tue, 24 Jun 2014 22:29:38 +0100
+Subject: [PATCH 01/10] Don't ignore ./configure, it's a real git file.
+
+---
+ .gitignore | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/.gitignore b/.gitignore
+index 2817041..6835234 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -22,7 +22,6 @@
+ /.depend
+ /.depend.nt
+ /.DS_Store
+-/configure
+ /ocamlc
+ /ocamlc.opt
+ /expunge
+-- 
+1.9.0
+
diff --git a/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
index 6208ace..afa4d92 100644
--- a/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
+++ b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
@@ -1,7 +1,7 @@
-From 7756582741dc56070c03629a3b4640147723beda Mon Sep 17 00:00:00 2001
+From 8566059ac5eb68ac8006ba8d825644411d4c4cd1 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Thu, 7 Jun 2012 15:36:16 +0100
-Subject: [PATCH 02/14] Ensure empty compilerlibs/ directory is created by git.
+Subject: [PATCH 02/10] Ensure empty compilerlibs/ directory is created by git.
 
 This directory exists in the OCaml tarball, but is empty.  As a
 result, git ignores it unless we put a dummy file in it.
diff --git a/0003-Don-t-add-rpaths-to-libraries.patch b/0003-Don-t-add-rpaths-to-libraries.patch
new file mode 100644
index 0000000..c27d19e
--- /dev/null
+++ b/0003-Don-t-add-rpaths-to-libraries.patch
@@ -0,0 +1,29 @@
+From 8d1cb3e2a169a642a0c75e965bc6fc17184124c8 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones at redhat.com>
+Date: Tue, 24 Jun 2014 10:00:15 +0100
+Subject: [PATCH 03/10] Don't add rpaths to libraries.
+
+---
+ tools/Makefile.shared | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/tools/Makefile.shared b/tools/Makefile.shared
+index c4c9030..7a918e5 100644
+--- a/tools/Makefile.shared
++++ b/tools/Makefile.shared
+@@ -112,9 +112,9 @@ ocamlmklibconfig.ml: ../config/Makefile
+          echo 'let ext_dll = "$(EXT_DLL)"'; \
+          echo 'let supports_shared_libraries = $(SUPPORTS_SHARED_LIBRARIES)';\
+          echo 'let mkdll = "$(MKDLL)"'; \
+-         echo 'let byteccrpath = "$(BYTECCRPATH)"'; \
+-         echo 'let nativeccrpath = "$(NATIVECCRPATH)"'; \
+-         echo 'let mksharedlibrpath = "$(MKSHAREDLIBRPATH)"'; \
++         echo 'let byteccrpath = ""'; \
++         echo 'let nativeccrpath = ""'; \
++         echo 'let mksharedlibrpath = ""'; \
+          echo 'let toolpref = "$(TOOLPREF)"'; \
+          sed -n -e 's/^#ml //p' ../config/Makefile) \
+         > ocamlmklibconfig.ml
+-- 
+1.9.0
+
diff --git a/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
similarity index 98%
rename from 0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
rename to 0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
index 9bc9b44..a239f5c 100644
--- a/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
+++ b/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
@@ -1,7 +1,7 @@
-From a6d87cd4bc62d3987835c1ac844f35cc06804294 Mon Sep 17 00:00:00 2001
+From 0112a99407da09f066c9cbaa41fe770370ba6706 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 29 May 2012 20:40:36 +0100
-Subject: [PATCH 03/14] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
+Subject: [PATCH 04/10] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
  Debian, sent upstream.
 
 See:
diff --git a/0005-configure-Allow-user-defined-C-compiler-flags.patch b/0005-configure-Allow-user-defined-C-compiler-flags.patch
index 5864c92..89688bc 100644
--- a/0005-configure-Allow-user-defined-C-compiler-flags.patch
+++ b/0005-configure-Allow-user-defined-C-compiler-flags.patch
@@ -1,17 +1,17 @@
-From 459e9550f174e11176a2ece013fc4dd2b08a06bb Mon Sep 17 00:00:00 2001
+From 96ec5173787ce5e03dca7da6527c4cc732772051 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 29 May 2012 20:44:18 +0100
-Subject: [PATCH 05/14] configure: Allow user defined C compiler flags.
+Subject: [PATCH 05/10] configure: Allow user defined C compiler flags.
 
 ---
  configure | 4 ++++
  1 file changed, 4 insertions(+)
 
 diff --git a/configure b/configure
-index 07b1c35..39b38dc 100755
+index 74d489f..251ee2c 100755
 --- a/configure
 +++ b/configure
-@@ -1612,6 +1612,10 @@ case "$buggycc" in
+@@ -1629,6 +1629,10 @@ case "$buggycc" in
      nativecccompopts="$nativecccompopts -fomit-frame-pointer";;
  esac
  
diff --git a/0006-Add-support-for-ppc64.patch b/0006-Add-support-for-ppc64.patch
index 35e3b74..166e7b6 100644
--- a/0006-Add-support-for-ppc64.patch
+++ b/0006-Add-support-for-ppc64.patch
@@ -1,7 +1,7 @@
-From a85437a0d2ffdf7a340d379789500eb583ae4708 Mon Sep 17 00:00:00 2001
+From 443863864a99a0408c6068ba0b5ba6beddec337a Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 29 May 2012 20:47:07 +0100
-Subject: [PATCH 06/14] Add support for ppc64.
+Subject: [PATCH 06/10] Add support for ppc64.
 
 Note (1): This patch was rejected upstream because they don't have
 appropriate hardware for testing.
@@ -1576,10 +1576,10 @@ index 0000000..53b7828
 +
 +let fundecl f = (new selector)#emit_fundecl f
 diff --git a/asmrun/Makefile b/asmrun/Makefile
-index 5ebf7aa..6a8ed98 100644
+index 63ff80c..5da022c 100644
 --- a/asmrun/Makefile
 +++ b/asmrun/Makefile
-@@ -90,6 +90,12 @@ power.o: power-$(SYSTEM).o
+@@ -93,6 +93,12 @@ power.o: power-$(SYSTEM).o
  power.p.o: power-$(SYSTEM).o
  	cp power-$(SYSTEM).o power.p.o
  
@@ -2085,7 +2085,7 @@ index 0000000..b2c24d6
 +        .align  3
 +
 diff --git a/asmrun/stack.h b/asmrun/stack.h
-index 57c87fa..756db95 100644
+index 92b3c28..5202c3a 100644
 --- a/asmrun/stack.h
 +++ b/asmrun/stack.h
 @@ -46,6 +46,15 @@
@@ -2105,26 +2105,26 @@ index 57c87fa..756db95 100644
  #define Saved_return_address(sp) *((intnat *)((sp) - 4))
  #define Callback_link(sp) ((struct caml_context *)((sp) + 8))
 diff --git a/configure b/configure
-index 39b38dc..9b02664 100755
+index 251ee2c..5f92bac 100755
 --- a/configure
 +++ b/configure
-@@ -694,6 +694,7 @@ case "$host" in
-                                   arch=i386; system=macosx
+@@ -807,6 +807,7 @@ case "$target" in
                                  fi;;
    i[3456]86-*-gnu*)             arch=i386; system=gnu;;
+   i[3456]86-*-mingw*)           arch=i386; system=mingw;;
 +  powerpc64-*-linux*)           arch=power64; model=ppc64; system=elf;;
    powerpc*-*-linux*)            arch=power; model=ppc; system=elf;;
    powerpc-*-netbsd*)            arch=power; model=ppc; system=elf;;
    powerpc-*-openbsd*)           arch=power; model=ppc; system=bsd_elf;;
-@@ -776,6 +777,8 @@ case "$arch,$model,$system" in
-                     aspp='gcc -c';;
-   power,*,bsd*)     as='as'
-                     aspp='gcc -c';;
-+  power64,*,elf)    as='as -u -m ppc64'
-+                    aspp='gcc -c';;
-   power,*,rhapsody) as="as -arch $model"
-                     aspp="$bytecc -c";;
-   sparc,*,solaris)  as='as'
+@@ -886,6 +887,8 @@ case "$arch,$system" in
+                   aspp="/usr/ccs/bin/${TOOLPREF}as -P";;
+   power,elf)      as="${TOOLPREF}as -u -m ppc"
+                   aspp="${TOOLPREF}gcc -c";;
++  power64,*,elf)  as='${TOOLPREF}as -u -m ppc64'
++                  aspp='${TOOLPREF}gcc -c';;
+   power,rhapsody) as="${TOOLPREF}as -arch $model"
+                   aspp="$bytecc -c";;
+   sparc,solaris)  as="${TOOLPREF}as"
 -- 
 1.9.0
 
diff --git a/0013-Add-support-for-ppc64le.patch b/0007-Add-support-for-ppc64le.patch
similarity index 98%
rename from 0013-Add-support-for-ppc64le.patch
rename to 0007-Add-support-for-ppc64le.patch
index d3b4e3b..ff5f928 100644
--- a/0013-Add-support-for-ppc64le.patch
+++ b/0007-Add-support-for-ppc64le.patch
@@ -1,7 +1,7 @@
-From d9ec3ac29493999687b0f7daa23f4888bc57c7be Mon Sep 17 00:00:00 2001
+From 69837e1be517082e841d583f59f017edfd7ffa39 Mon Sep 17 00:00:00 2001
 From: Michel Normand <normand at linux.vnet.ibm.com>
 Date: Tue, 18 Mar 2014 09:15:47 -0400
-Subject: [PATCH 13/14] Add support for ppc64le.
+Subject: [PATCH 07/10] Add support for ppc64le.
 
 Signed-off-by: Michel Normand <normand at linux.vnet.ibm.com>
 ---
@@ -1556,10 +1556,10 @@ index 0000000..6101d53
 +
 +let fundecl f = (new selector)#emit_fundecl f
 diff --git a/asmrun/Makefile b/asmrun/Makefile
-index 6a8ed98..1ff256f 100644
+index 5da022c..c0362b6 100644
 --- a/asmrun/Makefile
 +++ b/asmrun/Makefile
-@@ -96,6 +96,12 @@ power64.o: power64-$(SYSTEM).o
+@@ -99,6 +99,12 @@ power64.o: power64-$(SYSTEM).o
  power64.p.o: power64-$(SYSTEM).o
  	cp power64-$(SYSTEM).o power64.p.o
  
@@ -1858,7 +1858,7 @@ index 0000000..f49d00c
 +power64-elf.S
 \ No newline at end of file
 diff --git a/asmrun/stack.h b/asmrun/stack.h
-index 031e408..f1890c1 100644
+index 5202c3a..94b81e4 100644
 --- a/asmrun/stack.h
 +++ b/asmrun/stack.h
 @@ -55,6 +55,15 @@
@@ -1892,26 +1892,26 @@ index b79252d..049652e 100755
  	echo powerpc-unknown-linux-${LIBC}
  	exit ;;
 diff --git a/configure b/configure
-index 36edfab..8a22078 100755
+index 5f92bac..8b300a4 100755
 --- a/configure
 +++ b/configure
-@@ -696,6 +696,7 @@ case "$host" in
-                                 fi;;
+@@ -808,6 +808,7 @@ case "$target" in
    i[3456]86-*-gnu*)             arch=i386; system=gnu;;
+   i[3456]86-*-mingw*)           arch=i386; system=mingw;;
    powerpc64-*-linux*)           arch=power64; model=ppc64; system=elf;;
 +  powerpc64le-*-linux*)         arch=power64le; model=ppc64le; system=elf;;
    powerpc*-*-linux*)            arch=power; model=ppc; system=elf;;
    powerpc-*-netbsd*)            arch=power; model=ppc; system=elf;;
    powerpc-*-openbsd*)           arch=power; model=ppc; system=bsd_elf;;
-@@ -781,6 +782,8 @@ case "$arch,$model,$system" in
-                     aspp='gcc -c';;
-   power64,*,elf)    as='as -u -m ppc64'
-                     aspp='gcc -c';;
-+  power64le,*,elf)  as='as -u -m ppc64'
-+                    aspp='gcc -c';;
-   power,*,rhapsody) as="as -arch $model"
-                     aspp="$bytecc -c";;
-   sparc,*,solaris)  as='as'
+@@ -889,6 +890,8 @@ case "$arch,$system" in
+                   aspp="${TOOLPREF}gcc -c";;
+   power64,*,elf)  as='${TOOLPREF}as -u -m ppc64'
+                   aspp='${TOOLPREF}gcc -c';;
++  power64le,*,elf) as='${TOOLPREF}as -u -m ppc64'
++                  aspp='${TOOLPREF}gcc -c';;
+   power,rhapsody) as="${TOOLPREF}as -arch $model"
+                   aspp="$bytecc -c";;
+   sparc,solaris)  as="${TOOLPREF}as"
 -- 
 1.9.0
 
diff --git a/0014-arm-arm64-Mark-stack-as-non-executable.patch b/0008-arm-arm64-Mark-stack-as-non-executable.patch
similarity index 87%
rename from 0014-arm-arm64-Mark-stack-as-non-executable.patch
rename to 0008-arm-arm64-Mark-stack-as-non-executable.patch
index 7767b40..2b73aed 100644
--- a/0014-arm-arm64-Mark-stack-as-non-executable.patch
+++ b/0008-arm-arm64-Mark-stack-as-non-executable.patch
@@ -1,7 +1,7 @@
-From 64da031fc17ca93efd5beabcf0b7ea49bcd645a0 Mon Sep 17 00:00:00 2001
+From 8db6171b43cf7d18340a68a2f636f9b2570236ac Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Sat, 10 May 2014 03:20:35 -0400
-Subject: [PATCH 14/14] arm, arm64: Mark stack as non-executable.
+Subject: [PATCH 08/10] arm, arm64: Mark stack as non-executable.
 
 The same fix as this one, which was only fully applied to
 i686 & x86-64:
@@ -24,7 +24,7 @@ index 2ce244a..90f5b6e 100644
 +    /* Mark stack as non-executable, PR#4564 */
 +        .section .note.GNU-stack,"",%progbits
 diff --git a/asmrun/arm64.S b/asmrun/arm64.S
-index de670e6..84e18ba 100644
+index 2c16a0e..a7d4953 100644
 --- a/asmrun/arm64.S
 +++ b/asmrun/arm64.S
 @@ -533,3 +533,6 @@ caml_system__frametable:
diff --git a/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch b/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
similarity index 96%
rename from 0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
rename to 0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
index 4173775..290e7dd 100644
--- a/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
+++ b/0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
@@ -1,7 +1,7 @@
-From 251d3447bb10550320f43512d8886561c1298f74 Mon Sep 17 00:00:00 2001
+From 01298aadfd0bf571b9ce745a7a198015b2a20da9 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 1 Apr 2014 11:17:07 +0100
-Subject: [PATCH 11/14] arg: Add no_arg and get_arg helper functions.
+Subject: [PATCH 09/10] arg: Add no_arg and get_arg helper functions.
 
 The no_arg function in this patch is a no-op.  It will do something
 useful in the followups.
@@ -19,7 +19,7 @@ In particular, this should not change the treatment of Arg.current
  1 file changed, 26 insertions(+), 21 deletions(-)
 
 diff --git a/stdlib/arg.ml b/stdlib/arg.ml
-index 8b64236..c8b3d44 100644
+index 0f6480b..a41e0a2 100644
 --- a/stdlib/arg.ml
 +++ b/stdlib/arg.ml
 @@ -134,56 +134,62 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg =
diff --git a/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch b/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
similarity index 90%
rename from 0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
rename to 0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
index 4a1ba25..9a55cdd 100644
--- a/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
+++ b/0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
@@ -1,7 +1,7 @@
-From 57955b8a4d4cf7732cb87964f5e124ab713e084b Mon Sep 17 00:00:00 2001
+From 5af2eab80b969d88ecd5bdbe55f33e20753f9ceb Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 1 Apr 2014 11:21:40 +0100
-Subject: [PATCH 12/14] arg: Allow flags such as --flag=arg as well as --flag
+Subject: [PATCH 10/10] arg: Allow flags such as --flag=arg as well as --flag
  arg.
 
 Allow flags to be followed directly by their argument, separated by an '='
@@ -16,7 +16,7 @@ http://caml.inria.fr/mantis/view.php?id=5197
  2 files changed, 24 insertions(+), 7 deletions(-)
 
 diff --git a/stdlib/arg.ml b/stdlib/arg.ml
-index c8b3d44..766de5f 100644
+index a41e0a2..88b1306 100644
 --- a/stdlib/arg.ml
 +++ b/stdlib/arg.ml
 @@ -55,6 +55,12 @@ let rec assoc3 x l =
@@ -35,7 +35,7 @@ index c8b3d44..766de5f 100644
 @@ -130,14 +136,24 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg =
    while !current < l do
      let s = argv.(!current) in
-     if String.length s >= 1 && String.get s 0 = '-' then begin
+     if String.length s >= 1 && s.[0] = '-' then begin
 -      let action =
 -        try assoc3 s !speclist
 -        with Not_found -> stop (Unknown s)
@@ -64,7 +64,7 @@ index c8b3d44..766de5f 100644
        begin try
          let rec treat_action = function
 diff --git a/stdlib/arg.mli b/stdlib/arg.mli
-index 869d030..b8c6f11 100644
+index 22eda40..7078071 100644
 --- a/stdlib/arg.mli
 +++ b/stdlib/arg.mli
 @@ -25,7 +25,8 @@
diff --git a/ocaml.spec b/ocaml.spec
index 77c693d..16eda5b 100644
--- a/ocaml.spec
+++ b/ocaml.spec
@@ -15,9 +15,12 @@
 %global natdynlink 0
 %endif
 
+%global gitcommit 8c1e5cdf9154b7c4f979327a554bdde5c8f76436
+%global shortcommit 8c1e5cdf
+
 Name:           ocaml
-Version:        4.01.0
-Release:        20%{?dist}
+Version:        4.02.0
+Release:        0.1.git%{shortcommit}%{?dist}
 
 Summary:        OCaml compiler and programming environment
 
@@ -25,10 +28,10 @@ License:        QPL and (LGPLv2+ with exceptions)
 
 URL:            http://www.ocaml.org
 
-Source0:        http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-%{version}.tar.gz
-Source1:        http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman-html.tar.gz
-Source2:        http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.pdf
-Source3:        http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.info.tar.gz
+Source0:        https://github.com/ocaml/%{name}/archive/%{gitcommit}/%{name}-%{gitcommit}.tar.gz
+Source1:        http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman-html.tar.gz
+Source2:        http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman.pdf
+Source3:        http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman.info.tar.gz
 
 # IMPORTANT NOTE:
 #
@@ -39,40 +42,28 @@ Source3:        http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.in
 #
 # https://git.fedorahosted.org/cgit/fedora-ocaml.git/
 #
+# Current branch: fedora-22-4.02
+#
 # 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-Add-.gitignore-file-to-ignore-generated-files.patch
+Patch0001:      0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
 Patch0002:      0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
-Patch0003:      0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
-Patch0004:      0004-Don-t-add-rpaths-to-libraries.patch
+Patch0003:      0003-Don-t-add-rpaths-to-libraries.patch
+Patch0004:      0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
 Patch0005:      0005-configure-Allow-user-defined-C-compiler-flags.patch
 Patch0006:      0006-Add-support-for-ppc64.patch
-Patch0007:      0007-yacc-Use-mkstemp-instead-of-mktemp.patch
-
-# Aarch64 patches.
-Patch0008:      0008-Port-to-the-ARM-64-bits-AArch64-architecture-experim.patch
-Patch0009:      0009-Updated-with-latest-versions-from-FSF.patch
-Patch0010:      0010-arm64-Align-code-and-data-to-8-bytes.patch
-
-# NON-upstream patch to allow '--flag=arg' as an alternative to '--flag arg'.
-Patch0011:      0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
-Patch0012:      0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
-
-# ppc64le support (Michel Normand).
-Patch0013:      0013-Add-support-for-ppc64le.patch
-
-# ARM & Aarch64 non-executable stack.
-Patch0014:      0014-arm-arm64-Mark-stack-as-non-executable.patch
+Patch0007:      0007-Add-support-for-ppc64le.patch
+Patch0008:      0008-arm-arm64-Mark-stack-as-non-executable.patch
+Patch0009:      0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
+Patch0010:      0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
 
 # Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735).
 BuildRequires:  binutils-devel
 
 BuildRequires:  ncurses-devel
 BuildRequires:  gdbm-devel
-BuildRequires:  tcl-devel
-BuildRequires:  tk-devel
 BuildRequires:  emacs
 BuildRequires:  gawk
 BuildRequires:  perl
@@ -111,7 +102,7 @@ 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,Camlp4), a replay debugger, a documentation generator,
+parsing tools (Lex,Yacc), a replay debugger, a documentation generator,
 and a comprehensive library.
 
 
@@ -145,56 +136,6 @@ Requires:       libX11-devel
 X11 support for OCaml.
 
 
-%package labltk
-Summary:        Tk bindings for OCaml
-Requires:       ocaml-runtime = %{version}-%{release}
-
-%description labltk
-Labltk is a library for interfacing OCaml with the scripting language
-Tcl/Tk.
-
-This package contains the runtime files.
-
-
-%package labltk-devel
-Summary:        Development files for labltk
-Requires:       ocaml = %{version}-%{release}
-Requires:       %{name}-labltk = %{version}-%{release}
-Requires:       libX11-devel
-Requires:       tcl-devel
-Requires:       tk-devel
-
-%description labltk-devel
-Labltk is a library for interfacing OCaml with the scripting language
-Tcl/Tk.
-
-This package contains the development files.  It includes the ocaml
-browser for code editing and library browsing.
-
-
-%package camlp4
-Summary:        Pre-Processor-Pretty-Printer for OCaml
-Requires:       ocaml-runtime = %{version}-%{release}
-
-%description camlp4
-Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
-file and printing some result on standard output.
-
-This package contains the runtime files.
-
-
-%package camlp4-devel
-Summary:        Pre-Processor-Pretty-Printer for OCaml
-Requires:       ocaml = %{version}-%{release}
-Requires:       %{name}-camlp4 = %{version}-%{release}
-
-%description camlp4-devel
-Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
-file and printing some result on standard output.
-
-This package contains the development files.
-
-
 %package ocamldoc
 Summary:        Documentation generator for OCaml
 Requires:       ocaml = %{version}-%{release}
@@ -244,15 +185,16 @@ may not be portable between versions.
 
 
 %prep
-%setup -q -T -b 0 -n %{name}-%{version}
-%setup -q -T -D -a 1 -n %{name}-%{version}
-%setup -q -T -D -a 3 -n %{name}-%{version}
+%setup -q -T -b 0 -n %{name}-%{gitcommit}
+%setup -q -T -D -a 1 -n %{name}-%{gitcommit}
+%setup -q -T -D -a 3 -n %{name}-%{gitcommit}
 cp %{SOURCE2} refman.pdf
 
 git init
 git config user.email "noone at example.com"
 git config user.name "no one"
 git add .
+git add -f configure   ;# required because .gitignore lists this file
 git commit -a -q -m "%{version} baseline"
 git am %{patches} </dev/null
 
@@ -271,14 +213,7 @@ ulimit -Hs 65536
 ulimit -Ss 65536
 %endif
 
-# For the use of -mpreferred-stack-boundary to workaround gcc stack
-# alignment issues, see: http://caml.inria.fr/mantis/view.php?id=5700
-# ONLY use this on i386.
-%ifarch %{ix86}
-CFLAGS="$RPM_OPT_FLAGS -mpreferred-stack-boundary=2" \
-%else
 CFLAGS="$RPM_OPT_FLAGS" \
-%endif
 ./configure \
     -bindir %{_bindir} \
     -libdir %{_libdir}/ocaml \
@@ -432,8 +367,6 @@ fi
 %{_libdir}/ocaml/threads/*.cma
 %{_libdir}/ocaml/fedora-ocaml-release
 %exclude %{_libdir}/ocaml/graphicsX11.cmi
-%exclude %{_libdir}/ocaml/stublibs/dlllabltk.so
-#%exclude %{_libdir}/ocaml/stublibs/dlltkanim.so
 
 
 %files source
@@ -447,74 +380,6 @@ fi
 %{_libdir}/ocaml/graphicsX11.mli
 
 
-%files labltk
-%doc LICENSE
-%{_bindir}/labltk
-%dir %{_libdir}/ocaml/labltk
-%{_libdir}/ocaml/labltk/*.cmi
-%{_libdir}/ocaml/labltk/*.cma
-%{_libdir}/ocaml/labltk/*.cmo
-%{_libdir}/ocaml/stublibs/dlllabltk.so
-#%{_libdir}/ocaml/stublibs/dlltkanim.so
-
-
-%files labltk-devel
-%doc LICENSE
-%doc otherlibs/labltk/examples_labltk
-%doc otherlibs/labltk/examples_camltk
-%{_bindir}/ocamlbrowser
-%{_libdir}/ocaml/labltk/labltktop
-%{_libdir}/ocaml/labltk/pp
-%{_libdir}/ocaml/labltk/tkcompiler
-%{_libdir}/ocaml/labltk/*.a
-%if %{native_compiler}
-%{_libdir}/ocaml/labltk/*.cmxa
-%{_libdir}/ocaml/labltk/*.cmx
-%{_libdir}/ocaml/labltk/*.o
-%endif
-%{_libdir}/ocaml/labltk/*.mli
-
-
-%files camlp4
-%doc LICENSE
-%dir %{_libdir}/ocaml/camlp4
-%{_libdir}/ocaml/camlp4/*.cmi
-%{_libdir}/ocaml/camlp4/*.cma
-%{_libdir}/ocaml/camlp4/*.cmo
-%dir %{_libdir}/ocaml/camlp4/Camlp4Filters
-%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmi
-%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmo
-%dir %{_libdir}/ocaml/camlp4/Camlp4Parsers
-%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmo
-%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmi
-%dir %{_libdir}/ocaml/camlp4/Camlp4Printers
-%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmi
-%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmo
-%dir %{_libdir}/ocaml/camlp4/Camlp4Top
-%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmi
-%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmo
-
-
-%files camlp4-devel
-%{_bindir}/camlp4*
-%{_bindir}/mkcamlp4
-%if %{native_compiler}
-%{_libdir}/ocaml/camlp4/*.a
-%{_libdir}/ocaml/camlp4/*.cmxa
-%{_libdir}/ocaml/camlp4/*.cmx
-%{_libdir}/ocaml/camlp4/*.o
-%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmx
-%{_libdir}/ocaml/camlp4/Camlp4Filters/*.o
-%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmx
-%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.o
-%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmx
-%{_libdir}/ocaml/camlp4/Camlp4Printers/*.o
-%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmx
-%{_libdir}/ocaml/camlp4/Camlp4Top/*.o
-%endif
-%{_mandir}/man1/*
-
-
 %files ocamldoc
 %doc LICENSE
 %doc ocamldoc/Changes.txt
@@ -525,6 +390,7 @@ fi
 %files docs
 %doc refman.pdf htmlman
 %{_infodir}/*
+%{_mandir}/man1/*
 %{_mandir}/man3/*
 
 
@@ -549,6 +415,15 @@ fi
 
 
 %changelog
+* Sat Jul 12 2014 Richard W.M. Jones <rjones at redhat.com> - 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 <rjones at redhat.com> - 4.01.0-20
 - BR binutils-devel so ocamlobjinfo supports *.cmxs files (RHBZ#1113735).
 
diff --git a/sources b/sources
index ab191f4..65dc833 100644
--- a/sources
+++ b/sources
@@ -1,4 +1,4 @@
-04dfdd7da189462a4f10ec6530359cef  ocaml-4.01.0.tar.gz
-73f4657680baeb200135720fbc84eb4b  ocaml-4.01-refman-html.tar.gz
-f4605c5cf0dbf90395331997e600e159  ocaml-4.01-refman.info.tar.gz
-f14652070cfb984c75de1919085b6915  ocaml-4.01-refman.pdf
+c308e831a1c5d6b3024bb339fcee72f4  ocaml-4.02beta-refman-html.tar.gz
+672044269cea28b661fca5c0edadc195  ocaml-4.02beta-refman.info.tar.gz
+d05fc06025d7bad2a969a659f6de1c83  ocaml-4.02beta-refman.pdf
+053f03be03e82407f76ca0eb92bf2adf  ocaml-8c1e5cdf9154b7c4f979327a554bdde5c8f76436.tar.gz


More information about the scm-commits mailing list