From 2d6392e7eb3bb1f40e7925a202aa574bb851a481 Mon Sep 17 00:00:00 2001 From: Richard W.M. Jones Date: Sep 13 2013 20:45:36 +0000 Subject: Update to new major version 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. --- diff --git a/0001-Add-.gitignore-file-to-ignore-generated-files.patch b/0001-Add-.gitignore-file-to-ignore-generated-files.patch index 1bb24e9..f94d614 100644 --- a/0001-Add-.gitignore-file-to-ignore-generated-files.patch +++ b/0001-Add-.gitignore-file-to-ignore-generated-files.patch @@ -1,19 +1,19 @@ -From 51c4b66e0b0e07a337fa33b081ff1314e22d8416 Mon Sep 17 00:00:00 2001 +From 07839dfc746ccee318601b9668aa094d4465bc6e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 7 Jun 2012 16:00:28 +0100 -Subject: [PATCH 1/6] Add .gitignore file to ignore generated files. +Subject: [PATCH 1/7] Add .gitignore file to ignore generated files. --- - .gitignore | 345 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 345 insertions(+) + .gitignore | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 347 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 -index 0000000..b67b39f +index 0000000..7191b83 --- /dev/null +++ b/.gitignore -@@ -0,0 +1,345 @@ +@@ -0,0 +1,347 @@ +*~ +*.a +*.bak @@ -339,6 +339,7 @@ index 0000000..b67b39f +/stdlib/camlheader_ur +/stdlib/camlheaderd +/stdlib/stdlib.cmxa ++/stdlib/stdlib.p.cmxa +/stdlib/sys.ml +/tools/cvt_emit +/tools/cvt_emit.ml @@ -356,9 +357,10 @@ index 0000000..b67b39f +/tools/ocamlprof +/tools/opnames.ml +/tools/read_cmt ++/tools/read_cmt.opt +/utils/config.ml +/yacc/ocamlyacc +/yacc/version.h -- -1.7.11.4 +1.8.3.1 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 0c30a35..3166287 100644 --- a/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch +++ b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch @@ -1,17 +1,18 @@ -From d284aa71cb426a99e28c5acfa1a99f932767fede Mon Sep 17 00:00:00 2001 +From 7756582741dc56070c03629a3b4640147723beda Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 7 Jun 2012 15:36:16 +0100 -Subject: [PATCH 2/6] Ensure empty compilerlibs/ directory is created by git. +Subject: [PATCH 2/7] 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. --- - 0 files changed + compilerlibs/.exists | 0 + 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 compilerlibs/.exists diff --git a/compilerlibs/.exists b/compilerlibs/.exists new file mode 100644 index 0000000..e69de29 -- -1.7.11.4 +1.8.3.1 diff --git a/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch index 82da9be..241f363 100644 --- a/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch +++ b/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch @@ -1,7 +1,7 @@ -From 133ddd0bb459bf3c687e149c850454c3c3b4f406 Mon Sep 17 00:00:00 2001 +From a6d87cd4bc62d3987835c1ac844f35cc06804294 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:40:36 +0100 -Subject: [PATCH 3/6] ocamlbyteinfo, ocamlplugininfo: Useful utilities from +Subject: [PATCH 3/7] ocamlbyteinfo, ocamlplugininfo: Useful utilities from Debian, sent upstream. See: @@ -236,5 +236,5 @@ index 0000000..e28800f + header.units + end -- -1.7.11.4 +1.8.3.1 diff --git a/0004-Don-t-add-rpaths-to-libraries.patch b/0004-Don-t-add-rpaths-to-libraries.patch index ecfbd15..650caf4 100644 --- a/0004-Don-t-add-rpaths-to-libraries.patch +++ b/0004-Don-t-add-rpaths-to-libraries.patch @@ -1,17 +1,17 @@ -From 1e6bdb2cbc4a515ea589604e895501b40925585d Mon Sep 17 00:00:00 2001 +From c3a733c10827896a6e3c217b383e874df303d50b Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:43:34 +0100 -Subject: [PATCH 4/6] Don't add rpaths to libraries. +Subject: [PATCH 4/7] Don't add rpaths to libraries. --- tools/Makefile.shared | 3 --- 1 file changed, 3 deletions(-) diff --git a/tools/Makefile.shared b/tools/Makefile.shared -index f6818d3..aadd7e2 100644 +index 117f576..cad227d 100644 --- a/tools/Makefile.shared +++ b/tools/Makefile.shared -@@ -114,9 +114,6 @@ ocamlmklib.ml: ocamlmklib.mlp ../config/Makefile +@@ -116,9 +116,6 @@ ocamlmklib.ml: ocamlmklib.mlp ../config/Makefile sed -e "s|%%BINDIR%%|$(BINDIR)|" \ -e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \ -e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \ @@ -22,5 +22,5 @@ index f6818d3..aadd7e2 100644 ocamlmklib.mlp >> ocamlmklib.ml -- -1.7.11.4 +1.8.3.1 diff --git a/0005-configure-Allow-user-defined-C-compiler-flags.patch b/0005-configure-Allow-user-defined-C-compiler-flags.patch index a6034f2..69d80b4 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 49388917a7cc798b89b95c86c5a65ed2cbea7bd4 Mon Sep 17 00:00:00 2001 +From 459e9550f174e11176a2ece013fc4dd2b08a06bb Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:44:18 +0100 -Subject: [PATCH 5/6] configure: Allow user defined C compiler flags. +Subject: [PATCH 5/7] configure: Allow user defined C compiler flags. --- configure | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/configure b/configure -index e08bbce..cda73fd 100755 +index 07b1c35..39b38dc 100755 --- a/configure +++ b/configure -@@ -1576,6 +1576,10 @@ case "$buggycc" in +@@ -1612,6 +1612,10 @@ case "$buggycc" in nativecccompopts="$nativecccompopts -fomit-frame-pointer";; esac @@ -23,5 +23,5 @@ index e08bbce..cda73fd 100755 cclibs="$cclibs $mathlib" -- -1.7.11.4 +1.8.3.1 diff --git a/0006-Add-support-for-ppc64.patch b/0006-Add-support-for-ppc64.patch index a6dc495..c664d25 100644 --- a/0006-Add-support-for-ppc64.patch +++ b/0006-Add-support-for-ppc64.patch @@ -1,7 +1,7 @@ -From 5b518e4ccac2ab99508f98b0d6a03dc1613a91f9 Mon Sep 17 00:00:00 2001 +From 6a4eb2f692e11312dcec4e73956788ac1e5c2fa6 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:47:07 +0100 -Subject: [PATCH 6/6] Add support for ppc64. +Subject: [PATCH 6/7] Add support for ppc64. Note (1): This patch was rejected upstream because they don't have appropriate hardware for testing. @@ -18,7 +18,7 @@ when there are more than 8 parameters (RHBZ#829187). Includes fix for minor heap corruption because of unaligned minor heap register (RHBZ#826649). -Includes updates for OCaml 4.00.0. +Includes updates for OCaml 4.01.0. --- asmcomp/power64/arch.ml | 87 ++++ asmcomp/power64/emit.mlp | 989 ++++++++++++++++++++++++++++++++++++++++++ @@ -1579,10 +1579,10 @@ index 0000000..d2325e1 + +let fundecl f = (new selector)#emit_fundecl f diff --git a/asmrun/Makefile b/asmrun/Makefile -index d4f0c56..d58d451 100644 +index 5ebf7aa..6a8ed98 100644 --- a/asmrun/Makefile +++ b/asmrun/Makefile -@@ -89,6 +89,12 @@ power.o: power-$(SYSTEM).o +@@ -90,6 +90,12 @@ power.o: power-$(SYSTEM).o power.p.o: power-$(SYSTEM).o cp power-$(SYSTEM).o power.p.o @@ -2088,10 +2088,10 @@ index 0000000..b2c24d6 + .align 3 + diff --git a/asmrun/stack.h b/asmrun/stack.h -index a801405..59a7bf2 100644 +index 57c87fa..756db95 100644 --- a/asmrun/stack.h +++ b/asmrun/stack.h -@@ -47,6 +47,15 @@ +@@ -46,6 +46,15 @@ #define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size)) #endif @@ -2108,26 +2108,26 @@ index a801405..59a7bf2 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 cda73fd..314d1e9 100755 +index 39b38dc..9b02664 100755 --- a/configure +++ b/configure -@@ -686,6 +686,7 @@ case "$host" in +@@ -694,6 +694,7 @@ case "$host" in arch=i386; system=macosx fi;; i[3456]86-*-gnu*) arch=i386; system=gnu;; + 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-*-rhapsody*) arch=power; model=ppc; system=rhapsody;; -@@ -757,6 +758,8 @@ case "$arch,$model,$system" in + powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;; +@@ -776,6 +777,8 @@ case "$arch,$model,$system" in aspp='gcc -c';; - power,*,elf) as='as -u -m ppc' + power,*,bsd*) as='as' aspp='gcc -c';; + power64,*,elf) as='as -u -m ppc64' -+ aspp='gcc -c';; - power,*,bsd) as='as' - aspp='gcc -c';; ++ aspp='gcc -c';; power,*,rhapsody) as="as -arch $model" + aspp="$bytecc -c";; + sparc,*,solaris) as='as' -- -1.7.11.4 +1.8.3.1 diff --git a/0007-yacc-Use-mkstemp-instead-of-mktemp.patch b/0007-yacc-Use-mkstemp-instead-of-mktemp.patch new file mode 100644 index 0000000..06dec68 --- /dev/null +++ b/0007-yacc-Use-mkstemp-instead-of-mktemp.patch @@ -0,0 +1,25 @@ +From d7be8e44a95e0c7fad0987869999ecbed8c20769 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Fri, 13 Sep 2013 21:29:58 +0100 +Subject: [PATCH 7/7] yacc: Use mkstemp instead of mktemp. + +--- + yacc/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/yacc/main.c b/yacc/main.c +index f6cac60..3067000 100644 +--- a/yacc/main.c ++++ b/yacc/main.c +@@ -53,7 +53,7 @@ char *text_file_name; + char *union_file_name; + char *verbose_file_name; + +-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__) ++#if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__) + #define HAVE_MKSTEMP + #endif + +-- +1.8.3.1 + diff --git a/ocaml.spec b/ocaml.spec index 940c29d..cfc3059 100644 --- a/ocaml.spec +++ b/ocaml.spec @@ -1,6 +1,6 @@ Name: ocaml -Version: 4.00.1 -Release: 3%{?dist} +Version: 4.01.0 +Release: 1%{?dist} Summary: OCaml compiler and programming environment @@ -8,10 +8,10 @@ License: QPL and (LGPLv2+ with exceptions) URL: http://www.ocaml.org -Source0: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-%{version}.tar.bz2 -Source1: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00-refman-html.tar.gz -Source2: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00-refman.pdf -Source3: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00-refman.info.tar.gz +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 # IMPORTANT NOTE: # @@ -32,6 +32,7 @@ Patch0003: 0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch Patch0004: 0004-Don-t-add-rpaths-to-libraries.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 BuildRequires: ncurses-devel BuildRequires: gdbm-devel @@ -58,8 +59,6 @@ BuildRequires: chrpath BuildRequires: git Requires: gcc -Requires: ncurses-devel -Requires: gdbm-devel Requires: rpm-build >= 4.8.0 Provides: ocaml(compiler) = %{version} @@ -175,7 +174,7 @@ This package contains the development files. %package ocamldoc -Summary: Documentation generator for OCaml. +Summary: Documentation generator for OCaml Requires: ocaml = %{version}-%{release} Provides: ocamldoc @@ -267,6 +266,8 @@ make -C emacs ocamltags # to go upstream at some point. includes="-nostdlib -I stdlib -I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver -I otherlibs/unix -I otherlibs/str -I otherlibs/dynlink" boot/ocamlrun ./ocamlc $includes dynlinkaux.cmo ocamlbyteinfo.ml -o ocamlbyteinfo +# ocamlplugininfo doesn't compile because it needs 'dynheader' (type +# decl) and I have no idea where that comes from #cp otherlibs/dynlink/natdynlink.ml . #boot/ocamlrun ./ocamlopt $includes unix.cmxa str.cmxa natdynlink.ml ocamlplugininfo.ml -o ocamlplugininfo @@ -301,6 +302,8 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/ocaml/stublibs/*.so install -m 0755 ocamlbyteinfo $RPM_BUILD_ROOT%{_bindir} #install -m 0755 ocamlplugininfo $RPM_BUILD_ROOT%{_bindir} +find $RPM_BUILD_ROOT -name .ignore -delete + %post docs /sbin/install-info \ @@ -317,6 +320,7 @@ fi %files +%doc LICENSE %{_bindir}/ocaml %{_bindir}/ocamlbyteinfo %{_bindir}/ocamlbuild @@ -382,6 +386,7 @@ fi %files runtime +%doc README LICENSE Changes %{_bindir}/ocamlrun %dir %{_libdir}/ocaml %{_libdir}/ocaml/VERSION @@ -399,19 +404,21 @@ fi %exclude %{_libdir}/ocaml/graphicsX11.cmi %exclude %{_libdir}/ocaml/stublibs/dlllabltk.so #%exclude %{_libdir}/ocaml/stublibs/dlltkanim.so -%doc README LICENSE Changes %files source +%doc LICENSE %{_libdir}/ocaml/*.ml %files x11 +%doc LICENSE %{_libdir}/ocaml/graphicsX11.cmi %{_libdir}/ocaml/graphicsX11.mli %files labltk +%doc LICENSE %{_bindir}/labltk %dir %{_libdir}/ocaml/labltk %{_libdir}/ocaml/labltk/*.cmi @@ -422,6 +429,9 @@ fi %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 @@ -433,11 +443,10 @@ fi %{_libdir}/ocaml/labltk/*.o %endif %{_libdir}/ocaml/labltk/*.mli -%doc otherlibs/labltk/examples_labltk -%doc otherlibs/labltk/examples_camltk %files camlp4 +%doc LICENSE %dir %{_libdir}/ocaml/camlp4 %{_libdir}/ocaml/camlp4/*.cmi %{_libdir}/ocaml/camlp4/*.cma @@ -477,9 +486,10 @@ fi %files ocamldoc +%doc LICENSE +%doc ocamldoc/Changes.txt %{_bindir}/ocamldoc* %{_libdir}/ocaml/ocamldoc -%doc ocamldoc/Changes.txt %files docs @@ -491,12 +501,13 @@ fi %files emacs +%doc emacs/README %{_datadir}/emacs/site-lisp/* %{_bindir}/ocamltags -%doc emacs/README %files compiler-libs +%doc LICENSE %dir %{_libdir}/ocaml/compiler-libs %{_libdir}/ocaml/compiler-libs/*.cmi %{_libdir}/ocaml/compiler-libs/*.cmo @@ -510,6 +521,17 @@ fi %changelog +* Fri Sep 13 2013 Richard W.M. Jones - 4.01.0-1 +- Update to new major version 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 diff --git a/sources b/sources index 52e2fa9..ab191f4 100644 --- a/sources +++ b/sources @@ -1,4 +1,4 @@ -1c9dca1130edc0d1fa4647ae2cd7564a ocaml-4.00.1.tar.bz2 -ad05925dab6066863211b03d81f7a119 ocaml-4.00-refman-html.tar.gz -229d6b00715bf0d004a567bb1c3174a0 ocaml-4.00-refman.info.tar.gz -a9d66274dfb3a7244e725ab8f2b31209 ocaml-4.00-refman.pdf +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