[packages/ocaml-ounit] - updated to 2.2.4 (now ounit2 with ounit compatibility metadata) - added remove-stdlib-shims,remove

qboosh qboosh at pld-linux.org
Sun Oct 24 07:46:53 CEST 2021


commit 0681e12540bcd7ed2de93eaf037e3c21619e0b10
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Oct 24 07:52:05 2021 +0200

    - updated to 2.2.4 (now ounit2 with ounit compatibility metadata)
    - added remove-stdlib-shims,remove-Thread-kill patches from Fedora

 ocaml-ounit-remove-Thread-kill.patch  |  13 ++++
 ocaml-ounit-remove-stdlib-shims.patch |  39 ++++++++++
 ocaml-ounit.spec                      | 133 +++++++++++++++++++++++++---------
 3 files changed, 150 insertions(+), 35 deletions(-)
---
diff --git a/ocaml-ounit.spec b/ocaml-ounit.spec
index ec028e1..e623345 100644
--- a/ocaml-ounit.spec
+++ b/ocaml-ounit.spec
@@ -1,23 +1,28 @@
 #
 # Conditional build:
-%bcond_without	ocaml_opt	# build opt (native code)
+%bcond_without	ocaml_opt	# native optimized binaries (bytecode is always built)
 
-%ifnarch %{ix86} %{x8664} arm aarch64 ppc sparc sparcv9 
+%ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
 %undefine	with_ocaml_opt
 %endif
 
 Summary:	OUnit: unit tests for OCaml
 Summary(pl.UTF-8):	OUnit - testy jednostkowe dla OCamla
 Name:		ocaml-ounit
-Version:	2.0.0
-Release:	6
+Version:	2.2.4
+Release:	1
 License:	MIT
-Group:		Libraries
-Source0:	http://forge.ocamlcore.org/frs/download.php/1258/ounit-%{version}.tar.gz
-# Source0-md5:	2e0a24648c55005978d4923eb4925b28
-URL:		http://ounit.forge.ocamlcore.org/
-BuildRequires:	ocaml >= 3.04-7
+Group:		Development/Libraries
+#Source0Download: https://github.com/gildor478/ounit/releases
+Source0:	https://github.com/gildor478/ounit/releases/download/v%{version}/ounit-v%{version}.tbz
+# Source0-md5:	7cc70da6eb7a69bc18936ade68dfae61
+Patch0:		%{name}-remove-stdlib-shims.patch
+Patch1:		%{name}-remove-Thread-kill.patch
+URL:		https://github.com/gildor478/ounit
+BuildRequires:	ocaml >= 1:4.04.0
+BuildRequires:	ocaml-dune >= 1.11.0
 BuildRequires:	ocaml-findlib
+BuildRequires:	ocaml-lwt-devel
 %requires_eq	ocaml
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -29,49 +34,107 @@ tool for Java, and the HUnit tool for Haskell.
 OUnit to szkielet testów jednostkowych dla OCamla, zainspirowany
 narzędziami JUnit dla Javy oraz HUnit dla Haskella.
 
+%package lwt
+Summary:	Helper functions for building Lwt tests using OUnit
+Summary(pl.UTF-8):	Funkcje pomocnicze do tworzenia testów Lwt przy użyciu biblioteki OUnit
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	ocaml-lwt-devel
+
+%description lwt
+This library contains helper functions for building Lwt tests using
+OUnit.
+
+%description lwt -l pl.UTF-8
+Biblioteka zawierająca funkcje pomocnicze do tworzenia testów Lwt przy
+użyciu biblioteki OUnit.
+
 %prep
-%setup -q -n ounit-%{version}
+%setup -q -n ounit-v%{version}
+%patch0 -p1
+%patch1 -p1
 
 %build
-# not autoconf configure
-./configure \
-	--prefix=%{_prefix} \
-	--override bytecomp_c_compiler "%{__cc} %{rpmcflags} -D_FILE_OFFSET_BITS=64 -D_REENTRANT -fPIC" \
-	--override native_c_compiler "%{__cc} %{rpmcflags} -D_FILE_OFFSET_BITS=64 -D_REENTRANT"
-
-%{__make}
+dune build @all --verbose
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/{site-lib/oUnit,stublibs}
-
-%{__make} install \
-	OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
 
-mv $RPM_BUILD_ROOT%{_libdir}/ocaml/oUnit/META $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/oUnit
-cat >> $RPM_BUILD_ROOT%{_libdir}/ocaml/site-lib/oUnit/META <<EOF
-directory = "+oUnit"
-EOF
+dune install --destdir=$RPM_BUILD_ROOT
 
 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-cp -r examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+cp -pr examples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
 
+# sources
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/{ounit2,ounit2-lwt}/*.ml
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/ounit2/*/*.ml
 # packaged as %doc
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/ocaml/oUnit/oUnit*.mli
+%{__rm} -r $RPM_BUILD_ROOT%{_prefix}/doc/{ounit,ounit-lwt,ounit2,ounit2-lwt}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS.txt LICENSE.txt README.txt doc/manual.txt src/oUnit*.mli
-%dir %{_libdir}/ocaml/oUnit
+%doc CHANGES.md LICENSE.txt README.md
+%dir %{_libdir}/ocaml/ounit
+%{_libdir}/ocaml/ounit/META
+%{_libdir}/ocaml/ounit/dune-package
+%{_libdir}/ocaml/ounit/opam
+%dir %{_libdir}/ocaml/ounit2
+%{_libdir}/ocaml/ounit2/META
+%{_libdir}/ocaml/ounit2/*.cma
+%{_libdir}/ocaml/ounit2/*.cmi
+%{_libdir}/ocaml/ounit2/*.cmt
+%{_libdir}/ocaml/ounit2/*.cmti
+%{_libdir}/ocaml/ounit2/*.mli
+%dir %{_libdir}/ocaml/ounit2/advanced
+%{_libdir}/ocaml/ounit2/advanced/*.cma
+%{_libdir}/ocaml/ounit2/advanced/*.cmi
+%{_libdir}/ocaml/ounit2/advanced/*.cmt
+%{_libdir}/ocaml/ounit2/advanced/*.cmti
+%{_libdir}/ocaml/ounit2/advanced/*.mli
+%dir %{_libdir}/ocaml/ounit2/threads
+%{_libdir}/ocaml/ounit2/threads/*.cma
+%{_libdir}/ocaml/ounit2/threads/*.cmi
+%{_libdir}/ocaml/ounit2/threads/*.cmt
+%dir %{_libdir}/ocaml/ounit2/threads/.private
+%{_libdir}/ocaml/ounit2/threads/.private/*.cmi
+%{_libdir}/ocaml/ounit2/threads/.private/*.cmt
 %if %{with ocaml_opt}
-%{_libdir}/ocaml/oUnit/oUnit.a
-%{_libdir}/ocaml/oUnit/oUnitAdvanced.a
-%{_libdir}/ocaml/oUnit/oUnitThreads.a
+%{_libdir}/ocaml/ounit2/*.a
+%{_libdir}/ocaml/ounit2/*.cmx
+%{_libdir}/ocaml/ounit2/*.cmxa
+%attr(755,root,root) %{_libdir}/ocaml/ounit2/*.cmxs
+%{_libdir}/ocaml/ounit2/advanced/*.a
+%{_libdir}/ocaml/ounit2/advanced/*.cmx
+%{_libdir}/ocaml/ounit2/advanced/*.cmxa
+%attr(755,root,root) %{_libdir}/ocaml/ounit2/advanced/*.cmxs
+%{_libdir}/ocaml/ounit2/threads/*.a
+%{_libdir}/ocaml/ounit2/threads/*.cmx
+%{_libdir}/ocaml/ounit2/threads/*.cmxa
+%attr(755,root,root) %{_libdir}/ocaml/ounit2/threads/*.cmxs
 %endif
-%{_libdir}/ocaml/oUnit/oUnit*.cm[ixa]*
-%{_libdir}/ocaml/oUnit/oUnit*.ml
-%{_libdir}/ocaml/site-lib/oUnit
+%{_libdir}/ocaml/ounit2/dune-package
+%{_libdir}/ocaml/ounit2/opam
 %{_examplesdir}/%{name}-%{version}
+
+%files lwt
+%defattr(644,root,root,755)
+%dir %{_libdir}/ocaml/ounit-lwt
+%{_libdir}/ocaml/ounit-lwt/META
+%{_libdir}/ocaml/ounit-lwt/dune-package
+%{_libdir}/ocaml/ounit-lwt/opam
+%dir %{_libdir}/ocaml/ounit2-lwt
+%{_libdir}/ocaml/ounit2-lwt/META
+%{_libdir}/ocaml/ounit2-lwt/*.cma
+%{_libdir}/ocaml/ounit2-lwt/*.cmi
+%{_libdir}/ocaml/ounit2-lwt/*.cmt
+%if %{with ocaml_opt}
+%{_libdir}/ocaml/ounit2-lwt/*.a
+%{_libdir}/ocaml/ounit2-lwt/*.cmx
+%{_libdir}/ocaml/ounit2-lwt/*.cmxa
+%attr(755,root,root) %{_libdir}/ocaml/ounit2-lwt/*.cmxs
+%endif
+%{_libdir}/ocaml/ounit2-lwt/dune-package
+%{_libdir}/ocaml/ounit2-lwt/opam
diff --git a/ocaml-ounit-remove-Thread-kill.patch b/ocaml-ounit-remove-Thread-kill.patch
new file mode 100644
index 0000000..1180fe4
--- /dev/null
+++ b/ocaml-ounit-remove-Thread-kill.patch
@@ -0,0 +1,13 @@
+--- ounit-v2.2.4.old/src/lib/ounit2/threads/oUnitRunnerThreads.ml	2021-03-01 21:14:43.656815139 +0000
++++ ounit-v2.2.4/src/lib/ounit2/threads/oUnitRunnerThreads.ml	2020-12-19 23:59:04.000000000 +0000
+@@ -143,8 +143,8 @@
+         Mutex.lock worker_finished_mutex
+       done;
+       if not !worker_finished then begin
+-        (* This will fail... because probably not implemented. *)
+-        Thread.kill thread;
++        (* This will fail... because probably not implemented.
++         Thread.kill thread; *)
+         worker_finished := true;
+         Condition.broadcast worker_finished_cond
+       end;
diff --git a/ocaml-ounit-remove-stdlib-shims.patch b/ocaml-ounit-remove-stdlib-shims.patch
new file mode 100644
index 0000000..9426ef5
--- /dev/null
+++ b/ocaml-ounit-remove-stdlib-shims.patch
@@ -0,0 +1,39 @@
+From fec0a725231d5769b3d3454687d6b0e1bd6b5e58 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones at redhat.com>
+Date: Tue, 5 May 2020 12:30:50 +0100
+Subject: [PATCH] Remove stdlib-shims.
+
+We neither need nor want the stdlib-shims package in Fedora.  It is a
+forward compatibility package for older OCaml installations.  Patch it
+out instead.  Upstream does not want this patch until stdlib-shims is
+obsolete.
+---
+ ounit2.opam                  | 1 -
+ src/lib/ounit2/advanced/dune | 2 +-
+ 2 files changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/ounit2.opam b/ounit2.opam
+index d07d8ca..2ae6fe9 100644
+--- a/ounit2.opam
++++ b/ounit2.opam
+@@ -10,7 +10,6 @@ depends: [
+   "dune" {>= "1.11.0"}
+   "base-bytes"
+   "base-unix"
+-  "stdlib-shims"
+ ]
+ build: [
+   ["dune" "build" "-p" name "-j" jobs]
+diff --git a/src/lib/ounit2/advanced/dune b/src/lib/ounit2/advanced/dune
+index df87fe1..529a7e4 100644
+--- a/src/lib/ounit2/advanced/dune
++++ b/src/lib/ounit2/advanced/dune
+@@ -7,4 +7,4 @@
+   (name oUnitAdvanced)
+   (public_name ounit2.advanced)
+   (wrapped false)
+-  (libraries unix bytes stdlib-shims))
++  (libraries unix bytes))
+-- 
+2.29.2
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ocaml-ounit.git/commitdiff/0681e12540bcd7ed2de93eaf037e3c21619e0b10



More information about the pld-cvs-commit mailing list