diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-02-16 05:36:30 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-02-16 05:36:30 +0000 |
commit | 318a0f105173572144e82f93006399343d31ab8b (patch) | |
tree | e0d6d09295e9cbfff912248ca8c16e49050a587e /sci-libs/dealii | |
parent | 31c69c39a3648b52dd931a40b198714249e8a5ec (diff) |
gentoo auto-resync : 16:02:2024 - 05:36:29
Diffstat (limited to 'sci-libs/dealii')
-rw-r--r-- | sci-libs/dealii/Manifest | 19 | ||||
-rw-r--r-- | sci-libs/dealii/dealii-9.4.1-r1.ebuild | 179 | ||||
-rw-r--r-- | sci-libs/dealii/dealii-9.4.2.ebuild (renamed from sci-libs/dealii/dealii-9.4.0-r1.ebuild) | 7 | ||||
-rw-r--r-- | sci-libs/dealii/dealii-9.5.2.ebuild (renamed from sci-libs/dealii/dealii-9.5.1.ebuild) | 2 | ||||
-rw-r--r-- | sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch | 59 | ||||
-rw-r--r-- | sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch | 28 |
6 files changed, 102 insertions, 192 deletions
diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest index a194b6746c07..535cc09647da 100644 --- a/sci-libs/dealii/Manifest +++ b/sci-libs/dealii/Manifest @@ -1,18 +1,15 @@ AUX dealii-9.1.1-no-ld-flags.patch 1044 BLAKE2B fed995fbd5563bfee6b4dd232d5d9aaecd8f0d206f06679b5d79022420c83ac2752414417499ac9181c25ddc594e492bf8d6b6af19fdfd1f047e7e089193de5d SHA512 15346b31f4ac5df3b1a3a3dcb215d4bd49e3e67480c86d4c78dbd5d27ae33f6cfa8b03fdc561e38090a2c22ae8ba71d13cd9b1bbdda3eedefd498f5cedfd0a09 -DIST dealii-9.4.0-offline_documentation.tar.gz 390747598 BLAKE2B 6e8ed938b31a9e6bbbdd5baacce056edc31d489ecd3e9528283650f431d004ca122c968567fe342744d52bab8f8be53ab1b20d56636e2dc48f8cf551791a08bd SHA512 703eb50150ae5bd77f0d84271babd50483c3a9b069abb5b7e8827d00efaa5d189a43ac54f0ef8b2f746b12a10dc611669f5fddd655241a66af4915ec1d458185 -DIST dealii-9.4.0-offline_documentation.tar.gz.asc 246 BLAKE2B cb828efcdb38b88af9abc3be95c90c126144ee1edd076e2c47c7a90dad1df3ac29ce104de7be551fb93671b0b3ffe44b737fcba3841ccb0921e1f0795360fec4 SHA512 59f8997f9a19580861f0c7afd06b9737519c0dbf6990c4569f5c8dbd05e7e41dce19d1b9a639504696be2f99f6e8c555086dcd85c43976ccd5c7ebf007864dc0 -DIST dealii-9.4.0.tar.gz 30297914 BLAKE2B 6beb4c7b83f5316e703d4b77340900c376e622b1dc59c9058a8927174a8c6991994957588b6adf88238e72eec93f8941bfbfb2d0bb01070560468d051d9829f8 SHA512 3be740fbabff65a18870496f483ac4ed6d35c8a53b5128dd09b2dfabe82d60e4a75f02fd508b44f6c93805999aab98f551154f10ca2ad5fabede65c2d6dce320 -DIST dealii-9.4.0.tar.gz.asc 246 BLAKE2B 972d3fa18c83ff9b3aff996efaa0e6d1db848f64a46afb80b083c4f228d42ab1a2d7c5f6172a1ad3ae8542ca9c2a351c2badf98b9104dd5448a0f3d0cbd73e2a SHA512 b0754c891356bcf30d2d32b4ecc780d2ba814b720426d604c0596ebdbdb1a8ae00357b04596c03f75e809593067b022b9e7c08584f88e35f05248472dde44f3b +AUX dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch 2443 BLAKE2B f4df5afc449fd64951f21f9a243c504c57a2b8e6525b6215c9edf539b26cda863a311e31d65726091af239cb8d5aa1a00d32ec52ff0aca1cfa7f01523c934010 SHA512 dcc1e87c393437e0a13e19f70a2096af052eba34ae82c9f2e640a2cb83014aaaa71a20e2a2efcd91a55d08b2e796669113388b8953da7a412ff181628da50db6 +AUX dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch 894 BLAKE2B 097db57d5fbf5d7f6f4c1545da6fe0c49c2dad674c3da1a7a30e17d3a9c9b4da36946c24b3507c397d8f9f8551be1f934593eff79f15448863f8a7c6e416e323 SHA512 83f4085d88e67d6d93e045d6ce672c67273a86e96f1c608134637198e3acda25451af9b2fc13dc97fee8c76db3bdfb750c5bb6f46a4b74fcf96a45b2fd1bf821 DIST dealii-9.4.1-offline_documentation.tar.gz 392007419 BLAKE2B 81404b02ba7dc97a0314f52fa9d775183981864288f4ab4ca81b550a1763d90cb5b04b32c056008ad60a7829b929c78edd80cbeeeb861e4ef638780c13d80aa7 SHA512 9bbaf6e9a478ac643e87f2f07918c8a5216e17b0ddaeba4beb2acde9ea54833e2f0e7d11f61b2cac8b986e442dbb181317b53e1a40a807e7c098167bfd073266 DIST dealii-9.4.1-offline_documentation.tar.gz.asc 246 BLAKE2B 9ace22c9b174e642cd3fba94c165d816c62814f892f5f6f272efa0301613dc55251152825e726fc6cf7e89bbfb7fa3552ec58ad426a7d58a74ecb89b9072f742 SHA512 50b43dd34a0687395f516f4910581df71054fa8be3c98006566ea649d0af866d38c9793da548ba6bdb7a9fec452dfb6d928d336aace943522d7c3f854209b81b -DIST dealii-9.4.1.tar.gz 30298204 BLAKE2B 499f542c7a7f071d04048127199c7bebf5668b6e8d13fc2701dd18e28165442e58112ee9e4926e16a592bffdd5d7b7c240eea55808e5f9c021961f7e44b7da79 SHA512 39089aff462d3ff4244ce75f74a4cd908f8f72a81dcc3fb02ca91b3cad2442ceb78677e72cd928b36a04d352c4baa146a25fa5e14c886ca9e2bad0be0069f7b8 -DIST dealii-9.4.1.tar.gz.asc 246 BLAKE2B dbb1dc7b3e8a97f29287f154d11cd3db2566fdc4c7667fa57e686e2feba33f2115546408365f0e8f490ba593cb582b12489de373da3e33e8702b6e16804c7ebf SHA512 eb987d34f19b59d523d79f3c2c99f5f3125b1d0c71af0eb32b77ad5959d6197b79f1971a8a79dbc52bab698335dcb6091aac88c51d845a1e07d3681c089754c7 +DIST dealii-9.4.2.tar.gz 30298479 BLAKE2B bff5dd5a1b5458dd6e295b87cee9d24626ffce0b4c6a3329f190739d8fc67d34f11f0218dbbcd69dcf2e031e3e9f04cd1f2d0768d2fad32198bf1360d132a686 SHA512 6f6f032f6eef73421b53576e01f40bef0b4ce3d89583a016d057f8ec023c1f925a5c245991fd4639f9e73c4852d5cfd36da92258251a56179a98cd4a612cac9f +DIST dealii-9.4.2.tar.gz.asc 246 BLAKE2B b61a8e3e496ba34c87fe453fbcec9fd0fb0d59f8d7123f38352c65c81b3d0ea706a4f645444970857a9fd67a26a984fc5adcfe8ed6c43eae5656bba6dd3bed9e SHA512 b11a79da7eeaababf7ec2c2264b41d0a5df9fd2f870829c535f888f0f8c07a6765920e023fd9d74f24a5a4744bd8d68a6db1669e449ed1a81757ee6c3c60b873 DIST dealii-9.5.0-offline_documentation.tar.gz 412499027 BLAKE2B 521aa2488d84d48a624f4cbdbe9c173d0cdcee2df8d06b97b7c25ba28d4a2113a7da9fd9abd9eb64cd56b37f8edc716bd034fc3ba8823f8b1def26c34aaeeb55 SHA512 2e0d331f92d52b0fd909a0139157a1960a9222d46d537611f0508cdb79020a8e51ff0da6aefdf95adff732cea050b72df7dc1a8af7e93c736721970218815cfe DIST dealii-9.5.0-offline_documentation.tar.gz.asc 246 BLAKE2B 0a570885e80ad09ff154532b71c07e33894e93c96b3bca48dc8aae0b308883518cbb5eca57658c4e13de47efba47c3cb20bf376482ef7a26c6c0da93ee4dd689 SHA512 b63a9a0504fe5266b448ffda74e1d85ad5b6f344535c5b5f11d209546b51bb916ad69504ce5e4f1fd2287407c2d3d98a20b01bd830e8d45f510a85b7a057a8d5 -DIST dealii-9.5.1.tar.gz 31522808 BLAKE2B 99db2beafb949364869fc7f06f78bf921b0d99c69de57da40115b0eb939e1c9a40dcbf40a186a988189ea92a6e1295da4969fd33a7e4738b27813ff1842cb99a SHA512 7ba4e4751417a7916cb059379b3b70afcaa5f62786e92ac7332b6f55cbcfcb25df15de2a6071cc33444c911f104e576f8792ea4ac4e6702186e5740c7c909d72 -DIST dealii-9.5.1.tar.gz.asc 246 BLAKE2B 4d6aac271d1f460c66a54eff2012ded302093ef68777ff91f40d9472694541fa5e168e34e13dfada4444d3a8353dbca44756884c3f944f6f29169fc649d0395c SHA512 1065d0ab07b2ebc52fc52faf896e6d757f89f523c7a16c650307fe115dde361e6e0ecb96c9e5ecfbe5ebe58728fdd76bf83cbb3cb82cdb76b182526fee42ecb3 -EBUILD dealii-9.4.0-r1.ebuild 5809 BLAKE2B 75945f5b1e8f0eaa4c4060c2b9301fe5944e91e0fb2f5f6f5a37fabb268d5e41e255f7300957071e25efb4450f4fa4e80105e3bd11ecb6be685db65c2dda2098 SHA512 cd956bfec58f015f32ab80b5dc7121c923eb5ec2373ad4d5cd18028024121228de0c0156ab14ca3a7ee6a8ba05d8bd4dbc845a7c9b4e2ab5c9cac304c4d23038 -EBUILD dealii-9.4.1-r1.ebuild 5809 BLAKE2B 75945f5b1e8f0eaa4c4060c2b9301fe5944e91e0fb2f5f6f5a37fabb268d5e41e255f7300957071e25efb4450f4fa4e80105e3bd11ecb6be685db65c2dda2098 SHA512 cd956bfec58f015f32ab80b5dc7121c923eb5ec2373ad4d5cd18028024121228de0c0156ab14ca3a7ee6a8ba05d8bd4dbc845a7c9b4e2ab5c9cac304c4d23038 -EBUILD dealii-9.5.1.ebuild 5519 BLAKE2B e2e63978e4eb21a552a2166435b41fb4eb497e99f42bd2987d2e9b9d0a476a95ad5c6236c999ff47b3a333ccf4cb71d21b967ce095c8f6291ecb6cc507f156de SHA512 ae212f53e5bee526889fb3ff8dee5a1cfdbf764a2ac805671a2f91d9eb9192ead48045b080b5adbf95211a1e73fc45b8c4098e6c5794adc57a43e1e35eabdcbd +DIST dealii-9.5.2.tar.gz 31523493 BLAKE2B 4ad55b0c4c7b1c02de17007f44b345856ec18127d6326b08fda76747087039344324c911409502f293e61eecd6d574f8a774ec0a1bbb200a2a4ee62a2f81e6d8 SHA512 5989c2dfd66f803b0bcc32816f69048c0bbb411c8b792691df9bbfc0c965c1c95c7e8c3782e1a3d160e9d124fd0c5396b55372e28e477fa474c3f3c03a5bd4e9 +DIST dealii-9.5.2.tar.gz.asc 246 BLAKE2B bacd1dac5a6f3d0d6639329512f5c4cafe39ecd036a7a4e38b81d31b6ee452d496190e8ae26c814631cc62c42208a1df1cd081ac8accd97d2821d7091495b898 SHA512 1821b4763ddcda11baf37b88ae90ec73576d2cacdeb53f4196dcde9e1649e685eb1666b86317d4573944769642b09bc76fc1de34a5e8e436004552f8652cad23 +EBUILD dealii-9.4.2.ebuild 6025 BLAKE2B e5e67bde042ae6e1688ff36812659636491afb97dacd54c32c315cd4131f4f0b625c6d745f4f8206830b4ebe3d669ee605ed1f20523949a7bd422560bbbcfebe SHA512 2a6a68a1bcef45613801ffe57e15d5669c6392f00ae571aa6ec19144400e8b1058f2cad4d548c349b936a1e3c7a9c7aa1cb4fd3e2dae2e13f673ece6b5493acf +EBUILD dealii-9.5.2.ebuild 5691 BLAKE2B c9325b24041276cdf19ec4951bc0efbfda1febae446bed607e94d37ab068e70189ff8b1a08b273fa1763a9542df262faa9639adc26a98af35a18e487c671cac2 SHA512 510d5570d83a93162cf9820934bc7a7b763e300de4131470e76080f85facb3154632fb3897b99903a5e385400b94fe6c864aad40edb18e1332789d30697e88c9 EBUILD dealii-9999.ebuild 5167 BLAKE2B 35312049948076713bd8fe074870ffac76aacacc371642a7d910f21f8be0d8a969670e3de20215887cee1d58618308040543fd5e4e19ca627a19720c9593d500 SHA512 1d1fb096c45ccd2e75080422c8bf48c80410a89b3944f3b6e86bf6f313a3b03b4012dff0efd371bdefa38225fc70b3ef77e0ca45b928b4ce7ecc002e16505927 MISC metadata.xml 2301 BLAKE2B 27f29025acaf1cdf2637c9ce38b7d94cb63a29064c3fc315b86818e155cb675ac387998855498754d42f10abcbd3c14b92bd0d9ce503b24614490d2d45668166 SHA512 28ce9b2664538cdd933fe72fec79a85ad75fc5f451d14fb5946b92bba7d8c387e9e6226f831bc5b02e841f9e94c28d404f34a1211ed3a00a49eaff5a8d7dc8a1 diff --git a/sci-libs/dealii/dealii-9.4.1-r1.ebuild b/sci-libs/dealii/dealii-9.4.1-r1.ebuild deleted file mode 100644 index e85fd0205e74..000000000000 --- a/sci-libs/dealii/dealii-9.4.1-r1.ebuild +++ /dev/null @@ -1,179 +0,0 @@ -# Copyright 1999-2024 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 verify-sig - -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 - verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz.asc ) - doc? ( - https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz - verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz.asc ) - )" - 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-text/doxygen[dot] dev-lang/perl )" - -BDEPEND=" - verify-sig? ( sec-keys/openpgp-keys-dealii )" - -PATCHES=( - "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch -) - -VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc" - -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-9.4.0-r1.ebuild b/sci-libs/dealii/dealii-9.4.2.ebuild index e85fd0205e74..fd2fc4b43f39 100644 --- a/sci-libs/dealii/dealii-9.4.0-r1.ebuild +++ b/sci-libs/dealii/dealii-9.4.2.ebuild @@ -18,11 +18,12 @@ if [[ ${PV} = *9999* ]]; then EGIT_REPO_URI="https://github.com/dealii/dealii.git" SRC_URI="" else + DOC_PV=9.4.1 SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz.asc ) doc? ( - https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz - verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz.asc ) + https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz + verify-sig? ( https://github.com/${PN}/${PN}/releases/download/v${DOC_PV}/${PN}-${DOC_PV}-offline_documentation.tar.gz.asc ) )" KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" fi @@ -82,6 +83,8 @@ BDEPEND=" PATCHES=( "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch + "${FILESDIR}"/${PN}-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch + "${FILESDIR}"/${PN}-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch ) VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc" diff --git a/sci-libs/dealii/dealii-9.5.1.ebuild b/sci-libs/dealii/dealii-9.5.2.ebuild index 5923a44a0b2c..e69819e8e682 100644 --- a/sci-libs/dealii/dealii-9.5.1.ebuild +++ b/sci-libs/dealii/dealii-9.5.2.ebuild @@ -88,6 +88,8 @@ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-dealii )" PATCHES=( + "${FILESDIR}"/${PN}-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch + "${FILESDIR}"/${PN}-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch ) VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/dealii.asc" diff --git a/sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch new file mode 100644 index 000000000000..85a78c4c1326 --- /dev/null +++ b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.cc-remove-superfluous-explicit-instantiatio.patch @@ -0,0 +1,59 @@ +From aafc2c19dfd3ebc43e37ba3f13eda5f790376b1c Mon Sep 17 00:00:00 2001 +From: Matthias Maier <tamiko@43-1.org> +Date: Thu, 15 Feb 2024 15:54:36 -0600 +Subject: [PATCH 1/2] base/mpi.cc: remove superfluous explicit instantiations + of template variable + +The `mpi.h` header already contains: +``` +template <typename T> +const MPI_Datatype mpi_type_id_for_type = /* implementation detail */; +``` +Meaning, the variable is known fully after including the header. +Furthermore, the `const` qualifier marks the (template) variable as +`static`. I.e., it has internal linkage. + +Thus, we must not explicitly instantiate the variables (suggesting +"extern" linkage in all but the `mpi.cc` compilation unit). This +apparently not an issue with OpenMPI because `MPI_Datatype` is a +complex data structure. But it is an issue with mpich where +`MPI_Datatype` is a simple `int` - leading to a segmentation fault when +during program startup. +--- + source/base/mpi.cc | 20 -------------------- + 1 file changed, 20 deletions(-) + +diff --git a/source/base/mpi.cc b/source/base/mpi.cc +index dab88e2b97..f845845764 100644 +--- a/source/base/mpi.cc ++++ b/source/base/mpi.cc +@@ -100,26 +100,6 @@ namespace Utilities + + namespace MPI + { +-#ifdef DEAL_II_WITH_MPI +- // Provide definitions of template variables for all valid instantiations. +- template const MPI_Datatype mpi_type_id_for_type<bool>; +- template const MPI_Datatype mpi_type_id_for_type<char>; +- template const MPI_Datatype mpi_type_id_for_type<signed char>; +- template const MPI_Datatype mpi_type_id_for_type<short>; +- template const MPI_Datatype mpi_type_id_for_type<int>; +- template const MPI_Datatype mpi_type_id_for_type<long int>; +- template const MPI_Datatype mpi_type_id_for_type<unsigned char>; +- template const MPI_Datatype mpi_type_id_for_type<unsigned short>; +- template const MPI_Datatype mpi_type_id_for_type<unsigned long int>; +- template const MPI_Datatype mpi_type_id_for_type<unsigned long long int>; +- template const MPI_Datatype mpi_type_id_for_type<float>; +- template const MPI_Datatype mpi_type_id_for_type<double>; +- template const MPI_Datatype mpi_type_id_for_type<long double>; +- template const MPI_Datatype mpi_type_id_for_type<std::complex<float>>; +- template const MPI_Datatype mpi_type_id_for_type<std::complex<double>>; +-#endif +- +- + MinMaxAvg + min_max_avg(const double my_value, const MPI_Comm mpi_communicator) + { +-- +2.43.0 + diff --git a/sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch new file mode 100644 index 000000000000..032b12237bd2 --- /dev/null +++ b/sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch @@ -0,0 +1,28 @@ +From 2ef67e3896a2a7d0ba93539cf79310384470fc91 Mon Sep 17 00:00:00 2001 +From: Matthias Maier <tamiko@43-1.org> +Date: Thu, 15 Feb 2024 16:03:22 -0600 +Subject: [PATCH 2/2] base/mpi.h: mark a template variable to have "const + inline" linkage. + +--- + include/deal.II/base/mpi.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/deal.II/base/mpi.h b/include/deal.II/base/mpi.h +index b77fd3e7c8..8ee55fbe41 100644 +--- a/include/deal.II/base/mpi.h ++++ b/include/deal.II/base/mpi.h +@@ -1728,8 +1728,8 @@ namespace Utilities + * not satisfied. + */ + template <typename T> +- const MPI_Datatype +- mpi_type_id_for_type = internal::MPIDataTypes::mpi_type_id( ++ inline const MPI_Datatype mpi_type_id_for_type = ++ internal::MPIDataTypes::mpi_type_id( + static_cast<std::remove_cv_t<std::remove_reference_t<T>> *>(nullptr)); + #endif + +-- +2.43.0 + |