]> git.pld-linux.org Git - packages/libsvm.git/blob - libsvm.spec
rebuild with python 3.10
[packages/libsvm.git] / libsvm.spec
1 #
2 # Conditional build:
3 %bcond_without  java    # Java library
4 %bcond_without  octave  # Octave (MATLAB) module
5 %bcond_without  python  # Python (any) interface
6 %bcond_without  python2 # Python 2.x interface
7 %bcond_without  python3 # Python 3.x interface
8 #
9 %if %{without python}
10 %undefine       with_python2
11 %undefine       with_python3
12 %endif
13 Summary:        LIBSVM - simple, easy-to-use and efficient software for SVM classification and regression
14 Summary(pl.UTF-8):      LIBSVM - proste, łatwe w użyciu i wydajne oprogramowanie do klasyfikacji i regresji SVM
15 Name:           libsvm
16 Version:        3.24
17 Release:        5
18 License:        BSD
19 Group:          Libraries
20 Source0:        https://www.csie.ntu.edu.tw/~cjlin/libsvm/%{name}-%{version}.tar.gz
21 # Source0-md5:  818aa0201dc9d938846a6394653915f4
22 Patch0:         %{name}-python.patch
23 Patch1:         %{name}-make.patch
24 URL:            https://www.csie.ntu.edu.tw/~cjlin/libsvm/
25 %{?with_java:BuildRequires:     jdk >= 1.7}
26 BuildRequires:  libstdc++-devel
27 %{?with_java:BuildRequires:     m4}
28 %{?with_octave:BuildRequires:   octave-devel}
29 %{?with_python2:BuildRequires:  python-devel >= 1:2.6}
30 %{?with_python3:BuildRequires:  python3-devel >= 1:3.2}
31 BuildRequires:  rpm-pythonprov
32 BuildRequires:  rpmbuild(macros) >= 1.507
33 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
35 %define         octave_oct_dir  %(octave-config --oct-site-dir)
36
37 %description
38 Libsvm is a simple, easy-to-use, and efficient software for SVM
39 classification and regression. It solves C-SVM classification, nu-SVM
40 classification, one-class-SVM, epsilon-SVM regression, and nu-SVM
41 regression. It also provides an automatic model selection tool for
42 C-SVM classification.
43
44 %description -l pl.UTF-8
45 Libsvm tio proste, łatwe w użyciu i wydajne oprogramowanie do
46 klasyfikacji i regresji SVM. Rozwiązuje problemy klasyfikacji C-SVM,
47 klasyfikacji nu-SVM, jednoklasowe SVM, regresji epsilon-SVM oraz
48 regresji nu-SVM. Udostępnia także narzędzie do automatycznego wyboru
49 modelu dla klasyfikacji C-SVM.
50
51 %package devel
52 Summary:        Header files for LIBSVM library
53 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki LIBSVM
54 Group:          Development/Libraries
55 Requires:       %{name} = %{version}-%{release}
56
57 %description devel
58 Header files for LIBSVM library.
59
60 %description devel -l pl.UTF-8
61 Pliki nagłówkowe biblioteki LIBSVM.
62
63 %package -n java-libsvm
64 Summary:        Java interface for LIBSVM library
65 Summary(pl.UTF-8):      Interfejs Javy do biblioteki LIBSVM
66 Group:          Libraries/Python
67 Requires:       jre >= 1.7
68
69 %description -n java-libsvm
70 Java interface for LIBSVM library.
71
72 %description -n java-libsvm -l pl.UTF-8
73 Interfejs Javy do biblioteki LIBSVM.
74
75 %package -n octave-libsvm
76 Summary:        MATLAB/Octave interface for LIBSVM library
77 Summary(pl.UTF-8):      Interfejs MATLAB-a/Octave do biblioteki LIBSVM
78 Group:          Libraries
79 Requires:       octave
80
81 %description -n octave-libsvm
82 MATLAB/Octave interface for LIBSVM library.
83
84 %description -n octave-libsvm -l pl.UTF-8
85 Interfejs MATLAB-a/Octave do biblioteki LIBSVM.
86
87 %package -n python-libsvm
88 Summary:        Python 2 interface for LIBSVM library
89 Summary(pl.UTF-8):      Interfejs Pythona 2 do biblioteki LIBSVM
90 Group:          Libraries/Python
91 Requires:       %{name} = %{version}-%{release}
92 Requires:       python-libs >= 1:2.6
93
94 %description -n python-libsvm
95 Python 2 interface for LIBSVM library.
96
97 %description -n python-libsvm -l pl.UTF-8
98 Interfejs Pythona 2 do biblioteki LIBSVM.
99
100 %package -n python3-libsvm
101 Summary:        Python 3 interface for LIBSVM library
102 Summary(pl.UTF-8):      Interfejs Pythona 3 do biblioteki LIBSVM
103 Group:          Libraries/Python
104 Requires:       %{name} = %{version}-%{release}
105 Requires:       python3-libs >= 1:3.2
106
107 %description -n python3-libsvm
108 Python 3 interface for LIBSVM library.
109
110 %description -n python3-libsvm -l pl.UTF-8
111 Interfejs Pythona 3 do biblioteki LIBSVM.
112
113 %prep
114 %setup -q
115 %patch0 -p1
116 %patch1 -p1
117
118 # probably it was meant to be shared between liblinear and libsvm interfaces,
119 # but it's impossible to keep in sync at distro level between different
120 # versions of both packages (see python patch for changes in sources)
121 %{__mv} python/{commonutil,svmcommonutil}.py
122
123 %build
124 %{__make} \
125         CC="%{__cc}" \
126         CXX="%{__cxx}" \
127         CFLAGS="%{rpmcflags} -fPIC -Wall"
128
129 %if %{with java}
130 %{__make} -C java
131 %endif
132
133 %if %{with octave}
134 %{__make} -C matlab \
135         CC="%{__cc}" \
136         CXX="%{__cxx}" \
137         CFLAGS="%{rpmcflags} -fPIC -I.. -I/usr/include/octave -Wall" \
138         MEX=mkoctfile \
139         MEX_OPTION=--mex \
140         MEX_EXT=mex
141 %endif
142
143 %install
144 rm -rf $RPM_BUILD_ROOT
145 install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}}
146
147 install libsvm.so.* $RPM_BUILD_ROOT%{_libdir}
148 ln -sf $(basename $RPM_BUILD_ROOT%{_libdir}/libsvm.so.*) $RPM_BUILD_ROOT%{_libdir}/libsvm.so
149 cp -p svm.h $RPM_BUILD_ROOT%{_includedir}
150 install svm-predict svm-scale svm-train $RPM_BUILD_ROOT%{_bindir}
151
152 %if %{with java}
153 install -D java/libsvm.jar $RPM_BUILD_ROOT%{_javadir}/libsvm.jar
154 %endif
155
156 %if %{with octave}
157 install -d $RPM_BUILD_ROOT%{octave_oct_dir}/libsvm
158 install matlab/*.mex $RPM_BUILD_ROOT%{octave_oct_dir}/libsvm
159 %endif
160
161 %if %{with python2}
162 install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
163 cp -p python/*.py $RPM_BUILD_ROOT%{py_sitescriptdir}
164 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
165 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
166 %py_postclean
167 %endif
168
169 %if %{with python3}
170 install -d $RPM_BUILD_ROOT%{py3_sitescriptdir}
171 cp -p python/*.py $RPM_BUILD_ROOT%{py3_sitescriptdir}
172 %py3_comp $RPM_BUILD_ROOT%{py3_sitescriptdir}
173 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitescriptdir}
174 %endif
175
176 %clean
177 rm -rf $RPM_BUILD_ROOT
178
179 %post   -p /sbin/ldconfig
180 %postun -p /sbin/ldconfig
181
182 %files
183 %defattr(644,root,root,755)
184 %doc COPYRIGHT FAQ.html README
185 %attr(755,root,root) %{_bindir}/svm-predict
186 %attr(755,root,root) %{_bindir}/svm-scale
187 %attr(755,root,root) %{_bindir}/svm-train
188 %attr(755,root,root) %{_libdir}/libsvm.so.2
189
190 %files devel
191 %defattr(644,root,root,755)
192 %attr(755,root,root) %{_libdir}/libsvm.so
193 %{_includedir}/svm.h
194
195 %if %{with java}
196 %files -n java-libsvm
197 %defattr(644,root,root,755)
198 %{_javadir}/libsvm.jar
199 %endif
200
201 %if %{with octave}
202 %files -n octave-libsvm
203 %defattr(644,root,root,755)
204 %dir %{octave_oct_dir}/libsvm
205 %attr(755,root,root) %{octave_oct_dir}/libsvm/libsvmread.mex
206 %attr(755,root,root) %{octave_oct_dir}/libsvm/libsvmwrite.mex
207 %attr(755,root,root) %{octave_oct_dir}/libsvm/svmpredict.mex
208 %attr(755,root,root) %{octave_oct_dir}/libsvm/svmtrain.mex
209 %endif
210
211 %if %{with python2}
212 %files -n python-libsvm
213 %defattr(644,root,root,755)
214 %doc python/README
215 %{py_sitescriptdir}/svm.py[co]
216 %{py_sitescriptdir}/svmcommonutil.py[co]
217 %{py_sitescriptdir}/svmutil.py[co]
218 %endif
219
220 %if %{with python3}
221 %files -n python3-libsvm
222 %defattr(644,root,root,755)
223 %doc python/README
224 %{py3_sitescriptdir}/svm.py
225 %{py3_sitescriptdir}/svmcommonutil.py
226 %{py3_sitescriptdir}/svmutil.py
227 %{py3_sitescriptdir}/__pycache__/svm.cpython-*.py[co]
228 %{py3_sitescriptdir}/__pycache__/svmcommonutil.cpython-*.py[co]
229 %{py3_sitescriptdir}/__pycache__/svmutil.cpython-*.py[co]
230 %endif
This page took 0.08873 seconds and 3 git commands to generate.