2 # spec file for package libsolv
4 # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
6 # All modifications and additions to the file contributed by third parties
7 # remain the property of their copyright owners, unless otherwise agreed
8 # upon. The license for this file, and modifications and additions to the
9 # file, is the same license as for the pristine package itself (unless the
10 # license for the pristine package is not an Open Source License, in which
11 # case the license is the MIT License). An "Open Source License" is a
12 # license that conforms to the Open Source Definition (Version 1.9)
13 # published by the Open Source Initiative.
15 # Please submit bugfixes or comments via http://bugs.opensuse.org/
21 Url: https://github.com/openSUSE/libsolv
22 Source: libsolv-%{version}.tar.bz2
23 BuildRoot: %{_tmppath}/%{name}-%{version}-build
25 %bcond_without enable_static
26 %bcond_without disable_shared
27 %bcond_without perl_binding
28 %bcond_without python_binding
29 %bcond_without ruby_binding
32 %if 0%{?mandriva_version}
33 # force this version on mandriva
34 BuildRequires: libneon0.26-devel
36 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
37 BuildRequires: db-devel
40 %if 0%{?suse_version} < 1030
43 BuildRequires: libexpat-devel
45 %if 0%{?suse_version} < 1100
46 BuildRequires: graphviz
48 %if 0%{?suse_version} > 1020
52 BuildRequires: expat-devel
55 BuildRequires: gcc-c++
56 BuildRequires: rpm-devel
57 BuildRequires: zlib-devel
59 %if %{with perl_binding}
61 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
62 BuildRequires: perl-devel
66 %if %{with ruby_binding}
67 %global ruby_vendorarch %(ruby -r rbconfig -e "puts RbConfig::CONFIG['vendorarchdir'].nil? ? RbConfig::CONFIG['sitearchdir'] : RbConfig::CONFIG['vendorarchdir']")
69 BuildRequires: ruby-devel
72 %if %{with python_binding}
73 %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(True);")
74 BuildRequires: python-devel
78 Summary: A new approach to package dependency solving
80 Group: Development/Libraries/C and C++
83 A new approach to package dependency solving
85 %if !%{with disable_shared}
86 %package -n libsolv@LIBSOLV_SOVERSION@
87 Summary: A new approach to package dependency solving
88 Group: Development/Libraries/C and C++
90 %description -n libsolv@LIBSOLV_SOVERSION@
91 A new approach to package dependency solving
95 Summary: A new approach to package dependency solving
96 Group: Development/Libraries/C and C++
97 %if !%{with disable_shared}
98 Requires: libsolv@LIBSOLV_SOVERSION@ = %version
101 Conflicts: libsatsolver-devel
104 Development files for libsolv, a new approach to package dependency solving
107 Summary: A new approach to package dependency solving
108 Group: Development/Libraries/C and C++
109 Obsoletes: satsolver-tools < 0.18
110 Provides: satsolver-tools = 0.18
111 Conflicts: satsolver-tools-obsolete
112 Requires: gzip bzip2 coreutils findutils
115 A new approach to package dependency solving.
118 Summary: Applications demoing the libsolv library
119 Group: System/Management
121 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
124 %if 0%{?suse_version}
127 Conflicts: libsatsolver-demo
130 Applications demoing the libsolv library.
132 %package -n ruby-solv
133 Summary: Ruby bindings for the libsolv library
134 Group: Development/Languages/Ruby
136 %description -n ruby-solv
137 Ruby bindings for sat solver.
139 %package -n python-solv
140 %if 0%{?py_requires:1} && %{with python_binding}
143 Summary: Python bindings for the libsolv library
144 Group: Development/Languages/Python
146 %description -n python-solv
147 Python bindings for sat solver.
149 %package -n perl-solv
150 Requires: perl = %{perl_version}
151 Summary: Perl bindings for the libsolv library
152 Group: Development/Languages/Perl
154 %description -n perl-solv
155 Perl bindings for sat solver.
158 %setup -n libsolv-%{version}
161 export CFLAGS="$RPM_OPT_FLAGS"
162 export CXXFLAGS="$CFLAGS"
165 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
166 CMAKE_FLAGS="-DFEDORA=1"
168 %if 0%{?suse_version}
169 CMAKE_FLAGS="-DSUSE=1 -DENABLE_APPDATA=1 -DENABLE_COMPS=1"
173 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
175 -DCMAKE_VERBOSE_MAKEFILE=TRUE \
176 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
177 %{?with_enable_static:-DENABLE_STATIC=1} \
178 %{?with_disable_shared:-DDISABLE_SHARED=1} \
179 %{?with_perl_binding:-DENABLE_PERL=1} \
180 %{?with_python_binding:-DENABLE_PYTHON=1} \
181 %{?with_ruby_binding:-DENABLE_RUBY=1} \
182 %{?with_zypp:-DENABLE_SUSEREPO=1 -DENABLE_HELIXREPO=1} \
185 make %{?jobs:-j %jobs}
188 make DESTDIR=$RPM_BUILD_ROOT install
189 %if %{with python_binding}
190 %if 0%{?suse_version}
191 pushd $RPM_BUILD_ROOT/%{python_sitearch}
192 python %py_libdir/py_compile.py *.py
193 python -O %py_libdir/py_compile.py *.py
197 %if %{with disable_shared}
198 # we want to leave the .a file untouched
199 export NO_BRP_STRIP_DEBUG=true
203 rm -rf "$RPM_BUILD_ROOT"
205 %if !%{with disable_shared}
206 %post -n libsolv@LIBSOLV_SOVERSION@ -p /sbin/ldconfig
208 %postun -n libsolv@LIBSOLV_SOVERSION@ -p /sbin/ldconfig
210 %files -n libsolv@LIBSOLV_SOVERSION@
211 %defattr(-,root,root)
213 %{_libdir}/libsolv.so.*
214 %{_libdir}/libsolvext.so.*
218 %defattr(-,root,root)
219 %if 0%{?suse_version}
220 %exclude %{_bindir}/helix2solv
221 %exclude %{_mandir}/man1/helix2solv*
223 %exclude %{_bindir}/solv
228 %defattr(-,root,root)
229 %if %{with enable_static}
231 %{_libdir}/libsolvext.a
233 %if !%{with disable_shared}
234 %{_libdir}/libsolv.so
235 %{_libdir}/libsolvext.so
238 %if 0%{?suse_version}
239 %{_bindir}/helix2solv
240 %{_mandir}/man1/helix2solv*
242 %{_datadir}/cmake/Modules/*
243 %{_libdir}/pkgconfig/libsolv.pc
247 %defattr(-,root,root)
250 %if %{with perl_binding}
252 %defattr(-,root,root)
256 %if %{with ruby_binding}
258 %defattr(-,root,root)
262 %if %{with python_binding}
263 %files -n python-solv
264 %defattr(-,root,root)