diff --git a/srcpkgs/sonata/patches/fix-gi_require_version.patch b/srcpkgs/sonata/patches/fix-gi_require_version.patch
new file mode 100644
index 00000000000..9994dcd5d1f
--- /dev/null
+++ b/srcpkgs/sonata/patches/fix-gi_require_version.patch
@@ -0,0 +1,209 @@
+--- sonata/about.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/about.py 2017-01-02 23:41:16.245799994 +0100
+@@ -20,6 +20,8 @@
+ import gettext
+ import os
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, GdkPixbuf
+
+ from sonata import misc, ui
+--- sonata/artwork.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/artwork.py 2017-01-02 23:41:37.584805301 +0100
+@@ -23,6 +23,8 @@
+ import shutil
+ import threading # artwork_update starts a thread _artwork_update
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, GdkPixbuf, GLib, GObject
+
+ from sonata import img, ui, misc, consts, mpdhelper as mpdh
+--- sonata/breadcrumbs.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/breadcrumbs.py 2017-01-02 23:42:21.093816289 +0100
+@@ -17,6 +17,8 @@
+ # You should have received a copy of the GNU General Public License
+ # along with Sonata. If not, see .
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, Pango
+
+
+--- sonata/current.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/current.py 2017-01-02 23:41:03.040796737 +0100
+@@ -22,6 +22,8 @@
+ import re
+ import urllib.parse, urllib.request
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, Pango, GLib
+
+ from sonata import ui, misc, formatting
+--- sonata/img.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/img.py 2017-01-02 23:41:34.596804555 +0100
+@@ -19,6 +19,8 @@
+ import itertools
+ import os
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, GdkPixbuf, GLib
+
+ from sonata import consts
+--- sonata/info.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/info.py 2017-01-02 23:40:47.879793023 +0100
+@@ -22,6 +22,8 @@
+ import logging
+ import threading
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Pango, Gdk, GdkPixbuf, GLib
+
+ from sonata import ui, misc, consts, mpdhelper as mpdh, img
+--- sonata/launcher.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/launcher.py 2017-01-02 23:42:10.253813530 +0100
+@@ -155,6 +155,8 @@
+ ## Deal with GTK:
+
+ if not args.skip_gui:
++ import gi
++ gi.require_version("Gtk", "3.0")
+ # importing gtk does sys.setdefaultencoding("utf-8"), sets locale etc.
+ from gi.repository import Gtk, Gdk
+ else:
+--- sonata/library.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/library.py 2017-01-02 23:40:59.564795883 +0100
+@@ -23,6 +23,8 @@
+ import threading # libsearchfilter_toggle starts thread libsearchfilter_loop
+ import operator
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, GdkPixbuf, GObject, GLib, Pango
+
+ from sonata import ui, misc, consts, formatting, breadcrumbs, mpdhelper as mpdh
+--- sonata/main.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/main.py 2017-01-02 23:41:54.461809537 +0100
+@@ -33,6 +33,8 @@
+ import tempfile
+ import threading
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, GdkPixbuf, Gio, GLib, Pango
+
+ import pkg_resources
+--- sonata/misc.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/misc.py 2017-01-02 23:41:12.333799027 +0100
+@@ -23,6 +23,8 @@
+ import logging
+ import sys
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import GLib
+
+
+--- sonata/mpdhelper.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/mpdhelper.py 2017-01-02 23:42:24.485817154 +0100
+@@ -22,6 +22,8 @@
+ import os
+ import socket
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import GObject
+ import mpd
+
+--- sonata/playlists.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/playlists.py 2017-01-02 23:41:07.749797896 +0100
+@@ -33,6 +33,8 @@
+
+ import os
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Pango, Gdk
+
+ from sonata import ui, misc, mpdhelper as mpdh
+--- sonata/plugins/localmpd.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/plugins/localmpd.py 2017-01-02 23:41:48.333807996 +0100
+@@ -18,6 +18,8 @@
+ import subprocess, locale, os
+ from pwd import getpwuid
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import GLib, Gtk
+
+ from sonata.misc import escape_html
+--- sonata/plugins/test.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/plugins/test.py 2017-01-02 23:41:51.388808763 +0100
+@@ -20,6 +20,8 @@
+
+ # nothing magical from here on
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, GdkPixbuf, GObject, Pango
+
+ from sonata.misc import escape_html
+--- sonata/preferences.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/preferences.py 2017-01-02 23:41:44.464807024 +0100
+@@ -29,6 +29,8 @@
+
+ import gettext, hashlib
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, GdkPixbuf
+
+ from sonata.config import Config
+--- sonata/streams.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/streams.py 2017-01-02 23:41:21.405801273 +0100
+@@ -32,6 +32,8 @@
+ import logging
+ import os
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk, Pango
+
+ from sonata import misc, ui
+--- sonata/tagedit.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/tagedit.py 2017-01-02 23:40:55.678794930 +0100
+@@ -29,6 +29,8 @@
+ import os
+ import re
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, GLib
+ tagpy = None # module loaded when needed
+
+--- sonata/tray.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/tray.py 2017-01-02 23:41:28.637803070 +0100
+@@ -18,6 +18,8 @@
+
+ import os
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, GLib
+
+ from sonata import ui, img
+--- sonata/ui.py 2016-01-31 15:36:20.000000000 +0100
++++ sonata/ui.py 2017-01-02 23:41:25.068802182 +0100
+@@ -21,6 +21,8 @@
+ import pkg_resources
+ import sys
+
++import gi
++gi.require_version("Gtk", "3.0")
+ from gi.repository import Gtk, Gdk
+
+
diff --git a/srcpkgs/sonata/patches/fix-sonata_css_px.patch b/srcpkgs/sonata/patches/fix-sonata_css_px.patch
new file mode 100644
index 00000000000..5ed713d513e
--- /dev/null
+++ b/srcpkgs/sonata/patches/fix-sonata_css_px.patch
@@ -0,0 +1,16 @@
+--- sonata/ui/sonata.css 2016-01-31 15:36:20.000000000 +0100
++++ sonata/ui(sonata.css 2017-01-02 23:47:57.875908636 +0100
+@@ -4,11 +4,11 @@
+ }
+
+ GtkLabel.fullscreen_label {
+- font-size: 19.5;/*= 20000 / 1024 */
++ font-size: 19.5px;/*= 20000 / 1024 */
+ }
+
+ GtkLabel.fullscreen_label2 {
+- font-size: 11.7;/*= 12000/1024 */
++ font-size: 11.7px;/*= 12000/1024 */
+ }
+
+ GtkLabel.fullscreen_label,
diff --git a/srcpkgs/sonata/template b/srcpkgs/sonata/template
index 7ed789db2f4..4b664cd102d 100644
--- a/srcpkgs/sonata/template
+++ b/srcpkgs/sonata/template
@@ -1,7 +1,7 @@
# Template file for 'sonata'
pkgname=sonata
-version=1.7a2
-revision=3
+version=1.7b1
+revision=1
noarch=yes
build_style=python3-module
pycompile_module="sonata"
@@ -12,5 +12,4 @@ maintainer="Jens E. Becker "
homepage="http://www.nongnu.org/sonata/"
license="GPL-3"
distfiles="https://github.com/multani/sonata/archive/v${version}.tar.gz"
-checksum=40314225aa4700741e28e9770cf3753399a9e557468b66d1d56d59f4f73138e2
-
+checksum=401f6b796ca3cc176813b9f1639741a3fd226499c7ab25bbc740778ebb15f81d