opencv: unbreak x86; remove unnecessary rdeps; simplify.
This commit is contained in:
parent
5ed2f074ea
commit
dcd84de33d
3 changed files with 85 additions and 8 deletions
34
srcpkgs/opencv/patches/pkgconfig.patch
Normal file
34
srcpkgs/opencv/patches/pkgconfig.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
--- cmake/OpenCVGenPkgconfig.cmake 2013-11-12 20:31:27.253763202 +0000
|
||||
+++ cmake/OpenCVGenPkgconfig.cmake 2013-11-12 20:41:48.936262732 +0000
|
||||
@@ -10,7 +10,7 @@
|
||||
# -------------------------------------------------------------------------------------------
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(exec_prefix "\${prefix}")
|
||||
-set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
|
||||
+set(libdir "\${prefix}/${OPENCV_LIB_INSTALL_PATH}")
|
||||
set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
|
||||
|
||||
if(CMAKE_BUILD_TYPE MATCHES "Release")
|
||||
@@ -35,10 +35,11 @@
|
||||
ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
|
||||
|
||||
#build the list of components
|
||||
-set(OpenCV_LIB_COMPONENTS_ "")
|
||||
+set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}")
|
||||
foreach(CVLib ${OpenCV_LIB_COMPONENTS})
|
||||
get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
|
||||
get_filename_component(libname "${libpath}" NAME)
|
||||
+ get_filename_component(lname "${libpath}" NAME_WE)
|
||||
|
||||
if(INSTALL_TO_MANGLED_PATHS)
|
||||
set(libname "${libname}.${OPENCV_VERSION}")
|
||||
@@ -51,7 +52,8 @@
|
||||
set(installDir "${OPENCV_LIB_INSTALL_PATH}")
|
||||
endif()
|
||||
|
||||
- set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
|
||||
+ string(REPLACE "libopencv" "-lopencv" lname "${lname}")
|
||||
+ set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${lname}")
|
||||
endforeach()
|
||||
|
||||
# add extra dependencies required for OpenCV
|
46
srcpkgs/opencv/patches/x86_asmfix.patch
Normal file
46
srcpkgs/opencv/patches/x86_asmfix.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
From ea50be0529c248961e1b66293f8a9e4b807294a6 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Martin <s.martin49@gmail.com>
|
||||
Date: Sun, 12 Oct 2014 10:17:23 +0200
|
||||
Subject: [PATCH] core: fix x86 PIC code compilation
|
||||
|
||||
This bug was triggered by Buildroot autobuilders [1,2], causing this
|
||||
kind of failures [3,4]:
|
||||
|
||||
[ 14%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
|
||||
/home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp: In function '(static initializers for /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp)':
|
||||
/home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an 'asm'
|
||||
make[3]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
|
||||
|
||||
[1] http://buildroot.org/
|
||||
[2] http://autobuild.buildroot.org/
|
||||
[3] http://autobuild.buildroot.org/?reason=opencv-2.4.10
|
||||
[4] http://autobuild.buildroot.org/results/483/4838285b25d6293a5cf0bb9eadd5040a7c75d766/build-end.log
|
||||
|
||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
||||
---
|
||||
modules/core/src/system.cpp | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp
|
||||
index 5a970d5..e9ffdc7 100644
|
||||
--- modules/core/src/system.cpp
|
||||
+++ modules/core/src/system.cpp
|
||||
@@ -267,14 +267,17 @@ struct HWFeatures
|
||||
: "cc"
|
||||
);
|
||||
#else
|
||||
+ // We need to preserve ebx since we are compiling PIC code.
|
||||
+ // This means we cannot use "=b" for the 2nd output register.
|
||||
asm volatile
|
||||
(
|
||||
"pushl %%ebx\n\t"
|
||||
"movl $7,%%eax\n\t"
|
||||
"movl $0,%%ecx\n\t"
|
||||
"cpuid\n\t"
|
||||
+ "movl %%ebx,%1\n\t"
|
||||
"popl %%ebx\n\t"
|
||||
- : "=a"(cpuid_data[0]), "=b"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
|
||||
+ : "=a"(cpuid_data[0]), "=r"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
|
||||
:
|
||||
: "cc"
|
||||
);
|
|
@ -3,25 +3,23 @@
|
|||
|
||||
pkgname=opencv
|
||||
version=2.4.10
|
||||
revision=1
|
||||
revision=2
|
||||
build_style=cmake
|
||||
maintainer="Carlo Dormeletti <carloDOTdormelettiATaliceDOTit>"
|
||||
homepage="http://opencv.org"
|
||||
license="BSD"
|
||||
short_desc="Computer vision and machine learning software library"
|
||||
configure_args="-Wno-dev -DCMAKE_BUILD_TYPE=RELEASE "
|
||||
configure_args="-Wno-dev"
|
||||
hostmakedepends="cmake pkg-config python-devel eigen2 unzip python-numpy-devel"
|
||||
makedepends="ffmpeg-devel libpng-devel libjpeg-turbo-devel tiff-devel
|
||||
jasper-devel libopenexr-devel"
|
||||
jasper-devel libopenexr-devel"
|
||||
distfiles="${SOURCEFORGE_SITE}/opencvlibrary/opencv-unix/${version}/opencv-${version}.zip"
|
||||
checksum="1bf4cb87283797fd91669d4f90b622a677a903c20b4a577b7958a2164f7596c6"
|
||||
|
||||
|
||||
libopencv_package() {
|
||||
short_desc+=" - library files"
|
||||
depends="${sourcepkg}>=${version}_${revision}"
|
||||
pkg_install() {
|
||||
vmove usr/lib/libopencv_*.so.*
|
||||
vmove usr/lib/*.so.*
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -38,8 +36,7 @@ libopencv-devel_package() {
|
|||
}
|
||||
|
||||
libopencv-python_package(){
|
||||
short_desc+=" - python files"
|
||||
depends="libopencv>=${version}_${revision}"
|
||||
short_desc+=" - python bindings"
|
||||
pkg_install() {
|
||||
vmove usr/lib/python2.7
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue