summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorprlw1 <prlw1@pkgsrc.org>2021-03-17 17:20:00 +0000
committerprlw1 <prlw1@pkgsrc.org>2021-03-17 17:20:00 +0000
commit1aca856fb3dbf2540bd502a4803d6d807e88867e (patch)
tree2c484ecc2d5a1a112a9b87d9af79d6d65474ab0c /math
parentc14c907b09c7d717a18e6b0848e1a535a3e0428f (diff)
downloadpkgsrc-1aca856fb3dbf2540bd502a4803d6d807e88867e.tar.gz
Update eigen3 to 3.3.9
Many fixes including a gcc10 compilation issue. Full list at https://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.9
Diffstat (limited to 'math')
-rw-r--r--math/eigen3/DESCR19
-rw-r--r--math/eigen3/Makefile19
-rw-r--r--math/eigen3/distinfo11
-rw-r--r--math/eigen3/patches/patch-Eigen_src_Core_arch_CUDA_Half.h12
4 files changed, 19 insertions, 42 deletions
diff --git a/math/eigen3/DESCR b/math/eigen3/DESCR
index 60e78c89451..d45093cd182 100644
--- a/math/eigen3/DESCR
+++ b/math/eigen3/DESCR
@@ -1,10 +1,7 @@
-Eigen 3 is a C++ template library for linear algebra: vectors, matrices, and
-related algorithms. It is:
-* Versatile. Eigen handles, without code duplication, and in a completely
- integrated way:
+Eigen 3 is a C++ template library for linear algebra: It is:
+* Versatile. Eigen handles and in a completely integrated way:
o both fixed-size and dynamic-size matrices and vectors.
- o both dense and sparse (the latter is still experimental) matrices and
- vectors.
+ o both dense and sparse matrices and vectors.
o both plain matrices/vectors and abstract expressions.
o both column-major (the default) and row-major matrix storage.
o both basic matrix/vector manipulation and many more advanced, specialized
@@ -12,12 +9,9 @@ related algorithms. It is:
or advanced array manipulation.
* Fast.
o Expression templates allow to intelligently remove temporaries and enable
- lazy evaluation, when that is appropriate -- Eigen takes care of this
- automatically and handles aliasing too in most cases.
+ lazy evaluation, when that is appropriate.
o Explicit vectorization is performed for the SSE (2 and later) and AltiVec
instruction sets, with graceful fallback to non-vectorized code.
- Expression templates allow to perform these optimizations globally for
- whole expressions.
o With fixed-size objects, dynamic memory allocation is avoided, and the
loops are unrolled when that makes sense.
o For large matrices, special attention is paid to cache-friendliness.
@@ -26,6 +20,5 @@ related algorithms. It is:
pseudocode. You can use complex expressions and still rely on Eigen to
produce optimized code: there is no need for you to manually decompose
expressions into small steps.
-* Compiler-friendy. Eigen has very reasonable compilation times at least with
- GCC, compared to other C++ libraries based on expression templates and heavy
- metaprogramming. Eigen is also standard C++ and supports various compilers.
+* Compiler-friendy. Eigen has good compiler support, is standard C++98 and
+ maintains very reasonable compilation times.
diff --git a/math/eigen3/Makefile b/math/eigen3/Makefile
index 7be42e95b82..2f2f6256db4 100644
--- a/math/eigen3/Makefile
+++ b/math/eigen3/Makefile
@@ -1,26 +1,23 @@
-# $NetBSD: Makefile,v 1.13 2020/04/18 22:01:56 joerg Exp $
+# $NetBSD: Makefile,v 1.14 2021/03/17 17:20:00 prlw1 Exp $
-DISTNAME= 3.3.7
-PKGNAME= eigen3-${DISTNAME}
-PKGREVISION= 2
+DISTNAME= eigen-3.3.9
+PKGNAME= ${DISTNAME:S/eigen/eigen3/}
CATEGORIES= math
-MASTER_SITES= http://bitbucket.org/eigen/eigen/get/
-DIST_SUBDIR= eigen3
+MASTER_SITES= https://gitlab.com/libeigen/eigen/-/archive/3.3.9/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
-HOMEPAGE= http://eigen.tuxfamily.org/
+HOMEPAGE= https://eigen.tuxfamily.org/
COMMENT= C++ template library for linear algebra
LICENSE= mpl-2.0
-USE_LANGUAGES+= c c++
+USE_LANGUAGES= c c++
USE_CMAKE= yes
CMAKE_ARG_PATH= ..
CONFIGURE_DIRS= _build
-WRKSRC= ${WRKDIR}/eigen-eigen-323c052e1731
-CMAKE_ARGS+= -DCMAKEPACKAGE_INSTALL_DIR=${PREFIX}/lib/cmake/eigen3
-CMAKE_ARGS+= -DPKGCONFIG_INSTALL_DIR=${PREFIX}/lib/pkgconfig
+CMAKE_ARGS+= -DCMAKEPACKAGE_INSTALL_DIR=lib/cmake/eigen3
+CMAKE_ARGS+= -DPKGCONFIG_INSTALL_DIR=lib/pkgconfig
PKGCONFIG_OVERRIDE+= eigen3.pc.in
diff --git a/math/eigen3/distinfo b/math/eigen3/distinfo
index 20c569931d1..f6c15d5c976 100644
--- a/math/eigen3/distinfo
+++ b/math/eigen3/distinfo
@@ -1,8 +1,7 @@
-$NetBSD: distinfo,v 1.12 2020/04/18 22:01:56 joerg Exp $
+$NetBSD: distinfo,v 1.13 2021/03/17 17:20:00 prlw1 Exp $
-SHA1 (eigen3/3.3.7.tar.bz2) = a06faa6f358d5d1ca0da7cddb95da39e436dc9e8
-RMD160 (eigen3/3.3.7.tar.bz2) = 3330627708f54055a282ccfbae395f2b2f0885e9
-SHA512 (eigen3/3.3.7.tar.bz2) = c12bfd034d0a1112bf2df3f773ad98f36b2b53fbbfceac5f143ee1793322746fb8a6546d7db7da2a1000da6a535bd8cea0c4125b549afc90a6570743b02dcf3d
-Size (eigen3/3.3.7.tar.bz2) = 1665168 bytes
+SHA1 (eigen-3.3.9.tar.bz2) = 516322dc3d98f7f6d20f11050da43084f68e6c71
+RMD160 (eigen-3.3.9.tar.bz2) = f100af009a9b72532653d0e90eb81f12379f97a1
+SHA512 (eigen-3.3.9.tar.bz2) = 6f222e27480d02d90f258c94a4a4787771491fc30c73d5fb025a8089484fdeb2c65d464172f5c29d0c3096b69ff98027a18a40c04b006da670733a2c75f55b65
+Size (eigen-3.3.9.tar.bz2) = 1667231 bytes
SHA1 (patch-Eigen_src_Core_IO.h) = 5798b47107799e4b8976af88630e8f79e5d2f18e
-SHA1 (patch-Eigen_src_Core_arch_CUDA_Half.h) = d346f21aeff79937ecc40ce621ef1c5f3cf93023
diff --git a/math/eigen3/patches/patch-Eigen_src_Core_arch_CUDA_Half.h b/math/eigen3/patches/patch-Eigen_src_Core_arch_CUDA_Half.h
deleted file mode 100644
index 1aaf5f9cd15..00000000000
--- a/math/eigen3/patches/patch-Eigen_src_Core_arch_CUDA_Half.h
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-Eigen_src_Core_arch_CUDA_Half.h,v 1.1 2020/04/18 22:01:57 joerg Exp $
-
---- Eigen/src/Core/arch/CUDA/Half.h.orig 2020-04-18 02:57:48.859229525 +0000
-+++ Eigen/src/Core/arch/CUDA/Half.h
-@@ -42,6 +42,7 @@
- #define EIGEN_EXPLICIT_CAST(tgt_type) operator tgt_type()
- #endif
-
-+#include <ostream>
-
- namespace Eigen {
-