Name: gsm Version: 1.0.13 Release: 1 Summary: Shared libraries for GSM speech compressor Group: System Environment/Libraries License: MIT URL: http://kbs.cs.tu-berlin.de/~jutta/toast.html Source: http://kbs.cs.tu-berlin.de/~jutta/gsm/%{name}-%{version}.tar.gz Patch0: %{name}-%{version}-aix.patch Patch1: %{name}-64bit.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: patch %define srcver 1.0-pl13 %description Contains runtime shared libraries for libgsm, an implementation of 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 162 13-bit samples (8 kHz sampling rate, i.e. a frame rate of 50 Hz) into 260 bits; for compatibility with typical UNIX applications, our implementation turns frames of 160 16-bit linear samples into 33-byte frames (1650 Bytes/s). The quality of the algorithm is good enough for reliable speaker recognition; even music often survives transcoding in recognizable form (given the bandwidth limitations of 8 kHz sampling rate). The interfaces offered are a front end modelled after compress(1), and a library API. Compression and decompression run faster than realtime on most SPARCstations. The implementation has been verified against the ETSI standard test patterns. %package devel Summary: Header files and development libraries for libgsm Group: Development/Libraries Requires: %{name} = %{version}-%{release} %description devel Contains header files and development libraries for libgsm, an implementation of 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. %package tools Summary: GSM speech compressor tools Group: Applications/Multimedia %description tools Contains command line utilities for libgsm, an implementation of 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. %prep %setup -n gsm-%{srcver} -q export PATH=/opt/freeware/bin:$PATH %patch0 %patch1 -p1 -b .64bit %build export LDFLAGS="-L/opt/freeware/lib -Wl,-bmaxdata:0x80000000 -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib" # first build the 64-bit version export OBJECT_MODE=64 make %{?_smp_mflags} ./lib/lib%{name}.a CreateExportList -X64 %{name}.exp ./lib/lib%{name}.a ${CC} -qmkshrobj ./lib/lib%{name}.a -o shr64.o -bE:%{name}.exp rm -f %{name}.exp ./lib/lib%{name}.a make clean # now build the 32-bit version export OBJECT_MODE=32 make %{?_smp_mflags} ./lib/lib%{name}.a CreateExportList -X32 %{name}.exp ./lib/lib%{name}.a ${CC} -qmkshrobj ./lib/lib%{name}.a -o shr.o -bE:%{name}.exp rm -f %{name}.exp ./lib/lib%{name}.a ar -X32 -rv ./lib/lib%{name}.a shr.o # add the 64-bit shared objects to the shared library containing already the # 32-bit shared object ar -X64 -q ./lib/lib%{name}.a ./shr64.o # now build the rest make %{?_smp_mflags} all %install [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} mkdir -p ${RPM_BUILD_ROOT}%{_bindir} mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/gsm mkdir -p ${RPM_BUILD_ROOT}%{_libdir} mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man1 mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3 make install \ INSTALL_ROOT=${RPM_BUILD_ROOT}%{_prefix} \ GSM_INSTALL_INC=${RPM_BUILD_ROOT}%{_includedir}/gsm \ GSM_INSTALL_LIB=${RPM_BUILD_ROOT}%{_libdir} rm -f ${RPM_BUILD_ROOT}%{_bindir}/tcat rm -f ${RPM_BUILD_ROOT}%{_bindir}/untoast /usr/bin/strip ${RPM_BUILD_RÂOOT}%{_bindir}/* || : ln -s toast ${RPM_BUILD_ROOT}%{_bindir}/tcat ln -s toast ${RPM_BUILD_ROOT}%{_bindir}/untoast # some apps look for this in /usr/include ln -s gsm/gsm.h ${RPM_BUILD_ROOT}%{_includedir} ( cd ${RPM_BUILD_ROOT} for dir in include lib do mkdir -p usr/${dir} cd usr/${dir} ln -sf ../..%{_prefix}/${dir}/* . cd - done ) %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files %defattr(-,root,system,-) %doc ChangeLog COPYRIGHT MACHINES README %{_libdir}/*.a %files devel %defattr(-,root,system,-) %{_includedir}/%{name}* %{_mandir}/man3/* %files tools %{_bindir}/* %{_mandir}/man1/* %changelog * Wed Mar 03 2010 Michael Perzl - 1.0.13-1 - first version for AIX V5.1 and higher