]> git.pld-linux.org Git - packages/opencv.git/blame - opencv.spec
- rel 1
[packages/opencv.git] / opencv.spec
CommitLineData
8d499a62 1# TODO:
ca2adc08
JB
2# - contrib subpackage(s)
3# - contrib BRs:
4# opencv_contrib-3.1.0/modules/cnn_3dobj/CMakeLists.txt:find_package(Caffe)
ca2adc08 5# opencv_contrib-3.1.0/modules/sfm/CMakeLists.txt:find_package(Ceres QUIET)
2b89712d 6# unpackaged (4.5.5)
09d132a9
ER
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
ca2adc08 13#
2acd8ac1 14# - Smartek GigEVisionSDK (http://www.smartekvision.com/ but I can't see SDK with Linux library?)
da5d1e09 15# - CUDA, CUFFT, CUBLAS, NVCUVID support (on bcond)
5df3cf1b 16# - ipp (libippi): http://software.intel.com/en-us/articles/intel-ipp/ (proprietary)
a8d52c2e 17#
0c2d6b7d 18# Conditional build:
a55ba198
JB
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
da5d1e09
JB
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
8d5385eb
JB
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
4a401ecc 32%bcond_without openmp # OpenMP support (available when not using tbb)
200823d5 33%bcond_without examples # Install examples
b07433c6
JB
34# - bindings
35%bcond_without java # Java binding
a55ba198 36# - highgui options:
b3920a9d 37%bcond_without ffmpeg # FFMpeg support in highgui
1c9fe580
JB
38%bcond_without gstreamer # GStreamer support in highgui
39%bcond_with openni # OpenNI (Natural Interaction) support in highgui
a55ba198 40%bcond_with pvapi # PvAPI (AVT GigE cameras) support in highgui (proprietary)
1c9fe580 41%bcond_with qt # Qt backend instead of GTK+ in highgui
1c9fe580 42%bcond_with unicap # Unicap support in highgui (GPL)
da5d1e09 43%bcond_without v4l # Video4Linux in highgui
a55ba198 44%bcond_with ximea # m3API (XIMEA cameras) support in highgui (proprietary)
1c9fe580 45%bcond_with xine # XINE support in highgui (GPL)
cf32945e
JB
46# - other modules
47%bcond_without vtk # VTK library support (opencv_viz module)
a4737151 48
e36ac029 49%ifarch pentium3 pentium4 %{x8664} x32
1c9fe580
JB
50%define with_sse 1
51%endif
e36ac029 52%ifarch pentium4 %{x8664} x32
1c9fe580
JB
53%define with_sse2 1
54%endif
901927d3 55Summary: A library of programming functions mainly aimed at real time computer vision
0c2d6b7d 56Summary(pl.UTF-8): Biblioteka funkcji do grafiki komputerowej w czasie rzeczywistym
901927d3 57Name: opencv
79d9b557 58Version: 4.8.1
0eddcc8a 59Release: 1
901927d3 60Epoch: 1
d5e56e66
JB
61%if %{with unicap} || %{with xine}
62License: GPL (enforced by used libraries), BSD (opencv itself)
63%else
901927d3 64License: BSD
d5e56e66 65%endif
901927d3 66Group: Libraries
200823d5 67Source0: https://github.com/Itseez/opencv/archive/%{version}/%{name}-%{version}.tar.gz
79d9b557 68# Source0-md5: 7e3b6b5046e4e31226bbf4872091201c
b287af3c 69Source1: https://github.com/Itseez/opencv_contrib/archive/%{version}/%{name}_contrib-%{version}.tar.gz
79d9b557 70# Source1-md5: 16a34bb3c8107e5416e86ef003d5aeb6
8a121398
JR
71# See opencv_contrib-3.4.1/modules/xfeatures2d/cmake/download_boostdesc.cmake
72Source10: https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm.i
73# Source10-md5: 0ea90e7a8f3f7876d450e4149c97c74f
74Source11: https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_bi.i
75# Source11-md5: 232c966b13651bd0e46a1497b0852191
76Source12: https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_bgm_hd.i
77# Source12-md5: 324426a24fa56ad9c5b8e3e0b3e5303e
78Source13: https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_064.i
79# Source13-md5: 202e1b3e9fec871b04da31f7f016679f
80Source14: https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_128.i
81# Source14-md5: 98ea99d399965c03d555cef3ea502a0b
82Source15: https://raw.githubusercontent.com/opencv/opencv_3rdparty/34e4206aef44d50e6bbcd0ab06354b52e7466d26/boostdesc_binboost_256.i
83# Source15-md5: e6dcfa9f647779eb1ce446a8d759b6ea
84Source16: 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
87Source20: https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_48.i
88# Source20-md5: e8d0dcd54d1bcfdc29203d011a797179
89Source21: https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_64.i
90# Source21-md5: 7126a5d9a8884ebca5aea5d63d677225
91Source22: https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_80.i
92# Source22-md5: 7cd47228edec52b6d82f46511af325c5
93Source23: https://raw.githubusercontent.com/opencv/opencv_3rdparty/fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d/vgg_generated_120.i
94# Source23-md5: 151805e03568c9f490a5e3a872777b75
454d8108 95# See opencv_contrib-3.4.1/modules/face/CMakeLists.txt
8a121398
JR
96Source30: https://raw.githubusercontent.com/opencv/opencv_3rdparty/8afa57abc8229d611c4937165d20e2a2d9fc5a12/face_landmark_model.dat
97# Source30-md5: 7505c44ca4eb54b4ab1e4777cb96ac05
2b89712d 98# See opencv-4.5.1/modules/gapi/cmake/DownloadADE.cmake
d2616a8e 99Source40: https://github.com/opencv/ade/archive/v0.1.2a/v0.1.2a.zip
2b89712d 100# Source40-md5: fa4b3e25167319cb0fa9432ef8281945
0c55c28d
JB
101# See opencv_contrib-4.5.5/modules/wechat_qrcode/CMakeLists.txt
102Source50: https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/detect.caffemodel
103# Source50-md5: 238e2b2d6f3c18d6c3a30de0c31e23cf
104Source51: https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/detect.prototxt
105# Source51-md5: 6fb4976b32695f9f5c6305c19f12537d
106Source52: https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/sr.caffemodel
107# Source52-md5: cbfcd60361a73beb8c583eea7e8e6664
108Source53: https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/a8b69ccc738421293254aec5ddb38bd523503252/sr.prototxt
109# Source53-md5: 69db99927a70df953b471daaba03fbef
fe201543
JR
110Patch0: %{name}-ximea.patch
111Patch1: python-install.patch
e652d7a7 112Patch2: pkgconfig-paths.patch
200823d5 113URL: http://www.opencv.org/
d5e56e66 114%{?with_pvapi:BuildRequires: AVT_GigE_SDK-devel}
8d5385eb 115%{?with_opencl:BuildRequires: OpenCL-devel}
0c2d6b7d 116BuildRequires: OpenEXR-devel
5df3cf1b 117%{?with_opengl:BuildRequires: OpenGL-GLU-devel}
fbba7aaa
JR
118%if %{with opengl}
119BuildRequires: OpenGL-devel
120BuildRequires: libglvnd-libGL-devel
121%endif
5df3cf1b 122# as of OpenCV 2.3.1-2.4.3 there is also check for OpenNI-sensor-PrimeSense, but the result is not used
1c9fe580 123%{?with_openni:BuildRequires: OpenNI-devel}
da5d1e09 124%{?with_ximea:BuildRequires: XIMEA-devel >= 4}
b07433c6 125%{?with_java:BuildRequires: ant}
8a121398 126BuildRequires: boost-devel
ef4af528
JB
127%{?with_opencl_amdblas:BuildRequires: clAmdBlas-devel}
128%{?with_opencl_amdfft:BuildRequires: clAmdFft-devel}
2b89712d 129BuildRequires: cmake >= 3.5.1
0c2d6b7d 130BuildRequires: doxygen
809ce413 131BuildRequires: eigen3 >= 3
b3920a9d 132%{?with_ffmpeg:BuildRequires: ffmpeg-devel >= 0.7}
4a401ecc 133%{?with_openmp:BuildRequires: gcc-c++ >= 6:4.2}
fb5ded39 134BuildRequires: gflags-devel
74cbdeb2 135BuildRequires: gl2ps-devel
debb38d4 136BuildRequires: glog-devel
0c2d6b7d 137%if %{with gstreamer}
158e0ccc
JB
138BuildRequires: gstreamer-devel >= 1.0
139BuildRequires: gstreamer-plugins-base-devel >= 1.0
0c2d6b7d 140%endif
901927d3 141BuildRequires: jasper-devel
fbba7aaa 142%if %{with java}
fbba7aaa 143BuildRequires: java-xerces
867b6b6a
JB
144BuildRequires: jdk
145# jawt for installed jdk
146BuildRequires: jre-X11
fbba7aaa 147%endif
fe32af03 148BuildRequires: khrplatform-devel
158e0ccc 149BuildRequires: libdc1394-devel >= 2
4a401ecc 150%{?with_openmp:BuildRequires: libgomp-devel}
901927d3
AM
151BuildRequires: libjpeg-devel
152BuildRequires: libpng-devel
153BuildRequires: libraw1394-devel
0c2d6b7d 154BuildRequires: libstdc++-devel
901927d3 155BuildRequires: libtiff-devel
148338c5 156BuildRequires: libtool
d5e56e66
JB
157%if %{with unicap}
158BuildRequires: libucil-devel
159BuildRequires: libunicap-devel
160%endif
0c2d6b7d 161BuildRequires: libv4l-devel
4836bff0 162BuildRequires: ogre-devel
af6d2888 163BuildRequires: pkgconfig
77408f59 164BuildRequires: hdf5-devel
701be548 165BuildRequires: protobuf-devel
2b89712d
JB
166BuildRequires: python >= 1:2.7
167BuildRequires: python-devel >= 1:2.7
0c2d6b7d 168BuildRequires: python-numpy-devel
b221500a
JB
169BuildRequires: python3 >= 1:3.2
170BuildRequires: python3-devel >= 1:3.2
171BuildRequires: python3-numpy-devel
1f51acaa 172BuildRequires: rpm-build >= 4.6
901927d3 173BuildRequires: rpm-pythonprov
8d499a62 174BuildRequires: rpmbuild(macros) >= 1.606
1376dffe 175BuildRequires: sed >= 4.0
158e0ccc 176BuildRequires: sphinx-pdg
996927aa 177BuildRequires: swig-python
f8e040cc 178%{?with_tbb:BuildRequires: tbb-devel}
2b89712d 179BuildRequires: tesseract-devel
ae3d975d
AM
180%if %{with vtk}
181BuildRequires: vtk-devel >= 5.8.0
fba97d16 182BuildRequires: vtk-java >= 5.8.0
701be548 183BuildRequires: vtk-python3-devel >= 5.8.0
ae3d975d 184%endif
901927d3 185%{?with_xine:BuildRequires: xine-lib-devel}
158e0ccc 186BuildRequires: xorg-lib-libX11-devel
2b89712d 187BuildRequires: zlib-devel >= 1.2.3
4afb606b 188%if %{with qt}
4afb606b
JB
189BuildRequires: QtCore-devel >= 4
190BuildRequires: QtGui-devel >= 4
5df3cf1b 191%{?with_opengl:BuildRequires: QtOpenGL-devel >= 4}
4afb606b
JB
192BuildRequires: qt4-qmake >= 4
193%else
194BuildRequires: gtk+2-devel >= 2.0
5df3cf1b 195%{?with_opengl:BuildRequires: gtkglext-devel >= 1.0}
4afb606b 196%endif
da5d1e09 197Requires: %{name}-core = %{epoch}:%{version}-%{release}
901927d3
AM
198BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
199
158e0ccc 200%define jver %(echo %{version} | cut -d. -f1-3 | tr -d .)
79d9b557 201%define sover 408
933de752 202
901927d3
AM
203%description
204OpenCV (Open Source Computer Vision) is a library of programming
205functions mainly aimed at real time computer vision.
206
0c2d6b7d
JB
207Example 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
219OpenCV (Open Source Computer Vision) to biblioteka funkcji
220przeznaczonych głównie do grafiki komputerowej w czasie rzeczywistym.
221
222Przykł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.
901927d3 232
933de752
ER
233%package core
234Summary: OpenCV core libraries
da5d1e09 235Summary(pl.UTF-8): Podstawowe biblioteki OpenCV
933de752 236Group: Libraries
da5d1e09 237Conflicts: opencv < 2.4.6.2-1
933de752
ER
238
239%description core
240This package contains the OpenCV C/C++ core libraries.
241
da5d1e09
JB
242%description core -l pl.UTF-8
243Ten pakiet zawiera podstawowe biblioteki C/C++ OpenCV.
244
cf32945e
JB
245%package viz
246Summary: OpenCV viz library (VTK support)
247Summary(pl.UTF-8): Biblioteka OpenCV viz (obsługa VTK)
248Group: Libraries
249Requires: %{name} = %{epoch}:%{version}-%{release}
250
251%description viz
252OpenCV viz library (VTK support).
253
254%description viz -l pl.UTF-8
255Biblioteka OpenCV viz (obsługa VTK).
256
901927d3 257%package devel
0c2d6b7d
JB
258Summary: Header files for OpenCV library
259Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenCV
901927d3
AM
260Group: Development/Libraries
261Requires: %{name} = %{epoch}:%{version}-%{release}
cf32945e
JB
262%if %{with vtk}
263Requires: %{name}-viz = %{epoch}:%{version}-%{release}
264%endif
1f51acaa 265Obsoletes: opencv-static < 1:2
901927d3
AM
266
267%description devel
0c2d6b7d 268Header files for OpenCV library.
901927d3 269
0c2d6b7d
JB
270%description devel -l pl.UTF-8
271Pliki nagłówkowe biblioteki OpenCV.
901927d3 272
9141b1e2
ER
273%package doc
274Summary: Manual for OpenCV
275Summary(fr.UTF-8): Documentation pour OpenCV
276Summary(it.UTF-8): Documentazione di OpenCV
277Summary(pl.UTF-8): Podręcznik dla OpenCV
278Group: Documentation
9141b1e2 279BuildArch: noarch
9141b1e2
ER
280
281%description doc
282Documentation for OpenCV.
283
284%description doc -l fr.UTF-8
285Documentation pour OpenCV.
286
287%description doc -l it.UTF-8
288Documentazione di OpenCV.
289
290%description doc -l pl.UTF-8
291Dokumentacja do OpenCV.
292
200823d5
ER
293%package examples
294Summary: OpenCV code examples
2b89712d 295Summary(pl.UTF-8): Przykłady kodu OpenCV
200823d5 296Group: Documentation
200823d5 297BuildArch: noarch
200823d5
ER
298
299%description examples
300OpenCV code examples.
301
2b89712d
JB
302%description examples -l pl.UTF-8
303Przykłady kodu OpenCV.
304
b07433c6
JB
305%package -n java-opencv
306Summary: OpenCV Java bindings
307Summary(pl.UTF-8): Wiązania Javy do OpenCV
308Group: Libraries/Java
309Requires: %{name} = %{epoch}:%{version}-%{release}
310Requires: jre
311
312%description -n java-opencv
313OpenCV Java bindings.
314
315%description -n java-opencv -l pl.UTF-8
316Wiązania Javy do OpenCV.
317
901927d3 318%package -n python-opencv
b221500a
JB
319Summary: OpenCV Python 2 bindings
320Summary(pl.UTF-8): Wiązania Pythona 2 do OpenCV
0c2d6b7d 321Group: Libraries/Python
cd1f0136 322Requires: %{name} = %{epoch}:%{version}-%{release}
2b89712d 323Requires: python-libs >= 1:2.7
901927d3
AM
324
325%description -n python-opencv
b221500a 326OpenCV Python 2 bindings.
901927d3 327
0c2d6b7d 328%description -n python-opencv -l pl.UTF-8
b221500a
JB
329Wiązania Pythona 2 do OpenCV.
330
331%package -n python3-opencv
332Summary: OpenCV Python 3 bindings
333Summary(pl.UTF-8): Wiązania Pythona 3 do OpenCV
334Group: Libraries/Python
335Requires: %{name} = %{epoch}:%{version}-%{release}
336Requires: python3-libs
337
338%description -n python3-opencv
339OpenCV Python 3 bindings.
340
341%description -n python3-opencv -l pl.UTF-8
342Wiązania Pythona 3 do OpenCV.
0c2d6b7d 343
901927d3 344%prep
b287af3c 345%setup -q -a1
54551f29 346
da67222a 347%undos CMakeLists.txt
54551f29 348
8a121398 349%patch0 -p1
08b22f18 350%patch1 -p1
e652d7a7 351%patch2 -p1
148338c5 352
701be548
JR
353cache_file() {
354 f="$1"
355 d="$2"
356 md5="$(md5sum "$f" | awk '{print $1}')"
357 file="$(basename "$f")"
358 mkdir -p ".cache/$d"
0c55c28d 359 ln -s --relative "$f" ".cache/$d/$md5-$file"
701be548
JR
360}
361for f in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16}; do
362 cache_file $f xfeatures2d/boostdesc
363done
364for f in %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23}; do
365 cache_file $f xfeatures2d/vgg
366done
367cache_file %{SOURCE30} data
0c55c28d
JB
368cache_file %{SOURCE40} ade
369for f in %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53}; do
370 cache_file $f wechat_qrcode
371done
701be548 372
fbba7aaa 373cd opencv_contrib-%{version}
fbba7aaa 374
38e159ef
JB
375# both files use Glog_FOUND variable, but set different variables for LIBS; unify them so they won't disturb each other
376cp -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
901927d3 379%build
701be548 380mkdir -p build
95daeb66 381cd build
ea26b025
ER
382
383# handle cmake & ccache
384# http://stackoverflow.com/questions/1815688/how-to-use-ccache-with-cmakec
385if [[ "%{__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 "
392fi
393
2b89712d
JB
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)
0c2d6b7d 396%cmake .. \
ea26b025 397 $ccache \
fbba7aaa 398 -DOpenGL_GL_PREFERENCE=GLVND \
08b22f18 399 -DENABLE_PRECOMPILED_HEADERS=OFF \
09d132a9 400 -DOPENCV_LIB_INSTALL_PATH=%{_libdir} \
b287af3c 401 -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-%{version}/modules \
da5d1e09 402 -DENABLE_AVX=%{?with_avx:ON}%{!?with_avx:OFF} \
1c9fe580
JB
403 -DENABLE_SSE=%{?with_sse:ON}%{!?with_sse:OFF} \
404 -DENABLE_SSE2=%{?with_sse2:ON}%{!?with_sse2:OFF} \
da5d1e09
JB
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} \
95daeb66 409 -DBUILD_NEW_PYTHON_SUPPORT=ON \
701be548 410 -DOPENCV_GENERATE_PKGCONFIG:BOOL=ON \
200823d5
ER
411%if %{with examples}
412 -DINSTALL_C_EXAMPLES=ON \
413 -DINSTALL_PYTHON_EXAMPLES=ON \
414%endif
b3920a9d 415 %{?with_ffmpeg:-DWITH_FFMPEG=ON} \
d5e56e66 416 %{!?with_gstreamer:-DWITH_GSTREAMER=OFF} \
2b89712d 417 -DWITH_GTK_2_X=ON \
8d5385eb 418 %{?with_opencl:-DWITH_OPENCL=ON} \
faf80a1c
JB
419 %{!?with_opencl_amdblas:-DWITH_OPENCLAMDBLAS=OFF} \
420 %{!?with_opencl_amdfft:-DWITH_OPENCLAMDFFT=OFF} \
5df3cf1b 421 %{?with_opengl:-DWITH_OPENGL=ON} \
4a401ecc 422 %{?with_openmp:-DWITH_OPENMP=ON} \
1c9fe580 423 %{?with_openni:-DWITH_OPENNI=ON} \
809ce413 424 %{?with_pvapi:-DPVAPI_LIBRARY=%{_libdir}/libPvAPI.so}%{!?with_pvapi:-DWITH_PVAPI=OFF} \
5df3cf1b 425 %{?with_qt:-DWITH_QT=ON %{?with_opengl:-DWITH_QT_OPENGL=ON} -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4} \
f8e040cc 426 %{?with_tbb:-DWITH_TBB=ON} \
d5e56e66 427 %{?with_unicap:-DWITH_UNICAP=ON} \
ed358224 428 %{!?with_v4l:-DWITH_V4L=OFF} \
cf32945e 429 %{?with_vtk:-DWITH_VTK=ON} \
a55ba198 430 %{?with_ximea:-DWITH_XIMEA=ON} \
33a5389a
JR
431 %{?with_xine:-DWITH_XINE=ON} \
432 -DWITH_IPP=OFF
54551f29 433
8b9f61f7 434%{__make}
901927d3
AM
435
436%install
437rm -rf $RPM_BUILD_ROOT
95daeb66 438%{__make} -C build install \
901927d3
AM
439 DESTDIR=$RPM_BUILD_ROOT
440
200823d5
ER
441%if %{with examples}
442install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
701be548 443mv $RPM_BUILD_ROOT%{_datadir}/opencv4/samples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
200823d5 444%endif
9141b1e2 445
7545129b 446# disable completeness check incompatible with split packaging
701be548 447%{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d' $RPM_BUILD_ROOT%{_libdir}/cmake/opencv4/OpenCVModules.cmake
7545129b 448
8d499a62
JB
449%py_comp $RPM_BUILD_ROOT%{py_sitedir}
450%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
451%py_postclean
452
a0dcc145
JB
453%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
454%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
455
b07433c6
JB
456%if %{with java}
457# move to proper directories, create symlink
458install -d $RPM_BUILD_ROOT%{_javadir}
701be548
JR
459%{__mv} $RPM_BUILD_ROOT%{_javadir}/opencv4/libopencv_java*.so $RPM_BUILD_ROOT%{_libdir}
460sed -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}
463rmdir $RPM_BUILD_ROOT%{_javadir}/opencv4
b07433c6
JB
464ln -sf $(basename $RPM_BUILD_ROOT%{_javadir}/opencv-*.jar) $RPM_BUILD_ROOT%{_javadir}/opencv.jar
465%endif
466
901927d3
AM
467%clean
468rm -rf $RPM_BUILD_ROOT
469
470%post -p /sbin/ldconfig
471%postun -p /sbin/ldconfig
472
933de752
ER
473%post core -p /sbin/ldconfig
474%postun core -p /sbin/ldconfig
475
485d5dca
JB
476%post viz -p /sbin/ldconfig
477%postun viz -p /sbin/ldconfig
478
b07433c6
JB
479%post -n java-opencv -p /sbin/ldconfig
480%postun -n java-opencv -p /sbin/ldconfig
481
901927d3
AM
482%files
483%defattr(644,root,root,755)
f753ced4 484%attr(755,root,root) %{_bindir}/opencv_annotation
09d132a9 485%attr(755,root,root) %{_bindir}/opencv_interactive-calibration
2b89712d 486%attr(755,root,root) %{_bindir}/opencv_model_diagnostics
09d132a9
ER
487%attr(755,root,root) %{_bindir}/opencv_version
488%attr(755,root,root) %{_bindir}/opencv_visualisation
701be548 489%attr(755,root,root) %{_bindir}/setup_vars_opencv4.sh
158e0ccc 490%attr(755,root,root) %{_libdir}/libopencv_calib3d.so.*.*.*
71c2eb73 491%attr(755,root,root) %ghost %{_libdir}/libopencv_calib3d.so.%{sover}
2b89712d
JB
492%attr(755,root,root) %{_libdir}/libopencv_dnn.so.*.*.*
493%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn.so.%{sover}
158e0ccc 494%attr(755,root,root) %{_libdir}/libopencv_features2d.so.*.*.*
71c2eb73 495%attr(755,root,root) %ghost %{_libdir}/libopencv_features2d.so.%{sover}
2b89712d
JB
496%attr(755,root,root) %{_libdir}/libopencv_gapi.so.*.*.*
497%attr(755,root,root) %ghost %{_libdir}/libopencv_gapi.so.%{sover}
158e0ccc 498%attr(755,root,root) %{_libdir}/libopencv_highgui.so.*.*.*
71c2eb73 499%attr(755,root,root) %ghost %{_libdir}/libopencv_highgui.so.%{sover}
158e0ccc 500%attr(755,root,root) %{_libdir}/libopencv_objdetect.so.*.*.*
71c2eb73 501%attr(755,root,root) %ghost %{_libdir}/libopencv_objdetect.so.%{sover}
158e0ccc 502%attr(755,root,root) %{_libdir}/libopencv_stitching.so.*.*.*
71c2eb73 503%attr(755,root,root) %ghost %{_libdir}/libopencv_stitching.so.%{sover}
158e0ccc 504%attr(755,root,root) %{_libdir}/libopencv_superres.so.*.*.*
71c2eb73 505%attr(755,root,root) %ghost %{_libdir}/libopencv_superres.so.%{sover}
158e0ccc 506%attr(755,root,root) %{_libdir}/libopencv_videostab.so.*.*.*
71c2eb73 507%attr(755,root,root) %ghost %{_libdir}/libopencv_videostab.so.%{sover}
b287af3c
JR
508# contrib modules
509%attr(755,root,root) %{_bindir}/opencv_waldboost_detector
2b89712d
JB
510%attr(755,root,root) %ghost %{_libdir}/libopencv_alphamat.so.%{sover}
511%attr(755,root,root) %{_libdir}/libopencv_alphamat.so.*.*.*
b287af3c
JR
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.*.*.*
c9cb1c24
JR
522%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_objdetect.so.%{sover}
523%attr(755,root,root) %{_libdir}/libopencv_dnn_objdetect.so.*.*.*
2b89712d
JB
524%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_superres.so.%{sover}
525%attr(755,root,root) %{_libdir}/libopencv_dnn_superres.so.*.*.*
b287af3c
JR
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.*.*.*
09d132a9
ER
530%attr(755,root,root) %ghost %{_libdir}/libopencv_freetype.so.%{sover}
531%attr(755,root,root) %{_libdir}/libopencv_freetype.so.*.*.*
b287af3c
JR
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.*.*.*
c9cb1c24
JR
536%attr(755,root,root) %ghost %{_libdir}/libopencv_hfs.so.%{sover}
537%attr(755,root,root) %{_libdir}/libopencv_hfs.so.*.*.*
09d132a9
ER
538%attr(755,root,root) %ghost %{_libdir}/libopencv_img_hash.so.%{sover}
539%attr(755,root,root) %{_libdir}/libopencv_img_hash.so.*.*.*
2b89712d
JB
540%attr(755,root,root) %ghost %{_libdir}/libopencv_intensity_transform.so.%{sover}
541%attr(755,root,root) %{_libdir}/libopencv_intensity_transform.so.*.*.*
b287af3c
JR
542%attr(755,root,root) %ghost %{_libdir}/libopencv_line_descriptor.so.%{sover}
543%attr(755,root,root) %{_libdir}/libopencv_line_descriptor.so.*.*.*
2b89712d
JB
544%attr(755,root,root) %ghost %{_libdir}/libopencv_mcc.so.%{sover}
545%attr(755,root,root) %{_libdir}/libopencv_mcc.so.*.*.*
3752412b
JR
546%attr(755,root,root) %ghost %{_libdir}/libopencv_ovis.so.%{sover}
547%attr(755,root,root) %{_libdir}/libopencv_ovis.so.*.*.*
b287af3c
JR
548%attr(755,root,root) %ghost %{_libdir}/libopencv_optflow.so.%{sover}
549%attr(755,root,root) %{_libdir}/libopencv_optflow.so.*.*.*
09d132a9
ER
550%attr(755,root,root) %ghost %{_libdir}/libopencv_phase_unwrapping.so.%{sover}
551%attr(755,root,root) %{_libdir}/libopencv_phase_unwrapping.so.*.*.*
b287af3c
JR
552%attr(755,root,root) %ghost %{_libdir}/libopencv_plot.so.%{sover}
553%attr(755,root,root) %{_libdir}/libopencv_plot.so.*.*.*
2b89712d
JB
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.*.*.*
b287af3c
JR
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.*.*.*
2b89712d
JB
564%attr(755,root,root) %ghost %{_libdir}/libopencv_shape.so.%{sover}
565%attr(755,root,root) %{_libdir}/libopencv_shape.so.*.*.*
b287af3c
JR
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.*.*.*
2b89712d
JB
578%attr(755,root,root) %ghost %{_libdir}/libopencv_wechat_qrcode.so.%{sover}
579%attr(755,root,root) %{_libdir}/libopencv_wechat_qrcode.so.*.*.*
b287af3c
JR
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.*.*.*
701be548
JR
588
589%dir %{_datadir}/opencv4
590%{_datadir}/opencv4/haarcascades
591%{_datadir}/opencv4/lbpcascades
592%{_datadir}/opencv4/quality
901927d3 593
933de752
ER
594%files core
595%defattr(644,root,root,755)
158e0ccc 596%attr(755,root,root) %{_libdir}/libopencv_core.so.*.*.*
71c2eb73 597%attr(755,root,root) %ghost %{_libdir}/libopencv_core.so.%{sover}
158e0ccc 598%attr(755,root,root) %{_libdir}/libopencv_flann.so.*.*.*
71c2eb73 599%attr(755,root,root) %ghost %{_libdir}/libopencv_flann.so.%{sover}
2b89712d
JB
600%attr(755,root,root) %{_libdir}/libopencv_imgcodecs.so.*.*.*
601%attr(755,root,root) %ghost %{_libdir}/libopencv_imgcodecs.so.%{sover}
158e0ccc 602%attr(755,root,root) %{_libdir}/libopencv_imgproc.so.*.*.*
71c2eb73 603%attr(755,root,root) %ghost %{_libdir}/libopencv_imgproc.so.%{sover}
158e0ccc 604%attr(755,root,root) %{_libdir}/libopencv_ml.so.*.*.*
71c2eb73 605%attr(755,root,root) %ghost %{_libdir}/libopencv_ml.so.%{sover}
158e0ccc 606%attr(755,root,root) %{_libdir}/libopencv_photo.so.*.*.*
71c2eb73 607%attr(755,root,root) %ghost %{_libdir}/libopencv_photo.so.%{sover}
158e0ccc 608%attr(755,root,root) %{_libdir}/libopencv_video.so.*.*.*
71c2eb73 609%attr(755,root,root) %ghost %{_libdir}/libopencv_video.so.%{sover}
33a5389a 610%attr(755,root,root) %{_libdir}/libopencv_videoio.so.*.*.*
71c2eb73 611%attr(755,root,root) %ghost %{_libdir}/libopencv_videoio.so.%{sover}
cf32945e
JB
612
613%if %{with vtk}
614%files viz
615%defattr(644,root,root,755)
158e0ccc 616%attr(755,root,root) %{_libdir}/libopencv_viz.so.*.*.*
71c2eb73 617%attr(755,root,root) %ghost %{_libdir}/libopencv_viz.so.%{sover}
cf32945e 618%endif
933de752 619
901927d3
AM
620%files devel
621%defattr(644,root,root,755)
cf32945e 622# core
701be548 623%{_libdir}/libopencv_core.so
2b89712d 624%{_libdir}/libopencv_dnn.so
701be548 625%{_libdir}/libopencv_flann.so
2b89712d 626%{_libdir}/libopencv_imgcodecs.so
701be548
JR
627%{_libdir}/libopencv_imgproc.so
628%{_libdir}/libopencv_ml.so
629%{_libdir}/libopencv_photo.so
630%{_libdir}/libopencv_video.so
2b89712d 631%{_libdir}/libopencv_videoio.so
cf32945e 632# GUI/extensions (base package)
701be548
JR
633%{_libdir}/libopencv_calib3d.so
634%{_libdir}/libopencv_features2d.so
2b89712d 635%{_libdir}/libopencv_gapi.so
701be548
JR
636%{_libdir}/libopencv_highgui.so
637%{_libdir}/libopencv_objdetect.so
638%{_libdir}/libopencv_stitching.so
b287af3c 639# contrib
2b89712d 640%{_libdir}/libopencv_alphamat.so
701be548
JR
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
701be548 646%{_libdir}/libopencv_dnn_objdetect.so
2b89712d 647%{_libdir}/libopencv_dnn_superres.so
701be548
JR
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
2b89712d 655%{_libdir}/libopencv_intensity_transform.so
701be548 656%{_libdir}/libopencv_line_descriptor.so
2b89712d 657%{_libdir}/libopencv_mcc.so
701be548
JR
658%{_libdir}/libopencv_optflow.so
659%{_libdir}/libopencv_ovis.so
660%{_libdir}/libopencv_phase_unwrapping.so
661%{_libdir}/libopencv_plot.so
2b89712d
JB
662%{_libdir}/libopencv_quality.so
663%{_libdir}/libopencv_rapid.so
701be548
JR
664%{_libdir}/libopencv_reg.so
665%{_libdir}/libopencv_rgbd.so
666%{_libdir}/libopencv_saliency.so
667%{_libdir}/libopencv_sfm.so
2b89712d 668%{_libdir}/libopencv_shape.so
701be548 669%{_libdir}/libopencv_stereo.so
2b89712d 670%{_libdir}/libopencv_superres.so
701be548
JR
671%{_libdir}/libopencv_structured_light.so
672%{_libdir}/libopencv_surface_matching.so
673%{_libdir}/libopencv_text.so
674%{_libdir}/libopencv_tracking.so
2b89712d
JB
675%{_libdir}/libopencv_videostab.so
676%{_libdir}/libopencv_wechat_qrcode.so
701be548
JR
677%{_libdir}/libopencv_xfeatures2d.so
678%{_libdir}/libopencv_ximgproc.so
679%{_libdir}/libopencv_xobjdetect.so
680%{_libdir}/libopencv_xphoto.so
cf32945e
JB
681# viz
682%if %{with vtk}
701be548 683%{_libdir}/libopencv_viz.so
0e077f8d 684%endif
701be548 685%{_includedir}/opencv4
e652d7a7 686%dir %{_libdir}/cmake/opencv4
701be548
JR
687%{_libdir}/cmake/opencv4/OpenCV*.cmake
688%{_pkgconfigdir}/opencv4.pc
901927d3 689
9141b1e2
ER
690%files doc
691%defattr(644,root,root,755)
692# TODO: probably could rebuild them and package via make install
693%doc doc/*
694
200823d5
ER
695%if %{with examples}
696%files examples
697%defattr(644,root,root,755)
698%{_examplesdir}/%{name}-%{version}
699%endif
700
b07433c6
JB
701%if %{with java}
702%files -n java-opencv
703%defattr(644,root,root,755)
835e0cdd
ER
704%attr(755,root,root) %{_libdir}/libopencv_java%{jver}.so
705%{_javadir}/opencv-%{jver}.jar
b07433c6
JB
706%{_javadir}/opencv.jar
707%endif
708
901927d3
AM
709%files -n python-opencv
710%defattr(644,root,root,755)
fe201543
JR
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]
2b89712d
JB
715%{py_sitedir}/cv2/mat_wrapper
716%{py_sitedir}/cv2/misc
717%{py_sitedir}/cv2/utils
b221500a
JB
718
719%files -n python3-opencv
720%defattr(644,root,root,755)
fe201543
JR
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
a0dcc145 725%{py3_sitedir}/cv2/__pycache__
2b89712d
JB
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.376246 seconds and 4 git commands to generate.