# # spec file for package profanity # # Copyright (c) 2024 SUSE LLC # Copyright (c) 2025 Andreas Stieger # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %global flavor @BUILD_FLAVOR@%{nil} %global sname profanity %if "%{flavor}" == "" %global pname %{sname} %else %global pname %{sname}-%{flavor} %endif %define sover 0 # standard flavor %if "%{flavor}" == "" %bcond_without notifications %bcond_without xscreensaver %bcond_without icons %bcond_without scaled_avatars %bcond_without tests %else # -mini %bcond_with notifications %bcond_with xscreensaver %bcond_with icons %bcond_with scaled_avatars %bcond_with tests %endif # common to both %bcond_without python %bcond_without otr %bcond_without gpg %bcond_without omemo %bcond_without omemo_qrcode # Name: %{pname} Version: 0.15.1 Release: 0 Summary: Console-based XMPP client License: SUSE-GPL-3.0+-with-openssl-exception Group: Productivity/Networking/Instant Messenger URL: https://profanity-im.github.io Source: https://github.com/profanity-im/profanity/releases/download/%{version}/profanity-%{version}.tar.gz BuildRequires: pkgconfig # mandatory requirements BuildRequires: pkgconfig(glib-2.0) >= 2.62 BuildRequires: pkgconfig(libcurl) >= 7.62.0 BuildRequires: pkgconfig(libstrophe) >= 0.12.3 BuildRequires: pkgconfig(ncursesw) BuildRequires: pkgconfig(sqlite3) >= 3.22.0 %if 0%{?suse_version} >= 1600 BuildRequires: pkgconfig(readline) %endif Conflicts: profanity-binary Provides: profanity-binary = %{version} # optional requirements %if %{with notifications} BuildRequires: pkgconfig(libnotify) %endif %if %{with python} BuildRequires: python3-devel %endif %if %{with otr} BuildRequires: pkgconfig(libotr) >= 4.0 %endif %if %{with gpg} BuildRequires: pkgconfig(gpgme) %endif %if %{with omemo} BuildRequires: pkgconfig(libgcrypt) >= 1.7.0 BuildRequires: pkgconfig(libsignal-protocol-c) >= 2.3.2 %endif %if %{with xscreensaver} BuildRequires: pkgconfig(xscrnsaver) %endif %if %{with icons} BuildRequires: pkgconfig(gtk+-3.0) >= 3.24.0 %endif %if %{with scaled_avatars} BuildRequires: pkgconfig(gdk-pixbuf-2.0) %endif %if %{with omemo_qrcode} BuildRequires: pkgconfig(libqrencode) %endif # tests requirements %if %{with tests} BuildRequires: expect BuildRequires: pkgconfig(cmocka) %endif %if "%{flavor}" == "" Obsoletes: profanity-standard %endif %description Profanity is a console-based XMPP client written in C using ncurses, and inspired by Irssi. %if "%{flavor}" == "mini" This package holds a minimal version, with most options not compiled in to have fewer dependencies. It is thus well suited for headless servers. %endif # only standard flavor builds the plugin library %if "%{flavor}" == "" %package -n libprofanity%{sover} Summary: Shared library for the %{name} console-based XMPP client %description -n libprofanity%{sover} Profanity is a console-based XMPP client written in C using ncurses, and inspired by Irssi. This package contains the shared library used by the profanity client and plug-ins. %package devel Summary: Development files for the libprofanity XMPP client library Requires: libprofanity%{sover} = %{version} %description devel Profanity is a console-based XMPP client written in C using ncurses, and inspired by Irssi. This package contains the files needed to build with libprofanity. %endif %prep %autosetup -p1 -n %{sname}-%{version} sed -i -e "s/python-config/python3-config/g" configure %build %configure \ %if %{with notifications} --enable-notifications \ %endif %if %{with python} PYTHON_VERSION=3 \ --enable-python-plugins \ %endif --enable-c-plugins \ --enable-plugins \ %if %{with otr} --enable-otr \ %endif %if %{with gpg} --enable-pgp \ %endif %if %{with omemo} --enable-omemo \ %endif %if %{with xscreensaver} --with-xscreensaver \ %endif --with-themes \ %if %{with icons} --enable-icons-and-clipboard \ %endif %if %{with scaled_avatars} --enable-gdk-pixbuf \ %endif %if %{with omemo_qrcode} --enable-omemo-qrcode \ %endif %{nil} %make_build %install %make_install find %{buildroot} -type f -name "*.la" -delete -print %if "%{flavor}" == "mini" rm %{buildroot}%{_includedir}/profapi.h rm %{buildroot}%{_libdir}/libprofanity.so* %endif %check %if %{with tests} %make_build check %endif # only standard flavor builds the plugin library %if "%{flavor}" == "" %ldconfig_scriptlets -n libprofanity%{sover} %endif %files %license COPYING LICENSE.txt %{_bindir}/profanity %{_mandir}/man1/*1%{?ext_man} %{_datadir}/profanity/ # only standard flavor builds the plugin library %if "%{flavor}" == "" %files -n libprofanity%{sover} %license COPYING LICENSE.txt %{_libdir}/libprofanity.so.%{sover}{,.*} %files devel %license COPYING LICENSE.txt %{_includedir}/profapi.h %{_libdir}/libprofanity.so %endif %changelog