diff --git a/libs/lapack/0001-Restore-Missing-Prototypes.patch b/libs/lapack/0001-Restore-Missing-Prototypes.patch new file mode 100644 index 00000000..9c0fb4e5 --- /dev/null +++ b/libs/lapack/0001-Restore-Missing-Prototypes.patch @@ -0,0 +1,138 @@ +From 87536aa3c8bb0af00f66088fb6ac05d87509e011 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= +Date: Sat, 23 Nov 2019 12:22:20 +0100 +Subject: [PATCH] Restore missing prototypes for deprecated LAPACK functions + +Some LAPACK functions prototypes were inadvertedly dropped in 3.9.0. As a +consequence, LAPACKE has several unresolved symbols. + +Closes #365 +--- + LAPACKE/include/lapack.h | 100 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 100 insertions(+) + +diff --git a/LAPACKE/include/lapack.h b/LAPACKE/include/lapack.h +index 3f425325f..5c131d844 100644 +--- a/LAPACKE/include/lapack.h ++++ b/LAPACKE/include/lapack.h +@@ -1842,6 +1842,28 @@ void LAPACK_zgeqlf( + lapack_complex_double* work, lapack_int const* lwork, + lapack_int* info ); + ++#define LAPACK_sgeqpf LAPACK_GLOBAL(sgeqpf,SGEQPF) ++void LAPACK_sgeqpf( lapack_int* m, lapack_int* n, float* a, lapack_int* lda, ++ lapack_int* jpvt, float* tau, float* work, ++ lapack_int *info ); ++ ++#define LAPACK_dgeqpf LAPACK_GLOBAL(dgeqpf,DGEQPF) ++void LAPACK_dgeqpf( lapack_int* m, lapack_int* n, double* a, lapack_int* lda, ++ lapack_int* jpvt, double* tau, double* work, ++ lapack_int *info ); ++ ++#define LAPACK_cgeqpf LAPACK_GLOBAL(cgeqpf,CGEQPF) ++void LAPACK_cgeqpf( lapack_int* m, lapack_int* n, lapack_complex_float* a, ++ lapack_int* lda, lapack_int* jpvt, ++ lapack_complex_float* tau, lapack_complex_float* work, ++ float* rwork, lapack_int *info ); ++ ++#define LAPACK_zgeqpf LAPACK_GLOBAL(zgeqpf,ZGEQPF) ++void LAPACK_zgeqpf( lapack_int* m, lapack_int* n, lapack_complex_double* a, ++ lapack_int* lda, lapack_int* jpvt, ++ lapack_complex_double* tau, lapack_complex_double* work, ++ double* rwork, lapack_int *info ); ++ + #define LAPACK_cgeqp3 LAPACK_GLOBAL(cgeqp3,CGEQP3) + void LAPACK_cgeqp3( + lapack_int const* m, lapack_int const* n, +@@ -3617,6 +3639,47 @@ void LAPACK_zggrqf( + lapack_complex_double* work, lapack_int const* lwork, + lapack_int* info ); + ++#define LAPACK_sggsvd LAPACK_GLOBAL(sggsvd,SGGSVD) ++lapack_int LAPACKE_sggsvd( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int n, lapack_int p, ++ lapack_int* k, lapack_int* l, float* a, ++ lapack_int lda, float* b, lapack_int ldb, ++ float* alpha, float* beta, float* u, lapack_int ldu, ++ float* v, lapack_int ldv, float* q, lapack_int ldq, ++ lapack_int* iwork ); ++ ++#define LAPACK_dggsvd LAPACK_GLOBAL(dggsvd,DGGSVD) ++lapack_int LAPACKE_dggsvd( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int n, lapack_int p, ++ lapack_int* k, lapack_int* l, double* a, ++ lapack_int lda, double* b, lapack_int ldb, ++ double* alpha, double* beta, double* u, ++ lapack_int ldu, double* v, lapack_int ldv, double* q, ++ lapack_int ldq, lapack_int* iwork ); ++ ++#define LAPACK_cggsvd LAPACK_GLOBAL(cggsvd,CGGSVD) ++lapack_int LAPACKE_cggsvd( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int n, lapack_int p, ++ lapack_int* k, lapack_int* l, ++ lapack_complex_float* a, lapack_int lda, ++ lapack_complex_float* b, lapack_int ldb, ++ float* alpha, float* beta, lapack_complex_float* u, ++ lapack_int ldu, lapack_complex_float* v, ++ lapack_int ldv, lapack_complex_float* q, ++ lapack_int ldq, lapack_int* iwork ); ++ ++#define LAPACK_zggsvd LAPACK_GLOBAL(zggsvd,ZGGSVD) ++lapack_int LAPACKE_zggsvd( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int n, lapack_int p, ++ lapack_int* k, lapack_int* l, ++ lapack_complex_double* a, lapack_int lda, ++ lapack_complex_double* b, lapack_int ldb, ++ double* alpha, double* beta, ++ lapack_complex_double* u, lapack_int ldu, ++ lapack_complex_double* v, lapack_int ldv, ++ lapack_complex_double* q, lapack_int ldq, ++ lapack_int* iwork ); ++ + #define LAPACK_cggsvd3 LAPACK_GLOBAL(cggsvd3,CGGSVD3) + void LAPACK_cggsvd3( + char const* jobu, char const* jobv, char const* jobq, +@@ -3679,6 +3742,43 @@ void LAPACK_zggsvd3( + lapack_int* iwork, + lapack_int* info ); + ++#define LAPACK_sggsvp LAPACK_GLOBAL(sggsvp,SGGSVP) ++lapack_int LAPACKE_sggsvp( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int p, lapack_int n, float* a, ++ lapack_int lda, float* b, lapack_int ldb, float tola, ++ float tolb, lapack_int* k, lapack_int* l, float* u, ++ lapack_int ldu, float* v, lapack_int ldv, float* q, ++ lapack_int ldq ); ++ ++#define LAPACK_dggsvp LAPACK_GLOBAL(dggsvp,DGGSVP) ++lapack_int LAPACKE_dggsvp( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int p, lapack_int n, double* a, ++ lapack_int lda, double* b, lapack_int ldb, ++ double tola, double tolb, lapack_int* k, ++ lapack_int* l, double* u, lapack_int ldu, double* v, ++ lapack_int ldv, double* q, lapack_int ldq ); ++ ++#define LAPACK_cggsvp LAPACK_GLOBAL(cggsvp,CGGSVP) ++lapack_int LAPACKE_cggsvp( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int p, lapack_int n, ++ lapack_complex_float* a, lapack_int lda, ++ lapack_complex_float* b, lapack_int ldb, float tola, ++ float tolb, lapack_int* k, lapack_int* l, ++ lapack_complex_float* u, lapack_int ldu, ++ lapack_complex_float* v, lapack_int ldv, ++ lapack_complex_float* q, lapack_int ldq ); ++ ++#define LAPACK_zggsvp LAPACK_GLOBAL(zggsvp,ZGGSVP) ++lapack_int LAPACKE_zggsvp( int matrix_layout, char jobu, char jobv, char jobq, ++ lapack_int m, lapack_int p, lapack_int n, ++ lapack_complex_double* a, lapack_int lda, ++ lapack_complex_double* b, lapack_int ldb, ++ double tola, double tolb, lapack_int* k, ++ lapack_int* l, lapack_complex_double* u, ++ lapack_int ldu, lapack_complex_double* v, ++ lapack_int ldv, lapack_complex_double* q, ++ lapack_int ldq ); ++ + #define LAPACK_cggsvp3 LAPACK_GLOBAL(cggsvp3,CGGSVP3) + void LAPACK_cggsvp3( + char const* jobu, char const* jobv, char const* jobq, diff --git a/libs/lapack/lapack.py b/libs/lapack/lapack.py new file mode 100644 index 00000000..2f881773 --- /dev/null +++ b/libs/lapack/lapack.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +import info + +class subinfo(info.infoclass): + def setTargets(self): + self.versionInfo.setDefaultValues() + self.description = "Linear Algebra PACKage." + self.webpage = "https://www.netlib.org/lapack" + self.displayName = "lapack" + self.patchToApply['3.9.0'] = [ + ("0001-Restore-Missing-Prototypes.patch", 1), # https://github.com/Reference-LAPACK/lapack/commit/87536aa3.patch + ] + + def setDependencies(self): + self.buildDependencies["virtual/base"] = None + + +from Package.CMakePackageBase import * + +class Package(CMakePackageBase): + def __init__(self): + CMakePackageBase.__init__(self) + self.subinfo.options.configure.args = "-DCMAKE_SKIP_RPATH=ON -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DLAPACKE_WITH_TMG=ON -DCBLAS=ON -DBUILD_DEPRECATED=ON" diff --git a/libs/lapack/version.ini b/libs/lapack/version.ini new file mode 100644 index 00000000..568607da --- /dev/null +++ b/libs/lapack/version.ini @@ -0,0 +1,9 @@ +[General] +name = lapack +tags = +branches = master +tarballs = 3.9.0 +defaulttarget = 3.9.0 +tarballUrl = https://github.com/Reference-LAPACK/lapack/archive/v${VERSION}.tar.gz +tarballInstallSrc = lapack-${VERSION} +gitUrl = https://github.com/Reference-LAPACK/lapack.git diff --git a/libs/pocketsphinx/pocketsphinx.py b/libs/pocketsphinx/pocketsphinx.py new file mode 100644 index 00000000..bc188967 --- /dev/null +++ b/libs/pocketsphinx/pocketsphinx.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +import info + +class subinfo(info.infoclass): + def setTargets(self): + self.versionInfo.setDefaultValues() + self.description = "Lightweight speech recognition engine." + self.webpage = "http://cmusphinx.sourceforge.net/" + self.displayName = "PocketSphinx" + + def setDependencies(self): + self.buildDependencies["virtual/base"] = None + self.runtimeDependencies["libs/sphinxbase"] = None + + +from Package.AutoToolsPackageBase import * + +class Package(AutoToolsPackageBase): + def __init__(self): + AutoToolsPackageBase.__init__(self) + self.subinfo.options.configure.args = "--enable-shared --disable-static --without-python" + + def configure(self): + if not super().configure(): + return False + fileName = os.path.join(self.buildDir(), "Makefile") + with open(fileName, "rt") as f: + content = f.read() + with open(fileName, "wt") as f: + f.write(re.compile('(SUBDIRS\\s*=.*)\\bdoc\\b').sub('\\1', content)) + return True diff --git a/libs/pocketsphinx/version.ini b/libs/pocketsphinx/version.ini new file mode 100644 index 00000000..43ff358f --- /dev/null +++ b/libs/pocketsphinx/version.ini @@ -0,0 +1,9 @@ +[General] +name = pocketsphinx +tags = +branches = master +tarballs = e40da77a85edbb5d79b92bf1dcb927d94e43e07d +defaulttarget = e40da77a85edbb5d79b92bf1dcb927d94e43e07d +tarballUrl = https://github.com/cmusphinx/pocketsphinx/archive/${VERSION}.zip +tarballInstallSrc = pocketsphinx-${VERSION} +gitUrl = https://github.com/cmusphinx/pocketsphinx.git diff --git a/libs/sphinxbase/sphinxbase.py b/libs/sphinxbase/sphinxbase.py new file mode 100644 index 00000000..1a056b29 --- /dev/null +++ b/libs/sphinxbase/sphinxbase.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +import info + +class subinfo(info.infoclass): + def setTargets(self): + self.versionInfo.setDefaultValues() + self.description = "Common library for sphinx speech recognition." + self.webpage = "http://cmusphinx.sourceforge.net/" + self.displayName = "SphinxBase" + + def setDependencies(self): + self.buildDependencies["virtual/base"] = None + self.runtimeDependencies["libs/lapack"] = None + + +from Package.AutoToolsPackageBase import * + +class Package(AutoToolsPackageBase): + def __init__(self): + AutoToolsPackageBase.__init__(self) + self.subinfo.options.configure.args = "--enable-shared --disable-static --without-python" + + def configure(self): + if not super().configure(): + return False + fileName = os.path.join(self.buildDir(), "Makefile") + with open(fileName, "rt") as f: + content = f.read() + with open(fileName, "wt") as f: + f.write(re.compile('(SUBDIRS\\s*=.*)\\bdoc\\b').sub('\\1', content)) + return True diff --git a/libs/sphinxbase/version.ini b/libs/sphinxbase/version.ini new file mode 100644 index 00000000..7acfbab5 --- /dev/null +++ b/libs/sphinxbase/version.ini @@ -0,0 +1,9 @@ +[General] +name = sphinxbase +tags = +branches = master +tarballs = 057d423ddddea2351678abd0d29b5f1463a343c7 +defaulttarget = 057d423ddddea2351678abd0d29b5f1463a343c7 +tarballUrl = https://github.com/cmusphinx/sphinxbase/archive/${VERSION}.zip +tarballInstallSrc = sphinxbase-${VERSION} +gitUrl = https://github.com/cmusphinx/sphinxbase.git