commit:     f548beeb36894738ee81d67ee7ab13d60efe5e26
Author:     Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
AuthorDate: Thu May 26 23:44:49 2022 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Fri May 27 11:28:07 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f548beeb

sci-physics/mbdyn: move MBDYN_MODULE to profiles/desc

Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>

 profiles/desc/mbdyn_module.desc                   |  70 ++++++++++++++
 sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild | 108 ++++++----------------
 sci-physics/mbdyn/metadata.xml                    |  66 -------------
 3 files changed, 96 insertions(+), 148 deletions(-)

diff --git a/profiles/desc/mbdyn_module.desc b/profiles/desc/mbdyn_module.desc
new file mode 100644
index 000000000..d217ff215
--- /dev/null
+++ b/profiles/desc/mbdyn_module.desc
@@ -0,0 +1,70 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# This file contains descriptions of MBDYN_MODULE USE_EXPAND flags.
+
+FMU - This is a module to import and cosimulation of FMUs, developed using FMI 
standards, for MBDyn
+aerodyn - This is MBDyn's module for the wind-turbine aerodynamics library 
AeroDyn
+asynchronous-machine - The purpose of this code is the simulation of an 
asynchronous electrical machine as a part of a multibody model
+autodiff-test - This element implements a inline joint with friction
+ballbearing-contact - ball bearing contact
+bullet - sci-physics/bullet module
+charm - This module implements a user-defined induced velocity element based 
on CDI's CHARM free wake
+constlaw-f90 - This directory contains an example of run-time loadable 
constitutive law written in Fortran 90
+constlaw-f95 - This directory contains an example of run-time loadable 
constitutive law written in Fortran 95
+constlaw - This directory contains an example of run-time loadable 
constitutive law
+cont-contact - continuous contact
+controller - controller module
+convtest - convergence test module
+cyclocopter - This module implements induced velocity models for cycloidal 
rotors
+damper-gandhi - Gandhi, F. and Chopra, I., "An analytical model for a 
nonlinear elastomeric lag damper and its effect on aeromechanical stability in 
hover" Journal of the American Helicopter Society, Vol. 39, 1994, pp. 59-69.
+damper-graall - GRAALL Damper Constitutive Law
+damper-hydraulic - Hydraulic Damper Constitutive Law
+damper - It implements a 1D constitutive law based on a generic nonlinear 
rheological formula, whose coefficients are computed by means of parameter 
identification from experimental measurements
+diff - diff drive module
+dot - dot language module
+drive-test - drive test module
+drive - example of run-time loadable drive
+dummy - Dummy module --- does nothing, used to test the infrastructure
+eu2phi - converts three Euler angles into the corresponding Euler vector
+fab-electric - Library of electric components for "digital fabrication" 
machines
+fab-motion - Library of motion transmission components for "digital 
fabrication" machines
+fab-sbearings - Library of bearings for "digital fabrication" machines
+fabricate - Library of components of "digital fabrication" machines
+flightgear - flightgear module
+friction - eXperimental friction model
+friction3 - eXperimental friction model (2nd try)
+hfelem - Harmonic Excitation Element
+hid - This module registers a file driver that captures the input from HID USB 
devices (only tested with some joysticks)
+hunt-crossley - HuntCrossley constitutive law
+hydrodynamic-plain-bearing - This module implements a hydrodynamic plain 
bearing according to Hans Juergen Butenschoen 1976 Das hydrodynamische 
zylindrische Gleitlager endlicher Breite unter instationaerer Belastung
+hydrodynamic-plain-bearing2 - module hydrodynamic plain bearing2
+imu - implements two uses of a IMU
+indvel - This module implements a dummy induced velocity model
+inline-friction - This element implements a inline joint with friction
+inplane-friction - In plane friction
+journal-bearing - This element implements a journal bearing with lugre friction
+leapmotion - leapmotion hand
+loadinc - load increment normalization
+marble - marble model for icecube robot
+md - MD module
+mds - mds module
+minmaxdrive - minmaxdrive module
+multi-step-drive - multi step drive module
+muscles - muscle module
+namespace - namespace module
+nodedistdrive - node dist drive module
+nonsmooth-node - Defines a unilateral constraint in form of a contact between 
a node and one or more planes, optionally with friction
+ns - ns1 module
+octave - octave module
+randdrive - rand drive module
+rollercoaster - rollercoaster module
+rotor-loose-coupling - rotor loose coupling
+scalarfunc - example of run-time loadable scalar function
+switch-drive - switch drive module
+tclpgin - tcl plugin
+triangular-contact - This element implements unilateral contact with friction 
between an arbitrary rigid body, represented by a triangular mesh, and a set of 
nodes with arbitrary offsets
+udunits - This module adds a namespace "units" with the only function 
"convert", which is thus invoked as "units::convert"
+uni-in-plane - This element implements the unilateral contact between a point 
and a plane
+wheel2 - Connects 2 structural nodes: Wheel Ground
+wheel4 - L. Gagnon, M. J. Richard, P. Masarati, M. Morandini, and G. Dore. 
Multibody simulation of tires operating on an uneven road. In Multibody 
Dynamics 2011, 4-7 July 2011

diff --git a/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild 
b/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild
index 442cd6e0d..73aa5c47f 100644
--- a/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild
+++ b/sci-physics/mbdyn/mbdyn-1.7.3_p20210925-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -17,75 +17,23 @@ S="${WORKDIR}/${MYP}"
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64"
-#      mbdyn-module-FMU # needs fmi-library
-#      mbdyn-module-aerodyn # needs aerodyn
-#      mbdyn-module-cudatest # needs cuda
-IUSE_MBDYN_MODULE="
-       mbdyn-module-asynchronous_machine
-       mbdyn-module-autodiff_test
-       mbdyn-module-ballbearing_contact
-       mbdyn-module-bullet
-       mbdyn-module-charm
-       mbdyn-module-constlaw-f90
-       mbdyn-module-constlaw-f95
-       mbdyn-module-constlaw
-       mbdyn-module-cont-contact
-       mbdyn-module-controller
-       mbdyn-module-convtest
-       mbdyn-module-cyclocopter
-       mbdyn-module-damper-gandhi
-       mbdyn-module-damper-graall
-       mbdyn-module-damper-hydraulic
-       mbdyn-module-damper
-       mbdyn-module-diff
-       mbdyn-module-dot
-       mbdyn-module-drive-test
-       mbdyn-module-drive
-       mbdyn-module-dummy
-       mbdyn-module-eu2phi
-       mbdyn-module-fab-electric
-       mbdyn-module-fab-motion
-       mbdyn-module-fab-sbearings
-       mbdyn-module-fabricate
-       mbdyn-module-flightgear
-       mbdyn-module-friction
-       mbdyn-module-friction3
-       mbdyn-module-hfelem
-       mbdyn-module-hid
-       mbdyn-module-hunt-crossley
-       mbdyn-module-hydrodynamic_plain_bearing
-       mbdyn-module-hydrodynamic_plain_bearing2
-       mbdyn-module-imu
-       mbdyn-module-indvel
-       mbdyn-module-inline_friction
-       mbdyn-module-inplane_friction
-       mbdyn-module-journal_bearing
-       mbdyn-module-leapmotion
-       mbdyn-module-loadinc
-       mbdyn-module-marble
-       mbdyn-module-md
-       mbdyn-module-mds
-       mbdyn-module-minmaxdrive
-       mbdyn-module-multi_step_drive
-       mbdyn-module-muscles
-       mbdyn-module-namespace
-       mbdyn-module-nodedistdrive
-       mbdyn-module-nonsmooth-node
-       mbdyn-module-ns
-       mbdyn-module-octave
-       mbdyn-module-randdrive
-       mbdyn-module-rollercoaster
-       mbdyn-module-rotor-loose-coupling
-       mbdyn-module-scalarfunc
-       mbdyn-module-switch_drive
-       mbdyn-module-tclpgin
-       mbdyn-module-triangular_contact
-       mbdyn-module-udunits
-       mbdyn-module-uni_in_plane
-       mbdyn-module-wheel2
-       mbdyn-module-wheel4
-"
-IUSE="${IUSE_MBDYN_MODULE//_/-} ann arpack autodiff blender boost bullet chaco 
crypt
+#      FMU # needs fmi-library
+#      aerodyn # needs aerodyn
+#      cudatest # needs cuda
+MBDYN_MODULE=( asynchronous_machine autodiff_test ballbearing_contact bullet
+charm constlaw-f90 constlaw-f95 constlaw cont-contact controller convtest
+cyclocopter damper-gandhi damper-graall damper-hydraulic damper diff dot
+drive-test drive dummy eu2phi fab-electric fab-motion fab-sbearings fabricate
+flightgear friction friction3 hfelem hid hunt-crossley
+hydrodynamic_plain_bearing hydrodynamic_plain_bearing2 imu indvel
+inline_friction inplane_friction journal_bearing leapmotion loadinc marble md
+mds minmaxdrive multi_step_drive muscles namespace nodedistdrive nonsmooth-node
+ns octave randdrive rollercoaster rotor-loose-coupling scalarfunc switch_drive
+tclpgin triangular_contact udunits uni_in_plane wheel2 wheel4 )
+
+MBDYN_MODULE_REPLACED=( "${MBDYN_MODULE[@]//_/-}" )
+IUSE_MBDYN_MODULE="${MBDYN_MODULE_REPLACED[@]/#/mbdyn_module_}"
+IUSE="${IUSE_MBDYN_MODULE} ann arpack autodiff blender boost bullet chaco crypt
 debug eig ginac jdqz +mbc metis mpi multithread-naive netcdf octave openblas 
pam
 pastix pmpi python qrupdate rt sasl schur sparse superlu tests threads udunits 
+y12"
 # taucs rtai
@@ -105,7 +53,7 @@ RDEPEND="
        crypt? ( virtual/libcrypt )
        ginac? ( sci-mathematics/ginac )
        jdqz? ( sci-libs/jdqz )
-       mbdyn-module-damper? ( sci-libs/gsl )
+       mbdyn_module_damper? ( sci-libs/gsl )
        mpi? ( virtual/mpi[cxx] )
        metis? ( sci-libs/metis )
        netcdf? ( sci-libs/netcdf-cxx:* )
@@ -140,10 +88,10 @@ PATCHES=(
 )
 #      "${FILESDIR}/${PN}-respect-libtool.patch"
 REQUIRED_USE="
-       mbdyn-module-bullet? ( bullet )
-       mbdyn-module-octave? ( octave )
-       mbdyn-module-udunits? ( udunits )
-       mbdyn-module-wheel4? ( ginac )
+       mbdyn_module_bullet? ( bullet )
+       mbdyn_module_octave? ( octave )
+       mbdyn_module_udunits? ( udunits )
+       mbdyn_module_wheel4? ( ginac )
        multithread-naive? ( threads )
        pmpi? ( mpi )
        python? ( ${PYTHON_REQUIRED_USE} )
@@ -245,14 +193,10 @@ src_configure() {
                myconf+=( "--without-mpi" )
        fi
 
-       declare -A mbdynmodules
-       for m in ${IUSE_MBDYN_MODULE} ; do
-               mbdynmodules[${m//_/-}]="${m/mbdyn-module-/}"
-       done
-
        local usemodules=""
-       for u in ${IUSE_MBDYN_MODULE//_/-} ; do
-               use ${u} && usemodules+=" ${mbdynmodules[${u}]}"
+       for m in ${MBDYN_MODULE[@]} ; do
+               u="${m//_/-}"
+               use "mbdyn_module_${u}" && usemodules+=" ${m}"
        done
 
        # remove leading whitespace characters

diff --git a/sci-physics/mbdyn/metadata.xml b/sci-physics/mbdyn/metadata.xml
index 8896f30ef..6556940ae 100644
--- a/sci-physics/mbdyn/metadata.xml
+++ b/sci-physics/mbdyn/metadata.xml
@@ -21,72 +21,6 @@
                <flag name="ginac">With <pkg>sci-mathematics/ginac</pkg> 
support</flag>
                <flag name="jdqz">With <pkg>sci-libs/jdqz</pkg> math 
library</flag>
                <flag name="mbc">Enable MBC - multibody communication 
library</flag>
-               <!--<flag name="mbdyn-module-FMU">This is a module to import 
and cosimulation of FMUs, developed using FMI standards, for MBDyn</flag>-->
-               <!--<flag name="mbdyn-module-aerodyn">This is MBDyn's module 
for the wind-turbine aerodynamics library AeroDyn</flag>-->
-               <flag name="mbdyn-module-asynchronous-machine">The purpose of 
this code is the simulation of an asynchronous electrical machine as a part of 
a multibody model</flag>
-               <flag name="mbdyn-module-autodiff-test">This element implements 
a inline joint with friction</flag>
-               <flag name="mbdyn-module-ballbearing-contact">ball bearing 
contact</flag>
-               <flag name="mbdyn-module-bullet"><pkg>sci-physics/bullet</pkg> 
module</flag>
-               <flag name="mbdyn-module-charm">This module implements a 
user-defined induced velocity element based on CDI's CHARM free wake</flag>
-               <flag name="mbdyn-module-constlaw-f90">This directory contains 
an example of run-time loadable constitutive law written in Fortran 90</flag>
-               <flag name="mbdyn-module-constlaw-f95">This directory contains 
an example of run-time loadable constitutive law written in Fortran 95</flag>
-               <flag name="mbdyn-module-constlaw">This directory contains an 
example of run-time loadable constitutive law</flag>
-               <flag name="mbdyn-module-cont-contact">continuous contact</flag>
-               <flag name="mbdyn-module-controller">controller module</flag>
-               <flag name="mbdyn-module-convtest">convergence test 
module</flag>
-               <!--<flag name="mbdyn-module-cudatest"></flag>-->
-               <flag name="mbdyn-module-cyclocopter">This module implements 
induced velocity models for cycloidal rotors</flag>
-               <flag name="mbdyn-module-damper-gandhi">Gandhi, F. and Chopra, 
I., "An analytical model for a nonlinear elastomeric lag damper and its effect 
on aeromechanical stability in hover" Journal of the American Helicopter 
Society, Vol. 39, 1994, pp. 59-69.</flag>
-               <flag name="mbdyn-module-damper-graall">GRAALL Damper 
Constitutive Law</flag>
-               <flag name="mbdyn-module-damper-hydraulic">Hydraulic Damper 
Constitutive Law</flag>
-               <flag name="mbdyn-module-damper">It implements a 1D 
constitutive law based on a generic nonlinear rheological formula, whose 
coefficients are computed by means of parameter identification from 
experimental measurements</flag>
-               <flag name="mbdyn-module-diff">diff drive module</flag>
-               <flag name="mbdyn-module-dot">dot language module</flag>
-               <flag name="mbdyn-module-drive-test">drive test module</flag>
-               <flag name="mbdyn-module-drive">example of run-time loadable 
drive</flag>
-               <flag name="mbdyn-module-dummy">Dummy module --- does nothing, 
used to test the infrastructure</flag>
-               <flag name="mbdyn-module-eu2phi">converts three Euler angles 
into the corresponding Euler vector</flag>
-               <flag name="mbdyn-module-fab-electric">Library of electric 
components for "digital fabrication" machines</flag>
-               <flag name="mbdyn-module-fab-motion">Library of motion 
transmission components for "digital fabrication" machines</flag>
-               <flag name="mbdyn-module-fab-sbearings">Library of bearings for 
"digital fabrication" machines</flag>
-               <flag name="mbdyn-module-fabricate">Library of components of 
"digital fabrication" machines</flag>
-               <flag name="mbdyn-module-flightgear">flightgear module</flag>
-               <flag name="mbdyn-module-friction">eXperimental friction 
model</flag>
-               <flag name="mbdyn-module-friction3">eXperimental friction model 
(2nd try)</flag>
-               <flag name="mbdyn-module-hfelem">Harmonic Excitation 
Element</flag>
-               <flag name="mbdyn-module-hid">This module registers a file 
driver that captures the input from HID USB devices (only tested with some 
joysticks)</flag>
-               <flag name="mbdyn-module-hunt-crossley">HuntCrossley 
constitutive law</flag>
-               <flag name="mbdyn-module-hydrodynamic-plain-bearing">This 
module implements a hydrodynamic plain bearing according to Hans Juergen 
Butenschoen 1976 Das hydrodynamische zylindrische Gleitlager endlicher Breite 
unter instationaerer Belastung</flag>
-               <flag name="mbdyn-module-hydrodynamic-plain-bearing2">module 
hydrodynamic plain bearing2</flag>
-               <flag name="mbdyn-module-imu">implements two uses of a 
IMU</flag>
-               <flag name="mbdyn-module-indvel">This module implements a dummy 
induced velocity model</flag>
-               <flag name="mbdyn-module-inline-friction">This element 
implements a inline joint with friction</flag>
-               <flag name="mbdyn-module-inplane-friction">In plane 
friction</flag>
-               <flag name="mbdyn-module-journal-bearing">This element 
implements a journal bearing with lugre friction</flag>
-               <flag name="mbdyn-module-leapmotion">leapmotion hand</flag>
-               <flag name="mbdyn-module-loadinc">load increment 
normalization</flag>
-               <flag name="mbdyn-module-marble">marble model for icecube 
robot</flag>
-               <flag name="mbdyn-module-md">MD module</flag>
-               <flag name="mbdyn-module-mds">mds module</flag>
-               <flag name="mbdyn-module-minmaxdrive">minmaxdrive module</flag>
-               <flag name="mbdyn-module-multi-step-drive">multi step drive 
module</flag>
-               <flag name="mbdyn-module-muscles">muscle module</flag>
-               <flag name="mbdyn-module-namespace">namespace module</flag>
-               <flag name="mbdyn-module-nodedistdrive">node dist drive 
module</flag>
-               <flag name="mbdyn-module-nonsmooth-node">Defines a unilateral 
constraint in form of a contact between a node and one or more planes, 
optionally with friction</flag>
-               <flag name="mbdyn-module-ns">ns1 module</flag>
-               <flag name="mbdyn-module-octave">octave module</flag>
-               <flag name="mbdyn-module-randdrive">rand drive module</flag>
-               <flag name="mbdyn-module-rollercoaster">rollercoaster 
module</flag>
-               <flag name="mbdyn-module-rotor-loose-coupling">rotor loose 
coupling</flag>
-               <flag name="mbdyn-module-scalarfunc">example of run-time 
loadable scalar function</flag>
-               <flag name="mbdyn-module-switch-drive">switch drive 
module</flag>
-               <flag name="mbdyn-module-tclpgin">tcl plugin</flag>
-               <flag name="mbdyn-module-triangular-contact">This element 
implements unilateral contact with friction between an arbitrary rigid body, 
represented by a triangular mesh, and a set of nodes with arbitrary 
offsets</flag>
-               <flag name="mbdyn-module-udunits">This module adds a namespace 
"units" with the only function "convert", which is thus invoked as 
"units::convert"</flag>
-               <flag name="mbdyn-module-uni-in-plane">This element implements 
the unilateral contact between a point and a plane</flag>
-               <flag name="mbdyn-module-wheel2">Connects 2 structural nodes: 
Wheel Ground</flag>
-               <flag name="mbdyn-module-wheel4">L. Gagnon, M. J. Richard, P. 
Masarati, M. Morandini, and G. Dore. Multibody simulation of tires operating on 
an uneven road. In Multibody Dynamics 2011, 4-7 July 2011</flag>
                <flag name="metis">With <pkg>sci-libs/metis</pkg> model 
partitioning support</flag>
                <flag name="mpi">With MPI support</flag>
                <flag name="multithread-naive">Enable multithread naive 
solver</flag>

Reply via email to