[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