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 |
+} |