From c479a29b18cd1c80f7848f6083985ed963cc1ff08eda7a0700657bd924191b8a Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Mon, 30 Dec 2024 02:19:08 +0000 Subject: [PATCH] build with openssl support OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libshout?expand=0&rev=28 --- .gitattributes | 23 +++ .gitignore | 1 + 0001-icy-include-stdlib-h-and-stdio-h.patch | 26 ++++ 0002-legacy-include-stdlib-h.patch | 25 +++ baselibs.conf | 1 + libshout-2.4.6.tar.gz | 3 + libshout.changes | 159 ++++++++++++++++++++ libshout.spec | 93 ++++++++++++ 8 files changed, 331 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-icy-include-stdlib-h-and-stdio-h.patch create mode 100644 0002-legacy-include-stdlib-h.patch create mode 100644 baselibs.conf create mode 100644 libshout-2.4.6.tar.gz create mode 100644 libshout.changes create mode 100644 libshout.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-icy-include-stdlib-h-and-stdio-h.patch b/0001-icy-include-stdlib-h-and-stdio-h.patch new file mode 100644 index 0000000..e2ba700 --- /dev/null +++ b/0001-icy-include-stdlib-h-and-stdio-h.patch @@ -0,0 +1,26 @@ +From 8ab2de318d55c9d0987ffae7d9b94b365af732c1 Mon Sep 17 00:00:00 2001 +From: Alexandre Janniaux +Date: Wed, 14 Sep 2022 16:29:22 +0200 +Subject: [PATCH 1/2] icy: include stdlib.h and stdio.h + +malloc, free, and snprintf had no valid previous declaration, making the +build fail with clang. +--- + src/icy.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/icy.c b/src/icy.c +index 8e83552..4de3c14 100644 +--- a/src/icy.c ++++ b/src/icy.c +@@ -24,6 +24,8 @@ + #endif + + #include ++#include /* for free() and malloc() */ ++#include /* for snprintf() */ + #include + + #include +-- +GitLab diff --git a/0002-legacy-include-stdlib-h.patch b/0002-legacy-include-stdlib-h.patch new file mode 100644 index 0000000..fd8b082 --- /dev/null +++ b/0002-legacy-include-stdlib-h.patch @@ -0,0 +1,25 @@ +From 600fa105a799986efcccddfedfdfd3e9a1988cd0 Mon Sep 17 00:00:00 2001 +From: Alexandre Janniaux +Date: Wed, 14 Sep 2022 16:30:03 +0200 +Subject: [PATCH 2/2] legacy: include stdlib.h + +free() had no previous declaration, making the build fail with clang. +--- + src/legacy.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/legacy.c b/src/legacy.c +index 3e1d3d7..e0ed961 100644 +--- a/src/legacy.c ++++ b/src/legacy.c +@@ -28,6 +28,8 @@ + #include "shout_private.h" + #include "util.h" + ++#include /* for free() */ ++ + int shout_set_format(shout_t *self, unsigned int format) + { + if (!self) +-- +GitLab diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..859a457 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libshout3 diff --git a/libshout-2.4.6.tar.gz b/libshout-2.4.6.tar.gz new file mode 100644 index 0000000..0c8eaef --- /dev/null +++ b/libshout-2.4.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:39cbd4f0efdfddc9755d88217e47f8f2d7108fa767f9d58a2ba26a16d8f7c910 +size 571153 diff --git a/libshout.changes b/libshout.changes new file mode 100644 index 0000000..1761b74 --- /dev/null +++ b/libshout.changes @@ -0,0 +1,159 @@ +------------------------------------------------------------------- +Wed Mar 6 09:10:38 UTC 2024 - Takashi Iwai + +- Fix build errors with gcc14 (bsc#1220975): + 0001-icy-include-stdlib-h-and-stdio-h.patch + 0002-legacy-include-stdlib-h.patch + +------------------------------------------------------------------- +Thu May 5 10:11:54 UTC 2022 - Christophe Giboudeaux + +- Update to 2.4.6 + * Fixed pkg-config file + * Made vorbis an optional codec + * Do not pass to small headers to libspeex + (see also the same mirror-patch in Icecast) + * Updated documentation, mostly in regard of making it clearer + which functions are now obsoleted + * General code cleanup + * Added compiler warnings about obsoleted functions and + ignored return values + * Replaced old shout_set_metadata() with new shout_set_metadata_utf8() + * Added support for plain text streaming + * Fixed shout_set_metadata*() sometimes returning SHOUTERR_RETRY + * Workaround old clients by emulating SHOUTERR_RETRY with + SHOUTERR_BUSY + * Remove our re-implementation of X509_check_host() + * Allow to disable building tools +- Spec cleanup + +------------------------------------------------------------------- +Sun Jan 17 23:31:06 UTC 2021 - Dirk Müller + +- update to 2.4.5: + * Improved shout.h for reading, and understanding. + * Marked dumpfile support as obsolete (as SHOUT_PROTOCOL_XAUDIOCAST already is). + * Added Support for setting the content language. + * Avoid the use of obsolete functions (#2317). + * Several small fixes for non-blocking mode (#2321, #2315). + * Corrected detection of libogg (mostly for windows targets). + * Now accept TLS mode "auto" when build without TLS support. + * Added new tool shout(1). + +------------------------------------------------------------------- +Fri Oct 9 19:39:02 UTC 2020 - Dirk Mueller + +- update to 2.4.4: + * Fixed handling of blocking/non-blocking mode + * Fixed ICY port increment + * Fixed reusing of handles + * Fixed error handling of Ogg sync layer + * Fixed passing of errors between connection and instance layer + (Without this fix, dead connections were not correctly + detected) + * Fixed and improved build scripts + +------------------------------------------------------------------- +Sun Sep 1 06:37:22 UTC 2019 - Jan Engelhardt + +- Update to release 2.4.3 + * Fixed building with OpenSSL 1.1.0. + * Added support for PUT. + * Added support for WebM and Matroska with full timing. + +------------------------------------------------------------------- +Wed Feb 7 21:54:52 UTC 2018 - jengelh@inai.de + +- Fix typographic tidbits in description. Compact filelist. +- Drop old Obsoletes. + +------------------------------------------------------------------- +Wed Dec 23 16:46:57 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.4.1 +* Support for TLS (HTTPS) (RFC2817 and RFC2818), + mode can be autodetected +* Support for audio-only WebM +* Improved protocol level metadata support. + (Some API calls got replaced and marked as obsolete) +* Improved HTTP protocol: Set Host:-header (vhosting support); + and check for server capabilities +* Added basic support for the RoarAudio protocol +- Drop libshout-2.2.2-pkgconfig-bloat.patch (no longer needed) +- Use smp_mflags for building; drop unnecessary %clean; + abolish %__tool indirections. + +------------------------------------------------------------------- +Tue Jan 22 21:11:41 UTC 2013 - jw@suse.com + +- update to 2.3.1 + * removed upstreamed libshout-2.2.2-missing-lib.patch + +------------------------------------------------------------------- +Sun Nov 20 06:46:56 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Sun May 1 17:35:27 UTC 2011 - toddrme2178@gmail.com + +- Added 32bit compatibility libraries +- Removed self-obsoletes (fix for RPMLINT warning) + +------------------------------------------------------------------- +Wed Dec 26 03:08:19 CET 2007 - crrodriguez@suse.de + +- previous change introduced a undefined reference to `speex_packet_to_header' + library wants to use speex but does not link to it correctly + (libshout-2.2.2-missing-lib.patch) + + +------------------------------------------------------------------- +Sun Dec 16 23:47:12 CET 2007 - crrodriguez@suse.de + +- support speex +- fix library packaging policy change +- cleanup unneeded dependencies and pkgconfig script + +------------------------------------------------------------------- +Mon Apr 16 15:00:09 CEST 2007 - tiwai@suse.de + +- follow library packaging policy + * move docs to devel package + * remove static library +- added missing ldconfig to post and postun. + +------------------------------------------------------------------- +Thu Oct 12 18:49:57 CEST 2006 - tiwai@suse.de + +- updated to version 2.2.2: + * Handle Oggs that don't begin with zero granulepos + * Theora memory leak fix + * Non-blocking shout_open was failing unnecessarily in the + connect_pending state. + * Cast some size_ts to ints for display purposes. + * Fix error handling while opening a connection, so that shout_open + can be retried. + * pkgconfig fix for header installation + * Fix a memory leak in HTTP authentication + +------------------------------------------------------------------- +Thu Apr 27 04:06:51 CEST 2006 - mrueckert@suse.de + +- added libtheora-devel libvorbis-devel to the requires of the + devel package. + +------------------------------------------------------------------- +Wed Jan 25 21:37:44 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Wed Jan 11 19:00:14 CET 2006 - tiwai@suse.de + +- updated to version 2.2. + +------------------------------------------------------------------- +Tue Jun 14 13:08:49 CEST 2005 - tiwai@suse.de + +- initial version: 2.1 diff --git a/libshout.spec b/libshout.spec new file mode 100644 index 0000000..5f462e0 --- /dev/null +++ b/libshout.spec @@ -0,0 +1,93 @@ +# +# spec file for package libshout +# +# Copyright (c) 2024 SUSE LLC +# +# 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/ +# + + +Name: libshout +Version: 2.4.6 +Release: 0 +Summary: Library for communcating with Icecast servers +License: LGPL-2.1-or-later +Group: Productivity/Multimedia/Sound/Utilities +URL: https://icecast.org/ +#Git-Clone: https://gitlab.xiph.org/xiph/icecast-libshout/ +Source: https://downloads.xiph.org/releases/libshout/%name-%version.tar.gz +Source1: baselibs.conf +Patch1: 0001-icy-include-stdlib-h-and-stdio-h.patch +Patch2: 0002-legacy-include-stdlib-h.patch +BuildRequires: libtool +BuildRequires: pkgconfig(speex) +BuildRequires: pkgconfig(theora) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(openssl) + +%description +libshout is a library for communicating with and sending data to an +Icecast server. It handles the socket connection, the timing of the +data, and prevents bad data from getting to the Icecast server. + +%package -n libshout3 +Summary: Library for communicating with Icecast servers +Group: System/Libraries + +%description -n libshout3 +libshout is a library for communicating with and sending data to an +Icecast server. It handles the socket connection, the timing of the +data, and prevents bad data from getting to the Icecast server. + +%package devel +Summary: Development files for libshout, an Icecast communication library +Group: Development/Libraries/C and C++ +Requires: glibc-devel +Requires: libshout3 = %version + +%description devel +This package contains the include files needed to develop +applications that want to use libshout. + +%prep +%autosetup -p1 + +%build +autoreconf --force --install +%configure --disable-static --with-openssl +%make_build + +%install +%make_install +# remove unneeded files +find %buildroot -type f -name "*.la" -delete -print +rm -r "%buildroot/%_datadir/doc/%name" +# remove (possibly) unused ckport definitions (use libabigail instead?) +rm -R "%buildroot/%_libdir/ckport" + +%post -n libshout3 -p /sbin/ldconfig +%postun -n libshout3 -p /sbin/ldconfig + +%files -n libshout3 +%_libdir/*.so.3* + +%files devel +%doc README doc/*.xml examples/*.c +%license COPYING +%_bindir/shout +%_libdir/*.so +%_includedir/shout +%_mandir/man1/shout.1%{?ext_man} +%_datadir/aclocal/*.m4 +%_libdir/pkgconfig/*.pc + +%changelog