]> git.pld-linux.org Git - packages/opencv.git/blame - opencv.spec
- BR: jre-X11 for jawt
[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 145%if %{with java}
fbba7aaa 146BuildRequires: java-xerces
867b6b6a
JB
147BuildRequires: jdk
148# jawt for installed jdk
149BuildRequires: jre-X11
fbba7aaa 150%endif
fe32af03 151BuildRequires: khrplatform-devel
158e0ccc 152BuildRequires: libdc1394-devel >= 2
4a401ecc 153%{?with_openmp:BuildRequires: libgomp-devel}
901927d3
AM
154BuildRequires: libjpeg-devel
155BuildRequires: libpng-devel
156BuildRequires: libraw1394-devel
0c2d6b7d 157BuildRequires: libstdc++-devel
901927d3 158BuildRequires: libtiff-devel
148338c5 159BuildRequires: libtool
d5e56e66
JB
160%if %{with unicap}
161BuildRequires: libucil-devel
162BuildRequires: libunicap-devel
163%endif
0c2d6b7d 164BuildRequires: libv4l-devel
4836bff0 165BuildRequires: ogre-devel
af6d2888 166BuildRequires: pkgconfig
77408f59 167BuildRequires: hdf5-devel
701be548 168BuildRequires: protobuf-devel
2b89712d
JB
169BuildRequires: python >= 1:2.7
170BuildRequires: python-devel >= 1:2.7
0c2d6b7d 171BuildRequires: python-numpy-devel
b221500a
JB
172BuildRequires: python3 >= 1:3.2
173BuildRequires: python3-devel >= 1:3.2
174BuildRequires: python3-numpy-devel
1f51acaa 175BuildRequires: rpm-build >= 4.6
901927d3 176BuildRequires: rpm-pythonprov
8d499a62 177BuildRequires: rpmbuild(macros) >= 1.606
1376dffe 178BuildRequires: sed >= 4.0
158e0ccc 179BuildRequires: sphinx-pdg
996927aa 180BuildRequires: swig-python
f8e040cc 181%{?with_tbb:BuildRequires: tbb-devel}
2b89712d 182BuildRequires: tesseract-devel
ae3d975d
AM
183%if %{with vtk}
184BuildRequires: vtk-devel >= 5.8.0
fba97d16 185BuildRequires: vtk-java >= 5.8.0
701be548 186BuildRequires: vtk-python3-devel >= 5.8.0
ae3d975d 187%endif
901927d3 188%{?with_xine:BuildRequires: xine-lib-devel}
158e0ccc 189BuildRequires: xorg-lib-libX11-devel
2b89712d 190BuildRequires: zlib-devel >= 1.2.3
4afb606b 191%if %{with qt}
4afb606b
JB
192BuildRequires: QtCore-devel >= 4
193BuildRequires: QtGui-devel >= 4
5df3cf1b 194%{?with_opengl:BuildRequires: QtOpenGL-devel >= 4}
4afb606b
JB
195BuildRequires: qt4-qmake >= 4
196%else
197BuildRequires: gtk+2-devel >= 2.0
5df3cf1b 198%{?with_opengl:BuildRequires: gtkglext-devel >= 1.0}
4afb606b 199%endif
da5d1e09 200Requires: %{name}-core = %{epoch}:%{version}-%{release}
901927d3
AM
201BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
202
158e0ccc 203%define jver %(echo %{version} | cut -d. -f1-3 | tr -d .)
2b89712d 204%define sover 405
933de752 205
901927d3
AM
206%description
207OpenCV (Open Source Computer Vision) is a library of programming
208functions mainly aimed at real time computer vision.
209
0c2d6b7d
JB
210Example 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
222OpenCV (Open Source Computer Vision) to biblioteka funkcji
223przeznaczonych głównie do grafiki komputerowej w czasie rzeczywistym.
224
225Przykł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.
901927d3 235
933de752
ER
236%package core
237Summary: OpenCV core libraries
da5d1e09 238Summary(pl.UTF-8): Podstawowe biblioteki OpenCV
933de752 239Group: Libraries
da5d1e09 240Conflicts: opencv < 2.4.6.2-1
933de752
ER
241
242%description core
243This package contains the OpenCV C/C++ core libraries.
244
da5d1e09
JB
245%description core -l pl.UTF-8
246Ten pakiet zawiera podstawowe biblioteki C/C++ OpenCV.
247
cf32945e
JB
248%package viz
249Summary: OpenCV viz library (VTK support)
250Summary(pl.UTF-8): Biblioteka OpenCV viz (obsługa VTK)
251Group: Libraries
252Requires: %{name} = %{epoch}:%{version}-%{release}
253
254%description viz
255OpenCV viz library (VTK support).
256
257%description viz -l pl.UTF-8
258Biblioteka OpenCV viz (obsługa VTK).
259
901927d3 260%package devel
0c2d6b7d
JB
261Summary: Header files for OpenCV library
262Summary(pl.UTF-8): Pliki nagłówkowe biblioteki OpenCV
901927d3
AM
263Group: Development/Libraries
264Requires: %{name} = %{epoch}:%{version}-%{release}
cf32945e
JB
265%if %{with vtk}
266Requires: %{name}-viz = %{epoch}:%{version}-%{release}
267%endif
1f51acaa 268Obsoletes: opencv-static < 1:2
901927d3
AM
269
270%description devel
0c2d6b7d 271Header files for OpenCV library.
901927d3 272
0c2d6b7d
JB
273%description devel -l pl.UTF-8
274Pliki nagłówkowe biblioteki OpenCV.
901927d3 275
9141b1e2
ER
276%package doc
277Summary: Manual for OpenCV
278Summary(fr.UTF-8): Documentation pour OpenCV
279Summary(it.UTF-8): Documentazione di OpenCV
280Summary(pl.UTF-8): Podręcznik dla OpenCV
281Group: Documentation
9141b1e2 282BuildArch: noarch
9141b1e2
ER
283
284%description doc
285Documentation for OpenCV.
286
287%description doc -l fr.UTF-8
288Documentation pour OpenCV.
289
290%description doc -l it.UTF-8
291Documentazione di OpenCV.
292
293%description doc -l pl.UTF-8
294Dokumentacja do OpenCV.
295
200823d5
ER
296%package examples
297Summary: OpenCV code examples
2b89712d 298Summary(pl.UTF-8): Przykłady kodu OpenCV
200823d5 299Group: Documentation
200823d5 300BuildArch: noarch
200823d5
ER
301
302%description examples
303OpenCV code examples.
304
2b89712d
JB
305%description examples -l pl.UTF-8
306Przykłady kodu OpenCV.
307
b07433c6
JB
308%package -n java-opencv
309Summary: OpenCV Java bindings
310Summary(pl.UTF-8): Wiązania Javy do OpenCV
311Group: Libraries/Java
312Requires: %{name} = %{epoch}:%{version}-%{release}
313Requires: jre
314
315%description -n java-opencv
316OpenCV Java bindings.
317
318%description -n java-opencv -l pl.UTF-8
319Wiązania Javy do OpenCV.
320
901927d3 321%package -n python-opencv
b221500a
JB
322Summary: OpenCV Python 2 bindings
323Summary(pl.UTF-8): Wiązania Pythona 2 do OpenCV
0c2d6b7d 324Group: Libraries/Python
cd1f0136 325Requires: %{name} = %{epoch}:%{version}-%{release}
2b89712d 326Requires: python-libs >= 1:2.7
901927d3
AM
327
328%description -n python-opencv
b221500a 329OpenCV Python 2 bindings.
901927d3 330
0c2d6b7d 331%description -n python-opencv -l pl.UTF-8
b221500a
JB
332Wiązania Pythona 2 do OpenCV.
333
334%package -n python3-opencv
335Summary: OpenCV Python 3 bindings
336Summary(pl.UTF-8): Wiązania Pythona 3 do OpenCV
337Group: Libraries/Python
338Requires: %{name} = %{epoch}:%{version}-%{release}
339Requires: python3-libs
340
341%description -n python3-opencv
342OpenCV Python 3 bindings.
343
344%description -n python3-opencv -l pl.UTF-8
345Wiązania Pythona 3 do OpenCV.
0c2d6b7d 346
901927d3 347%prep
b287af3c 348%setup -q -a1
54551f29 349
da67222a 350%undos CMakeLists.txt
54551f29 351
8a121398 352%patch0 -p1
08b22f18 353%patch1 -p1
e652d7a7 354%patch2 -p1
71876184 355%patch3 -p1
8a98117d 356%patch4 -p1
2b89712d 357%patch5 -p1
148338c5 358
701be548
JR
359cache_file() {
360 f="$1"
361 d="$2"
362 md5="$(md5sum "$f" | awk '{print $1}')"
363 file="$(basename "$f")"
364 mkdir -p ".cache/$d"
0c55c28d 365 ln -s --relative "$f" ".cache/$d/$md5-$file"
701be548
JR
366}
367for f in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16}; do
368 cache_file $f xfeatures2d/boostdesc
369done
370for f in %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23}; do
371 cache_file $f xfeatures2d/vgg
372done
373cache_file %{SOURCE30} data
0c55c28d
JB
374cache_file %{SOURCE40} ade
375for f in %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53}; do
376 cache_file $f wechat_qrcode
377done
701be548 378
fbba7aaa 379cd opencv_contrib-%{version}
fbba7aaa 380
38e159ef
JB
381# both files use Glog_FOUND variable, but set different variables for LIBS; unify them so they won't disturb each other
382cp -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
901927d3 385%build
701be548 386mkdir -p build
95daeb66 387cd build
ea26b025
ER
388
389# handle cmake & ccache
390# http://stackoverflow.com/questions/1815688/how-to-use-ccache-with-cmakec
391if [[ "%{__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 "
398fi
399
2b89712d
JB
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)
0c2d6b7d 402%cmake .. \
ea26b025 403 $ccache \
fbba7aaa 404 -DOpenGL_GL_PREFERENCE=GLVND \
08b22f18 405 -DENABLE_PRECOMPILED_HEADERS=OFF \
09d132a9 406 -DOPENCV_LIB_INSTALL_PATH=%{_libdir} \
b287af3c 407 -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-%{version}/modules \
da5d1e09 408 -DENABLE_AVX=%{?with_avx:ON}%{!?with_avx:OFF} \
1c9fe580
JB
409 -DENABLE_SSE=%{?with_sse:ON}%{!?with_sse:OFF} \
410 -DENABLE_SSE2=%{?with_sse2:ON}%{!?with_sse2:OFF} \
da5d1e09
JB
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} \
95daeb66 415 -DBUILD_NEW_PYTHON_SUPPORT=ON \
701be548 416 -DOPENCV_GENERATE_PKGCONFIG:BOOL=ON \
200823d5
ER
417%if %{with examples}
418 -DINSTALL_C_EXAMPLES=ON \
419 -DINSTALL_PYTHON_EXAMPLES=ON \
420%endif
b3920a9d 421 %{?with_ffmpeg:-DWITH_FFMPEG=ON} \
d5e56e66 422 %{!?with_gstreamer:-DWITH_GSTREAMER=OFF} \
2b89712d 423 -DWITH_GTK_2_X=ON \
8d5385eb 424 %{?with_opencl:-DWITH_OPENCL=ON} \
faf80a1c
JB
425 %{!?with_opencl_amdblas:-DWITH_OPENCLAMDBLAS=OFF} \
426 %{!?with_opencl_amdfft:-DWITH_OPENCLAMDFFT=OFF} \
5df3cf1b 427 %{?with_opengl:-DWITH_OPENGL=ON} \
4a401ecc 428 %{?with_openmp:-DWITH_OPENMP=ON} \
1c9fe580 429 %{?with_openni:-DWITH_OPENNI=ON} \
809ce413 430 %{?with_pvapi:-DPVAPI_LIBRARY=%{_libdir}/libPvAPI.so}%{!?with_pvapi:-DWITH_PVAPI=OFF} \
5df3cf1b 431 %{?with_qt:-DWITH_QT=ON %{?with_opengl:-DWITH_QT_OPENGL=ON} -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4} \
f8e040cc 432 %{?with_tbb:-DWITH_TBB=ON} \
d5e56e66 433 %{?with_unicap:-DWITH_UNICAP=ON} \
ed358224 434 %{!?with_v4l:-DWITH_V4L=OFF} \
cf32945e 435 %{?with_vtk:-DWITH_VTK=ON} \
a55ba198 436 %{?with_ximea:-DWITH_XIMEA=ON} \
33a5389a
JR
437 %{?with_xine:-DWITH_XINE=ON} \
438 -DWITH_IPP=OFF
54551f29 439
8b9f61f7 440%{__make}
901927d3
AM
441
442%install
443rm -rf $RPM_BUILD_ROOT
95daeb66 444%{__make} -C build install \
901927d3
AM
445 DESTDIR=$RPM_BUILD_ROOT
446
200823d5
ER
447%if %{with examples}
448install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
701be548 449mv $RPM_BUILD_ROOT%{_datadir}/opencv4/samples/* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
200823d5 450%endif
9141b1e2 451
7545129b 452# disable completeness check incompatible with split packaging
701be548 453%{__sed} -i -e '/^foreach(target .*IMPORT_CHECK_TARGETS/,/^endforeach/d' $RPM_BUILD_ROOT%{_libdir}/cmake/opencv4/OpenCVModules.cmake
7545129b 454
8d499a62
JB
455%py_comp $RPM_BUILD_ROOT%{py_sitedir}
456%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
457%py_postclean
458
a0dcc145
JB
459%py3_comp $RPM_BUILD_ROOT%{py3_sitedir}
460%py3_ocomp $RPM_BUILD_ROOT%{py3_sitedir}
461
b07433c6
JB
462%if %{with java}
463# move to proper directories, create symlink
464install -d $RPM_BUILD_ROOT%{_javadir}
701be548
JR
465%{__mv} $RPM_BUILD_ROOT%{_javadir}/opencv4/libopencv_java*.so $RPM_BUILD_ROOT%{_libdir}
466sed -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}
469rmdir $RPM_BUILD_ROOT%{_javadir}/opencv4
b07433c6
JB
470ln -sf $(basename $RPM_BUILD_ROOT%{_javadir}/opencv-*.jar) $RPM_BUILD_ROOT%{_javadir}/opencv.jar
471%endif
472
901927d3
AM
473%clean
474rm -rf $RPM_BUILD_ROOT
475
476%post -p /sbin/ldconfig
477%postun -p /sbin/ldconfig
478
933de752
ER
479%post core -p /sbin/ldconfig
480%postun core -p /sbin/ldconfig
481
485d5dca
JB
482%post viz -p /sbin/ldconfig
483%postun viz -p /sbin/ldconfig
484
b07433c6
JB
485%post -n java-opencv -p /sbin/ldconfig
486%postun -n java-opencv -p /sbin/ldconfig
487
901927d3
AM
488%files
489%defattr(644,root,root,755)
f753ced4 490%attr(755,root,root) %{_bindir}/opencv_annotation
09d132a9 491%attr(755,root,root) %{_bindir}/opencv_interactive-calibration
2b89712d 492%attr(755,root,root) %{_bindir}/opencv_model_diagnostics
09d132a9
ER
493%attr(755,root,root) %{_bindir}/opencv_version
494%attr(755,root,root) %{_bindir}/opencv_visualisation
701be548 495%attr(755,root,root) %{_bindir}/setup_vars_opencv4.sh
158e0ccc 496%attr(755,root,root) %{_libdir}/libopencv_calib3d.so.*.*.*
71c2eb73 497%attr(755,root,root) %ghost %{_libdir}/libopencv_calib3d.so.%{sover}
2b89712d
JB
498%attr(755,root,root) %{_libdir}/libopencv_dnn.so.*.*.*
499%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn.so.%{sover}
158e0ccc 500%attr(755,root,root) %{_libdir}/libopencv_features2d.so.*.*.*
71c2eb73 501%attr(755,root,root) %ghost %{_libdir}/libopencv_features2d.so.%{sover}
2b89712d
JB
502%attr(755,root,root) %{_libdir}/libopencv_gapi.so.*.*.*
503%attr(755,root,root) %ghost %{_libdir}/libopencv_gapi.so.%{sover}
158e0ccc 504%attr(755,root,root) %{_libdir}/libopencv_highgui.so.*.*.*
71c2eb73 505%attr(755,root,root) %ghost %{_libdir}/libopencv_highgui.so.%{sover}
158e0ccc 506%attr(755,root,root) %{_libdir}/libopencv_objdetect.so.*.*.*
71c2eb73 507%attr(755,root,root) %ghost %{_libdir}/libopencv_objdetect.so.%{sover}
158e0ccc 508%attr(755,root,root) %{_libdir}/libopencv_stitching.so.*.*.*
71c2eb73 509%attr(755,root,root) %ghost %{_libdir}/libopencv_stitching.so.%{sover}
158e0ccc 510%attr(755,root,root) %{_libdir}/libopencv_superres.so.*.*.*
71c2eb73 511%attr(755,root,root) %ghost %{_libdir}/libopencv_superres.so.%{sover}
158e0ccc 512%attr(755,root,root) %{_libdir}/libopencv_videostab.so.*.*.*
71c2eb73 513%attr(755,root,root) %ghost %{_libdir}/libopencv_videostab.so.%{sover}
b287af3c
JR
514# contrib modules
515%attr(755,root,root) %{_bindir}/opencv_waldboost_detector
2b89712d
JB
516%attr(755,root,root) %ghost %{_libdir}/libopencv_alphamat.so.%{sover}
517%attr(755,root,root) %{_libdir}/libopencv_alphamat.so.*.*.*
b287af3c
JR
518%attr(755,root,root) %ghost %{_libdir}/libopencv_aruco.so.%{sover}
519%attr(755,root,root) %{_libdir}/libopencv_aruco.so.*.*.*
2b89712d
JB
520%attr(755,root,root) %ghost %{_libdir}/libopencv_barcode.so.%{sover}
521%attr(755,root,root) %{_libdir}/libopencv_barcode.so.*.*.*
b287af3c
JR
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.*.*.*
c9cb1c24
JR
530%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_objdetect.so.%{sover}
531%attr(755,root,root) %{_libdir}/libopencv_dnn_objdetect.so.*.*.*
2b89712d
JB
532%attr(755,root,root) %ghost %{_libdir}/libopencv_dnn_superres.so.%{sover}
533%attr(755,root,root) %{_libdir}/libopencv_dnn_superres.so.*.*.*
b287af3c
JR
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.*.*.*
09d132a9
ER
538%attr(755,root,root) %ghost %{_libdir}/libopencv_freetype.so.%{sover}
539%attr(755,root,root) %{_libdir}/libopencv_freetype.so.*.*.*
b287af3c
JR
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.*.*.*
c9cb1c24
JR
544%attr(755,root,root) %ghost %{_libdir}/libopencv_hfs.so.%{sover}
545%attr(755,root,root) %{_libdir}/libopencv_hfs.so.*.*.*
09d132a9
ER
546%attr(755,root,root) %ghost %{_libdir}/libopencv_img_hash.so.%{sover}
547%attr(755,root,root) %{_libdir}/libopencv_img_hash.so.*.*.*
2b89712d
JB
548%attr(755,root,root) %ghost %{_libdir}/libopencv_intensity_transform.so.%{sover}
549%attr(755,root,root) %{_libdir}/libopencv_intensity_transform.so.*.*.*
b287af3c
JR
550%attr(755,root,root) %ghost %{_libdir}/libopencv_line_descriptor.so.%{sover}
551%attr(755,root,root) %{_libdir}/libopencv_line_descriptor.so.*.*.*
2b89712d
JB
552%attr(755,root,root) %ghost %{_libdir}/libopencv_mcc.so.%{sover}
553%attr(755,root,root) %{_libdir}/libopencv_mcc.so.*.*.*
3752412b
JR
554%attr(755,root,root) %ghost %{_libdir}/libopencv_ovis.so.%{sover}
555%attr(755,root,root) %{_libdir}/libopencv_ovis.so.*.*.*
b287af3c
JR
556%attr(755,root,root) %ghost %{_libdir}/libopencv_optflow.so.%{sover}
557%attr(755,root,root) %{_libdir}/libopencv_optflow.so.*.*.*
09d132a9
ER
558%attr(755,root,root) %ghost %{_libdir}/libopencv_phase_unwrapping.so.%{sover}
559%attr(755,root,root) %{_libdir}/libopencv_phase_unwrapping.so.*.*.*
b287af3c
JR
560%attr(755,root,root) %ghost %{_libdir}/libopencv_plot.so.%{sover}
561%attr(755,root,root) %{_libdir}/libopencv_plot.so.*.*.*
2b89712d
JB
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.*.*.*
b287af3c
JR
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.*.*.*
2b89712d
JB
572%attr(755,root,root) %ghost %{_libdir}/libopencv_shape.so.%{sover}
573%attr(755,root,root) %{_libdir}/libopencv_shape.so.*.*.*
b287af3c
JR
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.*.*.*
2b89712d
JB
586%attr(755,root,root) %ghost %{_libdir}/libopencv_wechat_qrcode.so.%{sover}
587%attr(755,root,root) %{_libdir}/libopencv_wechat_qrcode.so.*.*.*
b287af3c
JR
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.*.*.*
701be548
JR
596
597%dir %{_datadir}/opencv4
598%{_datadir}/opencv4/haarcascades
599%{_datadir}/opencv4/lbpcascades
600%{_datadir}/opencv4/quality
901927d3 601
933de752
ER
602%files core
603%defattr(644,root,root,755)
158e0ccc 604%attr(755,root,root) %{_libdir}/libopencv_core.so.*.*.*
71c2eb73 605%attr(755,root,root) %ghost %{_libdir}/libopencv_core.so.%{sover}
158e0ccc 606%attr(755,root,root) %{_libdir}/libopencv_flann.so.*.*.*
71c2eb73 607%attr(755,root,root) %ghost %{_libdir}/libopencv_flann.so.%{sover}
2b89712d
JB
608%attr(755,root,root) %{_libdir}/libopencv_imgcodecs.so.*.*.*
609%attr(755,root,root) %ghost %{_libdir}/libopencv_imgcodecs.so.%{sover}
158e0ccc 610%attr(755,root,root) %{_libdir}/libopencv_imgproc.so.*.*.*
71c2eb73 611%attr(755,root,root) %ghost %{_libdir}/libopencv_imgproc.so.%{sover}
158e0ccc 612%attr(755,root,root) %{_libdir}/libopencv_ml.so.*.*.*
71c2eb73 613%attr(755,root,root) %ghost %{_libdir}/libopencv_ml.so.%{sover}
158e0ccc 614%attr(755,root,root) %{_libdir}/libopencv_photo.so.*.*.*
71c2eb73 615%attr(755,root,root) %ghost %{_libdir}/libopencv_photo.so.%{sover}
158e0ccc 616%attr(755,root,root) %{_libdir}/libopencv_video.so.*.*.*
71c2eb73 617%attr(755,root,root) %ghost %{_libdir}/libopencv_video.so.%{sover}
33a5389a 618%attr(755,root,root) %{_libdir}/libopencv_videoio.so.*.*.*
71c2eb73 619%attr(755,root,root) %ghost %{_libdir}/libopencv_videoio.so.%{sover}
cf32945e
JB
620
621%if %{with vtk}
622%files viz
623%defattr(644,root,root,755)
158e0ccc 624%attr(755,root,root) %{_libdir}/libopencv_viz.so.*.*.*
71c2eb73 625%attr(755,root,root) %ghost %{_libdir}/libopencv_viz.so.%{sover}
cf32945e 626%endif
933de752 627
901927d3
AM
628%files devel
629%defattr(644,root,root,755)
cf32945e 630# core
701be548 631%{_libdir}/libopencv_core.so
2b89712d 632%{_libdir}/libopencv_dnn.so
701be548 633%{_libdir}/libopencv_flann.so
2b89712d 634%{_libdir}/libopencv_imgcodecs.so
701be548
JR
635%{_libdir}/libopencv_imgproc.so
636%{_libdir}/libopencv_ml.so
637%{_libdir}/libopencv_photo.so
638%{_libdir}/libopencv_video.so
2b89712d 639%{_libdir}/libopencv_videoio.so
cf32945e 640# GUI/extensions (base package)
701be548
JR
641%{_libdir}/libopencv_calib3d.so
642%{_libdir}/libopencv_features2d.so
2b89712d 643%{_libdir}/libopencv_gapi.so
701be548
JR
644%{_libdir}/libopencv_highgui.so
645%{_libdir}/libopencv_objdetect.so
646%{_libdir}/libopencv_stitching.so
b287af3c 647# contrib
2b89712d 648%{_libdir}/libopencv_alphamat.so
701be548 649%{_libdir}/libopencv_aruco.so
2b89712d 650%{_libdir}/libopencv_barcode.so
701be548
JR
651%{_libdir}/libopencv_bgsegm.so
652%{_libdir}/libopencv_bioinspired.so
653%{_libdir}/libopencv_ccalib.so
654%{_libdir}/libopencv_datasets.so
701be548 655%{_libdir}/libopencv_dnn_objdetect.so
2b89712d 656%{_libdir}/libopencv_dnn_superres.so
701be548
JR
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
2b89712d 664%{_libdir}/libopencv_intensity_transform.so
701be548 665%{_libdir}/libopencv_line_descriptor.so
2b89712d 666%{_libdir}/libopencv_mcc.so
701be548
JR
667%{_libdir}/libopencv_optflow.so
668%{_libdir}/libopencv_ovis.so
669%{_libdir}/libopencv_phase_unwrapping.so
670%{_libdir}/libopencv_plot.so
2b89712d
JB
671%{_libdir}/libopencv_quality.so
672%{_libdir}/libopencv_rapid.so
701be548
JR
673%{_libdir}/libopencv_reg.so
674%{_libdir}/libopencv_rgbd.so
675%{_libdir}/libopencv_saliency.so
676%{_libdir}/libopencv_sfm.so
2b89712d 677%{_libdir}/libopencv_shape.so
701be548 678%{_libdir}/libopencv_stereo.so
2b89712d 679%{_libdir}/libopencv_superres.so
701be548
JR
680%{_libdir}/libopencv_structured_light.so
681%{_libdir}/libopencv_surface_matching.so
682%{_libdir}/libopencv_text.so
683%{_libdir}/libopencv_tracking.so
2b89712d
JB
684%{_libdir}/libopencv_videostab.so
685%{_libdir}/libopencv_wechat_qrcode.so
701be548
JR
686%{_libdir}/libopencv_xfeatures2d.so
687%{_libdir}/libopencv_ximgproc.so
688%{_libdir}/libopencv_xobjdetect.so
689%{_libdir}/libopencv_xphoto.so
cf32945e
JB
690# viz
691%if %{with vtk}
701be548 692%{_libdir}/libopencv_viz.so
0e077f8d 693%endif
701be548 694%{_includedir}/opencv4
e652d7a7 695%dir %{_libdir}/cmake/opencv4
701be548
JR
696%{_libdir}/cmake/opencv4/OpenCV*.cmake
697%{_pkgconfigdir}/opencv4.pc
901927d3 698
9141b1e2
ER
699%files doc
700%defattr(644,root,root,755)
701# TODO: probably could rebuild them and package via make install
702%doc doc/*
703
200823d5
ER
704%if %{with examples}
705%files examples
706%defattr(644,root,root,755)
707%{_examplesdir}/%{name}-%{version}
708%endif
709
b07433c6
JB
710%if %{with java}
711%files -n java-opencv
712%defattr(644,root,root,755)
835e0cdd
ER
713%attr(755,root,root) %{_libdir}/libopencv_java%{jver}.so
714%{_javadir}/opencv-%{jver}.jar
b07433c6
JB
715%{_javadir}/opencv.jar
716%endif
717
901927d3
AM
718%files -n python-opencv
719%defattr(644,root,root,755)
fe201543
JR
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]
2b89712d
JB
724%{py_sitedir}/cv2/mat_wrapper
725%{py_sitedir}/cv2/misc
726%{py_sitedir}/cv2/utils
b221500a
JB
727
728%files -n python3-opencv
729%defattr(644,root,root,755)
fe201543
JR
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
a0dcc145 734%{py3_sitedir}/cv2/__pycache__
2b89712d
JB
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.45869 seconds and 4 git commands to generate.