Name: profanity
Version: 0.11.1
Release: 1%{?dist}
Summary: A console based XMPP client
License: GPLv3
URL: https://profanity-im.github.io/
Source0: https://profanity-im.github.io/%{name}-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: automake
BuildRequires: autoconf-archive
BuildRequires: libtool
# Base:
BuildRequires: libstrophe-devel
BuildRequires: ncurses-devel
BuildRequires: glib2-devel
BuildRequires: libcurl-devel
BuildRequires: readline-devel
BuildRequires: sqlite-devel
BuildRequires: python-unversioned-command
# Optional dependancies for support:
# Desktop notification support
BuildRequires: libnotify-devel
# OTR support
BuildRequires: libotr-devel
# PGP support
BuildRequires: gpgme-devel
# OMEMO support
BuildRequires: libsignal-protocol-c-devel
# OMEMO support (>= 1.7)
BuildRequires: libgcrypt-devel
# Python plugin support
BuildRequires: python3-devel
# For tests:
BuildRequires: libcmocka-devel
# For docs:
BuildRequires: doxygen
BuildRequires: python3-sphinx
%description
Profanity is a console based XMPP client written in C using ncurses
and libstrophe, inspired by Irssi.
%package libs
Summary: The shared libraries required for plugins of Profanity
Requires: %{name}%{?_isa} = %{version}-%{release}
%description libs
The %{name}-libs package provides the essential shared libraries for any
plugin of Profanity written in C.
See: https://profanity-im.github.io/plugins.html
%package devel
Summary: Development files for libraries used by plugins of Profanity
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing plugins written in C for Profanity.
%package doc
Summary: Documentation for %{name}
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
%description doc
The %{name}-doc package contains HTML documentation for developing
applications that use %{name}.
%prep
%autosetup
%build
autoreconf -i -W all
%configure
%make_build
# Build HTML documentation
pushd apidocs/c/
doxygen c-prof.conf # resuls are in apidocs/c/html/
popd
pushd apidocs/python/
sphinx-apidoc -f -o . src
make html # resuls are in apidocs/python/_build/html
popd
# Remove ReST files from html doc and remove hidden file generated
rm -rf apidocs/python/_build/html/_sources/
rm -f apidocs/python/_build/html/.buildinfo
%install
%make_install
# Remove libprofanity.la generated
rm -f %{buildroot}%{_libdir}/libprofanity.la
# Install HTML documentation for the doc subpackage
mkdir -p %{buildroot}%{_pkgdocdir}/c/
mkdir -p %{buildroot}%{_pkgdocdir}/python/
cp -a apidocs/c/html/ %{buildroot}%{_pkgdocdir}/c/
cp -a apidocs/python/_build/html/ %{buildroot}%{_pkgdocdir}/python/
# Install example config file
cp -a profrc.example %{buildroot}%{_datadir}/%{name}/
%check
make check
%files
%license COPYING LICENSE.txt
%doc CHANGELOG README.md
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.*
%{_mandir}/man1/%{name}-*
%{_datadir}/%{name}/
%files libs
%{_libdir}/libprofanity.so.*
%files devel
%{_libdir}/libprofanity.so
%{_includedir}/profapi.h
%files doc
%{_pkgdocdir}/
%changelog
* Tue Oct 12 2021 Matthieu Saulnier <fantom@fedoraproject.org> - 0.11.1-1
- Update to 0.11.1
* Wed Aug 25 2021 Matthieu Saulnier <fantom@fedoraproject.org> - 0.11.0-2
- Package Review RHBZ#1995497:
- Remove useless ldconfig scriptlets
- Fix Requires tag of the doc subpackage
- Fix summary and description of lib and devel subpackages
- Reverse requirements between main package and libs subpackage
- Move docfiles from libs subpackage to main package
* Mon Aug 09 2021 Matthieu Saulnier <fantom@fedoraproject.org> - 0.11.0-1
- Package Review RHBZ#1995497:
- Initial packaging