3 %bcond_without apidocs # do not build and package API docs
4 %bcond_with mpi # MPI support
6 Summary: Lunchbox - C++ library for multi-threading programming
7 Summary(pl.UTF-8): Lunchbox - biblioteka C++ do programowania wielowątkowego
13 #Source0Download: https://github.com/Eyescale/Lunchbox/releases
14 Source0: https://github.com/Eyescale/Lunchbox/archive/%{version}/%{name}-%{version}.tar.gz
15 # Source0-md5: 76bcd79003c9b9d58d5f772cfdd812c7
17 Patch1: nanosleep.patch
18 URL: http://pogl.wordpress.com/category/lunchbox/
19 BuildRequires: Eyescale-CMake >= 2018.02
20 BuildRequires: Servus-devel >= 1.5.0
21 BuildRequires: avahi-devel
22 BuildRequires: boost-devel >= 1.41.0
23 BuildRequires: cmake >= 3.1
24 %{?with_apidocs:BuildRequires: doxygen}
25 BuildRequires: hwloc-devel >= 1.3
26 BuildRequires: hwloc-devel < 2
27 BuildRequires: libstdc++-devel
28 %{?with_mpi:BuildRequires: mpi-devel}
29 BuildRequires: pkgconfig
30 Requires: Servus >= 1.5.0
31 Requires: hwloc-libs >= 1.3
32 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
35 Lunchbox is a C++ library for multi-threaded programming. Lunchbox was
36 formerly known as eq::base or co::base, the foundation for the
37 Equalizer parallel rendering framework and the Collage network
38 library. It is intended for all application developers creating
39 high-performance multi-threaded programs.
41 %description -l pl.UTF-8
42 Lunchbox to biblioteka C++ do programowania wielowątkowego. Wcześniej
43 była znana jako eq::base lub co::base - podstawa szkieletu do
44 renderowania wielowątkowego Equalizer lub biblioteki sieciowej
45 Collage. Biblioteka jest przeznaczona dla wszystkich programistów
46 tworzących wysoko wydajne, wielowątkowe aplikacje.
49 Summary: Header files for Lunchbox library
50 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Lunchbox
51 Group: Development/Libraries
52 Requires: %{name} = %{version}-%{release}
53 Requires: Servus-devel >= 1.5.0
54 Requires: boost-devel >= 1.41.0
55 Requires: libstdc++-devel
58 Header files for Lunchbox library.
60 %description devel -l pl.UTF-8
61 Pliki nagłówkowe biblioteki Lunchbox.
64 Summary: Lunchbox API documentation
65 Summary(pl.UTF-8): Dokumentacja API biblioteki Lunchbox
70 API documentation for Lunchbox library.
72 %description apidocs -l pl.UTF-8
73 Dokumentacja API biblioteki Lunchbox.
79 ln -s %{_datadir}/Eyescale-CMake CMake/common
88 -DCOMMON_DISABLE_WERROR:BOOL=ON \
89 %{!?with_mpi:-DCMAKE_DISABLE_FIND_PACKAGE_MPI=ON}
98 rm -rf $RPM_BUILD_ROOT
100 %{__make} -C build install \
101 DESTDIR=$RPM_BUILD_ROOT
103 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Lunchbox/{doc,tests}
106 rm -rf $RPM_BUILD_ROOT
108 %post -p /sbin/ldconfig
109 %postun -p /sbin/ldconfig
112 %defattr(644,root,root,755)
113 %doc ACKNOWLEDGEMENTS.txt AUTHORS.txt CHANGES.txt LICENSE.txt README.md doc/Changelog.md
114 %attr(755,root,root) %{_libdir}/libLunchbox.so.*.*.*
115 %attr(755,root,root) %ghost %{_libdir}/libLunchbox.so.10
116 %dir %{_datadir}/Lunchbox
117 %{_datadir}/Lunchbox/benchmarks
120 %defattr(644,root,root,755)
121 %attr(755,root,root) %{_libdir}/libLunchbox.so
122 %{_includedir}/lunchbox
123 %{_datadir}/Lunchbox/CMake
127 %defattr(644,root,root,755)
128 %doc build/doc/html/*