2e4ad9a
Name:           sphinxbase
eb8c731
Version:        5prealpha
d01a58f
Release:        2%{?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 fe9935d
13434dd
BuildRequires:  bison
d01a58f
BuildRequires:  swig
e105c44
BuildRequires:  doxygen-latex
e105c44
BuildRequires:  gcc-c++
69519da
BuildRequires:  ghostscript
Jerry James 85877be
BuildRequires:  libtool
9fb16d0
BuildRequires:  openblas-devel
a016a41
BuildRequires:  perl-interpreter
08fc082
BuildRequires:  perl-generators
10844da
BuildRequires:  perl(Pod::Usage)
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
d55a7a4
%package -n python2-sphinxbase
d55a7a4
%{?python_provide:%python_provide python2-sphinxbase}
d55a7a4
# Remove before F30
e405bbb
Provides: %{name}-python = %{version}-%{release}
d55a7a4
Provides: %{name}-python%{?_isa} = %{version}-%{release}
d55a7a4
Obsoletes: %{name}-python < %{version}-%{release}
Jerry James fe9935d
Summary:        Python 2 interface to sphinxbase
3529964
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
2e4ad9a
d55a7a4
%description -n python2-sphinxbase
Jerry James fe9935d
Python 2 interface to sphinxbase.
2e4ad9a
2e4ad9a
%prep
2e4ad9a
%setup -q
Jerry James 85877be
9fb16d0
# Use openblas instead of the blas reference implementation
eb8c731
sed -ri 's/blas|lapack/openblas/' configure.ac
Jerry James 2f5e365
eb8c731
# Use system-provided ax_python_devel.m4
eb8c731
rm -f m4/ax_python_devel.m4
eb8c731
eb8c731
# Regenerate configure files due to openblas and m4 changes
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
# Improve auto requires detection
eb8c731
for f in src/sphinx_jsgf2fsg/fsg2dot.pl; 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
9fb16d0
export CPPFLAGS="-I %{_includedir}/openblas"
c865b26
%configure --disable-static --disable-rpath --with-python=%{__python2}
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
c8ce7bc
%ldconfig_scriptlets libs
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
eb8c731
%{_datadir}/sphinxbase/
2e4ad9a
2e4ad9a
%files libs
eb8c731
%doc AUTHORS NEWS README
eb8c731
%license LICENSE
2e4ad9a
%{_libdir}/libsphinxad.so.*
2e4ad9a
%{_libdir}/libsphinxbase.so.*
2e4ad9a
d55a7a4
%files -n python2-sphinxbase
Jerry James fe9935d
%{python2_sitearch}/*
2e4ad9a
2e4ad9a
%changelog
d01a58f
* Thu Aug 09 2018 W. Michael Petullo <mike@flyn.org> - 5prealpha-2
d01a58f
- Add swig to BuildRequires
d01a58f
eb8c731
* Sun Jul 22 2018 W. Michael Petullo <mike@flyn.org> - 5prealpha-1
eb8c731
- New upstream release
eb8c731
8f2432a
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-21
8f2432a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
8f2432a
c865b26
* Tue Jul  3 2018 Jerry James <loganjerry@gmail.com> - 0.8-20
c865b26
- Build with /usr/bin/python2 instead of /usr/bin/python
c865b26
8e8e389
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-19
8e8e389
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
8e8e389
e405bbb
* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.8-18
e405bbb
- Add Provides for the old name without %%_isa
e405bbb
d55a7a4
* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 0.8-17
d55a7a4
- Python 2 binary package renamed to python2-sphinxbase
d55a7a4
  See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3
d55a7a4
9fb16d0
* Wed Aug 16 2017 Jerry James <loganjerry@gmail.com> - 0.8-16
9fb16d0
- Link with openblas instead of atlas
9fb16d0
e4c6a56
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-15
e4c6a56
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
e4c6a56
796670e
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-14
796670e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
796670e
dd724b8
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.8-13
dd724b8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
dd724b8
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