[Buildroot] [PATCH v3] libgphoto2: new package

Romain Naour romain.naour at gmail.com
Mon Apr 10 18:51:09 UTC 2017


Hi Kevin, Arnout,

Le 10/04/2017 à 15:14, Arnout Vandecappelle a écrit :
> 
> 
> 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

Thank Arnout for the review.
With your last

> 
> 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

libjpeg is a jpeg provider like jpeg-tubo

Can you try with:

ifeq ($(BR2_PACKAGE_JPEG),y)
LIBGPHOTO2_DEPENDENCIES += jpeg
LIBGPHOTO2_CONF_OPTS += --with-jpeg
else
LIBGPHOTO2_CONF_OPTS += --without-jpeg
endif

and jped-turbo enabled ?

>> +
>> +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!

I had this one in my initial patch but not as optional dependency :p

I think, the v4 will be the last :)

Best regards,
Romain

> 
>> +endif
>> +
>> +$(eval $(autotools-package))
>>
> 



More information about the buildroot mailing list