]> git.pld-linux.org Git - packages/opencv.git/blob - opencv.spec
- rel 1
[packages/opencv.git] / opencv.spec
1 # TODO:
2 # - contrib subpackage(s)
3 # - contrib BRs:
4 #   opencv_contrib-3.1.0/modules/cnn_3dobj/CMakeLists.txt:find_package(Caffe)
5 #   opencv_contrib-3.1.0/modules/sfm/CMakeLists.txt:find_package(Ceres QUIET)
6 # unpackaged (4.5.5)
7 #/usr/share/OpenCV/3rdparty/usr/lib64/libcorrespondence.a
8 #/usr/share/OpenCV/3rdparty/usr/lib64/libmultiview.a
9 #/usr/share/OpenCV/3rdparty/usr/lib64/libnumeric.a
10 #/usr/share/OpenCV/valgrind.supp
11 #/usr/share/OpenCV/valgrind_3rdparty.supp
12
13 #
14 # - Smartek GigEVisionSDK (http://www.smartekvision.com/ but I can't see SDK with Linux library?)
15 # - CUDA, CUFFT, CUBLAS, NVCUVID support (on bcond)
16 # - ipp (libippi): http://software.intel.com/en-us/articles/intel-ipp/ (proprietary)
17 #
18 # Conditional build:
19 # - general options:
20 %bcond_with     tbb             # Threading Building Blocks support (everywhere)
21 %bcond_with     sse             # use SSE instructions
22 %bcond_with     sse2            # use SSE2 instructions
23 %bcond_with     sse3            # use SSE3 instructions
24 %bcond_with     ssse3           # use SSSE3 instructions
25 %bcond_with     sse41           # use SSE4.1 instructions
26 %bcond_with     sse42           # use SSE4.2 instructions
27 %bcond_with     avx             # use AVX instructions
28 %bcond_without  opencl          # OpenCL support
29 %bcond_with     opencl_amdblas  # AMD OpenCL BLAS routines
30 %bcond_with     opencl_amdfft   # AMD OpenCL FFT routines
31 %bcond_without  opengl          # OpenGL support
32 %bcond_without  openmp          # OpenMP support (available when not using tbb)
33 %bcond_without  examples        # Install examples
34 # - bindings
35 %bcond_without  java            # Java binding
36 # - highgui options:
37 %bcond_without  ffmpeg          # FFMpeg support in highgui
38 %bcond_without  gstreamer       # GStreamer support in highgui
39 %bcond_with     openni          # OpenNI (Natural Interaction) support in highgui
40 %bcond_with     pvapi           # PvAPI (AVT GigE cameras) support in highgui (proprietary)
41 %bcond_with     qt              # Qt backend instead of GTK+ in highgui
42 %bcond_with     unicap          # Unicap support in highgui (GPL)
43 %bcond_without  v4l             # Video4Linux in highgui
44 %bcond_with     ximea           # m3API (XIMEA cameras) support in highgui (proprietary)
45 %bcond_with     xine            # XINE support in highgui (GPL)
46 # - other modules
47 %bcond_without  vtk             # VTK library support (opencv_viz module)
48
49 %ifarch pentium3 pentium4 %{x8664} x32
50 %define         with_sse        1
51 %endif
52 %ifarch pentium4 %{x8664} x32
53 %define         with_sse2       1
54 %endif
55 Summary:        A library of programming functions mainly aimed at real time computer vision
56 Summary(pl.UTF-8):      Biblioteka funkcji do grafiki komputerowej w czasie rzeczywistym
57 Name:           opencv
58 Version:        4.8.1
59 Release:        1
60 Epoch:          1
61 %if %{with unicap} || %{with xine}
62 License:        GPL (enforced by used libraries), BSD (opencv itself)
63 %else
64 License:        BSD
65 %endif
66 Group:          Libraries
67 Source0:        https://github.com/Itseez/opencv/archive/%{version}/%{name}-%{version}.tar.gz
68 # Source0-md5:  7e3b6b5046e4e31226bbf4872091201c
69 Source1:        https://github.com/Itseez/opencv_contrib/archive/%{version}/%{name}_contrib-%{version}.tar.gz
70 # Source1-md5:  16a34bb3c8107e5416e86ef003d5aeb6
71 # See opencv_contrib-3.4.1/modules/xfeatures2d/cmake/download_boostdesc.cmake
72 Source10:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i
73 # Source10-md5: 0ea90e7a8f3f7876d450e4149c97c74f
74 Source11:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_bi.i
75 # Source11-md5: 232c966b13651bd0e46a1497b0852191
76 Source12:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_hd.i
77 # Source12-md5: 324426a24fa56ad9c5b8e3e0b3e5303e
78 Source13:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_064.i
79 # Source13-md5: 202e1b3e9fec871b04da31f7f016679f
80 Source14:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_128.i
81 # Source14-md5: 98ea99d399965c03d555cef3ea502a0b
82 Source15:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_256.i
83 # Source15-md5: e6dcfa9f647779eb1ce446a8d759b6ea
84 Source16:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_lbgm.i
85 # Source16-md5: 0ae0675534aa318d9668f2a179c2a052
86 # See opencv_contrib-3.4.1/modules/xfeatures2d/cmake/download_vgg.cmake
87 Source20:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_48.i
88 # Source20-md5: e8d0dcd54d1bcfdc29203d011a797179
89 Source21:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_64.i
90 # Source21-md5: 7126a5d9a8884ebca5aea5d63d677225
91 Source22:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_80.i
92 # Source22-md5: 7cd47228edec52b6d82f46511af325c5
93 Source23:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i
94 # Source23-md5: 151805e03568c9f490a5e3a872777b75
95 # See opencv_contrib-3.4.1/modules/face/CMakeLists.txt
96 Source30:       https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
97 # Source30-md5: 7505c44ca4eb54b4ab1e4777cb96ac05
98 # See opencv-4.5.1/modules/gapi/cmake/DownloadADE.cmake
99 Source40:       https://github.com/opencv/ade/archive/v0.1.2a/v0.1.2a.zip
100 # Source40-md5: fa4b3e25167319cb0fa9432ef8281945
101 # See opencv_contrib-4.5.5/modules/wechat_qrcode/CMakeLists.txt
102 Source50:       https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/detect.caffemodel
103 # Source50-md5: 238e2b2d6f3c18d6c3a30de0c31e23cf
104 Source51:       https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/detect.prototxt
105 # Source51-md5: 6fb4976b32695f9f5c6305c19f12537d
106 Source52:       https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/sr.caffemodel
107 # Source52-md5: cbfcd60361a73beb8c583eea7e8e6664
108 Source53:       https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/sr.prototxt
109 # Source53-md5: 69db99927a70df953b471daaba03fbef
110 Patch0:         %{name}-ximea.patch
111 Patch1:         python-install.patch
112 Patch2:         pkgconfig-paths.patch
113 URL:            http://www.opencv.org/
114 %{?with_pvapi:BuildRequires:    AVT_GigE_SDK-devel}
115 %{?with_opencl:BuildRequires:   OpenCL-devel}
116 BuildRequires:  OpenEXR-devel
117 %{?with_opengl:BuildRequires:   OpenGL-GLU-devel}
118 %if %{with opengl}
119 BuildRequires:  OpenGL-devel
120 BuildRequires:  libglvnd-libGL-devel
121 %endif
122 # as of OpenCV 2.3.1-2.4.3 there is also check for OpenNI-sensor-PrimeSense, but the result is not used
123 %{?with_openni:BuildRequires:   OpenNI-devel}
124 %{?with_ximea:BuildRequires:    XIMEA-devel >= 4}
125 %{?with_java:BuildRequires:     ant}
126 BuildRequires:  boost-devel
127 %{?with_opencl_amdblas:BuildRequires:   clAmdBlas-devel}
128 %{?with_opencl_amdfft:BuildRequires:    clAmdFft-devel}
129 BuildRequires:  cmake >= 3.5.1
130 BuildRequires:  doxygen
131 BuildRequires:  eigen3 >= 3
132 %{?with_ffmpeg:BuildRequires:   ffmpeg-devel >= 0.7}
133 %{?with_openmp:BuildRequires:   gcc-c++ >= 6:4.2}
134 BuildRequires:  gflags-devel
135 BuildRequires:  gl2ps-devel
136 BuildRequires:  glog-devel
137 %if %{with gstreamer}
138 BuildRequires:  gstreamer-devel >= 1.0
139 BuildRequires:  gstreamer-plugins-base-devel >= 1.0
140 %endif
141 BuildRequires:  jasper-devel
142 %if %{with java}
143 BuildRequires:  java-xerces
144 BuildRequires:  jdk
145 # jawt for installed jdk
146 BuildRequires:  jre-X11
147 %endif
148 BuildRequires:  khrplatform-devel
149 BuildRequires:  libdc1394-devel >= 2
150 %{?with_openmp:BuildRequires:   libgomp-devel}
151 BuildRequires:  libjpeg-devel
152 BuildRequires:  libpng-devel
153 BuildRequires:  libraw1394-devel
154 BuildRequires:  libstdc++-devel
155 BuildRequires:  libtiff-devel
156 BuildRequires:  libtool
157 %if %{with unicap}
158 BuildRequires:  libucil-devel
159 BuildRequires:  libunicap-devel
160 %endif
161 BuildRequires:  libv4l-devel
162 BuildRequires:  ogre-devel
163 BuildRequires:  pkgconfig
164 BuildRequires:  hdf5-devel
165 BuildRequires:  protobuf-devel
166 BuildRequires:  python >= 1:2.7
167 BuildRequires:  python-devel >= 1:2.7
168 BuildRequires:  python-numpy-devel
169 BuildRequires:  python3 >= 1:3.2
170 BuildRequires:  python3-devel >= 1:3.2
171 BuildRequires:  python3-numpy-devel
172 BuildRequires:  rpm-build >= 4.6
173 BuildRequires:  rpm-pythonprov
174 BuildRequires:  rpmbuild(macros) >= 1.606
175 BuildRequires:  sed >= 4.0
176 BuildRequires:  sphinx-pdg
177 BuildRequires:  swig-python
178 %{?with_tbb:BuildRequires:      tbb-devel}
179 BuildRequires:  tesseract-devel
180 %if %{with vtk}
181 BuildRequires:  vtk-devel >= 5.8.0
182 BuildRequires:  vtk-java >= 5.8.0
183 BuildRequires:  vtk-python3-devel >= 5.8.0
184 %endif
185 %{?with_xine:BuildRequires:     xine-lib-devel}
186 BuildRequires:  xorg-lib-libX11-devel
187 BuildRequires:  zlib-devel >= 1.2.3
188 %if %{with qt}
189 BuildRequires:  QtCore-devel >= 4
190 BuildRequires:  QtGui-devel >= 4
191 %{?with_opengl:BuildRequires:   QtOpenGL-devel >= 4}
192 BuildRequires:  qt4-qmake >= 4
193 %else
194 BuildRequires:  gtk+2-devel >= 2.0
195 %{?with_opengl:BuildRequires:   gtkglext-devel >= 1.0}
196 %endif
197 Requires:       %{name}-core = %{epoch}:%{version}-%{release}
198 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
199
200 %define         jver    %(echo %{version} | cut -d. -f1-3 | tr -d .)
201 %define         sover   408
202
203 %description
204 OpenCV (Open Source Computer Vision) is a library of programming
205 functions mainly aimed at real time computer vision.
206
207 Example applications of the OpenCV library are:
208 - Human-Computer Interaction (HCI)
209 - Object Identification, Segmentation and Recognition
210 - Face Recognition
211 - Gesture Recognition
212 - Motion Tracking
213 - Ego Motion, Motion Understanding
214 - Structure From Motion (SFM)
215 - Stereo and Multi-Camera Calibration and Depth Computation
216 - Mobile Robotics.
217
218 %description -l pl.UTF-8
219 OpenCV (Open Source Computer Vision) to biblioteka funkcji
220 przeznaczonych głównie do grafiki komputerowej w czasie rzeczywistym.
221
222 Przykładowe zastosowania biblioteki OpenCV to
223 - interakcje człowiek-komputer (HCI)
224 - identyfikacja, segmentacja i rozpoznawanie obiektów
225 - rozpoznawanie twarzy
226 - rozpoznawanie gestów
227 - śledzenie ruchu
228 - rozumienie ruchu
229 - SFM (Structure From Motion)
230 - kalibracja dwu- i wielokamerowa, obliczanie głębi
231 - robotyka ruchu.
232
233 %package core
234 Summary:        OpenCV core libraries
235 Summary(pl.UTF-8):      Podstawowe biblioteki OpenCV
236 Group:          Libraries
237 Conflicts:      opencv < 2.4.6.2-1
238
239 %description core
240 This package contains the OpenCV C/C++ core libraries.
241
242 %description core -l pl.UTF-8
243 Ten pakiet zawiera podstawowe biblioteki C/C++ OpenCV.
244
245 %package viz
246 Summary:        OpenCV viz library (VTK support)
247 Summary(pl.UTF-8):      Biblioteka OpenCV viz (obsługa VTK)
248 Group:          Libraries
249 Requires:       %{name} = %{epoch}:%{version}-%{release}
250
251 %description viz
252 OpenCV viz library (VTK support).
253
254 %description viz -l pl.UTF-8
255 Biblioteka OpenCV viz (obsługa VTK).
256
257 %package devel
258 Summary:        Header files for OpenCV library
259 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki OpenCV
260 Group:          Development/Libraries
261 Requires:       %{name} = %{epoch}:%{version}-%{release}
262 %if %{with vtk}
263 Requires:       %{name}-viz = %{epoch}:%{version}-%{release}
264 %endif
265 Obsoletes:      opencv-static < 1:2
266
267 %description devel
268 Header files for OpenCV library.
269
270 %description devel -l pl.UTF-8
271 Pliki nagłówkowe biblioteki OpenCV.
272
273 %package doc
274 Summary:        Manual for OpenCV
275 Summary(fr.UTF-8):      Documentation pour OpenCV
276 Summary(it.UTF-8):      Documentazione di OpenCV
277 Summary(pl.UTF-8):      Podręcznik dla OpenCV
278 Group:          Documentation
279 BuildArch:      noarch
280
281 %description doc
282 Documentation for OpenCV.
283
284 %description doc -l fr.UTF-8
285 Documentation pour OpenCV.
286
287 %description doc -l it.UTF-8
288 Documentazione di OpenCV.
289
290 %description doc -l pl.UTF-8
291 Dokumentacja do OpenCV.
292
293 %package examples
294 Summary:        OpenCV code examples
295 Summary(pl.UTF-8):      Przykłady kodu OpenCV
296 Group:          Documentation
297 BuildArch:      noarch
298
299 %description examples
300 OpenCV code examples.
301
302 %description examples -l pl.UTF-8
303 Przykłady kodu OpenCV.
304
305 %package -n java-opencv
306 Summary:        OpenCV Java bindings
307 Summary(pl.UTF-8):      Wiązania Javy do OpenCV
308 Group:          Libraries/Java
309 Requires:       %{name} = %{epoch}:%{version}-%{release}
310 Requires:       jre
311
312 %description -n java-opencv
313 OpenCV Java bindings.
314
315 %description -n java-opencv -l pl.UTF-8
316 Wiązania Javy do OpenCV.
317
318 %package -n python-opencv
319 Summary:        OpenCV Python 2 bindings
320 Summary(pl.UTF-8):      Wiązania Pythona 2 do OpenCV
321 Group:          Libraries/Python
322 Requires:       %{name} = %{epoch}:%{version}-%{release}
323 Requires:       python-libs >= 1:2.7
324
325 %description -n python-opencv
326 OpenCV Python 2 bindings.
327
328 %description -n python-opencv -l pl.UTF-8
329 Wiązania Pythona 2 do OpenCV.
330
331 %package -n python3-opencv
332 Summary:        OpenCV Python 3 bindings
333 Summary(pl.UTF-8):      Wiązania Pythona 3 do OpenCV
334 Group:          Libraries/Python
335 Requires:       %{name} = %{epoch}:%{version}-%{release}
336 Requires:       python3-libs
337
338 %description -n python3-opencv
339 OpenCV Python 3 bindings.
340
341 %description -n python3-opencv -l pl.UTF-8
342 Wiązania Pythona 3 do OpenCV.
343
344 %prep
345 %setup -q -a1
346
347 %undos CMakeLists.txt
348
349 %patch0 -p1
350 %patch1 -p1
351 %patch2 -p1
352
353 cache_file() {
354         f="$1"
355         d="$2"
356         md5="$(md5sum "$f" | awk '{print $1}')"
357         file="$(basename "$f")"
358         mkdir -p ".cache/$d"
359         ln -s --relative "$f" ".cache/$d/$md5-$file"
360 }
361 for f in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16}; do
362         cache_file $f xfeatures2d/boostdesc
363 done
364 for f in %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23}; do
365         cache_file $f xfeatures2d/vgg
366 done
367 cache_file %{SOURCE30} data
368 cache_file %{SOURCE40} ade
369 for f in %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53}; do
370         cache_file $f wechat_qrcode
371 done
372
373 cd opencv_contrib-%{version}
374
375 # both files use Glog_FOUND variable, but set different variables for LIBS; unify them so they won't disturb each other
376 cp -f modules/sfm/cmake/FindGlog.cmake modules/cnn_3dobj/FindGlog.cmake
377 %{__sed} -i -e 's/Glog_LIBS/GLOG_LIBRARIES/' modules/cnn_3dobj/CMakeLists.txt
378
379 %build
380 mkdir -p build
381 cd build
382
383 # handle cmake & ccache
384 # http://stackoverflow.com/questions/1815688/how-to-use-ccache-with-cmakec
385 if [[ "%{__cc}" = *ccache* ]]; then
386         cc="%{__cc}"
387         cxx="%{__cxx}"
388         ccache="
389         -DCMAKE_C_COMPILER="ccache" -DCMAKE_C_COMPILER_ARG1="${cc#ccache }" \
390         -DCMAKE_CXX_COMPILER="ccache" -DCMAKE_CXX_COMPILER_ARG1="${cxx#ccache }" \
391         "
392 fi
393
394 # WITH_GTK_2_X=ON: force gtk+2 instead of gtk+3
395 # (as of 4.5.5, OpenGL is not supported with gtk+3, leading to highgui linking errors)
396 %cmake .. \
397         $ccache \
398         -DOpenGL_GL_PREFERENCE=GLVND \
399         -DENABLE_PRECOMPILED_HEADERS=OFF \
400         -DOPENCV_LIB_INSTALL_PATH=%{_libdir} \
401         -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-%{version}/modules \
402         -DENABLE_AVX=%{?with_avx:ON}%{!?with_avx:OFF} \
403         -DENABLE_SSE=%{?with_sse:ON}%{!?with_sse:OFF} \
404         -DENABLE_SSE2=%{?with_sse2:ON}%{!?with_sse2:OFF} \
405         -DENABLE_SSE3=%{?with_sse3:ON}%{!?with_sse3:OFF} \
406         -DENABLE_SSSE3=%{?with_ssse3:ON}%{!?with_ssse3:OFF} \
407         -DENABLE_SSE41=%{?with_sse41:ON}%{!?with_sse41:OFF} \
408         -DENABLE_SSE42=%{?with_sse42:ON}%{!?with_sse42:OFF} \
409         -DBUILD_NEW_PYTHON_SUPPORT=ON \
410         -DOPENCV_GENERATE_PKGCONFIG:BOOL=ON \
411 %if %{with examples}
412         -DINSTALL_C_EXAMPLES=ON \
413         -DINSTALL_PYTHON_EXAMPLES=ON \
414 %endif
415         %{?with_ffmpeg:-DWITH_FFMPEG=ON} \
416         %{!?with_gstreamer:-DWITH_GSTREAMER=OFF} \
417         -DWITH_GTK_2_X=ON \
418         %{?with_opencl:-DWITH_OPENCL=ON} \
419         %{!?with_opencl_amdblas:-DWITH_OPENCLAMDBLAS=OFF} \
420         %{!?with_opencl_amdfft:-DWITH_OPENCLAMDFFT=OFF} \
421         %{?with_opengl:-DWITH_OPENGL=ON} \
422         %{?with_openmp:-DWITH_OPENMP=ON} \
423         %{?with_openni:-DWITH_OPENNI=ON} \
424         %{?with_pvapi:-DPVAPI_LIBRARY=%{_libdir}/libPvAPI.so}%{!?with_pvapi:-DWITH_PVAPI=OFF} \
425         %{?with_qt:-DWITH_QT=ON %{?with_opengl:-DWITH_QT_OPENGL=ON} -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4} \
426         %{?with_tbb:-DWITH_TBB=ON} \
427         %{?with_unicap:-DWITH_UNICAP=ON} \
428         %{!?with_v4l:-DWITH_V4L=OFF} \
429         %{?with_vtk:-DWITH_VTK=ON} \
430         %{?with_ximea:-DWITH_XIMEA=ON} \
431         %{?with_xine:-DWITH_XINE=ON} \
432         -DWITH_IPP=OFF
433
434 %{__make}
435
436 %install
437 rm -rf $RPM_BUILD_ROOT
438 %{__make} -C build install \
439         DESTDIR=$RPM_BUILD_ROOT
440
441 %if %{with examples}
442 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
443 mv $RPM_BUILD_ROOT%{_datadir}/opencv4/samples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
444 %endif
445
446 # disable completeness check incompatible with split packaging
447 %{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d' $RPM_BUILD_ROOT%{_libdir}/cmake/opencv4/OpenCVModules.cmake
448
449 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
450 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
451 %py_postclean
452
453 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
454 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
455
456 %if %{with java}
457 # move to proper directories, create symlink
458 install -d $RPM_BUILD_ROOT%{_javadir}
459 %{__mv} $RPM_BUILD_ROOT%{_javadir}/opencv4/libopencv_java*.so $RPM_BUILD_ROOT%{_libdir}
460 sed -i -e 's#/share/java/opencv4/libopencv_java%{jver}\.so#/%{_lib}/libopencv_java%{jver}.so#g' \
461         $RPM_BUILD_ROOT%{_libdir}/cmake/opencv4/OpenCVModules-pld.cmake
462 %{__mv} $RPM_BUILD_ROOT%{_javadir}/opencv4/opencv-*.jar $RPM_BUILD_ROOT%{_javadir}
463 rmdir $RPM_BUILD_ROOT%{_javadir}/opencv4
464 ln -sf $(basename $RPM_BUILD_ROOT%{_javadir}/opencv-*.jar) $RPM_BUILD_ROOT%{_javadir}/opencv.jar
465 %endif
466
467 %clean
468 rm -rf $RPM_BUILD_ROOT
469
470 %post   -p /sbin/ldconfig
471 %postun -p /sbin/ldconfig
472
473 %post   core -p /sbin/ldconfig
474 %postun core -p /sbin/ldconfig
475
476 %post   viz -p /sbin/ldconfig
477 %postun viz -p /sbin/ldconfig
478
479 %post   -n java-opencv -p /sbin/ldconfig
480 %postun -n java-opencv -p /sbin/ldconfig
481
482 %files
483 %defattr(644,root,root,755)
484 %attr(755,root,root) %{_bindir}/opencv_annotation
485 %attr(755,root,root) %{_bindir}/opencv_interactive-calibration
486 %attr(755,root,root) %{_bindir}/opencv_model_diagnostics
487 %attr(755,root,root) %{_bindir}/opencv_version
488 %attr(755,root,root) %{_bindir}/opencv_visualisation
489 %attr(755,root,root) %{_bindir}/setup_vars_opencv4.sh
490 %attr(755,root,root) %{_libdir}/libopencv_calib3d.so.*.*.*
491 %attr(755,root,root) %ghost %{_libdir}/libopencv_calib3d.so.%{sover}
492 %attr(755,root,root) %{_libdir}/libopencv_dnn.so.*.*.*
493 %attr(755,root,root) %ghost %{_libdir}/libopencv_dnn.so.%{sover}
494 %attr(755,root,root) %{_libdir}/libopencv_features2d.so.*.*.*
495 %attr(755,root,root) %ghost %{_libdir}/libopencv_features2d.so.%{sover}
496 %attr(755,root,root) %{_libdir}/libopencv_gapi.so.*.*.*
497 %attr(755,root,root) %ghost %{_libdir}/libopencv_gapi.so.%{sover}
498 %attr(755,root,root) %{_libdir}/libopencv_highgui.so.*.*.*
499 %attr(755,root,root) %ghost %{_libdir}/libopencv_highgui.so.%{sover}
500 %attr(755,root,root) %{_libdir}/libopencv_objdetect.so.*.*.*
501 %attr(755,root,root) %ghost %{_libdir}/libopencv_objdetect.so.%{sover}
502 %attr(755,root,root) %{_libdir}/libopencv_stitching.so.*.*.*
503 %attr(755,root,root) %ghost %{_libdir}/libopencv_stitching.so.%{sover}
504 %attr(755,root,root) %{_libdir}/libopencv_superres.so.*.*.*
505 %attr(755,root,root) %ghost %{_libdir}/libopencv_superres.so.%{sover}
506 %attr(755,root,root) %{_libdir}/libopencv_videostab.so.*.*.*
507 %attr(755,root,root) %ghost %{_libdir}/libopencv_videostab.so.%{sover}
508 # contrib modules
509 %attr(755,root,root) %{_bindir}/opencv_waldboost_detector
510 %attr(755,root,root) %ghost %{_libdir}/libopencv_alphamat.so.%{sover}
511 %attr(755,root,root) %{_libdir}/libopencv_alphamat.so.*.*.*
512 %attr(755,root,root) %ghost %{_libdir}/libopencv_aruco.so.%{sover}
513 %attr(755,root,root) %{_libdir}/libopencv_aruco.so.*.*.*
514 %attr(755,root,root) %ghost %{_libdir}/libopencv_bgsegm.so.%{sover}
515 %attr(755,root,root) %{_libdir}/libopencv_bgsegm.so.*.*.*
516 %attr(755,root,root) %ghost %{_libdir}/libopencv_bioinspired.so.%{sover}
517 %attr(755,root,root) %{_libdir}/libopencv_bioinspired.so.*.*.*
518 %attr(755,root,root) %ghost %{_libdir}/libopencv_ccalib.so.%{sover}
519 %attr(755,root,root) %{_libdir}/libopencv_ccalib.so.*.*.*
520 %attr(755,root,root) %ghost %{_libdir}/libopencv_datasets.so.%{sover}
521 %attr(755,root,root) %{_libdir}/libopencv_datasets.so.*.*.*
522 %attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_objdetect.so.%{sover}
523 %attr(755,root,root) %{_libdir}/libopencv_dnn_objdetect.so.*.*.*
524 %attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_superres.so.%{sover}
525 %attr(755,root,root) %{_libdir}/libopencv_dnn_superres.so.*.*.*
526 %attr(755,root,root) %ghost %{_libdir}/libopencv_dpm.so.%{sover}
527 %attr(755,root,root) %{_libdir}/libopencv_dpm.so.*.*.*
528 %attr(755,root,root) %ghost %{_libdir}/libopencv_face.so.%{sover}
529 %attr(755,root,root) %{_libdir}/libopencv_face.so.*.*.*
530 %attr(755,root,root) %ghost %{_libdir}/libopencv_freetype.so.%{sover}
531 %attr(755,root,root) %{_libdir}/libopencv_freetype.so.*.*.*
532 %attr(755,root,root) %ghost %{_libdir}/libopencv_fuzzy.so.%{sover}
533 %attr(755,root,root) %{_libdir}/libopencv_fuzzy.so.*.*.*
534 %attr(755,root,root) %ghost %{_libdir}/libopencv_hdf.so.%{sover}
535 %attr(755,root,root) %{_libdir}/libopencv_hdf.so.*.*.*
536 %attr(755,root,root) %ghost %{_libdir}/libopencv_hfs.so.%{sover}
537 %attr(755,root,root) %{_libdir}/libopencv_hfs.so.*.*.*
538 %attr(755,root,root) %ghost %{_libdir}/libopencv_img_hash.so.%{sover}
539 %attr(755,root,root) %{_libdir}/libopencv_img_hash.so.*.*.*
540 %attr(755,root,root) %ghost %{_libdir}/libopencv_intensity_transform.so.%{sover}
541 %attr(755,root,root) %{_libdir}/libopencv_intensity_transform.so.*.*.*
542 %attr(755,root,root) %ghost %{_libdir}/libopencv_line_descriptor.so.%{sover}
543 %attr(755,root,root) %{_libdir}/libopencv_line_descriptor.so.*.*.*
544 %attr(755,root,root) %ghost %{_libdir}/libopencv_mcc.so.%{sover}
545 %attr(755,root,root) %{_libdir}/libopencv_mcc.so.*.*.*
546 %attr(755,root,root) %ghost %{_libdir}/libopencv_ovis.so.%{sover}
547 %attr(755,root,root) %{_libdir}/libopencv_ovis.so.*.*.*
548 %attr(755,root,root) %ghost %{_libdir}/libopencv_optflow.so.%{sover}
549 %attr(755,root,root) %{_libdir}/libopencv_optflow.so.*.*.*
550 %attr(755,root,root) %ghost %{_libdir}/libopencv_phase_unwrapping.so.%{sover}
551 %attr(755,root,root) %{_libdir}/libopencv_phase_unwrapping.so.*.*.*
552 %attr(755,root,root) %ghost %{_libdir}/libopencv_plot.so.%{sover}
553 %attr(755,root,root) %{_libdir}/libopencv_plot.so.*.*.*
554 %attr(755,root,root) %ghost %{_libdir}/libopencv_quality.so.%{sover}
555 %attr(755,root,root) %{_libdir}/libopencv_quality.so.*.*.*
556 %attr(755,root,root) %ghost %{_libdir}/libopencv_rapid.so.%{sover}
557 %attr(755,root,root) %{_libdir}/libopencv_rapid.so.*.*.*
558 %attr(755,root,root) %ghost %{_libdir}/libopencv_reg.so.%{sover}
559 %attr(755,root,root) %{_libdir}/libopencv_reg.so.*.*.*
560 %attr(755,root,root) %ghost %{_libdir}/libopencv_rgbd.so.%{sover}
561 %attr(755,root,root) %{_libdir}/libopencv_rgbd.so.*.*.*
562 %attr(755,root,root) %ghost %{_libdir}/libopencv_saliency.so.%{sover}
563 %attr(755,root,root) %{_libdir}/libopencv_saliency.so.*.*.*
564 %attr(755,root,root) %ghost %{_libdir}/libopencv_shape.so.%{sover}
565 %attr(755,root,root) %{_libdir}/libopencv_shape.so.*.*.*
566 %attr(755,root,root) %ghost %{_libdir}/libopencv_sfm.so.%{sover}
567 %attr(755,root,root) %{_libdir}/libopencv_sfm.so.*.*.*
568 %attr(755,root,root) %ghost %{_libdir}/libopencv_stereo.so.%{sover}
569 %attr(755,root,root) %{_libdir}/libopencv_stereo.so.*.*.*
570 %attr(755,root,root) %ghost %{_libdir}/libopencv_structured_light.so.%{sover}
571 %attr(755,root,root) %{_libdir}/libopencv_structured_light.so.*.*.*
572 %attr(755,root,root) %ghost %{_libdir}/libopencv_surface_matching.so.%{sover}
573 %attr(755,root,root) %{_libdir}/libopencv_surface_matching.so.*.*.*
574 %attr(755,root,root) %ghost %{_libdir}/libopencv_text.so.%{sover}
575 %attr(755,root,root) %{_libdir}/libopencv_text.so.*.*.*
576 %attr(755,root,root) %ghost %{_libdir}/libopencv_tracking.so.%{sover}
577 %attr(755,root,root) %{_libdir}/libopencv_tracking.so.*.*.*
578 %attr(755,root,root) %ghost %{_libdir}/libopencv_wechat_qrcode.so.%{sover}
579 %attr(755,root,root) %{_libdir}/libopencv_wechat_qrcode.so.*.*.*
580 %attr(755,root,root) %ghost %{_libdir}/libopencv_xfeatures2d.so.%{sover}
581 %attr(755,root,root) %{_libdir}/libopencv_xfeatures2d.so.*.*.*
582 %attr(755,root,root) %ghost %{_libdir}/libopencv_ximgproc.so.%{sover}
583 %attr(755,root,root) %{_libdir}/libopencv_ximgproc.so.*.*.*
584 %attr(755,root,root) %ghost %{_libdir}/libopencv_xobjdetect.so.%{sover}
585 %attr(755,root,root) %{_libdir}/libopencv_xobjdetect.so.*.*.*
586 %attr(755,root,root) %ghost %{_libdir}/libopencv_xphoto.so.%{sover}
587 %attr(755,root,root) %{_libdir}/libopencv_xphoto.so.*.*.*
588
589 %dir %{_datadir}/opencv4
590 %{_datadir}/opencv4/haarcascades
591 %{_datadir}/opencv4/lbpcascades
592 %{_datadir}/opencv4/quality
593
594 %files core
595 %defattr(644,root,root,755)
596 %attr(755,root,root) %{_libdir}/libopencv_core.so.*.*.*
597 %attr(755,root,root) %ghost %{_libdir}/libopencv_core.so.%{sover}
598 %attr(755,root,root) %{_libdir}/libopencv_flann.so.*.*.*
599 %attr(755,root,root) %ghost %{_libdir}/libopencv_flann.so.%{sover}
600 %attr(755,root,root) %{_libdir}/libopencv_imgcodecs.so.*.*.*
601 %attr(755,root,root) %ghost %{_libdir}/libopencv_imgcodecs.so.%{sover}
602 %attr(755,root,root) %{_libdir}/libopencv_imgproc.so.*.*.*
603 %attr(755,root,root) %ghost %{_libdir}/libopencv_imgproc.so.%{sover}
604 %attr(755,root,root) %{_libdir}/libopencv_ml.so.*.*.*
605 %attr(755,root,root) %ghost %{_libdir}/libopencv_ml.so.%{sover}
606 %attr(755,root,root) %{_libdir}/libopencv_photo.so.*.*.*
607 %attr(755,root,root) %ghost %{_libdir}/libopencv_photo.so.%{sover}
608 %attr(755,root,root) %{_libdir}/libopencv_video.so.*.*.*
609 %attr(755,root,root) %ghost %{_libdir}/libopencv_video.so.%{sover}
610 %attr(755,root,root) %{_libdir}/libopencv_videoio.so.*.*.*
611 %attr(755,root,root) %ghost %{_libdir}/libopencv_videoio.so.%{sover}
612
613 %if %{with vtk}
614 %files viz
615 %defattr(644,root,root,755)
616 %attr(755,root,root) %{_libdir}/libopencv_viz.so.*.*.*
617 %attr(755,root,root) %ghost %{_libdir}/libopencv_viz.so.%{sover}
618 %endif
619
620 %files devel
621 %defattr(644,root,root,755)
622 # core
623 %{_libdir}/libopencv_core.so
624 %{_libdir}/libopencv_dnn.so
625 %{_libdir}/libopencv_flann.so
626 %{_libdir}/libopencv_imgcodecs.so
627 %{_libdir}/libopencv_imgproc.so
628 %{_libdir}/libopencv_ml.so
629 %{_libdir}/libopencv_photo.so
630 %{_libdir}/libopencv_video.so
631 %{_libdir}/libopencv_videoio.so
632 # GUI/extensions (base package)
633 %{_libdir}/libopencv_calib3d.so
634 %{_libdir}/libopencv_features2d.so
635 %{_libdir}/libopencv_gapi.so
636 %{_libdir}/libopencv_highgui.so
637 %{_libdir}/libopencv_objdetect.so
638 %{_libdir}/libopencv_stitching.so
639 # contrib
640 %{_libdir}/libopencv_alphamat.so
641 %{_libdir}/libopencv_aruco.so
642 %{_libdir}/libopencv_bgsegm.so
643 %{_libdir}/libopencv_bioinspired.so
644 %{_libdir}/libopencv_ccalib.so
645 %{_libdir}/libopencv_datasets.so
646 %{_libdir}/libopencv_dnn_objdetect.so
647 %{_libdir}/libopencv_dnn_superres.so
648 %{_libdir}/libopencv_dpm.so
649 %{_libdir}/libopencv_face.so
650 %{_libdir}/libopencv_freetype.so
651 %{_libdir}/libopencv_fuzzy.so
652 %{_libdir}/libopencv_hdf.so
653 %{_libdir}/libopencv_hfs.so
654 %{_libdir}/libopencv_img_hash.so
655 %{_libdir}/libopencv_intensity_transform.so
656 %{_libdir}/libopencv_line_descriptor.so
657 %{_libdir}/libopencv_mcc.so
658 %{_libdir}/libopencv_optflow.so
659 %{_libdir}/libopencv_ovis.so
660 %{_libdir}/libopencv_phase_unwrapping.so
661 %{_libdir}/libopencv_plot.so
662 %{_libdir}/libopencv_quality.so
663 %{_libdir}/libopencv_rapid.so
664 %{_libdir}/libopencv_reg.so
665 %{_libdir}/libopencv_rgbd.so
666 %{_libdir}/libopencv_saliency.so
667 %{_libdir}/libopencv_sfm.so
668 %{_libdir}/libopencv_shape.so
669 %{_libdir}/libopencv_stereo.so
670 %{_libdir}/libopencv_superres.so
671 %{_libdir}/libopencv_structured_light.so
672 %{_libdir}/libopencv_surface_matching.so
673 %{_libdir}/libopencv_text.so
674 %{_libdir}/libopencv_tracking.so
675 %{_libdir}/libopencv_videostab.so
676 %{_libdir}/libopencv_wechat_qrcode.so
677 %{_libdir}/libopencv_xfeatures2d.so
678 %{_libdir}/libopencv_ximgproc.so
679 %{_libdir}/libopencv_xobjdetect.so
680 %{_libdir}/libopencv_xphoto.so
681 # viz
682 %if %{with vtk}
683 %{_libdir}/libopencv_viz.so
684 %endif
685 %{_includedir}/opencv4
686 %dir %{_libdir}/cmake/opencv4
687 %{_libdir}/cmake/opencv4/OpenCV*.cmake
688 %{_pkgconfigdir}/opencv4.pc
689
690 %files doc
691 %defattr(644,root,root,755)
692 # TODO: probably could rebuild them and package via make install
693 %doc doc/*
694
695 %if %{with examples}
696 %files examples
697 %defattr(644,root,root,755)
698 %{_examplesdir}/%{name}-%{version}
699 %endif
700
701 %if %{with java}
702 %files -n java-opencv
703 %defattr(644,root,root,755)
704 %attr(755,root,root) %{_libdir}/libopencv_java%{jver}.so
705 %{_javadir}/opencv-%{jver}.jar
706 %{_javadir}/opencv.jar
707 %endif
708
709 %files -n python-opencv
710 %defattr(644,root,root,755)
711 %dir %{py_sitedir}/cv2
712 %dir %{py_sitedir}/cv2/python-*
713 %attr(755,root,root) %{py_sitedir}/cv2/python-*/cv2.so
714 %{py_sitedir}/cv2/*.py[co]
715 %{py_sitedir}/cv2/mat_wrapper
716 %{py_sitedir}/cv2/misc
717 %{py_sitedir}/cv2/utils
718
719 %files -n python3-opencv
720 %defattr(644,root,root,755)
721 %dir %{py3_sitedir}/cv2
722 %dir %{py3_sitedir}/cv2/python-*
723 %attr(755,root,root) %{py3_sitedir}/cv2/python-*/cv2.cpython-*.so
724 %{py3_sitedir}/cv2/*.py
725 %{py3_sitedir}/cv2/__pycache__
726 %{py3_sitedir}/cv2/gapi
727 %{py3_sitedir}/cv2/mat_wrapper
728 %{py3_sitedir}/cv2/misc
729 %{py3_sitedir}/cv2/utils
This page took 0.125881 seconds and 4 git commands to generate.