Sync from SUSE:SLFO:Main libgsm revision 011bbce2cfa7a3266d3324f315ac6023

This commit is contained in:
Adrian Schröter 2024-05-03 15:01:37 +02:00
commit d92bc559bb
8 changed files with 412 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

4
baselibs.conf Normal file
View File

@ -0,0 +1,4 @@
libgsm1
libgsm-devel
requires -libgsm-<targettype>
requires "libgsm1-<targettype> = <version>"

BIN
gsm-1.0.22.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

76
libgsm-1.0.20.patch Normal file
View File

@ -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,

15
libgsm-include.patch Normal file
View File

@ -0,0 +1,15 @@
Index: src/toast.c
===================================================================
--- src/toast.c.orig
+++ src/toast.c
@@ -8,6 +8,10 @@
#include "toast.h"
+#include <stdio.h>
+#include <getopt.h>
+#include <sys/stat.h>
+
/* toast -- lossy sound compression using the gsm library.
*/

22
libgsm-paths.patch Normal file
View File

@ -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

141
libgsm.changes Normal file
View File

@ -0,0 +1,141 @@
-------------------------------------------------------------------
Sun Aug 28 22:32:54 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- 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 <info@paolostivanin.com>
- 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 <dmueller@suse.com>
- 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 <tchvatal@suse.com>
- 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.

128
libgsm.spec Normal file
View File

@ -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