rpms/opencv/devel opencv-cmake-libdir.patch, NONE, 1.1 opencv.spec, 1.42, 1.43

Haïkel Guémar hguemar at fedoraproject.org
Sat Feb 27 13:08:50 UTC 2010


Author: hguemar

Update of /cvs/pkgs/rpms/opencv/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25978

Modified Files:
	opencv.spec 
Added Files:
	opencv-cmake-libdir.patch 
Log Message:
use cmake build system, autotools one being deprecated by upstream

opencv-cmake-libdir.patch:
 3rdparty/flann/CMakeLists.txt      |    4 ++--
 CMakeLists.txt                     |   12 ++++++------
 interfaces/ffopencv/CMakeLists.txt |    2 +-
 src/cv/CMakeLists.txt              |    4 ++--
 src/cvaux/CMakeLists.txt           |    4 ++--
 src/cxcore/CMakeLists.txt          |    4 ++--
 src/highgui/CMakeLists.txt         |    8 ++++----
 src/ml/CMakeLists.txt              |    4 ++--
 tests/cxts/CMakeLists.txt          |    4 ++--
 9 files changed, 23 insertions(+), 23 deletions(-)

--- NEW FILE opencv-cmake-libdir.patch ---
diff -Naur OpenCV-2.0.0.orig/3rdparty/flann/CMakeLists.txt OpenCV-2.0.0/3rdparty/flann/CMakeLists.txt
--- OpenCV-2.0.0.orig/3rdparty/flann/CMakeLists.txt	2009-10-01 01:21:00.000000000 +0100
+++ OpenCV-2.0.0/3rdparty/flann/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -86,8 +86,8 @@
 INSTALL (
     TARGETS flann flann_s
     RUNTIME DESTINATION bin
-    LIBRARY DESTINATION lib
-    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib${LIB_SUFFIX}
+    ARCHIVE DESTINATION lib${LIB_SUFFIX}
 )
 
 # INSTALL (
diff -Naur OpenCV-2.0.0.orig/CMakeLists.txt OpenCV-2.0.0/CMakeLists.txt
--- OpenCV-2.0.0.orig/CMakeLists.txt	2009-10-01 01:21:05.000000000 +0100
+++ OpenCV-2.0.0/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -405,8 +405,8 @@
 
     string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
     if(UNIX)
-        set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
-        set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
+        set(PYTHON_PLUGIN_INSTALL_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
+        set(PYTHON_PACKAGES_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
     endif()
     if(WIN32)
         get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)
@@ -731,7 +731,7 @@
 # Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
 
 set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/include/opencv")
-set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib")
+set(CMAKE_LIB_DIRS_CONFIGCMAKE "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
 
 #exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/unix-install/\"")
 exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"")
@@ -764,19 +764,19 @@
 #  Part 2/2: ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
 # prefix=/usr
 # exec_prefix=${prefix}
-# libdir=${exec_prefix}/lib
+# libdir=${exec_prefix}/lib${LIB_SUFFIX}
 # includedir=${prefix}/include/opencv
 # -------------------------------------------------------------------------------------------
 set(prefix 		${CMAKE_INSTALL_PREFIX})
 set(exec_prefix		"\${prefix}")
-set(libdir		"\${exec_prefix}/lib")
+set(libdir		"\${exec_prefix}/lib${LIB_SUFFIX}")
 set(includedir		"\${prefix}/include")
 set(VERSION             ${OPENCV_VERSION})
 
 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)
 
 if(UNIX)
-    install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)
+    install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
 endif()
 
 
diff -Naur OpenCV-2.0.0.orig/interfaces/ffopencv/CMakeLists.txt OpenCV-2.0.0/interfaces/ffopencv/CMakeLists.txt
--- OpenCV-2.0.0.orig/interfaces/ffopencv/CMakeLists.txt	2009-10-01 01:20:57.000000000 +0100
+++ OpenCV-2.0.0/interfaces/ffopencv/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -33,5 +33,5 @@
 
 install(TARGETS ${the_target}
 	RUNTIME DESTINATION bin COMPONENT main
-	LIBRARY DESTINATION lib COMPONENT main
+	LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
     )
diff -Naur OpenCV-2.0.0.orig/src/cv/CMakeLists.txt OpenCV-2.0.0/src/cv/CMakeLists.txt
--- OpenCV-2.0.0.orig/src/cv/CMakeLists.txt	2009-10-01 01:20:58.000000000 +0100
+++ OpenCV-2.0.0/src/cv/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -66,8 +66,8 @@
 
 install(TARGETS ${the_target}
 	RUNTIME DESTINATION bin COMPONENT main
-	LIBRARY DESTINATION lib COMPONENT main
-	ARCHIVE DESTINATION lib COMPONENT main)
+	LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+	ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
 
 install(FILES ${lib_hdrs}
     DESTINATION include/opencv
diff -Naur OpenCV-2.0.0.orig/src/cvaux/CMakeLists.txt OpenCV-2.0.0/src/cvaux/CMakeLists.txt
--- OpenCV-2.0.0.orig/src/cvaux/CMakeLists.txt	2009-10-01 01:20:59.000000000 +0100
+++ OpenCV-2.0.0/src/cvaux/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -76,8 +76,8 @@
 
 install(TARGETS ${the_target}
 	RUNTIME DESTINATION bin COMPONENT main
-	LIBRARY DESTINATION lib COMPONENT main
-	ARCHIVE DESTINATION lib COMPONENT main)
+	LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+	ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
 
 install(FILES ${aux_hdrs_ext}
         DESTINATION include/opencv
diff -Naur OpenCV-2.0.0.orig/src/cxcore/CMakeLists.txt OpenCV-2.0.0/src/cxcore/CMakeLists.txt
--- OpenCV-2.0.0.orig/src/cxcore/CMakeLists.txt	2009-10-01 01:20:59.000000000 +0100
+++ OpenCV-2.0.0/src/cxcore/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -66,8 +66,8 @@
 
 install(TARGETS ${the_target}
     RUNTIME DESTINATION bin COMPONENT main
-	LIBRARY DESTINATION lib COMPONENT main
-	ARCHIVE DESTINATION lib COMPONENT main)
+	LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+	ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
 
 # install each module headers separately
 install(FILES ${lib_hdrs}
diff -Naur OpenCV-2.0.0.orig/src/highgui/CMakeLists.txt OpenCV-2.0.0/src/highgui/CMakeLists.txt
--- OpenCV-2.0.0.orig/src/highgui/CMakeLists.txt	2009-10-01 01:20:58.000000000 +0100
+++ OpenCV-2.0.0/src/highgui/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -191,8 +191,8 @@
 if(WIN32)
 	target_link_libraries(${the_target} comctl32 gdi32 ole32)
 	
-	if (MSVC)
-		target_link_libraries(${the_target} vfw32)
+	if (MSVC)
+		target_link_libraries(${the_target} vfw32)
 	endif()
 
 	if(MINGW)
@@ -206,8 +206,8 @@
 
 install(TARGETS ${the_target}
 	RUNTIME DESTINATION bin COMPONENT main
-	LIBRARY DESTINATION lib COMPONENT main
-	ARCHIVE DESTINATION lib COMPONENT main)
+	LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+	ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
 
 install(FILES ${highgui_ext_hdrs}
         DESTINATION include/opencv
diff -Naur OpenCV-2.0.0.orig/src/ml/CMakeLists.txt OpenCV-2.0.0/src/ml/CMakeLists.txt
--- OpenCV-2.0.0.orig/src/ml/CMakeLists.txt	2009-10-01 01:20:59.000000000 +0100
+++ OpenCV-2.0.0/src/ml/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -61,8 +61,8 @@
 
 install(TARGETS ${the_target}
 	RUNTIME DESTINATION bin COMPONENT main
-	LIBRARY DESTINATION lib COMPONENT main
-	ARCHIVE DESTINATION lib COMPONENT main)
+	LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+	ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
 
 install(FILES ${lib_hdrs}
         DESTINATION include/opencv
diff -Naur OpenCV-2.0.0.orig/tests/cxts/CMakeLists.txt OpenCV-2.0.0/tests/cxts/CMakeLists.txt
--- OpenCV-2.0.0.orig/tests/cxts/CMakeLists.txt	2009-10-01 01:20:56.000000000 +0100
+++ OpenCV-2.0.0/tests/cxts/CMakeLists.txt	2010-02-25 23:10:44.000000000 +0100
@@ -63,6 +63,6 @@
 if(WIN32)
 install(TARGETS ${the_target}
     RUNTIME DESTINATION bin COMPONENT main
-	LIBRARY DESTINATION lib COMPONENT main
-	ARCHIVE DESTINATION lib COMPONENT main)
+	LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
+	ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
 endif()


Index: opencv.spec
===================================================================
RCS file: /cvs/pkgs/rpms/opencv/devel/opencv.spec,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -p -r1.42 -r1.43
--- opencv.spec	16 Feb 2010 12:23:24 -0000	1.42
+++ opencv.spec	27 Feb 2010 13:08:49 -0000	1.43
@@ -1,10 +1,10 @@
 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
 %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
-%define tar_name OpenCV
+%global tar_name OpenCV
 
 Name:           opencv
 Version:        2.0.0
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        Collection of algorithms for computer vision
 
 Group:          Development/Libraries
@@ -13,11 +13,12 @@ License:        BSD
 URL:            http://opencv.willowgarage.com/wiki/
 Source0:        http://prdownloads.sourceforge.net/opencvlibrary/%{tar_name}-%{version}.tar.bz2
 Source1:        opencv-samples-Makefile
-Patch0:         opencv-2.0.0-data-automake.patch
-Patch1:         opencv-2.0.0-apps-automake.patch
+# Fedora cmake macros define -DLIB_SUFFIX=64 on 64 bits platforms
+Patch0:         opencv-cmake-libdir.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  libtool
+BuildRequires:  cmake >= 2.4
 
 BuildRequires:  gtk2-devel
 BuildRequires:  unicap-devel
@@ -32,9 +33,9 @@ BuildRequires:  libpng-devel
 BuildRequires:  libjpeg-devel
 BuildRequires:  libtiff-devel
 BuildRequires:  libtool
-BuildRequires:  swig >= 1.3.24, zlib-devel, pkgconfig
+BuildRequires:  zlib-devel, pkgconfig
 BuildRequires:  python-devel
-BuildRequires:  python-imaging, numpy
+BuildRequires:  python-imaging, numpy, swig >= 1.3.24
 %{?_with_ffmpeg:BuildRequires:  ffmpeg-devel >= 0.4.9}
 %{!?_without_gstreamer:BuildRequires:  gstreamer-devel}
 %{?_with_xine:BuildRequires:  xine-lib-devel}
@@ -54,8 +55,18 @@ Requires:       pkgconfig
 %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.
+will use the OpenCV library. You should consider installing opencv-devel-docs
+package.
 
+%package devel-docs
+Summary:        Development files for using the OpenCV library
+Group:          Development/Libraries
+Requires:       opencv-devel = %{version}-%{release}
+Requires:       pkgconfig
+BuildArch:      noarch
+
+%description devel-docs
+This package contains the OpenCV documentation and examples programs.
 
 %package python
 Summary:        Python bindings for apps which use OpenCV
@@ -70,10 +81,7 @@ This package contains Python bindings fo
 
 %prep
 %setup -q -n %{tar_name}-%{version}
-%patch0 -p1 -b .automake
-%patch1 -p1 -b .automake
-#Renew the autotools (and remove rpath).
-autoreconf -vif
+%patch0 -p1
 
 %build
 
@@ -81,18 +89,20 @@ autoreconf -vif
 export CXXFLAGS="%{__global_cflags} -m32 -fasynchronous-unwind-tables"
 %endif
 
-export SWIG_PYTHON_LIBS=%{_libdir}
-%configure --disable-static --enable-apps \
-  %{?_with_ffmpeg:--with-ffmpeg}%{!?_with_ffmpeg:--without-ffmpeg} \
-  %{!?_without_gstreamer:--with-gstreamer} \
-  %{?_with_xine:--with-xine --without-quicktime} \
-  --with-unicap \
-  --with-1394libs --without-quicktime \
-%ifarch i386 i586
-  --disable-sse2 \
-%endif
 
-make %{?_smp_mflags}
+# enabled by default if libraries are presents at build time:
+# GTK, GSTREAMER, UNICAP, 1394, V4L
+# non available on Fedora: FFMPEG, XINE
+%cmake -DENABLE_OPENMP=1\
+ %{?_without_gstreamer:-DWITH_GSTREAMER=0} \
+ %{!?_with_ffmpeg:-DWITH_FFMPEG=0} \
+ %{!?_with_xine:-DWITH_XINE=0} \
+ -DBUILD_SWIG_PYTHON_SUPPORT=1 \
+ -DINSTALL_C_EXAMPLES=1 \
+ -DINSTALL_PYTHON_EXAMPLES=1 \
+.
+make VERBOSE=1 %{?_smp_mflags}
+
 
 
 %install
@@ -106,16 +116,19 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}
       $RPM_BUILD_ROOT%{_datadir}/%{name}/samples/c/facedetect.cmd
 install -m644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{name}/samples/c/GNUmakefile
 install -m644 cvconfig.h $RPM_BUILD_ROOT%{_includedir}/%{name}/cvconfig.h
-
-#Remove unversioned documentation
-rm -rf $RPM_BUILD_ROOT%{_docdir}/opencv
-#And Octave since we don't build against it yet
-rm -rf $RPM_BUILD_ROOT%{_datadir}/opencv/{samples/octave/,ChangeLog,THANKS}
-
+mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}/
+# install documentation
+install -m644 doc/%{name}.pdf $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}/%{name}.pdf
+install -m644 doc/*.{htm,png,jpg} $RPM_BUILD_ROOT%{_docdir}/%{name}-doc-%{version}/
+
+# fix dos end of lines
+sed -i 's|\r||g'  $RPM_BUILD_ROOT/%{_datadir}/%{name}/samples/c/adaptiveskindetector.cpp
+# remove unnecessary documentation
+rm -rf $RPM_BUILD_ROOT%{_datadir}/opencv/{doc/,samples/octave/}
 
 %check
-#Check fails since we don't support most video
-#read/write capability and we don't provide a display
+# Check fails since we don't support most video
+# read/write capability and we don't provide a display
 %ifnarch ppc64
     make check || :
 %endif
@@ -132,12 +145,11 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING THANKS TODO
-%{_bindir}/opencv-*
+%{_bindir}/opencv_*
 %{_libdir}/lib*.so.*
 %dir %{_datadir}/opencv
 %{_datadir}/opencv/haarcascades
 %{_datadir}/opencv/lbpcascades
-%{_datadir}/opencv/readme.txt
 
 
 %files devel
@@ -145,20 +157,37 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/opencv
 %{_libdir}/lib*.so
 %{_libdir}/pkgconfig/opencv.pc
+%{_datadir}/opencv/OpenCVConfig.cmake
+
+%files devel-docs
+%defattr(-,root,root,-)
 %doc %{_datadir}/doc/opencv-2.0.0/
 %doc %dir %{_datadir}/opencv/samples
 %doc %{_datadir}/opencv/samples/c
-%doc %{_datadir}/opencv/samples/CMake
-
+%doc %{_docdir}/%{name}-doc-%{version}/%{name}.pdf
+%doc %{_docdir}/%{name}-doc-%{version}/*.htm
+%doc %{_docdir}/%{name}-doc-%{version}/%{name}.jpg
+%doc %{_docdir}/%{name}-doc-%{version}/%{name}-logo*.png
 
 %files python
 %defattr(-,root,root,-)
-%{python_sitearch}/opencv
+%{python_sitearch}/cv.so
 %doc %dir %{_datadir}/opencv/samples
 %doc %{_datadir}/opencv/samples/python
+# old SWIG wrappers
+%{python_sitearch}/opencv
 
 
 %changelog
+* Thu Feb 25 2010 Haïkel Guémar <karlthered at gmail.com> - 2.0.0-6
+- use cmake build system
+- applications renamed to opencv_xxx instead of opencv-xxx
+- add devel-docs subpackage #546605
+- add OpenCVConfig.cmake
+- enable openmp build
+- enable old SWIG based python wrappers
+- opencv package is a good boy and use global instead of define
+
 * Tue Feb 16 2010 Karel Klic <kklic at redhat.com> - 2.0.0-5
 - Set CXXFLAXS without -match=i386 for i386 architecture #565074
 
@@ -169,7 +198,7 @@ rm -rf $RPM_BUILD_ROOT
 - Fixed spec file issues detected by rpmlint
 
 * Sun Dec 06 2009 Haïkel Guémar <karlthered at gmail.com> - 2.0.0-2
-- Fix autotools scripts (missing LBP features) - #544167 
+- Fix autotools scripts (missing LBP features) - #544167
 
 * Fri Nov 27 2009 Haïkel Guémar <karlthered at gmail.com> - 2.0.0-1
 - Updated to 2.0.0



More information about the scm-commits mailing list