opencv/opencv.spec

365 lines
11 KiB
RPMSpec

%define pkgver %(echo %version | sed "s|[a-z]||")
%define javaver %(echo %version | cut -d. -f1-3 | tr -d .)
Name: opencv
Version: 2.4.11
Release: 2mamba
Summary: Collection of algorithms for computer vision
Group: Development/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Davide Madrisan <davide.madrisan@gmail.com>
URL: http://opencv.willowgarage.com/wiki/
Source: http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/%{version}/opencv-%{version}.zip
#Source: http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/%{version}/opencv-%{version}.tar.gz
Patch0: %{name}-2.1.0-libpng14.patch
Patch1: %{name}-2.3.1-arm-build.patch
Patch2: opencv-2.4.9-buildfix-x86-asm-constraint.patch
Patch3: opencv-2.4.10-i586-inconsistent-constraint-asm.patch
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libatk-devel
BuildRequires: libavcodec-ffmpeg-devel
BuildRequires: libavformat-ffmpeg-devel
BuildRequires: libavutil-ffmpeg-devel
BuildRequires: libbzip2-devel
BuildRequires: libcairo-devel
BuildRequires: libdc1394-devel
BuildRequires: libfontconfig-devel
BuildRequires: libfreetype-devel
BuildRequires: libgcc
BuildRequires: libgdk-pixbuf-devel
BuildRequires: libglib-devel
BuildRequires: libgst-plugins-base-devel
BuildRequires: libgst-plugins-base010-devel
BuildRequires: libgstreamer-devel
BuildRequires: libgstreamer010-devel
BuildRequires: libgtk2-devel
BuildRequires: libilmbase-devel
BuildRequires: libjasper-devel
BuildRequires: libjpeg-devel
BuildRequires: libopenexr-devel
BuildRequires: libpango-devel
BuildRequires: libpng-devel
BuildRequires: libpython-devel
BuildRequires: libpython27-devel
BuildRequires: libstdc++6-devel
BuildRequires: libswscale-ffmpeg-devel
BuildRequires: libtiff-devel
BuildRequires: libunicap-devel
BuildRequires: libv4l-devel
BuildRequires: libxine-devel
BuildRequires: libxml2-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
BuildRequires: python-Imaging
BuildRequires: python-numpy
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-root
%description
OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
%package -n lib%{name}
Summary: Collection of algorithms for computer vision
Group: System/Libraries
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}
OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
This package contains the OpenCV static libraries.
%package -n lib%{name}-devel
Summary: Devel package for %{name}
Group: Development/Libraries
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: java-opencv = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-devel
OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
This package contains static libraries and header files need for development.
%package -n lib%{name}-kde4
Summary: OpenCV libraries build with gstreamer 0.10 for KDE 4
Group: System/Libraries
%description -n lib%{name}-kde4
OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
This package contains the OpenCV libraries built with gstreamer 0.10 for KDE 4
%package -n lib%{name}-kde4-devel
Summary: Devel package for %{name}
Group: Development/Libraries
Requires: lib%{name}-kde4 = %{?epoch:%epoch:}%{version}-%{release}
Requires: java-opencv = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-kde4-devel
OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
This package contains static libraries and header files need for development.
%package -n java-opencv
Summary: Java bindings for apps which use OpenCV
Group: Development/Libraries
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n java-opencv
This package contains Python bindings for the OpenCV library.
%package -n python-cv
Summary: Python bindings for apps which use OpenCV
Group: Development/Libraries
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: python-Imaging
Requires: python-numpy
Provides: opencv-python
Obsoletes: opencv-python
%description -n python-cv
This package contains Python bindings for the OpenCV library.
%prep
%setup -q
#-D -T
#:<< _EOF
%ifarch %{ix86}
%patch2 -p1
%endif
#%patch3 -p1
%define _use_internal_dependency_generator 0
# Cohexistance provides/requires for KDE4 legacy package
%define __find_provides %{_builddir}/opencv-%{version}/find_provides.sh
cat > %{_builddir}/opencv-%{version}/find_provides.sh <<_EOF
#! /bin/sh
grep -v %{buildroot}%{_kde4_libdir} | \
%{_prefix}/lib/rpm/find-provides %{buildroot} %{_target_cpu}
_EOF
chmod +x %{_builddir}/opencv-%{version}/find_provides.sh
%define __find_requires %{_builddir}/opencv-%{version}/find_requires.sh
cat > %{_builddir}/opencv-%{version}/find_requires.sh <<_EOF
#! /bin/sh
%{_prefix}/lib/rpm/find-requires %{buildroot} %{_target_cpu} 2>/dev/null |
while read line; do
[ "\${line:0:10}" == "libopencv_" ] || echo "\$line"
done
_EOF
chmod +x %{_builddir}/opencv-%{version}/find_requires.sh
# WARNING: don't reinstall with -D -T or cmake files will be incorrect
#% ifarch arm
#% patch1 -p2
#% endif
%build
#:<< _EOF
#-- Interfaces:
# -- Use IPP: NO (Intel Performance Primitive)
# -- Use TBB: NO (Threading Building Blocks library)
# -- Build Documentation 0
#
# append flag -D__STDC_CONSTANT_MACROS to fix build with ffmpeg >= 0.6
PYTHON_PATH=`echo %python27_sitelib | sed "s|%{_prefix}/||"`
%cmake -d build \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_GSTREAMER=1 \
-DWITH_XINE=1 \
-DWITH_UNICAP=1 \
-DWITH_1394=1 \
-DWITH_FFMPEG=1 \
-DWITH_QUICKTIME=0 \
-DBUILD_SWIG_PYTHON_SUPPORT=1 \
-DINSTALL_C_EXAMPLES=0 \
-DCMAKE_CXX_FLAGS:STRING="$RPM_OPT_FLAGS -D__STDC_CONSTANT_MACROS" \
-DPYTHON_PACKAGES_PATH:PATH=$PYTHON_PATH
%make_jobs
cd ..
# Gstreamer 0.10 version for KDE4 (digikam)
%cmake_kde4 -d build_kde4 \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_GSTREAMER=0 \
-DWITH_XINE=1 \
-DWITH_UNICAP=1 \
-DWITH_1394=1 \
-DWITH_FFMPEG=1 \
-DWITH_QUICKTIME=0 \
-DBUILD_SWIG_PYTHON_SUPPORT=1 \
-DINSTALL_C_EXAMPLES=0 \
-DCMAKE_CXX_FLAGS:STRING="$RPM_OPT_FLAGS -D__STDC_CONSTANT_MACROS" \
-DPYTHON_PACKAGES_PATH:PATH=$PYTHON_PATH
%make_jobs
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall -C build_kde4
%makeinstall -C build
## Fix permissions
#chmod 0755 %{buildroot}%{python_sitearch}/cv2.so
#chmod 0755 %{buildroot}%{python_sitearch}/cv.py
# Remove unpackaged files
rm -fr %{buildroot}%{_datadir}/opencv/doc
rm -rf %{buildroot}%{_kde4_sharedir}/OpenCV/java
rm -rf %{buildroot}%{_kde4_bindir}
rm -rf %{buildroot}/opt/kde/lib/python*
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -n lib%{name}
/sbin/ldconfig
:
%postun -n lib%{name}
/sbin/ldconfig
:
%post -n lib%{name}-kde4
/sbin/ldconfig
:
%postun -n lib%{name}-kde4
/sbin/ldconfig
:
%files
%defattr(-,root,root)
%{_bindir}/opencv_*
%files -n libopencv
%defattr(-,root,root)
%{_libdir}/libopencv_*.so.*
%dir %{_datadir}/OpenCV
%dir %{_datadir}/OpenCV/haarcascades
%{_datadir}/OpenCV/haarcascades/*
%dir %{_datadir}/OpenCV/lbpcascades
%{_datadir}/OpenCV/lbpcascades/*
%files -n libopencv-devel
%defattr(-,root,root)
%dir %{_includedir}/opencv
%{_includedir}/opencv/*
%dir %{_includedir}/opencv2
%{_includedir}/opencv2/*
%{_libdir}/libopencv_*.so
%{_libdir}/libopencv_ts.a
%dir %{_datadir}/OpenCV
%dir %{_datadir}/OpenCV/doc
%{_datadir}/OpenCV/doc/*
%{_datadir}/OpenCV/*.cmake
%{_libdir}/pkgconfig/opencv.pc
%files -n java-opencv
%defattr(-,root,root)
%dir %{_datadir}/OpenCV/java
%{_datadir}/OpenCV/java/libopencv_java%{javaver}.so
%{_datadir}/OpenCV/java/opencv-%{javaver}.jar
%ifnarch arm
%files -n python-cv
%defattr(-,root,root)
%{python_sitelib}/cv.py
%{python_sitelib}/cv2.so
%endif
%files -n libopencv-kde4
%defattr(-,root,root)
%{_kde4_libdir}/libopencv_calib3d.so.*
%{_kde4_libdir}/libopencv_contrib.so.*
%{_kde4_libdir}/libopencv_core.so.*
%{_kde4_libdir}/libopencv_features2d.so.*
%{_kde4_libdir}/libopencv_flann.so.*
%{_kde4_libdir}/libopencv_gpu.so.*
%{_kde4_libdir}/libopencv_highgui.so.*
%{_kde4_libdir}/libopencv_imgproc.so.*
%{_kde4_libdir}/libopencv_legacy.so.*
%{_kde4_libdir}/libopencv_ml.so.*
%{_kde4_libdir}/libopencv_nonfree.so.*
%{_kde4_libdir}/libopencv_objdetect.so.*
%{_kde4_libdir}/libopencv_ocl.so.*
%{_kde4_libdir}/libopencv_photo.so.*
%{_kde4_libdir}/libopencv_stitching.so.*
%{_kde4_libdir}/libopencv_superres.so.*
%{_kde4_libdir}/libopencv_video.so.*
%{_kde4_libdir}/libopencv_videostab.so.*
%dir %{_kde4_sharedir}/OpenCV/
%dir %{_kde4_sharedir}/OpenCV/doc
%{_kde4_sharedir}/OpenCV/doc/*
%dir %{_kde4_sharedir}/OpenCV/haarcascades
%{_kde4_sharedir}/OpenCV/haarcascades/*
%dir %{_kde4_sharedir}/OpenCV/lbpcascades
%{_kde4_sharedir}/OpenCV/lbpcascades/*
%files -n libopencv-kde4-devel
%defattr(-,root,root)
%dir %{_kde4_includedir}/opencv
%{_kde4_includedir}/opencv/*
%dir %{_kde4_includedir}/opencv2
%{_kde4_includedir}/opencv2/*
%{_kde4_libdir}/libopencv_*.so
%{_kde4_libdir}/libopencv_ts.a
%{_kde4_sharedir}/OpenCV/*.cmake
%{_kde4_libdir}/pkgconfig/opencv.pc
%changelog
* Tue Sep 22 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.11-2mamba
- libopencv-devel: require java-opencv or provided cmake files fail
* Fri Aug 14 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.11-1mamba
- update to 2.4.11
* Fri May 29 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.10-2mamba
- build kde4 version with gstreamer 0.10 (should fix digikam)
* Sun Dec 28 2014 Automatic Build System <autodist@mambasoft.it> 2.4.10-1mamba
- automatic version update by autodist
* Thu Sep 04 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.9-2mamba
- rebuilt to fix wrong cmake files on i586 which don't like to digikam
* Tue Jul 15 2014 Automatic Build System <autodist@mambasoft.it> 2.4.9-1mamba
- automatic version update by autodist
* Wed Jan 15 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.8-1mamba
- update to 2.4.8
* Wed Nov 13 2013 Automatic Build System <autodist@mambasoft.it> 2.4.7-1mamba
- automatic version update by autodist
* Mon Aug 26 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.6.1-3mamba
- rebuilt after upgrading libatlas-3.8.4-2mamba which fixes python-numpy
* Wed Aug 21 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 2.4.6.1-2mamba
- rebuilt with libopenexr-2.0.1-3mamba nad python-numpy 1.8
* Sun Jul 14 2013 Automatic Build System <autodist@mambasoft.it> 2.4.6.1-1mamba
- automatic version update by autodist
* Mon Jul 08 2013 Automatic Build System <autodist@mambasoft.it> 2.4.6-1mamba
- automatic version update by autodist
* Thu Apr 25 2013 Automatic Build System <autodist@mambasoft.it> 2.4.5-1mamba
- update to 2.4.5
* Sat Dec 01 2012 Automatic Build System <autodist@mambasoft.it> 2.4.3-1mamba
- automatic version update by autodist
* Thu Aug 09 2012 Automatic Build System <autodist@mambasoft.it> 2.4.2-1mamba
- automatic version update by autodist
* Fri Dec 09 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 2.3.1a-1mamba
- update to 2.3.1a
* Mon Oct 11 2010 Davide Madrisan <davide.madrisan@gmail.com> 2.1.0-1mamba
- update to 2.1.0
* Mon Dec 07 2009 Davide Madrisan <davide.madrisan@gmail.com> 2.0.0-1mamba
- package created by autospec