From 85d27cbcb93222e8717f4856a0e4b8fb7a8f04df Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Wed, 16 Oct 2019 14:20:28 +0200
Subject: [PATCH 1/8] increment version number to 0.21.17

---
 NEWS                        | 2 ++
 android/AndroidManifest.xml | 4 ++--
 doc/conf.py                 | 2 +-
 meson.build                 | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/NEWS b/NEWS
index 3e1e32a25..3962becb1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+ver 0.21.17 (not yet released)
+
 ver 0.21.16 (2019/10/16)
 * queue
   - fix relative destination offset when moving a range
diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml
index e6bf686a9..80fa55394 100644
--- a/android/AndroidManifest.xml
+++ b/android/AndroidManifest.xml
@@ -2,8 +2,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="org.musicpd"
           android:installLocation="auto"
-          android:versionCode="39"
-          android:versionName="0.21.16">
+          android:versionCode="40"
+          android:versionName="0.21.17">
 
   <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="26"/>
 
diff --git a/doc/conf.py b/doc/conf.py
index 660300aa7..4fb8560fa 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -38,7 +38,7 @@ author = 'Max Kellermann'
 # built documents.
 #
 # The short X.Y version.
-version = '0.21.16'
+version = '0.21.17'
 # The full version, including alpha/beta/rc tags.
 release = version
 
diff --git a/meson.build b/meson.build
index df45a688b..8c04c0574 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
 project(
   'mpd',
   ['c', 'cpp'],
-  version: '0.21.16',
+  version: '0.21.17',
   meson_version: '>= 0.49.0',
   default_options: [
     'c_std=c99',

From d9841668ffbeeb756f4c4895b41a06c1376d9613 Mon Sep 17 00:00:00 2001
From: kaliko <kaliko@azylum.org>
Date: Mon, 28 Oct 2019 15:09:14 +0100
Subject: [PATCH 2/8] doc/user.rst: update build dependencies on Debian Buster

---
 doc/user.rst | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/doc/user.rst b/doc/user.rst
index cbbc016ee..3ddb35610 100644
--- a/doc/user.rst
+++ b/doc/user.rst
@@ -62,16 +62,16 @@ In any case, you need:
 Each plugin usually needs a codec library, which you also need to
 install. Check the :doc:`plugins` for details about required libraries
 
-For example, the following installs a fairly complete list of build dependencies on Debian Jessie:
+For example, the following installs a fairly complete list of build dependencies on Debian Buster:
 
 .. code-block:: none
 
-    apt install g++ \
+    apt install meson g++ \
       libpcre3-dev \
       libmad0-dev libmpg123-dev libid3tag0-dev \
-      libflac-dev libvorbis-dev libopus-dev \
+      libflac-dev libvorbis-dev libopus-dev libogg-dev \
       libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
-      libfluidsynth-dev libgme-dev libmikmod2-dev libmodplug-dev \
+      libfluidsynth-dev libgme-dev libmikmod-dev libmodplug-dev \
       libmpcdec-dev libwavpack-dev libwildmidi-dev \
       libsidplay2-dev libsidutils-dev libresid-builder-dev \
       libavcodec-dev libavformat-dev \
@@ -91,7 +91,9 @@ For example, the following installs a fairly complete list of build dependencies
       libsystemd-dev \
       libgtest-dev \
       libboost-dev \
-      libicu-dev
+      libicu-dev \
+      libchromaprint-dev \
+      libgcrypt20-dev
       
 
 Now configure the source tree:

From 65778a377473bf9034c23a93e8fed5a65af5decf Mon Sep 17 00:00:00 2001
From: Niklas Haas <git@haasn.xyz>
Date: Thu, 10 Jan 2019 20:57:44 +0100
Subject: [PATCH 3/8] output/Jack: mark ports as terminal

This is the correct thing to do for ports from which a signal ultimately
"originates", such as is the case with mpd.
---
 NEWS                                    | 2 ++
 src/output/plugins/JackOutputPlugin.cxx | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 3962becb1..deaf78cac 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,6 @@
 ver 0.21.17 (not yet released)
+* outputs
+  - jack: mark ports as terminal
 
 ver 0.21.16 (2019/10/16)
 * queue
diff --git a/src/output/plugins/JackOutputPlugin.cxx b/src/output/plugins/JackOutputPlugin.cxx
index 900c2baaf..141105909 100644
--- a/src/output/plugins/JackOutputPlugin.cxx
+++ b/src/output/plugins/JackOutputPlugin.cxx
@@ -403,10 +403,11 @@ JackOutput::Connect()
 	jack_on_shutdown(client, mpd_jack_shutdown, this);
 
 	for (unsigned i = 0; i < num_source_ports; ++i) {
+		unsigned long portflags = JackPortIsOutput | JackPortIsTerminal;
 		ports[i] = jack_port_register(client,
 					      source_ports[i].c_str(),
 					      JACK_DEFAULT_AUDIO_TYPE,
-					      JackPortIsOutput, 0);
+					      portflags, 0);
 		if (ports[i] == nullptr) {
 			Disconnect();
 			throw FormatRuntimeError("Cannot register output port \"%s\"",

From 129d8e89b9189d88e4da970ed642f4b9ca731574 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Mon, 4 Nov 2019 14:10:03 +0100
Subject: [PATCH 4/8] lib/sqlite: disable if -Ddatabase=false

Fixes build failure in StickerCommands.cxx.
---
 NEWS                       | 1 +
 src/lib/sqlite/meson.build | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index deaf78cac..6bb77ecf4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 ver 0.21.17 (not yet released)
 * outputs
   - jack: mark ports as terminal
+* fix build failure with -Ddatabase=false
 
 ver 0.21.16 (2019/10/16)
 * queue
diff --git a/src/lib/sqlite/meson.build b/src/lib/sqlite/meson.build
index dcaf9e267..8f1fccbfb 100644
--- a/src/lib/sqlite/meson.build
+++ b/src/lib/sqlite/meson.build
@@ -1,4 +1,9 @@
-sqlite_dep = dependency('sqlite3', version: '>= 3.7.3', required: get_option('sqlite'))
+if enable_database
+  sqlite_dep = dependency('sqlite3', version: '>= 3.7.3', required: get_option('sqlite'))
+else
+  sqlite_dep = dependency('', required: false)
+endif
+
 conf.set('ENABLE_SQLITE', sqlite_dep.found())
 if not sqlite_dep.found()
   subdir_done()

From bea3b954a53418d820b8e59b7258fc9f637b18ca Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Mon, 4 Nov 2019 14:12:07 +0100
Subject: [PATCH 5/8] meson.build, SongUpdate: disable db-specific archive code
 if -Ddatabase=false

Fixes another build failure.
---
 meson.build        | 5 ++++-
 src/SongUpdate.cxx | 4 ++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/meson.build b/meson.build
index 8c04c0574..e18e7d6bf 100644
--- a/meson.build
+++ b/meson.build
@@ -385,8 +385,11 @@ endif
 if archive_glue_dep.found()
   sources += [
     'src/TagArchive.cxx',
-    'src/db/update/Archive.cxx',
   ]
+
+  if enable_database
+    sources += ['src/db/update/Archive.cxx']
+  endif
 endif
 
 if is_windows
diff --git a/src/SongUpdate.cxx b/src/SongUpdate.cxx
index 0d22ff1d8..0743216a7 100644
--- a/src/SongUpdate.cxx
+++ b/src/SongUpdate.cxx
@@ -98,8 +98,6 @@ Song::UpdateFile(Storage &storage) noexcept
 	return true;
 }
 
-#endif
-
 #ifdef ENABLE_ARCHIVE
 
 Song *
@@ -145,6 +143,8 @@ Song::UpdateFileInArchive(ArchiveFile &archive) noexcept
 
 #endif
 
+#endif /* ENABLE_DATABASE */
+
 bool
 DetachedSong::LoadFile(Path path) noexcept
 {

From ebb952c4ad101e9e62dcb08e6ec3a5706ec11263 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Mon, 4 Nov 2019 14:18:48 +0100
Subject: [PATCH 6/8] neighbor/meson.build: disable if -Ddatabase=false

Fixes yet another build failure (which however only affects the 0.22
branch).

Closes https://github.com/MusicPlayerDaemon/MPD/issues/666
---
 src/neighbor/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/neighbor/meson.build b/src/neighbor/meson.build
index 00033bd26..c27f3361b 100644
--- a/src/neighbor/meson.build
+++ b/src/neighbor/meson.build
@@ -1,4 +1,4 @@
-if not get_option('neighbor')
+if not get_option('neighbor') or not enable_database
   conf.set('ENABLE_NEIGHBOR_PLUGINS', false)
   neighbor_glue_dep = dependency('', required: false)
   subdir_done()

From f8403a1d290ca888dbefc3a3aa7f0b4886d40c13 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Mon, 4 Nov 2019 14:26:05 +0100
Subject: [PATCH 7/8] python/build/libs: update FFmpeg to 4.2.1

---
 python/build/libs.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/python/build/libs.py b/python/build/libs.py
index bf45eb573..c24897165 100644
--- a/python/build/libs.py
+++ b/python/build/libs.py
@@ -112,8 +112,8 @@ liblame = AutotoolsProject(
 )
 
 ffmpeg = FfmpegProject(
-    'http://ffmpeg.org/releases/ffmpeg-4.2.tar.xz',
-    '023f10831a97ad93d798f53a3640e55cd564abfeba807ecbe8524dac4fedecd5',
+    'http://ffmpeg.org/releases/ffmpeg-4.2.1.tar.xz',
+    'cec7c87e9b60d174509e263ac4011b522385fd0775292e1670ecc1180c9bb6d4',
     'lib/libavcodec.a',
     [
         '--disable-shared', '--enable-static',

From d659c7df19d715413bd518b4e2e2b4f550f0a25e Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
Date: Mon, 4 Nov 2019 14:27:00 +0100
Subject: [PATCH 8/8] python/build/libs: update CURL to 7.66.0

---
 python/build/libs.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/python/build/libs.py b/python/build/libs.py
index c24897165..fea21a282 100644
--- a/python/build/libs.py
+++ b/python/build/libs.py
@@ -341,8 +341,8 @@ ffmpeg = FfmpegProject(
 )
 
 curl = AutotoolsProject(
-    'http://curl.haxx.se/download/curl-7.65.3.tar.xz',
-    'f2d98854813948d157f6a91236ae34ca4a1b4cb302617cebad263d79b0235fea',
+    'http://curl.haxx.se/download/curl-7.66.0.tar.xz',
+    'dbb48088193016d079b97c5c3efde8efa56ada2ebf336e8a97d04eb8e2ed98c1',
     'lib/libcurl.a',
     [
         '--disable-shared', '--enable-static',