AM_CPPFLAGS = @WFLAGS@
-bin_SCRIPTS = chime-joinable.py
+bin_SCRIPTS = chime-joinable.py chime-auth.py
+
+applicationsdir = $(datadir)/applications
+applications_DATA = chime-auth.desktop
certs_DATA = certs/Amazon.com_InfoSec_CA_G3.pem \
certs/Amazon.com_Internal_Root_Certificate_Authority.pem \
--- /dev/null
+[Desktop Entry]
+Name=Pidgin Chime authentication handler
+Exec=chime-auth.py %u
+Type=Application
+Terminal=false
+MimeType=x-scheme-handler/chime;
--- /dev/null
+#!/usr/bin/python3
+
+import sys, dbus
+
+if len(sys.argv) != 2:
+ print("Need one argument: New Chime token")
+ exit(1)
+
+chimeurl = sys.argv[1]
+
+if not chimeurl.startswith('chime://sso_sessions?Token='):
+ print("Need Chime URL starting chime://sso_sessions?Token=")
+ exit(1)
+
+token = chimeurl[27:]
+
+bus = dbus.SessionBus()
+
+pidgin = bus.get_object("im.pidgin.purple.PurpleService",
+ "/im/pidgin/purple/PurpleObject")
+
+accounts = pidgin.PurpleAccountsGetAllActive()
+
+for account in accounts:
+ proto = pidgin.PurpleAccountGetProtocolName(account)
+ if proto != "Amazon Chime":
+ continue
+ token = pidgin.PurpleAccountSetString(account, "token", token)
+ print(token)
+ exit(0)
+
+
+print("No Chime account found")
+exit(1)
usr/lib/*-linux-gnu/gstreamer-1.0/*.so usr/lib/x86_64-linux-gnu/gstreamer-1.0
usr/lib/evolution/modules/* usr/lib/evolution/modules
usr/lib/pidgin/*.so usr/lib/pidgin
-usr/bin/chime-joinable.py usr/bin
+usr/bin/chime-*.py usr/bin
BuildRequires: libtool
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: desktop-file-utils
Requires: purple-chime%{?_isa} = %{version}-%{release}
Requires: evolution-chime
%install
%make_install
+desktop-file-validate %{buildroot}/%{_datadir}/applications/chime-auth.desktop
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name}
%{_datadir}/pixmaps/pidgin/protocols/*/chime*
%{_libdir}/pidgin/chimeseen.so
%{_bindir}/chime-joinable.py
+%{_bindir}/chime-auth.py
+%{_datadir}/applications/*.desktop
%files -n purple-chime -f %{name}.lang
%{_libdir}/purple-2/libchimeprpl.so