package/libcamera: bump version to 96fab38
authorPeter Seiderer <ps.report@gmx.net>
Tue, 16 Jun 2020 18:59:50 +0000 (20:59 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Thu, 18 Jun 2020 20:09:01 +0000 (22:09 +0200)
- add host dependencies: openssl, pkgconf, python3-pyyaml
- add dependencies: gnutls
- changed from mandatory to optional dependency: udev
- add dedicated pipeline configure options
- add optional dependencies: boost, gstreamer1/gst1-plugins-base,
  qt5base, tiff
- update license info (Apache-2.0 omitted - applies only for android code)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
[yann.morin.1998@free.fr:
  - simplify the qt5-widgets and qt5tools-linguist conditions
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/libcamera/Config.in
package/libcamera/libcamera.hash
package/libcamera/libcamera.mk

index 0b3540a6577bcf842b434d939400f70042ed32b2..56ca5aaf181c690aae3150989003d4c98bdfb907 100644 (file)
@@ -1,10 +1,12 @@
-config BR2_PACKAGE_LIBCAMERA
+menuconfig BR2_PACKAGE_LIBCAMERA
        bool "libcamera"
        depends on BR2_INSTALL_LIBSTDCPP
        depends on BR2_TOOLCHAIN_HAS_THREADS
-       # C++11 + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54316
-       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
-       depends on BR2_PACKAGE_HAS_UDEV
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
+       depends on !BR2_STATIC_LIBS # gnutls
+       depends on BR2_USE_WCHAR # gnutls
+       select BR2_PACKAGE_GNUTLS
+       select BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO if !BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
        help
          libcamera provides a software stack to support
          complex devices that need heavy hardware image
@@ -12,6 +14,50 @@ config BR2_PACKAGE_LIBCAMERA
 
          http://www.libcamera.org/
 
-comment "libcamera needs udev and a toolchain w/ C++, threads, gcc >= 5"
+if BR2_PACKAGE_LIBCAMERA
+
+config BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
+       bool
+
+config BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3
+       bool "ipu3 pipeline"
+       select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
+       help
+         Pipeline for Intel IPU3.
+
+config BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI
+       bool "raspberrypi pipeline"
+       depends on BR2_USE_WCHAR # boost (already enforced for gnutls)
+       select BR2_PACKAGE_BOOST
+       select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
+       help
+         Pipeline for Raspberry Pi devices.
+
+config BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1
+       bool "rkisp1 pipeline"
+       select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
+       help
+         Pipeline for Rockchip ISP1.
+
+config BR2_PACKAGE_LIBCAMERA_PIPELINE_SIMPLE
+       bool "simple pipeline"
+       select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
+       help
+         Pipeline for simple pipelines.
+
+config BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO
+       bool "uvcvideo pipeline"
+       help
+         Pipeline for uvcvideo devices.
+
+config BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC
+       bool "vimc pipeline"
+       select BR2_PACKAGE_LIBCAMERA_HAS_PIPELINE
+       help
+         Pipeline for the vimc device.
+
+endif # BR2_PACKAGE_LIBCAMERA
+
+comment "libcamera needs a toolchain w/ C++, threads, wchar, dynamic library, gcc >= 5"
        depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
-               !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_PACKAGE_HAS_UDEV
+               !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || BR2_STATIC_LIBS || !BR2_USE_WCHAR
index 6f721d87eee4c3eee5b47c3e4fb8a39079e741d3..907764de63f5f2ddccb8d09a7bd3ac229043d152 100644 (file)
@@ -1,3 +1,12 @@
-sha256 cbaa7e06059717f71b57f9c20135c86d5f121d9aab10bfc20513ba5d04478756  libcamera-448393f77ec9e37cb807e8e8d35c1a4877d253d4.tar.gz
-sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  licenses/gnu-gpl-2.0.txt
-sha256 592987e8510228d546540b84a22444bde98e48d03078d3b2eefcd889bec5ce8c  licenses/gnu-lgpl-2.1.txt
+sha256  6995be9d707ba3bcbe7a79bad894484561ee686f68b6523943ada7c0f6607e86  libcamera-96fab38e02792a109c0d35ca2154e95a7b4c8fcb.tar.gz
+
+# license files
+sha256  fd38b2c053c0cce46d9c5ef3545a6e34d157a240ba99c9b8dca5d37a8147da6c  LICENSES/BSD-2-Clause.txt
+sha256  e11af671c491efac2f94c1d752bea92f4308ca2450c7d11e582e4b48c40e4de1  LICENSES/BSD-3-Clause.txt
+sha256  6a573fb2f9082662978cf21fb153096df0a1981deaea7dbc10a11046fe005d9f  LICENSES/CC0-1.0.txt
+sha256  ec3732087acf8c52429a020d6bba362ff578705bdb53365a21744485ec15b0e6  LICENSES/CC-BY-SA-4.0.txt
+sha256  8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643  LICENSES/GPL-2.0-only.txt
+sha256  606aa26338f69ce178f1cbc648b7574aec4b5bbaeb20f4df36ff49010cb8fbbd  LICENSES/GPL-2.0-or-later.txt
+sha256  1ccf09bf2f598308df4bed9cd8e9657dc5cd0973d2800318f2e241486e2edf3f  LICENSES/LGPL-2.1-or-later.txt
+sha256  3f9e477523febab58de8b716ccfbcf02e6ef1c8e7728953905e8558637abe2a9  LICENSES/Linux-syscall-note.txt
+sha256  8f25018489d6fe0dec34a352314c38dc146247b7de65735790f4398a92afa84b  LICENSES/MIT.txt
index d209a38df3a978e5e42363cc85883cfbdb993cde..1d3b382a3265b979d788eacf7786d3eafe0f3f79 100644 (file)
@@ -5,14 +5,69 @@
 ################################################################################
 
 LIBCAMERA_SITE = https://git.linuxtv.org/libcamera.git
-LIBCAMERA_VERSION = 448393f77ec9e37cb807e8e8d35c1a4877d253d4
+LIBCAMERA_VERSION = 96fab38e02792a109c0d35ca2154e95a7b4c8fcb
 LIBCAMERA_SITE_METHOD = git
-LIBCAMERA_DEPENDENCIES = udev
-LIBCAMERA_CONF_OPTS = -Dtest=false -Ddocumentation=false
+LIBCAMERA_DEPENDENCIES = \
+       host-openssl \
+       host-pkgconf \
+       host-python3-pyyaml \
+       gnutls
+LIBCAMERA_CONF_OPTS = \
+       -Dandroid=false \
+       -Ddocumentation=false \
+       -Dtest=false \
+       -Dv4l2=false
 LIBCAMERA_INSTALL_STAGING = yes
-LIBCAMERA_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (utils)
+LIBCAMERA_LICENSE = \
+       LGPL-2.1+ (library), \
+       GPL-2.0+ (utils), \
+       MIT (qcam/assets/feathericons), \
+       BSD-2-Clause (raspberrypi), \
+       GPL-2.0 with Linux-syscall-note or BSD-3-Clause (linux kernel headers), \
+       CC0-1.0 (meson build system), \
+       CC-BY-SA-4.0 (doc)
 LIBCAMERA_LICENSE_FILES = \
-       licenses/gnu-gpl-2.0.txt \
-       licenses/gnu-lgpl-2.1.txt
+       LICENSES/LGPL-2.1-or-later.txt \
+       LICENSES/GPL-2.0-or-later.txt \
+       LICENSES/MIT.txt \
+       LICENSES/BSD-2-Clause.txt \
+       LICENSES/GPL-2.0-only.txt \
+       LICENSES/Linux-syscall-note.txt \
+       LICENSES/BSD-3-Clause.txt \
+       LICENSES/CC0-1.0.txt \
+       LICENSES/CC-BY-SA-4.0.txt
+
+LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_IPU3) += ipu3
+ifeq ($(BR2_PACKAGE_LIBCAMERA_PIPELINE_RASPBERRYPI),y)
+LIBCAMERA_PIPELINES-y += raspberrypi
+LIBCAMERA_DEPENDENCIES += boost
+endif
+LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_RKISP1) += rkisp1
+LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_SIMPLE) += simple
+LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO) += uvcvideo
+LIBCAMERA_PIPELINES-$(BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC) += vimc
+
+LIBCAMERA_CONF_OPTS += -Dpipelines=$(subst $(space),$(comma),$(LIBCAMERA_PIPELINES-y))
+
+# gstreamer-video-1.0, gstreamer-allocators-1.0
+ifeq ($(BR2_PACKAGE_GSTREAMER1)$(BR2_PACKAGE_GST1_PLUGINS_BASE),yy)
+LIBCAMERA_CONF_OPTS += -Dgstreamer=enabled
+LIBCAMERA_DEPENDENCIES += gstreamer1 gst1-plugins-base
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
+LIBCAMERA_DEPENDENCIES += qt5base
+ifeq ($(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS),y)
+LIBCAMERA_DEPENDENCIES += qt5tools
+endif
+endif
+
+ifeq ($(BR2_PACKAGE_TIFF),y)
+LIBCAMERA_DEPENDENCIES += tiff
+endif
+
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
+LIBCAMERA_DEPENDENCIES += udev
+endif
 
 $(eval $(meson-package))