]> git.pld-linux.org Git - packages/criterion.git/blobdiff - criterion.spec
- try with CMAKE_INSTALL_LIBDIR for local nanopb
[packages/criterion.git] / criterion.spec
index 88c98c2d7881237b098ad3a0d373b8176a25eecf..ce3ac707eff50b71c726d297ea24889ec123c9fc 100644 (file)
@@ -1,18 +1,45 @@
+# TODO:
+# - system boxfort (when released): https://github.com/diacritic/BoxFort
+# - system nanopb (0.4.5 bundled)
+# - system libcsptr (when some post-2017 release made): https://github.com/Snaipe/libcsptr
+#
+# Conditional build:
+%bcond_without tests           # build without tests
+%bcond_with    system_nanopb   # system nanopb (tests fail with nanopb 0.4.7)
+#
 Summary:       A cross-platform C and C++ unit testing framework for the 21th century
+Summary(pl.UTF-8):     Wieloplatformowy szkielet do testów jednostkowych dla C i C++ w XXI wieku
 Name:          criterion
-Version:       2.3.3
-Release:       1
+Version:       2.4.1
+Release:       2
 License:       LGPL v2.1+
 Group:         Libraries
-Source0:       https://github.com/Snaipe/Criterion/releases/download/v%{version}/%{name}-v%{version}.tar.bz2
-# Source0-md5: 0305dbb5e00f04fd65b22e9ad82ba952
+#Source0Download: https://github.com/Snaipe/Criterion/releases
+Source0:       https://github.com/Snaipe/Criterion/releases/download/v%{version}/%{name}-%{version}.tar.xz
+# Source0-md5: 93e91812837a68524d76339409ed2008
+Patch0:                x32.patch
+Patch1:                %{name}-shared-nanopb.patch
 URL:           https://github.com/Snaipe/Criterion
-BuildRequires: cmake >= 2.8.0
+BuildRequires: dyncall >= 1.0
+BuildRequires: libffi-devel
+BuildRequires: libgit2-devel
+BuildRequires: meson >= 0.51.0
+BuildRequires: nanomsg-devel >= 1.0.0
+%{?with_system_nanopb:BuildRequires:   nanopb-devel >= 0.4.5}
+BuildRequires: ninja
+BuildRequires: rpmbuild(macros) >= 1.736
+BuildRequires: sed >= 4.0
+BuildRequires: tar >= 1:1.22
+BuildRequires: xz
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 A dead-simple, yet extensible, C and C++ unit testing framework.
 
+%description -l pl.UTF-8
+Bardzo prosty, ale rozszerzalny szkielet testów jednostkowych dla C i
+C++.
+
 %package devel
 Summary:       Header files for criterion library
 Summary(pl.UTF-8):     Pliki nagłówkowe biblioteki criterion
@@ -26,25 +53,41 @@ Header files for criterion library.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe biblioteki criterion.
 
+%package static
+Summary:       Static criterion libraries
+Summary(pl.UTF-8):     Statyczne biblioteki criterion
+Group:         Development/Libraries
+Requires:      %{name} = %{version}-%{release}
+
+%description static
+Static criterion libraries.
+
+%description static -l pl.UTF-8
+Statyczne biblioteki criterion.
+
 %prep
-%setup -q -n %{name}-v%{version}
+%setup -q
+%patch0 -p1
+%patch1 -p1
+
+%if %{without system_nanopb}
+%{__sed} -i -e '/dependency.*nanopb/ s/nanopb::protobuf-nanopb/notfound::protobuf-nanopb/' meson.build
+%endif
 
 %build
-install -d build
-cd build
-%cmake ..
-%{__make}
+%meson build \
+       -Dtests=%{__true_false tests}
+
+%ninja_build -C build
+
+%{?with_tests:%ninja_test -C build}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} -C build install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-install -d $RPM_BUILD_ROOT%{_libdir}
-mv $RPM_BUILD_ROOT{%{_prefix}/lib/*,%{_libdir}}
+%ninja_install -C build
 
-%find_lang Criterion
+%find_lang criterion
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -52,8 +95,7 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
-
-%files -f Criterion.lang
+%files -f criterion.lang
 %defattr(644,root,root,755)
 %doc ChangeLog doc/*.txt
 %attr(755,root,root) %{_libdir}/libcriterion.so.*.*.*
@@ -63,4 +105,11 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libcriterion.so
 %{_includedir}/criterion
-%{_npkgconfigdir}/criterion.pc
+%{_pkgconfigdir}/criterion.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libcriterion.a
+%if %{without system_nanopb}
+%{_libdir}/libprotobuf_nanopb_static.a
+%endif
This page took 0.168891 seconds and 4 git commands to generate.