Hello community, here is the log from the commit of package opencv for openSUSE:Factory checked in at 2018-06-02 11:53:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/opencv (Old) and /work/SRC/openSUSE:Factory/.opencv.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opencv" Sat Jun 2 11:53:10 2018 rev:71 rq:612803 version:3.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/opencv/opencv.changes 2018-01-16 09:32:38.944987115 +0100 +++ /work/SRC/openSUSE:Factory/.opencv.new/opencv.changes 2018-06-02 11:53:18.645441866 +0200 @@ -1,0 +2,51 @@ +Tue May 29 08:26:53 UTC 2018 - [email protected] + +- Add patch to fix use of headers from C: + * build-workaround-issues-with-c.patch + +------------------------------------------------------------------- +Mon May 28 11:04:23 UTC 2018 - [email protected] + +- Update to 3.4.1: + * Added support for quantized TensorFlow networks + * OpenCV is now able to use Intel DL inference engine as DNN + acceleration backend + * Added AVX-512 acceleration to the performance-critical kernels + * For more information, read + https://github.com/opencv/opencv/wiki/ChangeLog#version341 +- Update contrib modules to 3.4.1: + * No changelog available +- Change mechanism the contrib modules are built +- Include LICENSE of contrib tarball as well +- Build with python3 on >= 15 +- Add patch to fix build on i386 without SSE: + * fix-build-i386-nosse.patch +- Refresh patches: + * fix_processor_detection_for_32bit_on_64bit.patch + * opencv-build-compare.patch +- Mention all libs explicitly +- Rebase 3.4.0 update from [email protected] +- update to 3.4.0 + * Added faster R-CNN support + * Javascript bindings have been extended to + cover DNN module + * DNN has been further accelerated for iGPU + using OpenCL + * On-disk caching of precompiled OpenCL + kernels has been finally implemented + * possible to load and run pre-compiled + OpenCL kernels via T-API + * Bit-exact 8-bit and 16-bit resize has been + implemented (currently supported only + bilinear interpolation) +- update face module to 3.4.0 +- add opencv-lib_suffix.patch, remove LIB_SUFFIX + from OPENCV_LIB_INSTALL_PATH, as CMAKE_INSTALL + _LIBDIR is arch dependent. + +------------------------------------------------------------------- +Mon Mar 12 08:48:12 UTC 2018 - [email protected] + +- Add option to build without openblas + +------------------------------------------------------------------- Old: ---- opencv-3.3.1.tar.gz opencv_contrib_face-3.1.0.tar.bz2 New: ---- build-workaround-issues-with-c.patch fix-build-i386-nosse.patch opencv-3.4.1.tar.gz opencv-lib_suffix.patch opencv_contrib-3.4.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ opencv.spec ++++++ --- /var/tmp/diff_new_pack.3ODinp/_old 2018-06-02 11:53:22.193311733 +0200 +++ /var/tmp/diff_new_pack.3ODinp/_new 2018-06-02 11:53:22.193311733 +0200 @@ -17,38 +17,44 @@ %define libname lib%{name} -%define soname 3_3 +%define soname 3_4 # disabled by default as many fail %bcond_with tests %bcond_without qt5 %bcond_without ffmpeg %bcond_without python2 %bcond_without python3 +%bcond_without openblas Name: opencv -Version: 3.3.1 +Version: 3.4.1 Release: 0 Summary: Collection of algorithms for computer vision -# GPL-2.9 AND Apache-2.0 files are in 3rdparty/ittnotify which is not build -License: BSD-3-Clause AND GPL-2.0 AND Apache-2.0 +# GPL-2.0 AND Apache-2.0 files are in 3rdparty/ittnotify which is not build +License: BSD-3-Clause AND GPL-2.0-only AND Apache-2.0 Group: Development/Libraries/C and C++ Url: http://opencv.org/ Source0: https://github.com/opencv/opencv/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# This is the FACE module from the opencv_contrib package. Packaged separately to prevent too much usntable modules -Source1: opencv_contrib_face-3.1.0.tar.bz2 +# This is the FACE module from the opencv_contrib package. Packaged separately to prevent too much unstable modules +Source1: https://github.com/opencv/opencv_contrib/archive/%{version}.tar.gz#/opencv_contrib-%{version}.tar.gz # PATCH-FIX-OPENCSUSE opencv-gles.patch -- Make sure PERSPECTIVE_CORRECTION_HINT is validated first, https://github.com/opencv/opencv/issues/9171 Patch1: opencv-gles.patch +# PATCH-FIX-UPSTREAM +Patch2: fix-build-i386-nosse.patch +# PATCH-FIX-UPSTREAM +Patch3: build-workaround-issues-with-c.patch # PATCH-FIX-OPENSUSE opencv-build-compare.patch -- avoid republish if some random external version number changes Patch8: opencv-build-compare.patch # PATCH-FIX-OPENSUSE 0001-Do-not-include-glx.h-when-using-GLES.patch -- Fix build error on 32bit ARM, due to incompatible pointer types, https://github.com/opencv/opencv/issues/9171 Patch11: 0001-Do-not-include-glx.h-when-using-GLES.patch # PATCH-FIX-OPENSUSE fix_processor_detection_for_32bit_on_64bit.patch -- Fix CPU detection for 32bit build on qemu-system-aarch64 Patch12: fix_processor_detection_for_32bit_on_64bit.patch +# PATCH-FIX-OPENSUSE remove LIB_SUFFIX from OPENCV_LIB_INSTALL_PATH because CMAKE_INSTALL_LIBDIR is arch dependent +Patch13: opencv-lib_suffix.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: libeigen3-devel BuildRequires: libjasper-devel BuildRequires: libjpeg-devel -BuildRequires: openblas-devel BuildRequires: pkgconfig BuildRequires: tbb-devel BuildRequires: unzip @@ -65,6 +71,9 @@ BuildRequires: pkgconfig(zlib) Provides: opencv-qt5 Obsoletes: opencv-qt5 +%if %{with openblas} +BuildRequires: openblas-devel +%endif %if %{with python2} BuildRequires: pkgconfig(python) %if 0%{?suse_version} > 1325 @@ -170,6 +179,10 @@ %setup -q -a 1 %autopatch -p1 +# Only copy over modules we need +mv opencv_contrib-%{version}/modules/{face,tracking,plot} modules/ +cp opencv_contrib-%{version}/LICENSE LICENSE.contrib + # Remove Windows specific files rm -f doc/packaging.txt @@ -211,6 +224,9 @@ -DCPU_BASELINE=NEON \ -DCPU_DISPATCH=FP16 \ %endif +%if 0%{?suse_version} >= 1500 + -DPYTHON_DEFAULT_EXECUTABLE=/usr/bin/python3 \ +%endif make %{?_smp_mflags} VERBOSE=1 @@ -235,14 +251,36 @@ %postun -n %{libname}%{soname} -p /sbin/ldconfig %files +%license LICENSE LICENSE.contrib %{_bindir}/opencv_* %{_datadir}/OpenCV %exclude %{_datadir}/OpenCV/OpenCVConfig*.cmake %files -n %{libname}%{soname} -%{_libdir}/lib*.so.* +%license LICENSE LICENSE.contrib +%{_libdir}/libopencv_calib3d.so.* +%{_libdir}/libopencv_core.so.* +%{_libdir}/libopencv_dnn.so.* +%{_libdir}/libopencv_face.so.* +%{_libdir}/libopencv_features2d.so.* +%{_libdir}/libopencv_flann.so.* +%{_libdir}/libopencv_highgui.so.* +%{_libdir}/libopencv_imgcodecs.so.* +%{_libdir}/libopencv_imgproc.so.* +%{_libdir}/libopencv_ml.so.* +%{_libdir}/libopencv_objdetect.so.* +%{_libdir}/libopencv_photo.so.* +%{_libdir}/libopencv_plot.so.* +%{_libdir}/libopencv_shape.so.* +%{_libdir}/libopencv_stitching.so.* +%{_libdir}/libopencv_superres.so.* +%{_libdir}/libopencv_tracking.so.* +%{_libdir}/libopencv_video.so.* +%{_libdir}/libopencv_videoio.so.* +%{_libdir}/libopencv_videostab.so.* %files devel +%license LICENSE LICENSE.contrib %{_includedir}/opencv/ %{_includedir}/opencv2/ %{_libdir}/lib*.so @@ -251,11 +289,13 @@ %if %{with python2} %files -n python2-%{name} +%license LICENSE LICENSE.contrib %{python_sitearch}/cv2.so %endif %if %{with python3} %files -n python3-%{name} +%license LICENSE LICENSE.contrib %{python3_sitearch}/cv2.%{py3_soflags}.so %endif ++++++ build-workaround-issues-with-c.patch ++++++ >From 549b5df22520b60b91dd77096434d79425b31ac2 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin <[email protected]> Date: Mon, 28 May 2018 18:07:23 +0300 Subject: [PATCH] build: workaround issues with C compilation mode - cvdef.h + cvRound (double only) - highgui_c.h --- modules/core/include/opencv2/core/cvdef.h | 8 +++++++- modules/highgui/include/opencv2/highgui/highgui_c.h | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h index a87ced09d78..4ab72b34cc1 100644 --- a/modules/core/include/opencv2/core/cvdef.h +++ b/modules/core/include/opencv2/core/cvdef.h @@ -480,7 +480,7 @@ Cv64suf; // Integer types portatibility #ifdef OPENCV_STDINT_HEADER #include OPENCV_STDINT_HEADER -#else +#elif defined(__cplusplus) #if defined(_MSC_VER) && _MSC_VER < 1600 /* MSVS 2010 */ namespace cv { typedef signed char int8_t; @@ -517,9 +517,15 @@ typedef ::int64_t int64_t; typedef ::uint64_t uint64_t; } #endif +#else // pure C +#include <stdint.h> #endif //! @} +#ifndef __cplusplus +#include "opencv2/core/fast_math.hpp" // define cvRound(double) +#endif + #endif // OPENCV_CORE_CVDEF_H diff --git a/modules/highgui/include/opencv2/highgui/highgui_c.h b/modules/highgui/include/opencv2/highgui/highgui_c.h index 1eb414a76ca..35413139c79 100644 --- a/modules/highgui/include/opencv2/highgui/highgui_c.h +++ b/modules/highgui/include/opencv2/highgui/highgui_c.h @@ -135,8 +135,10 @@ CVAPI(int) cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOS CVAPI(void) cvSetWindowProperty(const char* name, int prop_id, double prop_value); CVAPI(double) cvGetWindowProperty(const char* name, int prop_id); +#ifdef __cplusplus // FIXIT remove in OpenCV 4.0 /* Get window image rectangle coordinates, width and height */ CVAPI(cv::Rect)cvGetWindowImageRect(const char* name); +#endif /* display image within window (highgui windows remember their content) */ CVAPI(void) cvShowImage( const char* name, const CvArr* image ); ++++++ fix-build-i386-nosse.patch ++++++ >From 7dc162cb4252ccf461f1c63650abde3c8807b79c Mon Sep 17 00:00:00 2001 From: Alexander Alekhin <[email protected]> Date: Mon, 9 Apr 2018 18:25:51 +0300 Subject: [PATCH] core: fix mm_pause() for non-SSE i386 builds replaced to safe binary compatible 'rep; nop' asm instruction --- modules/core/src/parallel_impl.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/core/src/parallel_impl.cpp b/modules/core/src/parallel_impl.cpp index 78d9eb63694..bc64fce7a81 100644 --- a/modules/core/src/parallel_impl.cpp +++ b/modules/core/src/parallel_impl.cpp @@ -49,7 +49,11 @@ DECLARE_CV_YIELD DECLARE_CV_PAUSE #endif #ifndef CV_PAUSE -#if defined __GNUC__ && (defined __i386__ || defined __x86_64__) +# if defined __GNUC__ && (defined __i386__ || defined __x86_64__) +# if !defined(__SSE__) + static inline void cv_non_sse_mm_pause() { __asm__ __volatile__ ("rep; nop"); } +# define _mm_pause cv_non_sse_mm_pause +# endif # define CV_PAUSE(v) do { for (int __delay = (v); __delay > 0; --__delay) { _mm_pause(); } } while (0) # elif defined __GNUC__ && defined __aarch64__ # define CV_PAUSE(v) do { for (int __delay = (v); __delay > 0; --__delay) { asm volatile("yield" ::: "memory"); } } while (0) ++++++ fix_processor_detection_for_32bit_on_64bit.patch ++++++ --- /var/tmp/diff_new_pack.3ODinp/_old 2018-06-02 11:53:22.237310119 +0200 +++ /var/tmp/diff_new_pack.3ODinp/_new 2018-06-02 11:53:22.237310119 +0200 @@ -1,6 +1,8 @@ ---- opencv-3.3.0/cmake/OpenCVDetectCXXCompiler.cmake_orig 2017-10-27 06:32:16.790452991 +0200 -+++ opencv-3.3.0/cmake/OpenCVDetectCXXCompiler.cmake 2017-10-27 06:34:33.035306589 +0200 -@@ -60,6 +60,7 @@ +Index: opencv-3.4.1/cmake/OpenCVDetectCXXCompiler.cmake +=================================================================== +--- opencv-3.4.1.orig/cmake/OpenCVDetectCXXCompiler.cmake ++++ opencv-3.4.1/cmake/OpenCVDetectCXXCompiler.cmake +@@ -60,6 +60,7 @@ if(CMAKE_COMPILER_IS_GNUCXX) endif() endif() @@ -8,8 +10,8 @@ if(MSVC64 OR MINGW64) set(X86_64 1) elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING)) -@@ -76,11 +77,17 @@ - set(PPC64LE 1) +@@ -78,11 +79,17 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^ + set(PPC64 1) endif() -# Workaround for 32-bit operating systems on 64-bit x86_64 processor ++++++ opencv-3.3.1.tar.gz -> opencv-3.4.1.tar.gz ++++++ /work/SRC/openSUSE:Factory/opencv/opencv-3.3.1.tar.gz /work/SRC/openSUSE:Factory/.opencv.new/opencv-3.4.1.tar.gz differ: char 13, line 1 ++++++ opencv-build-compare.patch ++++++ --- /var/tmp/diff_new_pack.3ODinp/_old 2018-06-02 11:53:22.265309092 +0200 +++ /var/tmp/diff_new_pack.3ODinp/_new 2018-06-02 11:53:22.265309092 +0200 @@ -1,8 +1,10 @@ ---- opencv-3.3.0.orig/CMakeLists.txt 2017-05-28 15:04:38.466895124 +0200 -+++ opencv-3.3.0/CMakeLists.txt 2017-05-28 15:05:23.251389916 +0200 -@@ -843,11 +843,11 @@ - status(" Timestamp:" ${TIMESTAMP}) - endif() +Index: opencv-3.4.1/CMakeLists.txt +=================================================================== +--- opencv-3.4.1.orig/CMakeLists.txt ++++ opencv-3.4.1/CMakeLists.txt +@@ -966,11 +966,11 @@ endif() + if(OPENCV_TIMESTAMP) + status(" Timestamp:" ${OPENCV_TIMESTAMP}) endif() -status(" Host:" ${CMAKE_HOST_SYSTEM_NAME} ${CMAKE_HOST_SYSTEM_VERSION} ${CMAKE_HOST_SYSTEM_PROCESSOR}) +status(" Host:" "Linux") @@ -14,9 +16,11 @@ status(" CMake generator:" ${CMAKE_GENERATOR}) status(" CMake build tool:" ${CMAKE_BUILD_TOOL}) if(MSVC) ---- opencv-3.3.0.orig/cmake/OpenCVUtils.cmake 2016-12-23 13:54:44.000000000 +0100 -+++ opencv-3.3.0/cmake/OpenCVUtils.cmake 2017-05-28 15:07:42.728928083 +0200 -@@ -550,15 +550,18 @@ +Index: opencv-3.4.1/cmake/OpenCVUtils.cmake +=================================================================== +--- opencv-3.4.1.orig/cmake/OpenCVUtils.cmake ++++ opencv-3.4.1/cmake/OpenCVUtils.cmake +@@ -730,15 +730,18 @@ function(status text) if(${status_cond}) string(REPLACE ";" " " status_then "${status_then}") string(REGEX REPLACE "^[ \t]+" "" status_then "${status_then}") ++++++ opencv-lib_suffix.patch ++++++ Index: opencv-3.4.0/CMakeLists.txt =================================================================== --- opencv-3.4.0.orig/CMakeLists.txt +++ opencv-3.4.0/CMakeLists.txt @@ -421,7 +421,7 @@ else() ocv_update(OPENCV_CONFIG_INSTALL_PATH ".") else() include(GNUInstallDirs) - ocv_update(OPENCV_LIB_INSTALL_PATH ${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}) + ocv_update(OPENCV_LIB_INSTALL_PATH ${CMAKE_INSTALL_LIBDIR}) ocv_update(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}) ocv_update(OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples) ocv_update(OPENCV_JAR_INSTALL_PATH share/OpenCV/java) @@ -430,7 +430,7 @@ else() if(NOT DEFINED OPENCV_CONFIG_INSTALL_PATH) math(EXPR SIZEOF_VOID_P_BITS "8 * ${CMAKE_SIZEOF_VOID_P}") if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX) - ocv_update(OPENCV_CONFIG_INSTALL_PATH ${CMAKE_INSTALL_LIBDIR}${LIB_SUFFIX}/cmake/opencv) + ocv_update(OPENCV_CONFIG_INSTALL_PATH ${CMAKE_INSTALL_LIBDIR}/cmake/opencv) else() ocv_update(OPENCV_CONFIG_INSTALL_PATH share/OpenCV) endif()
