[Buildroot] [PATCH v3] libgphoto2: new package
Arnout Vandecappelle
arnout at mind.be
Mon Apr 10 13:14:58 UTC 2017
On 10-04-17 14:36, Kevin JOLY wrote:
> 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>
Except for some minor issues and one style issue in Config.in (see below), it
all looks good. I've already ran test-pkg for a dozen toolchains and it looks
good. So
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
> ---
> 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
> ---
> DEVELOPERS | 3 +++
> package/Config.in | 1 +
> package/libgphoto2/Config.in | 14 +++++++++++
> package/libgphoto2/libgphoto2.hash | 6 +++++
> package/libgphoto2/libgphoto2.mk | 50 ++++++++++++++++++++++++++++++++++++++
> 5 files changed, 74 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..fd53232
> --- /dev/null
> +++ b/package/libgphoto2/Config.in
> @@ -0,0 +1,14 @@
> +config BR2_PACKAGE_LIBGPHOTO2
> + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
> + select BR2_PACKAGE_LIBTOOL
> + select BR2_PACKAGE_LIBUSB
> + select BR2_PACKAGE_LIBXML2
> + bool "libgphoto2"
This should come right below the config line.
(you can now run './support/scripts/check-package package/libgphoto2/*' to
detect this kind of error).
> + 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"
^w/
> + 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..24dac19
> --- /dev/null
> +++ b/package/libgphoto2/libgphoto2.mk
> @@ -0,0 +1,50 @@
> +################################################################################
> +#
> +# 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_OPTS += --disable-rpm
It might be good to also add --disable-gp2ddb --disable-internal-docs but these
are anyway disabled by default so not so important.
> +
> +ifeq ($(BR2_PACKAGE_LIBUSB_COMPAT),y)
Maybe add
# 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_LIBJPEG),y)
> +LIBGPHOTO2_DEPENDENCIES += libjpeg
> +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
Good catch!
> +endif
> +
> +$(eval $(autotools-package))
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list