diff --git a/sound/forked-daapd/Makefile b/sound/forked-daapd/Makefile
index da371a717..eafed375d 100644
--- a/sound/forked-daapd/Makefile
+++ b/sound/forked-daapd/Makefile
@@ -8,14 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=forked-daapd
-PKG_VERSION:=25.0
+PKG_VERSION:=26.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/ejurgensen/$(PKG_NAME)/releases/download/$(PKG_VERSION)/
-PKG_HASH:=5741a64d8f54e11e89dfa2fbfae693b2837e1e19a0c4980a20f8ff56bce4456e
+PKG_HASH:=dec7a6b5879c43726ceeb40cb16b77f7bb3148ab4e0afec0947629b11f302720
 
-PKG_BUILD_DEPENDS:=gperf/host
 PKG_FIXUP:=autoreconf
 PKG_USE_MIPS16:=0
 PKG_INSTALL:=1
@@ -35,7 +34,7 @@ URL:=https://github.com/ejurgensen/forked-daapd
 DEPENDS:=+libgpg-error +libgcrypt +libgdbm +zlib +libexpat +libunistring \
 	+libevent2 +libdaemon +libantlr3c +confuse +alsa-lib +libffmpeg-full \
 	+mxml +libavahi-client +sqlite3-cli +libplist +libcurl +libjson-c \
-	+libprotobuf-c +libgnutls +libsodium $(ICONV_DEPENDS)
+	+libprotobuf-c +libgnutls +libsodium +libwebsockets $(ICONV_DEPENDS)
 endef
 
 define Package/forked-daapd/description
@@ -56,6 +55,9 @@ CONFIGURE_ARGS += \
 	--enable-chromecast \
 	--enable-verification \
 	--disable-spotify \
+	--with-libplist \
+	--with-libwebsockets \
+	--with-alsa \
 	--without-pulseaudio \
 	--without-libevent_pthreads
 
diff --git a/sound/forked-daapd/patches/010-use_a_wrapper_for_dmap_find_field.patch b/sound/forked-daapd/patches/010-use_a_wrapper_for_dmap_find_field.patch
deleted file mode 100644
index bbbd2cc97..000000000
--- a/sound/forked-daapd/patches/010-use_a_wrapper_for_dmap_find_field.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 1b8adc11edec48a9b8fcb75b9efdaf618a6744bd Mon Sep 17 00:00:00 2001
-From: ejurgensen <espenjurgensen@gmail.com>
-Date: Fri, 25 Aug 2017 19:27:41 +0200
-Subject: [PATCH] [dmap] Use a wrapper for dmap_find_field() Avoids the need to
- have definition of dmap_find_field in dmap_common.h that must be kept in sync
- with the definition that gperf generates.
-
-Also should fix compilation problems when gperf is not present, ref pr #390
----
- configure.ac      | 21 ---------------------
- src/dmap_common.c |  6 ++++++
- src/dmap_common.h |  4 +---
- src/httpd_daap.c  |  2 +-
- 4 files changed, 8 insertions(+), 25 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9b149be..9819c82 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -32,27 +32,6 @@ to install it.]])],
- 		[AC_MSG_ERROR([[GNU gperf required, please install it.]])])
- 	])
- 
--GPERF_TEST="$(echo foo,bar | ${GPERF} -L ANSI-C)"
--
--AC_COMPILE_IFELSE(
--	[AC_LANG_PROGRAM([
--		#include <string.h>
--		const char * in_word_set(const char *, size_t);
--		$GPERF_TEST]
--	)],
--	[GPERF_LEN_TYPE=size_t],
--	[AC_COMPILE_IFELSE(
--		[AC_LANG_PROGRAM([
--			#include <string.h>
--			const char * in_word_set(const char *, unsigned);
--			$GPERF_TEST]
--		)],
--		[GPERF_LEN_TYPE=unsigned],
--		[AC_MSG_ERROR([** unable to determine gperf len type])]
--	)]
--)
--
--AC_DEFINE_UNQUOTED([GPERF_LEN_TYPE], [$GPERF_LEN_TYPE], [gperf len type])
- AC_PATH_PROG([ANTLR], [[antlr3]])
- AS_IF([[test -z "$ANTLR"]],
- 	[AS_IF([[test -f "$srcdir/src/SMARTPLLexer.h"]],
-diff --git a/src/dmap_common.c b/src/dmap_common.c
-index 250a2d1..b2bc362 100644
---- a/src/dmap_common.c
-+++ b/src/dmap_common.c
-@@ -42,6 +42,12 @@ dmap_get_fields_table(int *nfields)
-   return dmap_fields;
- }
- 
-+// This wrapper is so callers don't need to include dmap_fields_hash.h
-+const struct dmap_field *
-+dmap_find_field_wrapper(const char *str, int len)
-+{
-+  return dmap_find_field(str, len);
-+}
- 
- void
- dmap_add_container(struct evbuffer *evbuf, const char *tag, int len)
-diff --git a/src/dmap_common.h b/src/dmap_common.h
-index 93a2bdc..73f72d0 100644
---- a/src/dmap_common.h
-+++ b/src/dmap_common.h
-@@ -2,7 +2,6 @@
- #ifndef __DMAP_HELPERS_H__
- #define __DMAP_HELPERS_H__
- 
--#include "config.h"
- #include <event2/buffer.h>
- #include <event2/http.h>
- 
-@@ -45,9 +44,8 @@ extern const struct dmap_field_map dfm_dmap_aeSP;
- const struct dmap_field *
- dmap_get_fields_table(int *nfields);
- 
--/* From dmap_fields.gperf - keep in sync, don't alter */
- const struct dmap_field *
--dmap_find_field (register const char *str, register GPERF_LEN_TYPE len);
-+dmap_find_field_wrapper(const char *str, int len);
- 
- 
- void
-diff --git a/src/httpd_daap.c b/src/httpd_daap.c
-index aef2fe0..0564275 100644
---- a/src/httpd_daap.c
-+++ b/src/httpd_daap.c
-@@ -738,7 +738,7 @@ parse_meta(struct evhttp_request *req, char *tag, const char *param, const struc
- 
-       if (n == i)
- 	{
--	  meta[i] = dmap_find_field(field, strlen(field));
-+	  meta[i] = dmap_find_field_wrapper(field, strlen(field));
- 
- 	  if (!meta[i])
- 	    {
--- 
-2.7.4
-