diff --git a/.gitignore b/.gitignore index 872c1ca..75ca5e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -release-1.2.21.tar.bz2 -/release-1.2.24.tar.bz2 -/bin-prot-2.0.6.tar.gz -/bin-prot-2.0.7.tar.gz -/bin_prot-2.0.9.tar.gz +/release-*.tar.bz2 +/bin-prot-*.tar.gz +/bin_prot-*.tar.gz diff --git a/bin-prot-2.0.9-safe-string.patch b/bin-prot-2.0.9-safe-string.patch deleted file mode 100644 index b6dd3ae..0000000 --- a/bin-prot-2.0.9-safe-string.patch +++ /dev/null @@ -1,61 +0,0 @@ -diff -ur bin_prot-2.0.9.old/lib/common.ml bin_prot-2.0.9/lib/common.ml ---- bin_prot-2.0.9.old/lib/common.ml 2012-03-15 19:59:16.000000000 +0000 -+++ bin_prot-2.0.9/lib/common.ml 2017-11-18 12:44:52.543443638 +0000 -@@ -165,7 +165,7 @@ - else unsafe_blit_string_buf ~src_pos str ~dst_pos buf ~len) - - external unsafe_blit_buf_string : -- src_pos : int -> buf -> dst_pos : int -> string -> len : int -> unit -+ src_pos : int -> buf -> dst_pos : int -> bytes -> len : int -> unit - = "bin_prot_blit_buf_string_stub" "noalloc" - - let blit_buf_string ?src_pos buf ?dst_pos str ~len = -@@ -176,12 +176,12 @@ - else if len = 0 then ( - if src_pos > Array1.dim buf then - invalid_arg "Bin_prot.Common.blit_buf_string: src_pos > buf_len"; -- if dst_pos > String.length str then -+ if dst_pos > Bytes.length str then - invalid_arg "Bin_prot.Common.blit_buf_string: src_pos > str_len") - else ( - if src_pos + len > Array1.dim buf then - invalid_arg "Bin_prot.Common.blit_buf_string: src_pos + len > buf_len" -- else if dst_pos + len > String.length str then -+ else if dst_pos + len > Bytes.length str then - invalid_arg "Bin_prot.Common.blit_buf_string: src_pos + len > str_len" - else unsafe_blit_buf_string ~src_pos buf ~dst_pos str ~len) - -diff -ur bin_prot-2.0.9.old/lib/common.mli bin_prot-2.0.9/lib/common.mli ---- bin_prot-2.0.9.old/lib/common.mli 2012-03-15 19:59:16.000000000 +0000 -+++ bin_prot-2.0.9/lib/common.mli 2017-11-18 12:45:38.015421813 +0000 -@@ -63,7 +63,7 @@ - *) - - val blit_buf_string : -- ?src_pos : int -> buf -> ?dst_pos : int -> string -> len : int -> unit -+ ?src_pos : int -> buf -> ?dst_pos : int -> bytes -> len : int -> unit - (** [blit_buf_string ?src_pos src ?dst_pos dst ~len] blits [len] - bytes of the source buffer [src] starting at position [src_pos] - to string [dst] starting at position [dst_pos]. -@@ -181,5 +181,5 @@ - = "bin_prot_blit_string_buf_stub" "noalloc" - - external unsafe_blit_buf_string : -- src_pos : int -> buf -> dst_pos : int -> string -> len : int -> unit -+ src_pos : int -> buf -> dst_pos : int -> bytes -> len : int -> unit - = "bin_prot_blit_buf_string_stub" "noalloc" -diff -ur bin_prot-2.0.9.old/lib/read_ml.ml bin_prot-2.0.9/lib/read_ml.ml ---- bin_prot-2.0.9.old/lib/read_ml.ml 2012-03-15 19:59:16.000000000 +0000 -+++ bin_prot-2.0.9/lib/read_ml.ml 2017-11-18 12:47:01.188381893 +0000 -@@ -225,9 +225,9 @@ - let next = pos + len in - check_next buf next; - pos_ref := next; -- let str = String.create len in -+ let str = Bytes.create len in - unsafe_blit_buf_string ~src_pos:pos buf ~dst_pos:0 str ~len; -- str -+ Bytes.to_string str - - let bin_read_char (buf : buf) ~pos_ref = - let pos = safe_get_pos buf pos_ref in diff --git a/bin_prot-2.0.9-fix-line-directive.patch b/bin_prot-2.0.9-fix-line-directive.patch deleted file mode 100644 index bd0066c..0000000 --- a/bin_prot-2.0.9-fix-line-directive.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- bin_prot-2.0.9.old/myocamlbuild.ml 2018-06-20 20:39:23.831032731 +0100 -+++ bin_prot-2.0.9/myocamlbuild.ml 2018-06-20 20:39:59.613139344 +0100 -@@ -471,7 +471,7 @@ - - # 473 "myocamlbuild.ml" - (* OASIS_STOP *) --# 465 myocamlbuild.ml -+# 465 "myocamlbuild.ml" - - (* We probably will want to set this up in the `configure` script at some - point.*) diff --git a/ocaml-bin-prot-2.0.9-fix-ints.patch b/ocaml-bin-prot-2.0.9-fix-ints.patch deleted file mode 100644 index 4996de9..0000000 --- a/ocaml-bin-prot-2.0.9-fix-ints.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- bin_prot-2.0.9/lib/common_stubs.h.orig 2012-03-15 13:59:16.000000000 -0600 -+++ bin_prot-2.0.9/lib/common_stubs.h 2014-09-25 12:00:00.000000000 -0600 -@@ -41,6 +41,11 @@ - #include - #include - -+#define int64 int64_t -+#define uint64 uint64_t -+#define int32 int32_t -+#define uint32 uint32_t -+ - #ifdef ARCH_INT64_TYPE - #include "int64_native.h" - #else diff --git a/ocaml-bin-prot-2.0.9-remove-Werror.patch b/ocaml-bin-prot-2.0.9-remove-Werror.patch deleted file mode 100644 index efd1210..0000000 --- a/ocaml-bin-prot-2.0.9-remove-Werror.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- bin_prot-2.0.9/myocamlbuild.ml.old 2014-06-18 15:09:21.737703940 +0100 -+++ bin_prot-2.0.9/myocamlbuild.ml 2014-06-18 15:09:32.988696920 +0100 -@@ -517,7 +517,6 @@ - "-pedantic"; - "-Wextra"; - "-Wunused"; -- "-Werror"; - "-Wno-long-long"; - ] - in diff --git a/ocaml-bin-prot.spec b/ocaml-bin-prot.spec index 92e1f14..b57b03a 100644 --- a/ocaml-bin-prot.spec +++ b/ocaml-bin-prot.spec @@ -1,37 +1,26 @@ -%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0) +%global srcname bin-prot +%global upname bin_prot -%global dlnode 822 - -Name: ocaml-bin-prot -Version: 2.0.9 -Release: 36%{?dist} +Name: ocaml-%{srcname} +Version: 0.13.0 +Epoch: 1 +Release: 1%{?dist} Summary: Read and write OCaml values in a type-safe binary protocol -License: LGPLv2+ with exceptions -URL: http://forge.ocamlcore.org/projects/bin-prot -Source0: http://forge.ocamlcore.org/frs/download.php/%{dlnode}/bin_prot-%{version}.tar.gz - -# Remove -Werror from flags. -Patch1: %{name}-2.0.9-remove-Werror.patch - -# Update integer types for ocaml 4.02 -Patch2: %{name}-2.0.9-fix-ints.patch - -# Safe-string fixes for OCaml 4.06. -Patch3: bin-prot-2.0.9-safe-string.patch - -# Fix "naked" line directive for OCaml 4.07. -Patch4: bin_prot-2.0.9-fix-line-directive.patch - -BuildRequires: ocaml >= 3.12.0 -BuildRequires: ocaml-ocamlbuild -BuildRequires: ocaml-findlib-devel -BuildRequires: ocaml-ocamldoc -BuildRequires: ocaml-camlp4-devel -BuildRequires: ocaml-ounit-devel -BuildRequires: ocaml-type-conv >= 3.0.4 -BuildRequires: chrpath +# The project as a whole is MIT, but code in the src subdirectory is BSD. +License: MIT and BSD +URL: https://github.com/janestreet/%{upname} +Source0: %{url}/archive/v%{version}/%{upname}-%{version}.tar.gz +BuildRequires: ocaml >= 4.04.2 +BuildRequires: (ocaml-base-devel >= 0.13 and ocaml-base-devel < 0.14) +BuildRequires: ocaml-dune >= 1.5.1 +BuildRequires: ocaml-odoc +BuildRequires: (ocaml-ppx-compare-devel >= 0.13 and ocaml-ppx-compare-devel < 0.14) +BuildRequires: (ocaml-ppx-custom-printf-devel >= 0.13 and ocaml-ppx-custom-printf-devel < 0.14) +BuildRequires: (ocaml-ppx-fields-conv-devel >= 0.13 and ocaml-ppx-fields-conv-devel < 0.14) +BuildRequires: (ocaml-ppx-sexp-conv-devel >= 0.13 and ocaml-ppx-sexp-conv-devel < 0.14) +BuildRequires: (ocaml-ppx-variants-conv-devel >= 0.13 and ocaml-ppx-variants-conv-devel < 0.14) %description This library contains functionality for reading and writing OCaml @@ -46,82 +35,81 @@ values will lead to non-termination whereas shared values, besides requiring significantly more space when encoded, may lead to a substantial increase in memory footprint when they are read back in. - %package devel Summary: Development files for %{name} Requires: %{name} = %{version}-%{release} - %description devel -The %{name}-devel package contains libraries and signature files for -developing applications that use %{name}. - +The %{name}-devel package contains libraries and signature files +for developing applications that use %{name}. %prep -%setup -q -n bin_prot-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 - -# Use Fedora CFLAGS, and define ARCH_INT64_TYPE -expr=' "-DARCH_INT64_TYPE";' -for flag in %{optflags}; do - expr+="\\$\n"' '"\"$flag\";" -done -sed -i "/-pipe/,/-Wno-long-long/c\\$expr" myocamlbuild.ml -sed -i 's/;\$$/;/' myocamlbuild.ml +%autosetup -n %{upname}-%{version} %build -ocaml setup.ml -configure --prefix %{_prefix} \ - --libdir %{_libdir} \ - --libexecdir %{_libexecdir} \ - --exec-prefix %{_exec_prefix} \ - --bindir %{_bindir} \ - --sbindir %{_sbindir} \ - --mandir %{_mandir} \ - --datadir %{_datadir} \ - --localstatedir %{_localstatedir} \ - --sharedstatedir %{_sharedstatedir} \ - --destdir $RPM_BUILD_ROOT -ocaml setup.ml -build - - -%check -ocaml setup.ml -test +dune build %{?_smp_mflags} +# Relink with RPM_LD_FLAGS. +pushd _build/default/src +ocamlmklib -g -ldopt "$RPM_LD_FLAGS" -o bin_prot_stubs blit_stubs.o +popd %install -export DESTDIR=$RPM_BUILD_ROOT -export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml -mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs -ocaml setup.ml -install +dune install --destdir=%{buildroot} -chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so +# We install the documentation with the doc macro +rm -fr %{buildroot}%{_prefix}/doc +%ifarch %{ocaml_native_compiler} +# Add missing executable bits +find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod 0755 {} \+ +%endif %files -%license COPYRIGHT LICENSE LICENSE.Tywith -%{_libdir}/ocaml/bin_prot -%if %opt -%exclude %{_libdir}/ocaml/bin_prot/*.a -%exclude %{_libdir}/ocaml/bin_prot/*.cmxa +%doc CHANGES.md README.md +%license COPYRIGHT.txt LICENSE.md LICENSE-Tywith.txt THIRD-PARTY.txt +%dir %{_libdir}/ocaml/%{upname}/ +%dir %{_libdir}/ocaml/%{upname}/shape/ +%dir %{_libdir}/ocaml/%{upname}/xen/ +%{_libdir}/ocaml/%{upname}/META +%{_libdir}/ocaml/%{upname}/runtime.js +%{_libdir}/ocaml/%{upname}/*.cma +%{_libdir}/ocaml/%{upname}/*.cmi +%{_libdir}/ocaml/%{upname}/*/*.cma +%{_libdir}/ocaml/%{upname}/*/*.cmi +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/%{upname}/%{upname}*.cmxs +%{_libdir}/ocaml/%{upname}/*/*.cmxs %endif -%exclude %{_libdir}/ocaml/bin_prot/*.mli -%{_libdir}/ocaml/stublibs/*.so -%{_libdir}/ocaml/stublibs/*.so.owner - +%{_libdir}/ocaml/stublibs/dllbin_prot_stubs.so %files devel -%doc Changelog README.txt -%if %opt -%{_libdir}/ocaml/bin_prot/*.a -%{_libdir}/ocaml/bin_prot/*.cmxa +%{_libdir}/ocaml/%{upname}/dune-package +%{_libdir}/ocaml/%{upname}/opam +%ifarch %{ocaml_native_compiler} +%{_libdir}/ocaml/%{upname}/*.a +%{_libdir}/ocaml/%{upname}/*.cmx +%{_libdir}/ocaml/%{upname}/*.cmxa +%{_libdir}/ocaml/%{upname}/*/*.a +%{_libdir}/ocaml/%{upname}/*/*.cmx +%{_libdir}/ocaml/%{upname}/*/*.cmxa %endif -%{_libdir}/ocaml/bin_prot/*.mli - +%{_libdir}/ocaml/%{upname}/*.cmt +%{_libdir}/ocaml/%{upname}/*.cmti +%{_libdir}/ocaml/%{upname}/*.ml +%{_libdir}/ocaml/%{upname}/*.mli +%{_libdir}/ocaml/%{upname}/*/*.cmt +%{_libdir}/ocaml/%{upname}/*/*.cmti +%{_libdir}/ocaml/%{upname}/*/*.ml +%{_libdir}/ocaml/%{upname}/*/*.mli %changelog +* Mon Jun 15 2020 Jerry James - 1:0.13.0-1 +- Version 0.13.0 +- Add Epoch to deal with new version numbering scheme +- License change to MIT and BSD +- Build with dune + * Wed Jan 29 2020 Fedora Release Engineering - 2.0.9-36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index df738a4..ab09942 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -081b30567dc1030de6378cc673e5634b bin_prot-2.0.9.tar.gz +SHA512 (bin_prot-0.13.0.tar.gz) = b7d120222c3c1b2313d8bbd357d06dcd3433b7b906e89d4188c8746ce83ca7960853f15a81a3721ed7ab63876c4307346af2d4ce3ca68b15650b9e14140c3550