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: git://gitorious.org/opensuse/libsolv.git
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: db4-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 Config::CONFIG['vendorarchdir'].nil? ? Config::CONFIG['sitearchdir'] : Config::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 Requires: libsolv-tools = %version
98 %if !%{with disable_shared}
99 Requires: libsolv@LIBSOLV_SOVERSION@ = %version
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 Requires: gzip bzip2 coreutils findutils
114 A new approach to package dependency solving.
117 Summary: Applications demoing the libsolv library
118 Group: System/Management
120 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
123 %if 0%{?suse_version}
128 Applications demoing the libsolv library.
130 %package -n ruby-solv
131 Summary: Ruby bindings for the libsolv library
132 Group: Development/Languages/Ruby
134 %description -n ruby-solv
135 Ruby bindings for sat solver.
137 %package -n python-solv
138 %if 0%{?py_requires:1} && %{with python_binding}
141 Summary: Python bindings for the libsolv library
142 Group: Development/Languages/Python
144 %description -n python-solv
145 Python bindings for sat solver.
147 %package -n perl-solv
148 Requires: perl = %{perl_version}
149 Summary: Perl bindings for the libsolv library
150 Group: Development/Languages/Perl
152 %description -n perl-solv
153 Perl bindings for sat solver.
156 %setup -n libsolv-%{version}
159 export CFLAGS="$RPM_OPT_FLAGS"
160 export CXXFLAGS="$CFLAGS"
163 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
164 CMAKE_FLAGS="-DFEDORA=1"
166 %if 0%{?suse_version}
167 CMAKE_FLAGS="-DSUSE=1"
171 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
173 -DCMAKE_VERBOSE_MAKEFILE=TRUE \
174 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
175 %{?with_enable_static:-DENABLE_STATIC=1} \
176 %{?with_disable_shared:-DDISABLE_SHARED=1} \
177 %{?with_perl_binding:-DENABLE_PERL=1} \
178 %{?with_python_binding:-DENABLE_PYTHON=1} \
179 %{?with_ruby_binding:-DENABLE_RUBY=1} \
180 %{?with_zypp:-DENABLE_SUSEREPO=1 -DENABLE_HELIXREPO=1} \
183 make %{?jobs:-j %jobs}
186 make DESTDIR=$RPM_BUILD_ROOT install
187 %if %{with python_binding}
188 %if 0%{?suse_version}
189 pushd $RPM_BUILD_ROOT/%{python_sitearch}
190 python %py_libdir/py_compile.py *.py
191 python -O %py_libdir/py_compile.py *.py
195 %if %{with disable_shared}
196 # we want to leave the .a file untouched
197 export NO_BRP_STRIP_DEBUG=true
201 rm -rf "$RPM_BUILD_ROOT"
203 %if !%{with disable_shared}
204 %post -n libsolv@LIBSOLV_SOVERSION@ -p /sbin/ldconfig
206 %postun -n libsolv@LIBSOLV_SOVERSION@ -p /sbin/ldconfig
208 %files -n libsolv@LIBSOLV_SOVERSION@
209 %defattr(-,root,root)
211 %{_libdir}/libsolv.so.*
212 %{_libdir}/libsolvext.so.*
216 %defattr(-,root,root)
217 %if 0%{?suse_version}
218 %exclude %{_bindir}/helix2solv
220 %exclude %{_bindir}/solv
224 %defattr(-,root,root)
225 %if %{with enable_static}
227 %{_libdir}/libsolvext.a
229 %if !%{with disable_shared}
230 %{_libdir}/libsolv.so
231 %{_libdir}/libsolvext.so
234 %if 0%{?suse_version}
235 %{_bindir}/helix2solv
237 %{_datadir}/cmake/Modules/*
241 %defattr(-,root,root)
244 %if %{with perl_binding}
246 %defattr(-,root,root)
250 %if %{with ruby_binding}
252 %defattr(-,root,root)
256 %if %{with python_binding}
257 %files -n python-solv
258 %defattr(-,root,root)