Files
profanity/profanity.spec

217 lines
5.3 KiB
RPMSpec
Raw Permalink Normal View History

#
# spec file for package profanity
#
# Copyright (c) 2024 SUSE LLC
2025-08-16 12:39:53 +02:00
# Copyright (c) 2025 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# 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.
Accepting request 769505 from network - Update to 0.8.0: * OMEMO fingerprint autocompletion now considers only the contact in question (@paulfariello) (#1068) * Save and display oldest timestamp from delay tags (#1254) * Change theme handling (#1077) * /theme load themename not loads only the colours of a theme. So the users preferences don't get overwritten * /theme full-load themename loads the whole theme including preferences (like omemo.char) * Add gruvbox theme (@Misaflo) (#1259) * XEP-0092: Include OS name in /software answer. * See /os on|off * Add option to notify about version request via XEP-0092 and XEP-0232 via adv.notify.discoversion * setting in configuration file. * Add option to display MUC name or JID in titlebar: /titlebar use [name|jid]. * Add /roster room use command to decide whether to display the MUC name or JID in the roster: /roster room use name to use the name of the MUC in the roster list. /roster room use jid to use the jid of the MUC in the roster list. * Fix decryption failure for messages sent from Converse.js (@paulfariello) (#1253) * Fix crash when OMEMO key is misconfigured (@paulfariello) (#1239) * Use OMEMO for offline MUC members (@paulfariello) (#1242) * Fix OMEMO 1on1 chats with psi+ (@svensp) (#1247) * Save occupants and roster chars (#1244) * Add support for downloading user avatars via XEP-0084 (#1240) * See /avatar * Add last read position marker trackbar (#1238) * Dont print error message if a valid setting function is called (#1237) * When printing configuration we often use the same command as setting but without any argument. * So far ths displayed "Invalid usage". * Add support for XEP-0392 consistent color generation for nicks (@aaptel and @jubalh) (#1191) * See /color, /occupants color, /roster color * Call ncurses resize function before move function (#1235) * Fix error when joining IRC via biboumi (#1230) OBS-URL: https://build.opensuse.org/request/show/769505 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/profanity?expand=0&rev=16
2020-02-04 18:52:31 +00:00
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
2025-08-16 13:18:40 +02:00
%global flavor @BUILD_FLAVOR@%{nil}
%global sname profanity
%if "%{flavor}" == ""
%global pname %{sname}
%else
%global pname %{sname}-%{flavor}
%endif
2025-08-16 12:39:53 +02:00
%define sover 0
2025-08-16 13:18:40 +02:00
# standard flavor
%if "%{flavor}" == ""
2025-08-16 12:39:53 +02:00
%bcond_without notifications
2025-08-16 13:18:40 +02:00
%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
2025-08-16 12:39:53 +02:00
%bcond_without python
%bcond_without otr
%bcond_without gpg
%bcond_without omemo
%bcond_without omemo_qrcode
2025-08-16 13:18:40 +02:00
#
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
Accepting request 720021 from network - Update to 0.7.0: * Fix plugin unload return code if just one plugin fails (#995) * Fix several typos * Fix some display indentation issues (#1073) * Fail plugin unload if the plugin doesnt exist * Improve encrypted message stub header by mentioning the encryption method * Fix GPG encryption (#997) * Redraw sceen after entry of PGP key (#906) * Fix support for case-sensitive account names (#725) * Fix /me display when highlighting user in MUCs (#950) * Fix `make dist` (0f0659a) * Fix use after free bug (#1044) * Fix segfault on connect with default account (#1046) * Implement OMEMO support (#1039, #658, #1070) * Add random string at the end of the default resource (#1053) * Fix handling of messages without ID in MUC (#1061) * Add library versioning to libprofanity (#973) * Add more customization: occupants indent (/occupants) (#690, #1072) * Add more customization: occupants header char (/occupants) (#690, #1074) * Add more customization: occupants wrap (/occupants) (#690, 125ca2f) * Add more customization: occupants char (/occupants) (#690, #1084) * Fix formatting for privileges on (a666f0d) * Fix usage of statusbar number in theme (#1078) * Fix Debian 32bit tests (#1091) * Fix unit tests (#1092) * Fix infinite loop on connection loss (#1103) * Don't clear saved account data in session_disconnect (#1106) * Cancel autoping timer on disconnect or connection loss (#1105) * Fix SIGABRT on connection loss (#1083) * Only print room history for new messages upon reconnect (#704, #1110) OBS-URL: https://build.opensuse.org/request/show/720021 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/profanity?expand=0&rev=13
2019-07-31 12:37:09 +00:00
Source: https://github.com/profanity-im/profanity/releases/download/%{version}/profanity-%{version}.tar.gz
2025-08-16 12:39:53 +02:00
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
2025-08-18 10:39:49 +02:00
%if 0%{?suse_version} >= 1600
BuildRequires: pkgconfig(readline)
%endif
2025-08-16 13:18:40 +02:00
Conflicts: profanity-binary
Provides: profanity-binary = %{version}
2025-08-16 12:39:53 +02:00
# optional requirements
%if %{with notifications}
BuildRequires: pkgconfig(libnotify)
%endif
%if %{with python}
BuildRequires: python3-devel
2025-08-16 12:39:53 +02:00
%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
2025-08-16 13:18:40 +02:00
%if "%{flavor}" == ""
Obsoletes: profanity-standard
%endif
%description
2025-08-16 12:39:53 +02:00
Profanity is a console-based XMPP client written in C using ncurses, and
inspired by Irssi.
2025-08-16 13:18:40 +02:00
%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
2025-08-16 13:18:40 +02:00
# only standard flavor builds the plugin library
%if "%{flavor}" == ""
2025-08-16 12:39:53 +02:00
%package -n libprofanity%{sover}
Summary: Shared library for the %{name} console-based XMPP client
2025-08-16 12:39:53 +02:00
%description -n libprofanity%{sover}
Profanity is a console-based XMPP client written in C using ncurses, and
inspired by Irssi.
2025-08-16 12:39:53 +02:00
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.
2025-08-16 13:18:40 +02:00
%endif
%prep
2025-08-16 13:18:40 +02:00
%autosetup -p1 -n %{sname}-%{version}
sed -i -e "s/python-config/python3-config/g" configure
%build
2025-08-16 12:39:53 +02:00
%configure \
%if %{with notifications}
--enable-notifications \
2025-08-16 12:39:53 +02:00
%endif
%if %{with python}
PYTHON_VERSION=3 \
--enable-python-plugins \
2025-08-16 12:39:53 +02:00
%endif
--enable-c-plugins \
--enable-plugins \
2025-08-16 12:39:53 +02:00
%if %{with otr}
--enable-otr \
2025-08-16 12:39:53 +02:00
%endif
%if %{with gpg}
--enable-pgp \
2025-08-16 12:39:53 +02:00
%endif
%if %{with omemo}
--enable-omemo \
2025-08-16 12:39:53 +02:00
%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
2025-08-16 12:39:53 +02:00
%install
Accepting request 812969 from network - Update to 0.9.0: * Support for XEP-0308: Last Message Correction (#805) See `/correction` and `/correct`. * Code cleanup of UI and Message functions * Always send delivery receipts if they are enabled (#1268) * By default don't allow sending unencrypted files in an encrypted chat session (#1270) (@moppman and @jubalh) See `/omemo|otr|pgp sendfile`. * Add CI for OpenBSD via sr.ht (@wstrm) * OMEMO: switch to 12 byte IV for sending (#1272) * Allow UTF-8 symbols as OMEMO/OTR/PGP indicator char (#1264) * Make color of the trackbar configurable Use `main.trackbar` in themes. * Allow setting custom log file `profanity -f TEST` will log to `~/.local/share/profanity/logs/TEST.log`. * Send proper OS names for OpenBSD and NetBSD if `/os` is enabled * Fix plenty memory leaks (@pasis and @jubalh) * XEP-0084: Add option to open avatars directly (#1281) `/avatar odin@valhalla.org` became `/avatar get odin@valhalla.org` New is: `/executable avatar feh` `/avatar open odin@valhalla.org` xdg-open is used by default. So it will take your default application. * Enable popular features by default. For a nicer out of the box experience we enable: - allow message correction - sending receipts - enabling carbons - type/chat states * Add slashguard feature to prevent sending commands with typos Should protect against `q/uit` or ` /quit`. OBS-URL: https://build.opensuse.org/request/show/812969 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/profanity?expand=0&rev=18
2020-06-09 22:52:36 +00:00
%make_install
2025-08-16 12:39:53 +02:00
find %{buildroot} -type f -name "*.la" -delete -print
2025-08-16 13:18:40 +02:00
%if "%{flavor}" == "mini"
rm %{buildroot}%{_includedir}/profapi.h
rm %{buildroot}%{_libdir}/libprofanity.so*
%endif
2025-08-16 12:39:53 +02:00
%check
%if %{with tests}
%make_build check
%endif
2025-08-16 13:18:40 +02:00
# only standard flavor builds the plugin library
%if "%{flavor}" == ""
2025-08-16 12:39:53 +02:00
%ldconfig_scriptlets -n libprofanity%{sover}
2025-08-16 13:18:40 +02:00
%endif
Accepting request 720021 from network - Update to 0.7.0: * Fix plugin unload return code if just one plugin fails (#995) * Fix several typos * Fix some display indentation issues (#1073) * Fail plugin unload if the plugin doesnt exist * Improve encrypted message stub header by mentioning the encryption method * Fix GPG encryption (#997) * Redraw sceen after entry of PGP key (#906) * Fix support for case-sensitive account names (#725) * Fix /me display when highlighting user in MUCs (#950) * Fix `make dist` (0f0659a) * Fix use after free bug (#1044) * Fix segfault on connect with default account (#1046) * Implement OMEMO support (#1039, #658, #1070) * Add random string at the end of the default resource (#1053) * Fix handling of messages without ID in MUC (#1061) * Add library versioning to libprofanity (#973) * Add more customization: occupants indent (/occupants) (#690, #1072) * Add more customization: occupants header char (/occupants) (#690, #1074) * Add more customization: occupants wrap (/occupants) (#690, 125ca2f) * Add more customization: occupants char (/occupants) (#690, #1084) * Fix formatting for privileges on (a666f0d) * Fix usage of statusbar number in theme (#1078) * Fix Debian 32bit tests (#1091) * Fix unit tests (#1092) * Fix infinite loop on connection loss (#1103) * Don't clear saved account data in session_disconnect (#1106) * Cancel autoping timer on disconnect or connection loss (#1105) * Fix SIGABRT on connection loss (#1083) * Only print room history for new messages upon reconnect (#704, #1110) OBS-URL: https://build.opensuse.org/request/show/720021 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/profanity?expand=0&rev=13
2019-07-31 12:37:09 +00:00
2025-08-16 12:39:53 +02:00
%files
%license COPYING LICENSE.txt
%{_bindir}/profanity
%{_mandir}/man1/*1%{?ext_man}
%{_datadir}/profanity/
2025-08-16 13:18:40 +02:00
# only standard flavor builds the plugin library
%if "%{flavor}" == ""
2025-08-16 12:39:53 +02:00
%files -n libprofanity%{sover}
%license COPYING LICENSE.txt
%{_libdir}/libprofanity.so.%{sover}{,.*}
2025-08-16 12:39:53 +02:00
%files devel
%license COPYING LICENSE.txt
%{_includedir}/profapi.h
%{_libdir}/libprofanity.so
2025-08-16 13:18:40 +02:00
%endif
%changelog