]> git.pld-linux.org Git - packages/opencv.git/blob - opencv.spec
- BR: jre-X11 for jawt
[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.5.5
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:  a9782f01883fcf51451a183d05bda33d
69 Source1:        https://github.com/Itseez/opencv_contrib/archive/%{version}/%{name}_contrib-%{version}.tar.gz
70 # Source1-md5:  073793e8085ec2490b3386e04ee20fbc
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/ade-0.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 Patch3:         no-cxx-in-c-header.patch
114 Patch4:         gcc11.patch
115 Patch5:         %{name}-ade.patch
116 URL:            http://www.opencv.org/
117 %{?with_pvapi:BuildRequires:    AVT_GigE_SDK-devel}
118 %{?with_opencl:BuildRequires:   OpenCL-devel}
119 BuildRequires:  OpenEXR-devel
120 %{?with_opengl:BuildRequires:   OpenGL-GLU-devel}
121 %if %{with opengl}
122 BuildRequires:  OpenGL-devel
123 BuildRequires:  libglvnd-libGL-devel
124 %endif
125 # as of OpenCV 2.3.1-2.4.3 there is also check for OpenNI-sensor-PrimeSense, but the result is not used
126 %{?with_openni:BuildRequires:   OpenNI-devel}
127 %{?with_ximea:BuildRequires:    XIMEA-devel >= 4}
128 %{?with_java:BuildRequires:     ant}
129 BuildRequires:  boost-devel
130 %{?with_opencl_amdblas:BuildRequires:   clAmdBlas-devel}
131 %{?with_opencl_amdfft:BuildRequires:    clAmdFft-devel}
132 BuildRequires:  cmake >= 3.5.1
133 BuildRequires:  doxygen
134 BuildRequires:  eigen3 >= 3
135 %{?with_ffmpeg:BuildRequires:   ffmpeg-devel >= 0.7}
136 %{?with_openmp:BuildRequires:   gcc-c++ >= 6:4.2}
137 BuildRequires:  gflags-devel
138 BuildRequires:  gl2ps-devel
139 BuildRequires:  glog-devel
140 %if %{with gstreamer}
141 BuildRequires:  gstreamer-devel >= 1.0
142 BuildRequires:  gstreamer-plugins-base-devel >= 1.0
143 %endif
144 BuildRequires:  jasper-devel
145 %if %{with java}
146 BuildRequires:  java-xerces
147 BuildRequires:  jdk
148 # jawt for installed jdk
149 BuildRequires:  jre-X11
150 %endif
151 BuildRequires:  khrplatform-devel
152 BuildRequires:  libdc1394-devel >= 2
153 %{?with_openmp:BuildRequires:   libgomp-devel}
154 BuildRequires:  libjpeg-devel
155 BuildRequires:  libpng-devel
156 BuildRequires:  libraw1394-devel
157 BuildRequires:  libstdc++-devel
158 BuildRequires:  libtiff-devel
159 BuildRequires:  libtool
160 %if %{with unicap}
161 BuildRequires:  libucil-devel
162 BuildRequires:  libunicap-devel
163 %endif
164 BuildRequires:  libv4l-devel
165 BuildRequires:  ogre-devel
166 BuildRequires:  pkgconfig
167 BuildRequires:  hdf5-devel
168 BuildRequires:  protobuf-devel
169 BuildRequires:  python >= 1:2.7
170 BuildRequires:  python-devel >= 1:2.7
171 BuildRequires:  python-numpy-devel
172 BuildRequires:  python3 >= 1:3.2
173 BuildRequires:  python3-devel >= 1:3.2
174 BuildRequires:  python3-numpy-devel
175 BuildRequires:  rpm-build >= 4.6
176 BuildRequires:  rpm-pythonprov
177 BuildRequires:  rpmbuild(macros) >= 1.606
178 BuildRequires:  sed >= 4.0
179 BuildRequires:  sphinx-pdg
180 BuildRequires:  swig-python
181 %{?with_tbb:BuildRequires:      tbb-devel}
182 BuildRequires:  tesseract-devel
183 %if %{with vtk}
184 BuildRequires:  vtk-devel >= 5.8.0
185 BuildRequires:  vtk-java >= 5.8.0
186 BuildRequires:  vtk-python3-devel >= 5.8.0
187 %endif
188 %{?with_xine:BuildRequires:     xine-lib-devel}
189 BuildRequires:  xorg-lib-libX11-devel
190 BuildRequires:  zlib-devel >= 1.2.3
191 %if %{with qt}
192 BuildRequires:  QtCore-devel >= 4
193 BuildRequires:  QtGui-devel >= 4
194 %{?with_opengl:BuildRequires:   QtOpenGL-devel >= 4}
195 BuildRequires:  qt4-qmake >= 4
196 %else
197 BuildRequires:  gtk+2-devel >= 2.0
198 %{?with_opengl:BuildRequires:   gtkglext-devel >= 1.0}
199 %endif
200 Requires:       %{name}-core = %{epoch}:%{version}-%{release}
201 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
202
203 %define         jver    %(echo %{version} | cut -d. -f1-3 | tr -d .)
204 %define         sover   405
205
206 %description
207 OpenCV (Open Source Computer Vision) is a library of programming
208 functions mainly aimed at real time computer vision.
209
210 Example applications of the OpenCV library are:
211 - Human-Computer Interaction (HCI)
212 - Object Identification, Segmentation and Recognition
213 - Face Recognition
214 - Gesture Recognition
215 - Motion Tracking
216 - Ego Motion, Motion Understanding
217 - Structure From Motion (SFM)
218 - Stereo and Multi-Camera Calibration and Depth Computation
219 - Mobile Robotics.
220
221 %description -l pl.UTF-8
222 OpenCV (Open Source Computer Vision) to biblioteka funkcji
223 przeznaczonych głównie do grafiki komputerowej w czasie rzeczywistym.
224
225 Przykładowe zastosowania biblioteki OpenCV to
226 - interakcje człowiek-komputer (HCI)
227 - identyfikacja, segmentacja i rozpoznawanie obiektów
228 - rozpoznawanie twarzy
229 - rozpoznawanie gestów
230 - śledzenie ruchu
231 - rozumienie ruchu
232 - SFM (Structure From Motion)
233 - kalibracja dwu- i wielokamerowa, obliczanie głębi
234 - robotyka ruchu.
235
236 %package core
237 Summary:        OpenCV core libraries
238 Summary(pl.UTF-8):      Podstawowe biblioteki OpenCV
239 Group:          Libraries
240 Conflicts:      opencv < 2.4.6.2-1
241
242 %description core
243 This package contains the OpenCV C/C++ core libraries.
244
245 %description core -l pl.UTF-8
246 Ten pakiet zawiera podstawowe biblioteki C/C++ OpenCV.
247
248 %package viz
249 Summary:        OpenCV viz library (VTK support)
250 Summary(pl.UTF-8):      Biblioteka OpenCV viz (obsługa VTK)
251 Group:          Libraries
252 Requires:       %{name} = %{epoch}:%{version}-%{release}
253
254 %description viz
255 OpenCV viz library (VTK support).
256
257 %description viz -l pl.UTF-8
258 Biblioteka OpenCV viz (obsługa VTK).
259
260 %package devel
261 Summary:        Header files for OpenCV library
262 Summary(pl.UTF-8):      Pliki nagłówkowe biblioteki OpenCV
263 Group:          Development/Libraries
264 Requires:       %{name} = %{epoch}:%{version}-%{release}
265 %if %{with vtk}
266 Requires:       %{name}-viz = %{epoch}:%{version}-%{release}
267 %endif
268 Obsoletes:      opencv-static < 1:2
269
270 %description devel
271 Header files for OpenCV library.
272
273 %description devel -l pl.UTF-8
274 Pliki nagłówkowe biblioteki OpenCV.
275
276 %package doc
277 Summary:        Manual for OpenCV
278 Summary(fr.UTF-8):      Documentation pour OpenCV
279 Summary(it.UTF-8):      Documentazione di OpenCV
280 Summary(pl.UTF-8):      Podręcznik dla OpenCV
281 Group:          Documentation
282 BuildArch:      noarch
283
284 %description doc
285 Documentation for OpenCV.
286
287 %description doc -l fr.UTF-8
288 Documentation pour OpenCV.
289
290 %description doc -l it.UTF-8
291 Documentazione di OpenCV.
292
293 %description doc -l pl.UTF-8
294 Dokumentacja do OpenCV.
295
296 %package examples
297 Summary:        OpenCV code examples
298 Summary(pl.UTF-8):      Przykłady kodu OpenCV
299 Group:          Documentation
300 BuildArch:      noarch
301
302 %description examples
303 OpenCV code examples.
304
305 %description examples -l pl.UTF-8
306 Przykłady kodu OpenCV.
307
308 %package -n java-opencv
309 Summary:        OpenCV Java bindings
310 Summary(pl.UTF-8):      Wiązania Javy do OpenCV
311 Group:          Libraries/Java
312 Requires:       %{name} = %{epoch}:%{version}-%{release}
313 Requires:       jre
314
315 %description -n java-opencv
316 OpenCV Java bindings.
317
318 %description -n java-opencv -l pl.UTF-8
319 Wiązania Javy do OpenCV.
320
321 %package -n python-opencv
322 Summary:        OpenCV Python 2 bindings
323 Summary(pl.UTF-8):      Wiązania Pythona 2 do OpenCV
324 Group:          Libraries/Python
325 Requires:       %{name} = %{epoch}:%{version}-%{release}
326 Requires:       python-libs >= 1:2.7
327
328 %description -n python-opencv
329 OpenCV Python 2 bindings.
330
331 %description -n python-opencv -l pl.UTF-8
332 Wiązania Pythona 2 do OpenCV.
333
334 %package -n python3-opencv
335 Summary:        OpenCV Python 3 bindings
336 Summary(pl.UTF-8):      Wiązania Pythona 3 do OpenCV
337 Group:          Libraries/Python
338 Requires:       %{name} = %{epoch}:%{version}-%{release}
339 Requires:       python3-libs
340
341 %description -n python3-opencv
342 OpenCV Python 3 bindings.
343
344 %description -n python3-opencv -l pl.UTF-8
345 Wiązania Pythona 3 do OpenCV.
346
347 %prep
348 %setup -q -a1
349
350 %undos CMakeLists.txt
351
352 %patch0 -p1
353 %patch1 -p1
354 %patch2 -p1
355 %patch3 -p1
356 %patch4 -p1
357 %patch5 -p1
358
359 cache_file() {
360         f="$1"
361         d="$2"
362         md5="$(md5sum "$f" | awk '{print $1}')"
363         file="$(basename "$f")"
364         mkdir -p ".cache/$d"
365         ln -s --relative "$f" ".cache/$d/$md5-$file"
366 }
367 for f in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16}; do
368         cache_file $f xfeatures2d/boostdesc
369 done
370 for f in %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23}; do
371         cache_file $f xfeatures2d/vgg
372 done
373 cache_file %{SOURCE30} data
374 cache_file %{SOURCE40} ade
375 for f in %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53}; do
376         cache_file $f wechat_qrcode
377 done
378
379 cd opencv_contrib-%{version}
380
381 # both files use Glog_FOUND variable, but set different variables for LIBS; unify them so they won't disturb each other
382 cp -f modules/sfm/cmake/FindGlog.cmake modules/cnn_3dobj/FindGlog.cmake
383 %{__sed} -i -e 's/Glog_LIBS/GLOG_LIBRARIES/' modules/cnn_3dobj/CMakeLists.txt
384
385 %build
386 mkdir -p build
387 cd build
388
389 # handle cmake & ccache
390 # http://stackoverflow.com/questions/1815688/how-to-use-ccache-with-cmakec
391 if [[ "%{__cc}" = *ccache* ]]; then
392         cc="%{__cc}"
393         cxx="%{__cxx}"
394         ccache="
395         -DCMAKE_C_COMPILER="ccache" -DCMAKE_C_COMPILER_ARG1="${cc#ccache }" \
396         -DCMAKE_CXX_COMPILER="ccache" -DCMAKE_CXX_COMPILER_ARG1="${cxx#ccache }" \
397         "
398 fi
399
400 # WITH_GTK_2_X=ON: force gtk+2 instead of gtk+3
401 # (as of 4.5.5, OpenGL is not supported with gtk+3, leading to highgui linking errors)
402 %cmake .. \
403         $ccache \
404         -DOpenGL_GL_PREFERENCE=GLVND \
405         -DENABLE_PRECOMPILED_HEADERS=OFF \
406         -DOPENCV_LIB_INSTALL_PATH=%{_libdir} \
407         -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-%{version}/modules \
408         -DENABLE_AVX=%{?with_avx:ON}%{!?with_avx:OFF} \
409         -DENABLE_SSE=%{?with_sse:ON}%{!?with_sse:OFF} \
410         -DENABLE_SSE2=%{?with_sse2:ON}%{!?with_sse2:OFF} \
411         -DENABLE_SSE3=%{?with_sse3:ON}%{!?with_sse3:OFF} \
412         -DENABLE_SSSE3=%{?with_ssse3:ON}%{!?with_ssse3:OFF} \
413         -DENABLE_SSE41=%{?with_sse41:ON}%{!?with_sse41:OFF} \
414         -DENABLE_SSE42=%{?with_sse42:ON}%{!?with_sse42:OFF} \
415         -DBUILD_NEW_PYTHON_SUPPORT=ON \
416         -DOPENCV_GENERATE_PKGCONFIG:BOOL=ON \
417 %if %{with examples}
418         -DINSTALL_C_EXAMPLES=ON \
419         -DINSTALL_PYTHON_EXAMPLES=ON \
420 %endif
421         %{?with_ffmpeg:-DWITH_FFMPEG=ON} \
422         %{!?with_gstreamer:-DWITH_GSTREAMER=OFF} \
423         -DWITH_GTK_2_X=ON \
424         %{?with_opencl:-DWITH_OPENCL=ON} \
425         %{!?with_opencl_amdblas:-DWITH_OPENCLAMDBLAS=OFF} \
426         %{!?with_opencl_amdfft:-DWITH_OPENCLAMDFFT=OFF} \
427         %{?with_opengl:-DWITH_OPENGL=ON} \
428         %{?with_openmp:-DWITH_OPENMP=ON} \
429         %{?with_openni:-DWITH_OPENNI=ON} \
430         %{?with_pvapi:-DPVAPI_LIBRARY=%{_libdir}/libPvAPI.so}%{!?with_pvapi:-DWITH_PVAPI=OFF} \
431         %{?with_qt:-DWITH_QT=ON %{?with_opengl:-DWITH_QT_OPENGL=ON} -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4} \
432         %{?with_tbb:-DWITH_TBB=ON} \
433         %{?with_unicap:-DWITH_UNICAP=ON} \
434         %{!?with_v4l:-DWITH_V4L=OFF} \
435         %{?with_vtk:-DWITH_VTK=ON} \
436         %{?with_ximea:-DWITH_XIMEA=ON} \
437         %{?with_xine:-DWITH_XINE=ON} \
438         -DWITH_IPP=OFF
439
440 %{__make}
441
442 %install
443 rm -rf $RPM_BUILD_ROOT
444 %{__make} -C build install \
445         DESTDIR=$RPM_BUILD_ROOT
446
447 %if %{with examples}
448 install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
449 mv $RPM_BUILD_ROOT%{_datadir}/opencv4/samples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
450 %endif
451
452 # disable completeness check incompatible with split packaging
453 %{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d' $RPM_BUILD_ROOT%{_libdir}/cmake/opencv4/OpenCVModules.cmake
454
455 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
456 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
457 %py_postclean
458
459 %py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
460 %py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
461
462 %if %{with java}
463 # move to proper directories, create symlink
464 install -d $RPM_BUILD_ROOT%{_javadir}
465 %{__mv} $RPM_BUILD_ROOT%{_javadir}/opencv4/libopencv_java*.so $RPM_BUILD_ROOT%{_libdir}
466 sed -i -e 's#/share/java/opencv4/libopencv_java%{jver}\.so#/%{_lib}/libopencv_java%{jver}.so#g' \
467         $RPM_BUILD_ROOT%{_libdir}/cmake/opencv4/OpenCVModules-pld.cmake
468 %{__mv} $RPM_BUILD_ROOT%{_javadir}/opencv4/opencv-*.jar $RPM_BUILD_ROOT%{_javadir}
469 rmdir $RPM_BUILD_ROOT%{_javadir}/opencv4
470 ln -sf $(basename $RPM_BUILD_ROOT%{_javadir}/opencv-*.jar) $RPM_BUILD_ROOT%{_javadir}/opencv.jar
471 %endif
472
473 %clean
474 rm -rf $RPM_BUILD_ROOT
475
476 %post   -p /sbin/ldconfig
477 %postun -p /sbin/ldconfig
478
479 %post   core -p /sbin/ldconfig
480 %postun core -p /sbin/ldconfig
481
482 %post   viz -p /sbin/ldconfig
483 %postun viz -p /sbin/ldconfig
484
485 %post   -n java-opencv -p /sbin/ldconfig
486 %postun -n java-opencv -p /sbin/ldconfig
487
488 %files
489 %defattr(644,root,root,755)
490 %attr(755,root,root) %{_bindir}/opencv_annotation
491 %attr(755,root,root) %{_bindir}/opencv_interactive-calibration
492 %attr(755,root,root) %{_bindir}/opencv_model_diagnostics
493 %attr(755,root,root) %{_bindir}/opencv_version
494 %attr(755,root,root) %{_bindir}/opencv_visualisation
495 %attr(755,root,root) %{_bindir}/setup_vars_opencv4.sh
496 %attr(755,root,root) %{_libdir}/libopencv_calib3d.so.*.*.*
497 %attr(755,root,root) %ghost %{_libdir}/libopencv_calib3d.so.%{sover}
498 %attr(755,root,root) %{_libdir}/libopencv_dnn.so.*.*.*
499 %attr(755,root,root) %ghost %{_libdir}/libopencv_dnn.so.%{sover}
500 %attr(755,root,root) %{_libdir}/libopencv_features2d.so.*.*.*
501 %attr(755,root,root) %ghost %{_libdir}/libopencv_features2d.so.%{sover}
502 %attr(755,root,root) %{_libdir}/libopencv_gapi.so.*.*.*
503 %attr(755,root,root) %ghost %{_libdir}/libopencv_gapi.so.%{sover}
504 %attr(755,root,root) %{_libdir}/libopencv_highgui.so.*.*.*
505 %attr(755,root,root) %ghost %{_libdir}/libopencv_highgui.so.%{sover}
506 %attr(755,root,root) %{_libdir}/libopencv_objdetect.so.*.*.*
507 %attr(755,root,root) %ghost %{_libdir}/libopencv_objdetect.so.%{sover}
508 %attr(755,root,root) %{_libdir}/libopencv_stitching.so.*.*.*
509 %attr(755,root,root) %ghost %{_libdir}/libopencv_stitching.so.%{sover}
510 %attr(755,root,root) %{_libdir}/libopencv_superres.so.*.*.*
511 %attr(755,root,root) %ghost %{_libdir}/libopencv_superres.so.%{sover}
512 %attr(755,root,root) %{_libdir}/libopencv_videostab.so.*.*.*
513 %attr(755,root,root) %ghost %{_libdir}/libopencv_videostab.so.%{sover}
514 # contrib modules
515 %attr(755,root,root) %{_bindir}/opencv_waldboost_detector
516 %attr(755,root,root) %ghost %{_libdir}/libopencv_alphamat.so.%{sover}
517 %attr(755,root,root) %{_libdir}/libopencv_alphamat.so.*.*.*
518 %attr(755,root,root) %ghost %{_libdir}/libopencv_aruco.so.%{sover}
519 %attr(755,root,root) %{_libdir}/libopencv_aruco.so.*.*.*
520 %attr(755,root,root) %ghost %{_libdir}/libopencv_barcode.so.%{sover}
521 %attr(755,root,root) %{_libdir}/libopencv_barcode.so.*.*.*
522 %attr(755,root,root) %ghost %{_libdir}/libopencv_bgsegm.so.%{sover}
523 %attr(755,root,root) %{_libdir}/libopencv_bgsegm.so.*.*.*
524 %attr(755,root,root) %ghost %{_libdir}/libopencv_bioinspired.so.%{sover}
525 %attr(755,root,root) %{_libdir}/libopencv_bioinspired.so.*.*.*
526 %attr(755,root,root) %ghost %{_libdir}/libopencv_ccalib.so.%{sover}
527 %attr(755,root,root) %{_libdir}/libopencv_ccalib.so.*.*.*
528 %attr(755,root,root) %ghost %{_libdir}/libopencv_datasets.so.%{sover}
529 %attr(755,root,root) %{_libdir}/libopencv_datasets.so.*.*.*
530 %attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_objdetect.so.%{sover}
531 %attr(755,root,root) %{_libdir}/libopencv_dnn_objdetect.so.*.*.*
532 %attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_superres.so.%{sover}
533 %attr(755,root,root) %{_libdir}/libopencv_dnn_superres.so.*.*.*
534 %attr(755,root,root) %ghost %{_libdir}/libopencv_dpm.so.%{sover}
535 %attr(755,root,root) %{_libdir}/libopencv_dpm.so.*.*.*
536 %attr(755,root,root) %ghost %{_libdir}/libopencv_face.so.%{sover}
537 %attr(755,root,root) %{_libdir}/libopencv_face.so.*.*.*
538 %attr(755,root,root) %ghost %{_libdir}/libopencv_freetype.so.%{sover}
539 %attr(755,root,root) %{_libdir}/libopencv_freetype.so.*.*.*
540 %attr(755,root,root) %ghost %{_libdir}/libopencv_fuzzy.so.%{sover}
541 %attr(755,root,root) %{_libdir}/libopencv_fuzzy.so.*.*.*
542 %attr(755,root,root) %ghost %{_libdir}/libopencv_hdf.so.%{sover}
543 %attr(755,root,root) %{_libdir}/libopencv_hdf.so.*.*.*
544 %attr(755,root,root) %ghost %{_libdir}/libopencv_hfs.so.%{sover}
545 %attr(755,root,root) %{_libdir}/libopencv_hfs.so.*.*.*
546 %attr(755,root,root) %ghost %{_libdir}/libopencv_img_hash.so.%{sover}
547 %attr(755,root,root) %{_libdir}/libopencv_img_hash.so.*.*.*
548 %attr(755,root,root) %ghost %{_libdir}/libopencv_intensity_transform.so.%{sover}
549 %attr(755,root,root) %{_libdir}/libopencv_intensity_transform.so.*.*.*
550 %attr(755,root,root) %ghost %{_libdir}/libopencv_line_descriptor.so.%{sover}
551 %attr(755,root,root) %{_libdir}/libopencv_line_descriptor.so.*.*.*
552 %attr(755,root,root) %ghost %{_libdir}/libopencv_mcc.so.%{sover}
553 %attr(755,root,root) %{_libdir}/libopencv_mcc.so.*.*.*
554 %attr(755,root,root) %ghost %{_libdir}/libopencv_ovis.so.%{sover}
555 %attr(755,root,root) %{_libdir}/libopencv_ovis.so.*.*.*
556 %attr(755,root,root) %ghost %{_libdir}/libopencv_optflow.so.%{sover}
557 %attr(755,root,root) %{_libdir}/libopencv_optflow.so.*.*.*
558 %attr(755,root,root) %ghost %{_libdir}/libopencv_phase_unwrapping.so.%{sover}
559 %attr(755,root,root) %{_libdir}/libopencv_phase_unwrapping.so.*.*.*
560 %attr(755,root,root) %ghost %{_libdir}/libopencv_plot.so.%{sover}
561 %attr(755,root,root) %{_libdir}/libopencv_plot.so.*.*.*
562 %attr(755,root,root) %ghost %{_libdir}/libopencv_quality.so.%{sover}
563 %attr(755,root,root) %{_libdir}/libopencv_quality.so.*.*.*
564 %attr(755,root,root) %ghost %{_libdir}/libopencv_rapid.so.%{sover}
565 %attr(755,root,root) %{_libdir}/libopencv_rapid.so.*.*.*
566 %attr(755,root,root) %ghost %{_libdir}/libopencv_reg.so.%{sover}
567 %attr(755,root,root) %{_libdir}/libopencv_reg.so.*.*.*
568 %attr(755,root,root) %ghost %{_libdir}/libopencv_rgbd.so.%{sover}
569 %attr(755,root,root) %{_libdir}/libopencv_rgbd.so.*.*.*
570 %attr(755,root,root) %ghost %{_libdir}/libopencv_saliency.so.%{sover}
571 %attr(755,root,root) %{_libdir}/libopencv_saliency.so.*.*.*
572 %attr(755,root,root) %ghost %{_libdir}/libopencv_shape.so.%{sover}
573 %attr(755,root,root) %{_libdir}/libopencv_shape.so.*.*.*
574 %attr(755,root,root) %ghost %{_libdir}/libopencv_sfm.so.%{sover}
575 %attr(755,root,root) %{_libdir}/libopencv_sfm.so.*.*.*
576 %attr(755,root,root) %ghost %{_libdir}/libopencv_stereo.so.%{sover}
577 %attr(755,root,root) %{_libdir}/libopencv_stereo.so.*.*.*
578 %attr(755,root,root) %ghost %{_libdir}/libopencv_structured_light.so.%{sover}
579 %attr(755,root,root) %{_libdir}/libopencv_structured_light.so.*.*.*
580 %attr(755,root,root) %ghost %{_libdir}/libopencv_surface_matching.so.%{sover}
581 %attr(755,root,root) %{_libdir}/libopencv_surface_matching.so.*.*.*
582 %attr(755,root,root) %ghost %{_libdir}/libopencv_text.so.%{sover}
583 %attr(755,root,root) %{_libdir}/libopencv_text.so.*.*.*
584 %attr(755,root,root) %ghost %{_libdir}/libopencv_tracking.so.%{sover}
585 %attr(755,root,root) %{_libdir}/libopencv_tracking.so.*.*.*
586 %attr(755,root,root) %ghost %{_libdir}/libopencv_wechat_qrcode.so.%{sover}
587 %attr(755,root,root) %{_libdir}/libopencv_wechat_qrcode.so.*.*.*
588 %attr(755,root,root) %ghost %{_libdir}/libopencv_xfeatures2d.so.%{sover}
589 %attr(755,root,root) %{_libdir}/libopencv_xfeatures2d.so.*.*.*
590 %attr(755,root,root) %ghost %{_libdir}/libopencv_ximgproc.so.%{sover}
591 %attr(755,root,root) %{_libdir}/libopencv_ximgproc.so.*.*.*
592 %attr(755,root,root) %ghost %{_libdir}/libopencv_xobjdetect.so.%{sover}
593 %attr(755,root,root) %{_libdir}/libopencv_xobjdetect.so.*.*.*
594 %attr(755,root,root) %ghost %{_libdir}/libopencv_xphoto.so.%{sover}
595 %attr(755,root,root) %{_libdir}/libopencv_xphoto.so.*.*.*
596
597 %dir %{_datadir}/opencv4
598 %{_datadir}/opencv4/haarcascades
599 %{_datadir}/opencv4/lbpcascades
600 %{_datadir}/opencv4/quality
601
602 %files core
603 %defattr(644,root,root,755)
604 %attr(755,root,root) %{_libdir}/libopencv_core.so.*.*.*
605 %attr(755,root,root) %ghost %{_libdir}/libopencv_core.so.%{sover}
606 %attr(755,root,root) %{_libdir}/libopencv_flann.so.*.*.*
607 %attr(755,root,root) %ghost %{_libdir}/libopencv_flann.so.%{sover}
608 %attr(755,root,root) %{_libdir}/libopencv_imgcodecs.so.*.*.*
609 %attr(755,root,root) %ghost %{_libdir}/libopencv_imgcodecs.so.%{sover}
610 %attr(755,root,root) %{_libdir}/libopencv_imgproc.so.*.*.*
611 %attr(755,root,root) %ghost %{_libdir}/libopencv_imgproc.so.%{sover}
612 %attr(755,root,root) %{_libdir}/libopencv_ml.so.*.*.*
613 %attr(755,root,root) %ghost %{_libdir}/libopencv_ml.so.%{sover}
614 %attr(755,root,root) %{_libdir}/libopencv_photo.so.*.*.*
615 %attr(755,root,root) %ghost %{_libdir}/libopencv_photo.so.%{sover}
616 %attr(755,root,root) %{_libdir}/libopencv_video.so.*.*.*
617 %attr(755,root,root) %ghost %{_libdir}/libopencv_video.so.%{sover}
618 %attr(755,root,root) %{_libdir}/libopencv_videoio.so.*.*.*
619 %attr(755,root,root) %ghost %{_libdir}/libopencv_videoio.so.%{sover}
620
621 %if %{with vtk}
622 %files viz
623 %defattr(644,root,root,755)
624 %attr(755,root,root) %{_libdir}/libopencv_viz.so.*.*.*
625 %attr(755,root,root) %ghost %{_libdir}/libopencv_viz.so.%{sover}
626 %endif
627
628 %files devel
629 %defattr(644,root,root,755)
630 # core
631 %{_libdir}/libopencv_core.so
632 %{_libdir}/libopencv_dnn.so
633 %{_libdir}/libopencv_flann.so
634 %{_libdir}/libopencv_imgcodecs.so
635 %{_libdir}/libopencv_imgproc.so
636 %{_libdir}/libopencv_ml.so
637 %{_libdir}/libopencv_photo.so
638 %{_libdir}/libopencv_video.so
639 %{_libdir}/libopencv_videoio.so
640 # GUI/extensions (base package)
641 %{_libdir}/libopencv_calib3d.so
642 %{_libdir}/libopencv_features2d.so
643 %{_libdir}/libopencv_gapi.so
644 %{_libdir}/libopencv_highgui.so
645 %{_libdir}/libopencv_objdetect.so
646 %{_libdir}/libopencv_stitching.so
647 # contrib
648 %{_libdir}/libopencv_alphamat.so
649 %{_libdir}/libopencv_aruco.so
650 %{_libdir}/libopencv_barcode.so
651 %{_libdir}/libopencv_bgsegm.so
652 %{_libdir}/libopencv_bioinspired.so
653 %{_libdir}/libopencv_ccalib.so
654 %{_libdir}/libopencv_datasets.so
655 %{_libdir}/libopencv_dnn_objdetect.so
656 %{_libdir}/libopencv_dnn_superres.so
657 %{_libdir}/libopencv_dpm.so
658 %{_libdir}/libopencv_face.so
659 %{_libdir}/libopencv_freetype.so
660 %{_libdir}/libopencv_fuzzy.so
661 %{_libdir}/libopencv_hdf.so
662 %{_libdir}/libopencv_hfs.so
663 %{_libdir}/libopencv_img_hash.so
664 %{_libdir}/libopencv_intensity_transform.so
665 %{_libdir}/libopencv_line_descriptor.so
666 %{_libdir}/libopencv_mcc.so
667 %{_libdir}/libopencv_optflow.so
668 %{_libdir}/libopencv_ovis.so
669 %{_libdir}/libopencv_phase_unwrapping.so
670 %{_libdir}/libopencv_plot.so
671 %{_libdir}/libopencv_quality.so
672 %{_libdir}/libopencv_rapid.so
673 %{_libdir}/libopencv_reg.so
674 %{_libdir}/libopencv_rgbd.so
675 %{_libdir}/libopencv_saliency.so
676 %{_libdir}/libopencv_sfm.so
677 %{_libdir}/libopencv_shape.so
678 %{_libdir}/libopencv_stereo.so
679 %{_libdir}/libopencv_superres.so
680 %{_libdir}/libopencv_structured_light.so
681 %{_libdir}/libopencv_surface_matching.so
682 %{_libdir}/libopencv_text.so
683 %{_libdir}/libopencv_tracking.so
684 %{_libdir}/libopencv_videostab.so
685 %{_libdir}/libopencv_wechat_qrcode.so
686 %{_libdir}/libopencv_xfeatures2d.so
687 %{_libdir}/libopencv_ximgproc.so
688 %{_libdir}/libopencv_xobjdetect.so
689 %{_libdir}/libopencv_xphoto.so
690 # viz
691 %if %{with vtk}
692 %{_libdir}/libopencv_viz.so
693 %endif
694 %{_includedir}/opencv4
695 %dir %{_libdir}/cmake/opencv4
696 %{_libdir}/cmake/opencv4/OpenCV*.cmake
697 %{_pkgconfigdir}/opencv4.pc
698
699 %files doc
700 %defattr(644,root,root,755)
701 # TODO: probably could rebuild them and package via make install
702 %doc doc/*
703
704 %if %{with examples}
705 %files examples
706 %defattr(644,root,root,755)
707 %{_examplesdir}/%{name}-%{version}
708 %endif
709
710 %if %{with java}
711 %files -n java-opencv
712 %defattr(644,root,root,755)
713 %attr(755,root,root) %{_libdir}/libopencv_java%{jver}.so
714 %{_javadir}/opencv-%{jver}.jar
715 %{_javadir}/opencv.jar
716 %endif
717
718 %files -n python-opencv
719 %defattr(644,root,root,755)
720 %dir %{py_sitedir}/cv2
721 %dir %{py_sitedir}/cv2/python-*
722 %attr(755,root,root) %{py_sitedir}/cv2/python-*/cv2.so
723 %{py_sitedir}/cv2/*.py[co]
724 %{py_sitedir}/cv2/mat_wrapper
725 %{py_sitedir}/cv2/misc
726 %{py_sitedir}/cv2/utils
727
728 %files -n python3-opencv
729 %defattr(644,root,root,755)
730 %dir %{py3_sitedir}/cv2
731 %dir %{py3_sitedir}/cv2/python-*
732 %attr(755,root,root) %{py3_sitedir}/cv2/python-*/cv2.cpython-*.so
733 %{py3_sitedir}/cv2/*.py
734 %{py3_sitedir}/cv2/__pycache__
735 %{py3_sitedir}/cv2/gapi
736 %{py3_sitedir}/cv2/mat_wrapper
737 %{py3_sitedir}/cv2/misc
738 %{py3_sitedir}/cv2/utils
This page took 0.084641 seconds and 4 git commands to generate.