%global gitsnapshot 1
%if 0%{?gitsnapshot}
%global snapcommit 2814a34178457f1ae112054eb101c4af7e361f99
%global snapcount 26
%global shortcommit %(c=%{snapcommit}; echo ${c:0:7})
%global snapver .git.%{snapcount}.%{shortcommit}
%endif

%global tagver 1.3

%global pidginver 2.13.0
%if 0%{?rhel} == 7
# Building 2.14.0 with the V/V bits on EPEL7 is non-trivial. IM only for now.
%global pidginver 2.10.11
%endif

%bcond_without evolution # with

Name:           pidgin-chime
Summary:        Pidgin/libpurple protocol plugin for Amazon Chime
Version:        %{tagver}%{?snapver}
Release:        0%{?dist}

License:        LGPLv2
URL:            https://github.com/awslabs/%{name}
%if 0%{?gitsnapshot}
Source0:        https://github.com/awslabs/%{name}/archive/%{snapcommit}/%{name}-%{shortcommit}.tar.gz
%else
Source0:        ftp://ftp.infradead.org/pub/%{name}/%{name}-%{version}.tar.gz
%endif

BuildRequires:  pkgconfig(pidgin) >= %{pidginver}
BuildRequires:  pkgconfig(purple) >= %{pidginver}
BuildRequires:  pkgconfig(gnutls) >= 3.2.0
BuildRequires:  pkgconfig(farstream-0.2)
BuildRequires:  pkgconfig(gstreamer-1.0)
BuildRequires:  pkgconfig(gstreamer-app-1.0)
BuildRequires:  pkgconfig(gstreamer-rtp-1.0)
BuildRequires:  pkgconfig(gstreamer-base-1.0)
BuildRequires:  pkgconfig(gstreamer-video-1.0)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xfixes)
BuildRequires:  pkgconfig(opus)
BuildRequires:  pkgconfig(libprotobuf-c)
BuildRequires:  pkgconfig(json-glib-1.0)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(libsoup-2.4) >= 2.50
BuildRequires:  ImageMagick
%if %{with evolution}
BuildRequires:  pkgconfig(evolution-calendar-3.0)
BuildRequires:  pkgconfig(evolution-shell-3.0)
BuildRequires:  pkgconfig(evolution-data-server-1.2)
BuildRequires:  pkgconfig(libebook-1.2)
# libecal changed from -1.2 to -2.0 in e-d-s 3.33.2
# Any conditional BR would be based on %_fedora and be distro-specific
# anyway, so we might as well just not BR it at all, depending on the
# equally distro-specific knowledge that it's in e-d-s-devel with the
# rest.
#BuildRequires:  pkgconfig(libecal-1.2)
BuildRequires:  pkgconfig(camel-1.2)
%endif # with evolution
BuildRequires:  gcc
BuildRequires:  gettext
BuildRequires:  libtool
BuildRequires:  autoconf
BuildRequires:  automake

Requires:       purple-chime%{?_isa} = %{version}-%{release}
Requires:       evolution-chime
Requires:       pidgin >= %{pidginver}

%description
A plugin for the Pidgin multi-protocol instant messenger, to support Amazon
Chime.

This package provides the icon set for Pidgin, and a UI plugin to indicate
seen messages.

%package -n purple-chime
Summary:  Libpurple protocol plugin for Amazon Chime

%description -n purple-chime
A plugin for the Pidgin multi-protocol instant messenger, to support Amazon
Chime.

This package provides the Amazon Chime protocol support for the libpurple
messaging library, which is used by Pidgin and other tools.


%if %{with evolution}
%package -n evolution-chime
Summary:  Evolution plugin for Amazon Chime
Requires: pidgin-chime = %{version}-%{release}

%description -n evolution-chime
A plugin for Evolution that allows you to create meetings in Amazon Chime.
%endif # with evolution

%prep
%if 0%{?gitsnapshot}
%setup -q -n %{name}-%{snapcommit}
NOCONFIGURE=x ./autogen.sh
%else
%setup -q
if [ ! -x configure ]; then
    NOCONFIGURE=x ./autogen.sh
fi
%endif

%build
%configure \
%if %{without evolution}
  --without-evolution \
%endif # without evolution
  --with-certsdir=%{_sysconfdir}/pki/purple-chime/cacerts;
make %{?_smp_mflags}

%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name}

%check
make %{?_smp_mflags} check

%files
%{_datadir}/pixmaps/pidgin/protocols/*/chime*
%{_libdir}/pidgin/chimeseen.so

%files -n purple-chime -f %{name}.lang
%{_libdir}/purple-2/libchimeprpl.so
%{_libdir}/farstream-0.2/libapp-transmitter.so
%{_libdir}/gstreamer-1.0/libgst*.so
%dir %{_sysconfdir}/pki/purple-chime
%dir %{_sysconfdir}/pki/purple-chime/cacerts
%{_sysconfdir}/pki/purple-chime/cacerts/*.pem

%license LICENSE
%doc README.md TODO

%if %{with evolution}
%files -n evolution-chime
%{_libdir}/evolution/modules/module-event-from-template.so
%endif # with evolution

%changelog
* Fri May  4 2018 David Woodhouse <dwmw2@infradead.org> - %{version}-%{release}
- Initial packaging.