Gentoo Archives: gentoo-commits

From: Matthias Maier <tamiko@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/dealii/
Date: Wed, 02 Jun 2021 06:50:13
Message-Id: 1622616603.e87dc338e248fdef94583ca33c98492eae2997b0.tamiko@gentoo
1 commit: e87dc338e248fdef94583ca33c98492eae2997b0
2 Author: Matthias Maier <tamiko <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jun 2 05:43:36 2021 +0000
4 Commit: Matthias Maier <tamiko <AT> gentoo <DOT> org>
5 CommitDate: Wed Jun 2 06:50:03 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e87dc338
7
8 sci-libs/dealii: version bump to 9.3.0
9
10 Package-Manager: Portage-3.0.19, Repoman-3.0.3
11 Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>
12
13 sci-libs/dealii/Manifest | 2 +
14 sci-libs/dealii/dealii-9.3.0.ebuild | 162 ++++++++++++++++++++++++++++++++++++
15 2 files changed, 164 insertions(+)
16
17 diff --git a/sci-libs/dealii/Manifest b/sci-libs/dealii/Manifest
18 index d60fb6eed2b..46301107d51 100644
19 --- a/sci-libs/dealii/Manifest
20 +++ b/sci-libs/dealii/Manifest
21 @@ -1,2 +1,4 @@
22 DIST dealii-9.2.0-offline_documentation.tar.gz 277987911 BLAKE2B d14e15bc252f481707b04e9ca3fd05b5469035537a099466a8272fa1d56833c99d845871534df75bbb2efb29063e738700a5a2815b653cdd14b49b3a93add368 SHA512 9680731b4d837561c3682a65391b442cfb8d2a947b0e4e37cad1df83877b371997d084eac52e2bf34b190ea54996d41ddd89bee79fff24d710199417f3f345ab
23 DIST dealii-9.2.0.tar.gz 24688964 BLAKE2B 60a8ede72a49cb2e658b3d6d53fb332a96f44a7fb9bb499ba54175138d49f38a9b75d9bea2eaddcaa3f50d97ce53961692b35f89578f535d32301680e6f1d68b SHA512 7c76435e45c9c302c4f95f588229f5a9b81f0450bd029729553c706a25dfd16f5c02c50fd2618d7e285d18927b63426110d2c6a074242b91cf789bd4bc77acc5
24 +DIST dealii-9.3.0-offline_documentation.tar.gz 342390250 BLAKE2B 5ed1e5d5f7cd6a44f0dccc4b092c241fadc430facb77ec2a9ffb30d00dc13751f0ac08e2f05960584fbb60b26b64fa070c437f392e2e62b4ba1328e4efcd0677 SHA512 ff04cf3690160119041a9dc102ece81c351c41809fe1717cbc95aa97f2f1fe2ccc36e1b4b3045b73056a54fc7e3a27d3d734908760e9c34203b566b328b104b7
25 +DIST dealii-9.3.0.tar.gz 24458373 BLAKE2B 27cdaee4e7ec9c170e11c5ba9bff8fd654bb2a9452df3402d5639268a6fe31565faa38d240810a0323b7253f2ed665c25fa0948c56b9924f1836531f2414bc92 SHA512 d558b5dda1067f7d995bc5f265614e3bc5e70190d24c1c61047af1ddc52fa007013c51901b9b8eacfbe8b360dffcb22aca87e0019ee09581b928e00c39198c98
26
27 diff --git a/sci-libs/dealii/dealii-9.3.0.ebuild b/sci-libs/dealii/dealii-9.3.0.ebuild
28 new file mode 100644
29 index 00000000000..f207d784de9
30 --- /dev/null
31 +++ b/sci-libs/dealii/dealii-9.3.0.ebuild
32 @@ -0,0 +1,162 @@
33 +# Copyright 1999-2021 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +
38 +inherit cmake multilib
39 +
40 +# deal.II uses its own FindLAPACK.cmake file that calls into the system
41 +# FindLAPACK.cmake module and does additional internal setup. Do not remove
42 +# any of these modules:
43 +CMAKE_REMOVE_MODULES_LIST=""
44 +
45 +DESCRIPTION="Solving partial differential equations with the finite element method"
46 +HOMEPAGE="https://www.dealii.org/"
47 +
48 +if [[ ${PV} = *9999* ]]; then
49 + inherit git-r3
50 + EGIT_REPO_URI="https://github.com/dealii/dealii.git"
51 + SRC_URI=""
52 +else
53 + SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz
54 + doc? (
55 + https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}-offline_documentation.tar.gz
56 + )"
57 + KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
58 +fi
59 +
60 +LICENSE="LGPL-2.1+"
61 +SLOT="0"
62 +IUSE="
63 + adolc assimp arpack cpu_flags_x86_avx cpu_flags_x86_avx512f
64 + cpu_flags_x86_sse2 cuda +debug doc +examples ginkgo gmsh +gsl hdf5
65 + +lapack metis mpi muparser opencascade p4est petsc
66 + scalapack slepc +sparse static-libs sundials symengine trilinos
67 +"
68 +
69 +# TODO: add slepc use flag once slepc is packaged for gentoo-science
70 +REQUIRED_USE="
71 + p4est? ( mpi )
72 + slepc? ( petsc )
73 + trilinos? ( mpi )"
74 +
75 +# FIXME: The opencascade-7.5.1 ebuild uses a new file system layout where
76 +# the names of the correct include and library directories are not easily
77 +# accessible. Just fix the version for the time being.
78 +CAS_VERSION=7.5.1
79 +
80 +RDEPEND="dev-libs/boost
81 + app-arch/bzip2
82 + sys-libs/zlib
83 + dev-cpp/tbb
84 + adolc? ( sci-libs/adolc )
85 + arpack? ( sci-libs/arpack[mpi=] )
86 + assimp? ( media-libs/assimp )
87 + cuda? ( dev-util/nvidia-cuda-sdk )
88 + ginkgo? ( sci-libs/ginkgo )
89 + gmsh? ( sci-libs/gmsh )
90 + gsl? ( sci-libs/gsl )
91 + hdf5? ( sci-libs/hdf5[mpi=] )
92 + lapack? ( virtual/lapack )
93 + metis? ( >=sci-libs/parmetis-4 )
94 + mpi? ( virtual/mpi )
95 + muparser? ( dev-cpp/muParser )
96 + opencascade? ( ~sci-libs/opencascade-${CAS_VERSION}:= )
97 + p4est? ( sci-libs/p4est[mpi] )
98 + petsc? ( sci-mathematics/petsc[mpi=] )
99 + scalapack? ( sci-libs/scalapack )
100 + slepc? ( sci-mathematics/slepc[mpi=] )
101 + sparse? ( sci-libs/umfpack )
102 + sundials? ( sci-libs/sundials:= )
103 + symengine? ( >=sci-libs/symengine-0.4:= )
104 + trilinos? ( sci-libs/trilinos )"
105 +
106 +DEPEND="${RDEPEND}
107 + virtual/pkgconfig
108 + doc? ( app-doc/doxygen[dot] dev-lang/perl )"
109 +
110 +PATCHES=(
111 + "${FILESDIR}"/${PN}-9.1.1-no-ld-flags.patch
112 +)
113 +
114 +src_configure() {
115 + # deal.II needs a custom build type:
116 + local CMAKE_BUILD_TYPE=$(usex debug DebugRelease Release)
117 +
118 + local mycmakeargs=(
119 + -DDEAL_II_PACKAGE_VERSION="${PV}"
120 + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
121 + -DDEAL_II_ALLOW_AUTODETECTION=OFF
122 + -DDEAL_II_ALLOW_PLATFORM_INTROSPECTION=OFF
123 + -DDEAL_II_COMPILE_EXAMPLES=OFF
124 + -DDEAL_II_DOCHTML_RELDIR="share/doc/${P}/html"
125 + -DDEAL_II_DOCREADME_RELDIR="share/doc/${P}"
126 + -DDEAL_II_COMPILE_EXAMPLES=OFF
127 + -DDEAL_II_EXAMPLES_RELDIR="share/doc/${P}/examples"
128 + -DDEAL_II_LIBRARY_RELDIR="$(get_libdir)"
129 + -DDEAL_II_SHARE_RELDIR="share/${PN}"
130 + -DDEAL_II_WITH_ZLIB=ON
131 + -DDEAL_II_WITH_ADOLC="$(usex adolc)"
132 + -DDEAL_II_WITH_ASSIMP="$(usex assimp)"
133 + -DDEAL_II_WITH_ARPACK="$(usex arpack)"
134 + -DDEAL_II_WITH_CUDA="$(usex cuda)"
135 + -DDEAL_II_WITH_GINKGO="$(usex ginkgo)"
136 + -DDEAL_II_COMPONENT_DOCUMENTATION="$(usex doc)"
137 + -DDEAL_II_COMPONENT_EXAMPLES="$(usex examples)"
138 + -DDEAL_II_WITH_GMSH="$(usex gmsh)"
139 + -DDEAL_II_WITH_GSL="$(usex gsl)"
140 + -DDEAL_II_WITH_HDF5="$(usex hdf5)"
141 + -DDEAL_II_WITH_LAPACK="$(usex lapack)"
142 + -DDEAL_II_WITH_METIS="$(usex metis)"
143 + -DDEAL_II_WITH_MPI="$(usex mpi)"
144 + -DDEAL_II_WITH_MUPARSER="$(usex muparser)"
145 + -DOPENCASCADE_DIR="${CASROOT}"
146 + -DDEAL_II_WITH_OPENCASCADE="$(usex opencascade)"
147 + -DDEAL_II_WITH_P4EST="$(usex p4est)"
148 + -DDEAL_II_WITH_PETSC="$(usex petsc)"
149 + -DDEAL_II_WITH_SCALAPACK="$(usex scalapack)"
150 + -DDEAL_II_WITH_SLEPC="$(usex slepc)"
151 + -DDEAL_II_WITH_SUNDIALS="$(usex sundials)"
152 + -DDEAL_II_WITH_SYMENGINE="$(usex symengine)"
153 + -DDEAL_II_WITH_UMFPACK="$(usex sparse)"
154 + -DBUILD_SHARED_LIBS="$(usex !static-libs)"
155 + -DDEAL_II_PREFER_STATIC_LIBS="$(usex static-libs)"
156 + -DDEAL_II_WITH_TBB=ON
157 + -DDEAL_II_WITH_TRILINOS="$(usex trilinos)"
158 + )
159 +
160 + # Do a little dance for purely cosmetic "QA" reasons.
161 + use opencascade && mycmakeargs+=(
162 + -DOPENCASCADE_DIR="${CASROOT}/$(get_libdir)/opencascade-${CAS_VERSION}"
163 + -DOPENCASCADE_INCLUDE_DIR="${CASROOT}/include/opencascade-${CAS_VERSION}"
164 + )
165 +
166 + # Do a little dance for purely cosmetic "QA" reasons. The build system
167 + # does query for the highest instruction set first and skips the other
168 + # variables if a "higher" variant is set
169 + if use cpu_flags_x86_avx512f; then
170 + mycmakeargs+=( -DDEAL_II_HAVE_AVX512=yes )
171 + elif use cpu_flags_x86_avx; then
172 + mycmakeargs+=( -DDEAL_II_HAVE_AVX=yes )
173 + elif use cpu_flags_x86_avx; then
174 + mycmakeargs+=( -DDEAL_II_HAVE_SSE2=yes )
175 + fi
176 +
177 + cmake_src_configure
178 +}
179 +
180 +src_install() {
181 + if use doc && [[ ${PV} != *9999* ]]; then
182 + # copy missing images to the build directory:
183 + cp -r "${WORKDIR}"/doc/doxygen/deal.II/images \
184 + "${BUILD_DIR}"/doc/doxygen/deal.II || die
185 + # replace links:
186 + sed -i \
187 + 's#"http://www.dealii.org/images/steps/developer/\(step-.*\)"#"images/\1"#g' \
188 + "${BUILD_DIR}"/doc/doxygen/deal.II/step_*.html || die "sed failed"
189 + fi
190 + cmake_src_install
191 +
192 + # decompress the installed example sources:
193 + use examples && docompress -x /usr/share/doc/${PF}/examples
194 +}