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