3 %bcond_without static_libs # static libraries
4 %bcond_without python3 # Python 3.x bindings
5 %bcond_without ruby # Ruby bindings
7 %include /usr/lib/rpm/macros.perl
8 Summary: Package dependency solver
9 Summary(pl.UTF-8): Biblioteka do rozwiązywania zależności pakietów
15 Source0: https://github.com/openSUSE/libsolv/archive/%{version}/%{name}-%{version}.tar.gz
16 # Source0-md5: 9119944c54d400e731a43e7dea3e77d1
18 Patch1: %{name}-python.patch
19 URL: https://github.com/openSUSE/libsolv
20 BuildRequires: bzip2-devel
21 BuildRequires: cmake >= 2.4
22 BuildRequires: db-devel
23 BuildRequires: expat-devel
24 BuildRequires: perl-devel
25 BuildRequires: pkgconfig
26 BuildRequires: python-devel >= 2
27 %{?with_python3:BuildRequires: python3-devel >= 3}
28 BuildRequires: rpm-devel >= 5
29 BuildRequires: rpm-perlprov
30 BuildRequires: rpm-pythonprov
31 BuildRequires: rpmbuild(macros) >= 1.219
32 BuildRequires: swig-perl
33 BuildRequires: swig-python
34 BuildRequires: tar >= 1:1.22
36 BuildRequires: xz-devel
37 BuildRequires: zlib-devel
39 BuildRequires: rpm-rubyprov
40 BuildRequires: ruby-devel
41 BuildRequires: swig-ruby
43 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
46 A free package dependency solver using a satisfiability algorithm. The
47 library is based on two major, but independent, blocks:
49 - Using a dictionary approach to store and retrieve package and
50 dependency information.
52 - Using satisfiability, a well known and researched topic, for
53 resolving package dependencies.
55 %description -l pl.UTF-8
56 Wolnodostępna biblioteka do rozwiązywania zależności pakietów przy
57 użyciu algorytmu spełnialności. Biblioteka jest podzielona na dwa
58 główne, niezależne bloki:
60 - wykorzystanie podejścia słownikowego do przechowywania i odtwarzania
61 informacji o pakietach i zależnościach,
63 - wykorzystanie spełnialności - dobrze znanego i zbadanego tematu do
64 rozwiązywania zależności pakietów.
67 Summary: Header files for libsolv libraries
68 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek libsolv
69 Group: Development/Libraries
70 Requires: %{name} = %{version}-%{release}
71 Requires: rpm-devel >= 5
74 Development files for libsolv.
76 %description devel -l pl.UTF-8
77 Pliki programistyczne biblioetk libsolv.
80 Summary: Static libsolv libraries
81 Summary(pl.UTF-8): Statyczne biblioteki libsolv
82 Group: Development/Libraries
83 Requires: %{name}-devel = %{version}-%{release}
86 Static libsolv libraries.
88 %description static -l pl.UTF-8
89 Statyczne biblioteki libsolv.
92 Summary: Package dependency solver tools
93 Summary(pl.UTF-8): Narzędzia do rozwiązywania zależności pakietów
94 Group: Applications/System
95 Requires: %{name} = %{version}-%{release}
101 Package dependency solver tools.
103 %description tools -l pl.UTF-8
104 Narzędzia do rozwiązywania zależności pakietów.
106 %package -n perl-solv
107 Summary: Perl bindings for the libsolv libraries
108 Summary(pl.UTF-8): Wiązania Perla do bibliotek libsolv
109 Group: Development/Languages/Perl
110 Requires: %{name} = %{version}-%{release}
112 %description -n perl-solv
113 Perl bindings for the libsolv libraries.
115 %description -n perl-solv -l pl.UTF-8
116 Wiązania Perla do bibliotek libsolv.
118 %package -n python-solv
119 Summary: Python 2.x bindings for the libsolv library
120 Summary(pl.UTF-8): Wiązania Pythona 2.x do bibliotek libsolv
121 Group: Development/Languages/Python
122 Requires: %{name} = %{version}-%{release}
123 Requires: python-libs
125 %description -n python-solv
126 Python 2.x bindings for the libsolv library.
128 %description -n python-solv -l pl.UTF-8
129 Wiązania Pythona 2.x do bibliotek libsolv.
131 %package -n python3-solv
132 Summary: Python 3.x bindings for the libsolv library
133 Summary(pl.UTF-8): Wiązania Pythona 2.x do bibliotek libsolv
134 Group: Development/Languages/Python
135 Requires: %{name} = %{version}-%{release}
136 Requires: python-libs
138 %description -n python3-solv
139 Python 3.x bindings for the libsolv library.
141 %description -n python3-solv -l pl.UTF-8
142 Wiązania Pythona 3.x do bibliotek libsolv.
144 %package -n ruby-solv
145 Summary: Ruby bindings for the libsolv libraries
146 Summary(pl.UTF-8): Wiązania języka Ruby do bibliotek libsolv
147 Group: Development/Languages
148 Requires: %{name} = %{version}-%{release}
150 %description -n ruby-solv
151 Ruby bindings for the libsolv libraries.
153 %description -n ruby-solv -l pl.UTF-8
154 Wiązania języka Ruby do bibliotek libsolv.
162 %{__rm} cmake/modules/FindRuby.cmake
165 install -d build %{?with_python3:build-py3}
168 -DENABLE_APPDATA=ON \
169 -DENABLE_BZIP2_COMPRESSION=ON \
170 -DENABLE_LZMA_COMPRESSION=ON \
175 -DENABLE_RPMDB_BYRPMHEADER=ON \
177 %{?with_ruby:-DENABLE_RUBY=ON} \
178 %{?with_static_libs:-DENABLE_STATIC=ON} \
179 -DPythonLibs_FIND_VERSION=2 \
180 -DPythonLibs_FIND_VERSION_MAJOR=2 \
188 -DENABLE_APPDATA=ON \
189 -DENABLE_BZIP2_COMPRESSION=ON \
190 -DENABLE_LZMA_COMPRESSION=ON \
195 -DENABLE_RPMDB_BYRPMHEADER=ON \
196 -DPythonLibs_FIND_VERSION=3 \
197 -DPythonLibs_FIND_VERSION_MAJOR=3 \
204 rm -rf $RPM_BUILD_ROOT
207 %{__make} -C build-py3/bindings/python install \
208 DESTDIR=$RPM_BUILD_ROOT
211 %{__make} -C build install \
212 DESTDIR=$RPM_BUILD_ROOT
214 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
215 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
219 rm -rf $RPM_BUILD_ROOT
221 %post -p /sbin/ldconfig
222 %postun -p /sbin/ldconfig
225 %defattr(644,root,root,755)
226 %doc BUGS CREDITS LICENSE.BSD NEWS README
227 %attr(755,root,root) %{_libdir}/libsolv.so.0
228 %attr(755,root,root) %{_libdir}/libsolvext.so.0
231 %defattr(644,root,root,755)
233 %attr(755,root,root) %{_libdir}/libsolv.so
234 %attr(755,root,root) %{_libdir}/libsolvext.so
236 %{_datadir}/cmake/Modules/FindLibSolv.cmake
237 %{_mandir}/man3/libsolv*.3*
239 %if %{with static_libs}
241 %defattr(644,root,root,755)
243 %{_libdir}/libsolvext.a
247 %defattr(644,root,root,755)
248 %attr(755,root,root) %{_bindir}/appdata2solv
249 %attr(755,root,root) %{_bindir}/deltainfoxml2solv
250 %attr(755,root,root) %{_bindir}/dumpsolv
251 %attr(755,root,root) %{_bindir}/installcheck
252 %attr(755,root,root) %{_bindir}/mergesolv
253 %attr(755,root,root) %{_bindir}/repo2solv.sh
254 %attr(755,root,root) %{_bindir}/repomdxml2solv
255 %attr(755,root,root) %{_bindir}/rpmdb2solv
256 %attr(755,root,root) %{_bindir}/rpmmd2solv
257 %attr(755,root,root) %{_bindir}/rpms2solv
258 %attr(755,root,root) %{_bindir}/testsolv
259 %attr(755,root,root) %{_bindir}/updateinfoxml2solv
260 %{_mandir}/man1/appdata2solv.1*
261 %{_mandir}/man1/deltainfoxml2solv.1*
262 %{_mandir}/man1/dumpsolv.1*
263 %{_mandir}/man1/installcheck.1*
264 %{_mandir}/man1/mergesolv.1*
265 %{_mandir}/man1/repomdxml2solv.1*
266 %{_mandir}/man1/rpmdb2solv.1*
267 %{_mandir}/man1/rpmmd2solv.1*
268 %{_mandir}/man1/rpms2solv.1*
269 %{_mandir}/man1/testsolv.1*
270 %{_mandir}/man1/updateinfoxml2solv.1*
273 %defattr(644,root,root,755)
275 %attr(755,root,root) %{perl_vendorarch}/solv.so
276 %{perl_vendorarch}/solv.pm
278 %files -n python-solv
279 %defattr(644,root,root,755)
281 %attr(755,root,root) %{py_sitedir}/_solv.so
282 %{py_sitedir}/solv.py[co]
285 %files -n python3-solv
286 %defattr(644,root,root,755)
288 %attr(755,root,root) %{py3_sitedir}/_solv.so
289 %{py3_sitedir}/solv.py
294 %defattr(644,root,root,755)
296 %attr(755,root,root) %{ruby_vendorarchdir}/solv.so