commit:     b1b0e1abfa3b87eb3c603a33d3cbf984f5e2274a
Author:     Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
AuthorDate: Sat Feb 13 12:26:26 2021 +0000
Commit:     Sergey Torokhov <torokhov-s-a <AT> yandex <DOT> ru>
CommitDate: Sat Feb 13 12:29:42 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b1b0e1ab

sci-physics/SU2: 7.1.0 version bump

Fix python optimized patch isn't required now.

Add optional bundled Mutation++ library support via USE="mpp"
(Mutation++: MUlticomponent Thermodynamic
And Transport properties for IONized gases in C++).
This library could be packaged later to unbundle it.

Signed-off-by: Sergey Torokhov <torokhov-s-a <AT> yandex.ru>

 sci-physics/SU2/Manifest                      |   4 +
 sci-physics/SU2/SU2-7.1.0.ebuild              | 119 ++++++++++++++++++++++++++
 sci-physics/SU2/files/SU2-7.1.0-fix-env.patch |  12 +++
 sci-physics/SU2/metadata.xml                  |   1 +
 4 files changed, 136 insertions(+)

diff --git a/sci-physics/SU2/Manifest b/sci-physics/SU2/Manifest
index 7a4bd55d..dbfba89b 100644
--- a/sci-physics/SU2/Manifest
+++ b/sci-physics/SU2/Manifest
@@ -2,3 +2,7 @@ DIST SU2-7.0.7-TestCases.tar.gz 448969006 BLAKE2B 
6c886824b55d7f8516d2ea69e2f7be
 DIST SU2-7.0.7-Tutorials.tar.gz 64282235 BLAKE2B 
7a6b780ee6f01d26a7a7d4751ca39798af56cfd7b99ca3e13fdff61aecd631a3aa4c98a487f48a8b2593c711ee25bd1ddc90a316bde2c287e95a383321f1d5e9
 SHA512 
189b5da96f08689b62ba3c42ee349edd2e145f371112895587e53497f16de3d6fdbf17308af39961775d76e3169c40872ced8e267146b6da5ae12d31a4c70fa9
 DIST SU2-7.0.8-fix-python-optimize.patch 104379 BLAKE2B 
e2cb9f58af5f600f25d01a082b55a344d3b05c455d44cfcb3370fc77546b6821d616e80f577b7af4b19ad519f086495eb6f6bde1f1712451ac477d6dd538fa0e
 SHA512 
f21ed5fc1e61b78f3858a162a899c552777143118f05db009247c6224b06b922b6280de5725726afe21a3283a18ad9c38fc1c65dadb709d440e10cf3fe754d8c
 DIST SU2-7.0.8.tar.gz 20554206 BLAKE2B 
ac291eeae696197f5875839defa98bde550c5250b5a5cff8049e0d1c8184c5ec6d225b77618d079a8fb3d5a7f4d0531a0b2931fd15e045299fa55c7dd03d9fd1
 SHA512 
26ed8c39d2dfcdb3fc4e1c986c64f683f44cd4123ce5f7a482c4557a82b04b4bd8ef1f04332ab36ad0f987cfb98053fb8b30ef81faf51c7c56aebc1a30467df9
+DIST SU2-7.1.0-TestCases.tar.gz 449701778 BLAKE2B 
8a7cb400d330b4bbf62023525e6009a8c05af5a375b7479087b3b579d7f3162a11091f09294381fcd11d7bc358e77f10f69efc0999a304135f8850e3fe005000
 SHA512 
a0e354b073b4cfaeb47a9bd33ac66a636b12a065ca7caff4bd50c54e2b191809fd463f980568e0b7d4d559714d2dca99fe9a3e5854aa345be24010cd1239e772
+DIST SU2-7.1.0-Tutorials.tar.gz 66570840 BLAKE2B 
fdbc23503abd7a250464ca8da52ab87f67069d2a3fca130038c1ea83c3b18aa476fed3a21f725b142a97923b101d7906a720f6dff28341a13915ed6216660d7f
 SHA512 
7843a7ed5b3c606ea9821745390c70bbfd3cb66a17494360b4139e8735a8e83546acd0912462b7fc3b63ff9f2097610294c1c9af25d104962f727f599cdb8ae9
+DIST SU2-7.1.0.tar.gz 20542933 BLAKE2B 
e6e6d82a990bf4043d1c6c58a5fe7a100a923b2c6ae6a29f7bb969e02279eeb5587f7930b2372cf67e26f451c598cf81e2515eeb7e516d6ab060ac7e986a0110
 SHA512 
309b4e06c5fc084ea2a06797ae400392b924c3654d354170c3159327c9e022081745bee28b1537ed3ad4e7c1333afb8c38a1ca033ff28662b8d5f5badfdc8465
+DIST mutationpp-1.0.1.tar.gz 4021945 BLAKE2B 
caae3ca155541a36822a950047efb867aab098bc9db311d675acca272d7f317ff35524086a0ea5eda524bbe125e4874f41dc1dbad92bfee4387e3a0c649bbd0a
 SHA512 
ba8beeb7cdaf1b526571e27f745d8d53c1e20a96bd194a5949acb8b6d5f75553867158a63bfc7198502177a9e8a91bf82a67d450a3ba72b21f8490539f45ef01

diff --git a/sci-physics/SU2/SU2-7.1.0.ebuild b/sci-physics/SU2/SU2-7.1.0.ebuild
new file mode 100644
index 00000000..0357fd63
--- /dev/null
+++ b/sci-physics/SU2/SU2-7.1.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit meson python-single-r1
+
+DESCRIPTION="SU2: An Open-Source Suite for Multiphysics Simulation and Design"
+HOMEPAGE="https://su2code.github.io/";
+SRC_URI="
+       https://github.com/su2code/SU2/archive/v${PV}.tar.gz -> ${P}.tar.gz
+       mpp? ( https://github.com/mutationpp/Mutationpp/archive/v1.0.1.tar.gz 
-> mutationpp-1.0.1.tar.gz )
+       test? ( https://github.com/su2code/TestCases/archive/v${PV}.tar.gz -> 
${P}-TestCases.tar.gz )
+       tutorials? ( https://github.com/su2code/Tutorials/archive/v${PV}.tar.gz 
-> ${P}-Tutorials.tar.gz )
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# cgns, metis, parmetis are bundled;
+# omp is disable as it's experimental;
+# pastix is disabled as it's try to find bundled libs;
+IUSE="cgns -mkl +mpi mpp openblas tecio test tutorials"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       ${PYTHON_REQUIRED_USE}
+       mkl? ( !openblas )
+"
+
+RDEPEND="
+       ${PYTHON_DEPS}
+       mpi? ( virtual/mpi[cxx] )
+       mkl? ( sci-libs/mkl )
+       openblas? ( sci-libs/openblas )
+"
+DEPEND="
+       ${RDEPEND}
+       tecio? ( dev-libs/boost:= )
+"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-7.0.4-unbundle_boost.patch"
+       "${FILESDIR}/${P}-fix-env.patch"
+)
+
+DOCS=( "README.md" "SU2_PY/documentation.txt" )
+
+src_unpack() {
+       unpack "${P}.tar.gz"
+       if use mpp ; then
+               einfo "Unpacking mutationpp-1.0.1.tar.gz to 
/var/tmp/portage/sci-physics/${P}/work/${P}/subprojects/Mutationpp"
+               tar -C "${P}"/subprojects/Mutationpp --strip-components=1 -xzf 
"${DISTDIR}/mutationpp-1.0.1.tar.gz" || die
+       fi
+       if use test ; then
+               einfo "Unpacking ${P}-TestCases.tar.gz to 
/var/tmp/portage/sci-physics/${P}/work/${P}/TestCases"
+               tar -C "${P}"/TestCases --strip-components=1 -xzf 
"${DISTDIR}/${P}-TestCases.tar.gz" || die
+       fi
+       if use tutorials ; then
+               einfo "Unpacking ${P}-Tutorials.tar.gz to 
/var/tmp/portage/sci-physics/${P}/work/${P}"
+               mkdir "${P}"/Tutorials || die
+               tar -C "${P}"/Tutorials --strip-components=1 -xzf 
"${DISTDIR}/${P}-Tutorials.tar.gz" || die
+       fi
+}
+
+src_configure() {
+       local emesonargs=(
+               -Denable-autodiff=false
+               -Denable-directdiff=false
+               -Denable-pastix=false
+               -Denable-pywrapper=false
+               -Dwith-omp=false
+               $(meson_feature mpi with-mpi)
+               $(meson_use cgns enable-cgns)
+               $(meson_use mkl enable-mkl)
+               $(meson_use mpp enable-mpp)
+               $(meson_use openblas enable-openblas)
+               $(meson_use tecio enable-tecio)
+               $(meson_use test enable-tests)
+       )
+       meson_src_configure
+}
+
+src_test() {
+       ln -s ../../${P}-build/SU2_CFD/src/SU2_CFD SU2_PY/SU2_CFD
+       ln -s ../../${P}-build/SU2_DEF/src/SU2_DEF SU2_PY/SU2_DEF
+       ln -s ../../${P}-build/SU2_DOT/src/SU2_DOT SU2_PY/SU2_DOT
+       ln -s ../../${P}-build/SU2_GEO/src/SU2_GEO SU2_PY/SU2_GEO
+       ln -s ../../${P}-build/SU2_SOL/src/SU2_SOL SU2_PY/SU2_SOL
+
+       export SU2_RUN="${S}/SU2_PY"
+       export SU2_HOME="${S}"
+       export PATH=$PATH:$SU2_RUN
+       export PYTHONPATH=$PYTHONPATH:$SU2_RUN
+
+       einfo "Running UnitTests ..."
+       ../${P}-build/UnitTests/test_driver
+
+       pushd TestCases/
+       use mpi && python parallel_regression.py
+       use mpi || python serial_regression.py
+       use tutorials && use mpi && python tutorials.py
+       popd
+}
+
+src_install() {
+       meson_src_install
+       mkdir -p "${ED}$(python_get_sitedir)" || die
+       mv "${ED}"/usr/bin/{FSI_tools,SU2,SU2_Nastran,*.py} -t 
"${ED}$(python_get_sitedir)" || die
+       python_optimize "${D}/$(python_get_sitedir)"
+
+       if use tutorials ; then
+               insinto "/usr/share/${P}"
+               doins -r Tutorials
+       fi
+}

diff --git a/sci-physics/SU2/files/SU2-7.1.0-fix-env.patch 
b/sci-physics/SU2/files/SU2-7.1.0-fix-env.patch
new file mode 100644
index 00000000..baf7955d
--- /dev/null
+++ b/sci-physics/SU2/files/SU2-7.1.0-fix-env.patch
@@ -0,0 +1,12 @@
+diff -Naur old_env/UnitTests/meson.build new_env/UnitTests/meson.build
+--- old_env/UnitTests/meson.build      2020-06-15 17:03:43.000000000 +0300
++++ new_env/UnitTests/meson.build      2020-06-15 17:04:35.000000000 +0300
+@@ -26,7 +26,7 @@
+     test_driver = executable(
+         'test_driver',
+         unit_test_files,
+-        install : true,
++        install : false,
+         dependencies : [su2_cfd_dep, common_dep, su2_deps, catch2_dep],
+         cpp_args: ['-fPIC', default_warning_flags, su2_cpp_args]
+     )

diff --git a/sci-physics/SU2/metadata.xml b/sci-physics/SU2/metadata.xml
index 636aded5..8317735e 100644
--- a/sci-physics/SU2/metadata.xml
+++ b/sci-physics/SU2/metadata.xml
@@ -8,6 +8,7 @@
   <use>
     <flag name="cgns">Build with CGNS support (bundled)</flag>
     <flag name="mkl">Enable Intel MKL support</flag>
+    <flag name="mpp">Enable Mutation++ library support</flag>
     <flag name="openblas">Enable OpenBLAS support</flag>
     <flag name="tecio">Enable TECIO support</flag>
     <flag name="tutorials">Install Tutorials files</flag>

Reply via email to