From 8fb3e9ca918ef335f78e2516441953915145c4a1 Mon Sep 17 00:00:00 2001 From: John Gebbie Date: Sun, 5 Feb 2023 12:10:37 +0000 Subject: [PATCH 1/2] vosk-api: update to 0.3.45. --- common/shlibs | 2 +- srcpkgs/vosk-api/template | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/shlibs b/common/shlibs index 59444164928b..bc77277ce8d1 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4213,7 +4213,7 @@ libtracecmd.so.1 libtracecmd-3.1.2_1 libkshark.so.2 libkshark-2.1.1_1 libcpp-hocon.so.0.3.0 cpp-hocon-0.3.0_5 libfst.so.25 openfst-1.8.2_1 -libvosk.so vosk-api-0.3.43_1 +libvosk.so vosk-api-0.3.45_1 libdspy-1.so.1 d-spy-1.4.0_1 libpanel-1.so.1 libpanel-1.0.1_1 libqrtr.so.1 qrtr-ns-1.0_1 diff --git a/srcpkgs/vosk-api/template b/srcpkgs/vosk-api/template index b86c74452b95..41d53e654042 100644 --- a/srcpkgs/vosk-api/template +++ b/srcpkgs/vosk-api/template @@ -1,12 +1,12 @@ # Template file for 'vosk-api' pkgname=vosk-api -version=0.3.43 +version=0.3.45 revision=1 create_wrksrc=yes build_wrksrc="vosk-api-${version}/src" # Vosk is built with their own vendored version of Kaldi which has no releases # of its own, so the commit must be determined by the date of the vosk release. -_kaldi_commit=ecb4b47159501ef0d67888633e65b8fc0c1f79d1 +_kaldi_commit=93ef0019b847272a239fbb485ef97f29feb1d587 build_style=gnu-makefile make_use_env=yes make_build_args="KALDI_ROOT=../../kaldi HAVE_OPENBLAS_NO_F2C=1 HAVE_OPENBLAS_CLAPACK=0" @@ -18,8 +18,8 @@ homepage="https://alphacephei.com/vosk" distfiles="https://github.com/alphacep/vosk-api/archive/v${version}/vosk-api-${version}.tar.gz https://github.com/alphacep/kaldi/archive/${_kaldi_commit}.tar.gz https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip" -checksum="50fa82bfbfe3fc5be868237c84ac180eb55da0b65b1803bf022899673afda024 - 39cadd5a351a5513e3e4e1f71ac4b4f018a592a856a55f1d32c159e22e799f64 +checksum="930fb9cfa6c1b3035d3730feee7d670fb893caa0c71bd2159ee7623102674c26 + f47a996af546884a8e1cb961323b796c5c238c1bbeabaf657bb300b760e431b2 30f26242c4eb449f948e42cb302dd7a686cb29a3423a8367f99ff41780942498" shlib_provides="libvosk.so" patch_args="-Np1 -d ${pkgname}-${version}" From 4f21e371b6065e429b9bf2be765b879bc7edd710 Mon Sep 17 00:00:00 2001 From: John Gebbie Date: Sat, 11 Feb 2023 11:25:46 +0000 Subject: [PATCH 2/2] vosk-api: use shared libs --- srcpkgs/vosk-api/patches/kaldi-lapack.patch | 45 ------------- .../vosk-api/patches/kaldi-lapack.patch.args | 1 - srcpkgs/vosk-api/patches/vosk-lapack.patch | 41 ------------ srcpkgs/vosk-api/patches/vosk-openblas.patch | 64 +++++++++++++++++++ srcpkgs/vosk-api/template | 8 +-- 5 files changed, 68 insertions(+), 91 deletions(-) delete mode 100644 srcpkgs/vosk-api/patches/kaldi-lapack.patch delete mode 100644 srcpkgs/vosk-api/patches/kaldi-lapack.patch.args delete mode 100644 srcpkgs/vosk-api/patches/vosk-lapack.patch create mode 100644 srcpkgs/vosk-api/patches/vosk-openblas.patch diff --git a/srcpkgs/vosk-api/patches/kaldi-lapack.patch b/srcpkgs/vosk-api/patches/kaldi-lapack.patch deleted file mode 100644 index 9fdd3a11eb65..000000000000 --- a/srcpkgs/vosk-api/patches/kaldi-lapack.patch +++ /dev/null @@ -1,45 +0,0 @@ -https://github.com/alphacep/kaldi/pull/5 -From 5f70761ecdf497cf55ca730187ab6ab38589ef0f Mon Sep 17 00:00:00 2001 -From: John Gebbie -Date: Sat, 3 Dec 2022 17:59:32 +0000 -Subject: [PATCH] Add OPENBLAS_NO_F2C math library option - ---- - src/configure | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -diff --git a/src/configure b/src/configure -index ed62daa5017..1d78489d55e 100755 ---- a/src/configure -+++ b/src/configure -@@ -834,7 +834,7 @@ auto_lib= # Deduced lib name, used when $MATHLIB is not set. - - # Validate the (optionally) provided MATHLIB value. - case $MATHLIB in -- ''|ATLAS|CLAPACK|MKL|OPENBLAS|OPENBLAS_CLAPACK) : ;; -+ ''|ATLAS|CLAPACK|MKL|OPENBLAS|OPENBLAS_CLAPACK|OPENBLAS_NO_F2C) : ;; - *) failure "Unknown --mathlib='${MATHLIB}'. Supported libs: ATLAS CLAPACK MKL OPENBLAS" ;; - esac - -@@ -1301,7 +1301,7 @@ or try another math library, e.g. --mathlib=OPENBLAS (Kaldi may be slower)." - esac >> kaldi.mk - - echo "Successfully configured for Linux with OpenBLAS from $OPENBLASROOT" -- elif [ "$MATHLIB" == "OPENBLAS_CLAPACK" ]; then -+ elif [ "$MATHLIB" == "OPENBLAS_CLAPACK" ] || [ "$MATHLIB" == "OPENBLAS_NO_F2C" ]; then - if [[ ! $OPENBLASROOT ]]; then - # Either the user specified --mathlib=OPENBLAS or we've autodetected the - # system where OpenBLAS is the preferred option (the parser for -@@ -1345,7 +1345,11 @@ or try another math library, e.g. --mathlib=OPENBLAS (Kaldi may be slower)." - OPENBLASINCDIR="/usr/include" - fi - echo "Your math library seems to be OpenBLAS from $OPENBLASROOT. Configuring appropriately." -- OPENBLASLIBS="-L$OPENBLASLIBDIR -l:libopenblas.a -l:libblas.a -l:liblapack.a -l:libf2c.a" -+ if [ "$MATHLIB" == "OPENBLAS_CLAPACK" ]; then -+ OPENBLASLIBS="-L$OPENBLASLIBDIR -l:libopenblas.a -l:libblas.a -l:liblapack.a -l:libf2c.a" -+ else -+ OPENBLASLIBS="-L$OPENBLASLIBDIR -l:libopenblas.a -l:libblas.a -l:liblapack.a" -+ fi - echo "OPENBLASINC = $OPENBLASINCDIR" >> kaldi.mk - echo "OPENBLASLIBS = $OPENBLASLIBS" >> kaldi.mk - echo >> kaldi.mk diff --git a/srcpkgs/vosk-api/patches/kaldi-lapack.patch.args b/srcpkgs/vosk-api/patches/kaldi-lapack.patch.args deleted file mode 100644 index b5c52a09e494..000000000000 --- a/srcpkgs/vosk-api/patches/kaldi-lapack.patch.args +++ /dev/null @@ -1 +0,0 @@ --Np1 -d kaldi diff --git a/srcpkgs/vosk-api/patches/vosk-lapack.patch b/srcpkgs/vosk-api/patches/vosk-lapack.patch deleted file mode 100644 index 1b2fd6bd6c1d..000000000000 --- a/srcpkgs/vosk-api/patches/vosk-lapack.patch +++ /dev/null @@ -1,41 +0,0 @@ -https://github.com/alphacep/vosk-api/pull/1215 -From 6c28207334bb1281d98a94f799757fdfa8f6b336 Mon Sep 17 00:00:00 2001 -From: John Gebbie -Date: Sat, 3 Dec 2022 17:53:21 +0000 -Subject: [PATCH] Add OPENBLAS_NO_F2C math library option - ---- - src/Makefile | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -diff --git a/src/Makefile b/src/Makefile -index cd697b15..97654883 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -7,6 +7,7 @@ CUDA_ROOT?=/usr/local/cuda - USE_SHARED?=0 - # Math libraries - HAVE_OPENBLAS_CLAPACK?=1 -+HAVE_OPENBLAS_NO_F2C?=0 - HAVE_MKL?=0 - HAVE_ACCELERATE=0 - HAVE_CUDA?=0 -@@ -80,6 +81,18 @@ ifeq ($(HAVE_OPENBLAS_CLAPACK), 1) - endif - endif - -+ifeq ($(HAVE_OPENBLAS_NO_F2C), 1) -+ CFLAGS += -I$(OPENBLAS_ROOT)/include -+ ifeq ($(USE_SHARED), 0) -+ LIBS += \ -+ $(OPENBLAS_ROOT)/lib/libopenblas.a \ -+ $(OPENBLAS_ROOT)/lib/liblapack.a \ -+ $(OPENBLAS_ROOT)/lib/libblas.a -+ else -+ LDFLAGS += -lopenblas -llapack -lblas -+ endif -+endif -+ - ifeq ($(HAVE_MKL), 1) - CFLAGS += -DHAVE_MKL=1 -I$(MKL_ROOT)/include - LDFLAGS += -L$(MKL_ROOT)/lib/intel64 -Wl,-rpath=$(MKL_ROOT)/lib/intel64 -lmkl_rt -lmkl_intel_lp64 -lmkl_core -lmkl_sequential diff --git a/srcpkgs/vosk-api/patches/vosk-openblas.patch b/srcpkgs/vosk-api/patches/vosk-openblas.patch new file mode 100644 index 000000000000..1755119444fd --- /dev/null +++ b/srcpkgs/vosk-api/patches/vosk-openblas.patch @@ -0,0 +1,64 @@ +https://github.com/alphacep/vosk-api/pull/1268 +From 461e869b29df58b824292c5564b743619770e5fd Mon Sep 17 00:00:00 2001 +From: John Gebbie +Date: Thu, 9 Feb 2023 18:45:53 +0000 +Subject: [PATCH] Add OPENBLAS and USE_SHARED_MATH + +--- + src/Makefile | 17 ++++++++++++++--- + 1 file changed, 14 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile b/src/Makefile +index cd697b1..56cb306 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -4,9 +4,11 @@ OPENFST_ROOT?=$(KALDI_ROOT)/tools/openfst + OPENBLAS_ROOT?=$(KALDI_ROOT)/tools/OpenBLAS/install + MKL_ROOT?=/opt/intel/mkl + CUDA_ROOT?=/usr/local/cuda +-USE_SHARED?=0 ++USE_SHARED_KALDI?=0 ++USE_SHARED_MATH?=0 + # Math libraries + HAVE_OPENBLAS_CLAPACK?=1 ++HAVE_OPENBLAS?=0 + HAVE_MKL?=0 + HAVE_ACCELERATE=0 + HAVE_CUDA?=0 +@@ -37,7 +39,7 @@ CFLAGS=-g -O3 -std=c++17 -Wno-deprecated-declarations -fPIC -DFST_NO_DYNAMIC_LIN + + LDFLAGS= + +-ifeq ($(USE_SHARED), 0) ++ifeq ($(USE_SHARED_KALDI), 0) + LIBS = \ + $(KALDI_ROOT)/src/online2/kaldi-online2.a \ + $(KALDI_ROOT)/src/decoder/kaldi-decoder.a \ +@@ -69,7 +71,7 @@ endif + + ifeq ($(HAVE_OPENBLAS_CLAPACK), 1) + CFLAGS += -I$(OPENBLAS_ROOT)/include +- ifeq ($(USE_SHARED), 0) ++ ifeq ($(USE_SHARED_MATH), 0) + LIBS += \ + $(OPENBLAS_ROOT)/lib/libopenblas.a \ + $(OPENBLAS_ROOT)/lib/liblapack.a \ +@@ -80,6 +82,15 @@ ifeq ($(HAVE_OPENBLAS_CLAPACK), 1) + endif + endif + ++ifeq ($(HAVE_OPENBLAS), 1) ++ CFLAGS += -I$(OPENBLAS_ROOT)/include ++ ifeq ($(USE_SHARED_MATH), 0) ++ LIBS += $(OPENBLAS_ROOT)/lib/libopenblas.a ++ else ++ LDFLAGS += -lopenblas -lgfortran ++ endif ++endif ++ + ifeq ($(HAVE_MKL), 1) + CFLAGS += -DHAVE_MKL=1 -I$(MKL_ROOT)/include + LDFLAGS += -L$(MKL_ROOT)/lib/intel64 -Wl,-rpath=$(MKL_ROOT)/lib/intel64 -lmkl_rt -lmkl_intel_lp64 -lmkl_core -lmkl_sequential +-- +2.38.3 + diff --git a/srcpkgs/vosk-api/template b/srcpkgs/vosk-api/template index 41d53e654042..9f1cc0ce0403 100644 --- a/srcpkgs/vosk-api/template +++ b/srcpkgs/vosk-api/template @@ -9,8 +9,8 @@ build_wrksrc="vosk-api-${version}/src" _kaldi_commit=93ef0019b847272a239fbb485ef97f29feb1d587 build_style=gnu-makefile make_use_env=yes -make_build_args="KALDI_ROOT=../../kaldi HAVE_OPENBLAS_NO_F2C=1 HAVE_OPENBLAS_CLAPACK=0" -makedepends="blas-devel lapack-devel openblas-devel libgomp-devel openfst-devel" +make_build_args="KALDI_ROOT=../../kaldi USE_SHARED_MATH=1 HAVE_OPENBLAS=1 HAVE_OPENBLAS_CLAPACK=0" +makedepends="libgfortran openblas-devel libgomp-devel openfst" short_desc="Offline speech recognition toolkit" maintainer="John Gebbie " license="Apache-2.0" @@ -41,7 +41,7 @@ post_extract() { pre_build() { cd "${wrksrc}/kaldi/src" - ./configure ${CROSS_BUILD:+--host="${XBPS_CROSS_TRIPLET}"} --mathlib=OPENBLAS_NO_F2C --shared --use-cuda=no + ./configure ${CROSS_BUILD:+--host="${XBPS_CROSS_TRIPLET}"} --mathlib=OPENBLAS --shared --use-cuda=no make online2 lm rnnlm } @@ -57,7 +57,7 @@ do_check() { cd "${wrksrc}/vosk-api-${version}/c" ln -sf "${wrksrc}/vosk-model-small-en-us-0.15" model ln -sf ../python/example/test.wav . - ldflags="-fopenmp -L../src -lvosk -ldl -lpthread -Wl,-rpath,../src" + ldflags="-fopenmp -L../src -lvosk -ldl -lpthread -lopenblas -lgfortran -Wl,-rpath,../src" if [ "$XBPS_TARGET_LIBC" = musl ]; then ldflags+=" -lexecinfo" fi