From d92bc559bb74f5a2a8f3a1c98a465e66537478319763acce32fcd0075d227814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 15:01:37 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main libgsm revision 011bbce2cfa7a3266d3324f315ac6023 --- .gitattributes | 23 +++++++ baselibs.conf | 4 ++ gsm-1.0.22.tar.gz | 3 + libgsm-1.0.20.patch | 76 +++++++++++++++++++++++ libgsm-include.patch | 15 +++++ libgsm-paths.patch | 22 +++++++ libgsm.changes | 141 +++++++++++++++++++++++++++++++++++++++++++ libgsm.spec | 128 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 412 insertions(+) create mode 100644 .gitattributes create mode 100644 baselibs.conf create mode 100644 gsm-1.0.22.tar.gz create mode 100644 libgsm-1.0.20.patch create mode 100644 libgsm-include.patch create mode 100644 libgsm-paths.patch create mode 100644 libgsm.changes create mode 100644 libgsm.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/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..c5fc8f8 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libgsm1 +libgsm-devel + requires -libgsm- + requires "libgsm1- = " diff --git a/gsm-1.0.22.tar.gz b/gsm-1.0.22.tar.gz new file mode 100644 index 0000000..def96bf --- /dev/null +++ b/gsm-1.0.22.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f0072e91f6bb85a878b2f6dbf4a0b7c850c4deb8049d554c65340b3bf69df0ac +size 66583 diff --git a/libgsm-1.0.20.patch b/libgsm-1.0.20.patch new file mode 100644 index 0000000..32d7e0d --- /dev/null +++ b/libgsm-1.0.20.patch @@ -0,0 +1,76 @@ +Index: gsm-1.0-pl20/Makefile +=================================================================== +--- gsm-1.0-pl20.orig/Makefile ++++ gsm-1.0-pl20/Makefile +@@ -99,7 +99,7 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT + # Other tools + + SHELL = /bin/sh +-LN = ln ++LN = ln -s + BASENAME = basename + AR = ar + ARFLAGS = cr +@@ -143,6 +143,7 @@ LFLAGS = $(LDFLAGS) $(LDINC) + # Targets + + LIBGSM = $(LIB)/libgsm.a ++LIBGSMSO= $(LIB)/libgsm.so + + TOAST = $(BIN)/toast + UNTOAST = $(BIN)/untoast +@@ -282,7 +283,7 @@ TOAST_INSTALL_TARGETS = \ + + # Target rules + +-all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST) ++all: $(LIBGSM) $(LIBGSMSO) $(TOAST) $(TCAT) $(UNTOAST) + @-echo $(ROOT): Done. + + tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result +@@ -302,6 +303,11 @@ install: toastinstall gsminstall + + # The basic API: libgsm + ++$(LIBGSMSO): $(LIB) $(GSM_OBJECTS) ++ $(LD) $(LDFLAGS) -o $@.1.0.18 -shared -Xlinker -soname -Xlinker libgsm.so.1 $(GSM_OBJECTS) -lc ++ ln -fs libgsm.so.1.0.18 lib/libgsm.so.1 ++ ln -fs libgsm.so.1.0.18 lib/libgsm.so ++ + $(LIBGSM): $(LIB) $(GSM_OBJECTS) + -rm $(RMFLAGS) $(LIBGSM) + $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS) +@@ -311,15 +317,15 @@ $(LIBGSM): $(LIB) $(GSM_OBJECTS) + # Toast, Untoast and Tcat -- the compress-like frontends to gsm. + + $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM) +- $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB) ++ $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSMSO) $(LDLIB) + + $(UNTOAST): $(BIN) $(TOAST) + -rm $(RMFLAGS) $(UNTOAST) +- $(LN) $(TOAST) $(UNTOAST) ++ $(LN) toast $(UNTOAST) + + $(TCAT): $(BIN) $(TOAST) + -rm $(RMFLAGS) $(TCAT) +- $(LN) $(TOAST) $(TCAT) ++ $(LN) toast $(TCAT) + + + # The local bin and lib directories +@@ -428,9 +434,11 @@ semi-clean: + -print | xargs rm $(RMFLAGS) + + clean: semi-clean +- -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ +- $(TOAST) $(TCAT) $(UNTOAST) \ +- $(ROOT)/gsm-1.0.tar.gz ++ -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \ ++ $(LIBGSMSO) $(LIB)/libgsm.so.1.0.18 \ ++ $(LIB)/libgsm.so.1 \ ++ $(TOAST) $(TCAT) $(UNTOAST) \ ++ $(ROOT)/gsm-1.0.tar.gz + + + # Two tools that helped me generate gsm_encode.c and gsm_decode.c, diff --git a/libgsm-include.patch b/libgsm-include.patch new file mode 100644 index 0000000..2914d14 --- /dev/null +++ b/libgsm-include.patch @@ -0,0 +1,15 @@ +Index: src/toast.c +=================================================================== +--- src/toast.c.orig ++++ src/toast.c +@@ -8,6 +8,10 @@ + + #include "toast.h" + ++#include ++#include ++#include ++ + /* toast -- lossy sound compression using the gsm library. + */ + diff --git a/libgsm-paths.patch b/libgsm-paths.patch new file mode 100644 index 0000000..207ed03 --- /dev/null +++ b/libgsm-paths.patch @@ -0,0 +1,22 @@ +--- Makefile ++++ Makefile +@@ -80,8 +80,8 @@ + + GSM_INSTALL_ROOT = $(INSTALL_ROOT) + GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib +-GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc +-GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3 ++GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include/gsm ++GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/share/man/man3 + + + # Where do you want to install the toast binaries and their manpage? +@@ -91,7 +91,7 @@ + + TOAST_INSTALL_ROOT = $(INSTALL_ROOT) + TOAST_INSTALL_BIN = $(TOAST_INSTALL_ROOT)/bin +-TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/man/man1 ++TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT)/share/man/man1 + + # Other tools + diff --git a/libgsm.changes b/libgsm.changes new file mode 100644 index 0000000..4bca7d0 --- /dev/null +++ b/libgsm.changes @@ -0,0 +1,141 @@ +------------------------------------------------------------------- +Sun Aug 28 22:32:54 UTC 2022 - Jan Engelhardt + +- Update to release 1.0.22 + * Build system updates only +- Move documentation out of libgsm1, no one reads it if it's + implicitly installed for something else. + +------------------------------------------------------------------- +Tue Jul 26 09:07:00 UTC 2022 - Paolo Stivanin + +- Update to 1.0.20: + * Use $(RMFLAGS) with the rms in the Makefile; add -f to $(RMFLAGS) to + avoid spurious error messages during build. +- Rebase and rename libgsm-1.0.20.patch from libgsm-1.0.13.patch. +- Rebase libgsm-include.patch. + +------------------------------------------------------------------- +Thu Apr 29 07:40:46 UTC 2021 - Dirk Müller + +- update to 1.0.19: + * Make it easier to include gsm.h from C++ by wrapping it with macros. + Throw a #define _POSIX_C_SOURCE 200809L into toast.h to make it + possible for Linux glibc to just work. + * Switch from compress/.Z to gzip/.gz + +------------------------------------------------------------------- +Wed Aug 14 08:41:11 UTC 2019 - Tomáš Chvátal + +- Small cleanups with spec-cleaner + +------------------------------------------------------------------- +Sat Feb 23 20:06:39 UTC 2019 - bjorn.lie@gmail.com + +- Update to version 1.0.18 + * Remove the MacOS "quarantine" files that I didn't know I'd + shipped. + * Remove some trailing spaces. + * Bump up the patchlevel in inc/gsm.h (I'd forgotten that in + release 17.) +- Changes from version 1.0.17 + * New email addresses in the README. + * Avoid left-shifting signed integers. + * Don't print longwords using %d or %ld, cast them to (long) + first. + * Don't compare longwords as longs in addtest, we only care for + the lower 32 bits. (The math works, but the test failed). +- Changes from version 1.0.16 + * New email addresses in the manual pages (patch 16). + * Removed a stray .orig file (in patch 15). +- Rebase libgsm-1.0.13.patch. +- Drop libgsm-strict-aliasing.patch: Applied upstream. +- Drop ancient Obsoletes/Provides. + +------------------------------------------------------------------- +Sat Nov 7 09:23:43 UTC 2015 - jengelh@inai.de + +- Make description more concise. SPARCstations are no longer a + meaningful metric. + +------------------------------------------------------------------- +Sat Oct 10 14:06:43 UTC 2015 - p.drouand@gmail.com + +- Update to version 1.0.14 + * No changelog available +- Update libgsm-1.0.13.patch +- Use download Url as source +- Remove depreciated AUTHORS and clean sections + +------------------------------------------------------------------- +Tue Aug 20 07:40:53 UTC 2013 - mardnh@gmx.de + +- fix URL (see http://www.quut.com/gsm/) + +------------------------------------------------------------------- +Mon Aug 20 12:07:05 UTC 2012 - cfarrell@suse.com + +- license update: ISC + #License is more akin to ISC (see http://www.spdx.org/licenses/ISC) than + to BSD-3-Clause + +------------------------------------------------------------------- +Fri Sep 23 17:37:01 CEST 2011 - meissner@suse.de + +- remove libgsm-32bit from requires + +------------------------------------------------------------------- +Fri Sep 23 10:25:34 CEST 2011 - meissner@suse.de + +- add 32bit development headers for 32bit Wine on 64bit builds + +------------------------------------------------------------------- +Mon Feb 1 11:33:27 UTC 2010 - jengelh@medozas.de + +- package baselibs.conf + +------------------------------------------------------------------- +Mon Aug 10 14:14:50 CEST 2009 - meissner@suse.de + +- added baselibs.conf, libgsm is now used by wine + +------------------------------------------------------------------- +Thu Aug 6 16:55:16 CEST 2009 - sbrabec@suse.cz + +- Updated to version 1.0.13: + * cleaner wording of copyright + +------------------------------------------------------------------- +Sat Apr 4 18:15:44 CEST 2009 - crrodriguez@suse.de + +- remove static libraries + +------------------------------------------------------------------- +Fri Feb 22 14:38:58 CET 2008 - sbrabec@suse.cz + +- Added Provides, Obsoletes and split-provides for old names. + +------------------------------------------------------------------- +Mon Jan 28 13:38:37 CET 2008 - sbrabec@suse.cz + +- Updated to version 1.0.12: + * removed modifiable static storage that made the library + non-reentrant. + * fix WAV49 implode move source archive location +- Split package according to shared library packaging policy. + +------------------------------------------------------------------- +Tue Aug 8 15:22:05 CEST 2006 - sbrabec@suse.cz + +- Compile with WAV-style framing support. + +------------------------------------------------------------------- +Wed Jan 25 21:37:28 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 9 15:43:30 CET 2006 - sbrabec@suse.cz + +- New SuSE package, version 1.0.10. + diff --git a/libgsm.spec b/libgsm.spec new file mode 100644 index 0000000..9042658 --- /dev/null +++ b/libgsm.spec @@ -0,0 +1,128 @@ +# +# spec file for package libgsm +# +# Copyright (c) 2022 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/ +# + + +%define _name gsm +%define _version 1.0-pl22 +Name: libgsm +Version: 1.0.22 +Release: 0 +Summary: GSM 06.10 Lossy Speech Compressor Library and Utilities +License: ISC +Group: Productivity/Multimedia/Sound/Editors and Convertors +URL: http://www.quut.com/gsm/ +Source: http://www.quut.com/gsm/%{_name}-%{version}.tar.gz +Source2: baselibs.conf +# This is a Debian patch file with debian chunks removed. +Patch0: %{name}-1.0.20.patch +Patch1: libgsm-paths.patch +Patch2: libgsm-include.patch + +%description +libgsm implements the European GSM 06.10 provisional standard for +full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP +coding at 13 kbit/s. GSM 06.10 compresses frames of 160 13-bit +samples (8 kHz sampling rate) into 260 bits. + +%package -n libgsm1 +Summary: GSM 06.10 Lossy Speech Compressor Library and Utilities +Group: System/Libraries + +%description -n libgsm1 +Contains the library for a GSM speech compressor. + +libgsm implements the European GSM 06.10 provisional standard for +full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP +(residual pulse excitation/long term prediction) coding at 13 kbit/s. +GSM 06.10 compresses frames of 160 13-bit samples (8 kHz sampling +rate) into 260 bits. + +%package utils +Summary: GSM 06.10 Lossy Speech Compressor Library and Utilities +Group: Productivity/Multimedia/Sound/Editors and Convertors + +%description utils +Contains binaries for a GSM speech compressor, verified against the +ETSI standard test patterns. + +libgsm implements the European GSM 06.10 provisional standard for +full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP +(residual pulse excitation/long term prediction) coding at 13 kbit/s. +GSM 06.10 compresses frames of 160 13-bit samples (8 kHz sampling +rate) into 260 bits. + +The front-end is modeled after the historic compress(1) utility. + +%package devel +Summary: GSM 06.10 Lossy Speech Compressor Library and Utilities +Group: Development/Libraries/C and C++ +Requires: libgsm1 = %{version}-%{release} + +%description devel +Contains the development kit for the libgsm speech compressor. + +libgsm implements the European GSM 06.10 provisional standard for +full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP +coding at 13 kbit/s. GSM 06.10 compresses frames of 160 13-bit +samples (8 kHz sampling rate) into 260 bits. + +This implementation turns frames of 160 16-bit linear samples into +33-byte frames (1650 bytes/s) and has been verified against the ETSI +standard test patterns. + +%prep +%setup -q -n %{_name}-%{_version} +%patch0 -p1 +%patch1 +%patch2 + +%build +make -j1 CCFLAGS="-c %{optflags} -D_POSIX_SOURCE -D_BSD_SOURCE -DNeedFunctionPrototypes=1" lib/libgsm.a +cp lib/libgsm.a lib/libgsm.a.save +make -j1 clean +make -j1 CCFLAGS="-c %{optflags} -D_POSIX_SOURCE -D_BSD_SOURCE -DNeedFunctionPrototypes=1 -fPIC" +cp lib/libgsm.a.save lib/libgsm.a +touch lib/libgsm.a + +%install +mkdir -p %{buildroot}%{_prefix}/{include/gsm,%{_lib},bin,share/man/man{1,3}} +make INSTALL_ROOT=%{buildroot}%{_prefix} GSM_INSTALL_LIB=%{buildroot}%{_libdir} install +cp -d lib/libgsm.so* %{buildroot}%{_libdir} +( cd %{buildroot}%{_libdir} ; ln -sf libgsm.so.1 libgsm.so ) +cp inc/{private.h,proto.h,unproto.h} %{buildroot}%{_includedir}/gsm/ +rm -f %{buildroot}%{_libdir}/*.a +ln -fsv toast %{buildroot}/%{_bindir}/untoast +ln -fsv toast %{buildroot}/%{_bindir}/tcat + +%post -n libgsm1 -p /sbin/ldconfig +%postun -n libgsm1 -p /sbin/ldconfig + +%files utils +%{_bindir}/* +%{_mandir}/man1/*.* + +%files -n libgsm1 +%license COPYRIGHT +%{_libdir}/*.so.* + +%files devel +%doc ChangeLog MACHINES README +%{_libdir}/*.so +%{_mandir}/man3/*.* +%{_includedir}/gsm + +%changelog