summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2011-12-31 22:17:19 +0000
committerAndreas K. Hüttel <dilfridge@gentoo.org>2011-12-31 22:17:19 +0000
commit4cbfe988e98889531f47b27ee79d46d9f86ade8f (patch)
treed1ce04c596a4ae5d821e4a8fb23e637855483f5e /media-libs/opencv
parentFix py-compile idiom for automake-1.11.2 compatibility (bug #396585). (diff)
downloadgentoo-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/ChangeLog9
-rw-r--r--media-libs/opencv/files/opencv-2.3.1a-True-False.patch170
-rw-r--r--media-libs/opencv/opencv-2.3.1a-r1.ebuild168
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
+}