summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberto Villa <avilla@FreeBSD.org>2010-08-27 18:16:16 +0000
committerAlberto Villa <avilla@FreeBSD.org>2010-08-27 18:16:16 +0000
commit157f1b5c0db6312c0c18db88b9fa9da6aad11085 (patch)
treeceda42d9807899b78f9b4378b4528d888fa42f99
parent- Pass maintainership to submitter (diff)
- Upgrade to 2.1.0.
- Fix build on 6.X. - Fix build with GCC 4.5. [1] - Fix dependency on Video4Linux. [1] - Add LICENSE. - Use bsd.port.options.mk. PR: ports/148955 [1] Submitted by: swell.k@gmail.com [1] Approved by: tabthorpe (mentor)
Notes
Notes: svn path=/head/; revision=260084
-rw-r--r--graphics/opencv/Makefile89
-rw-r--r--graphics/opencv/distinfo6
-rw-r--r--graphics/opencv/files/patch-apps-traincascade-imagestorage.h10
-rw-r--r--graphics/opencv/files/patch-samples-c-image.cpp7
-rw-r--r--graphics/opencv/pkg-plist11
5 files changed, 83 insertions, 40 deletions
diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile
index 14f23deab980..3074374b4250 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -6,31 +6,31 @@
#
PORTNAME= opencv
-PORTVERSION= 2.0.0
-PORTREVISION= 3
+PORTVERSION= 2.1.0
CATEGORIES= graphics
-MASTER_SITES= SF/${PORTNAME}library/${PORTNAME}-unix/2.0
+MASTER_SITES= SF/${PORTNAME}library/${PORTNAME}-unix/${PORTVERSION:R}
DISTNAME= OpenCV-${PORTVERSION}
MAINTAINER= avilla@FreeBSD.org
COMMENT= Open Source Computer Vision library from Intel
+LICENSE= BSD
+LICENSE_FILE= ${WRKSRC}/doc/license.txt
+
USE_GNOME= pkgconfig
WANT_GSTREAMER= yes
MAKE_JOBS_SAFE= yes
USE_BZIP2= yes
USE_CMAKE= yes
-CMAKE_ARGS= -DWITH_1394:BOOL=Off -DWITH_UNICAP:BOOL=Off
-CMAKE_SOURCE_PATH= ${WRKSRC}
USE_LDCONFIG= yes
NOT_FOR_ARCHS= sparc64
NOT_FOR_ARCHS_REASON_sparc64= does not compile on sparc64
-PORTDOCS= CMakeLists.txt ChangeLog.htm haartraining.htm index.htm \
- latex_readme.txt license.txt opencv-logo.png \
- opencv-logo2.png opencv.jpg opencv.pdf packaging.txt \
- papers pattern.pdf python.txt vidsurv
+PORTDOCS= CMakeLists.txt ChangeLog.htm README.txt \
+ haartraining.htm index.htm license.txt \
+ opencv-logo.png opencv-logo2.png opencv.jpg \
+ opencv.pdf packaging.txt papers pattern.pdf vidsurv
PORTEXAMPLES= c
@@ -41,59 +41,56 @@ OPTIONS= FFMPEG "Include FFmpeg support" off \
JPEG "Include JPEG support" on \
PNG "Include PNG support" on \
PYTHON "Build with Python support" off \
+ TBB "Include TBB support" off \
TIFF "Include TIFF support" on \
V4L "Include Video4Linux support" on \
XINE "Include XINE support" off
-# cannot be built with cmake yet
+# Cannot be built with CMake yet.
#OCTAVE "Build with Octave support" off \
-.include <bsd.port.pre.mk>
-
-.if ${OSVERSION} < 700042
-BROKEN= does not build on 6.X
-.endif
+.include <bsd.port.options.mk>
.ifndef(NOPORTEXAMPLES)
CMAKE_ARGS+= -DBUILD_EXAMPLES:BOOL=On -DINSTALL_C_EXAMPLES:BOOL=On
.endif
-.if defined(WITH_FFMPEG)
+.ifdef(WITH_FFMPEG)
LIB_DEPENDS+= avcodec.1:${PORTSDIR}/multimedia/ffmpeg
CMAKE_ARGS+= -DWITH_FFMPEG:BOOL=On
.else
CMAKE_ARGS+= -DWITH_FFMPEG:BOOL=Off
.endif
-.if defined(WITH_GSTREAMER)
-LIB_DEPENDS+= gstreamer-${GST_VERSION}.0:${PORTSDIR}/multimedia/gstreamer
+.ifdef(WITH_GSTREAMER)
+USE_GSTREAMER= yes
CMAKE_ARGS+= -DWITH_GSTREAMER:BOOL=On
.else
CMAKE_ARGS+= -DWITH_GSTREAMER:BOOL=Off
.endif
-.if defined(WITH_GTK)
+.ifdef(WITH_GTK)
USE_GNOME= gtk20
CMAKE_ARGS+= -DWITH_GTK:BOOL=On
.else
CMAKE_ARGS+= -DWITH_GTK:BOOL=Off
.endif
-.if !defined(WITHOUT_JASPER)
+.ifndef(WITHOUT_JASPER)
LIB_DEPENDS+= jasper.4:${PORTSDIR}/graphics/jasper
CMAKE_ARGS+= -DWITH_JASPER:BOOL=On
.else
CMAKE_ARGS+= -DWITH_JASPER:BOOL=Off
.endif
-.if !defined(WITHOUT_JPEG)
+.ifndef(WITHOUT_JPEG)
LIB_DEPENDS+= jpeg.11:${PORTSDIR}/graphics/jpeg
CMAKE_ARGS+= -DWITH_JPEG:BOOL=On
.else
CMAKE_ARGS+= -DWITH_JPEG:BOOL=Off
.endif
-#.if defined(WITH_OCTAVE)
+#.ifdef(WITH_OCTAVE)
#.include "${PORTSDIR}/Mk/bsd.octave.mk"
#CMAKE_ARGS+= -DBUILD_OCTAVE_SUPPORT:BOOL=On
#.ifndef(NOPORTEXAMPLES)
@@ -106,16 +103,17 @@ CMAKE_ARGS+= -DWITH_JPEG:BOOL=Off
#PLIST_SUB+= OCTAVE="@comment "
#.endif
-.if !defined(WITHOUT_PNG)
+.ifndef(WITHOUT_PNG)
LIB_DEPENDS+= png.6:${PORTSDIR}/graphics/png
CMAKE_ARGS+= -DWITH_PNG:BOOL=On
.else
CMAKE_ARGS+= -DWITH_PNG:BOOL=Off
.endif
-.if defined(WITH_PYTHON)
-.include "${PORTSDIR}/Mk/bsd.python.mk"
+.ifdef(WITH_PYTHON)
USE_PYTHON= yes
+BUILD_DEPENDS+= ${PYNUMPY}
+RUN_DEPENDS+= ${PYNUMPY}
CMAKE_ARGS+= -DBUILD_NEW_PYTHON_SUPPORT:BOOL=On
.ifndef(NOPORTEXAMPLES)
CMAKE_ARGS+= -DINSTALL_PYTHON_EXAMPLES:BOOL=On
@@ -127,31 +125,58 @@ CMAKE_ARGS+= -DBUILD_NEW_PYTHON_SUPPORT:BOOL=Off
PLIST_SUB+= PYTHON="@comment "
.endif
-.if !defined(WITHOUT_TIFF)
+.ifdef(WITH_TBB)
+LIB_DEPENDS+= tbb.3:${PORTSDIR}/devel/tbb
+CMAKE_ARGS+= -DWITH_TBB:BOOL=On \
+ -DTBBLIB_FOUND:BOOL=1 -DTBB_FOUND:BOOL=On \
+ -DTBB_INCLUDE_DIRS:STRING="${LOCALBASE}/include" \
+ -DTBB_LIBRARY_DIRS:STRING="${LOCALBASE}/lib" \
+ -DTBB_LIBRARIES:STRING="tbb"
+.else
+CMAKE_ARGS+= -DWITH_TBB:BOOL=Off
+.endif
+
+.ifndef(WITHOUT_TIFF)
LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
CMAKE_ARGS+= -DWITH_TIFF:BOOL=On
.else
CMAKE_ARGS+= -DWITH_TIFF:BOOL=Off
.endif
-.if !defined(WITHOUT_V4L)
-BUILD_DEPENDS+= ${LOCALBASE}/include/linux/videodev.h:${PORTSDIR}/multimedia/v4l_compat
+.ifndef(WITHOUT_V4L)
+LIB_DEPENDS+= v4l2.0:${PORTSDIR}/multimedia/libv4l
+BUILD_DEPENDS+= ${LOCALBASE}/include/linux/videodev2.h:${PORTSDIR}/multimedia/v4l_compat
CMAKE_ARGS+= -DWITH_V4L:BOOL=On \
-DCMAKE_REQUIRED_INCLUDES:STRING="${LOCALBASE}/include"
.else
CMAKE_ARGS+= -DWITH_V4L:BOOL=Off
.endif
-.if defined(WITH_XINE)
+.ifdef(WITH_XINE)
LIB_DEPENDS+= xine.1:${PORTSDIR}/multimedia/libxine
CMAKE_ARGS+= -DWITH_XINE:BOOL=On
.else
CMAKE_ARGS+= -DWITH_XINE:BOOL=Off
.endif
-CONFIGURE_WRKSRC=${WRKSRC}/build
-BUILD_WRKSRC=${CONFIGURE_WRKSRC}
-INSTALL_WRKSRC=${BUILD_WRKSRC}
+.include <bsd.port.pre.mk>
+
+# This whole block looks a bit hackish, but it works...
+.if ${ARCH} == "amd64" && ${OSVERSION} < 700042
+USE_GCC= 4.2+
+.else
+CMAKE_OUTSOURCE= yes
+.if ${ARCH} == "i386" && ${OSVERSION} >= 700042 && ${OSVERSION} < 800107
+USE_GCC= 4.4+
+.endif
+.endif
+
+# Any other way to override CFLAGS and CXXFLAGS?
+.ifdef(USE_GCC)
+CMAKE_SOURCE_PATH= -DCMAKE_C_FLAGS:STRING="${CFLAGS:C/-Wl[^ ]*//g}" \
+ -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS:C/-Wl[^ ]*//g}" \
+ ${WRKSRC}
+.endif
pre-configure:
@${MKDIR} ${CONFIGURE_WRKSRC}
diff --git a/graphics/opencv/distinfo b/graphics/opencv/distinfo
index db412da9158b..4f4e66efb5f2 100644
--- a/graphics/opencv/distinfo
+++ b/graphics/opencv/distinfo
@@ -1,3 +1,3 @@
-MD5 (OpenCV-2.0.0.tar.bz2) = ed27520514baacc5edad7b06ad24130e
-SHA256 (OpenCV-2.0.0.tar.bz2) = c17db9974d87290aefc12bf7987a9f417946bc313823985de4df48ae3e1e0022
-SIZE (OpenCV-2.0.0.tar.bz2) = 12779856
+MD5 (OpenCV-2.1.0.tar.bz2) = 1d71584fb4e04214c0085108f95e24c8
+SHA256 (OpenCV-2.1.0.tar.bz2) = 26061fd52ab0ab593c093ff94b5f5c09b956d7deda96b47019ff11932111397f
+SIZE (OpenCV-2.1.0.tar.bz2) = 14459566
diff --git a/graphics/opencv/files/patch-apps-traincascade-imagestorage.h b/graphics/opencv/files/patch-apps-traincascade-imagestorage.h
new file mode 100644
index 000000000000..c4c90572949d
--- /dev/null
+++ b/graphics/opencv/files/patch-apps-traincascade-imagestorage.h
@@ -0,0 +1,10 @@
+--- apps/traincascade/imagestorage.h~
++++ apps/traincascade/imagestorage.h
+@@ -1,6 +1,7 @@
+ #ifndef _OPENCV_IMAGESTORAGE_H_
+ #define _OPENCV_IMAGESTORAGE_H_
+
++#include <cstdio>
+ #include <highgui.h>
+
+ using namespace cv;
diff --git a/graphics/opencv/files/patch-samples-c-image.cpp b/graphics/opencv/files/patch-samples-c-image.cpp
new file mode 100644
index 000000000000..c6d8d4642e37
--- /dev/null
+++ b/graphics/opencv/files/patch-samples-c-image.cpp
@@ -0,0 +1,7 @@
+--- samples/c/image.cpp~
++++ samples/c/image.cpp
+@@ -1,3 +1,4 @@
++#include <cstdio>
+ #include "cv.h" // include standard OpenCV headers, same as before
+ #include "highgui.h"
+
diff --git a/graphics/opencv/pkg-plist b/graphics/opencv/pkg-plist
index 530eb033ae8d..ad1751da68ca 100644
--- a/graphics/opencv/pkg-plist
+++ b/graphics/opencv/pkg-plist
@@ -7,6 +7,7 @@ include/opencv/cv.hpp
include/opencv/cvaux.h
include/opencv/cvaux.hpp
include/opencv/cvcompat.h
+include/opencv/cvinternal.h
include/opencv/cvtypes.h
include/opencv/cvver.h
include/opencv/cvvidsurv.hpp
@@ -24,19 +25,19 @@ include/opencv/highgui.hpp
include/opencv/ml.h
lib/libcv.so
lib/libcv.so.2
-lib/libcv.so.2.0.0
+lib/libcv.so.2.1.0
lib/libcvaux.so
lib/libcvaux.so.2
-lib/libcvaux.so.2.0.0
+lib/libcvaux.so.2.1.0
lib/libcxcore.so
lib/libcxcore.so.2
-lib/libcxcore.so.2.0.0
+lib/libcxcore.so.2.1.0
lib/libhighgui.so
lib/libhighgui.so.2
-lib/libhighgui.so.2.0.0
+lib/libhighgui.so.2.1.0
lib/libml.so
lib/libml.so.2
-lib/libml.so.2.0.0
+lib/libml.so.2.1.0
%%PYTHON%%%%PYTHON_SITELIBDIR%%/cv.so
libdata/pkgconfig/opencv.pc
%%DATADIR%%/OpenCVConfig.cmake