forked from pool/libstrophe
fix gcc15 and other stuff #1
53
libstrophe-0.14.0-gcc15.patch
Normal file
53
libstrophe-0.14.0-gcc15.patch
Normal file
@@ -0,0 +1,53 @@
|
||||
From dfb3e868248d86fc0f5553dffbb6f7c367c3c383 Mon Sep 17 00:00:00 2001
|
||||
From: Steffen Jaeckel <s@jaeckel.eu>
|
||||
Date: Wed, 26 Mar 2025 14:14:19 +0100
|
||||
Subject: [PATCH] Use `void*` to store function pointer when compiled as C23.
|
||||
|
||||
[0] decided that `rettype (*foo)();` must now be interpreted as
|
||||
`rettype (*foo)(void);`. Luckily it also allows now to store function
|
||||
pointers in a `void*` (c.f. Ch. J.5.7).
|
||||
|
||||
[0]: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf
|
||||
|
||||
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
|
||||
---
|
||||
src/common.h | 7 ++++++-
|
||||
src/handler.c | 2 --
|
||||
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/common.h b/src/common.h
|
||||
index 75134bea..c387c0fe 100644
|
||||
--- a/src/common.h
|
||||
+++ b/src/common.h
|
||||
@@ -30,12 +30,17 @@
|
||||
#include "snprintf.h"
|
||||
|
||||
/** handlers **/
|
||||
+#if (__STDC_VERSION__ >= 202000L)
|
||||
+typedef void* xmpp_void_handler;
|
||||
+#else
|
||||
+typedef int (*xmpp_void_handler)();
|
||||
+#endif
|
||||
|
||||
typedef struct _xmpp_handlist_t xmpp_handlist_t;
|
||||
struct _xmpp_handlist_t {
|
||||
/* common members */
|
||||
int user_handler;
|
||||
- int (*handler)();
|
||||
+ xmpp_void_handler handler;
|
||||
void *userdata;
|
||||
int enabled; /* handlers are added disabled and enabled after the
|
||||
* handler chain is processed to prevent stanzas from
|
||||
diff --git a/src/handler.c b/src/handler.c
|
||||
index 1c9bf9f7..05772522 100644
|
||||
--- a/src/handler.c
|
||||
+++ b/src/handler.c
|
||||
@@ -25,8 +25,6 @@
|
||||
#include "common.h"
|
||||
#include "ostypes.h"
|
||||
|
||||
-typedef int (*xmpp_void_handler)();
|
||||
-
|
||||
/* Remove item from the list pointed by head, but don't free it.
|
||||
* There can be a situation when user's handler deletes another handler which
|
||||
* is the previous in the list. handler_fire_stanza() and handler_fire_timed()
|
7
libstrophe-0.14.0.tar.xz.asc
Normal file
7
libstrophe-0.14.0.tar.xz.asc
Normal file
@@ -0,0 +1,7 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iHUEABYKAB0WIQT4rcH5pop6/w4sieQ5Gl78LRcJ3gUCaCn3zAAKCRA5Gl78LRcJ
|
||||
3pmfAP9mWrzwKU/7hlkSWz5ALvGjCRmVQ5WRx7rh+CGpZEGHcwD/UmaXF3Ae38Zf
|
||||
L3hCJVz0fKMHBhtEhb3y2kPfRW0Wxws=
|
||||
=TmDi
|
||||
-----END PGP SIGNATURE-----
|
@@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Jul 21 22:14:40 UTC 2025 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||
|
||||
- fix gcc15 build, add libstrophe-0.14.0-gcc15.patch from upstream
|
||||
- add upstream signing key
|
||||
- do not bootstrap during build, and other spec file tweaks
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 13 14:15:02 UTC 2025 - Michael Vetter <mvetter@suse.com>
|
||||
|
||||
|
24
libstrophe.keyring
Normal file
24
libstrophe.keyring
Normal file
@@ -0,0 +1,24 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Comment: F8AD C1F9 A68A 7AFF 0E2C 89E4 391A 5EFC 2D17 09DE
|
||||
Comment: Steffen Jaeckel <jaeckel-floss@eyet-services.de>
|
||||
Comment: Steffen Jaeckel <jaeckel@eyet-services.de>
|
||||
|
||||
xjMEXnNywRYJKwYBBAHaRw8BAQdASY7Vabe7QB1ByrFRIBKTrxpWtNSM2TmcGjAm
|
||||
X8EvmyjNMFN0ZWZmZW4gSmFlY2tlbCA8amFlY2tlbC1mbG9zc0BleWV0LXNlcnZp
|
||||
Y2VzLmRlPsKWBBMWCAA+FiEE+K3B+aaKev8OLInkORpe/C0XCd4FAmJ5GtECGwMF
|
||||
CRLMAwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQORpe/C0XCd7HYAEAggyU
|
||||
SiPj5TsJ52hvgfwE5sR/kB1qbSlXAtKU1uf/QlQA/15B8qblbMiL/h4gKyDE0aTI
|
||||
NwkhtlJrkjeA+gYPtWgCzSpTdGVmZmVuIEphZWNrZWwgPGphZWNrZWxAZXlldC1z
|
||||
ZXJ2aWNlcy5kZT7CmQQTFggAQQIbAwUJEswDAAULCQgHAgYVCgkICwIEFgIDAQIe
|
||||
AQIXgBYhBPitwfmminr/DiyJ5DkaXvwtFwneBQJieRxKAhkBAAoJEDkaXvwtFwne
|
||||
kbcA/0KIFIq1U9qNK9c5cKBieRxKh0xWIjRjaREEiavZJIAnAP4ueGtNFe2h8EY7
|
||||
K1ensaT1ramPN+0kGl0cB0JeVIYUBsKWBBMWCAA+FiEE+K3B+aaKev8OLInkORpe
|
||||
/C0XCd4FAl5zcsECGwMFCRLMAwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ
|
||||
ORpe/C0XCd4Q2AEA3fqlF3/h0Mf+MYJlb0jdZ6HL4z+bc1tdnZDVcJdLoPEBAJCY
|
||||
U4EZHUUqM5OSqyxn9FCLuvvrRao0vDzAV8NL5AMKzjgEXnNywRIKKwYBBAGXVQEF
|
||||
AQEHQFQJeSRf4mNU9DW7RbCVNKwbqg74LaB9mhMZcCF/zGl+AwEIB8J+BBgWCAAm
|
||||
FiEE+K3B+aaKev8OLInkORpe/C0XCd4FAl5zcsECGwwFCRLMAwAACgkQORpe/C0X
|
||||
Cd58iAD/RMV3ZUaNmHaA2wH07bHwfrbrUcDvIkdwUehsRSCkM0IA/idXR2DHyo//
|
||||
4Ou0tft1M95h58RES5twGh5+N1Bj1swL
|
||||
=/PVc
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@@ -2,6 +2,7 @@
|
||||
# spec file for package libstrophe
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# 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
|
||||
@@ -16,75 +17,79 @@
|
||||
#
|
||||
|
||||
|
||||
%define c_lib libstrophe0
|
||||
%define sover 0
|
||||
Name: libstrophe
|
||||
Version: 0.14.0
|
||||
Release: 0
|
||||
Summary: A XMPP library for C
|
||||
License: GPL-3.0-or-later OR MIT
|
||||
Group: Development/Libraries/C and C++
|
||||
URL: http://strophe.im/libstrophe/
|
||||
URL: https://strophe.im/libstrophe/
|
||||
Source0: https://github.com/strophe/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libopenssl-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: make
|
||||
Source1: https://github.com/strophe/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz.asc
|
||||
# https://github.com/strophe/libstrophe/blob/0.14.0/README.markdown
|
||||
# "Releases are signed with the GPG key with ID F8ADC1F9A68A7AFF0E2C89E4391A5EFC2D1709DE"
|
||||
Source2: %{name}.keyring
|
||||
Patch0: libstrophe-0.14.0-gcc15.patch
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: pkgconfig(libcrypto)
|
||||
BuildRequires: pkgconfig(libssl)
|
||||
BuildRequires: pkgconfig(libxml-2.0) >= 2.7
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
|
||||
%description
|
||||
Strophe is a collection of libraries for speaking the XMPP protocol.
|
||||
|
||||
While most XMPP libraries and implementations are focused on chat-based applications,
|
||||
Strophe takes a grander view.
|
||||
While most XMPP libraries and implementations are focused on chat-based
|
||||
applications, Strophe takes a grander view.
|
||||
|
||||
It has been used to implement real-time games, notification systems, search engines,
|
||||
as well as traditional instant messaging.
|
||||
It has been used to implement real-time games, notification systems, search
|
||||
engines, as well as traditional instant messaging.
|
||||
|
||||
The implementations are production ready, well documented,
|
||||
easy to use, and easy to extend.
|
||||
The implementations are production ready, well documented, easy to use, and
|
||||
easy to extend.
|
||||
|
||||
%package -n libstrophe-devel
|
||||
%package devel
|
||||
Summary: Development files for libstrophe
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libstrophe0 = %{version}
|
||||
Requires: %{name}%{sover} = %{version}
|
||||
|
||||
%description -n libstrophe-devel
|
||||
%description devel
|
||||
Development files and headers for libstrophe
|
||||
|
||||
%package -n %{c_lib}
|
||||
%package -n %{name}%{sover}
|
||||
Summary: A XMPP library for C
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n %{c_lib}
|
||||
%description -n %{name}%{sover}
|
||||
The libstrophe library is a XMPP library written in C.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
./bootstrap.sh
|
||||
%configure --with-libxml2
|
||||
make %{?_smp_mflags}
|
||||
%configure \
|
||||
--with-libxml2 \
|
||||
--disable-static \
|
||||
%{nil}
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
rm %{buildroot}%{_libdir}/libstrophe.{a,la}
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
|
||||
%check
|
||||
make check
|
||||
%make_build check
|
||||
|
||||
%post -n libstrophe0 -p /sbin/ldconfig
|
||||
%postun -n libstrophe0 -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets -n %{name}%{sover}
|
||||
|
||||
%files -n libstrophe0
|
||||
%files -n %{name}%{sover}
|
||||
%license COPYING
|
||||
%doc ChangeLog README
|
||||
%{_libdir}/libstrophe.so.*
|
||||
%{_libdir}/libstrophe.so.%{sover}{,.*}
|
||||
|
||||
%files -n libstrophe-devel
|
||||
%files devel
|
||||
%license COPYING
|
||||
%{_libdir}/libstrophe.so
|
||||
%{_includedir}/strophe.h
|
||||
%{_libdir}/pkgconfig/libstrophe.pc
|
||||
|
Reference in New Issue
Block a user