[Buildroot] [PATCH v4] libgphoto2: new package

Kevin JOLY kevin.joly at sensefly.com
Tue Apr 11 07:00:08 UTC 2017


Add support for libgphoto2 core library designed to allow access to
digital camera.

Signed-off-by: Kevin JOLY <kevin.joly at sensefly.com>
Cc: Romain Naour <romain.naour at gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
Changes v3 -> v4 (suggested by Arnout Vandecappelle and Romain Naour)
  - Fix style issues
  - Replace the libjpeg optional dependency by jpeg
  - Improve configure options

Changes v2 -> v3 (suggested by Arnout Vandecappelle)
  - Change the commit description
  - Turn libusb-compat as an optional dependency
  - Add the BR2_TOOLCHAIN_HAS_THREADS dependency
  - Update package website location
  - Update version to 2.5.13
  - Add comments
  - Improve configure options
  - Update license informations

Changes v1 -> v2 (suggested by Romain Naour)
  - Handle optionnal dependencies on libexif, libjpeg, libgd and lockdev
  - Add license informations
  - Use tar.bz2 package
  - Change hash
  - Added myself as package maintainer in the DEVELOPPERS file

Signed-off-by: Kevin JOLY <kevin.joly at sensefly.com>
---
 DEVELOPERS                         |  3 +++
 package/Config.in                  |  1 +
 package/libgphoto2/Config.in       | 14 ++++++++++
 package/libgphoto2/libgphoto2.hash |  6 +++++
 package/libgphoto2/libgphoto2.mk   | 54 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 78 insertions(+)
 create mode 100644 package/libgphoto2/Config.in
 create mode 100644 package/libgphoto2/libgphoto2.hash
 create mode 100644 package/libgphoto2/libgphoto2.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index a298669..1f45012 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -957,6 +957,9 @@ F:	package/cpuload/
 F:	package/bwm-ng/
 F:	package/ramsmp/
 
+N:	Kevin Joly <kevin.joly at sensefly.com>
+F:	package/libgphoto2/
+
 N:	Laurent Cans <laurent.cans at gmail.com>
 F:	package/aircrack-ng/
 
diff --git a/package/Config.in b/package/Config.in
index c12e5b5..f98a2b5 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1086,6 +1086,7 @@ menu "Hardware handling"
 	source "package/libfreefare/Config.in"
 	source "package/libftdi/Config.in"
 	source "package/libftdi1/Config.in"
+	source "package/libgphoto2/Config.in"
 	source "package/libgpiod/Config.in"
 	source "package/libgudev/Config.in"
 	source "package/libhid/Config.in"
diff --git a/package/libgphoto2/Config.in b/package/libgphoto2/Config.in
new file mode 100644
index 0000000..fc60dd6
--- /dev/null
+++ b/package/libgphoto2/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_LIBGPHOTO2
+	bool "libgphoto2"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+	select BR2_PACKAGE_LIBTOOL
+	select BR2_PACKAGE_LIBUSB
+	select BR2_PACKAGE_LIBXML2
+	help
+	  libgphoto2 is the core library designed to allow access to
+	  digital camera by external programs.
+
+	  http://gphoto.org/proj/libgphoto2/
+
+comment "libgphoto needs a toolchain w/ threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libgphoto2/libgphoto2.hash b/package/libgphoto2/libgphoto2.hash
new file mode 100644
index 0000000..1afe275
--- /dev/null
+++ b/package/libgphoto2/libgphoto2.hash
@@ -0,0 +1,6 @@
+# https://sourceforge.net/projects/gphoto/files/libgphoto/2.5.13/
+md5 73bf5b3d94c8c6f5fad9ea6b5e561843 libgphoto2-2.5.13.tar.bz2
+sha1 cef2d2f1930f8ada16a63aca15683188231a626a libgphoto2-2.5.13.tar.bz2
+
+# Locally calculated hash
+sha256 ceaacbdf187d1cd1aed5336991f46b0100f6960b6c8383f9aeab98f1f64780ef libgphoto2-2.5.13.tar.bz2
diff --git a/package/libgphoto2/libgphoto2.mk b/package/libgphoto2/libgphoto2.mk
new file mode 100644
index 0000000..4846f45
--- /dev/null
+++ b/package/libgphoto2/libgphoto2.mk
@@ -0,0 +1,54 @@
+################################################################################
+#
+# libgphoto2
+#
+################################################################################
+
+LIBGPHOTO2_VERSION = 2.5.13
+LIBGPHOTO2_SOURCE = libgphoto2-$(LIBGPHOTO2_VERSION).tar.bz2
+# Project is maintained on github but github tarball doesn't have configure
+LIBGPHOTO2_SITE = https://sourceforge.net/projects/gphoto/files/libgphoto/$(LIBGPHOTO2_VERSION)
+LIBGPHOTO2_INSTALL_STAGING = YES
+
+LIBGPHOTO2_LICENSE = LGPL-2.1+, GPL-2.0 (adc65), GPL-2.0+ (some camlibs), \
+	LGPL-2.0 (sipix), LGPL-3.0+ (pentax), BSD-3-Clause (ax203/tinyjpeg).
+LIBGPHOTO2_LICENSE_FILES = COPYING
+# No license files for other licenses
+
+LIBGPHOTO2_DEPENDENCIES = libxml2 libusb libtool host-pkgconf
+
+LIBGPHOTO2_CONF_ENV = udevscriptdir=/lib/udev
+LIBGPHOTO2_CONF_OPTS += --without-rpmbuild --disable-gp2ddb --disable-internal-docs
+
+ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y)
+# libusb-compat is not actually used, but it is detected, so add it here to
+# guarantee reproducible builds
+LIBGPHOTO2_DEPENDENCIES += libusb-compat
+endif
+
+ifeq ($(BR2_PACKAGE_LIBEXIF),y)
+LIBGPHOTO2_DEPENDENCIES += libexif
+LIBGPHOTO2_CONF_OPTS += --with-libexif=auto
+else
+LIBGPHOTO2_CONF_OPTS += --with-libexif=no
+endif
+
+ifeq ($(BR2_PACKAGE_JPEG),y)
+LIBGPHOTO2_DEPENDENCIES += jpeg
+LIBGPHOTO2_CONF_OPTS += --with-jpeg
+else
+LIBGPHOTO2_CONF_OPTS += --without-jpeg
+endif
+
+ifeq ($(BR2_PACKAGE_GD),y)
+LIBGPHOTO2_DEPENDENCIES += gd
+LIBGPHOTO2_CONF_OPTS += --with-gdlib=auto
+else
+LIBGPHOTO2_CONF_OPTS += --with-gdlib=no
+endif
+
+ifeq ($(BR2_PACKAGE_LOCKDEV),y)
+LIBGPHOTO2_DEPENDENCIES += lockdev
+endif
+
+$(eval $(autotools-package))
-- 
2.7.4



More information about the buildroot mailing list