2 # - system boxfort (when released): https://github.com/diacritic/BoxFort
3 # - system nanopb (0.4.7 bundled)
4 # - system libcsptr (when some post-2017 release made): https://github.com/Snaipe/libcsptr
7 %bcond_without tests # testing
8 %bcond_without system_nanopb # system nanopb
10 Summary: A cross-platform C and C++ unit testing framework for the 21th century
11 Summary(pl.UTF-8): Wieloplatformowy szkielet do testów jednostkowych dla C i C++ w XXI wieku
17 #Source0Download: https://github.com/Snaipe/Criterion/releases
18 Source0: https://github.com/Snaipe/Criterion/releases/download/v%{version}/%{name}-%{version}.tar.xz
19 # Source0-md5: 20affc64bb0d00953826eba4c93bf8ab
21 Patch1: %{name}-shared-nanopb.patch
22 URL: https://github.com/Snaipe/Criterion
23 %{?with_system_nanopb:BuildRequires: cmake}
24 BuildRequires: dyncall >= 1.0
25 BuildRequires: gettext-tools
26 BuildRequires: libffi-devel
27 BuildRequires: libgit2-devel
28 BuildRequires: meson >= 0.55.0
29 BuildRequires: nanomsg-devel >= 1.0.0
30 %{?with_system_nanopb:BuildRequires: nanopb-devel >= 0.4.7}
32 BuildRequires: pkgconfig
33 BuildRequires: protobuf
34 BuildRequires: rpmbuild(macros) >= 1.736
35 BuildRequires: sed >= 4.0
36 BuildRequires: tar >= 1:1.22
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 A dead-simple, yet extensible, C and C++ unit testing framework.
43 %description -l pl.UTF-8
44 Bardzo prosty, ale rozszerzalny szkielet testów jednostkowych dla C i
48 Summary: Header files for criterion library
49 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki criterion
50 Group: Development/Libraries
51 Requires: %{name} = %{version}-%{release}
52 Requires: libstdc++-devel
55 Header files for criterion library.
57 %description devel -l pl.UTF-8
58 Pliki nagłówkowe biblioteki criterion.
61 Summary: Static criterion libraries
62 Summary(pl.UTF-8): Statyczne biblioteki criterion
63 Group: Development/Libraries
64 Requires: %{name} = %{version}-%{release}
67 Static criterion libraries.
69 %description static -l pl.UTF-8
70 Statyczne biblioteki criterion.
77 %if %{without system_nanopb}
78 %{__sed} -i -e '/dependency.*nanopb/ s/nanopb::protobuf-nanopb/notfound::protobuf-nanopb/' meson.build
83 -Dtests=%{__true_false tests}
87 %{?with_tests:%ninja_test -C build}
90 rm -rf $RPM_BUILD_ROOT
92 %ninja_install -C build
97 rm -rf $RPM_BUILD_ROOT
99 %post -p /sbin/ldconfig
100 %postun -p /sbin/ldconfig
102 %files -f criterion.lang
103 %defattr(644,root,root,755)
104 %doc ChangeLog doc/*.txt
105 %attr(755,root,root) %{_libdir}/libcriterion.so.*.*.*
106 %attr(755,root,root) %ghost %{_libdir}/libcriterion.so.3
109 %defattr(644,root,root,755)
110 %attr(755,root,root) %{_libdir}/libcriterion.so
111 %{_includedir}/criterion
112 %{_pkgconfigdir}/criterion.pc
115 %defattr(644,root,root,755)
116 %{_libdir}/libcriterion.a
117 %if %{without system_nanopb}
118 %{_libdir}/libprotobuf_nanopb_static.a