[Buildroot] [PATCH v2] package/mpd: add choice between version 0.19 and 0.20
Jörg Krause
joerg.krause at embedded.rocks
Wed Feb 15 14:06:02 UTC 2017
Hi,
On Wed, 2017-02-15 at 10:33 +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 version 0.19 requires libglib2.
>
> Signed-off-by: Jörg Krause <joerg.krause at embedded.rocks>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> ---
> 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 712b25351c12616630c580204e1c3dcba3ae2993a56cff1c346c87e334d6
> 9728 mpd-0.20.4.tar.xz
> +sha256 8305b8bc026f4b6bde28b8dd09bfdddbe5590acf36358eed4d083a396e30
> 1730 mpd-0.19.21.tar.xz
> diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
> index 0efc8685f..74f966c9f 100644
> --- a/package/mpd/mpd.mk
> +++ b/package/mpd/mpd.mk
> @@ -4,8 +4,12 @@
> #
> ####################################################################
> ############
>
> -MPD_VERSION_MAJOR = 0.20
> +MPD_VERSION_MAJOR = $(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.
Note that this patch is targeted for the master branch.
Thanks!
Jörg
More information about the buildroot
mailing list