# # spec file for package opencv # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %bcond_with ffmpeg Name: opencv %define libname lib%{name} %define soname 2_3 Version: 2.3.1 Release: 1 License: BSD3c Summary: Collection of algorithms for computer vision Url: http://%{name}.willowgarage.com/wiki/ Group: Development/Libraries Source0: http://downloads.sourceforge.net/project/%{name}library/%{name}-unix/%{version}/OpenCV-%{version}.tar.bz2 # PATCH-FIX-UPSTREAM %{name}-libdir.patch koprok@nand.bg -- Add an option to install libraries and python packages in lib64. Patch0: %{name}-libdir.patch # PATCH-FIX-UPSTREAM %{name}-samples.patch koprok@nand.bg -- Improve samples installation. Patch1: %{name}-samples.patch # PATCH-FIX-UPSTREAM %{name}-2.3-underlinking.patch reddwarf@opensuse.org -- Make libopencv_highgui.so link to libv4l2 since it's using symbols defined there. Patch3: %{name}-2.3-underlinking.patch # PATCH-FIX-OPENSUSE %{name}-datadir.patch koprok@nand.bg -- Install data files in share/opencv instead of share/OpenCV. Patch9: %{name}-datadir.patch %if 0%{?suse_version} >= 1120 BuildRequires: gstreamer-0_10-plugins-base-devel BuildRequires: gstreamer-0_10-devel %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} >= 1110 BuildRequires: libdc1394-devel BuildRequires: libxine-devel %else BuildRequires: xine-devel %endif BuildRequires: OpenEXR-devel BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: libjasper-devel BuildRequires: libjpeg-devel BuildRequires: libpng-devel BuildRequires: libtiff-devel BuildRequires: python-devel BuildRequires: zlib-devel BuildRequires: libqt4-devel %if %{with ffmpeg} BuildRequires: libffmpeg-devel %endif %if 0%{?suse_version} >= 1130 BuildRequires: python-numpy-devel %else BuildRequires: python-numpy %endif %if 0%{?suse_version} < 1210 BuildRequires: libv4l-devel %else BuildRequires: libv4l-devel >= 0.8.4 %endif %description OpenCV means IntelĀ® Open Source Computer Vision Library. It is a collection of C functions and a few C++ classes that implement some popular Image Processing and Computer Vision algorithms. %package -n %{libname}%{soname} Summary: Development files for using the OpenCV library Group: Development/Libraries %description -n %{libname}%{soname} The Open Computer Vision Library is a collection of algorithms and sample code for various computer vision problems. The library is compatible with IPL and utilizes Intel Integrated Performance Primitives for better performance. %package devel License: BSD3c Summary: Development files for using the OpenCV library Group: Development/Libraries Requires: %{libname}%{soname} = %{version} Requires: %{name} = %{version} %description devel This package contains the OpenCV C/C++ library and header files, as well as documentation. It should be installed if you want to develop programs that will use the OpenCV library. %package -n python-%{name} Summary: Python bindings for apps which use OpenCV Group: Development/Libraries Requires: python-base %description -n python-%{name} This package contains Python bindings for the OpenCV library. %package -n %{name}-doc Summary: Documentation and examples for OpenCV Group: Documentation # Since this package also contains examples that need -devel to be compiled Recommends: %{name}-devel %description -n %{name}-doc This package contains the documentation and examples for the OpenCV library. %prep %setup -qn OpenCV-%{version} %patch0 -p1 %patch1 -p1 %patch3 %patch9 -p1 # Windows specific and with wrong end of line rm -f doc/packaging.txt chmod +x samples/c/build_all.sh sed -i 's/\r$//' samples/c/adaptiveskindetector.cpp \ samples/c/latentsvmdetect.cpp \ samples/gpu/hog.cpp \ samples/python/camshift.py %build export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" mkdir build cd build cmake -DCMAKE_SKIP_RPATH=ON \ -DCMAKE_INSTALL_PREFIX='%{_prefix}' \ -DLIB_SUFFIX=$(echo %{_lib} | cut -b4-) \ -DCMAKE_BUILD_TYPE=Release \ -DUSE_OMIT_FRAME_POINTER=OFF \ -DWITH_XINE=ON \ -DWITH_QT=ON \ %if 0%{?suse_version} >= 1130 -DWITH_QT_OPENGL=ON \ %endif -DBUILD_TESTS=OFF \ -DINSTALL_C_EXAMPLES=ON \ -DINSTALL_PYTHON_EXAMPLES=ON \ .. make %{?_smp_mflags} VERBOSE=1 %install cd build make DESTDIR=%{?buildroot:%{buildroot}} install/fast mkdir -p %{buildroot}%{_docdir} mv %{buildroot}%{_datadir}/%{name}/doc %{buildroot}%{_docdir}/%{name}-doc mv %{buildroot}%{_datadir}/%{name}/samples %{buildroot}%{_docdir}/%{name}-doc/examples %clean rm -rf %{buildroot} %post -n %{libname}%{soname} -p /sbin/ldconfig %postun -n %{libname}%{soname} -p /sbin/ldconfig %files -n %{libname}%{soname} %defattr(-, root, root, 0755) %{_libdir}/lib*.so.* %files -n %{name} %defattr(0644, root, root, 0755) %attr(0755, root, root) %{_bindir}/%{name}_* %{_datadir}/%{name} %exclude %{_datadir}/%{name}/OpenCVConfig*.cmake %files devel %defattr(0644, root, root, 0755) %{_includedir}/opencv %{_includedir}/opencv2 %{_libdir}/lib*.so %{_libdir}/pkgconfig/%{name}.pc %{_datadir}/%{name}/OpenCVConfig*.cmake %files -n python-%{name} %defattr(0644, root, root, 0755) %if 0%{?suse_version} < 1120 %{py_sitedir}/cv.py %{py_sitedir}/cv2.so %else %{python_sitearch}/cv.py %{python_sitearch}/cv2.so %endif %files -n %{name}-doc %defattr(-, root, root, 0755) %{_docdir}/%{name}-doc %changelog