3 %bcond_without static_libs # static libraries
4 %bcond_without python3 # Python 3.x bindings
5 %bcond_without ruby # Ruby bindings
8 %include /usr/lib/rpm/macros.perl
9 Summary: Package dependency solver
10 Summary(pl.UTF-8): Biblioteka do rozwiązywania zależności pakietów
16 Source0: https://github.com/openSUSE/libsolv/archive/%{version}.tar.gz?/%{name}-%{version}.tgz
17 # Source0-md5: 17e2fada982e6629b679785b4b6ff3b3
19 Patch1: %{name}-python.patch
20 URL: https://github.com/openSUSE/libsolv
21 BuildRequires: bzip2-devel
22 BuildRequires: cmake >= 2.4
23 BuildRequires: db-devel
24 BuildRequires: expat-devel
25 BuildRequires: perl-devel
26 BuildRequires: pkgconfig
27 BuildRequires: python-devel >= 2
28 %{?with_python3:BuildRequires: python3-devel >= 3}
29 BuildRequires: rpm-devel >= 5
30 BuildRequires: rpm-perlprov
31 BuildRequires: rpm-pythonprov
32 BuildRequires: rpmbuild(macros) >= 1.219
33 BuildRequires: swig-perl
34 BuildRequires: swig-python
35 BuildRequires: tar >= 1:1.22
37 BuildRequires: xz-devel
38 BuildRequires: zlib-devel
40 BuildRequires: rpm-rubyprov
41 BuildRequires: ruby-devel
42 BuildRequires: swig-ruby
44 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 A free package dependency solver using a satisfiability algorithm. The
48 library is based on two major, but independent, blocks:
50 - Using a dictionary approach to store and retrieve package and
51 dependency information.
53 - Using satisfiability, a well known and researched topic, for
54 resolving package dependencies.
56 %description -l pl.UTF-8
57 Wolnodostępna biblioteka do rozwiązywania zależności pakietów przy
58 użyciu algorytmu spełnialności. Biblioteka jest podzielona na dwa
59 główne, niezależne bloki:
61 - wykorzystanie podejścia słownikowego do przechowywania i odtwarzania
62 informacji o pakietach i zależnościach,
64 - wykorzystanie spełnialności - dobrze znanego i zbadanego tematu do
65 rozwiązywania zależności pakietów.
68 Summary: Header files for libsolv libraries
69 Summary(pl.UTF-8): Pliki nagłówkowe bibliotek libsolv
70 Group: Development/Libraries
71 Requires: %{name} = %{version}-%{release}
72 Requires: rpm-devel >= 5
75 Development files for libsolv.
77 %description devel -l pl.UTF-8
78 Pliki programistyczne biblioetk libsolv.
81 Summary: Static libsolv libraries
82 Summary(pl.UTF-8): Statyczne biblioteki libsolv
83 Group: Development/Libraries
84 Requires: %{name}-devel = %{version}-%{release}
87 Static libsolv libraries.
89 %description static -l pl.UTF-8
90 Statyczne biblioteki libsolv.
93 Summary: Package dependency solver tools
94 Summary(pl.UTF-8): Narzędzia do rozwiązywania zależności pakietów
95 Group: Applications/System
96 Requires: %{name} = %{version}-%{release}
102 Package dependency solver tools.
104 %description tools -l pl.UTF-8
105 Narzędzia do rozwiązywania zależności pakietów.
107 %package -n perl-solv
108 Summary: Perl bindings for the libsolv libraries
109 Summary(pl.UTF-8): Wiązania Perla do bibliotek libsolv
110 Group: Development/Languages/Perl
111 Requires: %{name} = %{version}-%{release}
113 %description -n perl-solv
114 Perl bindings for the libsolv libraries.
116 %description -n perl-solv -l pl.UTF-8
117 Wiązania Perla do bibliotek libsolv.
119 %package -n python-solv
120 Summary: Python 2.x bindings for the libsolv library
121 Summary(pl.UTF-8): Wiązania Pythona 2.x do bibliotek libsolv
122 Group: Development/Languages/Python
123 Requires: %{name} = %{version}-%{release}
124 Requires: python-libs
126 %description -n python-solv
127 Python 2.x bindings for the libsolv library.
129 %description -n python-solv -l pl.UTF-8
130 Wiązania Pythona 2.x do bibliotek libsolv.
132 %package -n python3-solv
133 Summary: Python 3.x bindings for the libsolv library
134 Summary(pl.UTF-8): Wiązania Pythona 2.x do bibliotek libsolv
135 Group: Development/Languages/Python
136 Requires: %{name} = %{version}-%{release}
137 Requires: python-libs
139 %description -n python3-solv
140 Python 3.x bindings for the libsolv library.
142 %description -n python3-solv -l pl.UTF-8
143 Wiązania Pythona 3.x do bibliotek libsolv.
145 %package -n ruby-solv
146 Summary: Ruby bindings for the libsolv libraries
147 Summary(pl.UTF-8): Wiązania języka Ruby do bibliotek libsolv
148 Group: Development/Languages
149 Requires: %{name} = %{version}-%{release}
151 %description -n ruby-solv
152 Ruby bindings for the libsolv libraries.
154 %description -n ruby-solv -l pl.UTF-8
155 Wiązania języka Ruby do bibliotek libsolv.
163 %{__rm} cmake/modules/FindRuby.cmake
166 install -d build %{?with_python3:build-py3}
169 -DENABLE_APPDATA=ON \
170 -DENABLE_BZIP2_COMPRESSION=ON \
171 -DENABLE_LZMA_COMPRESSION=ON \
176 -DENABLE_RPMDB_BYRPMHEADER=ON \
178 %{?with_ruby:-DENABLE_RUBY=ON} \
179 %{?with_static_libs:-DENABLE_STATIC=ON} \
180 -DPythonLibs_FIND_VERSION=2 \
181 -DPythonLibs_FIND_VERSION_MAJOR=2 \
189 -DENABLE_APPDATA=ON \
190 -DENABLE_BZIP2_COMPRESSION=ON \
191 -DENABLE_LZMA_COMPRESSION=ON \
196 -DENABLE_RPMDB_BYRPMHEADER=ON \
197 -DPythonLibs_FIND_VERSION=3 \
198 -DPythonLibs_FIND_VERSION_MAJOR=3 \
205 rm -rf $RPM_BUILD_ROOT
208 %{__make} -C build-py3/bindings/python install \
209 DESTDIR=$RPM_BUILD_ROOT
212 %{__make} -C build install \
213 DESTDIR=$RPM_BUILD_ROOT
215 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
216 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
220 rm -rf $RPM_BUILD_ROOT
222 %post -p /sbin/ldconfig
223 %postun -p /sbin/ldconfig
226 %defattr(644,root,root,755)
227 %doc BUGS CREDITS LICENSE.BSD README
228 %attr(755,root,root) %{_libdir}/libsolv.so.0
229 %attr(755,root,root) %{_libdir}/libsolvext.so.0
232 %defattr(644,root,root,755)
234 %attr(755,root,root) %{_libdir}/libsolv.so
235 %attr(755,root,root) %{_libdir}/libsolvext.so
237 %{_datadir}/cmake/Modules/FindLibSolv.cmake
238 %{_mandir}/man3/libsolv*.3*
240 %if %{with static_libs}
242 %defattr(644,root,root,755)
244 %{_libdir}/libsolvext.a
248 %defattr(644,root,root,755)
249 %attr(755,root,root) %{_bindir}/appdata2solv
250 %attr(755,root,root) %{_bindir}/deltainfoxml2solv
251 %attr(755,root,root) %{_bindir}/dumpsolv
252 %attr(755,root,root) %{_bindir}/installcheck
253 %attr(755,root,root) %{_bindir}/mergesolv
254 %attr(755,root,root) %{_bindir}/repo2solv.sh
255 %attr(755,root,root) %{_bindir}/repomdxml2solv
256 %attr(755,root,root) %{_bindir}/rpmdb2solv
257 %attr(755,root,root) %{_bindir}/rpmmd2solv
258 %attr(755,root,root) %{_bindir}/rpms2solv
259 %attr(755,root,root) %{_bindir}/solv
260 %attr(755,root,root) %{_bindir}/testsolv
261 %attr(755,root,root) %{_bindir}/updateinfoxml2solv
262 %{_mandir}/man1/appdata2solv.1*
263 %{_mandir}/man1/deltainfoxml2solv.1*
264 %{_mandir}/man1/dumpsolv.1*
265 %{_mandir}/man1/installcheck.1*
266 %{_mandir}/man1/mergesolv.1*
267 %{_mandir}/man1/repomdxml2solv.1*
268 %{_mandir}/man1/rpmdb2solv.1*
269 %{_mandir}/man1/rpmmd2solv.1*
270 %{_mandir}/man1/rpms2solv.1*
271 %{_mandir}/man1/testsolv.1*
272 %{_mandir}/man1/updateinfoxml2solv.1*
275 %defattr(644,root,root,755)
277 %attr(755,root,root) %{perl_vendorarch}/solv.so
278 %{perl_vendorarch}/solv.pm
280 %files -n python-solv
281 %defattr(644,root,root,755)
283 %attr(755,root,root) %{py_sitedir}/_solv.so
284 %{py_sitedir}/solv.py[co]
287 %files -n python3-solv
288 %defattr(644,root,root,755)
290 %attr(755,root,root) %{py3_sitedir}/_solv.so
291 %{py3_sitedir}/solv.py
296 %defattr(644,root,root,755)
298 %attr(755,root,root) %{ruby_vendorarchdir}/solv.so