diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-cpp/eigen | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-cpp/eigen')
-rw-r--r-- | dev-cpp/eigen/Manifest | 9 | ||||
-rw-r--r-- | dev-cpp/eigen/eigen-3.2.8-r2.ebuild | 112 | ||||
-rw-r--r-- | dev-cpp/eigen/eigen-3.3.3.ebuild | 100 | ||||
-rw-r--r-- | dev-cpp/eigen/eigen-3.3.4.ebuild | 100 | ||||
-rw-r--r-- | dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch | 40 | ||||
-rw-r--r-- | dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch | 42 | ||||
-rw-r--r-- | dev-cpp/eigen/metadata.xml | 26 |
7 files changed, 429 insertions, 0 deletions
diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest new file mode 100644 index 000000000000..151efc80878e --- /dev/null +++ b/dev-cpp/eigen/Manifest @@ -0,0 +1,9 @@ +AUX eigen-3.2.7-adaolc-backport.patch 1192 BLAKE2B 92be1ae6f4310a8b6b7ffce4f24711543ff67918fc3950c505d385138e175db8fbef7d5c49b44c2ef02efcaa665ddc71d4d096865fd85f5a76d7beae7aa984f7 SHA512 49aa6b1e85572d6a589cf44e21367e6e107bec3721bca50ce7477eb81d39fa43b68d67e28890a933f34aa7abdbb3a6e09eb3519c03b734875c7a4ad8ed0f8b45 +AUX eigen-3.2.7-pastix-5.2-backport.patch 1893 BLAKE2B 4b192d74f12f579afd8ea1574a8219daa0a4b266981470f10285d3b9f2520b2e6d0117f343ef42ac5a73a4ef11db74d177ea8f3294d64b8bab1c620e49664402 SHA512 8d5a05dc707c08161895fc566b94b38d8e190869178f1e89a616062e81f2c1e8b4b05461b3e962671f5338b14bec474ff539da054f22af74c53187e0194aeee1 +DIST eigen-3.2.8.tar.bz2 1161201 BLAKE2B 35bace5138f601e73d56412e87bf591ef2f96778050b0a2a4fc8f1e75f02498fb4eb80bf79988dd4bd6b985945a122d44581ccedd925f398f7d282790da06385 SHA512 53c27ba530c985dfef52188e03273eeef33abbc67e3f150cacd3371c8b9ddbd399228730595821c4c56c061d109cf509266c1dab2b8a7c730902cbd6fb18c100 +DIST eigen-3.3.3.tar.bz2 1642001 BLAKE2B 51d870a6bf04865c39642205ac8e12fd638e1d383fb33b064835ce4b5a4d4b056507c1a4fc65d9e665bf659ffd742179415caccac27c203c9388ca267e29e802 SHA512 bb5a8b761371e516f0a344a7c9f6e369e21c2907c8548227933ca6010fc607a66c8d6ff7c41b1aec3dea7d482ce8c2a09e38ae5c7a2c5b16bdd8007e7a81ecc3 +DIST eigen-3.3.4.tar.bz2 1657543 BLAKE2B 62ae6e42972fcfe71bfcda359d35674207440813edc856f209f37321c7f8d39498c6c6fb33d80cc14129113c1dff849212f034ab925b6656e99ed192f4af2fbb SHA512 d67a3fd8f7ce811af65fc1d43ec347dadf9c643a49135f7e455fc303773bad09e80a125282c7dfca7a1993b79e1f66576ac92418119fbb0fa50c1a581b957c0d +EBUILD eigen-3.2.8-r2.ebuild 2578 BLAKE2B 106cce3438812d9d0800e4d9096d57532557ecdddd33b1f812d992a7d89bf107bd71128a18f9a9649408690f4bc61cc88037f5f623e7477a4a987cb500d70bd9 SHA512 4b7876b48f2bfbe54db5b764d1ec1e7ad371c46beabb4befac3bd980572a081f86f9c07ad985c11a8aa5d7f4b01afee172abe6e2f09d017ce9d6a7b8ce4fbe8d +EBUILD eigen-3.3.3.ebuild 2174 BLAKE2B 1da2f5fae41e0d1840f17fe4f4874e6a0cc880d3301e50ec58bc1c1c191322ba51f011374d78dfb5177f1c5723b0720bf310a832c1d732f51e828906d21dcf2d SHA512 05847d3373073e3d7d89d90678dfdb9c9f80590285634f6f3dd2ba9c73004275e7413b69d9205d9c92c6e62a902d3fa0f43fdbd56c4a3fc51b8b170f539e57c4 +EBUILD eigen-3.3.4.ebuild 2174 BLAKE2B 1da2f5fae41e0d1840f17fe4f4874e6a0cc880d3301e50ec58bc1c1c191322ba51f011374d78dfb5177f1c5723b0720bf310a832c1d732f51e828906d21dcf2d SHA512 05847d3373073e3d7d89d90678dfdb9c9f80590285634f6f3dd2ba9c73004275e7413b69d9205d9c92c6e62a902d3fa0f43fdbd56c4a3fc51b8b170f539e57c4 +MISC metadata.xml 945 BLAKE2B 1e9f416b0c69bc66b08934efc902a21f557bcf5b910439dee978b46a11b0b6767681d6bb298402b050b3e994b56ad9163b91c2d526f8fd04eeb5b9ac3c74f451 SHA512 c5401b0251bf5668117951522b019e6fcce6b5ed41ec933a6edec7869ed5505040d8f75fea7c4c17eeb691f331412bc3d2a7103b7f706cd582496feb6e7a3e57 diff --git a/dev-cpp/eigen/eigen-3.2.8-r2.ebuild b/dev-cpp/eigen/eigen-3.2.8-r2.ebuild new file mode 100644 index 000000000000..91ae1429ee00 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.2.8-r2.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED="test" + +inherit cmake-utils fortran-2 + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="http://eigen.tuxfamily.org/" +SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2" + +LICENSE="LGPL-2 GPL-3" +SLOT="3" +KEYWORDS="~alpha amd64 ~arm ~ia64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux" +IUSE="altivec debug doc openmp test" +IUSE+=" cpu_flags_x86_sse2" +IUSE+=" cpu_flags_x86_sse3" +IUSE+=" cpu_flags_x86_sse4_1" +IUSE+=" cpu_flags_x86_sse4_2" +IUSE+=" cpu_flags_x86_ssse3" +#IUSE+=" cpu_flags_x86_x87" +RESTRICT="!test? ( test )" + +RDEPEND="!dev-cpp/eigen:0" +DEPEND=" + doc? ( app-doc/doxygen[dot,latex] ) + test? ( + dev-libs/gmp:0 + dev-libs/mpfr:0 + media-libs/freeglut + media-libs/glew + sci-libs/adolc + sci-libs/cholmod + sci-libs/fftw:3.0 + sci-libs/pastix + sci-libs/umfpack + sci-libs/scotch + sci-libs/spqr + sci-libs/superlu + virtual/opengl + virtual/pkgconfig + ) + " +# Missing: +# METIS-5 +# GOOGLEHASH + +PATCHES=( + "${FILESDIR}"/${PN}-3.2.7-pastix-5.2-backport.patch + "${FILESDIR}"/${PN}-3.2.7-adaolc-backport.patch +) + +src_unpack() { + default + mv ${PN}* ${P} || die +} + +src_prepare() { + sed \ + -e 's:-g2::g' \ + -i cmake/EigenConfigureTesting.cmake || die + + sed -i CMakeLists.txt \ + -e "/add_subdirectory(demos/d" \ + || die "sed disable unused bundles failed" + + if ! use test; then + sed -i CMakeLists.txt \ + -e "/add_subdirectory(blas/d" \ + -e "/add_subdirectory(lapack/d" \ + || die "sed disable unused bundles failed" + fi + + sed -i -e "/Unknown build type/d" CMakeLists.txt || die + + cmake-utils_src_prepare +} + +src_compile() { + cmake-utils_src_compile + use doc && cmake-utils_src_compile doc +} + +src_test() { + local mycmakeargs=( + -DEIGEN_BUILD_TESTS=ON + -DEIGEN_TEST_NOQT=ON + -DEIGEN_TEST_ALTIVEC="$(usex altivec)" + -DEIGEN_TEST_OPENMP="$(usex openmp)" + -DEIGEN_TEST_SSE2="$(usex cpu_flags_x86_sse2)" + -DEIGEN_TEST_SSE3="$(usex cpu_flags_x86_sse3)" + -DEIGEN_TEST_SSE4_1="$(usex cpu_flags_x86_sse4_1)" + -DEIGEN_TEST_SSE4_2="$(usex cpu_flags_x86_sse4_2)" + -DEIGEN_TEST_SSSE3="$(usex cpu_flags_x86_ssse3)" +# -DEIGEN_TEST_X87="$(usex cpu_flags_x86_x87)" + ) + cmake-utils_src_configure + cmake-utils_src_compile blas + cmake-utils_src_compile buildtests + cmake-utils_src_test +} + +src_install() { + cmake-utils_src_install + use doc && dodoc -r "${BUILD_DIR}"/doc/html + + # Debian installs it and some projects started using it. + insinto /usr/share/cmake/Modules/ + doins "${S}/cmake/FindEigen3.cmake" +} diff --git a/dev-cpp/eigen/eigen-3.3.3.ebuild b/dev-cpp/eigen/eigen-3.3.3.ebuild new file mode 100644 index 000000000000..610de4a257b0 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.3.3.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED="test" + +inherit cmake-utils cuda fortran-2 + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="http://eigen.tuxfamily.org/" +SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2" + +LICENSE="MPL-2.0" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx +RESTRICT="!test? ( test )" + +RDEPEND="!dev-cpp/eigen:0" +DEPEND=" + doc? ( app-doc/doxygen[dot,latex] ) + test? ( + dev-libs/gmp:0 + dev-libs/mpfr:0 + media-libs/freeglut + media-libs/glew + sci-libs/adolc[sparse] + sci-libs/cholmod + sci-libs/fftw:3.0 + sci-libs/pastix + sci-libs/umfpack + sci-libs/scotch + sci-libs/spqr + sci-libs/superlu + virtual/opengl + virtual/pkgconfig + cuda? ( dev-util/nvidia-cuda-toolkit ) + ) +" +# Missing: +# METIS-5 +# GOOGLEHASH + +src_unpack() { + default + mv ${PN}* ${P} || die +} + +src_prepare() { + sed -e 's:-g2::g' \ + -i cmake/EigenConfigureTesting.cmake || die + + sed -e "/add_subdirectory(demos/d" \ + -i CMakeLists.txt || die + + if ! use test; then + sed -e "/add_subdirectory(test/d" \ + -i CMakeLists.txt || die + + sed -e "/add_subdirectory(blas/d" \ + -e "/add_subdirectory(lapack/d" \ + -i CMakeLists.txt || die + fi + sed -e "/Unknown build type/d" \ + -i CMakeLists.txt || die + + use cuda && cuda_src_prepare + + cmake-utils_src_prepare +} + +src_compile() { + cmake-utils_src_compile + use doc && cmake-utils_src_compile doc +} + +src_test() { + local mycmakeargs=( + -DEIGEN_TEST_NOQT=ON + -DEIGEN_TEST_ALTIVEC="$(usex altivec)" + -DEIGEN_TEST_CXX11="$(usex c++11)" + -DEIGEN_TEST_CUDA="$(usex cuda)" + -DEIGEN_TEST_OPENMP="$(usex openmp)" + -DEIGEN_TEST_NEON64="$(usex neon)" + ) + cmake-utils_src_configure + cmake-utils_src_compile blas + cmake-utils_src_compile buildtests + cmake-utils_src_test +} + +src_install() { + cmake-utils_src_install + use doc && dodoc -r "${BUILD_DIR}"/doc/html + + # Debian installs it and some projects started using it. + insinto /usr/share/cmake/Modules/ + doins "${S}/cmake/FindEigen3.cmake" +} diff --git a/dev-cpp/eigen/eigen-3.3.4.ebuild b/dev-cpp/eigen/eigen-3.3.4.ebuild new file mode 100644 index 000000000000..610de4a257b0 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.3.4.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +FORTRAN_NEEDED="test" + +inherit cmake-utils cuda fortran-2 + +DESCRIPTION="C++ template library for linear algebra" +HOMEPAGE="http://eigen.tuxfamily.org/" +SRC_URI="https://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 -> ${P}.tar.bz2" + +LICENSE="MPL-2.0" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx +RESTRICT="!test? ( test )" + +RDEPEND="!dev-cpp/eigen:0" +DEPEND=" + doc? ( app-doc/doxygen[dot,latex] ) + test? ( + dev-libs/gmp:0 + dev-libs/mpfr:0 + media-libs/freeglut + media-libs/glew + sci-libs/adolc[sparse] + sci-libs/cholmod + sci-libs/fftw:3.0 + sci-libs/pastix + sci-libs/umfpack + sci-libs/scotch + sci-libs/spqr + sci-libs/superlu + virtual/opengl + virtual/pkgconfig + cuda? ( dev-util/nvidia-cuda-toolkit ) + ) +" +# Missing: +# METIS-5 +# GOOGLEHASH + +src_unpack() { + default + mv ${PN}* ${P} || die +} + +src_prepare() { + sed -e 's:-g2::g' \ + -i cmake/EigenConfigureTesting.cmake || die + + sed -e "/add_subdirectory(demos/d" \ + -i CMakeLists.txt || die + + if ! use test; then + sed -e "/add_subdirectory(test/d" \ + -i CMakeLists.txt || die + + sed -e "/add_subdirectory(blas/d" \ + -e "/add_subdirectory(lapack/d" \ + -i CMakeLists.txt || die + fi + sed -e "/Unknown build type/d" \ + -i CMakeLists.txt || die + + use cuda && cuda_src_prepare + + cmake-utils_src_prepare +} + +src_compile() { + cmake-utils_src_compile + use doc && cmake-utils_src_compile doc +} + +src_test() { + local mycmakeargs=( + -DEIGEN_TEST_NOQT=ON + -DEIGEN_TEST_ALTIVEC="$(usex altivec)" + -DEIGEN_TEST_CXX11="$(usex c++11)" + -DEIGEN_TEST_CUDA="$(usex cuda)" + -DEIGEN_TEST_OPENMP="$(usex openmp)" + -DEIGEN_TEST_NEON64="$(usex neon)" + ) + cmake-utils_src_configure + cmake-utils_src_compile blas + cmake-utils_src_compile buildtests + cmake-utils_src_test +} + +src_install() { + cmake-utils_src_install + use doc && dodoc -r "${BUILD_DIR}"/doc/html + + # Debian installs it and some projects started using it. + insinto /usr/share/cmake/Modules/ + doins "${S}/cmake/FindEigen3.cmake" +} diff --git a/dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch b/dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch new file mode 100644 index 000000000000..82547e11951a --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch @@ -0,0 +1,40 @@ +# HG changeset patch +# User Gael Guennebaud <g.gael@free.fr> +# Date 1448895622 -3600 +# Node ID e515e2706d00294a5749db7832d10ea366b9389f +# Parent eb4bf011a2ea5fc4ddb0aa5332d6e616198ed886 +Update ADOL-C support. + +diff --git a/unsupported/Eigen/AdolcForward b/unsupported/Eigen/AdolcForward +--- a/unsupported/Eigen/AdolcForward ++++ b/unsupported/Eigen/AdolcForward +@@ -25,7 +25,7 @@ + #ifndef NUMBER_DIRECTIONS + # define NUMBER_DIRECTIONS 2 + #endif +-#include <adolc/adouble.h> ++#include <adolc/adtl.h> + + // adolc defines some very stupid macros: + #if defined(malloc) +diff --git a/unsupported/test/forward_adolc.cpp b/unsupported/test/forward_adolc.cpp +--- a/unsupported/test/forward_adolc.cpp ++++ b/unsupported/test/forward_adolc.cpp +@@ -13,8 +13,6 @@ + #define NUMBER_DIRECTIONS 16 + #include <unsupported/Eigen/AdolcForward> + +-int adtl::ADOLC_numDir; +- + template<typename Vector> + EIGEN_DONT_INLINE typename Vector::Scalar foo(const Vector& p) + { +@@ -123,7 +121,7 @@ + + void test_forward_adolc() + { +- adtl::ADOLC_numDir = NUMBER_DIRECTIONS; ++ adtl::setNumDir(NUMBER_DIRECTIONS); + + for(int i = 0; i < g_repeat; i++) { + CALL_SUBTEST(( adolc_forward_jacobian(TestFunc1<double,2,2>()) )); diff --git a/dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch b/dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch new file mode 100644 index 000000000000..fafaf3a68629 --- /dev/null +++ b/dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch @@ -0,0 +1,42 @@ +# HG changeset patch +# User Gael Guennebaud <g.gael@free.fr> +# Date 1393589499 -3600 +# Node ID b88efb384b160880131ad17e39bb690719112bfa +# Parent 576120ad694efe29b70999576964d3816288fb4e +Fix PaStiX support for Pastix 5.2 + +diff --git a/Eigen/src/PaStiXSupport/PaStiXSupport.h b/Eigen/src/PaStiXSupport/PaStiXSupport.h +--- a/Eigen/src/PaStiXSupport/PaStiXSupport.h ++++ b/Eigen/src/PaStiXSupport/PaStiXSupport.h +@@ -12,6 +12,14 @@ + + namespace Eigen { + ++#if defined(DCOMPLEX) ++ #define PASTIX_COMPLEX COMPLEX ++ #define PASTIX_DCOMPLEX DCOMPLEX ++#else ++ #define PASTIX_COMPLEX std::complex<float> ++ #define PASTIX_DCOMPLEX std::complex<double> ++#endif ++ + /** \ingroup PaStiXSupport_Module + * \brief Interface to the PaStix solver + * +@@ -74,14 +82,14 @@ + { + if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; } + if (nbrhs == 0) {x = NULL; nbrhs=1;} +- c_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<COMPLEX*>(vals), perm, invp, reinterpret_cast<COMPLEX*>(x), nbrhs, iparm, dparm); ++ c_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<PASTIX_COMPLEX*>(vals), perm, invp, reinterpret_cast<PASTIX_COMPLEX*>(x), nbrhs, iparm, dparm); + } + + void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex<double> *vals, int *perm, int * invp, std::complex<double> *x, int nbrhs, int *iparm, double *dparm) + { + if (n == 0) { ptr = NULL; idx = NULL; vals = NULL; } + if (nbrhs == 0) {x = NULL; nbrhs=1;} +- z_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<DCOMPLEX*>(vals), perm, invp, reinterpret_cast<DCOMPLEX*>(x), nbrhs, iparm, dparm); ++ z_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast<PASTIX_DCOMPLEX*>(vals), perm, invp, reinterpret_cast<PASTIX_DCOMPLEX*>(x), nbrhs, iparm, dparm); + } + + // Convert the matrix to Fortran-style Numbering diff --git a/dev-cpp/eigen/metadata.xml b/dev-cpp/eigen/metadata.xml new file mode 100644 index 000000000000..45f9aa6a9895 --- /dev/null +++ b/dev-cpp/eigen/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <maintainer type="project"> + <email>kde@gentoo.org</email> + <name>Gentoo KDE Project</name> + </maintainer> + <longdescription> + Eigen is a lightweight C++ template library for vector and matrix math, + a.k.a. linear algebra. Unlike most other linear algebra libraries, Eigen + focuses on the simple mathematical needs of applications: games and other + OpenGL apps, spreadsheets and other office apps, etc. Eigen is dedicated to + providing optimal speed with GCC. + </longdescription> + <use> + <flag name="c++11">Build using the C++11 standard</flag> + <flag name="cuda">Build with cuda support</flag> + </use> + <upstream> + <remote-id type="bitbucket">eigen/eigen</remote-id> + </upstream> +</pkgmetadata> |