2e4ad9a
Name:           sphinxbase
Jerry James fe9935d
Version:        0.8
af90d5b
Release:        12%{?dist}
2e4ad9a
Summary:        Common library for CMU Sphinx voice recognition products
2e4ad9a
2e4ad9a
License:        BSD
5f9079d
URL:            http://cmusphinx.sourceforge.net/
5f9079d
Source0:        http://downloads.sourceforge.net/cmusphinx/%{name}-%{version}.tar.gz
Jerry James 67bfd53
# Sent upstream 28 Mar 2013.  Enable large file support.
Jerry James 67bfd53
Patch0:         %{name}-largefile.patch
Jerry James 85877be
# Sent upstream 29 Mar 2013.  Fix an uninitialized variable that leads to bogus
Jerry James 85877be
# lm scores.
Jerry James 85877be
Patch1:         %{name}-uninit.patch
Jerry James 85877be
# Sent upstream 29 Mar 2013.  Fix broken doxygen comments.
Jerry James 85877be
Patch2:         %{name}-doxygen.patch
Jerry James fe9935d
13434dd
BuildRequires:  bison
e105c44
BuildRequires:  doxygen-latex
e105c44
BuildRequires:  gcc-c++
e105c44
BuildRequires:  ghostscript-core
Jerry James 85877be
BuildRequires:  libtool
13434dd
BuildRequires:  perl
08fc082
BuildRequires:  perl-generators
10844da
BuildRequires:  perl(Pod::Usage)
Jerry James 2f5e365
BuildRequires:  pkgconfig(atlas)
Jerry James 2f5e365
BuildRequires:  pkgconfig(libpulse)
Jerry James 2f5e365
BuildRequires:  pkgconfig(samplerate)
Jerry James 2f5e365
BuildRequires:  pkgconfig(sndfile)
e105c44
BuildRequires:  python2-Cython
13434dd
BuildRequires:  python2-devel
e105c44
BuildRequires:  python2-setuptools
2e4ad9a
2e4ad9a
%description
2e4ad9a
Sphinxbase is a common library for CMU Sphinx voice recognition products.
2e4ad9a
This package does not provide voice recognition by itself.
2e4ad9a
2e4ad9a
%package devel
2e4ad9a
Summary:        Header and other development files for sphinxbase
3529964
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
Jerry James 2f5e365
Requires:       pkgconfig(libpulse)
Jerry James 2f5e365
Provides:       bundled(jquery)
2e4ad9a
2e4ad9a
%description devel
2e4ad9a
Header files and other development files for sphinxbase.
2e4ad9a
2e4ad9a
%package libs
2e4ad9a
Summary:        Libraries for sphinxbase
2e4ad9a
2e4ad9a
%description libs
2e4ad9a
The libraries for sphinxbase.
2e4ad9a
2e4ad9a
%package python
Jerry James fe9935d
Summary:        Python 2 interface to sphinxbase
3529964
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
2e4ad9a
2e4ad9a
%description python
Jerry James fe9935d
Python 2 interface to sphinxbase.
2e4ad9a
2e4ad9a
%prep
2e4ad9a
%setup -q
Jerry James 67bfd53
%patch0
Jerry James 67bfd53
%patch1
Jerry James 85877be
%patch2
Jerry James 85877be
Jerry James 2f5e365
# Use atlas instead of the blas reference implementation
Jerry James 2f5e365
sed -ri 's/blas|lapack/satlas/' configure.in
Jerry James 2f5e365
Jerry James 2f5e365
# Regenerate the configure files due to changes in patch 0 and the atlas change
Jerry James 85877be
autoreconf -fi
2e4ad9a
Jerry James fe9935d
# Fix encoding
5f9079d
iconv -f ISO8859-1 -t UTF-8 -o AUTHORS.new AUTHORS
5f9079d
touch -r AUTHORS.new AUTHORS
2e4ad9a
mv -f AUTHORS.new AUTHORS
2e4ad9a
Jerry James fe9935d
# Force code generation with newer versions of Cython and bison
Jerry James fe9935d
rm -f python/sphinxbase.c src/libsphinxbase/lm/jsgf_parser.{c,h}
Jerry James fe9935d
Jerry James fe9935d
# Install the python egg in the Fedora way
Jerry James fe9935d
sed 's|\( install \)--prefix\( \$(DESTDIR)\)\$(prefix)|\1--skip-build --root\2|' \
Jerry James fe9935d
    -i python/Makefile.in
Jerry James fe9935d
Jerry James fe9935d
# Improve auto requires detection
Jerry James fe9935d
for f in src/sphinx_lmtools/sphinx_lm_sort src/sphinx_jsgf2fsg/fsg2dot.pl \
Jerry James fe9935d
         python/hufftest2.py python/sb_test.py; do
Jerry James fe9935d
  sed -r 's|/usr/bin/env (.*)|/usr/bin/\1|' $f > $f.new
Jerry James fe9935d
  touch -r $f $f.new
Jerry James fe9935d
  mv -f $f.new $f
Jerry James fe9935d
done
5f9079d
2e4ad9a
%build
Jerry James 2f5e365
export CPPFLAGS="-I %{_includedir}/atlas"
Jerry James 2f5e365
export LDFLAGS="$RPM_LD_FLAGS -L%{_libdir}/atlas"
5f9079d
%configure --disable-static --disable-rpath
2e4ad9a
Jerry James fe9935d
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
Jerry James fe9935d
# -Wl,--as-needed after all the libraries.
13434dd
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
13434dd
    -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
Jerry James 2f5e365
    -e 's|CC="\(g.*\)"|CC="\1 -Wl,--as-needed"|' \
13434dd
    -i libtool
2e4ad9a
2e4ad9a
# Build the programs and libraries
2e4ad9a
make %{?_smp_mflags}
2e4ad9a
Jerry James 2f5e365
# Some private libs are marked as nonprivate in the pkgconfig file
Jerry James 2f5e365
extralibs=$(sed -n 's/^Libs:.*-lm \(.*\)/\1/p' sphinxbase.pc | sed 's/  / /g')
Jerry James 2f5e365
sed -e 's/^\(libs=".*-lm\).*/\1"/' \
Jerry James 2f5e365
    -e 's/^\(Libs:.*-lm\).*/\1/' \
Jerry James 2f5e365
    -e "s/^Libs\.private.*/& $extralibs/" \
Jerry James 2f5e365
    -i sphinxbase.pc
Jerry James 2f5e365
2e4ad9a
# Build the man pages
2e4ad9a
cd doc
2e4ad9a
export LD_LIBRARY_PATH=../src/libsphinxbase/.libs:../src/libsphinxad/.libs
2e4ad9a
for prog in sphinx_cepview sphinx_fe; do
2e4ad9a
  perl args2man.pl ../src/${prog}/${prog} < ${prog}.1.in > ${prog}.1
2e4ad9a
done
2e4ad9a
perl args2man.pl ../src/sphinx_adtools/sphinx_pitch < sphinx_pitch.1.in > sphinx_pitch.1
2e4ad9a
2e4ad9a
%install
13434dd
# Install the binaries and libraries
Jerry James 2f5e365
mkdir -p %{buildroot}%{python_sitearch}
Jerry James 2f5e365
make install DESTDIR=%{buildroot}
2e4ad9a
2e4ad9a
# Install the man pages
Jerry James 2f5e365
mkdir -p %{buildroot}%{_mandir}/man1
Jerry James 2f5e365
cp -p doc/*.1 %{buildroot}%{_mandir}/man1
2e4ad9a
Jerry James fe9935d
# Remove libtool archives
Jerry James 2f5e365
rm -f %{buildroot}%{_libdir}/*.la
Jerry James fe9935d
Jerry James fe9935d
# Fix a permission problem
Jerry James 2f5e365
chmod 0755 %{buildroot}%{python2_sitearch}/%{name}.so
2e4ad9a
2e4ad9a
%post libs -p /sbin/ldconfig
2e4ad9a
2e4ad9a
%postun libs -p /sbin/ldconfig
2e4ad9a
2e4ad9a
%files
2e4ad9a
%{_bindir}/*
2e4ad9a
%{_mandir}/man1/*
2e4ad9a
2e4ad9a
%files devel
2e4ad9a
%doc doc/html
Jerry James fe9935d
%{_includedir}/sphinxbase/
2e4ad9a
%{_libdir}/libsphinxad.so
2e4ad9a
%{_libdir}/libsphinxbase.so
2e4ad9a
%{_libdir}/pkgconfig/sphinxbase.pc
2e4ad9a
2e4ad9a
%files libs
Jerry James 2f5e365
%doc AUTHORS ChangeLog NEWS README
Jerry James 2f5e365
%license COPYING
2e4ad9a
%{_libdir}/libsphinxad.so.*
2e4ad9a
%{_libdir}/libsphinxbase.so.*
2e4ad9a
2e4ad9a
%files python
Jerry James fe9935d
%{python2_sitearch}/*
2e4ad9a
2e4ad9a
%changelog
af90d5b
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-12
af90d5b
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
af90d5b
4e52fb0
* Fri Feb 05 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-11
4e52fb0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
4e52fb0
02597b0
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-10
02597b0
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
02597b0
Jerry James 2f5e365
* Wed Nov 12 2014 Jerry James <loganjerry@gmail.com> - 0.8-9
Jerry James 2f5e365
- Link with atlas instead of the reference blas implementation
Jerry James 2f5e365
- Add Provides: bundled(jquery)
Jerry James 2f5e365
- Fix private libs listed as nonprivate in the pkgconfig file
Jerry James 2f5e365
- Minor spec file cleanups
Jerry James 2f5e365
8796228
* Mon Aug 18 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-8
8796228
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
8796228
22a336e
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-7
22a336e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
22a336e
359beaa
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-6
359beaa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
359beaa
588d6ad
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 0.8-5
588d6ad
- Perl 5.18 rebuild
588d6ad
Jerry James 85877be
* Fri Mar 29 2013 Jerry James <loganjerry@gmail.com> - 0.8-4
Jerry James 85877be
- Different approach to the -largefile patch to fix problems with the original
Jerry James 85877be
- Drop -aarch64 patch since we now run autoreconf
Jerry James 85877be
- Add -uninit patch to fix bogus lm scores
Jerry James 85877be
- Add -doxygen patch to fix some broken doxygen comments
Jerry James 85877be
Jerry James 67bfd53
* Thu Mar 28 2013 Jerry James <loganjerry@gmail.com> - 0.8-3
Jerry James 67bfd53
- Add -largefile patch to get large file support
Jerry James 67bfd53
- Add -aarch64 patch (bz 926565)
Jerry James 67bfd53
10844da
* Mon Feb 18 2013 Jerry James <loganjerry@gmail.com> - 0.8-2
10844da
- Add perl(Pod::Usage) BR
10844da
fd6fe6b
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8-2
fd6fe6b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
fd6fe6b
Jerry James fe9935d
* Mon Dec 17 2012 Jerry James <loganjerry@gmail.com> - 0.8-1
Jerry James fe9935d
- New upstream release
Jerry James fe9935d
- Drop patches; no longer necessary
Jerry James fe9935d
d762ea2
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7-5
d762ea2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
d762ea2
1247662
* Tue Jan 10 2012 Jerry James <loganjerry@gmail.com> - 0.7-4
1247662
- Rebuild for bz 772699
1247662
ecadbd3
* Fri Jan  6 2012 Jerry James <loganjerry@gmail.com> - 0.7-3
ecadbd3
- Rebuild for GCC 4.7
ecadbd3
- Fix a typo in the filter
ecadbd3
3529964
* Fri Jul 15 2011 Jerry James <loganjerry@gmail.com> - 0.7-2
3529964
- Use RPM 4.9's new filter scheme to remove bogus provides
3529964
- Minor spec file cleanups
3529964
13434dd
* Tue Apr 19 2011 Jerry James <loganjerry@gmail.com> - 0.7-1
13434dd
- New upstream release
13434dd
ba55632
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.1-2
ba55632
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
ba55632
5f9079d
* Mon Aug 16 2010 Jerry James <loganjerry@gmail.com> - 0.6.1-1
5f9079d
- New upstream release
5f9079d
6780ce8
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.4.1-3
6780ce8
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
6780ce8
7042faa
* Fri Nov 20 2009 Jerry James <loganjerry@gmail.com> - 0.4.1-2
7042faa
- Update python BRs for Rawhide
7042faa
2e4ad9a
* Mon Jun  1 2009 Jerry James <loganjerry@gmail.com> - 0.4.1-1
2e4ad9a
- Initial RPM