Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > 3024478b6429fe94ea9ab13d128d0cbd > files > 5

kaldi-vosk-git20220817-3.mga9.src.rpm

%define libname %mklibname %{name}
%define develname %mklibname %{name} -d

%define oldlibname  %mklibname kaldi-lookahead
%define olddevelname  %mklibname kaldi-lookahead -d

%global __brp_check_rpaths %nil
%define commit 6417ac1dece94783e80dfbac0148604685d27579
%define date    20220817

Name:           kaldi-vosk
Version:        git%{date}
Release:        %mkrel 3
Summary:        Speech Recognition Toolkit
Group:          Sciences/Mathematics

License:        ASL 2.0
URL:            https://github.com/alphacep/kaldi
Source0:        https://github.com/alphacep/kaldi/archive/%{commit}.tar.gz
# Fix API change in OPENBLAS
Patch100:       commits/9f267c58b2857ba727180b0d899e1c5af1fb5686.patch
BuildRequires:  openfst-devel
BuildRequires:  openblas-devel
Requires:       openfst
Requires:       openblas
Obsoletes:      kaldi-lookahead < 1.8.0-2

Patch0:         kaldi-avoid-failing-check-on-openfst-version.patch
Patch1:         kaldi-allow-standard-libs-not-openfst.patch

#   the compilation on 32bits needs the usage of sse2, which is not allowed on i586
# ExcludeArch: i586

%description
Kaldi is a toolkit for speech recognition, intended for use by 
speech recognition researchers and professionals.

%package -n  %{libname}

Summary:        Main library for kaldi 
Group:          System/Libraries
Provides:       %{name} = %{version}-%{release}
Obsoletes:      %{oldlibname} < 1.8.0-2
 
%description -n %{libname}
This package contains the library needed to run programs dynamically
linked with kaldi
 
%package -n  %{develname}

Summary:        Headers for kaldi
Group:          Development/C++
Requires:       %{libname} = %{version}
Provides:       %{name}-devel = %{version}-%{release}
Obsoletes:      %{olddevelname} < 1.8.0-2
 
%description -n %{develname}
This package contains headers for developing programs that will use kaldi
 
%prep
%autosetup -p1 -n kaldi-%{commit}

%build
pushd src
%ifarch x86_64 aarch64 armv7hl
sed -i -e "s/OPENFSTLIBS=\"\$FSTROOT\/lib\/libfst.a\"/OPENFSTLIBS=\"\$FSTROOT\/%{_lib}\/libfst.a\"/g" configure
sed -i -e "s/OPENFSTLIBS=\"\$FSTROOT\/lib\/libfst.so\"/OPENFSTLIBS=\"\$FSTROOT\/%{_lib}\/libfst.so\"/g" configure
sed -i -e "s/CXXFLAGS = -std=c++17 -I.. -isystem \$(OPENFSTINC)/CXXFLAGS = -std=c++17 -I.. -idirafter \$(OPENFSTINC)/g" makefiles/linux_openblas_aarch64.mk
sed -i -e "s/CXXFLAGS = -std=c++17 -I.. -isystem \$(OPENFSTINC)/CXXFLAGS = -std=c++17 -I.. -idirafter \$(OPENFSTINC)/g" makefiles/linux_openblas_arm.mk
%endif
./configure --mathlib=OPENBLAS --shared --use-cuda=no --openblas-root=/usr --fst-root=/usr
%ifarch  %ix86
sed -i 's:-msse -msse2:-msse -msse2 -mfpmath=sse:g' kaldi.mk
%endif
sed -i 's: -O1 : -O3 :g' kaldi.mk
%make_build online2 lm rnnlm
popd

%install
mkdir -p %{buildroot}/%{_libdir}
cp src/base/libkaldi-base.so %{buildroot}/%{_libdir}/libkaldi-base.so
cp src/chain/libkaldi-chain.so %{buildroot}/%{_libdir}/libkaldi-chain.so
cp src/cudamatrix/libkaldi-cudamatrix.so %{buildroot}/%{_libdir}/libkaldi-cudamatrix.so
cp src/decoder/libkaldi-decoder.so %{buildroot}/%{_libdir}/libkaldi-decoder.so
cp src/feat/libkaldi-feat.so    %{buildroot}/%{_libdir}/libkaldi-feat.so
cp src/fstext/libkaldi-fstext.so %{buildroot}/%{_libdir}/libkaldi-fstext.so 
cp src/gmm/libkaldi-gmm.so %{buildroot}/%{_libdir}/libkaldi-gmm.so
cp src/hmm/libkaldi-hmm.so %{buildroot}/%{_libdir}/libkaldi-hmm.so
cp src/ivector/libkaldi-ivector.so %{buildroot}/%{_libdir}/libkaldi-ivector.so
cp src/lat/libkaldi-lat.so %{buildroot}/%{_libdir}/libkaldi-lat.so
cp src/lm/libkaldi-lm.so %{buildroot}/%{_libdir}/libkaldi-lm.so
cp src/matrix/libkaldi-matrix.so %{buildroot}/%{_libdir}/libkaldi-matrix.so
cp src/nnet2/libkaldi-nnet2.so %{buildroot}/%{_libdir}/libkaldi-nnet2.so
cp src/nnet3/libkaldi-nnet3.so %{buildroot}/%{_libdir}/libkaldi-nnet3.so
cp src/online2/libkaldi-online2.so %{buildroot}/%{_libdir}/libkaldi-online2.so
cp src/rnnlm/libkaldi-rnnlm.so %{buildroot}/%{_libdir}/libkaldi-rnnlm.so
cp src/transform/libkaldi-transform.so %{buildroot}/%{_libdir}/libkaldi-transform.so
cp src/tree/libkaldi-tree.so %{buildroot}/%{_libdir}/libkaldi-tree.so
cp src/util/libkaldi-util.so %{buildroot}/%{_libdir}/libkaldi-util.so

mkdir -p %{buildroot}/%{_includedir}
mkdir -p %{buildroot}/%{_includedir}/base
mkdir -p %{buildroot}/%{_includedir}/chain
mkdir -p %{buildroot}/%{_includedir}/cudamatrix
mkdir -p %{buildroot}/%{_includedir}/decoder
mkdir -p %{buildroot}/%{_includedir}/feat
mkdir -p %{buildroot}/%{_includedir}/fstext
mkdir -p %{buildroot}/%{_includedir}/gmm
mkdir -p %{buildroot}/%{_includedir}/hmm
mkdir -p %{buildroot}/%{_includedir}/ivector
mkdir -p %{buildroot}/%{_includedir}/lat
mkdir -p %{buildroot}/%{_includedir}/lm
mkdir -p %{buildroot}/%{_includedir}/matrix
mkdir -p %{buildroot}/%{_includedir}/nnet2
mkdir -p %{buildroot}/%{_includedir}/nnet3
mkdir -p %{buildroot}/%{_includedir}/online2
mkdir -p %{buildroot}/%{_includedir}/rnnlm
mkdir -p %{buildroot}/%{_includedir}/transform
mkdir -p %{buildroot}/%{_includedir}/tree
mkdir -p %{buildroot}/%{_includedir}/util
mkdir -p %{buildroot}/%{_includedir}/itf

cp src/base/*.h %{buildroot}/%{_includedir}/base/
cp src/chain/*.h %{buildroot}/%{_includedir}/chain/
cp src/cudamatrix/*.h %{buildroot}/%{_includedir}/cudamatrix/
cp src/decoder/*.h %{buildroot}/%{_includedir}/decoder/
cp src/feat/*.h  %{buildroot}/%{_includedir}/feat/
cp src/fstext/*.h %{buildroot}/%{_includedir}/fstext/
cp src/gmm/*.h %{buildroot}/%{_includedir}/gmm/
cp src/hmm/*.h %{buildroot}/%{_includedir}/hmm/
cp src/ivector/*.h %{buildroot}/%{_includedir}/ivector/
cp src/lat/*.h %{buildroot}/%{_includedir}/lat/
cp src/lm/*.h %{buildroot}/%{_includedir}/lm/
cp src/matrix/*.h %{buildroot}/%{_includedir}/matrix/
cp src/nnet2/*.h %{buildroot}/%{_includedir}/nnet2/
cp src/nnet3/*.h %{buildroot}/%{_includedir}/nnet3/
cp src/online2/*.h %{buildroot}/%{_includedir}/online2/
cp src/rnnlm/*.h %{buildroot}/%{_includedir}/rnnlm/
cp src/transform/*.h %{buildroot}/%{_includedir}/transform/
cp src/tree/*.h %{buildroot}/%{_includedir}/tree/
cp src/util/*.h %{buildroot}/%{_includedir}/util/
cp src/itf/*.h %{buildroot}/%{_includedir}/itf

%files -n %{libname}
%license COPYING
%doc README.md

 %{_libdir}/libkaldi-base.so
 %{_libdir}/libkaldi-chain.so 
 %{_libdir}/libkaldi-cudamatrix.so
 %{_libdir}/libkaldi-decoder.so
 %{_libdir}/libkaldi-feat.so 
 %{_libdir}/libkaldi-fstext.so 
 %{_libdir}/libkaldi-gmm.so
 %{_libdir}/libkaldi-hmm.so
 %{_libdir}/libkaldi-ivector.so
 %{_libdir}/libkaldi-lat.so
 %{_libdir}/libkaldi-lm.so
 %{_libdir}/libkaldi-matrix.so
 %{_libdir}/libkaldi-nnet2.so 
 %{_libdir}/libkaldi-nnet3.so
 %{_libdir}/libkaldi-online2.so
 %{_libdir}/libkaldi-rnnlm.so
 %{_libdir}/libkaldi-transform.so
 %{_libdir}/libkaldi-tree.so 
 %{_libdir}/libkaldi-util.so 

%files -n %{develname}
 %{_includedir}/*/*.h
 
                         


%changelog
* Mon Sep 26 2022 papoteur <papoteur> git20220817-3.mga9
+ Revision: 1892538
- Really obsolete kaldi-lookahead

* Sat Sep 17 2022 papoteur <papoteur> git20220817-2.mga9
+ Revision: 1889495
- update to snapshot of 2022-08-17
- Rename from lookahead to branch vosk, the old one doesn't exist anymore

* Sat Jun 11 2022 papoteur <papoteur> 1.8.0-1.mga9
+ Revision: 1863992
- imported package kaldi-lookahead