All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/mpd: update to version 0.23.2
@ 2021-10-25  9:44 Andreas Ziegler
  2021-11-14 15:08 ` Thomas Petazzoni
  0 siblings, 1 reply; 8+ messages in thread
From: Andreas Ziegler @ 2021-10-25  9:44 UTC (permalink / raw)
  To: buildroot; +Cc: Andreas Ziegler, Jörg Krause

In addition to various bug fixes, mpd version 0.23 introduces a new 
dependency (mft) and a change in the configuration of the UPnP client 
functionality. 

Optional new features (openmpt decoder, pipewire and snapcast outputs) are 
currently not available as Buildroot packages and were not considered. 

The change log can be found in [1]

Introduce new dependency for fmt library. Change configuration of UPnP plugin 
to submenu, allowing to optionally select libupnp, libnpupnp or disabled. The 
default setting is 'no UPnP client functionality'. Correct a typo in toolchain 
dependency comment. Adapt sparc patch to changes in source layout. 

[1] https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.2/NEWS

Signed-off-by: Andreas Ziegler <br015@umbiko.net>
---
 ...build-add-atomic-dependency-for-spar.patch |  4 +-
 package/mpd/Config.in                         | 37 ++++++++++++++++---
 package/mpd/mpd.hash                          |  2 +-
 package/mpd/mpd.mk                            | 16 +++++---
 4 files changed, 46 insertions(+), 13 deletions(-)

diff --git a/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch b/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch
index 81bd981d65..390cf12583 100644
--- a/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch
+++ b/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch
@@ -20,7 +20,7 @@ diff --git a/src/event/meson.build b/src/event/meson.build
 index bc13bbcd2..88370c03a 100644
 --- a/src/event/meson.build
 +++ b/src/event/meson.build
-@@ -21,9 +21,13 @@ event = static_library(
+@@ -47,9 +47,13 @@ event = declare_dependency(
    ],
  )
  
@@ -32,8 +32,8 @@ index bc13bbcd2..88370c03a 100644
    dependencies: [
 +    atomic_dep,
      thread_dep,
+     net_dep,
      system_dep,
-     boost_dep,
 -- 
 2.20.1
 
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 7a2597558b..7b5aeb4bf6 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -8,6 +8,7 @@ menuconfig BR2_PACKAGE_MPD
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
 	depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
 	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_FMT
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
 	  MPD is a flexible, powerful, server-side application
@@ -361,7 +362,7 @@ config BR2_PACKAGE_MPD_LIBMPDCLIENT
 
 config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT
 	bool "neighbor discovery support"
-	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP
+	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || !BR2_PACKAGE_MPD_UPNP_DISABLED
 	help
 	  Enable support for neighbor discovery.
 	  This option can be used in conjunction with the smbclient
@@ -380,13 +381,39 @@ config BR2_PACKAGE_MPD_TCP
 	  You want this on if MPD and the client(s) work
 	  on different machines (the usual scenario).
 
-config BR2_PACKAGE_MPD_UPNP
-	bool "UPnP"
+choice
+	prompt "UPnP"
+	default BR2_PACKAGE_MPD_UPNP_DISABLED
+	help
+	  Enable MPD UPnP client support.
+
+config BR2_PACKAGE_MPD_UPNP_PUPNP
+	bool "pupnp"
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_LIBUPNP
 	select BR2_PACKAGE_MPD_CURL
 	help
-	  Enable MPD UPnP client support.
+	  Provides UPnP functionality through libupnp
+	  (the legacy Portable SDK for UPnP devices).
+	  
+	  Introduces least additional dependencies.
+
+config BR2_PACKAGE_MPD_UPNP_NPUPNP
+	bool "npupnp"
+	select BR2_PACKAGE_LIBNPUPNP
+	select BR2_PACKAGE_MPD_CURL
+	help
+	  Provides UPnP functionality through libnpupnp
+	  (a C++ reimplementation of the Portable UPnP library).
+	  
+	  Prefer this option if you plan to use upmpdcli.
+
+config BR2_PACKAGE_MPD_UPNP_DISABLED
+	bool "disabled"
+	help
+	  No UPnP client functionality.
+
+endchoice
 
 comment "Tag plugins"
 
@@ -398,7 +425,7 @@ config BR2_PACKAGE_MPD_ID3TAG
 
 endif
 
-comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 7, host gcc >= 7"
+comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 8, host gcc >= 8"
 	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash
index 2501be65de..af660d3690 100644
--- a/package/mpd/mpd.hash
+++ b/package/mpd/mpd.hash
@@ -1,3 +1,3 @@
 # Locally calculated after checking pgp signature
-sha256  143f7f34aaee6e87888f3dd35d49aade6656052651b960ca42b46cbb518ca0a0  mpd-0.22.11.tar.xz
+sha256  74ec75689746baaeab7c65d70019f96f70b31b658cb25cfd2ebcca03f65acddf  mpd-0.23.2.tar.xz
 sha256  ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6  COPYING
diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
index fe6b8d539b..c649cd1d8f 100644
--- a/package/mpd/mpd.mk
+++ b/package/mpd/mpd.mk
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-MPD_VERSION_MAJOR = 0.22
-MPD_VERSION = $(MPD_VERSION_MAJOR).11
+MPD_VERSION_MAJOR = 0.23
+MPD_VERSION = $(MPD_VERSION_MAJOR).2
 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
 MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
 MPD_DEPENDENCIES = host-pkgconf boost
@@ -298,12 +298,18 @@ else
 MPD_CONF_OPTS += -Dtwolame=disabled
 endif
 
-ifeq ($(BR2_PACKAGE_MPD_UPNP),y)
+ifeq ($(BR2_PACKAGE_MPD_UPNP_PUPNP),y)
 MPD_DEPENDENCIES += \
 	expat \
 	libupnp
-MPD_CONF_OPTS += -Dupnp=enabled
-else
+MPD_CONF_OPTS += -Dupnp=pupnp
+endif
+ifeq ($(BR2_PACKAGE_MPD_UPNP_NPUPNP),y)
+MPD_DEPENDENCIES += \
+	libnpupnp
+MPD_CONF_OPTS += -Dupnp=npupnp
+endif
+ifeq ($(BR2_PACKAGE_MPD_UPNP_DISABLED),y)
 MPD_CONF_OPTS += -Dupnp=disabled
 endif
 
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/mpd: update to version 0.23.2
  2021-10-25  9:44 [Buildroot] [PATCH 1/1] package/mpd: update to version 0.23.2 Andreas Ziegler
@ 2021-11-14 15:08 ` Thomas Petazzoni
  2021-11-15  9:04   ` Andreas Ziegler
                     ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Thomas Petazzoni @ 2021-11-14 15:08 UTC (permalink / raw)
  To: Andreas Ziegler; +Cc: Jörg Krause, buildroot

Hello Andreas,

Thanks for this patch. I have some comments below, but more
importantly, I would really like to get the review/approval from Jörg
Krause on this patch, as he has usually been maintaining this package.

On Mon, 25 Oct 2021 11:44:53 +0200
Andreas Ziegler <br015@umbiko.net> wrote:

> In addition to various bug fixes, mpd version 0.23 introduces a new 
> dependency (mft) and a change in the configuration of the UPnP client 
> functionality. 
> 
> Optional new features (openmpt decoder, pipewire and snapcast outputs) are 
> currently not available as Buildroot packages and were not considered. 

We do have pipewire as a package in Buildroot, so that aspect doesn't
seem completely true. If you don't handle those dependencies in mpd.mk
(which is fine), could you disable them explicitly by passing the
appropriate -Dfoo=disabled, if available?

> The change log can be found in [1]
> 
> Introduce new dependency for fmt library. Change configuration of UPnP plugin 
> to submenu, allowing to optionally select libupnp, libnpupnp or disabled. The 
> default setting is 'no UPnP client functionality'. Correct a typo in toolchain 
> dependency comment. Adapt sparc patch to changes in source layout. 

The typo in the toolchain dependency comment should be addressed in a
separate patch, as it is really an unrelated bug fix.


> diff --git a/package/mpd/Config.in b/package/mpd/Config.in
> index 7a2597558b..7b5aeb4bf6 100644
> --- a/package/mpd/Config.in
> +++ b/package/mpd/Config.in
> @@ -8,6 +8,7 @@ menuconfig BR2_PACKAGE_MPD
>  	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
>  	depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
>  	select BR2_PACKAGE_BOOST
> +	select BR2_PACKAGE_FMT

You're adding this here, but it's not added in MPD_DEPENDENCIES. Is fmt
a build-time or a run-time dependency?

You can check this by doing "make clean && make mpd" and verify that it
does build.

>  	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
>  	help
>  	  MPD is a flexible, powerful, server-side application
> @@ -361,7 +362,7 @@ config BR2_PACKAGE_MPD_LIBMPDCLIENT
>  
>  config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT
>  	bool "neighbor discovery support"
> -	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP
> +	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || !BR2_PACKAGE_MPD_UPNP_DISABLED
>  	help
>  	  Enable support for neighbor discovery.
>  	  This option can be used in conjunction with the smbclient
> @@ -380,13 +381,39 @@ config BR2_PACKAGE_MPD_TCP
>  	  You want this on if MPD and the client(s) work
>  	  on different machines (the usual scenario).
>  
> -config BR2_PACKAGE_MPD_UPNP
> -	bool "UPnP"
> +choice

Kind of annoying to have a "choice" here. Is there a good reason to
support both uPNP implementations?

> +	prompt "UPnP"
> +	default BR2_PACKAGE_MPD_UPNP_DISABLED
> +	help
> +	  Enable MPD UPnP client support.
> +
> +config BR2_PACKAGE_MPD_UPNP_PUPNP
> +	bool "pupnp"
>  	select BR2_PACKAGE_EXPAT
>  	select BR2_PACKAGE_LIBUPNP
>  	select BR2_PACKAGE_MPD_CURL
>  	help
> -	  Enable MPD UPnP client support.
> +	  Provides UPnP functionality through libupnp
> +	  (the legacy Portable SDK for UPnP devices).
> +	  
> +	  Introduces least additional dependencies.
> +
> +config BR2_PACKAGE_MPD_UPNP_NPUPNP
> +	bool "npupnp"
> +	select BR2_PACKAGE_LIBNPUPNP
> +	select BR2_PACKAGE_MPD_CURL
> +	help
> +	  Provides UPnP functionality through libnpupnp
> +	  (a C++ reimplementation of the Portable UPnP library).
> +	  
> +	  Prefer this option if you plan to use upmpdcli.
> +
> +config BR2_PACKAGE_MPD_UPNP_DISABLED

I think I would prefer BR2_PACKAGE_MPD_UPNP_NONE.

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH 1/1] package/mpd: update to version 0.23.2
  2021-11-14 15:08 ` Thomas Petazzoni
@ 2021-11-15  9:04   ` Andreas Ziegler
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 0/2] package/mpd: update to version 0.23.y Andreas Ziegler
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Andreas Ziegler @ 2021-11-15  9:04 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Jörg Krause, buildroot

Hi Thomas,

thank you for taking a look at this patch. Some answers to your remarks 
below; I will also prepare a v2 of the change.

I believe a legacy entry for BR2_PACKAGE_MPD_UPNP is also necessary ...

On 2021-11-14 15:08, Thomas Petazzoni wrote:
> Hello Andreas,
> 
> Thanks for this patch. I have some comments below, but more
> importantly, I would really like to get the review/approval from Jörg
> Krause on this patch, as he has usually been maintaining this package.
> 
> On Mon, 25 Oct 2021 11:44:53 +0200
> Andreas Ziegler <br015@umbiko.net> wrote:
> 
>> In addition to various bug fixes, mpd version 0.23 introduces a new
>> dependency (mft) and a change in the configuration of the UPnP client
>> functionality.
>> 
>> Optional new features (openmpt decoder, pipewire and snapcast outputs) 
>> are
>> currently not available as Buildroot packages and were not considered.
> 
> We do have pipewire as a package in Buildroot, so that aspect doesn't
> seem completely true. If you don't handle those dependencies in mpd.mk
> (which is fine), could you disable them explicitly by passing the
> appropriate -Dfoo=disabled, if available?
> 

package/pipewire is the server component - unfortunately also the only 
provider of libpipewire, which is needed here. Installing the complete 
package would probably satisfy the dependency, but in an embedded 
context it would be better to break pipewire into two components, 
libpipewire and pipewired. Since I have no use for this feature, I would 
prefer to disable it; I will also re-phrase the commit message.

>> The change log can be found in [1]
>> 
>> Introduce new dependency for fmt library. Change configuration of UPnP 
>> plugin
>> to submenu, allowing to optionally select libupnp, libnpupnp or 
>> disabled. The
>> default setting is 'no UPnP client functionality'. Correct a typo in 
>> toolchain
>> dependency comment. Adapt sparc patch to changes in source layout.
> 
> The typo in the toolchain dependency comment should be addressed in a
> separate patch, as it is really an unrelated bug fix.
> 

OK

>> diff --git a/package/mpd/Config.in b/package/mpd/Config.in
>> index 7a2597558b..7b5aeb4bf6 100644
>> --- a/package/mpd/Config.in
>> +++ b/package/mpd/Config.in
>> @@ -8,6 +8,7 @@ menuconfig BR2_PACKAGE_MPD
>>  	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
>>  	depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
>>  	select BR2_PACKAGE_BOOST
>> +	select BR2_PACKAGE_FMT
> 
> You're adding this here, but it's not added in MPD_DEPENDENCIES. Is fmt
> a build-time or a run-time dependency?
> 
> You can check this by doing "make clean && make mpd" and verify that it
> does build.
> 

It is both, a build- and a runtime dependency. Probably works only 
because of alphabetical sorting of packages ...

>>  	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
>>  	help
>>  	  MPD is a flexible, powerful, server-side application
>> @@ -361,7 +362,7 @@ config BR2_PACKAGE_MPD_LIBMPDCLIENT
>> 
>>  config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT
>>  	bool "neighbor discovery support"
>> -	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP
>> +	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || 
>> !BR2_PACKAGE_MPD_UPNP_DISABLED
>>  	help
>>  	  Enable support for neighbor discovery.
>>  	  This option can be used in conjunction with the smbclient
>> @@ -380,13 +381,39 @@ config BR2_PACKAGE_MPD_TCP
>>  	  You want this on if MPD and the client(s) work
>>  	  on different machines (the usual scenario).
>> 
>> -config BR2_PACKAGE_MPD_UPNP
>> -	bool "UPnP"
>> +choice
> 
> Kind of annoying to have a "choice" here. Is there a good reason to
> support both uPNP implementations?
> 

Currently just one: there is a choice, there is no 'correct' option, so 
defer the decision to the user. libnpupnp is the more modern 
implementation, but impossible to configure: config options exist, but 
break the build, because they are not completely implemented. Buildroot 
therefore does a full-featured install, which uses more space than 
libpupnp and also brings features not needed in a client context (e.g. a 
web server). Since this raises additional security concerns, I would 
prefer the older library (which is client-only) - unless npupnp solves 
an issue or another package installs it anyway; currently  upmpdcli does 
this. On the other hand, having both UPnP front-end and back-end 
integration is not really a valid use case ...

At that point I gave up and implemented the choice. I will put some more 
information into the Config.in help texts.

>> +	prompt "UPnP"
>> +	default BR2_PACKAGE_MPD_UPNP_DISABLED
>> +	help
>> +	  Enable MPD UPnP client support.
>> +
>> +config BR2_PACKAGE_MPD_UPNP_PUPNP
>> +	bool "pupnp"
>>  	select BR2_PACKAGE_EXPAT
>>  	select BR2_PACKAGE_LIBUPNP
>>  	select BR2_PACKAGE_MPD_CURL
>>  	help
>> -	  Enable MPD UPnP client support.
>> +	  Provides UPnP functionality through libupnp
>> +	  (the legacy Portable SDK for UPnP devices).
>> +
>> +	  Introduces least additional dependencies.
>> +
>> +config BR2_PACKAGE_MPD_UPNP_NPUPNP
>> +	bool "npupnp"
>> +	select BR2_PACKAGE_LIBNPUPNP
>> +	select BR2_PACKAGE_MPD_CURL
>> +	help
>> +	  Provides UPnP functionality through libnpupnp
>> +	  (a C++ reimplementation of the Portable UPnP library).
>> +
>> +	  Prefer this option if you plan to use upmpdcli.
>> +
>> +config BR2_PACKAGE_MPD_UPNP_DISABLED
> 
> I think I would prefer BR2_PACKAGE_MPD_UPNP_NONE.

Good solution :-D The help texts are too technical, I will try to 
provide some more information here.

Kind regards,
Andreas

> 
> Thanks a lot!
> 
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 0/2] package/mpd: update to version 0.23.y
  2021-11-14 15:08 ` Thomas Petazzoni
  2021-11-15  9:04   ` Andreas Ziegler
@ 2021-11-15 12:32   ` Andreas Ziegler
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 1/2] package/mpd: correct typo in help message Andreas Ziegler
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 2/2] package/mpd: update to version 0.23.y Andreas Ziegler
  3 siblings, 0 replies; 8+ messages in thread
From: Andreas Ziegler @ 2021-11-15 12:32 UTC (permalink / raw)
  To: buildroot; +Cc: Andreas Ziegler, Jörg Krause, Thomas Petazzoni

In addition to various bug fixes, mpd version 0.23 introduces a new
dependency (mft) and a change in the configuration of the UPnP client
library. 

Both supported UPnP libraries are available as Buildroot packages,
there is no clear favourite, so the choice is left to the user.

The libraries necessary for optional new features (openmpt decoder,
pipewire and snapcast outputs) are currently not available as separate
Buildroot packages and were disabled.

The change log can be found in [1]

Buildroot changes:
  Correct a typo in toolchain dependency comment.
  Introduce new dependency for fmt library.
  Change configuration of UPnP plugin to submenu, allowing to optionally 
	select libupnp, libnpupnp or no UPnP. The default setting is 
	'no UPnP client functionality'.
  Adapt sparc patch to changes in source layout.
  Add legacy entry for existing MPD UPnP configuration.

This change updates mpd to version 0.23.3, tested on arm64 and i386. 

[1] https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.3/NEWS

Andreas Ziegler (2):
  package/mpd: correct typo in help message
  package/mpd: update to version 0.23.y

 Config.in.legacy                              |  8 ++++
 ...build-add-atomic-dependency-for-spar.patch |  4 +-
 package/mpd/Config.in                         | 43 ++++++++++++++++---
 package/mpd/mpd.hash                          |  2 +-
 package/mpd/mpd.mk                            | 23 +++++++---
 5 files changed, 65 insertions(+), 15 deletions(-)

-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 1/2] package/mpd: correct typo in help message
  2021-11-14 15:08 ` Thomas Petazzoni
  2021-11-15  9:04   ` Andreas Ziegler
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 0/2] package/mpd: update to version 0.23.y Andreas Ziegler
@ 2021-11-15 12:32   ` Andreas Ziegler
  2021-12-10 19:02     ` Arnout Vandecappelle
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 2/2] package/mpd: update to version 0.23.y Andreas Ziegler
  3 siblings, 1 reply; 8+ messages in thread
From: Andreas Ziegler @ 2021-11-15 12:32 UTC (permalink / raw)
  To: buildroot; +Cc: Andreas Ziegler, Jörg Krause, Thomas Petazzoni

Signed-off-by: Andreas Ziegler <br015@umbiko.net>
---
Changes v1 -> v2 (after review by Thomas Petazzoni):
 - Config.in: create separate patch for toolchain version typo

 package/mpd/Config.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 5e49e69442..eb05f25a0b 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -391,7 +391,7 @@ config BR2_PACKAGE_MPD_ID3TAG
 
 endif
 
-comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 7, host gcc >= 7"
+comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 8, host gcc >= 8"
 	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [Buildroot] [PATCH v2 2/2] package/mpd: update to version 0.23.y
  2021-11-14 15:08 ` Thomas Petazzoni
                     ` (2 preceding siblings ...)
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 1/2] package/mpd: correct typo in help message Andreas Ziegler
@ 2021-11-15 12:32   ` Andreas Ziegler
  2021-12-10 19:07     ` Arnout Vandecappelle
  3 siblings, 1 reply; 8+ messages in thread
From: Andreas Ziegler @ 2021-11-15 12:32 UTC (permalink / raw)
  To: buildroot; +Cc: Andreas Ziegler, Jörg Krause, Thomas Petazzoni

Signed-off-by: Andreas Ziegler <br015@umbiko.net>
---
Changes v1 -> v2 (after review by Thomas Petazzoni):
 - Config.in.legacy: add entry for legacy MPD UPnP configuration
 - Config.in: rewrite UPnP help messages
 - mpd.mk: add fmt to MPD_DEPENDENCIES
 - mpd.mk: disable openmpt, pipewire, snapcast
 - mpd.mk: update to version 0.23.3

 Config.in.legacy                              |  8 ++++
 ...build-add-atomic-dependency-for-spar.patch |  4 +-
 package/mpd/Config.in                         | 41 +++++++++++++++++--
 package/mpd/mpd.hash                          |  2 +-
 package/mpd/mpd.mk                            | 23 +++++++----
 5 files changed, 64 insertions(+), 14 deletions(-)

diff --git a/Config.in.legacy b/Config.in.legacy
index 5b48566f68..09b7e5983e 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,14 @@ endif
 
 comment "Legacy options removed in 2021.11"
 
+config BR2_PACKAGE_MPD_UPNP
+	bool "MPD UPnP configuration changed"
+	select BR2_LEGACY
+	help
+	  From version 0.23, MPD supports npupnp in addition to pupnp to
+	  provide database access to a UPnP media server. To preserve the
+	  existing functionality, select pupnp in the MPD UPnP configuration.
+
 config BR2_OPENJDK_VERSION_LTS
 	bool "OpenJDK LTS version was renamed to OpenJDK 11"
 	select BR2_LEGACY
diff --git a/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch b/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch
index 81bd981d65..390cf12583 100644
--- a/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch
+++ b/package/mpd/0001-src-event-meson.build-add-atomic-dependency-for-spar.patch
@@ -20,7 +20,7 @@ diff --git a/src/event/meson.build b/src/event/meson.build
 index bc13bbcd2..88370c03a 100644
 --- a/src/event/meson.build
 +++ b/src/event/meson.build
-@@ -21,9 +21,13 @@ event = static_library(
+@@ -47,9 +47,13 @@ event = declare_dependency(
    ],
  )
  
@@ -32,8 +32,8 @@ index bc13bbcd2..88370c03a 100644
    dependencies: [
 +    atomic_dep,
      thread_dep,
+     net_dep,
      system_dep,
-     boost_dep,
 -- 
 2.20.1
 
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index eb05f25a0b..be43049f7a 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -8,6 +8,7 @@ menuconfig BR2_PACKAGE_MPD
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17
 	depends on BR2_HOST_GCC_AT_LEAST_8 # C++17
 	select BR2_PACKAGE_BOOST
+	select BR2_PACKAGE_FMT
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	help
 	  MPD is a flexible, powerful, server-side application
@@ -354,7 +355,7 @@ config BR2_PACKAGE_MPD_LIBMPDCLIENT
 
 config BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT
 	bool "neighbor discovery support"
-	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || BR2_PACKAGE_MPD_UPNP
+	depends on BR2_PACKAGE_MPD_LIBSMBCLIENT || !BR2_PACKAGE_MPD_UPNP_DISABLED
 	help
 	  Enable support for neighbor discovery.
 	  This option can be used in conjunction with the smbclient
@@ -373,13 +374,45 @@ config BR2_PACKAGE_MPD_TCP
 	  You want this on if MPD and the client(s) work
 	  on different machines (the usual scenario).
 
-config BR2_PACKAGE_MPD_UPNP
-	bool "UPnP"
+choice
+	prompt "UPnP"
+	default BR2_PACKAGE_MPD_UPNP_DISABLED
+	help
+	  Enable MPD to access a UPnP based media server.
+
+	  For further information, see
+	  https://www.lesbonscomptes.com/upmpdcli/pages/upmpdcli-or-mpdupnp.html
+
+
+config BR2_PACKAGE_MPD_UPNP_PUPNP
+	bool "pupnp"
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_LIBUPNP
 	select BR2_PACKAGE_MPD_CURL
 	help
-	  Enable MPD UPnP client support.
+	  Provides UPnP database access through libupnp
+	  (the legacy Portable SDK for UPnP devices).
+
+	  Introduces least additional dependencies.
+
+config BR2_PACKAGE_MPD_UPNP_NPUPNP
+	bool "npupnp"
+	select BR2_PACKAGE_LIBNPUPNP
+	select BR2_PACKAGE_MPD_CURL
+	help
+	  Provides UPnP database access through libnpupnp
+	  (a C++ reimplementation of the Portable UPnP library).
+
+	  This implementation is more modern, but also brings
+	  additional features not needed in this context, thus
+	  consuming more space.
+
+config BR2_PACKAGE_MPD_UPNP_DISABLED
+	bool "disabled"
+	help
+	  No UPnP client functionality.
+
+endchoice
 
 comment "Tag plugins"
 
diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash
index 2501be65de..cb9d05cd32 100644
--- a/package/mpd/mpd.hash
+++ b/package/mpd/mpd.hash
@@ -1,3 +1,3 @@
 # Locally calculated after checking pgp signature
-sha256  143f7f34aaee6e87888f3dd35d49aade6656052651b960ca42b46cbb518ca0a0  mpd-0.22.11.tar.xz
+sha256  b300625701005c6b14649f11dac118d05540529a5385d05b7c3062c0ce08f399  mpd-0.23.3.tar.xz
 sha256  ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6  COPYING
diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
index e105352b80..382c003e28 100644
--- a/package/mpd/mpd.mk
+++ b/package/mpd/mpd.mk
@@ -4,17 +4,20 @@
 #
 ################################################################################
 
-MPD_VERSION_MAJOR = 0.22
-MPD_VERSION = $(MPD_VERSION_MAJOR).11
+MPD_VERSION_MAJOR = 0.23
+MPD_VERSION = $(MPD_VERSION_MAJOR).3
 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
 MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
-MPD_DEPENDENCIES = host-pkgconf boost
+MPD_DEPENDENCIES = host-pkgconf boost fmt
 MPD_LICENSE = GPL-2.0+
 MPD_LICENSE_FILES = COPYING
 MPD_SELINUX_MODULES = mpd
 MPD_CONF_OPTS = \
 	-Daudiofile=disabled \
-	-Ddocumentation=disabled
+	-Ddocumentation=disabled \
+	-Dopenmpt=disabled \
+	-Dpipewire=disabled \
+	-Dsnapcast=disabled
 
 # Zeroconf support depends on libdns_sd from avahi.
 ifeq ($(BR2_PACKAGE_MPD_AVAHI_SUPPORT),y)
@@ -291,12 +294,18 @@ else
 MPD_CONF_OPTS += -Dtwolame=disabled
 endif
 
-ifeq ($(BR2_PACKAGE_MPD_UPNP),y)
+ifeq ($(BR2_PACKAGE_MPD_UPNP_PUPNP),y)
 MPD_DEPENDENCIES += \
 	expat \
 	libupnp
-MPD_CONF_OPTS += -Dupnp=enabled
-else
+MPD_CONF_OPTS += -Dupnp=pupnp
+endif
+ifeq ($(BR2_PACKAGE_MPD_UPNP_NPUPNP),y)
+MPD_DEPENDENCIES += \
+	libnpupnp
+MPD_CONF_OPTS += -Dupnp=npupnp
+endif
+ifeq ($(BR2_PACKAGE_MPD_UPNP_DISABLED),y)
 MPD_CONF_OPTS += -Dupnp=disabled
 endif
 
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2 1/2] package/mpd: correct typo in help message
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 1/2] package/mpd: correct typo in help message Andreas Ziegler
@ 2021-12-10 19:02     ` Arnout Vandecappelle
  0 siblings, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2021-12-10 19:02 UTC (permalink / raw)
  To: Andreas Ziegler, buildroot; +Cc: Jörg Krause, Thomas Petazzoni



On 15/11/2021 13:32, Andreas Ziegler wrote:
> Signed-off-by: Andreas Ziegler <br015@umbiko.net>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
> Changes v1 -> v2 (after review by Thomas Petazzoni):
>   - Config.in: create separate patch for toolchain version typo
> 
>   package/mpd/Config.in | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/mpd/Config.in b/package/mpd/Config.in
> index 5e49e69442..eb05f25a0b 100644
> --- a/package/mpd/Config.in
> +++ b/package/mpd/Config.in
> @@ -391,7 +391,7 @@ config BR2_PACKAGE_MPD_ID3TAG
>   
>   endif
>   
> -comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 7, host gcc >= 7"
> +comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 8, host gcc >= 8"
>   	depends on BR2_USE_MMU
>   	depends on BR2_TOOLCHAIN_HAS_ATOMIC
>   	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Buildroot] [PATCH v2 2/2] package/mpd: update to version 0.23.y
  2021-11-15 12:32   ` [Buildroot] [PATCH v2 2/2] package/mpd: update to version 0.23.y Andreas Ziegler
@ 2021-12-10 19:07     ` Arnout Vandecappelle
  0 siblings, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2021-12-10 19:07 UTC (permalink / raw)
  To: Andreas Ziegler, buildroot; +Cc: Jörg Krause, Thomas Petazzoni



On 15/11/2021 13:32, Andreas Ziegler wrote:
> Signed-off-by: Andreas Ziegler <br015@umbiko.net>

  Applied to master, with a bunch of fixes.

  First of all, since this is a rather complicated commit, the commit message 
should be a bit more extensive, mentioning what changed and why.

> ---
> Changes v1 -> v2 (after review by Thomas Petazzoni):
>   - Config.in.legacy: add entry for legacy MPD UPnP configuration
>   - Config.in: rewrite UPnP help messages
>   - mpd.mk: add fmt to MPD_DEPENDENCIES
>   - mpd.mk: disable openmpt, pipewire, snapcast
>   - mpd.mk: update to version 0.23.3
> 
>   Config.in.legacy                              |  8 ++++
>   ...build-add-atomic-dependency-for-spar.patch |  4 +-
>   package/mpd/Config.in                         | 41 +++++++++++++++++--
>   package/mpd/mpd.hash                          |  2 +-
>   package/mpd/mpd.mk                            | 23 +++++++----
>   5 files changed, 64 insertions(+), 14 deletions(-)
> 
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 5b48566f68..09b7e5983e 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -146,6 +146,14 @@ endif
>   
>   comment "Legacy options removed in 2021.11"
>   
> +config BR2_PACKAGE_MPD_UPNP
> +	bool "MPD UPnP configuration changed"
> +	select BR2_LEGACY
> +	help
> +	  From version 0.23, MPD supports npupnp in addition to pupnp to
> +	  provide database access to a UPnP media server. To preserve the
> +	  existing functionality, select pupnp in the MPD UPnP configuration.

  Legacy handling for choices is peculiar. See the documentation at the top of 
the file. Basically, you want to make sure that BR2_PACKAGE_MPD_UPNP_PUPNP is 
selected automatically. I fixed all that.

  Also, the line length was too high. Please use check-package to verify your 
contributions before sending.


[snip]
> diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
> index e105352b80..382c003e28 100644
> --- a/package/mpd/mpd.mk
> +++ b/package/mpd/mpd.mk
> @@ -4,17 +4,20 @@
>   #
>   ################################################################################
>   
> -MPD_VERSION_MAJOR = 0.22
> -MPD_VERSION = $(MPD_VERSION_MAJOR).11
> +MPD_VERSION_MAJOR = 0.23
> +MPD_VERSION = $(MPD_VERSION_MAJOR).3
>   MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
>   MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
> -MPD_DEPENDENCIES = host-pkgconf boost
> +MPD_DEPENDENCIES = host-pkgconf boost fmt
>   MPD_LICENSE = GPL-2.0+
>   MPD_LICENSE_FILES = COPYING
>   MPD_SELINUX_MODULES = mpd
>   MPD_CONF_OPTS = \
>   	-Daudiofile=disabled \
> -	-Ddocumentation=disabled
> +	-Ddocumentation=disabled \
> +	-Dopenmpt=disabled \
> +	-Dpipewire=disabled \
> +	-Dsnapcast=disabled

  meson complains about 'disabled', it has to be 'false' (it's a boolean, not a 
feature, apparently). Have you tested this?

  There's likely going to be some more fallout from this version bump, so please 
monitor the autobuilders. Or better yet, add yourself to DEVELOPERS for mpd.


  Regards,
  Arnout

[snip]
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-12-10 19:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-25  9:44 [Buildroot] [PATCH 1/1] package/mpd: update to version 0.23.2 Andreas Ziegler
2021-11-14 15:08 ` Thomas Petazzoni
2021-11-15  9:04   ` Andreas Ziegler
2021-11-15 12:32   ` [Buildroot] [PATCH v2 0/2] package/mpd: update to version 0.23.y Andreas Ziegler
2021-11-15 12:32   ` [Buildroot] [PATCH v2 1/2] package/mpd: correct typo in help message Andreas Ziegler
2021-12-10 19:02     ` Arnout Vandecappelle
2021-11-15 12:32   ` [Buildroot] [PATCH v2 2/2] package/mpd: update to version 0.23.y Andreas Ziegler
2021-12-10 19:07     ` Arnout Vandecappelle

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.