aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2020-05-11 12:20:52 +0200
committerOliver Smith <osmith@sysmocom.de>2020-05-11 12:20:52 +0200
commit3ed3e54c63694c78973af5bab47fdce2f10c43f3 (patch)
tree3d576d8dcd7a45c110e52f4d7e252691a9e894ed
parentf3511cce5a4970cc1f94bc9ce1067b1a77f2eb09 (diff)
libgsm: import from OBS
-rw-r--r--rpm-local/spec/libgsm/baselibs.conf4
-rw-r--r--rpm-local/spec/libgsm/libgsm-1.0.13.patch73
-rw-r--r--rpm-local/spec/libgsm/libgsm-include.patch13
-rw-r--r--rpm-local/spec/libgsm/libgsm-paths.patch22
-rw-r--r--rpm-local/spec/libgsm/libgsm.changes115
-rw-r--r--rpm-local/spec/libgsm/libgsm.spec126
6 files changed, 353 insertions, 0 deletions
diff --git a/rpm-local/spec/libgsm/baselibs.conf b/rpm-local/spec/libgsm/baselibs.conf
new file mode 100644
index 0000000..093e546
--- /dev/null
+++ b/rpm-local/spec/libgsm/baselibs.conf
@@ -0,0 +1,4 @@
+libgsm1
+libgsm-devel
+ requires -libgsm-<targettype>
+ requires "libgsm1-<targettype> = <version>"
diff --git a/rpm-local/spec/libgsm/libgsm-1.0.13.patch b/rpm-local/spec/libgsm/libgsm-1.0.13.patch
new file mode 100644
index 0000000..a2b6ad7
--- /dev/null
+++ b/rpm-local/spec/libgsm/libgsm-1.0.13.patch
@@ -0,0 +1,73 @@
+From: <jochen@scram.de>
+Subject: New patch generated from libgsm 1.0.10-14 diff.gz
+
+--- a/Makefile
++++ b/Makefile
+@@ -96,7 +96,7 @@ TOAST_INSTALL_MAN = $(TOAST_INSTALL_ROOT
+ # Other tools
+
+ SHELL = /bin/sh
+-LN = ln
++LN = ln -s
+ BASENAME = basename
+ AR = ar
+ ARFLAGS = cr
+@@ -140,6 +140,7 @@ LFLAGS = $(LDFLAGS) $(LDINC)
+ # Targets
+
+ LIBGSM = $(LIB)/libgsm.a
++LIBGSMSO= $(LIB)/libgsm.so
+
+ TOAST = $(BIN)/toast
+ UNTOAST = $(BIN)/untoast
+@@ -279,7 +280,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
+@@ -299,6 +300,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)
+@@ -308,15 +314,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
+@@ -426,7 +432,9 @@ semi-clean:
+
+ clean: semi-clean
+ -rm $(RMFLAGS) $(LIBGSM) $(ADDTST)/add \
+- $(TOAST) $(TCAT) $(UNTOAST) \
++ $(LIBGSMSO) $(LIB)/libgsm.so.1.0.18 \
++ $(LIB)libgsm.so.1 \
++ $(TOAST) $(TCAT) $(UNTOAST) \
+ $(ROOT)/gsm-1.0.tar.Z
+
+
diff --git a/rpm-local/spec/libgsm/libgsm-include.patch b/rpm-local/spec/libgsm/libgsm-include.patch
new file mode 100644
index 0000000..dd44608
--- /dev/null
+++ b/rpm-local/spec/libgsm/libgsm-include.patch
@@ -0,0 +1,13 @@
+--- src/toast.c
++++ 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.
+ */
+
diff --git a/rpm-local/spec/libgsm/libgsm-paths.patch b/rpm-local/spec/libgsm/libgsm-paths.patch
new file mode 100644
index 0000000..76afc6c
--- /dev/null
+++ b/rpm-local/spec/libgsm/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/rpm-local/spec/libgsm/libgsm.changes b/rpm-local/spec/libgsm/libgsm.changes
new file mode 100644
index 0000000..35e76b4
--- /dev/null
+++ b/rpm-local/spec/libgsm/libgsm.changes
@@ -0,0 +1,115 @@
+-------------------------------------------------------------------
+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.
+
diff --git a/rpm-local/spec/libgsm/libgsm.spec b/rpm-local/spec/libgsm/libgsm.spec
new file mode 100644
index 0000000..e464429
--- /dev/null
+++ b/rpm-local/spec/libgsm/libgsm.spec
@@ -0,0 +1,126 @@
+#
+# spec file for package libgsm
+#
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# 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-pl18
+Name: libgsm
+Version: 1.0.18
+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.13.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: Productivity/Multimedia/Sound/Editors and Convertors
+
+%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}
+
+%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
+
+%post -n libgsm1 -p /sbin/ldconfig
+%postun -n libgsm1 -p /sbin/ldconfig
+
+%files utils
+%{_bindir}/*
+%{_mandir}/man1/*.*
+
+%files -n libgsm1
+%license COPYRIGHT
+%doc ChangeLog MACHINES README
+%{_libdir}/*.so.*
+
+%files devel
+%{_libdir}/*.so
+%{_mandir}/man3/*.*
+%{_includedir}/gsm
+
+%changelog