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: libffi-devel
26 BuildRequires: libgit2-devel
27 BuildRequires: meson >= 0.55.0
28 BuildRequires: nanomsg-devel >= 1.0.0
29 %{?with_system_nanopb:BuildRequires: nanopb-devel >= 0.4.7}
31 BuildRequires: pkgconfig
32 BuildRequires: protobuf
33 BuildRequires: rpmbuild(macros) >= 1.736
34 BuildRequires: sed >= 4.0
35 BuildRequires: tar >= 1:1.22
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40 A dead-simple, yet extensible, C and C++ unit testing framework.
42 %description -l pl.UTF-8
43 Bardzo prosty, ale rozszerzalny szkielet testów jednostkowych dla C i
47 Summary: Header files for criterion library
48 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki criterion
49 Group: Development/Libraries
50 Requires: %{name} = %{version}-%{release}
51 Requires: libstdc++-devel
54 Header files for criterion library.
56 %description devel -l pl.UTF-8
57 Pliki nagłówkowe biblioteki criterion.
60 Summary: Static criterion libraries
61 Summary(pl.UTF-8): Statyczne biblioteki criterion
62 Group: Development/Libraries
63 Requires: %{name} = %{version}-%{release}
66 Static criterion libraries.
68 %description static -l pl.UTF-8
69 Statyczne biblioteki criterion.
76 %if %{without system_nanopb}
77 %{__sed} -i -e '/dependency.*nanopb/ s/nanopb::protobuf-nanopb/notfound::protobuf-nanopb/' meson.build
82 -Dtests=%{__true_false tests}
86 %{?with_tests:%ninja_test -C build}
89 rm -rf $RPM_BUILD_ROOT
91 %ninja_install -C build
96 rm -rf $RPM_BUILD_ROOT
98 %post -p /sbin/ldconfig
99 %postun -p /sbin/ldconfig
101 %files -f criterion.lang
102 %defattr(644,root,root,755)
103 %doc ChangeLog doc/*.txt
104 %attr(755,root,root) %{_libdir}/libcriterion.so.*.*.*
105 %attr(755,root,root) %ghost %{_libdir}/libcriterion.so.3
108 %defattr(644,root,root,755)
109 %attr(755,root,root) %{_libdir}/libcriterion.so
110 %{_includedir}/criterion
111 %{_pkgconfigdir}/criterion.pc
114 %defattr(644,root,root,755)
115 %{_libdir}/libcriterion.a
116 %if %{without system_nanopb}
117 %{_libdir}/libprotobuf_nanopb_static.a