Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package profanity for openSUSE:Factory 
checked in at 2025-08-20 13:25:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/profanity (Old)
 and      /work/SRC/openSUSE:Factory/.profanity.new.29662 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "profanity"

Wed Aug 20 13:25:40 2025 rev:39 rq:1300328 version:0.15.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/profanity/profanity.changes      2025-07-25 
17:05:10.384883703 +0200
+++ /work/SRC/openSUSE:Factory/.profanity.new.29662/profanity.changes   
2025-08-20 13:26:28.523299255 +0200
@@ -1,0 +2,20 @@
+Tue Aug 19 15:55:27 UTC 2025 - Michael Vetter <mvet...@suse.com>
+
+- Remove the URL part from the patches.
+  For some reason GH seems to change the patches even though
+  we used them from commits on master, resulting in OBS to
+  decline the submission due to the differences
+
+-------------------------------------------------------------------
+Sat Aug 16 10:38:25 UTC 2025 - Andreas Stieger <andreas.stie...@gmx.de>
+
+- rework spec file to wrap bcond around optional dependencies. This
+  allows a clean generation of the -mini headless build boo#1246851
+- split the library and -devel packages
+- enable xscreensaver awareness, use gtk3
+- run some tests
+- add profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch
+  to fix tests with gcc15
+- package the license files
+
+-------------------------------------------------------------------

Old:
----
  profanity-rpmlintrc

New:
----
  _multibuild
  profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch

----------(New B)----------
  New:- run some tests
- add profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch
  to fix tests with gcc15
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ profanity.spec ++++++
--- /var/tmp/diff_new_pack.UPmwUY/_old  2025-08-20 13:26:29.067322126 +0200
+++ /var/tmp/diff_new_pack.UPmwUY/_new  2025-08-20 13:26:29.067322126 +0200
@@ -2,6 +2,7 @@
 # spec file for package profanity
 #
 # Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 Andreas Stieger <andreas.stie...@gmx.de>
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,7 +17,37 @@
 #
 
 
-Name:           profanity
+%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.0
 Release:        0
 Summary:        Console-based XMPP client
@@ -24,128 +55,165 @@
 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
-Source1:        profanity-rpmlintrc
 # bsc#1246850: Fix build with gpgme >= 2.0.0. See gh/profanity#2048
-Patch0:         
https://github.com/profanity-im/profanity/commit/606eaac31dfb97df16b0d2ba9466a3a67bec122a.patch#/profanity-0.15.0-gpgme.patch
-BuildRequires:  glib2-devel >= 2.62
-BuildRequires:  gtk2-devel
-BuildRequires:  libcurl-devel
-BuildRequires:  libexpat-devel
-BuildRequires:  libgcrypt-devel >= 1.7.0
-BuildRequires:  libgpgme-devel
-BuildRequires:  libnotify-devel
-BuildRequires:  libotr-devel
-BuildRequires:  libsignal-protocol-c-devel >= 2.3.2
-BuildRequires:  libstrophe-devel >= 0.12.2
-BuildRequires:  libuuid-devel
-BuildRequires:  ncurses-devel
+Patch0:         profanity-0.15.0-gpgme.patch
+# fixes tests build with ggc15. See gh/profanity#2055
+Patch1:         profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch
+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
-BuildRequires:  readline-devel
-BuildRequires:  sqlite3-devel >= 3.22.0
-Requires:       libstrophe0 >= 0.12.3
-Requires:       profanity-binary = %{version}
-Suggests:       profanity-standard
+%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.
-
-%package mini
-Summary:        Console-based XMPP client
-Group:          Productivity/Networking/Instant Messenger
-Requires:       profanity = %{version}
-Provides:       profanity-binary = %{version}-%{release}
-Conflicts:      profanity-binary
-Removepathpostfixes: .mini
-
-%description mini
-Profanity is a console-based XMPP client written in C using ncurses,
-and inspired by Irssi.
+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
 
-%package standard
-Summary:        Console-based XMPP client
-Group:          Productivity/Networking/Instant Messenger
-Requires:       profanity = %{version}
-Provides:       profanity-binary = %{version}-%{release}
-Conflicts:      profanity-binary
-Removepathpostfixes: .standard
+# 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.
 
-%description standard
-Profanity is a-console based XMPP client written in C using ncurses,
-and inspired by Irssi.
-
-This package holds the standard version.
-Including:
- * Desktop notifications (OSD)
- * Tray icon
+This package contains the files needed to build with libprofanity.
+%endif
 
 %prep
-%autosetup -p1
+%autosetup -p1 -n %{sname}-%{version}
 sed -i -e "s/python-config/python3-config/g" configure
 
 %build
-%configure PYTHON_VERSION=3 \
+%configure \
+%if %{with notifications}
        --enable-notifications \
-       --with-themes \
-       --enable-otr \
-       --enable-pgp \
-       --enable-omemo \
+%endif
+%if %{with python}
+       PYTHON_VERSION=3 \
        --enable-python-plugins \
+%endif
        --enable-c-plugins \
        --enable-plugins \
-       --enable-icons-and-clipboard
-
-export CFLAGS="%{optflags} -fcommon"
-%make_build
-
-%install
-%make_install
-rm %{buildroot}%{_libdir}/libprofanity.la
-
-mv %{buildroot}%{_bindir}/profanity %{buildroot}%{_bindir}/profanity.standard
-
-make clean
-
-%configure PYTHON_VERSION=3 \
-       --disable-notifications \
-       --with-themes \
+%if %{with otr}
        --enable-otr \
+%endif
+%if %{with gpg}
        --enable-pgp \
+%endif
+%if %{with omemo}
        --enable-omemo \
-       --enable-python-plugins \
-       --enable-c-plugins \
-       --enable-plugins \
-    --disable-icons-and-clipboard
+%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
 
-export CFLAGS="%{optflags} -fcommon"
-make %{?_smp_mflags}
+%install
 %make_install
-rm %{buildroot}%{_libdir}/libprofanity.la
-
-mv %{buildroot}%{_bindir}/profanity %{buildroot}%{_bindir}/profanity.mini
+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
-%{_mandir}/man1/profanity.1%{?ext_man}
-%{_mandir}/man1/profanity-*.1%{?ext_man}
-%dir %{_datadir}/profanity/
-%dir %{_datadir}/profanity/themes/
-%dir %{_datadir}/profanity/icons/
-%{_datadir}/profanity/themes/*
-%{_datadir}/profanity/icons/*
-# for now we will have them here
-%{_libdir}/libprofanity.so*
+%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
-
-%files mini
-%{_bindir}/profanity.mini
-
-%files standard
-%{_bindir}/profanity.standard
-
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
+%{_libdir}/libprofanity.so
+%endif
 

++++++ _multibuild ++++++
<multibuild>
  <flavor>mini</flavor>
</multibuild>

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.UPmwUY/_old  2025-08-20 13:26:29.119324312 +0200
+++ /var/tmp/diff_new_pack.UPmwUY/_new  2025-08-20 13:26:29.123324480 +0200
@@ -1,6 +1,6 @@
-mtime: 1753254306
-commit: eb166bb46892870c298f6d914fbdb5a894a3f2da76a7b7687a2a25004f2c7696
+mtime: 1755618983
+commit: e234792cba84d133146c488f11e0093e4f1d34749da807313fb04cb344a5f66c
 url: https://src.opensuse.org/xmpp/profanity.git
-revision: eb166bb46892870c298f6d914fbdb5a894a3f2da76a7b7687a2a25004f2c7696
+revision: e234792cba84d133146c488f11e0093e4f1d34749da807313fb04cb344a5f66c
 projectscmsync: https://src.opensuse.org/xmpp/_ObsPrj.git
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-08-19 17:56:40.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ profanity-0.15.0-Fix-tests-with-gcc15-uintptr_t.patch ++++++
>From 9f2abc75ad27d3dcc951b8fc5aa922bdbe76f287 Mon Sep 17 00:00:00 2001
From: Andreas Stieger <andreas.stie...@gmx.de>
Date: Mon, 28 Jul 2025 18:38:26 +0200
Subject: [PATCH] Fix tests with gcc15 (uintptr_t)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

fixes: error: ‘uintptr_t’ undeclared, defined in header ‘<stdint.h>
---
 tests/unittests/config/stub_accounts.c | 1 +
 tests/unittests/log/stub_log.c         | 1 +
 tests/unittests/test_autocomplete.c    | 1 +
 tests/unittests/test_chat_session.c    | 1 +
 tests/unittests/test_common.c          | 1 +
 tests/unittests/test_jid.c             | 1 +
 tests/unittests/test_parser.c          | 1 +
 tests/unittests/test_preferences.c     | 1 +
 tests/unittests/test_roster_list.c     | 1 +
 9 files changed, 9 insertions(+)

diff --git a/tests/unittests/config/stub_accounts.c 
b/tests/unittests/config/stub_accounts.c
index 360e564312..981d018013 100644
--- a/tests/unittests/config/stub_accounts.c
+++ b/tests/unittests/config/stub_accounts.c
@@ -1,5 +1,6 @@
 #include <stdarg.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <setjmp.h>
 #include <cmocka.h>
 
diff --git a/tests/unittests/log/stub_log.c b/tests/unittests/log/stub_log.c
index 23ab5cdc88..f0f67e4781 100644
--- a/tests/unittests/log/stub_log.c
+++ b/tests/unittests/log/stub_log.c
@@ -20,6 +20,7 @@
  *
  */
 
+#include <stdint.h>
 #include <glib.h>
 #include <setjmp.h>
 #include <cmocka.h>
diff --git a/tests/unittests/test_autocomplete.c 
b/tests/unittests/test_autocomplete.c
index 599cf39003..0e30735137 100644
--- a/tests/unittests/test_autocomplete.c
+++ b/tests/unittests/test_autocomplete.c
@@ -1,6 +1,7 @@
 #include <glib.h>
 #include <stdarg.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <setjmp.h>
 #include <cmocka.h>
 #include <stdlib.h>
diff --git a/tests/unittests/test_chat_session.c 
b/tests/unittests/test_chat_session.c
index 26845dbcbf..2de18c0866 100644
--- a/tests/unittests/test_chat_session.c
+++ b/tests/unittests/test_chat_session.c
@@ -4,6 +4,7 @@
 #include <setjmp.h>
 #include <cmocka.h>
 #include <stdlib.h>
+#include <stdint.h>
 
 #include "xmpp/chat_session.h"
 
diff --git a/tests/unittests/test_common.c b/tests/unittests/test_common.c
index f381947b8c..e340fcf378 100644
--- a/tests/unittests/test_common.c
+++ b/tests/unittests/test_common.c
@@ -5,6 +5,7 @@
 #include <setjmp.h>
 #include <cmocka.h>
 #include <stdlib.h>
+#include <stdint.h>
 
 void
 replace_one_substr(void** state)
diff --git a/tests/unittests/test_jid.c b/tests/unittests/test_jid.c
index 645a7b0a5e..77886e4a42 100644
--- a/tests/unittests/test_jid.c
+++ b/tests/unittests/test_jid.c
@@ -1,5 +1,6 @@
 #include <stdarg.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <setjmp.h>
 #include <cmocka.h>
 #include <stdlib.h>
diff --git a/tests/unittests/test_parser.c b/tests/unittests/test_parser.c
index 3d0d3fc6e6..8019097da0 100644
--- a/tests/unittests/test_parser.c
+++ b/tests/unittests/test_parser.c
@@ -1,5 +1,6 @@
 #include <stdarg.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <setjmp.h>
 #include <cmocka.h>
 #include <stdlib.h>
diff --git a/tests/unittests/test_preferences.c 
b/tests/unittests/test_preferences.c
index 7868791d41..1eb2ba3643 100644
--- a/tests/unittests/test_preferences.c
+++ b/tests/unittests/test_preferences.c
@@ -1,5 +1,6 @@
 #include <stdarg.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <setjmp.h>
 #include <cmocka.h>
 #include <stdlib.h>
diff --git a/tests/unittests/test_roster_list.c 
b/tests/unittests/test_roster_list.c
index fc10d1a740..185a9c7282 100644
--- a/tests/unittests/test_roster_list.c
+++ b/tests/unittests/test_roster_list.c
@@ -5,6 +5,7 @@
 #include <setjmp.h>
 #include <cmocka.h>
 #include <stdlib.h>
+#include <stdint.h>
 
 #include "xmpp/contact.h"
 #include "xmpp/roster_list.h"

Reply via email to