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