aa4be47
%global opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
aa4be47
%if !%{opt}
aa4be47
%global debug_package %{nil}
aa4be47
%endif
aa4be47
aa4be47
Name:           ocaml-xmlm
aa4be47
Version:        1.2.0
94cd6fa
Release:        33%{?dist}
aa4be47
Summary:        A streaming XML codec
aa4be47
aa4be47
License:        BSD
aa4be47
URL:            http://erratique.ch/software/xmlm
aa4be47
Source0:        http://erratique.ch/software/xmlm/releases/xmlm-%{version}.tbz
ee0f50c
aa4be47
# Example XML files for testing
aa4be47
Source1:        test-valid.xml
aa4be47
Source2:        test-invalid.xml
aa4be47
ee0f50c
# Ensure source files are included in generated debuginfo subpackage
ee0f50c
Patch0:         xmlm-1.2.0-debug.patch
ee0f50c
ee0f50c
# Safe-string, cherry-picked from upstream.
ee0f50c
Patch1:         0001-Safe-string-support.patch
ee0f50c
aa4be47
BuildRequires:  ocaml >= 3.10.0
aa4be47
BuildRequires:  ocaml-findlib
61b3d87
BuildRequires:  ocaml-ocamlbuild
aa4be47
aa4be47
%global libname %(sed -e 's/^ocaml-//' <<< %{name})
aa4be47
aa4be47
%description
aa4be47
Xmlm is an OCaml streaming codec to decode and encode the XML data
aa4be47
format. It can process XML documents without a complete in-memory
aa4be47
representation of the data.
aa4be47
aa4be47
aa4be47
%package        devel
aa4be47
Summary:        Development files for %{name}
aa4be47
Requires:       %{name}%{?_isa} = %{version}-%{release}
aa4be47
aa4be47
%description    devel
aa4be47
The %{name}-devel package contains libraries and signature files for
aa4be47
developing applications that use %{name}.
aa4be47
aa4be47
aa4be47
%prep
aa4be47
%setup -q -n %{libname}-%{version}
6f1b4a5
%patch0 -p1 -b .debug
ee0f50c
%patch1 -p1
aa4be47
aa4be47
aa4be47
%build
aa4be47
%if %{opt}
aa4be47
./pkg/build true
aa4be47
%else
aa4be47
./pkg/build false
aa4be47
%endif
aa4be47
aa4be47
aa4be47
%install
aa4be47
# These rules work if the library uses 'ocamlfind install' to install itself.
aa4be47
export DESTDIR=$RPM_BUILD_ROOT
aa4be47
export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
aa4be47
mkdir -p $RPM_BUILD_ROOT%{_bindir}
aa4be47
mkdir -p $OCAMLFIND_DESTDIR/%{libname}
aa4be47
aa4be47
%if %{opt}
aa4be47
install -m 755 -p _build/test/xmltrip.native $RPM_BUILD_ROOT%{_bindir}/xmltrip
aa4be47
install -m 644 -p _build/src/xmlm.{a,cmxa} $OCAMLFIND_DESTDIR/%{libname}/
aa4be47
install -m 755 -p _build/src/xmlm.cmxs $OCAMLFIND_DESTDIR/%{libname}/
aa4be47
%else
aa4be47
install -m 755 -p _build/test/xmltrip.byte $RPM_BUILD_ROOT%{_bindir}/xmltrip
aa4be47
%endif
aa4be47
install -m 644 -p _build/pkg/META _build/src/xmlm.{cm?,mli} $OCAMLFIND_DESTDIR/%{libname}/
aa4be47
aa4be47
aa4be47
%check
aa4be47
# Against valid XML
aa4be47
$RPM_BUILD_ROOT%{_bindir}/xmltrip -p %{SOURCE1} 2>valid-err.log
aa4be47
[ -z "$(cat valid-err.log)" ]
aa4be47
aa4be47
# Against invalid XML - stderr should contain the word expected
aa4be47
$RPM_BUILD_ROOT%{_bindir}/xmltrip -p %{SOURCE2} 2>invalid-err.log
aa4be47
grep expected invalid-err.log >/dev/null
aa4be47
aa4be47
%files
aa4be47
# LICENSE not bundled
aa4be47
%doc README.md
aa4be47
%{_bindir}/xmltrip
aa4be47
%{_libdir}/ocaml/xmlm/
aa4be47
%if %opt
aa4be47
%exclude %{_libdir}/ocaml/*/*.a
aa4be47
%exclude %{_libdir}/ocaml/*/*.cmxa
aa4be47
%exclude %{_libdir}/ocaml/*/*.cmxs
aa4be47
%exclude %{_libdir}/ocaml/*/*.cmx
aa4be47
%endif
aa4be47
%exclude %{_libdir}/ocaml/*/*.mli
aa4be47
aa4be47
aa4be47
%files devel
aa4be47
# LICENSE not bundled
aa4be47
%doc CHANGES.md _build/test/examples.ml _build/test/xhtml.ml doc
aa4be47
%if %opt
aa4be47
%{_libdir}/ocaml/*/*.a
aa4be47
%{_libdir}/ocaml/*/*.cmxa
aa4be47
%{_libdir}/ocaml/*/*.cmxs
aa4be47
%{_libdir}/ocaml/*/*.cmx
aa4be47
%endif
aa4be47
%{_libdir}/ocaml/*/*.mli
aa4be47
aa4be47
aa4be47
%changelog
94cd6fa
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-33
94cd6fa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
94cd6fa
93c9919
* Thu Jun 27 2019 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-32
93c9919
- OCaml 4.08.0 (final) rebuild.
93c9919
294804c
* Tue Apr 30 2019 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-31
294804c
- OCaml 4.08.0 (beta 3) rebuild.
294804c
1ad4c5f
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-30
1ad4c5f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
1ad4c5f
66a5c4a
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-29
66a5c4a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
66a5c4a
2a308f5
* Wed Jul 11 2018 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-28
2a308f5
- OCaml 4.07.0 (final) rebuild.
2a308f5
7e89cd4
* Wed Jun 20 2018 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-27
7e89cd4
- OCaml 4.07.0-rc1 rebuild.
7e89cd4
f242a9c
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-26
f242a9c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f242a9c
ee0f50c
* Wed Nov 22 2017 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-25
9b28026
- OCaml 4.06.0 rebuild.
ee0f50c
- Fix safe-string for OCaml 4.06.
9b28026
74a59cb
* Wed Aug 09 2017 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-24
74a59cb
- OCaml 4.05.0 rebuild.
74a59cb
32d0a4f
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-23
32d0a4f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
32d0a4f
56a9d72
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-22
56a9d72
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
56a9d72
1f025be
* Tue Jun 27 2017 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-21
1f025be
- OCaml 4.04.2 rebuild.
1f025be
89e1f4a
* Sat May 13 2017 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-20
89e1f4a
- OCaml 4.04.1 rebuild.
89e1f4a
e2b2ebf
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-19
e2b2ebf
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
e2b2ebf
e92f3a1
* Wed Nov 09 2016 Dan HorĂ¡k <dan@danny.cz> - 1.2.0-18
e92f3a1
- rebuild for s390x codegen bug
e92f3a1
bfa62e1
* Mon Nov 07 2016 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-17
bfa62e1
- Rebuild for OCaml 4.04.0.
61b3d87
- Add explicit dependency on ocamlbuild.
bfa62e1
afe93c4
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-16
afe93c4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
afe93c4
2981401
* Tue Jul 28 2015 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-15
2981401
- OCaml 4.02.3 rebuild.
2981401
8b9bb02
* Wed Jun 24 2015 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-14
8b9bb02
- ocaml-4.02.2 final rebuild.
8b9bb02
4f8cef0
* Thu Jun 18 2015 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-13
4f8cef0
- ocaml-4.02.2 rebuild.
4f8cef0
46df40e
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-12
46df40e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
46df40e
1798cc0
* Tue Feb 17 2015 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-11
1798cc0
- ocaml-4.02.1 rebuild.
1798cc0
d674202
* Sun Aug 31 2014 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-10
d674202
- ocaml-4.02.0 final rebuild.
d674202
22e44ba
* Sat Aug 23 2014 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-9
22e44ba
- ocaml-4.02.0+rc1 rebuild.
22e44ba
6519d2f
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-8
6519d2f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
6519d2f
b980f7e
* Sat Aug 02 2014 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-7
b980f7e
- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild.
b980f7e
3669264
* Fri Jul 25 2014 Richard W.M. Jones <rjones@redhat.com> - 1.2.0-6
3669264
- OCaml 4.02.0 beta rebuild.
3669264
626bdd4
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-5
626bdd4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
626bdd4
Jaromir Capik 2d4a381
* Thu Apr 24 2014 Jaromir Capik <jcapik@redhat.com> - 1.2.0-4
Jaromir Capik 2d4a381
- Removing ExclusiveArch
Jaromir Capik 2d4a381
6f1b4a5
* Fri Feb 14 2014 Michel Salim <salimma@fedoraproject.org> - 1.2.0-3
6f1b4a5
- Include source files in -debuginfo
6f1b4a5
aa4be47
* Sat Feb  8 2014 Michel Salim <salimma@fedoraproject.org> - 1.2.0-2
aa4be47
- Incorporate review feedback
aa4be47
aa4be47
* Mon Jan 20 2014 Michel Salim <salimma@fedoraproject.org> - 1.2.0-1
aa4be47
- Initial package