gsm-vl.spec 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
  2. Summary: Shared libraries for GSM speech compressor
  3. Name: gsm
  4. Version: 1.0.18
  5. Release: 1%{?_dist_release}
  6. Group: System Environment/Libraries
  7. Vendor: Project Vine
  8. Distribution: Vine Linux
  9. License: MIT
  10. URL: http://www.quut.com/gsm/
  11. Source: http://www.quut.com/gsm/%{name}-%{version}.tar.gz
  12. Patch0: gsm-makefile.patch
  13. Patch1: gsm-warnings.patch
  14. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  15. %global shortver %(echo %{version} | sed -e 's/\.[0-9]*$//')
  16. %global majorver %(echo %{shortver} | sed -e 's/\.[0-9]*$//')
  17. %global minorver %(echo %{shortver} | sed -e 's/^[0-9]*\.//')
  18. %global patchlevel %(echo %{version} | sed -e 's/^[0-9]*\.[0-9]*\.//')
  19. %define srcver %{shortver}-pl%{patchlevel}
  20. %define soname %{version}
  21. %description
  22. Contains runtime shared libraries for libgsm, an implementation of
  23. the European GSM 06.10 provisional standard for full-rate speech
  24. transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
  25. excitation/long term prediction) coding at 13 kbit/s.
  26. GSM 06.10 compresses frames of 162 13-bit samples (8 kHz sampling
  27. rate, i.e. a frame rate of 50 Hz) into 260 bits; for compatibility
  28. with typical UNIX applications, our implementation turns frames of 160
  29. 16-bit linear samples into 33-byte frames (1650 Bytes/s).
  30. The quality of the algorithm is good enough for reliable speaker
  31. recognition; even music often survives transcoding in recognizable
  32. form (given the bandwidth limitations of 8 kHz sampling rate).
  33. The interfaces offered are a front end modelled after compress(1), and
  34. a library API. Compression and decompression run faster than realtime
  35. on most SPARCstations. The implementation has been verified against the
  36. ETSI standard test patterns.
  37. %package tools
  38. Summary: GSM speech compressor tools
  39. Group: Applications/Multimedia
  40. %description tools
  41. Contains command line utilities for libgsm, an implementation of
  42. the European GSM 06.10 provisional standard for full-rate speech
  43. transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
  44. excitation/long term prediction) coding at 13 kbit/s.
  45. %package devel
  46. Summary: Header files and development libraries for libgsm
  47. Group: Development/Libraries
  48. Requires: %{name} = %{version}-%{release}
  49. %description devel
  50. Contains header files and development libraries for libgsm, an
  51. implementation of the European GSM 06.10 provisional standard for
  52. full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP
  53. (residual pulse excitation/long term prediction) coding at 13 kbit/s.
  54. # compat32
  55. %package -n compat32-%{name}
  56. Summary: Shared libraries for GSM speech compressor
  57. Group: System Environment/Libraries
  58. Requires: %{name} = %{version}-%{release}
  59. %description -n compat32-%{name}
  60. Contains runtime shared libraries for libgsm, an implementation of
  61. the European GSM 06.10 provisional standard for full-rate speech
  62. transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
  63. excitation/long term prediction) coding at 13 kbit/s.
  64. GSM 06.10 compresses frames of 162 13-bit samples (8 kHz sampling
  65. rate, i.e. a frame rate of 50 Hz) into 260 bits; for compatibility
  66. with typical UNIX applications, our implementation turns frames of 160
  67. 16-bit linear samples into 33-byte frames (1650 Bytes/s).
  68. The quality of the algorithm is good enough for reliable speaker
  69. recognition; even music often survives transcoding in recognizable
  70. form (given the bandwidth limitations of 8 kHz sampling rate).
  71. The interfaces offered are a front end modelled after compress(1), and
  72. a library API. Compression and decompression run faster than realtime
  73. on most SPARCstations. The implementation has been verified against the
  74. ETSI standard test patterns.
  75. %package -n compat32-%{name}-devel
  76. Summary: Header files and development libraries for libgsm
  77. Group: Development/Libraries
  78. Requires: compat32-%{name} = %{version}-%{release}
  79. Requires: %{name}-devel = %{version}-%{release}
  80. %description -n compat32-%{name}-devel
  81. Contains header files and development libraries for libgsm, an
  82. implementation of the European GSM 06.10 provisional standard for
  83. full-rate speech transcoding, prI-ETS 300 036, which uses RPE/LTP
  84. (residual pulse excitation/long term prediction) coding at 13 kbit/s.
  85. %prep
  86. %setup -n gsm-%{srcver} -q
  87. %autopatch -p1
  88. perl -pi -e 's/^CCFLAGS .*$/CCFLAGS = -c %{optflags} -DNeedFunctionPrototypes=1 -Wall -Wno-comment -D_XOPEN_SOURCE=700 -D_REENTRANT -fPIC/' Makefile
  89. sed -i \
  90. -e 's/@MAJORVER@/%{majorver}/' \
  91. -e 's/@MINORVER@/%{minorver}/' \
  92. -e 's/@PATCHLEVEL@/%{patchlevel}/' \
  93. -e 's/@SOVERSION@/%{soname}/' \
  94. Makefile
  95. %build
  96. make %{?_smp_mflags} all
  97. %install
  98. rm -rf %{buildroot}
  99. mkdir -p %{buildroot}%{_bindir}
  100. mkdir -p %{buildroot}%{_includedir}/gsm
  101. mkdir -p %{buildroot}%{_libdir}
  102. mkdir -p %{buildroot}%{_mandir}/{man1,man3}
  103. make install \
  104. INSTALL_ROOT=%{buildroot}%{_prefix} \
  105. GSM_INSTALL_INC=%{buildroot}%{_includedir}/gsm \
  106. GSM_INSTALL_LIB=%{buildroot}%{_libdir}
  107. # some apps look for this in /usr/include
  108. ln -s gsm/gsm.h %{buildroot}%{_includedir}
  109. echo ".so toast.1" > %{buildroot}%{_mandir}/man1/tcat.1
  110. echo ".so toast.1" > %{buildroot}%{_mandir}/man1/untoast.1
  111. %check
  112. # This is to ensure that the patch creates the proper library version.
  113. [ -f %{buildroot}%{_libdir}/libgsm.so.%{version} ]
  114. export LDFLAGS="%{?__global_ldflags}"
  115. make addtst
  116. %clean
  117. rm -rf %{buildroot}
  118. %post -p /sbin/ldconfig
  119. %postun -p /sbin/ldconfig
  120. %post -n compat32-%{name} -p /sbin/ldconfig
  121. %postun -n compat32-%{name} -p /sbin/ldconfig
  122. %files
  123. %defattr(-,root,root,-)
  124. %license COPYRIGHT
  125. %doc ChangeLog MACHINES README
  126. %{_libdir}/libgsm.so.*
  127. %files tools
  128. %{_bindir}/tcat
  129. %{_bindir}/toast
  130. %{_bindir}/untoast
  131. %{_mandir}/man1/toast.1*
  132. %{_mandir}/man1/tcat.1.gz
  133. %{_mandir}/man1/untoast.1.gz
  134. %files devel
  135. %defattr(-,root,root,-)
  136. %dir %{_includedir}/gsm
  137. %{_includedir}/gsm/gsm.h
  138. %{_includedir}/gsm.h
  139. %{_libdir}/libgsm.so
  140. %{_mandir}/man3/*
  141. # compat32
  142. %if %{build_compat32}
  143. %files -n compat32-%{name}
  144. %defattr(-,root,root,-)
  145. %{_libdir}/libgsm.so.*
  146. %files -n compat32-%{name}-devel
  147. %defattr(-,root,root,-)
  148. %{_libdir}/libgsm.so
  149. %endif
  150. %changelog
  151. * Sun Mar 29 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.0.18-1
  152. - new upstream release.
  153. - updated Patch0 and 1.
  154. - dropped Patch2.
  155. * Sun Apr 05 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.14-1
  156. - new upstream release
  157. - update Patch1 (%%{name}-1.0.14-warnings.patch)
  158. * Mon Jul 7 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.0.13-1
  159. - new upstream release.
  160. * Wed Aug 17 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.0.12-3
  161. - create compat32 sub package
  162. * Sat Apr 16 2011 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.0.12-2
  163. - rebuilt with current VineSeed
  164. * Fri Sep 26 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.0.12-1
  165. - initial build for Vine Linux
  166. * Mon Feb 11 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.0.12-6
  167. - Rebuild for GCC 4.3
  168. * Sun Aug 26 2007 Dominik Mierzejewski <rpm[AT]greysector.net> 1.0.12-5
  169. - install symlinks instead of binaries in -devel
  170. * Sat Aug 25 2007 Dominik Mierzejewski <rpm[AT]greysector.net> 1.0.12-4
  171. - rebuild for BuildID
  172. - specfile cleanups
  173. * Sun May 13 2007 Dominik Mierzejewski <rpm[AT]greysector.net> 1.0.12-3
  174. - fix parallel make
  175. * Fri May 11 2007 Dominik Mierzejewski <rpm[AT]greysector.net> 1.0.12-2
  176. - fix some warnings
  177. - fix 64bit testsuite issue as described at gsm homepage
  178. - add compatibility header symlink
  179. - split off binaries into a separate package
  180. * Sun Apr 15 2007 Michael Schwendt <mschwendt[AT]users.sf.net> 1.0.12-1
  181. - Update to Release 1.0 Patchlevel 12.
  182. - Build with -fPIC not just for non-ix86.
  183. - Add check section to ensure proper library version.
  184. - Remove static library.
  185. * Fri Oct 06 2006 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> 1.0.10-12
  186. - rebuilt for unwind info generation, broken in gcc-4.1.1-21
  187. * Tue Sep 26 2006 Thomas Vander Stichele <thomas at apestaart dot org>
  188. - 1.0.10-11
  189. - rebuild for FC6
  190. * Thu Mar 09 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
  191. - switch to new release field
  192. * Tue Feb 28 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
  193. - add dist
  194. * Mon Jun 27 2005 David Woodhouse <dwmw2@infradead.org>
  195. - 1.0.10-0.lvn.10: Clean up installation
  196. * Sat Jun 25 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info>
  197. - 1.0.10-0.lvn.9: mv libgsm.a only when needed
  198. * Fri Dec 31 2004 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info>
  199. - 1.0.10-0.lvn.8: Use -fPIC on non ix86
  200. * Tue Mar 02 2004 Thomas Vander Stichele <thomas at apestaart dot org>
  201. - 1.0.10-0.lvn.7: moved to rpm.livna.org
  202. * Tue Mar 02 2004 Thomas Vander Stichele <thomas at apestaart dot org>
  203. - 1.0.10-0.fdr.7: applied patch from Ville, remove epoch since it's allowed
  204. * Sat Sep 13 2003 Thomas Vander Stichele <thomas at apestaart dot org>
  205. - 0:1.0.10-0.fdr.6: remove second makeinstall
  206. * Sun Sep 07 2003 Thomas Vander Stichele <thomas at apestaart dot org>
  207. - 0:1.0.10-0.fdr.5
  208. - added back epochs, I surrender
  209. - fix RPM_OPT_FLAGS hackery
  210. * Fri Jul 18 2003 Thomas Vander Stichele <thomas at apestaart dot org>
  211. - 1.0.10-0.fdr.4: remove epoch mentions
  212. * Sat Jul 05 2003 Thomas Vander Stichele <thomas at apestaart dot org>
  213. - 1.0.10-0.fdr.3
  214. - pull in RPM_OPT_FLAGS in patch instead of using perl to wedge it in
  215. - fix group
  216. - -p'ize ldconfig
  217. * Tue Jun 10 2003 Thomas Vander Stichele <thomas at apestaart dot org>
  218. - 1.0.10-0.fdr.2
  219. - Fix libgsm.so.* being files instead of symlinks
  220. * Thu May 29 2003 Thomas Vander Stichele <thomas at apestaart dot org>
  221. - 0:1.0.10-0.fdr.1: initial RPM release