From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- dev-cpp/eigen/Manifest | 19 ++++ dev-cpp/eigen/eigen-2.0.17.ebuild | 62 +++++++++++ dev-cpp/eigen/eigen-3.2.10.ebuild | 110 ++++++++++++++++++++ dev-cpp/eigen/eigen-3.2.8-r2.ebuild | 111 ++++++++++++++++++++ dev-cpp/eigen/eigen-3.2.9.ebuild | 110 ++++++++++++++++++++ dev-cpp/eigen/eigen-3.3.1.ebuild | 115 +++++++++++++++++++++ dev-cpp/eigen/eigen-3.3.2.ebuild | 115 +++++++++++++++++++++ dev-cpp/eigen/eigen-3.3.3.ebuild | 111 ++++++++++++++++++++ .../eigen/files/eigen-3.2.7-adaolc-backport.patch | 40 +++++++ .../files/eigen-3.2.7-pastix-5.2-backport.patch | 42 ++++++++ dev-cpp/eigen/metadata.xml | 27 +++++ 11 files changed, 862 insertions(+) create mode 100644 dev-cpp/eigen/Manifest create mode 100644 dev-cpp/eigen/eigen-2.0.17.ebuild create mode 100644 dev-cpp/eigen/eigen-3.2.10.ebuild create mode 100644 dev-cpp/eigen/eigen-3.2.8-r2.ebuild create mode 100644 dev-cpp/eigen/eigen-3.2.9.ebuild create mode 100644 dev-cpp/eigen/eigen-3.3.1.ebuild create mode 100644 dev-cpp/eigen/eigen-3.3.2.ebuild create mode 100644 dev-cpp/eigen/eigen-3.3.3.ebuild create mode 100644 dev-cpp/eigen/files/eigen-3.2.7-adaolc-backport.patch create mode 100644 dev-cpp/eigen/files/eigen-3.2.7-pastix-5.2-backport.patch create mode 100644 dev-cpp/eigen/metadata.xml (limited to 'dev-cpp/eigen') diff --git a/dev-cpp/eigen/Manifest b/dev-cpp/eigen/Manifest new file mode 100644 index 000000000000..c2b3014121da --- /dev/null +++ b/dev-cpp/eigen/Manifest @@ -0,0 +1,19 @@ +AUX eigen-3.2.7-adaolc-backport.patch 1192 SHA256 84c6334cfc227d840e6a0c6a25ccbde3bdda4f078c5757b80f5fc19e33b1df5b SHA512 49aa6b1e85572d6a589cf44e21367e6e107bec3721bca50ce7477eb81d39fa43b68d67e28890a933f34aa7abdbb3a6e09eb3519c03b734875c7a4ad8ed0f8b45 WHIRLPOOL c2f52f9cc997cbc750d6ad904a56f5026d15491c967b6739a5c32d3c24e96b58ebe5b8cf4dcf53b9682fd9a9c3cf47e260c49715d8a7965663742db8ca175a82 +AUX eigen-3.2.7-pastix-5.2-backport.patch 1893 SHA256 37398e62c8b661651154d6a33ee2f6959664bb3c0027f3313eebe3881deb90ff SHA512 8d5a05dc707c08161895fc566b94b38d8e190869178f1e89a616062e81f2c1e8b4b05461b3e962671f5338b14bec474ff539da054f22af74c53187e0194aeee1 WHIRLPOOL c3e7ed5cb54cfee7a7931709f10a0a8809f6b6eea63d37fcd8d31ad956bd7393c521cc09f301d5910ca125eff76532e0d6fa8310e286b02516f33b975b98b86c +DIST eigen-2.0.17.tar.bz2 367890 SHA256 7255e856ed367ce6e6e2d4153b0e4e753c8b8d36918bf440dd34ad56aff09960 SHA512 8fa0e4507864f61c30de14e3b29d963eb8b777d1a6bb04192d53e1f4c9db323b9fab2ddcedb63bf2af243fe0e26dcd717e97eb72216b6a1d444e455520192c72 WHIRLPOOL d80f12b378e23b758e4dbd173b87bed93bc42a97f2541b653b4373ea6ce0803bd712de00cf5a014a72cd439bb3ad10fd24b2ef8982975e044ff4d7bb2b63f585 +DIST eigen-3.2.10.tar.bz2 1168527 SHA256 760e6656426fde71cc48586c971390816f456d30f0b5d7d4ad5274d8d2cb0a6d SHA512 413c01a5b1b5d2e4366bc9289b1d613b21157e702b1c0d544e41ba5726acfbe0b60921ded37926010e9ce3642939e3ad39038e053d392b90a7a6302955ec5058 WHIRLPOOL f8d6498ab32197e0193ef7f9bae3f360f2a4cc321c34c90d2b72347ca5fd47a028fdc120dafd663520583ef471b4d756ab5cedea4f6d5344e76991a7afe4779b +DIST eigen-3.2.8.tar.bz2 1161201 SHA256 722a63d672b70f39c271c5e2a4a43ba14d12015674331790414fcb167c357e55 SHA512 53c27ba530c985dfef52188e03273eeef33abbc67e3f150cacd3371c8b9ddbd399228730595821c4c56c061d109cf509266c1dab2b8a7c730902cbd6fb18c100 WHIRLPOOL 75e54f5620299f49a540483b0b4163e3cf6c48695f30f5e258343925cb488c3915588862a3fbe2341b5dbe17ea20756409265000f19ea2f45e7706837cb2488a +DIST eigen-3.2.9.tar.bz2 1163762 SHA256 4d1e036ec1ed4f4805d5c6752b76072d67538889f4003fadf2f6e00a825845ff SHA512 2734ce70e0b04dc5839715a3cc9b8f90e05b341cfca42a7d586df213a9a14fe5642c76ccf36c16d020ae167c0d6e4d5cc306f0b3bf1f519c58372b0736ca7e63 WHIRLPOOL 7caba7b0676bc5dc203c8d8b5f57fc3a31a95171ddbb63b21ba8c84e58e5c5fde242d232299183e41886e970c3ea84bce821d506b6c32526ae44703ee3a599f9 +DIST eigen-3.3.1.tar.bz2 1638315 SHA256 a0b4cebaabd8f371d1b364f9723585fbcc7c9640ca60273b99835e6cf115f056 SHA512 d679bc04279bad351a35caeb04c4a95ebdd7d69153209573603e0c4c1d15b0c4d23d74f8651928ad04d7f03ad132fa7184d662801be75f58be38fd78802c7724 WHIRLPOOL abbd43be2121aa43192b007f9ed3471fe163fbe71a41a0c0ef61308e96e7c52767c1900dca29b855c8358fc0390630f9bb0deddfb0c951782cbd5499dc53103f +DIST eigen-3.3.2.tar.bz2 1639615 SHA256 3e1fa6e8c45635938193f84fee6c35a87fac26ee7c39c68c230e5080c4a8fe98 SHA512 a1e1894eba8139a52a5cae33cd880e886352bed11af39a997ba65b0cd24f76c275ea54381f37db10dc54db4257c9485e7f8692c9f27a25be08f0fe1c03290d0a WHIRLPOOL ecf12c5780830ee133e477b9805dbbff6b933c815dd65242404366a013152ad4dfbf829f5a33692e97f0654e598ddcc06c0b8cd7d125dcf80644437a7016b720 +DIST eigen-3.3.3.tar.bz2 1642001 SHA256 a4143fc45e4454b4b98fcea3516b3a79b8cdb3bc7fadf996d088c6a0d805fea1 SHA512 bb5a8b761371e516f0a344a7c9f6e369e21c2907c8548227933ca6010fc607a66c8d6ff7c41b1aec3dea7d482ce8c2a09e38ae5c7a2c5b16bdd8007e7a81ecc3 WHIRLPOOL 4394f0d8f98dafbf913dc8c81e11935300bde458e9d2332a3eb35bca3930b76813a343da1c566a4c374d3d5f92aff5615c151935e29c783c71ae09e7088d2b2d +EBUILD eigen-2.0.17.ebuild 1356 SHA256 d28de3b4523d5dd54d9da844a3c6adbe663990b573c1a0cec27bc80c0797e13c SHA512 142e42c213ddd740d7e43e91dbf9ffb957f379fbf996e3f33b3d4d2050ea5b3d67d09d5180364c37eb1da583ba5634206aaa6da0063a64f8c29b847d8a73cce4 WHIRLPOOL 1a39378d6271aa425132e25327ce388a42e852a099b15fad262c84298db17a107698268f04dd401898fa328be049f476c37e75e52c2fc9f23a7bb14d4afbf50f +EBUILD eigen-3.2.10.ebuild 2496 SHA256 b8a1fb109d407be36277319288071a7e9cb9f7238211a0fe8c267d7edebf3601 SHA512 e88939a7950770e6a1c0d712bcee12ebfe4ccdd64670d4aead41a835ca9fd8968bc01832eb30858136339eb331428de485dc534502cf840636e340e544786f61 WHIRLPOOL 5a3b54a886b84b9c9c3cda67de6dcf1add0c92a82902fc5f2b0017f9a373f97d5423edcfc8eaad35de2b1f2147f3521c621dd94107b59f0f58361a96c3fc4d46 +EBUILD eigen-3.2.8-r2.ebuild 2546 SHA256 29f268320fff60a1d5009cf169025cf7db3bebf94aa34ff80179bda206d42049 SHA512 b6879c780252842d486ee347bdaea5fc77e7f7ec98c10cb8f6d0060145a607fe3486daaf5102aed99f221b20a05a1caba9c0c8fe066a13ff68f10f638cb16bc0 WHIRLPOOL 0b43b86ae58fa5e579f855401cdeb49d43b7cd5926f671a2e7628862861abe1e665a29ee08196106ab720c96c2210bde2b98f5174b17418aa186e74832ddd655 +EBUILD eigen-3.2.9.ebuild 2496 SHA256 b8a1fb109d407be36277319288071a7e9cb9f7238211a0fe8c267d7edebf3601 SHA512 e88939a7950770e6a1c0d712bcee12ebfe4ccdd64670d4aead41a835ca9fd8968bc01832eb30858136339eb331428de485dc534502cf840636e340e544786f61 WHIRLPOOL 5a3b54a886b84b9c9c3cda67de6dcf1add0c92a82902fc5f2b0017f9a373f97d5423edcfc8eaad35de2b1f2147f3521c621dd94107b59f0f58361a96c3fc4d46 +EBUILD eigen-3.3.1.ebuild 2814 SHA256 268c68b999ff12e1bae2bea05bb3599216be65c98a42ceef963de9ed3673d8c8 SHA512 641fbb9f87dba22ebea45f1b93054619977e6a0bdd29d15046a8323280d66902e96b308c368830c13900bc4e2e37fea377664dcc13bddd35eb17ce61a4f05c38 WHIRLPOOL 73913b21fd8741d70c76846b509cf11eb8ca636411cbf00c1ea0b17aac9a97ddb59173cb0942c15be02f933a48e3b62b310649f774b279283ecaf42d572bb511 +EBUILD eigen-3.3.2.ebuild 2814 SHA256 268c68b999ff12e1bae2bea05bb3599216be65c98a42ceef963de9ed3673d8c8 SHA512 641fbb9f87dba22ebea45f1b93054619977e6a0bdd29d15046a8323280d66902e96b308c368830c13900bc4e2e37fea377664dcc13bddd35eb17ce61a4f05c38 WHIRLPOOL 73913b21fd8741d70c76846b509cf11eb8ca636411cbf00c1ea0b17aac9a97ddb59173cb0942c15be02f933a48e3b62b310649f774b279283ecaf42d572bb511 +EBUILD eigen-3.3.3.ebuild 2710 SHA256 39117cc01766eea27efd51a907cb7de5660cc5ed7330cd33c1ca9f67ad67eab0 SHA512 4f1f27d2408568b5d68c5dec8814589378ecd610b0e94f5dfe904dc7616aba7186711896c9e1e33046079e25fb3302b302816426f9254616e2f733fa8cd191c7 WHIRLPOOL 1518581a96c1199c0ba6d9539ff153ce857d983771ac81e05933cc0e9951b33a48546e2ad6d4034794473078dc93bb6519e71fa1e13dda8afea1e259e52a194d +MISC ChangeLog 6521 SHA256 d3ee49273d81c3c6b2bcb4ec891b8a1088bccaee60dbee866f6ebbac8103687c SHA512 5fb93fa697193a83de61cf419806f4d608b1e2f34e962897fa42ef73bcdc611d30658baa952b6bf2405483298427365a27102a3dbe4bdec92d5db04d6844e93f WHIRLPOOL 264f93070cc66451aba1666df622bc37ac3085718aff741743315eaa7d2c862419fc317dc0e6da18dd9940f01370ecc754c88abd96cc9b7a030ed4abe6675009 +MISC ChangeLog-2015 11211 SHA256 7b81a1723a5ebeaa300f3951ec376856a35ba93e1aecda813b2042dea4c40196 SHA512 4f3af9be28b24401e4e18bd36fbf694bd3a5371526668b7b9650e8aad61cb03ab356e8628f3b1a0f5ba765c0accbb9fad9463f364d2c718eeed8c2d7a13659f0 WHIRLPOOL 319f8560a4477d4165e4b65ede6acd648986cc35d665dcbf298aa2b3173098d64a1cd9b278d4adf452455d88dfcf8267315bd5cb773a7bf4d9c917cb758f70b2 +MISC metadata.xml 1021 SHA256 13f69160f758372320f929a14d9b5d63a61b281f10c3f184bd091e966a833ba0 SHA512 80fa38e69adebe7ef6d54681bcba8ac1b05f60d65850292bfd7fae148572a1f954a3890d5d7e22046888043e39784c810069538a52d85da53516176bfefe9317 WHIRLPOOL e0ce57572b3cccc20d22a940b324788a2b35300dfac9fd0eec4e48afb3e0411f137bce365d1b4306aac9aa303569814e224d08abe34bc7edc47802e7a3d8f519 diff --git a/dev-cpp/eigen/eigen-2.0.17.ebuild b/dev-cpp/eigen/eigen-2.0.17.ebuild new file mode 100644 index 000000000000..842c54187eb2 --- /dev/null +++ b/dev-cpp/eigen/eigen-2.0.17.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cmake-utils + +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="GPL-3" +SLOT="2" +KEYWORDS="alpha amd64 ~arm ~hppa ia64 ppc ppc64 sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux" +IUSE="debug doc examples test" +# bugs 426236, 455460, 467288 +RESTRICT="test" + +RDEPEND=" + examples? ( + dev-qt/qtgui:4 + dev-qt/qtopengl:4 + ) + !dev-cpp/eigen:0" +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen )" + +src_unpack() { + unpack ${A} + mv ${PN}* ${P} || die +} + +src_configure() { + # benchmarks (BTL) brings up a damn load of external deps including fortran + # library hangs up complete compilation proccess, test later + local mycmakeargs=( + -DEIGEN_BUILD_LIB=OFF + -DEIGEN_BUILD_BTL=OFF + -DEIGEN_BUILD_PKGCONFIG=ON + -DEIGEN_BUILD_DEMOS=$(usex examples) + -DEIGEN_BUILD_TESTS=$(usex test) + ) + cmake-utils_src_configure +} + +src_compile() { + cmake-utils_src_compile -j1 + + if use doc; then + cmake-utils_src_compile -j1 doc + HTML_DOCS=( "${BUILD_DIR}"/html/. ) + fi +} + +src_install() { + cmake-utils_src_install -j1 + + if use examples; then + cd "${BUILD_DIR}"/demos || die + dobin mandelbrot/mandelbrot opengl/quaternion_demo + fi +} diff --git a/dev-cpp/eigen/eigen-3.2.10.ebuild b/dev-cpp/eigen/eigen-3.2.10.ebuild new file mode 100644 index 000000000000..08bc461b1359 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.2.10.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2017 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" + +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 + dev-qt/qtcore:4 + virtual/opengl + virtual/pkgconfig + ) + " +# Missing: +# METIS-5 +# GOOGLEHASH + +PATCHES=( + "${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_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.2.8-r2.ebuild b/dev-cpp/eigen/eigen-3.2.8-r2.ebuild new file mode 100644 index 000000000000..8873a615661f --- /dev/null +++ b/dev-cpp/eigen/eigen-3.2.8-r2.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2017 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" + +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 + dev-qt/qtcore:4 + 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_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.2.9.ebuild b/dev-cpp/eigen/eigen-3.2.9.ebuild new file mode 100644 index 000000000000..08bc461b1359 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.2.9.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2017 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" + +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 + dev-qt/qtcore:4 + virtual/opengl + virtual/pkgconfig + ) + " +# Missing: +# METIS-5 +# GOOGLEHASH + +PATCHES=( + "${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_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.1.ebuild b/dev-cpp/eigen/eigen-3.3.1.ebuild new file mode 100644 index 000000000000..62595e32d0d3 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.3.1.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2017 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="LGPL-2 GPL-3" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx + +IUSE_CPU_FLAGS=" avx avx2 f16c fma3 sse2 sse3 sse4_1 sse4_2 ssse3" #x87 +IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}" + +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 + dev-qt/qtcore:4 + 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 -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(test/d" \ + || die "sed disable tests failed" + + 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 + + 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_ALTIVEC="$(usex altivec)" + -DEIGEN_TEST_CXX11="$(usex c++11)" + -DEIGEN_TEST_CUDA="$(usex cuda)" + -DEIGEN_TEST_OPENMP="$(usex openmp)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -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_NEON64="$(usex neon)" +# -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.2.ebuild b/dev-cpp/eigen/eigen-3.3.2.ebuild new file mode 100644 index 000000000000..62595e32d0d3 --- /dev/null +++ b/dev-cpp/eigen/eigen-3.3.2.ebuild @@ -0,0 +1,115 @@ +# Copyright 1999-2017 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="LGPL-2 GPL-3" +SLOT="3" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="altivec c++11 cuda debug doc neon openmp test" #zvector vsx + +IUSE_CPU_FLAGS=" avx avx2 f16c fma3 sse2 sse3 sse4_1 sse4_2 ssse3" #x87 +IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}" + +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 + dev-qt/qtcore:4 + 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 -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(test/d" \ + || die "sed disable tests failed" + + 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 + + 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_ALTIVEC="$(usex altivec)" + -DEIGEN_TEST_CXX11="$(usex c++11)" + -DEIGEN_TEST_CUDA="$(usex cuda)" + -DEIGEN_TEST_OPENMP="$(usex openmp)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -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_NEON64="$(usex neon)" +# -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..56cab46ed3bc --- /dev/null +++ b/dev-cpp/eigen/eigen-3.3.3.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2017 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 + +IUSE_CPU_FLAGS=" avx avx2 f16c fma3 sse2 sse3 sse4_1 sse4_2 ssse3" #x87 +IUSE+=" ${IUSE_CPU_FLAGS// / cpu_flags_x86_}" + +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 + dev-qt/qtcore:4 + 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_ALTIVEC="$(usex altivec)" + -DEIGEN_TEST_CXX11="$(usex c++11)" + -DEIGEN_TEST_CUDA="$(usex cuda)" + -DEIGEN_TEST_OPENMP="$(usex openmp)" + -DEIGEN_TEST_AVX="$(usex cpu_flags_x86_avx)" + -DEIGEN_TEST_AVX512="$(usex cpu_flags_x86_avx2)" + -DEIGEN_TEST_F16C="$(usex cpu_flags_x86_f16c)" + -DEIGEN_TEST_FMA="$(usex cpu_flags_x86_fma3)" + -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_NEON64="$(usex neon)" +# -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/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 +# 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 ++#include + + // 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 + +-int adtl::ADOLC_numDir; +- + template + 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()) )); 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 +# 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 ++ #define PASTIX_DCOMPLEX std::complex ++#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(vals), perm, invp, reinterpret_cast(x), nbrhs, iparm, dparm); ++ c_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast(vals), perm, invp, reinterpret_cast(x), nbrhs, iparm, dparm); + } + + void eigen_pastix(pastix_data_t **pastix_data, int pastix_comm, int n, int *ptr, int *idx, std::complex *vals, int *perm, int * invp, std::complex *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(vals), perm, invp, reinterpret_cast(x), nbrhs, iparm, dparm); ++ z_pastix(pastix_data, pastix_comm, n, ptr, idx, reinterpret_cast(vals), perm, invp, reinterpret_cast(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..b81958c50e6c --- /dev/null +++ b/dev-cpp/eigen/metadata.xml @@ -0,0 +1,27 @@ + + + + + sci@gentoo.org + Gentoo Science Project + + + kde@gentoo.org + Gentoo KDE Project + + + 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. + + + Build using the C++11 standard + Build with cuda support + Take advantage of CPU feature f16c + + + eigen/eigen + + -- cgit v1.2.3