diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
commit | d18bf1e01b65ee4bf0c804e2843b282d3d4e5d7c (patch) | |
tree | 4a95cbc6ffdf13bad6ecbc7f8d5af99631984123 /sci-libs/dealii | |
parent | e748ba9741f6540f4675c23e3e37b73e822c13a4 (diff) |
gentoo resync : 15.06.2021
Diffstat (limited to 'sci-libs/dealii')
-rw-r--r-- | sci-libs/dealii/Manifest | 7 | ||||
-rw-r--r-- | sci-libs/dealii/dealii-9.2.0-r1.ebuild (renamed from sci-libs/dealii/dealii-9.2.0.ebuild) | 3 | ||||
-rw-r--r-- | sci-libs/dealii/dealii-9.3.0-r1.ebuild | 161 | ||||
-rw-r--r-- | sci-libs/dealii/dealii-9999.ebuild | 23 |
4 files changed, 183 insertions, 11 deletions
diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest index 08bf8c916684..0cde14dd9b54 100644 --- a/sci-libs/dealii/Manifest +++ b/sci-libs/dealii/Manifest @@ -2,6 +2,9 @@ AUX dealii-9.1.1-no-ld-flags.patch 1044 BLAKE2B fed995fbd5563bfee6b4dd232d5d9aae AUX dealii-9.2.0-fix-boost-include-file.patch 533 BLAKE2B f8aad2b17a3083da8c1aaf5461e5cf2b4aac2e78b34c46c7a3b965495a9c263687db6d75498a404be44f09bb952e7eeea0ac005da047f98ae526edd5ee8af473 SHA512 9a05e7787b7352c59e4756729ca4080f6c2a21bcd84429f2ed22d3fcd8e6d7183cb5686a7d88b0fd5868b2bfe53130d1fb2e9c3940ca0ccb8c8119a5e7532625 DIST dealii-9.2.0-offline_documentation.tar.gz 277987911 BLAKE2B d14e15bc252f481707b04e9ca3fd05b5469035537a099466a8272fa1d56833c99d845871534df75bbb2efb29063e738700a5a2815b653cdd14b49b3a93add368 SHA512 9680731b4d837561c3682a65391b442cfb8d2a947b0e4e37cad1df83877b371997d084eac52e2bf34b190ea54996d41ddd89bee79fff24d710199417f3f345ab DIST dealii-9.2.0.tar.gz 24688964 BLAKE2B 60a8ede72a49cb2e658b3d6d53fb332a96f44a7fb9bb499ba54175138d49f38a9b75d9bea2eaddcaa3f50d97ce53961692b35f89578f535d32301680e6f1d68b SHA512 7c76435e45c9c302c4f95f588229f5a9b81f0450bd029729553c706a25dfd16f5c02c50fd2618d7e285d18927b63426110d2c6a074242b91cf789bd4bc77acc5 -EBUILD dealii-9.2.0.ebuild 5189 BLAKE2B 536b0a1974c989ccf822846c45f99cfd665d5ea5132b0650319d55e562b1ac5e1e80fbaa880f2b0765346bc0d39d5fef1e1af5a51f09eaa0be06ccb353318c08 SHA512 7ebd8a28a7dc806a4e235ed3e93b756e1af5b2e488e61aa3cd3bb92c6b1ca9c2c710f7d417c221b58796f1d91e77bee7e1490c8bc286d36c13bdae18b4e24e09 -EBUILD dealii-9999.ebuild 4993 BLAKE2B 4c897f1fcd5af319ce209cee9cde4634ee30f9669f2094218cc481f076c3f5d1543101c83a6e64857b7191f73ef2fba4b50e0a5fe0741072d8a7e38cfd60adbe SHA512 0ac3d5e2333d5d3cb3a20c5f0c7ed2ca6c11cc55f976e6b1b4348acaa64071268a5e3ef4b71e9a45108f9d92dd719e1d0975bfb0d40e0ae6f13a5db023f36b78 +DIST dealii-9.3.0-offline_documentation.tar.gz 342390250 BLAKE2B 5ed1e5d5f7cd6a44f0dccc4b092c241fadc430facb77ec2a9ffb30d00dc13751f0ac08e2f05960584fbb60b26b64fa070c437f392e2e62b4ba1328e4efcd0677 SHA512 ff04cf3690160119041a9dc102ece81c351c41809fe1717cbc95aa97f2f1fe2ccc36e1b4b3045b73056a54fc7e3a27d3d734908760e9c34203b566b328b104b7 +DIST dealii-9.3.0.tar.gz 24458373 BLAKE2B 27cdaee4e7ec9c170e11c5ba9bff8fd654bb2a9452df3402d5639268a6fe31565faa38d240810a0323b7253f2ed665c25fa0948c56b9924f1836531f2414bc92 SHA512 d558b5dda1067f7d995bc5f265614e3bc5e70190d24c1c61047af1ddc52fa007013c51901b9b8eacfbe8b360dffcb22aca87e0019ee09581b928e00c39198c98 +EBUILD dealii-9.2.0-r1.ebuild 5158 BLAKE2B 943d46bfc24058b7f57d4e0644c5808fe9b7123da2f3c527712c2d50a7774890a6a1e004b500e488489576ec4a55537d5ec2f861b2bd95335db7489aacb17624 SHA512 55670d51feaf635cdab52f3745be686d6acaecc13b4a58e673ce92f865adde68adc224623f44e27fb9cef8e7505b02fbb6a96710daaca5d28bed8d4029a498ed +EBUILD dealii-9.3.0-r1.ebuild 5288 BLAKE2B 8bef90aca441b30b84d8b755257f1bfc9384121f3621337b61830b512a06c2b0b247a3ed49e0deede86360af0da0df6e0052ce182f35e879d1d1544cd418f452 SHA512 e006d8ec3699468c66ee6a565174d9617e6f26b48e71074fa7cb37931b0222ed4aef0a5cb9a3ec302175d3bec108b6f1ee9623aff8b91230e15940e71abf897b +EBUILD dealii-9999.ebuild 5339 BLAKE2B 4c92f7953990bd19ff1ec7144b46ffff5ba04d9dfe6a1483c5b7c66ae9cba3ea63c79a616a8ce5801b4a69044ed164abc00c57319a78611d388450d686a6f42d SHA512 2dc18b083efd54210ef6b04d8f6d9aa810bef9395f1e043ab57d0e938cd13a99dcbf2055118d3851c3ebc45e4aa76dd438dac65096d9dd61dd304ad61913d53c MISC metadata.xml 2636 BLAKE2B 8874dd9c20a2dbd781f4a157b3639b1d66faf1b3f32dc6ac1c42fea274c0035b9632108117472b62d9161fab705f5a365aeaaaa44f555a5c2658ebd0a0fff045 SHA512 149082068c7287346a42b901501eddeea6feaaf9cc91c46681f63e63c68dd2a7e3161c3520417a44dc7eec7e673c76c6e967b5b46e898714ce65c4ea4924d25d diff --git a/sci-libs/dealii/dealii-9.2.0.ebuild b/sci-libs/dealii/dealii-9.2.0-r1.ebuild index 00d5f0fe2429..468137f5fed7 100644 --- a/sci-libs/dealii/dealii-9.2.0.ebuild +++ b/sci-libs/dealii/dealii-9.2.0-r1.ebuild @@ -49,7 +49,7 @@ RDEPEND="dev-libs/boost cuda? ( dev-util/nvidia-cuda-sdk ) ginkgo? ( sci-libs/ginkgo ) gmsh? ( sci-libs/gmsh ) - gsl? ( sci-libs/gsl ) + gsl? ( sci-libs/gsl:= ) hdf5? ( sci-libs/hdf5[mpi=] ) lapack? ( virtual/lapack ) metis? ( >=sci-libs/parmetis-4 ) @@ -109,7 +109,6 @@ src_configure() { -DDEAL_II_WITH_MPI="$(usex mpi)" -DDEAL_II_WITH_MUPARSER="$(usex muparser)" -DDEAL_II_WITH_NANOFLANN="$(usex nanoflann)" - -DOPENCASCADE_DIR="${CASROOT}" -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" -DDEAL_II_WITH_P4EST="$(usex p4est)" -DDEAL_II_WITH_PETSC="$(usex petsc)" diff --git a/sci-libs/dealii/dealii-9.3.0-r1.ebuild b/sci-libs/dealii/dealii-9.3.0-r1.ebuild new file mode 100644 index 000000000000..faa68c5b29d2 --- /dev/null +++ b/sci-libs/dealii/dealii-9.3.0-r1.ebuild @@ -0,0 +1,161 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake multilib + +# 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="" + +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 )" + +# FIXME: The opencascade-7.5.1 ebuild uses a new file system layout where +# the names of the correct include and library directories are not easily +# accessible. Just fix the version for the time being. +CAS_VERSION=7.5.1 + +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-sdk ) + ginkgo? ( sci-libs/ginkgo ) + gmsh? ( sci-libs/gmsh ) + gsl? ( sci-libs/gsl:= ) + hdf5? ( sci-libs/hdf5[mpi=] ) + lapack? ( virtual/lapack ) + metis? ( >=sci-libs/parmetis-4 ) + mpi? ( virtual/mpi ) + muparser? ( dev-cpp/muParser ) + opencascade? ( ~sci-libs/opencascade-${CAS_VERSION}:= ) + 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_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-${CAS_VERSION}" + -DOPENCASCADE_INCLUDE_DIR="${CASROOT}/include/opencascade-${CAS_VERSION}" + ) + + # 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 ) + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes ) + elif use cpu_flags_x86_avx; then + mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) + 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-9999.ebuild b/sci-libs/dealii/dealii-9999.ebuild index 61619c7dc3d0..d52bf8a2523b 100644 --- a/sci-libs/dealii/dealii-9999.ebuild +++ b/sci-libs/dealii/dealii-9999.ebuild @@ -3,7 +3,7 @@ EAPI=7 -inherit cmake-utils multilib +inherit cmake multilib # deal.II uses its own FindLAPACK.cmake file that calls into the system # FindLAPACK.cmake module and does additional internal setup. Do not remove @@ -40,23 +40,29 @@ REQUIRED_USE=" slepc? ( petsc ) trilinos? ( mpi )" +# FIXME: The opencascade-7.5.1 ebuild uses a new file system layout where +# the names of the correct include and library directories are not easily +# accessible. Just fix the version for the time being. +CAS_VERSION=7.5.1 + RDEPEND="dev-libs/boost app-arch/bzip2 sys-libs/zlib dev-cpp/cpp-taskflow + dev-cpp/tbb adolc? ( sci-libs/adolc ) arpack? ( sci-libs/arpack[mpi=] ) assimp? ( media-libs/assimp ) cuda? ( dev-util/nvidia-cuda-sdk ) ginkgo? ( sci-libs/ginkgo ) gmsh? ( sci-libs/gmsh ) - gsl? ( sci-libs/gsl ) + gsl? ( sci-libs/gsl:= ) hdf5? ( sci-libs/hdf5[mpi=] ) lapack? ( virtual/lapack ) metis? ( >=sci-libs/parmetis-4 ) mpi? ( virtual/mpi ) muparser? ( dev-cpp/muParser ) - opencascade? ( sci-libs/opencascade:* ) + opencascade? ( ~sci-libs/opencascade-${CAS_VERSION}:= ) p4est? ( sci-libs/p4est[mpi] ) petsc? ( sci-mathematics/petsc[mpi=] ) scalapack? ( sci-libs/scalapack ) @@ -105,7 +111,6 @@ src_configure() { -DDEAL_II_WITH_METIS="$(usex metis)" -DDEAL_II_WITH_MPI="$(usex mpi)" -DDEAL_II_WITH_MUPARSER="$(usex muparser)" - -DOPENCASCADE_DIR="${CASROOT}" -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)" -DDEAL_II_WITH_P4EST="$(usex p4est)" -DDEAL_II_WITH_PETSC="$(usex petsc)" @@ -116,12 +121,16 @@ src_configure() { -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=ON -DDEAL_II_WITH_TRILINOS="$(usex trilinos)" ) # Do a little dance for purely cosmetic "QA" reasons. - use opencascade && mycmakeargs+=( -DOPENCASCADE_DIR="${CASROOT}" ) + use opencascade && mycmakeargs+=( + -DOPENCASCADE_DIR="${CASROOT}/$(get_libdir)/opencascade-${CAS_VERSION}" + -DOPENCASCADE_INCLUDE_DIR="${CASROOT}/include/opencascade-${CAS_VERSION}" + ) # Do a little dance for purely cosmetic "QA" reasons. The build system # does query for the highest instruction set first and skips the other @@ -134,7 +143,7 @@ src_configure() { mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes ) fi - cmake-utils_src_configure + cmake_src_configure } src_install() { @@ -147,7 +156,7 @@ src_install() { '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-utils_src_install + cmake_src_install # decompress the installed example sources: use examples && docompress -x /usr/share/doc/${PF}/examples |