a4f65692e546ecb0df0a5840cd0fdc70b4966075
[platform/upstream/opencv.git] / packaging / opencv.spec
1 Name: opencv
2 Summary: OpenCV library
3 Version: 4.5.0
4 Release: 0
5 Group: Development/Libraries
6 License: BSD-3-Clause and LGPL-2.1+
7 Source0: %{name}-%{version}.tar.gz
8 Source100: opencv-contrib-4.5.0.tar.gz
9
10 BuildRequires:  cmake
11 BuildRequires:  pkg-config
12 BuildRequires:  libjpeg-turbo-devel
13 BuildRequires:  libpng-devel
14 BuildRequires:  libtiff-devel
15 BuildRequires:  gstreamer
16 BuildRequires:  gst-plugins-base
17 BuildRequires:  gst-plugins-good
18 BuildRequires:  libavutil-devel
19 BuildRequires:  libavcodec-devel
20 BuildRequires:  libavformat-devel
21 BuildRequires:  libswscale-devel
22
23
24 Requires(post):  /sbin/ldconfig
25 Requires(postun): /sbin/ldconfig
26
27 %description
28 The Open Computer Vision Library includes various algorithms for computer vision problems.
29
30 %package devel
31 Summary:    OpenCV Library (Dev)
32 Group:      Development/Libraries
33 Requires:    %{name} = %{version}-%{release}
34
35 %description devel
36 The Open Computer Vision Library (Dev) includes various algorithms for computer vision problems.
37
38 %prep
39 %setup -q
40 %setup -q -T -D -a 100
41
42 %build
43 %ifarch aarch64
44 ARCH=aarch64
45 %endif
46 %ifarch %arm
47 ARCH=arm
48 %endif
49 %ifarch x86_64
50 ARCH=x86_64
51 %endif
52 %ifarch %ix86
53 ARCH=i386
54 %endif
55
56 # compatibility to opencv3
57 sed -i 's/opencv4.pc/opencv.pc/g' cmake/OpenCVGenPkgconfig.cmake
58
59
60 mkdir -p build
61 cd build
62 cmake .. -DCMAKE_INSTALL_PREFIX=/usr \
63         -DARCH=${ARCH} \
64         -DCMAKE_BUILD_TYPE=Release \
65         -DCMAKE_CONFIGURATION_TYPES=Release \
66         -DOPENCV_ENABLE_NONFREE=OFF \
67         -DOPENCV_GENERATE_PKGCONFIG=YES \
68         -DOPENCV_GENERATE_SETUPVARS=OFF \
69         -DBUILD_PROTOBUF=ON \
70         -DPROTOBUF_UPDATE_FILES=OFF \
71         -DBUILD_opencv_calib3d=ON \
72         -DBUILD_opencv_core=ON \
73         -DBUILD_opencv_dnn=ON \
74         -DBUILD_opencv_features2d=ON \
75         -DBUILD_opencv_flann=ON \
76         -DBUILD_opencv_highgui=ON \
77         -DBUILD_opencv_imgcodecs=ON \
78         -DBUILD_opencv_imgproc=ON \
79         -DBUILD_opencv_ml=ON \
80         -DBUILD_opencv_objdetect=ON \
81         -DBUILD_opencv_photo=ON \
82         -DBUILD_opencv_python2=OFF \
83         -DBUILD_opencv_python3=OFF \
84         -DBUILD_opencv_shape=OFF \
85         -DBUILD_opencv_stitching=OFF \
86         -DBUILD_opencv_superres=OFF \
87         -DBUILD_opencv_ts=OFF \
88         -DBUILD_opencv_video=ON \
89         -DBUILD_opencv_videoio=ON \
90         -DBUILD_opencv_videostab=OFF \
91         -DBUILD_opencv_world=OFF \
92         -DBUILD_opencv_python=OFF \
93         -DBUILD_opencv_viz=OFF \
94         -DOPENCV_EXTRA_MODULES_PATH=../opencv-contrib/modules \
95         -DBUILD_opencv_aruco=OFF \
96         -DBUILD_opencv_bgsegm=OFF \
97         -DBUILD_opencv_bioinspired=OFF \
98         -DBUILD_opencv_ccalib=OFF \
99         -DBUILD_opencv_cnn_3dobj=OFF \
100         -DBUILD_opencv_cvv=OFF \
101         -DBUILD_opencv_datasets=OFF \
102         -DBUILD_opencv_dnn_objdetect=OFF \
103         -DBUILD_opencv_dnns_easily_fooled=OFF \
104         -DBUILD_opencv_dnn_superres=OFF \
105         -DBUILD_opencv_dpm=OFF \
106         -DBUILD_opencv_face=ON \
107         -DBUILD_opencv_freetype=OFF \
108         -DBUILD_opencv_fuzzy=OFF \
109         -DBUILD_opencv_hdf=OFF \
110         -DBUILD_opencv_hfs=OFF \
111         -DBUILD_opencv_img_hash=OFF \
112         -DBUILD_opencv_line_descriptor=OFF \
113         -DBUILD_opencv_matlab=OFF \
114         -DBUILD_opencv_optflow=OFF \
115         -DBUILD_opencv_ovis=OFF \
116         -DBUILD_opencv_phase_unwrapping=OFF \
117         -DBUILD_opencv_plot=OFF \
118         -DBUILD_opencv_quality=OFF \
119         -DBUILD_opencv_reg=OFF \
120         -DBUILD_opencv_rgbd=OFF \
121         -DBUILD_opencv_saliency=OFF \
122         -DBUILD_opencv_sfm=OFF \
123         -DBUILD_opencv_shape=OFF \
124         -DBUILD_opencv_stereo=OFF \
125         -DBUILD_opencv_stitching=OFF \
126         -DBUILD_opencv_structured_light=OFF \
127         -DBUILD_opencv_superres=OFF \
128         -DBUILD_opencv_surface_matching=OFF \
129         -DBUILD_opencv_text=OFF \
130         -DBUILD_opencv_tracking=ON \
131         -DBUILD_opencv_videostab=OFF \
132         -DBUILD_opencv_viz=OFF \
133         -DBUILD_opencv_xfeatures2d=ON \
134         -DBUILD_opencv_ximgproc=OFF \
135         -DBUILD_opencv_xobjdetect=OFF \
136         -DBUILD_opencv_xphoto=OFF \
137         -DBUILD_ZLIB=OFF \
138         -DBUILD_TIFF=OFF \
139         -DBUILD_JASPER=OFF \
140         -DBUILD_JPEG=OFF \
141         -DBUILD_PNG=OFF \
142         -DBUILD_WEBP=OFF \
143         -DBUILD_OPENEXR=OFF \
144         -DBUILD_TBB=OFF \
145         -DBUILD_SHARED_LIBS=ON \
146         -DBUILD_opencv_apps=OFF \
147         -DBUILD_opencv_js=OFF \
148         -DBUILD_DOCS=OFF \
149         -DBUILD_EXAMPLES=OFF \
150         -DBUILD_PACKAGE=OFF \
151         -DBUILD_PERF_TESTS=OFF \
152         -DBUILD_TESTS=OFF \
153         -DBUILD_WITH_DEBUG_INFO=ON \
154         -DBUILD_WITH_DYNAMIC_IPP=OFF \
155         -DBUILD_ANDROID_SERVICE=OFF \
156         -DBUILD_IPP_IW=OFF \
157         -DBUILD_ITT=OFF \
158         -DBUILD_WITH_STATIC_CRT=OFF \
159         -DBUILD_JAVA=OFF \
160         -DBUILD_opencv_java=OFF \
161         -DBUILD_FAT_JAVA_LIB=OFF \
162         -DBUILD_CUDA_STUBS=OFF \
163         -DWITH_CUDA=OFF \
164         -DWITH_CAROTENE=OFF \
165         -DWITH_CPUFEATURES=OFF \
166         -DWITH_1394=OFF \
167         -DWITH_CSTRIPES=OFF \
168         -DWITH_CUBLAS=OFF \
169         -DWITH_CUFFT=OFF \
170         -DWITH_NVCUVID=OFF \
171         -DWITH_DSHOW=OFF \
172         -DWITH_EIGEN=OFF \
173         -DWITH_FFMPEG=ON \
174         -DWITH_GIGEAPI=OFF \
175         -DWITH_INTELPERC=OFF \
176         -DWITH_IPP=OFF \
177         -DWITH_JASPER=OFF \
178         -DWITH_WEBP=OFF \
179         -DWITH_MSMF=OFF \
180         -DWITH_NVCUVID=OFF \
181         -DWITH_OPENCL=OFF \
182         -DWITH_OPENCLAMDBLAS=OFF \
183         -DWITH_OPENCLAMDFFT=OFF \
184         -DWITH_OPENEXR=OFF \
185         -DWITH_OPENGL=OFF \
186         -DWITH_OPENMP=OFF \
187         -DWITH_OPENNI=OFF \
188         -DWITH_JPEG=ON \
189         -DWITH_PNG=ON \
190         -DWITH_PVAPI=OFF \
191         -DWITH_QT=OFF \
192         -DWITH_TBB=OFF \
193         -DWITH_TIFF=ON \
194         -DWITH_VFW=OFF \
195         -DWITH_VTK=OFF \
196         -DWITH_WIN32UI=OFF \
197         -DWITH_XIMEA=OFF \
198         -DWITH_GSTREAMER=OFF \
199         -DWITH_V4L=ON \
200         -DWITH_GTK=OFF \
201         -DWITH_MATLAB=OFF \
202         -DWITH_ITT=OFF \
203         -DWITH_GPHOTO2=OFF \
204         -DWITH_PTHREADS_PF=OFF \
205         -DWITH_LAPACK=OFF \
206         -DWITH_OPENVX=OFF \
207         -DWITH_PROTOBUF=ON \
208         -DINSTALL_C_EXAMPLES=OFF \
209         -DINSTALL_PYTHON_EXAMPLES=OFF \
210         -DINSTALL_TESTS=OFF \
211         -DINTALL_ANDROID_EXAMPLES=OFF \
212         -DENABLE_PRECOMPILED_HEADERS=OFF \
213         -DENABLE_DYNAMIC_CUDA=OFF \
214         -DENABLE_SOLUTION_FOLDERS=OFF \
215         -DENABLE_PROFILLING=OFF \
216         -DENABLE_COVERAGE=OFF \
217 %ifarch %arm aarch64
218         -DCPU_BASELINE="" \
219         -DCPU_DISPATCH=NEON \
220 %endif
221         -DCV_TRACE=OFF
222
223 make %{?jobs:-j%jobs}
224
225 %install
226 cd build
227 rm -rf %{buildroot}
228 %make_install
229
230 # To support backward compatibility with OpenCV3
231 # Header files
232 ln -sf %{_includedir}/opencv4/opencv2 %{buildroot}%{_includedir}/opencv2
233 # pkgconfig
234 ln -sf %{_libdir}/pkgconfig/opencv.pc %{buildroot}%{_libdir}/pkgconfig/%{name}4.pc
235 # cascades files
236 mkdir -p %{buildroot}%{_datadir}/OpenCV
237 ln -sf %{_datadir}/opencv4/haarcascades %{buildroot}%{_datadir}/OpenCV/haarcascades
238 ln -sf %{_datadir}/opencv4/lbpcascades %{buildroot}%{_datadir}/OpenCV/lbpcascades
239
240 ln -sf %{_libdir}/cmake/opencv4/OpenCVConfig-version.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVConfig-version.cmake
241 ln -sf %{_libdir}/cmake/opencv4/OpenCVConfig.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVConfig.cmake
242 ln -sf %{_libdir}/cmake/opencv4/OpenCVModules-release.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVModules-release.cmake
243 ln -sf %{_libdir}/cmake/opencv4/OpenCVModules.cmake %{buildroot}%{_datadir}/OpenCV/OpenCVModules.cmake
244
245 %clean
246 rm -rf %{buildroot}
247
248 %pre
249 if [ -d %{_datadir}/OpenCV ];then
250  rm -r %{_datadir}/OpenCV
251 fi
252
253 %post
254 /sbin/ldconfig
255
256 %postun
257 /sbin/ldconfig
258
259 %files
260 %manifest opencv.manifest
261 %defattr(-,root,root,-)
262 %license LICENSE LICENSE.LGPL-2.1+
263 %{_libdir}/*.so.*
264 %{_libdir}/cmake/opencv4/*.cmake
265 /usr/share/licenses/opencv4/*
266 /usr/share/opencv4/haarcascades/*frontalface_alt*
267 /usr/share/opencv4/haarcascades/*smile*
268 /usr/share/opencv4/lbpcascades/*frontalface*
269 /usr/share/OpenCV/OpenCV*
270 /usr/share/OpenCV/haarcascades
271 /usr/share/OpenCV/lbpcascades
272
273 %exclude /usr/share/opencv4/haarcascades/*eye*
274 %exclude /usr/share/opencv4/haarcascades/*catface*
275 %exclude /usr/share/opencv4/haarcascades/*default*
276 %exclude /usr/share/opencv4/haarcascades/*plate*
277 %exclude /usr/share/opencv4/haarcascades/*body*
278 %exclude /usr/share/opencv4/haarcascades/*profile*
279 %exclude /usr/share/opencv4/haarcascades/*2splits*
280
281 %exclude /usr/share/opencv4/lbpcascades/*catface*
282 %exclude /usr/share/opencv4/lbpcascades/*profile*
283 %exclude /usr/share/opencv4/lbpcascades/*silverware*
284 %exclude /usr/share/opencv4/*.supp
285
286 %files devel
287 /usr/include/*
288 %{_libdir}/pkgconfig/*.pc
289 %{_libdir}/*.so
290 %doc