support 'rpmbuild --with zypp' as shortcut to enable things the zypp stack needs
[platform/upstream/libsolv.git] / package / libsolv.spec.in
1 #
2 # spec file for package libsolv
3 #
4 # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 #
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.
14
15 # Please submit bugfixes or comments via http://bugs.opensuse.org/
16 #
17
18 Name:           libsolv
19 Version:        @VERSION@
20 Release:        0
21 Url:            git://gitorious.org/opensuse/libsolv.git
22 Source:         libsolv-%{version}.tar.bz2
23 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
24
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
30 %bcond_with zypp
31
32 %if 0%{?mandriva_version}
33 # force this version on mandriva
34 BuildRequires:  libneon0.26-devel
35 %endif
36 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
37 BuildRequires:  db4-devel
38 %endif
39 %if 0%{?suse_version}
40 %if 0%{?suse_version} < 1030
41 BuildRequires:  expat
42 %else
43 BuildRequires:  libexpat-devel
44 %endif
45 %if 0%{?suse_version} < 1100
46 BuildRequires:  graphviz
47 %endif
48 %if 0%{?suse_version} > 1020
49 BuildRequires:  fdupes
50 %endif
51 %else
52 BuildRequires:  expat-devel
53 %endif
54 BuildRequires:  cmake
55 BuildRequires:  gcc-c++
56 BuildRequires:  rpm-devel
57 BuildRequires:  zlib-devel
58
59 %if %{with perl_binding}
60 BuildRequires:  perl
61 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
62 BuildRequires:  perl-devel
63 %endif
64 BuildRequires:  swig
65 %endif
66 %if %{with ruby_binding}
67 %global ruby_vendorarch %(ruby  -r rbconfig -e "puts Config::CONFIG['vendorarchdir'].nil? ? Config::CONFIG['sitearchdir'] : Config::CONFIG['vendorarchdir']")
68 BuildRequires:  ruby
69 BuildRequires:  ruby-devel
70 BuildRequires:  swig
71 %endif
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
75 BuildRequires:  swig
76 %endif
77
78 Summary:        A new approach to package dependency solving
79 License:        BSD-3-Clause
80 Group:          Development/Libraries/C and C++
81
82 %description
83 A new approach to package dependency solving
84
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++
89
90 %description -n libsolv@LIBSOLV_SOVERSION@
91 A new approach to package dependency solving
92
93 %endif
94 %package devel
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
100 %endif
101 Requires:       rpm-devel
102
103 %description devel
104 Development files for libsolv, a new approach to package dependency solving
105
106 %package tools
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
112
113 %description tools
114 A new approach to package dependency solving.
115
116 %package demo
117 Summary:        Applications demoing the libsolv library
118 Group:          System/Management
119 Requires:       curl
120 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
121 Requires:       gnupg2
122 %endif
123 %if 0%{?suse_version}
124 Requires:       gpg2
125 %endif
126
127 %description demo
128 Applications demoing the libsolv library.
129
130 %package -n ruby-solv
131 Summary:        Ruby bindings for the libsolv library
132 Group:          Development/Languages/Ruby
133
134 %description -n ruby-solv
135 Ruby bindings for sat solver.
136
137 %package -n python-solv
138 %if 0%{?py_requires:1}
139 %py_requires
140 %endif
141 Summary:        Python bindings for the libsolv library
142 Group:          Development/Languages/Python
143
144 %description -n python-solv
145 Python bindings for sat solver.
146
147 %package -n perl-solv
148 Requires:       perl = %{perl_version}
149 Summary:        Perl bindings for the libsolv library
150 Group:          Development/Languages/Perl
151
152 %description -n perl-solv
153 Perl bindings for sat solver.
154
155 %prep
156 %setup -n libsolv-%{version}
157
158 %build
159 export CFLAGS="$RPM_OPT_FLAGS"
160 export CXXFLAGS="$CFLAGS"
161
162 CMAKE_FLAGS=
163 %if 0%{?fedora_version} || 0%{?rhel_version} >= 600 || 0%{?centos_version} >= 600
164 CMAKE_FLAGS="-DFEDORA=1"
165 %endif
166 %if 0%{?suse_version}
167 CMAKE_FLAGS="-DSUSE=1"
168 %endif
169
170 cmake   $CMAKE_FLAGS \
171         -DCMAKE_INSTALL_PREFIX=%{_prefix} \
172         -DLIB=%{_lib} \
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} \
181         -DUSE_VENDORDIRS=1 \
182         -DCMAKE_SKIP_RPATH=1
183 make %{?jobs:-j %jobs}
184
185 %install
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
192 popd
193 %endif
194 %endif
195 # we want to leave the .a file untouched
196 export NO_BRP_STRIP_DEBUG=true
197
198 %clean
199 rm -rf "$RPM_BUILD_ROOT"
200
201 %if !%{with disable_shared}
202 %post -n libsolv@LIBSOLV_SOVERSION@ -p /sbin/ldconfig
203
204 %postun -n libsolv@LIBSOLV_SOVERSION@ -p /sbin/ldconfig
205
206 %files -n libsolv@LIBSOLV_SOVERSION@
207 %defattr(-,root,root)
208 %doc LICENSE*
209 %{_libdir}/libsolv.so.*
210 %{_libdir}/libsolvext.so.*
211 %endif
212
213 %files tools
214 %defattr(-,root,root)
215 %if 0%{?suse_version}
216 %exclude %{_bindir}/helix2solv
217 %endif
218 %exclude %{_bindir}/solv
219 %{_bindir}/*
220
221 %files devel
222 %defattr(-,root,root)
223 %if %{with enable_static}
224 %{_libdir}/libsolv.a
225 %{_libdir}/libsolvext.a
226 %endif
227 %if !%{with disable_shared}
228 %{_libdir}/libsolv.so
229 %{_libdir}/libsolvext.so
230 %endif
231 %{_includedir}/solv
232 %if 0%{?suse_version}
233 %{_bindir}/helix2solv
234 %endif
235 %{_datadir}/cmake/Modules/*
236
237 %files demo
238 %defattr(-,root,root)
239 %{_bindir}/solv
240
241 %if %{with perl_binding}
242 %files -n perl-solv
243 %defattr(-,root,root)
244 %{perl_vendorarch}/*
245 %endif
246
247 %if %{with ruby_binding}
248 %files -n ruby-solv
249 %defattr(-,root,root)
250 %{ruby_vendorarch}/*
251 %endif
252
253 %if %{with python_binding}
254 %files -n python-solv
255 %defattr(-,root,root)
256 %{python_sitearch}/*
257 %endif
258
259 %changelog