Added the True/False patch, kinda makes sense. Let's hope upstream follows. Bug 393685.
authorAndreas Hüttel <dilfridge@gentoo.org>
Sat, 31 Dec 2011 22:17:19 +0000 (22:17 +0000)
committerAndreas Hüttel <dilfridge@gentoo.org>
Sat, 31 Dec 2011 22:17:19 +0000 (22:17 +0000)
Package-Manager: portage-2.1.10.41/cvs/Linux x86_64

media-libs/opencv/ChangeLog
media-libs/opencv/Manifest
media-libs/opencv/files/opencv-2.3.1a-True-False.patch [new file with mode: 0644]
media-libs/opencv/opencv-2.3.1a-r1.ebuild [new file with mode: 0644]

index 068d18eff12c27b6e47d4456b95ee519872696a2..34190cdb1a3abde2a0b4ab9bc061ce093dbb2ed3 100644 (file)
@@ -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
index 497f42cdf4f6d74f586900ae238551d1046f5e32..a035cc6e6987ca496b36ba6f3ed78348b5307f00 100644 (file)
@@ -6,6 +6,7 @@ AUX opencv-2.3.0-ffmpeg.patch 4940 RMD160 ad9e319212530581cecefe1880605000ff8d8d
 AUX opencv-2.3.0-libpng15.patch 214 RMD160 ec21b397068516716749a0550baa262c5acb22e9 SHA1 6543c741b1cf79b2ceb0a9c681aa3e93661c97b5 SHA256 03cd546c755d4be88b14d5ad2f5987c5abc78633a3e608f4a471db85b21fa22c
 AUX opencv-2.3.0-numpy.patch 551 RMD160 d777f008d8b569076a78f91b6f06a25c4d08bb0f SHA1 766e8c14f4e407a5e252f3a9228f260be8f50e28 SHA256 5b835add26f1a20601126a8cde89b2ee7bb26211e426f35c11b85798d8de2378
 AUX opencv-2.3.0-symlink.patch 838 RMD160 787ef6c6ae59a4d614701fbafe48c8803cf29807 SHA1 08059632d29f08069c8abbc294e501487d97d201 SHA256 286f946ca13760406c8afcf71358758df0051fd51a74578058f263610c05c448
+AUX opencv-2.3.1a-True-False.patch 5120 RMD160 a8b22fa625dab6a6aa589226bab3169594bab2bb SHA1 f0e8e393c57ea70a4e1b78b7a56413e04eb3ebfd SHA256 8076260c01e8ec22d30ced74be64b158e96408b81990a7d14f031170e3165f7f
 AUX opencv-2.3.1a-convert_sets_to_options.patch 9798 RMD160 6265ae4e223def1b5e199f665c740951bdabc78e SHA1 64142f43079ef5d5a4cf91f8ad58f9a744ea6de9 SHA256 fef051756bac47ec68fed3468a5d7d339ab21ae325a21482554f34f9b19f1e08
 AUX opencv-2.3.1a-libav-0.7.patch 415 RMD160 cc9ae832bb72e0ecb09ad25356cb6bcc9ee5e084 SHA1 b1021d451c0949edd0da8dd05c88e2a433c33bbb SHA256 3186998b7b9eaae061d538633276c7de47b2388b639106e190d80dcf09fb9099
 AUX opencv-2.3.1a-libsuffix.patch 1949 RMD160 55ef74fec3ec29aa9b7c7af98b6a2a3be186141e SHA1 7dc609754bbf0de85e0b48ff4622b80b9a70f4c7 SHA256 442c5e7fab7cf28f806c8fc2057d17705b71d95da8ba0792828dab91c6742f44
@@ -13,23 +14,24 @@ AUX opencv-2.3.1a-nocaps.patch 5220 RMD160 8ffadf7c3cdeb4a903d9d31e4363dcfff6a2e
 DIST OpenCV-2.3.0.tar.bz2 42849210 RMD160 79184b56236e3669fccbd2fb0ea0f30008ee81e9 SHA1 53b5d5aab835eb63d4546489b1c1246eeba1da29 SHA256 bcbfff0ff767f0cf2523707a307a5fd0db4853c19c3498f322c8c5839429940b
 DIST OpenCV-2.3.1a.tar.bz2 32669613 RMD160 f2f459bf7c163acb90427db2b0b425ab8008cde5 SHA1 9784e6824c5f677fac82ae83a2f366743adb3299 SHA256 a9a2f529101c04eb2b606eee8c80f3ad93190b36f91ac09ee0ec5aa1eed1450c
 EBUILD opencv-2.3.0.ebuild 4166 RMD160 505fa5edf33e9035b341c6e9629a0e6eb79222a5 SHA1 adf050ca2678d21d4f354612edab4f014903e324 SHA256 9efe9a986c378f0e9fa826fa0bd5c91f891e0a82b161e5e4949d31137f9c6983
+EBUILD opencv-2.3.1a-r1.ebuild 4208 RMD160 aeb14ca73bd0d14519125ba297c198e4cb0b3716 SHA1 3a24483b95a6426298b03a9b96d1732b2a6d8787 SHA256 2823e5dfe41d7346604314bde8b45158ca1e428f8709ec8edd138080a66abb31
 EBUILD opencv-2.3.1a.ebuild 4168 RMD160 b01928a220ed028fb983b675c714e1d7f4fdb68f SHA1 6491a5cab7d2cfb1b3c465053bb9b42fbe372fa8 SHA256 57ce4152e4dbb3f0dc501745d8bd4784499889d9f147b5aadec928ad2dbc42bf
-MISC ChangeLog 11036 RMD160 7eeae591813cfcb498764e32619e00646fe26c69 SHA1 a1c83a29ca81809594ba9b1a888a325f8e61d3a0 SHA256 f4caa4a8307cb4f5e7609ea51848c52af8bc6919b8aacb6b6f55d9681eb501c4
+MISC ChangeLog 11286 RMD160 61a7ae1fd9a79473afc58e5a8398007f04d14922 SHA1 750d46c9f44585f67933b615ac1f1f5bdcade8e0 SHA256 c1e01c1878fc282795787a7c392730186db48a85b62ce426570ade4bffad3e02
 MISC metadata.xml 1099 RMD160 beba86d77f6e837750d5d8a92d0a2f94b4527ccc SHA1 b41e5330b2ef6a31db843e997a4ed88c01529321 SHA256 174e8c3a8340c15f8fb92100e489f9b2bed0a4558c3ef3352c68252ef0fab201
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
-iQIcBAEBCgAGBQJO1W49AAoJENwGBM22xffedYAQAJcIWiZdB7I/2pgKKToYH5is
-4KTjXjKVUkHCeBWoBPphL+HXG1kMLSopN3HE/vFltI8+i/SPRDPQRFHoQ1hO/pwR
-ls5b3VpMOFWtK97sm9Lboqk+O4eJITAZjZ75xhXQozPf5rGV81pc4xoLd2j487HV
-Lu5JZFbD/YpO137PCmQDdr2Km8xvtIqYtNsiBPxsWq7xmeh5SKzlpBEcvZtR3qp8
-mVTVfKF76qVfCRjUZi/ryKVGzmraSPZoFXE9UlQuaT/9QdWUDsv7tFyj7rPkV10S
-Pmxx37cXzqqi2D4pJl6hW0tDiC/lBT3rCrrqF2s+29YDNV+69ztxxKfQPdo9iSII
-2Sl8PHGogdLl386PFgn989yfbeuY8kLE0BH+GNLQNVks5ukb71TtqCMte+C45Hvv
-D5oxZM68w2LKcbHeACsWVHSxuYUSHM95Sp9czDAVOlZxazLuh99SnOC2FO/5bTOm
-BzDvvPafbOMoKqd5oLKcel8AjHCCku/W/tKNv+FRXl25w5hr9U1t23c7p82UoqvI
-gCR0AuP8wda7fJDdJjHqtBo43xfG9p+z8KqfrXhfwzRZe1fwK3DENGocCWNC3rnK
-mpOwMQEupDrWLWtRqHVHIe+CAsM/gVAdPlcaY2ch9JrGB/8OjXnYXKkm9v+srkR4
-Y97F8txX+CcopE0eZzVb
-=5eea
+iQIcBAEBCgAGBQJO/4pwAAoJEEb+UGWnxTyH4fAQAI8Vv8Z/I19H7lz4aWj8gIQz
+I63l7r4U7He/8P/0G8OAEJZJLuGXRRb6Km4RJRXkeocNZoPcRJS+dZtbvbbkkYVk
+q9pc7IPEr9YP2NjvTQkqt3ZbpUIMqtt0mY2dJ7KMSXgw462SY2zGDzKb+jWy/ohT
+39HnoEXzUi+pw8jRqIDmLKxmj1lWzjoHyd7kZHGvidmNoZvSpU+bCI0Z4wtJ+h9R
+hS/iwy59ZkDCVnopBMSEF1uzHT3Pz49eMQPbAt8WmdVmqM/Uc4ysj9uZB9+aaOoU
+ihfphUcx84YpolX2LD+1AKeqVQG0xRQjkuoPAJm8KOiHkVYb0WPTOj7SIoo+2TpM
+laD6dtqI//ewdtohV6DhNJ16kqaPXzzHQTc6FmG+uhJi6HnyiqA1LxeH+N+5WrQ3
+W2v88CIjhjvyCNHwF9ATKKymiz++tfwaGtWKAbV92z932q+eqv9c0gPmyRTHQFfW
+zOiIRADD69jzRZ0yKywgPcSw8BheiKwoLNirWMfJQEvuPEsQnm/ga+uw8bG2Lf7m
+b5hWjtCuUc7eG47vUgAVBQv0E6vpyQDdfQZ/G5YiIa+1+J7hL0fB7R4UXXrnaDAD
+uMYvZGG7HhPtk+lSnzlRfbGgxVaJt9M2HTCyieSNgj4U11hWDeVVBMO8hNGmq79f
+p7shNh4YbpiZpuudVAEX
+=08Xb
 -----END PGP SIGNATURE-----
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 (file)
index 0000000..fddcb67
--- /dev/null
@@ -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 (file)
index 0000000..5a9943a
--- /dev/null
@@ -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
+}