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: rpmbuild(macros) >= 1.736
33 BuildRequires: sed >= 4.0
34 BuildRequires: tar >= 1:1.22
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 A dead-simple, yet extensible, C and C++ unit testing framework.
41 %description -l pl.UTF-8
42 Bardzo prosty, ale rozszerzalny szkielet testów jednostkowych dla C i
46 Summary: Header files for criterion library
47 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki criterion
48 Group: Development/Libraries
49 Requires: %{name} = %{version}-%{release}
50 Requires: libstdc++-devel
53 Header files for criterion library.
55 %description devel -l pl.UTF-8
56 Pliki nagłówkowe biblioteki criterion.
59 Summary: Static criterion libraries
60 Summary(pl.UTF-8): Statyczne biblioteki criterion
61 Group: Development/Libraries
62 Requires: %{name} = %{version}-%{release}
65 Static criterion libraries.
67 %description static -l pl.UTF-8
68 Statyczne biblioteki criterion.
75 %if %{without system_nanopb}
76 %{__sed} -i -e '/dependency.*nanopb/ s/nanopb::protobuf-nanopb/notfound::protobuf-nanopb/' meson.build
81 -Dtests=%{__true_false tests}
85 %{?with_tests:%ninja_test -C build}
88 rm -rf $RPM_BUILD_ROOT
90 %ninja_install -C build
95 rm -rf $RPM_BUILD_ROOT
97 %post -p /sbin/ldconfig
98 %postun -p /sbin/ldconfig
100 %files -f criterion.lang
101 %defattr(644,root,root,755)
102 %doc ChangeLog doc/*.txt
103 %attr(755,root,root) %{_libdir}/libcriterion.so.*.*.*
104 %attr(755,root,root) %ghost %{_libdir}/libcriterion.so.3
107 %defattr(644,root,root,755)
108 %attr(755,root,root) %{_libdir}/libcriterion.so
109 %{_includedir}/criterion
110 %{_pkgconfigdir}/criterion.pc
113 %defattr(644,root,root,755)
114 %{_libdir}/libcriterion.a
115 %if %{without system_nanopb}
116 %{_libdir}/libprotobuf_nanopb_static.a