All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3] package/mpd: add choice between version 0.19 and 0.20
@ 2017-02-15 14:51 Jörg Krause
  2017-02-15 20:55 ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: Jörg Krause @ 2017-02-15 14:51 UTC (permalink / raw)
  To: buildroot

MPD version 0.20 being affected by GCC PR libstdc++/64735 means no mpd package
available in Buildroot for the architectures NIOSII, ARMv4, ARMv5 and SPARCv8
until GCC 7 is released.

As the next Buildroot release is in 2017.02, which is before GCC 7 is expected
to be finished we add hidden config symbols to select the version branch to use.

Note, that we bumped the version from 0.19 to 0.20 quite recently within the
current Buildroot release cycle. This way we can keep the support for mpd on
the affected architectures, like ARMv5, until GCC 7 is out.

Note, that for the version 0.19 MPD requires libglib2.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
Note that this patch is targeted for the master branch.

Changes v3:
 * strip quotation marks from mpd version string

Changes v2:
 * add missing hash for version 0.19.21
 * remove of visible options (suggested by Thomas)
---
 package/mpd/Config.in | 26 +++++++++++++++++++++-----
 package/mpd/mpd.hash  |  1 +
 package/mpd/mpd.mk    | 10 +++++++++-
 3 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 8a28b4f1a..8eabbbc79 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -4,9 +4,10 @@ menuconfig BR2_PACKAGE_MPD
 	depends on BR2_USE_WCHAR # flac
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # fork
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
-	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
+	# 0.19.x could be built with GCC 4.6, but for simplicity we require
+	# the same toolchain dependencies for all versions.
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
 	select BR2_PACKAGE_MPD_TREMOR if !(BR2_PACKAGE_MPD_MAD || BR2_PACKAGE_MPD_MPG123 || BR2_PACKAGE_MPD_VORBIS || BR2_PACKAGE_MPD_WAVPACK || BR2_PACKAGE_MPD_FLAC || BR2_PACKAGE_MPD_MUSEPACK || BR2_PACKAGE_MPD_FFMPEG)
@@ -20,6 +21,24 @@ menuconfig BR2_PACKAGE_MPD
 
 if BR2_PACKAGE_MPD
 
+# Hidden config symbols to select the branch 0.20 by default and fallback
+# to branch 0.19 for toolchains affected by GCC bug PR 64735. This way we
+# keep support for mpd on some architectures, like ARMv5, until GCC 7 is
+# released, which will fix this issue.
+config BR2_PACKAGE_MPD_VERSION_STRING
+	string
+	default "0.20" if !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+	default "0.19"
+
+config BR2_PACKAGE_MPD_VERSION_0_20
+	bool
+	default y if BR2_PACKAGE_MPD_VERSION_STRING = "0.20"
+
+config BR2_PACKAGE_MPD_VERSION_0_19
+	bool
+	default y if BR2_PACKAGE_MPD_VERSION_STRING = "0.19"
+	select BR2_PACKAGE_LIBGLIB2
+
 comment "Archive plugins"
 
 config BR2_PACKAGE_MPD_BZIP2
@@ -320,6 +339,3 @@ comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9"
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
 		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
-
-comment "mpd needs a toolchain not affected by GCC bug 64735"
-	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash
index ee46f3cc5..ecd78e97c 100644
--- a/package/mpd/mpd.hash
+++ b/package/mpd/mpd.hash
@@ -1,2 +1,3 @@
 # Locally calculated after checking pgp signature
 sha256  712b25351c12616630c580204e1c3dcba3ae2993a56cff1c346c87e334d69728  mpd-0.20.4.tar.xz
+sha256  8305b8bc026f4b6bde28b8dd09bfdddbe5590acf36358eed4d083a396e301730  mpd-0.19.21.tar.xz
diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
index 0efc8685f..8869176d2 100644
--- a/package/mpd/mpd.mk
+++ b/package/mpd/mpd.mk
@@ -4,8 +4,12 @@
 #
 ################################################################################
 
-MPD_VERSION_MAJOR = 0.20
+MPD_VERSION_MAJOR = $(call qstrip,$(BR2_PACKAGE_MPD_VERSION_STRING))
+ifeq ($(BR2_PACKAGE_MPD_VERSION_0_20),y)
 MPD_VERSION = $(MPD_VERSION_MAJOR).4
+else
+MPD_VERSION = $(MPD_VERSION_MAJOR).21
+endif
 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
 MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
 MPD_DEPENDENCIES = host-pkgconf boost
@@ -13,6 +17,10 @@ MPD_LICENSE = GPLv2+
 MPD_LICENSE_FILES = COPYING
 MPD_AUTORECONF = YES
 
+ifeq ($(BR2_MPD_VERSION_0_19),y)
+MPD_DEPENDENCIES += libglib2
+endif
+
 # Some options need an explicit --disable or --enable
 
 # Zeroconf support depends on libdns_sd from avahi.
-- 
2.11.0

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

* [Buildroot] [PATCH v3] package/mpd: add choice between version 0.19 and 0.20
  2017-02-15 14:51 [Buildroot] [PATCH v3] package/mpd: add choice between version 0.19 and 0.20 Jörg Krause
@ 2017-02-15 20:55 ` Thomas Petazzoni
  2017-02-16  8:14   ` Jörg Krause
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2017-02-15 20:55 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 15 Feb 2017 15:51:02 +0100, J?rg Krause wrote:
> MPD version 0.20 being affected by GCC PR libstdc++/64735 means no mpd package
> available in Buildroot for the architectures NIOSII, ARMv4, ARMv5 and SPARCv8
> until GCC 7 is released.
> 
> As the next Buildroot release is in 2017.02, which is before GCC 7 is expected
> to be finished we add hidden config symbols to select the version branch to use.
> 
> Note, that we bumped the version from 0.19 to 0.20 quite recently within the
> current Buildroot release cycle. This way we can keep the support for mpd on
> the affected architectures, like ARMv5, until GCC 7 is out.
> 
> Note, that for the version 0.19 MPD requires libglib2.
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> Note that this patch is targeted for the master branch.

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH v3] package/mpd: add choice between version 0.19 and 0.20
  2017-02-15 20:55 ` Thomas Petazzoni
@ 2017-02-16  8:14   ` Jörg Krause
  2017-02-16  8:34     ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: Jörg Krause @ 2017-02-16  8:14 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Wed, 2017-02-15 at 21:55 +0100, Thomas Petazzoni wrote:
> Hello,
> 
> On Wed, 15 Feb 2017 15:51:02 +0100, J?rg Krause wrote:
> > MPD version 0.20 being affected by GCC PR libstdc++/64735 means no
> > mpd package
> > available in Buildroot for the architectures NIOSII, ARMv4, ARMv5
> > and SPARCv8
> > until GCC 7 is released.
> > 
> > As the next Buildroot release is in 2017.02, which is before GCC 7
> > is expected
> > to be finished we add hidden config symbols to select the version
> > branch to use.
> > 
> > Note, that we bumped the version from 0.19 to 0.20 quite recently
> > within the
> > current Buildroot release cycle. This way we can keep the support
> > for mpd on
> > the affected architectures, like ARMv5, until GCC 7 is out.
> > 
> > Note, that for the version 0.19 MPD requires libglib2.
> > 
> > Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > ---
> > Note that this patch is targeted for the master branch.
> 
> Applied to master, thanks.

Many thanks! Unfortunately, I just discovered a mistake in the patch.
I'll send a patch to fix the issue.

J?rg

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

* [Buildroot] [PATCH v3] package/mpd: add choice between version 0.19 and 0.20
  2017-02-16  8:14   ` Jörg Krause
@ 2017-02-16  8:34     ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2017-02-16  8:34 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu, 16 Feb 2017 09:14:12 +0100, J?rg Krause wrote:

> Many thanks! Unfortunately, I just discovered a mistake in the patch.
> I'll send a patch to fix the issue.

Hm, ok. Weird, because I build tested both the mpd 0.19 and 0.20 cases
before pushing your patch, but I might have missed something, of course.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

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

end of thread, other threads:[~2017-02-16  8:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-15 14:51 [Buildroot] [PATCH v3] package/mpd: add choice between version 0.19 and 0.20 Jörg Krause
2017-02-15 20:55 ` Thomas Petazzoni
2017-02-16  8:14   ` Jörg Krause
2017-02-16  8:34     ` Thomas Petazzoni

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.