diff options
author | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-12-31 22:17:19 +0000 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2011-12-31 22:17:19 +0000 |
commit | 4cbfe988e98889531f47b27ee79d46d9f86ade8f (patch) | |
tree | d1ce04c596a4ae5d821e4a8fb23e637855483f5e /media-libs/opencv | |
parent | Fix py-compile idiom for automake-1.11.2 compatibility (bug #396585). (diff) | |
download | gentoo-2-4cbfe988e98889531f47b27ee79d46d9f86ade8f.tar.gz gentoo-2-4cbfe988e98889531f47b27ee79d46d9f86ade8f.tar.bz2 gentoo-2-4cbfe988e98889531f47b27ee79d46d9f86ade8f.zip |
Added the True/False patch, kinda makes sense. Let's hope upstream follows. Bug 393685.
(Portage version: 2.1.10.41/cvs/Linux x86_64)
Diffstat (limited to 'media-libs/opencv')
-rw-r--r-- | media-libs/opencv/ChangeLog | 9 | ||||
-rw-r--r-- | media-libs/opencv/files/opencv-2.3.1a-True-False.patch | 170 | ||||
-rw-r--r-- | media-libs/opencv/opencv-2.3.1a-r1.ebuild | 168 |
3 files changed, 346 insertions, 1 deletions
diff --git a/media-libs/opencv/ChangeLog b/media-libs/opencv/ChangeLog index 068d18eff12c..34190cdb1a3a 100644 --- a/media-libs/opencv/ChangeLog +++ b/media-libs/opencv/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-libs/opencv # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/opencv/ChangeLog,v 1.62 2011/11/29 23:43:45 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/opencv/ChangeLog,v 1.63 2011/12/31 22:17:19 dilfridge Exp $ + +*opencv-2.3.1a-r1 (31 Dec 2011) + + 31 Dec 2011; Andreas K. Huettel <dilfridge@gentoo.org> + +opencv-2.3.1a-r1.ebuild, +files/opencv-2.3.1a-True-False.patch: + Added the True/False patch, kinda makes sense. Let's hope upstream follows. + Bug 393685. 29 Nov 2011; Andreas K. Huettel <dilfridge@gentoo.org> opencv-2.3.1a.ebuild: Does not need fortran anymore, bug 392297 diff --git a/media-libs/opencv/files/opencv-2.3.1a-True-False.patch b/media-libs/opencv/files/opencv-2.3.1a-True-False.patch new file mode 100644 index 000000000000..fddcb67df45f --- /dev/null +++ b/media-libs/opencv/files/opencv-2.3.1a-True-False.patch @@ -0,0 +1,170 @@ +diff -ur OpenCV-2.3.1.orig/modules/flann/include/opencv2/flann/all_indices.h OpenCV-2.3.1/modules/flann/include/opencv2/flann/all_indices.h +--- OpenCV-2.3.1.orig/modules/flann/include/opencv2/flann/all_indices.h 2011-09-12 13:42:27.000000000 -0500 ++++ OpenCV-2.3.1/modules/flann/include/opencv2/flann/all_indices.h 2011-12-08 15:54:23.000000000 -0600 +@@ -88,7 +88,7 @@ + }; + + template<typename VectorSpace, typename Distance> +-struct index_creator<False,VectorSpace,Distance> ++struct index_creator<XFalse,VectorSpace,Distance> + { + static NNIndex<Distance>* create(const Matrix<typename Distance::ElementType>& dataset, const IndexParams& params, const Distance& distance) + { +@@ -117,7 +117,7 @@ + }; + + template<typename Distance> +-struct index_creator<False,False,Distance> ++struct index_creator<XFalse,XFalse,Distance> + { + static NNIndex<Distance>* create(const Matrix<typename Distance::ElementType>& dataset, const IndexParams& params, const Distance& distance) + { +diff -ur OpenCV-2.3.1.orig/modules/flann/include/opencv2/flann/dist.h OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h +--- OpenCV-2.3.1.orig/modules/flann/include/opencv2/flann/dist.h 2011-09-12 13:42:27.000000000 -0500 ++++ OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h 2011-12-08 15:54:11.000000000 -0600 +@@ -79,11 +79,11 @@ + struct Accumulator<int> { typedef float Type; }; + + +-class True ++class XTrue + { + }; + +-class False ++class XFalse + { + }; + +@@ -97,8 +97,8 @@ + template<class T> + struct L2_Simple + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -130,8 +130,8 @@ + template<class T> + struct L2 + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -195,8 +195,8 @@ + template<class T> + struct L1 + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -252,8 +252,8 @@ + template<class T> + struct MinkowskiDistance + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -316,8 +316,8 @@ + template<class T> + struct MaxDistance + { +- typedef False is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XFalse is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -373,8 +373,8 @@ + */ + struct HammingLUT + { +- typedef False is_kdtree_distance; +- typedef False is_vector_space_distance; ++ typedef XFalse is_kdtree_distance; ++ typedef XFalse is_vector_space_distance; + + typedef unsigned char ElementType; + typedef int ResultType; +@@ -475,8 +475,8 @@ + template<class T> + struct Hamming + { +- typedef False is_kdtree_distance; +- typedef False is_vector_space_distance; ++ typedef XFalse is_kdtree_distance; ++ typedef XFalse is_vector_space_distance; + + + typedef T ElementType; +@@ -537,8 +537,8 @@ + template<typename T> + struct Hamming2 + { +- typedef False is_kdtree_distance; +- typedef False is_vector_space_distance; ++ typedef XFalse is_kdtree_distance; ++ typedef XFalse is_vector_space_distance; + + typedef T ElementType; + typedef int ResultType; +@@ -596,8 +596,8 @@ + template<class T> + struct HistIntersectionDistance + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -649,8 +649,8 @@ + template<class T> + struct HellingerDistance + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -697,8 +697,8 @@ + template<class T> + struct ChiSquareDistance + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; +@@ -751,8 +751,8 @@ + template<class T> + struct KL_Divergence + { +- typedef True is_kdtree_distance; +- typedef True is_vector_space_distance; ++ typedef XTrue is_kdtree_distance; ++ typedef XTrue is_vector_space_distance; + + typedef T ElementType; + typedef typename Accumulator<T>::Type ResultType; diff --git a/media-libs/opencv/opencv-2.3.1a-r1.ebuild b/media-libs/opencv/opencv-2.3.1a-r1.ebuild new file mode 100644 index 000000000000..5a9943a3f316 --- /dev/null +++ b/media-libs/opencv/opencv-2.3.1a-r1.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/opencv/opencv-2.3.1a-r1.ebuild,v 1.1 2011/12/31 22:17:19 dilfridge Exp $ + +EAPI=3 + +PYTHON_DEPEND="python? 2:2.6" + +inherit base toolchain-funcs cmake-utils python + +MY_P=OpenCV-${PV} + +DESCRIPTION="A collection of algorithms and sample code for various computer vision problems" +HOMEPAGE="http://opencv.willowgarage.com" +SRC_URI="mirror://sourceforge/${PN}library/${MY_P}.tar.bz2" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="cuda doc eigen examples ffmpeg gstreamer gtk ieee1394 ipp jpeg jpeg2k openexr opengl png python qt4 sse sse2 sse3 ssse3 tiff v4l xine" + +RDEPEND=" + app-arch/bzip2 + sys-libs/zlib + cuda? ( >=dev-util/nvidia-cuda-toolkit-4 ) + eigen? ( dev-cpp/eigen:2 ) + ffmpeg? ( virtual/ffmpeg ) + gstreamer? ( + media-libs/gstreamer + media-libs/gst-plugins-base + ) + gtk? ( + dev-libs/glib:2 + x11-libs/gtk+:2 + ) + jpeg? ( virtual/jpeg ) + jpeg2k? ( media-libs/jasper ) + ieee1394? ( media-libs/libdc1394 sys-libs/libraw1394 ) + ipp? ( sci-libs/ipp ) + openexr? ( media-libs/openexr ) + png? ( media-libs/libpng ) + python? ( dev-python/numpy ) + qt4? ( + x11-libs/qt-gui:4 + x11-libs/qt-test:4 + opengl? ( x11-libs/qt-opengl:4 ) + ) + tiff? ( media-libs/tiff ) + v4l? ( >=media-libs/libv4l-0.8.3 ) + xine? ( media-libs/xine-lib ) +" +DEPEND="${RDEPEND} + doc? ( virtual/latex-base ) + dev-util/pkgconfig +" + +# REQUIRED_USE="opengl? ( qt )" + +PATCHES=( + "${FILESDIR}/${PN}-2.3.0-numpy.patch" + "${FILESDIR}/${P}-convert_sets_to_options.patch" + "${FILESDIR}/${P}-libsuffix.patch" + "${FILESDIR}/${P}-nocaps.patch" + "${FILESDIR}/${P}-libav-0.7.patch" + "${FILESDIR}/${P}-True-False.patch" +) + +CMAKE_BUILD_TYPE="Release" + +S=${WORKDIR}/${MY_P/2.3.1a/2.3.1} + +pkg_setup() { + if use python; then + python_set_active_version 2 + python_pkg_setup + fi +} + +src_prepare() { + base_src_prepare + + # remove bundled stuff + rm -rf 3rdparty + sed -i \ + -e '/add_subdirectory(3rdparty)/ d' \ + CMakeLists.txt || die +} + +src_configure() { + local mycmakeargs=( + $(cmake-utils_use_build doc DOCS) + $(cmake-utils_use_build examples) + $(cmake-utils_use examples INSTALL_C_EXAMPLES) + $(cmake-utils_use_build python NEW_PYTHON_SUPPORT) + $(cmake-utils_use_enable sse SSE) + $(cmake-utils_use_enable sse2 SSE2) + $(cmake-utils_use_enable sse3 SSE3) + $(cmake-utils_use_enable ssse3 SSSE3) + $(cmake-utils_use_with ipp) + $(cmake-utils_use_with ieee1394 1394) + $(cmake-utils_use_with eigen) + $(cmake-utils_use_with ffmpeg) + $(cmake-utils_use_with gstreamer) + $(cmake-utils_use_with gtk) + $(cmake-utils_use_with jpeg) + $(cmake-utils_use_with jpeg2k JASPER) + $(cmake-utils_use_with openexr) + $(cmake-utils_use_with png) + $(cmake-utils_use_with qt4 QT) + $(cmake-utils_use_with opengl QT_OPENGL) + $(cmake-utils_use_with tiff) + $(cmake-utils_use_with v4l V4L) + $(cmake-utils_use_with xine) + ) + + if use cuda; then + if [[ "$(gcc-version)" > "4.4" ]]; then + ewarn "CUDA and >=sys-devel/gcc-4.5 do not play well together. Disabling CUDA support." + mycmakeargs+=( "-DWITH_CUDA=OFF" ) + else + mycmakeargs+=( "-DWITH_CUDA=ON" ) + fi + else + mycmakeargs+=( "-DWITH_CUDA=OFF" ) + fi + + if use python && use examples; then + mycmakeargs+=( "-DINSTALL_PYTHON_EXAMPLES=ON" ) + else + mycmakeargs+=( "-DINSTALL_PYTHON_EXAMPLES=OFF" ) + fi + + # things we want to be hard off or not yet figured out + # unicap: https://bugs.gentoo.org/show_bug.cgi?id=175881 + # openni: ??? + mycmakeargs+=( + "-DUSE_OMIT_FRAME_POINTER=OFF" + "-DOPENCV_BUILD_3RDPARTY_LIBS=OFF" + "-DOPENCV_WARNINGS_ARE_ERRORS=OFF" + "-DBUILD_LATEX_DOCS=OFF" + "-DENABLE_POWERPC=OFF" + "-DBUILD_PACKAGE=OFF" + "-DENABLE_PROFILING=OFF" + "-DUSE_O2=OFF" + "-DUSE_O3=OFF" + "-DUSE_FAST_MATH=OFF" + "-DENABLE_SSE41=OFF" + "-DENABLE_SSE42=OFF" + "-DWITH_PVAPI=OFF" + "-DWITH_UNICAP=OFF" + "-DWITH_TBB=OFF" + "-DWITH_OPENNI=OFF" + ) + + # things we want to be hard enabled not worth useflag + mycmakeargs+=( + "-DCMAKE_SKIP_RPATH=ON" + "-DBUILD_SHARED_LIBS=ON" + "-DOPENCV_DOC_INSTALL_PATH=${EPREFIX}/usr/share/doc/${PF}" + ) + + # hardcode cuda paths + mycmakeargs+=( + "-DCUDA_NPP_LIBRARY_ROOT_DIR=/opt/cuda" + ) + + cmake-utils_src_configure +} |