diff -pruN 3.25.90+really3.12.14-2/debian/changelog 3.25.90+really3.12.14-2ubuntu1/debian/changelog
--- 3.25.90+really3.12.14-2/debian/changelog	2020-01-07 10:06:07.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/changelog	2021-02-05 17:26:41.000000000 +0000
@@ -1,3 +1,12 @@
+empathy (3.25.90+really3.12.14-2ubuntu1) hirsute; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - Restore indicator support and patches
+    - remove the Build-Depends on libnm-glib/util, those are not used
+      in the build and NBS libraries now.
+
+ -- Steve Langasek <steve.langasek@ubuntu.com>  Fri, 05 Feb 2021 09:26:41 -0800
+
 empathy (3.25.90+really3.12.14-2) unstable; urgency=medium
 
   * debian/control: Update the Vcs-* URL's
@@ -9,6 +18,12 @@ empathy (3.25.90+really3.12.14-2) unstab
 
  -- Laurent Bigonville <bigon@debian.org>  Tue, 07 Jan 2020 11:06:07 +0100
 
+empathy (3.25.90+really3.12.14-1ubuntu1) eoan; urgency=medium
+
+  * Resynchronize on Debian, see previous merge entry for the details
+
+ -- Sebastien Bacher <seb128@ubuntu.com>  Thu, 27 Jun 2019 11:29:58 +0200
+
 empathy (3.25.90+really3.12.14-1) unstable; urgency=medium
 
   * Revert to the 3.12.x branch, 3.25.90 introduces some regressions and
@@ -21,6 +36,26 @@ empathy (3.25.90+really3.12.14-1) unstab
 
  -- Laurent Bigonville <bigon@debian.org>  Wed, 18 Oct 2017 12:10:40 +0200
 
+empathy (3.25.90+really3.12.14-0ubuntu2) eoan; urgency=medium
+
+  * debian/control:
+    - remove the Build-Depends on libnm-glib/util, those are not used
+      in the build and NBS libraries now.
+
+ -- Sebastien Bacher <seb128@ubuntu.com>  Tue, 28 May 2019 10:37:31 +0200
+
+empathy (3.25.90+really3.12.14-0ubuntu1) artful; urgency=medium
+
+  * Revert to 3.12.14 per upstream recommendation (LP: #1722583)
+  * Restore indicator support and patches (LP: #1712535)
+    - debian/control
+    - debian/empathy.install
+    - 10_use_notify_osd_icons.patch
+    - 41_unity_launcher_progress.patch
+    - 43_quicklists.patch
+
+ -- Jeremy Bicha <jbicha@ubuntu.com>  Wed, 11 Oct 2017 10:19:38 -0400
+
 empathy (3.25.90-1) unstable; urgency=medium
 
   * New upstream release
@@ -37,6 +72,42 @@ empathy (3.25.90-1) unstable; urgency=me
 
  -- Laurent Bigonville <bigon@debian.org>  Thu, 31 Aug 2017 17:25:59 +0200
 
+empathy (3.25.90-0ubuntu1) artful; urgency=medium
+
+  * New upstream release
+  * debian/control:
+    - Build-depend on libwebkit2gtk-4.0-dev instead of libwebkitgtk-3.0-dev
+      (Closes: #866637) (LP: #1588150)
+    - Bump Build-Depends on libglib2.0-dev to 2.48.0
+    - Drop obsolete Build-Depends on libgnutls28-dev
+  * Refresh patches
+  * Drop patch applied in new release:
+    - clutter-gst-3.0.patch
+  * Update debian/watch
+  * debian/empathy.install: Install appstream metadata in new location
+
+ -- Jeremy Bicha <jbicha@ubuntu.com>  Thu, 17 Aug 2017 10:29:29 -0400
+
+empathy (3.12.13-0ubuntu1) artful; urgency=medium
+
+  * New upstream release
+  * Dropped unity related patches
+    -debian/patches/23_idomessagedialog_for_voip_and_ft.patch
+    -debian/patches/41_unity_launcher_progress.patch
+    -debian/patches/43_quicklists.patch
+  * Dropped UOA patch
+    -debian/patches/ubuntu_launch_uoa_panel.patch
+  * Dropped notify-osd icons patch
+    -debian/patches/10_use_notify_osd_icons.patch
+  * debian/control
+    - Removed account-plugin-*, and other UOA related packages.  Include GOA
+      plugin in the empathy package as there's no benefit to splitting it out
+      without UOA
+  * debian/compat
+    - bumped to 9
+
+ -- Ken VanDine <ken.vandine@canonical.com>  Thu, 27 Apr 2017 14:40:30 -0400
+
 empathy (3.12.12-4) unstable; urgency=medium
 
   * debian/patches/fix-missing-date-icons.patch: Fix missing date icons in
@@ -44,6 +115,35 @@ empathy (3.12.12-4) unstable; urgency=me
 
  -- Laurent Bigonville <bigon@debian.org>  Sun, 15 Jan 2017 01:34:14 +0100
 
+empathy (3.12.12-3ubuntu1) yakkety; urgency=medium
+
+  * Merge with Debian. Remaining changes:
+    - debian/patches/00_linker-fixes.patch
+    - debian/patches/10_use_notify_osd_icons.patch
+    - debian/patches/23_idomessagedialog_for_voip_and_ft.patch
+    - debian/patches/34_start_raised_execpt_in_session.patch
+    - debian/patches/38_default_to_facebook_for_im.patch
+    - debian/patches/39_default_to_freenode_for_irc.patch
+    - debian/patches/41_unity_launcher_progress.patch
+    - debian/patches/42_shell_running.patch
+    - debian/patches/43_quicklists.patch:
+    - debian/patches/ubuntu_launch_uoa_panel.patch:
+      + Patches kept, see patch headers for descriptions.
+    - debian/*: Turn on UOA and split out account plugins into
+      account-plugins-* and mcp-account-manager-goa/uoa packages.
+    - debian/indicators/empathy: Install indicator integration point.
+    - debian/shlibs.local: Bump version to 3.12.12
+    - debian/control: Don't mention Windows Live Messenger
+  * Dropped changes:
+    - debian/control:
+      + Replace/Conflict/Provide empathy-call: Not needed after Ubuntu 14.04 LTS
+  * debian/control:
+    - Set X-Ubuntu-Use-Langpack: yes to continue using language packs
+      for Ubuntu-specific strings after this package moved to universe
+  * debian/rules: Enable all hardening flags
+
+ -- Jeremy Bicha <jbicha@ubuntu.com>  Thu, 29 Sep 2016 10:23:32 -0400
+
 empathy (3.12.12-3) unstable; urgency=medium
 
   [ Jonny Lamb ]
diff -pruN 3.25.90+really3.12.14-2/debian/control 3.25.90+really3.12.14-2ubuntu1/debian/control
--- 3.25.90+really3.12.14-2/debian/control	2020-01-07 10:06:07.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/control	2021-02-05 17:26:41.000000000 +0000
@@ -1,7 +1,9 @@
 Source: empathy
 Section: gnome
 Priority: optional
-Maintainer: Debian Telepathy maintainers <pkg-telepathy-maintainers@lists.alioth.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian Telepathy maintainers <pkg-telepathy-maintainers@lists.alioth.debian.org>
+X-Ubuntu-Use-Langpack: yes
 Uploaders: Sjoerd Simons <sjoerd@debian.org>,
            Dafydd Harries <daf@debian.org>,
            Riccardo Setti <giskard@debian.org>,
@@ -44,10 +46,13 @@ Build-Depends: at-spi2-core <!nocheck>,
                xauth <!nocheck>,
                xsltproc,
                xvfb <!nocheck>,
-               yelp-tools
+               yelp-tools,
+               libunity-dev (>= 5.0.0)
 Standards-Version: 4.4.1
-Vcs-Git: https://salsa.debian.org/telepathy-team/empathy.git
-Vcs-Browser: https://salsa.debian.org/telepathy-team/empathy
+XS-Debian-Vcs-Git: https://salsa.debian.org/telepathy-team/empathy.git
+XS-Debian-Vcs-Browser: https://salsa.debian.org/telepathy-team/empathy
+Vcs-Browser: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/empathy
+Vcs-Git: https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/empathy
 Homepage: https://wiki.gnome.org/Apps/Empathy
 
 Package: empathy
diff -pruN 3.25.90+really3.12.14-2/debian/empathy.install 3.25.90+really3.12.14-2ubuntu1/debian/empathy.install
--- 3.25.90+really3.12.14-2/debian/empathy.install	2020-01-07 10:06:07.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/empathy.install	2020-01-07 16:25:47.000000000 +0000
@@ -9,3 +9,4 @@ usr/share/dbus-1/services/
 usr/share/glib-2.0/schemas/
 usr/share/man/man1/
 usr/share/telepathy/clients/
+debian/indicators/empathy /usr/share/indicators/messages/applications/
diff -pruN 3.25.90+really3.12.14-2/debian/gbp.conf 3.25.90+really3.12.14-2ubuntu1/debian/gbp.conf
--- 3.25.90+really3.12.14-2/debian/gbp.conf	2020-01-07 10:06:07.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/gbp.conf	2020-01-07 16:25:47.000000000 +0000
@@ -1,9 +1,6 @@
 [DEFAULT]
-debian-branch = debian
-upstream-branch = upstream
-pristine-tar = True
-compression = xz
-
-[git-buildpackage]
-tarball-dir = ../tarballs/
-export-dir = ../build-area/
+debian-branch=ubuntu/master
+upstream-branch=upstream
+debian-tag=ubuntu/%(version)s
+upstream-vcs-tag=%(version)s
+pristine-tar=True
diff -pruN 3.25.90+really3.12.14-2/debian/indicators/empathy 3.25.90+really3.12.14-2ubuntu1/debian/indicators/empathy
--- 3.25.90+really3.12.14-2/debian/indicators/empathy	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/indicators/empathy	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1 @@
+/usr/share/applications/empathy.desktop
diff -pruN 3.25.90+really3.12.14-2/debian/patches/00_linker-fixes.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/00_linker-fixes.patch
--- 3.25.90+really3.12.14-2/debian/patches/00_linker-fixes.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/00_linker-fixes.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,33 @@
+Description: Link with correct libs for empathy-auth-client
+Author: Rico Tzschichholz <ricotz@ubuntu.com>
+
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -85,6 +85,11 @@
+ 	empathy-auth-client.c \
+ 	$(NULL)
+ 
++empathy_auth_client_LDADD =						\
++	$(LDADD)							\
++	$(UOA_LIBS)							\
++	$(NULL)
++
+ empathy_chat_SOURCES =						\
+ 	chat-manager-interface.c chat-manager-interface.h \
+ 	empathy-about-dialog.c empathy-about-dialog.h			\
+--- a/telepathy-account-widgets/tp-account-widgets/Makefile.am
++++ b/telepathy-account-widgets/tp-account-widgets/Makefile.am
+@@ -90,6 +90,13 @@
+ 	$(nocheck_sources)				\
+ 	$(NULL)
+ 
++libtp_account_widgets_la_LDFLAGS =			\
++	$(CHEESE_LIBS)					\
++	$(TPAW_LIBS)					\
++	$(UOA_LIBS)					\
++	$(UDEV_LIBS)					\
++	$(NULL)
++
+ # these are sources that depend on Ubuntu Online Accounts
+ uoa_sources = \
+ 	tpaw-uoa-utils.c \
diff -pruN 3.25.90+really3.12.14-2/debian/patches/10_use_notify_osd_icons.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/10_use_notify_osd_icons.patch
--- 3.25.90+really3.12.14-2/debian/patches/10_use_notify_osd_icons.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/10_use_notify_osd_icons.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,48 @@
+Description: Use the notify-osd image for new message notifications
+Bug: https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/409828
+
+=== modified file 'libempathy-gtk/empathy-images.h'
+---
+ libempathy-gtk/empathy-images.h   |    1 +
+ libempathy-gtk/empathy-ui-utils.c |    3 +++
+ src/empathy-event-manager.c       |    4 ++--
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+--- a/libempathy-gtk/empathy-images.h
++++ b/libempathy-gtk/empathy-images.h
+@@ -37,6 +37,7 @@ G_BEGIN_DECLS
+ 
+ #define EMPATHY_IMAGE_MESSAGE             "im-message"
+ #define EMPATHY_IMAGE_NEW_MESSAGE         "im-message-new"
++#define EMPATHY_IMAGE_NEW_MESSAGE_NOTIFY  "notification-message-im"
+ #define EMPATHY_IMAGE_TYPING              "user-typing"
+ #define EMPATHY_IMAGE_CONTACT_INFORMATION "gtk-info"
+ #define EMPATHY_IMAGE_GROUP_MESSAGE       "system-users"
+--- a/libempathy-gtk/empathy-ui-utils.c
++++ b/libempathy-gtk/empathy-ui-utils.c
+@@ -60,6 +60,9 @@ empathy_gtk_init (void)
+   gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
+       PKGDATADIR G_DIR_SEPARATOR_S "icons");
+ 
++  gtk_icon_theme_append_search_path (gtk_icon_theme_get_default (),
++      DATADIR G_DIR_SEPARATOR_S "notify-osd" G_DIR_SEPARATOR_S "icons");
++
+   /* Add icons from source dir if available */
+   if (g_getenv ("EMPATHY_SRCDIR") != NULL)
+     {
+--- a/src/empathy-event-manager.c
++++ b/src/empathy-event-manager.c
+@@ -560,11 +560,11 @@ event_manager_chat_message_received_cb (
+   msg = empathy_message_get_body (message);
+ 
+   if (event != NULL)
+-    event_update (approval->manager, event, EMPATHY_IMAGE_NEW_MESSAGE, header,
++    event_update (approval->manager, event, EMPATHY_IMAGE_NEW_MESSAGE_NOTIFY, header,
+         msg);
+   else
+     event_manager_add (approval->manager, NULL, sender,
+-        EMPATHY_EVENT_TYPE_CHAT, EMPATHY_IMAGE_NEW_MESSAGE, header, msg,
++        EMPATHY_EVENT_TYPE_CHAT, EMPATHY_IMAGE_NEW_MESSAGE_NOTIFY, header, msg,
+         approval, event_text_channel_process_func, NULL);
+ 
+   empathy_sound_manager_play (priv->sound_mgr, NULL,
diff -pruN 3.25.90+really3.12.14-2/debian/patches/34_start_raised_execpt_in_session.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/34_start_raised_execpt_in_session.patch
--- 3.25.90+really3.12.14-2/debian/patches/34_start_raised_execpt_in_session.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/34_start_raised_execpt_in_session.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,37 @@
+Description: Start raised (window not hidden) when started explicitly; respect last state when autostarted.
+
+=== modified file 'src/empathy-status-icon.c'
+---
+ src/empathy-status-icon.c |   14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+--- a/src/empathy-status-icon.c
++++ b/src/empathy-status-icon.c
+@@ -494,6 +494,8 @@ empathy_status_icon_new (GtkWindow *wind
+ 	EmpathyStatusIcon     *icon;
+ 	gboolean               should_hide;
+ 
++	const gchar *desktop_autostart_id;
++	desktop_autostart_id = g_getenv ("DESKTOP_AUTOSTART_ID");
+ 	g_return_val_if_fail (GTK_IS_WINDOW (window), NULL);
+ 
+ 	icon = g_object_new (EMPATHY_TYPE_STATUS_ICON, NULL);
+@@ -510,8 +512,16 @@ empathy_status_icon_new (GtkWindow *wind
+ 			  icon);
+ 
+ 	if (!hide_contact_list) {
+-		should_hide = g_settings_get_boolean (priv->gsettings_ui,
+-			EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN);
++		/* If not started with the session, we should raise the window.
++		https://bugs.launchpad.net/ubuntu/+source/empathy/+bug/503052 */
++		if (desktop_autostart_id == NULL) {
++			DEBUG ("Not started with session, showing contact list");
++			should_hide = FALSE;
++		} else {
++			DEBUG ("Auto-started with session, so honor the previous known state");
++			should_hide = g_settings_get_boolean (priv->gsettings_ui,
++					EMPATHY_PREFS_UI_MAIN_WINDOW_HIDDEN);
++		}
+ 	} else {
+ 		should_hide = TRUE;
+ 	}
diff -pruN 3.25.90+really3.12.14-2/debian/patches/38_default_to_facebook_for_im.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/38_default_to_facebook_for_im.patch
--- 3.25.90+really3.12.14-2/debian/patches/38_default_to_facebook_for_im.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/38_default_to_facebook_for_im.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,16 @@
+Descrption: Make facebook the default chat account type, it is the most popular now and fits with our Social From the Start theme for Lucid
+Author: ?
+
+=== modified file 'libempathy-gtk/empathy-protocol-chooser.c'
+Index: empathy-3.12.6/telepathy-account-widgets/tp-account-widgets/tpaw-protocol.c
+===================================================================
+--- empathy-3.12.6.orig/telepathy-account-widgets/tp-account-widgets/tpaw-protocol.c
++++ empathy-3.12.6/telepathy-account-widgets/tp-account-widgets/tpaw-protocol.c
+@@ -426,6 +426,7 @@ sort_protocol_value (const gchar *protoc
+ {
+   guint i;
+   const gchar *names[] = {
++    "facebook",
+     "jabber",
+     "local-xmpp",
+     "gtalk",
diff -pruN 3.25.90+really3.12.14-2/debian/patches/39_default_to_freenode_for_irc.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/39_default_to_freenode_for_irc.patch
--- 3.25.90+really3.12.14-2/debian/patches/39_default_to_freenode_for_irc.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/39_default_to_freenode_for_irc.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,16 @@
+Description: Connect to Freenode IRC by default for Ubuntu channels
+
+=== modified file 'libempathy-gtk/empathy-irc-network-chooser.c'
+Index: empathy-3.10.0/telepathy-account-widgets/tp-account-widgets/tpaw-irc-network-chooser.c
+===================================================================
+--- empathy-3.10.0.orig/telepathy-account-widgets/tp-account-widgets/tpaw-irc-network-chooser.c
++++ empathy-3.10.0/telepathy-account-widgets/tp-account-widgets/tpaw-irc-network-chooser.c
+@@ -29,7 +29,7 @@
+ #define DEBUG_FLAG TPAW_DEBUG_ACCOUNT | TPAW_DEBUG_IRC
+ #include "tpaw-debug.h"
+ 
+-#define DEFAULT_IRC_NETWORK "irc.gimp.org"
++#define DEFAULT_IRC_NETWORK "chat.freenode.net"
+ #define DEFAULT_IRC_PORT 6667
+ #define DEFAULT_IRC_SSL FALSE
+ 
diff -pruN 3.25.90+really3.12.14-2/debian/patches/41_unity_launcher_progress.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/41_unity_launcher_progress.patch
--- 3.25.90+really3.12.14-2/debian/patches/41_unity_launcher_progress.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/41_unity_launcher_progress.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,251 @@
+Description: Add Unity support to show file transfer progress in the launcher
+
+=== modified file 'configure.ac'
+---
+ configure.ac             |   30 +++++++++++++++++++
+ src/Makefile.am          |    3 +
+ src/empathy-ft-manager.c |   71 +++++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 104 insertions(+)
+
+Index: empathy-3.12.10/configure.ac
+===================================================================
+--- empathy-3.12.10.orig/configure.ac
++++ empathy-3.12.10/configure.ac
+@@ -79,6 +79,7 @@ GEOCODE_GLIB_REQUIRED=0.99.1
+ ISO_CODES_REQUIRED=0.35
+ NAUTILUS_SENDTO_REQUIRED=2.90.0
+ NETWORK_MANAGER_REQUIRED=0.7.0
++UNITY_REQUIRED=3.4.0
+ CHAMPLAIN_REQUIRED=0.12.1
+ CHEESE_GTK_REQUIRED=3.4.0
+ LIBACCOUNTS_REQUIRED=1.4
+@@ -346,6 +347,34 @@ fi
+ 
+ AM_CONDITIONAL(HAVE_ENCHANT, test "x$have_enchant" = "xyes")
+ 
++# libunity
++# -----------------------------------------------------------
++AC_ARG_ENABLE(libunity,
++               AS_HELP_STRING([--enable-libunity=@<:@no/yes/auto@:>@],
++                       [build libunity support]), ,
++                       enable_libunity=auto)
++
++if test "x$enable_unity" != "xno"; then
++   PKG_CHECK_MODULES(UNITY,
++   [
++     unity >= $UNITY_REQUIRED
++   ], have_unity="yes", have_unity="no")
++
++   if test "x$have_unity" = "xyes"; then
++      AC_DEFINE(HAVE_UNITY, 1, [Define if you have unity])
++   fi
++else
++   have_unity=no
++fi
++
++if test "x$enable_unity" = "xyes" -a "x$have_unity" != "xyes"; then
++   AC_MSG_ERROR([Could not find libunity.])
++fi
++
++AM_CONDITIONAL(HAVE_UNITY, test "x$have_unity" = "xyes")
++AC_SUBST([UNITY_CFLAGS])
++AC_SUBST([UNITY_LIBS])
++
+ # -----------------------------------------------------------
+ # Map view checks: libchamplain
+ # -----------------------------------------------------------
+@@ -632,6 +661,7 @@ Configure summary:
+ 	Display maps (libchamplain).:  ${have_libchamplain}
+ 	Location awareness (Geoclue):  ${have_geoclue}
+ 	Geocode support (Geocode)...:  ${have_geocode}
++	Unity panel support (unity).:  ${have_unity}
+ 	Cheese webcam support ......:  ${have_cheese}
+ 	Camera monitoring...........:  ${have_gudev}
+ 
+Index: empathy-3.12.10/src/Makefile.am
+===================================================================
+--- empathy-3.12.10.orig/src/Makefile.am
++++ empathy-3.12.10/src/Makefile.am
+@@ -18,6 +18,7 @@ CPPFLAGS_COMMON =					\
+ AM_LDFLAGS = $(LIBM)
+ AM_CPPFLAGS =						\
+ 	$(CPPFLAGS_COMMON)				\
++	$(UNITY_CFLAGS)					\
+ 	$(LIBCHAMPLAIN_CFLAGS)				\
+ 	$(UOA_CFLAGS)					\
+ 	$(NULL)
+@@ -28,6 +29,7 @@ LDADD =								\
+ 	$(top_builddir)/extensions/libemp-extensions.la		\
+ 	$(GCR_LIBS) 						\
+ 	$(EMPATHY_LIBS)						\
++	$(UNITY_LIBS)						\
+ 	$(TPAW_LIBS)						\
+ 	$(LIBCHAMPLAIN_LIBS)					\
+ 	$(UOA_LIBS)						\
+@@ -169,6 +171,7 @@ empathy_LDADD =								\
+         $(top_builddir)/libempathy/libempathy.la			\
+         $(top_builddir)/extensions/libemp-extensions.la			\
+         $(EMPATHY_LIBS)							\
++	$(UNITY_LIBS)							\
+         $(LIBCHAMPLAIN_LIBS)						\
+ 	$(NULL)
+ 
+Index: empathy-3.12.10/src/empathy-ft-manager.c
+===================================================================
+--- empathy-3.12.10.orig/src/empathy-ft-manager.c
++++ empathy-3.12.10/src/empathy-ft-manager.c
+@@ -40,6 +40,8 @@
+ #define DEBUG_FLAG EMPATHY_DEBUG_FT
+ #include "empathy-debug.h"
+ 
++#include <unity.h>
++
+ enum
+ {
+   COL_PERCENT,
+@@ -59,6 +61,7 @@ typedef struct {
+   GtkWidget *open_button;
+   GtkWidget *abort_button;
+   GtkWidget *clear_button;
++  UnityLauncherEntry *launcher;
+ } EmpathyFTManagerPriv;
+ 
+ enum
+@@ -78,6 +81,53 @@ static EmpathyFTManager *manager_singlet
+ static void ft_handler_hashing_started_cb (EmpathyFTHandler *handler,
+     EmpathyFTManager *manager);
+ 
++static gchar * ft_manager_format_progress_bytes_and_percentage (
++                                                 guint64 current,
++                                                 guint64 total,
++                                                 gdouble speed,
++                                                 int *percentage);
++
++static void
++ft_update_unity_launcher (EmpathyFTManager *manager)
++{
++  EmpathyFTManagerPriv *priv;
++
++  priv = GET_PRIV (manager);
++  g_return_if_fail (priv->launcher != NULL);
++
++  guint64 current_bytes = 0;
++  guint64 total_bytes = 0;
++  int percentage;
++  gdouble progress;
++  GHashTableIter iter;
++  gpointer handler;
++
++  g_hash_table_iter_init (&iter, priv->ft_handler_to_row_ref);
++  while (g_hash_table_iter_next (&iter, &handler, NULL)) 
++  {
++      if (!empathy_ft_handler_is_completed (handler) &&
++          !empathy_ft_handler_is_cancelled (handler))
++      {
++          current_bytes = current_bytes + empathy_ft_handler_get_transferred_bytes (handler);
++          total_bytes = total_bytes + empathy_ft_handler_get_total_bytes (handler);
++      }
++  }
++  ft_manager_format_progress_bytes_and_percentage (current_bytes, total_bytes, -1, &percentage);
++
++  progress = percentage;
++  progress = progress / 100;
++
++  unity_launcher_entry_set_progress (priv->launcher, progress);
++  if (progress > 0 && progress < 100)
++  {
++    unity_launcher_entry_set_progress_visible (priv->launcher, TRUE);
++  } 
++  else 
++  {
++    unity_launcher_entry_set_progress_visible (priv->launcher, FALSE);
++  }
++}
++
+ static gchar *
+ ft_manager_format_interval (guint interval)
+ {
+@@ -387,6 +437,8 @@ ft_manager_update_handler_progress (Empa
+       COL_PERCENT, percentage,
+       -1);
+ 
++  ft_update_unity_launcher (manager);
++
+   gtk_tree_path_free (path);
+ 
+ }
+@@ -453,6 +505,8 @@ ft_handler_transfer_error_cb (EmpathyFTH
+   ft_manager_clear_handler_time (manager, row_ref);
+   ft_manager_update_buttons (manager);
+ 
++  ft_update_unity_launcher (manager);
++
+   g_free (message);
+ }
+ 
+@@ -460,6 +514,7 @@ static void
+ do_real_transfer_done (EmpathyFTManager *manager,
+                        EmpathyFTHandler *handler)
+ {
++  EmpathyFTManagerPriv *priv;
+   const char *contact_name;
+   const char *filename;
+   char *first_line, *second_line, *message;
+@@ -469,6 +524,8 @@ do_real_transfer_done (EmpathyFTManager
+   GtkRecentManager *recent_manager;
+   GFile *file;
+ 
++  priv = GET_PRIV (manager); 
++
+   row_ref = ft_manager_get_row_from_handler (manager, handler);
+   g_return_if_fail (row_ref != NULL);
+ 
+@@ -494,6 +551,8 @@ do_real_transfer_done (EmpathyFTManager
+   ft_manager_update_handler_message (manager, row_ref, message);
+   ft_manager_clear_handler_time (manager, row_ref);
+ 
++  ft_update_unity_launcher (manager);
++
+   /* update buttons */
+   ft_manager_update_buttons (manager);
+ 
+@@ -530,6 +589,8 @@ ft_handler_transfer_done_cb (EmpathyFTHa
+   DEBUG ("Transfer done, no hashing");
+ 
+   do_real_transfer_done (manager, handler);
++
++  ft_update_unity_launcher (manager);
+ }
+ 
+ static void
+@@ -571,6 +632,8 @@ ft_handler_transfer_started_cb (EmpathyF
+                                 TpFileTransferChannel *channel,
+                                 EmpathyFTManager *manager)
+ {
++  EmpathyFTManagerPriv *priv;
++  priv = GET_PRIV (manager);
+   guint64 transferred_bytes, total_bytes;
+ 
+   DEBUG ("Transfer started");
+@@ -1078,6 +1141,12 @@ empathy_ft_manager_finalize (GObject *ob
+ 
+   g_hash_table_unref (priv->ft_handler_to_row_ref);
+ 
++  if (priv->launcher != NULL)
++  {
++    g_object_unref(priv->launcher);
++    priv->launcher = NULL;
++  }
++ 
+   G_OBJECT_CLASS (empathy_ft_manager_parent_class)->finalize (object);
+ }
+ 
+@@ -1095,6 +1164,8 @@ empathy_ft_manager_init (EmpathyFTManage
+       g_direct_equal, (GDestroyNotify) g_object_unref,
+       (GDestroyNotify) gtk_tree_row_reference_free);
+ 
++  priv->launcher = unity_launcher_entry_get_for_desktop_id ("empathy.desktop");
++
+   ft_manager_build_ui (manager);
+ }
+ 
diff -pruN 3.25.90+really3.12.14-2/debian/patches/42_shell_running.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/42_shell_running.patch
--- 3.25.90+really3.12.14-2/debian/patches/42_shell_running.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/42_shell_running.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,99 @@
+Description: Move to the window / move the window to the user depending on Shell or not
+
+=== modified file 'src/empathy-chat-window.c'
+Index: empathy-3.12.6/src/empathy-chat-window.c
+===================================================================
+--- empathy-3.12.6.orig/src/empathy-chat-window.c
++++ empathy-3.12.6/src/empathy-chat-window.c
+@@ -67,6 +67,7 @@ struct _EmpathyChatWindowPriv
+   GList *chats;
+   gboolean page_added;
+   gboolean dnd_same_window;
++  gboolean shell_running;
+   EmpathyChatroomManager *chatroom_manager;
+   EmpathyNotifyManager *notify_mgr;
+   EmpathyIndividualManager *individual_mgr;
+@@ -172,6 +173,35 @@ static void empathy_chat_window_get_nb_c
+ 
+ G_DEFINE_TYPE (EmpathyChatWindow, empathy_chat_window, GTK_TYPE_WINDOW)
+ 
++
++#define GNOME_SHELL_BUS_NAME "org.gnome.Shell"
++
++static void
++list_names_cb (TpDBusDaemon *bus_daemon,
++        const gchar * const *names,
++        const GError *error,
++        gpointer user_data,
++        GObject *weak_object)
++{
++  EmpathyChatWindow *self = EMPATHY_CHAT_WINDOW (weak_object);
++  guint i;
++
++  if (error != NULL)
++      goto out;
++
++  for (i = 0; names[i] != NULL; i++)
++    {
++      if (!tp_strdiff (names[i], GNOME_SHELL_BUS_NAME))
++        {
++          self->priv->shell_running = TRUE;
++          break;
++        }
++    }
++
++out:
++  return;
++}
++
+ static void
+ chat_window_accel_cb (GtkAccelGroup *accelgroup,
+     GObject *object,
+@@ -2408,6 +2438,8 @@ empathy_chat_window_init (EmpathyChatWin
+   GtkWidget *chat_vbox;
+   gchar *filename;
+   EmpathySmileyManager *smiley_manager;
++  GError *error = NULL;
++  TpDBusDaemon *dbus;
+ 
+   self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
+     EMPATHY_TYPE_CHAT_WINDOW, EmpathyChatWindowPriv);
+@@ -2561,6 +2593,15 @@ empathy_chat_window_init (EmpathyChatWin
+       self->priv->chat_manager, "closed-chats-changed",
+       G_CALLBACK (chat_window_chat_manager_chats_changed_cb), self);
+ 
++  /* check if Shell is running */
++  dbus = tp_dbus_daemon_dup (&error);
++  g_assert_no_error (error);
++
++  tp_dbus_daemon_list_names (dbus, -1, list_names_cb,
++   NULL, NULL, G_OBJECT (self));
++
++  g_object_unref (dbus);
++
+   chat_window_chat_manager_chats_changed_cb (self->priv->chat_manager,
+       empathy_chat_manager_get_num_closed_chats (self->priv->chat_manager), self);
+ 
+@@ -2855,11 +2896,17 @@ empathy_chat_window_present_chat (Empath
+ 
+   empathy_chat_window_switch_to_chat (self, chat);
+ 
+-  /* Don't use tpaw_window_present_with_time () which would move the window
+-   * to our current desktop but move to the window's desktop instead. This is
+-   * more coherent with Shell's 'app is ready' notication which moves the view
+-   * to the app desktop rather than moving the app itself. */
+-  empathy_move_to_window_desktop (GTK_WINDOW (self), x_timestamp);
++  /* If gnome-shell is running don't use empathy_window_present_with_time () 
++   * which would move the window to our current desktop but move to the 
++   * window's desktop instead. This is more coherent with Shell's 
++   * 'app is ready' notication which moves the view to the app desktop 
++   * rather than moving the app itself. 
++   * If gnome-shell isn't running, move the window to the current desktop */
++
++  if (!self->priv->shell_running)
++    tpaw_window_present_with_time (GTK_WINDOW (self), x_timestamp);
++  else
++    empathy_move_to_window_desktop (GTK_WINDOW (self), x_timestamp);
+ 
+   gtk_widget_grab_focus (chat->input_text_view);
+   return self;
diff -pruN 3.25.90+really3.12.14-2/debian/patches/43_quicklists.patch 3.25.90+really3.12.14-2ubuntu1/debian/patches/43_quicklists.patch
--- 3.25.90+really3.12.14-2/debian/patches/43_quicklists.patch	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/43_quicklists.patch	2017-10-11 14:19:38.000000000 +0000
@@ -0,0 +1,24 @@
+Description: Add some Unity Quicklists
+
+Index: b/data/empathy.desktop.in.in
+===================================================================
+--- a/data/empathy.desktop.in.in
++++ b/data/empathy.desktop.in.in
+@@ -15,4 +15,16 @@
+ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=empathy
+ X-GNOME-Bugzilla-Component=General
+-X-GNOME-Bugzilla-Version=@VERSION@
++X-GNOME-Bugzilla-Version=@VERSION@8
++X-MessagingMenu-UsesChatSection=true
++Actions=Hidden;Prefs;
++
++[Desktop Action Hidden]
++_Name=Open Hidden in Background
++Exec=empathy -h
++NotShowIn=Messaging Menu
++
++[Desktop Action Prefs]
++_Name=Open Preferences
++Exec=empathy -p
++NotShowIn=Messaging Menu
diff -pruN 3.25.90+really3.12.14-2/debian/patches/series 3.25.90+really3.12.14-2ubuntu1/debian/patches/series
--- 3.25.90+really3.12.14-2/debian/patches/series	2020-01-07 10:06:07.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/patches/series	2021-02-05 17:26:41.000000000 +0000
@@ -1 +1,9 @@
 enchant-2.patch
+00_linker-fixes.patch
+10_use_notify_osd_icons.patch
+34_start_raised_execpt_in_session.patch
+38_default_to_facebook_for_im.patch
+39_default_to_freenode_for_irc.patch
+41_unity_launcher_progress.patch
+42_shell_running.patch
+43_quicklists.patch
diff -pruN 3.25.90+really3.12.14-2/debian/rules 3.25.90+really3.12.14-2ubuntu1/debian/rules
--- 3.25.90+really3.12.14-2/debian/rules	2020-01-07 10:06:07.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/rules	2020-01-07 16:25:47.000000000 +0000
@@ -1,6 +1,7 @@
 #!/usr/bin/make -f
 
 -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
 # Ensure at build time that the library has no dependencies on undefined
 # symbols, and speed up loading.
diff -pruN 3.25.90+really3.12.14-2/debian/shlibs.local 3.25.90+really3.12.14-2ubuntu1/debian/shlibs.local
--- 3.25.90+really3.12.14-2/debian/shlibs.local	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/shlibs.local	2019-05-28 08:39:48.000000000 +0000
@@ -0,0 +1,2 @@
+libempathy-gtk 3.12.13 empathy (= ${binary:Version})
+libempathy 3.12.13 empathy (= ${binary:Version})
diff -pruN 3.25.90+really3.12.14-2/debian/update-patches.mk 3.25.90+really3.12.14-2ubuntu1/debian/update-patches.mk
--- 3.25.90+really3.12.14-2/debian/update-patches.mk	1970-01-01 00:00:00.000000000 +0000
+++ 3.25.90+really3.12.14-2ubuntu1/debian/update-patches.mk	2019-05-28 08:39:48.000000000 +0000
@@ -0,0 +1,11 @@
+update-patches:
+	mkdir -p $(CURDIR)/debian/patches
+	rm -f $(CURDIR)/debian/patches/*.patch
+	git format-patch -o $(CURDIR)/debian/patches debian-patches ^upstream | \
+		xargs -n 1 basename > $(CURDIR)/debian/patches/series
+	for patch in $$(ls $(CURDIR)/debian/patches/*.patch) ; \
+	do \
+		lines=$$(cat $$patch | wc -l) ; \
+		head -n $$(($$lines - 3)) $$patch > $${patch}.chomped ; \
+			mv $${patch}.chomped $$patch ; \
+	done
