[Buildroot] [PATCH v3] libgphoto2: new package

Kevin JOLY kevin.joly at sensefly.com
Tue Apr 11 06:18:00 UTC 2017


Hi Romain, Arnout,


Le 10. 04. 17 à 20:51, Romain Naour a écrit :
> 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 ?
It compiles and the JPEG mangling support is 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))
>>>
Best regards,

-- 

*Kevin JOLY*
Embedded systems engineer

SenseFly <http://www.sensefly.com/>
38, rte de Genève
1033 Cheseaux-Lausanne, Switzerland

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildroot.org/pipermail/buildroot/attachments/20170411/6ad519aa/attachment-0001.html>


More information about the buildroot mailing list