summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/opencv')
-rw-r--r--media-libs/opencv/ChangeLog10
-rw-r--r--media-libs/opencv/files/opencv-2.3.0-convert_sets_to_options.patch330
-rw-r--r--media-libs/opencv/files/opencv-2.3.0-ffmpeg.patch156
-rw-r--r--media-libs/opencv/files/opencv-2.3.0-numpy.patch12
-rw-r--r--media-libs/opencv/files/opencv-2.3.0-symlink.patch12
-rw-r--r--media-libs/opencv/opencv-2.3.0.ebuild166
6 files changed, 685 insertions, 1 deletions
diff --git a/media-libs/opencv/ChangeLog b/media-libs/opencv/ChangeLog
index ed8e704d360e..77d22b6d5caf 100644
--- a/media-libs/opencv/ChangeLog
+++ b/media-libs/opencv/ChangeLog
@@ -1,6 +1,14 @@
# 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.44 2011/09/06 20:56:37 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/opencv/ChangeLog,v 1.45 2011/09/18 20:30:22 dilfridge Exp $
+
+*opencv-2.3.0 (18 Sep 2011)
+
+ 18 Sep 2011; Andreas K. Huettel <dilfridge@gentoo.org> +opencv-2.3.0.ebuild,
+ +files/opencv-2.3.0-convert_sets_to_options.patch,
+ +files/opencv-2.3.0-ffmpeg.patch, +files/opencv-2.3.0-numpy.patch,
+ +files/opencv-2.3.0-symlink.patch:
+ Version bump
06 Sep 2011; Andreas K. Huettel <dilfridge@gentoo.org>
opencv-2.2.0-r10.ebuild:
diff --git a/media-libs/opencv/files/opencv-2.3.0-convert_sets_to_options.patch b/media-libs/opencv/files/opencv-2.3.0-convert_sets_to_options.patch
new file mode 100644
index 000000000000..2f768bcd3355
--- /dev/null
+++ b/media-libs/opencv/files/opencv-2.3.0-convert_sets_to_options.patch
@@ -0,0 +1,330 @@
+diff -ruN OpenCV-2.3.0-0-vanilla/CMakeLists.txt OpenCV-2.3.0/CMakeLists.txt
+--- OpenCV-2.3.0-0-vanilla/CMakeLists.txt 2011-07-04 06:21:50.000000000 +0200
++++ OpenCV-2.3.0/CMakeLists.txt 2011-09-18 19:32:20.000000000 +0200
+@@ -14,7 +14,7 @@
+ # Add these standard paths to the search paths for FIND_LIBRARY
+ # to find libraries from these locations first
+ if(UNIX)
+- set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib /usr/lib)
++ set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib${LIB_SUFFIX} /usr/lib${LIB_SUFFIX})
+ endif()
+
+
+@@ -77,13 +77,13 @@
+ # Build static or dynamic libs?
+ # Default: dynamic libraries
+ # ----------------------------------------------------------------------------
+-set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)")
++OPTION(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" ON)
+
+ # ----------------------------------------------------------------------------
+ # Include debug info into debug libs?
+ # Default: yes
+ # ----------------------------------------------------------------------------
+-set(BUILD_WITH_DEBUG_INFO ON CACHE BOOL "Include debug info into debug libs")
++OPTION(BUILD_WITH_DEBUG_INFO "Include debug info into debug libs" ON)
+
+ # ----------------------------------------------------------------------------
+ # Current version number:
+@@ -285,20 +285,20 @@
+
+ # Build/install (or not) some apps:
+ # ===================================================
+-set(BUILD_EXAMPLES OFF CACHE BOOL "Build all examples")
+-set(INSTALL_C_EXAMPLES OFF CACHE BOOL "Install C examples")
+-set(INSTALL_PYTHON_EXAMPLES OFF CACHE BOOL "Install Python examples")
++option(BUILD_EXAMPLES "Build all examples" OFF)
++option(INSTALL_C_EXAMPLES "Install C examples" OFF)
++option(INSTALL_PYTHON_EXAMPLES "Install Python examples" OFF)
+
+ # Build tests:
+ # ===================================================
+-set(BUILD_TESTS ON CACHE BOOL "Build tests")
++option(BUILD_TESTS "Build tests" ON)
+
+ # Build 3rdparty libraries under unix
+ # ===================================================
+ if(WIN32)
+- set(OPENCV_BUILD_3RDPARTY_LIBS TRUE CACHE BOOL "Build 3rd party libraries")
++ option(OPENCV_BUILD_3RDPARTY_LIBS "Build 3rd party libraries" TRUE)
+ else()
+- set(OPENCV_BUILD_3RDPARTY_LIBS FALSE CACHE BOOL "Build 3rd party libraries")
++ option(OPENCV_BUILD_3RDPARTY_LIBS "Build 3rd party libraries" FALSE)
+ endif()
+
+ include(OpenCVPCHSupport.cmake REQUIRED)
+@@ -324,8 +324,8 @@
+ #set(ENABLE_OPENMP ${DEFAULT_ENABLE_OPENMP} CACHE BOOL "")
+
+ if(CMAKE_COMPILER_IS_GNUCXX)
+- set(ENABLE_PROFILING OFF CACHE BOOL "Enable profiling in the GCC compiler (Add flags: -g -pg)")
+- set(USE_OMIT_FRAME_POINTER ON CACHE BOOL "Enable -fomit-frame-pointer for GCC")
++ option(ENABLE_PROFILING "Enable profiling in the GCC compiler (Add flags: -g -pg)" OFF)
++ option(USE_OMIT_FRAME_POINTER "Enable -fomit-frame-pointer for GCC" ON)
+
+ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*|x86_64*)
+ set(X86_64 1)
+@@ -341,58 +341,58 @@
+
+ if(X86 OR X86_64)
+ # enable everything, since the available set of instructions is checked at runtime
+- set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math")
+- set(ENABLE_SSE ON CACHE BOOL "Enable SSE instructions")
+- set(ENABLE_SSE2 ON CACHE BOOL "Enable SSE2 instructions")
+- set(ENABLE_SSE3 OFF CACHE BOOL "Enable SSE3 instructions")
+- set(ENABLE_SSSE3 OFF CACHE BOOL "Enable SSSE3 instructions")
+- set(ENABLE_SSE41 OFF CACHE BOOL "Enable SSE4.1 instructions")
+- set(ENABLE_SSE42 OFF CACHE BOOL "Enable SSE4.2 instructions")
++ option(USE_FAST_MATH "Enable -ffast-math for GCC" ON)
++ option(ENABLE_SSE "Enable SSE instructions" ON)
++ option(ENABLE_SSE2 "Enable SSE2 instructions" ON)
++ option(ENABLE_SSE3 "Enable SSE3 instructions" OFF)
++ option(ENABLE_SSSE3 "Enable SSSE3 instructions" OFF)
++ option(ENABLE_SSE41 "Enable SSE4.1 instructions" OFF)
++ option(ENABLE_SSE42 "Enable SSE4.2 instructions" OFF)
+ endif()
+ endif()
+
+ if(MSVC)
+- set(ENABLE_SSE ON CACHE BOOL "Enable SSE instructions for MSVC")
+- set(ENABLE_SSE2 ON CACHE BOOL "Enable SSE2 instructions for MSVC")
++ option(ENABLE_SSE "Enable SSE instructions for MSVC" ON)
++ option(ENABLE_SSE2 "Enable SSE2 instructions for MSVC" ON)
+ if(CMAKE_C_COMPILER MATCHES "icc")
+- set(ENABLE_SSE3 OFF CACHE BOOL "Enable SSE3 instructions for ICC")
+- set(ENABLE_SSE4_1 OFF CACHE BOOL "Enable SSE4.1 instructions for ICC")
++ option(ENABLE_SSE3 "Enable SSE3 instructions for ICC" OFF)
++ option(ENABLE_SSE4_1 "Enable SSE4.1 instructions for ICC" OFF)
+ endif()
+ endif()
+
+ # allow fine grained control over which libraries not to link, even if
+ # they are available on the system
+ # ====================================================================
+-set(WITH_PNG ON CACHE BOOL "Include PNG support")
+-set(WITH_JPEG ON CACHE BOOL "Include JPEG support")
+-set(WITH_JASPER ON CACHE BOOL "Include JPEG2K support")
+-set(WITH_TIFF ON CACHE BOOL "Include TIFF support")
+-set(WITH_OPENEXR ON CACHE BOOL "Include ILM support via OpenEXR")
++option(WITH_PNG "Include PNG support" ON)
++option(WITH_JPEG "Include JPEG support" ON)
++option(WITH_JASPER "Include JPEG2K support" ON)
++option(WITH_TIFF "Include TIFF support" ON)
++option(WITH_OPENEXR "Include ILM support via OpenEXR" ON)
+
+ if(UNIX)
+- set(WITH_FFMPEG ON CACHE BOOL "Include FFMPEG support")
++ option(WITH_FFMPEG "Include FFMPEG support" ON)
+ if(NOT APPLE)
+- set(WITH_UNICAP OFF CACHE BOOL "Include Unicap support (GPL)")
+- set(WITH_GTK ON CACHE BOOL "Include GTK support")
+- set(WITH_GSTREAMER ON CACHE BOOL "Include Gstreamer support")
+- set(WITH_V4L ON CACHE BOOL "Include Video 4 Linux support")
+- set(WITH_XINE OFF CACHE BOOL "Include Xine support (GPL)")
++ option(WITH_UNICAP "Include Unicap support (GPL)" OFF)
++ option(WITH_GTK "Include GTK support" ON)
++ option(WITH_GSTREAMER "Include Gstreamer support" ON)
++ option(WITH_V4L "Include Video 4 Linux support" ON)
++ option(WITH_XINE "Include Xine support (GPL)" OFF)
+ endif()
+- set(WITH_PVAPI ON CACHE BOOL "Include Prosilica GigE support")
+- set(WITH_1394 ON CACHE BOOL "Include IEEE1394 support")
++ option(WITH_PVAPI "Include Prosilica GigE support" ON)
++ option(WITH_1394 "Include IEEE1394 support" ON)
+ endif()
+
+ if(APPLE)
+- set(WITH_CARBON OFF CACHE BOOL "Use Carbon for UI instead of Cocoa")
+- set(WITH_QUICKTIME OFF CACHE BOOL "Use QuickTime for Video I/O insted of QTKit")
++ option(WITH_CARBON "Use Carbon for UI instead of Cocoa" OFF)
++ option(WITH_QUICKTIME "Use QuickTime for Video I/O insted of QTKit" OFF)
+ endif()
+
+-set(WITH_TBB OFF CACHE BOOL "Include Intel TBB support")
+-set(WITH_IPP OFF CACHE BOOL "Include Intel IPP support")
+-set(WITH_EIGEN ON CACHE BOOL "Include Eigen2/Eigen3 support")
+-set(WITH_CUDA ON CACHE BOOL "Include NVidia Cuda Runtime support")
++option(WITH_TBB "Include TBB support" OFF)
++option(WITH_IPP "Include Intel IPP support" OFF)
++option(WITH_EIGEN "Include Eigen2/Eigen3 support" ON)
++option(WITH_CUDA "Include NVidia Cuda Runtime support" ON)
+
+-set(WITH_OPENNI OFF CACHE BOOL "Include OpenNI support")
++option(WITH_OPENNI "Include OpenNI support" OFF)
+
+ # ===================================================
+ # Macros that checks if module have been installed.
+@@ -586,13 +586,13 @@
+ include(OpenCVFindOpenEXR.cmake)
+ endif()
+
+-set(BUILD_DOCS ON CACHE BOOL "Build OpenCV Documentation")
++option(BUILD_DOCS "Build OpenCV Documentation" ON)
+
+ if(BUILD_DOCS)
+ include(OpenCVFindLATEX.cmake REQUIRED)
+ endif()
+
+-set(BUILD_NEW_PYTHON_SUPPORT ON CACHE BOOL "Build with Python support")
++option(BUILD_NEW_PYTHON_SUPPORT "Build with Python support" ON)
+
+ if (WIN32)
+ if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+@@ -619,11 +619,11 @@
+
+ string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
+ if(UNIX)
+- set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
++ set(PYTHON_PLUGIN_INSTALL_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
+ if(APPLE)
+ set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages CACHE PATH "Where to install the python packages.")
+ else() #debian based assumed, install to the dist-packages.
+- set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/dist-packages CACHE PATH "Where to install the python packages.")
++ set(PYTHON_PACKAGES_PATH lib${LIB_SUFFIX}/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages)
+ endif()
+ endif()
+ if(WIN32)
+@@ -665,8 +665,8 @@
+ #YV
+ ############################### QT ################################
+
+-set(WITH_QT OFF CACHE BOOL "Build with Qt Backend support")
+-set(WITH_QT_OPENGL OFF CACHE BOOL "Add OpenGL extension to Qt")
++option(WITH_QT "Build with Qt Backend support" OFF)
++option(WITH_QT_OPENGL "Add OpenGL extension to Qt" OFF)
+
+ set(HAVE_QT 0)
+ set(HAVE_QT_OPENGL 0)
+@@ -876,8 +876,8 @@
+ ################## Extra HighGUI libs on Windows ###################
+
+ if(WIN32)
+- set(WITH_VIDEOINPUT ON CACHE BOOL "Build HighGUI with DirectShow support")
+-
++ option(WITH_VIDEOINPUT "Build HighGUI with DirectShow support" ON)
++
+ set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES} comctl32 gdi32 ole32)
+
+ if(WITH_VIDEOINPUT)
+@@ -956,7 +956,7 @@
+ # Set the maximum level of warnings:
+ # ----------------------------------------------------------------------------
+ # Should be set to true for development
+-set(OPENCV_WARNINGS_ARE_ERRORS OFF CACHE BOOL "Treat warnings as errors")
++option(OPENCV_WARNINGS_ARE_ERRORS "Treat warnings as errors" OFF)
+
+ set(EXTRA_C_FLAGS "")
+ set(EXTRA_C_FLAGS_RELEASE "")
+@@ -1197,7 +1197,7 @@
+ if(WIN32)
+ set(OPENCV_DOC_INSTALL_PATH doc)
+ else()
+-set(OPENCV_DOC_INSTALL_PATH share/opencv/doc)
++set(OPENCV_DOC_INSTALL_PATH share/doc/opencv-${OPENCV_VERSION}/ CACHE PATH "Directory for documentation to install (without prefix)")
+ endif()
+
+
+@@ -1232,7 +1232,7 @@
+ set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/../../include/opencv" "\${THIS_OPENCV_CONFIG_PATH}/../../include\"")
+ set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
+
+-set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/../../lib\"")
++set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/../../lib${LIB_SUFFIX}\"")
+
+ exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/unix-install/\"" OUTPUT_VARIABLE RET_VAL)
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
+@@ -1327,14 +1327,14 @@
+ # -------------------------------------------------------------------------------------------
+ set(prefix ${CMAKE_INSTALL_PREFIX})
+ set(exec_prefix "\${prefix}")
+-set(libdir "\${exec_prefix}/lib")
++set(libdir "\${exec_prefix}/lib${LIB_SUFFIX}")
+ set(includedir "\${prefix}/include")
+ set(VERSION ${OPENCV_VERSION})
+
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/opencv.pc.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/opencv.pc" @ONLY IMMEDIATE)
+
+ if(UNIX)
+- install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib/pkgconfig)
++ install(FILES ${CMAKE_BINARY_DIR}/unix-install/opencv.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig)
+ endif()
+
+
+@@ -1354,7 +1354,7 @@
+ # CPack target
+ # ----------------------------------------------------------------------------
+
+-set(BUILD_PACKAGE ON CACHE BOOL "Enables 'make package_source' command")
++option(BUILD_PACKAGE "Build a installer with the SDK" ON)
+
+ if(BUILD_PACKAGE)
+
+diff -ruN OpenCV-2.3.0-0-vanilla/OpenCVModule.cmake OpenCV-2.3.0/OpenCVModule.cmake
+--- OpenCV-2.3.0-0-vanilla/OpenCVModule.cmake 2011-07-04 06:21:59.000000000 +0200
++++ OpenCV-2.3.0/OpenCVModule.cmake 2011-09-18 19:32:20.000000000 +0200
+@@ -63,7 +63,7 @@
+ DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
+ ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
+ RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
+- INSTALL_NAME_DIR lib
++ INSTALL_NAME_DIR lib${LIB_SUFFIX}
+ )
+
+ if(PCHSupport_FOUND AND USE_PRECOMPILED_HEADERS)
+@@ -97,8 +97,8 @@
+
+ install(TARGETS ${the_target}
+ RUNTIME DESTINATION bin COMPONENT main
+- LIBRARY DESTINATION lib COMPONENT main
+- ARCHIVE DESTINATION lib COMPONENT main)
++ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
++ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
+
+ install(FILES ${lib_hdrs}
+ DESTINATION include/opencv2/${name}
+diff -ruN OpenCV-2.3.0-0-vanilla/modules/gpu/CMakeLists.txt OpenCV-2.3.0/modules/gpu/CMakeLists.txt
+--- OpenCV-2.3.0-0-vanilla/modules/gpu/CMakeLists.txt 2011-07-04 06:21:58.000000000 +0200
++++ OpenCV-2.3.0/modules/gpu/CMakeLists.txt 2011-09-18 19:32:20.000000000 +0200
+@@ -121,7 +121,7 @@
+ DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
+ ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
+ RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
+- INSTALL_NAME_DIR lib
++ INSTALL_NAME_DIR lib${LIB_SUFFIX}
+ )
+
+ # Add the required libraries for linking:
+@@ -149,8 +149,8 @@
+
+ install(TARGETS ${the_target}
+ RUNTIME DESTINATION bin COMPONENT main
+- LIBRARY DESTINATION lib COMPONENT main
+- ARCHIVE DESTINATION lib COMPONENT main)
++ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
++ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
+
+ install(FILES ${lib_hdrs}
+ DESTINATION include/opencv2/${name}
+diff -ruN OpenCV-2.3.0-0-vanilla/modules/highgui/CMakeLists.txt OpenCV-2.3.0/modules/highgui/CMakeLists.txt
+--- OpenCV-2.3.0-0-vanilla/modules/highgui/CMakeLists.txt 2011-07-04 06:21:58.000000000 +0200
++++ OpenCV-2.3.0/modules/highgui/CMakeLists.txt 2011-09-18 19:32:20.000000000 +0200
+@@ -295,7 +295,7 @@
+ DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
+ ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
+ RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
+- INSTALL_NAME_DIR lib
++ INSTALL_NAME_DIR lib${LIB_SUFFIX}
+ LINK_INTERFACE_LIBRARIES ""
+ )
+
+@@ -362,8 +362,8 @@
+
+ install(TARGETS ${the_target}
+ RUNTIME DESTINATION bin COMPONENT main
+- LIBRARY DESTINATION lib COMPONENT main
+- ARCHIVE DESTINATION lib COMPONENT main)
++ LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT main
++ ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT main)
+
+ install(FILES ${highgui_ext_hdrs}
+ DESTINATION include/opencv2/highgui
diff --git a/media-libs/opencv/files/opencv-2.3.0-ffmpeg.patch b/media-libs/opencv/files/opencv-2.3.0-ffmpeg.patch
new file mode 100644
index 000000000000..4f93d4eed425
--- /dev/null
+++ b/media-libs/opencv/files/opencv-2.3.0-ffmpeg.patch
@@ -0,0 +1,156 @@
+diff -ruN OpenCV-2.3.0-0-vanilla/modules/highgui/src/cap_ffmpeg_impl.hpp OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp
+--- OpenCV-2.3.0-0-vanilla/modules/highgui/src/cap_ffmpeg_impl.hpp 2011-07-04 06:21:58.000000000 +0200
++++ OpenCV-2.3.0/modules/highgui/src/cap_ffmpeg_impl.hpp 2011-09-18 20:27:05.000000000 +0200
+@@ -489,7 +489,7 @@
+ AVCodecContext *enc = &ic->streams[i]->codec;
+ #endif
+
+- if( CODEC_TYPE_VIDEO == enc->codec_type && video_stream < 0) {
++ if( AVMEDIA_TYPE_VIDEO == enc->codec_type && video_stream < 0) {
+ AVCodec *codec = avcodec_find_decoder(enc->codec_id);
+ if (!codec ||
+ avcodec_open(enc, codec) < 0)
+@@ -576,15 +576,27 @@
+ continue;
+ }
+
+-#if LIBAVFORMAT_BUILD > 4628
+- avcodec_decode_video(video_st->codec,
+- picture, &got_picture,
+- packet.data, packet.size);
+-#else
+- avcodec_decode_video(&video_st->codec,
+- picture, &got_picture,
+- packet.data, packet.size);
+-#endif
++
++ AVPacket avpkt;
++ av_init_packet(&avpkt);
++ avpkt.data = packet.data;
++ avpkt.size = packet.size;
++ //
++ // HACK for CorePNG to decode as normal PNG by default
++ // same method used by ffmpeg
++ avpkt.flags = AV_PKT_FLAG_KEY;
++ avcodec_decode_video2(video_st->codec,
++ picture, &got_picture, &avpkt);
++//Functions Removed from ffmpeg on 4/19/11
++//#if LIBAVFORMAT_BUILD > 4628
++// avcodec_decode_video(video_st->codec,
++// picture, &got_picture,
++// packet.data, packet.size);
++//#else
++// avcodec_decode_video(&video_st->codec,
++// picture, &got_picture,
++// packet.data, packet.size);
++//#endif
+
+ if (got_picture) {
+ // we have a new picture, so memorize it
+@@ -822,24 +834,25 @@
+ #endif
+ };
+
+-static const char * icvFFMPEGErrStr(int err)
+-{
+- switch(err) {
+- case AVERROR_NUMEXPECTED:
+- return "Incorrect filename syntax";
+- case AVERROR_INVALIDDATA:
+- return "Invalid data in header";
+- case AVERROR_NOFMT:
+- return "Unknown format";
+- case AVERROR_IO:
+- return "I/O error occurred";
+- case AVERROR_NOMEM:
+- return "Memory allocation error";
+- default:
+- break;
+- }
+- return "Unspecified error";
+-}
++//Deprecated Errors, should be using AVERROR(EINVAL) to return error strings
++//static const char * icvFFMPEGErrStr(int err)
++//{
++// switch(err) {
++// case AVERROR_NUMEXPECTED:
++// return "Incorrect filename syntax";
++// case AVERROR_INVALIDDATA:
++// return "Invalid data in header";
++// case AVERROR_NOFMT:
++// return "Unknown format";
++// case AVERROR_IO:
++// return "I/O error occurred";
++// case AVERROR_NOMEM:
++// return "Memory allocation error";
++// default:
++// break;
++// }
++// return "Unspecified error";
++//}
+
+ /* function internal to FFMPEG (libavformat/riff.c) to lookup codec id by fourcc tag*/
+ extern "C" {
+@@ -918,7 +931,7 @@
+ #endif
+
+ #if LIBAVFORMAT_BUILD > 4621
+- c->codec_id = av_guess_codec(oc->oformat, NULL, oc->filename, NULL, CODEC_TYPE_VIDEO);
++ c->codec_id = av_guess_codec(oc->oformat, NULL, oc->filename, NULL, AVMEDIA_TYPE_VIDEO);
+ #else
+ c->codec_id = oc->oformat->video_codec;
+ #endif
+@@ -930,7 +943,7 @@
+ //if(codec_tag) c->codec_tag=codec_tag;
+ codec = avcodec_find_encoder(c->codec_id);
+
+- c->codec_type = CODEC_TYPE_VIDEO;
++ c->codec_type = AVMEDIA_TYPE_VIDEO;
+
+ /* put sample parameters */
+ c->bit_rate = bitrate;
+@@ -1015,7 +1028,7 @@
+ AVPacket pkt;
+ av_init_packet(&pkt);
+
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ pkt.stream_index= video_st->index;
+ pkt.data= (uint8_t *)picture;
+ pkt.size= sizeof(AVPicture);
+@@ -1035,7 +1048,7 @@
+ pkt.pts = c->coded_frame->pts;
+ #endif
+ if(c->coded_frame->key_frame)
+- pkt.flags |= PKT_FLAG_KEY;
++ pkt.flags |= AV_PKT_FLAG_KEY;
+ pkt.stream_index= video_st->index;
+ pkt.data= outbuf;
+ pkt.size= out_size;
+@@ -1237,7 +1250,7 @@
+ av_register_all ();
+
+ /* auto detect the output format from the name and fourcc code. */
+- fmt = guess_format(NULL, filename, NULL);
++ fmt = av_guess_format(NULL, filename, NULL);
+ if (!fmt)
+ return false;
+
+@@ -1260,7 +1273,7 @@
+ #endif
+
+ // alloc memory for context
+- oc = av_alloc_format_context();
++ oc = avformat_alloc_context();
+ assert (oc);
+
+ /* set file name */
+@@ -1336,7 +1349,7 @@
+ /* open the codec */
+ if ( (err=avcodec_open(c, codec)) < 0) {
+ char errtext[256];
+- sprintf(errtext, "Could not open codec '%s': %s", codec->name, icvFFMPEGErrStr(err));
++ sprintf(errtext, "Could not open codec '%s': %s", codec->name, AVERROR(EINVAL));
+ return false;
+ }
+
diff --git a/media-libs/opencv/files/opencv-2.3.0-numpy.patch b/media-libs/opencv/files/opencv-2.3.0-numpy.patch
new file mode 100644
index 000000000000..e0706d21674f
--- /dev/null
+++ b/media-libs/opencv/files/opencv-2.3.0-numpy.patch
@@ -0,0 +1,12 @@
+diff -ruN OpenCV-2.3.0-1-ol1/CMakeLists.txt OpenCV-2.3.0-2-numpy/CMakeLists.txt
+--- OpenCV-2.3.0-1-ol1/CMakeLists.txt 2011-08-28 14:53:46.000000000 +0200
++++ OpenCV-2.3.0-2-numpy/CMakeLists.txt 2011-08-28 15:26:37.000000000 +0200
+@@ -640,7 +640,7 @@
+
+ if(PYTHON_NUMPY_PROCESS EQUAL 0)
+ set(PYTHON_USE_NUMPY 1)
+- add_definitions(-D PYTHON_USE_NUMPY=1)
++ add_definitions(-DPYTHON_USE_NUMPY=1)
+ include_directories(AFTER ${PYTHON_NUMPY_INCLUDE_DIRS})
+ message(STATUS " Use NumPy headers from: ${PYTHON_NUMPY_INCLUDE_DIRS}")
+ else()
diff --git a/media-libs/opencv/files/opencv-2.3.0-symlink.patch b/media-libs/opencv/files/opencv-2.3.0-symlink.patch
new file mode 100644
index 000000000000..d6f5efb249d2
--- /dev/null
+++ b/media-libs/opencv/files/opencv-2.3.0-symlink.patch
@@ -0,0 +1,12 @@
+diff -ruN OpenCV-2.3.0-1-s2o/CMakeLists.txt OpenCV-2.3.0/CMakeLists.txt
+--- OpenCV-2.3.0-1-s2o/CMakeLists.txt 2011-09-18 18:40:04.000000000 +0200
++++ OpenCV-2.3.0/CMakeLists.txt 2011-09-18 18:55:47.000000000 +0200
+@@ -1240,7 +1240,7 @@
+ if(UNIX)
+ # For a command "FIND_PACKAGE(FOO)", CMake will look at the directory /usr/share|lib/cmake/FOO/FOOConfig.cmake, so:
+ install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake DESTINATION share/opencv/)
+- install(CODE "exec_program(ln ARGS -sf \"${CMAKE_INSTALL_PREFIX}/share/opencv\" \"${CMAKE_INSTALL_PREFIX}/share/OpenCV\")")
++ install(CODE "exec_program(ln ARGS -sf \"${CMAKE_INSTALL_PREFIX}/share/opencv\" \"$ENV{D}/${CMAKE_INSTALL_PREFIX}/share/OpenCV\")")
+ endif()
+
+ # --------------------------------------------------------------------------------------------
diff --git a/media-libs/opencv/opencv-2.3.0.ebuild b/media-libs/opencv/opencv-2.3.0.ebuild
new file mode 100644
index 000000000000..e75a33066dcb
--- /dev/null
+++ b/media-libs/opencv/opencv-2.3.0.ebuild
@@ -0,0 +1,166 @@
+# 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.0.ebuild,v 1.1 2011/09/18 20:30:22 dilfridge Exp $
+
+EAPI=3
+
+PYTHON_DEPEND="python? 2:2.6"
+
+inherit base cmake-utils fortran-2 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 test tiff v4l xine"
+
+# all tests fail, needs further investigation, bug 296681 - dilfridge
+RESTRICT=test
+
+RDEPEND="
+ app-arch/bzip2
+ sys-libs/zlib
+ sci-libs/flann
+ 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
+ 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-convert_sets_to_options.patch"
+ "${FILESDIR}/${PN}-2.3.0-ffmpeg.patch"
+ "${FILESDIR}/${PN}-2.3.0-numpy.patch"
+ "${FILESDIR}/${PN}-2.3.0-symlink.patch"
+)
+
+CMAKE_BUILD_TYPE="Release"
+
+S=${WORKDIR}/${MY_P}
+
+pkg_setup() {
+ fortran-2_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_build test TESTS)
+ $(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 cuda)
+ $(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 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
+}
+
+src_test() {
+ export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${CMAKE_BUILD_DIR}/lib"
+ cmake-utils_src_test
+}