From: Mike Looijmans <mike.looijmans@topic.nl>
To: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>,
Martin Jansa <Martin.Jansa@gmail.com>,
Otavio Salvador <otavio@ossystems.com.br>,
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] opencv: Upgrade to 3.0
Date: Tue, 9 Jun 2015 12:12:10 +0200 [thread overview]
Message-ID: <5576BBFA.2030802@topic.nl> (raw)
In-Reply-To: <1433844421-17272-1-git-send-email-ricardo.ribalda@gmail.com>
OpenCV 3 is not backwards compatible, removing 2.x will break any recipe
currently using OpenCV.
On 09-06-15 12:07, Ricardo Ribalda Delgado wrote:
> -Support for new PACKAGECONFIGS
> -Merge with opencv-samples
>
> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
> ---
> .../recipes-support/opencv/opencv-samples_2.4.bb | 39 -------
> meta-oe/recipes-support/opencv/opencv_2.4.bb | 99 ----------------
> meta-oe/recipes-support/opencv/opencv_3.0.bb | 125 +++++++++++++++++++++
> 3 files changed, 125 insertions(+), 138 deletions(-)
> delete mode 100644 meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
> delete mode 100644 meta-oe/recipes-support/opencv/opencv_2.4.bb
> create mode 100644 meta-oe/recipes-support/opencv/opencv_3.0.bb
>
> diff --git a/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
> deleted file mode 100644
> index 9d862fe910f7..000000000000
> --- a/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -SUMMARY = "Opencv : The Open Computer Vision Library"
> -HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
> -SECTION = "libs"
> -LICENSE = "BSD"
> -
> -DEPENDS = "opencv"
> -
> -LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \
> -"
> -SRCREV = "6fae07ba8867b8fd2c53344a774aab669afa7c5e"
> -SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
> - "
> -PV = "2.4.3+git${SRCPV}"
> -
> -S = "${WORKDIR}/git"
> -
> -do_install() {
> - cd samples/c
> - install -d ${D}/${bindir}
> - install -d ${D}/${datadir}/opencv/samples
> -
> - cp * ${D}/${datadir}/opencv/samples || true
> -
> - for i in *.c; do
> - echo "compiling $i"
> - ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true
> - install -m 0755 `basename $i .c` ${D}/${bindir} || true
> - rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true
> - done
> - for i in *.cpp; do
> - echo "compiling $i"
> - ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true
> - install -m 0755 `basename $i .cpp` ${D}/${bindir} || true
> - rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true
> - done
> -}
> -
> -FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*"
> -FILES_${PN} += "${bindir} ${datadir}/opencv"
> diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb
> deleted file mode 100644
> index 27546161d21f..000000000000
> --- a/meta-oe/recipes-support/opencv/opencv_2.4.bb
> +++ /dev/null
> @@ -1,99 +0,0 @@
> -SUMMARY = "Opencv : The Open Computer Vision Library"
> -HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
> -SECTION = "libs"
> -
> -LICENSE = "BSD"
> -LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
> -
> -ARM_INSTRUCTION_SET = "arm"
> -
> -DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0"
> -
> -SRCREV = "2c9547e3147779001811d01936aed38f560929fc"
> -SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4"
> -
> -PV = "2.4.11+git${SRCPV}"
> -
> -S = "${WORKDIR}/git"
> -
> -# Do an out-of-tree build
> -OECMAKE_SOURCEPATH = "${S}"
> -OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}"
> -
> -EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
> - -DBUILD_PYTHON_SUPPORT=ON \
> - -DWITH_GSTREAMER=OFF \
> - -DWITH_1394=OFF \
> - -DCMAKE_SKIP_RPATH=ON \
> - ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
> - ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
> - ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
> -"
> -
> -PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \
> - ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}"
> -PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
> -PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
> -PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
> -PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
> -PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
> -PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
> -PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
> -PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
> -
> -inherit distutils-base pkgconfig cmake
> -
> -export BUILD_SYS
> -export HOST_SYS
> -export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
> -export PYTHON="${STAGING_BINDIR_NATIVE}/python"
> -
> -TARGET_CC_ARCH += "-I${S}/include "
> -
> -PACKAGES += "${PN}-apps python-opencv"
> -
> -python populate_packages_prepend () {
> - cv_libdir = d.expand('${libdir}')
> - cv_libdir_dbg = d.expand('${libdir}/.debug')
> - do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
> - do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
> - do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
> - do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
> -
> - pn = d.getVar('PN', 1)
> - metapkg = pn + '-dev'
> - d.setVar('ALLOW_EMPTY_' + metapkg, "1")
> - blacklist = [ metapkg ]
> - metapkg_rdepends = [ ]
> - packages = d.getVar('PACKAGES', 1).split()
> - for pkg in packages[1:]:
> - if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
> - metapkg_rdepends.append(pkg)
> - d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
> -}
> -
> -PACKAGES_DYNAMIC += "^libopencv-.*"
> -
> -FILES_${PN} = ""
> -FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
> -FILES_${PN}-dbg += "${libdir}/.debug"
> -FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
> -FILES_${PN}-doc = "${datadir}/OpenCV/doc"
> -
> -ALLOW_EMPTY_${PN} = "1"
> -
> -INSANE_SKIP_python-opencv = "True"
> -SUMMARY_python-opencv = "Python bindings to opencv"
> -FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
> -RDEPENDS_python-opencv = "python-core python-numpy"
> -
> -do_install_append() {
> - cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
> - sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
> -
> - # Move Python files into correct library folder (for multilib build)
> - if [ "$libdir" != "/usr/lib" ]; then
> - mv ${D}/usr/lib/* ${D}/${libdir}/
> - rm -rf ${D}/usr/lib
> - fi
> -}
> diff --git a/meta-oe/recipes-support/opencv/opencv_3.0.bb b/meta-oe/recipes-support/opencv/opencv_3.0.bb
> new file mode 100644
> index 000000000000..53067d4e6e80
> --- /dev/null
> +++ b/meta-oe/recipes-support/opencv/opencv_3.0.bb
> @@ -0,0 +1,125 @@
> +SUMMARY = "Opencv : The Open Computer Vision Library"
> +HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
> +SECTION = "libs"
> +
> +LICENSE = "BSD"
> +LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
> +
> +ARM_INSTRUCTION_SET = "arm"
> +
> +DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0 oracle-jse-jdk ant"
> +
> +SRCREV_opencv = "424c2bddb39dae97dc4639a24eaa0e0c8fbb8e69"
> +SRCREV_contrib = "844c30e8b2f2f4b34b96a169fafe9beea3c45e87"
> +SRCREV_FORMAT = "opencv"
> +SRC_URI = "git://github.com/Itseez/opencv.git;nobranch=1;name=opencv \
> + git://github.com/Itseez/opencv_contrib.git;nobranch=1;destsuffix=contrib;name=contrib"
> +
> +PV = "3.0+git${SRCPV}"
> +
> +S = "${WORKDIR}/git"
> +
> +EXTRA_OECMAKE = "-DPYTHON2_NUMPY_INCLUDE_DIRS:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \
> + -DOPENCV_EXTRA_MODULES_PATH=${WORKDIR}/contrib/modules \
> + -DWITH_1394=OFF \
> + -DCMAKE_SKIP_RPATH=ON \
> + ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \
> + ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \
> + ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \
> +"
> +
> +PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l tbb samples\
> + ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}"
> +PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
> +PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+3,"
> +PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
> +PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
> +PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
> +PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
> +PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
> +PACKAGECONFIG[jasper] = "-DWITH_JASPER=ON,-DWITH_JASPER=OFF,jasper,"
> +PACKAGECONFIG[amdblas] = "-DWITH_OPENCLAMDBLAS=ON,-DWITH_OPENCLAMDBLAS=OFF,libclamdblas,"
> +PACKAGECONFIG[amdfft] = "-DWITH_OPENCLAMDFFT=ON,-DWITH_OPENCLAMDFFT=OFF,libclamdfft,"
> +PACKAGECONFIG[opencl] = "-DWITH_OPENCL=ON,-DWITH_OPENCL=OFF,opencl-headers,"
> +PACKAGECONFIG[gstreamer] = "-DWITH_GSTREAMER=ON,-DWITH_GSTREAMER=OFF,gstreamer1.0 gstreamer1.0-plugins-base,"
> +PACKAGECONFIG[oracle-java-amd64] = "-DJAVA_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_INCLUDE_PATH2=${JAVA_HOME}/include/linux -DJAVA_AWT_INCLUDE_PATH=${JAVA_HOME}/include -DJAVA_AWT_LIBRARY=${JAVA_HOME}/lib/amd64/libjawt.so -DJAVA_JVM_LIBRARY=${JAVA_HOME}/lib/amd64/server/libjvm.so,,oracle-jse-jdk ant,"
> +PACKAGECONFIG[samples] = "-DBUILD_EXAMPLES=ON -DINSTALL_PYTHON_EXAMPLES=ON,-DBUILD_EXAMPLES=OFF,,"
> +PACKAGECONFIG[tbb] = "-DWITH_TBB=ON,-DWITH_TBB=OFF,tbb,"
> +
> +inherit distutils-base pkgconfig cmake
> +
> +export BUILD_SYS
> +export HOST_SYS
> +export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
> +export PYTHON="${STAGING_BINDIR_NATIVE}/python"
> +export JAVA_HOME="${STAGING_DIR_TARGET}/usr/share/java/"
> +export ANT_DIR="${STAGING_DIR_TARGET}/usr/share/ant/"
> +
> +TARGET_CC_ARCH += "-I${S}/include "
> +
> +PACKAGES += "${PN}-java-dbg ${PN}-java ${PN}-samples-dbg ${PN}-samples ${PN}-apps python-opencv"
> +
> +python populate_packages_prepend () {
> + cv_libdir = d.expand('${libdir}')
> + cv_libdir_dbg = d.expand('${libdir}/.debug')
> + do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True)
> + do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
> + do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev')
> + do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True)
> +
> + pn = d.getVar('PN', 1)
> + metapkg = pn + '-dev'
> + d.setVar('ALLOW_EMPTY_' + metapkg, "1")
> + blacklist = [ metapkg ]
> + metapkg_rdepends = [ ]
> + packages = d.getVar('PACKAGES', 1).split()
> + for pkg in packages[1:]:
> + if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'):
> + metapkg_rdepends.append(pkg)
> + d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends))
> +
> + blacklist = [ metapkg ]
> + metapkg_rdepends = [ ]
> + for pkg in packages[1:]:
> + if not pkg in blacklist and not pkg in metapkg_rdepends and not pkg.endswith('-dev') and not pkg.endswith('-dbg') and not pkg.endswith('-doc') :
> + metapkg_rdepends.append(pkg)
> + bb.data.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends), d)
> +
> +}
> +
> +PACKAGES_DYNAMIC += "^libopencv-.*"
> +
> +FILES_${PN} = ""
> +FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
> +FILES_${PN}-dbg += "${libdir}/.debug"
> +FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
> +FILES_${PN}-doc = "${datadir}/OpenCV/doc"
> +FILES_${PN}-java = "${datadir}/OpenCV/java"
> +FILES_${PN}-java-dbg = "${datadir}/OpenCV/java/.debug/"
> +FILES_${PN}-samples = "${datadir}/OpenCV/samples/"
> +FILES_${PN}-samples-dbg = "${datadir}/OpenCV/samples/bin/.debug"
> +
> +INSANE_SKIP_${PN}-apps = "staticdev"
> +INSANE_SKIP_${PN}-java = "libdir"
> +INSANE_SKIP_${PN}-java-dbg = "libdir"
> +
> +ALLOW_EMPTY_${PN} = "1"
> +
> +INSANE_SKIP_python-opencv = "True"
> +SUMMARY_python-opencv = "Python bindings to opencv"
> +FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
> +RDEPENDS_python-opencv = "python-core python-numpy"
> +
> +do_install_append() {
> + cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/
> + sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h
> +
> + # Move Python files into correct library folder (for multilib build)
> + if [ "$libdir" != "/usr/lib" ]; then
> + mv ${D}/usr/lib/* ${D}/${libdir}/
> + rm -rf ${D}/usr/lib
> + fi
> +
> + install -d ${D}${datadir}/OpenCV/samples/bin/
> + cp -f bin/*-tutorial-* bin/*-example-* ${D}${datadir}/OpenCV/samples/bin/
> +}
>
Kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Products
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
Telefax: +31 (0) 499 33 69 70
E-mail: mike.looijmans@topicproducts.com
Website: www.topicproducts.com
Please consider the environment before printing this e-mail
next prev parent reply other threads:[~2015-06-09 10:12 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-09 10:07 [PATCH] opencv: Upgrade to 3.0 Ricardo Ribalda Delgado
2015-06-09 10:12 ` Mike Looijmans [this message]
2015-06-09 10:13 ` Ricardo Ribalda Delgado
2015-06-09 10:15 ` Ricardo Ribalda Delgado
2015-06-09 13:19 ` Mike Looijmans
2015-06-09 13:43 ` Paul Eggleton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5576BBFA.2030802@topic.nl \
--to=mike.looijmans@topic.nl \
--cc=Martin.Jansa@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=otavio@ossystems.com.br \
--cc=ricardo.ribalda@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.