From 0f558761aa2dee1017b4751e4017205e015a9560 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 29 Jun 2022 12:04:12 +0100 Subject: gentoo resync : 29.12.2022 --- sci-libs/dealii/Manifest | 11 ++- sci-libs/dealii/dealii-9.3.1-r4.ebuild | 162 ------------------------------- sci-libs/dealii/dealii-9.3.1-r5.ebuild | 161 ++++++++++++++++++++++++++++++ sci-libs/dealii/dealii-9.3.3-r1.ebuild | 161 ++++++++++++++++++++++++++++++ sci-libs/dealii/dealii-9.3.3.ebuild | 162 ------------------------------- sci-libs/dealii/dealii-9.4.0.ebuild | 172 +++++++++++++++++++++++++++++++++ sci-libs/dealii/dealii-9999.ebuild | 31 +++--- sci-libs/dealii/metadata.xml | 2 + 8 files changed, 523 insertions(+), 339 deletions(-) delete mode 100644 sci-libs/dealii/dealii-9.3.1-r4.ebuild create mode 100644 sci-libs/dealii/dealii-9.3.1-r5.ebuild create mode 100644 sci-libs/dealii/dealii-9.3.3-r1.ebuild delete mode 100644 sci-libs/dealii/dealii-9.3.3.ebuild create mode 100644 sci-libs/dealii/dealii-9.4.0.ebuild (limited to 'sci-libs/dealii') diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest index 59077f0defaf..9e6804b2bd28 100644 --- a/sci-libs/dealii/Manifest +++ b/sci-libs/dealii/Manifest @@ -5,7 +5,10 @@ DIST dealii-9.3.1-offline_documentation.tar.gz 342389060 BLAKE2B 71b47816dd22f49 DIST dealii-9.3.1.tar.gz 24459280 BLAKE2B c7f1d461017da24efd6f3247217fd1b889e0cbf2ac62c3fd305e03aed90d5ba82b58ceb84d34a84608b833b734e12abc77a63693aaa6eed767b4f5f157233ba0 SHA512 c3ba3e16fa4792bb4f3e85163e67b08271c84faff72c49b858a955851401adf2499e278790803061a61c4024964f6da3f0ef7b09c0370d8d0b5af16b7c3bdaef DIST dealii-9.3.3-offline_documentation.tar.gz 346914833 BLAKE2B 8a3661f44aef70c25837fca67175e410f1404991a5fa3698d2e732f1ae045f987a3d9c2fb21294de32768533968e94178f7537f2c3221afdb427fb10478257b5 SHA512 05d8c9573e8277c88f81ff318d295b099e2241c5358cc243eaae35044703a8abc8cac7b7b8049b3527d167f60b11820bd8418fde2e6a6929c03abbf6cc5b6658 DIST dealii-9.3.3.tar.gz 24462944 BLAKE2B 581a8c618fab96127ac95fe9ba5ea5410eb6f9193ce96b6a0d8d28dd125689fb11868115ae8163b7e223970321ddd75347ea21568ea1cdc1e783f94506f00d91 SHA512 31a05a2f539dd2336683c2ab887fef47f08a5127fe23163128036f3143c0c77dca08004b014704e1c7cc07d7578458636715dcbefd654e5fc4511d6d315b604d -EBUILD dealii-9.3.1-r4.ebuild 5153 BLAKE2B aba353f97cf2b1da9bdae7f7bd4ffc1e06c5d11c0a964aadf1869d61c6fda6e5c73270497de48433b909cee319ec6fae30660a845a2ab9f1ed267080314a280b SHA512 c65f30d2ac590dbac3f6bccdd87f7867a8d046d107fa873704124d2e614b0686cb1aef6db5f9e582d1899f33ff4f2ac76378b07d071bd5369ba3cce52204a3eb -EBUILD dealii-9.3.3.ebuild 5152 BLAKE2B 1bc52cea2484c5c0a4754be201f8a43bf5bc3fb2f30fcf0ca1a1ff60bedc74835ffe25555f2523545b7f3badb1f03e0f8a75bc9f442ceeff81df1f755e08da6c SHA512 b14a28d3d3b5e3ec7cfe2ba785ae75dc7eefac99d8743952f58ce3ec0bc2d0f0a9e773b616047f7704b0a0e49eef94fbd19786d8c1ff8d46e60ed25679d5bbf8 -EBUILD dealii-9999.ebuild 5157 BLAKE2B c975c52517a60db0c3ba27577f8f33220a8f5366443c0061164b9ad9e6ffdabb66a5df24197dd811d93426050ae2a6318e0acfd46bea1a35cce779065c2a13d6 SHA512 7723a4e89ddcd2701cda2f935cd7b84f2c23d5baacc679abbcc2a6296c1b449c2c7c0462fabc0aa4d2df00dfadd07b18e0250decc9616d8643d11d3d104688fd -MISC metadata.xml 2441 BLAKE2B 21afc338e112d389480c41a91bdaa5b29e57a532803df8df98f93c7b8327a1cf293c92a04d87852f5abff176a8aa7aa84d0647e31876b7162504005bdd07d191 SHA512 cfcafe9b4c9ff48d1d4631db2cce79248d04ee8de71684a9b8201ee9367d294095dbddc200b9cbd16026d4200afe386455708eaa6dbd747e8177a16d2c3ec897 +DIST dealii-9.4.0-offline_documentation.tar.gz 390747598 BLAKE2B 6e8ed938b31a9e6bbbdd5baacce056edc31d489ecd3e9528283650f431d004ca122c968567fe342744d52bab8f8be53ab1b20d56636e2dc48f8cf551791a08bd SHA512 703eb50150ae5bd77f0d84271babd50483c3a9b069abb5b7e8827d00efaa5d189a43ac54f0ef8b2f746b12a10dc611669f5fddd655241a66af4915ec1d458185 +DIST dealii-9.4.0.tar.gz 30297914 BLAKE2B 6beb4c7b83f5316e703d4b77340900c376e622b1dc59c9058a8927174a8c6991994957588b6adf88238e72eec93f8941bfbfb2d0bb01070560468d051d9829f8 SHA512 3be740fbabff65a18870496f483ac4ed6d35c8a53b5128dd09b2dfabe82d60e4a75f02fd508b44f6c93805999aab98f551154f10ca2ad5fabede65c2d6dce320 +EBUILD dealii-9.3.1-r5.ebuild 5081 BLAKE2B 1422f7a68e01424b233f3b85afeb1e35ed98c2311229386c9d47165141ddd8a55e858ab0f3975994ca4e455a60d65e536e2fe0f76ca58c950faa4c8b1e6eb931 SHA512 4592ab31c5b6d15e0c23ed8d55aeaede0cb6b58fc788bb6d56e156e28afc20363ce9d75e613d5bda1fc8765c3950f3962e8280f9ee936751813fbcbfad0c3ec8 +EBUILD dealii-9.3.3-r1.ebuild 5080 BLAKE2B 1fcaf183a79fc3284cb2ef4d4d169a47f63c628b972b5ba113346911a2c182826c93647dfdb3768b8f54a3b1934406fc2ed2003ed29fecc7f1970d8e30be09bb SHA512 b4f065ae9f3d438a825e8450b2a7cf8561ac14e504ff1d4742d9d109efea3196aef402d40cde33ae0890be2fb3148584eb493da458730866c9fa4ffdcfc01381 +EBUILD dealii-9.4.0.ebuild 5470 BLAKE2B 18acd6401019d894868165b5afe4df60f574ddd6016917f24c77c803613105277e73b6f3d2b07877f674d6f296c0931526b54f71f7f33ab54c5ebd2d19fab639 SHA512 92ac36201ae15d58f12d380bedb3dd62b70d4c9dec919ccacce0ceccae1f5163540aa722b43b96863534538f820bbc4a07702aa39d77f91e0aad35bbfb5463b4 +EBUILD dealii-9999.ebuild 5470 BLAKE2B 18acd6401019d894868165b5afe4df60f574ddd6016917f24c77c803613105277e73b6f3d2b07877f674d6f296c0931526b54f71f7f33ab54c5ebd2d19fab639 SHA512 92ac36201ae15d58f12d380bedb3dd62b70d4c9dec919ccacce0ceccae1f5163540aa722b43b96863534538f820bbc4a07702aa39d77f91e0aad35bbfb5463b4 +MISC metadata.xml 2606 BLAKE2B ddc06108fefd98f57745fb01cd3772e9f7d2a36889de37ab0030123d3e8e45958a74042acf2df79a7c3a0d21b70e64a8e1e72beeb6f1f2867d7370216994713b SHA512 ae25ab5c6309c190118bfa9a1b88809c56221684a1f056b55b2f86fb670f9b96e901283433197f2c38a62b6fbc93e9736098831670e7b540614d72ce7204b4ac diff --git a/sci-libs/dealii/dealii-9.3.1-r4.ebuild b/sci-libs/dealii/dealii-9.3.1-r4.ebuild deleted file mode 100644 index 9edb8b2d5a83..000000000000 --- a/sci-libs/dealii/dealii-9.3.1-r4.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# deal.II uses its own FindLAPACK.cmake file that calls into the system -# FindLAPACK.cmake module and does additional internal setup. Do not remove -# any of these modules: -CMAKE_REMOVE_MODULES_LIST="" - -inherit cmake flag-o-matic multilib - -DESCRIPTION="Solving partial differential equations with the finite element method" -HOMEPAGE="https://www.dealii.org/" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/dealii/dealii.git" - SRC_URI="" -else - SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz - doc? ( - https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz - )" - KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="LGPL-2.1+" -SLOT="0" -IUSE=" - adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f - cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 - +lapack metis mpi muparser opencascade p4est petsc - scalapack slepc +sparse static-libs sundials symengine trilinos -" - -# TODO: add slepc use flag once slepc is packaged for gentoo-science -REQUIRED_USE=" - p4est? ( mpi ) - slepc? ( petsc ) - trilinos? ( mpi )" - -RDEPEND="dev-libs/boost:= - app-arch/bzip2 - sys-libs/zlib - dev-cpp/tbb:= - adolc? ( sci-libs/adolc ) - arpack? ( sci-libs/arpack[mpi=] ) - assimp? ( media-libs/assimp ) - cuda? ( dev-util/nvidia-cuda-toolkit ) - ginkgo? ( sci-libs/ginkgo ) - gmsh? ( sci-libs/gmsh ) - gsl? ( sci-libs/gsl:= ) - hdf5? ( sci-libs/hdf5[mpi=] ) - lapack? ( virtual/lapack ) - metis? ( - >=sci-libs/metis-5 - mpi? ( >=sci-libs/parmetis-4 ) - ) - mpi? ( virtual/mpi[cxx] ) - muparser? ( dev-cpp/muParser ) - opencascade? ( >=sci-libs/opencascade-7.6.0:= ) - p4est? ( sci-libs/p4est[mpi] ) - petsc? ( sci-mathematics/petsc[mpi=] ) - scalapack? ( sci-libs/scalapack ) - slepc? ( sci-mathematics/slepc[mpi=] ) - sparse? ( sci-libs/umfpack ) - sundials? ( sci-libs/sundials:= ) - symengine? ( >=sci-libs/symengine-0.4:= ) - trilinos? ( sci-libs/trilinos )" - -DEPEND="${RDEPEND} - virtual/pkgconfig - doc? ( app-doc/doxygen[dot] dev-lang/perl )" - -PATCHES=( - "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch - "${FILESDIR}"/${PN}-9.1.1-fix_boost_177.patch -) - -src_configure() { - # deal.II needs a custom build type: - local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release) - - local mycmakeargs=( - -DDEAL_II_PACKAGE_VERSION="${PV}" - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF - -DDEAL_II_ALLOW_AUTODETECTION=OFF - -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF - -DDEAL_II_COMPILE_EXAMPLES=OFF - -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html" - -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}" - -DDEAL_II_COMPILE_EXAMPLES=OFF - -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples" - -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)" - -DDEAL_II_SHARE_RELDIR="share/${PN}" - -DDEAL_II_WITH_ZLIB=ON - -DDEAL_II_WITH_ADOLC="$(usex adolc)" - -DDEAL_II_WITH_ASSIMP="$(usex assimp)" - -DDEAL_II_WITH_ARPACK="$(usex arpack)" - -DDEAL_II_WITH_CUDA="$(usex cuda)" - -DDEAL_II_WITH_GINKGO="$(usex ginkgo)" - -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)" - -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)" - -DDEAL_II_WITH_GMSH="$(usex gmsh)" - -DDEAL_II_WITH_GSL="$(usex gsl)" - -DDEAL_II_WITH_HDF5="$(usex hdf5)" - -DDEAL_II_WITH_LAPACK="$(usex lapack)" - -DDEAL_II_WITH_METIS="$(usex metis)" - -DDEAL_II_WITH_MPI="$(usex mpi)" - -DDEAL_II_WITH_MUPARSER="$(usex muparser)" - -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" - -DDEAL_II_WITH_P4EST="$(usex p4est)" - -DDEAL_II_WITH_PETSC="$(usex petsc)" - -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)" - -DDEAL_II_WITH_SLEPC="$(usex slepc)" - -DDEAL_II_WITH_SUNDIALS="$(usex sundials)" - -DDEAL_II_WITH_SYMENGINE="$(usex symengine)" - -DDEAL_II_WITH_UMFPACK="$(usex sparse)" - -DBUILD_SHARED_LIBS="$(usex !static-libs)" - -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)" - -DDEAL_II_WITH_TBB=ON - -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" - ) - - # Do a little dance for purely cosmetic QA reasons. - use opencascade && mycmakeargs+=( - -DOPENCASCADE_DIR="${CASROOT}/$(get_libdir)/opencascade" - ) - - # Do a little dance for purely cosmetic QA reasons. The build system - # does query for the highest instruction set first and skips the other - # variables if a "higher" variant is set - if use cpu_flags_x86_avx512f; then - mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes ) - append-cxxflags "-mavx512f" - elif use cpu_flags_x86_avx; then - mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes ) - append-cxxflags "-mavx2" - elif use cpu_flags_x86_avx; then - mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) - append-cxxflags "-msse2" - fi - - cmake_src_configure -} - -src_install() { - if use doc && [[ ${PV} != *9999* ]]; then - # copy missing images to the build directory: - cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \ - "${BUILD_DIR}"/doc/doxygen/deal.II || die - # replace links: - sed -i \ - 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \ - "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed" - fi - cmake_src_install - - # decompress the installed example sources: - use examples && docompress -x /usr/share/doc/${PF}/examples -} diff --git a/sci-libs/dealii/dealii-9.3.1-r5.ebuild b/sci-libs/dealii/dealii-9.3.1-r5.ebuild new file mode 100644 index 000000000000..78407e89e17e --- /dev/null +++ b/sci-libs/dealii/dealii-9.3.1-r5.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# deal.II uses its own FindLAPACK.cmake file that calls into the system +# FindLAPACK.cmake module and does additional internal setup. Do not remove +# any of these modules: +CMAKE_REMOVE_MODULES_LIST="" + +inherit cmake flag-o-matic + +DESCRIPTION="Solving partial differential equations with the finite element method" +HOMEPAGE="https://www.dealii.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dealii/dealii.git" + SRC_URI="" +else + SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz + doc? ( + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz + )" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE=" + adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f + cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 + +lapack metis mpi muparser opencascade p4est petsc + scalapack slepc +sparse static-libs sundials symengine trilinos +" + +# TODO: add slepc use flag once slepc is packaged for gentoo-science +REQUIRED_USE=" + p4est? ( mpi ) + slepc? ( petsc ) + trilinos? ( mpi )" + +RDEPEND="dev-libs/boost:= + app-arch/bzip2 + sys-libs/zlib + dev-cpp/tbb:= + adolc? ( sci-libs/adolc ) + arpack? ( sci-libs/arpack[mpi=] ) + assimp? ( media-libs/assimp:= ) + cuda? ( dev-util/nvidia-cuda-toolkit ) + ginkgo? ( sci-libs/ginkgo ) + gmsh? ( sci-libs/gmsh ) + gsl? ( sci-libs/gsl:= ) + hdf5? ( sci-libs/hdf5[mpi=] ) + lapack? ( virtual/lapack ) + metis? ( + >=sci-libs/metis-5 + mpi? ( >=sci-libs/parmetis-4 ) + ) + mpi? ( virtual/mpi[cxx] ) + muparser? ( dev-cpp/muParser ) + opencascade? ( sci-libs/opencascade:= ) + p4est? ( sci-libs/p4est[mpi] ) + petsc? ( sci-mathematics/petsc[mpi=] ) + scalapack? ( sci-libs/scalapack ) + slepc? ( sci-mathematics/slepc[mpi=] ) + sparse? ( sci-libs/umfpack ) + sundials? ( sci-libs/sundials:= ) + symengine? ( >=sci-libs/symengine-0.4:= ) + trilinos? ( sci-libs/trilinos )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] dev-lang/perl )" + +PATCHES=( + "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch + "${FILESDIR}"/${PN}-9.1.1-fix_boost_177.patch +) + +src_configure() { + # deal.II needs a custom build type: + local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release) + + local mycmakeargs=( + -DDEAL_II_PACKAGE_VERSION="${PV}" + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF + -DDEAL_II_ALLOW_AUTODETECTION=OFF + -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html" + -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}" + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples" + -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)" + -DDEAL_II_SHARE_RELDIR="share/${PN}" + -DDEAL_II_WITH_ZLIB=ON + -DDEAL_II_WITH_ADOLC="$(usex adolc)" + -DDEAL_II_WITH_ASSIMP="$(usex assimp)" + -DDEAL_II_WITH_ARPACK="$(usex arpack)" + -DDEAL_II_WITH_CUDA="$(usex cuda)" + -DDEAL_II_WITH_GINKGO="$(usex ginkgo)" + -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)" + -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)" + -DDEAL_II_WITH_GMSH="$(usex gmsh)" + -DDEAL_II_WITH_GSL="$(usex gsl)" + -DDEAL_II_WITH_HDF5="$(usex hdf5)" + -DDEAL_II_WITH_LAPACK="$(usex lapack)" + -DDEAL_II_WITH_METIS="$(usex metis)" + -DDEAL_II_WITH_MPI="$(usex mpi)" + -DDEAL_II_WITH_MUPARSER="$(usex muparser)" + -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" + -DDEAL_II_WITH_P4EST="$(usex p4est)" + -DDEAL_II_WITH_PETSC="$(usex petsc)" + -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)" + -DDEAL_II_WITH_SLEPC="$(usex slepc)" + -DDEAL_II_WITH_SUNDIALS="$(usex sundials)" + -DDEAL_II_WITH_SYMENGINE="$(usex symengine)" + -DDEAL_II_WITH_UMFPACK="$(usex sparse)" + -DBUILD_SHARED_LIBS="$(usex !static-libs)" + -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)" + -DDEAL_II_WITH_TBB=ON + -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" + ) + + use opencascade && mycmakeargs+=( + -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade" + ) + + # Do a little dance for purely cosmetic QA reasons. The build system + # does query for the highest instruction set first and skips the other + # variables if a "higher" variant is set + if use cpu_flags_x86_avx512f; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes ) + append-cxxflags "-mavx512f" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes ) + append-cxxflags "-mavx2" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) + append-cxxflags "-msse2" + fi + + cmake_src_configure +} + +src_install() { + if use doc && [[ ${PV} != *9999* ]]; then + # copy missing images to the build directory: + cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \ + "${BUILD_DIR}"/doc/doxygen/deal.II || die + # replace links: + sed -i \ + 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \ + "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed" + fi + cmake_src_install + + # decompress the installed example sources: + use examples && docompress -x /usr/share/doc/${PF}/examples +} diff --git a/sci-libs/dealii/dealii-9.3.3-r1.ebuild b/sci-libs/dealii/dealii-9.3.3-r1.ebuild new file mode 100644 index 000000000000..a093157e2d71 --- /dev/null +++ b/sci-libs/dealii/dealii-9.3.3-r1.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +# deal.II uses its own FindLAPACK.cmake file that calls into the system +# FindLAPACK.cmake module and does additional internal setup. Do not remove +# any of these modules: +CMAKE_REMOVE_MODULES_LIST="" + +inherit cmake flag-o-matic + +DESCRIPTION="Solving partial differential equations with the finite element method" +HOMEPAGE="https://www.dealii.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dealii/dealii.git" + SRC_URI="" +else + SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz + doc? ( + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz + )" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE=" + adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f + cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 + +lapack metis mpi muparser opencascade p4est petsc + scalapack slepc +sparse static-libs sundials symengine trilinos +" + +# TODO: add slepc use flag once slepc is packaged for gentoo-science +REQUIRED_USE=" + p4est? ( mpi ) + slepc? ( petsc ) + trilinos? ( mpi )" + +RDEPEND="dev-libs/boost:= + app-arch/bzip2 + sys-libs/zlib + dev-cpp/tbb:= + adolc? ( sci-libs/adolc ) + arpack? ( sci-libs/arpack[mpi=] ) + assimp? ( media-libs/assimp:= ) + cuda? ( dev-util/nvidia-cuda-toolkit ) + ginkgo? ( sci-libs/ginkgo ) + gmsh? ( sci-libs/gmsh ) + gsl? ( sci-libs/gsl:= ) + hdf5? ( sci-libs/hdf5[mpi=] ) + lapack? ( virtual/lapack ) + metis? ( + >=sci-libs/metis-5 + mpi? ( >=sci-libs/parmetis-4 ) + ) + mpi? ( virtual/mpi[cxx] ) + muparser? ( dev-cpp/muParser ) + opencascade? ( sci-libs/opencascade:= ) + p4est? ( sci-libs/p4est[mpi] ) + petsc? ( sci-mathematics/petsc[mpi=] ) + scalapack? ( sci-libs/scalapack ) + slepc? ( sci-mathematics/slepc[mpi=] ) + sparse? ( sci-libs/umfpack ) + sundials? ( sci-libs/sundials:= ) + symengine? ( >=sci-libs/symengine-0.4:= ) + trilinos? ( sci-libs/trilinos )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] dev-lang/perl )" + +PATCHES=( + "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch + "${FILESDIR}"/${P}-fix_p4est_detection.patch +) + +src_configure() { + # deal.II needs a custom build type: + local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release) + + local mycmakeargs=( + -DDEAL_II_PACKAGE_VERSION="${PV}" + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF + -DDEAL_II_ALLOW_AUTODETECTION=OFF + -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html" + -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}" + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples" + -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)" + -DDEAL_II_SHARE_RELDIR="share/${PN}" + -DDEAL_II_WITH_ZLIB=ON + -DDEAL_II_WITH_ADOLC="$(usex adolc)" + -DDEAL_II_WITH_ASSIMP="$(usex assimp)" + -DDEAL_II_WITH_ARPACK="$(usex arpack)" + -DDEAL_II_WITH_CUDA="$(usex cuda)" + -DDEAL_II_WITH_GINKGO="$(usex ginkgo)" + -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)" + -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)" + -DDEAL_II_WITH_GMSH="$(usex gmsh)" + -DDEAL_II_WITH_GSL="$(usex gsl)" + -DDEAL_II_WITH_HDF5="$(usex hdf5)" + -DDEAL_II_WITH_LAPACK="$(usex lapack)" + -DDEAL_II_WITH_METIS="$(usex metis)" + -DDEAL_II_WITH_MPI="$(usex mpi)" + -DDEAL_II_WITH_MUPARSER="$(usex muparser)" + -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" + -DDEAL_II_WITH_P4EST="$(usex p4est)" + -DDEAL_II_WITH_PETSC="$(usex petsc)" + -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)" + -DDEAL_II_WITH_SLEPC="$(usex slepc)" + -DDEAL_II_WITH_SUNDIALS="$(usex sundials)" + -DDEAL_II_WITH_SYMENGINE="$(usex symengine)" + -DDEAL_II_WITH_UMFPACK="$(usex sparse)" + -DBUILD_SHARED_LIBS="$(usex !static-libs)" + -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)" + -DDEAL_II_WITH_TBB=ON + -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" + ) + + use opencascade && mycmakeargs+=( + -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade" + ) + + # Do a little dance for purely cosmetic QA reasons. The build system + # does query for the highest instruction set first and skips the other + # variables if a "higher" variant is set + if use cpu_flags_x86_avx512f; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes ) + append-cxxflags "-mavx512f" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes ) + append-cxxflags "-mavx2" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) + append-cxxflags "-msse2" + fi + + cmake_src_configure +} + +src_install() { + if use doc && [[ ${PV} != *9999* ]]; then + # copy missing images to the build directory: + cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \ + "${BUILD_DIR}"/doc/doxygen/deal.II || die + # replace links: + sed -i \ + 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \ + "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed" + fi + cmake_src_install + + # decompress the installed example sources: + use examples && docompress -x /usr/share/doc/${PF}/examples +} diff --git a/sci-libs/dealii/dealii-9.3.3.ebuild b/sci-libs/dealii/dealii-9.3.3.ebuild deleted file mode 100644 index 72eaba883927..000000000000 --- a/sci-libs/dealii/dealii-9.3.3.ebuild +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# deal.II uses its own FindLAPACK.cmake file that calls into the system -# FindLAPACK.cmake module and does additional internal setup. Do not remove -# any of these modules: -CMAKE_REMOVE_MODULES_LIST="" - -inherit cmake flag-o-matic multilib - -DESCRIPTION="Solving partial differential equations with the finite element method" -HOMEPAGE="https://www.dealii.org/" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/dealii/dealii.git" - SRC_URI="" -else - SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz - doc? ( - https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz - )" - KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="LGPL-2.1+" -SLOT="0" -IUSE=" - adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f - cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 - +lapack metis mpi muparser opencascade p4est petsc - scalapack slepc +sparse static-libs sundials symengine trilinos -" - -# TODO: add slepc use flag once slepc is packaged for gentoo-science -REQUIRED_USE=" - p4est? ( mpi ) - slepc? ( petsc ) - trilinos? ( mpi )" - -RDEPEND="dev-libs/boost:= - app-arch/bzip2 - sys-libs/zlib - dev-cpp/tbb:= - adolc? ( sci-libs/adolc ) - arpack? ( sci-libs/arpack[mpi=] ) - assimp? ( media-libs/assimp ) - cuda? ( dev-util/nvidia-cuda-toolkit ) - ginkgo? ( sci-libs/ginkgo ) - gmsh? ( sci-libs/gmsh ) - gsl? ( sci-libs/gsl:= ) - hdf5? ( sci-libs/hdf5[mpi=] ) - lapack? ( virtual/lapack ) - metis? ( - >=sci-libs/metis-5 - mpi? ( >=sci-libs/parmetis-4 ) - ) - mpi? ( virtual/mpi[cxx] ) - muparser? ( dev-cpp/muParser ) - opencascade? ( >=sci-libs/opencascade-7.6.0:= ) - p4est? ( sci-libs/p4est[mpi] ) - petsc? ( sci-mathematics/petsc[mpi=] ) - scalapack? ( sci-libs/scalapack ) - slepc? ( sci-mathematics/slepc[mpi=] ) - sparse? ( sci-libs/umfpack ) - sundials? ( sci-libs/sundials:= ) - symengine? ( >=sci-libs/symengine-0.4:= ) - trilinos? ( sci-libs/trilinos )" - -DEPEND="${RDEPEND} - virtual/pkgconfig - doc? ( app-doc/doxygen[dot] dev-lang/perl )" - -PATCHES=( - "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch - "${FILESDIR}"/${P}-fix_p4est_detection.patch -) - -src_configure() { - # deal.II needs a custom build type: - local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release) - - local mycmakeargs=( - -DDEAL_II_PACKAGE_VERSION="${PV}" - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF - -DDEAL_II_ALLOW_AUTODETECTION=OFF - -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF - -DDEAL_II_COMPILE_EXAMPLES=OFF - -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html" - -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}" - -DDEAL_II_COMPILE_EXAMPLES=OFF - -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples" - -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)" - -DDEAL_II_SHARE_RELDIR="share/${PN}" - -DDEAL_II_WITH_ZLIB=ON - -DDEAL_II_WITH_ADOLC="$(usex adolc)" - -DDEAL_II_WITH_ASSIMP="$(usex assimp)" - -DDEAL_II_WITH_ARPACK="$(usex arpack)" - -DDEAL_II_WITH_CUDA="$(usex cuda)" - -DDEAL_II_WITH_GINKGO="$(usex ginkgo)" - -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)" - -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)" - -DDEAL_II_WITH_GMSH="$(usex gmsh)" - -DDEAL_II_WITH_GSL="$(usex gsl)" - -DDEAL_II_WITH_HDF5="$(usex hdf5)" - -DDEAL_II_WITH_LAPACK="$(usex lapack)" - -DDEAL_II_WITH_METIS="$(usex metis)" - -DDEAL_II_WITH_MPI="$(usex mpi)" - -DDEAL_II_WITH_MUPARSER="$(usex muparser)" - -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" - -DDEAL_II_WITH_P4EST="$(usex p4est)" - -DDEAL_II_WITH_PETSC="$(usex petsc)" - -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)" - -DDEAL_II_WITH_SLEPC="$(usex slepc)" - -DDEAL_II_WITH_SUNDIALS="$(usex sundials)" - -DDEAL_II_WITH_SYMENGINE="$(usex symengine)" - -DDEAL_II_WITH_UMFPACK="$(usex sparse)" - -DBUILD_SHARED_LIBS="$(usex !static-libs)" - -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)" - -DDEAL_II_WITH_TBB=ON - -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" - ) - - # Do a little dance for purely cosmetic QA reasons. - use opencascade && mycmakeargs+=( - -DOPENCASCADE_DIR="${CASROOT}/$(get_libdir)/opencascade" - ) - - # Do a little dance for purely cosmetic QA reasons. The build system - # does query for the highest instruction set first and skips the other - # variables if a "higher" variant is set - if use cpu_flags_x86_avx512f; then - mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes ) - append-cxxflags "-mavx512f" - elif use cpu_flags_x86_avx; then - mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes ) - append-cxxflags "-mavx2" - elif use cpu_flags_x86_avx; then - mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) - append-cxxflags "-msse2" - fi - - cmake_src_configure -} - -src_install() { - if use doc && [[ ${PV} != *9999* ]]; then - # copy missing images to the build directory: - cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \ - "${BUILD_DIR}"/doc/doxygen/deal.II || die - # replace links: - sed -i \ - 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \ - "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed" - fi - cmake_src_install - - # decompress the installed example sources: - use examples && docompress -x /usr/share/doc/${PF}/examples -} diff --git a/sci-libs/dealii/dealii-9.4.0.ebuild b/sci-libs/dealii/dealii-9.4.0.ebuild new file mode 100644 index 000000000000..b493d369767a --- /dev/null +++ b/sci-libs/dealii/dealii-9.4.0.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# deal.II uses its own FindLAPACK.cmake file that calls into the system +# FindLAPACK.cmake module and does additional internal setup. Do not remove +# any of these modules: +CMAKE_REMOVE_MODULES_LIST="" + +inherit cmake flag-o-matic + +DESCRIPTION="Solving partial differential equations with the finite element method" +HOMEPAGE="https://www.dealii.org/" + +if [[ ${PV} = *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dealii/dealii.git" + SRC_URI="" +else + SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz + doc? ( + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz + )" + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE=" + adolc arborx assimp arpack cgal cpu_flags_x86_avx cpu_flags_x86_avx512f + cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 + +lapack metis mpi muparser opencascade p4est petsc scalapack slepc + +sparse static-libs sundials symengine trilinos +" + +# TODO: add slepc use flag once slepc is packaged for gentoo-science +REQUIRED_USE=" + arborx? ( trilinos ) + p4est? ( mpi ) + slepc? ( petsc ) + trilinos? ( mpi )" + +RDEPEND="dev-libs/boost:= + app-arch/bzip2 + sys-libs/zlib + dev-cpp/tbb:= + arborx? ( sci-libs/arborx[mpi=] ) + adolc? ( sci-libs/adolc ) + arpack? ( sci-libs/arpack[mpi=] ) + assimp? ( media-libs/assimp:= ) + cuda? ( dev-util/nvidia-cuda-toolkit ) + ginkgo? ( sci-libs/ginkgo ) + gmsh? ( sci-libs/gmsh ) + gsl? ( sci-libs/gsl:= ) + hdf5? ( sci-libs/hdf5[mpi=] ) + lapack? ( virtual/lapack ) + metis? ( + >=sci-libs/metis-5 + mpi? ( >=sci-libs/parmetis-4 ) + ) + mpi? ( virtual/mpi[cxx] ) + muparser? ( dev-cpp/muParser ) + opencascade? ( sci-libs/opencascade:= ) + p4est? ( sci-libs/p4est[mpi] ) + petsc? ( sci-mathematics/petsc[mpi=] ) + scalapack? ( sci-libs/scalapack ) + slepc? ( sci-mathematics/slepc[mpi=] ) + sparse? ( sci-libs/umfpack ) + sundials? ( sci-libs/sundials:= ) + symengine? ( >=sci-libs/symengine-0.4:= ) + trilinos? ( sci-libs/trilinos )" + +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( app-doc/doxygen[dot] dev-lang/perl )" + +PATCHES=( + "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch +) + +src_configure() { + # deal.II needs a custom build type: + local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release) + + local mycmakeargs=( + -DDEAL_II_PACKAGE_VERSION="${PV}" + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF + -DDEAL_II_ALLOW_AUTODETECTION=OFF + -DDEAL_II_ALLOW_BUNDLED=OFF + -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html" + -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}" + -DDEAL_II_COMPILE_EXAMPLES=OFF + -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples" + -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)" + -DDEAL_II_SHARE_RELDIR="share/${PN}" + -DDEAL_II_WITH_ZLIB=ON + -DDEAL_II_WITH_ADOLC="$(usex adolc)" + -DDEAL_II_WITH_ARBORX="$(usex arborx)" + -DDEAL_II_WITH_ASSIMP="$(usex assimp)" + -DDEAL_II_WITH_ARPACK="$(usex arpack)" + -DDEAL_II_WITH_CGAL="$(usex cgal)" + -DDEAL_II_WITH_CUDA="$(usex cuda)" + -DDEAL_II_WITH_GINKGO="$(usex ginkgo)" + -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)" + -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)" + -DDEAL_II_WITH_GMSH="$(usex gmsh)" + -DDEAL_II_WITH_GSL="$(usex gsl)" + -DDEAL_II_WITH_HDF5="$(usex hdf5)" + -DDEAL_II_WITH_KOKKOS="$(usex trilinos)" + -DDEAL_II_WITH_LAPACK="$(usex lapack)" + -DDEAL_II_WITH_METIS="$(usex metis)" + -DDEAL_II_WITH_MPI="$(usex mpi)" + -DDEAL_II_WITH_MUPARSER="$(usex muparser)" + -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" + -DDEAL_II_WITH_P4EST="$(usex p4est)" + -DDEAL_II_WITH_PETSC="$(usex petsc)" + -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)" + -DDEAL_II_WITH_SLEPC="$(usex slepc)" + -DDEAL_II_WITH_SUNDIALS="$(usex sundials)" + -DDEAL_II_WITH_SYMENGINE="$(usex symengine)" + -DDEAL_II_WITH_UMFPACK="$(usex sparse)" + -DBUILD_SHARED_LIBS="$(usex !static-libs)" + -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)" + -DDEAL_II_WITH_TBB=ON + -DDEAL_II_WITH_TASKFLOW=OFF + -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" + ) + + use opencascade && mycmakeargs+=( + -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade" + ) + + # Do a little dance for purely cosmetic QA reasons. The build system + # does query for the highest instruction set first and skips the other + # variables if a "higher" variant is set + if use cpu_flags_x86_avx512f; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes ) + append-cxxflags "-mavx512f" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes ) + append-cxxflags "-mavx2" + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) + append-cxxflags "-msse2" + fi + + # Unconditionally enable strict C++17 standard. This is necessary for + # USE=cgal and USE=kokkos and safe to set for all presently supported + # compilers + append-cxxflags "-std=c++17" + + cmake_src_configure +} + +src_install() { + if use doc && [[ ${PV} != *9999* ]]; then + # copy missing images to the build directory: + cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \ + "${BUILD_DIR}"/doc/doxygen/deal.II || die + # replace links: + sed -i \ + 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \ + "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed" + fi + cmake_src_install + + # decompress the installed example sources: + use examples && docompress -x /usr/share/doc/${PF}/examples +} diff --git a/sci-libs/dealii/dealii-9999.ebuild b/sci-libs/dealii/dealii-9999.ebuild index 2e1f4a47b3ba..b493d369767a 100644 --- a/sci-libs/dealii/dealii-9999.ebuild +++ b/sci-libs/dealii/dealii-9999.ebuild @@ -1,14 +1,14 @@ # Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 # deal.II uses its own FindLAPACK.cmake file that calls into the system # FindLAPACK.cmake module and does additional internal setup. Do not remove # any of these modules: CMAKE_REMOVE_MODULES_LIST="" -inherit cmake flag-o-matic multilib +inherit cmake flag-o-matic DESCRIPTION="Solving partial differential equations with the finite element method" HOMEPAGE="https://www.dealii.org/" @@ -28,14 +28,15 @@ fi LICENSE="LGPL-2.1+" SLOT="0" IUSE=" - adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f + adolc arborx assimp arpack cgal cpu_flags_x86_avx cpu_flags_x86_avx512f cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5 - +lapack metis mpi muparser opencascade p4est petsc - scalapack slepc +sparse static-libs sundials symengine trilinos + +lapack metis mpi muparser opencascade p4est petsc scalapack slepc + +sparse static-libs sundials symengine trilinos " # TODO: add slepc use flag once slepc is packaged for gentoo-science REQUIRED_USE=" + arborx? ( trilinos ) p4est? ( mpi ) slepc? ( petsc ) trilinos? ( mpi )" @@ -43,11 +44,11 @@ REQUIRED_USE=" RDEPEND="dev-libs/boost:= app-arch/bzip2 sys-libs/zlib - dev-cpp/cpp-taskflow dev-cpp/tbb:= + arborx? ( sci-libs/arborx[mpi=] ) adolc? ( sci-libs/adolc ) arpack? ( sci-libs/arpack[mpi=] ) - assimp? ( media-libs/assimp ) + assimp? ( media-libs/assimp:= ) cuda? ( dev-util/nvidia-cuda-toolkit ) ginkgo? ( sci-libs/ginkgo ) gmsh? ( sci-libs/gmsh ) @@ -60,7 +61,7 @@ RDEPEND="dev-libs/boost:= ) mpi? ( virtual/mpi[cxx] ) muparser? ( dev-cpp/muParser ) - opencascade? ( >=sci-libs/opencascade-7.6.0:= ) + opencascade? ( sci-libs/opencascade:= ) p4est? ( sci-libs/p4est[mpi] ) petsc? ( sci-mathematics/petsc[mpi=] ) scalapack? ( sci-libs/scalapack ) @@ -86,6 +87,7 @@ src_configure() { -DDEAL_II_PACKAGE_VERSION="${PV}" -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF -DDEAL_II_ALLOW_AUTODETECTION=OFF + -DDEAL_II_ALLOW_BUNDLED=OFF -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF -DDEAL_II_COMPILE_EXAMPLES=OFF -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html" @@ -96,8 +98,10 @@ src_configure() { -DDEAL_II_SHARE_RELDIR="share/${PN}" -DDEAL_II_WITH_ZLIB=ON -DDEAL_II_WITH_ADOLC="$(usex adolc)" + -DDEAL_II_WITH_ARBORX="$(usex arborx)" -DDEAL_II_WITH_ASSIMP="$(usex assimp)" -DDEAL_II_WITH_ARPACK="$(usex arpack)" + -DDEAL_II_WITH_CGAL="$(usex cgal)" -DDEAL_II_WITH_CUDA="$(usex cuda)" -DDEAL_II_WITH_GINKGO="$(usex ginkgo)" -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)" @@ -105,6 +109,7 @@ src_configure() { -DDEAL_II_WITH_GMSH="$(usex gmsh)" -DDEAL_II_WITH_GSL="$(usex gsl)" -DDEAL_II_WITH_HDF5="$(usex hdf5)" + -DDEAL_II_WITH_KOKKOS="$(usex trilinos)" -DDEAL_II_WITH_LAPACK="$(usex lapack)" -DDEAL_II_WITH_METIS="$(usex metis)" -DDEAL_II_WITH_MPI="$(usex mpi)" @@ -120,13 +125,12 @@ src_configure() { -DBUILD_SHARED_LIBS="$(usex !static-libs)" -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)" -DDEAL_II_WITH_TBB=ON - -DDEAL_II_WITH_TASKFLOW=ON + -DDEAL_II_WITH_TASKFLOW=OFF -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" ) - # Do a little dance for purely cosmetic QA reasons. use opencascade && mycmakeargs+=( - -DOPENCASCADE_DIR="${CASROOT}/$(get_libdir)/opencascade" + -DCMAKE_PREFIX_PATH="/usr/$(get_libdir)/opencascade" ) # Do a little dance for purely cosmetic QA reasons. The build system @@ -143,6 +147,11 @@ src_configure() { append-cxxflags "-msse2" fi + # Unconditionally enable strict C++17 standard. This is necessary for + # USE=cgal and USE=kokkos and safe to set for all presently supported + # compilers + append-cxxflags "-std=c++17" + cmake_src_configure } diff --git a/sci-libs/dealii/metadata.xml b/sci-libs/dealii/metadata.xml index 8b4433d57a7d..c25ce26eaf2c 100644 --- a/sci-libs/dealii/metadata.xml +++ b/sci-libs/dealii/metadata.xml @@ -17,7 +17,9 @@ to the complex data structures and algorithms required. Adds support for ADOL-C (sci-libs/adolc) + Adds support for ARBORX (sci-libs/arborx) Adds support for ARPACK (sci-libs/arpack) + Adds support for CGAL (sci-mathematics/cgal) Build an additional debug library with extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see -- cgit v1.2.3