]> git.pld-linux.org Git - packages/Lunchbox.git/blob - Lunchbox.spec
macros for %cmake
[packages/Lunchbox.git] / Lunchbox.spec
1 #
2 # Conditional build:
3 %bcond_without  apidocs         # do not build and package API docs
4 %bcond_with     mpi             # MPI support
5
6 Summary:        Lunchbox - C++ library for multi-threading programming
7 Summary(pl.UTF-8):      Lunchbox - biblioteka C++ do programowania wielowątkowego
8 Name:           Lunchbox
9 Version:        1.17.0
10 Release:        6
11 License:        LGPL v2.1
12 Group:          Libraries
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
16 Patch0:         cxx.patch
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 BuildRequires:  rpmbuild(macros) >= 1.605
31 Requires:       Servus >= 1.5.0
32 Requires:       hwloc-libs >= 1.3
33 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
35 %description
36 Lunchbox is a C++ library for multi-threaded programming. Lunchbox was
37 formerly known as eq::base or co::base, the foundation for the
38 Equalizer parallel rendering framework and the Collage network
39 library. It is intended for all application developers creating
40 high-performance multi-threaded programs.
41
42 %description -l pl.UTF-8
43 Lunchbox to biblioteka C++ do programowania wielowątkowego. Wcześniej
44 była znana jako eq::base lub co::base - podstawa szkieletu do
45 renderowania wielowątkowego Equalizer lub biblioteki sieciowej
46 Collage. Biblioteka jest przeznaczona dla wszystkich programistów
47 tworzących wysoko wydajne, wielowątkowe aplikacje.
48
49 %package devel
50 Summary:        Header files for Lunchbox library
51 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki Lunchbox
52 Group:          Development/Libraries
53 Requires:       %{name} = %{version}-%{release}
54 Requires:       Servus-devel >= 1.5.0
55 Requires:       boost-devel >= 1.41.0
56 Requires:       libstdc++-devel
57
58 %description devel
59 Header files for Lunchbox library.
60
61 %description devel -l pl.UTF-8
62 Pliki nagłówkowe biblioteki Lunchbox.
63
64 %package apidocs
65 Summary:        Lunchbox API documentation
66 Summary(pl.UTF-8):      Dokumentacja API biblioteki Lunchbox
67 Group:          Documentation
68 BuildArch:      noarch
69
70 %description apidocs
71 API documentation for Lunchbox library.
72
73 %description apidocs -l pl.UTF-8
74 Dokumentacja API biblioteki Lunchbox.
75
76 %prep
77 %setup -q
78
79 rmdir CMake/common
80 ln -s %{_datadir}/Eyescale-CMake CMake/common
81
82 %patch0 -p1
83 %patch1 -p1
84
85 %build
86 install -d build
87 cd build
88 %cmake .. \
89         -DCOMMON_DISABLE_WERROR:BOOL=ON \
90         %{!?with_mpi:-DCMAKE_DISABLE_FIND_PACKAGE_MPI=ON}
91
92 %{__make}
93
94 %if %{with apidocs}
95 doxygen doc/Doxyfile
96 %endif
97
98 %install
99 rm -rf $RPM_BUILD_ROOT
100
101 %{__make} -C build install \
102         DESTDIR=$RPM_BUILD_ROOT
103
104 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/Lunchbox/{doc,tests}
105
106 %clean
107 rm -rf $RPM_BUILD_ROOT
108
109 %post   -p /sbin/ldconfig
110 %postun -p /sbin/ldconfig
111
112 %files
113 %defattr(644,root,root,755)
114 %doc ACKNOWLEDGEMENTS.txt AUTHORS.txt CHANGES.txt LICENSE.txt README.md doc/Changelog.md
115 %attr(755,root,root) %{_libdir}/libLunchbox.so.*.*.*
116 %attr(755,root,root) %ghost %{_libdir}/libLunchbox.so.10
117 %dir %{_datadir}/Lunchbox
118 %{_datadir}/Lunchbox/benchmarks
119
120 %files devel
121 %defattr(644,root,root,755)
122 %attr(755,root,root) %{_libdir}/libLunchbox.so
123 %{_includedir}/lunchbox
124 %{_datadir}/Lunchbox/CMake
125
126 %if %{with apidocs}
127 %files apidocs
128 %defattr(644,root,root,755)
129 %doc build/doc/html/*
130 %endif
This page took 0.161842 seconds and 3 git commands to generate.