All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/3] package/libnpupnp: new package
Date: Tue, 23 Jun 2020 19:59:09 +0200	[thread overview]
Message-ID: <20200623175909.GV2351@scaer> (raw)
In-Reply-To: <20200623163020.866522-1-fontaine.fabrice@gmail.com>

Fabrice, All,

On 2020-06-23 18:30 +0200, Fabrice Fontaine spake thusly:
> npupnp (new pupnp or not pupnp ?) is an UPnP library derived from the
> venerable pupnp (https://github.com/pupnp/pupnp), based on its 1.6.x
> branch (around 1.6.25).
> 
> https://www.lesbonscomptes.com/upmpdcli/libnpupnp.html
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

This does not build with all test-pkg configurations;

    $ echo BR2_PACKAGE_LIBNPUPNP=y >libnpupnp.conf
    $ ./utils/test-pkg -p libnpupnp -c libnpupnp.conf -d $(pwd)/run-tests
                 sourcery-arm [6/6]: FAILED

The errors are:

    src/ssdp/ssdpparser.cpp: In member function 'bool SSDPPacketParser::parse()':
    src/ssdp/ssdpparser.cpp:146:48: error: 'strcasecmp' was not declared in this scope
                 if (!strcasecmp("CACHE-CONTROL", nm)) {
                                                    ^
    src/ssdp/ssdpparser.cpp:151:39: error: 'strcasecmp' was not declared in this scope
                 if (!strcasecmp("DATE", nm)) {
                                           ^
    src/ssdp/ssdpparser.cpp:156:38: error: 'strcasecmp' was not declared in this scope
                 if (!strcasecmp("EXT", nm)) {
                                          ^
    src/ssdp/ssdpparser.cpp:161:39: error: 'strcasecmp' was not declared in this scope
                 if (!strcasecmp("HOST", nm)) {
                                           ^
    src/ssdp/ssdpparser.cpp:166:43: error: 'strcasecmp' was not declared in this scope
                 if (!strcasecmp("LOCATION", nm)) {
                                               ^
    src/ssdp/ssdpparser.cpp:171:38: error: 'strcasecmp' was not declared in this scope
                 if (!strcasecmp("MAN", nm)) {
                                          ^
    src/ssdp/ssdpparser.cpp:178:37: error: 'strcasecmp' was not declared in this scope
                 if (!strcasecmp("NT", nm)) {
                                         ^
    src/ssdp/ssdpparser.cpp:185:41: error: 'strcasecmp' was not declared in this scope
             if (!strcasecmp("SERVER", nm)) {
                                         ^
    src/ssdp/ssdpparser.cpp:192:45: error: 'strcasecmp' was not declared in this scope
             if (!strcasecmp("USER-AGENT", nm)) {
                                             ^
    src/ssdp/ssdpparser.cpp:215:33: error: 'strcmp' was not declared in this scope
         bool ret = strcmp(cp, "\r\n") == 0;
                                 ^
    src/ssdp/ssdp_device.cpp: In function 'int AdvertiseAndReply(SSDPDevMessageType, UpnpDevice_Handle, SsdpSearchType, sockaddr*, char*, char*, char*, int)':
    src/ssdp/ssdp_device.cpp:832:72: error: invalid initialization of reference of type 'const sockaddr_storage&' from expression of type '<brace-enclosed initializer list>'
                         const struct sockaddr_storage& fss{ipaddr.getaddr()};
                                                                            ^

The first ones are probably because of a too old glibc, while the later
is probably due to C++11 correctness. Care to have a look and respin the
whole series, please?

Regards,
Yann E. MORIN.

> ---
>  DEVELOPERS                       |  1 +
>  package/Config.in                |  1 +
>  package/libnpupnp/Config.in      | 16 ++++++++++++++++
>  package/libnpupnp/libnpupnp.hash |  5 +++++
>  package/libnpupnp/libnpupnp.mk   | 14 ++++++++++++++
>  5 files changed, 37 insertions(+)
>  create mode 100644 package/libnpupnp/Config.in
>  create mode 100644 package/libnpupnp/libnpupnp.hash
>  create mode 100644 package/libnpupnp/libnpupnp.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index fb6d4cec64..4b6a346a05 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -856,6 +856,7 @@ F:	package/libmatroska/
>  F:	package/libmpdclient/
>  F:	package/libnetfilter_conntrack/
>  F:	package/libnetfilter_queue/
> +F:	package/libnpupnp/
>  F:	package/liboping/
>  F:	package/libpfm4/
>  F:	package/libraw/
> diff --git a/package/Config.in b/package/Config.in
> index e2bb004015..6a34a895af 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1712,6 +1712,7 @@ menu "Networking"
>  	source "package/libnice/Config.in"
>  	source "package/libnids/Config.in"
>  	source "package/libnl/Config.in"
> +	source "package/libnpupnp/Config.in"
>  	source "package/liboauth/Config.in"
>  	source "package/liboping/Config.in"
>  	source "package/libosip2/Config.in"
> diff --git a/package/libnpupnp/Config.in b/package/libnpupnp/Config.in
> new file mode 100644
> index 0000000000..71016b069e
> --- /dev/null
> +++ b/package/libnpupnp/Config.in
> @@ -0,0 +1,16 @@
> +config BR2_PACKAGE_LIBNPUPNP
> +	bool "libnpupnp"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	select BR2_PACKAGE_EXPAT
> +	select BR2_PACKAGE_LIBCURL
> +	select BR2_PACKAGE_LIBMICROHTTPD
> +	help
> +	  npupnp (new pupnp or not pupnp ?) is an UPnP library derived
> +	  from the venerable pupnp (https://github.com/pupnp/pupnp),
> +	  based on its 1.6.x branch (around 1.6.25).
> +
> +	  https://www.lesbonscomptes.com/upmpdcli/libnpupnp.html
> +
> +comment "libnpupnp needs a toolchain w/ C++, threads"
> +	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
> diff --git a/package/libnpupnp/libnpupnp.hash b/package/libnpupnp/libnpupnp.hash
> new file mode 100644
> index 0000000000..41cc41955b
> --- /dev/null
> +++ b/package/libnpupnp/libnpupnp.hash
> @@ -0,0 +1,5 @@
> +# Hashes from: http://www.lesbonscomptes.com/upmpdcli/downloads/libnpupnp-4.0.7.tar.gz.sha256
> +sha256  30f15caa67dc83f76b0976438165aa4704a50c7e3e5444c50bb8cbad874877ca  libnpupnp-4.0.7.tar.gz
> +
> +# Hash for license file:
> +sha256  c8b99423cad48bb44e2cf52a496361404290865eac259a82da6d1e4331ececb3  COPYING
> diff --git a/package/libnpupnp/libnpupnp.mk b/package/libnpupnp/libnpupnp.mk
> new file mode 100644
> index 0000000000..abd80ab63b
> --- /dev/null
> +++ b/package/libnpupnp/libnpupnp.mk
> @@ -0,0 +1,14 @@
> +################################################################################
> +#
> +# libnpupnp
> +#
> +################################################################################
> +
> +LIBNPUPNP_VERSION = 4.0.7
> +LIBNPUPNP_SITE = http://www.lesbonscomptes.com/upmpdcli/downloads
> +LIBNPUPNP_LICENSE = BSD-3-Clause
> +LIBNPUPNP_LICENSE_FILES = COPYING
> +LIBNPUPNP_INSTALL_STAGING = YES
> +LIBNPUPNP_DEPENDENCIES = expat libcurl libmicrohttpd
> +
> +$(eval $(autotools-package))
> -- 
> 2.26.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

      parent reply	other threads:[~2020-06-23 17:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-23 16:30 [Buildroot] [PATCH 1/3] package/libnpupnp: new package Fabrice Fontaine
2020-06-23 16:30 ` [Buildroot] [PATCH 2/3] package/libupnpp: bump to version 0.19.2 Fabrice Fontaine
2020-06-23 16:30 ` [Buildroot] [PATCH 3/3] package/upmpdcli: bump to version 1.4.12 Fabrice Fontaine
2020-06-23 17:59 ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200623175909.GV2351@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.