git: db5eeb201b93 - main - math/blaspp: New port: C++ API for the Basic Linear Algebra Subroutines

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Mon, 04 Jul 2022 20:29:17 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=db5eeb201b93c19c42724ec98f8ca1be9e88db15

commit db5eeb201b93c19c42724ec98f8ca1be9e88db15
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-07-04 19:43:31 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-07-04 20:29:14 +0000

    math/blaspp: New port: C++ API for the Basic Linear Algebra Subroutines
---
 math/Makefile         |  1 +
 math/blaspp/Makefile  | 21 +++++++++++++++++++++
 math/blaspp/distinfo  |  3 +++
 math/blaspp/pkg-descr | 12 ++++++++++++
 math/blaspp/pkg-plist | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 86 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 4cb265f73493..536cc9c7b617 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -187,6 +187,7 @@
     SUBDIR += blahtexml
     SUBDIR += blas
     SUBDIR += blasfeo
+    SUBDIR += blaspp
     SUBDIR += blaze
     SUBDIR += blazeiterative
     SUBDIR += blis
diff --git a/math/blaspp/Makefile b/math/blaspp/Makefile
new file mode 100644
index 000000000000..bf3eec02c76f
--- /dev/null
+++ b/math/blaspp/Makefile
@@ -0,0 +1,21 @@
+PORTNAME=	blaspp
+DISTVERSION=	2022.05.00
+CATEGORIES=	math
+MASTER_SITES=	https://bitbucket.org/icl/blaspp/downloads/
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	C++ API for the Basic Linear Algebra Subroutines
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libopenblas.so:math/openblas
+TEST_DEPENDS=	cblas>0:math/cblas
+
+USES=		cmake:testing fortran localbase # fails to find openblas w/out USES=fortran for some reason, needs investigation
+
+CMAKE_OFF=	build_tests
+CMAKE_TESTING_ON=	build_tests # tests fail to run, see https://bitbucket.org/icl/blaspp/issues/19/tests-arent-run-with-tester-target-when
+CMAKE_TESTING_TARGET=	tester
+
+.include <bsd.port.mk>
diff --git a/math/blaspp/distinfo b/math/blaspp/distinfo
new file mode 100644
index 000000000000..fc5b2a32dbf7
--- /dev/null
+++ b/math/blaspp/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1656962327
+SHA256 (blaspp-2022.05.00.tar.gz) = 696277859bc1bd9c0aeb0cb170a1e259765c0a86af49b20afa0ffcbabc3e207e
+SIZE (blaspp-2022.05.00.tar.gz) = 596268
diff --git a/math/blaspp/pkg-descr b/math/blaspp/pkg-descr
new file mode 100644
index 000000000000..f923a8d0b798
--- /dev/null
+++ b/math/blaspp/pkg-descr
@@ -0,0 +1,12 @@
+The objective of BLAS++ is to provide a convenient, performance
+oriented API for development in the C++ language, that, for the most
+part, preserves established conventions, while, at the same time,
+takes advantages of modern C++ features, such as: namespaces,
+templates, exceptions, etc.
+
+BLAS++ is part of the SLATE project (Software for Linear Algebra
+Targeting Exascale), which is funded by the Department of Energy as
+part of its Exascale Computing Initiative (ECP). Closely related to
+BLAS++ is the LAPACK++ project, which provides a C++ API for LAPACK.
+
+WWW: https://bitbucket.org/icl/blaspp/src/master/
diff --git a/math/blaspp/pkg-plist b/math/blaspp/pkg-plist
new file mode 100644
index 000000000000..7e6b23a469fb
--- /dev/null
+++ b/math/blaspp/pkg-plist
@@ -0,0 +1,49 @@
+include/blas.hh
+include/blas/asum.hh
+include/blas/axpy.hh
+include/blas/batch_common.hh
+include/blas/config.h
+include/blas/copy.hh
+include/blas/defines.h
+include/blas/device.hh
+include/blas/device_blas.hh
+include/blas/dot.hh
+include/blas/dotu.hh
+include/blas/flops.hh
+include/blas/fortran.h
+include/blas/gemm.hh
+include/blas/gemv.hh
+include/blas/ger.hh
+include/blas/geru.hh
+include/blas/hemm.hh
+include/blas/hemv.hh
+include/blas/her.hh
+include/blas/her2.hh
+include/blas/her2k.hh
+include/blas/herk.hh
+include/blas/iamax.hh
+include/blas/mangling.h
+include/blas/nrm2.hh
+include/blas/rot.hh
+include/blas/rotg.hh
+include/blas/rotm.hh
+include/blas/rotmg.hh
+include/blas/scal.hh
+include/blas/swap.hh
+include/blas/symm.hh
+include/blas/symv.hh
+include/blas/syr.hh
+include/blas/syr2.hh
+include/blas/syr2k.hh
+include/blas/syrk.hh
+include/blas/trmm.hh
+include/blas/trmv.hh
+include/blas/trsm.hh
+include/blas/trsv.hh
+include/blas/util.hh
+include/blas/wrappers.hh
+lib/blaspp/blasppConfig.cmake
+lib/blaspp/blasppConfigVersion.cmake
+lib/blaspp/blasppTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/blaspp/blasppTargets.cmake
+lib/libblaspp.so