Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 0/3] package/mpd: bump to version 0.21.11
@ 2019-07-28  6:10 Jörg Krause
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 1/3] package/libgcrypt: replace reconfigure patch with upstream patch Jörg Krause
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jörg Krause @ 2019-07-28  6:10 UTC (permalink / raw)
  To: buildroot

MPD switched from Autotools to the Meson build system. This is not
really a big deal except that the Qobuz plugin depends on libgcrypt.

The issue is, that libgcrypt version 1.8.4 only provides its own config
file `libgcrypt-config` instead of a pkg-config file. Every custom config
file needs to be added to the `[binary]` section in the cross-compilation.conf
file, so that Meson correctly detects the path for the custom config file
instead of using the one find in `PATH`, which directs to the host.

v1 of bumping mpd to the 0.21 version added `libgcrypt-config` to the
cross-compilation.conf.in file which has the drawback, that this
variable is creeping into the global cross-compilation file.

v2 added the staging path early to PATH, which is not a wise idea, because
$(STAGING_DIR)/usr/bin contains binaries compiled for the target.

There was an ongoing discussion, how to add support to the meson
infrastructure to allow adding entries to the `[binaries]` section on
the per-package cross-compilation file. It turned out, that the current
meson infrastructure needs some changes to support adding multi-line
entries.

v3 does not try to fix the meson build infrastructure, but adds an
upstream patch to libgcrypt to provide a pkg-config file. pkg-config
files are preferred over custom config files and meson will correctly
detect libgcrypt without changing the meson infrastructure. This makes
bumping mpd to the 0.21.x version branch much easier.

v4 bumps mpd to version 0.21.11 (instead of 0.21.7) and do not uses
squased patches.

J?rg Krause (3):
  package/libgcrypt: replace reconfigure patch with upstream patch
  package/libgcrypt: add upstream patch to add pkg-config file
  package/mpd: bump to version 0.21.11

 ...ult-to-underscore-yes-for-cross-buil.patch |  48 +++++
 package/libgcrypt/0001-reconfigure.patch      |  27 ---
 ...-libgcrypt.pc-generated-by-configure.patch |  93 +++++++++
 .../0003-build-Fix-libgcrypt.pc.patch         |  31 +++
 package/libgcrypt/libgcrypt.mk                |   5 +-
 ...gure.ac-check-if-libatomic-is-needed.patch |  40 ----
 package/mpd/Config.in                         |  29 ++-
 package/mpd/mpd.hash                          |   2 +-
 package/mpd/mpd.mk                            | 176 +++++++++---------
 9 files changed, 292 insertions(+), 159 deletions(-)
 create mode 100644 package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch
 delete mode 100644 package/libgcrypt/0001-reconfigure.patch
 create mode 100644 package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch
 create mode 100644 package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch
 delete mode 100644 package/mpd/0001-configure.ac-check-if-libatomic-is-needed.patch

-- 
2.22.0

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

* [Buildroot] [PATCH v4 1/3] package/libgcrypt: replace reconfigure patch with upstream patch
  2019-07-28  6:10 [Buildroot] [PATCH v4 0/3] package/mpd: bump to version 0.21.11 Jörg Krause
@ 2019-07-28  6:10 ` Jörg Krause
  2019-07-28 11:51   ` Thomas Petazzoni
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 2/3] package/libgcrypt: add upstream patch to add pkg-config file Jörg Krause
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 3/3] package/mpd: bump to version 0.21.11 Jörg Krause
  2 siblings, 1 reply; 5+ messages in thread
From: Jörg Krause @ 2019-07-28  6:10 UTC (permalink / raw)
  To: buildroot

The `ac_cv_sys_symbol_underscore` reconfigure patch was added to
Buildroot back in 2007 [1], but was not reported to upstream back then.

Meanwhile, the issue has been fixed upstream [2] after the version bump to
version 1.8.4.

In order to add another upstream patch, which will add a pkg-config file
for libgrypt and therefore requires autoreconfiguration as well, replace the
current patch with the upstream patch.

[1] https://git.buildroot.net/buildroot/commit/package/libgcrypt?id=f1bcdf518fa7868b7819b0248f4b8da02a954dde
[2] https://github.com/gpg/libgcrypt/commit/0f4545b441b6fbdd6e9c4e95f5f2a367483e78ad

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
v4:
 * none
v3:
 * initial commit
---
 ...ult-to-underscore-yes-for-cross-buil.patch | 48 +++++++++++++++++++
 package/libgcrypt/0001-reconfigure.patch      | 27 -----------
 package/libgcrypt/libgcrypt.mk                |  4 +-
 3 files changed, 50 insertions(+), 29 deletions(-)
 create mode 100644 package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch
 delete mode 100644 package/libgcrypt/0001-reconfigure.patch

diff --git a/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch b/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch
new file mode 100644
index 0000000000..032cb7c84c
--- /dev/null
+++ b/package/libgcrypt/0001-build-Don-t-default-to-underscore-yes-for-cross-buil.patch
@@ -0,0 +1,48 @@
+From 7fec3ac22efb86fce90a9edc5696e16ee88a65c7 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Wed, 24 Oct 2018 14:29:45 +0900
+Subject: [PATCH] build: Don't default to underscore=yes for cross-build.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* acinclude.m4: Don't set ac_cv_sys_symbol_underscore
+for cross build.
+
+--
+
+It made sense in the past when cross compile were basically for a.out
+system, but nowadays, it's better not to assume that.
+
+Fetched from: 0f4545b441b6fbdd6e9c4e95f5f2a367483e78ad
+
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ acinclude.m4 | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/acinclude.m4 b/acinclude.m4
+index fc208c53..6f7789d0 100644
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -111,14 +111,10 @@ case "${host}" in
+         ac_cv_sys_symbol_underscore=yes
+         ;;
+     *)
+-      if test "$cross_compiling" = yes; then
+-        if test "x$ac_cv_sys_symbol_underscore" = x ; then
+-           ac_cv_sys_symbol_underscore=yes
+-        fi
+-      else
++      if test "$cross_compiling" != yes; then
+          tmp_do_check="yes"
+       fi
+-       ;;
++      ;;
+ esac
+ if test "$tmp_do_check" = "yes"; then
+   AC_REQUIRE([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])
+-- 
+2.22.0
+
diff --git a/package/libgcrypt/0001-reconfigure.patch b/package/libgcrypt/0001-reconfigure.patch
deleted file mode 100644
index 87d29a298b..0000000000
--- a/package/libgcrypt/0001-reconfigure.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/configure b/configure
-index 70a6d50..8f55d95 100755
---- a/configure
-+++ b/configure
-@@ -22306,14 +22306,15 @@ case "${host}" in
-     i386-emx-os2 | i345686-pc-os2*emx | i386-pc-msdosdjgpp)
-         ac_cv_sys_symbol_underscore=yes
-         ;;
--    *)
--      if test "$cross_compiling" = yes; then
--        if test "x$ac_cv_sys_symbol_underscore" = x ; then
--           ac_cv_sys_symbol_underscore=yes
-+    *)if test -z "$ac_cv_sys_symbol_underscore";then
-+        if test "$cross_compiling" = yes; then
-+            if test "x$ac_cv_sys_symbol_underscore" = x ; then
-+                ac_cv_sys_symbol_underscore=yes
-+            fi
-+        else
-+            tmp_do_check="yes"
-+        fi
-         fi
--      else
--         tmp_do_check="yes"
--      fi
-        ;;
- esac
- if test "$tmp_do_check" = "yes"; then
diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
index 452cf17ce1..5aa44481ae 100644
--- a/package/libgcrypt/libgcrypt.mk
+++ b/package/libgcrypt/libgcrypt.mk
@@ -13,8 +13,8 @@ LIBGCRYPT_INSTALL_STAGING = YES
 LIBGCRYPT_DEPENDENCIES = libgpg-error
 LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config
 
-LIBGCRYPT_CONF_ENV = \
-	ac_cv_sys_symbol_underscore=no
+# Patching acinclude.m4 in 0001
+LIBGCRYPT_AUTORECONF = YES
 LIBGCRYPT_CONF_OPTS = \
 	--with-gpg-error-prefix=$(STAGING_DIR)/usr
 
-- 
2.22.0

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

* [Buildroot] [PATCH v4 2/3] package/libgcrypt: add upstream patch to add pkg-config file
  2019-07-28  6:10 [Buildroot] [PATCH v4 0/3] package/mpd: bump to version 0.21.11 Jörg Krause
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 1/3] package/libgcrypt: replace reconfigure patch with upstream patch Jörg Krause
@ 2019-07-28  6:10 ` Jörg Krause
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 3/3] package/mpd: bump to version 0.21.11 Jörg Krause
  2 siblings, 0 replies; 5+ messages in thread
From: Jörg Krause @ 2019-07-28  6:10 UTC (permalink / raw)
  To: buildroot

libgrypt provides a config file `libgcrypt-config`. After the version
bump to 1.8.4 upstream added a pkg-config file as well [1].

Using the pkg-config file is preferred over using the package provided
config file. For example, the Meson build system requires that for every
special config file an entry is added to the `[binary]` section in the
cross-compilation.conf file, otherwise it will use the config file found
in `PATH`. This is bad when cross-compiling as `PATH` will include
pathes to the host and therefore Meson will wrongly use the host config
file.

To simplify using libgcrypt for packages using the meson infrastructure
lets add the pkg-config file.

Note, that the additional upstream patch 0003 fixes a typo in the pkg-config
file.

[1] https://github.com/gpg/libgcrypt/commit/97194b422bc89a6137f4e218d4cdee118c63e96e

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
v4:
 * use individual patches instead of a squashed patch [Arnout
   Vandecappelle]
v3:
 * initial commit
---
 ...-libgcrypt.pc-generated-by-configure.patch | 93 +++++++++++++++++++
 .../0003-build-Fix-libgcrypt.pc.patch         | 31 +++++++
 package/libgcrypt/libgcrypt.mk                |  1 +
 3 files changed, 125 insertions(+)
 create mode 100644 package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch
 create mode 100644 package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch

diff --git a/package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch b/package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch
new file mode 100644
index 0000000000..eaedeaaf2e
--- /dev/null
+++ b/package/libgcrypt/0002-build-Provide-libgcrypt.pc-generated-by-configure.patch
@@ -0,0 +1,93 @@
+From c006d8b897229e22f80cd6105fd64d0630f68867 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Wed, 24 Oct 2018 14:57:53 +0900
+Subject: [PATCH 1/2] build: Provide libgcrypt.pc, generated by configure.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* configure.ac: Generate src/libgcrypt.pc.
+* src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New.
+(EXTRA_DIST): Add libgcrypt.pc.in.
+* src/libgcrypt-config.in: Use @PACKAGE_VERSION at .
+* src/libgcrypt.pc.in: New.
+
+Fetched from: 97194b422bc89a6137f4e218d4cdee118c63e96e
+
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ configure.ac            |  1 +
+ src/Makefile.am         |  5 ++++-
+ src/libgcrypt-config.in |  2 +-
+ src/libgcrypt.pc.in     | 17 +++++++++++++++++
+ 4 files changed, 23 insertions(+), 2 deletions(-)
+ create mode 100644 src/libgcrypt.pc.in
+
+diff --git a/configure.ac b/configure.ac
+index ce11162d..4e788714 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2613,6 +2613,7 @@ doc/Makefile
+ src/Makefile
+ src/gcrypt.h
+ src/libgcrypt-config
++src/libgcrypt.pc
+ src/versioninfo.rc
+ tests/Makefile
+ ])
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 3cc4a552..82d6e8a0 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -20,8 +20,11 @@
+ 
+ ## Process this file with automake to produce Makefile.in
+ 
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = libgcrypt.pc
++
+ EXTRA_DIST = libgcrypt-config.in libgcrypt.m4 libgcrypt.vers \
+-             gcrypt.h.in libgcrypt.def
++             gcrypt.h.in libgcrypt.def libgcrypt.pc.in
+ 
+ bin_SCRIPTS = libgcrypt-config
+ m4datadir = $(datadir)/aclocal
+diff --git a/src/libgcrypt-config.in b/src/libgcrypt-config.in
+index c052638c..f7a13afe 100644
+--- a/src/libgcrypt-config.in
++++ b/src/libgcrypt-config.in
+@@ -14,7 +14,7 @@
+ # General.
+ prefix="@prefix@"
+ exec_prefix="@exec_prefix@"
+-version="@VERSION@"
++version="@PACKAGE_VERSION@"
+ includedir="@includedir@"
+ libdir="@libdir@"
+ gpg_error_libs="@GPG_ERROR_LIBS@"
+diff --git a/src/libgcrypt.pc.in b/src/libgcrypt.pc.in
+new file mode 100644
+index 00000000..5472da53
+--- /dev/null
++++ b/src/libgcrypt.pc.in
+@@ -0,0 +1,17 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++includedir=@includedir@
++libdir=@libdir@
++host=@LIBGCRYPT_CONFIG_HOST@
++api_version=@LIBGCRYPT_CONFIG_API_VERSION@
++symmetric_ciphers="@LIBGCRYPT_CIPHERS@"
++asymmetric_ciphers="@LIBGCRYPT_PUBKEY_CIPHERS@"
++digests="@LIBGCRYPT_DIGESTS@"
++
++Name: libgcrypt
++Description: General purpose cryptographic library
++Requires: gpg-error
++Version: @PACKAGE_VERSION@
++Cflags: @LIBGCRYPT_CONFIG_CFLAGS@
++Libs: @LIBGCRYPT_CONFIG_LIB@
++URL: https://www.gnupg.org/software/libgcrypt/index.html
+-- 
+2.22.0
diff --git a/package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch b/package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch
new file mode 100644
index 0000000000..8d4639a655
--- /dev/null
+++ b/package/libgcrypt/0003-build-Fix-libgcrypt.pc.patch
@@ -0,0 +1,31 @@
+From de0245ddfca3cea31311eae9f7f3e8c0da072252 Mon Sep 17 00:00:00 2001
+From: NIIBE Yutaka <gniibe@fsij.org>
+Date: Wed, 24 Oct 2018 15:34:57 +0900
+Subject: [PATCH 2/2] build: Fix libgcrypt.pc.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* src/libgcrypt.pc.in: Fix typo.
+
+Fetched from: 0e071372fc0e6fed4a449955ed0789803ba5e709
+
+Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
+Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
+---
+ src/libgcrypt.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/libgcrypt.pc.in b/src/libgcrypt.pc.in
+index 5472da53..ec68fa2d 100644
+--- a/src/libgcrypt.pc.in
++++ b/src/libgcrypt.pc.in
+@@ -13,5 +13,5 @@ Description: General purpose cryptographic library
+ Requires: gpg-error
+ Version: @PACKAGE_VERSION@
+ Cflags: @LIBGCRYPT_CONFIG_CFLAGS@
+-Libs: @LIBGCRYPT_CONFIG_LIB@
++Libs: @LIBGCRYPT_CONFIG_LIBS@
+ URL: https://www.gnupg.org/software/libgcrypt/index.html
+-- 
+2.22.0
diff --git a/package/libgcrypt/libgcrypt.mk b/package/libgcrypt/libgcrypt.mk
index 5aa44481ae..2799a6fba2 100644
--- a/package/libgcrypt/libgcrypt.mk
+++ b/package/libgcrypt/libgcrypt.mk
@@ -14,6 +14,7 @@ LIBGCRYPT_DEPENDENCIES = libgpg-error
 LIBGCRYPT_CONFIG_SCRIPTS = libgcrypt-config
 
 # Patching acinclude.m4 in 0001
+# Patching configure.ac and Makefile.am in 0002
 LIBGCRYPT_AUTORECONF = YES
 LIBGCRYPT_CONF_OPTS = \
 	--with-gpg-error-prefix=$(STAGING_DIR)/usr
-- 
2.22.0

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

* [Buildroot] [PATCH v4 3/3] package/mpd: bump to version 0.21.11
  2019-07-28  6:10 [Buildroot] [PATCH v4 0/3] package/mpd: bump to version 0.21.11 Jörg Krause
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 1/3] package/libgcrypt: replace reconfigure patch with upstream patch Jörg Krause
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 2/3] package/libgcrypt: add upstream patch to add pkg-config file Jörg Krause
@ 2019-07-28  6:10 ` Jörg Krause
  2 siblings, 0 replies; 5+ messages in thread
From: Jörg Krause @ 2019-07-28  6:10 UTC (permalink / raw)
  To: buildroot

MPD changed from Autotools to the Meson build system.

Add config options for the qobuz and tidal plugins and group them together
with the soundcloud plugin under "Commercial services".

Helping MPD to find tremor in static linking scenarios is no longer
needed and can safely be removed.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
v4:
 * bump mpd to version 0.21.11 (instead of 0.21.7) [Arnout Vandecappelle]
 * add note in commit log about removing fix for tremor in static
   linking scenarios [Arnout Vandecappelle]
v3:
 * rebased on current master
 * do not pass staging dir to PATH (as done in v2) [Thomas Petazonni]
 * requires libcrypt patched to provide pkg-config file
 * drop MPD_AUTORECONF
v2:
 * do not add the `libgrypt-config` entry the Meson cross file, but pass
   the staging dir early through PATH, so that the fallback mechanism
   finds the `libgcrypt-config` program installed in the staging dir and
   not the one installed on the host [Thomas Petazonni]
---
 ...gure.ac-check-if-libatomic-is-needed.patch |  40 ----
 package/mpd/Config.in                         |  29 ++-
 package/mpd/mpd.hash                          |   2 +-
 package/mpd/mpd.mk                            | 176 +++++++++---------
 4 files changed, 117 insertions(+), 130 deletions(-)
 delete mode 100644 package/mpd/0001-configure.ac-check-if-libatomic-is-needed.patch

diff --git a/package/mpd/0001-configure.ac-check-if-libatomic-is-needed.patch b/package/mpd/0001-configure.ac-check-if-libatomic-is-needed.patch
deleted file mode 100644
index a9873a741f..0000000000
--- a/package/mpd/0001-configure.ac-check-if-libatomic-is-needed.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 8eaf14a17244aaf000b4d19e4fde4a637576939f Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sun, 7 Feb 2016 21:40:47 +0100
-Subject: [PATCH] configure.ac: check if libatomic is needed
-
-The mpd source code uses the C++11 <atomic> functionality, which
-internally is implemented using the __atomic_*() gcc built-ins. On
-certain architectures, the __atomic_*() built-ins are implemented in
-the libatomic library that comes with the rest of the gcc runtime. Due
-to this, code using <atomic> might need to link against libatomic,
-otherwise one hits build issues such as:
-
-GlobalEvents.cxx:(.text._ZN12GlobalEvents4EmitENS_5EventE+0x14): undefined reference to `__atomic_fetch_or_4'
-
-on an architecture like SPARC.
-
-To solve this, a configure.ac check is added to know if we need to
-link against libatomic or not.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- configure.ac | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 107b45a..8e6fab7 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -233,6 +233,8 @@ if test x$have_pthread_setname_np = xyes; then
- 	AC_DEFINE(HAVE_PTHREAD_SETNAME_NP, 1, [Is pthread_setname_np() available?])
- fi
- 
-+AC_SEARCH_LIBS([__atomic_load_4], [atomic])
-+
- dnl ---------------------------------------------------------------------------
- dnl Event loop selection
- dnl ---------------------------------------------------------------------------
--- 
-2.6.4
-
diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 923f0c2201..16bea27428 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -34,6 +34,29 @@ config BR2_PACKAGE_MPD_SQLITE
 	  Enable sqlite database support.
 	  If you don't use sqlite it will use an ASCII database.
 
+comment "Commercial services"
+
+config BR2_PACKAGE_MPD_QOBUZ
+	bool "qobuz"
+	select BR2_PACKAGE_MPD_CURL
+	select BR2_PACKAGE_LIBGCRYPT
+	select BR2_PACKAGE_YAJL
+	help
+	  Play songs from the commercial streaming service Qobuz.
+
+config BR2_PACKAGE_MPD_SOUNDCLOUD
+	bool "soundcloud"
+	select BR2_PACKAGE_YAJL
+	help
+	  Enable soundcloud.com playlist support.
+
+config BR2_PACKAGE_MPD_TIDAL
+	bool "tidal"
+	select BR2_PACKAGE_MPD_CURL
+	select BR2_PACKAGE_YAJL
+	help
+	  Play songs from the commercial streaming service TIDAL.
+
 comment "Converter plugins"
 
 config BR2_PACKAGE_MPD_LIBSAMPLERATE
@@ -217,12 +240,6 @@ config BR2_PACKAGE_MPD_LIBSMBCLIENT
 	help
 	  Enable Samba support.
 
-config BR2_PACKAGE_MPD_SOUNDCLOUD
-	bool "soundcloud"
-	select BR2_PACKAGE_YAJL
-	help
-	  Enable soundcloud.com playlist support.
-
 comment "Output plugins"
 
 config BR2_PACKAGE_MPD_ALSA
diff --git a/package/mpd/mpd.hash b/package/mpd/mpd.hash
index b80bfc82a4..63a70b9f71 100644
--- a/package/mpd/mpd.hash
+++ b/package/mpd/mpd.hash
@@ -1,3 +1,3 @@
 # Locally calculated after checking pgp signature
-sha256  503e5f9f237290f568ff7956ab2f9aed563594bf749f19b8fe994fb21434afea  mpd-0.20.23.tar.xz
+sha256  d32ef88b4404b188c4505462cfd3fb695463800c9d062e5148f782ca227a6cbd  mpd-0.21.11.tar.xz
 sha256  ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6  COPYING
diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
index f410c1fd95..098a9cc9c7 100644
--- a/package/mpd/mpd.mk
+++ b/package/mpd/mpd.mk
@@ -4,279 +4,289 @@
 #
 ################################################################################
 
-MPD_VERSION_MAJOR = 0.20
-MPD_VERSION = $(MPD_VERSION_MAJOR).23
+MPD_VERSION_MAJOR = 0.21
+MPD_VERSION = $(MPD_VERSION_MAJOR).11
 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
 MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
 MPD_DEPENDENCIES = host-pkgconf boost
 MPD_LICENSE = GPL-2.0+
 MPD_LICENSE_FILES = COPYING
-MPD_AUTORECONF = YES
-
-# Some options need an explicit --disable or --enable
 
 # Zeroconf support depends on libdns_sd from avahi.
 ifeq ($(BR2_PACKAGE_MPD_AVAHI_SUPPORT),y)
 MPD_DEPENDENCIES += avahi
-MPD_CONF_OPTS += --with-zeroconf=avahi
+MPD_CONF_OPTS += -Dzeroconf=avahi
 else
-MPD_CONF_OPTS += --with-zeroconf=no
+MPD_CONF_OPTS += -Dzeroconf=disabled
 endif
 
 # MPD prefers libicu for utf8 collation instead of libglib2.
 ifeq ($(BR2_PACKAGE_ICU),y)
 MPD_DEPENDENCIES += icu
-MPD_CONF_OPTS += --enable-icu
+MPD_CONF_OPTS += -Dicu=enabled
 else
-MPD_CONF_OPTS += --disable-icu
+MPD_CONF_OPTS += -Dicu=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_ALSA),y)
 MPD_DEPENDENCIES += alsa-lib
-MPD_CONF_OPTS += --enable-alsa
+MPD_CONF_OPTS += -Dalsa=enabled
 else
-MPD_CONF_OPTS += --disable-alsa
+MPD_CONF_OPTS += -Dalsa=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_AO),y)
 MPD_DEPENDENCIES += libao
-MPD_CONF_OPTS += --enable-ao
+MPD_CONF_OPTS += -Dao=enabled
 else
-MPD_CONF_OPTS += --disable-ao
+MPD_CONF_OPTS += -Dao=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_AUDIOFILE),y)
 MPD_DEPENDENCIES += audiofile
-MPD_CONF_OPTS += --enable-audiofile
+MPD_CONF_OPTS += -Daudiofile=enabled
 else
-MPD_CONF_OPTS += --disable-audiofile
+MPD_CONF_OPTS += -Daudiofile=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_BZIP2),y)
 MPD_DEPENDENCIES += bzip2
-MPD_CONF_OPTS += --enable-bzip2
+MPD_CONF_OPTS += -Dbzip2=enabled
 else
-MPD_CONF_OPTS += --disable-bzip2
+MPD_CONF_OPTS += -Dbzip2=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_CDIO_PARANOIA),y)
 MPD_DEPENDENCIES += libcdio-paranoia
-MPD_CONF_OPTS += --enable-cdio-paranoia
+MPD_CONF_OPTS += -Dcdio_paranoia=enabled
 else
-MPD_CONF_OPTS += --disable-cdio-paranoia
+MPD_CONF_OPTS += -Dcdio_paranoia=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_CURL),y)
 MPD_DEPENDENCIES += libcurl
-MPD_CONF_OPTS += --enable-curl
+MPD_CONF_OPTS += -Dcurl=enabled
 else
-MPD_CONF_OPTS += --disable-curl
+MPD_CONF_OPTS += -Dcurl=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_DSD),y)
-MPD_CONF_OPTS += --enable-dsd
+MPD_CONF_OPTS += -Ddsd=true
 else
-MPD_CONF_OPTS += --disable-dsd
+MPD_CONF_OPTS += -Ddsd=false
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_FAAD2),y)
 MPD_DEPENDENCIES += faad2
-MPD_CONF_OPTS += --enable-aac
+MPD_CONF_OPTS += -Dfaad=enabled
 else
-MPD_CONF_OPTS += --disable-aac
+MPD_CONF_OPTS += -Dfaad=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_FFMPEG),y)
 MPD_DEPENDENCIES += ffmpeg
-MPD_CONF_OPTS += --enable-ffmpeg
+MPD_CONF_OPTS += -Dffmpeg=enabled
 else
-MPD_CONF_OPTS += --disable-ffmpeg
+MPD_CONF_OPTS += -Dffmpeg=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_FLAC),y)
 MPD_DEPENDENCIES += flac
-MPD_CONF_OPTS += --enable-flac
+MPD_CONF_OPTS += -Dflac=enabled
 else
-MPD_CONF_OPTS += --disable-flac
+MPD_CONF_OPTS += -Dflac=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_HTTPD_OUTPUT),y)
-MPD_CONF_OPTS += --enable-httpd-output
+MPD_CONF_OPTS += -Dhttpd=true
 else
-MPD_CONF_OPTS += --disable-httpd-output
+MPD_CONF_OPTS += -Dhttpd=false
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_JACK2),y)
 MPD_DEPENDENCIES += jack2
-MPD_CONF_OPTS += --enable-jack
+MPD_CONF_OPTS += -Djack=enabled
 else
-MPD_CONF_OPTS += --disable-jack
+MPD_CONF_OPTS += -Djack=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LAME),y)
 MPD_DEPENDENCIES += lame
-MPD_CONF_OPTS += --enable-lame-encoder
+MPD_CONF_OPTS += -Dlame=enabled
 else
-MPD_CONF_OPTS += --disable-lame-encoder
+MPD_CONF_OPTS += -Dlame=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LIBMPDCLIENT),y)
 MPD_DEPENDENCIES += libmpdclient
-MPD_CONF_OPTS += --enable-libmpdclient
+MPD_CONF_OPTS += -Dlibmpdclient=enabled
 else
-MPD_CONF_OPTS += --disable-libmpdclient
+MPD_CONF_OPTS += -Dlibmpdclient=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LIBMMS),y)
 MPD_DEPENDENCIES += libmms
-MPD_CONF_OPTS += --enable-mms
+MPD_CONF_OPTS += -Dmms=enabled
 else
-MPD_CONF_OPTS += --disable-mms
+MPD_CONF_OPTS += -Dmms=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LIBNFS),y)
 MPD_DEPENDENCIES += libnfs
-MPD_CONF_OPTS += --enable-nfs
+MPD_CONF_OPTS += -Dnfs=enabled
 else
-MPD_CONF_OPTS += --disable-nfs
+MPD_CONF_OPTS += -Dnfs=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LIBSMBCLIENT),y)
 MPD_DEPENDENCIES += samba4
-MPD_CONF_OPTS += --enable-smbclient
+MPD_CONF_OPTS += -Dsmbclient=enabled
 else
-MPD_CONF_OPTS += --disable-smbclient
+MPD_CONF_OPTS += -Dsmbclient=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LIBSAMPLERATE),y)
 MPD_DEPENDENCIES += libsamplerate
-MPD_CONF_OPTS += --enable-lsr
+MPD_CONF_OPTS += -Dlibsamplerate=enabled
 else
-MPD_CONF_OPTS += --disable-lsr
+MPD_CONF_OPTS += -Dlibsamplerate=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LIBSNDFILE),y)
 MPD_DEPENDENCIES += libsndfile
-MPD_CONF_OPTS += --enable-sndfile
+MPD_CONF_OPTS += -Dsndfile=enabled
 else
-MPD_CONF_OPTS += --disable-sndfile
+MPD_CONF_OPTS += -Dsndfile=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_LIBSOXR),y)
 MPD_DEPENDENCIES += libsoxr
-MPD_CONF_OPTS += --enable-soxr
+MPD_CONF_OPTS += -Dsoxr=enabled
 else
-MPD_CONF_OPTS += --disable-soxr
+MPD_CONF_OPTS += -Dsoxr=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_MAD),y)
 MPD_DEPENDENCIES += libid3tag libmad
-MPD_CONF_OPTS += --enable-mad
+MPD_CONF_OPTS += -Dmad=enabled
 else
-MPD_CONF_OPTS += --disable-mad
+MPD_CONF_OPTS += -Dmad=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_MPG123),y)
 MPD_DEPENDENCIES += libid3tag mpg123
-MPD_CONF_OPTS += --enable-mpg123
+MPD_CONF_OPTS += -Dmpg123=enabled
 else
-MPD_CONF_OPTS += --disable-mpg123
+MPD_CONF_OPTS += -Dmpg123=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_MUSEPACK),y)
 MPD_DEPENDENCIES += musepack
-MPD_CONF_OPTS += --enable-mpc
+MPD_CONF_OPTS += -Dmpcdec=enabled
 else
-MPD_CONF_OPTS += --disable-mpc
+MPD_CONF_OPTS += -Dmpcdec=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_NEIGHBOR_DISCOVERY_SUPPORT),y)
-MPD_CONF_OPTS += --enable-neighbor-plugins
+MPD_CONF_OPTS += -Dneighbor=true
 else
-MPD_CONF_OPTS += --disable-neighbor-plugins
+MPD_CONF_OPTS += -Dneighbor=false
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_OPUS),y)
 MPD_DEPENDENCIES += opus libogg
-MPD_CONF_OPTS += --enable-opus
+MPD_CONF_OPTS += -Dopus=enabled
 else
-MPD_CONF_OPTS += --disable-opus
+MPD_CONF_OPTS += -Dopus=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_OSS),y)
-MPD_CONF_OPTS += --enable-oss
+MPD_CONF_OPTS += -Doss=enabled
 else
-MPD_CONF_OPTS += --disable-oss
+MPD_CONF_OPTS += -Doss=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_PULSEAUDIO),y)
 MPD_DEPENDENCIES += pulseaudio
-MPD_CONF_OPTS += --enable-pulse
+MPD_CONF_OPTS += -Dpulse=enabled
 else
-MPD_CONF_OPTS += --disable-pulse
+MPD_CONF_OPTS += -Dpulse=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_MPD_QOBUZ),y)
+MPD_DEPENDENCIES += libgcrypt yajl
+MPD_CONF_OPTS += -Dqobuz=enabled
+else
+MPD_CONF_OPTS += -Dqobuz=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_SHOUTCAST),y)
 MPD_DEPENDENCIES += libshout
-MPD_CONF_OPTS += --enable-shout
+MPD_CONF_OPTS += -Dshout=enabled
 else
-MPD_CONF_OPTS += --disable-shout
+MPD_CONF_OPTS += -Dshout=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_SOUNDCLOUD),y)
 MPD_DEPENDENCIES += yajl
-MPD_CONF_OPTS += --enable-soundcloud
+MPD_CONF_OPTS += -Dsoundcloud=enabled
 else
-MPD_CONF_OPTS += --disable-soundcloud
+MPD_CONF_OPTS += -Dsoundcloud=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_SQLITE),y)
 MPD_DEPENDENCIES += sqlite
-MPD_CONF_OPTS += --enable-sqlite
+MPD_CONF_OPTS += -Dsqlite=enabled
 else
-MPD_CONF_OPTS += --disable-sqlite
+MPD_CONF_OPTS += -Dsqlite=disabled
 endif
 
 ifneq ($(BR2_PACKAGE_MPD_TCP),y)
-MPD_CONF_OPTS += --disable-tcp
+MPD_CONF_OPTS += -Dtcp=true
+endif
+
+ifeq ($(BR2_PACKAGE_MPD_TIDAL),y)
+MPD_DEPENDENCIES += yajl
+MPD_CONF_OPTS += -Dtidal=enabled
+else
+MPD_CONF_OPTS += -Dtidal=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_TREMOR),y)
 MPD_DEPENDENCIES += tremor
-# Help mpd to find tremor in static linking scenarios
-MPD_CONF_ENV += \
-	TREMOR_LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs vorbisidec`"
-MPD_CONF_OPTS += --with-tremor=$(STAGING_DIR)/usr
+MPD_CONF_OPTS += -Dtremor=enabled
+else
+MPD_CONF_OPTS += -Dtremor=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_TWOLAME),y)
 MPD_DEPENDENCIES += twolame
-MPD_CONF_OPTS += --enable-twolame-encoder
+MPD_CONF_OPTS += -Dtwolame=enabled
 else
-MPD_CONF_OPTS += --disable-twolame-encoder
+MPD_CONF_OPTS += -Dtwolame=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_UPNP),y)
 MPD_DEPENDENCIES += \
 	expat \
 	$(if $(BR2_PACKAGE_LIBUPNP),libupnp,libupnp18)
-MPD_CONF_OPTS += --enable-upnp
+MPD_CONF_OPTS += -Dupnp=enabled
 else
-MPD_CONF_OPTS += --disable-upnp
+MPD_CONF_OPTS += -Dupnp=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_VORBIS),y)
 MPD_DEPENDENCIES += libvorbis
-MPD_CONF_OPTS += --enable-vorbis --enable-vorbis-encoder
+MPD_CONF_OPTS += -Dvorbis=enabled -Dvorbisenc=enabled
 else
-MPD_CONF_OPTS += --disable-vorbis --disable-vorbis-encoder
+MPD_CONF_OPTS += -Dvorbis=disabled -Dvorbisenc=disabled
 endif
 
 ifeq ($(BR2_PACKAGE_MPD_WAVPACK),y)
 MPD_DEPENDENCIES += wavpack
-MPD_CONF_OPTS += --enable-wavpack
+MPD_CONF_OPTS += -Dwavpack=enabled
 else
-MPD_CONF_OPTS += --disable-wavpack
+MPD_CONF_OPTS += -Dwavpack=disabled
 endif
 
 define MPD_INSTALL_EXTRA_FILES
@@ -290,4 +300,4 @@ define MPD_INSTALL_INIT_SYSV
 		$(TARGET_DIR)/etc/init.d/S95mpd
 endef
 
-$(eval $(autotools-package))
+$(eval $(meson-package))
-- 
2.22.0

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

* [Buildroot] [PATCH v4 1/3] package/libgcrypt: replace reconfigure patch with upstream patch
  2019-07-28  6:10 ` [Buildroot] [PATCH v4 1/3] package/libgcrypt: replace reconfigure patch with upstream patch Jörg Krause
@ 2019-07-28 11:51   ` Thomas Petazzoni
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2019-07-28 11:51 UTC (permalink / raw)
  To: buildroot

Hello J?rg,

On Sun, 28 Jul 2019 08:10:21 +0200
J?rg Krause <joerg.krause@embedded.rocks> wrote:

> The `ac_cv_sys_symbol_underscore` reconfigure patch was added to
> Buildroot back in 2007 [1], but was not reported to upstream back then.
> 
> Meanwhile, the issue has been fixed upstream [2] after the version bump to
> version 1.8.4.
> 
> In order to add another upstream patch, which will add a pkg-config file
> for libgrypt and therefore requires autoreconfiguration as well, replace the
> current patch with the upstream patch.
> 
> [1] https://git.buildroot.net/buildroot/commit/package/libgcrypt?id=f1bcdf518fa7868b7819b0248f4b8da02a954dde
> [2] https://github.com/gpg/libgcrypt/commit/0f4545b441b6fbdd6e9c4e95f5f2a367483e78ad
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>

I've applied the series to master, thanks.

On the mpd bump patch, you forgot to propagate:

	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS

which comes from selecting BR2_PACKAGE_LIBGCRYPT. So I've added that
and applied. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

end of thread, other threads:[~2019-07-28 11:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-07-28  6:10 [Buildroot] [PATCH v4 0/3] package/mpd: bump to version 0.21.11 Jörg Krause
2019-07-28  6:10 ` [Buildroot] [PATCH v4 1/3] package/libgcrypt: replace reconfigure patch with upstream patch Jörg Krause
2019-07-28 11:51   ` Thomas Petazzoni
2019-07-28  6:10 ` [Buildroot] [PATCH v4 2/3] package/libgcrypt: add upstream patch to add pkg-config file Jörg Krause
2019-07-28  6:10 ` [Buildroot] [PATCH v4 3/3] package/mpd: bump to version 0.21.11 Jörg Krause

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox