3 %bcond_without ocaml_opt # native optimized binaries (bytecode is always built)
4 %bcond_without apidocs # API documentation
6 # not yet available on x32 (ocaml 4.02.1), update when upstream will support it
7 %ifnarch %{ix86} %{x8664} %{arm} aarch64 ppc sparc sparcv9
8 %undefine with_ocaml_opt
11 Summary: Non-blocking streaming Unicode codec for OCaml
12 Summary(pl.UTF-8): Nieblokujący strumieniowy kodek Unicode dla OCamla
18 Source0: https://erratique.ch/software/uutf/releases/uutf-%{version}.tbz
19 # Source0-md5: a7c542405a39630c689a82bd7ef2292c
20 # don't require uchar package, drop compatibility with ocaml < 4.03
21 Patch0: %{name}-uchar.patch
22 Patch1: %{name}-deprecated.patch
23 URL: https://erratique.ch/software/uutf
24 BuildRequires: ocaml >= 1:4.03
25 BuildRequires: ocaml-cmdliner-devel >= 0.9.6
26 BuildRequires: ocaml-findlib-devel
27 BuildRequires: ocaml-ocamlbuild
28 %{?with_apidocs:BuildRequires: ocaml-ocamldoc}
29 BuildRequires: ocaml-topkg-devel
30 BuildRequires: rpm-build >= 4.6
31 %requires_eq ocaml-runtime
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 %define debug_package %{nil}
37 Uutf is a non-blocking streaming codec to decode and encode the UTF-8,
38 UTF-16, UTF-16LE and UTF-16BE encoding schemes. It can efficiently
39 work character by character without blocking on I/O. Decoders perform
40 character position tracking and support newline normalization.
42 %description -l pl.UTF-8
43 Uutf to nieblokujący strumieniowy kodek do dekodowania i kodowania
44 schematów UTF-8, UTF-16, UTF16LE i UTF-16BE. Potrafi efektywnie
45 działać znak po znaku bez blokowania na we/wy. Dekodery wykonują
46 śledzenie pozycji znaków i obsługują normalizację znaków nowego
50 Summary: Non-blocking streaming Unicode codec for OCaml - development part
51 Summary(pl.UTF-8): Nieblokujący strumieniowy kodek Unicode dla OCamla - cześć programistyczna
52 Group: Development/Libraries
53 Requires: %{name} = %{version}-%{release}
57 This package contains files needed to develop OCaml programs using
60 %description devel -l pl.UTF-8
61 Pakiet ten zawiera pliki niezbędne do tworzenia programów w OCamlu
62 używających biblioteki uutf.
65 Summary: API documentation for OCaml uutf library
66 Summary(pl.UTF-8): Dokumentacja API biblioteki OCamla uutf
71 API documentation for OCaml uutf library.
73 %description apidocs -l pl.UTF-8
74 Dokumentacja API biblioteki OCamla uutf.
77 %setup -q -n uutf-%{version}
82 ocaml pkg/pkg.ml build --with-cmdliner true
86 ocamldoc -html -d html -I _build/src _build/src/uutf.mli
90 rm -rf $RPM_BUILD_ROOT
91 install -d $RPM_BUILD_ROOT%{_libdir}/ocaml/uutf
93 cp -p _build/{opam,pkg/META} $RPM_BUILD_ROOT%{_libdir}/ocaml/uutf
94 cp -p _build/src/*.{cma,cmi,cmt,cmti,mli} $RPM_BUILD_ROOT%{_libdir}/ocaml/uutf
96 cp -p _build/src/*.{a,cmx,cmxa,cmxs} $RPM_BUILD_ROOT%{_libdir}/ocaml/uutf
100 rm -rf $RPM_BUILD_ROOT
103 %defattr(644,root,root,755)
104 %doc CHANGES.md LICENSE.md README.md
105 %dir %{_libdir}/ocaml/uutf
106 %{_libdir}/ocaml/uutf/META
107 %{_libdir}/ocaml/uutf/*.cma
108 %if %{with ocaml_opt}
109 %attr(755,root,root) %{_libdir}/ocaml/uutf/*.cmxs
113 %defattr(644,root,root,755)
114 %{_libdir}/ocaml/uutf/*.a
115 %{_libdir}/ocaml/uutf/*.cmi
116 %{_libdir}/ocaml/uutf/*.cmt
117 %{_libdir}/ocaml/uutf/*.cmti
118 %{_libdir}/ocaml/uutf/*.mli
119 %if %{with ocaml_opt}
120 %{_libdir}/ocaml/uutf/*.cmx
121 %{_libdir}/ocaml/uutf/*.cmxa
123 %{_libdir}/ocaml/uutf/opam
127 %defattr(644,root,root,755)