summaryrefslogtreecommitdiff
path: root/sci-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-16 05:36:30 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-16 05:36:30 +0000
commit318a0f105173572144e82f93006399343d31ab8b (patch)
treee0d6d09295e9cbfff912248ca8c16e49050a587e /sci-libs
parent31c69c39a3648b52dd931a40b198714249e8a5ec (diff)
gentoo auto-resync : 16:02:2024 - 05:36:29
Diffstat (limited to 'sci-libs')
-rw-r--r--sci-libs/Manifest.gzbin45086 -> 45086 bytes
-rw-r--r--sci-libs/dealii/Manifest19
-rw-r--r--sci-libs/dealii/dealii-9.4.1-r1.ebuild179
-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.patch59
-rw-r--r--sci-libs/dealii/files/dealii-9.4.2-base-mpi.h-mark-a-template-variable-to-have-const-in.patch28
7 files changed, 102 insertions, 192 deletions
diff --git a/sci-libs/Manifest.gz b/sci-libs/Manifest.gz
index 06173a6e7bc4..aa18c4350d08 100644
--- a/sci-libs/Manifest.gz
+++ b/sci-libs/Manifest.gz
Binary files differ
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
+