The package rpms/ocaml-ounit.git has added or updated architecture specific content in
its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/ocaml-ounit.git/commit/?id=8bb4fb....
Change:
+%ifarch %{ocaml_native_compiler}
Thanks.
Full change:
============
commit 8bb4fb534ad879048bb738dada398bd901991c2a
Author: Jerry James <loganjerry(a)gmail.com>
Date: Fri Feb 7 20:37:04 2020 +0000
New upstream version 2.2.2
- New URLs
diff --git a/ocaml-ounit-stdlib-shims.patch b/ocaml-ounit-stdlib-shims.patch
new file mode 100644
index 0000000..0d3e213
--- /dev/null
+++ b/ocaml-ounit-stdlib-shims.patch
@@ -0,0 +1,18 @@
+--- a/ounit2.opam
++++ b/ounit2.opam
+@@ -11,7 +11,6 @@ depends: [
+ "dune" {>= "1.11.0"}
+ "base-bytes"
+ "base-unix"
+- "stdlib-shims"
+ ]
+ build: [
+ ["dune" "build" "-p" name "-j" jobs]
+--- 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))
diff --git a/ocaml-ounit.rpmlintrc b/ocaml-ounit.rpmlintrc
new file mode 100644
index 0000000..19f0a0b
--- /dev/null
+++ b/ocaml-ounit.rpmlintrc
@@ -0,0 +1,11 @@
+# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON
+#
https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_...
+
+# The dictionary is missing some technical terms
+addFilter(r'W: spelling-error .* xUnit')
+
+# The hidden directory is there on purpose
+addFilter(r'W: hidden-file-or-dir .*/ocaml/ounit2/threads/\.private')
+
+# Documentation is in the -doc subpackage
+addFilter(r'ocaml-ounit(-lwt)?(-devel)?\.[^:]+: W: no-documentation')
diff --git a/ocaml-ounit.spec b/ocaml-ounit.spec
index f3dd5b7..9dee377 100644
--- a/ocaml-ounit.spec
+++ b/ocaml-ounit.spec
@@ -1,28 +1,45 @@
-Name: ocaml-ounit
-Version: 2.0.8
-Release: 14%{?dist}
-Summary: Unit test framework for OCaml
+%ifnarch %{ocaml_native_compiler}
+%global debug_package %{nil}
+%endif
-License: MIT
-URL:
http://ounit.forge.ocamlcore.org/
-Source0:
http://forge.ocamlcore.org/frs/download.php/1749/ounit-%{version}.tar.gz
+%global srcname ounit
-BuildRequires: ocaml >= 3.10.0
-BuildRequires: ocaml-findlib-devel
-BuildRequires: ocaml-ocamldoc
-BuildRequires: ocaml-ocamlbuild
+Name: ocaml-%{srcname}
+Version: 2.2.2
+Release: 1%{?dist}
+Summary: Unit test framework for OCaml
+License: MIT
+URL:
https://github.com/gildor478/ounit
+Source0: %{url}/releases/download/v%{version}/%{srcname}-v%{version}.tbz
+# 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.
+Patch0: %{name}-stdlib-shims.patch
+
+BuildRequires: ocaml >= 4.02.3
+BuildRequires: ocaml-dune >= 1.11.0
+BuildRequires: ocaml-findlib
+BuildRequires: ocaml-lwt-devel
+BuildRequires: ocaml-mmap-devel
+BuildRequires: ocaml-ocplib-endian-devel
+BuildRequires: ocaml-odoc
+BuildRequires: ocaml-result-devel
+
+# The ounit name is now just an alias for ounit2
+Provides: %{name}2 = %{version}-%{release}
%description
-OUnit is a unit test framework for OCaml. It allows one to easily
-create unit-tests for OCaml code. It is based on HUnit, a unit testing
-framework for Haskell. It is similar to JUnit, and other xUnit testing
+OUnit is a unit test framework for OCaml. It allows one to easily create
+unit-tests for OCaml code. It is loosely based on HUnit, a unit testing
+framework for Haskell. It is similar to JUnit, and other xUnit testing
frameworks.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
+Provides: %{name}2-devel = %{version}-%{release}
%description devel
@@ -30,50 +47,148 @@ The %{name}-devel package contains libraries and signature files for
developing applications that use %{name}.
+%package lwt
+Summary: Helper functions for building Lwt tests using OUnit
+Requires: %{name} = %{version}-%{release}
+Provides: %{name}2-lwt = %{version}-%{release}
+
+
+%description lwt
+This package contains helper functions for building Lwt tests using
+OUnit.
+
+
+%package lwt-devel
+Summary: Development files for %{name}-lwt
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-lwt = %{version}-%{release}
+Requires: ocaml-lwt-devel%{?_isa}
+Provides: %{name}2-lwt-devel = %{version}-%{release}
+
+
+%description lwt-devel
+The %{name}-lwt-devel package contains libraries and signature
+files for developing applications that use %{name}-lwt.
+
+
+%package doc
+Summary: Documentation for %{name}
+BuildArch: noarch
+
+
+%description doc
+Documentation for %{name}.
+
+
%prep
-%setup -q -n ounit-%{version}
-sh ./configure --destdir $RPM_BUILD_ROOT
+%autosetup -n %{srcname}-v%{version} -p1
%build
-make all
-make doc
+dune build %{?_smp_mflags}
+dune build %{?_smp_mflags} @doc
%check
-make test
+dune runtest
%install
-export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
-mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
-make install
+dune install --destdir=%{buildroot}
+
+# We do not want the dune markers
+find _build/default/_doc/_html -name .dune-keep -delete
+
+# We install the documentation with the doc macro
+rm -fr %{buildroot}%{_prefix}/doc
-# Remove this, reinstall it properly with a %%doc rule below.
-rm -rf $RPM_BUILD_ROOT/usr/local/share/doc
+%ifarch %{ocaml_native_compiler}
+# Add missing executable bits
+find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+
+%endif
%files
-%doc LICENSE.txt
-%{_libdir}/ocaml/oUnit
+%doc CHANGES.md README.md
+%license LICENSE.txt
+%dir %{_libdir}/ocaml/%{srcname}/
+%dir %{_libdir}/ocaml/%{srcname}2/
+%dir %{_libdir}/ocaml/%{srcname}2/advanced/
+%dir %{_libdir}/ocaml/%{srcname}2/threads/
+%{_libdir}/ocaml/%{srcname}2/threads/.private/
+%{_libdir}/ocaml/%{srcname}/META
+%{_libdir}/ocaml/%{srcname}2/META
+%{_libdir}/ocaml/%{srcname}2/*.cma
+%{_libdir}/ocaml/%{srcname}2/*.cmi
+%{_libdir}/ocaml/%{srcname}2/*/*.cma
+%{_libdir}/ocaml/%{srcname}2/*/*.cmi
%ifarch %{ocaml_native_compiler}
-%exclude %{_libdir}/ocaml/oUnit/*.a
-%exclude %{_libdir}/ocaml/oUnit/*.cmxa
+%{_libdir}/ocaml/%{srcname}2/*.cmxs
+%{_libdir}/ocaml/%{srcname}2/*/*.cmxs
%endif
-%exclude %{_libdir}/ocaml/oUnit/*.mli
%files devel
-%doc LICENSE.txt README.txt
-%doc _build/src/api-ounit.docdir/*
+%{_libdir}/ocaml/%{srcname}/dune-package
+%{_libdir}/ocaml/%{srcname}/opam
+%{_libdir}/ocaml/%{srcname}2/dune-package
+%{_libdir}/ocaml/%{srcname}2/opam
+%ifarch %{ocaml_native_compiler}
+%{_libdir}/ocaml/%{srcname}2/*.a
+%{_libdir}/ocaml/%{srcname}2/*.cmx
+%{_libdir}/ocaml/%{srcname}2/*.cmxa
+%{_libdir}/ocaml/%{srcname}2/*/*.a
+%{_libdir}/ocaml/%{srcname}2/*/*.cmx
+%{_libdir}/ocaml/%{srcname}2/*/*.cmxa
+%endif
+%{_libdir}/ocaml/%{srcname}2/*.cmt
+%{_libdir}/ocaml/%{srcname}2/*.cmti
+%{_libdir}/ocaml/%{srcname}2/*.ml
+%{_libdir}/ocaml/%{srcname}2/*.mli
+%{_libdir}/ocaml/%{srcname}2/*/*.cmt
+%{_libdir}/ocaml/%{srcname}2/*/*.cmti
+%{_libdir}/ocaml/%{srcname}2/*/*.ml
+%{_libdir}/ocaml/%{srcname}2/*/*.mli
+
+
+%files lwt
+%dir %{_libdir}/ocaml/%{srcname}-lwt/
+%dir %{_libdir}/ocaml/%{srcname}2-lwt/
+%{_libdir}/ocaml/%{srcname}-lwt/META
+%{_libdir}/ocaml/%{srcname}2-lwt/META
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cma
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmi
%ifarch %{ocaml_native_compiler}
-%{_libdir}/ocaml/oUnit/*.a
-%{_libdir}/ocaml/oUnit/*.cmxa
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmxs
%endif
-%{_libdir}/ocaml/oUnit/*.mli
+
+
+%files lwt-devel
+%{_libdir}/ocaml/%{srcname}-lwt/dune-package
+%{_libdir}/ocaml/%{srcname}-lwt/opam
+%{_libdir}/ocaml/%{srcname}2-lwt/dune-package
+%{_libdir}/ocaml/%{srcname}2-lwt/opam
+%ifarch %{ocaml_native_compiler}
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.a
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmx
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmxa
+%endif
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.cmt
+%{_libdir}/ocaml/%{srcname}2-lwt/oUnitLwt.ml
+
+
+%files doc
+%doc _build/default/_doc/_html/
+%doc _build/default/_doc/_mlds/
+%doc _build/default/_doc/_odoc/
+%license LICENSE.txt
%changelog
+* Fri Feb 7 2020 Jerry James <loganjerry(a)gmail.com> - 2.2.2-1
+- New upstream version 2.2.2
+- New URLs
+
* Wed Jan 29 2020 Fedora Release Engineering <releng(a)fedoraproject.org> - 2.0.8-14
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild