diff options
Diffstat (limited to 'math/eigen3')
-rw-r--r-- | math/eigen3/Makefile | 23 | ||||
-rw-r--r-- | math/eigen3/distinfo | 6 | ||||
-rw-r--r-- | math/eigen3/files/patch-Eigen_src_Core_products_Parallelizer.h | 31 | ||||
-rw-r--r-- | math/eigen3/files/patch-test_CMakeLists.txt | 11 |
4 files changed, 62 insertions, 9 deletions
diff --git a/math/eigen3/Makefile b/math/eigen3/Makefile index 1d42bb236f32..59c5eda36a3d 100644 --- a/math/eigen3/Makefile +++ b/math/eigen3/Makefile @@ -1,11 +1,9 @@ # $FreeBSD$ PORTNAME= eigen -DISTVERSION= 3.3.7 +PORTVERSION= 3.3.8 CATEGORIES= math -MASTER_SITES= https://bitbucket.org/${PORTNAME}/${PORTNAME}/get/ -DISTNAME= ${PORTVERSION} -DIST_SUBDIR= ${PORTNAME} +MASTER_SITES= https://gitlab.com/libeigen/eigen/-/archive/${PORTVERSION}/ MAINTAINER= kde@FreeBSD.org COMMENT= Lightweight library for vector and matrix math @@ -15,11 +13,24 @@ LICENSE_COMB= multi LICENSE_FILE_LGPL21= ${WRKSRC}/COPYING.LGPL LICENSE_FILE_MPL20= ${WRKSRC}/COPYING.MPL2 -CMAKE_ARGS= -DPKGCONFIG_INSTALL_DIR:PATH="${PREFIX}/libdata/pkgconfig" +CMAKE_ARGS= -DPKGCONFIG_INSTALL_DIR:PATH="libdata/pkgconfig" USES= cmake tar:bzip2 NO_BUILD= yes NO_ARCH= yes -WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTNAME}-323c052e1731 +OPTIONS_DEFINE= FULL +OPTIONS_DEFAULT=FULL + +FULL_DESC= Add the support for math dependencies +FULL_CMAKE_ON= -DBLAS_DIR:PATH="${LOCALBASE}" +FULL_USES= blaslapack:openblas gl pkgconfig +FULL_USE= GL=gl glew glut +FULL_LIB_DEPENDS= libcholmod.so:math/suitesparse \ + libsuperlu.so:math/superlu \ + libadolc.so:math/adol-c \ + libfftw3.so:math/fftw3 \ + libmpfr.so:math/mpfr \ + libgmp.so:math/gmp \ + libboost_thread.so:devel/boost-libs .include <bsd.port.mk> diff --git a/math/eigen3/distinfo b/math/eigen3/distinfo index f4f4fb2ffbfc..d318df032633 100644 --- a/math/eigen3/distinfo +++ b/math/eigen3/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1544905503 -SHA256 (eigen/3.3.7.tar.bz2) = 9f13cf90dedbe3e52a19f43000d71fdf72e986beb9a5436dddcd61ff9d77a3ce -SIZE (eigen/3.3.7.tar.bz2) = 1665168 +TIMESTAMP = 1604406672 +SHA256 (eigen-3.3.8.tar.bz2) = 0215c6593c4ee9f1f7f28238c4e8995584ebf3b556e9dbf933d84feb98d5b9ef +SIZE (eigen-3.3.8.tar.bz2) = 1667794 diff --git a/math/eigen3/files/patch-Eigen_src_Core_products_Parallelizer.h b/math/eigen3/files/patch-Eigen_src_Core_products_Parallelizer.h new file mode 100644 index 000000000000..660759aff0a9 --- /dev/null +++ b/math/eigen3/files/patch-Eigen_src_Core_products_Parallelizer.h @@ -0,0 +1,31 @@ +--- Eigen/src/Core/products/Parallelizer.h.orig 2020-10-05 11:24:15 UTC ++++ Eigen/src/Core/products/Parallelizer.h +@@ -132,8 +132,7 @@ void parallelize_gemm(const Functor& func, Index rows, + + ei_declare_aligned_stack_constructed_variable(GemmParallelInfo<Index>,info,threads,0); + +- int errorCount = 0; +- #pragma omp parallel num_threads(threads) reduction(+: errorCount) ++ #pragma omp parallel num_threads(threads) + { + Index i = omp_get_thread_num(); + // Note that the actual number of threads might be lower than the number of request ones. +@@ -152,14 +151,11 @@ void parallelize_gemm(const Functor& func, Index rows, + info[i].lhs_start = r0; + info[i].lhs_length = actualBlockRows; + +- EIGEN_TRY { +- if(transpose) func(c0, actualBlockCols, 0, rows, info); +- else func(0, rows, c0, actualBlockCols, info); +- } EIGEN_CATCH(...) { +- ++errorCount; +- } ++ if(transpose) ++ func(c0, actualBlockCols, 0, rows, info); ++ else ++ func(0, rows, c0, actualBlockCols, info); + } +- if (errorCount) EIGEN_THROW_X(Eigen::eigen_assert_exception()); + #endif + } + diff --git a/math/eigen3/files/patch-test_CMakeLists.txt b/math/eigen3/files/patch-test_CMakeLists.txt new file mode 100644 index 000000000000..826374bc38f5 --- /dev/null +++ b/math/eigen3/files/patch-test_CMakeLists.txt @@ -0,0 +1,11 @@ +--- test/CMakeLists.txt.orig 2020-10-05 11:24:15 UTC ++++ test/CMakeLists.txt +@@ -163,7 +163,7 @@ ei_add_test(constructor) + ei_add_test(linearstructure) + ei_add_test(integer_types) + ei_add_test(unalignedcount) +-if(NOT EIGEN_TEST_NO_EXCEPTIONS) ++if(NOT EIGEN_TEST_NO_EXCEPTIONS AND NOT EIGEN_TEST_OPENMP) + ei_add_test(exceptions) + endif() + ei_add_test(redux) |